/* Shared visual language for client review and focused section editing. */
.client-workspace__actions > .client-primary-action[href^="/offer-prep/new"] {
  display: none;
}

:is(.cascade-client-detail, .client-section-editor) {
  --profile-surface: #fff;
  --profile-muted: #f5f8fa;
  --profile-line: #dce4ec;
  --profile-text: #17283d;
  --profile-secondary: #586b80;
  --profile-accent: #087c82;
  color: var(--profile-text);
}
:is(.cascade-client-detail, .client-section-editor) .client-scope-hidden,
.cascade-client-detail .client-empty-fact { display: none !important; }
:is(.cascade-client-detail, .client-section-editor) :is(button, a, input, select, textarea):focus-visible { outline: 2px solid #50a7ac; outline-offset: 3px; }
:is(.cascade-client-detail, .client-section-editor) :is(.client-primary-action, .client-secondary-action, .client-referral-card-header > button, .client-section-edit, .client-property-summary__add) {
  display: inline-flex; align-items: center; justify-content: center; gap: .3rem;
  min-height: 2rem; width: auto; padding: .35rem .6rem; border: 1px solid var(--profile-line); border-radius: 5px;
  background: var(--profile-surface); color: var(--profile-accent); box-shadow: none;
  font: 650 .72rem/1.35 var(--interface-font); letter-spacing: normal; text-transform: none; text-decoration: none; white-space: nowrap;
}
:is(.cascade-client-detail, .client-section-editor) :is(.client-primary-action, .client-secondary-action, .client-property-summary__add):hover { background: #edf6f6; border-color: #a8c9ca; }
:is(.cascade-client-detail, .client-section-editor) :is(input, select, textarea) { font-size: .8rem; }
.cascade-client-detail .client-workspace__header { align-items: center; gap: 1rem; margin: .75rem 0 1rem; }
.cascade-client-detail .client-workspace__identity h1 { font-size: clamp(1.65rem, 2.7vw, 2.2rem); line-height: 1.2; letter-spacing: -.035em; }
.cascade-client-detail .client-workspace__identity > .client-avatar { width: 2.8rem; height: 2.8rem; font-size: .9rem; }
.cascade-client-detail .client-detail-sections { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem; margin: 0; }
.cascade-client-detail .client-detail-section { flex: 1 0 100%; min-width: 0; display: block; border: 1px solid var(--profile-line); border-radius: 8px; background: var(--profile-surface); box-shadow: none; overflow: clip; }
.cascade-client-detail .client-detail-section > header { display: flex; align-items: center; gap: .7rem; min-height: 0; padding: .7rem 1rem; color: var(--profile-text); background: var(--profile-surface); border-bottom: 1px solid var(--profile-line); }
.cascade-client-detail .client-detail-section > header > :is(span, svg),
.cascade-client-detail .client-detail-section > header p { display: none; }
.cascade-client-detail .client-detail-section > header > div:first-of-type { flex: 1; min-width: 0; }
.cascade-client-detail .client-detail-section > header h2 { font: 700 .94rem/1.4 var(--interface-font); letter-spacing: -.01em; margin: 0; }
.cascade-client-detail .client-detail-section__body { display: block; padding: .8rem 1rem; }
.cascade-client-detail .client-detail-panel { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.cascade-client-detail .client-detail-panel--primary > .client-panel__header { display: none; }
.cascade-client-detail .client-household-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1.2rem; border: 0; }
.cascade-client-detail .client-household-grid > article { position: relative; min-width: 0; padding: 0; border: 0; background: transparent; }
.cascade-client-detail .client-household-grid > article + article { border-left: 1px solid var(--profile-line); padding-left: 1.2rem; }
.cascade-client-detail .client-household-grid h3 { font: 650 1rem/1.4 var(--interface-font); margin: .15rem 3rem .65rem 0; }
.cascade-client-detail .client-local-edit { position: absolute; top: 0; right: 0; }
.cascade-client-detail .client-household-grid dl { display: flex; flex-wrap: wrap; align-items: start; gap: .65rem 1.5rem; margin: 0; }
.cascade-client-detail .client-household-grid dl > div { flex: 0 1 auto; min-width: 6rem; }
.cascade-client-detail .client-household-grid dd { font-size: .8rem; line-height: 1.45; overflow-wrap: anywhere; margin: .15rem 0 0; }
.cascade-client-detail :is(.client-detail-label, .client-household-grid dt) { color: var(--profile-secondary); font-size: .61rem; font-weight: 650; letter-spacing: .025em; }
.cascade-client-detail .client-not-added { display: none; }
.cascade-client-detail :is(.client-children-list, .client-life-events, .client-household-milestones, .client-property-summary) { display: block; margin: .85rem 0 0; padding: .8rem 0 0; border: 0; border-top: 1px solid var(--profile-line); border-radius: 0; background: transparent; }
.cascade-client-detail :is(.client-children-list, .client-life-events, .client-property-summary) > header { display: flex; flex-direction: row; align-items: center; justify-content: space-between; min-height: 0; gap: .5rem; padding: 0; background: transparent; border: 0; }
.cascade-client-detail .client-children-list > header > div { flex: 1; }
.cascade-client-detail .client-children-list > header > svg,
.cascade-client-detail :is(.client-children-list, .client-life-events) > header .client-detail-label { display: none; }
.cascade-client-detail :is(.client-children-list, .client-life-events, .client-household-milestones) h3,
.cascade-client-detail .client-property-summary .client-property-summary__title { font: 650 .84rem/1.4 var(--interface-font); color: var(--profile-text); margin: 0; text-transform: none; letter-spacing: normal; }
.cascade-client-detail :is(.client-children-list, .client-life-events) > header h3 span { display: inline-flex; align-items: center; justify-content: center; min-width: 1.2rem; height: 1.2rem; margin-left: .25rem; padding: 0 .25rem; border-radius: 20px; color: var(--profile-secondary); background: var(--profile-muted); font: 600 .65rem/1 var(--interface-font); }
.cascade-client-detail .client-children-list ul { gap: .6rem; margin: .6rem 0 0; }
.cascade-client-detail .client-children-list li { padding: .65rem .8rem; border: 0; border-radius: 6px; background: var(--profile-muted); gap: .4rem .65rem; }
.cascade-client-detail .client-children-list li dl { display: flex; flex-wrap: wrap; gap: .6rem 1.3rem; padding-top: .45rem; }
.cascade-client-detail .client-children-list li dt { font-size: .62rem; text-transform: none; letter-spacing: normal; }
.cascade-client-detail .client-children-list li dd { font-size: .77rem; margin-top: .15rem; }
.cascade-client-detail :is(.client-panel-empty, .client-children-empty, .client-referral-empty) { display: none; }
.cascade-client-detail .client-property-summary--empty { border-style: none !important; background: transparent !important; }
.cascade-client-detail .client-property-card { padding: .65rem 0; border: 0; }
.cascade-client-detail .client-property-card + .client-property-card { border-top: 1px solid var(--profile-line); }
.cascade-client-detail .client-property-card:last-child { padding-bottom: 0; }
.cascade-client-detail .client-property-card h3 { font: 600 .83rem/1.45 var(--interface-font); overflow-wrap: anywhere; }
.cascade-client-detail .client-property-card > header { justify-content: flex-start; gap: .6rem; }
.cascade-client-detail .client-property-card > header span { padding: .18rem .35rem; border-radius: 4px; color: var(--profile-secondary); background: var(--profile-muted); font-size: .57rem; }
.cascade-client-detail .client-property-card:first-child > header span { color: var(--profile-accent); background: #eaf5f4; }
.cascade-client-detail .client-property-card dl { display: flex; flex-wrap: wrap; gap: .35rem 1.2rem; margin-top: .35rem; }
.cascade-client-detail .client-property-card dl > div { display: flex; gap: .3rem; }
.cascade-client-detail .client-property-card :is(dt, dd) { font-size: .7rem; line-height: 1.4; margin: 0; }
.cascade-client-detail .client-property-card dt { font-weight: 500; color: var(--profile-secondary); }
/* Absent information occupies only its add control; adding opens the section. */
.cascade-client-detail :is(.client-children-list, .client-life-events, .client-property-summary).client-section-empty { display: inline-flex; width: auto; margin: .7rem .4rem 0 0; padding: 0; border: 0; vertical-align: top; }
.cascade-client-detail .client-section-empty > header > :is(div, h2, h3, svg),
.cascade-client-detail .client-section-empty > header > .client-detail-label { display: none; }
.cascade-client-detail .client-detail-section.client-section-empty { flex: 0 0 auto; width: auto; margin: 0; border: 0; background: transparent; }
.cascade-client-detail .client-detail-section.client-section-empty > header { padding: 0; border: 0; }
.cascade-client-detail .client-detail-section.client-section-empty > .client-detail-section__body { display: none; }
.cascade-client-detail .client-section-empty > header > .client-engagement-history__actions { display: flex; }
.cascade-client-detail .client-section-empty .client-engagement-history__actions > a:first-child { display: none; }
.cascade-client-detail .client-empty-add::before { content: '+'; }
.cascade-client-detail .client-empty-add > svg { display: none; }
.cascade-client-detail .client-interactions-panel__header,
.cascade-client-detail .client-engagement-history__header,
.cascade-client-detail .client-transactions-actions { display: none !important; }
.cascade-client-detail .client-engagement-history__actions { flex: 0 0 auto !important; display: flex; gap: .45rem; align-items: center; }
.cascade-client-detail .client-engagement-history__actions > a:first-child { font-size: .7rem; }
.cascade-client-detail .client-interaction-list li { padding: .6rem 0; }
.cascade-client-detail .client-interaction-list li:first-child { padding-top: 0; }
.cascade-client-detail .client-interaction-list li:last-child { padding-bottom: 0; }
.cascade-client-detail .client-interaction-list p { font-size: .8rem; line-height: 1.5; margin: .25rem 0 0; }
.cascade-client-detail .client-engagement-history__record { padding: .65rem .8rem; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; border: 1px solid var(--profile-line); border-radius: 6px; }
.cascade-client-detail .client-detail-section--network > .client-detail-section__body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 1.25rem; }
.cascade-client-detail .client-detail-section--network :is(.client-panel__header, .client-relationship-map__header) { min-height: 0; padding: 0 0 .5rem; background: transparent; border: 0; }
.cascade-client-detail .client-detail-section--network .client-panel__header h2 { font: 650 .84rem/1.4 var(--interface-font); }
.cascade-client-detail .client-detail-section--network .client-panel__header > svg { display: none; }
.cascade-client-detail .client-relationship-list li { padding: .65rem 0; }
.cascade-client-detail .client-referral-network { display: block; }
.cascade-client-detail .client-referrer-card { padding: .4rem 0 .7rem; border: 0; }
.cascade-client-detail .client-referrals > header { padding: .4rem 0; flex-direction: row; align-items: center; }
.cascade-client-detail :is(.client-referral-card-header h3, .client-referrals > header h3) { font-size: .75rem; }
.cascade-client-detail .client-referrals__actions { gap: .4rem; }
.cascade-client-detail .client-referrer-link { padding: .55rem .65rem; }
.cascade-client-detail :is(.client-life-event-form, .client-relationship-form, .client-introduction-form, .client-referrer-form, .client-interaction-form) { margin: .6rem 0; padding: .8rem; gap: .65rem; border: 1px solid var(--profile-line); border-radius: 6px; background: var(--profile-muted); }
.cascade-client-detail .client-referral-search__results { position: relative; inset: auto; margin-top: .45rem; max-height: 18rem; overflow-y: auto; box-shadow: none; border: 1px solid var(--profile-line); border-radius: 5px; }
.cascade-client-detail .client-referral-search__results button { padding: .6rem; white-space: normal; text-align: left; }
.cascade-client-detail .client-referral-search__control { grid-template-columns: minmax(0,1fr); }
.cascade-client-detail .client-referral-search__control > button { display: none; }
.cascade-client-detail .client-life-events > ul { margin-top: .6rem; }
.cascade-client-detail .client-life-events > ul li { padding: .6rem .75rem; border: 0; border-radius: 6px; background: var(--profile-muted); }
.cascade-client-detail .client-life-events > ul :is(strong, small) { white-space: normal; overflow-wrap: anywhere; }
.cascade-client-detail .client-transaction-list li { padding: .65rem 0; }
/* Section editors use the same widths, headings, controls, and spacing. */
.client-section-editor { max-width: 66rem; margin: 0 auto; }
.client-section-editor .client-intake__intro { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: .8rem 0; }
.client-section-editor .client-intake__intro h1 { margin: .1rem 0 .3rem; font: 700 1.65rem/1.2 var(--interface-font); letter-spacing: -.03em; }
.client-section-editor .client-intake__intro h1 + p { margin: 0; font-size: .78rem; color: var(--profile-secondary); }
.client-section-editor .client-intake__intro .eyebrow { display: none; }
.client-section-editor .client-edit-autosave { position: static; margin: 0 0 .65rem; padding: 0; min-height: 0; border: 0; background: transparent; box-shadow: none; font-size: .71rem; }
.client-section-editor .client-intake-section { display: block; border: 1px solid var(--profile-line); border-radius: 8px; background: var(--profile-surface); }
.client-section-editor .client-intake-section > header { display: none; }
.client-section-editor .client-intake-section__body { padding: 1rem; gap: .8rem; }
.client-section-editor .client-intake-actions { display: none; }
.client-section-editor .client-intake-form { gap: 0; }
.client-section-editor .client-information-overview { padding: 0; border: 0; background: transparent; }
.client-section-editor .client-information-overview__primary-fields { grid-template-columns: minmax(0,2fr) repeat(2,minmax(0,1fr)); }
.client-section-editor .client-edit-person-cards { display: block !important; }
.client-section-editor .client-edit-contact-card { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.client-section-editor .client-edit-contact-card > legend,
.client-section-editor .client-contact-card__header { display: none; }
.client-section-editor .client-person-grid { padding: 0 !important; gap: .8rem !important; }
.client-section-editor :is(.client-household-property, .client-children-intake, .client-important-dates, .client-context-editor) { margin: 0; padding: 0; border: 0; background: transparent; }
.client-section-editor :is(.client-household-property, .client-children-intake, .client-important-dates) > header { display: none; }
.client-section-editor .client-context-editor > h3 { display: none; }
.client-section-editor .client-family-actions { justify-content: flex-end; padding: 0; margin: 0; border: 0; background: transparent; }
.client-section-editor[data-editor-scope="family"] [data-family-action="milestone"],
.client-section-editor[data-editor-scope="dates"] [data-family-action="member"] { display: none; }
.client-section-editor .client-address-history-editor { border: 0; margin: 0; }
.client-section-editor .client-address-history-editor > header { padding: 0 0 .7rem; }
.client-section-editor .client-address-history-editor > header > div { display: none; }
.client-section-editor .client-household-property__controls { padding: .8rem 0 0; gap: .75rem; }
.client-section-editor .client-field > :is(label, span),
.client-section-editor .client-field > label > span { font-size: .66rem; font-weight: 650; letter-spacing: .015em; }
.client-section-editor .client-field :is(input, select, textarea) { min-height: 2.25rem; border-radius: 5px; font-size: .8rem; }
.client-section-editor .client-field > small { font-size: .65rem; }
.client-section-editor .client-household-name small { display: none; }
.client-section-editor .client-child-row { margin: 0; border-radius: 6px; }
.client-section-editor .client-person-grid > .client-field:has(textarea) { grid-column: 1 / -1 !important; }
.client-section-editor .client-person-grid textarea { min-height: 4.5rem; }
@media (max-width: 1000px) {
  .cascade-client-detail .client-detail-section--network > .client-detail-section__body { grid-template-columns: 1fr; gap: .9rem; }
}
@media (max-width: 720px) {
  .cascade-client-detail .client-household-grid { grid-template-columns: 1fr; gap: .8rem; }
  .cascade-client-detail .client-household-grid > article + article { border-left: 0; padding-left: 0; padding-top: .8rem; border-top: 1px solid var(--profile-line); }
  .cascade-client-detail .client-household-grid > article + article .client-local-edit { top: .8rem; }
  .cascade-client-detail .client-detail-section > header { padding: .65rem .8rem; flex-wrap: wrap; }
  .cascade-client-detail .client-detail-section__body { padding: .75rem .8rem; }
  .cascade-client-detail .client-children-list ul { grid-template-columns: 1fr; }
  .cascade-client-detail .client-property-card > header { align-items: flex-start; }
  .cascade-client-detail .client-engagement-history__record { grid-template-columns: minmax(0,1fr) auto; gap: .5rem; }
  .cascade-client-detail .client-engagement-history__record > p { grid-column: 1 / -1; }
  .client-section-editor .client-information-overview__primary-fields { grid-template-columns: 1fr; }
  .client-section-editor .client-intake-section__body { padding: .8rem; }
  .client-section-editor .client-intake__intro h1 { font-size: 1.4rem; }
}
.client-section-editor form .client-scope-hidden { display: none !important; }
.client-section-editor .client-household-layout { grid-template-columns: minmax(0,1fr) !important; }
.client-section-editor .client-household-layout > * { grid-column: 1 / -1 !important; }
.client-section-editor .client-child-rows { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)) !important; gap: .75rem; padding: 0; }
.client-section-editor .client-child-row { padding: .8rem; border: 1px solid var(--profile-line); background: var(--profile-muted); box-shadow: none; }
.cascade-client-detail .client-detail-panel.client-property-summary > .client-panel__header { padding: 0; min-height: 0; background: transparent; }
.cascade-client-detail .client-detail-panel.client-property-summary > .client-panel__header h2 { font: 650 .84rem/1.4 var(--interface-font); }
.cascade-client-detail .client-life-events > ul { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem),1fr)); }
.cascade-client-detail .client-life-events > ul li { grid-template-columns: auto minmax(0,1fr) auto; }
.cascade-client-detail .client-life-events > ul li > button { grid-column: 3; grid-row: 1; }
.cascade-client-detail .client-detail-section--network > header { display: none; }
.cascade-client-detail .client-detail-section--network .client-detail-panel:not(:has(li, .client-referrer-link, form)) > :is(.client-panel__header, .client-relationship-map__header) { display: none; }
.cascade-client-detail .client-referrer-card:not(:has(.client-referrer-link, form)) .client-referral-card-header h3,
.cascade-client-detail .client-referrals:not(:has(li, form)) > header h3,
.cascade-client-detail .client-referrals:not(:has(li)) .client-referrals__actions > span { display: none; }
.cascade-client-detail .client-referrer-card:not(:has(.client-referrer-link, form)),
.cascade-client-detail .client-referrals:not(:has(li, form)) { display: inline-flex; padding: 0; margin: 0 .35rem 0 0; }
.cascade-client-detail .client-referral-card-header { gap: .4rem; }
.cascade-client-detail .client-interaction-list__edit { min-height: 2rem; padding: .35rem .6rem; border: 1px solid var(--profile-line); border-radius: 5px; background: white; color: var(--profile-accent); font: 650 .72rem/1.35 var(--interface-font); letter-spacing: normal; text-transform: none; }
.cascade-client-detail .client-profile-context { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid var(--profile-line); }
.cascade-client-detail .client-profile-context > header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.cascade-client-detail .client-profile-context h3 { margin: 0; font: 650 .84rem/1.4 var(--interface-font); }
.cascade-client-detail .client-profile-context p { margin: .4rem 0 0; font-size: .78rem; line-height: 1.5; white-space: pre-line; }
.cascade-client-detail .client-profile-context.client-section-empty { display: inline-flex; margin: .7rem .4rem 0 0; padding: 0; border: 0; }
.cascade-client-detail .client-detail-section--network .client-detail-panel:not(:has(li, .client-referrer-link, form)) { align-self: start; }
.cascade-client-detail .client-detail-section--network .client-relationship-map:not(:has(li, form)) .client-relationship-map__header { display: flex; }
.cascade-client-detail .client-relationship-map:not(:has(li, form)) .client-relationship-map__header > .client-panel__header { display: none; }
/* Client properties keep just address, dates, type and occupancy. Stored legacy
   values remain in the form to prevent unrelated autosaves from clearing them. */
