:root{--ground:#f3f5f4;--surface:#fff;--raised:#f7f9f8;--active:#e4e9e6;--border:#e2e7e4;--rule:#edf1ee;--control:#cfd8d3;--fg:#132220;--muted:#56645f;--faint:#67736e;--accent:#b86d16;--accent-2:#f0a84a;--accent-soft:#c97a1f1f;--good:#247b50;--bad:#b4432d;--bad-soft:#fbe9e5;--good-soft:#dff0e5;--grid:#e6ebe8;--seq-1:#e3ebdc;--seq-2:#b6d0b0;--seq-3:#79ab8b;--seq-4:#3b806e;--seq-5:#14524e;--data:#3b806e;--data-muted:#a9b5b0;--display:"Forum", "Georgia", "Times New Roman", serif;--ui:"Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", "Consolas", monospace;--shadow-float:0 16px 40px -14px #0d2a2540, 0 2px 6px -2px #0d2a2518;--radius-card:16px;--radius-control:10px;--gap:16px;--ease-out:cubic-bezier(.23, 1, .32, 1);--side-w:248px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--ground);margin:0}body{color:var(--fg);font-family:var(--ui);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2{margin:0;font-weight:400}p{margin:0}code,.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--muted)}.num,.kpi-value,.stat-num{font-variant-numeric:tabular-nums}.eyebrow{color:var(--muted);font-size:13px}.boot{min-height:100vh}.flip{transform:rotate(180deg)}.shell{grid-template-columns:var(--side-w) minmax(0, 1fr);min-height:100vh;display:grid}.side{border-right:1px solid var(--border);flex-direction:column;gap:20px;height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0}.brand{color:var(--fg);align-items:center;gap:10px;padding:0 8px;text-decoration:none;display:flex}.brand svg{flex:none}.brand span{line-height:1.15;display:grid}.brand b{font-family:var(--display);font-size:24px;font-weight:400}.brand small{color:var(--muted);font-size:12.5px}.nav{flex:1;align-content:start;gap:20px;display:grid;overflow-y:auto}.nav-group{gap:2px;display:grid}.nav-title{color:var(--faint);padding:0 10px 6px;font-size:12.5px}.nav-link{border-radius:var(--radius-control);height:36px;color:var(--muted);transition:background-color .16s var(--ease-out), color .16s var(--ease-out);align-items:center;gap:10px;padding:0 10px;font-size:14.5px;text-decoration:none;display:flex}.nav-link span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-link:hover{background:var(--rule);color:var(--fg)}.nav-link.active{background:var(--active);color:var(--fg);font-weight:500}.soon{background:var(--control);border-radius:50%;flex:none;width:6px;height:6px;margin-left:auto;font-size:0;overflow:hidden}.side-foot{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.mock-note{color:#7a470d;background:#fdf3e3;border-radius:8px;justify-self:start;padding:4px 10px;font-size:12.5px}.me{align-items:center;gap:8px;padding-left:4px;display:flex}.me-text{flex:1;min-width:0;line-height:1.25;display:grid}.me-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.me-text span{color:var(--muted);font-size:12.5px}.content{min-width:0;padding:28px clamp(20px,3vw,40px) 64px}.page{gap:var(--gap);max-width:1320px;margin:0 auto;display:grid}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 32px;margin-bottom:4px;display:flex}.title-row h1{font-family:var(--display);letter-spacing:-.01em;font-size:32px;line-height:1.1}.subline{color:var(--muted);max-width:72ch;margin-top:4px}.stamp{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);min-width:0}.card h2{font-size:16px;font-weight:500}.btn{white-space:nowrap;height:38px;transition:background-color .16s var(--ease-out), border-color .16s var(--ease-out), transform .16s var(--ease-out);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14.5px;font-weight:500;display:inline-flex}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.chip:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn.primary{background:var(--fg);color:#fff}.btn.primary:hover:not(:disabled){background:var(--seq-5)}.btn.ghost{background:var(--surface);border-color:var(--control);color:var(--fg)}.btn.ghost:hover:not(:disabled){background:var(--raised);border-color:var(--seq-3)}.btn.danger{background:var(--bad);color:#fff}.btn.danger:hover:not(:disabled){background:#983722}.btn.sm{height:32px;padding:0 12px;font-size:13.5px}.btn.block{width:100%;height:44px}.icon-btn{border-radius:var(--radius-control);width:36px;height:36px;color:var(--muted);transition:background-color .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out);background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--rule);color:var(--fg)}.icon-btn.warn:hover:not(:disabled){background:var(--bad-soft);color:var(--bad)}.icon-btn:disabled{opacity:.3}a.icon-btn{text-decoration:none}.link{color:var(--seq-4);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--seq-4) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--seq-4) 35%, transparent);background:0 0;border:0;padding:0;font-weight:500}.link:hover{color:var(--seq-5);text-decoration-color:currentColor}.field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>span,.field>legend{color:var(--fg);padding:0;font-size:13.5px;font-weight:500}.field small{color:var(--muted);font-size:12.5px}small.err,.field small.err{color:var(--bad)}.field input,.select,.num-input input{border:1px solid var(--control);border-radius:var(--radius-control);width:100%;height:40px;transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);background:#fff;padding:0 12px}.field input:hover,.select:hover{border-color:var(--seq-3)}.field input:focus,.select:focus,.num-input input:focus{border-color:var(--seq-4);box-shadow:0 0 0 3px color-mix(in srgb, var(--seq-3) 28%, transparent);outline:none}.field input:disabled{background:var(--raised);color:var(--muted)}.field input[aria-invalid=true],.num-input input[aria-invalid=true]{border-color:var(--bad)}.select{cursor:pointer;width:auto;height:36px}.input-row{gap:8px;display:flex}.form-error{border-radius:var(--radius-control);background:var(--bad-soft);color:var(--bad);align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.form-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.span-2{grid-column:1/-1}.roles-pick{gap:8px;display:grid}.role-opt{border:1px solid var(--control);cursor:pointer;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out);background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.role-opt:hover{border-color:var(--seq-3)}.role-opt.on{border-color:var(--fg);background:var(--raised);box-shadow:inset 0 0 0 1px var(--fg)}.role-opt input{opacity:0;pointer-events:none;position:absolute}.role-opt:has(input:disabled){opacity:.45;cursor:not-allowed}.role-opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.role-txt{gap:2px;display:grid}.role-txt strong{font-weight:500}.role-txt small{color:var(--muted);font-size:13px}.role-dot{background:var(--role);border-radius:50%;flex:none;width:10px;height:10px;margin-top:6px}[data-role=admin]{--role:var(--seq-5)}[data-role=operator]{--role:var(--accent-2)}[data-role=analyst]{--role:var(--seq-3)}.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kpi{border-left:1px solid var(--rule);align-content:start;gap:2px;min-width:0;padding:16px 20px;display:grid}.kpi:first-child{border-left:0}.kpi-label{color:var(--muted);font-size:13.5px}.kpi-value{letter-spacing:-.01em;font-size:26px;font-weight:500;line-height:1.25}.kpi.lead .kpi-value{font-size:34px}.kpi-value small{color:var(--muted);font-size:15px;font-weight:400}.kpi-value.name{white-space:nowrap;text-overflow:ellipsis;font-size:20px;line-height:1.6;overflow:hidden}.kpi-value.good,td.good{color:var(--good)}.kpi-value.bad,td.bad{color:var(--bad)}.kpi-sub{color:var(--muted);font-size:13px}.role-bar{border-radius:999px;gap:2px;height:6px;margin-top:8px;display:flex;overflow:hidden}.role-bar i{background:var(--role);flex-basis:0;display:block}.role-legend{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin-top:6px;font-size:13px;display:flex}.role-legend span{align-items:center;gap:6px;display:inline-flex}.role-legend b{background:var(--role);border-radius:50%;width:8px;height:8px}.table-card{overflow:hidden}.toolbar,.filters{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.toolbar{border-bottom:1px solid var(--rule);padding:14px 18px}.search{border:1px solid var(--control);min-width:200px;height:36px;color:var(--muted);background:#fff;border-radius:999px;flex:240px;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--seq-4);box-shadow:0 0 0 3px color-mix(in srgb, var(--seq-3) 28%, transparent)}.search input{width:100%;color:var(--fg);background:0 0;border:0;outline:0}.segmented{background:var(--rule);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--muted);transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:13.5px;display:inline-flex}.segmented button:hover{color:var(--fg)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px var(--border);font-weight:500}.seg-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.dates{align-items:center;gap:6px;display:inline-flex}.dates .select{width:140px}.toolbar>.select{max-width:210px}.toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.toggle input{width:16px;height:16px;accent-color:var(--fg);cursor:pointer}.table-wrap{transition:opacity .2s var(--ease-out);overflow-x:auto}.table-wrap.fetching{opacity:.55}.table{border-collapse:collapse;width:100%;font-size:14.5px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 18px;font-size:13px;font-weight:400}.table td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:11px 18px}.table th.num,.table td.num{text-align:right}.table tbody tr{transition:background-color .12s var(--ease-out)}.table tbody tr:hover{background:var(--raised)}.table tbody tr:last-child td{border-bottom:0}.table tr.dim td{color:var(--muted)}.table tr.dim .avatar{filter:grayscale();opacity:.6}.right{text-align:right!important}.table-foot{color:var(--muted);border-top:1px solid var(--rule);justify-content:space-between;gap:12px;padding:12px 18px;font-size:13.5px;display:flex}.user-cell{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:flex}.user-cell>span:last-child{line-height:1.3;display:grid}.user-cell strong{font-weight:500}.user-cell:hover strong{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--control);text-decoration-color:var(--control)}.user-cell small{color:var(--muted);font-size:12.5px}.you{color:var(--muted);margin-left:8px;font-size:12px;font-style:normal}.avatar{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12.5px;font-weight:600;display:grid}.role-chip,.act-chip{white-space:nowrap;align-items:center;gap:7px;font-size:14px;display:inline-flex}.role-chip b,.act-chip b{background:var(--role);border-radius:50%;width:8px;height:8px}.status{white-space:nowrap;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:13px;display:inline-flex}.status.ok{background:var(--good-soft);color:#13432c}.status.off{background:var(--bad-soft);color:#7d2516}.row-actions{gap:2px;display:inline-flex}.chips{border-bottom:1px solid var(--rule);background:var(--raised);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;display:flex}.chip{border:1px solid var(--control);background:var(--surface);height:28px;color:var(--fg);transition:border-color .16s var(--ease-out), transform .16s var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.chip:hover{border-color:var(--seq-4)}.chip svg{color:var(--muted)}.audit .when{white-space:nowrap;font-variant-numeric:tabular-nums}.audit .when strong{margin-right:8px;font-weight:500}.audit .when small{color:var(--muted)}.table tr.failed td.when strong{color:var(--bad)}.cell-link{text-align:left;background:0 0;border:0;padding:0;line-height:1.3;display:grid}.cell-link:hover{color:var(--seq-4)}.cell-link small{color:var(--muted);font-size:12px}.act-chip{border:1px solid var(--border);background:#fff;border-radius:999px;height:26px;padding:0 10px}.act-chip:hover{border-color:var(--role)}.act-chip[data-group=auth]{--role:var(--seq-3)}.act-chip[data-group=users]{--role:var(--accent-2)}.act-chip[data-group=data]{--role:var(--seq-5)}.act-chip[data-group=system]{--role:var(--faint)}.act-chip[data-group=fail]{--role:var(--bad);color:var(--bad)}.obj{align-items:baseline;gap:8px;display:inline-flex}.obj small{color:var(--muted);font-size:12.5px}.pager{border-top:1px solid var(--rule);color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:13.5px;display:flex}.pager>div{align-items:center;gap:10px;display:flex}.pager-num{color:var(--fg)}.settings-grid{gap:var(--gap);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;display:grid}.settings-form{gap:4px;padding:20px 24px;display:grid}.settings-form h2{margin-bottom:4px}.setting{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.setting-text{gap:3px;max-width:52ch;display:grid}.setting-text strong{font-weight:500}.setting-text small{color:var(--muted);font-size:13.5px}.num-input{flex:none;width:170px;position:relative}.num-input input{font-variant-numeric:tabular-nums;text-align:right;padding-right:70px;font-weight:500}.num-input em{color:var(--muted);pointer-events:none;width:50px;font-size:13px;font-style:normal;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.form-actions{justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.ai-card{gap:12px;padding:20px 24px;display:grid}.ai-head{align-items:center;gap:12px;display:flex}.ai-head h2{margin-bottom:4px}.state{text-align:center;justify-items:center;gap:8px;padding:48px 24px;display:grid}.state strong{font-size:16px;font-weight:500}.state p{color:var(--muted);max-width:46ch;margin-bottom:6px}.state-ico{background:var(--rule);width:44px;height:44px;color:var(--muted);border-radius:12px;flex:none;place-items:center;display:grid}.state.err .state-ico{background:var(--bad-soft);color:var(--bad)}.skeleton{padding:4px 0;display:grid}.sk-row{border-bottom:1px solid var(--rule);gap:24px;padding:15px 18px;display:grid}.sk-row i{background:var(--rule);border-radius:6px;height:12px;display:block}.modal-backdrop{z-index:50;animation:fade .2s var(--ease-out);background:#0d1f1c59;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);width:100%;max-height:calc(100vh - 48px);box-shadow:var(--shadow-float);animation:pop .24s var(--ease-out);border-radius:18px;flex-direction:column;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}.modal-head{justify-content:space-between;align-items:start;gap:16px;padding:20px 24px 8px;display:flex}.modal-head h2{font-family:var(--display);margin-top:2px;font-size:28px;line-height:1.1}.modal-body{padding:10px 24px 20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--rule);justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.confirm-text{align-items:start;gap:14px;display:flex}.confirm-ico{background:var(--bad-soft);width:40px;height:40px;color:var(--bad);border-radius:12px;flex:none;place-items:center;display:grid}.secret{background:var(--fg);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.secret code{letter-spacing:.08em;font-size:20px}.secret .btn.ghost{color:#fff;background:0 0;border-color:#ffffff40}.secret .btn.ghost:hover{background:#ffffff17}.toasts{z-index:60;gap:10px;display:grid;position:fixed;bottom:24px;right:24px}.toast{background:var(--fg);color:#fff;max-width:420px;box-shadow:var(--shadow-float);animation:toast .26s var(--ease-out);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex}.toast i{background:var(--seq-3);border-radius:50%;flex:none;width:8px;height:8px}.toast.err i{background:#f08a73}.toast.info i{background:var(--accent-2)}@keyframes toast{0%{opacity:0;transform:translateY(10px)}}.auth{grid-template-columns:minmax(420px,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-side{background:var(--fg);color:#dfe9e4;flex-direction:column;gap:28px;padding:36px clamp(28px,4vw,56px);display:flex}.auth-brand{font-family:var(--display);color:#fff;align-items:center;gap:12px;font-size:28px;display:flex}.auth-pitch h2{font-family:var(--display);color:#fff;margin:0 0 14px;font-size:clamp(38px,3.6vw,54px);line-height:1.02}.auth-pitch p{color:#b3c4bd;max-width:44ch;font-size:16px}.auth-map{width:100%;max-width:640px;animation:map-in .7s var(--ease-out);margin-top:auto}@keyframes map-in{0%{opacity:0;transform:translateY(10px)}}.auth-facts{gap:40px;display:flex}.auth-facts div{display:grid}.auth-facts b{color:#fff;font-size:28px;font-weight:500;line-height:1.1}.auth-facts span{color:#a9bdb5;font-size:13.5px}.auth-main{background:var(--ground);flex-direction:column;justify-content:center;align-items:center;padding:40px 24px 24px;display:flex}.auth-form{gap:16px;width:100%;max-width:400px;margin:auto 0;display:grid}.auth-form h1{font-family:var(--display);font-size:52px;line-height:1}.auth-form.shake{animation:.42s cubic-bezier(.36,.07,.19,.97) shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.pass{position:relative}.pass input{padding-right:46px}.pass .icon-btn{position:absolute;top:50%;right:2px;transform:translateY(-50%)}.pass .icon-btn:active{transform:translateY(-50%)scale(.97)}.caps{font-weight:500;color:#7a470d!important}.notice{animation:fade .2s var(--ease-out);border-radius:12px;align-items:flex-start;gap:10px;padding:11px 14px;font-size:14px;line-height:1.4;display:flex}.notice svg{flex:none;margin-top:1px}.notice.err{background:var(--bad-soft);color:#7d2516}.notice.warn{color:#6d3f0b;background:#fdf3e3}.notice.ok{background:var(--good-soft);color:#13432c}.spin{border:2px solid #fff5;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.forgot{justify-items:start;gap:8px;font-size:14px;display:grid}.forgot p{font-size:13.5px}.demo{background:var(--rule);color:var(--muted);border-radius:12px;gap:8px;padding:12px 14px;font-size:13.5px;display:grid}.demo>div{flex-wrap:wrap;gap:6px;display:flex}.demo .chip b{background:var(--role);border-radius:50%;width:8px;height:8px}.auth-foot{color:var(--muted);padding-top:24px;font-size:12.5px}.auth.single{grid-template-columns:1fr}.meter{align-items:center;gap:4px;margin-top:2px;display:flex}.meter i{background:var(--rule);width:34px;height:5px;transition:background-color .3s var(--ease-out);border-radius:3px}.meter[data-score="1"] i.on,.meter[data-score="0"] i.on{background:var(--bad)}.meter[data-score="2"] i.on{background:var(--accent-2)}.meter[data-score="3"] i.on{background:var(--seq-3)}.meter[data-score="4"] i.on,.meter[data-score="5"] i.on{background:var(--seq-4)}.meter span{color:var(--muted);margin-left:8px;font-size:12.5px}.dash-grid{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}.panel{flex-direction:column;gap:12px;padding:16px 20px 18px;display:flex}.panel.table-card{gap:0;padding:0}.panel.table-card .panel-head{padding:16px 20px 12px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-head .muted{font-size:13px}.chip.back{height:32px}.region-map{flex:1;align-content:center;gap:10px;display:grid}.map-box{position:relative}.map-box svg{width:100%;height:auto;display:block}.terr{stroke:var(--surface);stroke-width:1.1px;stroke-linejoin:round;cursor:pointer;transition:opacity .2s var(--ease-out), fill .4s var(--ease-out);outline:none}.terr.city{stroke-width:.8px}.terr:hover,.terr:focus-visible{opacity:.82}.terr.dim{opacity:.55}.terr-outline{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linejoin:round;pointer-events:none}.terr-label{font-family:var(--ui);fill:var(--fg);paint-order:stroke;stroke:#ffffffb0;stroke-width:3px;stroke-linejoin:round;pointer-events:none;text-anchor:middle;dominant-baseline:middle;opacity:.75;font-size:10.5px}.terr-label.on{opacity:1;font-weight:600}.city-dot{fill:var(--fg);stroke:#fff;stroke-width:1.5px;pointer-events:none}.map-legend{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;display:flex}.map-legend span{align-items:center;gap:6px;display:inline-flex}.map-legend i{border-radius:2px;width:14px;height:10px}.tip-box{z-index:3;pointer-events:none;background:var(--fg);color:#fff;white-space:nowrap;box-shadow:var(--shadow-float);font-variant-numeric:tabular-nums;border-radius:10px;gap:2px;padding:8px 12px;font-size:13px;line-height:1.35;display:grid;position:absolute;top:8px}.tip-box b{font-weight:500}.tip-box span{color:#d6e1dc;align-items:center;gap:6px;display:flex}.tip-box span i{background:var(--seq-2);width:8px;height:2px}.tip-box span.muted i{background:#8a9893}.map-tip{transform:translate(-50%,calc(-100% - 12px))}.barlist{gap:2px;margin:0;padding:0;list-style:none;display:grid}.barlist button{text-align:left;width:100%;transition:background-color .12s var(--ease-out);background:0 0;border:0;border-radius:8px;grid-template-rows:auto 6px;grid-template-columns:22px 1fr auto;align-items:center;gap:4px 8px;padding:6px 8px;display:grid}.barlist button:hover{background:var(--raised)}.barlist button.on{background:#fdf3e3}.bl-rank{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12.5px}.bl-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.bl-val{font-variant-numeric:tabular-nums;font-size:14px}.bl-track{background:var(--rule);border-radius:3px;grid-column:2/4;height:6px;overflow:hidden}.bl-track i{background:var(--data);height:100%;transition:width .4s var(--ease-out);border-radius:3px;display:block}.barlist button.on .bl-track i{background:var(--accent)}.barlist-more{color:var(--muted);padding:4px 8px 0;font-size:13px}.chart{position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1px}.chart .base{stroke:var(--control);stroke-width:1px}.chart .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .line.main{stroke:var(--data);stroke-width:2.5px}.chart .line.muted{stroke:var(--data-muted);stroke-width:1.75px}.chart .hover line{stroke:var(--control);stroke-width:1px}.chart .hover circle.main{fill:var(--data);stroke:#fff;stroke-width:2px}.chart .hover circle.muted{fill:var(--data-muted);stroke:#fff;stroke-width:2px}.legend-line{color:var(--muted);gap:14px;font-size:13px;display:flex}.legend-line span{align-items:center;gap:6px;display:inline-flex}.legend-line i{background:var(--data);border-radius:2px;width:14px;height:2.5px}.legend-line .muted i{background:var(--data-muted);height:2px}.tip-box span.main i{background:var(--seq-2)}.share{gap:14px;display:grid}.share-bar{border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.share-bar i{transition:flex-grow .4s var(--ease-out);flex-basis:0}.share-table{border-collapse:collapse;width:100%;font-size:14px}.share-table th{color:var(--muted);text-align:left;padding:0 0 6px;font-size:12.5px;font-weight:400}.share-table td{border-top:1px solid var(--rule);padding:6px 0}.share-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:12px}.dot{vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}.dash-table tbody tr{cursor:pointer}.dash-table tr.sel{background:#fdf3e3}.dash-table tr.sel:hover{background:#fbecd6}.th-sort{color:inherit;font-size:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort:hover{color:var(--fg)}.row-link{text-align:left;background:0 0;border:0;padding:0;font-weight:500}.row-link:hover{color:var(--seq-4)}@media (width<=1180px){.span-4,.span-5,.span-7,.span-8{grid-column:span 12}.settings-grid{grid-template-columns:1fr}}@media (width<=960px){.auth{grid-template-columns:1fr}.auth-side{display:none}}@media (width<=760px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.nav{grid-auto-flow:column;gap:12px;overflow-x:auto}.nav-title{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page.narrow{max-width:880px}.title-actions{flex-wrap:wrap;gap:10px;display:flex}.back-link{color:var(--muted);align-items:center;gap:4px;margin-bottom:6px;font-size:13.5px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--fg)}a.btn{text-decoration:none}.block{display:block}.select.wide{width:100%;height:40px}.table tr.click{cursor:pointer}td.bad,.bad{color:var(--bad)}.upload-card{gap:18px;padding:20px;display:grid}.dropzone{border:1.5px dashed var(--control);background:var(--raised);cursor:pointer;min-height:132px;transition:border-color .16s var(--ease-out), background-color .16s var(--ease-out);border-radius:14px;align-items:center;gap:16px;padding:24px;display:flex;position:relative}.dropzone:hover,.dropzone.over{border-color:var(--seq-4);background:color-mix(in srgb, var(--seq-1) 45%, var(--surface))}.dropzone.has{border-style:solid;border-color:var(--seq-3)}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.dz-ico{background:var(--surface);border:1px solid var(--border);width:52px;height:52px;color:var(--seq-4);border-radius:14px;flex:none;place-items:center;display:grid}.dz-text{gap:2px;display:grid}.dz-text strong{font-size:15.5px;font-weight:500}.dz-text small{color:var(--muted);font-size:13.5px}.req-dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.req-dot.ok{background:var(--good)}.req-dot.bad{background:var(--bad)}.req-text{overflow-wrap:anywhere;margin:2px 0 6px;font-size:15px;font-weight:500;line-height:1.35}.req-text.bad{color:var(--bad)}.kpi .select{width:100%}.questions{margin:0;padding:0;list-style:none;display:grid}.q{border-top:1px solid var(--rule);grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:12px 0;display:grid}.q:first-child{border-top:0;padding-top:2px}.q>svg{color:var(--seq-4)}.q.warn>svg{color:var(--accent)}.q p{font-size:14.5px}.parse-panel{padding-bottom:20px}.parse-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:14px 16px;display:grid}.parse-grid .btn{height:40px}.cols-table td{vertical-align:top}.cols-table .select{width:100%;min-width:160px;height:34px}.col-src{font-weight:500}.samples{max-width:260px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.cell-input{border:1px solid var(--control);background:#fff;border-radius:8px;width:100%;min-width:150px;height:34px;padding:0 10px}.cell-input:focus{border-color:var(--seq-4);box-shadow:0 0 0 3px color-mix(in srgb, var(--seq-3) 28%, transparent);outline:none}.table tr.warn-row{background:#fdf8ef}.status.warn{color:#6d3f0b;background:#fdf3e3}.status.neutral{background:var(--rule);color:var(--muted)}.role-tag{background:var(--rule);color:var(--muted);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11.5px;font-style:normal;display:inline-block}.role-tag.role-district{background:color-mix(in srgb, var(--seq-2) 50%, #fff);color:var(--seq-5)}.role-tag.role-period{color:#24466f;background:#e7eef8}.role-tag.role-measure{color:#6d3f0b;background:#fdf3e3}.role-tag.role-theme{color:#4a3570;background:#efe9f6}.preview th,.preview td{white-space:nowrap;font-size:14px}.data-table td{white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:14px;overflow:hidden}.action-bar{z-index:4;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px 12px 20px;display:flex;position:sticky;bottom:12px}.action-bar p{color:var(--muted);font-size:14.5px}.action-bar p strong{color:var(--fg);font-weight:500}.action-bar>div{gap:10px;display:flex}.code-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 24px;margin:0;padding:0;list-style:none;display:grid}.code-list li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:12px;padding:8px 0;font-size:14.5px;display:flex}.code-list b{font-variant-numeric:tabular-nums;font-weight:500}.tabs{border-bottom:1px solid var(--border);gap:20px;display:flex}.tabs button{height:40px;color:var(--muted);transition:color .16s var(--ease-out);background:0 0;border:0;padding:0;font-size:14.5px;position:relative}.tabs button:hover{color:var(--fg)}.tabs button[aria-selected=true]{color:var(--fg);font-weight:500}.tabs button[aria-selected=true]:after{content:"";background:var(--fg);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.sev{white-space:nowrap;align-items:center;gap:7px;font-size:13.5px;display:inline-flex}.sev b{background:var(--faint);border-radius:50%;width:8px;height:8px}.sev-error b,.sev-critical b{background:var(--bad)}.sev-warning b{background:var(--accent-2)}.sev-info b{background:var(--seq-3)}.raw{background:var(--rule);border-radius:6px;margin-left:8px;padding:1px 6px;font-size:12.5px}.explore-controls{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;gap:14px 16px;padding:16px 20px 18px;display:grid}.explore-controls .dates .select{width:100%;min-width:0}.explore-controls .dates{grid-template-columns:1fr auto 1fr;display:grid}.push-right{margin-left:auto}.dash-grid.fetching{opacity:.6;transition:opacity .2s var(--ease-out)}.big-total{letter-spacing:-.01em;font-variant-numeric:tabular-nums;padding:8px 0 4px;font-size:40px;font-weight:500}.diverge{gap:4px;margin:0;padding:0;list-style:none;display:grid}.diverge li{grid-template-columns:minmax(140px,240px) 1fr 90px;align-items:center;gap:12px;padding:3px 0;font-size:14px;display:grid}.dv-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dv-track{height:10px;position:relative}.dv-track:before{content:"";background:var(--control);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.dv-track i{background:var(--data);border-radius:3px;height:100%;position:absolute;top:0}.dv-track i.pos{left:50%}.dv-track i.neg{background:var(--data-muted);right:50%}.dv-val{text-align:right;font-variant-numeric:tabular-nums}.result-table th{white-space:normal;vertical-align:bottom;min-width:110px}.result-table td:first-child{white-space:nowrap}
