:root,:root[data-theme=dark]{--bg:#060608;--panel:rgba(9,11,15,0.62);--panel-2:rgba(19,22,29,0.55);--border:rgba(255,255,255,0.07);--text:#e6edf3;--muted:#939fb0;--accent:#38bdf8;--accent-dim:#2b93cc;--danger:#e5534b;--ok:#3fb950;--glass-blur:16px}:root[data-theme=light]{--bg:#eef1f6;--panel:rgba(255,255,255,0.72);--panel-2:rgba(238,241,245,0.66);--border:rgba(20,30,50,0.12);--text:#1a2230;--muted:#51607a;--accent:#0284c7;--accent-dim:#0369a1;--danger:#c0392b;--ok:#2e9e4a}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}:root[data-theme=light] *{scrollbar-color:rgba(20,30,50,.3) transparent}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:rgba(20,30,50,.28);background-clip:padding-box}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(38% 44% at 22% 26%,rgba(245,166,35,.09),transparent 62%),radial-gradient(40% 46% at 78% 32%,rgba(38,175,170,.065),transparent 62%),radial-gradient(46% 50% at 60% 82%,rgba(126,92,200,.07),transparent 62%),#060608;background-size:180% 180%,200% 200%,220% 220%,auto;background-repeat:no-repeat;animation:beacon-drift 44s ease-in-out infinite}:root[data-theme=light] body:before{background:radial-gradient(40% 46% at 20% 24%,rgba(245,166,35,.1),transparent 62%),radial-gradient(42% 48% at 80% 34%,rgba(38,150,175,.08),transparent 62%),radial-gradient(48% 52% at 60% 84%,rgba(126,92,200,.08),transparent 62%),#eef1f6;background-size:180% 180%,200% 200%,220% 220%,auto;background-repeat:no-repeat}@keyframes beacon-drift{0%{background-position:10% 10%,90% 10%,50% 95%,0 0}33%{background-position:32% 42%,62% 28%,40% 70%,0 0}66%{background-position:6% 26%,96% 46%,66% 86%,0 0}to{background-position:10% 10%,90% 10%,50% 95%,0 0}}@media (prefers-reduced-motion:reduce){body:before{animation:none}}a{color:var(--accent)}.appbar,.card,.chat-panel,.login-box,.metric,.office-list,.sidenav{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.wrap{max-width:980px;margin:0 auto;padding:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px}.brand .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.logo{display:flex;align-items:center;gap:11px}.logo-name{font-weight:700;font-size:20px;letter-spacing:-.4px;color:var(--text);line-height:1}.logo-sub{font-size:9px;letter-spacing:1.4px;color:var(--muted);margin-top:3px;text-transform:uppercase}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:22px;font-weight:600;margin:4px 0 16px;color:var(--text)}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px;margin-bottom:18px}.card h2{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.metric{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px}.metric .label{font-size:12px;color:var(--muted);text-transform:uppercase}.metric .value{font-size:24px;font-weight:700;margin-top:4px}.metric .prov{font-size:12px;color:var(--accent);margin-bottom:6px;text-transform:uppercase}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:600;text-transform:uppercase}.badge,th{font-size:12px}.badge{display:inline-block;padding:2px 8px;border-radius:999px}.badge.active{background:rgba(63,185,80,.15);color:var(--ok)}.badge.other{background:rgba(139,151,166,.15);color:var(--muted)}button,input,select{font:inherit}input,select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:9px 11px;width:100%}label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}button{background:rgba(8,10,14,.5);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s,border-color .15s}button:hover:not(:disabled){background:rgba(34,40,52,.6);border-color:rgba(255,255,255,.18)}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:500;-webkit-backdrop-filter:none;backdrop-filter:none}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.row>div{flex:1 1;min-width:140px}.error{color:var(--danger);font-size:14px;margin-top:10px}.login-box{max-width:360px;margin:12vh auto}.shell{display:flex;min-height:100vh}.sidenav{width:220px;flex:0 0 220px;background:var(--panel);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:6px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand-block{padding:4px 6px 14px;margin-bottom:6px;border-bottom:1px solid var(--border)}.sidenav .office{margin:14px 0 8px}.sidenav .office label{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;margin-bottom:4px}.sidenav nav{margin-top:4px;overflow-y:auto}.nav-section,.sidenav nav{display:flex;flex-direction:column;gap:2px}.nav-section{margin-bottom:10px}.nav-section-title{font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px}.sidenav nav a{display:block;padding:8px 10px;border-radius:7px;color:var(--text);text-decoration:none;font-size:14px}.sidenav nav a:hover{background:var(--panel-2)}.sidenav nav a.active{background:rgba(255,255,255,.06);color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.sidefoot{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.main-col{flex:1 1;min-width:0;display:flex;flex-direction:column}.appbar{justify-content:space-between;gap:16px;padding:10px 32px;border-bottom:1px solid var(--border);background:var(--panel);position:-webkit-sticky;position:sticky;top:0;z-index:50}.appbar,.appbar-right{display:flex;align-items:center}.appbar-right{gap:12px}.office-current{font-weight:600}.office-menu{position:relative}.office-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;font-weight:600;color:var(--text)}.office-menu>summary::-webkit-details-marker{display:none}.office-menu .caret{color:var(--muted);font-size:12px}.office-list{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;z-index:60;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 24px rgba(0,0,0,.35)}.office-list button{text-align:left;background:transparent;color:var(--text);border:0;border-radius:6px;padding:8px 10px;font-weight:500;cursor:pointer;font-size:14px}.office-list button:hover{background:var(--panel-2)}.office-list button.active{background:rgba(255,255,255,.08);color:var(--accent);font-weight:600}.content{flex:1 1;min-width:0;padding:28px 32px;max-width:1100px}.charts{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}@media (max-width:820px){.shell{flex-direction:column}.sidenav{width:auto;flex:none;height:auto;position:static;flex-direction:column}.appbar{padding:10px 16px}.content{padding:20px 16px}.charts{grid-template-columns:1fr}}.chat-fab{position:fixed;right:24px;bottom:24px;z-index:100;display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:4px;cursor:pointer;color:var(--text)}.chat-fab-label{font-size:13px;font-weight:600;color:var(--text);background:var(--panel);border:1px solid var(--border);padding:6px 12px;border-radius:18px;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:0 4px 14px rgba(0,0,0,.35)}.chat-fab.open{opacity:.9}.chat-panel{position:fixed;right:24px;bottom:92px;z-index:100;width:360px;max-width:calc(100vw - 44px);height:480px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.45);overflow:hidden}.chat-head{align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.chat-body,.chat-head{display:flex;padding:12px 14px}.chat-body{flex:1 1;overflow-y:auto;flex-direction:column;gap:8px}.chat-msg{padding:8px 12px;border-radius:10px;font-size:14px;max-width:85%;white-space:pre-wrap}.chat-msg.user{align-self:flex-end;background:rgba(255,255,255,.1);color:var(--text)}.chat-msg.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border)}.chat-input{display:flex;gap:6px;padding:10px;border-top:1px solid var(--border)}.chat-input input{flex:1 1}