/*
 * erp_sidebar_v4.css
 * ──────────────────
 * Ajusta automáticamente el tamaño del nombre de empresa en el sidebar de Jazzmin/AdminLTE.
 * El JS en erp_sidebar_v2.js calcula el font-size óptimo según la longitud del texto.
 *
 * Instalación:
 *   1. Copiar este archivo a: static/base/css/brand_text_fit.css
 *   2. Agregar en JAZZMIN_SETTINGS en settings.py:
 *        "custom_css": "base/css/brand_text_fit.css",
 *   3. Copiar brand_text_fit.js a: static/base/js/brand_text_fit.js
 *   4. Agregar en JAZZMIN_SETTINGS:
 *        "custom_js": "base/js/brand_text_fit.js",
 */

/* El antiguo control lateral duplicaba el botón superior de AdminLTE. */
.erp-sidebar-collapse {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   LAYOUT GLOBAL — Neutralizar padding de AdminLTE 4 (Jazzmin 3.x)
   En AdminLTE 4, .app-content > .container-fluid > .content tiene
   padding: 32px que genera espacio lateral excesivo en todas las vistas.
   ══════════════════════════════════════════════════════════════════ */

/* DIV.content (dentro de .app-content) tiene padding:32px en AdminLTE 4 */
.app-content .content {
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.erp-branch-menu {
    min-width: 240px;
    max-height: 360px;
    overflow-y: auto;
}

.erp-branch-option {
    display: flex;
    align-items: center;
    gap: .25rem;
}

.erp-branch-option.active,
.erp-branch-option:disabled {
    color: #0aa6b5 !important;
    background: rgba(10, 166, 181, .12) !important;
    opacity: 1;
    cursor: default;
}

html[data-erp-theme='dark'] .erp-branch-menu {
    color: var(--erp-dark-text);
    border-color: var(--erp-dark-border);
    background: var(--erp-dark-surface);
}

html[data-erp-theme='dark'] .erp-branch-menu .dropdown-header,
html[data-erp-theme='dark'] .erp-branch-menu .dropdown-item {
    color: var(--erp-dark-text);
}

/* El container-fluid dentro de .content también tiene padding lateral */
.app-content .content > .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Compatibilidad AdminLTE 3 (Jazzmin 2.x) */
.content-wrapper > .content {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* ── Asegurar que el content-wrapper ocupe todo el ancho disponible ──
   AdminLTE 3 aplica un width fijo via JS; esto lo sobreescribe para
   que el layout sea 100% responsivo al zoom y tamaño de ventana.
   ── */
.content-wrapper {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
}

/* El wrapper raíz también debe ocupar todo el ancho */
.wrapper {
    width: 100% !important;
    min-width: 0 !important;
}

/* ── Contenedor del brand-link ── */
.brand-link {
    overflow: hidden !important;
    white-space: nowrap !important;
}

/* ── Texto del nombre de empresa ── */
.brand-text {
    display: inline-block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 190px !important;   /* ancho máximo dentro del sidebar */
    vertical-align: middle !important;
    line-height: 1.2 !important;
    /* El font-size base se sobreescribe por JS según la longitud del texto */
    font-size: 1.15rem !important;
    transition: font-size 0.15s ease !important;
}

/* ══════════════════════════════════════════════════════════════════
   SIDEBAR ERP — navegación moderna, compacta y con tema claro/oscuro
   ══════════════════════════════════════════════════════════════════ */
:root {
    --erp-accent: #10b8c9;
    --erp-accent-soft: rgba(16, 184, 201, 0.14);
    --erp-sidebar-dark: #0d1420;
    --erp-sidebar-dark-2: #111b2a;
    --erp-sidebar-light: #ffffff;
    --erp-sidebar-border: rgba(148, 163, 184, 0.2);
    --erp-sidebar-width: 270px;
}

#jazzy-sidebar {
    width: var(--erp-sidebar-width) !important;
    background: linear-gradient(180deg, var(--erp-sidebar-dark) 0%, #0a111b 100%) !important;
    border-right: 1px solid rgba(148, 163, 184, 0.12);
    box-shadow: 8px 0 30px rgba(15, 23, 42, 0.12) !important;
    transition: width .22s ease, background .2s ease !important;
}

@media (min-width: 992px) {
    body:not(.sidebar-collapse) .content-wrapper,
    body:not(.sidebar-collapse) .main-header,
    body:not(.sidebar-collapse) .main-footer {
        margin-left: var(--erp-sidebar-width) !important;
    }
}

#jazzy-sidebar .brand-link {
    height: 68px;
    display: flex !important;
    align-items: center;
    padding: 12px 48px 12px 16px !important;
    border-bottom: 1px solid var(--erp-sidebar-border) !important;
    background: transparent !important;
}

#jazzy-sidebar .brand-image {
    width: 38px !important;
    height: 38px !important;
    max-height: 38px !important;
    margin: 0 12px 0 0 !important;
    padding: 5px;
    object-fit: contain;
    border: 1px solid rgba(16, 184, 201, .55);
    border-radius: 11px;
    background: rgba(16, 184, 201, .08);
    box-shadow: none !important;
}

#jazzy-sidebar .brand-text {
    max-width: 165px !important;
    color: #f8fafc;
    font-weight: 700 !important;
    letter-spacing: .01em;
}

