:root{--bg: #0F1420;--panel: #171E2E;--aside: #131A28;--gold: #E0A82E;--gold-2: #F2C75B;--txt: #E8ECF4;--mut: #7C879E;--ok: #5FD69B;--bad: #FF8A8D;--warn: #FFA96B;--font: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--txt);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button{cursor:pointer}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#2a3348;border-radius:5px}@keyframes bopulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes bofade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pulse{animation:bopulse 1.8s ease-in-out infinite}.fade{animation:bofade .25s ease both}.card{background:var(--panel);border:1px solid rgba(255,255,255,.07);border-radius:10px}.btn{height:32px;padding:0 12px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;color:#c9d2e4;font:600 12px var(--font)}.btn-gold{height:32px;padding:0 14px;border-radius:7px;border:1px solid rgba(224,168,46,.5);background:linear-gradient(180deg,#e9b647,#c88f1e);color:#1a1206;font:700 12px var(--font)}.kpi{padding:13px 14px 12px;display:flex;flex-direction:column;gap:9px}.kpi .l{font:600 10.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.kpi .v{font:600 23px var(--mono);letter-spacing:-.02em;color:#f1f4fa}table{width:100%;border-collapse:collapse;font:500 12px var(--font)}th{text-align:left;font:600 10.5px var(--font);letter-spacing:.06em;text-transform:uppercase;color:#6c7691;padding:8px 12px}td{padding:10px 12px;border-top:1px solid rgba(255,255,255,.05)}tr:hover td{background:#ffffff05;cursor:pointer}.badge{font:600 10.5px var(--font);padding:3px 8px;border-radius:5px;display:inline-block}.ok{color:var(--ok);background:#35b57c21;border:1px solid rgba(53,181,124,.35)}.bad{color:var(--bad);background:#e5484d21;border:1px solid rgba(229,72,77,.35)}.warn{color:var(--warn);background:#f2762e1f;border:1px solid rgba(242,118,46,.3)}.gold{color:var(--gold-2);background:#e0a82e1f;border:1px solid rgba(224,168,46,.3)}.mut{color:#8a94ab;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}input[type=range]{accent-color:#E0A82E}input,select,textarea{background:#0f1420;color:var(--txt);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;outline:none}input:focus,select:focus{border-color:#e0a82e73}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}button:disabled{opacity:.5;cursor:not-allowed}.btn,.btn-gold{transition:filter .14s ease,border-color .14s ease,color .14s ease}.btn:hover:not(:disabled){filter:brightness(1.35)}.btn-gold:hover:not(:disabled){filter:brightness(1.08)}.badge{transition:filter .12s ease}@keyframes bodraw{0%{stroke-dashoffset:1400}to{stroke-dashoffset:0}}.anim-draw{stroke-dasharray:1400;animation:bodraw .8s ease-out both}@keyframes bogrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.anim-grow{transform-origin:left center;animation:bogrow .5s cubic-bezier(.22,.8,.3,1) both}@keyframes bospin{to{transform:rotate(360deg)}}.spin{display:inline-block;width:12px;height:12px;border:2px solid rgba(224,168,46,.25);border-top-color:#e0a82e;border-radius:50%;animation:bospin .7s linear infinite}@keyframes boskel{0%{background-position:-180px 0}to{background-position:180px 0}}.skel{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);background-size:360px 100%;animation:boskel 1.1s linear infinite;border-radius:6px}
