/* The firm's compact application chrome and shared surfaces follow the
   inspected NextChapter hierarchy. Native administration keeps its own skin. */
.boyce-workspace:where(:not([data-native-client-view], [data-native-client-view] *)) {
  --boyce-ink:#20252c; --boyce-muted:#465569; --boyce-paper:#fff;
  --boyce-surface:#f1f4f8; --boyce-line:#c1cad6; --boyce-accent:#183d68;
  --boyce-blue:#245fa8; --boyce-blue-light:#eaf3ff;
  --boyce-heading:'DM Sans',Arial,sans-serif;
  color:var(--boyce-ink); background:var(--boyce-surface);
  font-family:'DM Sans',Arial,sans-serif;
}
.boyce-workspace > .pragtical-app:where(:not([data-native-client-view], [data-native-client-view] *)) { background:#f1f4f8; }
.boyce-workspace-header {
  display:grid; grid-template-columns:270px minmax(0,1fr) auto;
  align-items:center; gap:14px; min-height:86px; padding:14px 24px;
  color:#fff; background:#171e28; border:0; box-shadow:0 1px 3px #101b2924;
}
.boyce-workspace-header__identity { gap:5px; }
/* Only the established wordmark retains the firm's serif branding. */
.boyce-workspace-header__wordmark { color:#fff; font:700 22px/1.15 Georgia,'Times New Roman',serif; letter-spacing:-.5px; white-space:nowrap; }
.boyce-workspace-header__subbrand { color:#bcc7d5; font:400 10px/1.35 'DM Sans',Arial,sans-serif; }
.boyce-workspace-header__subbrand > span { display:inline; margin-inline:5px; }
.boyce-workspace-header__subbrand { max-width:270px; }
.boyce-workspace-navigation { grid-column:2; grid-row:1; gap:3px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#63768d transparent; }
.boyce-workspace-navigation > :is(a,span) { flex:0 0 auto; gap:7px; min-height:42px; padding:10px 9px; color:#d9e1eb; border:0; border-radius:5px; font-size:13px; line-height:1.4; }
.boyce-workspace-navigation > a:hover { color:#fff; background:#ffffff12; }
.boyce-workspace-navigation > [aria-current=page] { color:#173e70; background:#e2efff; }
.boyce-workspace-navigation > [aria-disabled=true] { color:#aebdce; opacity:1; }
.boyce-navigation-icon { flex-shrink:0; }
.boyce-workspace-header__account { flex-wrap:nowrap; gap:10px; }
.boyce-workspace-header__actor { color:#edf1f6; max-width:156px; font-size:12px; line-height:1.45; }
.boyce-workspace-header__actor small { color:#aab8cb; font-size:11px; }
.boyce-workspace-header :is(.boyce-workspace-button,.boyce-workspace-account-menu > summary) { min-height:40px; padding:8px 11px; color:#e9eff8; background:transparent; border-color:#566273; border-radius:5px; font-size:13px; }
.boyce-workspace-header .boyce-workspace-button:hover:not(:disabled),.boyce-workspace-header .boyce-workspace-account-menu > summary:hover { color:#fff; background:#ffffff12; border-color:#9daabb; }
.boyce-workspace-header [data-boyce-client-view] { color:#fff; background:#245fa8; border-color:#3476c5; }
.boyce-workspace-header [data-boyce-client-view]:hover:not(:disabled) { color:#fff; background:#1d508f; border-color:#75a8e6; }
.boyce-workspace-header__account .boyce-workspace-account-menu > div { top:calc(100% + 12px); padding:8px; border-color:#d8e1ec; border-radius:6px; box-shadow:0 8px 28px #0c1b3030; }
.boyce-workspace-header .boyce-workspace-account-menu > div .boyce-workspace-button { color:#26364a; background:#fff; border:0; text-align:left; }
.boyce-workspace-header .boyce-workspace-account-menu > div .boyce-workspace-button:hover { color:#173e70; background:#eaf3ff; }
.boyce-account-identity { padding:9px 12px 12px; margin:0 0 5px; color:#30445c; border-bottom:1px solid #e1e8f1; font:12px/1.5 'DM Sans',Arial,sans-serif; overflow-wrap:anywhere; }
.boyce-workspace-header :focus-visible { outline-color:#8fbcff; }

/* DM Sans applies to application copy, including dialogs and injected task
   authoring styles. Authored Studio artwork and the brand wordmark are separate. */
:is(.boyce-case-task-screen,.boyce-people-screen,.boyce-messages-screen,.boyce-firm-settings,.boyce-staff-screen,.boyce-booking,.boyce-business-picker,.boyce-person-screen,.boyce-contact-context,.boyce-form-dialog,.boyce-context-dialog,.boyce-case-focus,.boyce-task-detail-dialog,.boyce-firm-dialog,.boyce-firm-overlays,.boyce-auth-dialog,[data-boyce-calendar]) { font-family:'DM Sans',Arial,sans-serif; }
:is(.boyce-case-task-screen,.boyce-people-screen,.boyce-messages-screen,.boyce-firm-settings,.boyce-staff-screen,.boyce-booking,.boyce-business-picker,.boyce-person-screen,.boyce-contact-context,.boyce-form-dialog,.boyce-context-dialog,.boyce-case-focus,.boyce-task-detail-dialog,.boyce-firm-dialog,.boyce-firm-overlays,.boyce-auth-dialog,[data-boyce-calendar]) :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,summary) { font-family:'DM Sans',Arial,sans-serif; }
dialog.boyce-task-authoring,dialog.boyce-task-authoring :is(h1,h2,h3,h4,button,input,select,textarea,summary) { font-family:'DM Sans',Arial,sans-serif; }
dialog.boyce-task-authoring [data-sce-action=save] { color:#fff; background:#183d68; border-color:#183d68; }
dialog.boyce-task-authoring .boyce-authoring-nav button[aria-current=page] { color:#173f70; background:#eaf3ff; box-shadow:inset 3px 0 #245fa8; }
.boyce-page-heading h1,.boyce-task-detail-heading h1,.boyce-firm-settings h1,.boyce-staff-screen h1,.boyce-booking h1,[data-boyce-calendar] .boyce-cal-heading h1 { font:600 26px/1.3 'DM Sans',Arial,sans-serif; letter-spacing:-.4px; }
.boyce-workspace .boyce-section-heading h1 { font:600 26px/1.3 'DM Sans',Arial,sans-serif; letter-spacing:-.4px; }
.boyce-workspace :is(.boyce-people-card h2,.boyce-message-results-heading h2,.boyce-message-thread-heading h2,.boyce-message-empty h2,.boyce-message-context h2),.boyce-contact-context .native-context-header h2 { font:600 20px/1.4 'DM Sans',Arial,sans-serif; letter-spacing:-.2px; }
.boyce-form-dialog h2,.boyce-context-dialog header h2,.boyce-firm-dialog h2,.boyce-auth-dialog h2,.boyce-business-picker h2,[data-boyce-calendar] .boyce-cal-dialog-heading h2 { font:600 23px/1.35 'DM Sans',Arial,sans-serif; letter-spacing:-.3px; }
.boyce-firm-overlays h2,.boyce-workspace :is(.business-staff-profile-drawer,.business-staff-drawer,[data-native-staff-list-dialog],.business-staff-delete-dialog) h2 { font:600 23px/1.35 'DM Sans',Arial,sans-serif; letter-spacing:-.3px; }
.boyce-workspace :is(.business-staff-profile-dialog,.business-staff-dialog) .contact-create-form__submit { color:#fff; background:#183d68; border-color:#183d68; }
.boyce-workspace .business-staff-profile-tabs .business-staff-profile-tab:nth-child(n) { min-height:44px; padding:12px 14px; font-size:14px; line-height:1.4; }
.boyce-workspace .business-staff-profile-tabs .business-staff-profile-tab[aria-selected=true] { color:#173f70; background:#eaf3ff; border-bottom-color:#245fa8; }
.boyce-workspace .business-staff-profile-photo-actions > [data-business-staff-profile-image-upload]:not(:disabled) { color:#173f70; background:#eaf3ff; border-color:#cddff4; }
.boyce-workspace :is(.boyce-case-task-screen,.boyce-people-screen,.boyce-messages-screen,.boyce-firm-settings,.boyce-staff-screen,[data-boyce-calendar]) { background:#f1f4f8; }
.boyce-case-task-screen,.boyce-firm-settings,.boyce-staff-screen { padding:26px 24px; }
.boyce-page-heading,.boyce-firm-settings .boyce-section-heading,.boyce-staff-screen .boyce-section-heading { margin-bottom:22px; gap:16px; }
.boyce-page-heading p,.boyce-workspace .boyce-section-heading > div > p,.boyce-firm-settings .boyce-section-heading > p { color:#465569; font-size:10px; letter-spacing:1.2px; }

/* White cards, pale blue selection and denser rows reproduce the reference's
   working density while retaining the real table controls and column values. */
.boyce-record-panel,.boyce-people-card,.boyce-card,.boyce-staff-panel,.boyce-firm-settings .boyce-settings-card { border-color:#c1cad6; border-radius:6px; background:#fff; box-shadow:0 3px 10px #172a4710; }
.boyce-card { padding:22px; }
.boyce-record-toolbar { padding:15px 18px; }
.boyce-record-toolbar h2,.boyce-card h2 { font-size:17px; }
.boyce-record-table :is(th,td) { padding-block:13px; border-bottom-color:#edf1f6; font-size:14px; line-height:1.5; }
.boyce-record-table thead { background:#fff; }
.boyce-record-table thead th { padding-block:5px; color:#35465a; text-transform:uppercase; font-size:11px; font-weight:700; }
.boyce-record-table thead button { color:#35465a; font-size:11px; font-weight:700; text-transform:uppercase; }
.boyce-record-table tbody tr:nth-child(even) { background:#f4f7fb; }
.boyce-record-table tbody tr:hover { background:#eaf3ff; }
.boyce-record-table tbody tr[aria-selected=true] { background:#dcecff; }
.boyce-record-table tbody th > span { color:#245fa8; }
.boyce-filter-tabs { gap:6px; padding:0 18px 14px; }
.boyce-filter-tabs button { border-radius:4px; background:#f4f7fb; }
.boyce-filter-tabs [aria-selected=true],.boyce-case-filter button[aria-pressed=true] { color:#173f70; background:#e5f0ff; border-color:#d4e3f6; }
.boyce-case-filter { border-color:#c1cad6; border-radius:6px; box-shadow:0 3px 10px #172a470b; }
.boyce-local-tabs { gap:6px; padding-bottom:8px; margin-bottom:22px; border-color:#e1e8f1; }
.boyce-local-tabs button { min-height:40px; padding:9px 15px; font-size:14px; border:0; border-radius:22px; }
.boyce-local-tabs button[aria-selected=true] { color:#173f70; background:#e7f0fc; border:0; }
.boyce-task-summary { padding:16px 18px; gap:16px 28px; background:#fff; border:1px solid #e0e6ee; border-radius:6px; box-shadow:0 3px 10px #172a470b; }
.boyce-task-summary strong { color:#183d68; font-weight:600; }
.boyce-people-screen :is(th,td),.boyce-staff-screen :is(th,td) { padding-block:13px; font-size:14px; }
.boyce-people-screen th,.boyce-staff-screen thead th { color:#35465a; background:#fff; font-size:11px; font-weight:700; text-transform:uppercase; }
.boyce-people-screen th button,.boyce-staff-screen thead th button { font-size:11px; font-weight:700; }
.boyce-people-screen tbody tr:nth-child(even),.boyce-staff-screen tbody tr:nth-child(even) { background:#f4f7fb; }
.boyce-people-screen td a { color:#245fa8; font-weight:500; }
.boyce-people-screen tr:hover td,.boyce-staff-screen tr:hover td { background:#eaf3ff; }
.boyce-people-toolbar,.boyce-people-view-controls { margin-bottom:16px; }
.boyce-workspace .boyce-people-filters > span { background:#f2f6fc; border-color:#dfe7f1; }
.boyce-selection,.boyce-people-bulk,.boyce-notice,.boyce-state { color:#234f82; background:#eaf3ff; border-color:#d6e5f8; }

/* Primary actions use blue consistently; destructive actions and disabled
   controls retain their existing distinct state and canonical handlers. */
.boyce-workspace .boyce-action--primary,.boyce-form-dialog .boyce-action--primary,.boyce-task-detail-dialog .boyce-action--primary,.boyce-case-focus .boyce-action--primary,.boyce-form-dialog button[type=submit],.boyce-firm-settings [type=submit],.boyce-firm-settings [data-business-representative-save],.boyce-staff-screen [data-business-staff-add-open],.boyce-firm-dialog [type=submit],.boyce-business-picker [type=submit],[data-boyce-calendar] .boyce-cal-button.is-primary,.boyce-auth-dialog .data-types-action-dialog__actions > [data-native-primary] { color:#fff; background:#183d68; border-color:#183d68; }
.boyce-workspace .boyce-action--primary:hover:not(:disabled),.boyce-form-dialog .boyce-action--primary:hover:not(:disabled),.boyce-form-dialog button[type=submit]:hover:not(:disabled),.boyce-staff-screen [data-business-staff-add-open]:hover:not(:disabled),.boyce-firm-settings [type=submit]:hover:not(:disabled),[data-boyce-calendar] .boyce-cal-button.is-primary:hover:not(:disabled),.boyce-auth-dialog .data-types-action-dialog__actions > [data-native-primary]:hover:not(:disabled) { color:#fff; background:#245fa8; border-color:#245fa8; }
.boyce-workspace :is(input[type=checkbox],input[type=radio]),.boyce-form-dialog :is(input[type=checkbox],input[type=radio]),.boyce-firm-dialog input[type=checkbox],[data-boyce-calendar] input[type=checkbox] { accent-color:#245fa8; }
.boyce-workspace-status { background:#183d68; }
.boyce-case-focus { z-index:120; }
/* The saved case masthead is the visible title. Keep the dialog's accessible
   label and Close target without a second title bar above the workspace. */
.boyce-case-focus:not([data-native-client-view]) > header { min-height:0; height:0; padding:0; border:0; }
.boyce-case-focus:not([data-native-client-view]) > header > h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.boyce-case-focus:not([data-native-client-view]) > header > button { position:absolute; z-index:2; right:14px; top:14px; }
.boyce-case-focus:not([data-native-client-view]) .boyce-nextchapter-case .boyce-case-masthead { padding-right:52px; }
.boyce-field-help > summary { color:#245fa8; border-color:#b5cce9; background:#f2f7ff; }
.boyce-field-help [role=note] { color:#30465e; border-color:#cddff4; background:#f4f8ff; }
.boyce-firm-settings .boyce-settings-tabs button[aria-selected=true] { color:#245fa8; border-bottom-color:#245fa8; }
.boyce-staff-screen [role=tab][aria-selected=true] { color:#173f70; background:#e5f0ff; border-color:#cddff4; }
.boyce-firm-settings .business-profile-select__menu [aria-selected=true] { color:#173f70; background:#eaf3ff; }
.boyce-workspace :is(button,a,input,textarea,select,summary):focus-visible,.boyce-form-dialog :focus-visible,.boyce-firm-dialog :focus-visible { outline-color:#6e9ed9; }

/* Settings follows the reference's left directory and main form workspace;
   every existing tab still reveals its own canonical fields and save action. */
.boyce-firm-settings .business-profile-screen { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:20px 24px; }
.boyce-firm-settings .business-profile-screen > .boyce-section-heading { grid-column:1/-1; margin-bottom:0; }
.boyce-firm-settings .boyce-settings-tabs { grid-column:1; grid-row:2 / span 5; margin:0; padding:12px; border:1px solid #e0e6ee; border-radius:6px; background:#fff; box-shadow:0 3px 10px #172a4710; }
.boyce-firm-settings .boyce-settings-tabs > [role=tablist] { flex-direction:column; flex-wrap:nowrap; gap:4px; }
.boyce-firm-settings .boyce-settings-tabs button { justify-content:flex-start; width:100%; min-height:43px; padding:10px 13px; border:0; border-radius:5px; color:#58697c; font-size:14px; text-align:left; }
.boyce-firm-settings .boyce-settings-tabs button[aria-selected=true] { color:#173f70; background:#e7f0fc; border:0; font-weight:600; }
.boyce-firm-settings .business-profile-screen > :is(form,div,section) { grid-column:2; min-width:0; }
.boyce-firm-settings .business-profile-screen > div:empty { display:none; }
.boyce-firm-settings .native-profile-record-state { margin-bottom:18px; }
.boyce-firm-settings .business-profile-card__header { padding:20px 23px 0; }
.boyce-firm-settings .business-profile-card__body { padding:20px 23px 24px; }
.boyce-firm-settings .boyce-settings-fields { gap:20px; }
.boyce-message-directory button[aria-pressed=true],.boyce-message-tabs [aria-selected=true] { color:#173f70; background:#e7f0fc; }
.boyce-message-row.is-selected,.boyce-message-row[aria-selected=true] { background:#eaf3ff; border-color:#cddff4; }
.boyce-workspace .boyce-message-start [data-cv-find],.boyce-workspace .boyce-message-empty [data-cv-find] { color:#fff; background:#183d68; border-color:#183d68; }
.boyce-message.is-outbound { color:#24364d; background:#eaf3ff; border-color:#d3e2f6; }
.boyce-message-tabs [aria-selected=true] { border-bottom-color:#245fa8; }

/* The full calendar remains a working surface, with reference-like white
   controls and a blue treatment for current appointments and selection. */
[data-boyce-calendar] { padding:26px 24px 30px; font-family:'DM Sans',Arial,sans-serif; }
[data-boyce-calendar] .boyce-cal-panel { border-color:#c1cad6; border-radius:6px; box-shadow:0 3px 10px #172a4710; }
[data-boyce-calendar] .boyce-calendar-views { padding:3px; border-color:#dce5f0; border-radius:5px; }
[data-boyce-calendar] .boyce-calendar-views button { min-width:64px; min-height:38px; padding:8px 14px; font-size:14px; }
[data-boyce-calendar] .boyce-calendar-views button[aria-pressed=true] { color:#173f70; background:#e5effc; }
[data-boyce-calendar] .boyce-cal-date-actions h2 { font:600 23px/1.35 'DM Sans',Arial,sans-serif; }
[data-boyce-calendar] .boyce-cal-weekday,[data-boyce-calendar] .boyce-cal-timeline-heading { color:#344861; background:#f2f6fc; }
[data-boyce-calendar] .boyce-cal-event { color:#214d7f; background:#e8f2ff; border-color:#cadff8; border-left-color:#387bc4; }
[data-boyce-calendar] .boyce-cal-event.is-cancelled { color:#7a8593; background:#f2f4f7; border-color:#dde3eb; }
[data-boyce-calendar] .boyce-cal-status { color:#214d7f; background:#eaf3ff; }
.boyce-auth-background { font-family:'DM Sans',Arial,sans-serif; background:#f4f7fc; }
.boyce-auth-background header { background:#171e28; }
.boyce-auth-background strong { font-family:Georgia,'Times New Roman',serif; }
#app:has(> .boyce-auth-background) .native-locked-panel { font-family:'DM Sans',Arial,sans-serif; }
#app:has(> .boyce-auth-background) .native-locked-panel h2 { font:600 24px/1.35 'DM Sans',Arial,sans-serif; }
#app:has(> .boyce-auth-background) .native-locked-panel button { background:#183d68; border-color:#183d68; }

/* The existing Chapter 7 questionnaire keeps its field and review controllers,
   while its staff directory sits inside the same firm application chrome. */
.boyce-workspace .native-questionnaire-workspace { padding:24px; background:#f1f4f8; font:14px/1.5 'DM Sans',Arial,sans-serif; }
.boyce-workspace .native-questionnaire-staff .intake-questionnaire-portal-rail { display:none; }
.boyce-workspace .native-questionnaire-staff .intake-questionnaire-main { padding:0; }
.boyce-workspace .native-questionnaire-workspace :is(h1,h2,h3,h4,button,input,select,textarea,label,p) { font-family:'DM Sans',Arial,sans-serif; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-header h1 { font-size:24px; font-weight:600; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-panel { width:100%; height:calc(100dvh - var(--boyce-header-height,86px) - 110px); min-height:520px; border-color:#dfe5ed; border-radius:6px; box-shadow:0 3px 10px #172a4710; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-directory { background:#fff; border-color:#c1cad6; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-panel__title { background:#f4f7fc; border-color:#c1cad6; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-tab { min-height:42px; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-tab span { font-size:13px; }
.boyce-workspace .native-questionnaire-workspace .intake-questionnaire-tab.is-active { color:#173f70; background:#eaf3ff; box-shadow:inset 3px 0 #245fa8; }
.boyce-workspace .native-questionnaire-workspace :is(.native-questionnaire-context,.native-questionnaire-review,.native-questionnaire-unavailable) { font-size:14px; }
.boyce-workspace .native-questionnaire-workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { min-height:42px; font-size:15px; }
.boyce-workspace .native-questionnaire-workspace :is(.intake-questionnaire-add-button,.client-intake-button.is-primary,[data-native-questionnaire-approve]) { color:#fff; background:#183d68; border-color:#183d68; }

@media(max-width:1350px) {
  .boyce-workspace-header { grid-template-columns:265px minmax(0,1fr) auto; gap:10px; padding-inline:20px; }
  .boyce-workspace-header__actor { display:none; }
}
@media(max-width:1050px) {
  .boyce-workspace-header { grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:14px 20px 10px; }
  .boyce-workspace-navigation { grid-column:1/-1; grid-row:2; }
  .boyce-workspace-header__account { grid-column:2; grid-row:1; }
  .boyce-workspace-header__actor { display:block; max-width:170px; }
  .boyce-firm-settings .business-profile-screen { grid-template-columns:190px minmax(0,1fr); gap:18px; }
}
@media(max-width:700px) {
  .boyce-workspace-header { grid-template-columns:minmax(0,1fr); padding:15px 16px 8px; gap:13px; }
  .boyce-workspace-header__wordmark { font-size:24px; }
  .boyce-workspace-header__subbrand { max-width:none; font-size:11px; }
  .boyce-workspace-header__account { grid-column:1; grid-row:2; justify-content:flex-start; gap:10px; }
  .boyce-workspace-header__actor { display:block; flex:1; font-size:11px; }
  .boyce-workspace-header__actor small { display:block; font-size:10px; }
  .boyce-workspace-navigation { grid-row:3; gap:3px; }
  .boyce-workspace-navigation > :is(a,span) { min-height:42px; padding-inline:10px; }
  .boyce-workspace-header .boyce-workspace-account-menu > div { left:auto; right:0; }
  .boyce-case-task-screen,.boyce-firm-settings,.boyce-staff-screen,[data-boyce-calendar] { padding:22px 16px; }
  .boyce-page-heading h1,.boyce-task-detail-heading h1,.boyce-firm-settings h1,.boyce-staff-screen h1,.boyce-workspace .boyce-section-heading h1,[data-boyce-calendar] .boyce-cal-heading h1 { font-size:24px; }
  .boyce-task-summary { gap:12px 20px; padding:15px; }
  .boyce-task-summary output { flex-basis:100%; }
  .boyce-local-tabs { flex-wrap:nowrap; overflow:auto; }
  .boyce-local-tabs button { flex-shrink:0; }
  .boyce-card { padding:20px 17px; }
  .boyce-firm-settings .business-profile-screen { display:block; }
  .boyce-firm-settings .boyce-settings-tabs { padding:8px; margin:20px 0; }
  .boyce-firm-settings .boyce-settings-tabs > [role=tablist] { flex-direction:row; overflow-x:auto; }
  .boyce-firm-settings .boyce-settings-tabs button { width:auto; flex:0 0 auto; }
  .boyce-firm-settings .business-profile-card__header { padding:18px 17px 0; }
  .boyce-firm-settings .business-profile-card__body { padding:18px 17px 22px; }
  .boyce-workspace .native-questionnaire-workspace { padding:16px; }
}
