/* 
 * Estilos dinámicos del sitio - Generado automáticamente
 * Color primario: cyan (#17a2b8)
 * Color secundario: secondary (#6c757d)
 * Última actualización: 2026-07-10 20:33:59
 */

:root {
    --dynamic-primary: #17a2b8;
    --dynamic-primary-hover: #1491a5;
    --dynamic-primary-active: #13899c;
    --dynamic-secondary: #6c757d;
    --dynamic-secondary-hover: #616970;
}

/* ===== NAVBAR (Main Header) ===== */
body:not(.dark-mode) .main-header.navbar {
    background-color: var(--dynamic-primary) !important;
    border-bottom-color: var(--dynamic-primary) !important;
}

/* ===== SIDEBAR BRAND (Logo area) ===== */
body:not(.dark-mode) .brand-link {
    background-color: var(--dynamic-primary) !important;
}

body:not(.dark-mode) .brand-link:hover {
    background-color: var(--dynamic-primary-hover) !important;
}

/* ===== SIDEBAR ===== */
body:not(.dark-mode) .sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active,
body:not(.dark-mode) .sidebar-light-primary .nav-sidebar > .nav-item.menu-open > .nav-link,
body:not(.dark-mode) .sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
body:not(.dark-mode) .sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: var(--dynamic-primary) !important;
    color: #fff !important;
}

/* ===== CARD HEADERS ===== */
body:not(.dark-mode) .modal-header {
    background-color: var(--dynamic-primary) !important;
    border-color: var(--dynamic-primary) !important;
    color: #fff !important;
}

/* Mantener bg-primary e bg-info con color dinámico */
body:not(.dark-mode) .card-header.bg-primary,
body:not(.dark-mode) .card-header.bg-info,
body:not(.dark-mode) .card-primary:not(.card-outline) > .card-header,
body:not(.dark-mode) .card-info:not(.card-outline) > .card-header {
    background-color: var(--dynamic-primary) !important;
    border-color: var(--dynamic-primary) !important;
    color: #fff !important;
}

/* Botones blancos en headers para mejor contraste */
body:not(.dark-mode) .card-header.bg-primary .close,
body:not(.dark-mode) .card-header.bg-info .close,
body:not(.dark-mode) .card-primary:not(.card-outline) > .card-header .close,
body:not(.dark-mode) .card-info:not(.card-outline) > .card-header .close,
body:not(.dark-mode) .modal-header .close {
    color: #fff !important;
    opacity: 0.8;
}

body:not(.dark-mode) .card-header.bg-primary .close:hover,
body:not(.dark-mode) .card-header.bg-info .close:hover,
body:not(.dark-mode) .card-primary:not(.card-outline) > .card-header .close:hover,
body:not(.dark-mode) .card-info:not(.card-outline) > .card-header .close:hover,
body:not(.dark-mode) .modal-header .close:hover {
    opacity: 1;
}

/* Cards con outline - usar borde primario */
body:not(.dark-mode) .card-primary.card-outline,
body:not(.dark-mode) .card.card-outline {
    border-top: 3px solid var(--dynamic-primary) !important;
}

body:not(.dark-mode) .card-primary.card-outline > .card-header,
body:not(.dark-mode) .card.card-outline > .card-header {
    background-color: transparent !important;
    color: inherit !important;
    border-bottom: 1px solid rgba(0,0,0,.125);
}

/* Mantener otros colores para casos específicos */
body:not(.dark-mode) .card-header.bg-success,
body:not(.dark-mode) .card-success:not(.card-outline) > .card-header {
    background-color: #28a745 !important;
}

body:not(.dark-mode) .card-header.bg-warning,
body:not(.dark-mode) .card-warning:not(.card-outline) > .card-header {
    background-color: #ffc107 !important;
}

body:not(.dark-mode) .card-header.bg-danger,
body:not(.dark-mode) .card-danger:not(.card-outline) > .card-header {
    background-color: #dc3545 !important;
}

body:not(.dark-mode) .card-header.bg-lightblue,
body:not(.dark-mode) .card-lightblue:not(.card-outline) > .card-header {
    background-color: #3c8dbc !important;
}

/* ===== BOTONES ===== */
body:not(.dark-mode) .btn-primary {
    background-color: var(--dynamic-primary) !important;
    border-color: var(--dynamic-primary) !important;
}

