:root{--mv-rojo:#c0341c;--mv-rojo-osc:#a91523;--mv-naranja:#d45e16;--mv-azul:#1b1773;--mv-azul-osc:#050335;--mv-fondo:#f6f5f9}
body{background:var(--mv-fondo);min-height:100vh}
.btn-primary{--bs-btn-bg:var(--mv-rojo);--bs-btn-border-color:var(--mv-rojo);--bs-btn-hover-bg:var(--mv-rojo-osc);--bs-btn-hover-border-color:var(--mv-rojo-osc);--bs-btn-active-bg:var(--mv-rojo-osc);--bs-btn-disabled-bg:var(--mv-rojo);--bs-btn-disabled-border-color:var(--mv-rojo)}
.btn-outline-primary{--bs-btn-color:var(--mv-rojo);--bs-btn-border-color:var(--mv-rojo);--bs-btn-hover-bg:var(--mv-rojo);--bs-btn-hover-border-color:var(--mv-rojo);--bs-btn-active-bg:var(--mv-rojo-osc)}
.btn-azul{--bs-btn-color:#fff;--bs-btn-bg:var(--mv-azul);--bs-btn-border-color:var(--mv-azul);--bs-btn-hover-bg:var(--mv-azul-osc);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--mv-azul-osc);--bs-btn-active-color:#fff}
a{color:var(--mv-azul)}
.text-mv{color:var(--mv-rojo)!important}.text-azul{color:var(--mv-azul)!important}
.bg-mv{background:var(--mv-rojo)!important}.bg-azul{background:var(--mv-azul)!important}
.sidebar{width:250px;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#0d0a52 0%,var(--mv-azul-osc) 100%);min-height:100vh;position:fixed;top:0;left:0;z-index:1030;transition:transform .2s}
.sidebar .brand{color:#fff;font-weight:700;letter-spacing:.5px;text-decoration:none}
.sidebar .brand small{display:block;font-weight:400;font-size:.72rem;opacity:.75;letter-spacing:0}
.sidebar .nav-link{color:rgba(255,255,255,.82);border-radius:8px;padding:.5rem .75rem;margin:1px 0;display:flex;align-items:center;gap:.6rem}
.sidebar .nav-link:hover{background:rgba(255,255,255,.1);color:#fff}
.sidebar .nav-link.active{background:linear-gradient(90deg,var(--mv-rojo-osc),var(--mv-naranja));color:#fff}
.sidebar .seccion{color:rgba(255,255,255,.5);font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin:1rem .75rem .25rem}
.contenido{margin-left:250px;min-height:100vh}
.topbar{background:#fff;border-bottom:1px solid #e5e8ef;position:sticky;top:0;z-index:1020}
@media (max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.abierta{transform:none}.contenido{margin-left:0}}
.card{border:none;box-shadow:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);border-radius:12px}
.card-header{background:#fff;border-bottom:1px solid #eef0f4;font-weight:600;border-radius:12px 12px 0 0!important}
.kpi{border-left:4px solid var(--mv-azul)}.kpi.rojo{border-left-color:var(--mv-rojo)}.kpi.verde{border-left-color:#198754}.kpi.ambar{border-left-color:var(--mv-naranja)}
.kpi .valor{font-size:1.9rem;font-weight:700;line-height:1}
.kpi .etiqueta{color:#6c757d;font-size:.85rem}
.progress{height:8px;border-radius:8px}.progress-bar{background:var(--mv-rojo)}
.progress-bar.bg-success{background:#198754!important}
.curso-card{transition:transform .15s,box-shadow .15s}.curso-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,24,40,.12)}
.curso-banda{height:6px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,var(--mv-rojo-osc),var(--mv-naranja))}
.modulo-bloqueado{opacity:.6}
.item-material{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;text-decoration:none;color:inherit}
.item-material:hover{background:#f1f4fa}
.icono-tipo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#eef2fb;color:var(--mv-azul);flex-shrink:0}
.temporizador{position:sticky;top:64px;z-index:10}
.temporizador .reloj{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}
.pregunta-card .form-check{padding:.6rem .75rem .6rem 2.25rem;border:1px solid #e3e7ef;border-radius:8px;margin-bottom:.5rem;cursor:pointer}
.pregunta-card .form-check:hover{background:#f7f9fc}
.pregunta-card .form-check-input:checked+.form-check-label{font-weight:600}
.op-correcta{background:#e8f6ee!important;border-color:#9fd8b7!important}
.op-incorrecta{background:#fdecee!important;border-color:#f3a6b1!important}
.login-fondo{background:linear-gradient(135deg,var(--mv-azul-osc) 0%,#140f5e 55%,var(--mv-rojo-osc) 120%);min-height:100vh}
.table>:not(caption)>*>*{vertical-align:middle}
.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.4px;color:#6c757d;font-weight:600;background:#f8f9fb}
.badge-estado-completado,.badge-estado-vigente{background:#d1f0dd;color:#0f5132}
.badge-estado-pendiente{background:#fff3cd;color:#7a5b00}
.badge-estado-vencido,.badge-estado-revocado{background:#f8d7da;color:#842029}
.lista-check{max-height:320px;overflow:auto;border:1px solid #dee2e6;border-radius:8px;padding:.5rem}
.lista-check .form-check{padding-top:.2rem;padding-bottom:.2rem}
.lectura{line-height:1.7;font-size:1.05rem;white-space:pre-wrap}
.visor{width:100%;height:75vh;border:1px solid #dee2e6;border-radius:8px;background:#fff}
.ratio video{background:#000}
@media print{.sidebar,.topbar,.no-print{display:none!important}.contenido{margin:0}}
.logo-tile{width:46px;height:46px;border-radius:12px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-tile img{width:36px;height:auto}
.progress-bar{background:linear-gradient(90deg,var(--mv-rojo-osc),var(--mv-naranja))}
