:root{
  --bg:#0b0b0d; --surface:#151518; --surface2:#1d1d21; --line:#2a2a30; --line2:#3a3a42;
  --text:#ededf0; --mut:#9a9aa5; --dim:#5c5c66;
  --amar:#F5D04B; --amar2:#E8B832;
  --ok:#37b96b; --warn:#f0a13c; --bad:#e35d52; --info:#4aa3e0;
}
html{overflow-x:hidden}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;overflow-x:hidden;max-width:100vw}
a{color:inherit}
.header{background:#000;padding:14px 22px;border-bottom:2px solid var(--amar);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.header h1{font-size:24px;font-weight:800;letter-spacing:.14em}
.header .sub{font-size:10px;color:var(--dim);letter-spacing:.3em;text-transform:uppercase}
.header nav{margin-left:auto;display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}
.header nav::-webkit-scrollbar{display:none}
.header nav a{font-size:11px;color:var(--mut);padding:6px 12px;border-radius:99px;text-decoration:none;font-weight:600;white-space:nowrap;flex-shrink:0}
.header nav a:hover{color:var(--text)}
.header nav a.on{background:var(--amar);color:#111}
.wrap{max-width:1280px;margin:0 auto;padding:16px 22px}

.ventana{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--amar);border-radius:10px;padding:12px 16px;margin-bottom:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ventana .lbl{font-size:10px;color:var(--mut);letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.ventana input[type=date]{background:var(--bg);border:1px solid var(--line2);color:var(--text);padding:6px 8px;border-radius:6px;font-family:inherit;font-size:12px;color-scheme:dark}
.preset{background:var(--bg);color:var(--mut);border:1px solid var(--line);padding:5px 12px;border-radius:99px;font-size:12px;cursor:pointer;font-family:inherit}
.preset:hover{color:var(--text);border-color:var(--mut)}
.preset.on{background:var(--amar);color:#111;border-color:var(--amar);font-weight:700}
.ventana .info{margin-left:auto;font-size:11px;color:var(--mut)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--amar)}
.card.ok::before{background:var(--ok)} .card.warn::before{background:var(--warn)} .card.info::before{background:var(--info)} .card.bad::before{background:var(--bad)}
.card .n{font-size:27px;font-weight:700;letter-spacing:-.01em;line-height:1.1;font-variant-numeric:tabular-nums}
.card .l{font-size:12px;margin-top:2px}
.card .d{font-size:10px;color:var(--mut);margin-top:4px}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{background:none;border:none;color:var(--mut);padding:10px 14px;font-size:12px;cursor:pointer;font-family:inherit;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.tab:hover{color:var(--text)} .tab.on{color:var(--amar);border-bottom-color:var(--amar)}
.panel{background:var(--surface);border:1px solid var(--line);border-top:none;border-radius:0 0 10px 10px;min-height:280px}

table{width:100%;border-collapse:collapse;font-size:12.5px}
thead th{padding:10px;text-align:left;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line);white-space:nowrap;position:sticky;top:0;background:var(--surface2);cursor:pointer;user-select:none}
thead th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}
tbody tr{border-bottom:1px solid var(--line)}
tbody tr:hover{background:rgba(245,208,75,.045)}
td{padding:8px 10px}
td.strong{font-weight:700}
.tw{overflow:auto;max-height:65vh}
.badge{display:inline-block;padding:2px 8px;border-radius:5px;font-size:10.5px;font-weight:600;white-space:nowrap}
.b-ok{background:rgba(55,185,107,.14);color:#6fd699} .b-warn{background:rgba(240,161,60,.15);color:#f4b95f}
.b-bad{background:rgba(227,93,82,.15);color:#f0938a} .b-mut{background:rgba(154,154,165,.12);color:var(--mut)}
.delta-up{color:#f0938a;font-size:11px} .delta-down{color:#6fd699;font-size:11px} .delta-eq{color:var(--dim);font-size:11px}
.bar{height:16px;background:var(--bg);border-radius:4px;overflow:hidden}
.bar>i{display:block;height:100%;background:var(--amar);border-radius:4px}
.note{padding:10px 16px;font-size:11px;color:var(--mut);border-bottom:1px solid var(--line);line-height:1.6;background:var(--bg)}
.note b{color:var(--text)}
.chips{display:flex;gap:6px;flex-wrap:wrap;padding:12px 16px 0}
.chip{background:var(--bg);color:var(--mut);border:1px solid var(--line);padding:4px 12px;border-radius:99px;font-size:11.5px;cursor:pointer;font-family:inherit}
.chip.on{background:var(--amar);color:#111;border-color:var(--amar);font-weight:700}
.empty{padding:40px;text-align:center;color:var(--mut)}
.foot{padding:16px;text-align:center;color:var(--dim);font-size:11px}
.loading{padding:40px;text-align:center;color:var(--mut)}
.errbox{margin:14px 0;padding:12px 16px;background:rgba(227,93,82,.1);border:1px solid var(--bad);border-radius:8px;color:#f0938a;font-size:12.5px}
@media(max-width:640px){
  .wrap{padding:10px}
  .card .n{font-size:22px}
  .ventana{padding:10px}
  .header{padding:10px 14px;gap:8px}
  .header nav{margin-left:0;width:100%;order:3;padding-bottom:2px}
  table{font-size:11.5px}
  thead th,td{padding:7px 8px}
}
