:root{
  --bg:#eef3f8;
  --panel:#fff;
  --panel-soft:#f8fafc;
  --text:#14263a;
  --muted:#64778a;
  --line:#d8e2ec;
  --nav:#0f2238;
  --nav-2:#16304c;
  --gold:#f2c14f;
  --gold-2:#dca739;
  --green:#0c8f65;
  --red:#cb4f4f;
  --blue:#2f6fb2;
  --cyan:#18a6a6;
  --shadow:0 14px 34px rgba(17,38,62,.08);
  --font:"Aptos","Segoe UI",Arial,sans-serif;
  --display:"Bahnschrift","Aptos","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.35}
a{color:inherit}
.app-shell{display:grid;grid-template-columns:278px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#fff;padding:14px;border-right:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.06);text-decoration:none}
.brand img{width:38px;height:38px;border-radius:8px;background:#fff;padding:3px;object-fit:contain}
.brand strong{display:block;font:850 15px/1.1 var(--display)}
.brand small{display:block;margin-top:3px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68);font-weight:800}
.nav-section{margin-top:14px}
.nav-section p{margin:0 0 7px 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.58);font-weight:850}
.nav-link{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:52px;margin-bottom:7px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:rgba(255,255,255,.9);text-decoration:none;background:rgba(255,255,255,.04)}
.nav-link.active{background:rgba(242,193,79,.18);box-shadow:inset 0 0 0 1px rgba(242,193,79,.24);border-color:rgba(242,193,79,.18)}
.nav-link.muted{opacity:.72}
.nav-link strong{display:block;font-size:13px;color:#fff}
.nav-link small{display:block;margin-top:2px;color:rgba(255,255,255,.62);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot{display:block;width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);position:relative}
.dot:after{content:"";position:absolute;inset:9px;border-radius:999px;background:currentColor}
.dot.gold{color:var(--gold)}.dot.blue{color:#7fb6ff}.dot.green{color:#6ee3ad}
.side-card{display:grid;gap:6px;margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.04)}
.side-card span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58);font-weight:900}
.side-card strong{font-size:13px}.side-card small{color:rgba(255,255,255,.66);font-weight:700}
.content{min-width:0;padding:14px 16px;max-width:1680px;width:100%;margin:0 auto}
.topbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.icon-btn{display:none;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer;font-weight:900;box-shadow:0 4px 12px rgba(17,38,62,.04)}
.env-chip{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-weight:800}
.env-chip:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--green);box-shadow:0 0 0 3px rgba(12,143,101,.12)}
.page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:18px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f8fbfd);box-shadow:var(--shadow)}
.eyebrow{margin:0 0 6px;color:#b78319;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:950}
h1{margin:0;font:850 30px/1.05 var(--display);letter-spacing:0}
h2{margin:0;font-size:15px;color:var(--text)}
p{color:var(--muted);font-weight:650;margin:8px 0 0}
.update-card{min-width:270px;padding:12px;border:1px solid #e3ebf3;border-radius:8px;background:#fff;text-align:right}
.update-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950}
.update-card strong{display:block;margin-top:5px;font-size:18px}.update-card small{display:block;margin-top:5px;color:var(--muted);font-weight:750}
.toolbar{margin-bottom:12px}
.filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr)) auto auto;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 20px rgba(17,38,62,.05)}
label{display:grid;gap:5px;min-width:0}
label span{color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:950}
input,select{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-weight:700;min-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid transparent;border-radius:8px;background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#2a2109;text-decoration:none;font-weight:950;cursor:pointer;white-space:nowrap}
.btn.secondary{background:#fff;color:var(--text);border-color:var(--line)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}
.kpi{position:relative;min-height:116px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}
.kpi.blue:before{background:var(--blue)}.kpi.gold:before{background:var(--gold)}.kpi.green:before{background:var(--green)}.kpi.red:before{background:var(--red)}
.kpi span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:950}
.kpi strong{display:block;margin-top:10px;font-size:25px;line-height:1.05;overflow-wrap:anywhere}
.kpi small{display:block;margin-top:8px;color:var(--muted);font-weight:750}
.grid{display:grid;gap:10px;margin-bottom:10px}.grid.two{grid-template-columns:1.15fr .85fr}
.panel{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden;margin-bottom:10px}
.panel-head{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #eef3f7}.panel-head p{font-size:12px;margin-top:4px}
.rank-list{display:grid;gap:9px;padding:14px}
.rank-row{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(150px,1fr) minmax(120px,.55fr);gap:12px;align-items:center;padding:10px;border:1px solid #edf2f7;border-left-width:4px;border-radius:8px;background:#fbfdff}
.rank-row.divergente{border-left-color:var(--red)}.rank-row.ok{border-left-color:var(--green)}
.rank-row strong{display:block}.rank-row span{display:block;color:var(--muted);font-size:11px;font-weight:750}.rank-row b{text-align:right}
.bar{height:12px;border-radius:999px;background:#e6edf5;overflow:hidden}.bar i{display:block;height:100%;min-width:3px;border-radius:999px;background:linear-gradient(90deg,var(--gold-2),var(--red))}
.health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px}
.health-grid div{padding:12px;border:1px solid #edf2f7;border-radius:8px;background:#fbfdff}.health-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.health-grid strong{display:block;margin-top:6px;font-size:18px}
.table-wrap{overflow:auto;max-width:100%;border-top:1px solid #eef3f7;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
table{width:100%;border-collapse:collapse}table.wide{min-width:1120px}
th,td{padding:8px 9px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:middle;font-size:12px}
th{position:sticky;top:0;z-index:1;background:#f8fafc;color:var(--muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:950;white-space:nowrap}
td b{display:block}td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.positive{color:var(--green);font-weight:900}.negative{color:var(--red);font-weight:900}.empty{text-align:center;color:var(--muted);font-weight:800;padding:18px}
.pill{display:inline-flex;justify-content:center;min-width:54px;padding:4px 8px;border-radius:999px;background:#e8f7f1;color:var(--green);font-weight:950}.pill.danger{background:#fdecec;color:var(--red)}
.overlay{display:none}
@media (max-width:1200px){
  .app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:286px;z-index:40;transform:translateX(-100%);transition:.18s ease;box-shadow:0 20px 48px rgba(0,0,0,.24)}.app-shell.mobile-open .sidebar{transform:translateX(0)}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:30}.app-shell.mobile-open .overlay{display:block}.icon-btn{display:grid}.content{padding:12px}.page-head,.grid.two{grid-template-columns:1fr}.update-card{text-align:left}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:680px){
  .content{padding:10px}.page-head{padding:14px}.filters,.kpis,.rank-row,.health-grid{grid-template-columns:1fr}.rank-row b{text-align:left}h1{font-size:24px}.kpi strong{font-size:22px}
}