#jazzy-sidebar .sidebar {
    height: calc(100vh - 68px) !important;
    display: flex;
    flex-direction: column;
    padding: 0 0 14px !important;
    overflow: hidden;
}

#jazzy-sidebar .user-panel {
    flex: 0 0 auto;
    align-items: center;
    margin: 14px 12px 8px !important;
    padding: 10px 8px 14px !important;
    border-bottom-color: var(--erp-sidebar-border) !important;
}

#jazzy-sidebar .user-panel .image {
    padding-left: 0;
}

#jazzy-sidebar .user-panel .user-profile,
#jazzy-sidebar .user-panel img {
    width: 34px;
    height: 34px;
    line-height: 34px;
    font-size: 29px;
    color: var(--erp-accent) !important;
    box-shadow: none !important;
}

#jazzy-sidebar .user-panel .info {
    min-width: 0;
    padding-left: 10px;
}

#jazzy-sidebar .user-panel .info a,
#jazzy-sidebar .user-panel .info span {
    overflow: hidden;
    color: #e5edf7 !important;
    font-size: .86rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#jazzy-sidebar nav.mt-2 {
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 0 !important;
    padding: 2px 0 12px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, .3) transparent;
}

#jazzy-sidebar .nav-header {
    margin: 15px 18px 5px;
    padding: 0 !important;
    color: #718096 !important;
    font-size: .64rem !important;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#jazzy-sidebar .nav-sidebar > .nav-item,
#jazzy-sidebar .nav-treeview > .nav-item {
    padding: 0 10px;
}

#jazzy-sidebar .nav-sidebar .nav-link {
    min-height: 42px;
    display: flex;
    align-items: center;
    margin: 2px 0 !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    color: #aebdce !important;
    font-size: .86rem;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}

#jazzy-sidebar .nav-sidebar .nav-link:hover {
    color: #f8fafc !important;
    background: rgba(148, 163, 184, .1) !important;
    transform: translateX(2px);
}

#jazzy-sidebar .nav-sidebar .nav-link.active,
#jazzy-sidebar .nav-sidebar .menu-open > .nav-link {
    color: #50d9e5 !important;
    background: var(--erp-accent-soft) !important;
    box-shadow: inset 3px 0 0 var(--erp-accent) !important;
}

#jazzy-sidebar .nav-sidebar .nav-icon {
    width: 22px !important;
    margin: 0 10px 0 0 !important;
    color: currentColor;
    font-size: .95rem !important;
    text-align: center;
}

#jazzy-sidebar .nav-sidebar p {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#jazzy-sidebar .nav-treeview {
    margin: 2px 0 6px;
}

#jazzy-sidebar .nav-treeview .nav-link {
    min-height: 38px;
    padding-left: 18px !important;
    font-size: .81rem;
}

#jazzy-sidebar .nav-link .right {
    top: auto !important;
    right: 12px;
    transition: transform .18s ease;
}