body:not(.dark-mode) .btn-primary:hover,
body:not(.dark-mode) .btn-primary:focus {
    background-color: var(--dynamic-primary-hover) !important;
    border-color: var(--dynamic-primary-hover) !important;
}

body:not(.dark-mode) .btn-primary:active,
body:not(.dark-mode) .btn-primary.active {
    background-color: var(--dynamic-primary-active) !important;
    border-color: var(--dynamic-primary-active) !important;
}

/* ===== LINKS Y TEXTO ===== */
body:not(.dark-mode) a.text-primary,
body:not(.dark-mode) .text-primary {
    color: var(--dynamic-primary) !important;
}

body:not(.dark-mode) a.text-primary:hover {
    color: var(--dynamic-primary-hover) !important;
}

/* ===== BADGES ===== */
body:not(.dark-mode) .badge-primary {
    background-color: var(--dynamic-primary) !important;
}

/* ===== PROGRESS BARS ===== */
body:not(.dark-mode) .progress-bar.bg-primary {
    background-color: var(--dynamic-primary) !important;
}

/* ===== ALERTS ===== */
body:not(.dark-mode) .alert-primary {
    background-color: var(--dynamic-primary) !important;
    border-color: var(--dynamic-primary) !important;
}

/* ===== PAGINATION ===== */
body:not(.dark-mode) .page-item.active .page-link {
    background-color: var(--dynamic-primary) !important;
    border-color: var(--dynamic-primary) !important;
}

/* ===== DROPDOWN MENU ===== */
body:not(.dark-mode) .dropdown-item.active,
body:not(.dark-mode) .dropdown-item:active {
    background-color: var(--dynamic-primary) !important;
}

/* ===== CUSTOM SWITCHES ===== */
body:not(.dark-mode) .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--dynamic-primary) !important;
    border-color: var(--dynamic-primary) !important;
}

/* ===== FORM CONTROLS (focus) ===== */
body:not(.dark-mode) .form-control:focus {
    border-color: var(--dynamic-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important;
}

/* ===== COLOR SECUNDARIO ===== */
/* Botones secundarios, guardar y submit */
body:not(.dark-mode) .btn-secondary,
body:not(.dark-mode) button[type="submit"],
body:not(.dark-mode) .btn-save,
body:not(.dark-mode) .btn-guardar,
body:not(.dark-mode) .btn-accept {
    background-color: var(--dynamic-secondary) !important;
    border-color: var(--dynamic-secondary) !important;
    color: #fff !important;
}

body:not(.dark-mode) .btn-secondary:hover,
body:not(.dark-mode) .btn-secondary:focus,
body:not(.dark-mode) button[type="submit"]:hover,
body:not(.dark-mode) button[type="submit"]:focus,
body:not(.dark-mode) .btn-save:hover,
body:not(.dark-mode) .btn-save:focus,
body:not(.dark-mode) .btn-guardar:hover,
body:not(.dark-mode) .btn-guardar:focus,
body:not(.dark-mode) .btn-accept:hover,
body:not(.dark-mode) .btn-accept:focus {
    background-color: var(--dynamic-secondary-hover) !important;
    border-color: var(--dynamic-secondary-hover) !important;
    color: #fff !important;
}

/* Mantener colores específicos cuando se usen explícitamente */
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark {
    /* Mantener sus colores originales */
}

body:not(.dark-mode) .badge-secondary {
    background-color: var(--dynamic-secondary) !important;
}

body:not(.dark-mode) .bg-secondary {
    background-color: var(--dynamic-secondary) !important;
}

body:not(.dark-mode) .text-secondary {
    color: var(--dynamic-secondary) !important;
}

/* Botones outline secondary (volver) */
body:not(.dark-mode) .btn-outline-secondary {
    color: var(--dynamic-secondary) !important;
    border-color: var(--dynamic-secondary) !important;
    background-color: transparent !important;
}

body:not(.dark-mode) .btn-outline-secondary:hover,
body:not(.dark-mode) .btn-outline-secondary:focus {
    background-color: var(--dynamic-secondary) !important;
    border-color: var(--dynamic-secondary) !important;
    color: #fff !important;
}

/* ===== COMPATIBILIDAD CON DARK MODE NATIVO ADMINLTE ===== */
body.dark-mode .main-header.navbar {
    background-color: #343a40 !important;
    border-bottom-color: #4b545c !important;
}

body.dark-mode .brand-link {
    background-color: #343a40 !important;
    border-bottom-color: #4b545c !important;
    color: #ffffff !important;
}

body.dark-mode .brand-link *,
body.dark-mode .main-header.navbar .nav-link,
body.dark-mode .main-header.navbar .navbar-nav .nav-link {
    color: #f8f9fa !important;
}

body.dark-mode .main-sidebar,
body.dark-mode .main-sidebar::before,
body.dark-mode [class*="sidebar-light-"] {
    background-color: #343a40 !important;
}

body.dark-mode [class*="sidebar-light-"] .sidebar a,
body.dark-mode [class*="sidebar-light-"] .nav-sidebar > .nav-item > .nav-link,
body.dark-mode [class*="sidebar-light-"] .nav-treeview > .nav-item > .nav-link {
    color: #c2c7d0 !important;
}

body.dark-mode [class*="sidebar-light-"] .nav-header {
    color: #d0d4db !important;
}

body.dark-mode [class*="sidebar-light-"] .nav-sidebar > .nav-item > .nav-link:hover,
body.dark-mode [class*="sidebar-light-"] .nav-sidebar > .nav-item > .nav-link:focus,
body.dark-mode [class*="sidebar-light-"] .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: rgba(255, 255, 255, .1) !important;
    color: #ffffff !important;
}

