:root{--azul-inst:#153B65;--azul:#2563EB;--celeste:#EAF3FF;--verde:#16A34A;--ambar:#F59E0B;--rojo:#DC2626;--fondo:#F8FAFC;--blanco:#FFFFFF}
body{font-family:'Poppins',system-ui,sans-serif;background:var(--fondo);color:#1e293b}
.sidebar{background:var(--azul-inst);min-height:100vh;width:250px}
.sidebar a{color:#cfe0f5;text-decoration:none;display:block;padding:.6rem 1.1rem;border-radius:.5rem;font-size:.92rem}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12);color:#fff}
.brand{color:#fff;font-weight:600;letter-spacing:.3px}
.card{border:0;border-radius:.9rem;box-shadow:0 1px 3px rgba(21,59,101,.08)}
.btn-primary{background:var(--azul);border-color:var(--azul)}
.badge-soft{background:var(--celeste);color:var(--azul-inst)}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--azul-inst),var(--azul))}
.auth-card{width:100%;max-width:430px}
@media(max-width:991px){.sidebar{width:100%;min-height:auto}}
@media print{.sidebar,.d-print-none{display:none!important}main{padding:0!important}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd}}
.nav-step{color:#8fb0d8;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:1rem 0 .25rem;padding:0 1.1rem}
