/* 
 * EPIS — Escuela Profesional de Ingeniería de Sistemas
 * Modo Oscuro Premium — Obsidian & Charcoal Neutro Puro (Dribbble #25748099)
 * 0% Saturación Azul: #080808 (App) → #0A0A0A (Sidebar) → #0E0E0E (Main) → #141414 (Cards) → #1A1A1A (Elevado)
 */

/* ═══════════════════════════════════════════════════════════
   1. TOKENS DE DISEÑO OBSIDIAN & CHARCOAL NEUTRO
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] {
    --color-fondo: #080808;
    --color-superficie: #141414;
    --color-superficie-elevada: #1a1a1a;
    --color-texto-primario: #ffffff;
    --color-texto-secundario: #d4d4d4;
    --color-texto-terciario: #8a8a8a;
    --color-borde: #222222;
    --color-borde-subtle: #1a1a1a;
    --color-primario: #6366f1;
    --color-primario-rgb: 99, 102, 241;

    --sidebar-bg: #0a0a0a;
    --sidebar-texto: #a3a3a3;
    --sidebar-texto-activo: #ffffff;
    --sidebar-bg-activo: #1c1c1c;
    --sidebar-borde: #1c1c1c;

    --navbar-bg: rgba(10, 10, 10, 0.94);

    --sombra-sutil: 0 2px 4px rgba(0, 0, 0, 0.6);
    --sombra-premium: 0 12px 32px -4px rgba(0, 0, 0, 0.8), 0 0 0 1px #222222;
    --sombra-card-hover: 0 16px 36px -6px rgba(0, 0, 0, 0.9), 0 0 0 1px #2e2e2e;
    --sombra-glow-primario: 0 0 20px rgba(99, 102, 241, 0.25);
    
    color-scheme: dark;
}

/* ═══════════════════════════════════════════════════════════
   2. CUERPO Y LAYOUT BASE (OBSIDIAN NEUTRAL)
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] html,
[data-theme="oscuro"] body {
    background-color: #080808 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] #contenedor-aplicacion {
    background-color: #080808 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] #contenido-principal {
    background-color: #0e0e0e !important;
}

[data-theme="oscuro"] .cuerpo-pagina {
    background-color: #0e0e0e !important;
}

[data-theme="oscuro"] .pie-pagina {
    background-color: #0a0a0a !important;
    border-top-color: #1a1a1a !important;
    color: #737373 !important;
}

[data-theme="oscuro"] hr {
    border-color: #222222 !important;
    opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════
   3. SIDEBAR (DRIBBLE #25748099 CHARCOAL STYLE)
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .barra-lateral {
    background: #0a0a0a !important;
    border-color: #1c1c1c !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="oscuro"] .sidebar-encabezado {
    border-bottom-color: #1c1c1c !important;
}

[data-theme="oscuro"] .sidebar-logo-titulo {
    color: #ffffff !important;
}

[data-theme="oscuro"] .sidebar-logo-subtitulo {
    color: #737373 !important;
}

[data-theme="oscuro"] .sidebar-badge-version {
    background: #181818 !important;
    color: #d4d4d4 !important;
    border-color: #262626 !important;
}

[data-theme="oscuro"] .sidebar-search-input {
    background: #121212 !important;
    border-color: #242424 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .sidebar-search-input:focus {
    border-color: #383838 !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.05) !important;
}

[data-theme="oscuro"] .sidebar-search-icon {
    color: #737373 !important;
}

[data-theme="oscuro"] .sidebar-search-shortcut {
    background: #181818 !important;
    border-color: #262626 !important;
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .sidebar-seccion {
    color: #737373 !important;
}

[data-theme="oscuro"] .sidebar-item a {
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .sidebar-item a i {
    color: #737373 !important;
}

[data-theme="oscuro"] .sidebar-item a:hover {
    background-color: #181818 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .sidebar-item a:hover i {
    color: #ffffff !important;
}

/* Ítem Activo en Modo Oscuro */
[data-theme="oscuro"] .sidebar-item.activo a {
    color: #ffffff !important;
    background: #1c1c1c !important;
    border: 1px solid #282828 !important;
    border-left: 3px solid #6366f1 !important;
}

