/* Client workflow layout. Fields, tabs, headings, and buttons use the shared
   questionnaire presentation consumed by the case view. Loaded by its CSS. */
.is-client-intake .intake-questionnaire-tab { position: relative; padding-right: 31px; }
.is-client-intake .intake-questionnaire-tab.is-active { box-shadow: none; }
.is-client-intake .intake-questionnaire-tab.is-complete::after { position: absolute; top: 50%; right: 10px; display: block; width: 15px; height: 15px; transform: translateY(-50%); border-radius: 50%; background: #e3f2df url("../general, reusable UI assets for pragtical/check.svg") center / 8px 7px no-repeat; content: ""; }
.is-client-intake .intake-questionnaire-workspace__body { scroll-padding-block: 18px; }
.client-intake-content { width: 100%; min-width: 0; padding-inline: 5px; color: #111; font-size: 11px; line-height: 1.5; }
.client-intake-content *, .client-intake-content *::before, .client-intake-content *::after { box-sizing: border-box; }
.client-intake-content :is(form, section, fieldset) { min-width: 0; }
.client-intake-content :is(button, input, textarea) { font-family: inherit; }
.client-intake-content p { max-width: none; margin: 0; color: #616974; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.client-intake-content .client-intake-description { max-width: 740px; margin-bottom: 21px; color: #464c54; }
.client-intake-content > h3,
.client-intake-content form > h3,
.client-intake-content [data-client-autosave] > h3,
.client-intake-spouse > h3,
.client-intake-tool > h3 { margin: 0 0 12px; color: #3f4b58; font-size: 14px; font-weight: 600; line-height: 1.4; }
.is-client-intake .client-intake-content .client-intake-feedback { width: 100%; max-width: none; margin-bottom: 15px; padding: 8px 11px; color: #31533c; border: 0; border-radius: 5px; background: #f3f9ee; }
.client-intake-content .client-intake-feedback:empty { display: none; }
.client-intake-content .client-intake-feedback.is-error { color: #9a2d27; border-color: #e5c7c4; background: #fff5f3; }

.client-intake-grid { align-items: start; min-width: 0; }
.client-intake-field { position: relative; display: grid; min-width: 0; align-content: start; gap: 5px; }
.client-intake-field.is-wide { grid-column: 1 / -1; }
.client-intake-field > label,
.client-intake-field .contact-create-field > label,
.client-intake-field .pragtical-date-label { min-width: 0; overflow-wrap: anywhere; }
.client-intake-field:has(> textarea) > label { max-width: 760px; color: #3f4b58; font-size: 11px; font-weight: 600; }
.client-intake-field > small { color: #69717b; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.client-intake-field :is(.contact-create-field, .import-data-select, .pragtical-date-field) { width: 100%; min-width: 0; }
.client-intake-field > textarea { width: 100%; min-width: 0; min-height: 89px; padding: 8px 8.4px; resize: vertical; color: #111; border: .5px solid #aaa; border-radius: 4.8px; background: #fff; font-size: 10.8px; line-height: 1.5; }
.client-intake-field :is(input, textarea)::placeholder { color: #858b92; opacity: 1; }
.client-intake-field .import-data-select__menu { z-index: 61; max-height: 250px; }
.client-intake-field .import-data-select__menu [role="option"] span { white-space: normal; overflow-wrap: anywhere; }
.client-intake-field .pragtical-date-picker { z-index: 61; width: min(286px, 100%); }
.client-intake-field:has([aria-expanded="true"]) { z-index: 60; }
.client-intake-content .client-intake-check { min-height: 28.8px; align-items: flex-start; padding-top: 5px; }
.client-intake-check .intake-questionnaire-checkbox { flex: 0 0 15px; margin-top: 1px; }
.client-intake-check > span:last-child { min-width: 0; line-height: 1.5; }
.client-intake-content :is(button, a, textarea, input[type="checkbox"]):focus-visible,
.client-intake-document-upload:has(input:focus-visible) > label { outline: 2px solid #39738e; outline-offset: 2px; }
.client-intake-field :is(input, textarea, button)[aria-invalid="true"],
.intake-questionnaire-profile-input:has([aria-invalid="true"]) { border-color: #b3261e; box-shadow: 0 0 0 1px #b3261e; }

.client-intake-button { min-width: 0; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.client-intake-button:hover { border-color: #91a3ae; background: #e9f4fd; }
.client-intake-button:disabled { color: #7c8289; border-color: #d4d7da; background: #f2f3f4; cursor: not-allowed; }
.client-intake-button .icon { flex: 0 0 10px; width: 10px; height: 10px; filter: brightness(0); }
.client-intake-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 22px; }
.client-intake-content form > .client-intake-field { margin-bottom: 17px; }
.client-intake-list-toolbar { display: flex; min-width: 0; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
.client-intake-list-toolbar > .client-intake-field { flex: 1 1 260px; max-width: 360px; }
.client-intake-list-toolbar > .client-intake-button { flex: 0 0 auto; }
.client-intake-records { min-width: 0; border: .75px solid #cbd0d5; border-radius: 6px; }
.client-intake-records:empty { display: none; }
.client-intake-record { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px; min-width: 0; padding: 12px; }
.client-intake-record + .client-intake-record { border-top: .75px solid #dce0e3; }
.client-intake-record > div { min-width: 0; }
.client-intake-record h3 { margin: 0 0 3px; color: #2b3035; font-size: 11.5px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.client-intake-record p { white-space: pre-line; }
.client-intake-record-detail-group { margin-top: 10px; }
.client-intake-record-detail-group > h4 { margin: 0 0 7px; color: #59636e; font-size: 9.5px; font-weight: 650; letter-spacing: .02em; }
.client-intake-record-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 9px 18px; margin: 0; }
.client-intake-record-details > div { min-width: 0; padding-left: 9px; border-left: 2px solid #edf0d7; }
.client-intake-record-details dt { margin: 0 0 2px; color: #68717a; font-size: 9px; font-weight: 550; line-height: 1.35; overflow-wrap: anywhere; }
.client-intake-record-details dd { margin: 0; color: #2d3339; font-size: 10.8px; line-height: 1.4; overflow-wrap: anywhere; white-space: pre-wrap; }
.client-intake-record-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.client-intake-record-actions .client-intake-button { padding-inline: 8px; }
.client-intake-content .client-intake-empty { padding: 19px 15px; border: .75px dashed #cbd0d5; border-radius: 6px; background: #fcfcfc; }
.client-intake-nested { display: grid; justify-items: start; gap: 13px; margin-top: 22px; }
.client-intake-nested fieldset { width: 100%; margin: 0; padding: 14px; border: .75px solid #cbd0d5; border-radius: 6px; }
.client-intake-nested legend { padding-inline: 5px; color: #41464d; font-size: 11px; font-weight: 600; }
.client-intake-nested fieldset > .client-intake-button { margin-top: 15px; }

.client-intake-content > .intake-questionnaire-subtabs-region,
.client-intake-content > .intake-questionnaire-client-profile__toolbar { margin-bottom: 17px; }
.client-intake-tabs { overscroll-behavior-inline: contain; }
.client-intake-annual { min-width: 0; }
.client-intake-annual-heading,
.client-intake-annual-row { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: start; gap: 16px; padding: 14px 10px; border-bottom: .75px solid #dce0e3; }
.client-intake-annual-heading { padding-block: 9px; color: #5e6670; border-top: .75px solid #dce0e3; background: #fafbfc; font-size: 10px; }
.client-intake-annual-row > h3 { margin: 6px 0 0; color: #454b53; font-size: 11px; font-weight: 500; }
.client-intake-spouse { margin-top: 26px; padding-top: 21px; border-top: .75px solid #dce0e3; }
.client-intake-spouse > h3 { margin-bottom: 5px; }
.client-intake-spouse > p { margin-bottom: 17px; }
.client-intake-expense-nav { justify-content: flex-end; }
.client-intake-document-upload { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 24px; }
.client-intake-document-upload p { flex: 1 1 220px; font-size: 10px; }
.client-intake-suggestions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 24px; margin: 0 0 24px; padding-left: 17px; color: #535c66; }
.client-intake-tool { margin-top: 24px; padding-top: 20px; border-top: .75px solid #dce0e3; }
.client-intake-tool > p { margin-bottom: 15px; }
.client-intake-capitalization { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 15px; padding-block: 10px; border-bottom: .75px solid #e5e7e9; }
.client-intake-capitalization > span { min-width: 0; overflow-wrap: anywhere; }
.client-intake-capitalization > button { flex: 0 0 auto; }
.client-intake-section-nav { display: flex; min-width: 0; justify-content: space-between; gap: 14px; margin-top: 24px; padding-top: 16px; border-top: .75px solid #dce0e3; }
.client-intake-section-nav > .client-intake-button { max-width: 48%; }
.client-intake-nav-chevron { display: block; flex: 0 0 5px; width: 5px; height: 5px; border: solid currentColor; border-width: 0 1px 1px 0; }
.client-intake-nav-chevron.is-previous { transform: rotate(135deg); }
.client-intake-nav-chevron.is-next { transform: rotate(-45deg); }

.client-intake-record-dialog .client-intake-record-dialog__body { display: block; min-height: 0; overscroll-behavior: contain; container: client-record-editor / inline-size; }
.client-intake-record-dialog__body > .client-intake-field { max-width: 360px; margin-bottom: 17px; }
.client-intake-record-dialog .client-intake-feedback { max-width: none; }

@container client-record-editor (max-width: 700px) {
  .client-intake-grid.intake-questionnaire-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container client-record-editor (max-width: 480px) {
  .client-intake-grid.intake-questionnaire-profile-grid { grid-template-columns: minmax(0, 1fr); }
}

@container intake-workspace (max-width: 700px) {
  .client-intake-grid.intake-questionnaire-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container intake-workspace (max-width: 480px) {
  .client-intake-grid.intake-questionnaire-profile-grid { grid-template-columns: minmax(0, 1fr); }
  .client-intake-record { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .client-intake-list-toolbar { flex-wrap: wrap; }
  .client-intake-list-toolbar > .client-intake-field { flex-basis: 100%; max-width: none; }
  .client-intake-annual-heading, .client-intake-annual-row { grid-template-columns: 62px minmax(0, 1fr); gap: 10px; padding-inline: 6px; }
  .client-intake-suggestions { grid-template-columns: minmax(0, 1fr); }
  .client-intake-capitalization { flex-wrap: wrap; gap: 8px; }
}

@media (max-width: 760px) {
  .is-client-intake .intake-questionnaire-workspace { height: min(720px, 78dvh); min-height: 330px; }
  .is-client-intake .intake-questionnaire-workspace__body { min-height: 0; padding: 18px 14px 22px; }
  .client-intake-grid.intake-questionnaire-profile-grid { grid-template-columns: minmax(0, 1fr); }
  .client-intake-section-nav { gap: 10px; }
  .client-intake-section-nav > .client-intake-button { flex: 0 1 48%; }
}

/* These two phone tables keep their semantic headers while each saved record
   becomes a labeled card. Actions stay visible in the normal page scroll. */
@media (max-width: 680px) {
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table-scroll { overflow:visible; border:0; border-radius:0; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table { min-width:0; table-layout:fixed; background:transparent; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table tbody { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; width:100%; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table tbody>tr { display:grid; grid-template-columns:minmax(0,1fr); min-width:0; border:1px solid var(--boyce-client-line); border-radius:6px; background:#fff; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table tbody>tr>td { display:block; min-width:0; padding:12px 14px; border-bottom:1px solid var(--boyce-client-line); }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table tbody>tr>td::before { content:attr(data-label); display:block; margin-bottom:4px; color:var(--boyce-client-muted); font-size:12px; font-weight:600; line-height:18px; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-table tbody>tr>td[data-label="Actions"] { border-bottom:0; background:#f3f6fa; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:stretch; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-actions .client-intake-button { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px 12px; justify-content:center; white-space:normal; overflow-wrap:anywhere; }
  [data-boyce-client-theme] [data-boyce-client-intake-layout] :is([data-client-section="creditors"],[data-client-section="documents"]) .client-intake-record-details-disclosure>summary { box-sizing:border-box; min-height:44px; padding-block:10px; }
}