.erp-sidebar-footer {
    flex: 0 0 auto;
    margin: 0 12px;
    padding-top: 12px;
    border-top: 1px solid var(--erp-sidebar-border);
}

.erp-theme-toggle {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    color: #aebdce;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.erp-theme-toggle:hover {
    color: #f8fafc;
    background: rgba(148, 163, 184, .1);
}

.erp-theme-toggle > i {
    width: 22px;
    color: #f6c453;
    text-align: center;
}

.erp-theme-label {
    flex: 1;
    font-size: .82rem;
    font-weight: 600;
}

.erp-theme-switch {
    width: 34px;
    height: 19px;
    position: relative;
    border-radius: 999px;
    background: #465466;
    transition: background .18s ease;
}

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

html[data-erp-theme='dark'] .erp-theme-switch {
    background: var(--erp-accent);
}

html[data-erp-theme='dark'] .erp-theme-switch::after {
    transform: translateX(15px);
}

html[data-erp-theme='light'] #jazzy-sidebar {
    background: var(--erp-sidebar-light) !important;
    border-right-color: #e7edf3;
    box-shadow: 8px 0 28px rgba(15, 23, 42, .07) !important;
}

html[data-erp-theme='light'] #jazzy-sidebar .brand-text,
html[data-erp-theme='light'] #jazzy-sidebar .user-panel .info a,
html[data-erp-theme='light'] #jazzy-sidebar .user-panel .info span {
    color: #142033 !important;
}

html[data-erp-theme='light'] #jazzy-sidebar .nav-sidebar .nav-link,
html[data-erp-theme='light'] .erp-theme-toggle {
    color: #536174 !important;
}

html[data-erp-theme='light'] #jazzy-sidebar .nav-sidebar .nav-link:hover,
html[data-erp-theme='light'] .erp-theme-toggle:hover {
    color: #172033 !important;
    background: #f3f7f9 !important;
}

html[data-erp-theme='light'] #jazzy-sidebar .nav-sidebar .nav-link.active,
html[data-erp-theme='light'] #jazzy-sidebar .nav-sidebar .menu-open > .nav-link {
    color: #0798a8 !important;
    background: #e6f7f9 !important;
}

html[data-erp-theme='light'] #jazzy-sidebar .brand-link,
html[data-erp-theme='light'] #jazzy-sidebar .user-panel,
html[data-erp-theme='light'] .erp-sidebar-footer {
    border-color: #e8edf2 !important;
}

