:root { color-scheme: light; --ink:#172530; --muted:#607482; --line:#d5e0e5; --soft:#edf3f5; --surface:#ffffff; --teal:#23766d; --teal-soft:#e8f5f1; --blue:#2e6689; --amber:#976c17; --amber-soft:#fff6e3; --red:#a54848; --red-soft:#fff0f0; --shadow:0 12px 30px rgba(23,37,48,.08); }
* { box-sizing:border-box; }
html,body { min-height:100%; margin:0; font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif; color:var(--ink); background:var(--soft); }
button,input,select { font:inherit; }
button { cursor:pointer; }
a { color:var(--blue); }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:.35rem; font-size:clamp(1.75rem,2.3vw,2.35rem); letter-spacing:0; }
h2 { margin-bottom:.35rem; font-size:1.2rem; }
h3 { margin-bottom:.25rem; font-size:1.02rem; }
.eyebrow { color:#567080; font-size:.7rem; font-weight:800; letter-spacing:0; text-transform:uppercase; }
.muted,.panel-heading p,small { color:var(--muted); }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:236px minmax(0,1fr); }
.admin-sidebar { display:flex; flex-direction:column; min-height:100vh; background:#122b37; color:#dceaf0; padding:1rem .75rem; }
.admin-brand,.operator-profile,.login-brand { display:flex; align-items:center; gap:.65rem; }
.admin-brand strong { display:block; color:white; font-size:.95rem; }.admin-brand small { display:block; color:#9ec1c8; font-size:.72rem; }
.brand-mark { width:2.2rem; height:2.2rem; display:inline-flex; align-items:center; justify-content:center; background:#dff3ec; color:#176d62; border-radius:6px; }
.admin-nav { display:grid; gap:.28rem; margin-top:2.15rem; }.admin-nav a { display:flex; align-items:center; gap:.6rem; padding:.62rem .65rem; border-radius:6px; color:#dceaf0; text-decoration:none; font-size:.9rem; font-weight:700; }.admin-nav a:hover { background:#1c3a48; color:white; }
.sidebar-footer { margin-top:auto; padding:.9rem .35rem .2rem; display:grid; gap:.45rem; }.sidebar-footer small { color:#9ec1c8; line-height:1.35; }
.admin-main { min-width:0; }.admin-topbar { min-height:68px; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:0 1.4rem; background:var(--surface); border-bottom:1px solid var(--line); }.admin-topbar strong { font-size:.95rem; }.operator-profile { justify-content:flex-end; }.operator-profile small { display:block; font-size:.72rem; }.avatar { width:2rem; height:2rem; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:var(--teal); border-radius:50%; font-size:.72rem; font-weight:800; }.admin-content { max-width:1600px; padding:1.4rem; }
.page-header,.panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }.page-header { margin-bottom:1.1rem; }.page-header p { max-width:760px; color:var(--muted); margin-bottom:0; }
.panel { min-width:0; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:1rem; box-shadow:0 1px 2px rgba(23,37,48,.025); }.panel-heading { margin-bottom:.9rem; }.panel-heading p { margin:.25rem 0 0; font-size:.88rem; }
.metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-bottom:.9rem; }.metric-card { min-height:126px; display:grid; align-content:start; gap:.38rem; padding:1rem; background:#183441; color:#e7f2f4; border:1px solid #315260; border-radius:8px; }.metric-card svg { color:#7dd5c7; }.metric-card span { color:#c9dce2; font-size:.78rem; font-weight:800; text-transform:uppercase; }.metric-card strong { color:#fff; font-size:1.5rem; }.metric-card small { color:#c9dce2; }
.operator-grid,.workspace-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; margin-bottom:.9rem; }.health-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:0; }.health-list div { border:1px solid var(--line); border-radius:6px; padding:.6rem; }.health-list dt { color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; }.health-list dd { margin:.25rem 0 0; font-weight:750; font-size:.9rem; }
.audit-list,.company-list,.invite-list { display:grid; gap:.6rem; }.audit-item { display:flex; gap:.55rem; padding:.15rem 0 .55rem; border-bottom:1px solid var(--line); }.audit-item:last-child { border-bottom:0; }.audit-item p { margin:.16rem 0; color:var(--muted); font-size:.84rem; }.audit-item small { font-size:.72rem; }.audit-dot { width:.55rem; height:.55rem; margin-top:.35rem; border-radius:50%; background:#7f98a4; flex:0 0 auto; }.audit-dot.green { background:var(--teal); }.audit-dot.red { background:var(--red); }
.onboarding-panel { margin-bottom:.9rem; }.operator-form { display:grid; gap:.8rem; }.compact-form { gap:.58rem; }.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }.form-grid-compact { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:780px; }.operator-form label,.reset-form label { display:grid; gap:.32rem; color:#334d5a; font-size:.78rem; font-weight:800; }.operator-form input,.operator-form select,.reset-form input { width:100%; min-height:2.5rem; padding:.5rem .6rem; color:var(--ink); background:#fff; border:1px solid #b8cbd4; border-radius:6px; font-weight:500; }.operator-form input:focus,.operator-form select:focus,.reset-form input:focus { outline:2px solid rgba(46,118,109,.18); border-color:var(--teal); }.feature-fieldset { margin:0; padding:.72rem; border:1px solid var(--line); border-radius:6px; }.feature-fieldset legend { padding:0 .3rem; color:#567080; font-size:.72rem; font-weight:800; text-transform:uppercase; }.feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.35rem .8rem; }.feature-grid label,.inline-checks label { display:flex; align-items:center; gap:.42rem; font-size:.82rem; font-weight:650; }.inline-checks { display:flex; flex-wrap:wrap; gap:.75rem; }
.primary-button,.text-button,.danger-button,.table-action,.icon-button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:2.35rem; padding:.48rem .75rem; border:1px solid var(--line); border-radius:6px; text-decoration:none; font-weight:800; }.primary-button { border-color:var(--teal); background:var(--teal); color:#fff; }.primary-button:hover { background:#1b665e; }.text-button,.table-action,.icon-button { color:var(--ink); background:#fff; }.text-button:hover,.table-action:hover,.icon-button:hover { border-color:#91aab6; background:#f6fafb; }.danger-button { border-color:var(--red); background:var(--red); color:#fff; }.icon-button { width:2.35rem; padding:0; }.action-button { white-space:nowrap; }
.notice { margin:0 0 .9rem; padding:.72rem .8rem; border-radius:6px; border:1px solid; font-weight:700; font-size:.88rem; }.notice-ok { color:#176858; background:var(--teal-soft); border-color:#9ed4c9; }.notice-error { color:#8a3333; background:var(--red-soft); border-color:#ecb2b2; }.notice-warning { color:#7d5a17; background:var(--amber-soft); border-color:#e7c985; }
.company-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:.9rem; align-items:start; margin-bottom:.9rem; }.company-directory { position:sticky; top:.8rem; }.company-list-item { display:flex; justify-content:space-between; align-items:flex-start; gap:.6rem; padding:.72rem; color:var(--ink); border:1px solid transparent; border-radius:6px; text-decoration:none; }.company-list-item:hover { background:#f5faf9; border-color:#d7e8e3; }.company-list-item.selected { background:var(--teal-soft); border-color:#a8d9ce; }.company-list-item strong,.company-list-item small { display:block; }.company-list-item small { margin-top:.18rem; font-size:.72rem; }.company-workspace { min-width:0; }.workspace-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1rem; margin-bottom:.9rem; background:#173440; color:#fff; border-radius:8px; }.workspace-header h2 { margin:.22rem 0; color:#fff; }.workspace-header p { margin:0; color:#c8dce3; font-size:.76rem; overflow-wrap:anywhere; }.workspace-header .eyebrow { color:#9ec8c3; }
.status-pill { display:inline-flex; align-items:center; min-height:1.45rem; padding:.15rem .45rem; border:1px solid var(--line); border-radius:999px; color:#526976; background:#f6fafb; font-size:.69rem; font-weight:800; white-space:nowrap; }.status-pill.green { color:#176858; background:var(--teal-soft); border-color:#9ed4c9; }.status-pill.red { color:#8a3333; background:var(--red-soft); border-color:#ecb2b2; }.status-pill.amber { color:#7d5a17; background:var(--amber-soft); border-color:#e7c985; }
.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; }th { color:#5b7380; background:#f3f7f8; font-size:.68rem; text-align:left; text-transform:uppercase; }th,td { padding:.58rem; border-bottom:1px solid var(--line); }td { font-size:.82rem; }td strong,td small { display:block; }td small { margin-top:.14rem; font-size:.72rem; }.table-action { min-height:2rem; padding:.35rem .55rem; font-size:.76rem; }.danger-text { color:var(--red); }
.invite-item { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.55rem 0; border-bottom:1px solid var(--line); }.invite-item:last-child { border-bottom:0; }.invite-item strong,.invite-item small { display:block; }.invite-item strong { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.82rem; }.invite-item small { margin-top:.16rem; font-size:.72rem; }.danger-zone { border-color:#e0a1a1; background:#fffafa; }.reset-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:.65rem; }.reset-form label { min-width:min(320px,100%); }.loading-state,.empty-page { padding:2rem; }.login-shell { min-height:100vh; display:grid; place-items:center; padding:1rem; background:#173440; }.login-card { width:min(480px,100%); padding:1.5rem; background:#fff; border-radius:8px; box-shadow:var(--shadow); }.login-copy { margin:1.4rem 0; }.login-copy h1 { margin:.2rem 0 .5rem; }.login-copy p { color:var(--muted); }.login-form { display:grid; gap:.75rem; }.login-form label { display:grid; gap:.32rem; color:#334d5a; font-size:.8rem; font-weight:800; }.login-form input { min-height:2.5rem; padding:.5rem .6rem; border:1px solid #b8cbd4; border-radius:6px; }
@media (max-width:1100px) { .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.company-layout { grid-template-columns:1fr; }.company-directory { position:static; }.company-list { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }.form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .admin-shell { grid-template-columns:1fr; }.admin-sidebar { min-height:auto; }.admin-nav { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1rem; }.admin-nav a { font-size:.78rem; }.sidebar-footer { display:none; }.admin-topbar { padding:.8rem 1rem; }.admin-content { padding:1rem; }.page-header,.panel-heading,.workspace-header { flex-direction:column; }.metric-grid,.operator-grid,.workspace-grid,.form-grid,.form-grid-compact,.health-list { grid-template-columns:1fr; }.company-list { grid-template-columns:1fr; }.reset-form { align-items:stretch; }.operator-profile strong,.operator-profile small { display:none; } }
