/* ============================================
   KENDO UI - ESTILOS PERSONALIZADOS
   Mejoras de contraste y adaptación al tema Bootstrap
   ============================================ */

/* ============================================
   DATEPICKER / CALENDAR
   ============================================ */

/* Header del calendario - Título con mes y año - MUY IMPORTANTE */
.k-calendar .k-calendar-header,
.k-calendar-monthview .k-calendar-header,
.k-calendar .k-calendar-view .k-calendar-header,
.k-animation-container .k-calendar .k-calendar-header {
    background-color: #0d6efd !important;
    color: #ffffff !important;
    border-bottom: 1px solid #0d6efd !important;
    padding: 0.75rem !important;
}

/* Vista del header específicamente */
.k-calendar .k-calendar-view-header,
.k-calendar-monthview .k-calendar-view-header {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

/* Botones de navegación (anterior/siguiente) */
.k-calendar .k-calendar-header .k-calendar-nav,
.k-calendar .k-calendar-header .k-button,
.k-calendar .k-calendar-header .k-calendar-nav-prev,
.k-calendar .k-calendar-header .k-calendar-nav-next,
.k-calendar .k-calendar-header .k-button.k-button-flat {
    color: #ffffff !important;
    background: transparent !important;
    border: none !important;
}

.k-calendar .k-calendar-header .k-button:hover,
.k-calendar .k-calendar-header .k-calendar-nav:hover {
    background-color: rgba(255, 255, 255, 0.15) !important;
}

/* Título del mes/año - CRÍTICO */
.k-calendar .k-calendar-header .k-calendar-title,
.k-calendar .k-calendar-header .k-button.k-calendar-title,
.k-calendar-monthview .k-calendar-header .k-calendar-title,
.k-calendar .k-calendar-view .k-calendar-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    background-color: transparent !important;
}

