/* ==========================================================
   CASA MARTÍNEZ - Estilos personalizados
   Paleta (materiales de construcción):
     Primario (terracota/ladrillo): #C1541E
     Acento (ámbar):                #E8A33D
     Sidebar/oscuro (charcoal):     #1C1712
   Base de menú colapsable y modo oscuro: proyecto sistema_sitaeapp
   ========================================================== */

:root{
    --bg:         #FFFFFF;
    --text:       #2B2621;
    --primary:    #C1541E;
    --primary-d:  #9C4116;
    --secondary:  #8B8074;
    --accent:     #E8A33D;
    --accent-d:   #C98620;
    --dark:       #211D19;
    --border:     #E9DFD3;
    --light:      #FAF6F1;
    --card-bg:    #FFFFFF;
    --sidebar-bg: #1C1712;
    --sidebar-w:  260px;
    --sidebar-wc: 76px;
    --topbar-h:   64px;
}

/* ══════════════════════════════════════════════════════════
   MODO OSCURO
   El sidebar y la pantalla de login ya son oscuros por diseño
   en ambos modos, así que no se tocan aquí.
   ══════════════════════════════════════════════════════════ */
:root[data-theme="dark"]{
    --bg:         #14100C;
    --text:       #E7DCCF;
    --primary:    #E2803D;
    --primary-d:  #EF9557;
    --secondary:  #A99C8C;
    --accent:     #F0BE5D;
    --accent-d:   #F5CD7E;
    --dark:       #F2E9DE;
    --border:     #3A3025;
    --light:      #1D1712;
    --card-bg:    #1E1812;
}

*{ box-sizing:border-box; }

html, body{
    background: var(--bg);
    color: var(--text);
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;
    font-size: 14px;
    transition: background-color .2s ease, color .2s ease;
}

a{ color: var(--primary); text-decoration:none; }
a:hover{ color: var(--primary-d); }

