:root{--bg: #0A0F1A;--bg-2: #0c1322;--card: #111827;--card-2: #0f1726;--surface: #131c2e;--border: #1F2937;--border-2: #263247;--hair: rgba(148, 163, 184, .1);--text: #F1F5F9;--muted: #94A3B8;--faint: #64748B;--primary: #0077B6;--accent: #0EA5E9;--accent-2: #38BDF8;--accent-soft: rgba(14, 165, 233, .14);--accent-line: rgba(14, 165, 233, .42);--green: #34D399;--green-bg: rgba(52, 211, 153, .13);--amber: #FBBF24;--amber-bg: rgba(251, 191, 36, .13);--red: #F87171;--red-bg: rgba(248, 113, 113, .13);--font-heading: "DM Sans", ui-sans-serif, system-ui, sans-serif;--font-body: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--radius: 12px;--radius-md: 8px;--radius-sm: 6px;--shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 18px 44px -28px rgba(0, 0, 0, .8)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background-color:var(--bg);background-image:radial-gradient(1100px 520px at 80% -10%,rgba(14,165,233,.1),transparent 60%),radial-gradient(820px 540px at 4% -4%,rgba(0,119,182,.12),transparent 55%),linear-gradient(180deg,var(--bg-2),var(--bg));background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.shell{max-width:1280px;margin:0 auto;padding:26px clamp(16px,4vw,44px) 80px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;background:linear-gradient(150deg,var(--accent-2),var(--primary));box-shadow:0 0 0 1px var(--accent-line),0 8px 20px -10px #0ea5e9cc;color:#06121f;font-family:var(--font-heading);font-weight:700;font-size:17px}.brand-name{font-family:var(--font-heading);font-weight:700;font-size:20px;letter-spacing:-.01em}.brand-name b{color:var(--accent-2);font-weight:700}.brand-sub{margin-left:14px;padding-left:14px;border-left:1px solid var(--border-2);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.topbar-right{display:flex;align-items:center;gap:12px}.asof{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.asof .k{color:var(--faint);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.asof .v{color:var(--muted);font-size:13px;font-weight:600}.who{display:flex;align-items:center;gap:9px;padding:5px 6px 5px 11px;border:1px solid var(--border-2);border-radius:999px;background:var(--card-2)}.who .name{font-size:13px;font-weight:600;color:var(--text)}.who .role{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.avatar{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(160deg,var(--primary),#0a3a5c);color:#dff1fb;border:1px solid var(--accent-line);font-size:11px;font-weight:700;letter-spacing:.02em}.signout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-2);background:transparent;cursor:pointer;color:var(--muted);font-family:var(--font-body);font-size:12px;font-weight:600;padding:8px 13px;border-radius:999px;transition:.18s ease}.signout:hover{color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.section{margin-top:34px}.section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:15px}.section-title{font-family:var(--font-heading);font-weight:700;font-size:18px;letter-spacing:-.01em;margin:0}.section-title:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:2px;background:var(--accent);transform:translateY(-3px);box-shadow:0 0 10px var(--accent)}.section-note{color:var(--faint);font-size:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}@media (max-width: 880px){.kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.kpis{grid-template-columns:1fr}}.kpi{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--border);border-radius:var(--radius);padding:17px 18px 15px;box-shadow:var(--shadow);transition:transform .22s ease,border-color .22s ease}.kpi:hover{transform:translateY(-3px);border-color:var(--border-2)}.kpi--feature{border-color:var(--accent-line);background:radial-gradient(120% 90% at 0% 0%,var(--accent-soft),transparent 58%),linear-gradient(180deg,var(--card),var(--card-2))}.kpi--feature:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}.kpi-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.kpi--feature .kpi-label{color:var(--accent-2)}.kpi-value{font-family:var(--font-heading);font-weight:700;font-size:clamp(25px,2.9vw,35px);line-height:1.06;letter-spacing:-.02em;margin:10px 0 7px;color:var(--text)}.kpi-sub{font-size:12px;color:var(--faint);display:flex;align-items:center;gap:8px}.kpi-sub b{color:var(--muted);font-weight:700}.panel{background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px}.panel--pad{padding:18px 20px 12px}.btable{width:100%;border-collapse:collapse}.btable thead th{text-align:right;padding:11px 16px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--border)}.btable thead th:first-child,.btable tbody td:first-child{text-align:left}.btable tbody td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--hair)}.btable tbody tr:last-child td{border-bottom:none}.btable tbody tr{transition:background .15s ease}.btable tbody tr:hover{background:#94a3b80d}.bcode{font-weight:700;letter-spacing:.04em}.bnum{text-align:right;color:var(--text)}.bnum.dim{color:var(--faint)}.share{display:flex;align-items:center;gap:11px;min-width:160px}.share-pct{width:46px;text-align:right;font-size:13px;color:var(--muted)}.share-track{flex:1;height:7px;border-radius:4px;background:#94a3b81f;overflow:hidden}.share-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--primary),var(--accent))}.rag{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid transparent}.rag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.rag--green{color:var(--green);background:var(--green-bg);border-color:#34d39947}.rag--neutral{color:var(--amber);background:var(--amber-bg);border-color:#fbbf2447}.rag--red{color:var(--red);background:var(--red-bg);border-color:#f8717147}.ar{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}@media (max-width: 880px){.ar{grid-template-columns:repeat(3,1fr)}}@media (max-width: 460px){.ar{grid-template-columns:repeat(2,1fr)}}.ar-card{background:var(--card-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 15px}.ar-card .k{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.ar-card .v{font-family:var(--font-heading);font-weight:700;font-size:21px;margin-top:8px}.ar-card .v.zero{color:var(--faint)}.ar-card.hot{border-color:var(--accent-line)}.ar-bar{height:3px;border-radius:2px;margin-top:10px;background:#94a3b81f;overflow:hidden}.ar-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent))}.chartwrap{width:100%;height:300px;padding:6px 4px 0}.tip{background:var(--surface);border:1px solid var(--border-2);border-radius:10px;padding:9px 12px;box-shadow:0 16px 40px -20px #000000e6}.tip .d{font-size:11px;color:var(--faint);margin-bottom:3px}.tip .v{font-family:var(--font-heading);font-weight:700;font-size:16px;color:var(--text)}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(380px,92vw);background:linear-gradient(180deg,var(--card),var(--card-2));border:1px solid var(--border-2);border-radius:16px;box-shadow:var(--shadow);padding:32px 30px 28px;animation:rise .6s cubic-bezier(.22,1,.36,1) both}.login-brand{display:flex;align-items:center;gap:12px}.login-card h1{font-family:var(--font-heading);font-weight:700;font-size:23px;margin:18px 0 2px;letter-spacing:-.01em}.login-card .sub{color:var(--muted);font-size:13px;margin-bottom:22px}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}.field input{width:100%;padding:12px 14px;border-radius:10px;color:var(--text);background:var(--bg);border:1px solid var(--border-2);font-family:var(--font-body);font-size:15px;outline:none;transition:.18s ease}.field input::placeholder{color:var(--faint)}.field input:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.field input[name=initials]{letter-spacing:.18em;font-weight:700}.btn{width:100%;margin-top:6px;padding:13px 16px;border:none;cursor:pointer;border-radius:10px;font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(150deg,var(--accent),var(--primary));box-shadow:0 10px 26px -12px #0ea5e9cc;transition:.18s ease}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:default;transform:none}.err{color:var(--red);font-size:13px;margin:14px 0 0;text-align:center}.state-msg{text-align:center;max-width:420px}.state-msg h2{font-family:var(--font-heading);font-weight:700;font-size:22px;margin:16px 0 8px}.state-msg p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.state-msg .signout{margin-top:22px}@keyframes rise{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:rise .55s cubic-bezier(.22,1,.36,1) both}.d1{animation-delay:.05s}.d2{animation-delay:.13s}.d3{animation-delay:.21s}.d4{animation-delay:.29s}@media (prefers-reduced-motion: reduce){.reveal,.login-card{animation:none}.kpi:hover{transform:none}}
