:root{--navy:#122336;--bg:#f7f9fb;--card:#fff;--muted:#6b7a8d;--line:#e4eaef;--orange:#f06a00;--shadow:0 6px 18px rgba(18,35,54,.10);--radius:14px}
*{box-sizing:border-box}body{margin:0;font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--navy)}
.topbar{background:var(--navy);color:#fff;padding:12px 18px;display:flex;gap:12px;align-items:center;position:sticky;top:0;z-index:10;box-shadow:0 6px 18px rgba(18,35,54,.25)}
.brand-title{display:flex;flex-direction:column;line-height:1}.brand-title .ai{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.55)}.brand-title .name{font-size:.95rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.nav{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;background:rgba(240,106,0,.15);border:1px solid rgba(240,106,0,.35);color:#ff8c2a;font-size:.70rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;padding:6px 12px;border-radius:999px;text-decoration:none}.pill.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.spacer{flex:1}
.wrap{max-width:1200px;margin:0 auto;padding:18px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}
.hd{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.hd h3{margin:0;font-size:.82rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase}
.sub{color:var(--muted);font-size:.78rem}
.bd{padding:14px 16px}
.controls{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:end}
@media(max-width:980px){.controls{grid-template-columns:repeat(2,1fr)}}
label{display:block;font-size:.68rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
input,select{width:100%;font:inherit;border:2px solid var(--line);border-radius:10px;padding:10px 10px;outline:none;background:#fff;color:var(--navy)}
button.primary{width:100%;font:inherit;border:none;border-radius:10px;padding:11px 12px;background:var(--orange);color:#fff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
button.primary:hover{filter:brightness(.95)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.70rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--navy)}
.chip.active{border-color:rgba(240,106,0,.45);background:rgba(240,106,0,.10)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
@media(max-width:980px){.kpis{grid-template-columns:1fr}}
.kpi{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;border-top:3px solid var(--navy)}
.kpi:nth-child(2){border-top-color:var(--orange)}
.kpi:nth-child(3){border-top-color:#4a7a9b}
.kpi .l{font-size:.70rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.kpi .v{font-size:2rem;font-weight:900;letter-spacing:-.03em;line-height:1}
.kpi .s{margin-top:6px;color:var(--muted);font-size:.78rem}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
canvas{width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.note{margin-top:10px;color:var(--muted);font-size:.78rem}

/* Bars */
.bars{display:flex;flex-direction:column;gap:10px}
.brow{display:grid;grid-template-columns:160px 1fr 120px;gap:10px;align-items:center}
@media(max-width:700px){.brow{grid-template-columns:120px 1fr 90px}}
.blabel{font-weight:900;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#3d4a5c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btrack{height:16px;border-radius:999px;background:var(--line);overflow:hidden;position:relative}
.bfill{height:100%;border-radius:999px;background:linear-gradient(90deg, rgba(240,106,0,.95), rgba(18,35,54,.95));}
.bval{font-weight:900;font-size:.82rem;color:#3d4a5c;text-align:right}

.tablebox{overflow:auto;border-radius:12px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:.9rem}
thead{background:var(--navy)}
th,td{padding:12px 12px;white-space:nowrap}
th{font-size:.70rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.75);text-align:left}
td{border-bottom:1px solid var(--line);color:#3d4a5c}
tr:hover td{background:#e8f0f5}