[data-theme="oscuro"] .sidebar-item.activo a i {
    color: #818cf8 !important;
}

[data-theme="oscuro"] .sidebar-badge-count {
    background: #422006 !important;
    color: #fde68a !important;
    border-color: #78350f !important;
}

[data-theme="oscuro"] .sidebar-fijo-inferior {
    background: transparent !important;
    border-top: none !important;
}

[data-theme="oscuro"] .sidebar-pie {
    background: transparent !important;
    border-top: none !important;
    border-color: transparent !important;
}

[data-theme="oscuro"] .sidebar-user-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

[data-theme="oscuro"] .sidebar-user-avatar,
[data-theme="oscuro"] .sidebar-user-avatar-initials {
    box-shadow: 0 0 0 2px #0a0a0a, 0 2px 10px rgba(124, 58, 237, 0.4) !important;
}

[data-theme="oscuro"] .sidebar-user-status-dot {
    border-color: #0a0a0a !important;
}

[data-theme="oscuro"] .sidebar-user-name {
    color: #ffffff !important;
}

[data-theme="oscuro"] .sidebar-user-card a:hover .sidebar-user-name {
    color: #a78bfa !important;
}

[data-theme="oscuro"] .sidebar-user-role {
    color: #98a2b3 !important;
}

[data-theme="oscuro"] .sidebar-user-logout-btn {
    color: #98a2b3 !important;
}

[data-theme="oscuro"] .sidebar-user-logout-btn:hover {
    color: #f87171 !important;
    background: rgba(239, 68, 68, 0.12) !important;
}

/* ═══════════════════════════════════════════════════════════
   4. NAVBAR SUPERIOR
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .barra-navegacion {
    background: rgba(10, 10, 10, 0.94) !important;
    border-color: #1c1c1c !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(12px) !important;
}

[data-theme="oscuro"] .navbar-search-wrapper {
    background: #121212 !important;
    border-color: #222222 !important;
}

[data-theme="oscuro"] .navbar-search-input {
    color: #ffffff !important;
}

[data-theme="oscuro"] .navbar-btn-icon {
    background: #141414 !important;
    border-color: #242424 !important;
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .navbar-btn-icon:hover {
    background: #1f1f1f !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .btn-modo-oscuro {
    background: #141414 !important;
    border-color: #242424 !important;
    color: #e5e5e5 !important;
}

[data-theme="oscuro"] .btn-modo-oscuro:hover {
    background: #1f1f1f !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

/* Dropdown Menus */
[data-theme="oscuro"] .dropdown-menu {
    background: #161616 !important;
    border-color: #282828 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .dropdown-item {
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .dropdown-item:hover,
[data-theme="oscuro"] .dropdown-item:focus {
    background: #202020 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .dropdown-divider {
    border-top-color: #242424 !important;
}

/* ═══════════════════════════════════════════════════════════
   5. TARJETAS Y CONTENEDORES (CHARCOAL SURFACES #141414)
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .card,
[data-theme="oscuro"] .card-untitled-container,
[data-theme="oscuro"] .tarjeta-premium {
    background: #141414 !important;
    border: 1px solid #202020 !important;
    color: #ededed !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="oscuro"] .card-header,
[data-theme="oscuro"] .card-header-untitled,
[data-theme="oscuro"] .tarjeta-encabezado {
    background: #141414 !important;
    border-bottom-color: #202020 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .card-footer,
[data-theme="oscuro"] .tarjeta-pie {
    background: #141414 !important;
    border-top-color: #202020 !important;
    color: #a3a3a3 !important;
}

/* Tarjetas KPI de Estado */
[data-theme="oscuro"] .tarjeta-kpi {
    background: #141414 !important;
    border-color: #202020 !important;
}

[data-theme="oscuro"] .tarjeta-kpi:hover {
    border-color: #2e2e2e !important;
    box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.7) !important;
}