/* Iconos de navegación */
.k-calendar-header .k-icon,
.k-calendar-header .k-svg-icon,
.k-calendar-header .k-button .k-icon,
.k-calendar-header .k-button .k-svg-icon,
.k-calendar-header .k-button-icon .k-icon {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* SVG icons específicamente */
.k-calendar-header svg,
.k-calendar-header .k-button svg {
    fill: #ffffff !important;
}

.k-calendar-header .k-button svg path {
    fill: #ffffff !important;
}

/* Días de la semana (L, M, M, J, V, S, D) */
.k-calendar .k-calendar-weekdays,
.k-calendar .k-calendar-view .k-calendar-weekdays {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid #dee2e6 !important;
}

.k-calendar .k-calendar-th,
.k-calendar .k-calendar-weekdays th {
    color: #495057 !important;
    font-weight: 600 !important;
    padding: 0.5rem !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
}

/* Celdas de días */
.k-calendar .k-calendar-td,
.k-calendar .k-calendar-view .k-calendar-td {
    color: #212529 !important;
    background-color: #ffffff !important;
}

.k-calendar .k-calendar-td.k-other-month,
.k-calendar .k-calendar-td.k-out-of-range {
    color: #6c757d !important;
    opacity: 0.5 !important;
}

/* Hover sobre días */
.k-calendar .k-calendar-td:hover .k-link,
.k-calendar .k-calendar-td.k-hover .k-link {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

/* Día seleccionado */
.k-calendar .k-selected,
.k-calendar .k-calendar-td.k-selected .k-link,
.k-calendar .k-state-selected {
    background-color: #0d6efd !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Día actual (hoy) */
.k-calendar .k-today .k-link {
    border: 2px solid #0d6efd !important;
    color: #0d6efd !important;
    font-weight: 600 !important;
}

/* Día actual + seleccionado */
.k-calendar .k-today.k-selected .k-link {
    background-color: #0d6efd !important;
    color: #ffffff !important;
    border-color: #0d6efd !important;
}

/* ============================================
   DARK MODE - DATEPICKER / CALENDAR
   ============================================ */

[data-bs-theme="dark"] .k-calendar .k-calendar-header,
[data-bs-theme="dark"] .k-calendar .k-calendar-view-header,
[data-bs-theme="dark"] .k-calendar-monthview .k-calendar-header {
    background-color: #1a73e8 !important;
}

[data-bs-theme="dark"] .k-calendar .k-calendar-weekdays {
    background-color: #2d3748 !important;
    border-bottom-color: #4a5568 !important;
}

[data-bs-theme="dark"] .k-calendar .k-calendar-th {
    color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .k-calendar .k-calendar-td {
    color: #e2e8f0 !important;
    background-color: #1a202c !important;
}

[data-bs-theme="dark"] .k-calendar .k-calendar-td.k-other-month {
    color: #718096 !important;
}

[data-bs-theme="dark"] .k-calendar .k-calendar-td:hover .k-link {
    background-color: #2d3748 !important;
    color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .k-calendar .k-today .k-link {
    border-color: #1a73e8 !important;
    color: #1a73e8 !important;
}

/* ============================================
   DROPDOWNLIST
   ============================================ */

.k-list-item {
    padding: 0.5rem 1rem !important;
    color: #212529 !important;
}

.k-list-item:hover,
.k-list-item.k-hover {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

.k-list-item.k-selected,
.k-list-optionlabel.k-selected {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .k-list-item {
    color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .k-list-item:hover,
[data-bs-theme="dark"] .k-list-item.k-hover {
    background-color: #2d3748 !important;
    color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .k-list {
    background-color: #1a202c !important;
    border-color: #4a5568 !important;
}

/* ============================================
   UPLOAD
   ============================================ */

.k-upload {
    border-color: #dee2e6 !important;
}

.k-upload .k-upload-button {
    background-color: #0d6efd !important;
    color: #ffffff !important;
    border-color: #0d6efd !important;
}

.k-upload .k-upload-button:hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}

.k-upload .k-file-name {
    color: #212529 !important;
}

.k-upload .k-upload-status {
    color: #6c757d !important;
}

[data-bs-theme="dark"] .k-upload {
    background-color: #1a202c !important;
    border-color: #4a5568 !important;
}

[data-bs-theme="dark"] .k-upload .k-file-name {
    color: #e2e8f0 !important;
}

[data-bs-theme="dark"] .k-upload .k-upload-status {
    color: #a0aec0 !important;
}

/* ============================================
   MASKEDTEXTBOX
   ============================================ */

.k-maskedtextbox .k-input-inner {
    color: #212529 !important;
}

[data-bs-theme="dark"] .k-maskedtextbox .k-input-inner {
    color: #e2e8f0 !important;
}

/* ============================================
   POPUP GENERAL
   ============================================ */

.k-animation-container .k-popup {
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    background-color: #ffffff !important;
}

[data-bs-theme="dark"] .k-animation-container .k-popup {
    background-color: #1a202c !important;
    border-color: #4a5568 !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5) !important;
}

/* ============================================
   INPUTS DE KENDO
   ============================================ */

.k-input-inner,
.k-picker .k-input-inner {
    color: #212529 !important;
}

[data-bs-theme="dark"] .k-input-inner,
[data-bs-theme="dark"] .k-picker .k-input-inner {
    color: #e2e8f0 !important;
}

/* ============================================
   BOTONES DE KENDO
   ============================================ */

.k-button-solid-primary {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #ffffff !important;
}

.k-button-solid-primary:hover {
    background-color: #0b5ed7 !important;
    border-color: #0a58ca !important;
}

/* ============================================
   SCROLLBAR PERSONALIZADO PARA KENDO
   ============================================ */

.k-list-scroller::-webkit-scrollbar {
    width: 8px;
}

.k-list-scroller::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.k-list-scroller::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.k-list-scroller::-webkit-scrollbar-thumb:hover {
    background: #555;
}

[data-bs-theme="dark"] .k-list-scroller::-webkit-scrollbar-track {
    background: #2d3748;
}

[data-bs-theme="dark"] .k-list-scroller::-webkit-scrollbar-thumb {
    background: #4a5568;
}

[data-bs-theme="dark"] .k-list-scroller::-webkit-scrollbar-thumb:hover {
    background: #718096;
}

/* ============================================
   FORZAR ESTILOS EN ELEMENTOS ANIDADOS
   ============================================ */

/* Asegurar que todos los elementos del header sean blancos */
.k-calendar-header * {
    color: #ffffff !important;
}

.k-calendar-header .k-button *,
.k-calendar-header .k-link * {
    color: #ffffff !important;
}

/* Contenedor del calendario completo */
.k-calendar-container {
    background-color: #ffffff !important;
}

[data-bs-theme="dark"] .k-calendar-container {
    background-color: #1a202c !important;
}