.client-household-property__controls { display: none !important; }
.client-section-editor .client-child-row { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: .55rem .7rem !important; padding: .65rem !important; border-top: 1px solid var(--profile-line) !important; }
.client-section-editor .client-child-row > .client-field { grid-column: auto !important; margin: 0; }
.client-section-editor .client-child-row > .client-family-member-notes { grid-column: 1 / -1 !important; padding-right: 2.6rem; }
.client-section-editor .client-child-row > legend { font-size: .68rem; padding: 0 .3rem; }
.client-section-editor .client-child-row .client-field > small { display: none; }
.client-section-editor .client-child-row .client-child-remove { grid-column: 2; justify-self: end; margin-top: -2.8rem; align-self: end; width: 2rem; height: 2rem; min-height: 2rem; padding: .35rem; }
.client-section-editor .client-child-row input, .client-section-editor .client-child-row select { min-height: 2rem; padding: .35rem .5rem; }
.client-section-editor .client-household-name input[readonly] { border-color: transparent; background: transparent; box-shadow: none; padding-left: 0; font-size: 1.2rem; font-weight: 700; }
.client-section-editor .client-household-name:has(input[readonly]) > label { display: none; }
.client-section-editor .client-contact-drag-hint { display: none; }
.client-section-editor form .client-child-row > .client-household-member-type,
.client-section-editor form .client-child-row > .client-household-member-name,
.client-section-editor form .client-child-row > .client-household-member-birthday,
.client-section-editor form .client-child-row > .client-household-member-age { grid-column: auto !important; }
.client-section-editor[data-editor-scope="family"] .client-child-rows { grid-template-columns: repeat(auto-fit,minmax(min(100%,24rem),1fr)) !important; }
/* One aligned, compact workspace; section edits stay within their own row. */
.cascade-client-detail { max-width: 66rem !important; margin: 0 auto !important; padding: 0 !important; }
.cascade-client-detail :is(.client-children-list,.client-life-events) > header h3 span,
.cascade-client-detail .client-child-number { display: none !important; }
.cascade-client-detail .client-children-list ul { grid-template-columns: minmax(0,1fr) !important; }
.cascade-client-detail .client-children-list li { display: flex; flex-wrap: wrap; align-items: center; padding: .45rem 0; background: transparent; gap: .5rem 1.2rem; border-radius: 0; }
.cascade-client-detail .client-children-list li > span { display: none; }
.cascade-client-detail .client-children-list li dl { flex: 1; border: 0; padding: 0; margin: 0; gap: .5rem 1.2rem; }
.cascade-client-detail .client-children-list li + li { border-top: 1px solid var(--profile-line); }
.cascade-client-detail [hidden] { display: none !important; }
.client-inline-editor { grid-column: 1 / -1; width: 100%; min-width: 0; margin: .5rem 0; }
.client-inline-editor .client-section-editor { margin: 0; padding: 0; max-width: none; }
.client-inline-editor .client-back-link,
.client-inline-editor .client-intake__intro h1,
.client-inline-editor .client-intake__intro .eyebrow { display: none !important; }
.client-inline-editor .client-intake__intro { margin: 0 0 .5rem; }
.client-inline-editor .client-intake__intro h1 + p { font-size: .84rem; font-weight: 650; color: var(--profile-text); }
.client-inline-editor .client-intake-section { border-radius: 5px; background: var(--profile-muted); }
.client-inline-editor .client-intake-section__body { padding: .7rem; }
.client-inline-editor .client-edit-autosave { font-size: .68rem; }
.client-section-editor #client-information-editor .client-child-row > .client-field { grid-column: auto !important; }
.client-section-editor #client-information-editor .client-child-row > .client-family-member-notes { grid-column: 1 / -1 !important; }
.client-section-editor .client-member-table-head { display: none !important; }
.client-inline-editor .client-intake { animation: none !important; }
.cascade-client-detail .client-workspace__header .eyebrow { display: none; }
.cascade-client-detail .client-workspace__header { margin: .6rem 0 .8rem; }
.cascade-client-detail .client-workspace__identity h1 { font-size: 1.8rem; }
.cascade-client-detail :is(.client-detail-section__header,.client-detail-section > header) { padding-top: .5rem; padding-bottom: .5rem; }
.cascade-client-detail .client-followups__header p { display:none; }
.cascade-client-detail .client-followups > header p,
.cascade-client-detail .client-followups:has(.client-followups__empty):not(:has(form:not([hidden]))) > :is(header > div, ul) { display: none; }
.cascade-client-detail .client-followups { width:100%; padding: .7rem 1rem; }
.cascade-client-detail .client-followups:has(.client-followups__empty):not(:has(form:not([hidden]))) { width:auto; border:0; padding:0; }
.engagement-workspace--inline > :not(.engagement-composer) { display: none !important; }
.engagement-workspace--inline .engagement-composer { margin: 0; padding: .8rem; }
.engagement-workspace--inline .engagement-composer__heading .eyebrow { display:none; }
.engagement-workspace--inline .engagement-composer__heading h2 { font-size: .9rem; }


