:root{--bg:#f8fafc;--bg-elev:oklch(100% 0 0);--bg-sunk:oklch(96% .006 152);--border:oklch(91% .008 152);--border-strong:oklch(82% .012 152);--text:#000;--text-muted:oklch(50% .012 152);--text-dim:oklch(65% .01 152);--brand:oklch(60% .17 220);--brand-600:oklch(52% .18 220);--brand-400:oklch(72% .15 220);--brand-100:oklch(92% .07 220);--brand-050:oklch(96% .035 220);--env:#22c55e;--env-bg:#dcfce7;--soc:#14b8a6;--soc-bg:#ccfbf1;--gov:#06b6d4;--gov-bg:#cffafe;--chart-1:#22c55e;--chart-2:#14b8a6;--chart-3:#06b6d4;--chart-4:#84cc16;--chart-5:#0ea5e9;--chart-1-bg:#dcfce7;--chart-2-bg:#ccfbf1;--chart-3-bg:#cffafe;--chart-4-bg:#ecfccb;--chart-5-bg:#e0f2fe;--chart-track:#e5e7eb;--ok:oklch(64% .16 150);--warn:oklch(74% .15 70);--risk:oklch(60% .19 27);--info:oklch(62% .16 230);--shadow-sm:0 1px 2px oklch(22% .012 152/.04);--shadow:0 1px 2px oklch(22% .012 152/.04), 0 4px 16px oklch(22% .012 152/.04);--shadow-lg:0 2px 4px oklch(22% .012 152/.06), 0 16px 40px oklch(22% .012 152/.08);--radius:12px;--radius-sm:8px;--radius-lg:16px;--font-sans:"Geist", "Geist Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Geist", "Geist Fallback", Georgia, "Times New Roman", serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Consolas, monospace}[data-theme=dark]{--bg:oklch(17% .012 220);--bg-elev:oklch(21% .014 220);--bg-sunk:oklch(14% .01 220);--border:oklch(28% .015 220);--border-strong:oklch(36% .02 220);--text:oklch(96% .005 220);--text-muted:oklch(72% .01 220);--text-dim:oklch(55% .012 220);--brand:oklch(72% .16 220);--brand-600:oklch(64% .17 220);--brand-400:oklch(80% .13 220);--brand-100:oklch(30% .08 220);--brand-050:oklch(25% .05 220);--env:#4ade80;--env-bg:oklch(28% .1 152);--soc:#2dd4bf;--soc-bg:oklch(28% .08 188);--gov:#22d3ee;--gov-bg:oklch(28% .08 200);--chart-1:#4ade80;--chart-2:#2dd4bf;--chart-3:#22d3ee;--chart-4:#a3e635;--chart-5:#38bdf8;--chart-1-bg:oklch(28% .1 152);--chart-2-bg:oklch(28% .08 188);--chart-3-bg:oklch(28% .08 200);--chart-4-bg:oklch(28% .1 130);--chart-5-bg:oklch(28% .08 230);--chart-track:oklch(28% .012 220);--shadow:0 1px 2px #0003, 0 4px 16px #00000040;--shadow-lg:0 2px 4px #0000004d, 0 16px 40px #0006}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app{grid-template-columns:var(--sidebar-w,248px) 1fr;min-height:100vh;transition:grid-template-columns .25s;display:grid}.app[data-sidebar=hidden]{--sidebar-w:64px}.sidebar .brand>div:not(.brand-mark),.sidebar .nav-section-label,.sidebar .nav-item>span,.sidebar .nav-item .count,.sidebar-footer>div:nth-child(2){white-space:nowrap;transition:opacity .18s}.app[data-sidebar=hidden] .brand>div:not(.brand-mark),.app[data-sidebar=hidden] .nav-section-label,.app[data-sidebar=hidden] .nav-item>span,.app[data-sidebar=hidden] .nav-item .count,.app[data-sidebar=hidden] .sidebar-footer>div:nth-child(2){opacity:0;pointer-events:none}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100vh;padding:18px 14px;transition:transform .25s;display:flex;position:sticky;top:0;overflow:hidden auto}.brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:14px;padding:6px 8px 12px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.brand-text{letter-spacing:-.01em;font-size:15px;font-weight:600}.brand-sub{color:var(--text-dim);margin-top:-1px;font-size:11px}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text);padding:14px 10px 6px;font-size:10.5px;font-weight:700}.nav-item{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item:hover,.nav-item:focus,.nav-item:active,.nav-item:visited{text-decoration:none}.nav-item:hover{background:var(--bg-sunk);color:var(--text)}.nav-item.active{background:var(--brand-050);color:var(--brand)}[data-theme=dark] .nav-item.active{color:var(--brand-400)}.nav-item .icon{stroke-width:1.75px;flex-shrink:0;width:16px;height:16px}.nav-item .count{color:var(--text-dim);background:var(--bg-sunk);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px}.nav-item.active .count{background:var(--brand-100);color:var(--brand)}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:12px 8px 4px;display:flex}.avatar{background:var(--bg-sunk);width:32px;height:32px;color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg-elev);z-index:10;align-items:center;gap:16px;min-height:64px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.015em;margin:0;font-size:18px;font-weight:600}.topbar .crumb{color:var(--text-dim);margin-bottom:1px;font-size:12px}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--bg-elev);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-sunk);color:var(--text)}.content{width:100%;max-width:1440px;margin:0 auto;padding:28px}.btn{border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.btn:hover{background:var(--bg-sunk)}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-sunk)}.btn-danger{color:var(--risk);border-color:color-mix(in oklch, var(--risk) 30%, var(--border))}.btn-danger:hover{background:color-mix(in oklch, var(--risk) 8%, transparent)}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:auto}.btn:disabled:hover,.btn[disabled]:hover{background:var(--bg-elev)}.btn-primary:disabled,.btn-primary[disabled]{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:disabled:hover,.btn-primary[disabled]:hover{background:var(--brand);border-color:var(--brand)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.card-title{color:var(--text);letter-spacing:-.005em;font-size:13px;font-weight:600}.card-sub{color:var(--text-dim);margin-top:2px;font-size:11.5px}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-split{grid-template-columns:1.6fr 1fr;gap:16px;display:grid}@media (width<=1024px){.grid-split{grid-template-columns:1fr}}.kpi-label{color:var(--text);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:700}.kpi-value{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);margin-top:10px;font-size:44px;font-weight:400;line-height:1}.kpi-unit{font-family:var(--font-sans);color:var(--text-dim);margin-left:4px;font-size:14px;font-weight:500}.kpi-delta{border-radius:4px;align-items:center;gap:3px;margin-top:10px;padding:2px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.kpi-delta.up{color:var(--ok);background:color-mix(in oklch, var(--ok) 10%, transparent)}.kpi-delta.down{color:var(--risk);background:color-mix(in oklch, var(--risk) 10%, transparent)}.kpi-delta.neutral{color:var(--text-muted);background:var(--bg-sunk)}.pill{background:var(--bg-sunk);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-radius:99px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.pill.env{background:var(--env-bg);color:var(--env)}.pill.soc{background:var(--soc-bg);color:var(--soc)}.pill.gov{background:var(--gov-bg);color:var(--gov)}.pill.ok{background:color-mix(in oklch, var(--ok) 12%, transparent);color:var(--ok)}.pill.warn{background:color-mix(in oklch, var(--warn) 15%, transparent);color:oklch(50% .14 75)}.pill.risk{background:color-mix(in oklch, var(--risk) 12%, transparent);color:var(--risk)}.pill.brand{background:var(--brand-100);color:var(--brand)}.pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.progress{background:var(--bg-sunk);border-radius:99px;width:100%;height:6px;overflow:hidden}.progress .fill{background:var(--brand);border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,.6,.2,1)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-muted);font-size:12px;font-weight:500}.field input,.field select,.field textarea{border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:13px;transition:border-color .12s,box-shadow .12s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}.field .hint{color:var(--text-dim);font-size:11.5px}table.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text);border-bottom:1px solid var(--border);background:var(--bg-sunk);padding:8px 12px;font-size:10.5px;font-weight:600}.tbl td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--bg-sunk)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:99px}::-webkit-scrollbar-track{background:0 0}.auth-shell{background:var(--bg);grid-template-columns:1fr 1.1fr;min-height:100vh;display:grid}.auth-art{background:linear-gradient(135deg, oklch(35% .14 220/.82) 0%, oklch(22% .1 220/.72) 100%), url(https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=1600&q=80) center/cover no-repeat, var(--brand);color:#fff;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-art>*{z-index:1;position:relative}.auth-form-pane{place-items:center;padding:48px;display:grid;overflow-y:auto}.auth-form-wrap{width:100%;max-width:440px}.scene{animation:.25s fadein}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.icon.spin{animation:.9s linear infinite spin}.tweaks-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);width:280px;box-shadow:var(--shadow-lg);z-index:100;padding:16px;font-size:13px;position:fixed;bottom:20px;right:20px}.tweaks-panel h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 12px;font-size:12px;font-weight:600}.tweak-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.tweak-row:last-child{border-bottom:none}.tweak-row>span{font-size:12.5px;font-weight:500}.swatch-row{gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px}.swatch.active{border-color:var(--text)}.toggle{background:var(--bg-sunk);border:1px solid var(--border-strong);cursor:pointer;border-radius:99px;width:34px;height:20px;transition:background .15s;position:relative}.toggle:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:1px;left:1px}.toggle.on{background:var(--brand);border-color:var(--brand)}.toggle.on:after{transform:translate(14px)}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-4{margin-bottom:16px}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-semibold{font-weight:600}.divider{background:var(--border);height:1px;margin:16px 0}.page-title{font-family:var(--font-serif);letter-spacing:-.02em;margin:0;font-size:34px;font-weight:400;line-height:1.1}.page-sub{color:var(--text-dim);margin-top:6px;font-size:13.5px}@media (width<=1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.content{padding:20px}}@media (width<=768px){.app{grid-template-columns:1fr!important}.sidebar{z-index:50;width:280px;box-shadow:var(--shadow-lg);position:fixed}.app[data-sidebar=hidden] .sidebar{transform:translate(-100%)}.app[data-sidebar=hidden] .brand>div:not(.brand-mark),.app[data-sidebar=hidden] .nav-section-label,.app[data-sidebar=hidden] .nav-item>span,.app[data-sidebar=hidden] .nav-item .count,.app[data-sidebar=hidden] .sidebar-footer>div:nth-child(2){opacity:1;pointer-events:auto}.app[data-sidebar=visible] .sidebar{transform:translate(0)}.app[data-sidebar=visible] .main:before{content:"";z-index:49;pointer-events:auto;background:#0006;position:fixed;inset:0}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.content{padding:16px}.topbar{padding:12px 16px}.topbar h1{font-size:16px}.topbar .crumb{font-size:11px}.page-title{font-size:26px}.page-sub{font-size:12.5px}.auth-shell{grid-template-columns:1fr}.auth-art{min-height:240px;padding:32px 24px}.auth-art>div:nth-child(2){margin-top:24px!important}.auth-form-pane{padding:32px 24px}}@media (width<=480px){.topbar-right .pill{display:none}.kpi-value{font-size:36px}.auth-art,.auth-form-pane{padding:24px 18px}}
