/* Shared directory rhythm for the checked Boyce staff presentation. Named
   outer variants keep case forms, drawers and the client questionnaire intact. */
.boyce-workspace,
[data-boyce-client-theme].native-task-surface,
[data-boyce-client-theme]:has(>.native-gate4-client) {
  --boyce-outer-ink:#29333e;
  --boyce-outer-text:#404e5c;
  --boyce-outer-muted:#465569;
  --boyce-outer-line:#c1cad6;
  --boyce-outer-control:#7b8b9f;
  --boyce-outer-stripe:#f5f7fa;
  --boyce-outer-soft:#eaf3ff;
  --boyce-outer-navy:#183d68;
  --boyce-outer-blue:#245fa8;
  --boyce-outer-shadow:0 3px 10px #172a4710;
}
.boyce-workspace :is(.boyce-home,.boyce-people-screen,.boyce-staff-screen,.boyce-outer-table-screen):where(:not(dialog *)) { padding:24px 24px 36px; }
.boyce-workspace .boyce-outer-directory:where(:not(dialog *)) { min-width:0; border:0; border-radius:0; overflow:visible; background:transparent; box-shadow:none; }
.boyce-workspace .boyce-outer-directory-toolbar:where(:not(dialog *)) { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; margin:0 0 16px; padding:18px 20px; border:1px solid var(--boyce-outer-line); border-radius:7px; background:#fff; box-shadow:var(--boyce-outer-shadow); }
.boyce-workspace .boyce-outer-directory-toolbar :is(h1,h2):where(:not(dialog *,.boyce-visually-hidden)) { margin:0; color:var(--boyce-outer-ink); font:600 24px/1.3 'DM Sans',Arial,sans-serif; }
.boyce-workspace :is(.boyce-outer-directory-title,.boyce-outer-directory-tools):where(:not(dialog *)) { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; min-width:0; }
.boyce-workspace .boyce-outer-directory-tools:where(:not(dialog *)) { justify-content:flex-end; margin-left:auto; }
.boyce-workspace .boyce-outer-directory-toolbar form:where(:not(dialog *)) { flex:0 1 320px; min-width:min(100%,220px); max-width:360px; margin:0; }
.boyce-workspace .boyce-outer-directory-toolbar :is(input[type=search],select):where(:not(dialog *)) { box-sizing:border-box; width:100%; min-width:0; height:auto; min-height:40px; padding:9px 12px; border:1px solid var(--boyce-outer-control); border-radius:4px; color:var(--boyce-outer-text); background-color:#fff; font:400 14px/20px 'DM Sans',Arial,sans-serif; }
.boyce-workspace .boyce-outer-directory-toolbar :is(button,.boyce-action,summary):where(:not(dialog *,.boyce-field-help>summary)) { min-height:40px; padding:8px 13px; font-size:14px; line-height:22px; }
.boyce-workspace .boyce-outer-directory-card:where(:not(dialog *)) { min-width:0; margin:0; padding:0; border:1px solid var(--boyce-outer-line); border-radius:7px; background:#fff; box-shadow:var(--boyce-outer-shadow); overflow:hidden; }
.boyce-workspace .boyce-outer-directory-meta:where(:not(dialog *)) { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin:0 0 16px; padding:0; color:var(--boyce-outer-muted); font-size:14px; }
.boyce-workspace .boyce-outer-directory-meta :is(.boyce-task-summary,.boyce-task-filter,.boyce-local-tabs,.boyce-task-modes):where(:not(dialog *)) { margin:0; padding:0; gap:10px; }
.boyce-workspace .boyce-outer-directory-meta .boyce-task-summary:where(:not(dialog *)) { flex:1 1 100%; font-size:14px; }
.boyce-workspace .boyce-outer-directory-meta .boyce-task-summary strong:where(:not(dialog *)) { font-size:18px; font-weight:600; }
.boyce-workspace .boyce-outer-directory-meta .boyce-task-summary output:where(:not(dialog *)) { margin-left:0; }
.boyce-workspace .boyce-outer-directory-meta .boyce-local-tabs button:where(:not(dialog *)) { min-height:40px; padding:8px 12px; color:var(--boyce-outer-muted); font-size:14px; }
.boyce-workspace .boyce-outer-directory-meta .boyce-local-tabs button[aria-selected=true]:where(:not(dialog *)) { color:var(--boyce-outer-navy); border-bottom-color:var(--boyce-outer-blue); }
.boyce-workspace .boyce-outer-directory-meta .boyce-task-filter .boyce-field:where(:not(dialog *)) { display:flex; align-items:center; gap:10px; min-width:0; margin:0; font-size:14px; }
.boyce-workspace .boyce-outer-directory-meta .boyce-task-filter select:where(:not(dialog *)) { width:auto; max-width:100%; min-height:40px; padding:8px 12px; border-color:var(--boyce-outer-control); font-size:14px; line-height:22px; }
.boyce-workspace .boyce-outer-filter:where(:not(dialog *)) { position:relative; color:var(--boyce-outer-text); font-size:14px; }
.boyce-workspace .boyce-outer-directory-toolbar .boyce-outer-filter>summary:where(:not(dialog *)) { display:flex; align-items:center; justify-content:center; gap:9px; box-sizing:border-box; cursor:pointer; min-width:118px; padding-inline:16px; list-style:none; border:1px solid var(--boyce-outer-navy); border-radius:5px; background:var(--boyce-outer-navy); color:#fff; font-weight:600; white-space:nowrap; }
.boyce-workspace .boyce-outer-filter>summary:where(:not(dialog *))::-webkit-details-marker { display:none; }
.boyce-workspace .boyce-outer-filter>summary:where(:not(dialog *))::marker { content:""; }
.boyce-workspace .boyce-outer-directory-toolbar .boyce-outer-filter>summary:where(:not(dialog *)):hover { border-color:#122f50; background:#122f50; }
.boyce-workspace .boyce-outer-filter>summary:where(:not(dialog *)):focus-visible { outline:3px solid var(--boyce-outer-navy); outline-offset:3px; }
.boyce-workspace .boyce-outer-filter>summary>svg:where(:not(dialog *)) { display:block; flex:none; }
.boyce-workspace .boyce-outer-filter[open]>summary>.boyce-case-filter-chevron:where(:not(dialog *)) { transform:rotate(180deg); }
.boyce-workspace .boyce-outer-filter>.boyce-outer-filter-panel:where(:not(dialog *)) { position:absolute; z-index:20; top:calc(100% + 8px); right:0; display:grid; gap:16px; width:260px; max-width:calc(100vw - 64px); padding:16px; border:1px solid var(--boyce-outer-line); border-radius:6px; background:#fff; box-shadow:0 6px 20px #172a4720; }
.boyce-workspace .boyce-outer-filter:not([open])>.boyce-outer-filter-panel:where(:not(dialog *)) { display:none; }
.boyce-workspace .boyce-outer-filter-panel section:where(:not(dialog *)) { display:grid; gap:6px; }
.boyce-workspace .boyce-outer-filter-panel h2:where(:not(dialog *)) { font-size:16px; }
.boyce-workspace .boyce-outer-filter-panel button:where(:not(dialog *)) { text-align:left; }

/* Home keeps its title, search and View all above the table; People keeps
   column/view controls in the separate toolbar and every canonical column. */
.boyce-workspace .boyce-home-recent-toolbar:where(:not(dialog *)) { margin-bottom:10px; padding:0; border:0; background:transparent; box-shadow:none; }
.boyce-workspace .boyce-home-recent-toolbar h2:where(:not(dialog *)) { font-size:20px; }
.boyce-workspace .boyce-home-search:where(:not(dialog *)) { display:grid; gap:4px; width:260px; max-width:100%; margin:0; color:var(--boyce-outer-muted); font-size:12px; }
.boyce-workspace .boyce-home-search input:where(:not(dialog *)) { min-height:40px; border-color:var(--boyce-outer-control); }
.boyce-workspace .boyce-home-recent-toolbar a:where(:not(dialog *)) { min-height:40px; display:inline-flex; align-items:center; font-size:14px; font-weight:500; }
.boyce-workspace .boyce-people-directory-toolbar:where(:not(dialog *)) { display:block; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-toolbar:where(:not(dialog *)) { align-items:center; gap:16px 24px; margin:0 0 16px; }
.boyce-workspace .boyce-people-directory-title:where(:not(dialog *)) { flex:1 1 160px; }
.boyce-workspace .boyce-people-directory-title [data-contact-count]:where(:not(dialog *)) { display:block; margin-top:4px; color:var(--boyce-outer-muted); font-size:12px; }
.boyce-workspace .boyce-people-directory-toolbar form label:where(:not(dialog *)) { display:grid; gap:4px; color:var(--boyce-outer-muted); font-size:12px; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-controls:where(:not(dialog *)) { gap:8px; margin:0; }
.boyce-workspace .boyce-people-directory-toolbar [data-filter-chips]:where(:not(dialog *)):empty { display:none; }
.boyce-workspace .boyce-people-directory-toolbar [data-filter-chips]:where(:not(dialog *)):not(:empty) { margin-top:12px; }

/* Tables grow with their content and scroll locally. Header buttons own the
   full header cell without adding a second 44px row inside its padding. */
.boyce-workspace :is(.boyce-outer-directory-card .boyce-table-scroll,.boyce-people-table-scroll,.boyce-home-recent .boyce-home-table-wrap,.boyce-staff-directory .boyce-staff-table-scroll):where(:not(dialog *)) { width:100%; max-width:100%; min-width:0; overflow:auto; scrollbar-width:thin; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-home-recent table,.boyce-staff-directory .boyce-staff-table):where(:not(dialog *)) { width:100%; table-layout:auto; border-collapse:collapse; color:var(--boyce-outer-text); font:400 14px/1.5 'DM Sans',Arial,sans-serif; }
.boyce-workspace .boyce-outer-directory-card .boyce-record-table:where(:not(dialog *)) { min-width:850px; }
.boyce-workspace .boyce-home-recent table:where(:not(dialog *)) { min-width:620px; }
.boyce-workspace .boyce-people-screen .boyce-record-table:where(:not(dialog *)) { min-width:1180px; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-home-recent table,.boyce-staff-directory .boyce-staff-table) :is(th,td):where(:not(dialog *)) { padding:12px 16px; border:0; border-bottom:1px solid #e0e5ec; color:var(--boyce-outer-text); background:transparent; font:400 14px/1.5 'DM Sans',Arial,sans-serif; text-align:left; vertical-align:middle; white-space:normal; overflow-wrap:anywhere; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-home-recent table,.boyce-staff-directory .boyce-staff-table) thead th:where(:not(dialog *)) { padding:0 16px; color:var(--boyce-outer-ink); background:#fff; font-size:12px; font-weight:700; line-height:18px; letter-spacing:.025em; text-transform:uppercase; }
.boyce-workspace .boyce-home .boyce-home-recent table thead th:where(:not(dialog *)) { padding-block:12px; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-staff-directory .boyce-staff-table) thead button:where(:not(dialog *)) { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin:0; padding:10px 0; border:0; background:transparent; color:inherit; font:inherit; text-transform:inherit; letter-spacing:inherit; }
.boyce-workspace .boyce-outer-directory-card .boyce-record-table :is(th,td):first-child:where(:not(dialog *)) { width:auto; min-width:220px; padding-left:44px; }
.boyce-workspace .boyce-people-screen .boyce-record-table :is(th,td):first-child:where(:not(dialog *)) { width:44px; min-width:44px; padding:12px; text-align:center; }
.boyce-workspace .boyce-people-screen .boyce-record-table thead th:first-child>input:where(:not(dialog *)) { position:static; transform:none; }
.boyce-workspace .boyce-people-screen .boyce-record-table [data-column=name]:where(:not(dialog *)) { min-width:180px; }
.boyce-workspace .boyce-people-screen .boyce-record-table [data-column=email]:where(:not(dialog *)) { min-width:220px; }
.boyce-workspace .boyce-people-screen .boyce-record-table [data-column=dateCreated]:where(:not(dialog *)) { min-width:170px; }
.boyce-workspace .boyce-people-screen .boyce-record-table [data-column=channels]:where(:not(dialog *)) { min-width:180px; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-home-recent table,.boyce-staff-directory .boyce-staff-table) tbody tr:nth-child(even):where(:not(dialog *)) { background:var(--boyce-outer-stripe); }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-home-recent table,.boyce-staff-directory .boyce-staff-table) tbody tr:hover:where(:not(dialog *)) { background:var(--boyce-outer-soft); }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-table,.boyce-staff-directory .boyce-staff-table) tbody tr[aria-selected=true]:where(:not(dialog *)) { background:#dcecff; }
.boyce-workspace .boyce-people-screen .boyce-record-table tbody tr:hover td:where(:not(dialog *)) { background:transparent; }
.boyce-workspace :is(.boyce-home-recent table a,.boyce-people-screen .boyce-record-table a):where(:not(dialog *)) { color:var(--boyce-outer-blue); font-size:14px; font-weight:500; }
.boyce-workspace .boyce-home-recent :is(td small,.boyce-home-state):where(:not(dialog *)) { color:var(--boyce-outer-muted); font-size:12px; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-pages,.boyce-people-pagination,.boyce-home-recent footer,.boyce-staff-pagination):where(:not(dialog *)) { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:0; padding:14px 16px; color:var(--boyce-outer-muted); font-size:14px; line-height:1.5; }
.boyce-workspace :is(.boyce-outer-directory-card .boyce-record-pages,.boyce-people-pagination,.boyce-staff-pagination) :is(button,select):where(:not(dialog *)) { width:auto; min-height:40px; padding:8px 12px; font:400 14px/20px 'DM Sans',Arial,sans-serif; }

/* Staff uses the same readable directory density, without touching its
   notification table, profile drawers or access matrices. */
.boyce-workspace .boyce-staff-screen>.boyce-section-heading:where(:not(dialog *)) { align-items:center; }
.boyce-workspace .boyce-staff-screen>.boyce-section-heading h1:where(:not(dialog *)) { margin:0; }
.boyce-workspace .boyce-staff-screen>.boyce-staff-directory:where(:not(dialog *)) { border-color:var(--boyce-outer-line); border-radius:7px; box-shadow:var(--boyce-outer-shadow); }
.boyce-workspace .boyce-staff-directory :is(.boyce-staff-toolbar,.boyce-staff-search-row):where(:not(dialog *)) { gap:12px 16px; padding:14px 20px; }
.boyce-workspace .boyce-staff-directory :is(.boyce-staff-search-row input,.boyce-staff-search-row select,.boyce-staff-list-tabs button,.boyce-staff-list-manager>summary):where(:not(dialog *)) { min-height:40px; padding:8px 12px; font-size:14px; line-height:22px; }
.boyce-workspace .boyce-staff-directory .boyce-staff-search-row>[data-business-staff-search]:where(:not(dialog *)) { max-width:360px; }

/* Native single-selects retain the shared chevron's trailing gutter after
   compact control padding. Buttons keep their independent 12px side padding. */
.boyce-workspace :is(.boyce-outer-directory-toolbar,.boyce-outer-directory-meta .boyce-task-filter,.boyce-outer-directory-card .boyce-record-pages,.boyce-people-pagination,.boyce-staff-pagination,.boyce-staff-directory .boyce-staff-search-row) select:not([multiple]):where(:not(dialog *)) { min-width:88px; padding-inline-end:42px; }

/* People keeps its primary task and current view in reach. Secondary view
   actions and unused default predicates retain their native disclosure UI. */
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-controls:where(:not(dialog *)) { align-items:center; gap:10px; }
.boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-current-view]:empty:where(:not(dialog *)) { display:none; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-current-view:where(:not(dialog *)) { display:flex; align-items:center; margin:0; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-current-view select:where(:not(dialog *)) { width:220px; min-width:180px; max-width:100%; margin:0; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-switch:where(:not(dialog *)) { display:inline-flex; align-items:stretch; gap:0; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-switch button:where(:not(dialog *)) { min-width:66px; margin:0; border:1px solid var(--boyce-outer-control); border-radius:0; background:#fff; color:var(--boyce-outer-text); }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-switch button:first-child:where(:not(dialog *)) { border-radius:4px 0 0 4px; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-switch button+button:where(:not(dialog *)) { margin-left:-1px; border-radius:0 4px 4px 0; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-switch button[aria-pressed=true]:where(:not(dialog *)) { position:relative; border-color:var(--boyce-outer-navy); color:var(--boyce-outer-navy); background:var(--boyce-outer-soft); font-weight:600; }
.boyce-workspace .boyce-people-directory-toolbar :is(.boyce-people-view-menu,.boyce-people-filter-menu):where(:not(dialog *)) { position:relative; flex:none; margin:0; }
.boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-menu]>summary:where(:not(dialog *)) { display:flex; align-items:center; gap:10px; box-sizing:border-box; list-style:none; cursor:pointer; border:1px solid var(--boyce-outer-control); border-radius:4px; background:#fff; color:var(--boyce-outer-text); white-space:nowrap; }
.boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-menu]>summary:where(:not(dialog *))::-webkit-details-marker { display:none; }
.boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-menu]>summary:where(:not(dialog *))::after { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-menu][open]>summary:where(:not(dialog *))::after { transform:translateY(2px) rotate(225deg); }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-menu-panel:where(:not(dialog *)) { position:absolute; z-index:45; top:calc(100% + 8px); left:0; display:grid; gap:6px; box-sizing:border-box; width:260px; max-width:calc(100vw - 64px); padding:10px; border:1px solid var(--boyce-outer-line); border-radius:6px; background:#fff; box-shadow:0 6px 20px #172a4720; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-view-menu>.boyce-people-menu-panel:where(:not(dialog *)) { left:auto; right:0; }
.boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-menu]:not([open])>.boyce-people-menu-panel:where(:not(dialog *)) { display:none; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-menu-panel>button:where(:not(dialog *)) { width:100%; margin:0; text-align:left; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-filters[data-filter-chips]:where(:not(dialog *)) { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-active-filters:where(:not(dialog *)) { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-active-filters:empty:where(:not(dialog *)) { display:none; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-chip:where(:not(dialog *)) { display:flex; align-items:stretch; min-width:0; border:1px solid var(--boyce-outer-line); border-radius:4px; background:#f2f6fc; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-chip>button:where(:not(dialog *)) { min-width:0; border:0; border-radius:0; color:var(--boyce-outer-text); background:transparent; text-align:left; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-chip>button:first-child:where(:not(dialog *)) { flex:1; overflow-wrap:anywhere; }
.boyce-workspace .boyce-people-directory-toolbar .boyce-people-chip>button+button:where(:not(dialog *)) { flex:none; border-left:1px solid var(--boyce-outer-line); }

/* The two directory control rows share one height and native-select gutter;
   profile drawers and all other workspace controls retain their own sizing. */
.boyce-workspace :is(.boyce-people-directory-toolbar,.boyce-people-pagination,.boyce-staff-screen>.boyce-section-heading,.boyce-staff-directory) :is(button,summary,input[type=search],select):where(:not(dialog *,.boyce-field-help>summary,.boyce-staff-table *)) { box-sizing:border-box; min-height:40px; padding-block:8px; font-size:14px; line-height:22px; }
.boyce-workspace :is(.boyce-people-pagination,.boyce-staff-pagination) label:where(:not(dialog *)) { display:flex; align-items:center; gap:10px; margin:0; white-space:nowrap; }
.boyce-workspace .boyce-staff-directory .boyce-staff-role-filter:where(:not(dialog *)) { display:flex; flex:0 1 auto; align-items:center; gap:10px; min-width:0; margin:0; white-space:nowrap; }
.boyce-workspace .boyce-staff-directory .boyce-staff-role-filter>span:where(:not(dialog *)) { flex:none; white-space:nowrap; }
.boyce-workspace .boyce-staff-directory .boyce-staff-role-filter select:where(:not(dialog *)) { width:190px; min-width:170px; max-width:100%; }
.boyce-workspace :is(.boyce-people-directory-toolbar,.boyce-people-pagination,.boyce-staff-directory .boyce-staff-search-row,.boyce-staff-pagination) select:not([multiple]):where(:not(dialog *)) { appearance:none; -webkit-appearance:none; padding-inline-end:42px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23252844' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; background-size:16px 16px; }

/* List mode retains the real task title and progress/status values. The
   legacy generated title was visible alongside the now-readable real h4. */
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task-list { gap:0; border:1px solid var(--boyce-outer-line); border-radius:6px; overflow:hidden; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task { box-sizing:border-box; grid-template-columns:36px minmax(0,2fr) minmax(80px,1fr) minmax(100px,1fr); gap:10px 14px; min-height:58px; padding:10px 14px; border:0; border-bottom:1px solid #e0e5ec; border-radius:0; color:var(--boyce-outer-text); background:#fff; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task:nth-child(even) { background:var(--boyce-outer-stripe); }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task:is(:hover,:focus-visible) { background:var(--boyce-outer-soft); }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task h4 { min-width:0; margin:0; color:var(--boyce-outer-ink); font-size:14px; line-height:1.5; font-weight:500; overflow:visible; white-space:normal; text-overflow:clip; overflow-wrap:anywhere; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task h4::after { content:none; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task h4 br { display:initial; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__tile { width:32px; height:32px; margin:0; border:0; background:transparent; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__icon { width:20px; height:20px; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__list-progress { grid-column:3; grid-row:1; min-width:0; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__list-status { grid-column:4; grid-row:1; color:var(--boyce-outer-muted); font-size:14px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
[data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__review-state { grid-column:2/-1; color:var(--boyce-outer-muted); font-size:13px; line-height:1.5; }

/* One switch remains the sole interactive control. Suppress its two old
   decorative squares/X and draw a single track/thumb from aria-checked. */
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch { position:relative; display:block; flex:0 0 48px; width:48px; min-width:48px; height:44px; min-height:44px; margin:0; padding:0; overflow:visible; border:0; border-radius:4px; background:transparent; box-shadow:none; }
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch>span { display:none; }
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch::before { content:""; position:absolute; inset:10px 0; border:1px solid var(--boyce-outer-control); border-radius:14px; background:#e2e8ef; }
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch::after { content:""; position:absolute; top:13px; left:3px; width:18px; height:18px; border-radius:50%; background:var(--boyce-outer-navy); }
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch[aria-checked=true]::before { border-color:var(--boyce-outer-navy); background:var(--boyce-outer-navy); }
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch[aria-checked=true]::after { left:27px; background:#fff; }
[data-boyce-client-theme].native-task-surface .client-portal-hide-completed .contact-list-switch:focus-visible { outline:3px solid var(--boyce-outer-blue); outline-offset:2px; }

/* Only embedded client calendar type changes: saved slot sizes, event
   positioning, sticky hours and local scrolling remain the calendar's own. */
[data-boyce-client-theme].native-task-surface .client-portal-calendar-grid :is(.business-calendars-week-table,.business-calendars-day-table,.business-calendars-month-table),
[data-boyce-client-theme]>.native-gate4-client .client-portal-calendar-grid :is(.business-calendars-week-table,.business-calendars-day-table,.business-calendars-month-table) { color:var(--boyce-outer-text); font-family:'DM Sans',Arial,sans-serif; font-size:14px; }
[data-boyce-client-theme].native-task-surface .client-portal-calendar-grid :is(.business-calendars-week-table,.business-calendars-day-table,.business-calendars-month-table) thead th,
[data-boyce-client-theme]>.native-gate4-client .client-portal-calendar-grid :is(.business-calendars-week-table,.business-calendars-day-table,.business-calendars-month-table) thead th { color:var(--boyce-outer-ink); font-size:12px; font-weight:600; }
[data-boyce-client-theme].native-task-surface .client-portal-calendar-grid :is(.business-calendars-week-table__date,.business-calendars-week-table__time,.business-calendars-day-table__time),
[data-boyce-client-theme]>.native-gate4-client .client-portal-calendar-grid :is(.business-calendars-week-table__date,.business-calendars-week-table__time,.business-calendars-day-table__time) { color:var(--boyce-outer-muted); font-size:12px; }
[data-boyce-client-theme].native-task-surface .client-portal-calendar-grid .business-calendars-month-table td>time,
[data-boyce-client-theme]>.native-gate4-client .client-portal-calendar-grid .business-calendars-month-table td>time { color:var(--boyce-outer-text); font-size:14px; }

/* Staff can outgrow the fixed workspace at any viewport height. Its exact
   page host owns vertical scrolling; the table keeps a separate X viewport. */
.boyce-workspace > .pragtical-app[data-boyce-screen=staff] > #main-content.boyce-view-host:has(> .boyce-staff-host > .boyce-staff-screen):where(:not(dialog *)) { overflow-y:auto; overflow-x:hidden; }

@media(max-width:700px) {
  .boyce-workspace :is(.boyce-people-directory-toolbar,.boyce-people-pagination,.boyce-staff-screen>.boyce-section-heading,.boyce-staff-directory) :is(button,summary,input[type=search],select):where(:not(dialog *,.boyce-field-help>summary,.boyce-staff-table *)) { min-height:44px; }
  .boyce-workspace .boyce-people-directory-toolbar [data-boyce-people-current-view]:where(:not(dialog *)) { flex:1 1 100%; }
  .boyce-workspace .boyce-people-directory-toolbar .boyce-people-current-view:where(:not(dialog *)) { width:100%; }
  .boyce-workspace .boyce-people-directory-toolbar .boyce-people-current-view select:where(:not(dialog *)) { width:100%; }
  .boyce-workspace .boyce-staff-directory .boyce-staff-role-filter:where(:not(dialog *)) { flex:1 1 100%; }
  .boyce-workspace .boyce-staff-directory .boyce-staff-role-filter select:where(:not(dialog *)) { flex:1; min-width:0; width:auto; }
  .boyce-workspace :is(.boyce-home,.boyce-people-screen,.boyce-staff-screen,.boyce-outer-table-screen):where(:not(dialog *)) { padding:20px 16px 32px; }
  .boyce-workspace .boyce-outer-directory-toolbar:where(:not(dialog *)) { gap:14px; padding:16px; }
  .boyce-workspace .boyce-home-recent-toolbar:where(:not(dialog *)) { padding:0; }
  .boyce-workspace .boyce-outer-directory-tools:where(:not(dialog *)) { justify-content:flex-start; width:100%; margin-left:0; }
  .boyce-workspace .boyce-outer-directory-toolbar form:where(:not(dialog *)) { flex:1 1 220px; max-width:none; }
  .boyce-workspace .boyce-outer-directory-toolbar :is(button,.boyce-action,summary,input[type=search],select):where(:not(dialog *,.boyce-field-help>summary)) { min-height:44px; }
  .boyce-workspace .boyce-people-directory-toolbar .boyce-people-toolbar:where(:not(dialog *)) { align-items:flex-start; }
  .boyce-workspace .boyce-home-search:where(:not(dialog *)) { width:100%; }
  .boyce-workspace .boyce-outer-filter>.boyce-outer-filter-panel:where(:not(dialog *)) { right:auto; left:0; }
  /* Week cells already have zero padding. Tighten only their abbreviations
     enough to fit the saved seven-day grid without resizing slots or type. */
  [data-boyce-client-theme].native-task-surface .client-portal-calendar-grid .business-calendars-week-table thead th abbr,
  [data-boyce-client-theme]>.native-gate4-client .client-portal-calendar-grid .business-calendars-week-table thead th abbr { letter-spacing:-.45px; }
  [data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task { grid-template-columns:32px minmax(0,1fr); gap:6px 12px; padding:12px; }
  [data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__tile { grid-column:1; grid-row:1/3; }
  [data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task h4 { grid-column:2; grid-row:1; }
  [data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__list-status { grid-column:2; grid-row:2; text-align:left; }
  [data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__list-progress { grid-column:2; grid-row:3; }
  [data-boyce-client-theme].native-task-surface .client-portal-tasks-body[data-client-portal-task-view=list] .client-portal-task__review-state { grid-column:2; grid-row:4; }
}
