/* Venta Central v1. Fuente reutilizable; integrado después de Bootstrap/Nifty. */
:root {
    --vc-bg: #f3f6fa;
    --vc-surface: #ffffff;
    --vc-text: #18324d;
    --vc-muted: #53677d;
    --vc-border: #dce5ef;
    --vc-primary: #241238;
    --vc-accent: #c5f45b;
    --vc-on-primary: #ffffff;
    --vc-success: #226542;
    --vc-on-success: #ffffff;
    --vc-sidebar: #132c47;
    --vc-radius: 12px;
    --vc-font-scale: 1;
    --vc-shadow: 0 4px 20px rgba(24,50,77,.06);
}
html[data-vc-theme="oscuro"] {
    color-scheme: dark;
    --vc-bg: #111e2c;
    --vc-surface: #1c2d40;
    --vc-text: #e7f0fa;
    --vc-muted: #b1c1d4;
    --vc-border: #3b5168;
    --vc-primary: #332148;
    --vc-accent: #c5f45b;
    --vc-success: #8cdba8;
    --vc-on-success: #133322;
    --vc-shadow: 0 4px 20px rgba(0,0,0,.14);
}
#container, #content-container, #page-content { background: var(--vc-bg); color: var(--vc-text); }
#page-content { padding: 26px; font-size: calc(14px * var(--vc-font-scale)); line-height: 1.55; }
#page-content .panel, #page-content .well, #page-content .modal-content {
    background: var(--vc-surface); color: var(--vc-text); border: 1px solid var(--vc-border);
    border-radius: var(--vc-radius); box-shadow: var(--vc-shadow);
}
#page-content .panel-heading { border-bottom: 1px solid var(--vc-border); border-radius: var(--vc-radius) var(--vc-radius) 0 0; }
#page-content .panel-title { color: var(--vc-text); font-weight: 600; font-size: calc(16px * var(--vc-font-scale)); height: auto; min-height: 52px; line-height: 1.5; padding: 15px 20px; }
#page-content .panel-body { padding: 22px; }
#page-content .panel-footer { background: var(--vc-surface); border-top: 1px solid var(--vc-border); border-radius: 0 0 var(--vc-radius) var(--vc-radius); }
#page-content .text-muted { color: var(--vc-muted); }
#page-content label { color: var(--vc-text); font-weight: 600; }
#page-content .form-control, #page-content .select2-selection, #page-content .chosen-single {
    background: var(--vc-surface); color: var(--vc-text); border: 1px solid var(--vc-border); border-radius: 8px;
    font-size: inherit;
}
#page-content input.form-control, #page-content select.form-control { min-height: 42px; height: auto; }
#page-content .form-control:focus { border-color: var(--vc-primary); box-shadow: 0 0 0 3px rgba(23,100,165,.12); }
#page-content .btn { border-radius: 8px; font-size: inherit; min-height: 38px; white-space: normal; }
#page-content .btn-primary { background: var(--vc-primary); border-color: var(--vc-primary); color: var(--vc-on-primary); }
#page-content .btn-success { background: var(--vc-success); border-color: var(--vc-success); color: var(--vc-on-success); }
#page-content .btn-primary:hover, #page-content .btn-success:hover { filter:brightness(.95); }
#page-content .btn[disabled] { filter:none; opacity:.55; }
#page-content .dt-button { background:var(--vc-surface); color:var(--vc-text); border:1px solid var(--vc-border); border-radius:8px; padding:9px 14px; font:inherit; }
#page-content .dt-button:hover:not(.disabled), #page-content .dt-button:focus { background:var(--vc-bg); color:var(--vc-text); border-color:var(--vc-muted); }
#page-content .dt-button.disabled { opacity:.55; cursor:not-allowed; }
body > .select2-container .select2-dropdown, body > .chosen-container .chosen-drop { background:var(--vc-surface); color:var(--vc-text); border-color:var(--vc-border); }
.select2-container .select2-results__option--highlighted[aria-selected] { background:var(--vc-primary); color:var(--vc-on-primary); }
.select2-container .select2-search__field { background:var(--vc-surface); color:var(--vc-text); }
#page-content .btn-default { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-text); }
#page-content .table { color: var(--vc-text); font-size: inherit; }
#page-content .table > thead > tr > th { background: var(--vc-bg); color: var(--vc-muted); border-bottom: 1px solid var(--vc-border); font-weight: 600; }
#page-content .table > tbody > tr > td { border-color: var(--vc-border); vertical-align: middle; }
#page-content .table-striped > tbody > tr:nth-of-type(odd), #page-content .table-hover > tbody > tr:hover { background: var(--vc-bg); }
#page-content .dataTables_wrapper { max-width: 100%; overflow-x: auto; }
#page-content .dataTables_wrapper select { color: var(--vc-text); background: var(--vc-surface); }
#mainnav { background: var(--vc-sidebar); }
#mainnav-menu a { border-radius: 8px; margin: 2px 8px; }
#mainnav-menu a:hover, #mainnav-menu .active-link > a { background: #21466b; }
#navbar .navbar-header { background: var(--vc-sidebar); }
#navbar .navbar-content { background: var(--vc-surface); color: var(--vc-text); box-shadow: 0 1px 0 var(--vc-border); }
#navbar .navbar-top-links > li > a { color: var(--vc-text); }
#navbar .navbar-brand { color: #fff; }
#navbar .pventa-hamburger { background: var(--vc-text); box-shadow: 0 -7px 0 var(--vc-text),0 7px 0 var(--vc-text); }
#page-content :focus-visible, .vc-preferences :focus-visible, #navbar :focus-visible { outline: 3px solid #239bbb; outline-offset: 3px; }
.vc-preferences { background: var(--vc-surface); color: var(--vc-text); border: 1px solid var(--vc-border); border-radius: 16px; box-shadow: var(--vc-shadow); width: min(440px,calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 24px; overflow: auto; }
.vc-preferences::backdrop { background: rgba(10,27,44,.55); }
.vc-preferences h2 { margin: 0 0 10px; font-size: 22px; }
.vc-preferences p { color: var(--vc-muted); }
.vc-preferences label { display: block; margin: 18px 0 6px; font-weight: 600; }
.vc-preferences select, .vc-preferences button { font: inherit; border-radius: 8px; padding: 10px; border: 1px solid var(--vc-border); background: var(--vc-surface); color: var(--vc-text); }
.vc-preferences select { width: 100%; }
.vc-preferences-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; }
.vc-preferences .vc-close { background: var(--vc-primary); color: var(--vc-on-primary); }
.vc-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.vc-kpi { padding: 22px; border: 1px solid var(--vc-border); background: var(--vc-surface); border-radius: var(--vc-radius); }
.vc-kpi small { color: var(--vc-muted); }
.vc-kpi strong { display: block; font-size: 28px; margin-top: 8px; }
html[data-vc-motion="reducido"] *, html[data-vc-motion="reducido"] *::before, html[data-vc-motion="reducido"] *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
    #container *, .vc-preferences * { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media (max-width: 767px) {
    #page-content { padding: 14px; }
    #page-content .panel-body { padding: 16px; }
    .vc-kpis { grid-template-columns: 1fr; }
}
@media print {
    .vc-appearance-control, .vc-preferences { display: none !important; }
    #container, #page-content, #page-content .panel, #page-content .table > tbody > tr { background: #fff !important; color: #000 !important; box-shadow: none; }
}
