:root {
    color-scheme: light;
}

body {
    font-family: Georgia, 'Times New Roman', serif;
}

button,
input,
nav,
p,
span,
label,
a {
    font-family: Arial, Helvetica, sans-serif;
}

.login-backdrop {
    background-color: #f4f1eb;
    background-image: linear-gradient(135deg, rgba(15, 118, 110, .08) 25%, transparent 25%), linear-gradient(315deg, rgba(180, 83, 9, .06) 25%, transparent 25%);
    background-position: 0 0, 24px 24px;
    background-size: 48px 48px;
}

.sidebar-shadow {
    box-shadow: 8px 0 24px rgba(15, 23, 42, .04);
}

.nav-link.active {
    background: #ccfbf1;
    color: #115e59;
    font-weight: 700;
}

.nav-link:not(.active):hover {
    background: #f0fdfa;
    color: #115e59;
}

.focus-ring:focus-visible {
    outline: 3px solid rgba(13, 148, 136, .35);
    outline-offset: 3px;
}

/* ===================== Tema oscuro ===================== */
html.dark {
    color-scheme: dark;
}

.dark body {
    background-color: #0f172a;
}

.dark .bg-white {
    background-color: #1e293b;
}

.dark .bg-white\/95 {
    background-color: rgba(30, 41, 59, .95);
}

.dark .bg-slate-50 {
    background-color: #1e293b;
}

.dark .bg-slate-100 {
    background-color: #334155;
}

.dark .text-slate-900 { color: #f1f5f9; }
.dark .text-slate-800 { color: #f1f5f9; }
.dark .text-slate-700 { color: #e2e8f0; }
.dark .text-slate-600 { color: #cbd5e1; }
.dark .text-slate-500 { color: #94a3b8; }
.dark .text-slate-400 { color: #64748b; }

.dark .text-teal-700 { color: #2dd4bf; }
.dark .text-red-600 { color: #f87171; }

.dark .border-slate-100 { border-color: #334155; }
.dark .border-slate-200 { border-color: #334155; }
.dark .border-slate-300 { border-color: #475569; }
.dark .border-white\/80 { border-color: rgba(51, 65, 85, .8); }
.dark .border-red-200 { border-color: rgba(239, 68, 68, .35); }

.dark .hover\:bg-slate-50:hover { background-color: #334155; }
.dark .hover\:bg-slate-100:hover { background-color: #475569; }
.dark .hover\:bg-red-50:hover { background-color: rgba(239, 68, 68, .15); }

/* Chips y badges de estado */
.dark .bg-emerald-50 { background-color: rgba(16, 185, 129, .15); }
.dark .text-emerald-700 { color: #6ee7b7; }
.dark .bg-sky-50 { background-color: rgba(14, 165, 233, .15); }
.dark .text-sky-700 { color: #7dd3fc; }
.dark .bg-amber-50 { background-color: rgba(245, 158, 11, .15); }
.dark .text-amber-700 { color: #fcd34d; }
.dark .bg-amber-100 { background-color: rgba(245, 158, 11, .2); }
.dark .text-amber-800 { color: #fcd34d; }
.dark .bg-violet-50 { background-color: rgba(139, 92, 246, .15); }
.dark .text-violet-700 { color: #c4b5fd; }
.dark .bg-red-50 { background-color: rgba(239, 68, 68, .12); }
.dark .text-red-700 { color: #fca5a5; }
.dark .bg-teal-50 { background-color: rgba(20, 184, 166, .15); }
.dark .text-teal-800 { color: #5eead4; }

/* Navegación lateral */
.dark .nav-link.active {
    background: #134e4a;
    color: #99f6e4;
}

.dark .nav-link:not(.active):hover {
    background: #0f172a;
    color: #99f6e4;
}

/* Fondo del login */
.dark .login-backdrop {
    background-color: #0f172a;
    background-image: linear-gradient(135deg, rgba(20, 184, 166, .08) 25%, transparent 25%), linear-gradient(315deg, rgba(245, 158, 11, .05) 25%, transparent 25%);
}

/* Botón de archivos adjuntos y placeholders */
.dark input[type="file"]::file-selector-button {
    background-color: #134e4a;
    color: #5eead4;
}

.dark ::placeholder {
    color: #64748b;
}
