:root{
  --blue:#0d47a1; --blue-2:#1565c0; --bg:#f1f5fb; --card:#ffffff; --muted:#64748b; --text:#0f172a;
  --ok:#0ea5e9; --danger:#ef4444; --line:#e5e7eb;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;background:var(--bg);color:var(--text)}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}

.topbar{background:var(--blue);color:#fff}
.topbar .wrap{display:flex;gap:16px;align-items:center;padding:12px 16px}
.topbar .brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}
.topbar .logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--blue),var(--blue-2));display:grid;place-items:center;color:#fff;font-weight:700}
.topbar .menu{margin-left:auto;margin-right:16px;display:flex;gap:8px}
.topbar .menu a{color:#dbeafe;text-decoration:none;padding:8px 12px;border-radius:10px}
.topbar .menu a:hover{background:rgba(255,255,255,.12)}
.topbar .menu a.active{background:var(--blue-2);color:#fff}
.topbar .chip{padding:6px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.1)}
.topbar .btn{padding:8px 12px;border-radius:10px;background:#ffffff;color:var(--blue);text-decoration:none;font-weight:600}
.topbar .btn:hover{background:#e2e8f0}
/* Evita doble topbar por error */
header.topbar + header.topbar{display:none!important}

.page{padding:24px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(2,6,23,.06)}
.card.pad{padding:18px}
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.kpis{grid-template-columns:1fr}}

.kpi{padding:16px}
.kpi h3{margin:0 0 8px;font-size:14px;color:var(--muted)}
.kpi .num{font-size:28px;font-weight:700}

.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.controls input[type="date"],.controls input[type="text"],.controls input[type="number"],.controls select{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#f8fafc}
.controls .btn{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#f3f4f6;cursor:pointer}
.controls .btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}

.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:12px}

.actions{display:flex;gap:8px}
.btn-xs{padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:#eef2ff;color:#1e40af;text-decoration:none}
.btn-xs.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.btn-xs.ok{background:#ecfeff;color:#155e75;border-color:#a5f3fc}

.gauge{width:180px;height:180px;border-radius:50%;background:conic-gradient(#3b82f6 var(--deg,0deg), #e5e7eb 0)}
.gauge-inner{width:140px;height:140px;margin:20px auto 0;border-radius:50%;background:#fff;display:grid;place-items:center;border:1px solid var(--line)}
.center{text-align:center}

.site-foot{margin:24px 0 40px;color:var(--muted)}
