/* Approved shared field and compact workspace presentation. No business logic. */
#root{--sf-bg:#fff;--sf-text:#0d2d59;--sf-border:#a8bed9;--sf-muted:#435774;--sf-focus:#1763b4;--sf-error:#a62d32;--sf-disabled:#e9eff6}
#root :is(.public-website,.customer-portal,.staff-portal) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]),select,textarea,button[role=combobox]){box-sizing:border-box;min-height:44px;min-width:0;max-width:100%;border:1px solid var(--sf-border);border-radius:8px;background-color:var(--sf-bg);color:var(--sf-text);padding:10px 12px;font-size:14px;line-height:22px;font-weight:400;transition:border-color .12s,box-shadow .12s}
#root :is(.public-website,.customer-portal,.staff-portal) label:has(> :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]),select,button[role=combobox],textarea)){display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;font-size:13px;font-weight:600;line-height:1.5}
#root :is(.public-website,.customer-portal,.staff-portal) :is(input,select,textarea,button[role=combobox]):focus-visible{outline:2px solid var(--sf-focus);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--sf-focus) 14%,transparent)}
#root :is(.public-website,.customer-portal,.staff-portal) :is(input,select,textarea,button[role=combobox])[aria-invalid=true]{border-color:var(--sf-error)}
#root :is(.public-website,.customer-portal,.staff-portal) :is(input,select,textarea,button[role=combobox]):disabled{background-color:var(--sf-disabled);color:var(--sf-muted);cursor:not-allowed;opacity:1}
#root :is(.public-website,.customer-portal,.staff-portal) :is(input,textarea)::placeholder{color:var(--sf-muted);opacity:1}
#root .customer-history-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end}
#root :is(#customer-main,#staff-main).workspace-density{padding:24px}
#root .customer-portal .customer-next-actions{border-radius:12px;padding:16px}
#root .customer-portal .customer-next-actions :is(a,.rounded-2xl){border-radius:8px}
#root .customer-portal .customer-next-actions h2{font-size:18px;font-weight:600}
#root .customer-portal .customer-next-actions :is(h3,p){font-size:13px;line-height:1.5}
#root .staff-portal>div>header{height:56px;background:#0d2d59;color:white;backdrop-filter:none}
#root .staff-portal>div>header :is(p,button){color:#fff}
#root .staff-portal aside{background:#061d33}
#root #staff-main .workspace-page-header{background:#0d2d59;color:white;border:0;border-radius:8px;padding:16px}
#root #staff-main .workspace-page-header h1{font-size:24px;font-weight:600;line-height:1.45;color:#fff}
#root #staff-main .workspace-page-header p{font-size:13px;color:#cadcf0}
#root #staff-main .workspace-page-header button{color:#fff;background:transparent;border-color:#8093ae}
#root .customer-portal aside a[aria-current=page]{background:#e8f1fd;color:#0d2d59;border-inline-start:3px solid #ffbf19}
.dark #root,#root .dark{--sf-bg:#122e4a;--sf-text:#edf4ff;--sf-border:#718ba8;--sf-muted:#c1d0e2;--sf-focus:#80b5ff;--sf-error:#ffafb3;--sf-disabled:#20364f}
@media(max-width:760px){#root :is(.public-website,.customer-portal,.staff-portal) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]):not([type=file]),select,textarea,button[role=combobox]){font-size:16px}#root .customer-history-filters{grid-template-columns:1fr}#root :is(#customer-main,#staff-main).workspace-density{padding:16px}#root #staff-main .workspace-page-header h1{font-size:20px}#root .staff-portal>div>header{background:white;color:#0d2d59;height:60px}#root .staff-portal>div>header :is(p,button){color:#0d2d59}}
@media(prefers-reduced-motion:reduce){#root :is(input,select,textarea,button[role=combobox]){transition:none}}
@media(min-width:761px){#root .customer-portal>div>header{height:88px}#root .customer-portal>div>header>p{font-size:24px;font-weight:600;line-height:1.45}}
@media(max-width:760px){#root .customer-portal>div>header{height:60px}#root .customer-portal>div>header>p{font-size:18px}}
