/* ============================================================
   BETEL COLEGIOS - MODO OSCURO (Dark Mode)
   Aplica cuando <body> tiene la clase "dark-mode"
   ============================================================ */

/* ---- Variables de colores oscuros ---- */
body.dark-mode {
    --dm-bg-primary: #1a1a2e;
    --dm-bg-secondary: #16213e;
    --dm-bg-tertiary: #0f3460;
    --dm-bg-surface: #1e1e3a;
    --dm-bg-input: #2a2a4a;
    --dm-border: #3a3a5c;
    --dm-text-primary: #e0e0e0;
    --dm-text-secondary: #b0b0cc;
    --dm-text-muted: #8888aa;
    --dm-link: #6db3f2;
    --dm-link-hover: #8ecaff;
    --dm-sidebar-bg: #12122a;
    --dm-sidebar-hover: #1e1e42;
    --dm-navbar-bg: #12122a;
    --dm-panel-bg: #1e1e3a;
    --dm-table-stripe: #22223e;
    --dm-table-hover: #2a2a52;
    --dm-shadow: rgba(0, 0, 0, 0.4);
}


/* ================ CUERPO Y CONTENEDORES PRINCIPALES ================ */

body.dark-mode {
    background-color: var(--dm-bg-primary) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode #wrapper {
    background-color: var(--dm-bg-primary) !important;
}

body.dark-mode #page-wrapper {
    background-color: var(--dm-bg-secondary) !important;
    color: var(--dm-text-primary) !important;
}


/* ================ TEXTO GENERAL ================ */

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
    color: #f0f0f0 !important;
}

body.dark-mode p,
body.dark-mode span,
body.dark-mode label,
body.dark-mode td,
body.dark-mode th,
body.dark-mode li,
body.dark-mode dt,
body.dark-mode dd {
    color: var(--dm-text-primary);
}

body.dark-mode a {
    color: var(--dm-link);
}

body.dark-mode a:hover,
body.dark-mode a:focus {
    color: var(--dm-link-hover);
}

body.dark-mode .text-muted {
    color: var(--dm-text-muted) !important;
}

body.dark-mode .text-primary {
    color: #6db3f2 !important;
}

body.dark-mode .text-success {
    color: #5dd39e !important;
}

body.dark-mode .text-danger {
    color: #ff6b6b !important;
}

body.dark-mode .text-warning {
    color: #ffc857 !important;
}

body.dark-mode .text-info {
    color: #6ec6ff !important;
}


/* ================ NAVBAR ================ */

