*{box-sizing:border-box}body{margin:0;background:#0b0f14;color:#e6edf3;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif}main{max-width:1320px;margin:0 auto;padding:16px}h1,h2{margin:0 0 10px}.sub{color:#93a1b4;margin:4px 0 0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
button{background:#1f6feb;color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer}button:disabled{opacity:.5}
.panel{background:#111824;border:1px solid #263041;border-radius:12px;padding:14px;margin:12px 0}
.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:10px}
label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#9fb0c5}
select,input{background:#0b111b;color:#e6edf3;border:1px solid #2d394d;border-radius:8px;padding:8px}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.card{background:#0a1018;border:1px solid #263041;border-radius:10px;padding:10px}.label{font-size:12px;color:#93a1b4}.value{font-size:22px;font-weight:700}.pos{color:#34d399}.neg{color:#f87171}
.two-col{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:1040px){.two-col{grid-template-columns:1fr 1fr}}
canvas{width:100%;background:#0a1018;border:1px solid #233146;border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:8px;border-bottom:1px solid #203046;text-align:left}tbody tr:hover{background:#101b2b}
.table-controls{display:grid;grid-template-columns:1fr 160px 120px;gap:10px;margin-bottom:10px}
.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding-top:10px}.status{margin:12px 0;color:#8aa0b8}
