:root{--bg: #0f1720;--surface: #16202b;--surface-2: #1d2936;--line: #263443;--ink: #e8eef4;--ink-2: #a9b6c4;--ink-3: #74859a;--accent: #3b82f6;--accent-2: #60a5fa;--good: #34d399;--warn: #f5b74a;--bad: #f87171;--s1: #3b82f6;--s2: #34d399;--s3: #f5b74a;--s4: #f87171;--s5: #a78bfa;--s6: #22d3ee;--s7: #f472b6;--s8: #94a3b8;--radius: 12px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef2f7;--line: #dde3ea;--ink: #111a24;--ink-2: #4a5868;--ink-3: #7b8796;--accent: #2563eb;--accent-2: #3b82f6;--good: #0f9d6b;--warn: #b7791f;--bad: #d64545;--s1: #2563eb;--s2: #0f9d6b;--s3: #d4930e;--s4: #d64545;--s5: #7c3aed;--s6: #0891b2;--s7: #db2777;--s8: #64748b;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent-2)}h1,h2,h3{margin:0;line-height:1.25;text-wrap:balance}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}.muted{color:var(--ink-2)}.small{font-size:13px}.num{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}.side{background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;padding:0 6px}.brand img{width:28px;height:28px}.auth-logo{position:relative;width:88%;aspect-ratio:1200 / 296;margin:4px auto 14px}.auth-logo img{display:block;width:100%;height:100%}.auth-logo .shine{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;-webkit-mask:url(/logo.png) center / 100% 100% no-repeat;mask:url(/logo.png) center / 100% 100% no-repeat}.auth-logo .shine:before{content:"";position:absolute;top:-60%;bottom:-60%;left:0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,228,140,.5) 30%,rgba(255,249,225,.95) 50%,rgba(255,228,140,.5) 70%,transparent);transform:translate(-150%) skew(-22deg);animation:logo-shine 1.6s cubic-bezier(.45,.05,.4,1) .35s 2 both}@keyframes logo-shine{to{transform:translate(330%) skew(-22deg)}}@media (prefers-reduced-motion: reduce){.auth-logo .shine{display:none}}.nav{display:grid;gap:2px}.nav a{color:var(--ink-2);text-decoration:none;padding:9px 10px;border-radius:8px;font-weight:500}.nav a:hover,.nav a.active{background:var(--surface-2);color:var(--ink)}.side .foot{margin-top:auto;display:grid;gap:8px;font-size:13px;color:var(--ink-3)}.main{padding:24px clamp(16px,3vw,32px) 48px;display:grid;gap:20px;align-content:start;min-width:0}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.tabbar{display:none}@media (max-width: 860px){.app{grid-template-columns:1fr}.side{display:none}.main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}.tabbar a{text-align:center;color:var(--ink-3);text-decoration:none;font-size:12px;padding:6px;border-radius:8px}.tabbar a.active{color:var(--ink);background:var(--surface-2)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;gap:14px;min-width:0;align-content:start}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 1100px){.grid2{grid-template-columns:1fr}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:4px}.kpi .label{color:var(--ink-2);font-size:13px}.kpi .value{font-size:26px;font-weight:650;font-variant-numeric:tabular-nums}.delta{font-size:12.5px;font-weight:600}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta.flat{color:var(--ink-3)}button,.btn{font:600 14px var(--font);border-radius:8px;padding:9px 14px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.55;cursor:default}button.ghost{background:transparent}button.danger{color:var(--bad)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:3px;gap:2px}.seg button{border:0;background:transparent;color:var(--ink-2);padding:6px 11px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--ink)}label.field{display:grid;gap:6px;font-size:13.5px;color:var(--ink-2)}input,select,textarea{font:15px var(--font);padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:100%}.check{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--ink-2)}.check input{width:auto;margin-top:3px}.error{color:var(--bad);font-size:14px}.ok{color:var(--good);font-size:14px}.auth{min-height:100%;display:grid;place-items:center;padding:24px 16px}.auth .card{width:min(420px,100%);padding:28px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;color:var(--ink-3);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:8px;border-bottom:1px solid var(--line)}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}.scroll{overflow-x:auto}.recs{display:grid;gap:10px}.rec{display:grid;grid-template-columns:4px minmax(0,1fr);gap:12px;background:var(--surface-2);border-radius:10px;padding:12px 14px 12px 0}.rec:before{content:"";border-radius:0 3px 3px 0;background:var(--sev)}.rec .t{font-weight:600}.rec p{margin:2px 0 0;color:var(--ink-2);font-size:14px}.pill{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2)}.pill.active{color:var(--good)}.pill.error{color:var(--bad)}.pill.pending{color:var(--warn)}.empty{text-align:center;padding:36px 16px;display:grid;gap:12px;justify-items:center}.chart{width:100%;height:260px}.tip{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px}@media (max-width: 560px){.invite-row{grid-template-columns:1fr!important}}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ink-2);padding:8px 12px;font-weight:500}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.pies{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.legend{display:grid;gap:4px;font-size:13px}.legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center}.legend i{width:10px;height:10px;border-radius:3px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}.panel-toggle{display:inline-flex;align-items:center;gap:8px;padding:2px 6px 2px 2px;margin:-2px 0 -2px -2px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:8px;min-width:0}.panel-toggle:hover{background:var(--surface-2)}.panel-toggle h2{margin:0}.panel-toggle .chev{flex:none;color:var(--ink-3);transition:transform .18s ease}.panel.closed .chev{transform:rotate(-90deg)}.panel.closed{padding-top:12px;padding-bottom:12px}.panel-summary{margin-left:auto;text-align:right}.panel-body{display:grid;gap:14px;min-width:0}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}button.small-btn{padding:6px 11px;font-weight:500;color:var(--ink-2)}@media (max-width: 640px){.panel-summary{margin-left:24px;text-align:left;flex-basis:100%}}@media (prefers-reduced-motion: reduce){.panel-toggle .chev{transition:none}}.panel-form{display:grid;gap:14px;min-width:0}
