/* ==========================================
   1. FONDO TAILWIND ZINC (Ultra Dark)
   ========================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

body {
    background-color: #09090b !important; /* Tailwind Zinc 950 */
    background-image: 
        radial-gradient(circle at 15% 50%, rgba(99, 102, 241, 0.04) 0%, transparent 40%),
        radial-gradient(circle at 85% 30%, rgba(255, 194, 0, 0.04) 0%, transparent 40%) !important;
    background-attachment: fixed;
    color: #e4e4e7 !important; /* Zinc 200 */
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* ==========================================
   2. PANELES PREMIUM (Bordes finos y Glass sutil)
   ========================================== */
.card, .bg-white, .bg-light, .glass-panel {
    background: #18181b !important; /* Zinc 900 */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.5) !important;
    border-radius: 12px !important;
    color: #f4f4f5 !important;
}

.card-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.3px;
    padding: 12px 16px !important;
}

/* ==========================================
   3. SIDEBAR MODERNO (Limpieza absoluta)
   ========================================== */
.sidebar {
    width: 260px;
    height: calc(100vh - 2rem);
    position: fixed;
    top: 1rem;
    left: 1rem;
    display: flex;
    flex-direction: column;
    z-index: 1000;
    border-radius: 16px !important;
    background: rgba(9, 9, 11, 0.6) !important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.sidebar-link {
    color: #a1a1aa; /* Zinc 400 */
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 4px;
    transition: all 0.2s ease;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
}

.sidebar-link i {
    font-size: 1.15rem; /* Iconos un poco más grandes */
}

.sidebar-link:hover, .sidebar-link.active {
    background: #27272a; /* Zinc 800 */
    color: #ffffff;
}

.sidebar-link.active {
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

.main-content {
    margin-left: 290px;
    padding: 1rem 1rem 1rem 0;
    min-height: 100vh;
}

/* ==========================================
   4. INPUTS ESTILO STRIPE / TAILWIND
   ========================================== */
.form-control, .form-select, .input-group-text {
    background-color: #09090b !important; 
    border: 1px solid #3f3f46 !important; /* Zinc 700 */
    color: #f4f4f5 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease;
    font-size: 0.85rem !important;
    padding: 8px 12px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}

.input-group-text {
    background-color: #18181b !important;
    color: #a1a1aa !important;
    font-weight: 500;
}

.form-control:hover, .form-select:hover {
    border-color: #52525b !important; 
}

/* El famoso "Focus Ring" de Tailwind */
.form-control:focus, .form-select:focus {
    box-shadow: 0 0 0 2px #09090b, 0 0 0 4px rgba(99, 102, 241, 0.4) !important; 
    border-color: #6366f1 !important; /* Indigo 500 */
    background-color: #09090b !important;
}

select option {
    background-color: #18181b !important; 
    color: #e4e4e7 !important; 
    padding: 10px;
}

/* Switches (Botones de check) estilo iOS/Tailwind */
.form-check-input {
    background-color: #3f3f46 !important;
    border-color: #3f3f46 !important;
}
.form-check-input:checked {
    background-color: #6366f1 !important;
    border-color: #6366f1 !important;
}

/* ==========================================
   5. BOTONES MODERNOS
   ========================================== */
.btn {
    border-radius: 8px !important;
    font-weight: 500 !important;
    letter-spacing: 0.2px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    transition: all 0.2s ease;
}

.btn-primary {
    background: linear-gradient(180deg, #6366f1 0%, #4f46e5 100%) !important;
    border: 1px solid #4338ca !important;
    color: white !important;
}
.btn-primary:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

/* ==========================================
   6. SCROLLBAR INVISIBLE
   ========================================== */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #3f3f46; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #52525b; }
/* ==========================================
   7. BOTONES DE ACCIÓN (Tablas y Formularios)
   ========================================== */
.btn-outline-info, .btn-outline-primary, .btn-outline-warning, .btn-outline-danger, .btn-outline-success {
    background: rgba(24, 24, 27, 0.5) !important; /* Fondo zinc semitransparente */
    backdrop-filter: blur(4px);
    border-width: 1px !important;
    transition: all 0.2s ease;
}

.btn-outline-info { border-color: rgba(255, 194, 0, 0.4) !important; color: #fde68a !important; }
.btn-outline-info:hover { background: rgba(255, 194, 0, 0.15) !important; border-color: #ffc200 !important; }

.btn-outline-danger { border-color: rgba(239, 68, 68, 0.4) !important; color: #f87171 !important; }
.btn-outline-danger:hover { background: rgba(239, 68, 68, 0.15) !important; border-color: #ef4444 !important; }

.btn-outline-warning { border-color: rgba(245, 158, 11, 0.4) !important; color: #fbbf24 !important; }
.btn-outline-warning:hover { background: rgba(245, 158, 11, 0.15) !important; border-color: #f59e0b !important; }

.btn-outline-primary { border-color: rgba(99, 102, 241, 0.4) !important; color: #818cf8 !important; }
.btn-outline-primary:hover { background: rgba(99, 102, 241, 0.15) !important; border-color: #6366f1 !important; }
/* ==========================================
   8. CORRECCIÓN DEFINITIVA: RADIOS NOTORIOS
   ========================================== */

/* Estilo base: ambos botones opacos y sin fondo */
.btn-check + .btn-outline-success, 
.btn-check + .btn-outline-warning {
    background-color: transparent !important;
    opacity: 0.4; /* Muy opaco para que se note que NO está seleccionado */
    border-width: 2px !important;
    transition: all 0.3s ease;
    color: #a1a1aa !important; /* Texto gris por defecto */
}

/* --- CUANDO SE SELECCIONA "LO ENTREGUÉ" --- */
#dest_entregado:checked + .btn-outline-success {
    background-color: #22c55e !important; /* Verde sólido vibrante */
    color: #052e16 !important; /* Texto negro/verde oscuro para contraste */
    opacity: 1 !important; /* Brillo total */
    border-color: #22c55e !important;
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.5) !important; /* Resplandor neón */
    transform: scale(1.02); /* Crece un poquito */
}

/* --- CUANDO SE SELECCIONA "EN TIENDA" --- */
#dest_caja:checked + .btn-outline-warning {
    background-color: #fbbf24 !important; /* Amarillo/Ámbar sólido */
    color: #451a03 !important; /* Texto negro/marrón oscuro */
    opacity: 1 !important; /* Brillo total */
    border-color: #fbbf24 !important;
    box-shadow: 0 0 20px rgba(251, 191, 36, 0.5) !important; /* Resplandor neón */
    transform: scale(1.02); /* Crece un poquito */
}

/* Iconos dentro de los botones seleccionados */
.btn-check:checked + label i {
    color: inherit !important;
}
.popover {
    background: #18181b !important;
    border: 1px solid rgba(255, 194, 0, 0.4) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.8);
    border-radius: 8px;
}
.popover-body {
    color: #e4e4e7 !important;
    font-size: 0.85rem;
    line-height: 1.6;
    padding: 12px;
    background: #18181b !important;
}
.popover .popover-arrow::after {
    border-bottom-color: #18181b !important;
}

/* ==========================================
    9. MODO CLARO (data-bs-theme="light")
   ========================================== */
[data-bs-theme="light"] body {
    background-color: #f0f4f8 !important;
    background-image: none !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .card,
[data-bs-theme="light"] .bg-white,
[data-bs-theme="light"] .bg-light,
[data-bs-theme="light"] .glass-panel {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .card-header {
    border-bottom-color: #e2e8f0 !important;
    color: #1e293b !important;
}

/* Sidebar en modo claro: fondo corporativo Bitel */
[data-bs-theme="light"] .sidebar {
    background: rgba(0, 53, 128, 0.95) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.1) !important;
}

[data-bs-theme="light"] .sidebar-link {
    color: rgba(255,255,255,0.75);
}
[data-bs-theme="light"] .sidebar-link:hover,
[data-bs-theme="light"] .sidebar-link.active {
    background: rgba(255,255,255,0.15);
    color: #ffffff;
}

[data-bs-theme="light"] .menu-section-title {
    color: rgba(255,255,255,0.9);
}

/* Textos fijos en blanco → oscuros en modo claro (fuera del sidebar) */
[data-bs-theme="light"] .text-white {
    color: #1e293b !important;
}

[data-bs-theme="light"] .text-light {
    color: #1e293b !important;
}

/* Sidebar: mantener textos blancos sobre fondo corporativo */
[data-bs-theme="light"] .sidebar .text-white,
[data-bs-theme="light"] .sidebar .text-light,
[data-bs-theme="light"] .sidebar h6.text-white,
[data-bs-theme="light"] .sidebar .menu-section-title,
[data-bs-theme="light"] .sidebar .text-muted {
    color: #ffffff !important;
}

[data-bs-theme="light"] .sidebar .text-muted {
    color: rgba(255,255,255,0.6) !important;
}

/* Inputs en modo claro */
[data-bs-theme="light"] .form-control,
[data-bs-theme="light"] .form-select,
[data-bs-theme="light"] .input-group-text {
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}

[data-bs-theme="light"] .form-control:focus,
[data-bs-theme="light"] .form-select:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgba(99, 102, 241, 0.4) !important;
    border-color: #6366f1 !important;
}

[data-bs-theme="light"] select option {
    background-color: #ffffff !important;
    color: #1e293b !important;
}

/* Tablas en modo claro */
[data-bs-theme="light"] .table {
    --bs-table-bg: transparent;
    --bs-table-color: #1e293b;
    color: #1e293b;
}

[data-bs-theme="light"] .table thead th {
    color: #334155;
    font-weight: 600;
    border-bottom-color: #cbd5e1;
}

[data-bs-theme="light"] .table tbody td {
    color: #1e293b;
    border-color: #e2e8f0;
}

[data-bs-theme="light"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #f8fafc;
    color: #1e293b;
}

[data-bs-theme="light"] .table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: #f1f5f9;
    color: #1e293b;
}

[data-bs-theme="light"] .text-muted {
    color: #64748b !important;
}

/* Ajustes para botones outline en modo claro */
[data-bs-theme="light"] .btn-outline-info,
[data-bs-theme="light"] .btn-outline-primary,
[data-bs-theme="light"] .btn-outline-warning,
[data-bs-theme="light"] .btn-outline-danger,
[data-bs-theme="light"] .btn-outline-success {
    background: rgba(255,255,255,0.7) !important;
}

/* Botones primarios y secundarios en modo claro */
[data-bs-theme="light"] .btn-primary {
    background: linear-gradient(180deg, #6366f1 0%, #4f46e5 100%) !important;
    border-color: #4338ca !important;
    color: #ffffff !important;
}

[data-bs-theme="light"] .btn-secondary {
    background: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .btn-success {
    background: #22c55e !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}

[data-bs-theme="light"] .btn-warning {
    background: #f59e0b !important;
    border-color: #d97706 !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .btn-danger {
    background: #ef4444 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

[data-bs-theme="light"] .btn-info {
    background: #06b6d4 !important;
    border-color: #0891b2 !important;
    color: #ffffff !important;
}

/* Badges en modo claro */
[data-bs-theme="light"] .badge {
    color: #ffffff !important;
}

[data-bs-theme="light"] .badge.bg-light {
    color: #1e293b !important;
}

[data-bs-theme="light"] .badge.bg-warning {
    color: #1e293b !important;
}

/* Modales en modo claro */
[data-bs-theme="light"] .modal-content {
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .modal-header {
    border-bottom-color: #e2e8f0 !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .modal-footer {
    border-top-color: #e2e8f0 !important;
}

[data-bs-theme="light"] .modal-title {
    color: #1e293b !important;
}

/* Dropdowns en modo claro */
[data-bs-theme="light"] .dropdown-menu {
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .dropdown-item {
    color: #1e293b !important;
}

[data-bs-theme="light"] .dropdown-item:hover {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
}

/* Alertas en modo claro */
[data-bs-theme="light"] .alert-info {
    background-color: #e0f2fe !important;
    border-color: #bae6fd !important;
    color: #0c4a6e !important;
}

[data-bs-theme="light"] .alert-success {
    background-color: #dcfce7 !important;
    border-color: #bbf7d0 !important;
    color: #14532d !important;
}

[data-bs-theme="light"] .alert-warning {
    background-color: #fef3c7 !important;
    border-color: #fde68a !important;
    color: #78350f !important;
}

[data-bs-theme="light"] .alert-danger {
    background-color: #fee2e2 !important;
    border-color: #fecaca !important;
    color: #7f1d1d !important;
}

/* Navbar / Top bar en modo claro */
[data-bs-theme="light"] .navbar-light {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
}

[data-bs-theme="light"] .navbar-light .navbar-brand,
[data-bs-theme="light"] .navbar-light .nav-link {
    color: #1e293b !important;
}

/* Popover en modo claro */
[data-bs-theme="light"] .popover {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
}
[data-bs-theme="light"] .popover-body {
    background: #ffffff !important;
    color: #1e293b !important;
}
[data-bs-theme="light"] .popover .popover-arrow::after {
    border-bottom-color: #ffffff !important;
}

/* Scrollbar en modo claro */
[data-bs-theme="light"] ::-webkit-scrollbar-thumb {
    background: #94a3b8;
}
[data-bs-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* ==========================================
    10. TOGGLE SWITCH MODO CLARO/OSCURO
   ========================================== */
.theme-toggle-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.theme-toggle-checkbox {
    display: none;
}

.theme-toggle-label {
    position: relative;
    width: 48px;
    height: 26px;
    background: #3f3f46;
    border-radius: 26px;
    cursor: pointer;
    transition: background 0.3s ease;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,0.1);
}

.theme-toggle-label::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    background: #ffc200;
    border-radius: 50%;
    transition: transform 0.3s ease, background 0.3s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.theme-toggle-checkbox:checked + .theme-toggle-label {
    background: #6366f1;
    border-color: rgba(255,255,255,0.2);
}

.theme-toggle-checkbox:checked + .theme-toggle-label::after {
    transform: translateX(22px);
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.theme-toggle-icon {
    font-size: 1rem;
    transition: opacity 0.3s ease;
    user-select: none;
}

/* Modo claro: toggle en sidebar */
[data-bs-theme="light"] .theme-toggle-label {
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.3);
}

[data-bs-theme="light"] .theme-toggle-checkbox:checked + .theme-toggle-label {
    background: rgba(255,255,255,0.35);
}

/* ==========================================
    11. MODO CLARO: TABS, BOTONES FANTASMA Y DASHBOARD
   ========================================== */

/* --- .btn-light y .btn-outline-light: borde visible y texto oscuro --- */
[data-bs-theme="light"] .btn-light,
[data-bs-theme="light"] .btn-outline-light {
    border: 1px solid #cbd5e1 !important;
    color: #1e293b !important;
    background-color: #ffffff !important;
}

[data-bs-theme="light"] .btn-light:hover,
[data-bs-theme="light"] .btn-outline-light:hover {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

/* --- Tabs / Radios activos: fondo amarillo Bitel --- */
[data-bs-theme="light"] .nav-tabs .nav-link.active,
[data-bs-theme="light"] .nav-pills .nav-link.active,
[data-bs-theme="light"] .btn-check:checked + .btn,
[data-bs-theme="light"] .btn-check:checked + .btn-outline-success,
[data-bs-theme="light"] .btn-check:checked + .btn-outline-warning,
[data-bs-theme="light"] .btn-check:checked + .btn-outline-light,
[data-bs-theme="light"] .btn-check:checked + .btn-outline-primary,
[data-bs-theme="light"] .btn-check:checked + .btn-outline-info,
[data-bs-theme="light"] .btn-check:checked + .btn-outline-danger,
[data-bs-theme="light"] .btn.active,
[data-bs-theme="light"] .list-group-item.active {
    background-color: #ffc200 !important;
    border-color: #ffc200 !important;
    color: #1e293b !important;
    font-weight: 700 !important;
}

/* --- Botones del Dashboard (Usuarios, Tiendas, etc.) --- */
[data-bs-theme="light"] .btn-outline-warning.shadow-sm {
    color: #1e293b !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
}

[data-bs-theme="light"] .btn-outline-warning.shadow-sm:hover {
    background-color: #ffc200 !important;
    border-color: #ffc200 !important;
    color: #1e293b !important;
}

/* Arreglo definitivo para el Hover de Tablas en Modo Claro */
[data-bs-theme="light"] .table-hover tbody tr:hover,
[data-bs-theme="light"] .table-hover tbody tr:hover td,
[data-bs-theme="light"] .table-hover tbody tr:hover th {
    background-color: #e2e8f0 !important;
    color: #1e293b !important;
}

/* Asegurar que los enlaces o textos específicos dentro de la fila sigan legibles */
[data-bs-theme="light"] .table-hover tbody tr:hover td * {
    color: #1e293b !important;
}

/* --- Asegurar que textos en badges y spans dentro de tablas sean visibles --- */
[data-bs-theme="light"] .table tbody td,
[data-bs-theme="light"] .table tbody td span,
[data-bs-theme="light"] .table tbody td small,
[data-bs-theme="light"] .table tbody td div {
    color: #1e293b !important;
}

/* --- Excepción: mantener badges con su color de fondo --- */
[data-bs-theme="light"] .badge.bg-primary,
[data-bs-theme="light"] .badge.bg-success,
[data-bs-theme="light"] .badge.bg-danger,
[data-bs-theme="light"] .badge.bg-info,
[data-bs-theme="light"] .badge.bg-dark,
[data-bs-theme="light"] .badge.bg-secondary {
    color: #ffffff !important;
}

[data-bs-theme="light"] .badge.bg-warning,
[data-bs-theme="light"] .badge.bg-light {
    color: #1e293b !important;
}

/* --- Nav-tabs específico: pestañas no activas visibles --- */
[data-bs-theme="light"] .nav-tabs .nav-link:not(.active) {
    color: #64748b !important;
    border: 1px solid #e2e8f0 !important;
}

[data-bs-theme="light"] .nav-tabs .nav-link:not(.active):hover {
    color: #1e293b !important;
    background-color: #f1f5f9 !important;
}

/* --- Asegurar que los botones de acción en tablas tengan contraste --- */
[data-bs-theme="light"] .btn-action-view,
[data-bs-theme="light"] .btn-action-excel,
[data-bs-theme="light"] .btn-action-delete,
[data-bs-theme="light"] .btn-action-edit {
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    background: #ffffff !important;
}

[data-bs-theme="light"] .btn-action-view:hover { background: rgba(6, 182, 212, 0.1) !important; border-color: #06b6d4 !important; color: #0891b2 !important; }
[data-bs-theme="light"] .btn-action-excel:hover { background: rgba(34, 197, 94, 0.1) !important; border-color: #22c55e !important; color: #16a34a !important; }
[data-bs-theme="light"] .btn-action-delete:hover { background: rgba(239, 68, 68, 0.1) !important; border-color: #ef4444 !important; color: #dc2626 !important; }
[data-bs-theme="light"] .btn-action-edit:hover:not([disabled]) { background: rgba(245, 158, 11, 0.1) !important; border-color: #f59e0b !important; color: #d97706 !important; }

/* --- Glass panel en modo claro: asegurar texto oscuro en hijos --- */
[data-bs-theme="light"] .glass-panel h1,
[data-bs-theme="light"] .glass-panel h2,
[data-bs-theme="light"] .glass-panel h3,
[data-bs-theme="light"] .glass-panel h4,
[data-bs-theme="light"] .glass-panel h5,
[data-bs-theme="light"] .glass-panel h6,
[data-bs-theme="light"] .glass-panel p,
[data-bs-theme="light"] .glass-panel span:not(.badge):not(.text-white),
[data-bs-theme="light"] .glass-panel label {
    color: #1e293b !important;
}

/* --- Excepciones para textos que DEBEN ser blancos (headers oscuros, etc.) --- */
[data-bs-theme="light"] .card-header.bg-dark,
[data-bs-theme="light"] .card-header.bg-dark h1,
[data-bs-theme="light"] .card-header.bg-dark h2,
[data-bs-theme="light"] .card-header.bg-dark h3,
[data-bs-theme="light"] .card-header.bg-dark h4,
[data-bs-theme="light"] .card-header.bg-dark h5,
[data-bs-theme="light"] .card-header.bg-dark h6,
[data-bs-theme="light"] .card-header.bg-dark span,
[data-bs-theme="light"] .card-header.bg-dark p,
[data-bs-theme="light"] .card-header.bg-dark small,
[data-bs-theme="light"] .card-header.bg-dark i {
    color: #ffffff !important;
}

/* --- Asegurar que los text-white/text-light en glass-panels no se vuelvan invisibles --- */
[data-bs-theme="light"] .glass-panel .text-white:not(.badge) {
    color: #1e293b !important;
}

/* ==========================================
   12. MODO CLARO: LIST-GROUP, TOTALES Y RESUMEN DE PAGO
   ========================================== */

/* --- List-group: fondo blanco, texto oscuro, bordes visibles --- */
[data-bs-theme="light"] .list-group {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
}

[data-bs-theme="light"] .list-group-item {
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
}

[data-bs-theme="light"] .list-group-item:hover {
    background-color: #f8fafc !important;
}

[data-bs-theme="light"] .list-group-item.active {
    background-color: #ffc200 !important;
    border-color: #ffc200 !important;
    color: #1e293b !important;
    font-weight: 700 !important;
}

[data-bs-theme="light"] .list-group-item .text-muted {
    color: #64748b !important;
}

/* --- Resumen para el pago / Totales: forzar texto oscuro legible --- */
[data-bs-theme="light"] .total-box,
[data-bs-theme="light"] .resumen-pago,
[data-bs-theme="light"] .summary-box,
[data-bs-theme="light"] [class*="resumen"],
[data-bs-theme="light"] [class*="total"] {
    color: #1e293b !important;
}

[data-bs-theme="light"] .total-box .label,
[data-bs-theme="light"] .total-box .amount,
[data-bs-theme="light"] .resumen-pago .label,
[data-bs-theme="light"] .resumen-pago .amount {
    color: #1e293b !important;
}

/* --- Excepción: total-box con fondo oscuro mantiene texto claro --- */
[data-bs-theme="light"] .total-box.bg-dark,
[data-bs-theme="light"] .total-box[style*="background:#09090b"],
[data-bs-theme="light"] .total-box[style*="background: #09090b"] {
    color: #ffffff !important;
}
[data-bs-theme="light"] .total-box.bg-dark .label,
[data-bs-theme="light"] .total-box.bg-dark .amount,
[data-bs-theme="light"] .total-box[style*="background:#09090b"] .label,
[data-bs-theme="light"] .total-box[style*="background:#09090b"] .amount {
    color: #ffffff !important;
}

/* --- Form labels: asegurar legibilidad --- */
[data-bs-theme="light"] .form-label {
    color: #334155 !important;
    font-weight: 600 !important;
}

[data-bs-theme="light"] .form-label.text-muted {
    color: #64748b !important;
}

/* --- Textos sueltos con clase text-info, text-success, etc. en modo claro --- */
[data-bs-theme="light"] .text-info:not(.sidebar .text-info):not(.badge) {
    color: #0891b2 !important;
}
[data-bs-theme="light"] .text-success:not(.sidebar .text-success):not(.badge) {
    color: #16a34a !important;
}
[data-bs-theme="light"] .text-warning:not(.sidebar .text-warning):not(.badge) {
    color: #b45309 !important;
}
[data-bs-theme="light"] .text-danger:not(.sidebar .text-danger):not(.badge) {
    color: #dc2626 !important;
}

/* --- Strong y énfasis en modo claro --- */
[data-bs-theme="light"] strong:not(.sidebar strong),
[data-bs-theme="light"] b:not(.sidebar b) {
    color: #0f172a !important;
}

/* --- Placeholder en inputs modo claro --- */
[data-bs-theme="light"] .form-control::placeholder,
[data-bs-theme="light"] .form-select::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

/* --- Asegurar que los h2, h4 con estilo inline color no pierdan legibilidad --- */
[data-bs-theme="light"] h2[style*="color"],
[data-bs-theme="light"] h4[style*="color"] {
    /* Solo aplica si el color inline es blanco o muy claro */
}
[data-bs-theme="light"] h2[style*="color:#fff"]:not(.sidebar h2),
[data-bs-theme="light"] h2[style*="color: #fff"]:not(.sidebar h2),
[data-bs-theme="light"] h2[style*="color:white"]:not(.sidebar h2),
[data-bs-theme="light"] h4[style*="color:#fff"]:not(.sidebar h4),
[data-bs-theme="light"] h4[style*="color: #fff"]:not(.sidebar h4),
[data-bs-theme="light"] h4[style*="color:white"]:not(.sidebar h4) {
    color: #1e293b !important;
}

/* --- Tablas con filas coloreadas (danger, warning) en modo claro --- */
[data-bs-theme="light"] .table .table-danger,
[data-bs-theme="light"] .table .bg-danger.bg-opacity-10 {
    background-color: rgba(239, 68, 68, 0.12) !important;
}
[data-bs-theme="light"] .table .table-danger td,
[data-bs-theme="light"] .table .bg-danger.bg-opacity-10 td {
    color: #7f1d1d !important;
}

/* ==========================================
   13. DOMAR EL HOVER DE BOOTSTRAP EN MODO CLARO (VARIABLES NATIVAS)
   ========================================== */
[data-bs-theme="light"] {
    --bs-table-hover-bg: #f1f5f9 !important;
    --bs-table-hover-color: #1e293b !important;
}

[data-bs-theme="light"] .table-hover > tbody > tr:hover > *,
[data-bs-theme="light"] .table-hover > tbody > tr:hover td,
[data-bs-theme="light"] .table-hover > tbody > tr:hover th {
    background-color: var(--bs-table-hover-bg) !important;
    color: var(--bs-table-hover-color) !important;
    box-shadow: inset 0 0 0 9999px var(--bs-table-hover-bg) !important;
}

/* Forzar que los enlaces o textos internos no se queden blancos */
[data-bs-theme="light"] .table-hover > tbody > tr:hover td * {
    color: #1e293b !important;
}

/* ==========================================
   14. PREMIUM MICRO-ANIMATIONS & UTILITIES
   ========================================== */

/* Acento amarillo en sidebar activo */
.sidebar-link.active {
    border-left: 3px solid #ffc200 !important;
    padding-left: 11px !important;
    background: linear-gradient(90deg, rgba(255,194,0,0.08) 0%, rgba(39,39,42,0.6) 100%) !important;
    color: #ffffff !important;
}
.sidebar-link:hover:not(.active) {
    border-left: 3px solid rgba(255,194,0,0.3);
    padding-left: 11px;
}

/* Glass panel hover lift */
.glass-panel {
    transition: box-shadow 0.25s ease, transform 0.2s ease;
}
.glass-panel:hover {
    box-shadow: 0 8px 32px -4px rgba(0,0,0,0.6) !important;
}

/* Table row left accent on hover */
.table-hover tbody tr {
    transition: background 0.15s ease;
    position: relative;
}

/* Shimmer loading skeleton */
@keyframes shimmer {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}
.skeleton {
    background: linear-gradient(90deg, #27272a 25%, #3f3f46 50%, #27272a 75%);
    background-size: 800px 100%;
    animation: shimmer 1.4s infinite linear;
    border-radius: 6px;
    color: transparent !important;
}

/* Badge glass utilities (reemplaza inline styles repetidos) */
.badge-glass-cyan {
    background: rgba(6,182,212,0.15) !important;
    border: 1px solid rgba(6,182,212,0.35) !important;
    color: #22d3ee !important;
    border-radius: 6px;
    font-weight: 600;
}
.badge-glass-amber {
    background: rgba(245,158,11,0.15) !important;
    border: 1px solid rgba(245,158,11,0.35) !important;
    color: #fbbf24 !important;
    border-radius: 6px;
    font-weight: 600;
}
.badge-glass-green {
    background: rgba(34,197,94,0.15) !important;
    border: 1px solid rgba(34,197,94,0.35) !important;
    color: #4ade80 !important;
    border-radius: 6px;
    font-weight: 600;
}
.badge-glass-red {
    background: rgba(239,68,68,0.15) !important;
    border: 1px solid rgba(239,68,68,0.35) !important;
    color: #f87171 !important;
    border-radius: 6px;
    font-weight: 600;
}
.badge-glass-purple {
    background: rgba(139,92,246,0.15) !important;
    border: 1px solid rgba(139,92,246,0.35) !important;
    color: #c4b5fd !important;
    border-radius: 6px;
    font-weight: 600;
}
.badge-glass-indigo {
    background: rgba(99,102,241,0.15) !important;
    border: 1px solid rgba(99,102,241,0.35) !important;
    color: #a5b4fc !important;
    border-radius: 6px;
    font-weight: 600;
}

/* Input focus: micro-scale + glow */
.form-control:focus, .form-select:focus {
    transform: none; /* evitar salto de layout */
}

/* Btn utilitarios glass */
.btn-glass-cyan {
    background: rgba(6,182,212,0.1) !important;
    border: 1px solid rgba(6,182,212,0.35) !important;
    color: #22d3ee !important;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-glass-cyan:hover { background: rgba(6,182,212,0.2) !important; color: #67e8f9 !important; }
.btn-glass-amber {
    background: rgba(245,158,11,0.1) !important;
    border: 1px solid rgba(245,158,11,0.35) !important;
    color: #fbbf24 !important;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-glass-amber:hover { background: rgba(245,158,11,0.2) !important; }
.btn-glass-green {
    background: rgba(34,197,94,0.1) !important;
    border: 1px solid rgba(34,197,94,0.35) !important;
    color: #4ade80 !important;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-glass-green:hover { background: rgba(34,197,94,0.2) !important; }
.btn-glass-red {
    background: rgba(239,68,68,0.1) !important;
    border: 1px solid rgba(239,68,68,0.35) !important;
    color: #f87171 !important;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-glass-red:hover { background: rgba(239,68,68,0.2) !important; }
.btn-glass-purple {
    background: rgba(139,92,246,0.1) !important;
    border: 1px solid rgba(139,92,246,0.35) !important;
    color: #c4b5fd !important;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.btn-glass-purple:hover { background: rgba(139,92,246,0.2) !important; }

/* Toast / Alert premium floating */
.alert-premium {
    border-radius: 12px !important;
    backdrop-filter: blur(12px);
    font-size: 0.875rem;
    padding: 12px 16px !important;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}

/* Divisor de sección en tablas */
.table-section-divider td {
    background: rgba(255,194,0,0.04) !important;
    color: #ffc200 !important;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 6px 12px !important;
    border-top: 1px solid rgba(255,194,0,0.15) !important;
}

/* Responsive: sidebar colapsable en pantallas pequeñas */
@media (max-width: 768px) {
    .sidebar {
        width: 100% !important;
        height: auto !important;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        border-radius: 0 !important;
        margin-bottom: 1rem;
    }
    .main-content {
        margin-left: 0 !important;
        padding: 0.75rem !important;
    }
}

/* Modo claro: badge-glass utilities */
[data-bs-theme="light"] .badge-glass-cyan  { background: rgba(6,182,212,0.1) !important;   color: #0891b2 !important;  border-color: rgba(6,182,212,0.3) !important; }
[data-bs-theme="light"] .badge-glass-amber { background: rgba(245,158,11,0.1) !important;  color: #b45309 !important;  border-color: rgba(245,158,11,0.3) !important; }
[data-bs-theme="light"] .badge-glass-green { background: rgba(34,197,94,0.1) !important;   color: #16a34a !important;  border-color: rgba(34,197,94,0.3) !important; }
[data-bs-theme="light"] .badge-glass-red   { background: rgba(239,68,68,0.1) !important;   color: #dc2626 !important;  border-color: rgba(239,68,68,0.3) !important; }
[data-bs-theme="light"] .badge-glass-purple{ background: rgba(139,92,246,0.1) !important;  color: #7c3aed !important;  border-color: rgba(139,92,246,0.3) !important; }
[data-bs-theme="light"] .badge-glass-indigo{ background: rgba(99,102,241,0.1) !important;  color: #4338ca !important;  border-color: rgba(99,102,241,0.3) !important; }

/* ── Badge uniforme para códigos de tienda ──────────────────────────── */
.badge-codigo-tienda {
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    font-size: 0.72rem;
    padding: 2px 7px;
    border-radius: 5px;
    letter-spacing: 0.5px;
    background: #1e293b;
    color: #e2e8f0;
    display: inline-block;
    white-space: nowrap;
}
[data-bs-theme="light"] .badge-codigo-tienda {
    background: #dde3ea;
    color: #1e293b;
}

/* ── Correcciones tema claro: inputs con color:white hardcodeado ─────── */
[data-bs-theme="light"] .modal-content input[type="text"],
[data-bs-theme="light"] .modal-content input[type="number"],
[data-bs-theme="light"] .modal-content input[type="password"],
[data-bs-theme="light"] .modal-content textarea,
[data-bs-theme="light"] .modal-content select {
    color: #1e293b !important;
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
}
[data-bs-theme="light"] .modal-content input::placeholder,
[data-bs-theme="light"] .modal-content textarea::placeholder {
    color: #94a3b8 !important;
}
[data-bs-theme="light"] #modalAuthTraslado .modal-content {
    background: #ffffff !important;
    border-color: rgba(99,102,241,.4) !important;
}
[data-bs-theme="light"] #modalAuthTraslado .modal-title { color: #4f46e5 !important; }
[data-bs-theme="light"] #modalAuthTraslado .modal-header .btn-close { filter: invert(1) brightness(0.3); }