@media (min-width: 992px) {
    body.sidebar-collapse #jazzy-sidebar {
        width: 4.6rem !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover {
        width: var(--erp-sidebar-width) !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .brand-text {
        width: auto !important;
        max-width: 165px !important;
        display: inline-block !important;
        margin-left: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .user-panel > .info {
        width: auto !important;
        display: block !important;
        margin-left: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .nav-sidebar .nav-link {
        width: calc(var(--erp-sidebar-width) - 20px) !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .nav-sidebar .nav-link p {
        width: auto !important;
        min-width: 0 !important;
        display: inline-block !important;
        flex: 1 1 auto !important;
        margin-left: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .nav-header {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .sidebar,
    body.sidebar-collapse #jazzy-sidebar:hover nav.mt-2 {
        width: 100% !important;
    }

    body.sidebar-collapse #jazzy-sidebar .erp-sidebar-footer {
        margin: 0 8px;
    }

    body.sidebar-collapse #jazzy-sidebar .erp-theme-toggle {
        justify-content: center;
        padding: 8px 4px;
    }

    body.sidebar-collapse #jazzy-sidebar .erp-theme-label,
    body.sidebar-collapse #jazzy-sidebar .erp-theme-switch {
        display: none;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .erp-theme-toggle {
        justify-content: flex-start;
        padding: 8px 10px;
    }

    body.sidebar-collapse #jazzy-sidebar:hover .erp-theme-label,
    body.sidebar-collapse #jazzy-sidebar:hover .erp-theme-switch {
        display: inline-block;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media (max-width: 991.98px) {
    #jazzy-sidebar {
        width: 270px !important;
    }

}

/* ══════════════════════════════════════════════════════════════════
   CONTRASTE GLOBAL DEL MODO OSCURO
   Bootswatch cubre Bootstrap; estas reglas completan AdminLTE,
   Django Admin y las tablas/formularios personalizados del ERP.
   ══════════════════════════════════════════════════════════════════ */
@media screen {
html[data-erp-theme='dark'] {
    --erp-dark-page: #0f1722;
    --erp-dark-surface: #172230;
    --erp-dark-surface-2: #1e2b3a;
    --erp-dark-input: #101a26;
    --erp-dark-border: #344456;
    --erp-dark-text: #e7eef7;
    --erp-dark-muted: #a9b7c8;
    --erp-dark-link: #4fd8e5;
}

html[data-erp-theme='dark'] body,
html[data-erp-theme='dark'] .wrapper,
html[data-erp-theme='dark'] .content-wrapper,
html[data-erp-theme='dark'] .app-content,
html[data-erp-theme='dark'] .app-content-header,
html[data-erp-theme='dark'] .content-header,
html[data-erp-theme='dark'] .content-wrapper > .content,
html[data-erp-theme='dark'] .app-content > .content {
    color: var(--erp-dark-text) !important;
    background-color: var(--erp-dark-page) !important;
}

html[data-erp-theme='dark'] .main-header.navbar,
html[data-erp-theme='dark'] .main-footer {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background: #131e2a !important;
}

html[data-erp-theme='dark'] .main-header .nav-link,
html[data-erp-theme='dark'] .main-footer,
html[data-erp-theme='dark'] .breadcrumb-item,
html[data-erp-theme='dark'] .breadcrumb-item::before {
    color: var(--erp-dark-muted) !important;
}

html[data-erp-theme='dark'] .content-wrapper h1,
html[data-erp-theme='dark'] .content-wrapper h2,
html[data-erp-theme='dark'] .content-wrapper h3,
html[data-erp-theme='dark'] .content-wrapper h4,
html[data-erp-theme='dark'] .content-wrapper h5,
html[data-erp-theme='dark'] .content-wrapper h6,
html[data-erp-theme='dark'] .content-wrapper label,
html[data-erp-theme='dark'] .content-wrapper legend,
html[data-erp-theme='dark'] .content-wrapper .readonly,
html[data-erp-theme='dark'] .content-wrapper .fieldBox,
html[data-erp-theme='dark'] .content-wrapper .form-row,
html[data-erp-theme='dark'] .content-wrapper .form-group {
    color: var(--erp-dark-text) !important;
}

html[data-erp-theme='dark'] .card,
html[data-erp-theme='dark'] .card-body,
html[data-erp-theme='dark'] .card-footer,
html[data-erp-theme='dark'] .module,
html[data-erp-theme='dark'] .inline-group,
html[data-erp-theme='dark'] .tab-content,
html[data-erp-theme='dark'] .fieldset,
html[data-erp-theme='dark'] fieldset,
html[data-erp-theme='dark'] .submit-row,
html[data-erp-theme='dark'] .actions,
html[data-erp-theme='dark'] .results,
html[data-erp-theme='dark'] .change-list .filtered,
html[data-erp-theme='dark'] .bg-white {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
}

html[data-erp-theme='dark'] .card-header,
html[data-erp-theme='dark'] .module > h2,
html[data-erp-theme='dark'] .module caption,
html[data-erp-theme='dark'] .inline-group > h2,
html[data-erp-theme='dark'] .nav-tabs .nav-link.active {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface-2) !important;
}

html[data-erp-theme='dark'] .table,
html[data-erp-theme='dark'] .table-responsive,
html[data-erp-theme='dark'] .content-wrapper table,
html[data-erp-theme='dark'] #result_list {
    color: var(--erp-dark-text) !important;
    background-color: var(--erp-dark-surface) !important;
}

html[data-erp-theme='dark'] .table thead th,
html[data-erp-theme='dark'] .content-wrapper table thead th,
html[data-erp-theme='dark'] #result_list thead th,
html[data-erp-theme='dark'] #result_list thead th a {
    color: #cbd8e7 !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface-2) !important;
}

html[data-erp-theme='dark'] .table tbody td,
html[data-erp-theme='dark'] .table tbody th,
html[data-erp-theme='dark'] .content-wrapper table tbody td,
html[data-erp-theme='dark'] .content-wrapper table tbody th,
html[data-erp-theme='dark'] #result_list tbody td,
html[data-erp-theme='dark'] #result_list tbody th {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
}