/* Bootstrap overrides */
.btn-primary{ background: var(--primary); border-color: var(--primary); }
.btn-primary:hover, .btn-primary:focus{ background: var(--primary-d); border-color: var(--primary-d); }
.btn-outline-primary{ color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover{ background: var(--primary); border-color: var(--primary); }
.text-primary{ color: var(--primary) !important; }
.bg-primary{ background-color: var(--primary) !important; }

.card, .table-responsive, .form-control, .form-select{
    box-shadow: none !important;
}
.card{ background: var(--card-bg); border:1px solid var(--border); border-radius: 8px; }
.form-control, .form-select{
    border:1px solid var(--border);
    border-radius: 6px;
}
.form-control:focus, .form-select:focus{
    border-color: var(--primary);
    box-shadow: 0 0 0 .15rem rgba(193,84,30,.18);
}

/* ==================== LAYOUT ==================== */
.layout{ display:flex; min-height:100vh; }

/* ==================== SIDEBAR ==================== */
.sidebar{
    width: var(--sidebar-w);
    background: var(--sidebar-bg);
    color: #cfc6ba;
    display:flex;
    flex-direction: column;
    position: fixed; top:0; bottom:0; left:0;
    transition: width .25s ease, transform .25s ease;
    z-index: 1040;
    overflow: hidden;
}

/* Colapsado — escritorio */
.sidebar.collapsed{ width: var(--sidebar-wc); }
.sidebar.collapsed .sidebar-text,
.sidebar.collapsed .chev,
.sidebar.collapsed .user-details{ display:none; }
.sidebar.collapsed .sidebar-header{ justify-content:center; padding:.85rem .5rem; }
.sidebar.collapsed .logo-full{ display:none; }
.sidebar.collapsed .logo-icon{ display:block; }
.sidebar.collapsed .nav-link-main,
.sidebar.collapsed .nav-group-toggle,
.sidebar.collapsed .nav-link-sub{ justify-content:center; padding-left:0; padding-right:0; }
.sidebar.collapsed .user-info{ justify-content:center; padding:.4rem 0; }
.sidebar.collapsed .sidebar-footer-actions{ flex-direction:column; align-items:center; gap:.3rem; }
.sidebar.collapsed .sidebar-footer-actions .btn{
    flex:none; width:36px; height:36px; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
}

.sidebar-header{
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(193,84,30,.25);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    min-height: 96px;
}
.sidebar-logo-wrap{ display:flex; align-items:center; min-width:0; }
.logo-full{ width: 170px; height:auto; display:block; filter: brightness(0) invert(1); }
.logo-icon{ width: 40px; height:auto; display:none; filter: brightness(0) invert(1); }

.sidebar-nav{ flex:1; overflow-y:auto; padding: .5rem 0; }
.sidebar-nav::-webkit-scrollbar{ width:4px; }
.sidebar-nav::-webkit-scrollbar-thumb{ background: rgba(232,163,61,.35); border-radius:2px; }

.nav-link-main{
    display:flex; align-items:center; gap:.6rem;
    padding: .65rem 1.1rem;
    color: #cfc6ba;
    border-left: 3px solid transparent;
    font-size: .92rem;
    white-space: nowrap;
}
.nav-link-main:hover, .nav-link-main.active{
    color:#fff;
    background: rgba(193,84,30,.22);
    border-left-color: var(--accent);
}
.nav-group-toggle{
    width: 100%;
    background: transparent;
    border: none;
    text-align:left;
    color:#cfc6ba;
    padding: .65rem 1.1rem;
    display:flex; align-items:center; gap:.6rem;
    font-size: .92rem;
    border-left: 3px solid transparent;
    cursor: pointer;
    white-space: nowrap;
}
.nav-group-toggle:hover{
    color:#fff; background: rgba(193,84,30,.22);
    border-left-color: var(--accent);
}
.nav-group-toggle .chev{ margin-left:auto; transition: transform .2s; font-size:.75rem; }
.nav-group-toggle[aria-expanded="true"] .chev{ transform: rotate(180deg); }
.nav-group-toggle[aria-expanded="true"]{ color:#fff; border-left-color: var(--primary); }

.nav-group-items{ background: rgba(0,0,0,.25); }
.nav-link-sub{
    display:flex; align-items:center; gap:.55rem;
    padding: .55rem 1.1rem .55rem 2.4rem;
    color:#c4ab97; font-size:.88rem;
    border-left: 3px solid transparent;
    white-space: nowrap;
}
.nav-link-sub:hover{
    background: rgba(193,84,30,.3); color:#fff;
    border-left-color: var(--accent);
}
.nav-link-sub.active{
    background: rgba(232,163,61,.18); color:#fff;
    border-left-color: var(--accent);
    font-weight: 600;
}

.sidebar-footer{
    padding: .9rem 1.1rem;
    border-top: 1px solid rgba(193,84,30,.25);
    flex-shrink: 0;
}
.user-info{ display:flex; gap:.6rem; align-items:center; color:#cfc6ba; padding:.4rem; border-radius:6px; text-decoration:none; }
.user-info:hover{ background: rgba(193,84,30,.22); color:#fff; }
.user-info img{ flex-shrink:0; }
.user-details .u-name{ font-weight:600; font-size:.9rem; color:#fff; line-height:1.2; }
.user-details .u-rol{ font-size:.75rem; color:#a89a89; }

.sidebar-footer-actions{ display:flex; gap:.4rem; margin-top:.6rem; }
.sidebar-footer-actions .btn{ font-size:.78rem; flex:1; }

.btn-close-sidebar{
    background: transparent; border:0; color:#cfc6ba; font-size:1.1rem;
    flex-shrink: 0;
}

/* ==================== MAIN ==================== */
.main-wrapper{
    flex:1;
    min-width: 0;
    margin-left: var(--sidebar-w);
    min-height: 100vh;
    display:flex; flex-direction:column;
    background: var(--light);
    transition: margin-left .25s ease;
}
.main-wrapper.sidebar-collapsed{ margin-left: var(--sidebar-wc); }

.topbar{
    height: var(--topbar-h);
    background: var(--card-bg);
    border-bottom: 2px solid var(--border);
    display:flex; align-items:center;
    padding: 0 1.25rem; gap:.85rem;
    position: sticky; top:0; z-index: 1020;
}
.btn-toggle-sidebar{
    background: transparent;
    border:1px solid var(--border);
    width:38px; height:38px; border-radius:6px;
    color: var(--primary); font-size: 1.15rem;
    display:inline-flex; align-items:center; justify-content:center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background .15s, color .15s;
}
.btn-toggle-sidebar:hover{ background: var(--primary); color:#fff; border-color: var(--primary); }

.topbar-title{ font-weight: 600; color: var(--text); font-size: .95rem; flex:1; }
.topbar-user{ margin-left:auto; gap:.5rem; align-items:center; color: var(--secondary); flex-shrink:0; }
.topbar-user span{ font-size:.88rem; color: var(--text); font-weight:500; }

/* Switch de tema */
.theme-toggle{
    background: transparent;
    border: 1px solid var(--border);
    width: 38px; height: 38px; border-radius: 50%;
    color: var(--primary); font-size: 1.05rem;
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background .15s, color .15s, transform .15s;
}
.theme-toggle:hover{ background: var(--primary); color:#fff; border-color: var(--primary); }
.theme-toggle:active{ transform: scale(.9); }

.content{
    flex:1;
    padding: 1.5rem;
}
.footer{
    border-top:1px solid var(--border);
    padding: .8rem 1.5rem;
    color: var(--secondary);
    background: var(--card-bg);
    text-align:center;
    font-size: .78rem;
}

/* ==================== DASHBOARD ==================== */

/* Accesos rápidos */
.quick-actions{
    display:flex; flex-wrap:wrap; gap:.6rem;
}
.quick-action-btn{
    display:inline-flex; align-items:center; gap:.5rem;
    padding:.6rem 1.1rem;
    background: var(--card-bg);
    border:1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    font-weight:600; font-size:.88rem;
    transition: border-color .15s, color .15s, transform .15s, box-shadow .15s;
}
.quick-action-btn i{ color: var(--primary); font-size:1rem; }
.quick-action-btn:hover{
    color: var(--primary); border-color: var(--primary);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(193,84,30,.15);
}

/* Tarjetas de estadística */
.stat-card{
    background: var(--card-bg);
    border:1px solid var(--border);
    border-radius: 10px;
    padding: 1rem 1.1rem;
    height: 100%;
    display:flex; align-items:center; gap:.85rem;
    transition: box-shadow .15s, transform .15s;
}
.stat-card:hover{ box-shadow: 0 6px 20px rgba(0,0,0,.06); transform: translateY(-2px); }
.stat-icon{
    flex-shrink:0;
    width:48px; height:48px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:1.3rem;
}
.stat-icon-primary  { background: rgba(193,84,30,.12); color: var(--primary); }
.stat-icon-accent   { background: rgba(232,163,61,.18); color: var(--accent-d); }
.stat-icon-secondary{ background: rgba(139,128,116,.15); color: var(--secondary); }
.stat-icon-dark     { background: rgba(33,29,25,.1); color: var(--dark); }
[data-theme="dark"] .stat-icon-dark{ background: rgba(242,233,222,.1); }
.stat-label{ font-size:.78rem; color: var(--secondary); }
.stat-value{ font-size:1.5rem; font-weight:700; color: var(--text); line-height:1.2; }

/* Tarjetas métricas (ventas/compras del mes) */
.metric-card{
    background: var(--card-bg);
    border:1px solid var(--border);
    border-radius: 10px;
    padding: 1.1rem 1.25rem;
    height:100%;
    display:flex; align-items:center; gap:1rem;
    position: relative;
    overflow: hidden;
}
.metric-card::before{
    content:''; position:absolute; inset:0 0 auto 0; height:4px;
}
.metric-card-primary::before{ background: linear-gradient(90deg, var(--primary), var(--primary-d)); }
.metric-card-accent::before { background: linear-gradient(90deg, var(--accent), var(--accent-d)); }
.metric-card-icon{
    flex-shrink:0;
    width:56px; height:56px; border-radius:12px;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:1.6rem;
}
.metric-card-primary .metric-card-icon{ background: rgba(193,84,30,.12); color: var(--primary); }
.metric-card-accent .metric-card-icon { background: rgba(232,163,61,.18); color: var(--accent-d); }
.metric-card-body{ flex:1; min-width:0; }
.metric-value{ font-size:1.7rem; font-weight:700; color: var(--text); line-height:1.25; }
.metric-sub{ font-size:.78rem; color: var(--secondary); }
.metric-card-link{
    flex-shrink:0;
    width:34px; height:34px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    color: var(--secondary); border:1px solid var(--border);
    transition: background .15s, color .15s, border-color .15s;
}
.metric-card-link:hover{ background: var(--primary); border-color: var(--primary); color:#fff; }

/* Lista de stock bajo */
.low-stock-list{ list-style:none; margin:0; padding:0; }
.low-stock-item{
    display:flex; justify-content:space-between; align-items:center; gap:.75rem;
    padding:.7rem 1.1rem;
    border-bottom:1px solid var(--border);
}
.low-stock-item:last-child{ border-bottom:none; }
.ls-desc{ font-size:.88rem; font-weight:600; color: var(--text); }
.ls-clave{ font-size:.76rem; color: var(--secondary); }
.ls-cant{ font-size:.85rem; white-space:nowrap; text-align:right; }

/* Vista de bienvenida (usuario no-admin) */
.welcome-wrap{
    display:flex; align-items:center; justify-content:center;
    min-height: calc(100vh - var(--topbar-h) - 3rem - 48px);
    padding: 2rem 1rem;
}
.welcome-card{
    width:100%; max-width:480px;
    background: var(--card-bg);
    border:1px solid var(--border);
    border-radius: 14px;
    padding: 2.5rem 2rem;
    text-align:center;
    box-shadow: 0 8px 32px rgba(0,0,0,.05);
}
.welcome-avatar-ring{
    width:120px; height:120px; margin:0 auto 1.2rem;
    border-radius:50%;
    padding:4px;
    background: linear-gradient(135deg, var(--primary), var(--accent));
}
.welcome-avatar{
    width:100%; height:100%; object-fit:cover; border-radius:50%;
    border:3px solid var(--card-bg);
    display:block;
}
.welcome-saludo{ font-size:1.4rem; font-weight:700; color: var(--primary); margin:0; }
.welcome-nombre{ font-size:1.1rem; font-weight:600; color: var(--text); margin:.15rem 0 0; }
.welcome-sub{ font-size:.88rem; color: var(--secondary); margin:.3rem 0 0; }
.welcome-actions{
    display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center;
    margin-top:1.6rem;
}
.welcome-hint{ font-size:.78rem; color: var(--secondary); margin:1.5rem 0 0; }

@media (max-width: 575.98px){
    .metric-card{ flex-wrap:wrap; }
    .metric-card-link{ display:none; }
}

/* ==================== UTILIDADES ==================== */
.page-header{
    display:flex; flex-wrap: wrap; gap:.6rem;
    justify-content: space-between; align-items: center;
    margin-bottom: 1.2rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--border);
}
.page-header h1{
    font-size: 1.3rem; margin:0; color: var(--text); font-weight: 600;
}

.table thead th{
    background: var(--light);
    color: var(--text);
    font-weight: 600;
    border-bottom: 2px solid var(--border);
}
.table td, .table th{ vertical-align: middle; }

.badge-rol-admin{ background: var(--primary); }
.badge-rol-user{ background: var(--secondary); }

.badge-grupo{
    background-color: #FEF3E5;
    color: #8A4A0F;
    border: 1px solid #F0C48A;
    font-weight: 500;
}

/* ==================== AUTH ==================== */
.auth-body{
    background: var(--sidebar-bg);
    background-image: radial-gradient(ellipse at 30% 60%, rgba(193,84,30,.25) 0%, transparent 60%),
                      radial-gradient(ellipse at 80% 20%, rgba(232,163,61,.10) 0%, transparent 50%);
    min-height: 100vh;
    display:flex; align-items:center; justify-content:center;
    padding: 1.5rem;
}
.auth-container{
    width: 100%; max-width: 440px;
    background: #fff;
    border-radius: 14px;
    padding: 2.4rem 2.1rem 2.1rem;
    box-shadow: 0 8px 40px rgba(0,0,0,.35);
}
.auth-accent-bar{
    height: 4px;
    background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
    border-radius: 14px 14px 0 0;
    margin: -2.4rem -2.1rem 1.6rem;
}
.auth-brand{ text-align:center; margin-bottom: .75rem; }
.auth-logo{ width: 100%; max-width: 280px; height:auto; margin: 0 auto .9rem; display:block; }
.auth-icon-wrap{ margin-bottom:.5rem; }
.auth-icon{ font-size: 3rem; color: var(--primary); }
.auth-empresa-nombre{ font-size: 1.3rem; font-weight:700; color: var(--dark); margin:.2rem 0; line-height:1.25; }
.auth-slogan{ font-size:.85rem; color: var(--secondary); margin-bottom:0; }
.auth-divider{ border-top: 2px solid rgba(193,84,30,.15); margin: 1rem 0; }
.auth-subtitle{ text-align:center; color: var(--secondary); font-size:.88rem; margin-bottom: 1.2rem; }
.auth-input-icon{ background: var(--light); color: var(--primary); border-right: none; }
.btn-login{
    background: var(--primary); border-color: var(--primary);
    font-weight:600; letter-spacing:.03em; padding:.65rem; font-size:1rem;
    border-radius: 8px; transition: filter .2s;
}
.btn-login:hover{ filter: brightness(1.08); background: var(--primary); border-color: var(--primary); }
.auth-link{ color: var(--primary); text-decoration:none; font-size:.88rem; }
.auth-link:hover{ text-decoration: underline; }
.auth-contacto{
    margin-top: 1rem; text-align:center; font-size:.8rem; color: var(--secondary);
    border-top: 1px solid var(--border); padding-top:.8rem;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 991.98px){
    .sidebar{
        transform: translateX(-100%);
        width: var(--sidebar-w) !important;
    }
    .sidebar.open{ transform: translateX(0); }
    .sidebar.collapsed{ width: var(--sidebar-w) !important; transform: translateX(-100%); }
    .sidebar.collapsed.open{ transform: translateX(0); }
    .main-wrapper, .main-wrapper.sidebar-collapsed{ margin-left:0; }
    .sidebar-overlay{
        position:fixed; inset:0; background: rgba(0,0,0,.5);
        z-index: 1030; display:none;
    }
    .sidebar-overlay.open{ display:block; }
    .topbar-title{ display:none; }
}

/* ==================== TABLE MANAGER ==================== */
.dt-toolbar{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1rem .75rem;
    border-bottom: 1px solid var(--border);
    background: var(--card-bg);
}
.dt-search-wrap{
    position: relative;
    flex: 1;
    min-width: 180px;
    max-width: 280px;
}
.dt-search-icon{
    position: absolute;
    left: .65rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--secondary);
    pointer-events: none;
    font-size: .82rem;
}
.dt-search-wrap .dt-search{
    padding-left: 2rem;
}
.dt-filters-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}
.dt-filter-sel{
    min-width: 150px;
}
.dt-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .7rem 1rem;
    border-top: 1px solid var(--border);
    background: var(--card-bg);
    border-radius: 0 0 8px 8px;
}
.dt-info{
    font-size: .82rem;
    color: var(--secondary);
}
.dt-pagination{
    display: flex;
    align-items: center;
    gap: .2rem;
}
.dt-page-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    padding: 0 .45rem;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--card-bg);
    color: var(--text);
    font-size: .82rem;
    cursor: pointer;
    line-height: 1;
    transition: background .15s, color .15s, border-color .15s;
}
.dt-page-btn:hover:not(.disabled):not(.active){
    background: var(--light);
    border-color: var(--primary);
    color: var(--primary);
}
.dt-page-btn.active{
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    cursor: default;
    font-weight: 600;
}
.dt-page-btn.disabled{
    opacity: .35;
    cursor: default;
}
.dt-page-dots{
    color: var(--secondary);
    font-size: .82rem;
    padding: 0 .1rem;
    line-height: 30px;
}
.dt-sort-icon{
    display: inline-flex;
    align-items: center;
    margin-left: .3rem;
    font-size: .68rem;
    opacity: .35;
    vertical-align: middle;
    transition: opacity .15s, color .15s;
}
.dt-sort-icon.active{
    opacity: 1;
    color: var(--primary);
}
thead th:hover .dt-sort-icon{ opacity: .7; }
@media (max-width: 575.98px){
    .dt-toolbar{ flex-direction: column; align-items: stretch; }
    .dt-search-wrap{ max-width: 100%; }
    .dt-footer{ flex-direction: column; align-items: flex-start; }
    .dt-pagination{ flex-wrap: wrap; }
}

/* ══════════════════════════════════════════════════════════
   MODO OSCURO — overrides de Bootstrap / SweetAlert2
   ══════════════════════════════════════════════════════════ */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select{
    background-color: var(--card-bg);
    color: var(--text);
    border-color: var(--border);
}
[data-theme="dark"] .form-control::placeholder{ color: var(--secondary); opacity: 1; }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus{ background-color: var(--card-bg); color: var(--text); }
[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-select:disabled{ background-color: var(--light); color: var(--secondary); }
[data-theme="dark"] .input-group-text{ background: var(--light); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .form-label{ color: var(--text); }
[data-theme="dark"] .form-check-input{ background-color: var(--card-bg); border-color: var(--border); }
[data-theme="dark"] .form-text{ color: var(--secondary); }
[data-theme="dark"] .btn-outline-secondary{ color: var(--secondary); border-color: var(--border); }
[data-theme="dark"] .btn-outline-secondary:hover{ background: var(--secondary); border-color: var(--secondary); color: var(--bg); }
[data-theme="dark"] .btn-close{ filter: invert(1) grayscale(100%) brightness(200%); }
[data-theme="dark"] .table{ color: var(--text); border-color: var(--border); }
[data-theme="dark"] .table > :not(caption) > * > *{ background-color: transparent; color: var(--text); border-bottom-color: var(--border); box-shadow: none; }
[data-theme="dark"] .table-hover > tbody > tr:hover > *{ background-color: rgba(226,128,61,.1); }
[data-theme="dark"] .table thead th{ background: var(--light); color: var(--text); border-bottom-color: var(--border); }
[data-theme="dark"] .dropdown-menu{ background-color: var(--card-bg); border-color: var(--border); }
[data-theme="dark"] .dropdown-item{ color: var(--text); }
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus{ background-color: var(--light); color: var(--text); }
[data-theme="dark"] .dropdown-divider{ border-color: var(--border); }
[data-theme="dark"] .modal-content{ background-color: var(--card-bg); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer{ border-color: var(--border); }
[data-theme="dark"] .alert-info{ background-color: rgba(226,128,61,.15); color: var(--text); border-color: var(--border); }
[data-theme="dark"] .bg-info-subtle{ background-color: rgba(226,128,61,.18) !important; }
[data-theme="dark"] .badge.bg-light{ background-color: var(--light) !important; color: var(--text) !important; }
[data-theme="dark"] .bg-white{ background-color: var(--card-bg) !important; }
[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer{ background-color: var(--light); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .text-muted{ color: var(--secondary) !important; }
[data-theme="dark"] .list-group-item{ background-color: var(--card-bg); border-color: var(--border); color: var(--text); }
[data-theme="dark"] hr{ border-color: var(--border); opacity: .5; }
[data-theme="dark"] .swal2-popup{ background: var(--card-bg); color: var(--text); }
[data-theme="dark"] .swal2-html-container,
[data-theme="dark"] .swal2-title{ color: var(--text); }
