/* ===== Design pass v5: navy/accent palette, Inter, cards, sticky headers, empty states, palette, dark mode ===== */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--navy:#0f1f3d;--navy2:#172a52;--accent:#2563eb;--accent2:#1d4ed8;--red:#c8102e;--bg:#f4f6fa;--card:#fff;--line:#e3e8f0;--ink:#0f172a;--muted:#64748b;--th:#f8fafc;--hover:#f1f5ff;--shadow:0 1px 2px rgba(15,23,42,.04),0 2px 8px rgba(15,23,42,.05);--ok:#15803d;--warn:#b45309;--bad:#b91c1c}
body{font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink)}
a{color:var(--accent)}h1{font-weight:700;letter-spacing:-.015em}h2,h3{font-weight:650;letter-spacing:-.01em}
.side{background:var(--navy)!important}.side nav a.on,.side .bottom a.on{background:var(--navy2)!important;border-left-color:var(--accent)!important}
.topbar{box-shadow:0 1px 0 var(--line)}
.btn,button:not(.link):not(.navtog):not(.fx):not(.burger){background:var(--accent);border-radius:8px}.btn:hover,button:not(.link):not(.navtog):not(.fx):not(.burger):hover{background:var(--accent2)}
.btn.alt,button.alt{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important}.btn.alt:hover,button.alt:hover{background:var(--hover)!important}
.btn.danger,button.danger{background:var(--bad)!important}
.card,.kpi,.tablewrap{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.kpi{border-top:3px solid var(--accent)!important;transition:transform .12s,box-shadow .12s}a.kpi:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.08)}
.kpi b{font-size:24px;font-weight:700;letter-spacing:-.02em}.kpi span{color:var(--muted);font-size:12.5px}.kpi.red,.kpi.bad{border-top-color:var(--bad)!important}.kpi.amber,.kpi.warn{border-top-color:#f59e0b!important}
/* sticky page head + sticky table headers */
main>.head{position:sticky;top:48px;z-index:15;background:var(--bg);padding:10px 0 8px;margin-top:-4px}
.tablewrap{overflow:auto;max-height:calc(100vh - 170px)}.tablewrap table{background:transparent}
.tablewrap thead th{position:sticky;top:0;z-index:2;background:var(--th)}
tbody tr:hover td{background:var(--hover)}td{border-bottom:1px solid var(--line)}
/* filters bar + saved views */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 12px;box-shadow:var(--shadow)}
.filters input,.filters select{margin:0!important;width:auto}
.views{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-4px 0 10px}.views .vchip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:12.5px;text-decoration:none;color:var(--ink)}
.views .vchip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.views .vchip i{font-style:normal;opacity:.6;cursor:pointer;margin-left:2px}.views .vsave{font-size:12.5px;background:none!important;color:var(--accent)!important;border:1px dashed var(--accent)!important;border-radius:999px;padding:3px 10px}
/* empty states */
.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:28px 12px!important;border:1px dashed var(--line);border-radius:12px;background:var(--card);color:var(--muted)}
.empty::before{content:'';width:44px;height:44px;border-radius:50%;background:var(--hover) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='2'%3E%3Cpath d='M3 7h18M3 12h18M3 17h10'/%3E%3C/svg%3E") center/22px no-repeat}
/* breadcrumbs */
.crumbs{font-size:12.5px;color:var(--muted);margin:10px 0 2px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}
/* inline edit */
[data-inline]{cursor:text;border-radius:5px;padding:1px 3px;margin:-1px -3px}[data-inline]:hover{background:var(--hover);outline:1px dashed #93c5fd}[data-inline].saving{opacity:.5}[data-inline].saved{background:#dcfce7}
/* command palette */
.cmdk{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:200}.cmdk[hidden]{display:none}
.cmdk .box{width:min(620px,92vw);background:var(--card);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;border:1px solid var(--line)}
.cmdk input{border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:16px 18px!important;font-size:16px!important;max-width:none!important;margin:0!important;background:var(--card);color:var(--ink);outline:none}
.cmdk ul{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.cmdk li{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer}.cmdk li small{color:var(--muted)}.cmdk li.on{background:var(--accent);color:#fff}.cmdk li.on small{color:#dbeafe}
.cmdk .hint{font-size:11.5px;color:var(--muted);padding:8px 14px;border-top:1px solid var(--line);display:flex;gap:14px}kbd{font:11px Inter,monospace;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 5px;background:var(--th)}
.kbdhelp table{width:auto}.kbdhelp td{padding:4px 12px 4px 0;border:0}
.topbar .tbtn{background:none!important;border:1px solid #ffffff33!important;color:inherit!important;border-radius:8px;padding:4px 9px!important;font-size:12px;cursor:pointer}
.chart{width:100%;height:150px;display:block}
/* dark mode */
body.dark{--bg:#0b1220;--card:#111a2e;--line:#22304d;--ink:#e2e8f0;--muted:#94a3b8;--th:#0f1729;--hover:#16233f;--shadow:none;color-scheme:dark}
body.dark .topbar{background:#0f1729!important;color:#e2e8f0}body.dark table{background:transparent}body.dark th{color:var(--muted)}
body.dark input,body.dark select,body.dark textarea{background:#0f1729;color:var(--ink);border-color:var(--line)}
body.dark .flash{background:#132a1e;color:#bbf7d0;border-color:#14532d}body.dark .warnbox{background:#2a1f0b;color:#fde68a}body.dark .infobox{background:#0f2340;color:#bfdbfe}
body.dark .badge{filter:brightness(.9)}body.dark .muted{color:var(--muted)}body.dark .fly{background:#111a2e;color:var(--ink)}body.dark .fly a{color:var(--ink)}
body.dark .plan,body.dark .plancard img{background:#e5e7eb}body.dark .chart text{fill:#94a3b8}
@media print{main>.head{position:static}.tablewrap{max-height:none;overflow:visible}.cmdk,.views{display:none!important}}
body.dark .alerts,body.dark .alerts .al,body.dark section.card,body.dark .panel{background:var(--card)!important;color:var(--ink);border-color:var(--line)}body.dark .alerts a,body.dark .alerts span{color:var(--ink)}body.dark .topbar a,body.dark .topbar b,body.dark .topbar strong,body.dark .topbar .brand{color:#e2e8f0!important}
body.dark .topbar .org{color:#e2e8f0!important}
/* ---- BeaconOps palette (beacon orange / amber / charcoal). --accent is the text-safe dark orange (AA on white); --brand is the logo orange, used with charcoal text ---- */
:root{--navy:#2B2F33;--navy2:#363b40;--brand:#FF6A00;--brand2:#E85F00;--amber:#FFB300;--lime:#FFB300;--accent:#B84A00;--accent2:#9A3D00;--charcoal:#2B2F33;--red:#B84A00;--bg:#F5F5F4;--line:#E4E2DF;--ink:#2B2F33;--muted:#5E6369;--th:#FAF9F7;--hover:#FFF3EA}
.side{background:linear-gradient(180deg,#2B2F33,#202326)!important}.side nav a.on,.side .bottom a.on{background:rgba(255,106,0,.16)!important;border-left-color:var(--brand)!important;color:#fff!important}.side nav a.on svg{color:var(--amber)}
.topbar{background:var(--charcoal)!important;color:#F1F1F0;border-bottom:3px solid var(--brand)}.topbar a,.topbar b,.topbar .org{color:#F1F1F0!important}
button:not(.link):not(.alt):not(.tbtn):not(.fx):not(.navtog):not(.burger),.btn:not(.alt){background:var(--brand);border-color:var(--brand);color:#1E2124;font-weight:600}button:not(.link):not(.alt):hover,.btn:not(.alt):hover{background:var(--brand2)}
a{color:var(--accent)}.side a,.topbar a{color:inherit}.tabbar a.on{border-bottom-color:var(--brand)!important;color:var(--ink)}.kpi{border-top-color:var(--brand)!important}.kpi b{color:var(--accent)}.cnt{background:var(--amber);color:#1E2124}
.brand .logo,.logo{background:transparent!important;width:36px;height:36px;border-radius:0}.brand .logo img{width:36px;height:36px;display:block;border-radius:8px}.brand{color:#fff!important}.brand b.ops{color:var(--amber);font-weight:inherit}.login .brand.big{justify-content:center}.loginlogo{display:block;margin:0 auto}
body.dark{--bg:#17191B;--card:#202326;--line:#33373B;--ink:#ECEDEE;--muted:#A3A8AD;--th:#1B1D20;--hover:#2A2622;--accent:#FF8A3D;--accent2:#FF9F5E}
body.dark .topbar{background:#111315!important}body.dark .side{background:linear-gradient(180deg,#1E2124,#141618)!important}body.dark a{color:#FF8A3D}body.dark .side a,body.dark .topbar a{color:inherit}
body.dark button:not(.link):not(.alt):not(.tbtn):not(.fx):not(.navtog):not(.burger),body.dark .btn:not(.alt){background:var(--brand);color:#1E2124}body.dark .fly,body.dark input,body.dark select,body.dark textarea{background:#1B1D20}
body.dark .views .vchip.on,body.dark .cmdk li.on{background:#B84A00;color:#fff}
/* ---- link-style buttons + remaining blue accents → BeaconOps palette ---- */
button.link,.link{color:var(--accent)!important}button.link:hover{color:var(--accent2)!important;text-decoration:underline}
button.link.danger,form[onsubmit*="Cancel"] button.link{color:var(--accent)!important}
[data-inline]:hover{outline-color:var(--brand)!important}.b-office{background:#FFE8D6!important;color:#7A3100}
.trialbar{background:#FFF4EB;border:1px solid #FFC9A3;border-left:4px solid var(--brand);color:#5A2600;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:14px}.trialbar a{font-weight:700;color:var(--accent)}
body.dark .trialbar{background:#2A2017;border-color:#5A3A1E;color:#FFD9BD}body.dark .trialbar a{color:#FF8A3D}.signup{max-width:460px}