html[data-erp-theme='dark'] .table-striped tbody tr:nth-of-type(odd) td,
html[data-erp-theme='dark'] .table-striped tbody tr:nth-of-type(odd) th,
html[data-erp-theme='dark'] #result_list tbody tr:nth-child(odd) td,
html[data-erp-theme='dark'] #result_list tbody tr:nth-child(odd) th {
    background-color: #1b2836 !important;
}

html[data-erp-theme='dark'] .table-hover tbody tr:hover td,
html[data-erp-theme='dark'] .table-hover tbody tr:hover th,
html[data-erp-theme='dark'] #result_list tbody tr:hover td,
html[data-erp-theme='dark'] #result_list tbody tr:hover th {
    background-color: #243548 !important;
}

html[data-erp-theme='dark'] .content-wrapper a:not(.btn):not(.nav-link):not(.dropdown-item),
html[data-erp-theme='dark'] .content-wrapper table a {
    color: var(--erp-dark-link) !important;
}

html[data-erp-theme='dark'] .text-muted,
html[data-erp-theme='dark'] .help,
html[data-erp-theme='dark'] .help-block,
html[data-erp-theme='dark'] .form-text,
html[data-erp-theme='dark'] .content-wrapper small,
html[data-erp-theme='dark'] .content-wrapper .description,
html[data-erp-theme='dark'] .content-wrapper p.help {
    color: var(--erp-dark-muted) !important;
}

html[data-erp-theme='dark'] .form-control,
html[data-erp-theme='dark'] .custom-select,
html[data-erp-theme='dark'] select,
html[data-erp-theme='dark'] textarea,
html[data-erp-theme='dark'] input[type='text'],
html[data-erp-theme='dark'] input[type='number'],
html[data-erp-theme='dark'] input[type='email'],
html[data-erp-theme='dark'] input[type='password'],
html[data-erp-theme='dark'] input[type='date'],
html[data-erp-theme='dark'] input[type='time'],
html[data-erp-theme='dark'] .select2-container--default .select2-selection--single,
html[data-erp-theme='dark'] .select2-container--default .select2-selection--multiple {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-input) !important;
}

html[data-erp-theme='dark'] .form-control:disabled,
html[data-erp-theme='dark'] .form-control[readonly],
html[data-erp-theme='dark'] input:disabled,
html[data-erp-theme='dark'] input[readonly],
html[data-erp-theme='dark'] select:disabled,
html[data-erp-theme='dark'] textarea:disabled {
    color: #b7c4d3 !important;
    background-color: #253140 !important;
    opacity: 1;
}

html[data-erp-theme='dark'] .form-control::placeholder,
html[data-erp-theme='dark'] input::placeholder,
html[data-erp-theme='dark'] textarea::placeholder {
    color: #8191a5 !important;
    opacity: 1;
}

html[data-erp-theme='dark'] .select2-dropdown,
html[data-erp-theme='dark'] .select2-results,
html[data-erp-theme='dark'] .select2-results__option,
html[data-erp-theme='dark'] .dropdown-menu,
html[data-erp-theme='dark'] .modal-content,
html[data-erp-theme='dark'] .popover,
html[data-erp-theme='dark'] .calendarbox,
html[data-erp-theme='dark'] .clockbox {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
}

html[data-erp-theme='dark'] .dropdown-item,
html[data-erp-theme='dark'] .select2-results__option,
html[data-erp-theme='dark'] .nav-tabs .nav-link {
    color: var(--erp-dark-text) !important;
}

html[data-erp-theme='dark'] .dropdown-item:hover,
html[data-erp-theme='dark'] .dropdown-item:focus,
html[data-erp-theme='dark'] .select2-results__option--highlighted,
html[data-erp-theme='dark'] .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #ffffff !important;
    background-color: #087f8c !important;
}

html[data-erp-theme='dark'] .input-group-text,
html[data-erp-theme='dark'] .select2-selection__choice,
html[data-erp-theme='dark'] .pagination .page-link {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface-2) !important;
}