body.dark-mode [class*="sidebar-light-"] .nav-sidebar > .nav-item > .nav-link.active {
    background-color: rgba(255, 255, 255, .9) !important;
    color: #343a40 !important;
}

body.dark-mode .card[style*="background:#f8f9fa"],
body.dark-mode .card[style*="background: #f8f9fa"],
body.dark-mode .card[style*="background:#fff"],
body.dark-mode .card[style*="background: #fff"],
body.dark-mode .card-body,
body.dark-mode .modal-body,
body.dark-mode .modal-footer.bg-light {
    background-color: #343a40 !important;
    color: #f8f9fa !important;
}

body.dark-mode .card-header.bg-primary,
body.dark-mode .card-header.bg-info,
body.dark-mode .card-header.bg-lightblue,
body.dark-mode .modal-header.bg-lightblue {
    background-color: #343a40 !important;
    border-color: #4b545c !important;
    color: #f8f9fa !important;
}

body.dark-mode .card-header.bg-primary *,
body.dark-mode .card-header.bg-info *,
body.dark-mode .card-header.bg-lightblue *,
body.dark-mode .modal-header.bg-lightblue * {
    color: #f8f9fa !important;
}

body.dark-mode .card-body,
body.dark-mode .card-body label,
body.dark-mode .card-body .text-muted,
body.dark-mode .card-body .form-text,
body.dark-mode .card-body small,
body.dark-mode .modal-body,
body.dark-mode .modal-body .text-muted,
body.dark-mode .modal-body .form-text,
body.dark-mode .modal-body small {
    color: #f8f9fa !important;
}

body.dark-mode .card-body a:not(.btn),
body.dark-mode .modal-body a:not(.btn) {
    color: #9ecbff !important;
}

body.dark-mode .card-body [style*="color:#555"],
body.dark-mode .card-body [style*="color: #555"],
body.dark-mode .modal-body [style*="color:#555"],
body.dark-mode .modal-body [style*="color: #555"] {
    color: #f8f9fa !important;
}

body.dark-mode .card-body .select2-container--default .select2-selection__rendered,
body.dark-mode .card-body .select2-container--default .select2-selection__placeholder {
    color: #495057 !important;
}

body.dark-mode #calendar {
    background-color: #343a40 !important;
    color: #f8f9fa !important;
}

body.dark-mode .fc,
body.dark-mode .fc .fc-scrollgrid,
body.dark-mode .fc-theme-standard td,
body.dark-mode .fc-theme-standard th {
    border-color: #4b545c !important;
    color: #f8f9fa !important;
}

body.dark-mode .fc .fc-daygrid-day,
body.dark-mode .fc .fc-timegrid-slot,
body.dark-mode .fc .fc-list,
body.dark-mode .fc-col-header-cell {
    background-color: #343a40 !important;
    border-color: #4b545c !important;
}

body.dark-mode .fc .fc-day-today {
    background-color: #3f474e !important;
}

body.dark-mode .fc .fc-toolbar-title,
body.dark-mode .fc-col-header-cell,
body.dark-mode .fc-daygrid-day-number {
    color: #f8f9fa !important;
}
