:root{--hb-gris:#3f4444;--hb-azul:#3a5dae;--hb-celeste:#6cace4;--hb-carbon:#13294b;--hb-resina:#2c5697;--hb-calypso:#dde5ed;--hb-flow:#0072ce;--hb-gris-2:#566361;--hb-verde:#a9c47f;--hb-metal:#7a99ac;--hb-vino:#672e45;--hb-amarillo:#decd63;--hb-lila:#ba9cc5;--hb-naranja:#eca154;--hb-blanco:#fff;--hb-papel:#f6f8fb;--hb-linea:#e1e7ee;--hb-tinta:var(--hb-carbon);--hb-muted:#6f7a8a;--hb-ok:var(--hb-verde);--hb-ok-soft:#eaf2da;--hb-warn:var(--hb-amarillo);--hb-warn-soft:#fbf6db;--hb-danger:var(--hb-vino);--hb-danger-soft:#f0dde3;--hb-info:var(--hb-flow);--hb-info-soft:#dbeefa}*{box-sizing:border-box}body{background:var(--hb-papel);color:var(--hb-tinta);margin:0;font-family:Nexa,Segoe UI,system-ui,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}header.app{background:var(--hb-carbon);color:#fff;border-bottom:4px solid var(--hb-flow);z-index:60;justify-content:space-between;align-items:center;padding:14px 26px;display:flex;position:sticky;top:0}header.app .brand{align-items:center;gap:14px;display:flex}header.app .brand .logo-fake{background:var(--hb-flow);letter-spacing:.5px;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:900;display:flex}header.app h1{margin:0;font-size:1rem;font-weight:400}header.app h1 strong{letter-spacing:.4px;text-transform:uppercase;color:var(--hb-celeste);margin-right:8px;font-weight:900}header.app .tag{background:var(--hb-flow);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;margin-left:8px;padding:3px 10px;font-size:.72rem;font-weight:700}nav.tabs{border-bottom:1px solid var(--hb-linea);z-index:50;background:#fff;gap:0;padding:0 26px;display:flex;position:sticky;top:64px}nav.tabs a{color:var(--hb-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.4px;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:14px 22px;font-family:inherit;font-size:.85rem;font-weight:700;display:flex}nav.tabs a:hover{color:var(--hb-carbon);background:var(--hb-papel)}nav.tabs a.active{color:var(--hb-flow);border-bottom-color:var(--hb-flow)}nav.tabs a .num{background:var(--hb-linea);width:22px;height:22px;color:var(--hb-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:900;display:inline-flex}nav.tabs a.active .num{background:var(--hb-flow);color:#fff}nav.tabs a .pill{background:var(--hb-vino);color:#fff;border-radius:10px;padding:2px 7px;font-size:.65rem;font-weight:700}.wrap{max-width:1480px;margin:0 auto;padding:24px 26px 80px}.page-title{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;display:flex}.page-title h2{color:var(--hb-carbon);text-transform:uppercase;letter-spacing:.6px;margin:0;font-size:1.4rem;font-weight:900}.page-title .sub{color:var(--hb-muted);font-size:.9rem;font-style:italic}section.bloque{border:1px solid var(--hb-linea);background:#fff;border-radius:8px;margin-bottom:18px;overflow:hidden}section.bloque>header.sec{background:var(--hb-calypso);border-bottom:1px solid var(--hb-linea);border-left:4px solid var(--hb-flow);align-items:center;gap:12px;padding:13px 20px;display:flex}section.bloque>header.sec h3{color:var(--hb-carbon);text-transform:uppercase;letter-spacing:.4px;flex:1;margin:0;font-size:1rem;font-weight:900}section.bloque .body{padding:18px 22px}.kpis{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px;display:grid}.kpis .kpi{border:1px solid var(--hb-linea);border-left:4px solid var(--hb-flow);background:#fff;border-radius:6px;padding:12px 16px}.kpis .kpi .lbl{text-transform:uppercase;letter-spacing:.5px;color:var(--hb-muted);margin-bottom:4px;font-size:.68rem;font-weight:700}.kpis .kpi .val{color:var(--hb-carbon);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:900}.kpis .kpi .sub{color:var(--hb-muted);margin-top:3px;font-size:.75rem}.kpis .kpi.azul{border-left-color:var(--hb-flow)}.kpis .kpi.verde{border-left-color:var(--hb-ok);background:var(--hb-ok-soft)}.kpis .kpi.amarillo{border-left-color:var(--hb-warn);background:var(--hb-warn-soft)}.kpis .kpi.rojo{border-left-color:var(--hb-vino);background:var(--hb-danger-soft)}.kpis .kpi.total{border-left-color:var(--hb-carbon)}.filtros{border:1px solid var(--hb-linea);background:#fff;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:14px;padding:14px 18px;display:flex}.filtros .field{flex-direction:column;gap:5px;min-width:140px;display:flex}.filtros .field label{text-transform:uppercase;letter-spacing:.5px;color:var(--hb-muted);font-size:.7rem;font-weight:700}.filtros .field select,.filtros .field input{border:1px solid var(--hb-linea);color:var(--hb-tinta);background:#fff;border-radius:4px;padding:8px 11px;font-family:inherit;font-size:.9rem}table.cot,table.sum{border-collapse:collapse;width:100%;font-size:.85rem}table.cot thead th,table.sum thead th{background:var(--hb-calypso);color:var(--hb-carbon);text-transform:uppercase;letter-spacing:.4px;text-align:left;border-bottom:1px solid var(--hb-linea);padding:10px 12px;font-size:.72rem;font-weight:900}table.cot th.num,table.cot td.num,table.sum th.num,table.sum td.num{text-align:right;font-variant-numeric:tabular-nums}table.cot th.ctr,table.cot td.ctr,table.sum th.ctr,table.sum td.ctr{text-align:center}table.cot tbody td,table.sum tbody td{border-bottom:1px solid var(--hb-linea);padding:9px 12px}table.cot tbody tr:hover{background:var(--hb-papel)}.dot{width:14px;height:14px;box-shadow:0 0 0 1px var(--hb-linea);border:2px solid #fff;border-radius:50%;display:inline-block}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.4px;border:1px solid var(--hb-linea);color:var(--hb-carbon);background:#fff;border-radius:4px;padding:9px 16px;font-family:inherit;font-size:.8rem;font-weight:700}.btn:hover{background:var(--hb-papel)}.btn.primary{background:var(--hb-flow);color:#fff;border-color:var(--hb-flow)}.btn.primary:hover{background:var(--hb-resina)}.btn.ghost{color:var(--hb-flow);background:0 0;border-color:#0000}.empty,.loading,.errorbox{text-align:center;color:var(--hb-muted);padding:24px;font-style:italic}.errorbox{color:var(--hb-vino);background:var(--hb-danger-soft);border-radius:6px}