/* ═══════════════════════════════════════════════════════════
   6. TABLAS DRIBBLE OBSIDIAN & CHARCOAL (#141414 / #0E0E0E)
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .table-responsive {
    background: #141414 !important;
}

[data-theme="oscuro"] .table,
[data-theme="oscuro"] .table-untitled-ui,
[data-theme="oscuro"] .table-custom,
[data-theme="oscuro"] .consumos-table {
    background-color: #141414 !important;
    color: #ededed !important;
    border-color: #1f1f1f !important;
}

/* Encabezados de Tabla thead */
[data-theme="oscuro"] .table thead th,
[data-theme="oscuro"] .table-untitled-ui thead th,
[data-theme="oscuro"] .table-custom thead th,
[data-theme="oscuro"] .consumos-table thead th {
    background-color: #0e0e0e !important;
    color: #8e8e8e !important;
    border-bottom: 1px solid #202020 !important;
    font-weight: 600;
}

/* Filas tbody */
[data-theme="oscuro"] .table tbody tr,
[data-theme="oscuro"] .table-untitled-ui tbody tr,
[data-theme="oscuro"] .table-custom tbody tr,
[data-theme="oscuro"] .consumos-table tbody tr {
    background-color: #141414 !important;
    border-bottom: 1px solid #1a1a1a !important;
    color: #e5e5e5 !important;
}

[data-theme="oscuro"] .table tbody td,
[data-theme="oscuro"] .table-untitled-ui tbody td,
[data-theme="oscuro"] .table-custom tbody td,
[data-theme="oscuro"] .consumos-table tbody td {
    background-color: #141414 !important;
    border-bottom: 1px solid #1a1a1a !important;
    color: #e5e5e5 !important;
}

/* Hover de Filas (Gris Carbón Muy Suave) */
[data-theme="oscuro"] .table-hover tbody tr:hover,
[data-theme="oscuro"] .table-untitled-ui.table-hover tbody tr:hover,
[data-theme="oscuro"] .table-custom.table-hover tbody tr:hover,
[data-theme="oscuro"] .consumos-table tbody tr:hover {
    background-color: #1c1c1c !important;
}

[data-theme="oscuro"] .table-hover tbody tr:hover td,
[data-theme="oscuro"] .table-untitled-ui.table-hover tbody tr:hover td {
    background-color: #1c1c1c !important;
}

