:root{
  --primary:#6c5ce7;--primary-2:#00d2d3;--accent:#ff8a65;--success:#20c997;--warning:#f6c85f;--danger:#ff6b81;
  --sidebar:#121331;--sidebar-2:#191a44;--bg:#f5f7fb;--panel:#fff;--text:#20233a;--muted:#7c8497;--line:#e7eaf3;
  --shadow:0 18px 45px rgba(27,31,59,.13);--soft-shadow:0 10px 28px rgba(27,31,59,.08);--radius:18px
}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#fff1f7 0,#f5f7fb 36%,#eef3ff 100%);font-family:"Segoe UI",Arial,sans-serif;color:var(--text);font-size:14px}a{text-decoration:none;color:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#d9dcff;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(18,19,49,.24);z-index:5}.brand-zone{min-height:164px;padding:22px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-bottom:1px solid rgba(255,255,255,.08)}.brand-logo{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#8a7cff,#28e0c9);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;box-shadow:0 16px 35px rgba(108,92,231,.42)}.brand-title{margin-top:14px;font-weight:900;color:#fff;font-size:16px;line-height:1.15}.brand-subtitle{margin-top:5px;font-size:12px;color:#aeb4e7}.nav-menu{padding:14px 12px}.nav-link{height:48px;display:flex;align-items:center;gap:12px;padding:0 14px;margin:6px 0;color:#cbd0ff;font-weight:750;border-radius:14px;transition:.18s ease}.nav-link:hover,.nav-link.active{background:rgba(108,92,231,.25);color:#fff;transform:translateX(3px)}.nav-link.active{box-shadow:inset 3px 0 0 #7ef3dc}.nav-ico{width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.08);font-size:15px}.db-status{margin:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.07);font-size:12px;color:#c8cdf9}.db-status span{display:inline-block;width:9px;height:9px;background:#25d695;border-radius:99px;margin-right:7px;box-shadow:0 0 0 5px rgba(37,214,149,.12)}.main-panel{min-width:0;display:flex;flex-direction:column}.topbar{height:82px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(231,234,243,.85);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:4}.topbar h1{font-size:22px;margin:0 0 4px;font-weight:900}.topbar p{margin:0;font-size:13px;color:var(--muted)}.topbar-right{display:flex;gap:10px;align-items:center}.chip{background:#f0f2ff;border:1px solid #e4e7ff;color:#575ec9;padding:8px 13px;border-radius:999px;font-weight:800}.chip.ok{background:#e8fff8;border-color:#c7f6e9;color:#0b9c76}.content-area{padding:24px;flex:1}.panel,.form-card,.module-head{background:rgba(255,255,255,.92);border:1px solid rgba(231,234,243,.9);box-shadow:var(--soft-shadow);border-radius:var(--radius);margin-bottom:20px;padding:22px}.module-head{border-left:0;display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;overflow:hidden}.module-head:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--primary),var(--primary-2),var(--accent))}.module-head h3{margin:0;font-size:19px;font-weight:900}.module-head p{margin:4px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.align-end{align-items:end}.no-margin{margin:0}.searchbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}label{display:block;font-weight:800;color:#596176;margin-bottom:8px;font-size:12px;text-transform:uppercase;letter-spacing:.02em}input,select,textarea{width:100%;height:43px;border:1px solid #dfe4f1;border-radius:13px;background:#fbfcff;padding:7px 12px;font-size:15px;color:#1f2438;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#8a7cff;box-shadow:0 0 0 4px rgba(108,92,231,.10);background:#fff}button,.btn{height:44px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),#7c6cff);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;font-weight:900;cursor:pointer;font-size:14px;box-shadow:0 9px 20px rgba(108,92,231,.22);white-space:nowrap;transition:.15s}.btn:hover,button:hover{transform:translateY(-1px);filter:saturate(1.08)}.btn.ok{background:linear-gradient(135deg,#18c78d,#20c997)}.btn.secondary{background:linear-gradient(135deg,#6c788e,#465268)}.btn.warn{background:linear-gradient(135deg,#ffb44d,#ff8a65)}.btn.danger{background:linear-gradient(135deg,#ff6b81,#e84393)}.btn.light{background:#f3f5fb;color:#384057;box-shadow:none}.btn.small{height:32px;padding:0 11px;border-radius:11px;font-size:12px}.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff}.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}.table th{background:#f7f8fe;color:#596176;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:12px 11px;border-bottom:1px solid var(--line);text-align:left}.table td{padding:11px;border-bottom:1px solid #f0f2f8;vertical-align:middle}.table tr:hover td{background:#fbfcff}.badge{display:inline-block;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:900}.badge.ok{background:#dffaf0;color:#088763}.badge.off{background:#ffe9ed;color:#bf3046}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat-card{background:#fff;border-radius:20px;box-shadow:var(--soft-shadow);padding:22px;border:1px solid var(--line);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-25px;top:-25px;width:105px;height:105px;border-radius:50%;background:linear-gradient(135deg,rgba(108,92,231,.16),rgba(0,210,211,.12))}.stat-card span{color:var(--muted);font-weight:850}.stat-card strong{display:block;font-size:28px;margin-top:10px;letter-spacing:-.02em}.stat-card .mini{margin-top:14px;color:#14b887;font-weight:800;font-size:12px}.hero-card{margin-bottom:20px;border-radius:24px;padding:26px;background:linear-gradient(135deg,#6c5ce7 0%,#22d3c5 100%);color:#fff;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:18px;align-items:center;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;right:-70px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.18)}.hero-card h2{margin:0 0 6px;font-size:25px}.hero-card p{margin:0;opacity:.9}.hero-pill{position:relative;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);border-radius:18px;padding:14px 18px;font-weight:900}.purchase-grid{display:grid;grid-template-columns:1.6fr 150px 150px 150px 150px 250px;gap:12px;align-items:end}.center{text-align:center}.report-layout{display:grid;grid-template-columns:360px 1fr;gap:16px}.client-card{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:9px;cursor:pointer;background:#fff;box-shadow:0 5px 14px rgba(27,31,59,.04)}.client-card:hover,.client-card.active{border-color:#8a7cff;background:#f4f2ff}.client-card b,.client-card span,.client-card small{display:block;line-height:1.18}.client-card span{color:var(--muted);font-size:12px;margin-top:3px}.client-card small{font-weight:800;margin-top:4px}.preview-head{display:flex;justify-content:space-between;align-items:center}iframe{width:100%;height:70vh;border:1px solid var(--line);border-radius:16px;background:#fff}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(18,19,49,.55);backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex}.modal-card{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:22px;width:min(780px,96vw)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head h3{margin:0;font-size:20px}.ventas-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.venta-line{display:grid;grid-template-columns:90px 140px 1fr 140px 140px 100px;gap:12px;align-items:end}.recaudo-box{background:linear-gradient(135deg,#6c5ce7,#00d2d3);color:#fff;border-radius:22px;padding:20px;margin:15px 0;box-shadow:var(--shadow)}.recaudo-box span{display:block;font-weight:700;opacity:.9}.recaudo-box strong{display:block;font-size:31px;margin-top:6px}.venta-item{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.venta-item b,.venta-item span,.venta-item small{display:block}.venta-item span{font-size:13px;color:var(--muted)}.right{text-align:right}.empty{text-align:center;color:var(--muted);padding:16px}.mt{margin-top:18px}.toast{position:fixed;right:18px;bottom:18px;background:#121331;color:#fff;padding:14px 16px;border-radius:15px;display:none;z-index:300;box-shadow:var(--shadow)}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.purchase-grid,.ventas-layout,.report-layout,.venta-line{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.topbar{position:relative}.hero-card{display:block}.hero-pill{margin-top:14px;display:inline-block}}

/* Ajustes V1.2 para servidor y diseño responsivo */
.brand-row{display:flex;align-items:center;justify-content:space-between;width:100%}.menu-toggle,.menu-close{display:none}.mobile-backdrop{display:none}.top-title{min-width:0}.top-title h1,.top-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.table{min-width:760px}.panel,.form-card,.module-head,.stat-card{transition:transform .18s ease,box-shadow .18s ease}.panel:hover,.form-card:hover,.stat-card:hover{box-shadow:var(--shadow)}
@media(max-width:1280px){.purchase-grid{grid-template-columns:1.4fr repeat(4,130px) 210px}.ventas-layout{grid-template-columns:minmax(0,1fr) 330px}.report-layout{grid-template-columns:320px 1fr}}
@media(max-width:900px){body{font-size:13px}.app-shell{display:block}.sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:286px;height:100vh;transform:translateX(-105%);transition:.22s ease;z-index:250}.sidebar.show{transform:translateX(0)}.mobile-backdrop.show{display:block;position:fixed;inset:0;background:rgba(18,19,49,.50);backdrop-filter:blur(3px);z-index:230}.menu-toggle{display:inline-flex;width:42px;height:42px;border-radius:14px;align-items:center;justify-content:center;padding:0;margin-right:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 8px 18px rgba(108,92,231,.18)}.menu-close{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:13px;padding:0;background:rgba(255,255,255,.12);box-shadow:none}.topbar{height:auto;min-height:72px;padding:12px 14px;position:sticky}.topbar-right{display:none}.content-area{padding:14px}.hero-card{padding:22px}.hero-card h2{font-size:21px}.grid,.cards,.purchase-grid,.ventas-layout,.venta-line,.report-layout{grid-template-columns:1fr!important}.module-head{display:block;padding:18px}.module-head .actions{margin-top:12px}.searchbar{display:grid;grid-template-columns:1fr;align-items:stretch}.actions .btn,.actions button{width:100%}input,select,textarea,button,.btn{height:46px}.preview-head{display:block}.preview-head .actions{margin-top:10px}iframe{height:62vh}.modal-card{width:100%;padding:18px;border-radius:18px}.venta-item{align-items:flex-start}.right{text-align:left}.recaudo-box strong{font-size:26px}}
@media(max-width:520px){.brand-zone{min-height:138px}.sidebar{width:82vw}.topbar{align-items:center}.top-title h1{font-size:18px}.top-title p{font-size:12px}.content-area{padding:10px}.panel,.form-card,.module-head{padding:15px;border-radius:16px}.hero-card{border-radius:18px}.stat-card strong{font-size:24px}.table{min-width:680px}.btn.small{width:auto;height:34px}.modal-backdrop{padding:8px}.modal-card{max-height:92vh;overflow:auto}.client-card{padding:11px}.recaudo-box{border-radius:18px;padding:16px}}
@media print{.sidebar,.topbar,.actions,.btn,button{display:none!important}.app-shell{display:block}.content-area{padding:0}.panel,.form-card{box-shadow:none;border:0}}

