:root{
  --brand:#0a4ea3;
  --brand-dark:#08397a;
  --bg:#f6f9fc;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#dbe4f0;
}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.login-body{background:linear-gradient(135deg,#ffffff 0%,#eff5ff 100%)}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:280px;background:linear-gradient(180deg,var(--brand-dark),var(--brand));color:#fff;padding:28px 22px;display:flex;flex-direction:column;justify-content:flex-start}
.brand{font-size:1.4rem;font-weight:700}
.brand-sub{opacity:.85;font-size:.9rem;margin-top:4px}
.sidebar .nav-link{border-radius:12px;padding:12px 14px;transition:.2s;background:transparent}
.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(255,255,255,.12)}
.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}
.main-panel{flex:1;display:flex;flex-direction:column}
.topbar{padding:28px 32px 16px;background:#fff;border-bottom:1px solid var(--border)}
.page-title{font-size:1.6rem;font-weight:700;color:var(--brand-dark)}
.page-subtitle{color:var(--muted)}
.content-panel{padding:28px 32px}
.panel-card,.metric-card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 30px rgba(10,78,163,.07)}
.panel-card{padding:24px}
.metric-card{padding:22px;height:100%}
.metric-label{font-size:.95rem;color:var(--muted);margin-bottom:8px}
.metric-value{font-size:1.9rem;font-weight:700;color:var(--brand-dark)}
.metric-hint{margin-top:8px;color:var(--muted);font-size:.9rem}
.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.panel-head h3{margin:0;font-size:1.15rem;color:var(--brand-dark)}
.panel-head p{margin:4px 0 0;color:var(--muted)}
.table-modern thead th{background:#f2f7ff;color:var(--brand-dark);border-bottom:1px solid var(--border)}
.table-modern td,.table-modern th{padding:14px;border-color:#eef3f9}
.btn-primary{background:var(--brand);border-color:var(--brand)}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn-outline-primary{color:var(--brand);border-color:var(--brand)}
.btn-outline-primary:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:600}
.status-pill.ok{background:#e8f7ec;color:#18794e}
.status-pill.iniciado{background:#eef5ff;color:#0a4ea3}
.status-pill.error{background:#fdecec;color:#c53929}
.status-pill.procesado{background:#eef5ff;color:#0a4ea3}
.check-list{padding-left:18px;color:var(--muted)}
.check-list li{margin-bottom:10px}
.login-panel{max-width:430px;margin:80px auto;background:#fff;border-radius:24px;border:1px solid var(--border);box-shadow:0 18px 40px rgba(10,78,163,.12);padding:32px}
@media (max-width: 992px){.sidebar{width:100%;min-height:auto}.app-shell{flex-direction:column}.content-panel,.topbar{padding:20px}}
.login-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
.badge-soft{display:inline-block;background:#e8f1ff;color:var(--brand-dark);padding:8px 12px;border-radius:999px;font-weight:600}
.login-title{font-size:2rem;font-weight:800;color:var(--brand-dark);margin-bottom:10px}
.login-text{color:var(--muted);margin-bottom:18px}
.glass-card{border-radius:20px}


.grid-2{grid-template-columns:repeat(2,1fr)}
.btn-soft{background:#f2f7ff;color:var(--brand-dark);border:1px solid var(--border);padding:12px 10px;border-radius:12px;text-align:center;text-decoration:none;font-weight:600}
.btn-soft:hover{background:#e8f1ff}
.compact-head{padding:18px 24px}
.json-box{white-space:pre-wrap;background:#f8fbff;border:1px solid var(--border);padding:16px;border-radius:14px;font-size:.92rem;max-height:420px;overflow:auto}
summary{cursor:pointer}
