/* Asientos y previsión: superficies de trabajo con la paleta del ERP. */
#contab-panel-asientos, #tes-prevision { min-width:0; }
.aw-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#contab-panel-asientos .ledger-toolbar { display:flex; gap:24px; align-items:center; margin-bottom:24px; flex-wrap:wrap; }
#contab-panel-asientos .ledger-search { position:relative; display:flex; align-items:center; flex:1 1 260px; min-width:0; margin:0; }
.ledger-search > svg { position:absolute; left:14px; color:var(--text-secondary); pointer-events:none; }
#contab-panel-asientos #search-asientos { width:100%; min-width:0; height:42px; padding:10px 14px 10px 42px; border:1px solid var(--border); border-radius:10px; background:var(--bg-input); color:var(--text-primary); font:inherit; font-size:14px; }
#contab-panel-asientos .toolbar-actions { display:flex; gap:10px; flex-wrap:wrap; }
:is(#contab-panel-asientos,#tes-prevision,#modal-asiento,#modal-registrar-factura,.ledger-detail) .btn { min-height:40px; font-size:13px; font-weight:500; box-shadow:none!important; border-radius:10px; }
#contab-panel-asientos .toolbar-actions .btn { white-space:nowrap; padding:10px 15px; gap:8px; }
#contab-panel-asientos .ledger-filter-row { display:flex; gap:18px; align-items:center; flex-wrap:wrap; border-bottom:1px solid var(--border); margin-bottom:20px; }
#contab-panel-asientos #filter-estado-asientos { display:flex; gap:24px; flex-wrap:wrap; margin:0!important; padding:0; overflow:visible; }
#contab-panel-asientos #filter-estado-asientos .filter-btn { min-height:44px; border:0!important; border-bottom:2px solid transparent!important; border-radius:0; padding:10px 0 13px; font-size:13px; font-weight:500; color:var(--text-secondary); background:transparent!important; box-shadow:none!important; }
#contab-panel-asientos #filter-estado-asientos .filter-btn.active { border-bottom-color:var(--accent)!important; color:var(--accent); }
.ledger-count { margin-left:auto; color:var(--text-secondary); font-size:12px; }
.ledger-reset { border:0; padding:8px 0; color:var(--accent); background:none; font:inherit; font-size:12px; cursor:pointer; }
.ledger-orden { display:flex; align-items:center; gap:6px; color:var(--text-secondary); font-size:12px; }
.ledger-orden select { min-height:30px; padding:2px 26px 2px 8px; font-size:12px; border-radius:8px; }
.ledger-aviso { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin:-8px 0 16px; padding:10px 14px; border:1px solid var(--accent-border, var(--border)); border-radius:10px; background:var(--accent-bg); color:var(--text-secondary); font-size:13px; }
.ledger-aviso .ledger-reset { padding:0; font-size:13px; font-weight:600; }
#contab-panel-asientos #vencimientos-bar { padding:12px 14px; margin:0 0 16px; font-size:13px; background:var(--accent-bg); border-radius:10px; }
:is(#contab-panel-asientos,#tes-prevision) .table-container { border:1px solid var(--border); border-radius:12px; box-shadow:none; overflow-x:auto; max-width:100%; }
:is(#tabla-asientos,#tabla-prevision) { font-size:13px; width:100%; border-collapse:collapse; }
:is(#tabla-asientos,#tabla-prevision) th { padding:13px 16px; font-weight:500; font-size:12px; white-space:nowrap; background:var(--accent-bg)!important; color:var(--accent)!important; }
:is(#tabla-asientos,#tabla-prevision) td { padding:17px 16px; vertical-align:middle; border-bottom:1px solid var(--border); line-height:1.5; }
:is(#tabla-asientos,#tabla-prevision) tr:last-child td { border-bottom:0; }
:is(#tabla-asientos,#tabla-prevision) strong { font-weight:550; }
#tabla-asientos { min-width:880px; }
#tabla-asientos td:first-child { width:170px; white-space:nowrap; }
#tabla-asientos .ledger-concept { min-width:230px; max-width:490px; overflow-wrap:anywhere; }
:is(#tabla-asientos,#tabla-prevision) .aw-num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
#tabla-asientos td.aw-num { font-weight:500; min-width:110px; color:var(--text-primary); }
.aw-sub { display:block; font-size:11.5px; font-weight:400; line-height:1.6; margin-top:4px; color:var(--text-secondary); }
.ledger-entry-link { border:0; background:none; padding:0; font:inherit; font-weight:550; color:var(--accent); cursor:pointer; text-align:left; text-underline-offset:4px; }
.ledger-state { display:inline-flex; gap:6px; align-items:center; padding:5px 9px; font-size:11.5px; font-weight:500; white-space:nowrap; border-radius:7px; background:var(--bg-hover); color:var(--text-secondary); }
.ledger-state-contabilizado { background:var(--accent-bg); color:var(--accent); }
.ledger-state-borrador { background:var(--warning-bg); color:var(--warning); }
.ledger-state-anulado { background:var(--danger-bg); color:var(--danger); }
#tabla-asientos .action-btns { flex-wrap:nowrap; justify-content:flex-end; gap:8px; }
#tabla-asientos .ra-btn { width:34px; height:34px; border:1px solid var(--border); border-radius:8px; background:transparent; }
#tabla-asientos .ra-primary { padding:8px 10px; font-size:12px; font-weight:500; background:var(--accent-bg); color:var(--accent); border:0; box-shadow:none; }
#contab-panel-asientos .contab-pagination { margin-top:10px; }
.aw-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:12px 0 24px; }
.aw-section-heading h3 { margin:0 0 7px; font-size:20px; font-weight:600; letter-spacing:-.3px; }
.aw-section-heading p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.6; }
#tes-prevision .prev-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:23px 6px; margin-bottom:20px; border-radius:16px; background:var(--accent-bg); }
.prev-summary > div { min-width:0; padding:0 22px; }
.prev-summary > div+div { border-left:1px solid var(--accent-border); }
.prev-summary span { display:block; font-size:12px; color:var(--text-secondary); margin-bottom:10px; }
#tes-prevision .prev-summary strong { font-size:24px; font-weight:550; color:var(--accent); letter-spacing:-.4px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#tes-prevision .prev-negative { color:var(--danger)!important; }
.prev-overdue { display:flex; align-items:center; flex-wrap:wrap; gap:18px 34px; margin:0 0 24px; padding:17px 0; border-bottom:1px solid var(--border); }
.prev-overdue > div { display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; }
.prev-overdue span { font-size:12px; color:var(--text-secondary); }
.prev-overdue strong { font-size:14px; font-weight:550; font-variant-numeric:tabular-nums; white-space:nowrap; }
.prev-overdue p { margin:0; flex-basis:100%; color:var(--text-secondary); font-size:12px; }
.prev-method { margin:18px 0 26px; font-size:12px; color:var(--text-secondary); }
.prev-method summary { cursor:pointer; padding:6px 0; }
.prev-method p { max-width:90ch; line-height:1.7; margin:10px 0 0; }
.prev-list-heading { display:flex; gap:20px; align-items:center; justify-content:space-between; margin-bottom:14px; }
.prev-list-heading h4 { margin:0; font-size:16px; font-weight:600; }
.prev-list-heading span { font-size:12px; color:var(--text-secondary); }
#tabla-prevision { min-width:920px; }
#tabla-prevision .prev-date { min-width:108px; white-space:nowrap; }
#tabla-prevision .prev-third { min-width:210px; max-width:350px; overflow-wrap:anywhere; }
#tabla-prevision .prev-in { color:var(--accent); }
#tabla-prevision .prev-out { color:var(--text-primary); }
#tabla-prevision .prev-balance { font-weight:550; background:color-mix(in srgb,var(--accent-bg) 40%,transparent); }
#tabla-prevision .prev-late { color:var(--warning); white-space:normal; }
.prev-pagination { display:flex; gap:16px; justify-content:space-between; align-items:center; padding:20px 0 0; }
.prev-pagination span { font-size:12px; color:var(--text-secondary); }
.aw-load-state { padding:12px 14px; font-size:13px; color:var(--text-secondary); background:var(--bg-hover); border-radius:8px; margin:10px 0; }
#tes-prevision #prev-avisos { font-size:13px; color:var(--warning); }
#tes-prevision #prev-avisos summary { cursor:pointer; padding:12px 14px; background:var(--warning-bg); border-radius:9px; }
#tes-prevision #prev-avisos details p { padding:0 14px; line-height:1.6; color:var(--text-secondary); }
.aw-scroll-hint { display:none; font-size:12px; color:var(--text-secondary); margin:0 0 10px; }
/* Formularios: la ayuda tiene su espacio; los importes siguen siendo protagonistas. */
#modal-asiento .modal-content { width:1040px; max-width:calc(100vw - 40px); }
:is(#modal-asiento,#modal-registrar-factura,.ledger-detail) .modal-header h3 { font-size:23px; letter-spacing:-.4px; }
#modal-asiento .asi-subtit { max-width:75ch; font-size:13px; line-height:1.6; }
#modal-asiento .asi-ia { margin:0 0 28px; padding:20px!important; background:var(--accent-bg)!important; border:0!important; box-shadow:none!important; border-radius:14px; }
#modal-asiento .asi-ia-cab { flex-wrap:wrap; gap:5px 14px; margin-bottom:14px; color:var(--accent); }
#modal-asiento .asi-ia-cab b { font-weight:550; font-size:14px; }
#modal-asiento .asi-ia-hint { font-size:12px; color:var(--accent); }
#modal-asiento .asi-ia-fila input { min-width:0; font-size:14px; }
#modal-asiento .asi-chip { border-radius:7px; font-size:12px; padding:7px 10px; color:var(--accent); background:transparent; border-color:var(--accent-border); }
#modal-asiento .form-grid { gap:18px; }
#modal-asiento .form-group label { font-size:12px; font-weight:500; }
#modal-asiento .form-group :is(input,select,textarea) { font-size:14px; min-height:42px; border-radius:9px; box-shadow:none; }
#modal-asiento .asi-partidas-cab { margin-top:26px; margin-bottom:14px; }
#modal-asiento .asi-partidas-cab h4 { font-size:16px; font-weight:600; }
#modal-asiento .asi-partidas-acc { flex-wrap:wrap; }
#modal-asiento .asi-cuadre { font-size:12px; font-weight:500; border-radius:7px; }
#modal-asiento .asi-tabla-wrap { padding:0; background:var(--bg-card); }
#modal-asiento .asi-tabla th { font-size:12px; font-weight:500; padding:12px; background:var(--accent-bg); color:var(--accent); }
#modal-asiento .asi-tabla td { padding:10px; }
#modal-asiento .asi-tot-lbl { font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; }
#modal-asiento .asi-tabla tfoot { background:var(--accent-bg); }
#modal-asiento .asi-tabla tfoot strong { font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
#modal-asiento .asi-ayuda { font-size:12px; line-height:1.6; margin:12px 0 24px; }
.ledger-detail .va-info { background:var(--accent-bg); border-radius:12px; padding:20px; }
.ledger-detail .va-val { font-size:15px; font-weight:550; }
.ledger-detail .va-concepto { font-size:15px; line-height:1.6; }
.ledger-detail .va-tabla { font-size:13px; min-width:600px; }
.ledger-detail .va-tabla th { font-size:12px; font-weight:500; background:var(--accent-bg); }
.ledger-detail .va-tabla :is(td,th) { padding:14px; }
:is(#contab-panel-asientos,#tes-prevision,#modal-asiento,#modal-registrar-factura,.ledger-detail) :is(button,input,select,textarea,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
:is(#contab-panel-asientos,#tes-prevision,#modal-asiento) button { transition:transform 160ms cubic-bezier(.23,1,.32,1); }
:is(#contab-panel-asientos,#tes-prevision,#modal-asiento) button:active:not(:disabled):not(:focus-visible) { transform:scale(.98); }
@media(hover:hover) and (pointer:fine) { .ledger-entry-link:hover { text-decoration:underline; } #tabla-asientos tbody tr:hover, #tabla-prevision tbody tr:hover { background:var(--bg-hover); } }
@media(max-width:1150px) {
  #tes-prevision .prev-summary strong { font-size:21px; }
  .prev-summary > div { padding:0 14px; }
  #contab-panel-asientos .ledger-count { margin-left:0; }
  #contab-panel-asientos .ledger-filter-row { gap:10px 20px; padding-bottom:10px; }
}
@media(max-width:680px) {
  #contab-panel-asientos .ledger-toolbar { gap:14px; }
  #contab-panel-asientos .ledger-search, #contab-panel-asientos .toolbar-actions { flex-basis:100%; }
  #contab-panel-asientos .toolbar-actions .btn { flex:1; white-space:normal; }
  #contab-panel-asientos #filter-estado-asientos { gap:18px; overflow-x:auto; flex-wrap:nowrap; width:100%; }
  #contab-panel-asientos #filter-estado-asientos .filter-btn { flex-shrink:0; }
  .aw-section-heading { align-items:flex-start; }
  .aw-section-heading h3 { font-size:18px; }
  .aw-section-heading p { font-size:12px; }
  .aw-section-heading .btn { flex-shrink:0; }
  #tes-prevision .prev-summary { grid-template-columns:1fr; padding:4px 18px; }
  .prev-summary > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 0; }
  .prev-summary > div+div { border-left:0; border-top:1px solid var(--accent-border); }
  .prev-summary span { margin:0; max-width:115px; line-height:1.5; }
  #tes-prevision .prev-summary strong { font-size:20px; letter-spacing:-.3px; }
  .prev-overdue { gap:15px; }
  .prev-overdue > div { justify-content:space-between; width:100%; }
  .aw-scroll-hint { display:block; }
  .prev-pagination { flex-wrap:wrap; }
  .prev-pagination span { order:-1; flex-basis:100%; text-align:center; }
  :is(#contab-panel-asientos,#tes-prevision,#modal-asiento) :is(.btn,.ra-btn,.asi-chip) { min-height:44px; }
  #modal-asiento .modal-content { max-width:100%; width:100%; }
  #modal-asiento .asi-ia { padding:16px!important; }
  #modal-asiento .asi-ia-fila { flex-direction:column; }
  #modal-asiento .form-grid-3 { grid-template-columns:1fr 1fr; }
  #modal-asiento .form-grid-3 .form-group:nth-child(3) { grid-column:1/-1; }
  #modal-asiento .asi-partidas-cab { align-items:flex-start; flex-direction:column; }
  #modal-asiento .asi-tabla thead { display:none; }
  #modal-asiento .asi-tabla tbody tr { display:grid; grid-template-columns:1fr 1fr 44px; padding:10px; border-bottom:1px solid var(--border); }
  #modal-asiento .asi-tabla tbody td { border:0; padding:5px; min-width:0; }
  #modal-asiento .asi-tabla tbody td:nth-child(-n+2) { grid-column:1/-1; }
  #modal-asiento .asi-tabla tbody td:nth-child(3)::before { content:'Debe'; }
  #modal-asiento .asi-tabla tbody td:nth-child(4)::before { content:'Haber'; }
  #modal-asiento .asi-tabla tbody td:nth-child(n+3)::before { display:block; text-align:left; font-size:12px; color:var(--text-secondary); margin-bottom:7px; }
  #modal-asiento .asi-tabla tbody td:last-child { align-self:end; }
  #modal-asiento .asi-tabla, #modal-asiento .asi-tabla tbody, #modal-asiento .asi-tabla tfoot { display:block; width:100%; }
  #modal-asiento .asi-tabla tfoot tr { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; }
  #modal-asiento .asi-tabla tfoot tr.hidden { display:none; }
  #modal-asiento .asi-tabla tfoot td:last-child { display:none; }
  #modal-asiento .asi-tabla input { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(#contab-panel-asientos,#tes-prevision,#modal-asiento) button { transition:none; }
  :is(#contab-panel-asientos,#tes-prevision,#modal-asiento) button:active:not(:disabled):not(:focus-visible) { transform:none; }
}

/* Balances: jerarquía de informe, con las cuentas disponibles al desplegar. */
#contab-panel-balances { min-width:0; }
#contab-panel-balances .contab-panel-header { margin-bottom:28px; }
#contab-panel-balances #filter-tipo-balance { display:flex; flex-wrap:nowrap; gap:26px; width:100%; padding:0; margin:0; border-bottom:1px solid var(--border); overflow-x:auto; }
#contab-panel-balances #filter-tipo-balance .filter-btn { flex-shrink:0; min-height:46px; padding:12px 0 14px; border:0!important; border-bottom:2px solid transparent!important; border-radius:0; background:transparent!important; box-shadow:none!important; color:var(--text-secondary); font-size:13px; font-weight:500; }
#contab-panel-balances #filter-tipo-balance .filter-btn.active { color:var(--accent); border-bottom-color:var(--accent)!important; }
#contab-panel-balances :is(.bal-cab,.bal-report-heading) { margin:0 0 24px; }
#contab-panel-balances :is(.bal-cab,.bal-report-heading) h2 { margin:0 0 8px; font-size:20px; font-weight:600; letter-spacing:-.3px; }
#contab-panel-balances .bal-report-heading p { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.6; }
#contab-panel-balances .bal-periodo { gap:12px; flex-wrap:wrap; font-size:12px; }
#contab-panel-balances .bal-match { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:500; color:var(--accent); background:var(--accent-bg); border-radius:7px; padding:5px 8px; }
#contab-panel-balances .bal-match-error { background:var(--danger-bg); color:var(--danger); }
#contab-panel-balances .bal-cab-acc { gap:10px; }
#contab-panel-balances .btn { min-height:38px; padding:8px 12px; box-shadow:none!important; border-radius:9px; font-size:12px; font-weight:500; }
#contab-panel-balances .bal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
#contab-panel-balances .bal-col { min-width:0; border-radius:12px; box-shadow:none; }
#contab-panel-balances :is(.bal-head,.pyg-c-title) { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 18px; background:var(--accent-bg); color:var(--accent); font-size:14px; font-weight:600; text-transform:none; letter-spacing:0; }
#contab-panel-balances :is(.bal-head,.pyg-c-title) > span:last-child { font-size:11px; font-weight:400; white-space:nowrap; }
#contab-panel-balances .bal-masa { gap:16px; padding:15px 18px; font-size:13px; font-weight:600; background:var(--bg-input); border-top:1px solid var(--border); }
#contab-panel-balances .bal-masa > span:last-child { white-space:nowrap; }
#contab-panel-balances .bal-ep summary { padding:14px 18px; min-height:55px; font-size:13px; gap:16px; }
#contab-panel-balances .bal-ep-nombre { display:flex; gap:10px; align-items:center; font-weight:400; min-width:0; }
#contab-panel-balances .bal-chev { flex-shrink:0; width:14px; height:14px; transition:transform 180ms cubic-bezier(.23,1,.32,1); }
#contab-panel-balances .bal-ep-label { min-width:0; line-height:1.5; }
#contab-panel-balances .bal-ep-label small { display:block; margin-top:3px; font-size:11px; }
#contab-panel-balances .bal-ep-total { font-weight:500; font-size:13px; }
#contab-panel-balances .bal-cuentas { border-top:1px solid var(--border); background:var(--bg-input); }
#contab-panel-balances .bal-cuenta { grid-template-columns:90px minmax(0,1fr) auto; gap:12px; padding:12px 18px 12px 42px; font-size:12px; border-bottom:1px solid var(--border); line-height:1.6; }
#contab-panel-balances .bal-cuenta code { font-family:inherit; font-weight:500; font-size:11px; overflow-wrap:anywhere; }
#contab-panel-balances .bal-cuenta > span:nth-child(2) { overflow-wrap:anywhere; }
#contab-panel-balances .bal-total { gap:16px; padding:20px 18px; font-size:14px; font-weight:600; color:var(--accent); border-top:1px solid var(--accent-border); }
#contab-panel-balances .bal-total > span:last-child { white-space:nowrap; }
#contab-panel-balances .pyg-report-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:28px; align-items:start; }
#contab-panel-balances .pyg-cascada { width:100%; max-width:none; margin:0; border-radius:12px; }
#contab-panel-balances .pyg-c-row { padding:14px 18px; gap:24px; font-size:13px; line-height:1.6; }
#contab-panel-balances .pyg-c-row > span:last-child { white-space:nowrap; }
#contab-panel-balances .pyg-c-sub { background:var(--bg-input); font-weight:550; }
#contab-panel-balances .pyg-c-total { padding:20px 18px; background:var(--accent-bg); color:var(--accent); border-top:1px solid var(--accent-border); font-size:14px; font-weight:600; }
#contab-panel-balances .pyg-account-breakdown { min-width:0; padding-top:4px; }
#contab-panel-balances .pyg-account-breakdown > h3 { font-size:16px; font-weight:600; margin:0 0 8px; }
#contab-panel-balances .pyg-account-breakdown > p { font-size:12px; color:var(--text-secondary); line-height:1.6; margin:0 0 22px; }
#contab-panel-balances .pyg-account-group { border-bottom:1px solid var(--border); }
#contab-panel-balances .pyg-account-group summary { display:flex; gap:12px; align-items:center; list-style:none; padding:17px 0; cursor:pointer; font-size:14px; font-weight:500; }
#contab-panel-balances .pyg-account-group summary::-webkit-details-marker { display:none; }
#contab-panel-balances .pyg-account-group small { display:block; color:var(--text-secondary); font-size:11px; font-weight:400; margin-top:4px; }
#contab-panel-balances .pyg-group-amount { margin-left:auto; font-variant-numeric:tabular-nums; white-space:nowrap; font-size:13px; }
#contab-panel-balances .pyg-group-chevron { flex-shrink:0; color:var(--text-secondary); transition:transform 180ms cubic-bezier(.23,1,.32,1); }
#contab-panel-balances .pyg-account-group[open] .pyg-group-chevron { transform:rotate(90deg); }
#contab-panel-balances .pyg-account-table { max-height:440px; overflow:auto; margin:0 0 18px; border:1px solid var(--border); border-radius:9px; }
#contab-panel-balances .pyg-account-table .data-table { min-width:430px; }
#contab-panel-balances .data-table :is(th,td) { padding:13px 14px; font-size:12px; }
#contab-panel-balances .data-table th { background:var(--accent-bg)!important; color:var(--accent)!important; font-weight:500; white-space:nowrap; }
#contab-panel-balances .data-table code { font-family:inherit; font-size:11px; font-weight:500!important; }
#contab-panel-balances .data-table td:last-child { font-variant-numeric:tabular-nums; white-space:nowrap; }
#contab-panel-balances .data-table tfoot td { background:var(--accent-bg); border-top:1px solid var(--accent-border); color:var(--accent); }
#contab-panel-balances .data-table tfoot strong { font-weight:600; }
#contab-panel-balances .pyg-resultado { padding:18px 0; margin:12px 0 0; gap:16px; border:0; background:transparent; font-size:12px; color:var(--text-secondary); }
#contab-panel-balances .pyg-resultado-valor { font-size:16px; font-weight:550; white-space:nowrap; font-variant-numeric:tabular-nums; }
#contab-panel-balances :is(button,summary,[tabindex]):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#contab-panel-balances ::selection { color:var(--accent); background:var(--accent-bg); }
@media(hover:hover) and (pointer:fine) { #contab-panel-balances .pyg-account-group summary:hover { color:var(--accent); } }
@media(max-width:1150px) {
  #contab-panel-balances :is(.bal-grid,.pyg-report-layout) { grid-template-columns:1fr; }
  #contab-panel-balances .pyg-account-breakdown { padding-top:8px; }
}
@media(max-width:680px) {
  #contab-panel-balances #filter-tipo-balance { gap:22px; }
  #contab-panel-balances .bal-cab { align-items:flex-start; gap:16px; }
  #contab-panel-balances .bal-cab-acc { width:100%; }
  #contab-panel-balances .bal-cab-acc .btn { flex:1; min-height:44px; }
  #contab-panel-balances :is(.bal-cab,.bal-report-heading) h2 { font-size:18px; }
  #contab-panel-balances :is(.bal-head,.bal-masa,.bal-total) { padding:16px 12px; font-size:13px; }
  #contab-panel-balances .bal-ep summary { padding:14px 12px; gap:10px; }
  #contab-panel-balances .bal-ep-total { font-size:12px; }
  #contab-panel-balances .bal-ep-nombre { gap:6px; }
  #contab-panel-balances .bal-cuenta { grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:12px 12px 12px 32px; }
  #contab-panel-balances .bal-cuenta > span:nth-child(2) { grid-column:1; grid-row:2; }
  #contab-panel-balances .bal-cuenta-val { grid-column:2; grid-row:1/3; align-self:center; }
  #contab-panel-balances .pyg-c-row { padding:14px 12px; gap:14px; font-size:12px; }
  #contab-panel-balances .pyg-c-title { padding:17px 12px; font-size:13px; }
  #contab-panel-balances .pyg-c-total { font-size:13px; }
  #contab-panel-balances .pyg-resultado { flex-direction:row; align-items:center; }
}
@media(prefers-reduced-motion:reduce) { #contab-panel-balances :is(.bal-chev,.pyg-group-chevron) { transition:none; } }
/* Mantener los totales dentro de la cuadrícula de sus tablas. */
#contab-panel-balances .data-table tfoot tr { display:table-row; }
#contab-panel-balances .data-table tfoot td { border-top:1px solid var(--accent-border)!important; }
#contab-panel-balances .pyg-account-table .data-table { table-layout:fixed; }
#contab-panel-balances .pyg-account-table th:first-child { width:104px; }
#contab-panel-balances .pyg-account-table th:last-child { width:125px; }
#contab-panel-balances .pyg-account-table td:nth-child(2) { overflow-wrap:anywhere; }
#contab-panel-balances .pyg-resultado { background:transparent!important; }
:is(#contab-panel-asientos,#tes-prevision,#contab-panel-balances) { --danger:#b23d35; }
[data-theme="dark"] :is(#contab-panel-asientos,#tes-prevision,#contab-panel-balances) { --danger:#f6a5a0; }
@media(max-width:680px) { #contab-panel-balances .bal-cab-acc .btn { min-width:130px; white-space:nowrap; } }
