/* Tema Oscuro para Fichadas LM */

/* Variables CSS para tema oscuro */
:root {
    --lm-primary: #c67c1f;
    --lm-primary-hover: #d28b2f;
    --lm-primary-active: #aa6416;
    --lm-primary-rgb: 198, 124, 31;
    --dark-bg-primary: #1a1a1a;
    --dark-bg-secondary: #2d2d2d;
    --dark-bg-tertiary: #3a3a3a;
    --dark-text-primary: #ffffff;
    --dark-text-secondary: #cccccc;
    --dark-text-muted: #888888;
    --dark-border: #444444;
    --dark-hover: #4a4a4a;
    --dark-card-bg: #2d2d2d;
    --dark-input-bg: #3a3a3a;
    --dark-input-border: #555555;
    --dark-table-striped: #333333;
    --dark-table-hover: #404040;
    --dark-success: #28a745;
    --dark-warning: #ffc107;
    --dark-danger: #dc3545;
    --dark-info: #17a2b8;
    --dark-primary: #c67c1f;
}

/* Primary corporativo global (modo claro y base Bootstrap) */
.btn-primary {
    background-color: var(--lm-primary) !important;
    border-color: var(--lm-primary) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--lm-primary-hover) !important;
    border-color: var(--lm-primary-hover) !important;
    color: #ffffff !important;
}

.btn-primary:active {
    background-color: var(--lm-primary-active) !important;
    border-color: var(--lm-primary-active) !important;
}

.btn-outline-primary {
    color: var(--lm-primary) !important;
    border-color: var(--lm-primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--lm-primary) !important;
    border-color: var(--lm-primary) !important;
    color: #ffffff !important;
}

.bg-primary {
    background-color: var(--lm-primary) !important;
}

.text-primary {
    color: var(--lm-primary) !important;
}

.border-primary {
    border-color: var(--lm-primary) !important;
}

.page-link {
    color: var(--lm-primary);
}

.page-item.active .page-link {
    background-color: var(--lm-primary);
    border-color: var(--lm-primary);
}

.list-group-item.active,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: var(--lm-primary) !important;
    border-color: var(--lm-primary) !important;
    color: #ffffff !important;
}

.nav-pills .nav-link,
.nav-tabs .nav-link {
    color: var(--lm-primary);
}

tr.table-primary,
tr.table-primary > th,
tr.table-primary > td {
    background-color: rgba(var(--lm-primary-rgb), 0.12) !important;
    border-color: rgba(var(--lm-primary-rgb), 0.25) !important;
}

/* Clase para activar tema oscuro */
html.dark-theme {
    background-color: var(--dark-bg-primary) !important;
    color: var(--dark-text-primary) !important;
}

/* Navbar oscuro */
html.dark-theme .navbar {
    background-color: var(--dark-bg-secondary) !important;
    border-bottom: 1px solid var(--dark-border);
}

html.dark-theme .navbar-brand,
html.dark-theme .navbar-nav .nav-link,
html.dark-theme .navbar-text {
    color: var(--dark-text-primary) !important;
}

html.dark-theme .navbar-nav .nav-link:hover {
    color: var(--dark-text-secondary) !important;
}

/* Logo principal: monograma LM compacto y sin animaciones invasivas */
.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 1.42rem;
    font-weight: 760;
    letter-spacing: -0.025em;
    transition: transform 160ms ease, opacity 160ms ease;
}

.navbar .navbar-text {
    font-size: 1rem;
}

.navbar-brand .brand-name {
    line-height: 1;
}

.navbar-brand .brand-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 25px;
    padding: 0;
    color: #ffffff !important;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border: 0;
    border-radius: 8px;
    background: var(--lm-primary);
    box-shadow: 0 4px 12px rgba(198, 124, 31, 0.25);
    transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.navbar-brand:hover,
.navbar-brand:focus-visible {
    transform: translateY(-1px);
}

.navbar-brand:hover .brand-tag {
    transform: translateY(-1px) rotate(-2deg);
    background: var(--lm-primary-hover);
    box-shadow: 0 6px 15px rgba(198, 124, 31, 0.34);
}

@media (prefers-reduced-motion: reduce) {
    .navbar-brand,
    .navbar-brand .brand-tag {
        transition: none;
    }
}

