*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f5f7fb;color:#172033}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;background:#0f172a;padding:24px}.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:32px;box-shadow:0 25px 60px #0005}.login-brand{width:52px;height:52px;border-radius:14px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:18px}.login-card h1{margin:0 0 6px}.login-card p{color:#64748b;margin:0 0 22px}.login-card label{display:grid;gap:7px;font-size:13px;color:#475569;margin:13px 0}.login-card input{padding:12px;border:1px solid #dbe2ea;border-radius:9px}.full{width:100%;margin-top:10px}.auth-message{min-height:22px;margin-top:14px;font-size:13px}.auth-message.error{color:#b42318}.auth-message.ok{color:#087a55}.app{min-height:100vh;display:flex}.sidebar{width:270px;background:#111827;color:#fff;padding:22px 14px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 18px}.brandmark{width:42px;height:42px;border-radius:12px;background:#fff;color:#111827;display:grid;place-items:center;font-weight:800}.brand small{display:block;color:#9ca3af;margin-top:3px}.section{font-size:11px;color:#6b7280;font-weight:700;letter-spacing:.1em;padding:18px 12px 7px}.nav{width:100%;border:0;background:transparent;color:#cbd5e1;text-align:left;padding:11px 12px;border-radius:9px;margin:2px 0;cursor:pointer}.nav:hover{background:#1f2937}.nav.active{background:#2563eb;color:#fff}.main{margin-left:270px;width:calc(100% - 270px);padding:30px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}h1{margin:4px 0 0;font-size:28px}header p,.panel p{color:#6b7280}.actions{display:flex;gap:10px;align-items:center}.user-email{font-size:12px;color:#64748b}.connection-line{font-size:12px;color:#64748b;display:flex;align-items:center;gap:7px}.connection-dot{width:8px;height:8px;border-radius:50%;background:#d98b17}.connection-dot.ok{background:#159a68}.connection-dot.bad{background:#dc4c4c}button{font:inherit;border:1px solid #e5e9f0;background:#fff;padding:10px 14px;border-radius:9px;cursor:pointer}.primary{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}.secondary{background:#fff}.success{background:#0f9f6e;color:#fff;border-color:#0f9f6e;font-weight:600}.success:disabled{opacity:.45;cursor:not-allowed}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.kpis article,.panel{background:#fff;border:1px solid #e5e9f0;border-radius:14px;padding:20px}.kpis span{display:block;color:#6b7280;font-size:13px}.kpis strong{display:block;font-size:28px;margin:10px 0 6px}.kpis small{color:#8b95a7}.grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.empty{min-height:230px;display:grid;place-items:center;text-align:center;color:#64748b}.status{margin-top:20px}.status div{display:flex;justify-content:space-between;border-bottom:1px solid #e5e9f0;padding:14px 0}.view{display:none}.view.active{display:block}.filters{display:grid;grid-template-columns:repeat(4,1fr) auto auto;gap:10px;align-items:end;margin:18px 0}.filters label{display:grid;gap:6px;font-size:12px;color:#6b7280}.filters input{padding:9px;border:1px solid #e5e9f0;border-radius:8px}.tablewrap{overflow:auto;border:1px solid #e5e9f0;border-radius:10px}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:12px;border-bottom:1px solid #e5e9f0;text-align:left;font-size:13px}th{background:#f8fafc}.money{text-align:right;white-space:nowrap}.emptycell{text-align:center;color:#6b7280;padding:45px}.notice{margin-top:18px;padding:16px;border-radius:10px;background:#f8fafc;border:1px solid #e5e9f0;color:#475569}.upload-box{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:20px}.file-label{display:grid;gap:6px;font-size:13px;color:#475569}.file-label input{padding:9px;border:1px solid #e5e9f0;border-radius:9px;background:#fff}.preview-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.preview-summary>div{border:1px solid #e5e9f0;background:#f8fafc;border-radius:10px;padding:14px}.preview-summary span{display:block;color:#64748b;font-size:12px}.preview-summary b{display:block;margin-top:6px;font-size:18px}@media(max-width:1000px){.kpis,.preview-summary{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.filters{grid-template-columns:repeat(2,1fr)}}
.history-block{margin-top:28px;padding-top:24px;border-top:1px solid #e5e9f0}
.danger{background:#b42318;color:#fff;border-color:#b42318;font-weight:600}
.danger:hover{background:#912018}
.pin-card{margin-top:22px;padding:18px;border:1px solid #e5e9f0;border-radius:12px;background:#f8fafc}
.pin-card h3{margin:0 0 6px}
.pin-card p{margin:0 0 14px;color:#64748b}
.pin-row{display:flex;gap:10px;flex-wrap:wrap}
.pin-row input{min-width:220px;padding:10px;border:1px solid #dbe2ea;border-radius:9px}

.cartola-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 18px}
.cartola-tab{background:#f8fafc;color:#475569;border:1px solid #dbe2ea}
.cartola-tab.active{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}
.cartola-panel{display:none}
.cartola-panel.active{display:block}
.subpanel{padding-top:4px}
.subpanel h3{margin:0 0 6px;font-size:18px}
.mode-badge{padding:7px 12px;border-radius:999px;background:#eef4ff;color:#2459b8;font-size:12px;font-weight:700}
.movement-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.movement-summary>div{background:#f8fafc;border:1px solid #e5e9f0;border-radius:10px;padding:14px}
.movement-summary span{display:block;color:#64748b;font-size:12px}
.movement-summary b{display:block;margin-top:6px;font-size:18px}
@media(max-width:800px){.movement-summary{grid-template-columns:1fr}}

.classify-select{min-width:180px;padding:8px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}
.save-classification{padding:8px 10px}
.classification-ok{color:#087a55;font-size:12px;font-weight:700}
.client-config-grid{display:grid;grid-template-columns:320px 1fr;gap:18px;margin-top:20px}
.field-label{display:grid;gap:7px;color:#475569;font-size:13px}
.field-label select{padding:10px;border:1px solid #dbe2ea;border-radius:9px;background:#fff}
.client-types-panel{border:1px solid #e5e9f0;border-radius:12px;min-height:240px;padding:16px}
.client-type-row{display:grid;grid-template-columns:1fr 120px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f7}
.client-type-row:last-child{border-bottom:0}
.client-type-row label{display:flex;align-items:center;gap:10px}
.default-radio{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b}
.client-config-actions{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:900px){.client-config-grid{grid-template-columns:1fr}}

.master-tab{background:#f8fafc;color:#475569;border:1px solid #dbe2ea}
.master-tab.active{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}
.master-panel{display:none}
.master-panel.active{display:block}
.master-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 14px}
.master-header h3{margin:0 0 5px}
.master-header p{margin:0;color:#64748b}
.master-form{border:1px solid #dbe2ea;background:#f8fafc;border-radius:12px;padding:16px;margin-bottom:18px}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.form-grid label{display:grid;gap:6px;font-size:12px;color:#475569}
.form-grid input{padding:10px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}
.flag-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.flag-grid label{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155}
.form-actions{display:flex;justify-content:flex-end;gap:8px}
.flag-ok{color:#159a68;font-weight:700}
.flag-no{color:#dc4c4c;font-weight:700}
@media(max-width:1000px){.form-grid{grid-template-columns:1fr}.flag-grid{grid-template-columns:repeat(2,1fr)}}

.master-menu{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 18px}
.master-actions{display:flex;gap:8px;flex-wrap:wrap}
.checkline{display:flex!important;align-items:center;gap:8px;margin-top:22px}
.action-row{display:flex;gap:6px;flex-wrap:wrap}
.small-danger{background:#b42318;color:#fff;border-color:#b42318;padding:7px 9px}
.small-edit{padding:7px 9px}

.master-accordion{
  display:flex;
  flex-direction:column;
  gap:4px;
  width:320px;
  margin:20px 0 18px;
}
.master-accordion-item{width:100%}
.master-accordion-header{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  padding:13px 14px;
  border:1px solid #e5e9f0;
  background:#fff;
  color:#334155;
  border-radius:9px;
  font-weight:600;
}
.master-accordion-header:hover{background:#f8fafc}
.master-accordion-header.active{
  background:#eef4ff;
  color:#1d4ed8;
  border-color:#cddcff;
}
.master-accordion-header .chev{
  transition:transform .2s ease;
  font-size:15px;
}
.master-accordion-header.active .chev{transform:rotate(180deg)}
#tablas .panel{position:relative}
#tablas .panel > .panel-title{margin-bottom:4px}
#tablas .master-layout{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
#tablas .master-accordion{
  width:100%;
  margin:20px 0 0;
}
#tablas .master-panel{
  margin:20px 0 0;
  min-height:420px;
}
@media(max-width:1050px){
  #tablas .master-layout{grid-template-columns:1fr}
  #tablas .master-accordion,
  #tablas .master-panel{margin-top:12px}
}

.supplier-bank-section{margin-top:18px;padding-top:16px;border-top:1px solid #dbe2ea}
.master-header.compact{margin:0 0 12px}
.master-header.compact h4{margin:0 0 4px;font-size:15px}
.master-header.compact p{margin:0;color:#64748b;font-size:12px}
.supplier-bank-editor{display:grid;gap:10px}
.supplier-bank-row{
  display:grid;
  grid-template-columns:1.3fr 1fr 1.2fr .7fr auto auto;
  gap:8px;
  align-items:end;
  padding:12px;
  border:1px solid #e5e9f0;
  border-radius:10px;
  background:#fff;
}
.supplier-bank-row label{display:grid;gap:5px;font-size:12px;color:#475569}
.supplier-bank-row select,.supplier-bank-row input{
  padding:9px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;min-width:0
}
.default-bank-check{display:flex!important;align-items:center;gap:6px;padding-bottom:9px}
.bank-summary{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#475569}
.bank-summary strong{color:#172033}
@media(max-width:1100px){
  .supplier-bank-row{grid-template-columns:1fr 1fr}
}

.row-classified-bch{background:#eaf3ff!important}
.row-classified-santander{background:#fdecec!important}
.row-classified-bch td,.row-classified-santander td{background:transparent!important}
.cuad-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:16px 0}
.cuad-filters label{display:grid;gap:6px;font-size:12px;color:#64748b}
.cuad-filters input{padding:9px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}
.cuad-metric{display:grid;gap:3px;min-width:150px}
.cuad-metric .line{display:flex;justify-content:space-between;gap:12px}
.cuad-metric .progress{height:7px;border-radius:99px;background:#e5e7eb;overflow:hidden;margin-top:5px}
.cuad-metric .progress>span{display:block;height:100%;background:#22a06b}
.cuad-metric .progress.warn>span{background:#3b82f6}
.cuad-state{display:inline-block;padding:5px 9px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:12px;font-weight:700}
.cuad-state.ok{background:#dcfce7;color:#166534}
.modal-backdrop{position:fixed;inset:0;background:#0f172a80;display:grid;place-items:center;z-index:9999;padding:20px}
.modal-card{width:min(780px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px #0005}
.modal-head{display:flex;justify-content:space-between;gap:14px;align-items:start;padding:20px;border-bottom:1px solid #e5e7eb}
.modal-head h3{margin:0 0 4px}.modal-head p{margin:0;color:#64748b}
.modal-head>button{font-size:24px;padding:2px 10px}
.modal-body{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e5e7eb}
.despacho-lines{display:grid;gap:10px;margin-bottom:12px}
.despacho-line{display:grid;grid-template-columns:1fr 180px auto;gap:8px;align-items:end}
.despacho-line label{display:grid;gap:5px;font-size:12px;color:#64748b}
.despacho-line input{padding:10px;border:1px solid #dbe2ea;border-radius:8px}
.despacho-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.despacho-totals>div{padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}
.despacho-totals span{display:block;font-size:12px;color:#64748b}.despacho-totals b{display:block;margin-top:5px;font-size:17px}
@media(max-width:700px){.despacho-line{grid-template-columns:1fr}.despacho-totals{grid-template-columns:1fr}}

.despacho-actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#take-balance-btn{font-weight:700}
#cuad-exportar-btn{margin-left:auto}
@media(max-width:820px){#cuad-exportar-btn{margin-left:0}}

.cuad-detail-panel{margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}
.cuad-detail-panel h4{margin:0 0 4px;font-size:17px}
.cuad-detail-panel p{margin:0;color:#64748b}
.cuad-detail-btn{padding:7px 10px}

.panel-actions-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.action-edit{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}
.detail-open{background:#eef4ff}

.expand-btn{width:32px;height:32px;padding:0;border-radius:8px;font-weight:800}
.abono-detail-row td{background:#f8fafc!important;padding:0!important}
.abono-detail-box{padding:14px 18px}
.abono-detail-grid{display:grid;grid-template-columns:180px 1fr 160px;gap:8px;align-items:center}
.abono-detail-head{font-size:12px;color:#64748b;font-weight:700;padding-bottom:6px;border-bottom:1px solid #e5e7eb}
.abono-detail-line{padding:7px 0;border-bottom:1px dashed #e5e7eb}
.abono-detail-empty{color:#94a3b8;font-size:13px}
.detail-mode-active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}

.header-left{display:flex;align-items:flex-start;gap:12px}
.sidebar-toggle{width:42px;height:42px;padding:0;font-size:20px;display:grid;place-items:center}
.app.sidebar-hidden .sidebar{transform:translateX(-100%)}
.app.sidebar-hidden .main{margin-left:0;width:100%}
.sidebar{transition:transform .2s ease}
.main{transition:margin-left .2s ease,width .2s ease}
.cuad-filters-advanced{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;align-items:end}
.cuad-filters-advanced label{min-width:0}
.cuad-filters-advanced input,.cuad-filters-advanced select{width:100%;padding:9px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}
.cartola-expand-btn{width:34px;height:34px;padding:0;font-weight:800}
.cartola-detail-row td{padding:0!important;background:#f8fafc!important}
.cartola-detail-wrap{padding:14px}
.cartola-detail-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.cartola-detail-toolbar button.active{background:#2563eb;color:#fff;border-color:#2563eb}
.cartola-detail-table{width:100%;border-collapse:collapse}
.cartola-detail-table th,.cartola-detail-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;text-align:left}
.cartola-detail-table .money{text-align:right}
@media(max-width:1200px){.cuad-filters-advanced{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:700px){.cuad-filters-advanced{grid-template-columns:1fr}}

.movement-filters{
  display:grid;
  grid-template-columns:repeat(6,minmax(130px,1fr));
  gap:10px;
  align-items:end;
  margin:16px 0;
}
.movement-filters label{display:grid;gap:6px;font-size:12px;color:#64748b;min-width:0}
.movement-filters input,.movement-filters select{
  width:100%;padding:9px;border:1px solid #dbe2ea;border-radius:8px;background:#fff
}
.movement-groups{display:grid;gap:10px;margin-top:14px}
.movement-group{border:1px solid #dbe2ea;border-radius:10px;overflow:hidden;background:#fff}
.movement-group-header{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;border:0;border-radius:0;background:#f8fafc;font-weight:700;text-align:left
}
.movement-group-header .group-meta{display:flex;gap:18px;align-items:center;color:#64748b;font-size:12px;font-weight:600}
.movement-group-body{padding:0}
.movement-group-body.hidden{display:none}
.group-table{width:100%;border-collapse:collapse}
.group-table th,.group-table td{padding:10px;border-bottom:1px solid #eef2f7;font-size:13px;text-align:left}
.group-table .money{text-align:right}
@media(max-width:1200px){.movement-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:700px){.movement-filters{grid-template-columns:1fr}}

/* V9.4 - detalle expandible por movimiento */
.mov-detail-btn{
  white-space:nowrap;
  padding:7px 10px;
  border-radius:8px;
  font-weight:700;
}
.mov-detail-row td{
  padding:0!important;
  background:#f8fafc!important;
}
.mov-detail-panel{
  padding:14px 16px 16px;
  border-top:1px solid #dbe2ea;
}
.mov-detail-panel table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}
.mov-detail-panel th,.mov-detail-panel td{
  padding:9px 10px!important;
  border:1px solid #e5e7eb;
  font-size:13px;
}
.mov-detail-panel th{
  background:#f8fafc;
  font-weight:700;
}
.mov-detail-panel .money{text-align:right}
.dispatch-badge{
  display:inline-block;
  padding:5px 8px;
  border-radius:7px;
  background:#eef2f7;
  font-size:12px;
  font-weight:700;
}
.dispatch-badge.multiple{
  background:#fff3cd;
  color:#8a5a00;
}
.group-table .mov-detail-row td{padding:0!important}


/* V9.5 - filtros colapsables y control masivo de detalles */
.filters-collapsed{
  display:none !important;
}
.panel-actions-inline{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.cartola-panel .panel-actions-inline button{
  white-space:nowrap;
}
.secondary{
  background:#fff;
  color:#1f2937;
  border:1px solid #cbd5e1;
}
.secondary:hover{
  background:#f8fafc;
}


/* V9.6 */
#movements-filters-wrap.filters-collapsed{
  display:none !important;
}


/* V9.7 - ABONOS EN MODO COMPACTO */
#cartola-panel-abonos .tablewrap table{
  table-layout:fixed;
  width:100%;
}

#cartola-panel-abonos .tablewrap th,
#cartola-panel-abonos .tablewrap td,
#cartola-panel-abonos .group-table th,
#cartola-panel-abonos .group-table td{
  padding:4px 6px !important;
  font-size:12px;
  line-height:1.15;
  vertical-align:middle;
}

#cartola-panel-abonos .tablewrap th,
#cartola-panel-abonos .group-table th{
  padding-top:5px !important;
  padding-bottom:5px !important;
  white-space:nowrap;
}

#cartola-panel-abonos .classify-select{
  min-height:28px !important;
  height:28px !important;
  padding:2px 26px 2px 6px !important;
  font-size:12px !important;
  line-height:1 !important;
  border-radius:6px;
}

#cartola-panel-abonos .save-classification,
#cartola-panel-abonos .mov-detail-btn{
  min-height:28px !important;
  height:28px !important;
  padding:3px 7px !important;
  font-size:11px !important;
  line-height:1 !important;
  border-radius:6px;
}

#cartola-panel-abonos .dispatch-badge{
  padding:3px 6px !important;
  font-size:11px !important;
  line-height:1.05;
}

#cartola-panel-abonos td.money{
  white-space:nowrap;
  font-weight:600;
}

#cartola-panel-abonos td:nth-child(1){
  white-space:nowrap;
}

#cartola-panel-abonos td:nth-child(2){
  white-space:normal;
  overflow-wrap:anywhere;
}

#cartola-panel-abonos td:nth-child(3),
#cartola-panel-abonos td:nth-child(6),
#cartola-panel-abonos td:nth-child(7),
#cartola-panel-abonos td:nth-child(8){
  white-space:nowrap;
}

#cartola-panel-abonos .movement-summary{
  margin-top:8px;
  margin-bottom:8px;
}

#cartola-panel-abonos .movement-summary > div{
  padding:8px 10px;
}

#cartola-panel-abonos .movement-summary span{
  font-size:11px;
}

#cartola-panel-abonos .movement-summary b{
  font-size:15px;
}

#cartola-panel-abonos .movement-group-header{
  padding:7px 10px !important;
  min-height:34px;
}

#cartola-panel-abonos .movement-group-header .group-meta{
  font-size:11px;
}

#cartola-panel-abonos .mov-detail-panel{
  padding:8px 10px 10px !important;
}

#cartola-panel-abonos .mov-detail-panel th,
#cartola-panel-abonos .mov-detail-panel td{
  padding:4px 6px !important;
  font-size:11px !important;
  line-height:1.15;
}

/* Columnas compactas manteniendo toda la información */
#cartola-panel-abonos table th:nth-child(1),
#cartola-panel-abonos table td:nth-child(1){width:82px}
#cartola-panel-abonos table th:nth-child(2),
#cartola-panel-abonos table td:nth-child(2){width:24%}
#cartola-panel-abonos table th:nth-child(3),
#cartola-panel-abonos table td:nth-child(3){width:105px}
#cartola-panel-abonos table th:nth-child(4),
#cartola-panel-abonos table td:nth-child(4){width:22%}
#cartola-panel-abonos table th:nth-child(5),
#cartola-panel-abonos table td:nth-child(5){width:21%}
#cartola-panel-abonos table th:nth-child(6),
#cartola-panel-abonos table td:nth-child(6){width:105px}
#cartola-panel-abonos table th:nth-child(7),
#cartola-panel-abonos table td:nth-child(7){width:70px}
#cartola-panel-abonos table th:nth-child(8),
#cartola-panel-abonos table td:nth-child(8){width:88px}

/* En pantallas estrechas conserva datos y permite scroll horizontal */
#cartola-panel-abonos .tablewrap{
  overflow-x:auto;
}
#cartola-panel-abonos .tablewrap table{
  min-width:1180px;
}

/* V9.8 */
.flow-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.flow-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}
.flow-panel{display:none}.flow-panel.active{display:block}
.flow-source-note{font-size:12px;color:#64748b;margin:8px 0 10px}
.flow-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.flow-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}
.flow-toolbar label{display:grid;gap:5px;font-size:12px;color:#64748b}
.flow-toolbar input,.flow-toolbar select{padding:8px 10px;border:1px solid #dbe2ea;border-radius:8px;background:#fff}
.flow-toolbar input{min-width:180px}
.flow-tablewrap{max-height:520px;overflow:auto}
.flow-tablewrap th{position:sticky;top:0;background:#f8fafc;z-index:1}
.flow-tablewrap td,.flow-tablewrap th{padding:7px 9px;font-size:12px}
.flow-matrix-wrap{overflow:auto}
#projected-flow-table{border-collapse:collapse;min-width:1000px}
#projected-flow-table th,#projected-flow-table td{padding:8px 10px;border:1px solid #e5e7eb;font-size:12px;text-align:right;white-space:nowrap}
#projected-flow-table th:first-child,#projected-flow-table td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:2;font-weight:700}
#projected-flow-table .flow-income-row td{background:#dcfce7}
#projected-flow-table .flow-expense-row td{background:#fee2e2}
#projected-flow-table .flow-net-row td{background:#dbeafe;font-weight:700}
#projected-flow-table .flow-pending-row td{background:#f8fafc;color:#64748b}


/* V9.9 - acceso rápido a clasificación pendiente */
.pending-toggle-label{
  align-self:end;
}
.pending-toggle-wrap{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid #dbe2ea;
  border-radius:8px;
  background:#fff;
  color:#334155;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.pending-toggle-wrap input{
  width:16px !important;
  height:16px !important;
  min-width:16px;
  margin:0;
  accent-color:#2563eb;
}

/* V10.0 - Motor de flujo proyectado */
.budget-filter-card,.cash-opening-card,.cash-filter-card{border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc;padding:12px;margin:12px 0}
.budget-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px}
.budget-filter-grid label,.opening-grid label,.cash-filter-grid label{display:grid;gap:5px;font-size:12px;color:#64748b}
.budget-filter-grid input,.budget-filter-grid select,.opening-grid input,.cash-filter-grid input,.cash-filter-grid select{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}
.compact-title{margin-bottom:8px}.compact-title h4{margin:0}.compact-title p{margin:3px 0 0;color:#64748b}
.opening-grid{display:grid;grid-template-columns:160px 1fr 1fr auto;gap:10px;align-items:end}
.opening-history{margin-top:10px;max-height:180px;overflow:auto;border-top:1px solid #e2e8f0;padding-top:8px}
.opening-history-row{display:grid;grid-template-columns:130px 1fr 1fr auto;gap:10px;padding:6px 0;border-bottom:1px solid #e5e7eb;font-size:12px;align-items:center}
.flow-view-tabs{display:flex;gap:8px;margin:14px 0}.cash-view-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}
.cash-filter-grid{display:grid;grid-template-columns:minmax(170px,220px) 150px 150px minmax(220px,1fr) auto;gap:10px;align-items:end}
.cash-check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:9px;background:#fff;border:1px solid #cbd5e1;border-radius:7px;color:#334155!important}
.cash-check-label input{width:auto!important}
.flow-export-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:12px 0;font-size:12px}.flow-export-bar span{font-weight:700}.flow-export-bar button{padding:7px 9px;font-size:11px}
.flow-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.flow-status-strip>div{padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.flow-status-strip span{display:block;font-size:11px;color:#64748b}.flow-status-strip b{display:block;margin-top:4px}
.cash-view{display:none}.cash-view.active{display:block}
#projected-flow-table{border-collapse:collapse;min-width:1100px}
#projected-flow-table th,#projected-flow-table td{padding:7px 9px;border:1px solid #e5e7eb;font-size:11px;text-align:right;white-space:nowrap}
#projected-flow-table th:first-child,#projected-flow-table td:first-child{position:sticky;left:0;z-index:3;text-align:left;background:#fff;font-weight:700;min-width:190px}
#projected-flow-table thead th{position:sticky;top:0;background:#f8fafc;z-index:2}
#projected-flow-table thead th:first-child{z-index:4}
.cash-row-opening td{background:#f1f5f9}.cash-row-income td{background:#dcfce7}.cash-row-expense td{background:#fee2e2}.cash-row-ending td{background:#dbeafe;font-weight:700}.cash-row-actual td{background:#ecfeff}.cash-row-detail td{background:#fff;font-size:10px;color:#475569}
#weekly-flow-table th,#weekly-flow-table td{padding:8px 10px;font-size:12px;white-space:nowrap}
#weekly-flow-table .money{text-align:right}.income-chip{color:#166534;font-weight:700}.expense-chip{color:#991b1b;font-weight:700}
@media(max-width:1200px){.budget-filter-grid{grid-template-columns:repeat(3,1fr)}.cash-filter-grid{grid-template-columns:repeat(2,1fr)}.opening-grid{grid-template-columns:1fr 1fr}.flow-status-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.budget-filter-grid,.cash-filter-grid,.opening-grid,.flow-status-strip{grid-template-columns:1fr}}

/* V10.1 - Maestro de Presupuesto */
.maestro-actions{display:flex;gap:8px;flex-wrap:wrap}
.maestro-settings-card,.maestro-editor{border:1px solid #dbe2ea;border-radius:12px;background:#f8fafc;padding:12px;margin:12px 0}
.maestro-settings-grid{display:grid;grid-template-columns:140px 180px 160px 160px 1fr;gap:10px;align-items:end}
.maestro-settings-grid label,.maestro-editor-grid label{display:grid;gap:5px;font-size:12px;color:#64748b}
.maestro-settings-grid input,.maestro-editor-grid input,.maestro-editor-grid select,.maestro-editor-grid textarea,.maestro-filter-row input,.maestro-filter-row select{padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;width:100%;box-sizing:border-box}
.maestro-legend{font-size:12px;color:#475569;padding:9px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}
.maestro-alerts{display:grid;gap:6px;margin:10px 0}.maestro-alert{padding:8px 10px;border-radius:8px;font-size:12px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412}.maestro-alert.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.maestro-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:8px;align-items:center;margin:10px 0}.maestro-count{font-size:12px;color:#64748b;text-align:right}
.maestro-tablewrap{max-height:560px;overflow:auto}.maestro-tablewrap table{min-width:1450px}.maestro-tablewrap th{position:sticky;top:0;z-index:2;background:#f8fafc}.maestro-tablewrap th,.maestro-tablewrap td{font-size:11px;padding:6px 7px;vertical-align:middle}.maestro-tablewrap .money{text-align:right;white-space:nowrap}
.maestro-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:700}.maestro-status.active{background:#dcfce7;color:#166534}.maestro-status.inactive{background:#e2e8f0;color:#475569}.maestro-status.warning{background:#ffedd5;color:#9a3412}
.maestro-editor{position:sticky;bottom:10px;z-index:6;box-shadow:0 12px 35px rgba(15,23,42,.16);background:#fff}.maestro-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.maestro-wide{grid-column:1/-1}.maestro-check{display:flex!important;align-items:center;gap:8px!important;align-self:end;padding:9px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px}.maestro-check input{width:auto!important}.maestro-editor-actions{display:flex;gap:8px;margin-top:12px}
@media(max-width:1100px){.maestro-settings-grid{grid-template-columns:repeat(2,1fr)}.maestro-editor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.maestro-settings-grid,.maestro-editor-grid,.maestro-filter-row{grid-template-columns:1fr}.maestro-wide{grid-column:auto}}

/* V10.2 - Maestro exacto desde hoja Plantilla general */
.maestro-tablewrap table{min-width:2050px}
.maestro-tablewrap td:nth-child(1){min-width:240px}
.maestro-tablewrap td:nth-child(13){min-width:260px;white-space:normal}
.maestro-source-note{font-size:11px;color:#64748b}

/* V10.3 */
.budget-modal{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.budget-modal.hidden{display:none}.budget-modal-card{width:min(900px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:18px;box-shadow:0 20px 60px rgba(15,23,42,.28)}
.budget-generator-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:14px 0}.budget-generator-grid label{display:grid;gap:5px;font-size:12px;color:#64748b}.budget-generator-grid input{padding:9px;border:1px solid #cbd5e1;border-radius:7px}.generator-preview{margin:12px 0;padding:10px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;font-size:12px;line-height:1.5}
#budget-body td{font-size:10.5px;vertical-align:top;white-space:nowrap}#budget-body td:nth-child(14){white-space:normal;min-width:250px}.budget-alert-row td{background:#fff7ed}.budget-uf-row td{background:#f5f3ff}.budget-explicit-row td{background:#eff6ff}.alert-pill,.origin-pill,.validation-pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:700}.alert-pill{background:#ffedd5;color:#9a3412}.origin-pill{background:#e0e7ff;color:#3730a3}.validation-pill{background:#fef3c7;color:#92400e}
.cash-reconciliation-card{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.cash-reconciliation-card>div{padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.cash-reconciliation-card span{display:block;font-size:10px;color:#64748b}.cash-reconciliation-card b{display:block;margin-top:4px;font-size:13px}.hierarchy-card{margin-top:14px;border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#fff}.hier-group{border-top:1px solid #e5e7eb}.hier-line{display:grid;grid-template-columns:minmax(260px,1fr) 130px 130px;gap:10px;padding:7px 8px;align-items:center;font-size:11px}.hier-line button{text-align:left;background:none;border:0;padding:0;font-weight:700}.hier-children{padding-left:18px}.hier-children.hidden{display:none}.hier-unit>.hier-line{background:#eff6ff}.hier-type>.hier-line{background:#f8fafc}.hier-item>.hier-line{background:#fff}.hier-detail .hier-line{font-size:10px;color:#475569}.recon-ok{color:#166534}.recon-error{color:#b91c1c}
@media(max-width:900px){.budget-generator-grid,.cash-reconciliation-card{grid-template-columns:1fr 1fr}}@media(max-width:600px){.budget-generator-grid,.cash-reconciliation-card{grid-template-columns:1fr}}

/* V10.4 visibility fix */
.maestro-tablewrap{min-height:420px}.maestro-tablewrap tbody tr{display:table-row}.maestro-tablewrap tbody td{visibility:visible}

/* V10.6 */
.maestro-alert.ok b{font-weight:800}

/* V10.7 */
#budget-generation-status b{font-weight:800}

/* V10.8 */
#budget-generation-status{min-height:22px}

/* V10.9 clean flow module */
.v109-master-card{width:min(900px,96vw)}
.v109-full{display:grid;gap:6px;margin:10px 0;font-size:12px}.v109-full input,.v109-full textarea,.v109-form-grid select,.v109-form-grid input{padding:9px;border:1px solid #cbd5e1;border-radius:7px;width:100%;box-sizing:border-box}
.v109-currency-box{background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;padding:12px;margin:10px 0}.v109-currency-buttons{display:flex;gap:8px;margin:9px 0}.v109-currency-buttons button.active{background:#2563eb;color:white}.v109-two,.v109-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v109-two label,.v109-form-grid label{display:grid;gap:5px;font-size:12px}.v109-calc{margin-top:9px;padding:9px;border:1px solid #334155;border-radius:6px;background:white;text-align:right}.v109-months-box{border:1px solid #111827;border-radius:8px;padding:12px;margin:12px 0}.v109-presets,.v109-month-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.v109-month-chips button{border-radius:12px;padding:6px 9px}.v109-month-chips button.active{background:#dbeafe;border-color:#93c5fd}.v109-switch{display:flex;gap:8px;align-items:center;font-size:12px}.v109-view-tab.active{background:#2563eb;color:white}.maestro-tablewrap{min-height:360px}.flow-matrix-wrap table{min-width:max-content}.flow-matrix-wrap th,.flow-matrix-wrap td{white-space:nowrap}
@media(max-width:700px){.v109-two,.v109-form-grid{grid-template-columns:1fr}}

/* V11.0 filtros Maestro alineados con Presupuesto generado */
.maestro-filter-summary{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:8px 0}.maestro-filter-summary label{display:grid;gap:5px;font-size:12px;color:#64748b;min-width:170px}.maestro-filter-summary select{padding:8px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}

/* V11.1 */
.origin-pill{white-space:nowrap}

/* V11.2 */
#v109-budget-body td:last-child{white-space:nowrap}#v109-budget-body td:last-child button{padding:5px 7px;font-size:10px}

/* V11.3 - agregar gasto excepcional + agrupación */
.v113-group-row td{background:#eef4ff!important;border-top:2px solid #c7d7f3!important;border-bottom:1px solid #dbe7f7!important;padding:7px 9px!important}
.v113-group-row td{display:table-cell}
.v113-group-row .v113-group-toggle{background:transparent;border:0;padding:0;margin-right:14px;font-weight:800;color:#1e3a5f;cursor:default}
.v113-group-row span{font-size:10px;color:#64748b}
#v113-toggle-master-group,#v113-toggle-budget-group{white-space:nowrap}
#v113-budget-new-modal .notice{margin:12px 0}

/* V11.4 */
#v114-export-master,#v114-export-budget{white-space:nowrap}


/* V11.9 - solo Flujo Proyectado TP, sin tocar menú/branding */
/* =========================================================
   V11.5 FLUJO PROYECTADO TP — only this tab
   ========================================================= */
#flow-panel-proyectado{--tp-dark:#1f4e78;--tp-blue:#5b9bd5;--tp-bank:#d9eaf7;--tp-open:#eaf3f8;--tp-exp:#fce4e4;--tp-inc:#e2f5e9;--tp-final:#ddebf7;--tp-alert:#fff2cc;--tp-purple:#6d5bd0;--tp-purple-soft:#e4ddf7}
#flow-panel-proyectado .v115-flow-title{margin-bottom:10px}
#flow-panel-proyectado .v115-filter-card{margin-top:10px}
#flow-panel-proyectado .v115-filter-grid{grid-template-columns:210px 150px 150px 220px auto;align-items:end}
#flow-panel-proyectado .v115-view-tabs{margin:10px 0;display:flex;gap:8px}
#flow-panel-proyectado .v115-kpis{grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px}
#flow-panel-proyectado .v115-kpis>div{padding:8px 10px}
#flow-panel-proyectado .v115-kpis span{font-size:10px}
#flow-panel-proyectado .v115-kpis b{font-size:13px}
#flow-panel-proyectado .v115-kpis small{display:block;font-size:9px;margin-top:3px;color:#b91c1c}
.v115-positive{color:#15803d!important}.v115-negative{color:#b91c1c!important}

.v115-tp-wrap{max-height:590px;overflow:auto;border-radius:8px}
.v115-tp-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}
.v115-tp-table th,.v115-tp-table td{padding:6px 8px;font-size:10px;border-right:1px solid #dbe4ef;border-bottom:1px solid #dbe4ef;white-space:nowrap}
.v115-tp-table thead th{position:sticky;z-index:5;text-align:center}
.v115-tp-table thead tr:first-child th{top:0;background:var(--tp-dark);color:#fff}
.v115-tp-table thead tr:nth-child(2) th{top:44px;background:var(--tp-bank);color:#17324d}
.v115-tp-table .v115-sticky-label,.v115-tp-table .v115-row-label{position:sticky;left:0;z-index:4;min-width:270px;max-width:350px;text-align:left}
.v115-tp-table thead .v115-sticky-label{z-index:7;background:var(--tp-dark)!important}
.v115-tp-table .v115-row-label{background:#fff}
.v115-date-head{min-width:300px;border-left:3px solid #aec7df!important}
.v115-date-head small{display:block;margin-top:3px;font-weight:500}
.v115-bank-head,.v115-total-head{min-width:100px}
.v115-total-head,.v115-total-cell{border-right:3px solid #aec7df!important}
.v115-money{text-align:right;font-variant-numeric:tabular-nums}
.v115-open-row td,.v115-open-row .v115-row-label{background:var(--tp-open)}
.v115-exp-row td,.v115-exp-row .v115-row-label{background:var(--tp-exp)}
.v115-inc-row td,.v115-inc-row .v115-row-label{background:var(--tp-inc)}
.v115-final-row td,.v115-final-row .v115-row-label{background:var(--tp-final);font-weight:700}
.v115-acc-row td,.v115-acc-row .v115-row-label{background:var(--tp-purple-soft);font-weight:700}
.v115-state-row td,.v115-state-row .v115-row-label{background:#fafafa}
.v115-state{font-size:9px;font-weight:700;padding:3px 6px;border-radius:999px;white-space:nowrap}
.v115-state.positive{background:#dcfce7;color:#166534}.v115-state.negative{background:#fee2e2;color:#991b1b}
.v115-h-unit .v115-row-label{background:#dce6f1;font-weight:800}
.v115-h-type .v115-row-label{background:#eef3f8;padding-left:22px;font-weight:700}
.v115-h-item .v115-row-label{padding-left:42px;font-weight:500}
.v115-h-unit button,.v115-h-type button{background:none;border:0;padding:0;font-weight:inherit;color:inherit;text-align:left}
.v115-alert-row td,.v115-alert-row .v115-row-label{background:var(--tp-alert)!important}
.v115-alert-link{border:0;background:transparent;color:#9a5b00;padding:0;font-size:9px;font-weight:700;text-decoration:underline;white-space:normal;max-width:150px}

.v115-weekly-wrap{max-height:520px}
.v115-weekly-table th{position:sticky;top:0;background:var(--tp-dark);color:#fff;z-index:2}
.v115-weekly-table td,.v115-weekly-table th{padding:8px 10px;font-size:11px}

.v115-analysis{margin-top:14px;border:1px solid #e5e9f0;border-radius:10px;background:#fff;overflow:hidden}
.v115-analysis-head{background:var(--tp-purple-soft);padding:10px 12px;border-bottom:1px solid #d5caef}
.v115-analysis-head h4{margin:0;color:#4c3aa0;font-size:12px;letter-spacing:.02em}
#v115-analysis-table th{background:#f3effb;color:#4c3aa0;font-size:10px;position:sticky;top:0}
#v115-analysis-table td{font-size:10px;padding:7px 9px}
.v115-bar-track{height:10px;background:#f0ecfa;border-radius:999px;overflow:hidden;min-width:120px}
.v115-bar-track span{display:block;height:100%;background:var(--tp-purple);border-radius:999px}

@media(max-width:1200px){
  #flow-panel-proyectado .v115-kpis{grid-template-columns:repeat(4,1fr)}
  #flow-panel-proyectado .v115-filter-grid{grid-template-columns:repeat(2,1fr)}
}

/* V12.0 - Filtro explícito + Flujo Exportaciones editable */
#flow-panel-proyectado .v115-filter-grid{grid-template-columns:210px 150px 150px 220px 140px auto!important}
#v120-flow-apply{height:38px;align-self:end}
.v120-expo-wrap{max-height:580px}
.v120-expo-wrap table{min-width:1500px}
.v120-expo-wrap th{position:sticky;top:0;z-index:2}
.v120-grid-money{width:112px;box-sizing:border-box;text-align:right;padding:5px 6px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;font-size:10px}
.v120-grid-money:focus{outline:2px solid #93c5fd;border-color:#3b82f6}
.v120-abono-cell{background:#e2f5e9;font-weight:700;min-width:115px}
.v120-expo-note{margin-top:10px}

/* V12.3 - saldo exportadores + ruteo de abonos */
.v123-formula-cell{background:#eef6ff;font-weight:800;min-width:120px}
#flow-panel-libre .flow-toolbar{grid-template-columns:160px 160px 1fr auto auto}
#flow-panel-libre .flow-tablewrap{max-height:560px}
#flow-panel-libre table{min-width:1000px}

/* V12.5 - Exportaciones calculado y aislado */
.v125-projected-cell{background:#e9f7ef;font-weight:800;min-width:120px}
#flow-expo-body tr{display:table-row}

/* V12.6 - clasificación contextual de abonos + acceso directo Cuadratura */
.v126-party-box,.v126-type-box{display:grid;gap:5px;min-width:210px}
.v126-client-toggle{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:#334155}
.v126-client-toggle input{width:15px;height:15px}
.v126-nonclient-note{font-size:9px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;padding:5px 6px}
.v126-mini-label{display:grid;gap:3px;font-size:9px;color:#64748b}
.v126-mini-label select,.v126-mini-label input{width:100%;box-sizing:border-box;padding:5px 6px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;font-size:10px}
.v126-saved{outline:1px solid #86efac;outline-offset:-1px}
.v126-quad-actions{display:grid;gap:4px;margin-top:7px}
.v126-quad-actions button{font-size:9px;padding:5px 7px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:5px;white-space:nowrap}
.v126-quad-actions button:hover{background:#dbeafe}

/* V12.7 - clasificación de abonos en una sola fila */
#abonos-table,
#abonos-groups table{table-layout:fixed;width:100%}

#abonos-table th:nth-child(1),
#abonos-groups table th:nth-child(1){width:88px}
#abonos-table th:nth-child(2),
#abonos-groups table th:nth-child(2){width:240px}
#abonos-table th:nth-child(3),
#abonos-groups table th:nth-child(3){width:110px}
#abonos-table th:nth-child(4),
#abonos-groups table th:nth-child(4){width:300px}
#abonos-table th:nth-child(5),
#abonos-groups table th:nth-child(5){width:330px}
#abonos-table th:nth-child(6),
#abonos-groups table th:nth-child(6){width:95px}
#abonos-table th:nth-child(7),
#abonos-groups table th:nth-child(7){width:78px}
#abonos-table th:nth-child(8),
#abonos-groups table th:nth-child(8){width:78px}

#abonos-body td:nth-child(2),
#abonos-groups td:nth-child(2){
  max-width:240px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.v126-party-box{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}
.v126-client-toggle{
  margin:0!important;
  white-space:nowrap!important;
  font-size:9px!important;
}
.v126-client{
  min-width:0!important;
  width:100%!important;
  height:28px!important;
  padding:3px 6px!important;
  font-size:9px!important;
}
.v126-nonclient-note{
  grid-column:2!important;
  margin:0!important;
  min-width:0!important;
  padding:4px 6px!important;
  font-size:8px!important;
  line-height:1.1!important;
}

.v126-type-box{
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) minmax(120px,.9fr)!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}
.v126-type{
  width:100%!important;
  min-width:0!important;
  height:28px!important;
  padding:3px 6px!important;
  font-size:9px!important;
}
.v126-assignment{
  min-width:0!important;
}
.v126-mini-label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:4px!important;
  margin:0!important;
  font-size:8px!important;
  white-space:nowrap!important;
}
.v126-mini-label select,
.v126-mini-label input{
  width:100%!important;
  min-width:0!important;
  height:28px!important;
  padding:3px 5px!important;
  font-size:9px!important;
}
.v126-save{
  height:28px!important;
  padding:4px 8px!important;
  font-size:9px!important;
  white-space:nowrap!important;
}

/* V12.8 - reglas contextualizadas de abonos */
.v126-mini-label{min-width:0}
.v126-provider{min-width:0}

/* V12.9 - un solo botón de clasificación en columna Acción */
#abonos-body td:nth-child(7) .v126-save,
#abonos-groups td:nth-child(7) .v126-save{
  width:auto!important;
  min-width:70px;
}
#abonos-body td:nth-child(6) .v126-save,
#abonos-groups td:nth-child(6) .v126-save{
  display:none!important;
}

/* V13.0 - copiar/pegar clasificación + guardado masivo */
.v130-select-wrap{display:inline-flex;align-items:center;margin-right:6px;vertical-align:middle}
.v130-select-row{width:14px;height:14px}
.v130-copy-row{margin-left:5px;padding:4px 7px;font-size:9px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:5px}
#v130-copy-last,#v130-paste-selected,#v130-save-massive{white-space:nowrap}

/* V13.1 - guardado inmediato, seleccionar todos, autocomplete cliente */
.v131-save-status{display:inline-block;margin-left:5px;font-size:9px;font-weight:700;white-space:nowrap}
.v131-save-status.v131-saving{color:#1d4ed8}
.v131-save-status.v131-saved{color:#15803d}
.v131-save-status.v131-error{color:#b91c1c}
tr.v131-saving{background:#eff6ff!important}
tr.v131-saved{background:#f0fdf4!important}
tr.v131-error{background:#fef2f2!important}
tr.v126-saved{outline:none!important;background:inherit!important}

#v131-select-all-head{width:14px;height:14px;vertical-align:middle}
#v131-select-all{white-space:nowrap}

.v131-client-search-label{position:relative}
.v131-client-suggestions{
  position:absolute;top:100%;left:0;right:0;z-index:40;
  max-height:260px;overflow:auto;background:#fff;border:1px solid #cbd5e1;
  border-radius:7px;box-shadow:0 8px 20px rgba(15,23,42,.12);margin-top:3px
}
.v131-client-suggestions button{
  display:block;width:100%;border:0;border-bottom:1px solid #eef2f7;background:#fff;
  text-align:left;padding:8px 9px;font-size:10px;color:#0f172a
}
.v131-client-suggestions button:hover{background:#eff6ff}
.v131-no-suggestion{padding:8px 9px;font-size:10px;color:#64748b}

/* V14.3 - Informe Cobranza standalone, estructura válida */
#cobranza-sigad.view.active{display:block!important}
#cobranza-sigad .sigad-module{display:block!important;min-height:520px}
.sigad-actions,.sigad-view-tabs{display:flex;gap:8px;flex-wrap:wrap}
.sigad-upload-btn{display:inline-flex;align-items:center;cursor:pointer;padding:10px 14px;border-radius:7px}
.sigad-ident{display:flex;gap:10px;align-items:end;margin:12px 0}
.sigad-ident label{display:grid;gap:5px;font-size:10px;color:#64748b}
.sigad-meta-grid,.sigad-kpis{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:8px;margin:10px 0}
.sigad-meta-grid{grid-template-columns:repeat(7,minmax(120px,1fr))}
.sigad-meta-grid>div,.sigad-kpis article,.sigad-highlight-grid>div{border:1px solid #dbe4ef;border-radius:8px;background:#f8fafc;padding:10px}
.sigad-meta-grid span,.sigad-kpis span,.sigad-highlight-grid span{display:block;color:#64748b;font-size:10px;margin-bottom:5px}
.sigad-meta-grid b,.sigad-kpis strong,.sigad-highlight-grid b{font-size:14px;color:#0f172a}
.sigad-kpis.secondary{grid-template-columns:repeat(6,minmax(120px,1fr))}
.sigad-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.sigad-alert{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;padding:10px 12px;border-radius:8px;margin:10px 0;font-weight:700}
.sigad-view-tabs{margin:12px 0}
.sigad-view{display:none}
.sigad-view.active{display:block!important}
.sigad-view-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}
.sigad-empty{padding:28px;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#475569}
.sigad-executive-summary{background:#eef6ff;border-left:4px solid #2563eb;padding:12px 14px;border-radius:6px;margin:12px 0;line-height:1.5}
.sigad-matrix-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sigad-matrix-card{border:1px solid #e2e8f0;border-radius:8px;padding:10px}
.sigad-matrix-card h4{margin:0 0 8px}
.sigad-matrix table,.sigad-list-table{width:100%;border-collapse:collapse;font-size:10px}
.sigad-matrix th,.sigad-matrix td,.sigad-list-table th,.sigad-list-table td{border-bottom:1px solid #e5e7eb;padding:6px 7px}
.sigad-matrix th,.sigad-list-table th{background:#f1f5f9;position:sticky;top:0;z-index:1}
.sigad-matrix td.num,.sigad-list-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.sigad-drilldown{margin-top:12px;border:1px solid #bfdbfe;border-radius:8px;padding:10px;background:#fff}
.sigad-filterbar{display:grid;grid-template-columns:1.2fr repeat(5,minmax(120px,.8fr));gap:7px;margin:10px 0}
.sigad-list-kpi{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;padding:8px 10px;border-radius:7px;margin-bottom:8px}
.sigad-edit-select{width:100%;min-width:160px;font-size:10px}
.sigad-status-review{color:#b45309;font-weight:700}
.sigad-status-ok{color:#15803d;font-weight:700}
@media(max-width:1300px){
  .sigad-meta-grid{grid-template-columns:repeat(4,1fr)}
  .sigad-kpis,.sigad-kpis.secondary{grid-template-columns:repeat(3,1fr)}
  .sigad-matrix-grid{grid-template-columns:1fr}
  .sigad-filterbar{grid-template-columns:repeat(3,1fr)}
}

/* V14.4 - todas las vistas dentro del MAIN, arriba de la página */
.main > .view{margin-top:0!important}
#cobranza-sigad.view.active{
  display:block!important;
  margin-top:0!important;
  padding-top:0!important;
}
#cobranza-sigad .sigad-module{
  margin-top:0!important;
}
\n\n/* V14.6 - Abonos: filtros ocultos por defecto y barra compacta superior */\n#cartola-panel-abonos .panel-title{\n  align-items:flex-start;\n  gap:10px;\n}\n#cartola-panel-abonos .panel-actions-inline{\n  flex-wrap:nowrap;\n  gap:6px;\n  overflow-x:auto;\n  max-width:100%;\n  padding-bottom:2px;\n}\n#cartola-panel-abonos .panel-actions-inline button{\n  padding:7px 9px;\n  font-size:11px;\n  min-height:32px;\n}\n#cartola-panel-abonos #abonos-filters-wrap{\n  display:flex;\n  flex-wrap:nowrap;\n  align-items:flex-end;\n  gap:6px;\n  margin:6px 0 10px;\n  padding:7px 8px;\n  border:1px solid #e2e8f0;\n  border-radius:8px;\n  background:#f8fafc;\n  overflow-x:auto;\n  scrollbar-width:thin;\n}\n#cartola-panel-abonos #abonos-filters-wrap.filters-collapsed{\n  display:none !important;\n}\n#cartola-panel-abonos #abonos-filters-wrap label{\n  display:grid;\n  gap:3px;\n  min-width:105px;\n  font-size:10px;\n  line-height:1.1;\n}\n#cartola-panel-abonos #abonos-filters-wrap .v131-client-search-label{\n  min-width:190px;\n}\n#cartola-panel-abonos #abonos-filters-wrap input,\n#cartola-panel-abonos #abonos-filters-wrap select{\n  height:30px;\n  padding:4px 6px;\n  font-size:10px;\n  border-radius:6px;\n}\n#cartola-panel-abonos #abonos-filters-wrap .pending-toggle-label{\n  min-width:150px;\n}\n#cartola-panel-abonos #abonos-filters-wrap .pending-toggle-wrap{\n  min-height:30px;\n  height:30px;\n  padding:4px 6px;\n  font-size:10px;\n  box-sizing:border-box;\n}\n#cartola-panel-abonos #abonos-filters-wrap > button{\n  height:30px;\n  padding:4px 10px;\n  font-size:10px;\n  white-space:nowrap;\n  min-width:76px;\n}\n

/* V14.7 - controles compactos en Abonos */
#cartola-panel-abonos .panel-actions-inline{
  align-items:center;
  gap:7px;
}
.v147-compact-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:30px;
  padding:0 8px;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  color:#334155;
  font-size:10px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
  box-sizing:border-box;
}
.v147-compact-toggle:hover{background:#f8fafc}
.v147-compact-toggle input{
  width:14px;
  height:14px;
  margin:0;
  accent-color:#2563eb;
}
#cartola-panel-abonos .panel-actions-inline > button{
  min-height:30px;
  padding:5px 9px;
  font-size:10px;
}


/* V14.8 - barra de acciones Abonos arriba y compacta */
#cartola-panel-abonos .subpanel{padding-top:8px}
.v148-abonos-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;width:100%;min-height:32px;margin:0 0 5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.v148-abonos-toolbar>button,.v148-abonos-toolbar>.v147-compact-toggle{flex:0 0 auto;min-height:28px;height:28px;padding:4px 7px;font-size:10px;line-height:1;white-space:nowrap}
.v148-abonos-heading{display:flex;align-items:baseline;gap:10px;margin:5px 0 4px}
.v148-abonos-heading h3{margin:0;white-space:nowrap;font-size:15px}
.v148-abonos-heading p{margin:0;font-size:10px;line-height:1.2;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cartola-panel-abonos #abonos-filters-wrap{margin:0 0 5px!important;padding:5px 6px!important;min-height:36px}
#cartola-panel-abonos .movement-summary{margin-top:3px}
#cartola-panel-abonos .mov-detail-row.v148-force-open{display:table-row!important}
#cartola-panel-abonos .movement-group-body.v148-force-open{display:block!important}
#cartola-panel-abonos .v148-force-closed{display:none!important}

/* V15.1 - ajustes puntuales solicitados: cabecera alta compacta + títulos fijos */
#cartolas.panel{
  padding-top:10px!important;
}
#cartolas>.panel-title{
  margin:0 0 4px!important;
  min-height:0!important;
}
#cartolas>.panel-title h2{
  margin:0 0 2px!important;
  font-size:21px!important;
  line-height:1.05!important;
}
#cartolas>.panel-title p{
  margin:0!important;
  font-size:11px!important;
  line-height:1.1!important;
}
#cartolas .cartola-tabs{
  margin:6px 0 7px!important;
  gap:5px!important;
}
#cartolas .cartola-tabs .cartola-tab{
  padding:7px 10px!important;
  min-height:30px!important;
  font-size:11px!important;
}
#cartola-panel-abonos .subpanel{
  padding-top:0!important;
}
#cartola-panel-abonos .v148-abonos-toolbar{
  margin:0 0 4px!important;
  min-height:28px!important;
}
#cartola-panel-abonos .v148-abonos-heading{
  margin:2px 0 3px!important;
}
#cartola-panel-abonos .v148-abonos-heading h3{
  display:inline!important;
  margin:0 6px 0 0!important;
  font-size:14px!important;
}
#cartola-panel-abonos .v148-abonos-heading p{
  display:inline!important;
  margin:0!important;
  font-size:9px!important;
  line-height:1.1!important;
}
#cartola-panel-abonos .movement-summary{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  margin:4px 0 6px!important;
}
#cartola-panel-abonos .movement-summary>div{
  padding:7px 9px!important;
  min-height:46px!important;
}
#cartola-panel-abonos .movement-summary span{font-size:9px!important}
#cartola-panel-abonos .movement-summary b{font-size:14px!important;margin-top:3px!important}

/* La tabla ocupa el área útil; títulos siempre visibles al bajar */
#cartola-panel-abonos #abonos-flat-wrap{
  max-height:calc(100vh - 255px)!important;
  overflow:auto!important;
  position:relative!important;
}
#cartola-panel-abonos #abonos-flat-wrap thead th{
  position:sticky!important;
  top:0!important;
  z-index:35!important;
  background:#f8fafc!important;
  box-shadow:0 1px 0 #dbe2ea!important;
}
#cartola-panel-abonos .group-table thead th{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  background:#f8fafc!important;
}

/* El filtro conserva el diseño anterior y parte oculto; cuando se abre no empuja la tabla en exceso */
#cartola-panel-abonos #abonos-filters-wrap{
  margin:3px 0 5px!important;
  padding:6px!important;
  gap:6px!important;
}

/* V15.6 - razón social legible en detalle + búsqueda inteligente de clientes */
#cartola-panel-abonos .mov-detail-panel table{
  table-layout:fixed!important;
  width:100%!important;
}
#cartola-panel-abonos .mov-detail-panel th:nth-child(1),
#cartola-panel-abonos .mov-detail-panel td:nth-child(1){width:5%!important}
#cartola-panel-abonos .mov-detail-panel th:nth-child(2),
#cartola-panel-abonos .mov-detail-panel td:nth-child(2){width:9%!important}
#cartola-panel-abonos .mov-detail-panel th:nth-child(3),
#cartola-panel-abonos .mov-detail-panel td:nth-child(3){width:25%!important}
#cartola-panel-abonos .mov-detail-panel th:nth-child(4),
#cartola-panel-abonos .mov-detail-panel td:nth-child(4){width:22%!important}
#cartola-panel-abonos .mov-detail-panel th:nth-child(5),
#cartola-panel-abonos .mov-detail-panel td:nth-child(5){width:18%!important}
#cartola-panel-abonos .mov-detail-panel th:nth-child(6),
#cartola-panel-abonos .mov-detail-panel td:nth-child(6){width:10%!important}
#cartola-panel-abonos .mov-detail-panel th:nth-child(7),
#cartola-panel-abonos .mov-detail-panel td:nth-child(7){width:11%!important}
#cartola-panel-abonos .mov-detail-panel td:nth-child(3),
#cartola-panel-abonos .mov-detail-panel td:nth-child(4),
#cartola-panel-abonos .mov-detail-panel td:nth-child(5){
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.25!important;
  vertical-align:top!important;
}

.v156-client-combo{position:relative;width:100%;min-width:0}
.v156-client-input{
  width:100%;box-sizing:border-box;height:28px;padding:3px 7px;
  border:1px solid #cbd5e1;border-radius:6px;background:#fff;
  font-size:10px;color:#0f172a
}
.v156-client-input:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}
.v156-hidden-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}
.v156-client-list{
  position:absolute;left:0;right:0;top:calc(100% + 2px);z-index:120;
  max-height:250px;overflow:auto;background:#fff;border:1px solid #cbd5e1;
  border-radius:7px;box-shadow:0 8px 20px rgba(15,23,42,.14)
}
.v156-client-list button{
  display:block;width:100%;border:0;border-bottom:1px solid #eef2f7;background:#fff;
  padding:7px 8px;text-align:left;font-size:10px;color:#0f172a;cursor:pointer
}
.v156-client-list button:hover{background:#eff6ff}
.v156-client-empty{padding:7px 8px;font-size:10px;color:#64748b}

/* V15.7 - carga multi banco */
#cartola-panel-cargar .upload-box{align-items:end}

/* V15.8 - Control explícito de versiones de cartola desde Cuadratura */
.v158-version-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.v158-version-panel{border:1px solid #bfdbfe;background:#f8fbff;border-radius:9px;padding:10px;margin:6px 0 10px}
.v158-version-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.v158-version-head>div{display:grid;gap:2px}.v158-version-head b{font-size:13px}.v158-version-head span{font-size:10px;color:#64748b}
#v158-version-close{border:0;background:transparent;font-size:22px;line-height:1;padding:0 4px}
.v158-version-form{display:grid;grid-template-columns:180px 160px minmax(280px,1fr) auto;gap:8px;align-items:end}
.v158-version-form label{display:grid;gap:4px;font-size:9px;color:#64748b}.v158-version-form select,.v158-version-form input{height:31px;box-sizing:border-box;width:100%}
.v158-version-form button{height:31px;white-space:nowrap}
.v158-version-result{margin-top:9px;border:1px solid #dbe2ea;background:#fff;border-radius:8px;padding:9px}
.v158-check-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:7px;margin-bottom:8px}
.v158-check-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:7px}.v158-check-grid span{display:block;font-size:8px;color:#64748b;margin-bottom:3px}.v158-check-grid b{font-size:11px;color:#0f172a}
.v158-verdict{padding:8px 10px;border-radius:7px;font-size:10px;font-weight:700}.v158-verdict.ok{background:#ecfdf5;border:1px solid #86efac;color:#166534}.v158-verdict.warn{background:#fff7ed;border:1px solid #fdba74;color:#9a3412}.v158-verdict.block{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
.v158-version-footer{display:flex;justify-content:flex-end;gap:7px;margin-top:8px}
.v158-version-badge{display:inline-block;margin-top:3px;padding:2px 6px;border-radius:10px;font-size:8px;font-weight:700}.v158-version-badge.prov{background:#ffedd5;color:#9a3412}.v158-version-badge.def{background:#dcfce7;color:#166534}.v158-version-badge.rep{background:#e2e8f0;color:#475569}
@media(max-width:1200px){.v158-version-form{grid-template-columns:1fr 1fr}.v158-check-grid{grid-template-columns:repeat(3,1fr)}}

/* V15.9 - Control de versiones visible por cartola lógica */
.v159-row-version-actions{display:grid;gap:4px;margin-top:7px}
.v159-row-version-actions button{
  padding:5px 7px;border-radius:5px;font-size:9px;white-space:nowrap
}
.v159-row-provisional{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}
.v159-row-definitive{border:1px solid #86efac;background:#f0fdf4;color:#15803d}
.v159-closed-day{display:inline-block;margin-top:5px;padding:4px 6px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px;font-weight:700}
.v158-version-actions{display:flex!important;gap:8px;align-items:center;flex-wrap:wrap}

/* V16.0 - una sola fila visible por Banco + Cuenta + Día */
.cuad-table th:last-child{min-width:150px}
.v160-version-actions{display:grid;gap:5px}
.v160-version-actions button{font-size:9px;padding:5px 7px;border-radius:5px;white-space:nowrap}
.v160-new-version{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}
.v160-close-day{border:1px solid #86efac;background:#f0fdf4;color:#15803d}
.v160-day-closed{display:inline-block;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px;font-weight:700}
.v160-version-count{display:block;margin-top:4px;color:#64748b}
.v160-logical-row>td{vertical-align:middle}

/* V16.1 - Modal subir nueva versión */
.v161-modal{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.35);display:flex;align-items:center;justify-content:center}
.v161-modal.hidden{display:none!important}
.v161-modal-card{width:min(470px,calc(100vw - 32px));background:#fff;border-radius:10px;box-shadow:0 18px 50px rgba(15,23,42,.28);overflow:hidden}
.v161-modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #e2e8f0;font-size:13px}
.v161-modal-head button{border:0;background:transparent;font-size:23px;line-height:1}
.v161-info{margin:14px 16px;padding:11px 12px;background:#eff6ff;border:1px solid #60a5fa;color:#1d4ed8;font-size:11px;line-height:1.45}
.v161-form{padding:0 16px 14px;display:grid;gap:12px}
.v161-form label{display:grid;gap:5px;font-size:10px;color:#475569}
.v161-form input[type="date"],.v161-form input[type="text"],.v161-form input[type="file"]{width:100%;box-sizing:border-box}
.v161-switch-row{display:flex!important;align-items:center;justify-content:space-between;padding-top:4px}
.v161-switch-row input{width:19px;height:19px}
.v161-status{margin:0 16px 12px;padding:9px 10px;border-radius:6px;font-size:10px;line-height:1.4}
.v161-status.info{background:#f8fafc;border:1px solid #cbd5e1;color:#475569}
.v161-status.ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.v161-status.block{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
.v161-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e2e8f0}
.v161-upload-version{width:100%;padding:6px 8px;border-radius:5px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:9px}
.v161-closed{display:inline-block;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:9px;font-weight:700}

/* V16.2 - archivo del modal claramente utilizable */
#v161-version-file{
  min-height:42px;
  padding:7px;
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:6px;
  cursor:pointer;
}
#v161-version-update:disabled{opacity:.65;cursor:wait}

/* V16.3 */
.v163-upload-version{width:100%;padding:6px 8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:5px;font-size:9px}
.v163-count{display:block;color:#64748b;margin-top:4px}
.v163-expand{width:34px;height:34px;border-radius:8px}

/* V16.4 */
.v164-cuad-note{
  margin:0 0 8px;
  padding:6px 8px;
  border:1px solid #dbeafe;
  background:#f8fbff;
  color:#475569;
  border-radius:6px;
  font-size:9px;
}
#v158-version-panel:not(.hidden){
  display:block!important;
}

/* V16.5 */
#v158-version-result .v158-verdict{min-height:18px}

/* V16.6 - resultado de análisis siempre visible */
#v158-version-result:not(.hidden){display:block!important}

/* V16.8 - Cuadratura consolidada visible */
.v168-consolidated{display:block;margin-top:4px;color:#475569;font-weight:700}
.v168-new-version{width:100%;padding:6px 8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:5px;font-size:9px}
.v168-plus{width:34px;height:34px;border-radius:8px}

/* V16.9 */
.v169-version-note{display:block;margin-top:4px;color:#475569;font-weight:700}
.v169-upload{width:100%;padding:6px 8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:5px;font-size:9px}
.v169-plus{width:34px;height:34px;border-radius:8px}

/* V17.0 - filtro no definitivas + acción por día */
.v170-open-filter{
  padding:9px 12px;
  border:1px solid #f59e0b;
  background:#fff7ed;
  color:#9a3412;
  border-radius:8px;
  font-weight:700;
  white-space:nowrap;
}
.v170-open-filter.active{
  background:#f59e0b;
  border-color:#f59e0b;
  color:#fff;
}
.v169-upload{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:120px;
  font-weight:700;
}

/* V17.1 - Subir nueva versión abre modal de carga desde la fila */
#v161-version-modal:not(.hidden){display:flex!important}
#v161-version-file{display:block!important;width:100%;min-height:40px}
.v169-upload{cursor:pointer}

/* V17.2 independent version uploader */
.v172-modal{position:fixed;inset:0;z-index:12000;background:rgba(15,23,42,.4);display:flex;align-items:center;justify-content:center}
.v172-modal.hidden{display:none!important}
.v172-card{width:min(500px,calc(100vw - 28px));background:#fff;border-radius:10px;box-shadow:0 20px 55px rgba(15,23,42,.3);overflow:hidden}
.v172-head{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid #e2e8f0}
.v172-head button{border:0;background:transparent;font-size:24px}
.v172-info{margin:14px 16px;padding:10px 12px;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;font-size:11px;line-height:1.4}
.v172-grid{padding:0 16px 14px;display:grid;gap:12px}
.v172-grid label{display:grid;gap:5px;font-size:10px;color:#475569}
.v172-grid input[type="text"],.v172-grid input[type="date"],.v172-grid input[type="file"]{width:100%;box-sizing:border-box}
.v172-check{display:flex!important;align-items:center;gap:8px}
.v172-status{margin:0 16px 12px;padding:10px;border-radius:7px;font-size:10px;line-height:1.4}
.v172-status.info{background:#f8fafc;border:1px solid #cbd5e1;color:#475569}
.v172-status.ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}
.v172-status.block{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}
.v172-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e2e8f0}

/* V17.3 - Comprobante de egreso */
.cqz-egreso-head{align-items:center}
.cqz-egreso-panel{margin-top:14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;overflow:hidden}
.cqz-egreso-titlebar,.cqz-egreso-detail-title{background:#245b8d;color:#fff;padding:8px 10px;font-weight:700}
.cqz-egreso-titlebar{display:flex;justify-content:space-between;align-items:center}
.cqz-egreso-titlebar button{border:0;background:transparent;color:#fff;font-size:20px}
.cqz-egreso-actions{display:flex;gap:8px;padding:10px}
.cqz-egreso-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px 10px}
.cqz-egreso-grid.detail{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:10px}
.cqz-egreso-grid label{display:grid;gap:4px;font-size:10px;color:#334155}
.cqz-egreso-grid .span-2{grid-column:span 2}
.cqz-egreso-grid input,.cqz-egreso-grid select{width:100%;box-sizing:border-box}
.cqz-egreso-detail-actions{display:flex;justify-content:flex-end;padding:0 10px 10px}
.cqz-egreso-table-wrap{margin:0 10px 10px;max-height:260px;overflow:auto;border:1px solid #dbe4ef}
#cqz-egreso-detalle-table{width:100%;border-collapse:collapse;font-size:10px}
#cqz-egreso-detalle-table th,#cqz-egreso-detalle-table td{padding:6px;border-bottom:1px solid #e2e8f0;text-align:left}
#cqz-egreso-detalle-table th{background:#f1f5f9;position:sticky;top:0}
.cqz-egreso-footer{display:flex;justify-content:space-between;align-items:center;padding:10px;border-top:1px solid #dbe4ef}
.cqz-egreso-eliminar-detalle{font-size:9px}
@media(max-width:1100px){
  .cqz-egreso-grid,.cqz-egreso-grid.detail{grid-template-columns:1fr 1fr}
}

/* V17.4 - Plan de cuentas con búsqueda inteligente */
.cqz-egreso-titlebar .cqz-plan-count{
  margin-left:auto;
  margin-right:12px;
  font-size:9px;
  font-weight:500;
  opacity:.9;
}
.cqz-account-search{position:relative}
.cqz-account-help{font-size:8px;color:#64748b;font-weight:400}
.cqz-account-suggestions{
  position:absolute;
  z-index:13000;
  left:0;right:0;top:calc(100% + 3px);
  max-height:260px;
  overflow:auto;
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:7px;
  box-shadow:0 10px 28px rgba(15,23,42,.18);
}
.cqz-account-option{
  width:100%;
  display:grid;
  grid-template-columns:90px 1fr;
  gap:8px;
  align-items:center;
  padding:7px 9px;
  border:0;
  border-bottom:1px solid #eef2f7;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.cqz-account-option:hover{background:#eff6ff}
.cqz-account-code{font-weight:700;color:#1d4ed8;font-size:10px}
.cqz-account-desc{font-size:10px;color:#0f172a}
.cqz-account-empty{padding:9px;color:#64748b;font-size:10px}

/* V17.5 - Contabilidad desde cartola */
.cqz-accounting-tabs{display:flex;gap:6px;margin:12px 0 10px;flex-wrap:wrap}
.cqz-accounting-tab.active{background:#2563eb;color:#fff;border-color:#2563eb}
.cqz-accounting-view{display:none;margin-bottom:12px}
.cqz-accounting-view.active{display:block}
.cqz-report-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0}
.cqz-accounting-list{display:grid;gap:6px}
.cqz-voucher-card{display:grid;grid-template-columns:190px 1fr 130px;gap:12px;align-items:center;padding:8px 10px;border:1px solid #e2e8f0;border-radius:7px;background:#fff;font-size:10px}
.cqz-voucher-card small{display:block;color:#64748b;margin-top:2px}
.cqz-voucher-card strong{text-align:right}
.cqz-voucher-type{display:flex!important;align-items:center;gap:5px;margin-left:auto;font-size:10px}
.cqz-comprobante-origen{font-size:9px;color:#475569}
.cqz-create-voucher{padding:5px 7px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:5px;font-size:9px;white-space:nowrap}
.cqz-create-voucher.done{background:#dcfce7;border-color:#86efac;color:#166534}
.cqz-major-account{margin-bottom:12px;border:1px solid #e2e8f0;border-radius:7px;overflow:hidden}
.cqz-major-account h4{margin:0;padding:8px 10px;background:#f8fafc}
.cqz-major-account table{width:100%;border-collapse:collapse;font-size:10px}
.cqz-major-account th,.cqz-major-account td{padding:6px;border-top:1px solid #e2e8f0}
#cqz-diario-table,#cqz-balance-table{width:100%;border-collapse:collapse;font-size:10px}
#cqz-diario-table th,#cqz-diario-table td,#cqz-balance-table th,#cqz-balance-table td{padding:6px;border-bottom:1px solid #e2e8f0}

/* V17.6 - comprobante desde Cargos */
#cargos-body td:nth-child(7){white-space:nowrap}
.cqz-cargo-create-egreso{
  margin-left:6px;
  padding:6px 8px;
  border:1px solid #10b981;
  background:#ecfdf5;
  color:#047857;
  border-radius:6px;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}
.cqz-cargo-create-egreso:hover{background:#d1fae5}

/* V17.7 - flujo contable proveedor / giro / desembolso */
.cqz-provider-rule-actions{display:flex;align-items:center;gap:6px;margin-top:3px}
.cqz-provider-rule-actions span{font-size:8px;color:#64748b}
.mini-btn{padding:4px 6px;font-size:8px}
.cqz-required-flow{background:#fff7ed;padding:6px;border:1px solid #fdba74;border-radius:6px}
.cqz-voucher-number-badge{
  display:inline-block;margin-left:5px;padding:4px 6px;border-radius:999px;
  background:#dcfce7;color:#166534;font-size:8px;font-weight:700
}
.cqz-cargo-create-egreso.done{background:#dcfce7;border-color:#86efac;color:#166534}

/* V17.8 - automatización proveedor / cartola */
.cqz-rule-badge{display:inline-block;padding:3px 6px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:8px;font-weight:700}
#proveedor-form .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* V17.9 - requisitos de conciliación */
.cqz-recon-box{margin:10px 0 0;padding:10px 12px;border:1px solid #cbd5e1;background:#f8fafc}
.cqz-recon-title{font-weight:700;font-size:10px;margin-bottom:7px}
.cqz-recon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:9px}
.cqz-recon-grid span{padding:6px 8px;border-radius:5px;background:#fff;border:1px solid #e2e8f0}
.cqz-recon-grid span.ok{background:#f0fdf4;border-color:#86efac;color:#166534}
.cqz-recon-grid span.pending{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.cqz-rec-message{margin-top:7px;font-size:9px;font-weight:700}
.cqz-rec-message.ok{color:#166534}
.cqz-rec-message.pending{color:#9a3412}
#cqz-egreso-generar:disabled{opacity:.45;cursor:not-allowed}

/* V18.0 - mantenedores contables */
.cqz-master-scroll{max-height:520px;overflow:auto}
.cqz-master-scroll thead th{position:sticky;top:0;z-index:2;background:#f1f5f9}
#master-panel-plan-cuentas .master-header,
#master-panel-codigos-analisis .master-header,
#master-panel-conceptos-contables .master-header,
#master-panel-centros-costo .master-header{align-items:center}
#master-panel-plan-cuentas .master-header input,
#master-panel-codigos-analisis .master-header input,
#master-panel-conceptos-contables .master-header input{max-width:320px}

/* V18.1 - Menú horizontal de Tablas */
.master-horizontal-nav{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding:8px 4px 10px;
  margin:0 0 12px;
  background:#fff;
  border-bottom:1px solid #e2e8f0;
  scrollbar-width:thin;
}
.master-horizontal-btn{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid #cbd5e1;
  border-radius:7px;
  background:#fff;
  color:#334155;
  font-size:10px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
}
.master-horizontal-btn:hover{
  background:#f8fafc;
}
.master-horizontal-btn.active{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}
.master-accordion{
  display:none!important;
}
#tables .panel{
  overflow:visible;
}
.master-panel{
  scroll-margin-top:64px;
}
@media(max-width:900px){
  .master-horizontal-btn{padding:7px 10px;font-size:9px}
}

/* V18.2 - persistencia cloud y usuarios demo */
.cqz-cloud-badge{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:8px;font-weight:700}
.cqz-cloud-badge.ok{background:#dcfce7;color:#166534}
#cqz-cloud-accounting-card .notice.ok{background:#f0fdf4;border-color:#86efac;color:#166534}
#cqz-cloud-accounting-card .notice.error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
#cqz-demo-users-card .pin-row{grid-template-columns:1.1fr 1fr 1fr auto}
@media(max-width:1000px){#cqz-demo-users-card .pin-row{grid-template-columns:1fr 1fr}}

/* V18.3 - Navegación ERP */
.nav-group{margin:2px 0}
.nav-group-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  border:0;background:transparent;color:#91a4c2;padding:10px 12px;
  font-size:10px;font-weight:800;letter-spacing:.08em;cursor:pointer
}
.nav-group-toggle:hover{color:#fff}
.nav-group-items{display:grid;gap:2px}
.nav-group-items.collapsed{display:none}
.nav.subnav{padding-left:22px}
.nav-chev{font-size:13px}
.master-horizontal-nav,.master-accordion{display:none!important}
#tablas .panel>.master-panel{display:none}
#tablas .panel>.master-panel.active{display:block}
.cqz-accounting-toolbar,.cqz-balance-filters{
  display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:10px 0
}
.cqz-accounting-toolbar label,.cqz-balance-filters label{display:grid;gap:3px;font-size:9px;color:#64748b}
.cqz-balance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}
.cqz-balance-kpis>div{border:1px solid #dbe4ef;border-radius:7px;background:#f8fafc;padding:8px}
.cqz-balance-kpis small{display:block;color:#64748b;font-size:9px}.cqz-balance-kpis strong{font-size:13px}
.cqz-balance-scroll{max-height:600px;overflow:auto}
#balance8-table thead th{position:sticky;top:0;background:#eaf2fb;z-index:3}
#balance8-table thead tr:first-child th{background:#245b8d;color:#fff}
#balance8-table td.money,#balance8-table th.money{text-align:right}
.balance-link{border:0;background:transparent;color:#2563eb;text-decoration:underline;cursor:pointer;padding:0}
.cqz-cuadre-badge{padding:6px 9px;border-radius:6px;background:#dcfce7;color:#166534;font-weight:700}
.cqz-cuadre-badge.bad{background:#fee2e2;color:#991b1b}
.cqz-plan-analysis-required{background:#fff7ed;border-color:#fdba74!important}
@media(max-width:900px){.cqz-balance-kpis{grid-template-columns:1fr 1fr}}

/* V18.4 - cliente/despacho y generación de egresos */
#cqz-egreso-generar:not(:disabled){background:#2563eb;color:#fff;opacity:1}
#cqz-egreso-cliente-proveedor{background:#fff}

/* V18.5 - egresos del giro sin detalle operativo */
#cqz-egreso-detalle-wrap{margin-top:0}
.cqz-rec-grid span.ok{white-space:nowrap}

/* V18.6 - validación cuenta contable visible */
#cqz-egreso-cuenta-cargo-id + *{}


/* V20.1 PREVIEW — trazabilidad visual Cartola ↔ Contabilidad */
#cargos-body tr:has(.cqz-cargo-create-egreso.done),
#movements-body tr:has(.cqz-create-voucher.done){
  background:#eaf8ef !important;
  box-shadow:inset 4px 0 0 #18a558;
}
#cargos-body tr:has(.cqz-cargo-create-egreso.done) td,
#movements-body tr:has(.cqz-create-voucher.done) td{
  background:transparent !important;
}
.cqz-cargo-create-egreso.done,.cqz-create-voucher.done{
  background:#e8f8ee !important;
  border-color:#18a558 !important;
  color:#08783d !important;
  font-weight:700 !important;
  cursor:pointer !important;
}
.cqz-voucher-readonly{outline:2px solid #b9e8ca;outline-offset:-2px}
.cqz-voucher-readonly .cqz-egreso-titlebar{background:#18794e !important}
.v201-hidden{display:none !important}


/* V21.9 · Transferencias unificadas */
.cqz-tr-toolbar{display:grid;grid-template-columns:220px 220px minmax(280px,1fr) auto;gap:10px;margin:16px 0}.cqz-tr-toolbar input,.cqz-tr-toolbar select{min-height:40px}
.cqz-tr-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 16px}.cqz-tr-kpis>div{border:1px solid #dde4ee;border-radius:12px;padding:12px;background:#fff}.cqz-tr-kpis small{display:block;color:#64748b}.cqz-tr-kpis b{font-size:20px}
.cqz-tr-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}.cqz-tr-badge.ok{background:#dcfce7;color:#166534}.cqz-tr-badge.warn{background:#fef3c7;color:#92400e}
.cqz-tr-modal{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.48);display:flex;align-items:flex-start;justify-content:center;padding:48px 18px;overflow:auto}.cqz-tr-modal.hidden{display:none}.cqz-tr-modal-card{width:min(1050px,96vw);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:20px}.cqz-tr-modal-card.small{width:min(680px,96vw)}.cqz-tr-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cqz-tr-modal-head h3{margin:0}.cqz-tr-modal-head button{border:0;background:transparent;font-size:28px;cursor:pointer}.cqz-tr-form{grid-template-columns:repeat(3,minmax(0,1fr))}.cqz-tr-form .span-2{grid-column:span 2}.cqz-tr-check{display:flex!important;align-items:center;gap:8px;padding-top:24px}.cqz-tr-check input{width:auto!important}.cqz-tr-modal-foot{display:flex;justify-content:flex-end;margin-top:14px}.cqz-tr-link-btn{margin-left:6px;border:1px solid #0ea5e9;background:#fff;color:#0369a1;border-radius:7px;padding:5px 8px;cursor:pointer;font-size:12px}
@media(max-width:900px){.cqz-tr-toolbar,.cqz-tr-kpis,.cqz-tr-form{grid-template-columns:1fr 1fr}.cqz-tr-form .span-2{grid-column:span 2}}@media(max-width:620px){.cqz-tr-toolbar,.cqz-tr-kpis,.cqz-tr-form{grid-template-columns:1fr}.cqz-tr-form .span-2{grid-column:span 1}}

/* V21.10 · navegación lateral compatible con clic derecho / nueva pestaña */
.nav[href]{text-decoration:none;display:block;}

/* PagaDANA V21.12 · nóminas bancarias y confirmación de pago */
.cqz-tr-title-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cqz-tr-title-actions button{white-space:nowrap}.cqz-tr-modal-card h4{margin:18px 0 8px}.cqz-tr-modal-card.small>label{display:block;margin:14px 0}.cqz-tr-modal-card.small>label input{display:block;width:100%;margin-top:6px}.cqz-tr-panel th:first-child,.cqz-tr-panel td:first-child{width:34px;text-align:center}.cqz-tr-panel input[type=checkbox]{width:16px;height:16px}.cqz-tr-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:#eef2ff;font-size:11px;font-weight:700}.cqz-tr-badge.ok{background:#dcfce7;color:#166534}.cqz-tr-badge.warn{background:#fef3c7;color:#92400e}

/* Demo-only mobile: full width for budget panels, without side navigation */
@media (max-width: 900px) {
  body.cqz-isolated-demo .sidebar {display:none!important}
  body.cqz-isolated-demo .main {margin:0!important;width:100%!important;max-width:100%!important;padding:12px!important;min-width:0!important}
  body.cqz-isolated-demo .app {display:block!important;min-width:0!important;width:100%!important}
  body.cqz-isolated-demo .panel,body.cqz-isolated-demo .view,body.cqz-isolated-demo .flow-panel {min-width:0!important;max-width:100%!important;width:100%!important}
  body.cqz-isolated-demo .flow-toolbar,body.cqz-isolated-demo .flow-tabs{display:flex!important;flex-wrap:wrap!important}
  body.cqz-isolated-demo .flow-tab {white-space:normal!important}
  body.cqz-isolated-demo header{flex-wrap:wrap!important;gap:8px!important}
  body.cqz-isolated-demo .panel-title{display:flex!important;flex-wrap:wrap!important;gap:12px!important}
  body.cqz-isolated-demo .scroll,body.cqz-isolated-demo .table-wrap {overflow-x:auto!important;max-width:100%!important}
}

/* Demo-only narrow screen adjustments, isolated from Rossi production */
@media (max-width:900px){
body.cqz-isolated-demo{overflow-x:hidden}
body.cqz-isolated-demo .app,body.cqz-isolated-demo .main,body.cqz-isolated-demo main,body.cqz-isolated-demo .content,body.cqz-isolated-demo .view,body.cqz-isolated-demo .card,body.cqz-isolated-demo .flow-card{min-width:0!important;max-width:100%!important;box-sizing:border-box}
body.cqz-isolated-demo .sidebar{display:none!important}
body.cqz-isolated-demo #flujo,body.cqz-isolated-demo #flow-panel-maestro,body.cqz-isolated-demo #flow-panel-presupuesto,body.cqz-isolated-demo #flow-panel-proyectado{width:100%!important;min-width:0!important;max-width:100%!important}
body.cqz-isolated-demo #flujo button,body.cqz-isolated-demo #flujo input,body.cqz-isolated-demo #flujo select{max-width:100%;box-sizing:border-box}
body.cqz-isolated-demo .flow-tabs{display:flex!important;flex-wrap:wrap!important;width:100%!important}
body.cqz-isolated-demo .flow-tab{flex:1 1 145px;min-width:0!important;white-space:normal!important}
body.cqz-isolated-demo .panel-title,body.cqz-isolated-demo .v115-flow-title,body.cqz-isolated-demo .v115-filter-card{min-width:0!important;max-width:100%!important}
body.cqz-isolated-demo .scroll,body.cqz-isolated-demo .table-wrap{max-width:100%!important;overflow-x:auto!important}
body.cqz-isolated-demo .header,body.cqz-isolated-demo .topbar{flex-wrap:wrap!important;min-width:0!important}
}
