/* 🌙 TransLogix - Modo Oscuro Premium */
/* Paleta de colores moderna inspirada en GitHub Dark & Discord */

:root {
    /* === PALETA DE COLORES MODO OSCURO PREMIUM === */
    
    /* Fondos principales - Tonos azul oscuro profundo */
    --dark-bg-primary: #0d1117;        /* Fondo principal - Casi negro con tinte azul */
    --dark-bg-secondary: #161b22;      /* Fondo secundario - Azul muy oscuro */
    --dark-bg-tertiary: #1c2128;       /* Fondo terciario - Azul oscuro */
    --dark-bg-elevated: #21262d;       /* Elementos elevados - Azul medio oscuro */
    --dark-bg-overlay: #2d333b;        /* Overlays y modales */
    
    /* Superficies - Cards y contenedores */
    --dark-surface: #161b22;           /* Superficie base */
    --dark-surface-hover: #1c2128;     /* Hover en superficies */
    --dark-surface-active: #21262d;    /* Estado activo */
    --dark-surface-elevated: #2d333b;  /* Superficie elevada */
    
    /* Textos - Alta legibilidad */
    --dark-text-primary: #e6edf3;      /* Texto principal - Blanco azulado */
    --dark-text-secondary: #8b949e;    /* Texto secundario - Gris azulado */
    --dark-text-muted: #6e7681;        /* Texto deshabilitado - Gris oscuro */
    --dark-text-inverse: #0d1117;      /* Texto sobre fondos claros */
    --dark-text-link: #58a6ff;         /* Enlaces */
    
    /* Acentos - Colores vibrantes pero no agresivos */
    --dark-accent-primary: #58a6ff;    /* Azul brillante */
    --dark-accent-primary-hover: #79c0ff; /* Azul más claro */
    --dark-accent-secondary: #a371f7;  /* Púrpura suave */
    --dark-accent-success: #3fb950;    /* Verde éxito */
    --dark-accent-warning: #d29922;    /* Amarillo advertencia */
    --dark-accent-danger: #f85149;     /* Rojo peligro */
    --dark-accent-info: #58a6ff;       /* Cian información */
    
    /* Bordes - Sutiles pero visibles */
    --dark-border-primary: #30363d;    /* Borde principal */
    --dark-border-secondary: #21262d;  /* Borde secundario */
    --dark-border-muted: #1c2128;      /* Borde muy sutil */
    --dark-border-accent: #58a6ff;     /* Borde de acento */
    
    /* Sombras - Profundidad y elevación */
    --dark-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --dark-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.6);
    --dark-shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.7);
    --dark-shadow-xl: 0 20px 30px rgba(0, 0, 0, 0.8);
    --dark-shadow-glow: 0 0 20px rgba(88, 166, 255, 0.3);
    
    /* Gradientes modernos */
    --dark-gradient-primary: linear-gradient(135deg, #58a6ff 0%, #a371f7 100%);
    --dark-gradient-secondary: linear-gradient(135deg, #a371f7 0%, #f778ba 100%);
    --dark-gradient-surface: linear-gradient(145deg, #161b22 0%, #1c2128 100%);
    --dark-gradient-sidebar: linear-gradient(180deg, #0d1117 0%, #161b22 100%);
    --dark-gradient-header: linear-gradient(90deg, #161b22 0%, #1c2128 100%);
    
    /* Estados de interacción */
    --dark-hover-overlay: rgba(88, 166, 255, 0.1);
    --dark-active-overlay: rgba(88, 166, 255, 0.15);
    --dark-focus-ring: 0 0 0 3px rgba(88, 166, 255, 0.3);
}

/* === APLICACIÓN DEL TEMA OSCURO === */
[data-theme="dark"] {
    color-scheme: dark;
}

/* === ELEMENTOS BASE === */
[data-theme="dark"] body {
    background: var(--dark-bg-primary);
    color: var(--dark-text-primary);
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* === SIDEBAR === */
[data-theme="dark"] .sidebar {
    background: var(--dark-gradient-sidebar);
    border-right: 1px solid var(--dark-border-primary);
    box-shadow: var(--dark-shadow-xl);
}

[data-theme="dark"] .sidebar-header {
    background: rgba(88, 166, 255, 0.05);
    border-bottom: 1px solid var(--dark-border-primary) !important;
    backdrop-filter: blur(10px);
}

[data-theme="dark"] .sidebar-header h2 {
    color: var(--dark-text-primary) !important;
    text-shadow: 0 0 15px rgba(88, 166, 255, 0.4);
    font-weight: 700;
}

/* Enlaces de navegación */
[data-theme="dark"] .nav-link {
    color: var(--dark-text-secondary) !important;
    border-radius: 10px;
    margin: 4px 10px;
    padding: 12px 16px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

[data-theme="dark"] .nav-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: var(--dark-accent-primary);
    transform: scaleY(0);
    transition: transform 0.3s ease;
}

[data-theme="dark"] .nav-link:hover {
    background: var(--dark-hover-overlay);
    color: var(--dark-accent-primary) !important;
    transform: translateX(4px);
}

[data-theme="dark"] .nav-link:hover::before {
    transform: scaleY(1);
}

[data-theme="dark"] .nav-link.active {
    background: var(--dark-gradient-primary);
    color: white !important;
    box-shadow: var(--dark-shadow-glow);
    font-weight: 600;
}

[data-theme="dark"] .nav-link.active::before {
    transform: scaleY(1);
    background: white;
}

[data-theme="dark"] .nav-link i {
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

[data-theme="dark"] .nav-link:hover i,
[data-theme="dark"] .nav-link.active i {
    opacity: 1;
}

/* === DASHBOARD === */
[data-theme="dark"] .dashboard {
    background: var(--dark-bg-primary);
}

/* === MAIN CONTENT === */
[data-theme="dark"] .main-content {
    background: var(--dark-bg-primary);
}

/* === HEADER === */
[data-theme="dark"] .header {
    background: var(--dark-gradient-header);
    border-bottom: 1px solid var(--dark-border-primary);
    box-shadow: var(--dark-shadow-md);
    backdrop-filter: blur(10px);
}

[data-theme="dark"] .header h1,
[data-theme="dark"] .header h2,
[data-theme="dark"] .header h3 {
    color: var(--dark-text-primary) !important;
}

/* === CARDS === */
[data-theme="dark"] .card {
    background: var(--dark-surface);
    border: 1px solid var(--dark-border-primary);
    box-shadow: var(--dark-shadow-md);
    transition: all 0.3s ease;
}

[data-theme="dark"] .card:hover {
    border-color: var(--dark-border-accent);
    box-shadow: var(--dark-shadow-lg);
    transform: translateY(-2px);
}

[data-theme="dark"] .card-header {
    background: var(--dark-surface-elevated);
    border-bottom: 1px solid var(--dark-border-primary);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .card-body {
    background: var(--dark-surface);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .card-footer {
    background: var(--dark-surface-elevated);
    border-top: 1px solid var(--dark-border-primary);
    color: var(--dark-text-secondary);
}

/* === TABLAS === */
[data-theme="dark"] .table {
    color: var(--dark-text-primary);
    border-color: var(--dark-border-primary);
    background: var(--dark-surface);
}

[data-theme="dark"] .table thead th {
    background: var(--dark-bg-secondary) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border-primary);
    font-weight: 700;
    padding: 16px 14px;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.8px;
    border-bottom: 2px solid var(--dark-border-accent);
}

[data-theme="dark"] .table tbody tr {
    background: var(--dark-bg-secondary);
    border-bottom: 1px solid var(--dark-border-secondary);
    transition: all 0.2s ease;
}

[data-theme="dark"] .table tbody tr:hover {
    background: var(--dark-surface-hover) !important;
    transform: scale(1.01);
    box-shadow: 0 2px 8px rgba(88, 166, 255, 0.2);
    cursor: pointer;
}

[data-theme="dark"] .table tbody tr:hover td,
[data-theme="dark"] .table tbody tr:hover td *:not(.badge):not(.btn) {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .table tbody td {
    border-color: var(--dark-border-secondary);
    color: var(--dark-text-primary) !important;
    padding: 12px;
    vertical-align: middle;
    background: transparent;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background: var(--dark-bg-secondary);
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) {
    background: var(--dark-bg-tertiary);
}

/* Tabla responsive con mejor diseño */
[data-theme="dark"] .table-responsive {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--dark-shadow-md);
    background: var(--dark-surface);
}

/* Asegurar que todos los textos en tablas sean legibles */
[data-theme="dark"] .table td,
[data-theme="dark"] .table th,
[data-theme="dark"] .table td *,
[data-theme="dark"] .table th * {
    color: var(--dark-text-primary) !important;
}

/* Excepto badges y botones que tienen sus propios colores */
[data-theme="dark"] .table .badge {
    color: white !important;
}

[data-theme="dark"] .table .btn {
    color: inherit !important;
}

/* === FORMULARIOS === */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: var(--dark-surface);
    border: 1px solid var(--dark-border-primary);
    color: var(--dark-text-primary);
    transition: all 0.3s ease;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background: var(--dark-surface-hover);
    border-color: var(--dark-accent-primary);
    box-shadow: var(--dark-focus-ring);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--dark-text-muted);
}

[data-theme="dark"] .form-label {
    color: var(--dark-text-primary);
    font-weight: 500;
}

[data-theme="dark"] .form-text {
    color: var(--dark-text-secondary);
}

/* === BOTONES === */
[data-theme="dark"] .btn {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="dark"] .btn-primary {
    background: var(--dark-gradient-primary);
    border: none;
    color: white;
    box-shadow: var(--dark-shadow-md);
}

[data-theme="dark"] .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--dark-shadow-glow);
}

[data-theme="dark"] .btn-secondary {
    background: var(--dark-surface-elevated);
    border: 1px solid var(--dark-border-primary);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .btn-secondary:hover {
    background: var(--dark-surface-hover);
    border-color: var(--dark-accent-primary);
}

[data-theme="dark"] .btn-success {
    background: var(--dark-accent-success);
    border: none;
    color: white;
}

[data-theme="dark"] .btn-warning {
    background: var(--dark-accent-warning);
    border: none;
    color: var(--dark-text-inverse);
}

[data-theme="dark"] .btn-danger {
    background: var(--dark-accent-danger);
    border: none;
    color: white;
}

[data-theme="dark"] .btn-outline-primary {
    border-color: var(--dark-accent-primary);
    color: var(--dark-accent-primary);
    background: transparent;
}

[data-theme="dark"] .btn-outline-primary:hover {
    background: var(--dark-accent-primary);
    color: white;
}

/* === BADGES === */
[data-theme="dark"] .badge {
    font-weight: 600;
}

[data-theme="dark"] .badge.bg-primary {
    background: var(--dark-accent-primary) !important;
}

[data-theme="dark"] .badge.bg-success {
    background: var(--dark-accent-success) !important;
}

[data-theme="dark"] .badge.bg-warning {
    background: var(--dark-accent-warning) !important;
    color: var(--dark-text-inverse) !important;
}

[data-theme="dark"] .badge.bg-danger {
    background: var(--dark-accent-danger) !important;
}

/* === MODALES === */
[data-theme="dark"] .modal-content {
    background: var(--dark-surface);
    border: 1px solid var(--dark-border-primary);
    box-shadow: var(--dark-shadow-xl);
}

[data-theme="dark"] .modal-header {
    background: var(--dark-surface-elevated);
    border-bottom: 1px solid var(--dark-border-primary);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .modal-body {
    background: var(--dark-surface);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .modal-footer {
    background: var(--dark-surface-elevated);
    border-top: 1px solid var(--dark-border-primary);
}

[data-theme="dark"] .modal-backdrop {
    background-color: rgba(0, 0, 0, 0.8);
}

/* === ALERTS === */
[data-theme="dark"] .alert {
    border-width: 1px;
    border-style: solid;
}

[data-theme="dark"] .alert-primary {
    background: rgba(88, 166, 255, 0.1);
    border-color: var(--dark-accent-primary);
    color: var(--dark-accent-primary-hover);
}

[data-theme="dark"] .alert-success {
    background: rgba(63, 185, 80, 0.1);
    border-color: var(--dark-accent-success);
    color: #56d364;
}

[data-theme="dark"] .alert-warning {
    background: rgba(210, 153, 34, 0.1);
    border-color: var(--dark-accent-warning);
    color: #e3b341;
}

[data-theme="dark"] .alert-danger {
    background: rgba(248, 81, 73, 0.1);
    border-color: var(--dark-accent-danger);
    color: #ff7b72;
}

/* === DROPDOWNS === */
[data-theme="dark"] .dropdown-menu {
    background: var(--dark-surface-elevated);
    border: 1px solid var(--dark-border-primary);
    box-shadow: var(--dark-shadow-lg);
}

[data-theme="dark"] .dropdown-item {
    color: var(--dark-text-primary);
    transition: all 0.2s ease;
}

[data-theme="dark"] .dropdown-item:hover {
    background: var(--dark-hover-overlay);
    color: var(--dark-accent-primary);
}

[data-theme="dark"] .dropdown-divider {
    border-color: var(--dark-border-primary);
}

/* === TOOLTIPS === */
[data-theme="dark"] .tooltip-inner {
    background: var(--dark-surface-elevated);
    color: var(--dark-text-primary);
    box-shadow: var(--dark-shadow-lg);
}

/* === PROGRESS BARS === */
[data-theme="dark"] .progress {
    background: var(--dark-surface);
    border: 1px solid var(--dark-border-primary);
}

[data-theme="dark"] .progress-bar {
    background: var(--dark-gradient-primary);
}

/* === BREADCRUMBS === */
[data-theme="dark"] .breadcrumb {
    background: var(--dark-surface);
    border: 1px solid var(--dark-border-primary);
}

[data-theme="dark"] .breadcrumb-item {
    color: var(--dark-text-secondary);
}

[data-theme="dark"] .breadcrumb-item.active {
    color: var(--dark-text-primary);
}

[data-theme="dark"] .breadcrumb-item a {
    color: var(--dark-accent-primary);
}

/* === PAGINATION === */
[data-theme="dark"] .pagination .page-link {
    background: var(--dark-surface);
    border-color: var(--dark-border-primary);
    color: var(--dark-text-primary);
}

[data-theme="dark"] .pagination .page-link:hover {
    background: var(--dark-surface-hover);
    border-color: var(--dark-accent-primary);
    color: var(--dark-accent-primary);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
    background: var(--dark-gradient-primary);
    border-color: var(--dark-accent-primary);
}

/* === SCROLLBAR === */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--dark-bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--dark-surface-elevated);
    border-radius: 6px;
    border: 2px solid var(--dark-bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--dark-accent-primary);
}

/* === TEXTOS === */
[data-theme="dark"] .text-muted {
    color: var(--dark-text-muted) !important;
}

[data-theme="dark"] .text-primary {
    color: var(--dark-accent-primary) !important;
}

[data-theme="dark"] .text-success {
    color: var(--dark-accent-success) !important;
}

[data-theme="dark"] .text-warning {
    color: var(--dark-accent-warning) !important;
}

[data-theme="dark"] .text-danger {
    color: var(--dark-accent-danger) !important;
}

/* === LINKS === */
[data-theme="dark"] a {
    color: var(--dark-text-link);
    transition: color 0.2s ease;
}

[data-theme="dark"] a:hover {
    color: var(--dark-accent-primary-hover);
}

/* === SEPARADORES === */
[data-theme="dark"] hr {
    border-color: var(--dark-border-primary);
    opacity: 1;
}

/* === SPINNER === */
[data-theme="dark"] .spinner-border {
    border-color: var(--dark-accent-primary);
    border-right-color: transparent;
}

/* === TOAST === */
[data-theme="dark"] .toast {
    background: var(--dark-surface-elevated);
    border: 1px solid var(--dark-border-primary);
    box-shadow: var(--dark-shadow-lg);
    color: var(--dark-text-primary);
}

/* === ANIMACIONES SUAVES === */
[data-theme="dark"] * {
    transition-property: background-color, border-color, color, fill, stroke;
    transition-duration: 0.3s;
    transition-timing-function: ease;
}

/* === EFECTOS DE GLOW EN ELEMENTOS INTERACTIVOS === */
[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary:active {
    box-shadow: var(--dark-shadow-glow);
}

[data-theme="dark"] .form-control:focus {
    box-shadow: var(--dark-focus-ring);
}

/* === MEJORAS VISUALES === */
[data-theme="dark"] .shadow-sm {
    box-shadow: var(--dark-shadow-sm) !important;
}

[data-theme="dark"] .shadow {
    box-shadow: var(--dark-shadow-md) !important;
}

[data-theme="dark"] .shadow-lg {
    box-shadow: var(--dark-shadow-lg) !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
    [data-theme="dark"] .sidebar {
        box-shadow: var(--dark-shadow-xl);
    }
}

/* === ACCESIBILIDAD === */
[data-theme="dark"] :focus-visible {
    outline: 2px solid var(--dark-accent-primary);
    outline-offset: 2px;
}

/* === ESTADOS DISABLED === */
[data-theme="dark"] .btn:disabled,
[data-theme="dark"] .form-control:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* === TARJETAS DE VIAJES === */
/* Cajas de información en tarjetas de viajes */
[data-theme="dark"] .card-body > div[style*="background: #f8f9fa"],
[data-theme="dark"] .card-body > div[style*="background: #f0f9ff"],
[data-theme="dark"] .card-body > div[style*="background: #fef3c7"],
[data-theme="dark"] .card-body > div[style*="background: #f3f4f6"],
[data-theme="dark"] .card-body > div[style*="background: #ecfdf5"],
[data-theme="dark"] .card-body > div[style*="background: #fff8e1"],
[data-theme="dark"] .card-body > div[style*="background: #f1f8ff"] {
    background: var(--dark-surface-elevated) !important;
    color: var(--dark-text-primary) !important;
}

/* Textos dentro de las cajas de información */
[data-theme="dark"] .card-body small,
[data-theme="dark"] .card-body .small,
[data-theme="dark"] .card-body .text-muted {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .card-body strong,
[data-theme="dark"] .card-body .fw-bold {
    color: var(--dark-text-primary) !important;
}

/* Cajas de fecha, hora, transportista, vehículo */
[data-theme="dark"] .p-2.text-center,
[data-theme="dark"] .p-2.rounded {
    background: var(--dark-surface-elevated) !important;
}

/* Iconos en las cajas */
[data-theme="dark"] .card-body i.fa-calendar,
[data-theme="dark"] .card-body i.fa-clock,
[data-theme="dark"] .card-body i.fa-user,
[data-theme="dark"] .card-body i.fa-user-circle,
[data-theme="dark"] .card-body i.fa-truck {
    color: var(--dark-accent-primary) !important;
}

/* Caja de ruta (origen y destino) */
[data-theme="dark"] .card-body > div[style*="linear-gradient(to right, #e8f5e9, #fff3e0)"] {
    background: linear-gradient(to right, rgba(63, 185, 80, 0.1), rgba(245, 158, 11, 0.1)) !important;
}

/* Caja de observaciones */
[data-theme="dark"] .alert-light {
    background: var(--dark-surface-elevated) !important;
    border-color: var(--dark-border-primary) !important;
    color: var(--dark-text-primary) !important;
}

/* Asegurar legibilidad en todas las cajas de información */
[data-theme="dark"] .card-body .d-flex.align-items-center {
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .card-body .d-flex.align-items-center small {
    color: var(--dark-text-secondary) !important;
}

[data-theme="dark"] .card-body .d-flex.align-items-center strong,
[data-theme="dark"] .card-body .d-flex.align-items-center .fw-bold {
    color: var(--dark-text-primary) !important;
}

/* === FIN DEL TEMA OSCURO === */

/* === OBSERVACIONES EN TARJETAS DE VIAJES === */
[data-theme="dark"] .observaciones-viaje {
    background: var(--dark-surface-elevated) !important;
    border-left-color: var(--dark-accent-primary) !important;
}

[data-theme="dark"] .observaciones-viaje > div:first-child {
    color: var(--dark-accent-primary) !important;
}

[data-theme="dark"] .observaciones-viaje > div:last-child {
    color: var(--dark-text-primary) !important;
}

/* === DROPDOWN DE PAÍS EN MODAL DE TRANSPORTISTAS === */
[data-theme="dark"] #countryDropdown,
[data-theme="dark"] #editCountryDropdown {
    background: var(--dark-surface-elevated) !important;
    border: 1px solid var(--dark-border-primary) !important;
    box-shadow: var(--dark-shadow-lg) !important;
}

[data-theme="dark"] #countryDropdown .dropdown-item,
[data-theme="dark"] #editCountryDropdown .dropdown-item {
    color: var(--dark-text-primary) !important;
    transition: background-color 0.2s ease;
}

[data-theme="dark"] #countryDropdown .dropdown-item:hover,
[data-theme="dark"] #editCountryDropdown .dropdown-item:hover {
    background: var(--dark-hover-overlay) !important;
    color: var(--dark-accent-primary) !important;
}

/* === COUNTRY SELECT DISPLAY === */
[data-theme="dark"] .country-select-display {
    background: var(--dark-surface) !important;
    border: 1px solid var(--dark-border-primary) !important;
    color: var(--dark-text-primary) !important;
}

[data-theme="dark"] .country-select-wrapper {
    background: var(--dark-surface) !important;
}

/* === CAJAS DE OBSERVACIONES EN TARJETAS DE VIAJES - MEJORADAS === */
/* Caja de error/rechazo (roja) */
[data-theme="dark"] .card-body > div[style*="background: #fee"],
[data-theme="dark"] .card-body > div[style*="background: #fecaca"],
[data-theme="dark"] .card-body > div[style*="background: rgb(254, 226, 226)"],
[data-theme="dark"] .card-body > div[style*="background-color: #fee2e2"],
[data-theme="dark"] .card-body .alert-danger {
    background: rgba(248, 81, 73, 0.15) !important;
    border-left: 4px solid var(--dark-accent-danger) !important;
    color: #ff9b96 !important;
}

[data-theme="dark"] .card-body > div[style*="background: #fee"] *,
[data-theme="dark"] .card-body > div[style*="background: #fecaca"] *,
[data-theme="dark"] .card-body > div[style*="background: rgb(254, 226, 226)"] *,
[data-theme="dark"] .card-body > div[style*="background-color: #fee2e2"] *,
[data-theme="dark"] .card-body .alert-danger * {
    color: #ff9b96 !important;
}

/* Caja de advertencia/pendiente (amarilla) */
[data-theme="dark"] .card-body > div[style*="background: #fef3c7"],
[data-theme="dark"] .card-body > div[style*="background: #fef9c3"],
[data-theme="dark"] .card-body > div[style*="background: rgb(254, 243, 199)"],
[data-theme="dark"] .card-body .alert-warning {
    background: rgba(210, 153, 34, 0.15) !important;
    border-left: 4px solid var(--dark-accent-warning) !important;
    color: #f4d06f !important;
}

[data-theme="dark"] .card-body > div[style*="background: #fef3c7"] *,
[data-theme="dark"] .card-body > div[style*="background: #fef9c3"] *,
[data-theme="dark"] .card-body > div[style*="background: rgb(254, 243, 199)"] *,
[data-theme="dark"] .card-body .alert-warning * {
    color: #f4d06f !important;
}

/* Caja de éxito/completado (verde) */
[data-theme="dark"] .card-body > div[style*="background: #d1fae5"],
[data-theme="dark"] .card-body > div[style*="background: #d1f4e0"],
[data-theme="dark"] .card-body > div[style*="background: rgb(209, 250, 229)"],
[data-theme="dark"] .card-body .alert-success {
    background: rgba(63, 185, 80, 0.15) !important;
    border-left: 4px solid var(--dark-accent-success) !important;
    color: #7ee3a3 !important;
}

[data-theme="dark"] .card-body > div[style*="background: #d1fae5"] *,
[data-theme="dark"] .card-body > div[style*="background: #d1f4e0"] *,
[data-theme="dark"] .card-body > div[style*="background: rgb(209, 250, 229)"] *,
[data-theme="dark"] .card-body .alert-success * {
    color: #7ee3a3 !important;
}

/* Caja de información/neutral (gris/azul) */
[data-theme="dark"] .card-body > div[style*="background: #e5e7eb"],
[data-theme="dark"] .card-body > div[style*="background: #f3f4f6"],
[data-theme="dark"] .card-body .alert-secondary,
[data-theme="dark"] .card-body .alert-info {
    background: rgba(88, 166, 255, 0.1) !important;
    border-left: 4px solid var(--dark-accent-info) !important;
    color: #a8d4ff !important;
}

[data-theme="dark"] .card-body > div[style*="background: #e5e7eb"] *,
[data-theme="dark"] .card-body > div[style*="background: #f3f4f6"] *,
[data-theme="dark"] .card-body .alert-secondary *,
[data-theme="dark"] .card-body .alert-info * {
    color: #a8d4ff !important;
}

/* Iconos en cajas de observaciones */
[data-theme="dark"] .card-body .alert i,
[data-theme="dark"] .card-body > div[style*="background:"] i {
    opacity: 0.9;
}

/* Asegurar que el texto sea siempre legible */
[data-theme="dark"] .card-body .alert,
[data-theme="dark"] .card-body > div[class*="alert"] {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
}

/* === CAJAS DE ESTADO DE VIAJES - ALTA LEGIBILIDAD === */
/* Viaje completado (verde) */
[data-theme="dark"] .viaje-completado-box {
    background: rgba(16, 185, 129, 0.2) !important;
    border-left-color: #10b981 !important;
}

[data-theme="dark"] .viaje-completado-box,
[data-theme="dark"] .viaje-completado-box * {
    color: #6ee7b7 !important;
}

[data-theme="dark"] .viaje-completado-box strong {
    color: #86efac !important;
    font-weight: 700 !important;
}

/* Viaje cancelado (rojo) */
[data-theme="dark"] .viaje-cancelado-box {
    background: rgba(239, 68, 68, 0.2) !important;
    border-left-color: #ef4444 !important;
}

[data-theme="dark"] .viaje-cancelado-box,
[data-theme="dark"] .viaje-cancelado-box * {
    color: #fca5a5 !important;
}

[data-theme="dark"] .viaje-cancelado-box strong {
    color: #fecaca !important;
    font-weight: 700 !important;
}

/* Viaje pendiente/esperando (amarillo) */
[data-theme="dark"] .viaje-pendiente-box,
[data-theme="dark"] .viaje-solicitud-box,
[data-theme="dark"] .viaje-rechazo-box {
    background: rgba(245, 158, 11, 0.2) !important;
    border-left-color: #f59e0b !important;
}

[data-theme="dark"] .viaje-pendiente-box,
[data-theme="dark"] .viaje-pendiente-box *,
[data-theme="dark"] .viaje-solicitud-box,
[data-theme="dark"] .viaje-solicitud-box *,
[data-theme="dark"] .viaje-rechazo-box,
[data-theme="dark"] .viaje-rechazo-box * {
    color: #fcd34d !important;
}

[data-theme="dark"] .viaje-pendiente-box strong,
[data-theme="dark"] .viaje-solicitud-box strong,
[data-theme="dark"] .viaje-rechazo-box strong {
    color: #fde68a !important;
    font-weight: 700 !important;
}

/* Spinner en cajas de pendiente */
[data-theme="dark"] .viaje-pendiente-box .spinner-border {
    border-color: #fcd34d !important;
    border-right-color: transparent !important;
}

/* Iconos en cajas de estado */
[data-theme="dark"] .viaje-completado-box i {
    color: #86efac !important;
}

[data-theme="dark"] .viaje-cancelado-box i {
    color: #fecaca !important;
}

[data-theme="dark"] .viaje-pendiente-box i,
[data-theme="dark"] .viaje-solicitud-box i,
[data-theme="dark"] .viaje-rechazo-box i {
    color: #fde68a !important;
}

/* Asegurar padding y tamaño de fuente */
[data-theme="dark"] .viaje-completado-box,
[data-theme="dark"] .viaje-cancelado-box,
[data-theme="dark"] .viaje-pendiente-box,
[data-theme="dark"] .viaje-solicitud-box,
[data-theme="dark"] .viaje-rechazo-box {
    padding: 16px !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
}

/* === MENSAJES DE BLOQUEO Y ADVERTENCIA - ALTA LEGIBILIDAD === */
/* Mejorar contraste en mensajes amarillos de advertencia */

/* Alertas de advertencia en modo claro */
.alert-warning {
    background: #fef3c7 !important;
    border-left: 4px solid #f59e0b !important;
    color: #78350f !important;
}

.alert-warning strong {
    color: #92400e !important;
    font-weight: 700 !important;
}

.alert-warning i {
    color: #f59e0b !important;
}

.alert-warning .text-warning {
    color: #d97706 !important;
}

/* Modo oscuro - Alertas de advertencia */
[data-theme="dark"] .alert-warning {
    background: rgba(245, 158, 11, 0.2) !important;
    border-left: 4px solid #f59e0b !important;
    color: #fcd34d !important;
}

[data-theme="dark"] .alert-warning strong {
    color: #fde68a !important;
    font-weight: 700 !important;
}

[data-theme="dark"] .alert-warning i {
    color: #fde68a !important;
}

[data-theme="dark"] .alert-warning .text-warning {
    color: #fde68a !important;
}

[data-theme="dark"] .alert-warning p,
[data-theme="dark"] .alert-warning span,
[data-theme="dark"] .alert-warning div {
    color: #fcd34d !important;
}

/* Botones bloqueados */
.btn[disabled] {
    opacity: 0.6 !important;
}

/* Spinner en alertas de advertencia */
[data-theme="dark"] .alert-warning .spinner-border {
    border-color: #fde68a !important;
    border-right-color: transparent !important;
}

/* Asegurar que todos los textos en alertas sean legibles */
.alert-warning * {
    color: inherit !important;
}

[data-theme="dark"] .alert-warning * {
    color: #fcd34d !important;
}

/* Excepciones para elementos con colores específicos */
.alert-warning .badge,
.alert-warning .btn {
    color: inherit !important;
}