/* Botones de Acción en Tablas */
[data-theme="oscuro"] .btn-action-icon {
    background: #181818 !important;
    border: 1px solid #262626 !important;
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .btn-action-icon:hover {
    background: #242424 !important;
    border-color: #383838 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .btn-action-icon-eye {
    color: #93c5fd !important;
}

[data-theme="oscuro"] .btn-action-icon-edit {
    color: #fde68a !important;
}

[data-theme="oscuro"] .btn-action-icon-key {
    color: #fcd34d !important;
}

[data-theme="oscuro"] .btn-action-icon-danger {
    color: #fca5a5 !important;
}

[data-theme="oscuro"] .btn-action-icon-danger:hover {
    background: #450a0a !important;
    border-color: #7f1d1d !important;
}

[data-theme="oscuro"] .btn-action-icon-success {
    color: #86efac !important;
}

/* ═══════════════════════════════════════════════════════════
   7. PASTILLAS Y BADGES (DRIBBBLE MICRO-DOT PILLS)
   ═══════════════════════════════════════════════════════════ */
/* Activo / Éxito (Emerald Obsidian) */
[data-theme="oscuro"] .badge-untitled-emerald,
[data-theme="oscuro"] .badge.bg-success,
[data-theme="oscuro"] .badge.bg-success-subtle,
[data-theme="oscuro"] .badge[style*="#ecfdf3"] {
    background-color: #062f21 !important;
    color: #a7f3d0 !important;
    border: 1px solid #0d543a !important;
}

/* Inactivo / Eliminado (Rose Obsidian) */
[data-theme="oscuro"] .badge-untitled-rose,
[data-theme="oscuro"] .badge.bg-danger,
[data-theme="oscuro"] .badge.bg-danger-subtle,
[data-theme="oscuro"] .badge[style*="#fef3f2"] {
    background-color: #450a0a !important;
    color: #fecaca !important;
    border: 1px solid #7f1d1d !important;
}

/* Suspendido / Advertencia (Amber Obsidian) */
[data-theme="oscuro"] .badge-untitled-amber,
[data-theme="oscuro"] .badge.bg-warning,
[data-theme="oscuro"] .badge.bg-warning-subtle,
[data-theme="oscuro"] .badge[style*="#fffaeb"] {
    background-color: #422006 !important;
    color: #fde68a !important;
    border: 1px solid #78350f !important;
}

/* Roles / Categorías (Purple Obsidian) */
[data-theme="oscuro"] .badge-untitled-purple,
[data-theme="oscuro"] .badge[style*="#f4f3ff"] {
    background-color: #26163b !important;
    color: #e9d5ff !important;
    border: 1px solid #4c1d95 !important;
}

/* Informativo / Residente (Blue Obsidian) */
[data-theme="oscuro"] .badge-untitled-blue,
[data-theme="oscuro"] .badge[style*="#eff4ff"] {
    background-color: #111827 !important;
    color: #93c5fd !important;
    border: 1px solid #1f2937 !important;
}

/* Neutro / General (Gray Obsidian) */
[data-theme="oscuro"] .badge-untitled-gray,
[data-theme="oscuro"] .badge.bg-secondary,
[data-theme="oscuro"] .badge[style*="#f8fafc"] {
    background-color: #222222 !important;
    color: #d4d4d4 !important;
    border: 1px solid #333333 !important;
}

/* ═══════════════════════════════════════════════════════════
   8. FORMULARIOS, INPUTS Y SELECTS
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .form-control,
[data-theme="oscuro"] .form-select,
[data-theme="oscuro"] .input-group-text {
    background-color: #121212 !important;
    border-color: #242424 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .form-control:focus,
[data-theme="oscuro"] .form-select:focus {
    background-color: #141414 !important;
    border-color: #3e3e3e !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06) !important;
}

[data-theme="oscuro"] .form-control::placeholder {
    color: #5e5e5e !important;
}

[data-theme="oscuro"] .form-label {
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .form-text {
    color: #737373 !important;
}

[data-theme="oscuro"] .form-check-input {
    background-color: #1a1a1a !important;
    border-color: #333333 !important;
}

[data-theme="oscuro"] .form-check-input:checked {
    background-color: #6366f1 !important;
    border-color: #6366f1 !important;
}

/* Switch */
[data-theme="oscuro"] .form-switch .form-check-input {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23737373'/%3e%3c/svg%3e") !important;
}

[data-theme="oscuro"] .form-switch .form-check-input:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e") !important;
}

