:root{--ink:#0f1729;--ink-soft:#1e293b;--bg:#eef1f8;--paper:#eef1f8;--surface:#fff;--surface-2:#f5f8fd;--line:#e5eaf4;--line-soft:#eef2fa;--sidebar:#fbfcff;--text:#1f2a3d;--text-soft:#475569;--muted:#64708a;--text-faint:#94a3b8;--faint:#98a3b8;--accent:#2d4cc8;--accent-br:#3f63e8;--accent-ink:#20307d;--accent-wash:#eef2fe;--ok:#0f9d6e;--ok-wash:#e5f6ef;--warn:#c2730a;--warn-wash:#fbf1e0;--bad:#e0393b;--bad-wash:#fdeced;--amber:#c2730a;--amber-bg:#fbf1e0;--red:#e0393b;--display:"Bricolage Grotesque", Georgia, serif;--sans:"Hanken Grotesk", system-ui, sans-serif;--mono:"Spline Sans Mono", ui-monospace, monospace;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0f172a0a, 0 10px 26px -14px #0f172a33;--shadow-sm:0 1px 2px #0f172a0d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.brand{align-items:center;gap:11px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent-br), var(--accent));color:#fff;width:32px;height:32px;font-family:var(--display);box-shadow:var(--shadow-sm);border-radius:9px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.brand-name{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.05}.brand-name span,.brand-name b{color:var(--accent)}.brand-sub{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar .brand{padding:20px 20px 16px}.nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex;overflow-y:auto}.nav-label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:14px 10px 6px;font-size:10.5px;font-weight:700}.nav-item{border-radius:var(--radius-sm);color:var(--muted);text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:9px 11px;font-size:14px;font-weight:600;transition:background .13s,color .13s;display:flex}.nav-item svg{opacity:.85;flex:none;width:17px;height:17px}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-wash);color:var(--accent-ink)}.nav-item.active svg{opacity:1;color:var(--accent)}.nav-div{background:var(--line-soft);height:1px;margin:8px 10px}.side-foot{border-top:1px solid var(--line-soft);padding:12px}.side-user{align-items:center;gap:10px;padding:8px 10px;display:flex}.avatar{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.side-user .nm{color:var(--text);font-size:13px;font-weight:600;line-height:1.15}.side-user .rl{color:var(--faint);font-size:11px}.main{flex-direction:column;min-width:0;display:flex}.main-inner{width:100%;max-width:1120px;margin:0 auto;padding:34px 40px 64px}.container{max-width:1180px;margin:0 auto;padding:0 32px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:16px 32px;display:flex}.bnav{color:var(--text-soft);border-radius:9px;padding:8px 13px;font-size:13.5px;font-weight:600}.bnav:hover{background:var(--surface-2);color:var(--text)}.bnav.active{background:var(--accent);color:#fff}button.bnav{font:inherit;cursor:pointer;background:0 0;border:none}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-head h1{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;font-size:27px;font-weight:700}.page-head p{color:var(--muted);max-width:60ch;margin-top:5px;font-size:14px}.head-actions{flex-wrap:wrap;flex:none;gap:10px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .14s,background .14s,color .14s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.btn-sm{border-radius:8px;padding:6px 11px;font-size:12.5px}.btn-ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;gap:3px;margin-bottom:20px;padding:3px;display:inline-flex}.seg{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:7px 15px;font-size:13px;font-weight:600;transition:background .13s,color .13s}.seg:hover{color:var(--text)}.seg.active{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:15px 20px;display:flex}.panel-head h2{font-family:var(--display);color:var(--ink);font-size:16px;font-weight:600}.panel-head .count{color:var(--accent);background:var(--accent-wash);border-radius:100px;padding:2px 9px;font-size:12px;font-weight:700}.panel-head .spacer{margin-left:auto}.panel-body{padding:20px}.panel-body.flush{padding:0}.h1{font-family:var(--display);letter-spacing:-.025em;color:var(--ink);font-size:28px;font-weight:700}.muted{color:var(--text-soft)}.mono{font-family:var(--mono)}.t-strong{color:var(--ink);font-weight:700}.t-mono{font-family:var(--mono);color:var(--faint);font-size:11.5px}.field{margin-bottom:14px}.field label{color:var(--muted);margin-bottom:7px;font-size:12.5px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:10px;outline:none;padding:11px 13px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}textarea{resize:vertical;line-height:1.5}.form-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.form-row .field{margin:0}.check{color:var(--text);align-items:center;gap:8px;padding-bottom:9px;font-size:13.5px;font-weight:600;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.acct{border-bottom:1px solid var(--line-soft);padding:15px 0}.acct:first-child{padding-top:0}.acct:last-child{border-bottom:none;padding-bottom:0}.acct-name{color:var(--ink);align-items:center;gap:9px;margin-bottom:11px;font-weight:700;display:flex}.tbl-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13.5px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 20px;font-size:10.5px;font-weight:700}table.data td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:13px 20px}table.data tr:last-child td{border-bottom:none}table.data tbody tr{transition:background .12s}table.data tbody tr:hover{background:var(--surface-2)}table.data tr.row-link,table.data tr.drill{cursor:pointer}table.data th.num,table.data td.num{text-align:right;font-variant-numeric:tabular-nums}.chev{width:15px;height:15px;color:var(--faint)}tr.drill:hover .chev{color:var(--accent)}.pill{white-space:nowrap;border-radius:100px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.pill.no-dot:before{display:none}.pill.ok{color:var(--ok);background:var(--ok-wash)}.pill.warn{color:var(--warn);background:var(--warn-wash)}.pill.bad{color:var(--bad);background:var(--bad-wash)}.pill.neut{color:var(--muted);background:var(--surface-2)}.pill.info{color:var(--accent-ink);background:var(--accent-wash)}.pill.solid{color:#fff;background:var(--accent)}.pill.solid:before{opacity:.8;background:#fff}.rec{border-bottom:1px solid var(--line-soft);gap:14px;padding:15px 0;display:flex}.rec:first-child{padding-top:0}.rec:last-child{border-bottom:none;padding-bottom:0}.rec-body{flex:1;min-width:0}.rec-top{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:5px;display:flex}.rec-title{color:var(--ink);font-size:14px;font-weight:700}.rec-expl{color:var(--text);margin-bottom:10px;font-size:13.5px}.rec-expl .em{color:var(--muted)}.rec-actions{gap:8px;display:flex}.risk-low{color:var(--ok);background:var(--ok-wash)}.risk-high{color:var(--bad);background:var(--bad-wash)}.banner{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);margin-bottom:20px;padding:12px 15px;font-size:13px;font-weight:500;line-height:1.5}.banner.ok{background:var(--ok-wash);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 25%, transparent)}.banner.err{background:var(--bad-wash);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 28%, transparent)}.banner.note{background:var(--warn-wash);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.banner.info{background:var(--accent-wash);color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.banner b,.banner strong{font-weight:700}.landing{place-items:center;min-height:100vh;padding:40px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:30px 28px}.auth-card h1{font-family:var(--display);color:var(--ink);margin:0 0 6px;font-size:24px;font-weight:700}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;margin-bottom:22px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:17px 19px}.kpi .l{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:7px;font-size:11.5px;font-weight:700;display:flex}.kpi .v{font-family:var(--display);letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:9px;font-size:31px;font-weight:700}.kpi .d{margin-top:5px;font-size:12px;font-weight:600}.kpi .d.up{color:var(--ok)}.kpi .d.down{color:var(--bad)}.kpi .d.flat{color:var(--faint)}.intent{align-items:center;gap:9px;display:inline-flex}.intent-bar{background:var(--line);vertical-align:middle;border-radius:100px;width:78px;height:6px;display:inline-block;overflow:hidden}.intent-bar>span{background:linear-gradient(90deg, var(--accent), var(--accent-br));height:100%;display:block}@media (max-width:860px){.app{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;height:auto;position:static;overflow-x:auto}.sidebar .brand{padding:14px 16px}.brand-sub{display:none}.nav{flex-direction:row;gap:4px;padding:8px}.nav-label,.nav-div{display:none}.nav-item{white-space:nowrap}.nav-item .lab,.side-foot{display:none}.main-inner{padding:24px 18px 48px}}