html[data-erp-theme='dark'] hr,
html[data-erp-theme='dark'] .border,
html[data-erp-theme='dark'] .border-top,
html[data-erp-theme='dark'] .border-bottom,
html[data-erp-theme='dark'] .form-row,
html[data-erp-theme='dark'] .card {
    border-color: var(--erp-dark-border) !important;
}

html[data-erp-theme='dark'] pre,
html[data-erp-theme='dark'] code {
    color: #d9e6f3 !important;
    background-color: #0a121c !important;
}

html[data-erp-theme='dark'] .toast,
html[data-erp-theme='dark'] .list-group-item {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
}

/* Contenedores propios usados por Dashboard, Stock, Compras y Ventas. */
html[data-erp-theme='dark'] .db-main,
html[data-erp-theme='dark'] .db-page,
html[data-erp-theme='dark'] .db-card,
html[data-erp-theme='dark'] .db-chart-card,
html[data-erp-theme='dark'] .db-shortcut,
html[data-erp-theme='dark'] .stat-card,
html[data-erp-theme='dark'] .filtros-card,
html[data-erp-theme='dark'] .table-card,
html[data-erp-theme='dark'] .table-header,
html[data-erp-theme='dark'] .panel,
html[data-erp-theme='dark'] #pventa-busqueda,
html[data-erp-theme='dark'] #pventa-grilla,
html[data-erp-theme='dark'] .panel-card,
html[data-erp-theme='dark'] .modal-box,
html[data-erp-theme='dark'] .vv-cabecera,
html[data-erp-theme='dark'] .vv-seccion,
html[data-erp-theme='dark'] .vv-totales,
html[data-erp-theme='dark'] .cv-filtros,
html[data-erp-theme='dark'] .cv-tabla,
html[data-erp-theme='dark'] .av-panel,
html[data-erp-theme='dark'] .av-info-venta {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
}

html[data-erp-theme='dark'] .db-page {
    background-color: var(--erp-dark-page) !important;
}

html[data-erp-theme='dark'] .db-header h1 {
    color: var(--erp-dark-text) !important;
}

html[data-erp-theme='dark'] .db-header .db-date {
    color: var(--erp-dark-muted) !important;
    border: 1px solid var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
    box-shadow: none !important;
}

html[data-erp-theme='dark'] #pago-resumen-venta,
html[data-erp-theme='dark'] #pago-credito-box,
html[data-erp-theme='dark'] .chip-forma-cobro,
html[data-erp-theme='dark'] .btn-monto-rapido,
html[data-erp-theme='dark'] .grilla-fc-dropdown,
html[data-erp-theme='dark'] .vv-tabla tfoot td {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface-2) !important;
}

/* Neutraliza fondos claros fijados inline por pantallas históricas.
   Se limita a pantalla para mantener facturas e informes blancos al imprimir. */
html[data-erp-theme='dark'] .content-wrapper [style*='background:#fff'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #fff'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:white'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: white'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:#f8f9fa'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #f8f9fa'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:#f5f5f5'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #f5f5f5'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:#f8fbfd'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #f8fbfd'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:#f0f7fc'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #f0f7fc'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:#f0f4f8'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #f0f4f8'],
html[data-erp-theme='dark'] .content-wrapper [style*='background:#f9f9f9'],
html[data-erp-theme='dark'] .content-wrapper [style*='background: #f9f9f9'] {
    color: var(--erp-dark-text) !important;
    border-color: var(--erp-dark-border) !important;
    background-color: var(--erp-dark-surface) !important;
}

/* El color de texto se fuerza en tablas porque varias vistas antiguas
   aplican blanco inline aunque la fila conserve un fondo claro. */
html[data-erp-theme='dark'] .content-wrapper table td:not(.delete),
html[data-erp-theme='dark'] .content-wrapper table th,
html[data-erp-theme='dark'] .content-wrapper .panel-card,
html[data-erp-theme='dark'] .content-wrapper .stat-card,
html[data-erp-theme='dark'] .content-wrapper .filtros-card {
    color: var(--erp-dark-text) !important;
}
}