/* ═══════════════════════════════════════════════════════════
   9. BOTONES
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .btn-light,
[data-theme="oscuro"] .btn-outline-secondary {
    background-color: #181818 !important;
    border-color: #262626 !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .btn-light:hover,
[data-theme="oscuro"] .btn-outline-secondary:hover {
    background-color: #242424 !important;
    border-color: #383838 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .btn-primario {
    background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%) !important;
    border: 1px solid #6366f1 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .btn-primario:hover {
    background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%) !important;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.4) !important;
}

/* ═══════════════════════════════════════════════════════════
   10. MODALES & SWEETALERT2
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .modal-content {
    background-color: #161616 !important;
    border-color: #282828 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6) !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .modal-header {
    border-bottom-color: #222222 !important;
    background: #141414 !important;
}

[data-theme="oscuro"] .modal-footer {
    border-top-color: #222222 !important;
    background: #141414 !important;
}

[data-theme="oscuro"] .modal-title {
    color: #ffffff !important;
}

[data-theme="oscuro"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

[data-theme="oscuro"] .swal2-popup {
    background-color: #161616 !important;
    border: 1px solid #282828 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .swal2-title {
    color: #ffffff !important;
}

[data-theme="oscuro"] .swal2-html-container {
    color: #d4d4d4 !important;
}

/* ═══════════════════════════════════════════════════════════
   11. PAGINACIÓN
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .pagination .page-link {
    background-color: #141414 !important;
    border-color: #242424 !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .pagination .page-link:hover {
    background-color: #222222 !important;
    border-color: #383838 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .pagination .page-item.active .page-link {
    background-color: #2a2a2a !important;
    border-color: #3e3e3e !important;
    color: #ffffff !important;
    font-weight: 700;
}

[data-theme="oscuro"] .pagination .page-item.disabled .page-link {
    background-color: #101010 !important;
    border-color: #1c1c1c !important;
    color: #555555 !important;
}

/* ═══════════════════════════════════════════════════════════
   12. TIPOGRAFÍA Y ENLACES
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .text-dark {
    color: #ffffff !important;
}

[data-theme="oscuro"] .text-muted {
    color: #8a8a8a !important;
}

[data-theme="oscuro"] .text-secondary {
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] a.text-dark:hover {
    color: #818cf8 !important;
}

[data-theme="oscuro"] code,
[data-theme="oscuro"] pre {
    background-color: #181818 !important;
    color: #e5e5e5 !important;
    border-color: #262626 !important;
}

/* ═══════════════════════════════════════════════════════════
   13. PORTAL DEL ESTUDIANTE (DRIBBLE OBSIDIAN)
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .portal-nav {
    background: rgba(10, 10, 10, 0.94) !important;
    border-bottom: 1px solid #1c1c1c !important;
}

[data-theme="oscuro"] .portal-section {
    background: #141414 !important;
    border: 1px solid #202020 !important;
}

[data-theme="oscuro"] .portal-section-header {
    border-bottom: 1px solid #202020 !important;
}

[data-theme="oscuro"] .portal-section-title {
    color: #ffffff !important;
}

[data-theme="oscuro"] .consumos-tab {
    background: #181818 !important;
    border: 1px solid #242424 !important;
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .consumos-tab.active {
    background: #242424 !important;
    border-color: #383838 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .resumen-item {
    background: #101010 !important;
    border: 1px solid #1f1f1f !important;
}

[data-theme="oscuro"] .resumen-num {
    color: #ffffff !important;
}

[data-theme="oscuro"] .resumen-label {
    color: #8a8a8a !important;
}

/* La credencial QR digital NO se modifica en modo oscuro para conservar su diseño original */

[data-theme="oscuro"] .tipo-badge.desayuno {
    background: #422006 !important;
    color: #fde68a !important;
    border: 1px solid #78350f !important;
}

[data-theme="oscuro"] .tipo-badge.almuerzo {
    background: #062f21 !important;
    color: #a7f3d0 !important;
    border: 1px solid #0d543a !important;
}

[data-theme="oscuro"] .tipo-badge.cena {
    background: #26163b !important;
    color: #e9d5ff !important;
    border: 1px solid #4c1d95 !important;
}

[data-theme="oscuro"] .menu-card {
    background: #141414 !important;
    border: 1px solid #202020 !important;
}

[data-theme="oscuro"] .menu-platillo-item {
    background: #101010 !important;
    border: 1px solid #1a1a1a !important;
}

[data-theme="oscuro"] .menu-platillo-nombre {
    color: #ffffff !important;
}

[data-theme="oscuro"] .menu-platillo-desc {
    color: #8a8a8a !important;
}

/* ═══════════════════════════════════════════════════════════
   14. CHART.JS — TEXTOS Y EJES VISIBLES EN MODO OSCURO
   ═══════════════════════════════════════════════════════════ */
/* El canvas de Chart.js no interpreta CSS vars como color.
   Los colores se aplican vía JS en modo-oscuro.js, pero
   necesitamos asegurar que el contenedor no oculte nada. */
