/* Sistema de diseño del rediseño D+ (docs/design/ERP · Propuesta D+). Solo aplica cuando <html data-ui="nuevo">.
   Tokens: todos los colores son variables; Bootstrap 5.3 se re-mapea a ellas para que las vistas existentes
   (clases, ids y scripts intactos) tomen el tema sin cambios. */

:root {
    --bg: #f1f2f4; --sf: #fff; --sf2: #f6f7f9; --bd: #dcdfe4; --bd2: #eceef1; --tx: #1b1f24; --mu: #5b636d;
    --sb: #1f2933; --sbh: #33404d; --sbt: #b4bcc6;
    --okb: #dcebe1; --okt: #1f5130; --wab: #f4e8d0; --wat: #6e450a; --inb: #dce6f3; --int: #1f4373; --nb: #e6e9ed; --nt: #2d333b;
    --err: #a33a3a; --ov: rgba(20,24,29,.4);
    --acl: #3d5a6c; --acd: #4f7488; --ac: var(--acl);
    --rp: 7px; --radio: 6px;
    color-scheme: light;
}
@media (prefers-color-scheme: dark) {
    :root[data-ui="nuevo"]:not([data-theme="light"]) {
        --bg: #13171c; --sf: #1b2128; --sf2: #20272f; --bd: #2c343d; --bd2: #252c34; --tx: #e6e9ed; --mu: #9aa4b0;
        --sb: #0d1115; --sbh: #28323c;
        --okb: #1f3a2a; --okt: #9ad3ae; --wab: #3d3016; --wat: #e8c980; --inb: #1f3350; --int: #a9c6ee; --nb: #2c343d; --nt: #cdd3da;
        --err: #ef8c8c; --ov: rgba(0,0,0,.6); --ac: var(--acd); color-scheme: dark;
    }
}
:root[data-theme="dark"] {
    --bg: #13171c; --sf: #1b2128; --sf2: #20272f; --bd: #2c343d; --bd2: #252c34; --tx: #e6e9ed; --mu: #9aa4b0;
    --sb: #0d1115; --sbh: #28323c;
    --okb: #1f3a2a; --okt: #9ad3ae; --wab: #3d3016; --wat: #e8c980; --inb: #1f3350; --int: #a9c6ee; --nb: #2c343d; --nt: #cdd3da;
    --err: #ef8c8c; --ov: rgba(0,0,0,.6); --ac: var(--acd); color-scheme: dark;
}
:root[data-accent="indigo"] { --acl: #4a5a8f; --acd: #5568a8; }
:root[data-accent="teal"] { --acl: #2f6b66; --acd: #387c75; }
:root[data-accent="plum"] { --acl: #6b4f6a; --acd: #8d6489; }
:root[data-density="compact"] { --rp: 4px; }
:root[data-density="comfy"] { --rp: 11px; }
html[data-ui="nuevo"][data-font="grande"] { font-size: 16px; }

/* ---- Re-mapeo de Bootstrap a los tokens ---- */
html[data-ui="nuevo"] {
    font-size: 14px;
    --bs-body-bg: var(--bg); --bs-body-color: var(--tx); --bs-body-font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
    --bs-border-color: var(--bd); --bs-secondary-color: var(--mu); --bs-tertiary-bg: var(--sf2); --bs-secondary-bg: var(--sf2);
    --bs-link-color: var(--ac); --bs-link-hover-color: var(--ac); --bs-link-color-rgb: 61, 90, 108;
    --bs-border-radius: var(--radio); --bs-border-radius-sm: 4px; --bs-border-radius-lg: 10px;
    --bs-emphasis-color: var(--tx); --bs-heading-color: var(--tx);
}
html[data-ui="nuevo"] body { background: var(--bg); color: var(--tx); font-variant-numeric: tabular-nums; margin-bottom: 0; }
html[data-ui="nuevo"] .text-muted, html[data-ui="nuevo"] .text-body-secondary { color: var(--mu) !important; }
html[data-ui="nuevo"] .bg-light, html[data-ui="nuevo"] .bg-body-tertiary { background-color: var(--sf2) !important; }
html[data-ui="nuevo"] .bg-white, html[data-ui="nuevo"] .bg-body { background-color: var(--sf) !important; }
html[data-ui="nuevo"] .border, html[data-ui="nuevo"] .border-top, html[data-ui="nuevo"] .border-bottom { border-color: var(--bd) !important; }
html[data-ui="nuevo"] .card { --bs-card-bg: var(--sf); --bs-card-border-color: var(--bd); --bs-card-cap-bg: var(--sf2); --bs-card-color: var(--tx); border-radius: 8px; }
html[data-ui="nuevo"] .table { --bs-table-bg: var(--sf); --bs-table-color: var(--tx); --bs-table-border-color: var(--bd2); --bs-table-striped-bg: var(--sf2); --bs-table-hover-bg: var(--sf2); --bs-table-striped-color: var(--tx); --bs-table-hover-color: var(--tx); }
html[data-ui="nuevo"] .table > :not(caption) > * > * { padding: var(--rp) .75rem; }
html[data-ui="nuevo"] .table thead th { font-weight: 500; color: var(--mu); border-bottom: 1px solid var(--bd); background: var(--sf); }
html[data-ui="nuevo"] .table-light, html[data-ui="nuevo"] .table-secondary, html[data-ui="nuevo"] thead.table-light th { --bs-table-bg: var(--sf2); --bs-table-color: var(--tx); background-color: var(--sf2); color: var(--tx); }
html[data-ui="nuevo"] tr.grupo { background: var(--sf2); }
html[data-ui="nuevo"] .form-control, html[data-ui="nuevo"] .form-select, html[data-ui="nuevo"] .input-group-text { background-color: var(--sf); color: var(--tx); border-color: var(--bd); }
html[data-ui="nuevo"] .form-control:focus, html[data-ui="nuevo"] .form-select:focus { border-color: var(--ac); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--ac) 25%, transparent); }
html[data-ui="nuevo"] .form-control:disabled, html[data-ui="nuevo"] .form-control[readonly] { background-color: var(--sf2); }
html[data-ui="nuevo"] .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%235b636d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
html[data-ui="nuevo"] .btn { --bs-btn-border-radius: var(--radio); }
html[data-ui="nuevo"] .btn-primary { --bs-btn-bg: var(--ac); --bs-btn-border-color: var(--ac); --bs-btn-hover-bg: var(--ac); --bs-btn-hover-border-color: var(--ac); --bs-btn-active-bg: var(--ac); --bs-btn-active-border-color: var(--ac); --bs-btn-disabled-bg: var(--ac); --bs-btn-disabled-border-color: var(--ac); }
html[data-ui="nuevo"] .btn-primary:hover { filter: brightness(1.1); }
html[data-ui="nuevo"] .btn-outline-primary { --bs-btn-color: var(--ac); --bs-btn-border-color: var(--ac); --bs-btn-hover-bg: var(--ac); --bs-btn-hover-border-color: var(--ac); --bs-btn-active-bg: var(--ac); --bs-btn-active-border-color: var(--ac); }
html[data-ui="nuevo"] .btn-outline-secondary, html[data-ui="nuevo"] .btn-light, html[data-ui="nuevo"] .btn-outline-dark { --bs-btn-color: var(--tx); --bs-btn-bg: var(--sf); --bs-btn-border-color: var(--bd); --bs-btn-hover-bg: var(--sf2); --bs-btn-hover-color: var(--tx); --bs-btn-hover-border-color: var(--bd); --bs-btn-active-bg: var(--sf2); --bs-btn-active-color: var(--tx); --bs-btn-active-border-color: var(--bd); }
html[data-ui="nuevo"] .btn-secondary { --bs-btn-bg: var(--nb); --bs-btn-color: var(--nt); --bs-btn-border-color: var(--nb); --bs-btn-hover-bg: var(--bd); --bs-btn-hover-color: var(--nt); --bs-btn-hover-border-color: var(--bd); }
html[data-ui="nuevo"] .dropdown-menu { --bs-dropdown-bg: var(--sf); --bs-dropdown-color: var(--tx); --bs-dropdown-border-color: var(--bd); --bs-dropdown-link-color: var(--tx); --bs-dropdown-link-hover-bg: var(--sf2); --bs-dropdown-link-hover-color: var(--tx); --bs-dropdown-link-active-bg: var(--ac); --bs-dropdown-header-color: var(--mu); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
html[data-ui="nuevo"] .modal-content { background: var(--sf); color: var(--tx); border-color: var(--bd); border-radius: 10px; }
html[data-ui="nuevo"] .modal-header, html[data-ui="nuevo"] .modal-footer { border-color: var(--bd); }
html[data-ui="nuevo"] .alert-success { background: var(--okb); color: var(--okt); border-color: transparent; }
html[data-ui="nuevo"] .alert-danger { background: color-mix(in srgb, var(--err) 15%, var(--sf)); color: var(--err); border-color: transparent; }
html[data-ui="nuevo"] .alert-warning { background: var(--wab); color: var(--wat); border-color: transparent; }
html[data-ui="nuevo"] .alert-info { background: var(--inb); color: var(--int); border-color: transparent; }
html[data-ui="nuevo"] .badge.bg-success, html[data-ui="nuevo"] .badge.text-bg-success { background: var(--okb) !important; color: var(--okt) !important; }
html[data-ui="nuevo"] .badge.bg-warning, html[data-ui="nuevo"] .badge.text-bg-warning { background: var(--wab) !important; color: var(--wat) !important; }
html[data-ui="nuevo"] .badge.bg-info, html[data-ui="nuevo"] .badge.text-bg-info, html[data-ui="nuevo"] .badge.bg-primary { background: var(--inb) !important; color: var(--int) !important; }
html[data-ui="nuevo"] .badge.bg-secondary, html[data-ui="nuevo"] .badge.bg-light, html[data-ui="nuevo"] .badge.text-bg-secondary { background: var(--nb) !important; color: var(--nt) !important; }
html[data-ui="nuevo"] .nav-tabs { --bs-nav-tabs-border-color: var(--bd); --bs-nav-tabs-link-active-bg: var(--sf); --bs-nav-tabs-link-active-color: var(--tx); --bs-nav-tabs-link-active-border-color: var(--bd) var(--bd) var(--sf); --bs-nav-link-color: var(--mu); --bs-nav-link-hover-color: var(--tx); }
html[data-ui="nuevo"] .list-group { --bs-list-group-bg: var(--sf); --bs-list-group-color: var(--tx); --bs-list-group-border-color: var(--bd); --bs-list-group-action-hover-bg: var(--sf2); --bs-list-group-action-hover-color: var(--tx); }
html[data-ui="nuevo"] .page-link { background: var(--sf); color: var(--tx); border-color: var(--bd); }
html[data-ui="nuevo"] .combo-lista { background: var(--sf); border-color: var(--bd); color: var(--tx); box-shadow: 0 8px 24px rgba(0,0,0,.14); }
html[data-ui="nuevo"] .combo-item:hover, html[data-ui="nuevo"] .combo-item.activo { background: var(--ac); color: #fff; }
html[data-ui="nuevo"] .sticky-top { background: var(--sf); }
html[data-ui="nuevo"] hr { border-color: var(--bd); opacity: 1; }
html[data-ui="nuevo"] h1, html[data-ui="nuevo"] h2, html[data-ui="nuevo"] h3 { letter-spacing: -.01em; }
html[data-ui="nuevo"] :focus-visible { outline: 2px solid var(--ac); outline-offset: 2px; }
html[data-ui="nuevo"] .btn:focus, html[data-ui="nuevo"] .form-control:focus { box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--ac) 25%, transparent); }

/* ---- Marco: rail + barra + contenido + asistente ---- */
.ic { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; vertical-align: -3px; }
.ui-app { display: flex; min-height: 100vh; }
.ui-rail { width: 200px; background: var(--sb); padding: 12px 10px; display: flex; flex-direction: column; gap: 2px; flex: none; overflow-y: auto; position: sticky; top: 0; max-height: 100vh; }
.ui-rail .ui-marca { color: #fff; font-size: 14px; font-weight: 600; padding: 6px 10px 12px; text-decoration: none; display: block; }
.ui-rail a, .ui-rail button { font: inherit; text-align: left; border: 0; background: none; color: var(--sbt); padding: 7px 10px; border-radius: 6px; cursor: pointer; text-decoration: none; display: flex; align-items: center; gap: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-rail a:hover, .ui-rail button:hover { background: var(--sbh); color: #fff; }
.ui-rail a[aria-current="page"] { background: var(--sbh); color: #fff; }
.ui-rail .ui-g { color: #7d8794; font-size: 11px; padding: 12px 10px 4px; text-transform: uppercase; letter-spacing: .04em; }
.ui-rail .ui-ini { width: 20px; height: 20px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; color: #fff; flex: none; }
.ui-rail .ui-kb { margin-left: auto; }
.ui-col { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ui-bar { display: flex; align-items: center; gap: 8px; padding: 6px 14px; background: var(--sf); border-bottom: 1px solid var(--bd); position: sticky; top: 0; z-index: 20; min-height: 46px; }
.ui-bar .breadcrumb { margin: 0; padding: 0; --bs-breadcrumb-divider-color: var(--mu); }
.ui-bar .breadcrumb a.link-light { color: var(--tx) !important; }
.ui-bar .breadcrumb .text-white-50 { color: var(--mu) !important; }
.ui-bar .breadcrumb-item + .breadcrumb-item::before { color: var(--mu); }
.ui-sp { flex: 1; }
.ui-kb { font: 11px ui-monospace, monospace; border: 1px solid var(--bd); border-radius: 4px; padding: 1px 5px; color: var(--mu); background: var(--sf2); }
.ui-rail .ui-kb { border-color: var(--sbh); background: transparent; color: #7d8794; }
.ui-btn { font: inherit; padding: 5px 10px; border-radius: 6px; border: 1px solid var(--bd); background: var(--sf); color: var(--tx); cursor: pointer; display: inline-flex; gap: 8px; align-items: center; text-decoration: none; line-height: 1.3; }
.ui-btn:hover { background: var(--sf2); color: var(--tx); }
.ui-btn.ui-ico { padding: 5px 7px; }
.ui-btn[aria-pressed="true"], .ui-btn[aria-expanded="true"] { background: var(--sf2); border-color: var(--ac); }
.ui-sbtn { min-width: 240px; justify-content: space-between; color: var(--mu); }
.ui-work { display: flex; flex: 1; min-height: 0; }
.ui-main { flex: 1; min-width: 0; padding: 14px 18px 24px; }
.ui-ai { width: 330px; border-left: 1px solid var(--bd); background: var(--sf); display: none; flex-direction: column; flex: none; }
.ui-ai.open { display: flex; }
.ui-ai header { padding: 10px 14px; border-bottom: 1px solid var(--bd); display: flex; justify-content: space-between; align-items: center; font-weight: 600; }
.ui-ai .ui-msgs { flex: 1; overflow: auto; padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.ui-ai .ui-m { padding: 8px 10px; border-radius: 8px; background: var(--sf2); max-width: 92%; }
.ui-ai footer { padding: 10px 14px; border-top: 1px solid var(--bd); }
.ui-usuario .dropdown-toggle::after { display: none; }

/* Buscador de comandos (Ctrl+K) */
.ui-pal { position: fixed; inset: 0; background: var(--ov); display: none; z-index: 1060; align-items: flex-start; justify-content: center; padding-top: 12vh; }
.ui-pal.open { display: flex; }
.ui-pb { width: 560px; max-width: 94vw; background: var(--sf); border: 1px solid var(--bd); border-radius: 10px; overflow: hidden; box-shadow: 0 16px 48px rgba(0,0,0,.25); }
.ui-pb input { width: 100%; border: 0; border-bottom: 1px solid var(--bd); border-radius: 0; padding: 14px 16px; font: inherit; font-size: 15px; background: var(--sf); color: var(--tx); }
.ui-pb input:focus { outline: none; }
.ui-res { max-height: 340px; overflow: auto; padding: 6px; }
.ui-res .ui-g { color: var(--mu); font-size: 11px; padding: 8px 10px 2px; text-transform: uppercase; letter-spacing: .04em; }
.ui-res a { display: flex; justify-content: space-between; gap: 8px; width: 100%; font: inherit; color: var(--tx); background: none; border: 0; padding: 8px 10px; border-radius: 6px; cursor: pointer; text-align: left; text-decoration: none; }
.ui-res a[aria-selected="true"], .ui-res a:hover { background: var(--ac); color: #fff; }
.ui-res a[aria-selected="true"] .mu { color: inherit; opacity: .8; }
.ui-res .ui-vacio { padding: 12px; color: var(--mu); }

/* Panel de preferencias */
.ui-pref { position: absolute; right: 14px; top: 100%; margin-top: 6px; width: 290px; background: var(--sf); border: 1px solid var(--bd); border-radius: 10px; padding: 14px; display: none; z-index: 1055; flex-direction: column; gap: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.14); }
.ui-pref.open { display: flex; }
.ui-pref .mu { color: var(--mu); margin-bottom: 6px; }
.ui-seg { display: flex; border: 1px solid var(--bd); border-radius: 6px; overflow: hidden; }
.ui-seg button { flex: 1; font: inherit; border: 0; background: var(--sf); color: var(--mu); padding: 5px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.ui-seg button[aria-pressed="true"] { background: var(--ac); color: #fff; }
.ui-sw { display: flex; gap: 8px; }
.ui-sw button { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--sf); box-shadow: 0 0 0 1px var(--bd); cursor: pointer; padding: 0; }
.ui-sw button[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--tx); }
.ui-toast { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); background: var(--tx); color: var(--bg); padding: 8px 14px; border-radius: 8px; z-index: 1070; display: none; }
.ui-toast.open { display: block; }
.mu { color: var(--mu); }

/* Inicio por tarjetas bajo el tema nuevo */
.ui-recientes { display: flex; flex-wrap: wrap; gap: 8px; }
.ui-recientes .mu { font-size: 11px; }
.ui-btn .ui-ini { width: 20px; height: 20px; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; color: #fff; }
html[data-ui="nuevo"] .tarjeta-modulo:hover, html[data-ui="nuevo"] .tarjeta-opcion:hover { box-shadow: 0 4px 14px rgba(0,0,0,.14); }
html[data-ui="nuevo"] .icono-modulo { border-radius: 8px; }
html[data-ui="nuevo"] .ingreso { max-width: 380px; margin: 10vh auto; }

@media (max-width: 760px) {
    .ui-app { flex-direction: column; }
    .ui-rail { width: 100%; flex-direction: row; overflow-x: auto; padding: 6px 8px; align-items: center; position: static; max-height: none; }
    .ui-rail .ui-marca, .ui-rail .ui-g, .ui-rail .ui-kb { display: none; }
    .ui-sbtn { min-width: 0; }
    .ui-sbtn span:first-child { display: none; }
    .ui-ai.open { position: fixed; right: 0; top: 0; bottom: 0; z-index: 1050; width: min(360px, 100%); }
    .ui-main { padding: 10px 12px 20px; }
}
@media print {
    .ui-rail, .ui-bar, .ui-ai, .ui-pal, .ui-pref, .ui-toast { display: none !important; }
    .ui-main { padding: 0; }
}

/* ---- Listas avanzadas (listas.js) ---- */
.lst-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; position: relative; }
.lst-sbox { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; flex: 1 1 320px; min-width: 240px; max-width: 640px; background: var(--sf); border: 1px solid var(--bd); border-radius: 6px; padding: 3px 6px; position: relative; }
.lst-sbox:focus-within { outline: 2px solid var(--ac); }
.lst-sbox input.lst-q { border: 0; flex: 1; min-width: 110px; padding: 3px 4px; background: transparent; color: var(--tx); font: inherit; width: auto; }
.lst-sbox input.lst-q:focus { outline: none; }
.lst-chip { display: inline-flex; gap: 2px; align-items: center; background: var(--nb); color: var(--nt); border-radius: 4px; padding: 1px 2px 1px 8px; font-size: 12px; white-space: nowrap; }
.lst-chip button { border: 0; background: none; color: inherit; cursor: pointer; font: inherit; padding: 0 5px; }
.lst-chip .lst-yo { font-weight: 600; text-transform: uppercase; font-size: 10px; background: var(--sf); border-radius: 3px; margin-right: 4px; }
.lst-sug, .lst-pop { position: absolute; top: 100%; left: 0; margin-top: 4px; background: var(--sf); border: 1px solid var(--bd); border-radius: 8px; z-index: 30; padding: 6px; min-width: 260px; max-height: 70vh; overflow: auto; box-shadow: 0 8px 24px rgba(0,0,0,.14); color: var(--tx); }
.lst-sug { right: 0; }
.lst-mi { display: flex; gap: 8px; width: 100%; font: inherit; color: var(--tx); background: none; border: 0; padding: 6px 8px; border-radius: 5px; cursor: pointer; text-align: left; align-items: center; }
.lst-mi:hover { background: var(--sf2); }
.lst-ck { display: inline-block; width: 16px; color: var(--ac); }
.lst-pop hr { margin: 6px 0; }
.lst-fp { display: flex; flex-direction: column; gap: 6px; min-width: 300px; }
.lst-fav { display: flex; gap: 4px; align-items: center; }
.lst-fav .lst-mi { flex: 1; }
.lst-col { display: flex; justify-content: space-between; align-items: center; padding: 3px 8px; gap: 8px; }
.lst-col label { display: flex; gap: 6px; align-items: center; cursor: pointer; }
.lst-col span button { border: 0; background: none; color: var(--mu); cursor: pointer; padding: 0 3px; font-size: 10px; }
.lst-col span button:disabled { opacity: .3; cursor: default; }
.lst-tg[aria-expanded="true"] { background: var(--sf2); border-color: var(--ac); }
.lst-cnt { font-size: 12px; }
th[draggable="true"] { position: relative; cursor: grab; }
th.lst-sobre { outline: 2px dashed var(--ac); outline-offset: -2px; }
.lst-sb { font: inherit; font-weight: 500; color: var(--mu); background: none; border: 0; padding: 0; cursor: pointer; white-space: nowrap; }
.lst-sb:hover { color: var(--tx); }
.lst-ar { color: var(--ac); font-size: 10px; }
.lst-rz { position: absolute; right: 0; top: 0; bottom: 0; width: 7px; cursor: col-resize; }
.lst-rz:hover { background: var(--ac); opacity: .35; }
tr.lst-grupo td { background: var(--sf2); font-weight: 500; }
.lst-gb { font: inherit; font-weight: 500; color: var(--tx); background: none; border: 0; cursor: pointer; padding: 0; }
.lst-flecha { display: inline-block; width: 1em; color: var(--mu); }
.lst-gs { margin-left: 12px; font-weight: 400; font-size: 12px; }
tfoot.lst-tot td { border-top: 1px solid var(--bd); font-weight: 600; background: var(--sf2); }

/* ---- Visor de informes bajo la interfaz nueva (informes-ui.js; ids y mecanismo intactos) ---- */
html[data-ui="nuevo"] #consulta { background: var(--sf) !important; border: 1px solid var(--bd) !important; border-radius: 8px; padding: 12px 14px !important; }
html[data-ui="nuevo"] #consulta .btn-group .btn { display: inline-flex; align-items: center; gap: 6px; }
html[data-ui="nuevo"] #consulta .btn-group .btn-secondary { --bs-btn-bg: var(--ac); --bs-btn-border-color: var(--ac); --bs-btn-color: #fff; }
html[data-ui="nuevo"] #consulta .btn-outline-secondary.dropdown-toggle, html[data-ui="nuevo"] #consulta .btn-outline-secondary[formtarget], html[data-ui="nuevo"] #consulta button[value="Excel"] { display: inline-flex; align-items: center; gap: 6px; }
html[data-ui="nuevo"] #consulta .inf-ico { padding-left: .5rem; padding-right: .5rem; }
html[data-ui="nuevo"] #consulta .inf-ico::after { display: none; }
html[data-ui="nuevo"] #consulta .badge.rounded-pill { background: var(--nb) !important; color: var(--nt) !important; border-radius: 4px; font-size: 12px; padding: 3px 4px 3px 8px; }
html[data-ui="nuevo"] #consulta .badge.rounded-pill .btn-close { filter: none; opacity: .6; }
html[data-ui="nuevo"] #consulta .badge.text-bg-success { background: var(--okb) !important; color: var(--okt) !important; }
html[data-ui="nuevo"] #lista thead th.ordenable { cursor: pointer; }
html[data-ui="nuevo"] #grafico { background: var(--sf) !important; border-color: var(--bd) !important; }

/* ---- Kanban de las listas (listas.js) ---- */
.lst-vistas button { padding: 4px 8px; }
.lst-kan { display: flex; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.lst-kcol { flex: 1 1 240px; min-width: 220px; background: var(--sf2); border: 1px solid var(--bd2); border-radius: 8px; padding: 8px; min-height: 140px; }
.lst-kcol h3 { margin: 0; padding: 2px 4px 8px; font-size: 13px; font-weight: 600; display: flex; justify-content: space-between; gap: 8px; }
.lst-kcard { padding: 9px 11px; margin-bottom: 8px; }
.lst-kt { font-weight: 600; margin-bottom: 4px; }
.lst-kl { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.lst-kn { font-variant-numeric: tabular-nums; }
.lst-kb { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 8px; }
.lst-kb form { display: inline; }

/* ---- Formularios de carga (fase 5): solo estilos sobre la estructura existente; ids, names y atajos intactos ---- */
html[data-ui="nuevo"] h1.h4 { font-weight: 600; }
html[data-ui="nuevo"] h1.h4 small { font-weight: 400; }
html[data-ui="nuevo"] .ui-main > .border.rounded, html[data-ui="nuevo"] .ui-main .mt-2.border.rounded, html[data-ui="nuevo"] .ui-main form.border.rounded, html[data-ui="nuevo"] .ui-main div.border.rounded.p-2 { background: var(--sf) !important; border: 1px solid var(--bd) !important; border-radius: 8px !important; padding: 12px 14px !important; }
html[data-ui="nuevo"] .ui-main .mt-2.border.rounded { padding: 10px 12px !important; }
html[data-ui="nuevo"] .form-label { color: var(--mu); font-size: 12px; margin-bottom: 2px; }
html[data-ui="nuevo"] .form-label.small { font-size: 11.5px; }
html[data-ui="nuevo"] .small.fw-semibold, html[data-ui="nuevo"] .h6 { color: var(--tx); font-weight: 600; }
html[data-ui="nuevo"] .input-group-text { background: var(--sf2); color: var(--mu); border-color: var(--bd); }
html[data-ui="nuevo"] .list-group.position-absolute.shadow { background: var(--sf); border: 1px solid var(--bd); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.14) !important; overflow: hidden; }
html[data-ui="nuevo"] .list-group.position-absolute .list-group-item { background: var(--sf); color: var(--tx); border-color: var(--bd2); }
html[data-ui="nuevo"] .list-group.position-absolute .list-group-item:hover, html[data-ui="nuevo"] .list-group.position-absolute .list-group-item.active { background: var(--ac); color: #fff; }
html[data-ui="nuevo"] .ui-main table.table thead.table-light th { background: var(--sf2); color: var(--mu); font-weight: 500; }
html[data-ui="nuevo"] .fs-5 { font-variant-numeric: tabular-nums; }
html[data-ui="nuevo"] .fs-5.d-flex, html[data-ui="nuevo"] .mt-3.fs-5 { background: var(--sf2); border: 1px solid var(--bd); border-radius: 8px; padding: 8px 12px; font-weight: 600; }
html[data-ui="nuevo"] .btn-sm { --bs-btn-border-radius: 5px; }
html[data-ui="nuevo"] .form-control-sm, html[data-ui="nuevo"] .form-select-sm { border-radius: 5px; }
html[data-ui="nuevo"] .ui-main .nav-tabs .nav-link.active { font-weight: 600; }
html[data-ui="nuevo"] .ui-main .tab-content { background: var(--sf); border: 1px solid var(--bd); border-top: 0; border-radius: 0 0 8px 8px; padding: 14px; }
html[data-ui="nuevo"] .text-danger { color: var(--err) !important; }
html[data-ui="nuevo"] .ui-main .btn-primary { font-weight: 500; }
html[data-ui="nuevo"] .form-check-input:checked { background-color: var(--ac); border-color: var(--ac); }
html[data-ui="nuevo"] .form-check-input { background-color: var(--sf); border-color: var(--bd); }
html[data-ui="nuevo"] .ui-main .card.shadow-sm { box-shadow: 0 4px 14px rgba(0,0,0,.08) !important; }