.engagement-workspace--inline .engagement-composer__actions [hidden] { display:none!important; }

.client-inline-editor .client-intake__intro { display:flex!important; flex-direction:row!important; align-items:center!important; text-align:left!important; }
.client-inline-editor .client-intake__intro > button { flex:0 0 auto; margin:0; }
.client-inline-editor .client-section-editor { scroll-margin-top:5rem; }
.cascade-client-detail .client-followups { margin:0; }
.cascade-client-detail .client-followups:has(.client-followups__empty):not(:has(form:not([hidden]))) > header > div { display:none; }
.cascade-client-detail .client-household-grid dd a { color: var(--profile-text); text-decoration: underline; text-decoration-color: #b9cbcf; text-underline-offset: .18em; overflow-wrap: anywhere; }
.cascade-client-detail .client-household-grid dd a:hover { color: var(--profile-accent); }
.cascade-client-detail .client-individual-note { margin-top: .65rem; padding-top: .5rem; border-top: 1px solid var(--profile-line); }
.cascade-client-detail .client-individual-note > span { font-size: .65rem; color: var(--profile-secondary); font-weight: 650; }
.cascade-client-detail .client-individual-note p { margin: .2rem 0 0; font-size: .8rem; white-space: pre-line; }
.client-household-property .client-address-property-field { display: none !important; }
/* Engagement summaries: client first, compact controls, visible action list. */
.engagement-workspace .engagement-record { grid-template-columns: minmax(0,1fr) auto; align-items:start; gap:.45rem .8rem; padding:.7rem .9rem; box-shadow:none; border-left-width:3px; }
.engagement-workspace .engagement-record__identity { grid-column:1; grid-row:1; }
.engagement-workspace .engagement-record__identity > .engagement-record__client { display:inline-block; font:700 1.06rem/1.35 var(--interface-font); color:var(--ink-900); text-decoration:none; }
.engagement-workspace .engagement-record__identity > .engagement-record__client:hover { text-decoration:underline; }
.engagement-workspace .engagement-record__identity h2 { margin:.1rem 0; font:500 .8rem/1.4 var(--interface-font); }
.engagement-workspace .engagement-record__controls { grid-column:2; grid-row:1; display:flex; align-items:center; gap:.4rem; }
.engagement-workspace .engagement-record__controls label > span { display:none; }
.engagement-workspace .engagement-record__controls :is(select,button) { width:auto; min-height:2rem; height:2rem; padding:.3rem .55rem; font-size:.72rem; }
.engagement-workspace .engagement-record__controls select { max-width:8rem; }
.engagement-workspace .engagement-record__controls > a { font-size:.68rem; }
.engagement-workspace .engagement-record__detail { grid-column:1/-1; grid-row:2; display:flex; flex-wrap:wrap; align-items:start; gap:.3rem 1rem; padding:0; border:0; }
.engagement-workspace .engagement-record__detail p { margin:0; font-size:.74rem; }
.engagement-workspace .engagement-record__detail p:empty { display:none; }
.engagement-workspace .engagement-record__requirements[open] { flex-basis:100%; }
.engagement-workspace .engagement-record__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem 1rem; margin:.4rem 0 0; }
.engagement-workspace .engagement-record__facts > div { display:block; }
.engagement-workspace .engagement-record__facts dd { margin:0; }
.engagement-action-items { padding-top:.5rem; }
.engagement-action-items > header { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.engagement-action-items h3 { margin:0; font:650 .74rem/1.4 var(--interface-font); }
.engagement-action-items .engagement-add-action { border:0; background:transparent; padding:.2rem 0; color:var(--teal-700,#087c82); font:650 .72rem/1.4 var(--interface-font); cursor:pointer; }
.engagement-action-items__body { gap:.4rem; padding-top:.35rem; }
.engagement-action-items__body > p:empty { display:none; }
.engagement-action-items [hidden] { display:none!important; }
.engagement-action-items__row { border:0; border-radius:0; background:transparent; padding:.4rem 0; }
.engagement-action-items__row + .engagement-action-items__row { border-top:1px solid var(--warm-200); }
@media(max-width:720px) {
 .engagement-workspace .engagement-record { grid-template-columns:minmax(0,1fr); }
 .engagement-workspace .engagement-record__controls { grid-column:1; grid-row:2; flex-wrap:wrap; }
 .engagement-workspace .engagement-record__detail { grid-row:3; }
 .engagement-workspace .engagement-record__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:721px) {
 .client-section-editor[data-editor-scope="family"] .client-child-rows { grid-template-columns:minmax(0,1fr)!important; gap:.4rem!important; }
 .client-section-editor #client-information-editor .client-child-row { grid-template-columns:minmax(6rem,.85fr) minmax(7rem,1.2fr) minmax(7.2rem,1fr) minmax(3.7rem,.5fr) minmax(7rem,1.3fr) 2rem!important; align-items:end; gap:.5rem!important; padding:.5rem!important; box-shadow:none!important; }
 .client-section-editor #client-information-editor .client-child-row > legend { display:none; }
 .client-section-editor #client-information-editor .client-child-row > .client-family-member-notes { grid-column:auto!important; padding-right:0; }
 .client-section-editor #client-information-editor .client-child-row .client-child-remove { grid-column:auto!important; margin:0!important; align-self:end; }
}

/* Compact network rows: retain actions without tall referral cards. */
.cascade-client-detail .client-detail-section--network .client-panel__header,
.cascade-client-detail .client-detail-section--network .client-relationship-map__header { padding-bottom: .25rem; }
.cascade-client-detail .client-detail-section--network .client-referrer-card { padding: .15rem 0 .25rem; }
.cascade-client-detail .client-detail-section--network .client-referral-card-header { margin-bottom: .3rem; }
.cascade-client-detail .client-detail-section--network .client-referrer-list { display: flex; flex-wrap: wrap; gap: .3rem; }
.cascade-client-detail .client-detail-section--network .client-referrer-link { display: flex; flex: 1 1 10rem; align-items: center; gap: .4rem; min-width: 0; padding: .3rem .45rem; border-radius: 4px; }
.cascade-client-detail .client-detail-section--network .client-referrer-link > span:nth-child(2) { min-width: 0; flex: 1; }
.cascade-client-detail .client-detail-section--network .client-referrer-link strong { font-size: .75rem; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; }
.cascade-client-detail .client-detail-section--network .client-avatar { width: 1.65rem; height: 1.65rem; min-width: 1.65rem; font-size: .62rem; }
.cascade-client-detail .client-detail-section--network .client-referrer-link > svg { width: .85rem; height: .85rem; flex-shrink: 0; }
.cascade-client-detail .client-detail-section--network .client-referrals > header { padding: .2rem 0; }
.cascade-client-detail .client-detail-section--network .client-referrals li > a { padding: .35rem .45rem; }
.cascade-client-detail .client-detail-section--network .client-referrals li svg { grid-row: 1; }
.cascade-client-detail .client-detail-section--network .client-relationship-list { margin: 0; }
.cascade-client-detail .client-detail-section--network .client-relationship-list li { padding: .35rem 0; gap: .15rem .5rem; }
.cascade-client-detail .client-detail-section--network .client-relationship-list li > :is(a, .client-relationship-contact) { gap: .4rem; }
.cascade-client-detail .client-detail-section--network .client-relationship-list__type { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem; padding-left: 2.05rem; }
.cascade-client-detail .client-detail-section--network .client-relationship-list__type :is(strong, span) { font-size: .66rem; line-height: 1.35; }
.cascade-client-detail .client-detail-section--network .client-relationship-list li > button { align-self: center; padding: .15rem .25rem; font-size: .65rem; }

/* One field-label style across summaries and all section editors. */
:is(.cascade-client-detail, .client-section-editor, .engagement-workspace) {
  --client-label-color: #586b80;
  --client-label-size: .61rem;
}
:is(.cascade-client-detail, .client-section-editor, .engagement-workspace) :is(dt, label, label > span, .client-field > span, .client-individual-note > span) {
  color: var(--client-label-color) !important;
  font-family: var(--interface-font) !important;
  font-size: var(--client-label-size) !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}
:is(.cascade-client-detail, .client-section-editor, .engagement-workspace) label :is(input, select, textarea, button) {
  text-transform: none;
  letter-spacing: normal;
}
.client-life-event-form > [role="status"] { align-self:center; font:500 .68rem/1.4 var(--interface-font); color:#586b80; }

/* Restore the original section margin treatment, without in-page navigation. */
.cascade-client-detail .client-detail-section:not(.client-section-empty) {
  display: grid;
  grid-template-columns: minmax(10.5rem, .22fr) minmax(0, 1fr);
}
.cascade-client-detail .client-detail-section:not(.client-section-empty) > header {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: .65rem;
  padding: 1rem;
  border: 0;
  border-right: 1px solid var(--profile-line);
  color: var(--warm-50);
  background: linear-gradient(145deg, var(--evergreen-800), var(--evergreen-950));
}
.cascade-client-detail .client-detail-section:not(.client-section-empty) > header > div:first-of-type { flex: 0; }
.cascade-client-detail .client-detail-section:not(.client-section-empty) > header h2 {
  color: inherit;
  font: 650 .95rem/1.35 var(--interface-font);
}
.cascade-client-detail .client-detail-section:not(.client-section-empty) > header > svg {
  display: block;
  color: var(--teal-300, #72d4ce);
  width: 1.2rem;
  height: 1.2rem;
}
.cascade-client-detail .client-detail-section:not(.client-section-empty) > header .client-section-edit {
  color: #fff;
  border-color: rgb(255 255 255 / 30%);
  background: rgb(255 255 255 / 8%);
}
.cascade-client-detail .client-detail-section__body { min-width: 0; }
@media (max-width: 760px) {
  .cascade-client-detail .client-detail-section:not(.client-section-empty) { grid-template-columns: minmax(0, 1fr); }
  .cascade-client-detail .client-detail-section:not(.client-section-empty) > header {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    padding: .7rem 1rem;
    border-right: 0;
  }
  .cascade-client-detail .client-detail-section:not(.client-section-empty) > header > div:first-of-type { flex: 1; }
}

/* Engagement workspace: compact category groups with requirements in view. */
.engagement-workspace { gap: .65rem; }
.engagement-workspace__hero { align-items: center; padding-bottom: .6rem; gap: 1rem; }
.engagement-workspace__hero h1 { font: 700 1.8rem/1.15 var(--interface-font); letter-spacing: -.035em; }
.engagement-workspace__hero .eyebrow { margin-bottom: .2rem; }
.engagement-workspace__hero > div > p:last-child { margin-top: .25rem; font-size: .75rem; }
.engagement-workspace .engagement-metrics { display: flex; flex-wrap: wrap; gap: .45rem 1.3rem; border: 0; border-radius: 0; background: none; }
.engagement-workspace .engagement-metrics > div { display: flex; align-items: baseline; gap: .4rem; padding: 0; border: 0; }
.engagement-workspace .engagement-metrics strong { font: 750 1rem/1.3 var(--interface-font); }
.engagement-workspace .engagement-metrics span { font-size: .65rem; text-transform: none; letter-spacing: 0; }
.engagement-workspace .engagement-toolbar { grid-template-columns: minmax(12rem,1fr) 10rem 11rem; padding: .5rem .65rem; gap: .65rem; border-radius: var(--radius-sm); }
.engagement-workspace .engagement-toolbar :is(input,select) { min-height: 2.1rem; padding: .35rem .55rem; }
.engagement-list { gap: .85rem; }
.engagement-group { min-width: 0; border: 1px solid var(--warm-200); border-radius: var(--radius-sm); overflow: hidden; }
.engagement-group > header { display: flex; align-items: center; gap: .5rem; padding: .45rem .8rem; background: var(--warm-100); border-bottom: 1px solid var(--warm-200); }
.engagement-group > header h2 { margin: 0; color: var(--evergreen-950); font: 750 .88rem/1.3 var(--interface-font); }
.engagement-group > header > span { min-width: 1.3rem; padding: .1rem .35rem; border-radius: 3px; text-align: center; font-size: .65rem; font-weight: 750; color: var(--ink-700); background: var(--warm-50); }
.engagement-workspace .engagement-record { grid-template-columns: minmax(13rem,.9fr) minmax(16rem,1.3fr) auto; gap: .5rem .9rem; border: 0; border-left: 3px solid var(--warm-200); border-radius: 0; padding: .65rem .8rem; background: var(--warm-50); }
.engagement-workspace .engagement-record + .engagement-record { border-top: 1px solid var(--warm-200); }
.engagement-workspace .engagement-record[data-status="active"] { border-left-color: var(--evergreen-700,var(--evergreen-800)); }
.engagement-workspace .engagement-record[data-status="new"] { border-left-color: var(--focus); }
.engagement-workspace .engagement-record__identity h3 { margin: 0 0 .2rem; font: 750 1rem/1.35 var(--interface-font); letter-spacing: -.015em; overflow-wrap: anywhere; color: var(--evergreen-950); }
.engagement-workspace .engagement-record__identity h3 a { font: inherit; color: inherit; text-decoration: none; }
.engagement-workspace .engagement-record__identity h3 a:hover { text-decoration: underline; text-underline-offset: .15em; }
.engagement-workspace .engagement-record__identity > .engagement-record__client { display: block; margin-bottom: .3rem; font: 800 1.12rem/1.35 var(--interface-font); color: var(--evergreen-950); overflow-wrap: anywhere; }
.engagement-workspace .engagement-record__identity > span { display: block; margin-top: .15rem; }
.engagement-workspace .engagement-record__identity > small { display: block; margin-top: .2rem; color: var(--ink-500); font-size: .62rem; }
.engagement-workspace .engagement-record__detail { grid-column: 2; grid-row: 1; display: grid; gap: .35rem; }
.engagement-workspace .engagement-record__facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem .7rem; margin: 0; }
.engagement-workspace .engagement-record__facts dt { font: 600 .61rem/1.3 var(--interface-font); }
.engagement-workspace .engagement-record__facts dd { font: 650 .75rem/1.4 var(--interface-font); white-space: normal; overflow-wrap: anywhere; }
.engagement-workspace .engagement-record__requirements summary { margin: 0; font-size: .65rem; }
.engagement-workspace .engagement-record__requirements[open] > dl { margin-top: .35rem; }
.engagement-workspace .engagement-record__controls { grid-column: 3; grid-row: 1; display: grid; grid-template-columns: auto auto; justify-content: end; gap: .3rem; }
.engagement-workspace .engagement-record__controls > a { grid-column: 1/-1; justify-self: end; }
.engagement-workspace .engagement-action-items { padding-top: .35rem; }
.engagement-workspace .engagement-action-items h4 { margin: 0; font: 600 .65rem/1.3 var(--interface-font); color: var(--ink-500); }
.engagement-workspace .engagement-action-items__body:not(:has(.engagement-action-items__row, .client-action-composer:not([hidden]), p:not(:empty))) { display: none; }
.engagement-workspace .engagement-action-items__row { padding: .3rem 0; }
@media (max-width: 1100px) {
  .engagement-workspace .engagement-record { grid-template-columns: minmax(0,1fr) auto; }
  .engagement-workspace .engagement-record__controls { grid-column: 2; }
  .engagement-workspace .engagement-record__detail { grid-column: 1/-1; grid-row: 2; }
  .engagement-workspace .engagement-record__facts { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .engagement-workspace__hero { align-items: start; flex-direction: row; }
  .engagement-workspace__hero > button { font-size: .7rem; padding: .5rem; }
  .engagement-workspace__hero > div > p:last-child { display: none; }
  .engagement-workspace .engagement-toolbar { grid-template-columns: 1fr 1fr; }
  .engagement-toolbar__search { grid-column: 1/-1; }
  .engagement-workspace .engagement-record { grid-template-columns: minmax(0,1fr); }
  .engagement-workspace .engagement-record__detail { grid-column: 1; grid-row: 2; }
  .engagement-workspace .engagement-record__facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .engagement-workspace .engagement-record__controls { grid-column: 1; grid-row: 3; display: flex; justify-content: start; flex-wrap: wrap; }
}
.engagement-workspace .engagement-record__dates { display:flex; flex-wrap:wrap; gap:.3rem .8rem; margin-top:.4rem; }
.engagement-record__dates > span { display:grid; gap:.08rem; }
.engagement-record__dates > span > span { font-size:.58rem; color:var(--ink-500); }
.engagement-record__dates strong { font-size:.65rem; font-weight:600; color:var(--ink-700); }
.engagement-record__badges { display:flex; flex-wrap:wrap; gap:.3rem; margin-top:.4rem; }
.engagement-record__badges > span { border:1px solid var(--warm-200); background:var(--warm-100); color:var(--ink-700); border-radius:3px; padding:.12rem .3rem; font-size:.6rem; font-weight:650; }
.engagement-workspace .engagement-record__latest { font-size:.68rem; color:var(--ink-500); }
.engagement-update { grid-column:1/-1; }
.engagement-update > summary { width:fit-content; color:var(--evergreen-800); font:650 .68rem/1.4 var(--interface-font); cursor:pointer; }
.engagement-update__form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; border-top:1px solid var(--warm-200); margin-top:.35rem; padding-top:.5rem; }
.engagement-update__form label { display:grid; gap:.2rem; min-width:0; }
.engagement-update__form label > span { font-size:.62rem; font-weight:650; color:var(--ink-500); }
.engagement-update__form :is(input,select,textarea) { width:100%; min-width:0; min-height:2rem; border:1px solid var(--warm-200); border-radius:var(--radius-sm); padding:.35rem .5rem; color:var(--ink-900); background:var(--warm-50); font:400 .73rem/1.4 var(--interface-font); }
.engagement-update__notes { grid-column:span 2; }
.engagement-update__footer { display:flex; justify-content:space-between; align-items:center; gap:.5rem; grid-column:1/-1; }
.engagement-update__footer p { margin:0; font-size:.7rem; color:var(--ink-700); }
.engagement-update__footer button { padding:.4rem .7rem; min-height:2rem; }
@media (max-width:620px) {
 .engagement-update__form { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .engagement-update__notes { grid-column:1/-1; }
}

/* Engagement list hierarchy: category, relationship, then supporting detail. */
.engagement-list { gap: 1.4rem; }
.engagement-group { border-color: var(--warm-250, var(--warm-200)); border-radius: 8px; }
.engagement-group > header { gap: .75rem; padding: .95rem 1.1rem; background: var(--evergreen-950); border-bottom: 0; }
.engagement-group > header h2 { color: var(--warm-50); font: 800 1.4rem/1.2 var(--interface-font); letter-spacing: -.025em; }
.engagement-group > header > span { min-width: 1.65rem; padding: .18rem .5rem; border-radius: 4px; color: var(--warm-50); background: rgb(255 255 255 / 13%); font: 650 .72rem/1.4 var(--interface-font); }
.engagement-workspace .engagement-record { padding: 1rem 1.1rem; gap: .75rem 1.25rem; grid-template-columns: minmax(12rem, 1fr) minmax(15rem, 1.25fr) minmax(9rem, auto); border-left-width: 3px; }
.engagement-workspace .engagement-record[data-status="in-escrow"] { border-left-color: var(--copper-650, var(--copper-600)); }
.engagement-workspace .engagement-record__identity > .engagement-record__client,
.engagement-workspace .engagement-record__identity h3 { font: 700 .94rem/1.4 var(--interface-font); letter-spacing: -.01em; color: var(--evergreen-950); margin: 0; }
.engagement-workspace .engagement-record__identity > .engagement-record__client { margin-bottom: .5rem; }
.engagement-workspace .engagement-record__identity > .engagement-record__caption { display: block; margin: 0 0 .15rem; color: var(--ink-500); font: 650 .55rem/1.4 var(--interface-font); letter-spacing: .09em; text-transform: uppercase; }
.engagement-workspace .engagement-record__detail { padding-left: 1.25rem; align-content: start; gap: .65rem; }
.engagement-workspace .engagement-record__facts { gap: .65rem 1rem; }
.engagement-workspace .engagement-record__facts > div { display: grid; grid-template-columns: minmax(0,1fr); gap: .18rem; }
.engagement-workspace .engagement-record__facts dt { font-size: .59rem; color: var(--ink-500); }
.engagement-workspace .engagement-record__facts dd { font-size: .76rem; font-weight: 600; }
.engagement-workspace .engagement-record__controls { align-content: start; align-items: end; gap: .5rem; }
.engagement-workspace .engagement-record__controls select { min-height: 2.1rem; padding: .35rem .5rem; font-size: .7rem; }
.engagement-workspace .engagement-record__controls button { min-height: 2.1rem; padding: .35rem .65rem; }
.engagement-workspace .engagement-record__dates { margin-top: .75rem; padding-top: .6rem; border-top: 1px solid var(--warm-200); gap: .4rem .8rem; }
.engagement-workspace .engagement-action-items { margin-top: .1rem; padding-top: .6rem; }
.engagement-workspace .engagement-toolbar { padding: .7rem .8rem; gap: .8rem; }
.engagement-workspace .engagement-toolbar:focus-within { border-color: var(--evergreen-700, var(--evergreen-800)); }
.engagement-workspace :is(a,button,select,input,summary):focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
@media (max-width: 1100px) {
  .engagement-workspace .engagement-record { grid-template-columns: minmax(0,1fr) auto; }
  .engagement-workspace .engagement-record__detail { border-left: 0; padding-left: 0; border-top: 1px solid var(--warm-200); padding-top: .75rem; }
}
@media (max-width: 620px) {
  .engagement-group > header { padding: .8rem; }
  .engagement-group > header h2 { font-size: 1.25rem; }
  .engagement-workspace .engagement-record { grid-template-columns: minmax(0,1fr); padding: .85rem .8rem; }
  .engagement-workspace .engagement-record__controls { align-items: end; }
}