/* V1.3 local: login, salida y mejoras responsive */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(circle at 20% 20%,#e7fff9 0,#f5f7fb 30%,#eef0ff 100%)}
.login-card{width:min(430px,96vw);background:rgba(255,255,255,.94);border:1px solid rgba(231,234,243,.95);border-radius:26px;box-shadow:0 22px 70px rgba(27,31,59,.16);padding:28px}
.login-brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.login-brand h1{margin:0;font-size:23px}.login-brand p{margin:4px 0 0;color:var(--muted);font-weight:700}.full-btn{width:100%;margin-top:16px}.login-help{margin-top:16px;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}.alert{padding:12px 14px;border-radius:14px;font-weight:800;margin-bottom:16px}.alert.danger{background:#ffe9ed;color:#bf3046;border:1px solid #ffc9d2}.chip.logout{text-decoration:none;background:#fff1f3;border-color:#ffd8df;color:#bf3046}.nav-link.active{background:rgba(255,255,255,.18);color:#fff}.table td .actions{gap:6px}.empty-state{padding:28px;text-align:center;color:var(--muted);font-weight:800}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.soft-note{background:#f7f9ff;border:1px dashed #cfd6ee;border-radius:16px;padding:14px;color:#596176;font-weight:700}
@media(max-width:900px){.topbar-right{display:flex}.topbar-right .chip:first-child{display:none}.chip.logout{height:38px;display:inline-flex;align-items:center}.kpi-row{grid-template-columns:1fr 1fr}.login-card{padding:22px;border-radius:22px}}
@media(max-width:520px){.kpi-row{grid-template-columns:1fr}.login-brand{align-items:flex-start}.login-card{padding:18px}}

/* V1.5: proveedores, compras y usuarios */
.inline-search{display:grid;grid-template-columns:minmax(180px,260px) minmax(140px,180px) auto;gap:12px;align-items:end;margin-left:auto}.filter-head{display:flex;align-items:end;justify-content:space-between}.filter-row{display:grid;grid-template-columns:170px 260px;gap:12px;align-items:end}.purchase-grid-v14{grid-template-columns:1.8fr 150px 150px 150px 150px 170px}.checks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check-card{display:flex;align-items:center;gap:9px;background:#f8faff;border:1px solid #e5eaf6;border-radius:14px;padding:10px 12px;text-transform:none;letter-spacing:0;font-size:13px;color:#384057;margin:0}.check-card input{width:auto;height:auto}.check-card span{font-weight:800}.alert.danger{background:#ffe9ed;color:#bf3046;border:1px solid #ffc9d2}.inline-search input{min-width:0}@media(max-width:1100px){.inline-search,.filter-row,.purchase-grid-v14{grid-template-columns:1fr!important}.filter-head{display:block}.filter-row{margin-top:12px}.inline-search{margin-left:0;margin-top:14px}.inline-search .actions .btn{width:100%}.checks-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.checks-grid{grid-template-columns:1fr}}

/* V1.5: usuarios y compras histórico */
.actions-nowrap{display:flex!important;align-items:center;gap:8px;flex-wrap:nowrap!important;white-space:nowrap;min-width:160px}
.actions-nowrap form{display:inline-flex;margin:0;flex:0 0 auto}
.actions-nowrap .btn{flex:0 0 auto}
.historico-search{min-width:320px;max-width:420px;width:100%}
.table td.actions-nowrap{vertical-align:middle}
@media(max-width:900px){.actions-nowrap{justify-content:flex-start}.historico-search{min-width:0;max-width:none;margin-top:12px}.filter-head{display:block}}

/* V1.6: histórico con buscador seleccionable y fecha independiente */
.historico-controls{display:grid;grid-template-columns:minmax(260px,420px) 170px;gap:12px;align-items:end;width:min(620px,100%)}
.historico-date{width:170px}
@media(max-width:900px){.historico-controls{grid-template-columns:1fr;width:100%;margin-top:12px}.historico-date{width:100%}}


/* V1.14: buscador inteligente en reportes */
.report-search-v14{display:grid;grid-template-columns:minmax(240px,1.4fr) 118px 125px 150px 130px 130px 150px;gap:10px;align-items:end}
.report-provider-search{min-width:260px}
@media(max-width:1100px){.report-search-v14{grid-template-columns:1fr!important}.report-provider-search{min-width:0}}


/* V1.15: contadores de reporte de pago */
.report-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.report-counter-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--soft-shadow);padding:18px;position:relative;overflow:hidden}
.report-counter-card:after{content:"";position:absolute;right:-26px;top:-32px;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,rgba(108,92,231,.14),rgba(0,210,211,.12))}
.report-counter-card span{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.report-counter-card strong{display:block;font-size:30px;margin-top:8px;color:#1f2438}
.report-counter-card.printed{border-left:5px solid #18c78d}.report-counter-card.pending{border-left:5px solid #ffb44d}.report-counter-card.range{border-left:5px solid #6c5ce7}
@media(max-width:900px){.report-counters{grid-template-columns:1fr}}


/* V1.18: tabla y modal de avances */
.actions-inline{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.actions-inline form{margin:0;display:inline-flex}.modal-one-col{width:min(460px,96vw)}.one-col-form{display:grid;grid-template-columns:1fr;gap:13px}.money-input{text-align:right;font-weight:800}.table tfoot th{background:#f4f6ff;border-top:1px solid var(--line);padding:12px 11px;text-align:left}.muted{color:var(--muted)}

/* V1.19: buscador junto a Agregar y acciones gráficas en pagos de avances */
.avance-head-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.avance-search-inline{display:block;margin:0;min-width:320px;max-width:430px;width:34vw}
.avance-search-inline input{width:100%}
.icon-actions{justify-content:flex-start;min-width:98px}
.icon-btn{width:38px!important;min-width:38px!important;height:36px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;border-radius:12px!important}
@media(max-width:900px){.avance-head-actions{justify-content:stretch;width:100%}.avance-search-inline{width:100%;min-width:0;max-width:none}.avance-head-actions .btn.ok{width:100%}}


/* V1.20: botón AVANCE con latido en Reporte de pago */
.avance-report-slot{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}.avance-pulse{height:56px;min-height:56px;width:100%;padding:6px 12px;border-radius:15px;background:#dc3545!important;color:#fff!important;box-shadow:0 9px 20px rgba(220,53,69,.25);font-size:12px;line-height:1.12;min-width:132px;white-space:normal;text-align:center;flex-direction:column;gap:2px}.avance-pulse strong{font-size:14px;line-height:1.05}.avance-pulse.has-avance{animation:avanceLatido 1.15s ease-in-out infinite}.avance-pulse:hover{background:#fff!important;color:#dc3545!important;outline:2px solid #dc3545}@keyframes avanceLatido{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(220,53,69,.45)}50%{transform:scale(1.06);box-shadow:0 0 0 8px rgba(220,53,69,0)}}
@media(max-width:1100px){.avance-report-slot{width:100%}.avance-pulse{width:100%}}

/* V1.21 Nómina */
.nomina-hero{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,247,255,.96));}
.nomina-cards{grid-template-columns:repeat(3,1fr)}
.nomina-toolbar{align-items:end}.nomina-toolbar>div{min-width:150px}.nomina-toolbar .nomina-search{min-width:320px;flex:1}
@media(max-width:900px){.nomina-cards{grid-template-columns:1fr}.nomina-toolbar>div,.nomina-toolbar .nomina-search{min-width:0;width:100%}.nomina-hero{display:block}.nomina-hero .actions{margin-top:14px}}

/* V1.22 Nómina: empleados solo en ventana modal organizada */
.modal-wide{width:min(1180px,96vw);max-height:92vh;overflow:auto}
.nomina-empleados-modal{padding:22px}.nomina-modal-note{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#f7f9ff;border:1px dashed #cfd6ee;border-radius:16px;padding:14px 16px;margin-bottom:16px;color:#596176}.nomina-modal-note strong{font-size:15px;color:#20233a}.nomina-modal-note span{font-weight:700}.empleado-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px}.empleado-form-grid .span-2{grid-column:span 2}.empleado-form-actions{grid-column:span 2;align-self:end}.empleado-list-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:8px 0 12px}.empleado-list-head h4{margin:0;font-size:17px}.empleado-list-head small{color:var(--muted);font-weight:800}.empleado-search{min-width:360px;max-width:480px;flex:1}.empleados-table-wrap{max-height:46vh;overflow:auto}.empleados-table-wrap .table{min-width:980px}
@media(max-width:1050px){.empleado-form-grid{grid-template-columns:repeat(2,1fr)}.empleado-form-actions{grid-column:1/-1}.empleado-list-head{display:block}.empleado-search{min-width:0;max-width:none;margin-top:12px}}
@media(max-width:620px){.modal-wide{width:100%;max-height:94vh}.nomina-modal-note{display:block}.nomina-modal-note span{display:block;margin-top:6px}.empleado-form-grid{grid-template-columns:1fr}.empleado-form-grid .span-2,.empleado-form-actions{grid-column:1}.empleado-form-actions .btn{width:100%}}

/* V1.25 Producción */
.produccion-hero{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(242,255,250,.96));}
.produccion-form{display:grid;grid-template-columns:1.4fr 160px 170px 1fr auto;gap:13px;align-items:end}.produccion-form .span-2{grid-column:span 1}.produccion-filtro{display:grid;grid-template-columns:180px minmax(260px,420px) auto;gap:13px;align-items:end}.produccion-cards{grid-template-columns:repeat(3,1fr)}
.productos-modal{padding:22px}.producto-form-grid{display:grid;grid-template-columns:170px 2fr 170px 170px 140px auto;gap:13px;background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:16px;margin-bottom:18px;align-items:end}.producto-form-grid .span-2{grid-column:span 1}.producto-form-actions{align-self:end}.productos-table-wrap{max-height:48vh;overflow:auto}.productos-table-wrap .table{min-width:820px}
@media(max-width:1150px){.produccion-form,.produccion-filtro,.producto-form-grid{grid-template-columns:1fr}.producto-form-actions .btn{width:100%}.produccion-cards{grid-template-columns:1fr}}


/* V1.26: páginas completas para Empleados y Productos, sin ventanas flotantes */
.page-crud-head .actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.page-crud-panel{border-radius:22px;box-shadow:0 12px 34px rgba(25,33,61,.08)}.page-form-grid{width:100%;align-items:end}.page-form-actions{display:flex!important;gap:10px!important;flex-wrap:nowrap!important;justify-content:flex-start!important}.page-form-actions .btn{white-space:nowrap}.page-table-wrap{max-height:none!important;overflow:auto}.page-table-wrap .actions-inline,.page-table-wrap .icon-actions{display:flex!important;gap:8px!important;align-items:center!important;flex-wrap:nowrap!important}.page-table-wrap .icon-actions form{display:inline-flex;margin:0}.page-table-wrap .table td,.page-table-wrap .table th{vertical-align:middle}.page-crud-panel .empleado-search{margin-left:auto}.page-crud-panel .empleado-search input{width:100%}
@media(max-width:1050px){.page-form-actions{grid-column:1/-1}.page-crud-head{display:block}.page-crud-head .actions{margin-top:12px}.page-crud-panel .empleado-search{margin-left:0}}
@media(max-width:650px){.page-form-actions{flex-wrap:wrap!important}.page-form-actions .btn{width:100%}.page-crud-head .actions .btn{width:100%}}


/* V1.27: Producción con dashboard superior y registro en modal horizontal */
.produccion-dashboard-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px}
.produccion-resumenes{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;width:100%}
.produccion-mini-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 16px;box-shadow:0 8px 20px rgba(27,31,59,.06);position:relative;overflow:hidden}
.produccion-mini-card:after{content:"";position:absolute;right:-26px;top:-28px;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,rgba(32,201,151,.16),rgba(108,92,231,.12))}
.produccion-mini-card span{display:block;color:var(--muted);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.produccion-mini-card strong{display:block;font-size:25px;margin-top:7px;color:#20233a;line-height:1}
.produccion-mini-card small{display:block;margin-top:8px;color:#14a97c;font-weight:800}
.produccion-head-buttons{justify-content:flex-end;min-width:max-content}.produccion-head-buttons .btn{height:42px}
.produccion-modal-horizontal{width:min(1120px,96vw);padding:24px}.produccion-modal-horizontal .modal-head small{display:block;margin-top:4px;color:var(--muted);font-weight:750}
.produccion-form-modal{grid-template-columns:minmax(300px,1.7fr) 150px 170px minmax(230px,1fr) auto;gap:14px;background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:16px;margin:0}.produccion-form-modal .producto-search-field,.produccion-form-modal .observacion-field{grid-column:auto}.produccion-modal-actions{align-self:end;flex-wrap:nowrap}.produccion-modal-actions .btn{height:43px}
@media(max-width:1180px){.produccion-dashboard-head{grid-template-columns:1fr}.produccion-head-buttons{justify-content:flex-start;min-width:0}.produccion-form-modal{grid-template-columns:1fr 1fr}.produccion-modal-actions{grid-column:1/-1}.produccion-modal-actions .btn{flex:1}}
@media(max-width:760px){.produccion-resumenes{grid-template-columns:1fr}.produccion-head-buttons .btn{width:100%}.produccion-form-modal{grid-template-columns:1fr}.produccion-modal-actions{flex-wrap:wrap}.produccion-modal-actions .btn{width:100%}}

/* V1.28 - Ajustes página de productos */
.productos-clean-panel{margin-top:0;}
.producto-form-grid-clean{
  grid-template-columns: 210px minmax(360px, 1.8fr) 210px 210px 140px;
  align-items:end;
  gap:16px;
}
.producto-form-grid-clean .producto-nombre-field input{min-width:100%;}
.producto-form-grid-clean .producto-form-actions{display:flex; align-items:end; justify-content:flex-start; margin-top:0;}
.producto-form-grid-clean .producto-form-actions .btn{width:100%; min-width:120px;}
.productos-list-panel{margin-top:16px;}
.productos-list-head{display:grid; grid-template-columns: 1fr auto minmax(280px,420px); gap:16px; align-items:end;}
.productos-list-head .actions{justify-content:flex-end;}
.productos-list-head .empleado-search{margin:0;}
@media (max-width: 1100px){
  .producto-form-grid-clean{grid-template-columns:1fr 1fr;}
  .producto-form-grid-clean .producto-nombre-field{grid-column:span 2;}
  .productos-list-head{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .producto-form-grid-clean{grid-template-columns:1fr;}
  .producto-form-grid-clean .producto-nombre-field{grid-column:auto;}
}

/* V1.29 - Ajustes Producción solicitados */
.produccion-dashboard-head{grid-template-columns:1fr;}
.produccion-head-buttons{display:none;}
.produccion-filtro{grid-template-columns:180px minmax(280px,420px) auto;align-items:end;}
.produccion-filtro-actions{display:flex;gap:12px;align-items:end;justify-content:flex-start;flex-wrap:wrap;}
.produccion-filtro-actions .btn{height:43px;white-space:nowrap;}
.produccion-modal-horizontal{width:min(1260px,97vw);max-height:88vh;overflow:auto;border-radius:24px;box-shadow:0 24px 80px rgba(27,31,59,.22);}
.produccion-modal-horizontal .modal-head{border-bottom:1px dashed #cbd7f0;margin-bottom:16px;padding-bottom:14px;}
.produccion-form-modal{grid-template-columns:minmax(360px,2fr) 160px 170px minmax(220px,1fr) auto;align-items:end;gap:16px;padding:18px;background:linear-gradient(180deg,#fbfcff,#fff);}
.produccion-form-modal label{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:900;}
.produccion-form-modal input{height:48px;}
.produccion-modal-actions{display:flex;gap:10px;align-items:end;justify-content:flex-start;min-width:max-content;}
.produccion-modal-actions .btn{height:48px;padding:0 18px;}
.productos-page-top{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:16px;}
.productos-retorno-top{height:42px;display:inline-flex;align-items:center;justify-content:center;}
.producto-form-grid-clean{grid-template-columns:200px minmax(440px,2fr) 190px 190px 140px;max-width:100%;box-sizing:border-box;overflow:hidden;}
.producto-form-grid-clean .producto-form-actions{align-self:end;}
.producto-form-grid-clean .producto-form-actions .btn{height:54px;}
.productos-list-head{grid-template-columns:1fr minmax(280px,420px);}
@media(max-width:1220px){
  .produccion-filtro{grid-template-columns:1fr 1fr;}
  .produccion-filtro-actions{grid-column:1/-1;}
  .produccion-form-modal{grid-template-columns:1fr 1fr;}
  .produccion-modal-actions{grid-column:1/-1;}
  .producto-form-grid-clean{grid-template-columns:1fr 1fr;}
  .producto-form-grid-clean .producto-nombre-field{grid-column:span 2;}
  .productos-page-top{grid-template-columns:1fr;}
  .productos-retorno-top{justify-self:start;}
}
@media(max-width:700px){
  .produccion-filtro,.produccion-form-modal,.producto-form-grid-clean,.productos-list-head{grid-template-columns:1fr;}
  .producto-form-grid-clean .producto-nombre-field{grid-column:auto;}
  .produccion-filtro-actions .btn,.produccion-modal-actions .btn{width:100%;}
}


/* V1.30 - Producción y productos: formulario visible y modal rectangular */
.produccion-modal-horizontal{width:min(880px,94vw);max-height:90vh;overflow:auto;}
.produccion-form-rect{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px;border-radius:20px;background:linear-gradient(180deg,#fbfcff,#fff);border:1px solid var(--line);}
.produccion-form-rect .produccion-full{grid-column:1/-1;}
.produccion-form-rect input[readonly]{background:#f7f9fd;color:#1f2a44;font-weight:800;}
.produccion-form-rect .produccion-modal-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;min-width:0;}
.produccion-form-rect .produccion-modal-actions .btn{min-width:120px;height:46px;}
.producto-form-grid-clean{display:grid;grid-template-columns:210px minmax(360px,1.6fr) minmax(170px,200px) minmax(170px,200px) 130px;gap:16px;align-items:end;overflow:visible;padding-right:16px;}
.producto-form-grid-clean .producto-form-actions{display:flex;align-items:end;justify-content:flex-start;min-width:120px;}
.producto-form-grid-clean .producto-form-actions .btn{width:100%;min-width:120px;height:54px;}
@media(max-width:1050px){.producto-form-grid-clean{grid-template-columns:1fr 1fr}.producto-form-grid-clean .producto-nombre-field{grid-column:1/-1}.producto-form-grid-clean .producto-form-actions{grid-column:1/-1}.producto-form-grid-clean .producto-form-actions .btn{width:auto}.produccion-form-rect{grid-template-columns:1fr}}
@media(max-width:640px){.producto-form-grid-clean{grid-template-columns:1fr}.producto-form-grid-clean .producto-form-actions .btn,.produccion-form-rect .produccion-modal-actions .btn{width:100%}.produccion-form-rect .produccion-modal-actions{flex-direction:column;align-items:stretch}}

/* V1.33 Producción: dashboard gerencial e impresión */
.produccion-resumenes-v133{grid-template-columns:repeat(3,minmax(220px,1fr));}
.produccion-resumenes-v133 .produccion-mini-card strong{font-size:24px;letter-spacing:-.02em;}
.produccion-resumenes-v133 .produccion-mini-card small{color:#0aa67a;line-height:1.25;}
.btn.print{background:#536079;color:#fff;box-shadow:0 14px 34px rgba(83,96,121,.18)}
.informe-produccion-modal{width:min(820px,94vw);border-radius:24px;}
.informe-produccion-form{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px;align-items:end;background:linear-gradient(180deg,#fbfcff,#fff);border:1px solid var(--line);border-radius:20px;padding:18px;}
.informe-produccion-form label{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:900;}
.informe-produccion-form select,.informe-produccion-form input{height:48px;border:1px solid var(--line);border-radius:15px;padding:0 14px;background:#fff;font-weight:800;color:#111936;}
.informe-produccion-form .actions{grid-column:1/-1;display:flex;gap:12px;justify-content:flex-end;}
@media(max-width:900px){.produccion-resumenes-v133,.informe-produccion-form{grid-template-columns:1fr}.informe-produccion-form .actions{flex-direction:column}.informe-produccion-form .btn{width:100%}}

/* V1.34 Configuración - Parámetros renovado */
.config-page{max-width:1280px;margin:0 auto}.config-hero{align-items:center}.config-section{padding:24px;border-radius:24px}.config-section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;border-bottom:1px dashed #dbe2f1;padding-bottom:16px}.config-section-title span{min-width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:grid;place-items:center;color:#fff;font-weight:950;box-shadow:0 10px 24px rgba(108,92,231,.2)}.config-section-title h3{margin:0;font-size:19px;font-weight:950}.config-section-title p{margin:4px 0 0;color:var(--muted)}.config-grid{grid-template-columns:1fr 1fr}.config-grid textarea.tall{height:130px;resize:vertical;line-height:1.45;padding:13px 14px}.config-logo-preview{display:flex;flex-direction:column}.config-logo-preview img{width:110px;height:110px;object-fit:contain;border:1px solid var(--line);border-radius:18px;background:#fff;padding:8px;box-shadow:var(--soft-shadow)}.empty-logo{width:110px;height:110px;border:1px dashed #cbd4e6;border-radius:18px;display:grid;place-items:center;color:#8a93a8;font-weight:900;background:#fafbff;font-size:12px}.nomina-config-table{margin-top:16px}.nomina-config-table select,.nomina-config-table input{height:40px;border-radius:12px}.nomina-config-table td:first-child{min-width:220px}.config-save-bottom{display:flex;justify-content:flex-end}.config-save-bottom .actions{justify-content:flex-end;width:100%}.alert.ok{background:#e8fff8;border:1px solid #c7f6e9;color:#087a61;border-radius:16px;padding:13px 16px;margin-bottom:16px;font-weight:850}.alert.danger{background:#fff0f2;border:1px solid #ffd3da;color:#bf3046;border-radius:16px;padding:13px 16px;margin-bottom:16px;font-weight:850}@media(max-width:850px){.config-grid{grid-template-columns:1fr}.config-hero{display:block}.config-hero .actions{margin-top:14px}.config-save-bottom .actions{flex-direction:column}.config-save-bottom .btn{width:100%}}


/* V1.35 Configuración por pestañas */
.config-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px;position:sticky;top:0;z-index:5;background:rgba(246,248,252,.92);backdrop-filter:blur(8px);padding:10px;border-radius:18px;border:1px solid #e2e8f5}
.config-tabs .tab-btn{border:0;border-radius:14px;padding:12px 16px;font-weight:900;cursor:pointer;background:#eef2fb;color:#39445f;box-shadow:inset 0 0 0 1px #dbe3f3}
.config-tabs .tab-btn.active{background:linear-gradient(135deg,#121331,#5267dd);color:#fff;box-shadow:0 12px 26px rgba(82,103,221,.22)}
.tab-panel{display:none;animation:fadeInTab .18s ease-in-out}.tab-panel.active{display:block}@keyframes fadeInTab{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.visible-box{margin-top:18px;border:1px dashed #c2cbe0;background:#fbfcff;border-radius:18px;padding:18px}.visible-box h4{margin:0 0 6px;font-size:17px}.visible-box p{margin:0 0 14px;color:#66708a;font-weight:700}.visible-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.check-card{display:flex;gap:8px;align-items:center;border:1px solid #e2e7f1;border-radius:14px;background:#fff;padding:11px 12px;font-weight:900;color:#29334f}.check-card input{width:18px;height:18px}.config-save-bottom{position:sticky;bottom:10px;z-index:4;background:#fffdfc;border:1px solid #e5e9f4;box-shadow:0 16px 50px rgba(25,34,64,.10)}
@media(max-width:900px){.visible-grid{grid-template-columns:1fr 1fr}.config-tabs{position:static}.config-tabs .tab-btn{flex:1 1 160px}}@media(max-width:520px){.visible-grid{grid-template-columns:1fr}}
.selected-row{background:rgba(34,197,94,.10)!important;outline:2px solid rgba(34,197,94,.22)}
.actions-table{display:flex;gap:6px;flex-wrap:wrap}.btn.small{padding:7px 10px;font-size:12px}.btn.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.btn.danger:hover{background:#fecaca}

/* V1.42 Configuración en modal */
.config-modal-backdrop{align-items:flex-start;overflow:auto;padding:22px 12px;}
.config-modal-card{width:min(1240px,98vw);max-height:94vh;overflow:auto;padding:18px;border-radius:24px;}
.config-modal-card .config-page{max-width:100%;}
.config-modal-card .module-head{margin-bottom:12px;}
.config-modal-card .config-tabs{position:sticky;top:0;z-index:10;}
.config-modal-form{margin:0;}
.config-modal-form .config-save-bottom{position:sticky;bottom:0;margin-bottom:0;}
.alert.info{background:#eef4ff;border:1px solid #d6e4ff;color:#244a7f;border-radius:16px;padding:13px 16px;margin-bottom:16px;font-weight:850}
@media(max-width:900px){.config-modal-card{width:98vw;padding:12px}.config-modal-backdrop{padding:8px}.config-modal-form .config-section{padding:16px}}


/* V1.50 - Tablas estables, logo configurado y bloqueo de pantalla */
.table-wrap{overflow:auto;max-width:100%;}
.table{min-width:980px;table-layout:auto;}
.table th,.table td{white-space:nowrap;}
.table td:not(.actions):not(.actions-table){max-width:260px;overflow:hidden;text-overflow:ellipsis;}
.table td.actions,.table td.actions-table{width:270px;min-width:270px;display:flex;gap:6px;align-items:center;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;}
.table td.actions form,.table td.actions-table form{display:inline-flex;margin:0;flex:0 0 auto;}
.table td.actions .btn,.table td.actions button,.table td.actions-table .btn,.table td.actions-table button{flex:0 0 auto;min-width:max-content;}
.table th:last-child{min-width:220px;}
.table .col-nombre{min-width:230px;max-width:300px;}
.table .col-direccion{min-width:220px;max-width:320px;}
@media(max-width:900px){.table{min-width:1050px}.table td.actions,.table td.actions-table{position:sticky;right:0;background:#fff;box-shadow:-10px 0 20px rgba(27,31,59,.06);z-index:2}.table tr:hover td.actions,.table tr:hover td.actions-table{background:#fbfcff}}
.brand-zone-v150{align-items:center;padding:18px 14px;min-height:154px}.brand-row-v150{justify-content:center}.app-brand-card{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.app-brand-logo{width:72px;height:72px;border-radius:22px;background:#fff;display:grid;place-items:center;position:relative;box-shadow:0 18px 42px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.28);overflow:visible}.app-brand-logo img{width:100%;height:100%;object-fit:contain;border-radius:20px;padding:7px;background:#fff}.app-brand-logo span{font-size:24px;font-weight:950;color:#121331}.app-brand-check{position:absolute;right:-5px;bottom:-5px;width:26px;height:26px;border-radius:50%;background:#20c997;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:950;border:3px solid #121331;box-shadow:0 8px 18px rgba(32,201,151,.32)}.app-brand-text strong{display:block;color:#fff;font-size:15px;font-weight:950;line-height:1.15;max-width:200px}.app-brand-text small{display:block;margin-top:5px;color:#bfc5f5;font-size:12px;font-weight:750}.lock-chip{border:0}.lock-backdrop{display:none;position:fixed;inset:0;z-index:9999;background:rgba(8,10,30,.78);backdrop-filter:blur(9px);align-items:center;justify-content:center;padding:18px}.lock-backdrop.show{display:flex}.lock-card{width:min(430px,94vw);background:#fff;border-radius:28px;box-shadow:0 26px 90px rgba(0,0,0,.35);padding:28px;text-align:center}.lock-logo{width:86px;height:86px;margin:0 auto 14px;border-radius:26px;background:#f8fbff;border:1px solid var(--line);display:grid;place-items:center;position:relative;box-shadow:var(--soft-shadow)}.lock-logo img{max-width:100%;max-height:100%;object-fit:contain;padding:8px}.lock-logo span{font-size:28px;font-weight:950;color:#121331}.lock-logo i{position:absolute;right:-5px;bottom:-5px;width:30px;height:30px;border-radius:50%;background:#20c997;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:950;border:3px solid #fff}.lock-card h2{margin:0 0 6px;font-size:23px}.lock-card p{margin:0 0 18px;color:var(--muted);font-weight:700}.lock-card form{text-align:left}.lock-card input{margin-bottom:12px}.lock-card .btn{width:100%;margin-top:4px}.lock-card small{display:block;text-align:center;margin-top:14px;color:#7b8499;font-weight:800}.lock-error{min-height:22px;color:#bf3046;font-weight:900;text-align:center;margin-top:10px}.screen-is-locked .app-shell{filter:blur(2px)}

/* V1.51 - Tablas estéticas, compactas y adaptadas al ancho */
.table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  border-radius:18px;
}
.table{
  width:100%;
  min-width:0 !important;
  table-layout:fixed;
}
.table th,
.table td{
  max-width:1px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.25;
}
.table th{height:48px;}
.table td{height:54px;}
.table td:hover{
  overflow:visible;
  white-space:normal;
  word-break:break-word;
  position:relative;
  z-index:2;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(27,31,59,.10);
  border-radius:10px;
}
.table th:last-child,
.table td:last-child{
  width:140px;
  min-width:140px;
  max-width:140px;
  text-align:center;
  overflow:visible;
  white-space:nowrap;
}
.table td:last-child:hover{
  white-space:nowrap;
  word-break:normal;
  box-shadow:none;
  background:#fbfcff !important;
}
.table .actions,
.table .actions-table,
.table td:last-child .actions,
.table td:last-child .actions-table{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  min-width:max-content;
}
.table .btn.small,
.table button.btn.small,
.table td:last-child .btn,
.table td:last-child button{
  height:34px;
  min-width:34px;
  padding:0 11px;
  border-radius:12px;
  font-size:12px;
  flex:0 0 auto;
  white-space:nowrap;
}
/* columnas típicas: códigos, fechas y valores más compactos */
.table th:nth-child(1), .table td:nth-child(1){width:9%;}
.table th:nth-child(2), .table td:nth-child(2){width:11%;}
.table th:nth-child(3), .table td:nth-child(3){width:auto;}
.table th:nth-child(4), .table td:nth-child(4){width:10%;}
.table th:nth-child(5), .table td:nth-child(5){width:11%;}
.table th:nth-child(6), .table td:nth-child(6){width:12%;}
@media(max-width:900px){
  .table{min-width:760px !important;table-layout:auto;}
  .table-wrap{overflow-x:auto;}
  .table th,.table td{max-width:220px;}
  .table th:last-child,.table td:last-child{position:sticky;right:0;background:#fff;z-index:3;box-shadow:-8px 0 18px rgba(27,31,59,.06);}
  .table th:last-child{background:#f7f8fe;}
}


/* V1.52 - Proveedores: acciones estables y tabla proporcionada */
.table-proveedores{
  min-width:1180px !important;
  table-layout:fixed !important;
}
.table-proveedores th:nth-child(1), .table-proveedores td:nth-child(1){width:90px !important;}
.table-proveedores th:nth-child(2), .table-proveedores td:nth-child(2){width:210px !important;}
.table-proveedores th:nth-child(3), .table-proveedores td:nth-child(3){width:135px !important;}
.table-proveedores th:nth-child(4), .table-proveedores td:nth-child(4){width:135px !important;}
.table-proveedores th:nth-child(5), .table-proveedores td:nth-child(5){width:230px !important;}
.table-proveedores th:nth-child(6), .table-proveedores td:nth-child(6){width:110px !important;}
.table-proveedores th:nth-child(7), .table-proveedores td:nth-child(7){width:115px !important;}
.table-proveedores th:nth-child(8), .table-proveedores td:nth-child(8){width:110px !important;}
.table-proveedores th:nth-child(9), .table-proveedores td:nth-child(9){
  width:260px !important;
  min-width:260px !important;
  max-width:260px !important;
  overflow:visible !important;
  text-align:center;
}
.table-proveedores td.actions{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  min-width:260px !important;
  max-width:260px !important;
}
.table-proveedores td.actions form{display:inline-flex !important;margin:0 !important;flex:0 0 auto !important;}
.table-proveedores td.actions .btn{
  height:34px !important;
  min-width:auto !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:12px !important;
  line-height:1 !important;
}
.table-proveedores td:not(.actions):hover{
  overflow:hidden !important;
  white-space:nowrap !important;
  word-break:normal !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
@media(max-width:900px){
  .table-proveedores{min-width:1180px !important;}
  .table-proveedores th:nth-child(9), .table-proveedores td:nth-child(9){position:sticky;right:0;background:#fff;z-index:4;box-shadow:-8px 0 18px rgba(27,31,59,.06);}
  .table-proveedores th:nth-child(9){background:#f7f8fe;}
}

/* V1.53 - Proveedores proporcionado al ancho real de pantalla */
.proveedores-panel{padding:22px 24px;overflow:hidden;}
.proveedores-wrap{width:100%;overflow-x:auto;overflow-y:visible;border-radius:18px;}
.table-proveedores.tabla-ciudadanos{
  width:100% !important;
  min-width:1120px !important;
  table-layout:fixed !important;
}
.table-proveedores.tabla-ciudadanos th,
.table-proveedores.tabla-ciudadanos td{
  height:52px;
  padding:10px 12px !important;
  max-width:none !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  vertical-align:middle !important;
  line-height:1.2;
}
.table-proveedores.tabla-ciudadanos .c-codigo{width:72px !important;min-width:72px !important;max-width:72px !important;}
.table-proveedores.tabla-ciudadanos .c-nombre{width:235px !important;min-width:235px !important;max-width:235px !important;}
.table-proveedores.tabla-ciudadanos .c-cedula{width:120px !important;min-width:120px !important;max-width:120px !important;}
.table-proveedores.tabla-ciudadanos .c-telefono{width:120px !important;min-width:120px !important;max-width:120px !important;}
.table-proveedores.tabla-ciudadanos .c-direccion{width:260px !important;min-width:260px !important;max-width:260px !important;}
.table-proveedores.tabla-ciudadanos .c-periodo{width:95px !important;min-width:95px !important;max-width:95px !important;}
.table-proveedores.tabla-ciudadanos .c-precio{width:95px !important;min-width:95px !important;max-width:95px !important;text-align:right;}
.table-proveedores.tabla-ciudadanos .c-estado{width:92px !important;min-width:92px !important;max-width:92px !important;text-align:center;}
.table-proveedores.tabla-ciudadanos .c-acciones{width:255px !important;min-width:255px !important;max-width:255px !important;text-align:center;overflow:visible !important;}
.table-proveedores.tabla-ciudadanos .acciones-proveedor{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.table-proveedores.tabla-ciudadanos .acciones-proveedor form{display:inline-flex !important;margin:0 !important;flex:0 0 auto !important;}
.table-proveedores.tabla-ciudadanos .acciones-proveedor .btn{
  height:34px !important;
  min-width:0 !important;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:12px !important;
  flex:0 0 auto !important;
  box-shadow:0 8px 18px rgba(108,92,231,.13) !important;
}
.table-proveedores.tabla-ciudadanos td:hover{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:#fbfcff !important;
}
.table-proveedores.tabla-ciudadanos td.c-acciones:hover{
  overflow:visible !important;
  background:#fbfcff !important;
}
.table-proveedores.tabla-ciudadanos .badge{padding:6px 10px;font-size:12px;}
@media(min-width:1450px){
  .table-proveedores.tabla-ciudadanos{min-width:0 !important;}
  .table-proveedores.tabla-ciudadanos .c-direccion{width:18% !important;min-width:0 !important;max-width:none !important;}
  .table-proveedores.tabla-ciudadanos .c-nombre{width:16% !important;min-width:0 !important;max-width:none !important;}
}
@media(max-width:1100px){
  .table-proveedores.tabla-ciudadanos{min-width:1120px !important;}
  .table-proveedores.tabla-ciudadanos .c-acciones{position:sticky;right:0;background:#fff;z-index:5;box-shadow:-8px 0 18px rgba(27,31,59,.06);}
  .table-proveedores.tabla-ciudadanos th.c-acciones{background:#f7f8fe;}
}

/* V1.54 - Proveedores: código oculto visualmente, nombre más amplio y dirección compacta */
.table-proveedores.tabla-ciudadanos{
  width:100% !important;
  min-width:1240px !important;
  table-layout:fixed !important;
}
.table-proveedores.tabla-ciudadanos .c-nombre{width:275px !important;min-width:275px !important;max-width:275px !important;}
.table-proveedores.tabla-ciudadanos .c-cedula{width:118px !important;min-width:118px !important;max-width:118px !important;}
.table-proveedores.tabla-ciudadanos .c-telefono{width:118px !important;min-width:118px !important;max-width:118px !important;}
.table-proveedores.tabla-ciudadanos .c-direccion{width:230px !important;min-width:230px !important;max-width:230px !important;}
.table-proveedores.tabla-ciudadanos .c-periodo{width:92px !important;min-width:92px !important;max-width:92px !important;}
.table-proveedores.tabla-ciudadanos .c-precio{width:96px !important;min-width:96px !important;max-width:96px !important;text-align:right;}
.table-proveedores.tabla-ciudadanos .c-estado{width:92px !important;min-width:92px !important;max-width:92px !important;text-align:center;}
.table-proveedores.tabla-ciudadanos .c-acciones{width:310px !important;min-width:310px !important;max-width:310px !important;text-align:center;overflow:visible !important;}
.table-proveedores.tabla-ciudadanos .acciones-proveedor{gap:8px !important;justify-content:center !important;}
.table-proveedores.tabla-ciudadanos .acciones-proveedor .btn{height:34px !important;padding:0 13px !important;font-size:12px !important;}
@media(min-width:1450px){
  .table-proveedores.tabla-ciudadanos{min-width:0 !important;}
  .table-proveedores.tabla-ciudadanos .c-nombre{width:22% !important;min-width:0 !important;max-width:none !important;}
  .table-proveedores.tabla-ciudadanos .c-direccion{width:18% !important;min-width:0 !important;max-width:none !important;}
  .table-proveedores.tabla-ciudadanos .c-acciones{width:310px !important;min-width:310px !important;max-width:310px !important;}
}
@media(max-width:1250px){
  .table-proveedores.tabla-ciudadanos{min-width:1240px !important;}
  .table-proveedores.tabla-ciudadanos .c-acciones{position:sticky;right:0;background:#fff;z-index:5;box-shadow:-8px 0 18px rgba(27,31,59,.06);}
  .table-proveedores.tabla-ciudadanos th.c-acciones{background:#f7f8fe;}
}

/* V1.54 - Cabecera dinámica y lema de la aplicación */
.app-brand-text small{font-size:9.6px !important;line-height:1.15;max-width:190px;margin-left:auto;margin-right:auto;color:#cfd4ff;}
.top-title h1{font-size:22px;letter-spacing:-.01em;}
.top-title p{font-size:12.5px;max-width:620px;}

/* V1.55 - Producción y registro de productos: distribución estética sin barra horizontal */
.produccion-dia-wrap,
.productos-table-wrap{
  width:100%;
  overflow-x:hidden !important;
  overflow-y:auto;
}
.table-produccion-dia,
.table-productos-registro{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.table-produccion-dia th,
.table-produccion-dia td,
.table-productos-registro th,
.table-productos-registro td{
  padding:12px 14px !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.25 !important;
}
.table-produccion-dia .c-prod{width:42% !important;max-width:none !important;}
.table-produccion-dia .c-cant{width:9% !important;text-align:left;}
.table-produccion-dia .c-precio-may{width:12% !important;}
.table-produccion-dia .c-total-may{width:12% !important;}
.table-produccion-dia .c-precio-det{width:11% !important;}
.table-produccion-dia .c-total-det{width:11% !important;}
.table-produccion-dia .c-accion{width:8% !important;text-align:center;overflow:visible !important;}
.table-produccion-dia .c-accion form{display:inline-flex;margin:0;}
.table-produccion-dia .icon-btn{width:44px;min-width:44px;height:44px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;}
.table-produccion-dia tfoot th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.table-productos-registro .c-codigo{width:10% !important;}
.table-productos-registro .c-producto{width:54% !important;max-width:none !important;}
.table-productos-registro .c-mayorista{width:13% !important;}
.table-productos-registro .c-detal{width:13% !important;}
.table-productos-registro .c-acciones{width:10% !important;text-align:center;overflow:visible !important;}
.table-productos-registro .c-producto b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.table-productos-registro .c-producto small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.table-productos-registro .icon-actions{display:flex !important;justify-content:center !important;align-items:center !important;gap:10px !important;flex-wrap:nowrap !important;}
.table-productos-registro .icon-actions form{display:inline-flex;margin:0;}
.table-productos-registro .icon-btn{width:44px;min-width:44px;height:44px;padding:0 !important;display:inline-flex;align-items:center;justify-content:center;}

@media(max-width:900px){
  .produccion-dia-wrap,
  .productos-table-wrap{overflow-x:auto !important;}
  .table-produccion-dia{min-width:920px !important;}
  .table-productos-registro{min-width:820px !important;}
}


/* V1.56 - Mensajes del sistema integrados */
.system-message-wrap{min-height:calc(100vh - 130px);display:flex;align-items:center;justify-content:center;padding:28px}.system-message-card{width:min(720px,96%);display:flex;gap:20px;background:#fff;border:1px solid #dfe5f2;border-radius:30px;padding:30px;box-shadow:0 26px 90px rgba(27,31,59,.13);position:relative;overflow:hidden}.system-message-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:#6c5ce7}.system-message-icon{width:62px;height:62px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;flex:0 0 auto}.system-message-kicker{display:inline-block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#58627a;margin-bottom:8px}.system-message-body h2{margin:0 0 10px;font-size:28px;color:#111936}.system-message-body p{margin:0;color:#58627a;line-height:1.55;font-size:16px}.system-message-detail{margin-top:16px;border-radius:16px;background:#f5f7fc;border:1px solid #e3e8f5;padding:14px;color:#35405c;font-family:Consolas,monospace;white-space:pre-wrap}.system-message-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.system-message-error:before,.system-message-danger:before{background:#ff5a65}.system-message-error .system-message-icon,.system-message-danger .system-message-icon{background:#ffe1e1;color:#ad0000}.system-message-warning:before{background:#ff9f43}.system-message-warning .system-message-icon{background:#fff0dc;color:#a65700}.system-message-success:before{background:#18c798}.system-message-success .system-message-icon{background:#dcfff4;color:#008b68}.system-message-info:before{background:#4c7dff}.system-message-info .system-message-icon{background:#e2eaff;color:#2559d6}@media(max-width:700px){.system-message-card{flex-direction:column;padding:24px;border-radius:24px}.system-message-body h2{font-size:23px}.system-message-wrap{padding:14px}}

/* V1.58 Dashboard moderno: sin hero, con avance proveedores y gráfico litros */
.hero-card{display:none!important}
.dashboard-grid-v158{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:22px;align-items:stretch}
.dash-card-v158{background:rgba(255,255,255,.92);border:1px solid rgba(214,221,238,.9);border-radius:24px;padding:22px;box-shadow:0 18px 45px rgba(31,45,80,.08);overflow:hidden}
.dash-card-head-v158{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.dash-card-head-v158 h2{margin:4px 0 0;font-size:22px;line-height:1.12;color:#071a3b;font-weight:900;letter-spacing:-.02em}
.dash-kicker-v158{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#5a6686}
.dash-card-head-v158 strong{font-size:14px;color:#172442;background:#f3f7ff;border:1px solid #dce6fb;border-radius:999px;padding:10px 14px;white-space:nowrap}
.cards-v158{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cards-v158 .stat-card{box-shadow:none;border:1px solid #e3e9f6;background:linear-gradient(180deg,#fff,#f8fbff);min-height:126px}
.advance-card-v158{background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#f1fff9 100%);position:relative}
.advance-card-v158:after{content:"";position:absolute;width:190px;height:190px;right:-70px;bottom:-80px;background:linear-gradient(135deg,rgba(35,201,135,.22),rgba(34,184,207,.15));border-radius:50%}
.dash-badge-v158{font-size:12px;font-weight:900;color:#087c61;background:#ddfff4;border:1px solid #bdf4e2;border-radius:999px;padding:9px 12px;white-space:nowrap;position:relative;z-index:1}
.advance-amount-v158{font-size:34px;font-weight:950;color:#071a3b;letter-spacing:-.04em;margin:18px 0 20px;position:relative;z-index:1}
.advance-split-v158{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}
.advance-split-v158 span{display:block;background:#fff;border:1px solid #e0e8f6;border-radius:18px;padding:14px}
.advance-split-v158 b{display:block;color:#13213d;font-size:17px;margin-bottom:4px}
.advance-split-v158 small{font-size:12px;color:#6f7890;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.chart-card-v158{padding:24px 24px 18px}
.line-chart-wrap-v158{width:100%;overflow:hidden;border-radius:22px;background:linear-gradient(180deg,#fbfdff,#f6f9ff);border:1px solid #e4ebf8;padding:12px 10px 4px}
.line-chart-v158{width:100%;height:auto;display:block;min-height:260px}
.grid-line-v158{stroke:#dfe7f4;stroke-width:1;stroke-dasharray:4 7}
.point-v158{fill:#fff;stroke:#22b8cf;stroke-width:3;filter:drop-shadow(0 2px 4px rgba(34,184,207,.35))}
.point-label-v158{font-size:10px;font-weight:800;fill:#2b3858;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.x-label-v158{font-size:10px;font-weight:700;fill:#68748f}
@media(max-width:1100px){.dashboard-grid-v158{grid-template-columns:1fr}.cards-v158{grid-template-columns:1fr}.advance-amount-v158{font-size:28px}}


/* V1.59 - Dashboard 10 días y promedio 7 días */
.cards-v158 .stat-card-prom-v159{min-height:152px;display:flex;flex-direction:column;justify-content:flex-start}
.avg-v159{margin-top:auto;padding-top:12px;font-size:11px;line-height:1.25;color:#6b748c;font-weight:800;border-top:1px dashed #dce5f4}
.avg-v159 b{display:block;margin-top:4px;font-size:13px;color:#13213d;font-weight:950}
@media(max-width:900px){.cards-v158 .stat-card-prom-v159{min-height:auto}}


/* V1.60 Dashboard: avance entregado hoy */
.advance-today-v160{position:relative;z-index:1;margin:-8px 0 16px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#ecfff8,#f7fbff);border:1px solid #ccefe4;box-shadow:0 10px 24px rgba(12,135,99,.07)}
.advance-today-v160 span{display:block;font-size:12px;font-weight:900;color:#087c61;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.advance-today-v160 strong{display:block;font-size:24px;line-height:1;color:#071a3b;font-weight:950;letter-spacing:-.03em}
.advance-today-v160 small{display:block;margin-top:6px;color:#6f7890;font-size:12px;font-weight:700}
.advance-split-v160{grid-template-columns:repeat(3,minmax(0,1fr))}
.advance-split-v160 span{padding:13px 12px;min-width:0}
.advance-split-v160 b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.advance-split-v160 small{font-size:11px;white-space:nowrap}
@media(max-width:620px){.advance-split-v160{grid-template-columns:1fr}.advance-today-v160 strong{font-size:22px}}

/* V1.65 - Usuarios: distribución estable y acciones visibles */
.usuarios-panel{padding:26px 26px 28px;}
.usuarios-table-wrap{overflow-x:hidden;border-radius:18px;}
.table-usuarios{width:100% !important;min-width:0 !important;table-layout:fixed !important;}
.table-usuarios .col-usuario{width:13%;}
.table-usuarios .col-nombre{width:27%;}
.table-usuarios .col-rol{width:12%;}
.table-usuarios .col-estado{width:12%;}
.table-usuarios .col-permisos{width:18%;}
.table-usuarios .col-acciones{width:18%;}
.table-usuarios th,.table-usuarios td{height:58px;padding:13px 15px;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.table-usuarios td:hover{overflow:hidden;white-space:nowrap;word-break:normal;box-shadow:none;background:#fbfcff!important;border-radius:0;}
.table-usuarios th:last-child,.table-usuarios td:last-child{width:auto!important;min-width:0!important;max-width:none!important;text-align:left;overflow:visible;}
.table-usuarios .usuarios-actions{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important;min-width:0!important;width:auto!important;max-width:none!important;overflow:visible!important;}
.table-usuarios .usuarios-actions form{margin:0;display:inline-flex;flex:0 0 auto;}
.table-usuarios .usuarios-actions .btn{height:36px;padding:0 14px;border-radius:12px;font-size:12px;min-width:78px;}
.table-usuarios .role-pill,.table-usuarios .perm-pill{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:#f1f3ff;color:#575ec9;font-weight:900;font-size:12px;text-transform:capitalize;}
.table-usuarios .perm-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333b53;font-weight:700;}
@media(max-width:900px){
  .usuarios-table-wrap{overflow-x:auto;}
  .table-usuarios{min-width:920px!important;}
  .table-usuarios th:last-child,.table-usuarios td:last-child{position:sticky;right:0;background:#fff;z-index:3;box-shadow:-8px 0 18px rgba(27,31,59,.06);}
  .table-usuarios th:last-child{background:#f7f8fe;}
}

/* V1.66 - Usuario superior visible solo para sesión superior */
.super-pill{background:#efeaff!important;color:#5542d8!important;border-color:#dcd3ff!important;font-weight:900;}
.disabled-action{opacity:.72;pointer-events:none;cursor:not-allowed;}
#superUserNotice .alert.info{margin:0;background:#eef6ff;border:1px solid #cfe4ff;color:#24527a;border-radius:16px;padding:12px 14px;font-weight:700;}


/* V1.67 licencia */
.license-banner{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 18px;border-radius:20px;border:1px solid #e5e7f2;box-shadow:0 14px 45px rgba(30,39,90,.08);font-size:14px}
.license-banner span{width:34px;height:34px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#fff}
.license-banner strong{flex:1;color:#18213d}.license-warning{background:#fff8e5;border-color:#ffe3a8}.license-danger{background:#ffecec;border-color:#ffc8c8}.license-banner-btn{background:#6c5ce7;color:#fff;text-decoration:none;padding:10px 14px;border-radius:14px;font-weight:900;white-space:nowrap}
.license-modal-card{max-width:620px}.license-form{padding:18px 22px 24px}.license-status-card{display:flex;gap:14px;align-items:center;padding:16px;border-radius:20px;margin-bottom:18px;border:1px solid #dfe5f2;background:#f7fff9}.license-status-card.expired{background:#fff0f0;border-color:#ffcaca}.license-status-card.near{background:#fff8e5;border-color:#ffe1a1}.license-status-icon{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff;font-weight:900;font-size:22px}.license-status-card strong{display:block;color:#0b1737;font-size:17px}.license-status-card small{display:block;color:#6f7890;margin-top:4px}.license-note{line-height:1.55;margin:10px 0 18px}.actions.right{justify-content:flex-end}.btn.warning{background:#ffb84d;color:#2a1b00;box-shadow:0 16px 35px rgba(255,184,77,.23)}

/* V1.73 - Login dinámico desde configuración */
.login-card-modern{width:min(500px,96vw);padding:34px 34px 30px;border-radius:30px}
.login-brand-centered{align-items:center;justify-content:center;text-align:left;margin-bottom:28px}
.login-logo-box{width:74px;height:74px;border-radius:22px;overflow:hidden;box-shadow:0 16px 36px rgba(85,91,255,.18);flex:0 0 auto}
.login-logo-box img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.login-logo-box span{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.login-title-wrap h1{font-size:27px;line-height:1.05;margin:0 0 8px;color:#151c38}
.login-title-wrap p{font-size:15px;line-height:1.35;margin:0;color:#6c758d;font-weight:800}
.login-form-clean label{display:block;margin:12px 0 7px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#4b5570;font-weight:900}
.login-form-clean input::placeholder{color:#9aa4b8}
.login-license-box{margin-top:22px;padding-top:18px;border-top:1px solid #edf0f8;text-align:center;color:#778198;font-size:13px;line-height:1.45}
.login-license-box span{display:block;font-weight:700}
.login-license-box strong{display:block;margin-top:3px;color:#1b2440;font-size:15px;font-weight:950}
.login-license-box em{display:block;margin-top:4px;color:#6e7790;font-style:normal;font-weight:700;font-size:13px}
@media(max-width:520px){.login-card-modern{padding:24px 20px}.login-brand-centered{justify-content:flex-start}.login-title-wrap h1{font-size:23px}.login-logo-box{width:64px;height:64px}}

/* V1.75 - Módulo Egresos */
.egreso-hero{align-items:center;background:linear-gradient(135deg,#ffffff,#f8fbff);border-top:5px solid transparent;border-image:linear-gradient(90deg,#6c5ce7,#1dd1a1,#ff8e53) 1;}
.egreso-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}
.section-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.section-row h3{margin:0 0 4px;font-size:22px;color:#20243d}.section-row p{margin:0;color:#737c93}
.smart-table-wrap{overflow-x:hidden}.smart-table{table-layout:fixed;width:100%}.smart-table th,.smart-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.egresos-registros-table th:nth-child(1),.egresos-registros-table td:nth-child(1){width:8%}.egresos-registros-table th:nth-child(2),.egresos-registros-table td:nth-child(2){width:9%}.egresos-registros-table th:nth-child(3),.egresos-registros-table td:nth-child(3){width:18%}.egresos-registros-table th:nth-child(4),.egresos-registros-table td:nth-child(4){width:18%}.egresos-registros-table th:nth-child(5),.egresos-registros-table td:nth-child(5){width:7%}.egresos-registros-table th:nth-child(6),.egresos-registros-table td:nth-child(6){width:10%}.egresos-registros-table th:nth-child(7),.egresos-registros-table td:nth-child(7){width:10%}.egresos-registros-table th:nth-child(8),.egresos-registros-table td:nth-child(8){width:10%}.egresos-registros-table th:nth-child(9),.egresos-registros-table td:nth-child(9){width:10%}
.egresos-catalogo-table th:nth-child(1),.egresos-catalogo-table td:nth-child(1){width:14%}.egresos-catalogo-table th:nth-child(2),.egresos-catalogo-table td:nth-child(2){width:52%}.egresos-catalogo-table th:nth-child(3),.egresos-catalogo-table td:nth-child(3){width:14%}.egresos-catalogo-table th:nth-child(4),.egresos-catalogo-table td:nth-child(4){width:20%}
.action-cell{display:flex;gap:8px;align-items:center;justify-content:flex-start;overflow:visible!important}.action-cell .btn{flex:0 0 auto;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1}.modal-egreso{max-width:720px}.modal-wide{max-width:980px}.modal-egreso .modal-head p{margin:4px 0 0;color:#778197}.td-clip{max-width:1px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 13px;background:#eef1f7;color:#536079;font-weight:900}.badge.ok{background:#dcfbef;color:#008a62}
@media(max-width:1100px){.egreso-cards{grid-template-columns:1fr}.smart-table-wrap{overflow-x:auto}.smart-table{min-width:1050px}.section-row{align-items:flex-start;flex-direction:column}}

/* V1.76 - Egresos KPI horizontal y catálogo dentro del modal */
.egreso-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px;align-items:stretch}
.egreso-kpi-card{min-height:118px;background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #e3e9f6;border-radius:22px;box-shadow:0 18px 40px rgba(29,39,88,.07);padding:20px 22px;position:relative;overflow:hidden}
.egreso-kpi-card:after{content:"";position:absolute;right:-28px;top:-34px;width:118px;height:118px;border-radius:50%;background:linear-gradient(135deg,rgba(108,92,231,.13),rgba(32,201,151,.12))}
.egreso-kpi-card span{display:block;color:#6f7890;font-weight:950;font-size:13px;letter-spacing:.03em;text-transform:uppercase;position:relative;z-index:1}
.egreso-kpi-card strong{display:block;margin-top:12px;font-size:29px;line-height:1;color:#071b49;font-weight:950;letter-spacing:-.03em;position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.egreso-kpi-card small{display:block;margin-top:10px;color:#0d1a3b;font-weight:650;position:relative;z-index:1}
.modal-catalogo-egreso{width:min(1120px,96vw);max-width:1120px;max-height:92vh;overflow:auto;padding:0}
.modal-head-elegante{padding:22px 24px;margin:0;border-bottom:1px solid #edf0f8;background:linear-gradient(135deg,#ffffff,#f7fbff);border-radius:22px 22px 0 0}
.catalogo-modal-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:18px;padding:22px}
.catalogo-form-card,.catalogo-list-card{border:1px solid #e6ebf5;background:#fff;border-radius:20px;padding:18px;box-shadow:0 14px 32px rgba(29,39,88,.05)}
.catalogo-list-card{min-width:0}.catalogo-search-row{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:end;margin-bottom:14px}.catalogo-search-row h4{margin:0 0 4px;color:#1f2438;font-size:17px}.catalogo-search-row small{color:#7a8398;font-weight:800}.catalogo-search-row input{height:44px}.catalogo-modal-table-wrap{max-height:360px;overflow:auto}.catalogo-modal-table-wrap .smart-table{min-width:620px}.catalogo-modal-table-wrap .action-cell{justify-content:flex-start}.catalogo-modal-table-wrap .btn.small{height:34px;padding:0 12px}.egresos-catalogo-table th:nth-child(1),.egresos-catalogo-table td:nth-child(1){width:16%}.egresos-catalogo-table th:nth-child(2),.egresos-catalogo-table td:nth-child(2){width:44%}.egresos-catalogo-table th:nth-child(3),.egresos-catalogo-table td:nth-child(3){width:16%}.egresos-catalogo-table th:nth-child(4),.egresos-catalogo-table td:nth-child(4){width:24%}
@media(max-width:1100px){.egreso-kpi-row{grid-template-columns:1fr}.catalogo-modal-layout{grid-template-columns:1fr}.catalogo-search-row{grid-template-columns:1fr}.modal-catalogo-egreso{width:96vw}}

/* V1.77 - Egresos: clientes en modal, estado de pago y dashboard */
.egreso-kpi-row-v177{grid-template-columns:repeat(4,minmax(0,1fr));}
.egreso-kpi-row-v177 .egreso-kpi-card{min-height:108px;padding:18px 20px;}
.egreso-kpi-row-v177 .egreso-kpi-card strong{font-size:25px;}
.egresos-registros-table-v177{min-width:1180px!important;}
.egresos-registros-table-v177 th:nth-child(1),.egresos-registros-table-v177 td:nth-child(1){width:8%}
.egresos-registros-table-v177 th:nth-child(2),.egresos-registros-table-v177 td:nth-child(2){width:9%}
.egresos-registros-table-v177 th:nth-child(3),.egresos-registros-table-v177 td:nth-child(3){width:17%}
.egresos-registros-table-v177 th:nth-child(4),.egresos-registros-table-v177 td:nth-child(4){width:16%}
.egresos-registros-table-v177 th:nth-child(5),.egresos-registros-table-v177 td:nth-child(5){width:6%}
.egresos-registros-table-v177 th:nth-child(6),.egresos-registros-table-v177 td:nth-child(6){width:9%}
.egresos-registros-table-v177 th:nth-child(7),.egresos-registros-table-v177 td:nth-child(7){width:9%}
.egresos-registros-table-v177 th:nth-child(8),.egresos-registros-table-v177 td:nth-child(8){width:9%}
.egresos-registros-table-v177 th:nth-child(9),.egresos-registros-table-v177 td:nth-child(9){width:9%}
.egresos-registros-table-v177 th:nth-child(10),.egresos-registros-table-v177 td:nth-child(10){width:18%;min-width:230px;}
.action-cell-v177{gap:7px!important;flex-wrap:nowrap!important;}
.action-cell-v177 .btn.small{height:34px;padding:0 11px;border-radius:12px;font-size:12px;display:inline-flex;align-items:center;}
.badge.warn{background:#fff4d9;color:#a76000;}
.modal-cliente-egreso-v177 .catalogo-form-card{background:linear-gradient(180deg,#ffffff,#f8fbff);}
.clientes-egreso-table{min-width:650px!important;}
.clientes-egreso-table th:nth-child(1),.clientes-egreso-table td:nth-child(1){width:16%}
.clientes-egreso-table th:nth-child(2),.clientes-egreso-table td:nth-child(2){width:43%}
.clientes-egreso-table th:nth-child(3),.clientes-egreso-table td:nth-child(3){width:18%}
.clientes-egreso-table th:nth-child(4),.clientes-egreso-table td:nth-child(4){width:23%;min-width:170px;}
.egresos-dashboard-card-v177{background:linear-gradient(145deg,#ffffff,#f8fbff);}
.egreso-dash-amount-v177{font-size:31px;font-weight:950;color:#071b49;letter-spacing:-.04em;margin:14px 0 18px;}
.egreso-split-v177 span{min-width:0;}
.egreso-split-v177 b{font-size:18px;}
@media(max-width:1200px){.egreso-kpi-row-v177{grid-template-columns:repeat(2,minmax(0,1fr));}.dashboard-grid-v158{grid-template-columns:1fr!important;}}
@media(max-width:700px){.egreso-kpi-row-v177{grid-template-columns:1fr}.egresos-registros-table-v177{min-width:1220px!important;}}

/* V1.78 - Egresos: buscadores, reportes y avances de clientes */
.egreso-kpi-row-v178{grid-template-columns:repeat(4,minmax(0,1fr));}
.egreso-date-actions-v178{align-items:center;gap:10px;flex-wrap:wrap;}
.egreso-toolbar-v178{align-items:center;}
.egreso-avances-grid-v178{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
.mini-head-v178{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px;}
.mini-head-v178 h4{margin:0;color:#1f2438;font-size:18px}.mini-head-v178 span{font-weight:900;color:#7b8499;font-size:13px}
.compact-table-wrap-v178{max-height:420px;overflow:auto;}
.avances-cliente-table-v178,.pagos-avance-table-v178{min-width:980px!important;}
.avances-cliente-table-v178 th:nth-child(1),.avances-cliente-table-v178 td:nth-child(1){width:10%}
.avances-cliente-table-v178 th:nth-child(2),.avances-cliente-table-v178 td:nth-child(2){width:24%}
.avances-cliente-table-v178 th:nth-child(3),.avances-cliente-table-v178 td:nth-child(3){width:11%}
.avances-cliente-table-v178 th:nth-child(4),.avances-cliente-table-v178 td:nth-child(4){width:13%}
.avances-cliente-table-v178 th:nth-child(5),.avances-cliente-table-v178 td:nth-child(5){width:13%}
.avances-cliente-table-v178 th:nth-child(6),.avances-cliente-table-v178 td:nth-child(6){width:13%}
.avances-cliente-table-v178 th:nth-child(7),.avances-cliente-table-v178 td:nth-child(7){width:16%;min-width:185px}
.pagos-avance-table-v178 th:nth-child(1),.pagos-avance-table-v178 td:nth-child(1){width:12%}
.pagos-avance-table-v178 th:nth-child(2),.pagos-avance-table-v178 td:nth-child(2){width:25%}
.pagos-avance-table-v178 th:nth-child(3),.pagos-avance-table-v178 td:nth-child(3){width:12%}
.pagos-avance-table-v178 th:nth-child(4),.pagos-avance-table-v178 td:nth-child(4){width:14%}
.pagos-avance-table-v178 th:nth-child(5),.pagos-avance-table-v178 td:nth-child(5){width:25%}
.pagos-avance-table-v178 th:nth-child(6),.pagos-avance-table-v178 td:nth-child(6){width:12%;min-width:115px}
.egreso-report-v178{background:#fff;border:1px solid #e6ebf5;border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(29,39,88,.07)}
.report-head-v178{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.report-head-v178 h2{margin:0 0 6px;color:#151c38}.report-head-v178 p{margin:3px 0;color:#68728a}
.egreso-report-kpis-v178{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.egreso-report-kpis-v178 div{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e6ebf5;border-radius:18px;padding:14px}.egreso-report-kpis-v178 span{display:block;color:#6f7890;font-weight:900;font-size:12px;text-transform:uppercase}.egreso-report-kpis-v178 strong{display:block;margin-top:7px;color:#071b49;font-size:22px;font-weight:950}
.egreso-print-table-v178{min-width:1050px!important}.egreso-split-v178{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1200px){.egreso-avances-grid-v178{grid-template-columns:1fr}.egreso-kpi-row-v178{grid-template-columns:repeat(2,minmax(0,1fr));}.egreso-report-kpis-v178{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.egreso-kpi-row-v178,.egreso-report-kpis-v178{grid-template-columns:1fr}.egreso-toolbar-v178{align-items:flex-start;flex-direction:column}.egreso-date-actions-v178{width:100%;justify-content:flex-start}.egreso-date-actions-v178 input{width:100%}}


/* V1.79 - Egresos reorganizado y modulo nomina retirado */
.egreso-kpi-row-v179{margin-top:0;margin-bottom:16px;}
.egreso-hero-v179{margin-bottom:14px;}
.egreso-menu-v179{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0 0 18px;}
.egreso-menu-card{border:1px solid #e5ebf7;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:20px;padding:15px 14px;text-align:left;box-shadow:0 16px 34px rgba(29,39,88,.07);cursor:pointer;transition:.18s ease;min-height:104px;color:#14203f;}
.egreso-menu-card:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(29,39,88,.11);border-color:#d6def0;}
.egreso-menu-card span{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eef3ff;margin-bottom:9px;font-size:18px;}
.egreso-menu-card b{display:block;font-size:15px;font-weight:950;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.egreso-menu-card small{display:block;margin-top:4px;color:#748097;font-weight:750;font-size:12px;line-height:1.25;}
.egreso-menu-card.primary{background:linear-gradient(135deg,#23c98d,#16b982);color:#fff;border-color:transparent;}
.egreso-menu-card.primary span{background:rgba(255,255,255,.22)}
.egreso-menu-card.primary small{color:rgba(255,255,255,.88)}
.egresos-registros-table-v177 th:nth-child(10),.egresos-registros-table-v177 td:nth-child(10){width:20%;min-width:260px;}
.egresos-registros-table-v177 .action-cell{justify-content:flex-start;}
@media(max-width:1300px){.egreso-menu-v179{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:700px){.egreso-menu-v179{grid-template-columns:1fr}.egreso-menu-card{min-height:auto}.egreso-kpi-row-v179{grid-template-columns:1fr!important}}


/* V1.80 - Menú desplegable elegante para módulo Egresos */
.egreso-toolbar-menu-v180{display:flex;align-items:center;justify-content:flex-start;margin:0 0 18px;position:relative;z-index:8;}
.egreso-dropdown-v180{position:relative;width:min(420px,100%);}
.egreso-dropdown-trigger-v180{width:100%;border:1px solid #dfe7f5;background:linear-gradient(135deg,#ffffff,#f6f9ff);border-radius:20px;padding:13px 15px;display:flex;align-items:center;gap:13px;box-shadow:0 18px 42px rgba(29,39,88,.09);cursor:pointer;color:#15213f;text-align:left;transition:.18s ease;}
.egreso-dropdown-trigger-v180:hover{transform:translateY(-1px);border-color:#cdd9ef;box-shadow:0 22px 48px rgba(29,39,88,.12)}
.egreso-trigger-icon-v180{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#23c98d,#16b982);color:white;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;flex:0 0 auto;}
.egreso-dropdown-trigger-v180 b{display:block;font-size:15px;font-weight:950;letter-spacing:-.01em;}
.egreso-dropdown-trigger-v180 small{display:block;color:#738098;font-size:12px;font-weight:750;margin-top:3px;}
.egreso-trigger-arrow-v180{margin-left:auto;width:30px;height:30px;border-radius:10px;background:#edf3ff;color:#50627f;display:flex;align-items:center;justify-content:center;font-size:18px;transition:.18s ease;}
.egreso-dropdown-v180.open .egreso-trigger-arrow-v180{transform:rotate(180deg);background:#e2f8ef;color:#0d9368;}
.egreso-dropdown-list-v180{position:absolute;top:calc(100% + 10px);left:0;width:100%;background:rgba(255,255,255,.98);border:1px solid #e2e9f5;border-radius:22px;padding:10px;box-shadow:0 28px 70px rgba(29,39,88,.18);display:none;backdrop-filter:blur(10px);overflow:hidden;}
.egreso-dropdown-v180.open .egreso-dropdown-list-v180{display:block;animation:egresoMenuDownV180 .16s ease-out;}
@keyframes egresoMenuDownV180{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.egreso-dropdown-item-v180{width:100%;border:0;background:transparent;border-radius:16px;padding:11px 12px;display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer;color:#15213f;transition:.15s ease;}
.egreso-dropdown-item-v180:hover{background:#f3f7ff;transform:translateX(2px)}
.egreso-dropdown-item-v180 span{width:38px;height:38px;border-radius:14px;background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto;}
.egreso-dropdown-item-v180 b{display:block;font-size:14px;font-weight:950;}
.egreso-dropdown-item-v180 small{display:block;font-size:12px;color:#77849b;font-weight:750;margin-top:2px;line-height:1.2;}
.egreso-dropdown-item-v180.primary{background:linear-gradient(135deg,#23c98d,#16b982);color:#fff;margin-bottom:6px;}
.egreso-dropdown-item-v180.primary span{background:rgba(255,255,255,.22)}
.egreso-dropdown-item-v180.primary small{color:rgba(255,255,255,.88)}
.egreso-dropdown-item-v180.primary:hover{filter:brightness(.99);transform:translateX(2px)}
@media(max-width:700px){.egreso-toolbar-menu-v180{justify-content:stretch}.egreso-dropdown-v180{width:100%}.egreso-dropdown-list-v180{position:relative;top:8px}}

/* V1.81 - Egresos: menú integrado en encabezado de registros */
.egreso-toolbar-v181{
  align-items:center!important;
  gap:20px;
  margin-bottom:18px;
}
.egreso-title-v181{
  min-width:260px;
  flex:1 1 auto;
}
.egreso-header-actions-v181{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:0 0 auto;
  max-width:100%;
}
.egreso-date-actions-v181{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}
.egreso-date-actions-v181 label{
  color:#6f7890;
  font-size:12px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.egreso-date-actions-v181 input{
  width:155px;
  height:46px;
  border-radius:15px;
}
.egreso-toolbar-menu-v181{
  margin:0!important;
  justify-content:flex-end!important;
  z-index:20;
}
.egreso-toolbar-menu-v181 .egreso-dropdown-v180{
  width:360px;
}
.egreso-toolbar-menu-v181 .egreso-dropdown-trigger-v180{
  min-height:52px;
  padding:8px 11px;
  border-radius:18px;
  box-shadow:0 14px 34px rgba(29,39,88,.08);
}
.egreso-toolbar-menu-v181 .egreso-trigger-icon-v180{
  width:38px;
  height:38px;
  border-radius:14px;
}
.egreso-toolbar-menu-v181 .egreso-dropdown-trigger-v180 b{
  font-size:14px;
}
.egreso-toolbar-menu-v181 .egreso-dropdown-trigger-v180 small{
  font-size:11.5px;
}
.egreso-toolbar-menu-v181 .egreso-dropdown-list-v180{
  left:auto;
  right:0;
  width:390px;
  z-index:100;
}
@media(max-width:1100px){
  .egreso-toolbar-v181{align-items:flex-start!important;flex-direction:column;}
  .egreso-header-actions-v181{width:100%;justify-content:space-between;}
  .egreso-toolbar-menu-v181 .egreso-dropdown-v180{width:min(390px,100vw - 52px);}
}
@media(max-width:700px){
  .egreso-header-actions-v181{flex-direction:column;align-items:stretch;}
  .egreso-date-actions-v181{width:100%;}
  .egreso-date-actions-v181 input{width:100%;}
  .egreso-toolbar-menu-v181{width:100%;}
  .egreso-toolbar-menu-v181 .egreso-dropdown-v180{width:100%;}
  .egreso-toolbar-menu-v181 .egreso-dropdown-list-v180{position:relative;right:auto;width:100%;}
}


/* V1.82 - Egresos: observación, usuario oculto y avances con formato tipo clientes */
.egresos-registros-table-v177 th:nth-child(9),.egresos-registros-table-v177 td:nth-child(9){width:15%;max-width:220px;}
.egresos-registros-table-v177 th:nth-child(10),.egresos-registros-table-v177 td:nth-child(10){width:20%;min-width:245px;}
.modal-avance-cliente-v182{width:min(1180px,96vw);max-width:1180px;max-height:92vh;overflow:auto;}
.avances-cliente-table-v182{min-width:900px!important;}
.avances-cliente-table-v182 th:nth-child(1),.avances-cliente-table-v182 td:nth-child(1){width:10%}
.avances-cliente-table-v182 th:nth-child(2),.avances-cliente-table-v182 td:nth-child(2){width:26%}
.avances-cliente-table-v182 th:nth-child(3),.avances-cliente-table-v182 td:nth-child(3){width:11%}
.avances-cliente-table-v182 th:nth-child(4),.avances-cliente-table-v182 td:nth-child(4){width:13%}
.avances-cliente-table-v182 th:nth-child(5),.avances-cliente-table-v182 td:nth-child(5){width:13%}
.avances-cliente-table-v182 th:nth-child(6),.avances-cliente-table-v182 td:nth-child(6){width:12%}
.avances-cliente-table-v182 th:nth-child(7),.avances-cliente-table-v182 td:nth-child(7){width:15%;min-width:165px;}
textarea{width:100%;border:1px solid #dce3f2;border-radius:16px;padding:13px 15px;font-family:inherit;font-size:15px;resize:vertical;outline:none;background:#fff;}
textarea:focus{border-color:#7465ff;box-shadow:0 0 0 4px rgba(116,101,255,.12)}
@media(max-width:1100px){.modal-avance-cliente-v182 .catalogo-modal-layout{grid-template-columns:1fr}}
/* V1.83 - Iconos, acciones compactas y captura continua en egresos */
.action-icons-v183{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-width:128px}.icon-action{width:31px;height:31px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font-size:15px;line-height:1;box-shadow:0 4px 12px rgba(15,23,42,.06);transition:.16s ease}.icon-action:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.12)}.icon-action.print{background:#eef6ff;border-color:#bfdbfe}.icon-action.edit{background:#fff7ed;border-color:#fed7aa}.icon-action.ok{background:#ecfdf5;border-color:#bbf7d0}.icon-action.money{background:#f0fdf4;border-color:#bbf7d0}.icon-action.danger{background:#fff1f2;border-color:#fecdd3}.table .action-icons-v183 .icon-action{color:#111827}.egresos-registros-table .action-cell{width:142px}.egresos-catalogo-table .action-cell,.clientes-egreso-table .action-cell,.avances-cliente-table-v182 .action-cell{width:96px}.modal-egreso .actions .btn{min-width:120px}

/* V1.90: vista previa más grande con control de zoom y modal de recogedores */
.preview-panel iframe#facturaFrame{height:78vh;min-height:640px;background:#fff;}
.preview-actions{gap:7px;justify-content:flex-end;}
.zoom-pill{display:inline-flex;align-items:center;justify-content:center;height:32px;min-width:58px;padding:0 10px;border-radius:999px;background:#f3f5fb;color:#384057;font-weight:900;border:1px solid #dfe4f1;font-size:12px;}
.form-hint{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:700;}
.modal-recogedor{width:min(860px,96vw);}
.modal-form-compact{grid-template-columns:1fr 1.4fr;gap:12px;}
.c-recogedor{min-width:130px;}
@media(max-width:900px){.preview-panel iframe#facturaFrame{height:68vh;min-height:520px}.preview-actions{justify-content:flex-start;margin-top:10px}.modal-form-compact{grid-template-columns:1fr;}}


/* V1.91: zoom predeterminado 150% y botones Proveedores en una sola línea */
.proveedores-head-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  align-items:end!important;
  justify-content:flex-end!important;
  white-space:nowrap!important;
}
.proveedores-head-actions .btn{
  min-width:132px;
  width:auto!important;
  height:44px;
}
.module-head .inline-search .proveedores-head-actions{margin-top:0!important;}
@media(max-width:1100px){
  .module-head .inline-search{
    grid-template-columns:1fr 1fr auto!important;
    width:100%;
    margin-left:0;
  }
  .proveedores-head-actions{align-self:end;}
}
@media(max-width:720px){
  .module-head .inline-search{grid-template-columns:1fr!important;}
  .proveedores-head-actions{justify-content:flex-start!important;}
  .proveedores-head-actions .btn{flex:1;min-width:0;}
}


/* V1.92: modal de recogedores más legible y filtro por recogedor en reportes */
.report-search-v14{grid-template-columns:minmax(240px,1.6fr) 135px 145px 210px 145px 145px auto;}
.client-card-recogedor{display:block;margin-top:4px;color:#465268;font-size:11px;font-style:normal;font-weight:900;background:#f3f5fb;border:1px solid #e2e7f3;border-radius:999px;padding:4px 8px;width:max-content;max-width:100%;}
.modal-recogedor{width:min(980px,98vw);max-height:92vh;display:flex;flex-direction:column;}
.modal-recogedor .modal-head{flex:0 0 auto;}
.modal-recogedor .modal-form-compact{flex:0 0 auto;align-items:end;}
.recogedores-list-wrap{flex:1 1 auto;max-height:52vh;overflow:auto;border-radius:18px;}
.recogedores-table{min-width:720px!important;table-layout:fixed;}
.recogedores-table th,.recogedores-table td{vertical-align:middle;}
.recogedores-table .col-codigo{width:95px;text-align:center;}
.recogedores-table .col-ruta{width:28%;font-weight:850;white-space:normal;word-break:break-word;}
.recogedores-table .col-recogedor{width:38%;font-weight:850;white-space:normal;word-break:break-word;}
.recogedores-table .col-acciones{width:190px;text-align:center;}
.codigo-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;padding:0 10px;border-radius:999px;background:#eef1ff;color:#4f46e5;font-weight:950;border:1px solid #dfe4ff;}
.recogedor-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex-wrap:nowrap!important;}
.recogedor-actions form{margin:0;display:inline-flex;}
.recogedor-actions .btn.small{min-width:72px;height:34px;}
@media(max-width:1100px){.report-search-v14{grid-template-columns:1fr 1fr!important}.avance-report-slot{grid-column:1/-1}.modal-recogedor{width:98vw}.recogedores-table{min-width:650px!important}}
@media(max-width:720px){.report-search-v14{grid-template-columns:1fr!important}.recogedores-list-wrap{max-height:48vh}.recogedor-actions{gap:6px!important}.recogedor-actions .btn.small{min-width:66px;padding:0 9px}}

/* V1.93: ajustes módulo recogedores */
.modal-recogedor{width:min(1120px,99vw)!important;max-height:94vh!important;}
.recogedor-search-box{display:grid;gap:6px;margin:12px 0 4px 0;}
.recogedor-search-box label{font-size:12px;font-weight:900;color:#334155;}
.recogedor-search-box input{width:100%;height:42px;border:1px solid #cfd8e3;border-radius:12px;padding:0 14px;font-size:14px;outline:none;background:#fff;}
.recogedor-search-box input:focus{border-color:#7aa7d9;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.recogedores-list-wrap{max-height:56vh!important;overflow:auto!important;}
.recogedores-table{min-width:900px!important;table-layout:fixed!important;}
.recogedores-table th,.recogedores-table td{padding:11px 12px!important;}
.recogedores-table .col-codigo{width:90px!important;text-align:center!important;}
.recogedores-table .col-ruta{width:25%!important;}
.recogedores-table .col-recogedor{width:auto!important;}
.recogedores-table .col-acciones{width:245px!important;text-align:center!important;}
.recogedor-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;flex-wrap:nowrap!important;min-width:225px!important;}
.recogedor-actions form{margin:0!important;display:inline-flex!important;}
.recogedor-actions .btn.small{min-width:100px!important;height:36px!important;padding:0 12px!important;white-space:nowrap!important;}
@media(max-width:760px){
  .modal-recogedor{width:99vw!important;padding:14px!important;}
  .recogedores-table{min-width:780px!important;}
  .recogedores-table .col-acciones{width:220px!important;}
  .recogedor-actions{min-width:205px!important;gap:8px!important;}
  .recogedor-actions .btn.small{min-width:92px!important;font-size:12px!important;}
}

/* V1.94: cantidades sin decimales y modal Recogedores ajustado */
.modal-recogedor{
  width:min(1040px,98vw)!important;
  max-height:92vh!important;
  padding:16px!important;
  overflow:hidden!important;
}
.recogedor-modal-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.recogedor-modal-head h3{margin:0!important;line-height:1.1!important;}
.recogedor-modal-head p{margin:3px 0 0 0!important;font-size:12px!important;color:#64748b!important;}
.recogedor-toolbar{
  display:grid!important;
  grid-template-columns: 190px minmax(280px,1fr) 190px!important;
  gap:10px!important;
  align-items:end!important;
  margin:0 0 10px 0!important;
}
.recogedor-toolbar label,
.recogedor-search-line label{font-size:12px!important;font-weight:900!important;color:#334155!important;margin-bottom:4px!important;display:block!important;}
.recogedor-toolbar input,
.recogedor-search-line input{
  width:100%!important;
  height:40px!important;
  border:1px solid #cfd8e3!important;
  border-radius:12px!important;
  padding:0 12px!important;
  font-size:14px!important;
  outline:none!important;
  background:#fff!important;
}
.recogedor-toolbar input:focus,
.recogedor-search-line input:focus{border-color:#7aa7d9!important;box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;}
.recogedor-toolbar-actions{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;white-space:nowrap!important;}
.recogedor-toolbar-actions .btn{height:40px!important;padding:0 14px!important;min-width:82px!important;}
.recogedor-search-line{
  display:grid!important;
  grid-template-columns:70px minmax(260px,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 8px 0!important;
}
.recogedor-search-line label{margin:0!important;}
.recogedores-list-wrap{
  max-height:50vh!important;
  overflow:auto!important;
  border-radius:16px!important;
}
.recogedores-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}
.recogedores-table th,
.recogedores-table td{
  padding:9px 10px!important;
  vertical-align:middle!important;
  line-height:1.2!important;
}
.recogedores-table .col-codigo{width:78px!important;text-align:center!important;}
.recogedores-table .col-ruta{width:24%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.recogedores-table .col-recogedor{width:auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.recogedores-table .col-acciones{width:188px!important;text-align:center!important;overflow:visible!important;}
.recogedor-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}
.recogedor-actions form{margin:0!important;display:inline-flex!important;}
.recogedor-actions .btn.small{
  min-width:78px!important;
  height:32px!important;
  padding:0 9px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .modal-recogedor{width:99vw!important;padding:12px!important;}
  .recogedor-toolbar{grid-template-columns:1fr!important;gap:8px!important;}
  .recogedor-toolbar-actions{justify-content:stretch!important;}
  .recogedor-toolbar-actions .btn{flex:1!important;}
  .recogedor-search-line{grid-template-columns:1fr!important;gap:5px!important;}
  .recogedores-table{min-width:620px!important;}
  .recogedores-list-wrap{max-height:46vh!important;}
}


/* V1.95: indicador de avances pendientes en reportes */
.avance-status{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:12px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid #e5e7eb}
.avance-status.has-avance{background:#fff7ed;color:#c2410c;border-color:#fed7aa}
.avance-status.no-avance{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.avance-status.checking{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.avance-status.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.client-card-avance{display:block;margin-top:5px;font-weight:800;font-size:12px}
.client-card-avance.has-avance{color:#c2410c}
.client-card-avance.no-avance{color:#047857}
@media(max-width:900px){.preview-actions{gap:6px}.avance-status{width:100%;white-space:normal}}

/* V1.97: botón AVANCE más compacto en Reporte de pago */
.report-search-v14{
  grid-template-columns:minmax(240px,1.6fr) 135px 145px 210px 145px 145px 112px!important;
}
.avance-report-slot{
  max-width:112px!important;
  width:112px!important;
  justify-self:end!important;
}
.avance-pulse{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  height:54px!important;
  min-height:54px!important;
  padding:5px 8px!important;
  font-size:10.5px!important;
  line-height:1.08!important;
  border-radius:14px!important;
}
.avance-pulse strong{
  font-size:12px!important;
  line-height:1.05!important;
  word-break:keep-all!important;
}
@media(max-width:1100px){
  .avance-report-slot{grid-column:auto!important;width:112px!important;max-width:112px!important;justify-self:end!important;}
  .avance-pulse{width:112px!important;min-width:112px!important;max-width:112px!important;}
}
@media(max-width:720px){
  .avance-report-slot{width:100%!important;max-width:none!important;justify-self:stretch!important;}
  .avance-pulse{width:100%!important;max-width:none!important;min-width:0!important;height:50px!important;min-height:50px!important;font-size:10.5px!important;}
  .avance-pulse strong{font-size:12px!important;}
}

/* V1.98 - Módulo Proceso / Cuajadas */
.proceso-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.proceso-hero h2{margin:0;font-size:26px;font-weight:900;color:#111936}
.proceso-hero p{margin:6px 0 0;color:#65708a;font-weight:700}
.proceso-resumenes{grid-template-columns:repeat(4,minmax(150px,1fr));min-width:min(760px,100%)}
.proceso-panel{padding:18px}
.proceso-form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.proceso-form label,.proceso-filtro label{display:block;font-size:12px;font-weight:900;color:#526078;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
.proceso-form input,.proceso-filtro input{width:100%;border:1px solid #dfe5f2;border-radius:14px;padding:12px 13px;font-weight:900;color:#121331;background:#fff;box-sizing:border-box}
.proceso-form input[readonly]{background:#f5f7fc;color:#44506a}
.proceso-actions{display:flex;gap:8px;white-space:nowrap}.proceso-actions .btn{min-height:43px}
.proceso-filtro{grid-template-columns:220px minmax(260px,1fr) auto}.proceso-table-wrap{max-height:62vh}.table-proceso th,.table-proceso td{white-space:nowrap}.proceso-row-actions{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.proceso-row-actions form{margin:0}
@media(max-width:1100px){.proceso-form{grid-template-columns:1fr 1fr 1fr}.proceso-actions{grid-column:1/-1}.proceso-resumenes{grid-template-columns:repeat(2,minmax(140px,1fr));min-width:100%}}
@media(max-width:700px){.proceso-form,.proceso-filtro{grid-template-columns:1fr}.proceso-hero h2{font-size:22px}.proceso-resumenes{grid-template-columns:1fr}.table-proceso th,.table-proceso td{font-size:12px;padding:8px}}

/* V1.99 Proceso: registro de cuajada en modal y promedio con 1 decimal */
.proceso-toolbar{display:grid;grid-template-columns:240px auto;gap:14px;align-items:end}
.proceso-toolbar label{display:block;font-size:12px;font-weight:900;color:#526078;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
.proceso-toolbar input{width:100%;border:1px solid #dfe5f2;border-radius:14px;padding:12px 13px;font-weight:900;color:#121331;background:#fff;box-sizing:border-box}
.proceso-toolbar-actions{justify-content:flex-end}.proceso-toolbar-actions .btn{height:46px;padding-left:22px;padding-right:22px}
.proceso-modal-card{width:min(1180px,97vw);max-height:90vh;overflow:auto;border-radius:24px;padding:24px}
.proceso-modal-head{border-bottom:1px dashed #cbd7f0;padding-bottom:14px;margin-bottom:16px}.proceso-modal-head small{display:block;margin-top:4px;color:var(--muted);font-weight:750}
.proceso-form-modal{display:grid;grid-template-columns:1.25fr 1.25fr 210px 190px 220px auto;gap:14px;align-items:end;background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:0}
.proceso-form-modal label{display:block;font-size:12px;font-weight:900;color:#526078;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
.proceso-campo-principal input{background:#fff}.proceso-campo-principal label{color:#3f4e6d}
.proceso-form-modal input{width:100%;height:48px;border:1px solid #dfe5f2;border-radius:14px;padding:12px 14px;font-weight:900;color:#121331;background:#fff;box-sizing:border-box}
.proceso-form-modal input[readonly]{background:#f5f7fc;color:#44506a}.proceso-modal-actions{display:flex;gap:10px;align-items:end;justify-content:flex-start;min-width:max-content}.proceso-modal-actions .btn{height:48px;padding:0 18px}
@media(max-width:1180px){.proceso-form-modal{grid-template-columns:1fr 1fr}.proceso-modal-actions{grid-column:1/-1}.proceso-modal-actions .btn{flex:1}}
@media(max-width:700px){.proceso-toolbar{grid-template-columns:1fr}.proceso-toolbar-actions .btn{width:100%}.proceso-form-modal{grid-template-columns:1fr}.proceso-modal-actions{flex-direction:column;align-items:stretch}.proceso-modal-actions .btn{width:100%}}


/* V2.00 Proceso: resumen últimos 7 días sin tarjetas superiores */
.proceso-ultimos-panel{padding:18px;border-radius:24px;margin-bottom:16px}
.proceso-ultimos-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px}
.proceso-dia-card{border:1px solid #e3e9f5;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.05);padding:13px}
.proceso-dia-fecha{display:block;font-size:12px;font-weight:950;color:#44506a;margin-bottom:10px}
.proceso-dia-valores{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.proceso-dia-valores small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#7a8499;font-weight:900}
.proceso-dia-valores strong{display:block;font-size:20px;line-height:1.05;color:#111936;font-weight:950;margin-top:2px}
.proceso-dia-valores em{display:block;font-style:normal;font-size:11px;color:#526078;font-weight:850;margin-top:4px}
@media(max-width:1200px){.proceso-ultimos-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}}
@media(max-width:720px){.proceso-ultimos-grid{grid-template-columns:1fr 1fr}.proceso-dia-valores strong{font-size:18px}}
@media(max-width:460px){.proceso-ultimos-grid{grid-template-columns:1fr}}

/* V2.01 Proceso: valor del día con promedio de 7 días debajo */
.proceso-resumenes-7dias{margin-bottom:16px;grid-template-columns:repeat(4,minmax(170px,1fr))}
.proceso-stat-card strong{margin-top:8px;margin-bottom:4px}
.proceso-stat-card .prom-7{display:block;color:#56627a;font-weight:900;font-size:12px;letter-spacing:.01em;position:relative;z-index:1}
@media(max-width:1050px){.proceso-resumenes-7dias{grid-template-columns:repeat(2,minmax(170px,1fr))}}
@media(max-width:560px){.proceso-resumenes-7dias{grid-template-columns:1fr}}

/* V2.05 Ventas: clientes y artículos dentro de modales */
.modal-wide{width:min(1100px,96vw);max-height:92vh;overflow:auto}
.modal-list-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:18px 0 10px;border-top:1px solid var(--line);padding-top:16px}
.modal-list-head h4{margin:0;font-size:16px;font-weight:950;color:#111936}
.modal-list-head input{width:min(360px,100%);height:44px;border:1px solid var(--line);border-radius:14px;padding:0 14px;font-weight:800;background:#fff}
.modal-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:18px}
.modal-table-wrap .table{min-width:760px!important}
.modal-table-wrap .table td.actions-table{width:190px!important;min-width:190px!important}
@media(max-width:700px){.modal-list-head{display:block}.modal-list-head input{margin-top:10px;width:100%}.modal-wide{width:98vw;padding:14px}}

/* V2.06 Ventas: modales limpios, compactos y responsivos */
.venta-modal-card{width:min(900px,94vw);max-height:88vh;overflow:auto;padding:20px;border-radius:22px}
.venta-modal-card .modal-head{align-items:flex-start;border-bottom:1px dashed #dfe5f2;padding-bottom:12px;margin-bottom:14px}
.venta-modal-card .modal-head p{margin:4px 0 0;color:var(--muted);font-weight:700;font-size:13px;line-height:1.35}
.venta-modal-card form{background:#fbfcff;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:12px}
.venta-modal-card .grid{grid-template-columns:180px 180px minmax(0,1fr);gap:12px;align-items:end}
.venta-modal-card .grid .full{grid-column:auto}
.venta-modal-card input{height:42px;border-radius:13px;font-weight:800}
.venta-nombre-input,.venta-producto-input{font-size:17px!important;font-weight:900!important;color:#101936!important}
.venta-modal-actions{justify-content:flex-end;margin-top:12px!important}
.venta-modal-actions .btn{height:40px;padding:0 16px;border-radius:13px}
.venta-modal-card .modal-list-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:end;gap:12px;margin:12px 0 9px;padding-top:12px}
.venta-modal-card .modal-list-head h4{font-size:15px;margin:0}
.venta-modal-card .modal-list-head input{width:100%;height:40px}
.venta-modal-card .modal-table-wrap{max-height:300px;overflow-y:auto;overflow-x:hidden;border-radius:16px}
.venta-modal-card .modal-table-wrap .table{min-width:0!important;width:100%;table-layout:fixed}
.venta-modal-table th,.venta-modal-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px 9px!important}
.clientes-venta-modal-table th:nth-child(1),.clientes-venta-modal-table td:nth-child(1){width:17%}
.clientes-venta-modal-table th:nth-child(2),.clientes-venta-modal-table td:nth-child(2){width:45%}
.clientes-venta-modal-table th:nth-child(3),.clientes-venta-modal-table td:nth-child(3){width:18%}
.clientes-venta-modal-table th:nth-child(4),.clientes-venta-modal-table td:nth-child(4){width:20%}
.articulos-venta-modal-table th:nth-child(1),.articulos-venta-modal-table td:nth-child(1){width:15%}
.articulos-venta-modal-table th:nth-child(2),.articulos-venta-modal-table td:nth-child(2){width:48%}
.articulos-venta-modal-table th:nth-child(3),.articulos-venta-modal-table td:nth-child(3){width:17%}
.articulos-venta-modal-table th:nth-child(4),.articulos-venta-modal-table td:nth-child(4){width:20%}
.venta-product-name{font-size:16px;font-weight:950;color:#111936;text-transform:uppercase}
.venta-client-name{font-weight:900;color:#111936;text-transform:uppercase}
.venta-code-cell{font-weight:900;color:#47506a}
.venta-money-cell{font-weight:950;color:#0f766e}
.venta-modal-table .actions-table{display:flex!important;align-items:center;justify-content:flex-start;gap:8px;min-width:0!important;width:auto!important}
.venta-modal-table .actions-table form{display:inline-flex;margin:0}
.venta-modal-table .icon-action{flex:0 0 32px;width:32px;height:32px}
@media(max-width:820px){
  .venta-modal-card{width:96vw;padding:16px;max-height:90vh}
  .venta-modal-card .grid{grid-template-columns:1fr 1fr}
  .venta-modal-card .grid .full{grid-column:1/-1}
  .venta-modal-card .modal-list-head{grid-template-columns:1fr}
}
@media(max-width:560px){
  .venta-modal-card{width:98vw;padding:12px;border-radius:18px}
  .venta-modal-card .grid{grid-template-columns:1fr}
  .venta-modal-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .venta-modal-actions .btn{width:100%}
  .venta-modal-card .modal-table-wrap{overflow-x:auto}
  .venta-modal-card .modal-table-wrap .table{min-width:650px!important}
}

/* Ajustes ventas: cliente escribible, foco cantidad, acciones factura */
.center-input{ text-align:center; font-weight:700; }
.venta-daily-actions{ display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.venta-daily-actions form{ margin:0; display:inline-flex; }
#venta_cliente_text{ width:100%; }
@media(max-width:780px){
  .venta-daily-actions{ justify-content:flex-start; margin-top:10px; }
  .venta-daily-actions .btn{ padding:8px 10px; }
}

/* V2.08: venta dentro de modal conservando el formulario original */
.ventas-layout-single{grid-template-columns:1fr!important;}
.venta-principal-modal-card{width:min(1280px,97vw);max-height:92vh;overflow:auto;padding:20px;border-radius:24px;}
.venta-principal-modal-card .modal-head{border-bottom:1px dashed #dfe5f2;padding-bottom:12px;margin-bottom:14px;}
.venta-panel-in-modal{box-shadow:none;margin-bottom:0;border-radius:18px;background:#fff;}
.venta-save-result{align-items:center;justify-content:space-between;gap:12px;background:#ecfff8;border:1px solid #b9f2df;color:#075f48;border-radius:16px;padding:12px 14px;margin-bottom:12px;font-weight:900;}
.venta-save-result small{display:block;color:#447466;font-weight:700;margin-top:3px;}
@media(max-width:900px){.venta-principal-modal-card{width:98vw;padding:12px}.venta-save-result{display:block!important}.venta-save-result .btn{margin-top:10px;width:100%}}

/* Ajustes V2.09: modal registrar egreso */
.input-readonly-total{
  background:#eef1f5!important;
  color:#6b7280!important;
  font-weight:700!important;
  cursor:not-allowed!important;
  border-color:#d1d5db!important;
}
.input-readonly-total:focus{
  outline:none!important;
  box-shadow:none!important;
  border-color:#d1d5db!important;
}
#registroEgresoModal .modal-card{
  max-width:900px;
}
#registroEgresoModal .grid{
  align-items:end;
}

/* V2.10: registro de egresos dentro del modal Registrar egreso */
.egreso-main-panel-v210{padding:18px 20px;border-radius:22px}
.btn-registro-egreso-v210{height:46px;padding:0 20px;border-radius:14px;font-weight:950;white-space:nowrap}
.modal-registro-egreso-v210{width:min(1360px,98vw);max-height:92vh;overflow:hidden;padding:18px;border-radius:24px}
.modal-registro-egreso-v210 .modal-head{padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed #dfe5f2}
.registro-egreso-layout-v210{display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr);gap:16px;align-items:stretch}
.registro-egreso-form-v210,.registro-egreso-list-v210{background:#fbfcff;border:1px solid #e6ecf5;border-radius:20px;padding:15px;box-shadow:0 12px 28px rgba(16,24,40,.06)}
.registro-egreso-form-v210{align-self:start}
.registro-form-grid-v210{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;align-items:end}
.registro-form-grid-v210 .span-2-v210{grid-column:span 2}
.registro-form-grid-v210 .span-3-v210{grid-column:1/-1}
.registro-form-grid-v210 label,.registro-date-search-v210 label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#59657a;font-weight:950;margin-bottom:5px}
.registro-form-grid-v210 input,.registro-form-grid-v210 select,.registro-form-grid-v210 textarea,.registro-date-search-v210 input{width:100%;border:1px solid #dbe3ef;border-radius:13px;background:#fff;font-weight:800;color:#142033}
.registro-form-grid-v210 input,.registro-form-grid-v210 select,.registro-date-search-v210 input{height:40px;padding:0 11px}
.registro-form-grid-v210 textarea{padding:10px 11px;resize:vertical;min-height:58px}
.registro-actions-v210{justify-content:flex-end;gap:9px}
.registro-actions-v210 .btn{height:40px;border-radius:13px;padding:0 15px}
.registro-list-head-v210{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:end;margin-bottom:10px}
.registro-list-head-v210 h4{margin:0;font-size:16px;font-weight:950;color:#111936}
.registro-list-head-v210 small{display:block;color:#68748a;font-weight:750;margin-top:3px;line-height:1.25}
.registro-date-search-v210 input{height:38px}
.registro-table-wrap-v210{max-height:56vh;overflow-y:auto;overflow-x:hidden;border:1px solid #e3e9f2;border-radius:16px;background:#fff}
.registro-table-v210{min-width:0!important;width:100%;table-layout:fixed}
.registro-table-v210 th,.registro-table-v210 td{padding:9px 7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.registro-table-v210 th:nth-child(1),.registro-table-v210 td:nth-child(1){width:8%}
.registro-table-v210 th:nth-child(2),.registro-table-v210 td:nth-child(2){width:9%}
.registro-table-v210 th:nth-child(3),.registro-table-v210 td:nth-child(3){width:8%}
.registro-table-v210 th:nth-child(4),.registro-table-v210 td:nth-child(4){width:15%}
.registro-table-v210 th:nth-child(5),.registro-table-v210 td:nth-child(5){width:14%}
.registro-table-v210 th:nth-child(6),.registro-table-v210 td:nth-child(6){width:6%;text-align:center}
.registro-table-v210 th:nth-child(7),.registro-table-v210 td:nth-child(7){width:9%;text-align:right}
.registro-table-v210 th:nth-child(8),.registro-table-v210 td:nth-child(8){width:9%;text-align:right}
.registro-table-v210 th:nth-child(9),.registro-table-v210 td:nth-child(9){width:8%;text-align:center}
.registro-table-v210 th:nth-child(10),.registro-table-v210 td:nth-child(10){width:10%}
.registro-table-v210 th:nth-child(11),.registro-table-v210 td:nth-child(11){width:12%}
.registro-table-v210 .action-cell{display:flex!important;align-items:center;justify-content:flex-start;gap:5px;min-width:0!important}
.registro-table-v210 .icon-action{width:28px;height:28px;flex:0 0 28px;font-size:13px}
@media(max-width:1180px){
  .modal-registro-egreso-v210{overflow:auto;max-height:94vh}
  .registro-egreso-layout-v210{grid-template-columns:1fr}
  .registro-table-wrap-v210{max-height:420px;overflow-x:auto}
  .registro-table-v210{min-width:980px!important}
}
@media(max-width:720px){
  .modal-registro-egreso-v210{width:98vw;padding:12px;border-radius:18px}
  .egreso-header-actions-v181{width:100%}
  .btn-registro-egreso-v210{width:100%}
  .registro-form-grid-v210{grid-template-columns:1fr}
  .registro-form-grid-v210 .span-2-v210,.registro-form-grid-v210 .span-3-v210{grid-column:auto}
  .registro-list-head-v210{grid-template-columns:1fr}
  .registro-actions-v210{display:grid;grid-template-columns:1fr;gap:8px}
  .registro-actions-v210 .btn{width:100%}
}

/* V2.10 ajuste: formulario arriba y listado abajo dentro del modal Registrar Egreso */
.modal-registro-egreso-v210{
  width:min(1380px,98vw)!important;
  max-height:92vh!important;
  overflow:auto!important;
  padding:18px!important;
  border-radius:22px!important;
}
.registro-egreso-layout-v210{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  align-items:stretch!important;
}
.registro-egreso-form-v210{
  width:100%!important;
  align-self:stretch!important;
  padding:14px 15px!important;
  border-radius:18px!important;
}
.registro-egreso-list-v210{
  width:100%!important;
  padding:14px 15px!important;
  border-radius:18px!important;
}
.registro-form-grid-v210{
  display:grid!important;
  grid-template-columns:130px minmax(180px,1.4fr) minmax(180px,1.4fr) 118px 95px 125px 140px!important;
  gap:10px!important;
  align-items:end!important;
}
.registro-form-grid-v210 .span-2-v210,
.registro-form-grid-v210 .span-3-v210{
  grid-column:auto!important;
}
.registro-form-grid-v210 .span-3-v210{
  grid-column:1 / -1!important;
}
.registro-form-grid-v210 label,
.registro-date-search-v210 label{
  font-size:10.5px!important;
  margin-bottom:4px!important;
}
.registro-form-grid-v210 input,
.registro-form-grid-v210 select,
.registro-date-search-v210 input{
  height:38px!important;
  border-radius:11px!important;
  padding:0 10px!important;
}
.registro-form-grid-v210 textarea{
  min-height:44px!important;
  border-radius:11px!important;
}
.input-readonly-total{
  background:#f1f3f5!important;
  color:#6c757d!important;
  font-weight:900!important;
  cursor:not-allowed!important;
}
.registro-actions-v210{
  margin-top:10px!important;
  justify-content:flex-end!important;
}
.registro-actions-v210 .btn{
  height:38px!important;
  border-radius:11px!important;
}
.registro-list-head-v210{
  grid-template-columns:minmax(0,1fr) 210px!important;
  align-items:end!important;
  margin-bottom:10px!important;
}
.registro-table-wrap-v210{
  max-height:42vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.registro-table-v210{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  font-size:12px!important;
}
.registro-table-v210 th,
.registro-table-v210 td{
  padding:7px 6px!important;
}
.registro-table-v210 .action-cell{
  justify-content:center!important;
  gap:4px!important;
}
.registro-table-v210 .icon-action{
  width:25px!important;
  height:25px!important;
  flex:0 0 25px!important;
  font-size:12px!important;
}
@media (max-width:1180px){
  .registro-form-grid-v210{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .registro-form-grid-v210 .span-2-v210{grid-column:span 2!important;}
  .registro-form-grid-v210 .span-3-v210{grid-column:1/-1!important;}
  .registro-table-wrap-v210{overflow-x:auto!important;}
  .registro-table-v210{min-width:980px!important;}
}
@media (max-width:720px){
  .modal-registro-egreso-v210{width:98vw!important;padding:12px!important;}
  .registro-form-grid-v210{grid-template-columns:1fr!important;}
  .registro-form-grid-v210 .span-2-v210,.registro-form-grid-v210 .span-3-v210{grid-column:auto!important;}
  .registro-list-head-v210{grid-template-columns:1fr!important;}
  .registro-actions-v210{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .registro-actions-v210 .btn{width:100%!important;}
}

/* =========================================================
   AJUSTE FINAL V2.10 - MODAL REGISTRAR EGRESO SIN BARRA HORIZONTAL
   ========================================================= */
#registroEgresoModal.modal-backdrop{
  padding:14px!important;
  overflow:hidden!important;
  align-items:center!important;
  justify-content:center!important;
}
#registroEgresoModal .modal-card.modal-registro-egreso-v210{
  width:min(1160px,96vw)!important;
  max-width:min(1160px,96vw)!important;
  max-height:94vh!important;
  overflow:hidden!important;
  padding:16px!important;
  border-radius:22px!important;
}
#registroEgresoModal .modal-head{
  margin-bottom:10px!important;
  padding-bottom:10px!important;
}
#registroEgresoModal .modal-head h3{font-size:18px!important;}
#registroEgresoModal .modal-head p{font-size:13px!important;line-height:1.25!important;margin:3px 0 0!important;}
#registroEgresoModal .modal-head .btn.light{width:48px!important;height:48px!important;min-width:48px!important;font-size:22px!important;border-radius:16px!important;}

#registroEgresoModal .registro-egreso-layout-v210{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}
#registroEgresoModal .registro-egreso-form-v210,
#registroEgresoModal .registro-egreso-list-v210{
  width:100%!important;
  min-width:0!important;
  padding:13px!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(16,24,40,.05)!important;
}

#registroEgresoModal .registro-form-grid-v210{
  display:grid!important;
  grid-template-columns:140px minmax(0,1.3fr) minmax(0,1.3fr) 140px 115px!important;
  gap:9px!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
}
#registroEgresoModal .registro-form-grid-v210 > div{min-width:0!important;}
#registroEgresoModal .registro-form-grid-v210 .span-2-v210{grid-column:span 2!important;}
#registroEgresoModal .registro-form-grid-v210 .span-3-v210{grid-column:1/-1!important;}
#registroEgresoModal .registro-form-grid-v210 label,
#registroEgresoModal .registro-date-search-v210 label{
  font-size:10.5px!important;
  margin-bottom:4px!important;
  color:#4f5b70!important;
}
#registroEgresoModal .registro-form-grid-v210 input,
#registroEgresoModal .registro-form-grid-v210 select,
#registroEgresoModal .registro-date-search-v210 input{
  height:38px!important;
  min-width:0!important;
  font-size:14px!important;
  border-radius:12px!important;
  padding:0 10px!important;
}
#registroEgresoModal .registro-form-grid-v210 textarea{
  height:42px!important;
  min-height:42px!important;
  resize:none!important;
  font-size:14px!important;
  border-radius:12px!important;
  padding:9px 10px!important;
}
#registroEgresoModal .registro-actions-v210{
  margin-top:10px!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
#registroEgresoModal .registro-actions-v210 .btn{
  height:40px!important;
  min-width:150px!important;
  border-radius:12px!important;
  font-size:14px!important;
}

#registroEgresoModal .registro-list-head-v210{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 230px!important;
  gap:10px!important;
  margin-bottom:8px!important;
  align-items:end!important;
}
#registroEgresoModal .registro-list-head-v210 h4{font-size:15px!important;margin:0!important;}
#registroEgresoModal .registro-list-head-v210 small{font-size:12px!important;line-height:1.25!important;}
#registroEgresoModal .registro-table-wrap-v210{
  width:100%!important;
  max-width:100%!important;
  max-height:37vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border-radius:15px!important;
}
#registroEgresoModal .registro-table-v210{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  font-size:12px!important;
}
#registroEgresoModal .registro-table-v210 th,
#registroEgresoModal .registro-table-v210 td{
  padding:7px 5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#registroEgresoModal .registro-table-v210 th:nth-child(1),#registroEgresoModal .registro-table-v210 td:nth-child(1){width:6%!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(2),#registroEgresoModal .registro-table-v210 td:nth-child(2){width:8%!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(3),#registroEgresoModal .registro-table-v210 td:nth-child(3){width:8%!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(4),#registroEgresoModal .registro-table-v210 td:nth-child(4){width:13%!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(5),#registroEgresoModal .registro-table-v210 td:nth-child(5){width:13%!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(6),#registroEgresoModal .registro-table-v210 td:nth-child(6){width:5%!important;text-align:center!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(7),#registroEgresoModal .registro-table-v210 td:nth-child(7){width:10%!important;text-align:right!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(8),#registroEgresoModal .registro-table-v210 td:nth-child(8){width:10%!important;text-align:right!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(9),#registroEgresoModal .registro-table-v210 td:nth-child(9){width:9%!important;text-align:center!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(10),#registroEgresoModal .registro-table-v210 td:nth-child(10){width:8%!important;}
#registroEgresoModal .registro-table-v210 th:nth-child(11),#registroEgresoModal .registro-table-v210 td:nth-child(11){width:10%!important;}
#registroEgresoModal .registro-table-v210 .action-cell{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:3px!important;
  min-width:0!important;
}
#registroEgresoModal .registro-table-v210 .icon-action{
  width:23px!important;
  height:23px!important;
  flex:0 0 23px!important;
  font-size:11px!important;
  border-radius:9px!important;
}
#registroEgresoModal .badge{
  padding:5px 8px!important;
  font-size:11px!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

@media (max-width:1250px){
  #registroEgresoModal .modal-card.modal-registro-egreso-v210{width:97vw!important;max-width:97vw!important;}
  #registroEgresoModal .registro-form-grid-v210{grid-template-columns:130px minmax(0,1fr) minmax(0,1fr) 120px!important;}
  #registroEgresoModal .registro-form-grid-v210 .span-2-v210{grid-column:span 1!important;}
  #registroEgresoModal .registro-form-grid-v210 .span-3-v210{grid-column:1/-1!important;}
  /* Se ocultan código y fecha de pago para evitar barra horizontal en pantallas medianas. */
  #registroEgresoModal .registro-table-v210 th:nth-child(1),#registroEgresoModal .registro-table-v210 td:nth-child(1),
  #registroEgresoModal .registro-table-v210 th:nth-child(3),#registroEgresoModal .registro-table-v210 td:nth-child(3){display:none!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(2),#registroEgresoModal .registro-table-v210 td:nth-child(2){width:10%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(4),#registroEgresoModal .registro-table-v210 td:nth-child(4){width:16%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(5),#registroEgresoModal .registro-table-v210 td:nth-child(5){width:16%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(6),#registroEgresoModal .registro-table-v210 td:nth-child(6){width:6%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(7),#registroEgresoModal .registro-table-v210 td:nth-child(7){width:12%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(8),#registroEgresoModal .registro-table-v210 td:nth-child(8){width:12%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(9),#registroEgresoModal .registro-table-v210 td:nth-child(9){width:10%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(10),#registroEgresoModal .registro-table-v210 td:nth-child(10){width:8%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(11),#registroEgresoModal .registro-table-v210 td:nth-child(11){width:10%!important;}
}
@media (max-width:900px){
  #registroEgresoModal.modal-backdrop{padding:8px!important;align-items:flex-start!important;overflow:auto!important;}
  #registroEgresoModal .modal-card.modal-registro-egreso-v210{width:100%!important;max-width:100%!important;max-height:none!important;overflow:visible!important;padding:12px!important;}
  #registroEgresoModal .modal-head{align-items:flex-start!important;}
  #registroEgresoModal .registro-form-grid-v210{grid-template-columns:1fr 1fr!important;}
  #registroEgresoModal .registro-form-grid-v210 .span-2-v210,
  #registroEgresoModal .registro-form-grid-v210 .span-3-v210{grid-column:1/-1!important;}
  #registroEgresoModal .registro-list-head-v210{grid-template-columns:1fr!important;}
  #registroEgresoModal .registro-table-wrap-v210{max-height:420px!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(10),#registroEgresoModal .registro-table-v210 td:nth-child(10){display:none!important;}
}
@media (max-width:640px){
  #registroEgresoModal .registro-form-grid-v210{grid-template-columns:1fr!important;}
  #registroEgresoModal .registro-actions-v210{display:grid!important;grid-template-columns:1fr!important;}
  #registroEgresoModal .registro-actions-v210 .btn{width:100%!important;min-width:0!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(2),#registroEgresoModal .registro-table-v210 td:nth-child(2),
  #registroEgresoModal .registro-table-v210 th:nth-child(7),#registroEgresoModal .registro-table-v210 td:nth-child(7){display:none!important;}
}

/* V2.10 FIX FINAL - Egresos: acciones siempre visibles sin barra horizontal */
#registroEgresoModal .registro-table-v210 th,
#registroEgresoModal .registro-table-v210 td{box-sizing:border-box!important;}
#registroEgresoModal .registro-table-v210 .action-cell{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  justify-content:center!important;
  gap:4px!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
#registroEgresoModal .registro-table-v210 .icon-action{
  width:24px!important;height:24px!important;min-width:24px!important;flex:0 0 24px!important;
  padding:0!important;font-size:11px!important;line-height:24px!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
}
/* En pantallas normales se ocultan columnas menos críticas para dar espacio a Acciones */
@media (max-width:1500px){
  #registroEgresoModal .registro-table-v210 th:nth-child(1),#registroEgresoModal .registro-table-v210 td:nth-child(1),
  #registroEgresoModal .registro-table-v210 th:nth-child(3),#registroEgresoModal .registro-table-v210 td:nth-child(3),
  #registroEgresoModal .registro-table-v210 th:nth-child(10),#registroEgresoModal .registro-table-v210 td:nth-child(10){display:none!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(2),#registroEgresoModal .registro-table-v210 td:nth-child(2){width:10%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(4),#registroEgresoModal .registro-table-v210 td:nth-child(4){width:18%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(5),#registroEgresoModal .registro-table-v210 td:nth-child(5){width:18%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(6),#registroEgresoModal .registro-table-v210 td:nth-child(6){width:6%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(7),#registroEgresoModal .registro-table-v210 td:nth-child(7){width:12%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(8),#registroEgresoModal .registro-table-v210 td:nth-child(8){width:12%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(9),#registroEgresoModal .registro-table-v210 td:nth-child(9){width:10%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(11),#registroEgresoModal .registro-table-v210 td:nth-child(11){width:14%!important;min-width:116px!important;}
}
@media (max-width:1100px){
  #registroEgresoModal .registro-table-v210 th:nth-child(2),#registroEgresoModal .registro-table-v210 td:nth-child(2){width:11%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(4),#registroEgresoModal .registro-table-v210 td:nth-child(4){width:18%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(5),#registroEgresoModal .registro-table-v210 td:nth-child(5){width:18%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(6),#registroEgresoModal .registro-table-v210 td:nth-child(6){width:6%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(7),#registroEgresoModal .registro-table-v210 td:nth-child(7){width:12%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(8),#registroEgresoModal .registro-table-v210 td:nth-child(8){width:12%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(9),#registroEgresoModal .registro-table-v210 td:nth-child(9){width:9%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(11),#registroEgresoModal .registro-table-v210 td:nth-child(11){width:14%!important;min-width:112px!important;}
}
@media (max-width:760px){
  #registroEgresoModal .registro-table-v210 th:nth-child(7),#registroEgresoModal .registro-table-v210 td:nth-child(7){display:none!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(4),#registroEgresoModal .registro-table-v210 td:nth-child(4){width:24%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(5),#registroEgresoModal .registro-table-v210 td:nth-child(5){width:24%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(8),#registroEgresoModal .registro-table-v210 td:nth-child(8){width:18%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(9),#registroEgresoModal .registro-table-v210 td:nth-child(9){width:14%!important;}
  #registroEgresoModal .registro-table-v210 th:nth-child(11),#registroEgresoModal .registro-table-v210 td:nth-child(11){width:20%!important;min-width:112px!important;}
}


/* Ajuste V2.10: observación no aparece en formulario de registro, solo en edición */
.solo-edicion-observacion{grid-column:1 / -1;}
.registro-table-v210 td[title],
.registro-table-v210 .observacion,
.registro-table-v210 .col-observacion{
    cursor:default;
}


/* V2.10 ajuste final: quitar columna Observación del listado y dar espacio a acciones */
.registro-table-v210{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
}
.registro-table-v210 th:nth-child(1), .registro-table-v210 td:nth-child(1){width:8%;}
.registro-table-v210 th:nth-child(2), .registro-table-v210 td:nth-child(2){width:9%;}
.registro-table-v210 th:nth-child(3), .registro-table-v210 td:nth-child(3){width:9%;}
.registro-table-v210 th:nth-child(4), .registro-table-v210 td:nth-child(4){width:17%;}
.registro-table-v210 th:nth-child(5), .registro-table-v210 td:nth-child(5){width:15%;}
.registro-table-v210 th:nth-child(6), .registro-table-v210 td:nth-child(6){width:7%;}
.registro-table-v210 th:nth-child(7), .registro-table-v210 td:nth-child(7){width:10%;}
.registro-table-v210 th:nth-child(8), .registro-table-v210 td:nth-child(8){width:10%;}
.registro-table-v210 th:nth-child(9), .registro-table-v210 td:nth-child(9){width:8%;}
.registro-table-v210 th:nth-child(10), .registro-table-v210 td:nth-child(10){width:12%;}
.registro-table-v210 .action-cell{
    white-space:nowrap;
    min-width:128px;
}
.registro-table-wrap-v210{
    overflow-x:hidden !important;
}


/* V2.10 ajuste: Estado no invade los botones de acción */
.registro-table-v210{
    table-layout:fixed;
    width:100%;
}

.registro-table-v210 th:nth-child(9),
.registro-table-v210 td:nth-child(9){
    width:105px !important;
    max-width:105px !important;
    text-align:center;
    overflow:hidden;
}

.registro-table-v210 th:nth-child(10),
.registro-table-v210 td:nth-child(10){
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
    text-align:center;
    overflow:visible !important;
}

.registro-table-v210 .badge,
.registro-table-v210 .estado-badge,
.registro-table-v210 td:nth-child(9) span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:92px;
    padding:7px 10px;
    font-size:12px;
    line-height:1;
    white-space:nowrap;
    border-radius:999px;
    box-sizing:border-box;
}

.registro-table-v210 .action-cell,
.registro-table-v210 td:last-child{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    white-space:nowrap;
    overflow:visible !important;
}

.registro-table-v210 .action-cell a,
.registro-table-v210 .action-cell button,
.registro-table-v210 td:last-child a,
.registro-table-v210 td:last-child button{
    flex:0 0 28px;
    width:28px;
    height:28px;
    min-width:28px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    box-sizing:border-box;
}

@media (max-width:1250px){
    .modal-registro-egreso-v210{
        width:99.5vw !important;
        padding:12px !important;
    }

    .registro-table-v210 th:nth-child(1),
    .registro-table-v210 td:nth-child(1),
    .registro-table-v210 th:nth-child(2),
    .registro-table-v210 td:nth-child(2),
    .registro-table-v210 th:nth-child(3),
    .registro-table-v210 td:nth-child(3){
        display:none;
    }

    .registro-table-v210 th:nth-child(4),
    .registro-table-v210 td:nth-child(4){width:21% !important;}

    .registro-table-v210 th:nth-child(5),
    .registro-table-v210 td:nth-child(5){width:19% !important;}

    .registro-table-v210 th:nth-child(6),
    .registro-table-v210 td:nth-child(6){width:7% !important;}

    .registro-table-v210 th:nth-child(7),
    .registro-table-v210 td:nth-child(7){width:14% !important;}

    .registro-table-v210 th:nth-child(8),
    .registro-table-v210 td:nth-child(8){width:15% !important;}

    .registro-table-v210 th:nth-child(9),
    .registro-table-v210 td:nth-child(9){width:100px !important;}

    .registro-table-v210 th:nth-child(10),
    .registro-table-v210 td:nth-child(10){
        width:140px !important;
        min-width:140px !important;
    }
}

@media (max-width:900px){
    .registro-table-wrap-v210{
        overflow-x:auto !important;
    }

    .registro-table-v210{
        min-width:780px !important;
    }
}


/* FIX FINAL V2.10: Estado y botones sin superposición */
.registro-table-wrap-v210{
    overflow-x:hidden !important;
}

.registro-table-v210{
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
}

/* Dar espacio real: Total compacto, Estado compacto, Acciones amplio */
.registro-table-v210 th:nth-last-child(3),
.registro-table-v210 td:nth-last-child(3){
    width:110px !important;
    max-width:110px !important;
}

.registro-table-v210 th:nth-last-child(2),
.registro-table-v210 td:nth-last-child(2){
    width:92px !important;
    max-width:92px !important;
    min-width:92px !important;
    padding-left:4px !important;
    padding-right:4px !important;
    text-align:center !important;
    overflow:hidden !important;
    position:relative !important;
    z-index:1 !important;
}

.registro-table-v210 th:last-child,
.registro-table-v210 td:last-child{
    width:170px !important;
    max-width:170px !important;
    min-width:170px !important;
    padding-left:6px !important;
    padding-right:6px !important;
    text-align:center !important;
    overflow:visible !important;
    position:relative !important;
    z-index:5 !important;
}

/* El estado debe caber dentro de su celda y no crear caja flotante */
.registro-table-v210 td:nth-last-child(2) .badge,
.registro-table-v210 td:nth-last-child(2) .estado-badge,
.registro-table-v210 td:nth-last-child(2) span{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:78px !important;
    max-width:78px !important;
    min-width:0 !important;
    height:30px !important;
    padding:0 6px !important;
    margin:0 auto !important;
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    border-radius:999px !important;
    box-sizing:border-box !important;
    position:static !important;
    z-index:1 !important;
}

/* Los botones siempre quedan encima y alineados */
.registro-table-v210 td:last-child,
.registro-table-v210 .action-cell{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    background:#fff !important;
}

.registro-table-v210 td:last-child a,
.registro-table-v210 td:last-child button,
.registro-table-v210 .action-cell a,
.registro-table-v210 .action-cell button{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    flex:0 0 30px !important;
    padding:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    z-index:10 !important;
    box-sizing:border-box !important;
}

/* En pantallas medianas ocultar campos secundarios para ganar ancho real */
@media (max-width:1320px){
    .registro-table-v210 th:nth-child(1),
    .registro-table-v210 td:nth-child(1),
    .registro-table-v210 th:nth-child(2),
    .registro-table-v210 td:nth-child(2),
    .registro-table-v210 th:nth-child(3),
    .registro-table-v210 td:nth-child(3){
        display:none !important;
    }

    .registro-table-v210 th:last-child,
    .registro-table-v210 td:last-child{
        width:165px !important;
        min-width:165px !important;
    }
}

@media (max-width:980px){
    .registro-table-wrap-v210{
        overflow-x:auto !important;
    }
    .registro-table-v210{
        min-width:760px !important;
    }
}


/* V2.10 Optimización grilla egresos */
.registro-table-v210 th:nth-child(3),
.registro-table-v210 td:nth-child(3){
    display:none !important; /* Pago */
}

.registro-table-v210 th:nth-child(6),
.registro-table-v210 td:nth-child(6){
    width:55px !important; /* Cantidad */
    max-width:55px !important;
    text-align:center;
}

.registro-table-v210 th:nth-child(7),
.registro-table-v210 td:nth-child(7){
    width:85px !important; /* Valor unitario */
    max-width:85px !important;
}

.registro-table-v210 th:nth-child(4),
.registro-table-v210 td:nth-child(4){
    width:24% !important; /* Cliente */
}

.registro-table-v210 th:nth-child(5),
.registro-table-v210 td:nth-child(5){
    width:22% !important; /* Egreso */
}

.registro-table-v210 th:last-child,
.registro-table-v210 td:last-child{
    width:170px !important;
}

.registro-table-v210 td:nth-last-child(2){
    width:85px !important;
}

.registro-table-v210 td:nth-last-child(2) span,
.registro-table-v210 td:nth-last-child(2) .badge{
    width:74px !important;
    font-size:11px !important;
}

/* V2.11 - Factura de servicios en Egresos con filtro y avances */
.modal-factura-egreso-v211{max-width:780px;width:min(96vw,780px)}
.factura-filtros-egreso-v211{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.factura-filtros-egreso-v211 .full{grid-column:1/-1}
.avance-resumen-factura-v211{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#f8fafc;font-size:13px;color:#334155}
.avance-resumen-factura-v211.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.avance-resumen-factura-v211.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.factura-actions-egreso-v211{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
@media(max-width:720px){.factura-filtros-egreso-v211{grid-template-columns:1fr}.factura-actions-egreso-v211 .btn{width:100%;justify-content:center}}

/* V2.12: Liquidaciones de egresos en módulo principal, sin modal de reporte */
.egreso-liquidaciones-principal-v212{margin-top:18px}
.egreso-filtro-title-v212{align-items:flex-start;margin-bottom:12px}
.egreso-filtro-title-v212 h3{margin-bottom:4px}
.egreso-filtros-principales-v212{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}
.egreso-filtros-principales-v212 label{display:block;font-weight:700;font-size:12px;margin-bottom:5px;color:#334155}
.egreso-filtros-principales-v212 input,.egreso-filtros-principales-v212 select{width:100%;height:40px;border:1px solid #d8dee9;border-radius:10px;padding:0 10px;background:#fff}
.egreso-filtro-actions-v212{display:flex;gap:8px;white-space:nowrap}
.liquidaciones-table-wrap-v212{max-height:480px;overflow:auto}
.liquidaciones-egresos-table-v212 td small{display:block;color:#64748b;margin-top:3px;font-size:11px}
.liquidaciones-egresos-table-v212 th:nth-child(2),.liquidaciones-egresos-table-v212 td:nth-child(2){width:60px;text-align:center}
.liquidaciones-egresos-table-v212 th:nth-child(3),.liquidaciones-egresos-table-v212 td:nth-child(3){width:90px;text-align:right}
.liquidaciones-egresos-table-v212 th:nth-child(4),.liquidaciones-egresos-table-v212 td:nth-child(4),.liquidaciones-egresos-table-v212 th:nth-child(5),.liquidaciones-egresos-table-v212 td:nth-child(5),.liquidaciones-egresos-table-v212 th:nth-child(6),.liquidaciones-egresos-table-v212 td:nth-child(6){width:140px;text-align:right;white-space:nowrap}
.liquidacion-actions-v212{display:flex!important;gap:6px;justify-content:flex-end;white-space:nowrap;min-width:210px}
.liquidacion-actions-v212 .btn{padding:7px 10px;border-radius:9px}
@media(max-width:1100px){.egreso-filtros-principales-v212{grid-template-columns:1fr 1fr}.egreso-filtro-actions-v212{grid-column:1/-1}.liquidacion-actions-v212{justify-content:flex-start;min-width:0}}
@media(max-width:650px){.egreso-filtros-principales-v212{grid-template-columns:1fr}.egreso-filtro-actions-v212{flex-direction:column}.egreso-filtro-actions-v212 .btn{width:100%}.liquidacion-actions-v212{flex-wrap:wrap}.liquidaciones-table-wrap-v212{overflow-x:auto}}

/* V2.13: liquidaciones de egresos legibles y pagos parciales de avance */
.egreso-liquidaciones-principal-v212{overflow:hidden}
.liquidaciones-table-wrap-v212{width:100%;overflow-x:auto;padding-bottom:4px}
.liquidaciones-egresos-table-v212{width:100%;min-width:1120px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.liquidaciones-egresos-table-v212 th,.liquidaciones-egresos-table-v212 td{vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liquidaciones-egresos-table-v212 .col-cliente{width:28%}
.liquidaciones-egresos-table-v212 .col-reg{width:70px}
.liquidaciones-egresos-table-v212 .col-cantidad{width:110px}
.liquidaciones-egresos-table-v212 .col-total,.liquidaciones-egresos-table-v212 .col-avance,.liquidaciones-egresos-table-v212 .col-pagar{width:145px}
.liquidaciones-egresos-table-v212 .col-estado{width:140px}
.liquidaciones-egresos-table-v212 .col-acciones{width:250px}
.liquidaciones-egresos-table-v212 th:nth-child(2),.liquidaciones-egresos-table-v212 td:nth-child(2){text-align:center!important}
.liquidaciones-egresos-table-v212 th:nth-child(3),.liquidaciones-egresos-table-v212 td:nth-child(3),.liquidaciones-egresos-table-v212 th:nth-child(4),.liquidaciones-egresos-table-v212 td:nth-child(4),.liquidaciones-egresos-table-v212 th:nth-child(5),.liquidaciones-egresos-table-v212 td:nth-child(5),.liquidaciones-egresos-table-v212 th:nth-child(6),.liquidaciones-egresos-table-v212 td:nth-child(6){text-align:right!important}
.liquidacion-actions-v212{display:flex!important;gap:8px;justify-content:flex-end;align-items:center;min-width:0!important;white-space:nowrap}
.liquidacion-actions-v212 .btn{min-height:34px;padding:7px 11px;border-radius:10px}
.modal-aplicar-avance-liquidacion-v213{max-width:560px}
.aplicar-avance-resumen-v213{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}
.aplicar-avance-resumen-v213 div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px}
.aplicar-avance-resumen-v213 span{display:block;font-size:11px;text-transform:uppercase;font-weight:800;color:#64748b;margin-bottom:4px}
.aplicar-avance-resumen-v213 b{display:block;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modal-aplicar-avance-liquidacion-v213 input[type=number]{width:100%;height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:0 12px;font-weight:800;font-size:16px}
.modal-aplicar-avance-liquidacion-v213 .help{display:block;color:#64748b;margin-top:6px}
@media(max-width:900px){.liquidaciones-egresos-table-v212{min-width:980px}.liquidaciones-egresos-table-v212 .col-cliente{width:240px}.liquidaciones-egresos-table-v212 .col-acciones{width:230px}.aplicar-avance-resumen-v213{grid-template-columns:1fr}}

/* V2.14 - Egresos: menú en la misma línea de los KPI y sin encabezado superior */
.egreso-kpi-row-v214{
  grid-template-columns:repeat(4,minmax(155px,1fr)) minmax(270px,360px)!important;
  align-items:stretch;
  gap:14px;
  margin-bottom:18px!important;
}
.egreso-kpi-actions-v214{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-self:stretch;
  justify-content:stretch;
  position:relative;
  z-index:25;
}
.btn-registro-egreso-v214{
  width:100%;
  min-height:52px;
  height:auto;
  border-radius:18px;
  box-shadow:0 18px 42px rgba(108,92,231,.22);
  font-size:15px;
}
.egreso-toolbar-menu-v214{
  width:100%;
  margin:0!important;
  padding:0!important;
  display:block!important;
}
.egreso-toolbar-menu-v214 .egreso-dropdown-v180{
  width:100%!important;
}
.egreso-toolbar-menu-v214 .egreso-dropdown-trigger-v180{
  min-height:56px;
  padding:9px 12px;
}
.egreso-toolbar-menu-v214 .egreso-dropdown-list-v180{
  left:auto!important;
  right:0!important;
  width:min(390px,calc(100vw - 42px))!important;
  z-index:300;
}
.egreso-liquidaciones-principal-v212{
  margin-top:0!important;
}
@media(max-width:1350px){
  .egreso-kpi-row-v214{grid-template-columns:repeat(2,minmax(0,1fr)) minmax(270px,360px)!important;}
  .egreso-kpi-actions-v214{grid-row:span 2;}
}
@media(max-width:920px){
  .egreso-kpi-row-v214{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .egreso-kpi-actions-v214{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
  .egreso-toolbar-menu-v214 .egreso-dropdown-list-v180{width:100%!important;right:auto!important;left:0!important;}
}
@media(max-width:640px){
  .egreso-kpi-row-v214{grid-template-columns:1fr!important;}
  .egreso-kpi-actions-v214{grid-template-columns:1fr;}
  .btn-registro-egreso-v214,.egreso-toolbar-menu-v214 .egreso-dropdown-trigger-v180{min-height:50px;}
  .egreso-toolbar-menu-v214 .egreso-dropdown-list-v180{position:relative!important;top:8px!important;}
}

/* V2.15: filtros automáticos y vista previa limpia en egresos */
.egreso-liquidacion-auto-v215{padding:22px!important;overflow:hidden}.egreso-filtros-auto-v215{grid-template-columns:repeat(4,minmax(160px,1fr))!important;align-items:end}.egreso-filtros-auto-v215 select,.egreso-filtros-auto-v215 input{min-height:44px}.egreso-preview-empty-v215{margin-top:16px;border:1px dashed #cbd5e1;border-radius:18px;padding:28px;text-align:center;background:#f8fafc;color:#475569}.egreso-preview-toolbar-v215{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:16px 0;padding:14px 16px;border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}.egreso-preview-toolbar-v215 b{display:block;color:#0f172a;font-size:1rem}.egreso-preview-toolbar-v215 small{display:block;color:#64748b;margin-top:4px}.egreso-preview-actions-v215{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.egreso-preview-frame-wrap-v215{border:1px solid #e2e8f0;border-radius:22px;background:#f1f5f9;padding:12px;overflow:auto}.egreso-preview-frame-v215{width:100%;height:680px;border:0;border-radius:16px;background:white;box-shadow:inset 0 0 0 1px #e5e7eb}@media(max-width:900px){.egreso-filtros-auto-v215{grid-template-columns:1fr 1fr!important}.egreso-preview-toolbar-v215{align-items:flex-start;flex-direction:column}.egreso-preview-actions-v215{width:100%;justify-content:flex-start}.egreso-preview-frame-v215{height:560px}}@media(max-width:560px){.egreso-filtros-auto-v215{grid-template-columns:1fr!important}.egreso-preview-actions-v215 .btn{width:100%}}

/* V2.17: Botón de avance pendiente en factura de egresos */
.btn-avance-pendiente-v217{
  background:#dc2626!important;
  color:#fff!important;
  border:0!important;
  min-height:30px!important;
  min-width:88px!important;
  padding:4px 8px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(220,38,38,.28)!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.btn-avance-pendiente-v217 span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.btn-avance-pendiente-v217 strong{
  font-size:13px;
  font-weight:1000;
}
.avance-alerta-roja-v217{
  animation:avancePendientePulsoV217 1.05s ease-in-out infinite;
}
.btn-avance-pendiente-v217:hover{
  background:#fff!important;
  color:#dc2626!important;
  outline:2px solid #dc2626!important;
}
@keyframes avancePendientePulsoV217{
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(220,38,38,.55),0 12px 26px rgba(220,38,38,.30)}
  50%{transform:scale(1.055);box-shadow:0 0 0 9px rgba(220,38,38,0),0 16px 32px rgba(220,38,38,.42)}
}
@media(max-width:720px){
  .btn-avance-pendiente-v217{width:auto;min-width:76px;min-height:28px}
  .btn-avance-pendiente-v217 strong{font-size:12px}
}

/* V2.19 HOSTINGER - Corrección visual exclusiva módulo Egresos.
   Mantiene KPI, registrar egreso y menú en una sola línea cuando hay ancho disponible. */
@media (min-width: 921px){
  .egreso-kpi-row-v214{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(145px,1fr)) minmax(300px,450px)!important;
    gap:14px!important;
    align-items:stretch!important;
    margin:0 0 18px!important;
  }
  .egreso-kpi-row-v214 .egreso-kpi-card{
    min-width:0!important;
    min-height:116px!important;
    padding:18px 20px!important;
  }
  .egreso-kpi-row-v214 .egreso-kpi-card strong{
    font-size:25px!important;
  }
  .egreso-kpi-actions-v214{
    grid-column:auto!important;
    grid-row:auto!important;
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    width:100%!important;
    justify-content:stretch!important;
    align-self:stretch!important;
  }
  .btn-registro-egreso-v214,
  .egreso-toolbar-menu-v214 .egreso-dropdown-trigger-v180{
    width:100%!important;
  }
  .egreso-filtros-auto-v215{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(150px,1fr))!important;
    gap:14px!important;
    align-items:end!important;
  }
}
@media (min-width:921px) and (max-width:1180px){
  .egreso-kpi-row-v214{
    grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(250px,340px)!important;
    gap:10px!important;
  }
  .egreso-kpi-row-v214 .egreso-kpi-card{padding:16px!important;}
  .egreso-kpi-row-v214 .egreso-kpi-card strong{font-size:22px!important;}
  .btn-registro-egreso-v214{font-size:14px!important;}
}
@media (max-width:920px){
  .egreso-kpi-row-v214{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .egreso-kpi-actions-v214{grid-column:1/-1!important;grid-row:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;}
  .egreso-filtros-auto-v215{display:grid!important;grid-template-columns:1fr 1fr!important;}
}
@media (max-width:640px){
  .egreso-kpi-row-v214{grid-template-columns:1fr!important;}
  .egreso-kpi-actions-v214{grid-template-columns:1fr!important;}
  .egreso-filtros-auto-v215{grid-template-columns:1fr!important;}
}

/* =========================================================
   V2.42 - KPI impactantes globales basados en V2.39
   Aplica el diseño visual fuerte del Reporte Administrativo
   a los KPI y tarjetas estadísticas de todos los módulos.
   No modifica consultas ni lógica de base de datos.
   ========================================================= */
:root{
  --kpi-strong-1:#4f46e5;
  --kpi-strong-2:#06b6d4;
  --kpi-green-1:#059669;
  --kpi-green-2:#22c55e;
  --kpi-orange-1:#f59e0b;
  --kpi-orange-2:#f97316;
  --kpi-red-1:#dc2626;
  --kpi-red-2:#fb7185;
  --kpi-purple-1:#7c3aed;
  --kpi-purple-2:#a78bfa;
}
.cards,
.egreso-kpi-row,
.admin-kpi-grid,
.proceso-stats,
.proceso-kpis,
.produccion-kpis,
.venta-kpis,
.reporte-kpis,
.dashboard-kpis{
  gap:16px!important;
}
.stat-card,
.egreso-kpi-card,
.kpi-tile,
.proceso-stat-card,
.egreso-report-kpis-v178 div,
.recaudo-box,
.resumen-card,
.kpi-card,
.metric-card,
.dashboard-card-kpi{
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:26px!important;
  padding:22px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--kpi-strong-1),var(--kpi-strong-2))!important;
  box-shadow:0 20px 45px rgba(21,34,80,.18)!important;
  min-height:128px;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.stat-card:hover,
.egreso-kpi-card:hover,
.kpi-tile:hover,
.proceso-stat-card:hover,
.egreso-report-kpis-v178 div:hover,
.recaudo-box:hover,
.resumen-card:hover,
.kpi-card:hover,
.metric-card:hover,
.dashboard-card-kpi:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 26px 58px rgba(21,34,80,.24)!important;
  filter:saturate(1.06);
}
.stat-card:after,
.egreso-kpi-card:after,
.kpi-tile:after,
.proceso-stat-card:after,
.egreso-report-kpis-v178 div:after,
.recaudo-box:after,
.resumen-card:after,
.kpi-card:after,
.metric-card:after,
.dashboard-card-kpi:after{
  content:""!important;
  position:absolute!important;
  right:-38px!important;
  top:-38px!important;
  width:125px!important;
  height:125px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.18)!important;
  pointer-events:none!important;
}
.stat-card:before,
.egreso-kpi-card:before,
.kpi-tile:before,
.proceso-stat-card:before,
.egreso-report-kpis-v178 div:before,
.recaudo-box:before,
.resumen-card:before,
.kpi-card:before,
.metric-card:before,
.dashboard-card-kpi:before{
  content:"";
  position:absolute;
  inset:auto 18px 16px auto;
  width:42px;
  height:42px;
  border-radius:16px;
  background:rgba(255,255,255,.16);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20);
}
.stat-card span,
.egreso-kpi-card span,
.kpi-tile span,
.proceso-stat-card span,
.egreso-report-kpis-v178 span,
.recaudo-box span,
.resumen-card span,
.kpi-card span,
.metric-card span,
.dashboard-card-kpi span{
  position:relative!important;
  z-index:1!important;
  color:rgba(255,255,255,.92)!important;
  display:block!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
  font-size:.74rem!important;
}
.stat-card strong,
.egreso-kpi-card strong,
.kpi-tile strong,
.proceso-stat-card strong,
.egreso-report-kpis-v178 strong,
.recaudo-box strong,
.resumen-card strong,
.kpi-card strong,
.metric-card strong,
.dashboard-card-kpi strong{
  position:relative!important;
  z-index:1!important;
  color:#fff!important;
  display:block!important;
  font-size:clamp(1.45rem,2.2vw,2.15rem)!important;
  line-height:1.05!important;
  margin:12px 0 7px!important;
  letter-spacing:-.035em!important;
  font-weight:1000!important;
}
.stat-card small,
.stat-card .mini,
.stat-card .avg-v159,
.egreso-kpi-card small,
.kpi-tile small,
.proceso-stat-card small,
.proceso-stat-card .prom-7,
.egreso-report-kpis-v178 small,
.recaudo-box small,
.resumen-card small,
.kpi-card small,
.metric-card small,
.dashboard-card-kpi small{
  position:relative!important;
  z-index:1!important;
  color:rgba(255,255,255,.92)!important;
  font-weight:850!important;
  font-size:.82rem!important;
}
/* Variación automática por posición para que cada KPI tenga jerarquía visual */
.cards .stat-card:nth-child(4n+1),
.egreso-kpi-row .egreso-kpi-card:nth-child(4n+1),
.admin-kpi-grid .kpi-tile:nth-child(4n+1){background:linear-gradient(135deg,var(--kpi-strong-1),var(--kpi-strong-2))!important;}
.cards .stat-card:nth-child(4n+2),
.egreso-kpi-row .egreso-kpi-card:nth-child(4n+2),
.admin-kpi-grid .kpi-tile:nth-child(4n+2){background:linear-gradient(135deg,var(--kpi-green-1),var(--kpi-green-2))!important;}
.cards .stat-card:nth-child(4n+3),
.egreso-kpi-row .egreso-kpi-card:nth-child(4n+3),
.admin-kpi-grid .kpi-tile:nth-child(4n+3){background:linear-gradient(135deg,var(--kpi-orange-1),var(--kpi-orange-2))!important;}
.cards .stat-card:nth-child(4n+4),
.egreso-kpi-row .egreso-kpi-card:nth-child(4n+4),
.admin-kpi-grid .kpi-tile:nth-child(4n+4){background:linear-gradient(135deg,var(--kpi-red-1),var(--kpi-red-2))!important;}
.proceso-stat-card:nth-child(4n+1),.egreso-report-kpis-v178 div:nth-child(4n+1){background:linear-gradient(135deg,var(--kpi-strong-1),var(--kpi-strong-2))!important;}
.proceso-stat-card:nth-child(4n+2),.egreso-report-kpis-v178 div:nth-child(4n+2){background:linear-gradient(135deg,var(--kpi-green-1),var(--kpi-green-2))!important;}
.proceso-stat-card:nth-child(4n+3),.egreso-report-kpis-v178 div:nth-child(4n+3){background:linear-gradient(135deg,var(--kpi-orange-1),var(--kpi-orange-2))!important;}
.proceso-stat-card:nth-child(4n+4),.egreso-report-kpis-v178 div:nth-child(4n+4){background:linear-gradient(135deg,var(--kpi-purple-1),var(--kpi-purple-2))!important;}
/* Tarjetas con nombres de dinero o alertas conservan colores fuertes por relevancia */
.stat-card:has(span:nth-child(1)),
.kpi-tile:has(span:nth-child(1)){
  isolation:isolate;
}
.recaudo-box{background:linear-gradient(135deg,var(--kpi-green-1),var(--kpi-green-2))!important;}
/* Ajuste responsive para mantener impacto sin deformar */
@media(max-width:1200px){
  .cards,.admin-kpi-grid,.egreso-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  .cards,.admin-kpi-grid,.egreso-kpi-row{grid-template-columns:1fr!important;}
  .stat-card,.egreso-kpi-card,.kpi-tile,.proceso-stat-card,.egreso-report-kpis-v178 div,.recaudo-box{min-height:112px!important;padding:18px!important;border-radius:22px!important;}
}

/* V3.02 LOCAL - Carga por lotes en Configuración */
.batch-upload-panel{border:1px solid rgba(82,92,230,.18);background:linear-gradient(135deg,#ffffff 0%,#f7f8ff 100%)}
.batch-box{background:#fff;border:1px solid #e8ecf7;border-radius:22px;padding:18px;box-shadow:0 18px 45px rgba(31,45,89,.07)}
.batch-form{margin:0}.batch-upload-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.batch-note{margin-top:14px}.full-btn{width:100%;justify-content:center}
@media(max-width:720px){.batch-upload-row{grid-template-columns:1fr}.batch-upload-row .btn{width:100%;justify-content:center}}

/* V3.05 ajustes de moneda y proveedor compacto */
.modal-proveedor-compacto{width:min(760px,96vw)}
.proveedor-form-compacto{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.proveedor-form-compacto .full{grid-column:1/-1}
.proveedor-form-compacto input,.proveedor-form-compacto select{min-height:42px}
.proveedor-form-compacto .actions{justify-content:flex-end}
#precio_litro.money-input,#p_precio_litro.money-input{text-align:right;font-weight:900;letter-spacing:.2px}
@media(max-width:760px){.proveedor-form-compacto{grid-template-columns:1fr 1fr}.modal-proveedor-compacto{width:96vw}}
@media(max-width:520px){.proveedor-form-compacto{grid-template-columns:1fr}}


/* V3.10 BASE V3.09: Proveedores - grilla optimizada sin columna teléfono.
   El campo teléfono sigue existiendo en el formulario y reportes; solo se oculta del listado principal. */
.table-proveedores.tabla-ciudadanos .c-telefono{display:none !important;}
.table-proveedores.tabla-ciudadanos .c-nombre{width:360px !important;min-width:360px !important;max-width:360px !important;}
.table-proveedores.tabla-ciudadanos .c-direccion{width:260px !important;min-width:260px !important;max-width:260px !important;}
.table-proveedores.tabla-ciudadanos .c-cedula{width:120px !important;min-width:120px !important;max-width:120px !important;}
.table-proveedores.tabla-ciudadanos .c-periodo{width:92px !important;min-width:92px !important;max-width:92px !important;}
.table-proveedores.tabla-ciudadanos .c-precio{width:100px !important;min-width:100px !important;max-width:100px !important;text-align:right;}
.table-proveedores.tabla-ciudadanos .c-recogedor{width:150px !important;min-width:150px !important;max-width:150px !important;}
.table-proveedores.tabla-ciudadanos .c-estado{width:92px !important;min-width:92px !important;max-width:92px !important;text-align:center;}
.table-proveedores.tabla-ciudadanos .c-acciones{width:310px !important;min-width:310px !important;max-width:310px !important;}
@media (max-width:1280px){
  .table-proveedores.tabla-ciudadanos{min-width:1260px !important;}
}
@media (min-width:1281px){
  .table-proveedores.tabla-ciudadanos{min-width:0 !important;}
  .table-proveedores.tabla-ciudadanos .c-nombre{width:28% !important;min-width:260px !important;max-width:none !important;}
  .table-proveedores.tabla-ciudadanos .c-direccion{width:20% !important;min-width:190px !important;max-width:none !important;}
}


/* V3.14 local: fechas +10% adicional, reportes/facturas desde Configuración */
@media (min-width: 921px){
  .egreso-filtros-auto-v215{
    grid-template-columns: 133px 133px minmax(230px,1.2fr) minmax(230px,1.2fr) 112px!important;
    gap:10px!important;
  }
  .egreso-filtros-auto-v215 .egreso-filtro-estado-v311 select{min-width:104px!important;}
}
.egreso-filtro-estado-v311 select{font-weight:400!important;font-size:14px;}
.egreso-preview-zoombar-v311{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:10px 0 8px;flex-wrap:wrap;color:#475569;font-weight:800}
.egreso-preview-zoombar-v311 select{height:34px;border:1px solid #d8dee9;border-radius:10px;padding:0 8px;background:#fff;font-weight:800;min-width:82px}
.egreso-preview-zoombar-v311 b{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:34px;border-radius:10px;background:#eef2ff;color:#3730a3}
#reg_valor{text-align:right;font-weight:900;letter-spacing:.01em}
@media(max-width:920px){.egreso-filtros-auto-v215{grid-template-columns:1fr 1fr!important}.egreso-filtro-estado-v311{grid-column:auto}.egreso-preview-zoombar-v311{justify-content:flex-start}}
@media(max-width:560px){.egreso-filtros-auto-v215{grid-template-columns:1fr!important}.egreso-preview-zoombar-v311 .btn,.egreso-preview-zoombar-v311 select{height:38px}}