[data-theme="oscuro"] .grafico-contenedor {
    background: transparent !important;
}

/* Nav pills de tabs de gráficos */
[data-theme="oscuro"] .nav-pills .nav-link {
    color: #8a8a8a !important;
}

[data-theme="oscuro"] .nav-pills .nav-link.active {
    background-color: #6366f1 !important;
    color: #ffffff !important;
}

/* Quick Action buttons oscuro */
[data-theme="oscuro"] .btn-quick-action {
    background: #141414 !important;
    border-color: #242424 !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .btn-quick-action:hover {
    background: #1c1c1c !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

/* KPI icon boxes oscuro */
[data-theme="oscuro"] .kpi-icon-neutral {
    background: #1a1a1a !important;
    border-color: #2a2a2a !important;
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .kpi-icon-purple {
    background: #1f1533 !important;
    border-color: #352459 !important;
    color: #a78bfa !important;
}

[data-theme="oscuro"] .kpi-icon-blue {
    background: #0f1b2d !important;
    border-color: #1e3a5f !important;
    color: #60a5fa !important;
}

[data-theme="oscuro"] .kpi-icon-teal {
    background: #0c1f2d !important;
    border-color: #164e63 !important;
    color: #22d3ee !important;
}

/* Horarios de atención cards */
[data-theme="oscuro"] .horario-comida-card {
    background: #141414 !important;
    border-color: #242424 !important;
}

/* Alertas bootstrap */
[data-theme="oscuro"] .alert {
    background: #141414 !important;
    border-color: #242424 !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .alert[style*="linear-gradient"] {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(99, 102, 241, 0.03) 100%) !important;
    border-left: 5px solid #6366f1 !important;
}

/* Bootstrap bg-light en modo oscuro */
[data-theme="oscuro"] .bg-light {
    background-color: #181818 !important;
}

[data-theme="oscuro"] .bg-success-subtle {
    background-color: #062f21 !important;
    border-color: #0d543a !important;
}

[data-theme="oscuro"] .bg-secondary-subtle {
    background-color: #222222 !important;
    border-color: #333333 !important;
}

[data-theme="oscuro"] .border-success-subtle {
    border-color: #0d543a !important;
}

[data-theme="oscuro"] .border-secondary-subtle {
    border-color: #333333 !important;
}

[data-theme="oscuro"] .text-success {
    color: #34d399 !important;
}

/* ═══════════════════════════════════════════════════════════
   15. PORTAL ESTUDIANTIL — MODO OSCURO COMPLETO
   ═══════════════════════════════════════════════════════════ */
[data-theme="oscuro"] .portal-page {
    background-color: #080808 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .portal-topbar {
    background-color: rgba(12, 12, 12, 0.95) !important;
    border-bottom: 1px solid #1e1e1e !important;
    backdrop-filter: blur(12px) !important;
}

[data-theme="oscuro"] .portal-topbar-brand span {
    color: #ffffff !important;
}

[data-theme="oscuro"] .portal-user-name {
    color: #ffffff !important;
}

[data-theme="oscuro"] .portal-user-ciclo {
    color: #8a8a8a !important;
}

[data-theme="oscuro"] .portal-user-info {
    border-right-color: #1e1e1e !important;
}

[data-theme="oscuro"] .nav-icon-btn {
    background-color: #161616 !important;
    border: 1px solid #242424 !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .nav-icon-btn:hover {
    background-color: #202020 !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .portal-section {
    background: #141414 !important;
    border: 1px solid #202020 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .portal-section-header {
    border-bottom: 1px solid #202020 !important;
    background: #161616 !important;
}

[data-theme="oscuro"] .portal-section-title {
    color: #ffffff !important;
}

[data-theme="oscuro"] .portal-resumen-card {
    background: #141414 !important;
    border: 1px solid #202020 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .justificacion-card,
[data-theme="oscuro"] .sugerencia-card,
[data-theme="oscuro"] .portal-card {
    background: #141414 !important;
    border: 1px solid #202020 !important;
    color: #ededed !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="oscuro"] .historial-item {
    background: #181818 !important;
    border-color: #242424 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .dropzone-container {
    background: #161616 !important;
    border-color: #333333 !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .dropzone-container:hover {
    background: #1c1c1c !important;
    border-color: #6366f1 !important;
}

[data-theme="oscuro"] .opcion-encuesta-item {
    background: #161616 !important;
    border-color: #262626 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .opcion-encuesta-item:hover {
    background: #1e1e1e !important;
    border-color: #3b82f6 !important;
}

[data-theme="oscuro"] .opcion-encuesta-item.selected {
    background: rgba(99, 102, 241, 0.12) !important;
    border-color: #6366f1 !important;
    color: #ffffff !important;
}

[data-theme="oscuro"] .historial-sugerencia-item {
    background: #161616 !important;
    border: 1px solid #222222 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .btn-regresar {
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .btn-regresar:hover {
    color: #ffffff !important;
}

[data-theme="oscuro"] .dropdown-menu-untitled {
    background: #161616 !important;
    border: 1px solid #262626 !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.7) !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .notif-header-untitled {
    background: #121212 !important;
    border-bottom: 1px solid #222222 !important;
}

[data-theme="oscuro"] .notif-item-untitled {
    border-bottom: 1px solid #1e1e1e !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .notif-item-untitled:hover {
    background: #1c1c1c !important;
}

[data-theme="oscuro"] .notif-item-untitled.no-leida {
    background: rgba(99, 102, 241, 0.06) !important;
}

[data-theme="oscuro"] .portal-topbar-user .btn-outline-primary,
[data-theme="oscuro"] .portal-topbar-user .btn-outline-success {
    background: #161616 !important;
    border-color: #2a2a2a !important;
    color: #d4d4d4 !important;
}

[data-theme="oscuro"] .portal-topbar-user .btn-outline-primary:hover,
[data-theme="oscuro"] .portal-topbar-user .btn-outline-success:hover {
    background: #202020 !important;
    border-color: #404040 !important;
    color: #ffffff !important;
}

/* Tarjetas de comentarios y sugerencias en historial */
[data-theme="oscuro"] .comentario-sug-item {
    background-color: #161616 !important;
    border: 1px solid #242424 !important;
    border-left: 4px solid #6366f1 !important;
    color: #ededed !important;
}

[data-theme="oscuro"] .comentario-sug-item:hover {
    background-color: #1a1a1a !important;
    border-color: #333333 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}

[data-theme="oscuro"] .comentario-sug-item .text-nombre-estudiante {
    color: #ffffff !important;
}

[data-theme="oscuro"] .comentario-sug-item .text-subtitulo-estudiante {
    color: #a3a3a3 !important;
}

[data-theme="oscuro"] .comentario-sug-item .cita-sugerencia {
    background-color: #121212 !important;
    color: #d4d4d4 !important;
    border-left: 3px solid #6366f1 !important;
}

/* Badges Untitled UI en modo oscuro */
[data-theme="oscuro"] .badge-untitled-gray {
    background-color: #1f1f1f !important;
    color: #d4d4d4 !important;
    border: 1px solid #2e2e2e !important;
}

[data-theme="oscuro"] .badge-untitled-blue {
    background-color: #0c2038 !important;
    color: #60a5fa !important;
    border: 1px solid #1e3a5f !important;
}

[data-theme="oscuro"] .badge-untitled-emerald {
    background-color: #062f21 !important;
    color: #34d399 !important;
    border: 1px solid #0d543a !important;
}

[data-theme="oscuro"] .badge-untitled-amber {
    background-color: #362006 !important;
    color: #fbbf24 !important;
    border: 1px solid #54330a !important;
}

[data-theme="oscuro"] .card-header-untitled {
    background-color: #161616 !important;
    border-bottom: 1px solid #222222 !important;
}

[data-theme="oscuro"] .card-header-untitled h6 {
    color: #ffffff !important;
}


