/* Shared tokens for the portal, admin and affiliate pages. Loaded last so .contact-mode wins over the component rules of the same weight. */
:root{--color-acid:#00ff9d;--color-acid-soft:#7fffd4;--color-mint:#85fba4;--color-ink:#000;--color-forest:#0b120d;--color-text:#17241b;--color-muted:#62715a;--color-cream:#f5f0e1;--color-paper:#f3f0e1;--color-cobalt:#0d2557;--color-line:#c5cdba;--color-focus:#237f49;--color-error:#8d302b;--color-progress:#28754f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-mono:'JetBrains Mono',monospace}
/* One "contact Mode" style: Messages, Speak to our team, rep contact links. currentColor keeps it readable on light and dark panels. */
:is(a,button).contact-mode{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:36px;padding:var(--space-2) var(--space-4);border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:500 11px/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
:is(a,button).contact-mode:hover{background:var(--color-acid);border-color:var(--color-acid);color:var(--color-ink)}
@media(prefers-reduced-motion:reduce){:is(a,button).contact-mode{transition:none}}
/* Workspace switcher in the portal/admin site header and the affiliate sidebar; same disclosure as .company-switcher. The menu is light in both places. */
.workspace-switcher-host{display:flex;align-items:center}.workspace-switcher{position:relative;max-width:100%}
.workspace-switcher>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:36px;max-width:280px;padding:2px var(--space-3);border:1px solid currentColor;list-style:none;cursor:pointer}
/* Touch only: each app adds these to its own phone breakpoint (portal 720px, affiliates 650px, admin 600px). */
@media(pointer:coarse){:is(a,button).contact-mode,.workspace-switcher>summary{min-height:44px}.workspace-switcher nav a{min-height:44px;align-content:center}}
.workspace-switcher>summary::-webkit-details-marker{display:none}.workspace-switcher>summary:focus-visible,.workspace-switcher nav a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
/* Light surfaces inside the portal: [tabindex] in the :is() lifts this over the acid .portal-workspace a:focus-visible ring; div covers keyboard-focusable scroll boxes. */
:is(.company-message-dialog,.workspace-team,.workspace-modal,.application-details,.agreement-item,.workspace-footer,.intake-page-heading,.intake-assistant-panel,.registered-referrals) :is(a,button,input,select,textarea,summary,div,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.workspace-switcher-label{display:grid;min-width:0;text-align:left}.workspace-switcher-label small{font:500 11px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75}.workspace-switcher-label strong{overflow:hidden;font:600 13px/1.3 Manrope,Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.workspace-switcher>summary>svg{flex:none}.workspace-switcher[open]>summary>svg{transform:rotate(180deg)}
.workspace-switcher nav{position:absolute;top:100%;left:0;z-index:40;display:grid;min-width:min(300px,85vw);max-width:85vw;margin-top:var(--space-2);padding:var(--space-2);background:var(--color-cream);color:var(--color-text);border:1px solid var(--color-line);box-shadow:0 12px 36px rgb(0 0 0/.2)}
.workspace-switcher [role=group]+[role=group]{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-line)}
.workspace-switcher [role=group]>p{margin:0;padding:var(--space-2) var(--space-3) var(--space-1);font:500 11px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}
.workspace-switcher nav a{display:block;margin:0;padding:var(--space-3) var(--space-4);font:500 14px/1.3 Manrope,Arial,sans-serif;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;color:var(--color-text);text-decoration:none}
.workspace-switcher nav a:hover,.workspace-switcher nav a[aria-current]{background:#e0e8d8;color:var(--color-text);text-decoration:none}.workspace-switcher nav a[aria-current]{font-weight:700}
.header-nav .workspace-switcher>summary{color:var(--color-cream)}.header-nav .workspace-switcher nav a{margin:0;padding:var(--space-3) var(--space-4);font-size:14px}.header-nav .workspace-switcher nav a:is(:hover,[aria-current]){color:var(--color-text);text-decoration:none}.header-nav .workspace-switcher nav{left:auto;right:0}
/* The staff entry replaces the header Admin link while the switcher shows. */
.header-nav:has([data-workspace-switcher]) #admin-link{display:none}
/* The affiliate sidebar scrolls, so the menu opens in place there. */
.sidebar .workspace-switcher{margin-top:var(--space-4)}.sidebar .workspace-switcher>summary{max-width:none;border-color:#496047}.sidebar .workspace-switcher nav{position:static;min-width:0;max-width:none;box-shadow:none}
@media(max-width:600px){.header-nav .workspace-switcher-host{width:100%}.header-nav .workspace-switcher nav{left:0;right:auto}}
