/* Release A (Nick, 29 Oct): back to the original restrained palette. This sheet loads last.
   Tokens come from the v13 reference (forest, sage, cream, white, ink, border); #536559 is the accessible secondary text.
   Service colours (Cover, Referrals, Consult) appear only on small icons and controls. Search keeps a quiet blue. */
:root{
  --forest:#203b32; --forest-dark:#142b23; --sage:#e9efea; --cream:#f7f6f1; --paper:#ffffff;
  --ink:#26352e; --line:#e5e9e3; --muted:#536559;
  --svc-cover:#2c6852; --svc-referrals:#925716; --svc-consult:#794b70; --svc-search:#3d6489;
  --r-control:8px; --r-card:12px;
  --dir-out:#4f6985; --dir-out-pale:#eef2f6;
  --dir-in:#7d6a48; --dir-in-pale:#f6f2e9;
  --st-reply:#a8730a; --st-reply-pale:#fbf4de;
  --st-ready:#2f7a52; --st-ready-pale:#e8f2ec;
  --st-done:#8b958d; --st-done-pale:#f1f3ef;
  --calm-ground:#f7f6f1; --calm-line:#e5e9e3; --calm-line-soft:#edf0eb; --calm-soft:#f1f4f0; --calm-ink:#26352e; --calm-sub:#536559;
  --bold-line:#e5e9e3; --muted:#536559;
}
.feature-cover,.modal-feature-cover{--feature:#2c6852;--feature-pale:#eaf2ee;--feature-page:var(--cream)}
.feature-referrals,.modal-feature-referrals{--feature:#925716;--feature-pale:#f6eee3;--feature-page:var(--cream)}
.feature-consult,.modal-feature-consult{--feature:#794b70;--feature-pale:#f3ebf1;--feature-page:var(--cream)}
.feature-network,.modal-feature-network{--feature:#3d6489;--feature-pale:#ebf1f6;--feature-page:var(--cream)}
.feature-home,.feature-messages,.feature-library,.modal-feature-home,.modal-feature-library{--feature:#203b32;--feature-pale:#e9efea;--feature-page:var(--cream)}
body,.workspace,.workspace.feature-cover,.workspace.feature-referrals,.workspace.feature-consult,.workspace.feature-network,.workspace.feature-home,.workspace.feature-library,.workspace.feature-messages{background:var(--cream)}
.sidebar,.topbar{background:#fff}
.workspace{color:var(--ink)}
[hidden]{display:none!important}

/* Shared controls: 8px control radius, 12px card radius, forest primary action */
.workspace .button,.workspace .field input,.workspace .field select,.workspace .field textarea,.workspace .search-field{border-radius:var(--r-control)}
.workspace .panel,.workspace .modal{border-radius:var(--r-card)}
.workspace .panel{border-color:var(--line);box-shadow:none}
.workspace .button.primary{background:var(--forest);border-color:var(--forest);color:#fff}
.workspace .button.primary:hover{background:var(--forest-dark);border-color:var(--forest-dark)}
.workspace .button.secondary{background:#fff;border:1px solid #cfd8d1;color:var(--forest)}
.workspace .button.secondary:hover{background:var(--sage)}
.workspace .button.text{color:var(--forest)}
.workspace :focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.workspace .text-link{color:var(--forest)}

/* ---------- The Hub ---------- */
.hub-page{max-width:1040px;margin:0 auto;padding-top:24px}
.hub-page .hub-hello{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hub-page .welcome-slim{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:0 0 16px;border-radius:var(--r-card);background:var(--sage);border:1px solid var(--line);color:var(--ink)}
.hub-page .welcome-slim p{margin:0;font-size:14px;flex:1}
.hub-page .welcome-slim .welcome-seal{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--forest);color:#fff;flex:none}
.hub-page .welcome-slim .welcome-seal svg{width:15px;height:15px}
.hub-page .welcome-actions{display:flex;gap:8px;flex:none}

.hub-attention{margin:0 0 16px}
.hub-attn-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.hub-attn-toggle:hover{border-color:#c9d3cc}
.hub-attn-main{font-size:17px;font-weight:600;color:var(--ink)}
.hub-attn-main strong{font-weight:700;color:var(--forest)}
.hub-attn-note{margin-left:auto;font-size:14px;color:var(--muted)}
.hub-attn-chev{display:grid;place-items:center;flex:none;color:var(--muted)}
.hub-attn-note+.hub-attn-chev{margin-left:0}
.hub-attn-toggle .hub-attn-main+.hub-attn-chev{margin-left:auto}
.hub-attn-chev svg{width:20px;height:20px}
.hub-attn-clear{margin:0;padding:14px 16px;font-size:15px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
.hub-attn-panel{margin-top:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:4px 16px 12px}
.hub-group h2{display:flex;align-items:center;gap:8px;margin:14px 0 4px;font-size:15px;font-weight:650;letter-spacing:0;color:var(--ink)}
.hub-group h2 span{font-size:12px;font-weight:600;line-height:1;padding:3px 8px;border-radius:999px;background:var(--sage);color:var(--muted)}
.hub-group-note{margin:0 0 4px;font-size:13px;color:var(--muted)}
.hub-group ul{list-style:none;margin:0;padding:0}
.hub-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.hub-group ul>.hub-row:first-child{border-top:0}
.hub-row-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:var(--r-control);background:var(--feature-pale);color:var(--feature)}
.hub-row-icon svg{width:19px;height:19px}
.hub-row-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.hub-row-text strong{font-size:15px;font-weight:600;line-height:1.35;color:var(--ink)}
.hub-row-text span{font-size:13.5px;line-height:1.4;color:var(--muted)}
.hub-row-text .hub-row-due{font-weight:600;color:#7a5200}
.hub-row-actions{display:flex;align-items:center;gap:12px;flex:none}
.hub-row-actions .button{min-height:36px;font-size:13px}
.hub-row-actions .text-link{font-size:13.5px;background:none;border:0;padding:6px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.hub-group-foot{display:flex;flex-wrap:wrap;gap:16px;padding-top:6px}
.hub-group-foot .text-link,.hub-collapse{font-size:13.5px;background:none;border:0;padding:6px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.hub-collapse{display:block;margin:8px 0 0 auto}
.hub-group-aside .hub-row{opacity:.92}

.hub-setup{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 16px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);font-size:14px;color:var(--ink)}
.hub-setup.is-stale{background:#fdf8ea;border-color:#d9c48a}
.hub-setup-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hub-setup-text{flex:1 1 240px;min-width:0}
.hub-setup-actions{display:flex;gap:8px;flex:none}
.hub-setup-actions .button{min-height:36px;font-size:13px}

.hub-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 12px}
.hub-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:164px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);font:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.hub-card:hover{border-color:color-mix(in srgb,var(--feature) 50%,var(--line));box-shadow:0 4px 14px #203b3210}
.hub-card-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:var(--feature-pale);color:var(--feature)}
.hub-card-icon svg{width:22px;height:22px}
.hub-card-words{display:flex;flex-direction:column;gap:4px;min-width:0}
.hub-card-words strong{font-size:19px;font-weight:650;letter-spacing:-.1px;line-height:1.25;color:var(--ink)}
.hub-card-words small{font-size:14px;line-height:1.45;color:var(--muted)}
.hub-card-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:14px;font-weight:600;color:var(--feature)}
.hub-card-go svg{width:16px;height:16px}
.hub-invite-line{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:8px 2px 4px;font-size:14px;color:var(--muted)}
.hub-invite-line .button{min-height:36px;font-size:13px}

/* A quiet dot, never a number, when new questions match the member's specialisms */
.nav-dot{margin-left:auto;flex:none;width:8px;height:8px;border-radius:50%;background:var(--svc-consult)}
.mobile-nav .mobile-dot{position:absolute;top:5px;left:calc(50% + 8px);width:8px;height:8px;border-radius:50%;background:var(--svc-consult);border:1px solid #fff}

/* ---------- Cover and Referrals lists ---------- */
.workspace .toolbar .filter-pills button{font-size:14px;padding:8px 16px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:550;border-radius:999px}
.workspace .toolbar .filter-pills button.active{background:var(--forest);border-color:var(--forest);color:#fff}
.workspace .layout-toggle button{font-size:13px;padding:7px 14px}
.split-lists .panel{overflow:hidden;padding:0}
.direction-outgoing{--dir:var(--dir-out);--dir-pale:var(--dir-out-pale)}
.direction-incoming{--dir:var(--dir-in);--dir-pale:var(--dir-in-pale)}
.panel[class*="direction-"]{background:#fff;border:1px solid var(--line);box-shadow:none}
.panel[class*="direction-"] .list-section-header{background:var(--calm-soft);border:0;border-bottom:1px solid var(--line);padding:16px 20px;gap:14px}
.panel[class*="direction-"] .list-section-header h2{color:var(--ink);font-size:19px;line-height:1.25;letter-spacing:-.1px}
.panel[class*="direction-"] .list-section-header p{color:var(--muted);font-size:14px;line-height:1.45;margin-top:4px}
.panel[class*="direction-"] .list-section-header .direction-caption{display:block;color:var(--dir);font-size:12px;letter-spacing:1.2px;font-weight:700;margin-bottom:4px}
.panel[class*="direction-"] .list-section-header .action-icon{background:var(--dir-pale);color:var(--dir)}
.panel[class*="direction-"] .list-section-header .label{background:#fff;color:var(--ink);border:1px solid var(--line);font-size:13px;font-weight:600;padding:4px 11px}
.panel[class*="direction-"] .list-section-body{background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px}
.panel[class*="direction-"] .no-results{padding:20px;font-size:15px;color:var(--muted);text-align:center}

.arrangement-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-card);background:#fff;border:1px solid var(--line);border-left:4px solid var(--dir,var(--forest));cursor:pointer;transition:box-shadow .15s}
.arrangement-row:hover{box-shadow:0 3px 12px #203b3212}
.arrangement-row .plan-date{display:grid;place-items:center;flex:none;width:52px;height:56px;border-radius:10px;background:var(--dir-pale,var(--sage));color:var(--dir,var(--forest))}
.arrangement-row .plan-date small{font-size:12px;font-weight:700;letter-spacing:.8px;color:var(--dir,var(--forest))!important}
.arrangement-row .plan-date b{font-size:22px;line-height:1;color:var(--dir,var(--forest))!important}
.arrangement-row .step-symbol{flex:none;width:44px;height:44px;border-radius:10px;background:var(--dir-pale,var(--sage));color:var(--dir,var(--forest))}
.arrangement-main strong{font-size:16px}
.arrangement-main strong .text-link{font-size:16px;font-weight:650;color:var(--ink);text-decoration:none}
.arrangement-main>small{font-size:14px;color:var(--muted)!important;line-height:1.5}
.arrangement-next{font-size:14px!important;color:var(--ink)!important;line-height:1.5!important}
.arrangement-next.needs-action{color:#6b4600!important;font-weight:550}
.arrangement-next svg{width:16px;height:16px}
.arrangement-side{max-width:none}
.arrangement-side .label{max-width:none;font-size:13px;padding:5px 12px;font-weight:650;white-space:nowrap;border-radius:999px;background:var(--calm-soft);color:var(--ink);border:1px solid var(--line)}
.arrangement-side .label.gold{background:var(--st-reply-pale);color:#6b4600;border-color:#e4d08e}
.arrangement-side .label.gray{background:var(--st-done-pale);color:#4a554d}
.arrangement-row.row-reply{border-left-color:var(--st-reply)}
.arrangement-row.row-ready{border-left-color:var(--st-ready)}
.arrangement-row.row-ready .arrangement-side .label{background:var(--st-ready-pale);color:#1d5a3a;border-color:#bfdccb}
.arrangement-row.row-done{border-left-color:var(--st-done);background:#fafbf9}
.arrangement-row.row-done .plan-date,.arrangement-row.row-done .step-symbol{background:#e9ece8;color:#58625b}
.arrangement-row.row-done .plan-date small,.arrangement-row.row-done .plan-date b{color:#58625b!important}
.arrangement-row.row-done .arrangement-main strong .text-link{color:#4a554d;font-weight:550}
.arrangement-row .icon-button{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--line);flex:none}
.draft-banner{background:var(--calm-soft);border:1px dashed #b9c5bd;border-radius:var(--r-card)}
.draft-banner strong{font-size:15px}.draft-banner small{font-size:13px}

/* calendar */
.calendar-key{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 6px}
.calendar-key span,.cal-chip{font-size:13px}
.calendar-key .calendar-key-own,.calendar-key .calendar-key-peer{padding:5px 12px;border-radius:999px;font-weight:650}
.month-day{min-height:112px;align-items:stretch;vertical-align:top}
.month-day b{font-size:15px}
.month-day .month-day-counts{display:flex;flex-direction:column;gap:3px;margin-top:4px;min-width:0}
.month-day .cal-chip{display:block;overflow:hidden;padding:3px 7px;border-radius:6px;font-size:12px;line-height:1.3;font-weight:650;text-align:left;min-width:0}
.month-day .cal-chip b,.month-day .cal-chip span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:inherit}
.month-day .cal-chip b{font-weight:750}
.month-day .cal-more{font-size:12px;font-weight:700;color:var(--muted);text-align:left}

/* ---------- Network ---------- */
.relationship-group{border:1px solid var(--line);padding:0!important;overflow:hidden}
.relationship-group .net-empty{padding:12px 18px;font-size:14px}
.relationship-group>header{margin:0 0 4px;padding:14px 18px;border-radius:0;background:var(--calm-soft);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.relationship-group>header h2{color:var(--ink);font-size:17px}
.relationship-group.net-trusted>header{box-shadow:inset 4px 0 0 var(--relation-trusted)}
.relationship-group.net-worked>header{box-shadow:inset 4px 0 0 var(--relation-worked)}
.relationship-group.net-suggested>header{box-shadow:inset 4px 0 0 var(--relation-suggested)}
.relationship-group>header .label{background:#fff;color:var(--ink);font-weight:650;border:1px solid var(--line)}
.net-caption{margin:0 18px 6px;font-size:13px;color:var(--muted)}
.net-row{align-items:flex-start;gap:12px;padding:12px 18px}
.net-row strong button{font-size:16px;font-weight:650}
.net-row small{font-size:13.5px;line-height:1.45}
.net-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px}
.net-actions .button{margin:0;font-size:13px;height:36px;min-height:36px;box-sizing:border-box;padding:0 14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2}
.net-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 12px 14px;font-size:14px;color:var(--muted)}
.net-pager button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}
.net-pager button:disabled{opacity:.35;cursor:default}

/* ---------- Consult ---------- */
.consult-grid .panel .topic-bar{margin:12px 22px 8px}
.topic-bar button{font-size:13px;padding:7px 14px;border-color:var(--line)}
.topic-bar button.active{background:var(--feature);border-color:var(--feature);color:#fff}
.reply header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.reply header .row-menu{margin-left:auto;position:relative}
.row-menu summary{list-style:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--muted)}
.row-menu summary::-webkit-details-marker{display:none}
.row-menu summary:hover,.row-menu[open] summary{background:var(--sage)}
.row-menu summary svg{width:18px;height:18px}
.row-menu-pop{position:absolute;right:0;top:36px;z-index:20;min-width:170px;padding:6px;border-radius:10px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px #203b3220}
.row-menu-pop button{text-decoration:none;display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:none;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
.row-menu-pop button:hover{background:#f6ecec;color:#8a2a2a}
.row-menu-pop button svg{width:16px;height:16px}
.useful-button{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 13px;border-radius:999px;border:1px solid var(--feature);background:#fff;color:var(--feature);font-size:13.5px;font-weight:650;cursor:pointer;transition:background .15s}
.useful-button svg{width:16px;height:16px}
.useful-button:hover{background:var(--feature-pale)}
.useful-button.active{background:var(--feature);color:#fff}
.useful-button.active svg{fill:#fff}
#peer-form .field+.field,.modal .field+.field{margin-top:18px}
#peer-form .field label{display:block;margin-bottom:7px;font-weight:600}
#peer-form .outreach-options{margin-top:24px}
.discussion-row h3,.discussion-row h3 .text-link{font-size:16px;line-height:1.4}
.discussion-byline,.discussion-replies{font-size:13px}
.discussion-footer .label{font-size:12px}

/* ---------- Choosing colleagues (Cover and Referrals) ---------- */
.match-card{padding:16px 18px;gap:12px}
.match-card .match-reasons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.match-card .match-card-top{display:flex;align-items:flex-start;gap:14px}
.match-card .match-card-top .match-card-select{flex:1;min-width:0;align-items:center}
.match-card .match-profile-link{flex:none;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px;color:var(--forest);padding:6px 0;text-decoration:none;min-height:32px}
.match-card .match-profile-link:hover{text-decoration:underline}
.match-card .match-profile-link svg{width:14px;height:14px}
.match-card .match-card-footer{margin:0;padding:0;min-height:0}
.match-card .match-card-select .relationship-label{margin-left:auto;align-self:center;white-space:nowrap}

/* ---------- Library, profile, Messages back ---------- */
.resource-card .pdf-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;background:var(--sage);color:var(--forest);font-weight:700;font-size:12px}
.resource-card .resource-actions{flex-wrap:wrap}
.resource-card .resource-dl{font-size:13px;min-height:34px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px}
.pf-hero.is-own{background:var(--sage);border-color:var(--line)}
.chat-header.has-origin .chat-origin{flex:none;white-space:nowrap}
.chat-header .chat-origin{font-size:13px;min-height:34px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px}

/* ---------- Secondary text on the cream ground ---------- */
.workspace footer,.workspace footer span,.workspace footer a{color:var(--muted)}
.view-tabs button:not(.active):not([aria-selected="true"]){color:var(--muted)}
.results-meta,.footer-note,.modal .footer-note,.modal-footer .footer-note{color:var(--muted)!important}
.modal-header p{color:var(--muted)}
.workflow-step:not(.active):not(.current){color:var(--muted)}
.selected small,.recipient-summary small,.recipient-summary .person-link,.selected .person-link{color:var(--muted)}
.tracking-client .request-line small,.review-totals span,.pagination small,.inline-note{color:var(--muted)}
.empty-state h3{color:var(--ink)}
.empty-state p{color:var(--muted)}
.field input::placeholder,.field textarea::placeholder,.search-field input::placeholder{color:#5f6e64;opacity:1}

/* ---------- Search (top bar and overlay) ---------- */
.mobile-search{display:none}
.search-scopes{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 10px}
.search-scopes button{min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:550;cursor:pointer}
.search-scopes button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.top-search{border-radius:var(--r-control)}

/* ---------- Tablet ---------- */
@media(max-width:1000px) and (min-width:761px){
  .hub-cards{gap:12px}
  .hub-card{padding:16px;min-height:150px}
  .hub-card-words strong{font-size:17px}
}

/* ---------- Phones: 15px body, 16px entry, 44px targets ---------- */
@media(max-width:760px){
  .hub-page{padding-top:14px}
  .hub-page .hub-hello{position:static;width:auto;height:auto;margin:0 0 12px;overflow:visible;clip:auto;white-space:normal;display:block;font-size:24px;letter-spacing:-.3px;color:var(--forest)}
  .hub-attn-toggle{min-height:52px;padding:10px 14px;flex-wrap:wrap;row-gap:2px}
  .hub-attn-note{flex:1 0 100%;margin-left:0;order:3;font-size:14px}
  .hub-attn-main{flex:1}
  .hub-row{flex-wrap:wrap;row-gap:8px}
  .hub-row-text{flex:1 1 calc(100% - 52px)}
  .hub-row-actions{flex:1 0 100%;padding-left:48px;justify-content:space-between}
  .hub-row-actions .button{min-height:44px;font-size:14px}
  .hub-row-actions .text-link,.hub-group-foot .text-link,.hub-collapse{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
  .hub-setup-actions{flex:1 0 100%}
  .hub-setup-actions .button{min-height:44px;font-size:14px;flex:1}
  .hub-cards{grid-template-columns:1fr;gap:10px;margin-bottom:8px}
  .hub-card{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:6px;align-items:start;min-height:0;padding:14px 16px}
  .hub-card-icon{grid-row:1/span 2}
  .hub-card-go{margin-top:0}
  .hub-card-words strong{font-size:17px}
  .hub-invite-line .button{min-height:44px;font-size:14px}
  .workspace{font-size:15px}
  .workspace .button{min-height:44px;font-size:14px}
  .workspace .field input,.workspace .field select,.workspace .field textarea,.workspace .search-field input,.workspace input[type=text],.workspace input[type=search],.workspace input[type=email],.workspace input[type=tel],.workspace input[type=date],.workspace input[type=url],.workspace input[type=number],.workspace select,.workspace textarea{font-size:16px}
  .arrangement-row{flex-wrap:wrap;row-gap:10px}
  .arrangement-main{flex:1 1 150px}
  .arrangement-side{flex:1 0 100%;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}
  .arrangement-main strong,.arrangement-main strong .text-link{font-size:16px}
  .month-day{min-height:62px}
  .month-day .cal-chip{font-size:10px;padding:2px 4px}
  .panel[class*="direction-"] .list-section-header h2{font-size:18px}
  .mobile-search{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;margin-right:6px;border:1px solid var(--line);border-radius:var(--r-control);background:#fff;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
  .mobile-search svg{width:18px;height:18px}
  .search-scopes button{min-height:44px}
  .mobile-nav button{font-size:11px;gap:3px;min-height:48px;min-width:0;flex:1;padding:6px 2px}
  .mobile-nav button svg{height:21px;width:21px}
}

@media(max-width:430px){
  .topbar{padding:0 10px 0 12px}
  .mobile-brand>button{padding:0 4px;min-width:0}
  .mobile-brand img{width:112px;height:28px}
  .top-actions{flex:none}
  .mobile-search{padding:0 10px;margin-right:2px}
}

@media(max-width:380px){
  .topbar{padding:0 8px 0 10px}
  .mobile-brand{gap:0;min-width:0;flex:0 1 auto}
  .mobile-brand .mobile-menu{width:40px}
  .mobile-brand>button{padding:0 4px;min-width:0}
  .mobile-brand img{width:100px;height:26px}
  .top-actions{gap:0;flex:none}
  .mobile-search{padding:0 8px;margin-right:0;gap:4px}
  .top-actions .icon-button{width:40px}
}

/* Saving made visible (F02) */
.save-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid #e1c9c4;background:#f9ece9;color:#7d3329;border-radius:var(--r-control);font-size:14px}
.save-banner[hidden]{display:none}
.save-banner svg{width:18px;height:18px;flex:none}
.save-banner span{flex:1 1 200px}
.save-note[data-state="failed"]{color:#8a3428;font-weight:600}
.save-note .text-link{font-size:inherit;margin-left:4px}

/* >>> phone floor (generated by scripts/phone-floor.mjs; do not edit by hand) */
@media(max-width:760px){
.account-page .stat .label{font-size:12px}
.account-page .tag{font-size:12px}
.advanced-filters summary{font-size:12px}
.advanced-filters summary span{font-size:12px}
.advanced-filters>.check-line{font-size:12px}
.arrangement-main small{font-size:12px}
.arrangement-main>strong{font-size:12px}
.attachment-link{font-size:12px}
.attention-row p{font-size:12px}
.attention-type{font-size:12px}
.audience-tile b{font-size:12px}
.audience-tile small{font-size:12px}
.av-status{font-size:12px}
.availability-consult p{font-size:12px}
.availability-meta{font-size:12px}
.availability-modal-top p{font-size:12px}
.availability-number span{font-size:12px}
.availability-state-list span{font-size:12px}
.availability-tags span{font-size:12px}
.away-strip small{font-size:12px}
.away-strip strong{font-size:12px}
.bubble-author{font-size:12px}
.bulk-client small{font-size:12px}
.bulk-colleague small{font-size:12px}
.button.small{font-size:12px}
.calendar-agenda .arrangement-side .label{font-size:12px}
.calendar-agenda .list-section-header p{font-size:12px}
.calendar-controls .button{font-size:12px}
.calendar-day-number{font-size:12px}
.calendar-event{font-size:12px}
.calendar-event small{font-size:12px}
.calendar-event span{font-size:12px}
.calendar-help{font-size:12px}
.calendar-key>span{font-size:12px}
.calendar-legend{font-size:12px}
.calendar-month-summary>span{font-size:12px}
.calendar-scope button{font-size:12px}
.calendar-weekday{font-size:12px}
.capacity-adjuster small{font-size:12px}
.chat-composer .privacy-line{font-size:12px}
.chat-header small{font-size:12px}
.chip-quiet{font-size:12px}
.chip-status{font-size:12px}
.circle-legend button>span:not(.tier-dot){font-size:12px}
.circle-legend small{font-size:12px}
.circle-legend.compact button>span:not(.tier-dot){font-size:12px}
.client-assignment small{font-size:12px}
.client-assignment-actions .button{font-size:12px}
.client-entry>.eyebrow{font-size:12px}
.client-index{font-size:12px}
.client-list-heading .button{font-size:12px}
.client-list-heading p{font-size:12px}
.client-match-tabs b{font-size:12px}
.client-match-tabs small{font-size:12px}
.client-match-tabs span{font-size:12px}
.client-save-actions .button{font-size:12px}
.client-save-actions>span{font-size:12px}
.client-table-head{font-size:12px}
.closed-banner p{font-size:12px}
.closing-note{font-size:12px}
.colleague-client-row .label{font-size:12px}
.colleague-client-row small{font-size:12px}
.colleague-client-row strong{font-size:12px}
.colleague-row small{font-size:12px}
.compact .circle-self{font-size:12px}
.compact-viewport .workflow-step.active{font-size:12px}
.confirmed-line{font-size:12px}
.context-strip{font-size:12px}
.context-strip .label{font-size:12px}
.context-strip button{font-size:12px}
.conversation-switch label{font-size:12px}
.count-label{font-size:12px}
.date-rule{font-size:12px}
.delivery-state{font-size:12px}
.demo-note{font-size:12px}
.detail-grid dt{font-size:12px}
.direction-caption{font-size:12px}
.directory-filter-footer .button{font-size:12px}
.directory-filter-footer .text-link{font-size:12px}
.directory-main-filters .field label{font-size:12px}
.directory-main-filters>.check-line{font-size:12px}
.directory-modal .person-card h3{font-size:12px}
.directory-modal .person-specialties span{font-size:12px}
.discussion-author{font-size:12px}
.discussion-author small{font-size:12px}
.discussion-footer small{font-size:12px}
.discussion-reply-form .privacy-line{font-size:12px}
.discussion-reply-form>label{font-size:12px}
.discussion-text h3{font-size:12px}
.discussion-thread-heading>span{font-size:12px}
.draft-actions .button{font-size:12px}
.draft-attachment{font-size:12px}
.draft-banner .button{font-size:12px}
.empty-state p{font-size:12px}
.example-link .text-link span{font-size:12px}
.eyebrow{font-size:12px}
.field label{font-size:12px}
.field label span{font-size:12px}
.field small{font-size:12px}
.field-error{font-size:12px}
.field-hint{font-size:12px}
.filter-pills button{font-size:12px}
.filters-grid .field label{font-size:12px}
.first-visit-icon{font-size:12px}
.form-intro{font-size:12px!important}
.global-result p{font-size:12px}
.group-avatar>*{font-size:12px!important}
.handover-checks .check-line{font-size:12px}
.handover-intro p{font-size:12px}
.heading-buttons .button{font-size:12px}
.home-action small{font-size:12px}
.home-attention .step-item .button{font-size:12px}
.home-attention .step-text p{font-size:12px}
.home-capacity small{font-size:12px}
.home-community .discussion-byline{font-size:12px}
.home-community .discussion-footer .label{font-size:12px}
.home-community .discussion-replies{font-size:12px}
.home-community .page-controls button{font-size:12px}
.home-community .pagination small{font-size:12px}
.home-date{font-size:12px}
.home-discussion-foot{font-size:12px}
.home-discussion-meta{font-size:12px}
.home-drafts .button{font-size:12px}
.home-drafts>span{font-size:12px}
.home-invite .invite-existing{font-size:12px}
.home-invite-top .eyebrow{font-size:12px}
.home-ledger-label{font-size:12px}
.home-page .panel-header .muted{font-size:12px}
.home-repliers>*:not(em){font-size:12px!important}
.home-unread{font-size:12px}
.home-welcome .eyebrow{font-size:12px}
.hub-capacity-note{font-size:12px}
.hub-colleague-actions .button{font-size:12px}
.hub-colleague-capacity small{font-size:12px}
.hub-colleague-licenses{font-size:12px}
.hub-colleague-relationship .label{font-size:12px}
.hub-colleague-top p{font-size:12px}
.hub-community .pulse-question-reason{font-size:12px}
.hub-community .pulse-section-heading .button{font-size:12px}
.hub-community .pulse-tabs button{font-size:12px}
.hub-contributors>span{font-size:12px}
.hub-freshness{font-size:12px}
.hub-invite>small{font-size:12px}
.hub-latest-author .person-link{font-size:12px}
.hub-latest-author small{font-size:12px}
.hub-latest-label{font-size:12px}
.hub-network .pulse-tabs button{font-size:12px}
.hub-network-bottom .pulse-footnote{font-size:12px}
.hub-question .pulse-pages span{font-size:12px}
.hub-question .pulse-question-bottom .button{font-size:12px}
.hub-question .pulse-question-byline small{font-size:12px}
.hub-specialties>span{font-size:12px}
.hub-state-settings small{font-size:12px}
.inbox-context{font-size:12px}
.inbox-filters button{font-size:12px}
.inbox-latest small{font-size:12px}
.inbox-name small{font-size:12px}
.inbox-note{font-size:12px}
.inbox-person-meta time{font-size:12px}
.incoming-actions .button{font-size:12px}
.incoming-response .button{font-size:12px}
.incoming-response p{font-size:12px}
.invite-banner .button{font-size:12px}
.invite-journey b{font-size:12px}
.invite-order-row small{font-size:12px}
.invite-order-row strong{font-size:12px}
.invite-preview .eyebrow{font-size:12px}
.invite-prototype{font-size:12px}
.journey-dot{font-size:12px}
.journey-text small{font-size:12px}
.journey-text strong{font-size:12px}
.keyboard-hint{font-size:12px}
.label{font-size:12px}
.layout-toggle button{font-size:12px}
.library-item p{font-size:12px}
.library-review-label{font-size:12px}
.license-list span{font-size:12px}
.license-list strong{font-size:12px}
.loading-indicator{font-size:12px}
.match-card-footer{font-size:12px}
.match-card-footer .text-link{font-size:12px}
.match-card-select .relationship-label{font-size:12px}
.match-card-select small{font-size:12px}
.match-intro p{font-size:12px}
.match-rank{font-size:12px}
.match-reasons>span{font-size:12px}
.match-warning{font-size:12px}
.message-meta{font-size:12px}
.messages-heading .button{font-size:12px}
.messages-heading .count-label{font-size:12px}
.modal .detail-grid dt{font-size:12px}
.modal .field small{font-size:12px}
.modal .timeline-item{font-size:12px}
.modal .timeline-item small{font-size:12px}
.modal-body .check-line{font-size:12px}
.modal-body .privacy-line{font-size:12px}
.modal-footer .footer-note{font-size:12px}
.modal-footer .save-exit{font-size:12px}
.modal-header .eyebrow{font-size:12px}
.month-weekday{font-size:12px}
.more-events{font-size:12px}
.nav-caption{font-size:12px}
.need-chips>span{font-size:12px}
.need-copy small{font-size:12px}
.need-grid .field label{font-size:12px}
.needs-count{font-size:12px}
.network-overview>div>p{font-size:12px}
.network-summary{font-size:12px}
.next-panel .step-item .button{font-size:12px}
.next-panel .step-text h3{font-size:12px}
.next-panel .step-text p{font-size:12px}
.no-results{font-size:12px}
.notification-row h3{font-size:12px}
.notification-row p{font-size:12px}
.open-status{font-size:12px}
.order-index{font-size:12px}
.outreach-summary{font-size:12px}
.outreach-summary small{font-size:12px}
.pa .action-area{font-size:12px}
.pa .action-urgent{font-size:12px}
.pa .aud-face{font-size:12px}
.pa .balloon-text small{font-size:12px}
.pa .bubble small{font-size:12px}
.pa .case-facts dt{font-size:12px}
.pa .chat-meta{font-size:12px}
.pa .chat-meta .plain-button{font-size:12px}
.pa .chat-meta .report-content summary{font-size:12px}
.pa .compare-head > span{font-size:12px}
.pa .compare-row > span[role=cell]:before{font-size:12px}
.pa .continuity-suggested{font-size:12px}
.pa .demo-watched{font-size:12px}
.pa .discussion .foot{font-size:12px}
.pa .first-visit-icon{font-size:12px}
.pa .hist-month{font-size:12px}
.pa .inline-thread .it-list small{font-size:12px}
.pa .invite-intro .eyebrow{font-size:12px}
.pa .lead-meta small{font-size:12px}
.pa .leads-table th{font-size:12px}
.pa .lib-badge{font-size:12px}
.pa .lib-code{font-size:12px}
.pa .match-flag{font-size:12px}
.pa .match-gaps li:before{font-size:12px}
.pa .mini-person .details span{font-size:12px}
.pa .mini-person .rank{font-size:12px}
.pa .mobile-bottom a{font-size:12px}
.pa .mobile-bottom button{font-size:12px}
.pa .moment-watch span{font-size:12px}
.pa .new-pill{font-size:12px}
.pa .notif-tag{font-size:12px}
.pa .orbit .node.saved{font-size:12px}
.pa .orbit-big .node.suggested{font-size:12px}
.pa .pa-case.just-added .added-tag{font-size:12px}
.pa .pdf-brand{font-size:12px}
.pa .pdf-running{font-size:12px}
.pa .pill-list span{font-size:12px}
.pa .profile-hero .trusted-mark i{font-size:12px}
.pa .public-nav .links .btn{font-size:12px}
.pa .rail-label{font-size:12px}
.pa .rail-link .count{font-size:12px}
.pa .resource .code{font-size:12px}
.pa .round-number{font-size:12px}
.pa .sandbox-band .expiry{font-size:12px}
.pa .section-tab .new-pill{font-size:12px}
.pa .section-tab small{font-size:12px}
.pa .sign-out{font-size:12px}
.pa .sp-chapter{font-size:12px}
.pa .sp-initials{font-size:12px}
.pa .sp-initials.is-long{font-size:12px}
.pa .states-row.head{font-size:12px}
.pa .step .k{font-size:12px}
.pa .steps-pager .dots button{font-size:12px}
.pa .story-fiction{font-size:12px}
.pa .story-mode{font-size:12px}
.pa .story-switch{font-size:12px}
.pa .strip-initials{font-size:12px}
.pa .task-tile span:last-child{font-size:12px}
.pa .thread-context{font-size:12px}
.pa .tour-count{font-size:12px}
.pa .tour-fiction{font-size:12px}
.pa .tour-text span{font-size:12px}
.pa .tour-who{font-size:12px}
.pa .tp-mobile small{font-size:12px}
.pa .verification-label{font-size:12px}
.pa .visual-top{font-size:12px}
.pa .why-disabled{font-size:12px}
.pa details.has-autofill > summary .profile-section-title:after{font-size:12px}
.pa label.field.autofilled:after{font-size:12px}
.pa.story-mobile-nav small{font-size:12px}
.page-controls button{font-size:12px}
.page-footer{font-size:12px}
.pagination small{font-size:12px}
.panel-header .muted{font-size:12px}
.panel-header .text-link{font-size:12px}
.peer-tags summary{font-size:12px}
.peer-tags summary span{font-size:12px}
.person-availability{font-size:12px}
.person-availability small{font-size:12px}
.person-card .label{font-size:12px}
.person-card p{font-size:12px}
.person-card-bottom .button{font-size:12px}
.person-card-bottom small{font-size:12px}
.person-card-top .relationship-label{font-size:12px}
.person-card.compact .person-availability small{font-size:12px}
.person-card.compact .person-specialties span{font-size:12px}
.person-card.compact .relationship-label{font-size:12px!important}
.person-specialties span{font-size:12px}
.pinned-recipient small{font-size:12px}
.plan-date small{font-size:12px}
.plan-info .label{font-size:12px}
.plan-info p{font-size:12px}
.plan-mini-progress span{font-size:12px}
.plan-people{font-size:12px}
.plan-row>.button{font-size:12px}
.privacy-line{font-size:12px}
.profile-button small{font-size:12px}
.profile-stats small{font-size:12px}
.pulse-action small{font-size:12px}
.pulse-attention-toggle small{font-size:12px}
.pulse-capacity .button{font-size:12px}
.pulse-capacity .pulse-kicker{font-size:12px}
.pulse-capacity small{font-size:12px}
.pulse-capacity-controls .button{font-size:12px}
.pulse-capacity-freshness{font-size:12px}
.pulse-capacity-intro p{font-size:12px}
.pulse-capacity-total>span{font-size:12px}
.pulse-conversations .pulse-section-heading .button{font-size:12px}
.pulse-drafts .button{font-size:12px}
.pulse-drafts>span{font-size:12px}
.pulse-focus .button.primary{font-size:12px}
.pulse-focus>.pulse-kicker{font-size:12px}
.pulse-focus>p{font-size:12px}
.pulse-footnote{font-size:12px}
.pulse-inbox{font-size:12px}
.pulse-invite>.pulse-kicker{font-size:12px}
.pulse-invite>small{font-size:12px}
.pulse-kicker{font-size:12px}
.pulse-manifesto .pulse-kicker{font-size:12px}
.pulse-manifesto>p:last-of-type{font-size:12px}
.pulse-other-steps{font-size:12px}
.pulse-page .page-footer>span:last-child{font-size:12px}
.pulse-page .pulse-action small{font-size:12px}
.pulse-pages span{font-size:12px}
.pulse-person-capacity{font-size:12px}
.pulse-person-capacity small{font-size:12px}
.pulse-person-head>div>span{font-size:12px}
.pulse-question-bottom .button{font-size:12px}
.pulse-question-byline small{font-size:12px}
.pulse-question-reason{font-size:12px}
.pulse-radar>button{font-size:12px}
.pulse-radar>button span{font-size:12px}
.pulse-section-heading .button{font-size:12px}
.pulse-section-heading .pulse-kicker{font-size:12px}
.pulse-tabs button{font-size:12px}
.pulse-why{font-size:12px}
.pulse-why summary{font-size:12px}
.quick-action small{font-size:12px}
.radio-card small{font-size:12px}
.radio-card strong{font-size:12px}
.reason-card small{font-size:12px}
.recipient-choice small{font-size:12px}
.recipient-choice strong{font-size:12px}
.recipient-review summary{font-size:12px}
.recipient-review-list>span{font-size:12px}
.recipient-summary{font-size:12px}
.recipient-summary small{font-size:12px}
.recording{font-size:12px}
.referral-client-symbol small{font-size:12px}
.referral-journey header p{font-size:12px}
.referral-note{font-size:12px}
.referral-progress li{font-size:12px}
.referral-recipients small{font-size:12px}
.referral-sender small{font-size:12px}
.referral-title-line small{font-size:12px}
.relationship-filters button{font-size:12px}
.relationship-group .colleague-row small{font-size:12px}
.reply header small{font-size:12px}
.reply strong{font-size:12px}
.reply-kind{font-size:12px}
.request-line .label{font-size:12px}
.request-line small{font-size:12px}
.resource-card .button{font-size:12px}
.resource-card .resource-meta{font-size:12px}
.resource-meta{font-size:12px}
.response-actions .button{font-size:12px}
.response-card .relationship-label{font-size:12px}
.response-card header>.label{font-size:12px}
.response-history{font-size:12px}
.results-meta{font-size:12px}
.results-meta>span:last-child{font-size:12px}
.review-client>summary small{font-size:12px}
.review-client>summary strong{font-size:12px}
.review-control-actions .button{font-size:12px}
.review-hero p{font-size:12px}
.review-totals{font-size:12px}
.sandbox-arrival p{font-size:12px}
.sandbox-chip{font-size:12px}
.sandbox-note p{font-size:12px}
.saved-client small{font-size:12px}
.segmented button{font-size:12px}
.selection-card p{font-size:12px}
.slots-field .field label{font-size:12px}
.state-availability-header{font-size:12px}
.state-availability-row small{font-size:12px}
.state-availability-row strong{font-size:12px}
.state-city label{font-size:12px}
.state-picker>summary{font-size:12px}
.step-item .button{font-size:12px}
.step-text .label{font-size:12px}
.step-text h3{font-size:12px}
.step-text p{font-size:12px}
.tc-client strong{font-size:12px}
.tc-covered small{font-size:12px}
.text-link{font-size:12px}
.timeline-item small{font-size:12px}
.toast{font-size:12px}
.toggle-row p{font-size:12px}
.tour-callout b{font-size:12px}
.tour-intro-top{font-size:12px}
.tracking-client header>.label{font-size:12px}
.tracking-client header>span>strong{font-size:12px}
.tracking-colleague header .button{font-size:12px}
.tracking-metrics>span{font-size:12px}
.tracking-summary>.eyebrow{font-size:12px}
.tracking-summary>div>p{font-size:12px}
.unread-pill{font-size:12px}
.view-tabs button{font-size:12px}
.workflow-help p{font-size:12px}
.workflow-step{font-size:12px}
.workflow-step span{font-size:12px}
}
@media(max-width:380px){
.calendar-scope button{font-size:12px}
.circle-legend.compact button>span:not(.tier-dot){font-size:12px}
.draft-actions .button{font-size:12px}
.hub-colleague-actions .button{font-size:12px}
.hub-question .pulse-question-bottom .button{font-size:12px}
.hub-state-settings small{font-size:12px}
.modal-footer .button{font-size:12px}
.next-panel .step-text h3{font-size:12px}
.next-panel .step-text p{font-size:12px}
.plan-mini-progress span{font-size:12px}
.privacy-line{font-size:12px}
.pulse-capacity-controls .button{font-size:12px}
.pulse-capacity-freshness{font-size:12px}
.pulse-focus .button.primary{font-size:12px}
.pulse-page .pulse-action small{font-size:12px}
.pulse-question-bottom .button{font-size:12px}
.pulse-why summary{font-size:12px}
.step-item .button{font-size:12px}
.step-text h3{font-size:12px}
.workflow-step{font-size:12px}
}
/* <<< phone floor */

/* Phone fields, placeholders and targets (D04 to D07). Fields are 16px so phones do not zoom in; placeholders read at 4.5:1. */
::placeholder{color:#5f6e64!important;opacity:1!important}
@media(max-width:760px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]),select,textarea{font-size:16px!important}
}

/* Long values stay readable (D06) and the pause date gets room (D07) */
@media(max-width:560px){
  .form-grid:has(select),.form-grid:has(textarea){grid-template-columns:minmax(0,1fr)}
  select{text-overflow:clip;white-space:normal;min-height:44px;height:auto;padding-top:9px;padding-bottom:9px}
  .availability-modal-top{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .availability-modal-top .slots-field{width:auto;max-width:none}
  .availability-modal-top .slots-field input{width:100%}
  .availability-modal-top .slots-field small{display:block;max-width:none;line-height:1.45}
}

/* Phone targets and fields, stronger than the older sheets (D02, D05): 44px to tap, 16px to type. */
@media(max-width:760px){
  :is(#app,#overlay-root) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]),select,textarea){font-size:16px!important}
  :is(#app main,#overlay-root,#app .topbar) :is(button,select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file])):not(.text-link):not(.person-link):not(.cal-chip):not(.reaction):not(.avatar):not(.switch):not(.hub-attn-toggle){min-height:44px}
  :is(#app main,#overlay-root) select{height:auto!important}
  :is(#app main,#overlay-root,#app .topbar) .icon-button{min-width:44px}
  .inbox-avatar{min-width:44px}
  #app main a.btn,#app main label.btn,#app main a.section-tab{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .account-page .eyebrow,.account-page .btn.small-btn,.account-page .notif-tag,.account-page .new-pill,.account-page .continuity-suggested,.account-page .form-intro,.account-page small,.relationship-label{font-size:12px}
}

/* Overlays keep their inset on phones (about 14px at the sides, a blurred backdrop); the corner radius follows the card scale. */
.overlay .modal,.overlay .modal.wide{border-radius:12px!important}

/* A few link-style actions that are the main thing in their row get a full-size target (Watch an example, close). */
@media(max-width:760px){
  .example-link .text-link,.example-link button{min-height:44px;display:inline-flex;align-items:center}
  .example-close,.first-visit-close{min-width:44px;min-height:44px}
  .section-tab span{font-size:12px}
}

/* Search: what Message results cover */
.search-note{margin:10px 2px 2px;font-size:13px;line-height:1.45;color:var(--muted)}

/* Library preview text: darker and not below 12px (found by the contrast sweep) */
.resource-preview p,.resource-preview li{color:var(--muted);font-size:13px;line-height:1.7}

/* =====================================================================================================================
   Design pass (Nick, 30 Oct): Hub, Cover and Referrals lists, Network, pop-up forms, Search.
   One rule of thumb: a list is a white panel with a plain header and hairline-separated rows. No coloured left bars,
   no tinted blocks, and the same row looks the same whatever its status. Status is said by the pill and the words.
   ===================================================================================================================== */

/* ---------- Pop-up forms: fields in a grid are spaced by the grid only (a stacking margin made the second column sit lower) ---------- */
.form-grid>.field,.form-grid>.field+.field,.modal .form-grid>.field+.field,.need-grid>.field{margin:0}
.need-grid{row-gap:20px;column-gap:20px;align-items:start}
.need-grid .field.full{margin-top:2px}
.modal .form-grid .check-line{margin:0}

/* ---------- Relationship colour: the avatar carries it, solid, everywhere a colleague appears ---------- */
.avatar.relation-trusted{background:var(--relation-trusted);color:#fff;border-color:var(--relation-trusted)}
.avatar.relation-worked{background:var(--relation-worked);color:#fff;border-color:var(--relation-worked)}
.avatar.relation-suggested{background:var(--relation-suggested);color:#fff;border-color:var(--relation-suggested)}
.avatar.relation-other{background:var(--relation-other);color:#fff;border-color:var(--relation-other)}

/* ---------- Search: bigger in the top bar, and a field of its own on the Hub ---------- */
@media(min-width:761px){
  .workspace .topbar .top-search{display:inline-flex;align-items:center;gap:10px;min-width:250px;height:40px;padding:0 12px;border:1px solid #cfd8d1;border-radius:var(--r-control);background:#fff;color:var(--muted);font-size:14px}
  .workspace .topbar .top-search:hover{border-color:var(--forest);color:var(--ink)}
  .workspace .topbar .top-search svg{width:17px;height:17px;color:var(--forest)}
  .workspace .topbar .top-search kbd{margin-left:auto;font-size:12px;padding:1px 6px;border-radius:5px}
}
.hub-search{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:0 16px;margin:0 0 16px;background:#fff;border:1px solid #cfd8d1;border-radius:var(--r-card);font:inherit;font-size:16px;text-align:left;color:var(--muted);cursor:text}
.hub-search:hover{border-color:var(--forest)}
.hub-search svg{width:20px;height:20px;flex:none;color:var(--forest)}
.hub-search-text{font-weight:600;color:var(--ink);flex:none}
.hub-search-hint{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.hub-search kbd{flex:none;font:inherit;font-size:12px;padding:2px 7px;border:1px solid var(--line);border-radius:6px;background:var(--cream);color:var(--muted)}
.global-result.has-avatar{display:flex;align-items:center;gap:12px}
.global-result.has-avatar .avatar{width:36px;height:36px;font-size:13px;flex:none}
.global-result h3 .relationship-label{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;border:1px solid;font-size:12px;font-weight:650;line-height:1.4;vertical-align:2px}

/* ---------- Hub: the "up to date" bar, the count on the attention bar, the invitation card ---------- */
.hub-attn-main strong{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 9px;margin-right:10px;border-radius:999px;background:var(--forest);color:#fff;font-size:15px;font-weight:700;vertical-align:middle}
.hub-clear-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;min-height:56px;padding:10px 16px;background:var(--st-ready-pale);border:1px solid #cfe3d6;border-radius:var(--r-card)}
.hub-clear-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--st-ready);color:#fff;flex:none}
.hub-clear-mark svg{width:16px;height:16px}
.hub-clear-bar .hub-attn-clear{margin:0;padding:0;border:0;background:none;font-size:17px;font-weight:600;color:var(--ink)}
.hub-clear-sub{margin-left:auto;font-size:14px;color:var(--muted)}
.hub-invite-card{display:flex;align-items:center;gap:14px;margin:4px 0 0;padding:16px 20px;background:var(--sage);border:1px solid #d6e0d8;border-radius:var(--r-card)}
.hub-invitecard-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--forest);flex:none}
.hub-invitecard-mark svg{width:20px;height:20px}
.hub-invitecard-words{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.hub-invitecard-words strong{font-size:16px;font-weight:650;color:var(--ink)}
.hub-invitecard-words small{font-size:14px;color:var(--muted)}
.hub-invite-card .button{flex:none;min-height:40px;background:#fff}

/* ---------- Cover and Referrals: two lists that line up ---------- */
.split-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@supports (grid-template-rows:subgrid){
  .split-lists{grid-template-rows:auto 1fr}
  .split-lists>.panel{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
}
.panel[class*="direction-"]{border-radius:var(--r-card)}
.panel[class*="direction-"] .list-section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:0 12px;padding:18px 20px 16px;background:#fff;border-bottom:1px solid var(--line)}
.panel[class*="direction-"] .list-section-header>div{display:block;min-width:0}
.panel[class*="direction-"] .list-section-header .action-icon{display:none}
.panel[class*="direction-"] .list-section-header .direction-caption{margin-bottom:6px;font-size:12px;letter-spacing:1.1px}
.panel[class*="direction-"] .list-section-header h2{font-size:19px;line-height:1.25}
.panel[class*="direction-"] .list-section-header p{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}
.panel[class*="direction-"] .list-section-header .label{align-self:start;min-width:30px;text-align:center}
.panel[class*="direction-"] .list-section-body{display:flex;flex-direction:column;gap:0;padding:0;background:#fff}
.panel[class*="direction-"] .no-results{padding:28px 20px;font-size:15px;color:var(--muted);text-align:center}
.arrangement-row,.arrangement-row.row-reply,.arrangement-row.row-ready,.arrangement-row.row-done{border:0;border-top:1px solid var(--line);border-radius:0;background:#fff;box-shadow:none;padding:16px 20px;gap:16px;align-items:center}
.list-section-body>.arrangement-row:first-child{border-top:0}
.arrangement-row:hover{background:#f8faf7;box-shadow:none}
.arrangement-row .plan-date{background:var(--sage);color:var(--forest)}
.arrangement-row:not(.row-done) .plan-date small,.arrangement-row:not(.row-done) .plan-date b{color:var(--forest)!important}
.arrangement-row.row-done .arrangement-main strong .text-link{color:#4a554d}
.arrangement-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.arrangement-main>small{color:var(--muted)!important}
.arrangement-next{color:var(--muted)!important;font-size:14px!important}
.arrangement-next.needs-action{color:var(--ink)!important;font-weight:600}
.arrangement-next.needs-action svg{color:var(--forest)}
.arrangement-side{display:flex;flex-direction:row;align-items:center;gap:8px;flex:none}
.arrangement-side .label{min-width:0;text-align:center}
.arrangement-row .icon-button{width:32px;height:32px;border:0;background:transparent;color:var(--muted)}
.arrangement-row:hover .icon-button{color:var(--forest)}
.toolbar{gap:12px;margin-bottom:18px}
.filter-pills button,.layout-toggle button{min-height:38px}
.invite-banner{display:flex;align-items:center;gap:12px;margin-top:22px;padding:14px 4px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
.invite-banner .invite-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sage);color:var(--forest);flex:none}
.invite-banner h3{margin:0;font-size:14px;font-weight:600;color:var(--ink)}
.invite-banner p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.invite-banner .button{margin-left:auto;flex:none}

/* ---------- Network: tier groups stacked, one card per colleague ---------- */
.network-overview{padding:24px 28px;gap:32px;grid-template-columns:280px minmax(0,1fr);margin-bottom:20px}
.network-overview .circle-map{width:280px}
.network-overview h2{font-size:20px;letter-spacing:-.2px}
.network-overview .circle-legend small{display:none}
.network-overview .circle-legend button:last-child small{display:block}
.relationship-groups{display:flex;flex-direction:column;gap:20px}
.relationship-group{border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;padding:0!important;background:#fff}
.relationship-group.net-trusted{border-top:3px solid var(--relation-trusted)}
.relationship-group.net-worked{border-top:3px solid var(--relation-worked)}
.relationship-group.net-suggested{border-top:3px solid var(--relation-suggested)}
.relationship-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0;padding:16px 20px 14px;background:#fff;border-bottom:1px solid var(--line);box-shadow:none}
.relationship-group.net-trusted>header,.relationship-group.net-worked>header,.relationship-group.net-suggested>header{box-shadow:none}
.net-head{min-width:0}
.net-head h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;line-height:1.3;color:var(--ink)}
.net-head h2 .tier-dot{width:10px;height:10px}
.net-head p{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--muted);max-width:640px}
.net-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:16px 20px 20px}
.relationship-group .net-list .net-row{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
.relationship-group .net-row .avatar{width:42px;height:42px;font-size:14px;flex:none}
.relationship-group .net-row>div{flex:1;min-width:0}
.relationship-group .net-row strong button{font-size:16px;font-weight:650}
.relationship-group .net-row small{display:block;font-size:14px;line-height:1.45;margin-top:2px}
.relationship-group .net-row .net-why{margin-top:6px}
.relationship-group .net-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.relationship-group .net-actions .button{margin:0;min-height:36px}
.relationship-group .net-empty{margin:0;padding:18px 20px 20px;font-size:14px;color:var(--muted)}
.relationship-group .net-pager{border-top:1px solid var(--line);padding:10px 12px}

/* ---------- Phone ---------- */
@media(max-width:999px){
  .split-lists{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .split-lists>.panel{display:block;grid-row:auto}
}
@media(max-width:760px){
  .hub-search{min-height:50px;padding:0 14px}
  .hub-search-hint,.hub-search kbd{display:none}
  .hub-clear-sub{flex:1 0 100%;margin-left:40px}
  .hub-invite-card{flex-wrap:wrap;padding:16px}
  .hub-invitecard-words{flex:1 1 calc(100% - 60px)}
  .hub-invite-card .button{flex:1 0 100%;min-height:44px}
  .panel[class*="direction-"] .list-section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px}
  .panel[class*="direction-"] .list-section-header>div{display:block}
  .arrangement-row,.arrangement-row.row-reply,.arrangement-row.row-ready,.arrangement-row.row-done{padding:14px 16px;gap:12px}
  .arrangement-side{flex:1 0 100%;justify-content:space-between}
  .invite-banner{flex-wrap:wrap}
  .invite-banner .button{margin-left:0}
  .network-overview{padding:18px 16px;gap:18px;grid-template-columns:minmax(0,1fr)}
  .network-overview .circle-map{width:100%;max-width:280px;margin:0 auto}
  .net-list{grid-template-columns:minmax(0,1fr);padding:12px 14px 16px}
  .relationship-group>header{padding:14px 16px 12px}
  .relationship-group .net-actions .button{min-height:44px}
  .need-grid{row-gap:16px}
}

/* ---------- Cover: calendar and plan detail ---------- */
.month-day{align-items:flex-start}
.month-day.today>b{display:grid;place-items:center;width:26px;min-width:26px;height:26px;margin:0 0 0 -3px;align-self:flex-start;border-radius:50%}
.calendar-month-summary{background:#fff;border-top:1px solid var(--line);padding:18px 25px 6px}
.calendar-month-summary h3{font-size:17px;margin:0}
.calendar-month-summary span{font-size:14px;color:var(--muted)}
.calendar-agenda{padding:12px 25px 25px}
.tracking-client{border:1px solid var(--line);border-radius:var(--r-card)}
.tracking-client .label,.tracking-client .request-line .label{font-size:12px;padding:4px 10px}
.request-details>summary{font-size:13px;color:var(--muted)}
@media(min-width:761px){
  .client-table-head,.tracking-client>header{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) 150px!important}
  .client-table-head{padding:0 15px 8px}
  .client-table-head span:last-child,.tracking-client>header>.label{justify-self:end;text-align:right}
}
.relationship-group>header .label{min-width:30px;padding:3px 10px;font-size:13px;font-weight:650;text-align:center}
.net-list{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}
@media(max-width:760px){.net-list{grid-template-columns:minmax(0,1fr)}}

@media(max-width:760px){
  .hub-page .welcome-slim{flex-wrap:wrap;align-items:flex-start;row-gap:10px}
  .hub-page .welcome-slim p{flex:1 1 calc(100% - 44px)}
  .hub-page .welcome-actions{flex:1 0 100%;padding-left:38px}
}

/* ---------- Phone: the page title, its sentence and its main action stack instead of squeezing side by side ---------- */
@media(max-width:760px){
  .page-heading{flex-direction:column;align-items:stretch;gap:14px}
  .page-heading h1{max-width:none}
  .page-heading p{max-width:none}
  .page-heading .heading-buttons{display:flex}
  .page-heading .heading-buttons .button{flex:1 1 auto;justify-content:center;min-height:44px}
}

/* Design pass 2 (Nick, 30 Oct): Cover pop-up steps 3 and 4 */
.workflow-step{white-space:nowrap}
.outreach-summary{align-items:flex-start}
.outreach-summary>svg{flex:none;margin-top:2px}
@media(max-width:760px){
  /* Step bar: numbers for every step, the name only for the current one, so nothing wraps */
  .workflow-steps .workflow-step:not(.active){font-size:0;gap:0}
  .workflow-steps .workflow-step:not(.active)>span{font-size:12px}
  .workflow-steps .workflow-line{min-width:10px}
  /* Colleague card: name and relationship on their own lines, Profile link small beneath */
  .match-card{padding:14px}
  .match-card .match-card-top{flex-direction:column;gap:4px}
  .match-card .match-card-top .match-card-select{width:100%;flex-wrap:wrap;row-gap:6px;align-items:flex-start}
  .match-card .match-card-select .relationship-label{margin-left:0;flex-basis:100%;width:max-content;order:3}
  .match-card .match-profile-link{align-self:flex-start;padding:0;min-height:32px;margin-left:0}
  .match-card .match-reasons{gap:4px}
  .match-card .match-reasons>span{padding:3px 8px}
  /* Review: stack the reply-time field and the explanation */
  .modal .form-grid:has(>.outreach-summary){grid-template-columns:1fr}
}
/* Cover review: the up and down buttons are a comfortable pair, not two slivers */
.invite-order-row .order-controls{display:flex;flex-direction:row;gap:2px;align-items:center}
.invite-order-row .order-controls .icon-button{width:34px;height:34px;min-width:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}
.invite-order-row .order-controls .icon-button svg{width:16px;height:16px}

/* Release B: Cover review, workload and change notes */
.review-client-actions{display:flex;gap:4px;flex-wrap:wrap;padding:2px 0 8px}
.workload-list{list-style:none;margin:10px 0 0;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.workload-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 14px;padding:12px 14px;border-top:1px solid var(--line);align-items:center}
.workload-list li:first-child{border-top:0}
.workload-name{display:flex;align-items:center;gap:10px;min-width:0}
.workload-name strong{overflow-wrap:anywhere}
.workload-count{justify-self:end;font-size:13px;color:var(--muted);text-align:right}
.workload-count b{color:var(--ink);font-weight:650}
.workload-list small{grid-column:1/-1;color:var(--muted);font-size:12px}
.change-note{display:block}
.change-note p{margin:6px 0 0}
.change-note .button{margin-top:8px}
.icon-button:disabled{opacity:.35;cursor:default}
@media(max-width:560px){.workload-list li{grid-template-columns:1fr}.workload-count{justify-self:start;text-align:left}}
/* Release B: calendar, selected day and phone dots */
.month-day.selected{outline:2px solid var(--forest);outline-offset:-2px}
.cal-dots{display:none}
@media(max-width:760px){
  .month-day .month-day-counts{display:none}
  .cal-dots{display:flex;gap:3px;align-items:center;justify-content:center;min-height:10px;margin-top:4px}
  .cal-dots i{width:8px;height:8px;border-radius:50%;display:inline-block}
  .cal-dots i.own{background:var(--forest)}
  .cal-dots i.peer{border:2px solid var(--forest);background:#fff;box-sizing:border-box}
  .cal-dots em{font-style:normal;font-size:12px;color:var(--muted)}
}

/* Release B: searchable treatment-area list (the select stays the field; this adds a search box) */
.select-wrap{position:relative}
.has-search-pick{position:relative}
.search-pick-cover{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;padding:0;margin:0;cursor:pointer}
.search-pick{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px #20352a33;overflow:hidden}
.search-pick-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--muted)}
.search-pick-box svg{width:16px;height:16px;flex:none}
.search-pick-box input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ink);padding:0;box-shadow:none;height:auto}
.search-pick ul{list-style:none;margin:0;padding:4px;max-height:264px;overflow:auto}
.search-pick li{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;line-height:1.35;color:var(--ink)}
.search-pick li.active,.search-pick li:hover{background:var(--sage)}
.search-pick li[aria-selected="true"]{font-weight:650}
.search-pick li.empty{cursor:default;color:var(--muted)}
.search-pick li.empty:hover{background:transparent}

/* Release B: message search and the conversation count */
.history-results{margin-top:14px}
.history-title{font-size:13px;font-weight:650;color:var(--muted);margin:0 0 6px;letter-spacing:.01em}
.history-hit .hit-context{font-weight:500;color:var(--muted);font-size:12px;margin-left:6px}
.history-hit .hit-meta{color:var(--muted)}
.history-hit mark{background:#e3ecd9;color:var(--ink);border-radius:3px;padding:0 2px}
.history-ask{margin-top:12px}
.message-group.found .bubble{outline:2px solid var(--forest);outline-offset:3px;transition:outline-color .6s}
.inbox-context-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:4px 2px;color:var(--muted);font-size:12px;cursor:pointer;min-height:32px}
.inbox-context-toggle .context-count{text-decoration:underline;text-underline-offset:3px}
.journey-bar.three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Release B: a voice note kept across a reload shows its length, not a player. */
.record-preview .record-kept { display: block; padding: 10px 14px; font-size: 14px; color: var(--ink); background: var(--cream); border: 1px solid var(--line); border-radius: 999px; }

/* Release B: the circle's touch targets never overlap (see fitCircle). */
.circle-person[hidden] { display: none; }
@media (max-width: 350px) { .network-overview .circle-map { transform: none; margin: 0 auto; } }

/* Release B: with one client there is nothing to switch between, so the matching step is one column. */
.client-match-layout.single { display: block; }

/* Release B: the day sheet and the month agenda stack the two directions, and a direction with nothing in it stays small (D19). */
.split-lists.calendar-agenda{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:14px}
.split-lists.calendar-agenda>.panel{display:block;grid-row:auto}
.panel.agenda-empty .list-section-header{padding:12px 20px;border-bottom:0}
.panel.agenda-empty .list-section-header h2{font-size:16px}
.panel.agenda-empty .list-section-header p{display:none}
.panel.agenda-empty .list-section-body .no-results{padding:0 20px 14px;text-align:left;font-size:14px}

/* Release B: the status pill in the month agenda and day sheet is as wide as its words on phones, so "Needs your reply" never spills out of it. */
.calendar-agenda .arrangement-side .label{max-width:none}

/* Release C: Library collection selector (phones), continuity first step (phones), copy actions */
.collection-select{display:none}
@media (max-width:700px){
  .collection-select{display:grid;gap:4px;font-size:13px;color:#536559;width:100%}
  .collection-select select{width:100%;min-height:44px;font-size:16px;border:1px solid #e5e9e3;border-radius:8px;background:#fff;color:#26352e;padding:0 12px}
  #library-results,.content .toolbar .search-field{width:100%}
  .toolbar:has(.collection-select) .filter-pills{display:none}
  .toolbar:has(.collection-select) .search-field{width:100%;max-width:none}
  .continuity-layout .continuity-steps{display:none}
  .continuity-layout .continuity-summary{padding:14px}
}

/* Sidebar footer: the account and workspace shells share one look (Settings in one, Sign out in the other). */
@media(min-width:1001px),(max-width:760px){
.sidebar .profile-button>svg{display:none}
.sidebar .sidebar-bottom>.button.text,.sidebar .sidebar-bottom .sign-out{width:100%;justify-content:flex-start;gap:8px;min-height:34px;padding:6px 8px 6px 5px;font-size:13px;font-weight:600;color:inherit;border-radius:8px}
.sidebar .sidebar-bottom>.button.text:hover,.sidebar .sidebar-bottom .sign-out:hover{background:rgba(31,61,48,.06)}
}

/* A group message author's name opens their profile, like every other name (review F17). */
.bubble-author .person-link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}
.bubble-author .person-link:hover,.bubble-author .person-link:focus-visible{text-decoration-color:currentColor}
