#page-contabilidad.page.active { overflow: auto; }
#page-contabilidad .contabilidad-shell { display: grid; gap: 14px; min-height: 100%; padding-bottom: 12px; }
#page-contabilidad .contabilidad-hero {
    display: flex; align-items: center; justify-content: space-between; gap: 18px;
    padding: 20px; border: 1px solid rgba(0, 175, 240, .24); border-radius: 18px;
    background: linear-gradient(120deg, rgba(0, 175, 240, .11), rgba(62, 207, 142, .09));
}
#page-contabilidad .contabilidad-eyebrow, #modal-cuenta-contable .contabilidad-eyebrow {
    margin-bottom: 5px; color: var(--accent); font: 500 11px/1.2 "DM Mono", monospace; letter-spacing: .12em;
}
#page-contabilidad .contabilidad-hero-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
#page-contabilidad .contabilidad-roadmap { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
#page-contabilidad .contabilidad-roadmap-item {
    display: grid; grid-template-columns: 28px 1fr; column-gap: 9px; padding: 12px;
    border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--text2);
}
#page-contabilidad .contabilidad-roadmap-item > span {
    grid-row: 1 / 3; display: grid; place-items: center; width: 28px; height: 28px;
    border-radius: 50%; background: var(--surface2); color: var(--text2); font: 500 12px "DM Mono", monospace;
}
#page-contabilidad .contabilidad-roadmap-item strong { color: var(--text); font-size: 13px; }
#page-contabilidad .contabilidad-roadmap-item small { margin-top: 2px; color: var(--text3); font-size: 11px; }
#page-contabilidad .contabilidad-roadmap-item.active { border-color: rgba(0, 175, 240, .35); background: rgba(0, 175, 240, .06); }
#page-contabilidad .contabilidad-roadmap-item.active > span { background: var(--accent); color: #fff; }
#page-contabilidad .contabilidad-roadmap-item.complete > span { background: rgba(62, 207, 142, .16); color: #168759; }
#page-contabilidad .contabilidad-view-tabs {
    display: flex; gap: 8px; padding: 7px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface);
}
#page-contabilidad .contabilidad-view-tab {
    flex: 1; min-height: 42px; border: 1px solid transparent; border-radius: 10px; background: transparent;
    color: var(--text2); font: 600 12px "DM Mono", monospace; cursor: pointer;
}
#page-contabilidad .contabilidad-view-tab.active { border-color: rgba(0, 175, 240, .35); background: rgba(0, 175, 240, .09); color: var(--accent); }
#page-contabilidad #contabilidad-vista-catalogo, #page-contabilidad #contabilidad-vista-polizas, #page-contabilidad #contabilidad-vista-reportes, #page-contabilidad #contabilidad-vista-fiscal { display: grid; gap: 14px; min-width: 0; }
#page-contabilidad #contabilidad-vista-catalogo[hidden], #page-contabilidad #contabilidad-vista-polizas[hidden], #page-contabilidad #contabilidad-vista-reportes[hidden], #page-contabilidad #contabilidad-vista-fiscal[hidden] { display: none; }
#page-contabilidad .contabilidad-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#page-contabilidad .contabilidad-summary--fiscal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#page-contabilidad .contabilidad-stat { min-width: 0; padding: 15px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
#page-contabilidad .contabilidad-stat span { display: block; color: var(--text3); font: 500 10px/1.3 "DM Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
#page-contabilidad .contabilidad-stat strong { display: block; margin: 5px 0 3px; color: var(--text); font-size: 24px; }
#page-contabilidad .contabilidad-stat small { display: block; color: var(--text2); font-size: 11px; }
#page-contabilidad .contabilidad-stat--warning strong { color: #b7791f; }
#page-contabilidad .contabilidad-card { overflow: hidden; }
#page-contabilidad .contabilidad-automation-card {
    border-color: rgba(62, 207, 142, .34);
    background: linear-gradient(145deg, rgba(62, 207, 142, .075), var(--surface) 42%);
}
#page-contabilidad .contabilidad-automation-metrics {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px;
    padding: 0 18px 14px;
}
#page-contabilidad .contabilidad-automation-metrics > div {
    min-width: 0; padding: 11px 12px; border: 1px solid var(--border);
    border-radius: 11px; background: var(--surface);
}
#page-contabilidad .contabilidad-automation-metrics span {
    display: block; color: var(--text3); font: 500 9px/1.35 "DM Mono", monospace;
    text-transform: uppercase;
}
#page-contabilidad .contabilidad-automation-metrics strong {
    display: block; margin: 4px 0 2px; color: var(--text); font-size: 19px;
}
#page-contabilidad .contabilidad-automation-metrics small {
    display: block; color: var(--text2); font-size: 10px;
}
#page-contabilidad .contabilidad-exception-inbox {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 9px;
    padding: 0 18px 16px;
}
#page-contabilidad .contabilidad-exception-inbox > .loading,
#page-contabilidad .contabilidad-exception-inbox > .contabilidad-empty {
    grid-column: 1 / -1;
}
#page-contabilidad .contabilidad-exception-item {
    display: grid; gap: 6px; padding: 12px; border: 1px solid rgba(217, 149, 0, .28);
    border-radius: 11px; background: rgba(217, 149, 0, .055);
}
#page-contabilidad .contabilidad-exception-item.is-high {
    border-color: rgba(214, 69, 82, .3); background: rgba(214, 69, 82, .05);
}
#page-contabilidad .contabilidad-exception-item-head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 10px;
}
#page-contabilidad .contabilidad-exception-item-head strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-exception-item-head span { white-space: nowrap; color: var(--text); font: 600 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-exception-item p { margin: 0; color: var(--text2); font-size: 10px; line-height: 1.45; }
#page-contabilidad .contabilidad-exception-item small { color: var(--text3); font-size: 9px; line-height: 1.45; }
#page-contabilidad .contabilidad-exception-cases { border-top: 1px solid var(--border); padding-top: 6px; }
#page-contabilidad .contabilidad-exception-cases summary { color: var(--accent); font-size: 10px; font-weight: 600; cursor: pointer; }
#page-contabilidad .contabilidad-exception-cases > div { display: grid; gap: 6px; max-height: 220px; margin-top: 7px; overflow: auto; }
#page-contabilidad .contabilidad-exception-cases p { display: grid; gap: 2px; padding: 6px; border-radius: 7px; background: var(--surface); }
#page-contabilidad .contabilidad-exception-cases p strong { color: var(--text); font-size: 10px; }
#page-contabilidad .contabilidad-exception-cases p span { color: var(--text3); font-size: 9px; }
#page-contabilidad #contabilidad-automatizacion-msg { margin: 0 18px 14px; }
#page-contabilidad .contabilidad-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 17px 18px 12px; }
#page-contabilidad .contabilidad-card-head h2 { color: var(--text); font-size: 17px; }
#page-contabilidad .contabilidad-card-head p { margin-top: 4px; color: var(--text2); font-size: 12px; }
#page-contabilidad .contabilidad-filters { display: grid; grid-template-columns: minmax(240px, 1fr) 210px auto auto; gap: 10px; align-items: center; padding: 0 18px 14px; }
#page-contabilidad .contabilidad-toggle { display: inline-flex; align-items: center; gap: 7px; color: var(--text2); font-size: 12px; white-space: nowrap; }
#page-contabilidad #contabilidad-inline-msg { margin: 0 18px 12px; }
#page-contabilidad .contabilidad-table-wrap { overflow: auto; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-table { width: 100%; min-width: 920px; border-collapse: collapse; }
#page-contabilidad .contabilidad-table th { padding: 9px 12px; background: var(--surface2); color: var(--text3); font: 500 10px "DM Mono", monospace; text-align: left; text-transform: uppercase; }
#page-contabilidad .contabilidad-table td { padding: 11px 12px; border-top: 1px solid var(--border); color: var(--text2); font-size: 12px; vertical-align: middle; }
#page-contabilidad .contabilidad-table tbody tr:hover { background: var(--table-row-hover-accent-bg); }
#page-contabilidad .contabilidad-reclasificacion-card { border-color: rgba(0, 175, 240, .28); }
#page-contabilidad .contabilidad-reclasificacion-card .inline-msg { margin: 0 18px 14px; }
#page-contabilidad .contabilidad-reclasificacion-table { min-width: 1120px; }
#page-contabilidad .contabilidad-reclasificacion-accounts { display: grid; gap: 4px; min-width: 235px; }
#page-contabilidad .contabilidad-reclasificacion-accounts small { color: var(--text3); font: 500 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-reclasificacion-issues { margin: 0; padding-left: 18px; color: #b33442; font-size: 10px; }
#page-contabilidad .contabilidad-account { display: grid; grid-template-columns: auto 1fr; column-gap: 9px; align-items: center; min-width: 220px; }
#page-contabilidad .contabilidad-level { color: var(--text3); font: 500 11px "DM Mono", monospace; white-space: pre; }
#page-contabilidad .contabilidad-account strong { color: var(--text); font-size: 13px; }
#page-contabilidad .contabilidad-account small { grid-column: 2; color: var(--text3); font-size: 10px; }
#page-contabilidad .contabilidad-code { color: var(--text2); font: 500 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-pill { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; background: var(--surface2); color: var(--text2); font: 500 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-pill--ok { background: rgba(62, 207, 142, .14); color: #168759; }
#page-contabilidad .contabilidad-pill--warning { background: rgba(247, 201, 79, .18); color: #9a6a00; }
#page-contabilidad .contabilidad-pill--off { background: rgba(143, 148, 155, .14); color: var(--text3); }
#page-contabilidad .contabilidad-empty { padding: 42px 20px; color: var(--text2); text-align: center; }
#page-contabilidad .contabilidad-import-card { border-color: rgba(0, 175, 240, .28); background: linear-gradient(145deg, rgba(0, 175, 240, .055), var(--surface) 46%); }
#page-contabilidad .contabilidad-import-controls[hidden], #page-contabilidad .contabilidad-import-results[hidden], #page-contabilidad .contabilidad-import-review[hidden], #page-contabilidad .contabilidad-import-next[hidden], #page-contabilidad .contabilidad-import-sat-toolbar[hidden], #page-contabilidad #contabilidad-limpiar-simulacion[hidden], #page-contabilidad #contabilidad-confirmar-clasificaciones[hidden], #page-contabilidad #contabilidad-confirmar-agrupadores-sat[hidden], #page-contabilidad #contabilidad-importar-catalogo[hidden] { display: none !important; }
#page-contabilidad .contabilidad-import-controls { display: grid; grid-template-columns: minmax(280px, 1fr) auto auto; gap: 10px; align-items: end; padding: 0 18px 12px; }
#page-contabilidad .contabilidad-import-file { display: grid; gap: 6px; min-width: 0; color: var(--text2); font-size: 11px; }
#page-contabilidad .contabilidad-import-file > span { color: var(--text3); font: 500 10px "DM Mono", monospace; text-transform: uppercase; }
#page-contabilidad .contabilidad-import-file input { width: 100%; min-height: 38px; padding: 7px 10px; border: 1px dashed rgba(0, 175, 240, .38); border-radius: 10px; background: var(--surface); color: var(--text2); font-size: 11px; }
#page-contabilidad .contabilidad-import-note { margin: 0 18px 15px; padding: 10px 12px; border: 1px solid rgba(0, 175, 240, .22); border-radius: 10px; background: rgba(0, 175, 240, .05); color: var(--text2); font-size: 11px; }
#page-contabilidad #contabilidad-importar-balanza-msg { margin: 0 18px 15px; }
#page-contabilidad .contabilidad-import-results { display: grid; gap: 14px; padding: 16px 18px 18px; border-top: 1px solid var(--border); background: var(--surface2); }
#page-contabilidad .contabilidad-import-result-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
#page-contabilidad .contabilidad-import-result-head > div { display: grid; gap: 3px; min-width: 0; }
#page-contabilidad .contabilidad-import-result-head span:first-child { color: var(--text3); font: 500 10px "DM Mono", monospace; text-transform: uppercase; }
#page-contabilidad .contabilidad-import-result-head strong { color: var(--text); font-size: 16px; }
#page-contabilidad .contabilidad-import-result-head small { overflow: hidden; color: var(--text2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-import-summary { margin: 0; }
#page-contabilidad .contabilidad-import-care-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#page-contabilidad .contabilidad-import-care { display: grid; grid-template-columns: auto 1fr; gap: 5px 9px; align-items: center; padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
#page-contabilidad .contabilidad-import-care > strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-import-care > small { grid-column: 1 / -1; color: var(--text2); font-size: 10px; line-height: 1.45; }
#page-contabilidad .contabilidad-import-care--ok { border-color: rgba(62, 207, 142, .3); background: rgba(62, 207, 142, .055); }
#page-contabilidad .contabilidad-import-care--pendiente { border-color: rgba(247, 201, 79, .34); background: rgba(247, 201, 79, .06); }
#page-contabilidad .contabilidad-import-care--error { border-color: rgba(229, 83, 83, .32); background: rgba(229, 83, 83, .055); }
#page-contabilidad .contabilidad-import-financial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#page-contabilidad .contabilidad-import-financial-card { display: grid; gap: 4px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
#page-contabilidad .contabilidad-import-financial-card span { color: var(--text3); font: 500 10px "DM Mono", monospace; text-transform: uppercase; }
#page-contabilidad .contabilidad-import-financial-card strong { color: var(--text); font: 650 17px "DM Mono", monospace; }
#page-contabilidad .contabilidad-import-financial-card small { color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-import-financial-card--result { border-color: rgba(62, 207, 142, .3); background: rgba(62, 207, 142, .065); }
#page-contabilidad .contabilidad-import-financial-card--result strong { color: #168759; }
#page-contabilidad .contabilidad-import-checks { display: grid; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
#page-contabilidad .contabilidad-import-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; background: var(--surface2); }
#page-contabilidad .contabilidad-import-section-title strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-import-section-title small { color: var(--text3); font: 500 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-import-check { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-import-check > div { display: grid; gap: 2px; }
#page-contabilidad .contabilidad-import-check strong { color: var(--text); font-size: 11px; }
#page-contabilidad .contabilidad-import-check small { color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-import-check code { color: var(--text2); font: 500 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-import-next { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid rgba(62, 207, 142, .34); border-radius: 12px; background: linear-gradient(135deg, rgba(62, 207, 142, .1), rgba(0, 175, 240, .05)); }
#page-contabilidad .contabilidad-import-next h3 { margin: 2px 0 4px; color: var(--text); font-size: 15px; }
#page-contabilidad .contabilidad-import-next p { margin: 0; color: var(--text2); font-size: 11px; line-height: 1.45; }
#page-contabilidad .contabilidad-import-next-actions { display: grid; justify-items: end; gap: 8px; min-width: 210px; }
#page-contabilidad .contabilidad-import-next--warning { border-color: rgba(247, 201, 79, .4); background: rgba(247, 201, 79, .08); }
#page-contabilidad .contabilidad-import-review { overflow: hidden; border: 1px solid rgba(247, 201, 79, .3); border-radius: 12px; background: var(--surface); }
#page-contabilidad .contabilidad-import-review .contabilidad-card-head { padding-top: 13px; }
#page-contabilidad .contabilidad-import-review .contabilidad-card-head h3 { color: var(--text); font-size: 14px; }
#page-contabilidad .contabilidad-import-review-table { min-width: 760px; }
#page-contabilidad .contabilidad-import-review-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
#page-contabilidad .contabilidad-import-classification { min-width: 120px; padding: 7px 28px 7px 9px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); font-size: 11px; }
#page-contabilidad .contabilidad-import-classification:disabled { opacity: .78; cursor: not-allowed; }
#page-contabilidad .contabilidad-import-confirmed { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-import-confirmed small { color: var(--text3); font-size: 9px; }
#page-contabilidad .contabilidad-import-review--sat { border-color: rgba(0, 175, 240, .3); background: linear-gradient(145deg, rgba(0, 175, 240, .045), var(--surface) 48%); }
#page-contabilidad .contabilidad-import-sat-toolbar { display: grid; grid-template-columns: minmax(230px, 1fr) minmax(170px, auto) auto auto; gap: 8px; align-items: center; padding: 0 13px 10px; }
#page-contabilidad .contabilidad-import-sat-note { margin: 0 13px 10px; padding: 9px 11px; border: 1px solid rgba(0, 175, 240, .2); border-radius: 9px; background: rgba(0, 175, 240, .045); color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-import-sat-table-wrap { max-height: 520px; overflow: auto; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-import-sat-table { min-width: 1080px; }
#page-contabilidad .contabilidad-import-sat-table thead { position: sticky; z-index: 2; top: 0; background: var(--surface2); }
#page-contabilidad .contabilidad-import-sat-table th:first-child, #page-contabilidad .contabilidad-import-sat-table td:first-child { width: 34px; text-align: center; }
#page-contabilidad .contabilidad-import-sat-table td > strong { display: block; color: var(--text); font-size: 11px; }
#page-contabilidad .contabilidad-import-sat-table td > small { display: block; margin-top: 3px; color: var(--text3); font-size: 9px; }
#page-contabilidad .contabilidad-import-sat-checkbox { width: 15px; height: 15px; accent-color: var(--accent); }
#page-contabilidad .contabilidad-import-sat-input { width: 122px; padding: 7px 9px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); font: 600 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-import-sat-input:focus { border-color: rgba(0, 175, 240, .75); outline: 2px solid rgba(0, 175, 240, .14); }
#page-contabilidad .contabilidad-import-sat-input:disabled, #page-contabilidad .contabilidad-import-sat-checkbox:disabled { opacity: .68; cursor: not-allowed; }
#page-contabilidad .contabilidad-import-sat-proposal { display: grid; grid-template-columns: auto 1fr; gap: 3px 7px; align-items: center; min-width: 230px; }
#page-contabilidad .contabilidad-import-sat-proposal > small { grid-column: 1 / -1; color: var(--text3); font-size: 9px; line-height: 1.35; }
#page-contabilidad .contabilidad-period-card { padding: 16px 18px; }
#page-contabilidad .contabilidad-period-controls { display: grid; grid-template-columns: 220px minmax(180px, 1fr) auto; gap: 16px; align-items: end; }
#page-contabilidad .contabilidad-period-state { align-self: center; display: flex; align-items: center; gap: 10px; color: var(--text2); font-size: 12px; }
#page-contabilidad .contabilidad-period-actions { display: flex; justify-content: flex-end; gap: 8px; }
#page-contabilidad .contabilidad-period-note { margin-top: 10px; color: var(--text3); font-size: 11px; }
#page-contabilidad #contabilidad-polizas-msg { margin: 0 18px 12px; }
#page-contabilidad .contabilidad-polizas-table { min-width: 980px; }
#page-contabilidad .contabilidad-policy-filters { display: grid; grid-template-columns: minmax(260px, 1fr) 210px auto; gap: 10px; align-items: center; padding: 0 18px 14px; }
#page-contabilidad .contabilidad-policy-page-size { display: flex; align-items: center; gap: 8px; color: var(--text2); font-size: 11px; white-space: nowrap; }
#page-contabilidad .contabilidad-policy-page-size .form-select { min-width: 76px; }
#page-contabilidad .contabilidad-policy-bulk-post { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 18px 14px; padding: 13px 14px; border: 1px solid rgba(0, 175, 240, .25); border-radius: 12px; background: linear-gradient(115deg, rgba(0, 175, 240, .08), rgba(62, 207, 142, .055)); }
#page-contabilidad .contabilidad-policy-bulk-post[hidden] { display: none; }
#page-contabilidad .contabilidad-policy-bulk-post > div { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-policy-bulk-post strong { color: var(--text); font-size: 13px; }
#page-contabilidad .contabilidad-policy-bulk-post small { max-width: 760px; color: var(--text2); font-size: 10px; line-height: 1.45; }
#page-contabilidad .contabilidad-policy-bulk-preview { display: grid; gap: 10px; margin: 0 18px 14px; padding: 13px 14px; border: 1px solid rgba(62, 207, 142, .3); border-radius: 12px; background: rgba(62, 207, 142, .055); }
#page-contabilidad .contabilidad-policy-bulk-preview[hidden] { display: none; }
#page-contabilidad .contabilidad-policy-bulk-preview.has-errors { border-color: rgba(214, 69, 82, .3); background: rgba(214, 69, 82, .05); }
#page-contabilidad .contabilidad-policy-bulk-preview > p { margin: 0; color: var(--text2); font-size: 10px; line-height: 1.5; }
#page-contabilidad .contabilidad-policy-bulk-preview > ul { margin: 0; padding-left: 18px; color: #b33442; font-size: 10px; }
#page-contabilidad .contabilidad-policy-bulk-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
#page-contabilidad .contabilidad-policy-bulk-summary > div { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
#page-contabilidad .contabilidad-policy-bulk-summary span { color: var(--text3); font: 500 9px "DM Mono", monospace; text-transform: uppercase; }
#page-contabilidad .contabilidad-policy-bulk-summary strong { color: var(--text); font: 700 13px "DM Mono", monospace; }
#page-contabilidad .contabilidad-policy-bulk-confirm { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
#page-contabilidad .contabilidad-policy-bulk-confirm small { color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-policy-bulk-repair { display: grid; gap: 10px; padding: 12px; border: 1px solid rgba(217, 149, 0, .32); border-radius: 10px; background: rgba(217, 149, 0, .07); }
#page-contabilidad .contabilidad-policy-bulk-repair > div:first-child { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-policy-bulk-repair > div:first-child strong { color: #9d6800; font-size: 12px; }
#page-contabilidad .contabilidad-policy-bulk-repair > div:first-child small { color: var(--text2); font-size: 10px; line-height: 1.45; }
#page-contabilidad .contabilidad-policy-bulk-repair details { color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-policy-bulk-repair summary { cursor: pointer; color: #9d6800; font-weight: 700; }
#page-contabilidad .contabilidad-policy-bulk-repair details p { max-height: 96px; margin: 7px 0 0; overflow: auto; font-family: "DM Mono", monospace; line-height: 1.5; }
#page-contabilidad .contabilidad-treasury-review-groups { color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-treasury-review-groups > summary { cursor: pointer; color: #9d6800; font-weight: 700; }
#page-contabilidad .contabilidad-treasury-review-groups > div { display: grid; gap: 7px; max-height: 240px; margin-top: 8px; overflow: auto; }
#page-contabilidad .contabilidad-treasury-review-groups article { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
#page-contabilidad .contabilidad-treasury-review-groups article > div { display: flex; justify-content: space-between; gap: 10px; color: var(--text); }
#page-contabilidad .contabilidad-treasury-review-groups article > p { display: flex; align-items: center; gap: 7px; margin: 2px 0; }
#page-contabilidad .contabilidad-treasury-review-groups article small { line-height: 1.45; }
#page-contabilidad .contabilidad-treasury-review-action { align-items: center; margin-top: 4px; padding-top: 7px; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-treasury-review-action small { color: var(--text2); }
#page-contabilidad .contabilidad-treasury-review-action .btn { flex: 0 0 auto; }
#page-contabilidad .contabilidad-treasury-assistance { display: grid; gap: 7px; padding: 10px 11px; border: 1px solid rgba(62, 207, 142, .32); border-radius: 10px; background: rgba(62, 207, 142, .07); }
#page-contabilidad .contabilidad-treasury-assistance > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#page-contabilidad .contabilidad-treasury-assistance > small { color: var(--text2); font-size: 10px; line-height: 1.45; }
#page-contabilidad .contabilidad-treasury-transfer-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 7px; }
#page-contabilidad .contabilidad-treasury-transfer-list article { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; padding: 8px 9px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
#page-contabilidad .contabilidad-treasury-transfer-list article small { grid-column: 1 / -1; color: var(--text3); font-size: 9px; }
#page-contabilidad .contabilidad-treasury-evidence, #page-contabilidad .contabilidad-treasury-review-groups article > .contabilidad-treasury-evidence { display: grid; gap: 3px; margin-top: 4px; padding: 7px 8px; border: 1px solid rgba(0, 175, 240, .22); border-radius: 7px; background: rgba(0, 175, 240, .055); }
#page-contabilidad .contabilidad-loan-evidence { margin-top: 5px; padding-top: 5px; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-treasury-family-filter { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 18px 12px; padding: 11px 13px; border: 1px solid rgba(0, 175, 240, .28); border-radius: 10px; background: linear-gradient(105deg, rgba(0, 175, 240, .08), rgba(62, 207, 142, .045)); }
#page-contabilidad .contabilidad-treasury-family-filter[hidden] { display: none; }
#page-contabilidad .contabilidad-treasury-family-filter > div { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-treasury-family-filter strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-treasury-family-filter small { color: var(--text2); font-size: 10px; }
#page-contabilidad .contabilidad-policy-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 18px; border-top: 1px solid var(--border); color: var(--text2); font-size: 11px; }
#page-contabilidad .contabilidad-policy-pagination[hidden] { display: none; }
#page-contabilidad .contabilidad-policy-pagination > div { display: flex; align-items: center; gap: 9px; }
#page-contabilidad .contabilidad-policy-pagination strong { color: var(--text); font: 500 11px "DM Mono", monospace; }
#page-contabilidad #contabilidad-fuentes-facturas-msg { margin: 0 18px 12px; }
#page-contabilidad .contabilidad-fuentes-facturas-table { min-width: 1120px; }
#page-contabilidad .contabilidad-fuentes-facturas-table th:first-child, #page-contabilidad .contabilidad-fuentes-facturas-table td:first-child { width: 38px; text-align: center; }
#page-contabilidad .contabilidad-source-checkbox { width: 16px; height: 16px; accent-color: var(--accent); }
#page-contabilidad .contabilidad-bulk-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 18px 14px; }
#page-contabilidad .contabilidad-bulk-actions > div:first-child { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-bulk-actions strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-bulk-actions small { color: var(--text3); font-size: 10px; }
#page-contabilidad #contabilidad-fuentes-gastos-msg { margin: 0 18px 12px; }
#page-contabilidad .contabilidad-fuentes-gastos-table { min-width: 1120px; }
#page-contabilidad .contabilidad-invoice-amounts { display: grid; gap: 3px; min-width: 150px; color: var(--text3); font: 500 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-invoice-amounts strong { color: var(--text); font-size: 11px; }
#page-contabilidad .contabilidad-tesoreria-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
#page-contabilidad .contabilidad-tesoreria-summary { display: grid; justify-items: end; gap: 4px; }
#page-contabilidad .contabilidad-tesoreria-summary small { color: var(--text2); font: 500 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-source-panel-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
#page-contabilidad .contabilidad-source-panel[hidden] { display: none; }
#page-contabilidad #contabilidad-fuentes-tesoreria-msg { margin: 0 18px 12px; }
#page-contabilidad .contabilidad-fuentes-tesoreria-table { min-width: 1080px; }
#page-contabilidad .contabilidad-source-main, #page-contabilidad .contabilidad-source-detail { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-source-main strong, #page-contabilidad .contabilidad-source-detail strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-source-main small, #page-contabilidad .contabilidad-source-detail small { color: var(--text3); font-size: 10px; }
#page-contabilidad .contabilidad-source-amount { white-space: nowrap; font: 600 12px "DM Mono", monospace; }
#page-contabilidad .contabilidad-source-suggestion { display: grid; gap: 4px; min-width: 180px; }
#page-contabilidad .contabilidad-source-suggestion small { color: var(--text3); font-size: 10px; }
#page-contabilidad .contabilidad-source-review { color: #9a6a00; font-size: 10px; }
#page-contabilidad #contabilidad-reglas-tesoreria-msg { margin: 0 18px 12px; }
#page-contabilidad .contabilidad-reglas-tesoreria-table { min-width: 1040px; }
#page-contabilidad .contabilidad-rule-scope, #page-contabilidad .contabilidad-rule-account { display: grid; gap: 3px; }
#page-contabilidad .contabilidad-rule-scope strong, #page-contabilidad .contabilidad-rule-account strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-rule-scope small, #page-contabilidad .contabilidad-rule-account small { color: var(--text3); font-size: 10px; }
#page-contabilidad .contabilidad-policy-main { display: grid; gap: 3px; min-width: 140px; }
#page-contabilidad .contabilidad-policy-main strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-policy-main small { color: var(--text3); font: 500 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-policy-concept { min-width: 260px; }
#page-contabilidad .contabilidad-policy-concept strong { display: block; color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-policy-concept small { display: block; margin-top: 3px; color: var(--text3); font-size: 10px; }
#page-contabilidad .contabilidad-policy-actions { display: flex; justify-content: flex-end; gap: 6px; white-space: nowrap; }
#page-contabilidad .contabilidad-report-controls {
    display: grid; grid-template-columns: 220px minmax(240px, 1fr) auto; gap: 16px; align-items: end; padding: 16px 18px;
}
#page-contabilidad #contabilidad-vista-reportes .contabilidad-card-head h2 { color: color-mix(in srgb, var(--accent) 74%, var(--text)); }
#page-contabilidad .contabilidad-report-period-banner {
    margin: 0 18px 14px; padding: 10px 13px; border: 1px solid rgba(0, 175, 240, .2); border-radius: 10px;
    background: linear-gradient(105deg, rgba(0, 175, 240, .09), rgba(62, 207, 142, .055)); color: var(--text); font: 650 11px "DM Mono", monospace;
}
#page-contabilidad .contabilidad-report-source { display: grid; gap: 2px; align-self: center; }
#page-contabilidad .contabilidad-report-source span { color: var(--text3); font: 500 10px "DM Mono", monospace; text-transform: uppercase; }
#page-contabilidad .contabilidad-report-source strong { color: var(--text); font-size: 14px; }
#page-contabilidad .contabilidad-report-source small { color: var(--text2); font-size: 11px; }
#page-contabilidad .contabilidad-report-warnings { display: grid; gap: 7px; }
#page-contabilidad .contabilidad-report-warnings > div {
    display: grid; grid-template-columns: 24px 1fr; gap: 9px; align-items: center; padding: 10px 12px;
    border: 1px solid rgba(247, 201, 79, .32); border-radius: 11px; background: rgba(247, 201, 79, .08); color: var(--text2); font-size: 11px;
}
#page-contabilidad .contabilidad-report-warnings span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(247, 201, 79, .18); color: #9a6a00; font: 700 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-report-tabs { display: flex; gap: 8px; padding: 7px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
#page-contabilidad .contabilidad-report-tab {
    flex: 1; min-height: 40px; border: 1px solid transparent; border-radius: 10px; background: transparent;
    color: var(--text2); font: 600 11px "DM Mono", monospace; cursor: pointer;
}
#page-contabilidad .contabilidad-report-tab.active { border-color: rgba(0, 175, 240, .35); background: rgba(0, 175, 240, .09); color: var(--accent); }
#page-contabilidad .contabilidad-report-panel[hidden] { display: none; }
#page-contabilidad .contabilidad-trial-table { min-width: 1120px; }
#page-contabilidad .contabilidad-trial-table thead tr:first-child th:not(:first-child) { text-align: center; border-left: 1px solid var(--border); }
#page-contabilidad .contabilidad-trial-table thead tr:nth-child(2) th, #page-contabilidad .contabilidad-trial-table tfoot th:not(:first-child) { text-align: right; }
#page-contabilidad .contabilidad-trial-table tfoot th { padding: 11px 12px; border-top: 2px solid var(--border); background: var(--surface2); color: var(--text); font: 600 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-trial-table tfoot th { background: linear-gradient(105deg, rgba(0, 175, 240, .11), rgba(62, 207, 142, .07)); font-weight: 750; }
#page-contabilidad .contabilidad-trial-meta { display: grid; justify-items: end; gap: 7px; }
#page-contabilidad .contabilidad-trial-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
#page-contabilidad .contabilidad-trial-legend span, #page-contabilidad .contabilidad-trial-type { width: max-content; padding: 3px 8px; border-radius: 999px; font: 650 9px "DM Mono", monospace; letter-spacing: .01em; }
#page-contabilidad .contabilidad-trial-legend .is-ingreso, #page-contabilidad .contabilidad-trial-type.is-ingreso { border: 1px solid rgba(62, 207, 142, .3); background: rgba(62, 207, 142, .13); color: #168759; }
#page-contabilidad .contabilidad-trial-legend .is-egreso, #page-contabilidad .contabilidad-trial-type.is-egreso { border: 1px solid rgba(214, 69, 82, .25); background: rgba(214, 69, 82, .1); color: #b33442; }
#page-contabilidad .contabilidad-trial-row.is-ingreso > td { background: rgba(62, 207, 142, .045); }
#page-contabilidad .contabilidad-trial-row.is-egreso > td { background: rgba(214, 69, 82, .035); }
#page-contabilidad .contabilidad-trial-row.is-ingreso > td:first-child { box-shadow: inset 3px 0 0 rgba(22, 135, 89, .72); }
#page-contabilidad .contabilidad-trial-row.is-egreso > td:first-child { box-shadow: inset 3px 0 0 rgba(179, 52, 66, .7); }
#page-contabilidad .contabilidad-trial-account-cell { display: grid; justify-items: start; gap: 4px; }
#page-contabilidad .contabilidad-trial-row.is-major > td { background: color-mix(in srgb, var(--surface2) 78%, rgba(0, 175, 240, .12)); font-weight: 650; }
#page-contabilidad .contabilidad-trial-row.is-major > td:first-child { box-shadow: inset 3px 0 0 rgba(0, 175, 240, .52); }
#page-contabilidad .contabilidad-trial-row.is-detail > td { background: color-mix(in srgb, var(--surface) 96%, rgba(0, 175, 240, .04)); }
#page-contabilidad .contabilidad-trial-row.is-detail.is-subtotal > td { background: color-mix(in srgb, var(--surface2) 86%, rgba(0, 175, 240, .06)); font-weight: 650; }
#page-contabilidad .contabilidad-trial-row[hidden] { display: none; }
#page-contabilidad .contabilidad-trial-account-toggle { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
#page-contabilidad .contabilidad-trial-account-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
#page-contabilidad .contabilidad-trial-account-action { color: var(--accent); font: 650 9px "DM Mono", monospace; }
#page-contabilidad .contabilidad-trial-account-level-1 { padding-left: 18px; }
#page-contabilidad .contabilidad-trial-account-level-2 { padding-left: 36px; }
#page-contabilidad .contabilidad-trial-account-level-3 { padding-left: 54px; }
#page-contabilidad .contabilidad-trial-account-level-4 { padding-left: 72px; }
#page-contabilidad .contabilidad-money.is-ingreso:not(.is-zero) { color: #168759; font-weight: 650; }
#page-contabilidad .contabilidad-money.is-egreso:not(.is-zero) { color: #b33442; font-weight: 650; }
#page-contabilidad .contabilidad-money.is-zero { color: var(--text3); font-weight: 500; opacity: .72; }
#page-contabilidad .contabilidad-money { text-align: right; white-space: nowrap; font: 500 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-report-account { display: grid; grid-template-columns: 82px minmax(160px, 1fr); gap: 8px; align-items: baseline; }
#page-contabilidad .contabilidad-report-account strong { color: var(--text); font: 600 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-report-account span { color: var(--text2); font-size: 12px; }
#page-contabilidad .contabilidad-report-warning { display: block; margin-top: 3px; color: #9a6a00; font-size: 9px; }
#page-contabilidad .contabilidad-results-ok { color: #168759; }
#page-contabilidad .contabilidad-report-ok { color: #168759 !important; }
#page-contabilidad .contabilidad-report-review { color: #b7791f !important; }
#page-contabilidad .contabilidad-statement { display: grid; gap: 12px; padding: 0 18px 18px; }
#page-contabilidad .contabilidad-statement-period { padding: 9px 12px; border-radius: 9px; background: var(--surface2); color: var(--text2); font: 500 11px "DM Mono", monospace; }
#page-contabilidad .contabilidad-statement-period--strong { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border: 1px solid rgba(0, 175, 240, .22); background: linear-gradient(105deg, rgba(0, 175, 240, .1), rgba(62, 207, 142, .065)); }
#page-contabilidad .contabilidad-statement-period--strong span { color: var(--text3); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
#page-contabilidad .contabilidad-statement-period--strong strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-statement-section { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; }
#page-contabilidad .contabilidad-statement-section h3 { padding: 11px 13px; background: var(--surface2); color: var(--text); font-size: 13px; }
#page-contabilidad .contabilidad-statement-row, #page-contabilidad .contabilidad-statement-total, #page-contabilidad .contabilidad-statement-highlight, #page-contabilidad .contabilidad-statement-result {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 10px 13px; border-top: 1px solid var(--border);
}
#page-contabilidad .contabilidad-statement-row > strong, #page-contabilidad .contabilidad-statement-total > strong, #page-contabilidad .contabilidad-statement-highlight > strong, #page-contabilidad .contabilidad-statement-result > strong { color: var(--text); font: 600 12px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-statement-total { background: var(--surface2); color: var(--text); font-weight: 600; }
#page-contabilidad .contabilidad-statement-empty { padding: 14px 13px; color: var(--text3); font-size: 11px; }
#page-contabilidad .contabilidad-statement-summary { padding-top: 0; }
#page-contabilidad .contabilidad-statement-equation { display: grid; grid-template-columns: 1fr auto 1fr auto; gap: 12px; padding: 13px; border-top: 2px solid var(--border); background: rgba(0, 175, 240, .05); color: var(--text2); }
#page-contabilidad .contabilidad-statement-equation strong { color: var(--text); font: 600 12px "DM Mono", monospace; }
#page-contabilidad .contabilidad-statement-highlight { border: 1px solid rgba(0, 175, 240, .23); border-radius: 11px; background: rgba(0, 175, 240, .06); color: var(--text); font-weight: 600; }
#page-contabilidad .contabilidad-statement-result { border: 1px solid rgba(62, 207, 142, .28); border-radius: 11px; background: rgba(62, 207, 142, .08); color: var(--text); font-size: 15px; font-weight: 700; }
#page-contabilidad .contabilidad-statement-result > strong { color: #168759; font-size: 15px; }
#page-contabilidad .contabilidad-statement-result > strong.is-negative { color: #b33442; }
#page-contabilidad .contabilidad-result-block { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
#page-contabilidad .contabilidad-result-block > h3 { padding: 11px 14px; border-bottom: 1px solid rgba(0, 175, 240, .18); background: linear-gradient(105deg, rgba(0, 175, 240, .09), rgba(62, 207, 142, .045)); color: color-mix(in srgb, var(--accent) 62%, var(--text)); font-size: 13px; }
#page-contabilidad .contabilidad-result-category + .contabilidad-result-category { border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-result-category-head { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 10px 13px; }
#page-contabilidad .contabilidad-result-category-head > strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-result-category-head > span:last-child { font: 700 12px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-result-category.is-ingreso .contabilidad-result-category-head > span:last-child { color: #168759; }
#page-contabilidad .contabilidad-result-category.is-egreso .contabilidad-result-category-head > span:last-child { color: #b33442; }
#page-contabilidad .contabilidad-result-sign { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font: 750 12px "DM Mono", monospace; }
#page-contabilidad .contabilidad-result-category.is-ingreso .contabilidad-result-sign { background: rgba(62, 207, 142, .14); color: #168759; }
#page-contabilidad .contabilidad-result-category.is-egreso .contabilidad-result-sign { background: rgba(214, 69, 82, .1); color: #b33442; }
#page-contabilidad .contabilidad-result-major-list { border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-result-major-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 14px; align-items: center; width: 100%; padding: 9px 13px 9px 45px; border: 0; background: transparent; color: inherit; text-align: left; }
#page-contabilidad .contabilidad-result-major + .contabilidad-result-major, #page-contabilidad .contabilidad-result-major-row + .contabilidad-result-major-row { border-top: 1px solid rgba(143, 148, 155, .14); }
#page-contabilidad .contabilidad-result-major-toggle { cursor: pointer; }
#page-contabilidad .contabilidad-result-major-toggle:hover { background: var(--table-row-hover-accent-bg); }
#page-contabilidad .contabilidad-result-major-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
#page-contabilidad .contabilidad-result-major-copy { display: grid; min-width: 0; gap: 2px; }
#page-contabilidad .contabilidad-result-major-copy strong { overflow: hidden; color: var(--text2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-result-major-copy small { color: var(--text3); font: 500 9px "DM Mono", monospace; }
#page-contabilidad .contabilidad-result-major-amount { font: 650 11px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .is-income { color: #168759 !important; }
#page-contabilidad .is-expense, #page-contabilidad .is-negative { color: #b33442 !important; }
#page-contabilidad .is-positive { color: #168759; }
#page-contabilidad .contabilidad-result-major-action { grid-column: 1 / -1; color: var(--accent); font: 600 9px "DM Mono", monospace; }
#page-contabilidad .contabilidad-result-detail[hidden] { display: none; }
#page-contabilidad .contabilidad-result-detail { border-top: 1px solid rgba(0, 175, 240, .16); background: rgba(0, 175, 240, .025); }
#page-contabilidad .contabilidad-result-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 36px; padding: 7px 13px 7px 62px; }
#page-contabilidad .contabilidad-result-detail-row.nivel-2 { padding-left: 79px; }
#page-contabilidad .contabilidad-result-detail-row.nivel-3 { padding-left: 96px; }
#page-contabilidad .contabilidad-result-detail-row.nivel-4 { padding-left: 113px; }
#page-contabilidad .contabilidad-result-detail-row + .contabilidad-result-detail-row { border-top: 1px solid rgba(143, 148, 155, .12); }
#page-contabilidad .contabilidad-result-detail-row > span { display: grid; min-width: 0; gap: 2px; }
#page-contabilidad .contabilidad-result-detail-row > span strong { overflow: hidden; color: var(--text2); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-result-detail-row > span small { color: var(--text3); font: 500 9px "DM Mono", monospace; }
#page-contabilidad .contabilidad-result-detail-row > strong { font: 600 10px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-result-detail-row.is-subtotal { background: rgba(0, 175, 240, .025); }
#page-contabilidad .contabilidad-result-detail-row.is-subtotal > span strong, #page-contabilidad .contabilidad-result-detail-row.is-subtotal > strong { color: var(--text); font-weight: 700; }
#page-contabilidad .contabilidad-result-subtotal { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 11px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface2); color: var(--text2); font-size: 12px; font-weight: 650; }
#page-contabilidad .contabilidad-result-subtotal strong { font: 750 12px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-result-subtotal.is-highlight { border-color: rgba(0, 175, 240, .25); background: linear-gradient(105deg, rgba(0, 175, 240, .09), rgba(62, 207, 142, .05)); color: var(--text); font-size: 13px; }
#page-contabilidad .contabilidad-result-subtotal.is-highlight strong { font-size: 13px; }
#page-contabilidad .contabilidad-managerial-report { border-color: rgba(128, 94, 213, .28); }
#page-contabilidad .contabilidad-managerial-badge { display: inline-flex; margin-bottom: 5px; padding: 4px 8px; border-radius: 999px; background: rgba(128, 94, 213, .12); color: #7651c4; font: 700 9px "DM Mono", monospace; letter-spacing: .05em; text-transform: uppercase; }
#page-contabilidad .contabilidad-managerial-notice { margin: 0 18px 14px; padding: 10px 12px; border: 1px solid rgba(128, 94, 213, .2); border-radius: 10px; background: rgba(128, 94, 213, .06); color: var(--text2); font-size: 11px; line-height: 1.5; }
#page-contabilidad .contabilidad-managerial-comparison { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
#page-contabilidad .contabilidad-managerial-comparison > div { display: grid; gap: 4px; min-width: 0; padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface2); }
#page-contabilidad .contabilidad-managerial-comparison span { color: var(--text3); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
#page-contabilidad .contabilidad-managerial-comparison strong { overflow: hidden; color: var(--text); font: 750 13px "DM Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-managerial-comparison strong.is-positive { color: #168759; }
#page-contabilidad .contabilidad-managerial-comparison strong.is-negative { color: #b33442; }
#page-contabilidad .contabilidad-managerial-comparison small { color: var(--text3); font-size: 9px; }
#page-contabilidad .contabilidad-managerial-method { padding: 10px 12px; border-left: 3px solid rgba(128, 94, 213, .6); background: rgba(128, 94, 213, .045); color: var(--text2); font-size: 11px; line-height: 1.55; }
#page-contabilidad .contabilidad-managerial-detail { overflow: hidden; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); }
#page-contabilidad .contabilidad-managerial-detail > summary { padding: 11px 13px; color: var(--accent); cursor: pointer; font: 650 10px "DM Mono", monospace; }
#page-contabilidad .contabilidad-managerial-detail.is-warning > summary { color: #ad7620; }
#page-contabilidad .contabilidad-managerial-table th, #page-contabilidad .contabilidad-managerial-table td { white-space: nowrap; }
#page-contabilidad .contabilidad-managerial-table td:first-child { min-width: 270px; white-space: normal; }
#page-contabilidad .contabilidad-managerial-table td strong, #page-contabilidad .contabilidad-managerial-table td small { display: block; }
#page-contabilidad .contabilidad-managerial-table td small { margin-top: 3px; color: var(--text3); font-size: 9px; }
#page-contabilidad .contabilidad-managerial-exceptions { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
#page-contabilidad .contabilidad-managerial-exceptions li { display: grid; gap: 3px; padding: 9px 13px; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-managerial-exceptions strong { color: var(--text2); font-size: 11px; }
#page-contabilidad .contabilidad-managerial-exceptions span { color: var(--text3); font-size: 10px; line-height: 1.45; }
#page-contabilidad .contabilidad-balance-sheet { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
#page-contabilidad .contabilidad-balance-column { display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; min-width: 0; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
#page-contabilidad .contabilidad-balance-column-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 15px; border-bottom: 1px solid rgba(0, 175, 240, .2); background: linear-gradient(105deg, rgba(0, 175, 240, .1), rgba(62, 207, 142, .055)); }
#page-contabilidad .contabilidad-balance-column-head span { color: var(--text); font-size: 16px; font-weight: 700; }
#page-contabilidad .contabilidad-balance-column-head small { color: var(--text3); font-size: 10px; }
#page-contabilidad .contabilidad-balance-column-body { align-self: start; }
#page-contabilidad .contabilidad-balance-block + .contabilidad-balance-block { border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-balance-block h3 { padding: 10px 15px 8px; border-left: 3px solid rgba(0, 175, 240, .65); background: rgba(0, 175, 240, .045); color: color-mix(in srgb, var(--accent) 62%, var(--text)); font: 700 10px "DM Mono", monospace; letter-spacing: .05em; text-transform: uppercase; }
#page-contabilidad .contabilidad-balance-major-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 14px; align-items: center; width: 100%; padding: 10px 15px; border: 0; border-top: 1px solid var(--border); background: transparent; color: inherit; text-align: left; }
#page-contabilidad .contabilidad-balance-major-toggle { grid-template-columns: minmax(0, 1fr) auto; cursor: pointer; }
#page-contabilidad .contabilidad-balance-major-toggle:hover { background: var(--table-row-hover-accent-bg); }
#page-contabilidad .contabilidad-balance-major-toggle:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--accent); outline-offset: -2px; }
#page-contabilidad .contabilidad-balance-major-copy { display: grid; min-width: 0; gap: 2px; }
#page-contabilidad .contabilidad-balance-major-copy strong { overflow: hidden; color: var(--text); font-size: 12px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-balance-major-copy small { overflow: hidden; color: var(--text3); font: 500 9px "DM Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-balance-major-amount { color: var(--text); font: 650 12px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-balance-major-action { grid-column: 1 / -1; color: var(--accent); font: 600 9px "DM Mono", monospace; }
#page-contabilidad .contabilidad-balance-major-row.is-result { background: rgba(62, 207, 142, .06); }
#page-contabilidad .contabilidad-balance-major-row.is-result .contabilidad-balance-major-copy strong, #page-contabilidad .contabilidad-balance-major-row.is-result .contabilidad-balance-major-amount { color: #168759; }
#page-contabilidad .contabilidad-balance-detail[hidden] { display: none; }
#page-contabilidad .contabilidad-balance-detail { padding: 4px 0; border-top: 1px solid rgba(0, 175, 240, .18); background: rgba(0, 175, 240, .035); }
#page-contabilidad .contabilidad-balance-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 38px; padding: 7px 15px 7px 31px; }
#page-contabilidad .contabilidad-balance-detail-row.nivel-2 { padding-left: 47px; }
#page-contabilidad .contabilidad-balance-detail-row.nivel-3 { padding-left: 63px; }
#page-contabilidad .contabilidad-balance-detail-row + .contabilidad-balance-detail-row { border-top: 1px solid rgba(143, 148, 155, .12); }
#page-contabilidad .contabilidad-balance-detail-row > span { display: grid; min-width: 0; gap: 2px; }
#page-contabilidad .contabilidad-balance-detail-row > span strong { overflow: hidden; color: var(--text2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-balance-detail-row > span small { color: var(--text3); font: 500 9px "DM Mono", monospace; }
#page-contabilidad .contabilidad-balance-detail-row > strong { color: var(--text2); font: 550 11px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-balance-detail-row.is-subtotal > span strong, #page-contabilidad .contabilidad-balance-detail-row.is-subtotal > strong { color: var(--text); font-weight: 650; }
#page-contabilidad .contabilidad-balance-block-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 10px 15px; border-top: 1px solid rgba(0, 175, 240, .2); background: linear-gradient(105deg, rgba(0, 175, 240, .07), rgba(62, 207, 142, .04)); color: var(--text); font-size: 11px; font-weight: 700; }
#page-contabilidad .contabilidad-balance-block-total strong { color: var(--text); font: 650 12px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-balance-column-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 15px; border-top: 2px solid rgba(0, 175, 240, .28); background: linear-gradient(105deg, rgba(0, 175, 240, .13), rgba(62, 207, 142, .08)); color: var(--text); font-size: 13px; font-weight: 750; }
#page-contabilidad .contabilidad-balance-column-total strong { color: var(--text); font: 750 14px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-fiscal-controls {
    display: grid; grid-template-columns: 220px minmax(220px, 1fr) minmax(220px, 1fr) auto;
    gap: 16px; align-items: end; padding: 16px 18px;
}
#page-contabilidad .contabilidad-fiscal-source { display: grid; gap: 2px; align-self: center; min-width: 0; }
#page-contabilidad .contabilidad-fiscal-source > span { color: var(--text3); font: 500 10px "DM Mono", monospace; text-transform: uppercase; }
#page-contabilidad .contabilidad-fiscal-source > strong { width: fit-content; max-width: 100%; color: var(--text); font-size: 13px; }
#page-contabilidad .contabilidad-fiscal-source > small { overflow: hidden; color: var(--text2); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
#page-contabilidad .contabilidad-fiscal-parameter-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; padding: 0 18px 18px; }
#page-contabilidad .contabilidad-fiscal-adjustments { display: grid; gap: 9px; padding: 0 18px 18px; }
#page-contabilidad .contabilidad-fiscal-adjustment {
    display: grid; grid-template-columns: minmax(210px, .9fr) minmax(240px, 1.25fr) minmax(190px, .85fr) 140px 38px;
    gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface2);
}
#page-contabilidad .contabilidad-fiscal-adjustment .form-input, #page-contabilidad .contabilidad-fiscal-adjustment .form-select { min-width: 0; }
#page-contabilidad .contabilidad-fiscal-adjustment-remove { width: 36px; min-width: 36px; height: 36px; padding: 0; color: var(--danger); }
#page-contabilidad .contabilidad-fiscal-empty-adjustments { padding: 24px; border: 1px dashed var(--border); border-radius: 12px; color: var(--text3); font-size: 11px; text-align: center; }
#page-contabilidad .contabilidad-fiscal-waterfall { display: grid; padding: 0 18px 18px; }
#page-contabilidad .contabilidad-fiscal-waterfall-row, #page-contabilidad .contabilidad-fiscal-waterfall-total {
    display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: center;
    padding: 10px 12px; border-top: 1px solid var(--border); color: var(--text2); font-size: 12px;
}
#page-contabilidad .contabilidad-fiscal-waterfall-row:first-child { border-top: 0; }
#page-contabilidad .contabilidad-fiscal-waterfall-row strong, #page-contabilidad .contabilidad-fiscal-waterfall-total strong { color: var(--text); font: 600 12px "DM Mono", monospace; white-space: nowrap; }
#page-contabilidad .contabilidad-fiscal-waterfall-row.emphasized { background: rgba(0, 175, 240, .05); color: var(--text); font-weight: 600; }
#page-contabilidad .contabilidad-fiscal-operator { color: var(--text3); font: 600 13px "DM Mono", monospace; text-align: center; }
#page-contabilidad .contabilidad-fiscal-waterfall-total { grid-template-columns: minmax(0, 1fr) auto; margin-top: 5px; border: 1px solid rgba(62, 207, 142, .3); border-radius: 11px; background: rgba(62, 207, 142, .08); color: var(--text); font-size: 14px; font-weight: 700; }
#page-contabilidad .contabilidad-fiscal-waterfall-total strong { color: #168759; font-size: 15px; }
#page-contabilidad .contabilidad-fiscal-waterfall-total--favor { border-color: rgba(0, 175, 240, .28); background: rgba(0, 175, 240, .07); }
#page-contabilidad .contabilidad-fiscal-waterfall-total--favor strong { color: var(--accent); }
#page-contabilidad .contabilidad-fiscal-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
#page-contabilidad .contabilidad-fiscal-validation-grid { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(360px, 1.35fr); gap: 14px; padding: 0 18px 18px; }
#page-contabilidad .contabilidad-fiscal-validation-grid textarea { min-height: 82px; resize: vertical; }
#page-contabilidad .contabilidad-fiscal-official { display: grid; gap: 9px; padding: 14px 18px 18px; border-top: 1px solid var(--border); }
#page-contabilidad .contabilidad-fiscal-official > strong { color: var(--text); font-size: 12px; }
#page-contabilidad .contabilidad-fiscal-official > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
#page-contabilidad .contabilidad-fiscal-official a { display: grid; gap: 3px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; color: var(--accent); text-decoration: none; }
#page-contabilidad .contabilidad-fiscal-official a:hover { border-color: rgba(0, 175, 240, .35); background: rgba(0, 175, 240, .04); }
#page-contabilidad .contabilidad-fiscal-official a strong { font-size: 11px; }
#page-contabilidad .contabilidad-fiscal-official a small { color: var(--text2); font-size: 10px; }
#modal-cuenta-contable .contabilidad-modal { width: min(820px, calc(100vw - 28px)); max-width: 820px; }
#modal-cuenta-contable .contabilidad-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
#modal-cuenta-contable .contabilidad-form-span-2 { grid-column: span 2; }
#modal-cuenta-contable .contabilidad-form-span-3 { grid-column: 1 / -1; }
#modal-cuenta-contable .contabilidad-field-help { display: block; margin-top: 5px; color: var(--text3); font-size: 10px; }
#modal-cuenta-contable .contabilidad-check { display: flex; align-items: flex-start; gap: 9px; padding: 11px; border: 1px solid var(--border); border-radius: 10px; }
#modal-cuenta-contable .contabilidad-check input { margin-top: 3px; }
#modal-cuenta-contable .contabilidad-check span, #modal-cuenta-contable .contabilidad-check small { display: block; }
#modal-cuenta-contable .contabilidad-check strong { color: var(--text); font-size: 12px; }
#modal-cuenta-contable .contabilidad-check small { margin-top: 2px; color: var(--text3); font-size: 10px; }
#modal-cuenta-contable #contabilidad-modal-msg { margin-top: 12px; }
#modal-regla-tesoreria .contabilidad-modal { width: min(820px, calc(100vw - 28px)); max-width: 820px; }
#modal-regla-tesoreria .contabilidad-eyebrow { margin-bottom: 5px; color: var(--accent); font: 500 11px/1.2 "DM Mono", monospace; letter-spacing: .12em; }
#modal-regla-tesoreria .contabilidad-rule-note { margin-top: 14px; padding: 11px 12px; border: 1px solid rgba(0, 175, 240, .3); border-radius: 10px; background: rgba(0, 175, 240, .06); color: var(--text2); font-size: 11px; }
#modal-regla-tesoreria #contabilidad-regla-tesoreria-modal-msg { margin-top: 12px; }
#modal-poliza-contable .contabilidad-poliza-modal { width: min(1120px, calc(100vw - 28px)); max-width: 1120px; }
#modal-poliza-contable .modal-body { max-height: min(72vh, 760px); overflow: auto; }
#modal-poliza-contable .contabilidad-eyebrow { margin-bottom: 5px; color: var(--accent); font: 500 11px/1.2 "DM Mono", monospace; letter-spacing: .12em; }
#modal-poliza-contable .contabilidad-poliza-header-grid { display: grid; grid-template-columns: 180px 180px minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
#modal-poliza-contable .contabilidad-source-banner {
    display: grid; gap: 4px; margin-bottom: 14px; padding: 11px 13px;
    border: 1px solid rgba(0, 175, 240, .3); border-radius: 11px; background: rgba(0, 175, 240, .07); color: var(--text2); font-size: 11px;
}
#modal-poliza-contable .contabilidad-source-banner[hidden] { display: none; }
#modal-poliza-contable .contabilidad-source-banner strong { color: var(--text); font-size: 12px; }
#modal-poliza-contable .contabilidad-partidas-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 20px 0 9px; }
#modal-poliza-contable .contabilidad-partidas-head strong, #modal-poliza-contable .contabilidad-partidas-head small { display: block; }
#modal-poliza-contable .contabilidad-partidas-head strong { color: var(--text); font-size: 14px; }
#modal-poliza-contable .contabilidad-partidas-head small { margin-top: 2px; color: var(--text3); font-size: 10px; }
#modal-poliza-contable .contabilidad-partidas { display: grid; gap: 8px; }
#modal-poliza-contable .contabilidad-partida {
    display: grid; grid-template-columns: minmax(230px, 1.2fr) minmax(210px, 1fr) 130px 130px 38px;
    gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface2);
}
#modal-poliza-contable .contabilidad-partida-numero { display: none; }
#modal-poliza-contable .contabilidad-partida .form-input, #modal-poliza-contable .contabilidad-partida .form-select { min-width: 0; }
#modal-poliza-contable .contabilidad-partida-remove { width: 36px; min-width: 36px; height: 36px; padding: 0; color: var(--danger); }
#modal-poliza-contable .contabilidad-partidas-totales { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 12px; color: var(--text2); font-size: 12px; }
#modal-poliza-contable .contabilidad-partidas-totales strong { margin-left: 4px; color: var(--text); font: 600 12px "DM Mono", monospace; }
#modal-poliza-contable #contabilidad-poliza-modal-msg { margin-top: 12px; }
@media (max-width: 1050px) {
    #page-contabilidad .contabilidad-roadmap, #page-contabilidad .contabilidad-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #page-contabilidad .contabilidad-import-care-grid, #page-contabilidad .contabilidad-import-financial-grid { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-import-sat-toolbar { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-fiscal-controls { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-fiscal-parameter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #page-contabilidad .contabilidad-fiscal-adjustment { grid-template-columns: 1fr 1fr 140px 38px; }
    #page-contabilidad .contabilidad-fiscal-ajuste-concepto { grid-column: span 1; }
    #page-contabilidad .contabilidad-fiscal-ajuste-referencia { grid-column: 1 / 3; }
}
@media (max-width: 900px) {
    #page-contabilidad .contabilidad-balance-sheet { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-automation-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    #page-contabilidad .contabilidad-hero { align-items: flex-start; flex-direction: column; }
    #page-contabilidad .contabilidad-hero-actions { justify-content: flex-start; }
    #page-contabilidad .contabilidad-roadmap { display: flex; overflow-x: auto; }
    #page-contabilidad .contabilidad-roadmap-item { min-width: 190px; }
    #page-contabilidad .contabilidad-summary { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-filters { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-import-controls { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-import-file { grid-column: 1 / -1; }
    #page-contabilidad .contabilidad-import-care-grid, #page-contabilidad .contabilidad-import-financial-grid { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-import-sat-toolbar { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-import-next { align-items: stretch; flex-direction: column; }
    #page-contabilidad .contabilidad-import-next-actions { justify-items: stretch; min-width: 0; }
    #page-contabilidad .contabilidad-period-controls { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-policy-filters { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-policy-filters > :first-child { grid-column: 1 / -1; }
    #page-contabilidad .contabilidad-policy-bulk-post, #page-contabilidad .contabilidad-policy-bulk-confirm, #page-contabilidad .contabilidad-treasury-family-filter { align-items: stretch; flex-direction: column; }
    #page-contabilidad .contabilidad-policy-bulk-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #page-contabilidad .contabilidad-report-controls { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-report-controls > .btn { justify-self: start; }
    #page-contabilidad .contabilidad-fiscal-parameter-grid { grid-template-columns: 1fr 1fr; }
    #page-contabilidad .contabilidad-fiscal-adjustment { grid-template-columns: 1fr 1fr 38px; }
    #page-contabilidad .contabilidad-fiscal-ajuste-categoria, #page-contabilidad .contabilidad-fiscal-ajuste-concepto, #page-contabilidad .contabilidad-fiscal-ajuste-referencia { grid-column: 1 / -1; }
    #page-contabilidad .contabilidad-fiscal-validation-grid { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-fiscal-official > div { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-fiscal-validation .contabilidad-card-head { flex-direction: column; }
    #page-contabilidad .contabilidad-fiscal-validation .contabilidad-fiscal-actions { width: 100%; justify-content: flex-start; }
    #page-contabilidad .contabilidad-fiscal-validation .contabilidad-fiscal-actions .btn { flex: 1; }
    #page-contabilidad .contabilidad-balance-column-head { align-items: flex-start; flex-direction: column; gap: 3px; }
    #page-contabilidad .contabilidad-balance-major-copy strong { white-space: normal; }
    #page-contabilidad .contabilidad-balance-detail-row { padding-left: 23px; }
    #page-contabilidad .contabilidad-balance-detail-row.nivel-2 { padding-left: 35px; }
    #page-contabilidad .contabilidad-balance-detail-row.nivel-3 { padding-left: 47px; }
    #page-contabilidad .contabilidad-trial-meta { justify-items: start; }
    #page-contabilidad .contabilidad-trial-legend { justify-content: flex-start; }
    #page-contabilidad .contabilidad-period-actions { grid-column: 1 / -1; justify-content: flex-start; }
    #modal-cuenta-contable .contabilidad-form-grid { grid-template-columns: 1fr; }
    #modal-cuenta-contable .contabilidad-form-span-2, #modal-cuenta-contable .contabilidad-form-span-3 { grid-column: auto; }
    #modal-regla-tesoreria .contabilidad-form-grid { grid-template-columns: 1fr; }
    #modal-regla-tesoreria .contabilidad-form-span-2, #modal-regla-tesoreria .contabilidad-form-span-3 { grid-column: auto; }
    #modal-poliza-contable .contabilidad-poliza-header-grid { grid-template-columns: 1fr 1fr; }
    #modal-poliza-contable .contabilidad-partida { grid-template-columns: 1fr 1fr 42px; }
    #modal-poliza-contable .contabilidad-partida-account, #modal-poliza-contable .contabilidad-partida-concept { grid-column: span 1; }
}
@media (max-width: 430px) {
    #page-contabilidad .contabilidad-summary { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-automation-metrics { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-view-tabs { flex-direction: column; }
    #page-contabilidad .contabilidad-import-controls { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-import-file { grid-column: auto; }
    #page-contabilidad .contabilidad-report-tabs { flex-direction: column; }
    #page-contabilidad .contabilidad-period-controls { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-policy-filters { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-policy-filters > :first-child { grid-column: auto; }
    #page-contabilidad .contabilidad-policy-bulk-summary { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-policy-pagination { align-items: flex-start; flex-direction: column; }
    #page-contabilidad .contabilidad-report-controls { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-fiscal-controls, #page-contabilidad .contabilidad-fiscal-parameter-grid { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-fiscal-adjustment { grid-template-columns: 1fr 38px; }
    #page-contabilidad .contabilidad-fiscal-ajuste-categoria, #page-contabilidad .contabilidad-fiscal-ajuste-concepto, #page-contabilidad .contabilidad-fiscal-ajuste-referencia { grid-column: 1 / -1; }
    #page-contabilidad .contabilidad-fiscal-actions { justify-content: flex-start; }
    #page-contabilidad .contabilidad-period-actions { grid-column: auto; }
    #modal-poliza-contable .contabilidad-poliza-header-grid { grid-template-columns: 1fr; }
    #modal-poliza-contable .contabilidad-form-span-2 { grid-column: auto; }
    #modal-poliza-contable .contabilidad-partidas-head { align-items: flex-start; flex-direction: column; }
    #modal-poliza-contable .contabilidad-partida { grid-template-columns: 1fr 1fr 38px; }
    #modal-poliza-contable .contabilidad-partida-account, #modal-poliza-contable .contabilidad-partida-concept { grid-column: 1 / -1; }
    #modal-poliza-contable .contabilidad-partidas-totales { align-items: flex-end; flex-direction: column; gap: 7px; }
    #page-contabilidad .contabilidad-statement-equation { grid-template-columns: 1fr auto; }
    #page-contabilidad .contabilidad-managerial-comparison { grid-template-columns: 1fr; }
    #page-contabilidad .contabilidad-report-account { grid-template-columns: 72px minmax(150px, 1fr); }
}