/* Cuerpo de la página */
html.dark-theme body {
    background-color: var(--dark-bg-primary);
    color: var(--dark-text-primary);
}

/* Cards */
html.dark-theme .card {
    background-color: var(--dark-card-bg);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

html.dark-theme .card-header {
    background-color: var(--dark-bg-tertiary);
    border-bottom: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

/* Override Bootstrap bg-light for dark theme */
html.dark-theme .bg-light {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .card-body {
    background-color: var(--dark-card-bg);
}

/* Formularios */
html.dark-theme .form-control,
html.dark-theme .form-select {
    background-color: var(--dark-input-bg);
    border: 1px solid var(--dark-input-border);
    color: var(--dark-text-primary);
}

html.dark-theme .form-control:focus,
html.dark-theme .form-select:focus {
    background-color: var(--dark-input-bg);
    border-color: var(--dark-primary);
    color: var(--dark-text-primary);
    box-shadow: 0 0 0 0.2rem rgba(198, 124, 31, 0.25);
}

html.dark-theme .form-control::placeholder {
    color: var(--dark-text-muted);
}

html.dark-theme .form-label {
    color: var(--dark-text-primary);
}

/* File inputs */
html.dark-theme input[type="file"].form-control,
html.dark-theme input[type="file"].form-control:focus {
    background-color: var(--dark-input-bg);
    border: 1px solid var(--dark-input-border);
    color: var(--dark-text-primary);
}

html.dark-theme input[type="file"].form-control::file-selector-button {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
    border: 1px solid var(--dark-input-border);
}

html.dark-theme input[type="file"].form-control::-webkit-file-upload-button {
    background-color: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
    border: 1px solid var(--dark-input-border);
}

/* Tabs */
html.dark-theme .nav-tabs {
    border-bottom: 1px solid var(--dark-border);
}

html.dark-theme .nav-tabs .nav-link {
    color: var(--dark-text-secondary);
    background-color: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
}

html.dark-theme .nav-tabs .nav-link:hover {
    background-color: var(--dark-hover);
    color: var(--dark-text-primary);
}

html.dark-theme .nav-tabs .nav-link.active,
html.dark-theme .nav-tabs .nav-item.show .nav-link {
    color: var(--dark-text-primary);
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border) var(--dark-border) var(--dark-bg-tertiary);
}

/* Botones - Modo oscuro: mantener colores originales, solo cambiar texto a negro */
html.dark-theme .btn-primary {
    background-color: var(--dark-primary);
    border-color: var(--dark-primary);
    color: #ffffff !important;
}

html.dark-theme .btn-primary:hover {
    background-color: var(--lm-primary-hover);
    border-color: var(--lm-primary-hover);
    color: #ffffff !important;
}

html.dark-theme .btn-outline-primary {
    color: var(--dark-primary);
    border-color: var(--dark-primary);
}

html.dark-theme .btn-outline-primary:hover {
    background-color: var(--dark-primary);
    border-color: var(--dark-primary);
    color: #ffffff !important;
}

html.dark-theme .btn-outline-secondary {
    color: var(--dark-text-secondary);
    border-color: var(--dark-border);
}

html.dark-theme .btn-outline-secondary:hover {
    background-color: var(--dark-border);
    border-color: var(--dark-border);
}

html.dark-theme .btn-outline-dark {
    color: var(--dark-text-primary);
    border-color: var(--dark-text-primary);
}

html.dark-theme .btn-outline-dark:hover {
    background-color: var(--dark-text-primary);
    border-color: var(--dark-text-primary);
    color: #000000 !important;
}

html.dark-theme .btn-success {
    background-color: var(--dark-success);
    border-color: var(--dark-success);
    color: #000000 !important;
}

html.dark-theme .btn-warning {
    background-color: var(--dark-warning);
    border-color: var(--dark-warning);
    color: #000000 !important;
}

html.dark-theme .btn-danger {
    background-color: var(--dark-danger);
    border-color: var(--dark-danger);
    color: #000000 !important;
}

html.dark-theme .btn-info {
    background-color: var(--dark-info);
    border-color: var(--dark-info);
    color: #000000 !important;
}

html.dark-theme .btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #000000 !important;
}

html.dark-theme .dropdown-menu .dropdown-item.disabled,
html.dark-theme .dropdown-menu .dropdown-item:disabled {
    color: #747b84 !important;
    background-color: transparent !important;
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* Tablas */
html.dark-theme .table {
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
    background-color: var(--dark-bg-primary) !important;
    border-collapse: collapse !important;
}

html.dark-theme .table th,
html.dark-theme .table td {
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
    background-color: transparent !important;
}

html.dark-theme .table > tbody > tr:not(.planilla-row) > * {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

/* Tablas striped - forzar fondo consistente en modo oscuro con máxima especificidad */
html.dark-theme table.table.table-striped > tbody > tr,
html.dark-theme table.table.table-striped > tbody > tr > *,
html.dark-theme table.table.table-striped > tbody > tr > td,
html.dark-theme table.table.table-striped > tbody > tr > th,
html.dark-theme .table.table-striped > tbody > tr,
html.dark-theme .table.table-striped > tbody > tr > *,
html.dark-theme .table.table-striped > tbody > tr > td,
html.dark-theme .table.table-striped > tbody > tr > th {
    background-color: var(--dark-bg-secondary) !important;
    background: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

/* Override específico para filas alternadas */
html.dark-theme .table-striped > tbody > tr:nth-child(odd),
html.dark-theme .table-striped > tbody > tr:nth-child(even),
html.dark-theme .table-striped > tbody > tr:nth-of-type(odd),
html.dark-theme .table-striped > tbody > tr:nth-of-type(even) {
    background-color: var(--dark-bg-secondary) !important;
    background: var(--dark-bg-secondary) !important;
}

html.dark-theme .table-hover > tbody > tr:hover > * {
    background-color: var(--dark-table-hover) !important;
    color: var(--dark-text-primary) !important;
    border: 1px solid var(--dark-border) !important;
}

html.dark-theme .table thead th {
    background-color: var(--dark-bg-tertiary) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

/* Bordes de tabla para table-bordered */
html.dark-theme .table-bordered {
    border: 2px solid var(--dark-border) !important;
    border-collapse: collapse !important;
}

html.dark-theme .table-bordered th,
html.dark-theme .table-bordered td {
    border: 1px solid var(--dark-border) !important;
}

html.dark-theme .table-bordered thead th,
html.dark-theme .table-bordered thead td {
    border-bottom: 2px solid var(--dark-border) !important;
}

/* Forzar todos los bordes de tabla a ser oscuros */
html.dark-theme table,
html.dark-theme table th,
html.dark-theme table td,
html.dark-theme .table,
html.dark-theme .table th,
html.dark-theme .table td {
    border-color: var(--dark-border) !important;
}

/* Estilos específicos para filas de planilla en modo oscuro - máxima especificidad */
html.dark-theme tr.planilla-row.table-orange,
html.dark-theme tr.planilla-row.table-orange > *,
html.dark-theme tr.planilla-row.table-orange td,
html.dark-theme tr.planilla-row.table-orange th,
html.dark-theme .planilla-row.table-orange,
html.dark-theme .planilla-row.table-orange > *,
html.dark-theme .planilla-row.table-orange td,
html.dark-theme .planilla-row.table-orange th {
    background-color: #b8860b !important; /* Amarillo dorado oscuro para changas */
    background: #b8860b !important;
    color: #ffffff !important;
    border-color: #daa520 !important;
}

/* Días domingos en modo oscuro - máxima especificidad */
html.dark-theme tr.planilla-row.table-sunday,
html.dark-theme tr.planilla-row.table-sunday > *,
html.dark-theme tr.planilla-row.table-sunday td,
html.dark-theme tr.planilla-row.table-sunday th,
html.dark-theme .planilla-row.table-sunday,
html.dark-theme .planilla-row.table-sunday > *,
html.dark-theme .planilla-row.table-sunday td,
html.dark-theme .planilla-row.table-sunday th,
html.dark-theme .table-sunday,
html.dark-theme .table-sunday > *,
html.dark-theme .table-sunday td,
html.dark-theme .table-sunday th {
    background-color: #0d1b2a !important; /* Azul muy oscuro */
    background: #0d1b2a !important;
    color: #ffffff !important;
    border-color: #1b263b !important;
}

/* Asegurar que las filas de planilla tengan colores en modo oscuro */
html.dark-theme .planilla-row.table-success {
    background-color: rgba(76, 175, 80, 0.25) !important;
    color: #c8e6c9 !important;
}

html.dark-theme .planilla-row.table-success td {
    background-color: rgba(76, 175, 80, 0.25) !important;
    color: #c8e6c9 !important;
    border-color: rgba(76, 175, 80, 0.4) !important;
}

html.dark-theme .planilla-row.table-warning {
    background-color: rgba(255, 152, 0, 0.25) !important;
    color: #ffe082 !important;
}

html.dark-theme .planilla-row.table-warning td {
    background-color: rgba(255, 152, 0, 0.25) !important;
    color: #ffe082 !important;
    border-color: rgba(255, 152, 0, 0.4) !important;
}

html.dark-theme .planilla-row.table-danger {
    background-color: rgba(244, 67, 54, 0.25) !important;
    color: #ffcdd2 !important;
}

html.dark-theme .planilla-row.table-danger td {
    background-color: rgba(244, 67, 54, 0.25) !important;
    color: #ffcdd2 !important;
    border-color: rgba(244, 67, 54, 0.4) !important;
}

html.dark-theme .planilla-row.table-info {
    background-color: rgba(33, 150, 243, 0.25) !important;
    color: #bbdefb !important;
}

html.dark-theme .planilla-row.table-info td {
    background-color: rgba(33, 150, 243, 0.25) !important;
    color: #bbdefb !important;
    border-color: rgba(33, 150, 243, 0.4) !important;
}

html.dark-theme .planilla-row.table-primary {
    background-color: rgba(198, 124, 31, 0.25) !important;
    color: #ffe8c5 !important;
}

html.dark-theme .planilla-row.table-primary td {
    background-color: rgba(198, 124, 31, 0.25) !important;
    color: #ffe8c5 !important;
    border-color: rgba(198, 124, 31, 0.4) !important;
}

html.dark-theme .planilla-row.table-light {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .planilla-row.table-light td {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--dark-text-primary) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Feriados en modo oscuro - máxima especificidad */
html.dark-theme tr.planilla-row.table-holiday,
html.dark-theme tr.planilla-row.table-holiday > *,
html.dark-theme tr.planilla-row.table-holiday td,
html.dark-theme tr.planilla-row.table-holiday th,
html.dark-theme .planilla-row.table-holiday,
html.dark-theme .planilla-row.table-holiday > *,
html.dark-theme .planilla-row.table-holiday td,
html.dark-theme .planilla-row.table-holiday th,
html.dark-theme .table-holiday,
html.dark-theme .table-holiday > *,
html.dark-theme .table-holiday td,
html.dark-theme .table-holiday th {
    background-color: #4a148c !important; /* Púrpura/rosa oscuro */
    background: #4a148c !important;
    color: #f8bbd9 !important; /* Rosa claro para texto */
    border-color: #7b1fa2 !important; /* Púrpura medio */
}

/* Mejorar diferenciación de tipos de jornada en modo oscuro */
html.dark-theme .table-success > tbody > tr > * {
    background-color: rgba(76, 175, 80, 0.25) !important;
    color: #c8e6c9 !important;
    border-color: rgba(76, 175, 80, 0.4) !important;
}

html.dark-theme .table-warning > tbody > tr > * {
    background-color: rgba(255, 152, 0, 0.25) !important;
    color: #ffe082 !important;
    border-color: rgba(255, 152, 0, 0.4) !important;
}

html.dark-theme .table-danger > tbody > tr > * {
    background-color: rgba(244, 67, 54, 0.25) !important;
    color: #ffcdd2 !important;
    border-color: rgba(244, 67, 54, 0.4) !important;
}

html.dark-theme .table-info > tbody > tr > * {
    background-color: rgba(33, 150, 243, 0.25) !important;
    color: #bbdefb !important;
    border-color: rgba(33, 150, 243, 0.4) !important;
}

html.dark-theme .table-primary > tbody > tr > * {
    background-color: rgba(198, 124, 31, 0.25) !important;
    color: #ffe8c5 !important;
    border-color: rgba(198, 124, 31, 0.4) !important;
}

html.dark-theme .table-light > tbody > tr > * {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--dark-text-primary) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Clases específicas de Bootstrap para tablas */
html.dark-theme .table-success > tbody > tr > * {
    background-color: rgba(40, 167, 69, 0.1) !important;
    border-color: rgba(40, 167, 69, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table-warning > tbody > tr > * {
    background-color: rgba(255, 193, 7, 0.1) !important;
    border-color: rgba(255, 193, 7, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table-danger > tbody > tr > * {
    background-color: rgba(220, 53, 69, 0.1) !important;
    border-color: rgba(220, 53, 69, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table-info > tbody > tr > * {
    background-color: rgba(23, 162, 184, 0.1) !important;
    border-color: rgba(23, 162, 184, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table-primary > tbody > tr > * {
    background-color: rgba(198, 124, 31, 0.1) !important;
    border-color: rgba(198, 124, 31, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table-secondary > tbody > tr > * {
    background-color: rgba(108, 117, 125, 0.1) !important;
    border-color: rgba(108, 117, 125, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .table-light > tbody > tr > * {
    background-color: rgba(248, 249, 250, 0.1) !important;
    border-color: rgba(248, 249, 250, 0.2) !important;
    color: var(--dark-text-primary) !important;
}

/* List group */
html.dark-theme .list-group-item {
    background-color: var(--dark-card-bg);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

html.dark-theme .list-group-item.active {
    background-color: var(--dark-primary);
    border-color: var(--dark-primary);
}

html.dark-theme .list-group-item:hover {
    background-color: var(--dark-hover);
}

/* Alertas */
html.dark-theme .alert {
    border: 1px solid var(--dark-border);
}

html.dark-theme .alert-success {
    background-color: rgba(40, 167, 69, 0.1);
    color: #d4edda;
}

html.dark-theme .alert-danger {
    background-color: rgba(220, 53, 69, 0.1);
    color: #f8d7da;
}

html.dark-theme .alert-warning {
    background-color: rgba(255, 193, 7, 0.1);
    color: #fff3cd;
}

html.dark-theme .alert-info {
    background-color: rgba(23, 162, 184, 0.1);
    color: #d1ecf1;
}

html.dark-theme .alert.alert-light,
body.dark-theme .alert.alert-light {
    background-color: rgba(255, 255, 255, 0.06);
    border-color: var(--dark-border);
    color: var(--dark-text-secondary) !important;
}

/* Texto muted */
html.dark-theme .text-muted {
    color: var(--dark-text-muted) !important;
}

/* Toggle switch para modo oscuro */
.theme-toggle {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 24px;
}

.theme-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 24px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked + .slider {
    background-color: var(--dark-primary);
}

html.dark-theme .theme-toggle .slider {
    background-color: var(--dark-primary);
}

input:checked + .slider:before {
    transform: translateX(26px);
}

html.dark-theme .theme-toggle .slider:before {
    transform: translateX(26px);
}

/* Iconos para el toggle */
.theme-toggle .slider:before {
    content: "☀️";
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

input:checked + .slider:before {
    content: "🌙";
}

html.dark-theme .theme-toggle .slider:before {
    content: "🌙";
}

/* Modales */
html.dark-theme .modal-content {
    background-color: var(--dark-card-bg) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .modal-header {
    background-color: var(--dark-bg-tertiary) !important;
    border-bottom: 1px solid var(--dark-border) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .modal-body {
    background-color: var(--dark-card-bg) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .modal-footer {
    background-color: var(--dark-bg-tertiary) !important;
    border-top: 1px solid var(--dark-border) !important;
}

/* Formularios en modales - mayor especificidad */
html.dark-theme .modal .form-control,
html.dark-theme .modal .form-select,
html.dark-theme .modal input[type="text"],
html.dark-theme .modal input[type="date"],
html.dark-theme .modal input[type="time"],
html.dark-theme .modal input[type="number"],
html.dark-theme .modal textarea,
html.dark-theme .modal select {
    background-color: var(--dark-input-bg) !important;
    border: 1px solid var(--dark-input-border) !important;
    color: var(--dark-text-primary) !important;
}

html.dark-theme .modal .form-control:focus,
html.dark-theme .modal .form-select:focus,
html.dark-theme .modal input:focus,
html.dark-theme .modal textarea:focus,
html.dark-theme .modal select:focus {
    background-color: var(--dark-input-bg) !important;
    border-color: var(--dark-primary) !important;
    color: var(--dark-text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(198, 124, 31, 0.25) !important;
}

html.dark-theme .modal .form-control::placeholder,
html.dark-theme .modal input::placeholder,
html.dark-theme .modal textarea::placeholder {
    color: var(--dark-text-muted) !important;
}

html.dark-theme .modal .form-label {
    color: var(--dark-text-primary) !important;
}

/* Reportes - filas especiales */
html.dark-theme .table-warning > tbody > tr,
html.dark-theme .table-warning > tbody > tr > *,
html.dark-theme .table-warning > tbody > tr > td,
html.dark-theme .table-warning > tbody > tr > th {
    background-color: #b8860b !important; /* Amarillo dorado oscuro para changas */
    background: #b8860b !important;
    color: #ffffff !important;
    border-color: #daa520 !important;
}

html.dark-theme .table-secondary > tbody > tr,
html.dark-theme .table-secondary > tbody > tr > *,
html.dark-theme .table-secondary > tbody > tr > td,
html.dark-theme .table-secondary > tbody > tr > th {
    background-color: #0d1b2a !important; /* Azul muy oscuro para domingos */
    background: #0d1b2a !important;
    color: #ffffff !important;
    border-color: #1b263b !important;
}

html.dark-theme .table-primary > tbody > tr,
html.dark-theme .table-primary > tbody > tr > *,
html.dark-theme .table-primary > tbody > tr > td,
html.dark-theme .table-primary > tbody > tr > th {
    background-color: rgba(198, 124, 31, 0.25) !important; /* Dorado para primary */
    background: rgba(198, 124, 31, 0.25) !important;
    color: #ffe8c5 !important;
    border-color: rgba(198, 124, 31, 0.4) !important;
}

/* Clases específicas para reportes */

/* Modo claro - asegurar texto negro en filas coloreadas */
.table-warning.dark-mode-changa {
    color: #000000 !important;
}

.table-secondary.dark-mode-weekend {
    color: #000000 !important;
}

.table-primary.dark-mode-novedad {
    color: #000000 !important;
}

/* Modo oscuro - aplicadas por JavaScript con !important */
.dark-mode-changa {
    background-color: #b8860b !important;
    background: #b8860b !important;
    color: #ffffff !important;
}

.dark-mode-weekend {
    background-color: #0d1b2a !important;
    background: #0d1b2a !important;
    color: #ffffff !important;
}

.dark-mode-novedad {
    background-color: rgba(198, 124, 31, 0.25) !important;
    background: rgba(198, 124, 31, 0.25) !important;
    color: #ffe8c5 !important;
}

/* Reglas específicas para reportes manejadas por JavaScript */

/* Footer */
html.dark-theme footer {
    background-color: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-top: 1px solid var(--dark-border);
}

/* Tabla específica de novedades - asegurar fondo negro consistente */
html.dark-theme #novedades-table.table-striped > tbody > tr,
html.dark-theme #novedades-table.table-striped > tbody > tr > *,
html.dark-theme #novedades-table.table-striped > tbody > tr > td,
html.dark-theme #novedades-table.table-striped > tbody > tr > th,
html.dark-theme #novedades-table > tbody > tr,
html.dark-theme #novedades-table > tbody > tr > *,
html.dark-theme #novedades-table > tbody > tr > td,
html.dark-theme #novedades-table > tbody > tr > th {
    background-color: var(--dark-bg-secondary) !important;
    background: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

/* Forzar que las filas de estado en la tabla de novedades tengan fondo negro */
html.dark-theme #novedades-table .table-success,
html.dark-theme #novedades-table .table-success > *,
html.dark-theme #novedades-table .table-success td,
html.dark-theme #novedades-table .table-success th,
html.dark-theme #novedades-table .table-warning,
html.dark-theme #novedades-table .table-warning > *,
html.dark-theme #novedades-table .table-warning td,
html.dark-theme #novedades-table .table-warning th,
html.dark-theme #novedades-table .table-danger,
html.dark-theme #novedades-table .table-danger > *,
html.dark-theme #novedades-table .table-danger td,
html.dark-theme #novedades-table .table-danger th {
    background-color: var(--dark-bg-secondary) !important;
    background: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border) !important;
}

/* Responsive */
@media (max-width: 768px) {
    html.dark-theme .container-fluid {
        padding-left: 10px;
        padding-right: 10px;
    }
}