body.dark-mode .navbar-default {
    background-color: var(--dm-navbar-bg) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .navbar-default .navbar-brand {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .navbar-default .navbar-brand span {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .navbar-default .navbar-nav > li > a {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .navbar-default .navbar-nav > li > a:hover,
body.dark-mode .navbar-default .navbar-nav > li > a:focus {
    color: var(--dm-link) !important;
    background-color: var(--dm-sidebar-hover) !important;
}

body.dark-mode .navbar-top-links li a {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .navbar-content {
    background-color: var(--dm-navbar-bg) !important;
}

/* Dropdown toggle hover/open en navbar */
body.dark-mode .navbar-default .navbar-nav > .open > a,
body.dark-mode .navbar-default .navbar-nav > .open > a:hover,
body.dark-mode .navbar-default .navbar-nav > .open > a:focus,
body.dark-mode .navbar-default .navbar-nav > li > a:hover,
body.dark-mode .navbar-default .navbar-nav > li > a:focus,
body.dark-mode .navbar-top-links .dropdown > a:hover,
body.dark-mode .navbar-top-links .dropdown.open > a {
    color: #fff !important;
    background-color: var(--dm-sidebar-hover) !important;
}

body.dark-mode .navbar-default .navbar-collapse,
body.dark-mode .navbar-default .navbar-form {
    border-color: var(--dm-border) !important;
}

body.dark-mode .navbar-default .navbar-toggle .icon-bar {
    background-color: var(--dm-text-primary) !important;
}

body.dark-mode .navbar-default .navbar-toggle:hover,
body.dark-mode .navbar-default .navbar-toggle:focus {
    background-color: var(--dm-sidebar-hover) !important;
}


/* ================ SIDEBAR ================ */

body.dark-mode .sidebar {
    background-color: var(--dm-sidebar-bg) !important;
}

body.dark-mode .sidebar ul li {
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .sidebar ul li a {
    color: var(--dm-text-primary) !important;
    background-color: transparent !important;
}

body.dark-mode .sidebar ul li a:hover,
body.dark-mode .sidebar ul li a:focus {
    background-color: var(--dm-sidebar-hover) !important;
    color: #fff !important;
}

body.dark-mode .sidebar ul li a.active,
body.dark-mode .sidebar .nav > li.active > a {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .sidebar-nav.navbar-collapse {
    background-color: var(--dm-sidebar-bg) !important;
}

body.dark-mode .navbar-default .sidebar-nav .nav li a:hover,
body.dark-mode .navbar-default .sidebar-nav .nav li a:focus,
body.dark-mode .navbar-default .sidebar-nav .nav li a:active {
    background-color: var(--dm-sidebar-hover) !important;
    color: #fff !important;
}

body.dark-mode .navbar-default .sidebar-nav .nav li.active > a {
    background-color: var(--dm-bg-tertiary) !important;
}

body.dark-mode .nav-second-level li a,
body.dark-mode .nav-third-level li a {
    color: var(--dm-text-secondary) !important;
}


/* ================ ENCABEZADO SUPERIOR ================ */

body.dark-mode .encabezado-superior2 {
    background-color: var(--dm-bg-primary) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .encabezado-superior {
    background-color: var(--dm-bg-primary) !important;
}


/* ================ PANELES (Bootstrap 3) ================ */

body.dark-mode .panel {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 1px 3px var(--dm-shadow) !important;
}

body.dark-mode .panel-default > .panel-heading {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .panel-body {
    background-color: var(--dm-panel-bg) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .panel-footer {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .panel-heading {
    color: #f0f0f0 !important;
}

body.dark-mode .panel-primary > .panel-heading {
    background-color: #1a5276 !important;
    border-color: #1a5276 !important;
}

body.dark-mode .panel-success > .panel-heading {
    background-color: #1e6e3c !important;
    border-color: #1e6e3c !important;
}

body.dark-mode .panel-info > .panel-heading {
    background-color: #1a6e82 !important;
    border-color: #1a6e82 !important;
}

body.dark-mode .panel-warning > .panel-heading {
    background-color: #8a6d1b !important;
    border-color: #8a6d1b !important;
}

body.dark-mode .panel-danger > .panel-heading {
    background-color: #8b2626 !important;
    border-color: #8b2626 !important;
}

body.dark-mode .panel-green .panel-heading {
    background-color: #1e6e3c !important;
}

body.dark-mode .panel-red .panel-heading {
    background-color: #8b2626 !important;
}

body.dark-mode .panel-yellow .panel-heading {
    background-color: #8a6d1b !important;
}


/* ================ TABLAS ================ */

body.dark-mode .table {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .table > thead > tr > th {
    background-color: var(--dm-bg-tertiary) !important;
    color: #f0f0f0 !important;
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .table > tbody > tr > td,
body.dark-mode .table > tbody > tr > th,
body.dark-mode .table > tfoot > tr > td,
body.dark-mode .table > tfoot > tr > th {
    border-top-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--dm-table-stripe) !important;
}

body.dark-mode .table-hover > tbody > tr:hover {
    background-color: var(--dm-table-hover) !important;
}

body.dark-mode .table-bordered {
    border-color: var(--dm-border) !important;
}

body.dark-mode .table-bordered > thead > tr > th,
body.dark-mode .table-bordered > thead > tr > td,
body.dark-mode .table-bordered > tbody > tr > th,
body.dark-mode .table-bordered > tbody > tr > td,
body.dark-mode .table-bordered > tfoot > tr > th,
body.dark-mode .table-bordered > tfoot > tr > td {
    border-color: var(--dm-border) !important;
}

/* DataTables */
body.dark-mode .dataTables_wrapper {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .dataTables_wrapper .dataTables_filter input,
body.dark-mode .dataTables_wrapper .dataTables_length select {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .dataTables_info,
body.dark-mode .dataTables_length,
body.dark-mode .dataTables_filter label {
    color: var(--dm-text-secondary) !important;
}

body.dark-mode .paginate_button {
    color: var(--dm-text-primary) !important;
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .paginate_button:hover {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .paginate_button.current {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}


/* ================ FORMULARIOS ================ */

body.dark-mode .form-control {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .form-control:focus {
    border-color: #6db3f2 !important;
    box-shadow: 0 0 0 2px rgba(109, 179, 242, 0.2) !important;
}

body.dark-mode .form-control::placeholder {
    color: var(--dm-text-muted) !important;
}

body.dark-mode .form-control:disabled,
body.dark-mode .form-control[readonly] {
    background-color: #1a1a35 !important;
    color: var(--dm-text-muted) !important;
}

body.dark-mode .input-group-addon {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode select.form-control,
body.dark-mode .custom-select {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode textarea.form-control,
body.dark-mode .custom-textarea {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .disabled-field {
    background-color: #1a1a35 !important;
    color: var(--dm-text-muted) !important;
}


/* ================ BOTONES ================ */

body.dark-mode .btn-default {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .btn-default:hover {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .btn-primary {
    background-color: #1a5276;
    border-color: #1a6e96;
}

body.dark-mode .btn-primary:hover {
    background-color: #1a6e96;
}

body.dark-mode .btn-success {
    background-color: #1e6e3c;
    border-color: #27854a;
}

body.dark-mode .btn-success:hover {
    background-color: #27854a;
}

body.dark-mode .btn-info {
    background-color: #1a6e82;
    border-color: #218a9e;
}

body.dark-mode .btn-warning {
    background-color: #8a6d1b;
    border-color: #a68421;
}

body.dark-mode .btn-danger {
    background-color: #8b2626;
    border-color: #a63030;
}

body.dark-mode .btn-danger:hover {
    background-color: #a63030;
}


/* ================ DROPDOWNS ================ */

body.dark-mode .dropdown-menu {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

body.dark-mode .dropdown-menu > li > a {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .dropdown-menu > li > a:hover,
body.dark-mode .dropdown-menu > li > a:focus {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .dropdown-menu .divider {
    background-color: var(--dm-border) !important;
}


/* ================ MODALES ================ */

body.dark-mode .modal-content {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .modal-header {
    border-bottom-color: var(--dm-border) !important;
    background-color: var(--dm-bg-tertiary) !important;
}

body.dark-mode .modal-header .close {
    color: var(--dm-text-primary) !important;
    opacity: 0.8 !important;
}

body.dark-mode .modal-header h4,
body.dark-mode .modal-header h3,
body.dark-mode .modal-title {
    color: #f0f0f0 !important;
}

body.dark-mode .modal-body {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .modal-footer {
    border-top-color: var(--dm-border) !important;
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .modal-backdrop {
    background-color: #000;
}


/* ================ ALERTAS ================ */

body.dark-mode .alert-success {
    background-color: #162e1e !important;
    border-color: #1e5c2e !important;
    color: #7be09b !important;
}

body.dark-mode .alert-info {
    background-color: #152a3a !important;
    border-color: #1a5276 !important;
    color: #7ec8e3 !important;
}

body.dark-mode .alert-warning {
    background-color: #3a2e0e !important;
    border-color: #665216 !important;
    color: #ffc857 !important;
}

body.dark-mode .alert-danger {
    background-color: #3a1515 !important;
    border-color: #662222 !important;
    color: #ff8888 !important;
}


/* ================ WELLS ================ */

body.dark-mode .well {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}


/* ================ BREADCRUMBS ================ */

body.dark-mode .breadcrumb {
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .breadcrumb > li + li:before {
    color: var(--dm-text-muted) !important;
}

body.dark-mode .breadcrumb > .active {
    color: var(--dm-text-secondary) !important;
}


/* ================ LISTAS ================ */

body.dark-mode .list-group-item {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .list-group-item:hover {
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .list-group-item.active {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-bg-tertiary) !important;
}


/* ================ BADGES Y LABELS ================ */

body.dark-mode .badge {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .label-default {
    background-color: #4a4a6a !important;
}


/* ================ FOOTER ================ */

body.dark-mode footer {
    background-color: var(--dm-bg-primary) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode footer .footer-bitel {
    background-color: var(--dm-bg-primary) !important;
}

body.dark-mode footer .encabezado-superior2 {
    background-color: var(--dm-sidebar-bg) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode footer .footer-item p {
    color: var(--dm-text-secondary) !important;
}

body.dark-mode footer .boton-ayuda a p {
    color: var(--dm-text-secondary) !important;
}


/* ================ NAV DIRECTO (accesos rapidos) ================ */

body.dark-mode .nav-directo {
    background-color: var(--dm-navbar-bg) !important;
}

body.dark-mode .nav-directo p {
    color: var(--dm-text-secondary) !important;
}

body.dark-mode .nav-directo a:hover p {
    color: #fff !important;
}


/* ================ MENU RAPIDO (inicio) ================ */

body.dark-mode .menu-rapido p {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .menu-rapido a:hover p {
    color: var(--dm-link) !important;
}


/* ================ RECUADROS MENU ================ */

body.dark-mode .recuadro {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .recuadro:hover {
    background-color: var(--dm-bg-tertiary) !important;
}

body.dark-mode .recuadro-link {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .recuadro2 {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .recuadro2:hover {
    background-color: var(--dm-bg-tertiary) !important;
}


/* ================ TABS ================ */

body.dark-mode .nav-tabs {
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .nav-tabs > li > a {
    color: var(--dm-text-secondary) !important;
}

body.dark-mode .nav-tabs > li > a:hover {
    border-color: var(--dm-border) !important;
    background-color: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .nav-tabs > li.active > a,
body.dark-mode .nav-tabs > li.active > a:hover,
body.dark-mode .nav-tabs > li.active > a:focus {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    border-bottom-color: var(--dm-panel-bg) !important;
    color: #fff !important;
}

body.dark-mode .tab-content {
    background-color: var(--dm-panel-bg) !important;
}


/* ================ PAGINACION ================ */

body.dark-mode .pagination > li > a,
body.dark-mode .pagination > li > span {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .pagination > li > a:hover {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .pagination > .active > a,
body.dark-mode .pagination > .active > span {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}


/* ================ TOOLTIPS Y POPOVERS ================ */

body.dark-mode .tooltip-inner {
    background-color: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .popover {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .popover-title {
    background-color: var(--dm-bg-tertiary) !important;
    border-bottom-color: var(--dm-border) !important;
    color: #f0f0f0 !important;
}

body.dark-mode .popover-content {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .popover-content-wrapper .table-popover th {
    background-color: var(--dm-bg-tertiary) !important;
    color: #f0f0f0 !important;
}

body.dark-mode .popover-content-wrapper .table-popover td {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .popover-content-wrapper .table-popover tr:hover {
    background-color: var(--dm-table-hover) !important;
}


/* ================ NOTAS (calificaciones) ================ */

body.dark-mode .tabla-notas tr th {
    background-color: var(--dm-bg-tertiary) !important;
    color: #f0f0f0 !important;
}

body.dark-mode .tabla-notas td {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .notas input[type="text"] {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .notas-promedio span {
    color: #6db3f2 !important;
}

body.dark-mode .notas-promedio-general span {
    color: #ffc857 !important;
}

body.dark-mode .tabla-notas .nota-borde.azul {
    color: #6db3f2 !important;
    border-color: #6db3f2 !important;
}

body.dark-mode .tabla-notas span.nota-borde.rojo {
    color: #ff6b6b !important;
    border-color: #ff6b6b !important;
}

/* Inputs de notas */
body.dark-mode .txt-notas {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
    border-color: var(--dm-border) !important;
}

/* Subcalificaciones y clones */
body.dark-mode .tiene-subcalificaciones,
body.dark-mode .coef-clone {
    background-color: #1e3a1e !important;
    border: 2px solid #34d058 !important;
}
body.dark-mode input.txt-notas.tiene-subcalificaciones {
    background-color: #1e3a1e !important;
    border: 2px solid #34d058 !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .tiene-porcentaje input,
body.dark-mode .coef-clone input {
    background-color: #1e3a1e !important;
    border: 2px solid #34d058 !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .porcentaje-input {
    border-color: #17a2b8 !important;
}

/* Columna sticky thead/tbody */
body.dark-mode .notas .table thead th:first-child {
    background-color: var(--dm-bg-secondary) !important;
}
body.dark-mode .notas .table tbody .alumnos-td {
    background-color: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}

/* Hover en tabla de notas */
body.dark-mode .notas .table-hover > tbody > tr:hover > td,
body.dark-mode .notas .table-hover > tbody > tr:hover > th {
    background-color: var(--dm-bg-tertiary) !important;
}
body.dark-mode .notas .table-hover > tbody > tr:hover > .alumnos-td {
    background-color: var(--dm-bg-tertiary) !important;
}
body.dark-mode .notas .table-hover > tbody > tr:hover > td input.disabled,
body.dark-mode .notas .table-hover > tbody > tr:hover > td input:disabled {
    background-color: inherit !important;
}

/* Promedio badge */
body.dark-mode .notas-promedio {
    background: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}
body.dark-mode .notas-promedio:hover {
    border-color: #6366f1 !important;
}
body.dark-mode .promedio-badge {
    background: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}
body.dark-mode .promedio-badge.excelente {
    color: #5eead4 !important;
    border-color: #0f766e !important;
    background: linear-gradient(145deg, #0f2f2a 0%, #143832 100%) !important;
}
body.dark-mode .promedio-badge.insuficiente {
    color: #fda4af !important;
    border-color: #be123c !important;
    background: linear-gradient(145deg, #2f1019 0%, #3a1522 100%) !important;
}
body.dark-mode .promedio-badge.vacio {
    color: #94a3b8 !important;
    border-color: #475569 !important;
    background: linear-gradient(145deg, #1e293b 0%, var(--dm-bg-surface) 100%) !important;
}

/* Alertas e instrucciones en módulo notas */
body.dark-mode .notas .alert[style*="background"] {
    background: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
}
body.dark-mode .notas .alert[style*="background"] strong,
body.dark-mode .notas .alert[style*="background"] div {
    color: var(--dm-text-primary) !important;
}
body.dark-mode .notas .card {
    background: var(--dm-bg-surface) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}
body.dark-mode .notas .card-body {
    background: var(--dm-bg-surface) !important;
}
body.dark-mode .notas .radio-option {
    background: var(--dm-bg-secondary) !important;
}
body.dark-mode .notas .radio-option strong,
body.dark-mode .notas .radio-option div {
    color: var(--dm-text-primary) !important;
}
body.dark-mode .radio-option input[type="radio"]:checked + div {
    color: var(--dm-text-primary) !important;
}


/* ================ REPORTES / CERTIFICADOS ================ */

@media screen {
    body.dark-mode .reportes {
        color: var(--dm-text-primary) !important;
    }
    
    body.dark-mode .reportes .table tr td {
        color: var(--dm-text-primary) !important;
    }
}


/* ================ MODULO PIE ================ */

body.dark-mode .area-titulo {
    color: #f0f0f0 !important;
}

body.dark-mode .subareas-container {
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .subarea-button,
body.dark-mode .asignatura-button {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .subarea-button:hover,
body.dark-mode .asignatura-button:hover {
    background-color: var(--dm-bg-tertiary) !important;
}

body.dark-mode .subarea-button.active,
body.dark-mode .asignatura-button.active {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .estado-box {
    background-color: var(--dm-bg-surface) !important;
}


/* ================ SELECT2 ================ */

/* Dropdown container */
body.dark-mode .select2-dropdown {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

/* Single selection - default theme */
body.dark-mode .select2-container--default .select2-selection--single {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--dm-text-muted) transparent transparent transparent !important;
}
body.dark-mode .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--dm-text-muted) transparent !important;
}

/* Multiple selection - default theme */
body.dark-mode .select2-container--default .select2-selection--multiple {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #ff6b6b !important;
}

/* Focus state */
body.dark-mode .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--dm-accent) !important;
}

/* Disabled state */
body.dark-mode .select2-container--default.select2-container--disabled .select2-selection--single,
body.dark-mode .select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: var(--dm-bg-secondary) !important;
    cursor: default;
}

/* Search fields */
body.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-search--inline .select2-search__field {
    background: transparent !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-search__field {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
}

/* Results options */
body.dark-mode .select2-container--default .select2-results__option {
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--dm-bg-secondary) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}
body.dark-mode .select2-container--default .select2-results__option[aria-disabled=true] {
    color: var(--dm-text-muted) !important;
}
body.dark-mode .select2-results__group {
    color: var(--dm-text-muted) !important;
}

/* Classic theme overrides */
body.dark-mode .select2-container--classic .select2-selection--single,
body.dark-mode .select2-container--classic .select2-selection--multiple {
    background-color: var(--dm-bg-input) !important;
    background-image: none !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: var(--dm-bg-secondary) !important;
    background-image: none !important;
    border-left-color: var(--dm-border) !important;
}
body.dark-mode .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: var(--dm-bg-tertiary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

/* Generic fallback for any Select2 container */
body.dark-mode .select2-container .select2-selection {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode .select2-container .select2-selection__rendered {
    color: var(--dm-text-primary) !important;
}


/* ================ PERIODOS Y MESES ================ */

body.dark-mode .periodo-btn {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .periodo-btn:hover {
    background-color: var(--dm-bg-tertiary) !important;
}

body.dark-mode .periodo-btn.active {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}

body.dark-mode .btn-mes {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .btn-mes.active {
    background-color: var(--dm-bg-tertiary) !important;
    color: #fff !important;
}


/* ================ LOADER ================ */

body.dark-mode .loader {
    background-color: rgba(26, 26, 46, 0.9) !important;
}


/* ================ BETEL NO DATA MESSAGE ================ */

body.dark-mode .betel-no-data-message {
    background-color: var(--dm-bg-surface) !important;
    color: var(--dm-text-secondary) !important;
}

body.dark-mode .betel-no-data-message h3 {
    color: var(--dm-text-primary) !important;
}


/* ================ SCROLLBAR ================ */

body.dark-mode ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body.dark-mode ::-webkit-scrollbar-track {
    background: var(--dm-bg-primary);
}

body.dark-mode ::-webkit-scrollbar-thumb {
    background: var(--dm-border);
    border-radius: 5px;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: #5a5a7c;
}


/* ================ HR Y BORDES ================ */

body.dark-mode hr {
    border-top-color: var(--dm-border) !important;
}

body.dark-mode .linea-completa {
    border-color: var(--dm-border) !important;
}


/* ================ MISCELANEOS ================ */

body.dark-mode .bg-gray {
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .propio-head {
    background-color: var(--dm-bg-tertiary) !important;
    color: #f0f0f0 !important;
}

body.dark-mode .jumbotron {
    background-color: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode code {
    background-color: var(--dm-bg-surface) !important;
    color: #ff8888 !important;
}

body.dark-mode pre {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .diseno-calificacion {
    color: #fff !important;
}

body.dark-mode .texto-rojo {
    color: #ff6b6b !important;
}

body.dark-mode .texto-azul {
    color: #6db3f2 !important;
}

body.dark-mode .texto-negro {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .contenedor-inicio {
    background-color: var(--dm-bg-secondary) !important;
}

body.dark-mode .asistencia tr td,
body.dark-mode .asistencia tr th {
    border-color: var(--dm-border) !important;
}

/* Tabla asistencia - nombres alumnos y celdas */
body.dark-mode .alumnos-td,
body.dark-mode .alumnos-td.static {
    background-color: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}
body.dark-mode #tabla-asistencia tbody tr:hover .alumnos-td {
    background-color: var(--dm-bg-tertiary) !important;
}
body.dark-mode .caja-alumnos input.txt-asistencias {
    background-color: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .bg-dark-light {
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .bg-title {
    background-color: var(--dm-bg-tertiary) !important;
    color: #f0f0f0 !important;
}

body.dark-mode .checkbox-text-container span {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .show-grid [class^=col-] {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
}


/* ================ FORMULARIOS v2 (edit alumno, etc.) ================ */

body.dark-mode .form-row {
    background-color: var(--dm-bg-secondary) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .form-row.odd {
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .control-label {
    color: var(--dm-text-secondary) !important;
}

body.dark-mode .archivo-row:hover {
    background-color: var(--dm-table-hover) !important;
}

body.dark-mode #alumno-loading {
    background: var(--dm-bg-primary) !important;
}

/* Bootstrap bg-* helpers */
body.dark-mode .bg-info {
    background-color: #1a3a4a !important;
    color: #7ec8e3 !important;
}

body.dark-mode .bg-success {
    background-color: #162e1e !important;
    color: #7be09b !important;
}

body.dark-mode .bg-warning {
    background-color: #3a2e0e !important;
    color: #ffc857 !important;
}

body.dark-mode .bg-danger {
    background-color: #3a1515 !important;
    color: #ff8888 !important;
}

body.dark-mode .bg-primary {
    background-color: #1a3a5c !important;
    color: #7eb8e3 !important;
}

body.dark-mode .bg-info.propio-head,
body.dark-mode .propio-head {
    background-color: var(--dm-bg-tertiary) !important;
    color: #f0f0f0 !important;
}

/* jQuery Confirm / Alert dialogs */
body.dark-mode .jconfirm .jconfirm-box {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .jconfirm .jconfirm-box .jconfirm-title-c {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .jconfirm .jconfirm-box .jconfirm-content {
    color: var(--dm-text-secondary) !important;
}

/* CKEditor */
body.dark-mode .cke_chrome {
    border-color: var(--dm-border) !important;
}

body.dark-mode .cke_top,
body.dark-mode .cke_bottom {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .cke_toolgroup {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .cke_button_icon {
    filter: invert(0.8);
}

body.dark-mode .cke_combo_text {
    color: var(--dm-text-primary) !important;
}

/* Checkboxes y radios */
body.dark-mode .checkbox label,
body.dark-mode .radio label {
    color: var(--dm-text-primary) !important;
}

/* Validation states */
body.dark-mode .has-error .form-control {
    border-color: #ff6b6b !important;
}

body.dark-mode .has-error .control-label {
    color: #ff6b6b !important;
}

body.dark-mode .has-success .form-control {
    border-color: #5dd39e !important;
}

body.dark-mode .has-success .control-label {
    color: #5dd39e !important;
}

body.dark-mode .help-block {
    color: var(--dm-text-muted) !important;
}

/* Date/time inputs */
body.dark-mode input[type="date"],
body.dark-mode input[type="time"],
body.dark-mode input[type="datetime-local"] {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
    color-scheme: dark;
}

body.dark-mode input[type="file"] {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .tab-pane {
    background-color: transparent !important;
}

/* Nav tabs en edit alumno */
body.dark-mode #myTabs > li > a {
    color: var(--dm-text-secondary) !important;
}

body.dark-mode #myTabs > li.active > a {
    background-color: var(--dm-panel-bg) !important;
    border-color: var(--dm-border) !important;
    border-bottom-color: var(--dm-panel-bg) !important;
    color: #fff !important;
}

body.dark-mode #myTabs > li > a:hover {
    background-color: var(--dm-bg-surface) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .nav-tabs li a.text-danger {
    color: #ff6b6b !important;
}

body.dark-mode .user-image {
    background-color: transparent !important;
}

body.dark-mode legend {
    color: var(--dm-text-primary) !important;
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode fieldset {
    border-color: var(--dm-border) !important;
}


/* ================ TOGGLE SWITCH (boton de modo oscuro) ================ */

.dark-mode-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 20px;
    transition: all 0.3s ease;
    user-select: none;
}

.dark-mode-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.dark-mode-toggle .toggle-icon {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.dark-mode-toggle .toggle-switch {
    position: relative;
    width: 44px;
    height: 24px;
    background-color: #ccc;
    border-radius: 12px;
    transition: background-color 0.3s ease;
    flex-shrink: 0;
}

.dark-mode-toggle .toggle-switch::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 0.3s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

body.dark-mode .dark-mode-toggle .toggle-switch {
    background-color: #6db3f2;
}

body.dark-mode .dark-mode-toggle .toggle-switch::after {
    transform: translateX(20px);
}

body.dark-mode .dark-mode-toggle .toggle-icon {
    transform: rotate(180deg);
}

.dark-mode-toggle .toggle-label {
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    color: inherit;
}


/* ================ IMPRESION: desactivar dark mode ================ */

/* ================ MODULO PLANIFICACION ================ */

/* Panel de unidad */
body.dark-mode .unidad-panel {
    border-color: var(--dm-border) !important;
    background-color: var(--dm-bg-surface) !important;
}

body.dark-mode .unidad-header {
    background: var(--dm-bg-secondary) !important;
    border-bottom-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .unidad-header:hover {
    background: var(--dm-bg-tertiary) !important;
}

body.dark-mode .unidad-header .unidad-titulo {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .unidad-body {
    background: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}

/* Descripción / propósito de la unidad (texto enriquecido) */
body.dark-mode .unidad-body p,
body.dark-mode .unidad-body div {
    color: var(--dm-text-primary) !important;
}

/* Config form inline dentro de unidad */
body.dark-mode .unidad-config {
    background: var(--dm-bg-primary) !important;
    border-color: var(--dm-border) !important;
}

body.dark-mode .unidad-config label {
    color: #a0aec0 !important;
}

/* Drag handle */
body.dark-mode .drag-handle {
    color: #6b7280 !important;
}

body.dark-mode .drag-handle:hover {
    color: var(--dm-text-primary) !important;
}

/* Sortable placeholder */
body.dark-mode .sortable-placeholder {
    border-color: #6366f1 !important;
    background: #1e2a5e !important;
}

/* Tabla de OAs */
body.dark-mode .tabla-oas th,
body.dark-mode .tabla-oas td {
    border-color: var(--dm-border) !important;
}

body.dark-mode .tabla-oas th {
    background: var(--dm-bg-secondary) !important;
    color: #a0aec0 !important;
}

body.dark-mode .tabla-oas td {
    background: var(--dm-bg-surface) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .tabla-oas .indicador-list li {
    color: #a0aec0 !important;
    border-bottom-color: var(--dm-border) !important;
}

/* Selector de OAs */
body.dark-mode .oas-selector .eje-titulo {
    color: #93c5fd !important;
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .oas-selector .oa-check label {
    color: var(--dm-text-primary) !important;
}

/* Badges de priorización curricular */
body.dark-mode .priorizacion-basal {
    background: #14532d !important;
    color: #86efac !important;
}

body.dark-mode .priorizacion-complementario {
    background: #451a03 !important;
    color: #fcd34d !important;
}

body.dark-mode .priorizacion-transversal {
    background: #164e63 !important;
    color: #67e8f9 !important;
}

body.dark-mode .priorizacion-habilidad {
    background: #3b0764 !important;
    color: #d8b4fe !important;
}

body.dark-mode .priorizacion-actitud {
    background: #4c1d1d !important;
    color: #fca5a5 !important;
}

body.dark-mode .priorizacion-otro {
    background: var(--dm-bg-input) !important;
    color: #a0aec0 !important;
}

/* Cronograma */
body.dark-mode .cronograma-table th,
body.dark-mode .cronograma-table td {
    border-color: var(--dm-border) !important;
}

body.dark-mode .cronograma-table thead th {
    background: var(--dm-bg-secondary) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .cronograma-table thead th .clase-num {
    color: #93c5fd !important;
}

body.dark-mode .cronograma-table thead th .clase-fecha,
body.dark-mode .cronograma-table thead th .clase-dia {
    color: #6b7280 !important;
}

body.dark-mode .cronograma-table .col-oa {
    background: var(--dm-bg-primary) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .cronograma-table .col-oa .oa-texto-corto {
    color: #a0aec0 !important;
}

body.dark-mode .cronograma-table .fila-evaluacion .col-oa {
    background: #4c1d1d !important;
    color: #fca5a5 !important;
}

body.dark-mode .cronograma-table .fila-evaluacion td {
    background: #2d1515 !important;
}

body.dark-mode .cronograma-cell:hover {
    background: var(--dm-bg-tertiary) !important;
}

body.dark-mode .cronograma-cell .dot-empty {
    border-color: var(--dm-border) !important;
}

/* Cabecera de la planificación */
body.dark-mode .plan-header .plan-meta {
    color: #a0aec0 !important;
}

body.dark-mode .indicadores-toggle {
    color: #93c5fd !important;
}

/* Span de fecha en badges de unidad (inline styles) */
body.dark-mode .unidad-header .unidad-badges span[style*="background:#f0f0f0"],
body.dark-mode .unidad-header .unidad-badges span[style*="background: #f0f0f0"] {
    background: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
    border-color: var(--dm-border) !important;
}

/* Planificación existente (create.blade.php) */
body.dark-mode .plan-existente {
    background: #1a2a4a !important;
    border-color: #2d4a7a !important;
}

body.dark-mode .plan-existente h4 {
    color: #93c5fd !important;
}


/* ================ PAGINA CONFIGURACION ================ */

body.dark-mode .config-card {
    background: var(--dm-bg-secondary) !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.4) !important;
}

body.dark-mode .tabs-container {
    background: var(--dm-bg-primary) !important;
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .tab-button {
    color: #a0aec0 !important;
}

body.dark-mode .tab-button:hover {
    background: rgba(102, 126, 234, 0.15) !important;
    color: #a5b4fc !important;
}

body.dark-mode .tab-button.active {
    background: var(--dm-bg-secondary) !important;
    color: #a5b4fc !important;
}

body.dark-mode .tab-content {
    background: var(--dm-bg-secondary) !important;
}

/* Tabla de seguridad */
body.dark-mode .security-table {
    background: var(--dm-bg-surface) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.4) !important;
}

body.dark-mode .security-table thead {
    background: var(--dm-bg-primary) !important;
}

body.dark-mode .security-table th {
    color: #a0aec0 !important;
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .security-table td {
    color: var(--dm-text-primary) !important;
    border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .security-table tbody tr:hover {
    background: var(--dm-bg-tertiary) !important;
}

/* Badges */
body.dark-mode .badge-tipo {
    background: #1e2a5e !important;
    color: #a5b4fc !important;
}

body.dark-mode .badge-rol {
    background: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .badge-status.active {
    background: #14532d !important;
    color: #86efac !important;
}

body.dark-mode .badge-status.inactive {
    background: #4c1d1d !important;
    color: #fca5a5 !important;
}

body.dark-mode .badge-valor {
    background: var(--dm-bg-input) !important;
    color: var(--dm-text-primary) !important;
}

/* Toggle switch */
body.dark-mode .toggle-slider {
    background-color: #4a5568 !important;
}

body.dark-mode input:checked + .toggle-slider {
    background-color: #22543d !important;
}

/* Formulario cambiar contraseña */
body.dark-mode .form-control-modern {
    background-color: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text-primary) !important;
}

body.dark-mode .form-control-modern:focus {
    background-color: var(--dm-bg-input) !important;
    border-color: #6366f1 !important;
}

body.dark-mode .form-label-modern {
    color: #a0aec0 !important;
}

body.dark-mode .toggle-password {
    color: #a0aec0 !important;
}

body.dark-mode .info-box {
    background: #3d2e00 !important;
    color: #fcd34d !important;
    border-left-color: #d97706 !important;
}

body.dark-mode .info-box i {
    color: #fbbf24 !important;
}

body.dark-mode .requirements-box {
    background: #1e2a4a !important;
    border-color: #3a4a7a !important;
}

body.dark-mode .requirements-title {
    color: var(--dm-text-primary) !important;
}

body.dark-mode .requirement-item {
    color: #a0aec0 !important;
}

body.dark-mode .requirement-item.valid {
    color: #86efac !important;
}

body.dark-mode .requirement-icon {
    background: var(--dm-bg-input) !important;
    border-color: var(--dm-border) !important;
    color: #a0aec0 !important;
}

body.dark-mode .match-feedback.success {
    background: #14532d !important;
    color: #86efac !important;
    border-color: #166534 !important;
}

body.dark-mode .match-feedback.error {
    background: #4c1d1d !important;
    color: #fca5a5 !important;
    border-color: #991b1b !important;
}

body.dark-mode .alert-custom.alert-success {
    background: linear-gradient(135deg, #14532d 0%, #166534 100%) !important;
    color: #86efac !important;
}

body.dark-mode .alert-custom.alert-danger {
    background: linear-gradient(135deg, #4c1d1d 0%, #7f1d1d 100%) !important;
    color: #fca5a5 !important;
}

body.dark-mode .btn-submit-modern:disabled {
    background: var(--dm-bg-input) !important;
    opacity: 0.5 !important;
    color: #a0aec0 !important;
}


@media print {
    body.dark-mode,
    body.dark-mode #wrapper,
    body.dark-mode #page-wrapper,
    body.dark-mode .panel,
    body.dark-mode .panel-body,
    body.dark-mode .panel-heading,
    body.dark-mode .table,
    body.dark-mode .table > thead > tr > th,
    body.dark-mode .table > tbody > tr > td,
    body.dark-mode .modal-content {
        background-color: #fff !important;
        color: #000 !important;
        border-color: #ddd !important;
    }
    
    .dark-mode-toggle {
        display: none !important;
    }
}