:root{--bg:#f4f2ec;--ink:#1c1a15;--ink-soft:#4a463d;--muted:#8a857c;--muted-2:#a8a294;--faint:#bdb7aa;--line:#1c1a151f;--line-soft:#1c1a1517;--line-faint:#1c1a150f;--line-strong:#1c1a1529;--line-heavy:#1c1a1547;--pos:#3f5c48;--neg:#9c4a3c;--gold:#7a5c2e;--accent:#1c1a15;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button{font-family:var(--sans)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#1c1a1529 padding-box content-box;border:2px solid #0000;border-radius:20px}@keyframes dcpulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes lut-spin{to{transform:rotate(360deg)}}.lut-spin{animation:.9s linear infinite lut-spin}.rail-btn{transition:color .15s}.rail-btn:hover{color:var(--ink)!important}.side-item{transition:color .12s,background .12s}.side-item:hover{color:var(--ink)!important}.chip-btn{transition:color .12s,border-color .12s}.chip-btn:hover{color:var(--ink)!important}.kpi-row-btn{transition:background .15s}.kpi-row-btn:hover{background:#1c1a1505}.ghost-btn{transition:color .15s,border-color .15s,opacity .15s}.ghost-btn:hover{color:var(--ink)!important}.ghost-btn:disabled{opacity:.4;cursor:default!important}.row-hover{transition:background .12s}.row-hover:hover{background:#1c1a1506}.sort-th{cursor:pointer;transition:color .12s}.sort-th:hover{color:var(--ink)!important}.lut-select{font-family:var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none}.reveal{animation:.22s reveal}@keyframes reveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media print{.rail,.side,.app-header{display:none!important}body{background:#fff}.main-scroll{overflow:visible!important}}@media (max-width:900px){.side{display:none!important}}@media (max-width:640px){.rail{width:62px!important}}
