﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --sb-w:244px;
  /* ── Design system v2 — Material-3 clean (mockups IsoShield/ConstruERP) ── */
  --navy:#131B2E;        /* primary — botones, activos, headlines */
  --navy2:#202C49;       /* primary hover */
  --teal:#2563EB;        /* accent interactivo (focus, links, charts) */
  --teal-d:#1D4ED8;
  --teal-l:#EEF2FF;      /* soft highlight (secondary-container) */
  --green:#059669;
  --green-l:#ECFDF5;
  --amber:#D97706;
  --amber-l:#FFFBEB;
  --red:#DC2626;
  --red-l:#FEF2F2;
  --purple:#7C3AED;
  --purple-l:#F5F3FF;
  --slate:#64748B;       /* texto muted / outline */
  --border:#E6EAF0;      /* outline-variant */
  --bg:#F7F9FB;          /* surface */
  --card:#FFFFFF;        /* surface-container-lowest */
  --surface-low:#F2F4F6; /* surface-container-low */
  --text:#131B2E;        /* on-surface */
  --text2:#475569;       /* on-surface-variant */
  --hover:#F1F5F9;
  --r:14px;
  --sh:0 1px 3px rgba(16,24,40,.04),0 1px 2px rgba(16,24,40,.03);
  --sh-md:0 6px 20px rgba(16,24,40,.07);
  --sh-lg:0 16px 48px rgba(16,24,40,.13);
  --transition:all .16s cubic-bezier(.22,1,.36,1);
  --radius-sm:8px;
  --radius-lg:18px;
  --font-mono:'JetBrains Mono','Courier New',monospace;
}
body{font-family:'Inter','Sora',-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);display:flex;min-height:100vh;font-size:13.5px;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}

/* ── SIDEBAR ── */
#sidebar{
  width:var(--sb-w);min-height:100vh;background:var(--card);
  display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;
  transition:transform .25s;border-right:1px solid var(--border);
}
.sb-logo{padding:22px 18px 16px}
.sb-logo .brand{font-size:15px;font-weight:800;color:var(--navy);letter-spacing:-.4px;display:flex;align-items:center;gap:9px}
.sb-logo .brand-dot{width:9px;height:9px;border-radius:50%;background:var(--teal);flex-shrink:0;box-shadow:0 0 0 3px var(--teal-l)}
.sb-logo .sub{font-size:10.5px;color:var(--slate);margin-top:4px;padding-left:18px;font-weight:500}
.sb-logo .rut{font-size:10px;color:#94A3B8;margin-top:1px;padding-left:18px}
.sb-section{padding:18px 16px 6px;font-size:9.5px;font-weight:800;color:#94A3B8;letter-spacing:1.4px;text-transform:uppercase}
.sb-nav{flex:1;padding:4px 10px}
.nav-item{
  display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:10px;cursor:pointer;
  color:var(--text2);font-size:13px;font-weight:600;transition:var(--transition);margin-bottom:2px;user-select:none;
  border:none;width:100%;text-align:left;background:transparent;font-family:inherit;
}
.nav-item .ni-icon{width:18px;height:18px;flex-shrink:0;opacity:.7;transition:var(--transition)}
.nav-item:hover{background:var(--hover);color:var(--navy)}
.nav-item:hover .ni-icon{opacity:1}
.nav-item.active{background:var(--teal-l);color:var(--teal-d);font-weight:700}
.nav-item.active .ni-icon{opacity:1;color:var(--teal-d)}
.nav-item .ni{width:16px;text-align:center;font-size:13px;opacity:.85}
.nav-item .badge-count{
  margin-left:auto;background:var(--red);color:#fff;
  font-size:9.5px;font-weight:800;border-radius:10px;padding:1px 7px;
}
.sb-bottom{padding:12px 10px;border-top:1px solid var(--border)}
.sb-btn{
  display:flex;align-items:center;gap:9px;width:100%;padding:8px 11px;
  border-radius:9px;border:1px solid transparent;background:transparent;
  color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition);margin-bottom:3px;font-family:inherit;
}
.sb-btn:hover{background:var(--hover);color:var(--navy)}
.sb-user-card{
  display:flex;align-items:center;gap:11px;
  padding:10px;margin-bottom:8px;border-radius:12px;background:var(--surface-low);
}
.sb-avatar{
  width:36px;height:36px;border-radius:11px;background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:.5px;
}
.sb-user-info{min-width:0;flex:1}
.sb-user-name{font-size:12.5px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user-meta{font-size:10.5px;color:var(--slate);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── MAIN ── */
#main{margin-left:var(--sb-w);flex:1;display:flex;flex-direction:column;min-height:100vh}
.topbar{
  background:rgba(247,249,251,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);
  padding:0 28px;height:60px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:50;
}
.topbar-left{display:flex;align-items:center;gap:12px}
.page-title{font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.4px}
.topbar-search{position:relative;display:flex;align-items:center}
.topbar-search input{
  padding:9px 14px 9px 36px;border:1px solid var(--border);border-radius:10px;
  font-size:12.5px;width:260px;background:var(--card);color:var(--text);
  outline:none;transition:var(--transition);font-family:inherit;
}
.topbar-search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-l)}
.topbar-search .si{position:absolute;left:11px;color:#94A3B8;font-size:13px}
.topbar-right{display:flex;gap:8px;align-items:center}

.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;border-radius:10px;font-size:12.5px;font-weight:700;
  cursor:pointer;border:none;transition:var(--transition);font-family:inherit;
  user-select:none;
}
.btn-primary{background:var(--navy);color:white}
.btn-primary:hover{background:var(--navy2);box-shadow:var(--sh-md);transform:translateY(-1px)}
.btn-outline{background:white;border:1px solid var(--border);color:var(--text2)}
.btn-outline:hover{background:var(--bg);border-color:#94A3B8}
.btn-sm{padding:5px 10px;font-size:11.5px}
.btn-ghost{background:transparent;color:var(--text2)}
.btn-ghost:hover{background:var(--bg)}
.btn-danger{background:#FEF2F2;border:1px solid #FCA5A5;color:#DC2626}
.btn-danger:hover{background:#FEE2E2;border-color:#DC2626}
.btn-danger{background:var(--red);color:white}
.btn-danger:hover{background:#B91C1C}
.btn-green{background:var(--green);color:white}
.btn-green:hover{background:#047857}
.btn-amber{background:var(--amber);color:white}
.btn-amber:hover{background:#B45309}
.btn-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text2)}
.btn-secondary:hover{background:white;border-color:#94A3B8}

.content{padding:26px 28px;flex:1;max-width:1480px;width:100%;margin:0 auto}
.page{display:none}.page.active{display:block}

/* ── KPI GRID ── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}
.kpi{
  background:var(--card);border-radius:var(--r);padding:18px 20px;
  border:1px solid var(--border);box-shadow:var(--sh);
  display:flex;flex-direction:column;gap:5px;position:relative;overflow:hidden;
  transition:var(--transition);border-left:3px solid transparent;
}
.kpi:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.kpi.teal:hover{border-left-color:var(--teal)}
.kpi.green:hover{border-left-color:var(--green)}
.kpi.amber:hover{border-left-color:var(--amber)}
.kpi.red:hover{border-left-color:var(--red)}
.kpi.purple:hover{border-left-color:var(--purple)}
.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.kpi.teal::before{background:var(--teal)}
.kpi.green::before{background:var(--green)}
.kpi.amber::before{background:var(--amber)}
.kpi.red::before{background:var(--red)}
.kpi.purple::before{background:var(--purple)}
.kpi-icon{font-size:20px;margin-bottom:2px}
.kpi-val{font-size:28px;font-weight:800;color:var(--text);letter-spacing:-.5px;line-height:1;font-variant-numeric:tabular-nums}
.kpi-lbl{font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.6px}
.kpi-sub{font-size:11px;color:var(--slate)}

/* ── CHARTS ── */
.charts-row{display:grid;grid-template-columns:1.6fr 1fr;gap:14px;margin-bottom:22px}
.charts-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
canvas{max-height:210px}
.card{background:var(--card);border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--sh);transition:box-shadow .2s ease}
.card:hover{box-shadow:var(--sh-md)}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.card-title{font-size:11.5px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px}
.card-body{padding:18px}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:10.5px;font-weight:700;white-space:nowrap}
.badge::before{content:"●";font-size:7px}
.badge-pagado{background:#DCFCE7;color:#166534}
.badge-pendiente{background:#FEF3C7;color:#92400E}
.badge-vencido{background:#FEE2E2;color:#991B1B}
.badge-parcial{background:#EDE9FE;color:#5B21B6}
.badge-fac{background:var(--teal-l);color:#0369A1;font-size:10.5px;padding:2px 7px;border-radius:4px}
.badge-nc{background:var(--red-l);color:#DC2626;font-size:10.5px;padding:2px 7px;border-radius:4px}
.badge-bol{background:#f3f0ff;color:#7C3AED;font-size:10.5px;padding:2px 7px;border-radius:4px}
.badge-fac::before,.badge-nc::before,.badge-bol::before{display:none}

/* ── TABLA FACTURAS ── */
.table-controls{
  padding:12px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  border-bottom:1px solid var(--border);background:var(--bg);border-radius:var(--r) var(--r) 0 0;
}
.filter-chip{
  padding:4px 11px;border-radius:20px;border:1px solid var(--border);
  background:white;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--text2);
}
.filter-chip:hover{border-color:var(--teal);color:var(--teal)}
.filter-chip.active{background:var(--teal);border-color:var(--teal);color:white}
#chipSinVendedor.active-chip { background:rgba(217,119,6,.15); color:#d97706; border-color:#d97706; }
select.filter-sel{
  padding:5px 26px 5px 9px;border-radius:7px;border:1px solid var(--border);
  font-size:11.5px;background:white;color:var(--text2);cursor:pointer;
  appearance:none;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 7px center;
}

/* Mass action bar */
.mass-bar{
  display:none;padding:10px 16px;background:linear-gradient(135deg,#0EA5E9,#0284C7);
  color:white;align-items:center;gap:10px;font-size:12.5px;font-weight:600;
  border-bottom:1px solid var(--teal-d);
}
.mass-bar.visible{display:flex}
.mass-bar .mb-count{background:rgba(255,255,255,.25);border-radius:12px;padding:2px 10px;font-size:11px}
.mass-bar .mb-sep{width:1px;height:20px;background:rgba(255,255,255,.3);flex-shrink:0}
.mass-btn{
  padding:5px 11px;border-radius:6px;border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.12);color:white;font-size:11px;font-weight:600;
  cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:background .15s;
}
.mass-btn:hover{background:rgba(255,255,255,.22)}
.mass-btn.danger{border-color:rgba(255,80,80,.5);background:rgba(220,38,38,.25)}

.data-table{width:100%;border-collapse:collapse;font-size:12.5px}
.data-table thead tr{background:var(--surface-low);border-bottom:1.5px solid var(--border)}
.data-table th{
  padding:11px 12px;text-align:left;font-size:9.5px;font-weight:800;
  color:var(--slate);text-transform:uppercase;letter-spacing:.7px;white-space:nowrap;
}
.data-table th.num{text-align:right}
.data-table tbody tr{border-bottom:1px solid #F1F5F9;transition:background .18s ease}
.data-table tbody tr:hover{background:var(--teal-l)}
.data-table tbody tr.selected{background:var(--teal-l)}
.data-table tbody tr.nc-row{background:#FFF8F8}
.data-table tbody tr.nc-row:hover{background:#FFF0F0}
.data-table tbody tr.anulada-row{background:#FEF2F2;opacity:.82}
.data-table tbody tr.anulada-row:hover{background:#FEE2E2;opacity:1}
.data-table tbody tr.nc-parcial-row{background:#FFFBEB}
.data-table tbody tr.nc-parcial-row:hover{background:#FEF3C7}
.badge-anulada{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:800;background:#FEE2E2;color:#991B1B;letter-spacing:.2px;vertical-align:middle;white-space:nowrap}
.badge-anula-f{display:inline-flex;align-items:center;margin-left:4px;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;background:#FEF3C7;color:#92400E;vertical-align:middle;white-space:nowrap}
.badge-nc-parcial{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:800;background:#FEF3C7;color:#92400E;letter-spacing:.2px;vertical-align:middle;white-space:nowrap}
.anular-nc-btn{padding:3px 7px;border-radius:5px;border:1px solid #FCA5A5;background:transparent;color:#DC2626;font-size:10.5px;font-weight:700;cursor:pointer;font-family:'Sora',-apple-system,sans-serif;transition:background .15s;white-space:nowrap}
.anular-nc-btn:hover{background:#FEE2E2}
.desanular-btn{border-color:var(--border);color:var(--slate)}
.desanular-btn:hover{background:var(--hover);color:var(--text)}
.data-table td{padding:10px 12px;vertical-align:middle}
.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12px}
.text-bold{font-weight:700}
.text-muted{color:var(--slate);font-size:11.5px}

/* Quick pay button in row */
.qpay-btn{
  padding:3px 9px;border-radius:5px;border:1px solid var(--border);
  background:white;font-size:10.5px;font-weight:600;cursor:pointer;
  color:var(--green);transition:all .15s;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;white-space:nowrap;
}
.qpay-btn:hover{background:var(--green);color:white;border-color:var(--green)}
.qpay-btn.paid{color:var(--slate);cursor:default}
.qpay-btn.paid:hover{background:white;color:var(--slate);border-color:var(--border)}

/* Row checkbox */
input[type=checkbox].row-check{
  width:15px;height:15px;cursor:pointer;accent-color:var(--teal);
}

/* ── MODALS ── */
.modal-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.5);
  z-index:300;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{
  background:white;border-radius:14px;box-shadow:var(--sh-lg);
  width:100%;max-width:460px;transform:scale(.96) translateY(8px);
  transition:transform .2s;overflow:hidden;
}
.modal-overlay.open .modal{transform:scale(1) translateY(0)}
.modal-head{
  padding:18px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
}
.modal-head h2{font-size:15px;font-weight:700}
.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--slate);padding:3px 7px;border-radius:5px}
.modal-close:hover{background:var(--bg)}
.modal-body{padding:20px}
.modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}

/* Status buttons in modal */
.status-btns{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.status-btn{
  flex:1;min-width:90px;padding:10px 6px;border-radius:8px;border:2px solid transparent;
  cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:11.5px;font-weight:700;
  text-align:center;transition:all .15s;
}
.status-btn.pagado{background:#DCFCE7;color:#166534;border-color:#DCFCE7}
.status-btn.pagado.sel{border-color:#166534;box-shadow:0 0 0 3px rgba(5,150,105,.15)}
.status-btn.parcial{background:#EDE9FE;color:#5B21B6;border-color:#EDE9FE}
.status-btn.parcial.sel{border-color:#5B21B6;box-shadow:0 0 0 3px rgba(124,58,237,.15)}
.status-btn.vencido{background:#FEE2E2;color:#991B1B;border-color:#FEE2E2}
.status-btn.vencido.sel{border-color:#991B1B;box-shadow:0 0 0 3px rgba(220,38,38,.15)}
.status-btn.pendiente{background:#FEF3C7;color:#92400E;border-color:#FEF3C7}
.status-btn.pendiente.sel{border-color:#92400E;box-shadow:0 0 0 3px rgba(217,119,6,.15)}
.status-btn.anulada{background:#FEF2F2;color:#991B1B;border-color:#FEF2F2}
.status-btn.anulada.sel{border-color:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.15)}
.status-btn.est-activa{background:#ECFDF5;color:#065F46;border-color:#ECFDF5}
.status-btn.est-activa.sel{border-color:#059669;box-shadow:0 0 0 3px rgba(5,150,105,.15)}
.status-btns.is-locked{opacity:.5;pointer-events:none}
.mp-section-lbl{font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.mp-anulada-banner{
  background:#FEF2F2;border:1px solid #FECACA;border-radius:8px;
  padding:10px 14px;margin-bottom:12px;font-size:12px;font-weight:600;
  color:#991B1B;display:flex;align-items:center;gap:8px;
}
/* SII faltantes upload button */
.sii-upload-btn{
  font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:6px;
  background:var(--teal);color:#fff;border:none;cursor:pointer;white-space:nowrap;
}
.sii-upload-btn:hover{background:#0284c7}
.sii-upload-btn.done{background:var(--green);cursor:default}

.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.field label{font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}
.field input,.field select,.field textarea{
  padding:8px 10px;border:1px solid var(--border);border-radius:7px;
  font-size:12.5px;color:var(--text);outline:none;transition:border .15s;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:white;
}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,165,233,.1)
}
.field textarea{resize:vertical;min-height:60px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Guías en modal de pago */
.mp-guia-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 10px;background:var(--bg);border-radius:6px;margin-bottom:4px;font-size:12px}
.mp-guia-folio{font-weight:700;color:var(--text)}
.mp-guia-fecha{color:var(--slate)}
.mp-guia-total{font-weight:700;color:var(--teal);text-align:right}
.mp-guias-resumen{display:flex;align-items:center;gap:10px;padding:8px 10px 0;font-size:12px;border-top:1px solid var(--border);margin-top:6px}
.mp-guias-resumen>span:first-child{color:var(--slate);flex:1}
.mp-guias-pct{font-size:11px;font-weight:600;background:var(--bg);padding:2px 8px;border-radius:20px}

.pago-info-box{
  background:var(--teal-l);border:1px solid #BAE6FD;border-radius:8px;
  padding:12px 14px;margin-bottom:14px;
}
.pago-info-box .pib-title{font-size:10.5px;font-weight:700;color:#0369A1;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.pago-info-box .pib-row{display:flex;justify-content:space-between;font-size:11.5px;padding:2px 0}
.pago-info-box .pib-val{font-weight:700;color:var(--text)}

/* ── DRAWER ── */
.drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.4);z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}
.drawer-overlay.open{opacity:1;pointer-events:all}
.drawer{
  position:fixed;top:0;right:0;width:500px;height:100vh;background:white;
  z-index:201;box-shadow:-8px 0 32px rgba(0,0,0,.16);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);
}
.drawer.open{transform:translateX(0)}
.drawer-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.drawer-head h2{font-size:14px;font-weight:700}
.drawer-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--slate);padding:3px 7px;border-radius:5px}
.drawer-close:hover{background:var(--bg)}
.drawer-body{flex:1;overflow-y:auto;padding:20px}
.drawer-section{margin-bottom:22px}
.drawer-section h3{font-size:10px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.drawer-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px}
.items-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px;table-layout:fixed}
.items-table th{padding:6px 8px;background:#F0F4F8;color:var(--slate);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.items-table td{padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.items-table tr:last-child td{border:none}
.items-table th:nth-child(1),.items-table td:nth-child(1){width:40%;white-space:normal;overflow:visible}
.items-table th:nth-child(2),.items-table td:nth-child(2){width:9%}
.items-table th:nth-child(3),.items-table td:nth-child(3){width:13%}
.items-table th:nth-child(4),.items-table td:nth-child(4){width:13%}
.items-table th:nth-child(5),.items-table td:nth-child(5){width:13%}
.items-table th:nth-child(6),.items-table td:nth-child(6){width:12%}
.cost-input{width:100px;padding:3px 6px;border:1px solid var(--border);border-radius:5px;font-size:11.5px;text-align:right;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.cost-input:focus{outline:none;border-color:var(--teal)}
.desc-input{
  width:100%;padding:3px 5px;border:1px solid transparent;border-radius:5px;
  font-size:12px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:transparent;color:var(--text);
  transition:border .15s,background .15s;
}
.desc-input:hover{border-color:var(--border);background:var(--bg)}
.desc-input:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 2px rgba(14,165,233,.1)}
.rent-pos{color:var(--green);font-weight:700}
.rent-neg{color:var(--red);font-weight:700}
.prod-badge{display:inline-block;margin-top:2px;padding:1px 6px;border-radius:4px;background:rgba(14,165,233,.1);color:var(--teal);font-size:10.5px;font-weight:600;letter-spacing:.3px;cursor:default}

/* ── CLIENTES ── */
.cli-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.cli-title-group{display:flex;align-items:center;gap:10px}
.cli-title{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.4px}
.cli-total-badge{background:var(--teal);color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;min-width:28px;text-align:center}
.cli-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cli-search-wrap{position:relative}
.cli-search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--slate);pointer-events:none}
.cli-search{padding:7px 10px 7px 30px;border:1px solid var(--border);border-radius:var(--r);font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12.5px;background:var(--card);color:var(--text);width:210px;transition:border .15s}
.cli-search:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 2px rgba(14,165,233,.12)}
.cli-sort{min-width:150px}

/* KPI strip — 6 cols */
.cli-kpi-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}
.cli-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:3px}
.cli-kpi-label{font-size:9.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.8px}
.cli-kpi-value{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.6px;line-height:1.1}
.cli-kpi-sub{font-size:10.5px;color:var(--slate)}
.cli-kpi.kpi-green .cli-kpi-value{color:var(--green)}
.cli-kpi.kpi-amber .cli-kpi-value{color:var(--amber)}
.cli-kpi.kpi-red   .cli-kpi-value{color:var(--red)}

/* Insights row */
.cli-insights-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.cli-insight-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px}
.cli-ic-header{display:flex;align-items:center;gap:7px;margin-bottom:14px}
.cli-ic-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--slate);flex:1}
.cli-ic-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px}
.cli-ic-badge-red{background:var(--red-l);color:var(--red)}
.cli-ic-badge-teal{background:rgba(14,165,233,.1);color:var(--teal)}
.cli-top-item{display:flex;align-items:center;gap:9px;padding:6px 8px;cursor:pointer;transition:background .12s;border-radius:8px;margin:0 -8px}
.cli-top-item:hover{background:var(--hover)}
.cli-top-rank{width:16px;font-size:10.5px;font-weight:700;color:var(--slate);text-align:center;flex-shrink:0}
.cli-top-ava{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;color:#fff;flex-shrink:0}
.cli-moroso-ava{width:28px;height:28px;border-radius:7px;background:var(--red-l);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;flex-shrink:0}
.cli-top-info{flex:1;min-width:0}
.cli-top-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cli-top-bar-wrap{height:3px;background:var(--border);border-radius:2px;margin-top:4px;overflow:hidden}
.cli-top-bar{height:3px;background:var(--teal);border-radius:2px;transition:width .5s ease}
.cli-top-val{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}
.cli-moroso-val{font-size:12px;font-weight:700;color:var(--red);white-space:nowrap;font-variant-numeric:tabular-nums}
.cli-empty-insight{text-align:center;padding:24px 8px;font-size:12px;color:var(--slate)}

/* Section separator */
.cli-section-sep{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.cli-section-sep::before,.cli-section-sep::after{content:'';flex:1;height:1px;background:var(--border)}
.cli-section-sep span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--slate);white-space:nowrap}

/* Cards grid */
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.client-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s,transform .18s}
.client-card:hover{box-shadow:var(--sh-md);border-color:var(--teal);transform:translateY(-2px)}
.cc-top{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 13px}
.cc-avatar{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#fff;letter-spacing:-.5px}
.cc-info{flex:1;min-width:0}
.cc-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.cc-rut{font-size:11px;color:var(--slate)}
.cc-credit-tag{display:inline-block;font-size:9px;font-weight:700;padding:1px 6px;border-radius:8px;background:rgba(14,165,233,.1);color:var(--teal);letter-spacing:.2px;margin-top:2px}
.cc-status-badge{flex-shrink:0;font-size:9px;font-weight:700;padding:3px 8px;border-radius:12px;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}
.cc-status-badge.st-pagado  {background:var(--green-l);color:var(--green)}
.cc-status-badge.st-pendiente{background:var(--amber-l);color:var(--amber)}
.cc-status-badge.st-vencido {background:var(--red-l);color:var(--red)}
.cc-status-badge.st-mixto   {background:var(--purple-l);color:var(--purple)}
.cc-status-badge.st-nula    {background:#f1f5f9;color:#94a3b8}
.cli-row-nula td{opacity:.5}
.cc-divider{height:1px;background:var(--border);margin:0 16px}
.cc-stats{display:flex;padding:10px 8px}
.cc-stat{flex:1;text-align:center;border-right:1px solid var(--border);padding:0 6px}
.cc-stat:last-child{border-right:none}
.cc-stat .v{font-size:13.5px;font-weight:700;color:var(--text);letter-spacing:-.3px;line-height:1.2}
.cc-stat .l{font-size:9px;color:var(--slate);text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.cc-stat-alert .v{color:var(--red)}
.cc-payment-wrap{padding:8px 16px 6px}
.cc-payment-bar{height:5px;border-radius:3px;overflow:hidden;display:flex;background:var(--border)}
.cc-seg-pagado  {background:var(--green);transition:width .4s}
.cc-seg-pendiente{background:var(--amber);transition:width .4s}
.cc-seg-vencido {background:var(--red);transition:width .4s}
.cc-payment-legend{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}
.cc-leg{display:flex;align-items:center;gap:4px;font-size:9.5px;color:var(--slate)}
.cc-leg-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.cc-footer{padding:10px 16px 14px;margin-top:auto;display:flex;gap:8px}
.cc-ficha-btn{flex:1;padding:7px 0;border-radius:7px;border:none;background:var(--teal);color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:all .15s}
.cc-ficha-btn:hover{background:#0284c7;box-shadow:0 2px 8px rgba(14,165,233,.25)}
.cc-cartola-btn{padding:7px 14px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--slate);font-size:12px;font-weight:600;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:all .15s}
.cc-cartola-btn:hover{background:var(--hover);color:var(--text)}

/* ── Drawer ficha cliente ── */
.cli-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:800;backdrop-filter:blur(2px)}
.cli-drawer{position:fixed;right:0;top:0;bottom:0;width:520px;max-width:100vw;background:var(--card);border-left:1px solid var(--border);z-index:801;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow:hidden}
.cli-drawer.open{transform:translateX(0)}
.cli-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.cli-drawer-title-group{display:flex;align-items:center;gap:12px}
.cli-drawer-avatar{width:44px;height:44px;border-radius:12px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0}
.cli-drawer-nombre{font-size:14px;font-weight:700;color:var(--text);line-height:1.3}
.cli-drawer-rut{font-size:11.5px;color:var(--slate);margin-top:1px}
.cli-drawer-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--slate);padding:4px 8px;border-radius:6px;line-height:1}
.cli-drawer-close:hover{background:var(--hover);color:var(--text)}
/* Drawer KPIs bar */
.cli-drawer-kpis{display:grid;grid-template-columns:repeat(3,1fr);flex-shrink:0;background:var(--bg);border-bottom:1px solid var(--border)}
.cli-dkpi{padding:11px 14px;text-align:center;border-right:1px solid var(--border)}
.cli-dkpi:last-child{border-right:none}
.cli-dkpi-lbl{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);margin-bottom:2px}
.cli-dkpi-val{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.cli-dkpi-val.is-amber{color:var(--amber)}
.cli-dkpi-val.is-red{color:var(--red)}
/* Tabs */
.cli-drawer-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 20px}
.cli-dtab{padding:10px 16px;border:none;background:none;font-size:12.5px;font-weight:600;color:var(--slate);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:color .15s}
.cli-dtab.active{color:var(--teal);border-bottom-color:var(--teal)}
.cli-dtab:hover:not(.active){color:var(--text)}
.cli-tab-panel{flex:1;overflow-y:auto;padding:20px}
/* Credit box */
.cli-credit-box{background:linear-gradient(135deg,rgba(14,165,233,.07),rgba(14,165,233,.02));border:1.5px solid rgba(14,165,233,.2);border-radius:10px;padding:14px 16px;margin-bottom:20px}
.cli-credit-box-title{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--teal);margin-bottom:12px}
.cli-credit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cli-credit-note{margin-top:10px;padding:8px 10px;background:rgba(14,165,233,.06);border-radius:6px;font-size:11px;color:var(--slate);line-height:1.5}
.cli-credit-note strong{color:var(--teal)}
/* Form layout */
.cli-form-section{margin-bottom:20px}
.cli-form-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.cli-form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.cli-form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.cli-form-group label{font-size:11px;font-weight:600;color:var(--slate)}
.cli-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:7px;font-size:12.5px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--text);outline:none;transition:border .15s;box-sizing:border-box}
.cli-input:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(14,165,233,.1)}
.cli-textarea{resize:vertical;min-height:72px;line-height:1.5}
.cli-drawer-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 0 4px;border-top:1px solid var(--border);margin-top:8px}
/* Docs tab — filter bar */
.cli-docs-filter-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.cli-docs-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cli-docs-shortcuts{display:flex;gap:5px;flex-wrap:wrap}
.cli-docs-date-inp{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:11.5px;background:var(--card);color:var(--text);font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;outline:none;transition:border .12s}
.cli-docs-date-inp:focus{border-color:var(--teal)}
.cli-docs-filter-clear{padding:3px 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--slate);font-size:11px;cursor:pointer;transition:all .12s;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.cli-docs-filter-clear:hover{background:var(--red-l);border-color:var(--red);color:var(--red)}
.cli-docs-filter-count{margin-left:auto;font-size:10.5px;color:var(--slate);font-weight:600;white-space:nowrap}
.cli-ds-chip{padding:3px 11px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--slate);font-size:10.5px;font-weight:600;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:all .12s;white-space:nowrap;line-height:1.6}
.cli-ds-chip:hover{border-color:var(--teal);color:var(--teal);background:rgba(14,165,233,.06)}
.cli-ds-chip.active{background:var(--teal);border-color:var(--teal);color:#fff}
/* Docs tab — summary */
.cli-docs-summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.cli-ds-item{display:flex;flex-direction:column;gap:2px}
.cli-ds-lbl{font-size:10.5px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.cli-ds-val{font-size:15px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.cli-ds-warn{color:var(--amber)}
.cli-ds-err{color:var(--red)}
.cli-docs-table{width:100%;border-collapse:collapse;font-size:12px}
.cli-docs-table th{padding:7px 10px;text-align:left;font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap}
.cli-docs-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}
.cli-docs-table tbody tr:last-child td{border-bottom:none}
.cli-docs-table tbody tr:hover{background:var(--hover)}
.cli-row-vencida td:not(:last-child){opacity:.8}
@media(max-width:600px){.cli-drawer{width:100vw}.cli-credit-grid,.cli-form-grid2{grid-template-columns:1fr}}

/* empty state */
.cli-empty{grid-column:1/-1;text-align:center;padding:56px 24px;color:var(--slate)}
.cli-empty-icon{font-size:36px;margin-bottom:10px;opacity:.4}
.cli-empty-msg{font-size:13px;font-weight:500}

/* ── CARTOLA PAGE ── */
.cartola-setup{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  padding:22px 24px;margin-bottom:20px;box-shadow:var(--sh);
}
.cartola-setup h3{font-size:13px;font-weight:700;margin-bottom:14px;color:var(--text)}
.cartola-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.cartola-filters .field{margin-bottom:0;min-width:200px}
.cartola-autocomplete{position:relative;min-width:280px}
.cartola-search-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--text);outline:none;transition:border-color .15s}
.cartola-search-input:focus{border-color:var(--teal)}
.cartola-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.13);z-index:200;max-height:260px;overflow-y:auto}
.cartola-drop-item{padding:9px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--border);transition:background .1s}
.cartola-drop-item:last-child{border-bottom:none}
.cartola-drop-item:hover{background:var(--teal-l)}
.cdi-nom{font-size:12.5px;font-weight:600;color:var(--text)}
.cdi-rut{font-size:11px;color:var(--slate);flex-shrink:0}
.cartola-drop-empty{color:var(--slate);font-size:12px;cursor:default}
.cartola-drop-empty:hover{background:transparent}
.cartola-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.cartola-summary-card{
  border-radius:var(--r);padding:18px 20px;border:1px solid;
}
.cs-default{background:var(--card);border-color:var(--border)}
.cs-default .cs-label{color:var(--slate)}
.cs-default .cs-amount{color:var(--text)}
.cs-default .cs-count{color:var(--slate)}
.cs-vencido{background:#FEF2F2;border-color:#FECACA}
.cs-por-vencer{background:#FFFBEB;border-color:#FDE68A}
.cs-pagado{background:#ECFDF5;border-color:#A7F3D0}
.cs-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.cs-vencido .cs-label{color:#991B1B}
.cs-por-vencer .cs-label{color:#92400E}
.cs-pagado .cs-label{color:#065F46}
.cs-amount{font-size:22px;font-weight:800;letter-spacing:-.5px}
.cs-vencido .cs-amount{color:#DC2626}
.cs-por-vencer .cs-amount{color:#D97706}
.cs-pagado .cs-amount{color:#059669}
.cs-count{font-size:11px;margin-top:3px}
.cs-vencido .cs-count{color:#991B1B}
.cs-por-vencer .cs-count{color:#92400E}
.cs-pagado .cs-count{color:#065F46}
.vencida-row td{background:rgba(220,38,38,.045)!important}
.badge-vencida{display:inline-block;padding:1px 6px;border-radius:3px;background:#DC2626;color:#fff;font-size:9px;font-weight:700;letter-spacing:.4px;margin-left:4px;vertical-align:middle}
/* ── CARTOLA — filas con color completo por estado ── */
.badge-nc-estado{background:#EFF6FF;color:#1D4ED8}
.cartola-row-nc td{background:#EFF6FF!important;font-style:italic}
.cartola-row-nc:hover td{background:#DBEAFE!important}
.cartola-row-pagado td{background:#F0FDF4!important}
.cartola-row-pagado:hover td{background:#DCFCE7!important}
.cartola-row-vencido td{background:rgba(220,38,38,.07)!important}
.cartola-row-vencido:hover td{background:rgba(220,38,38,.13)!important}
.cartola-row-pendiente td{background:#FFFBEB!important}
.cartola-row-pendiente:hover td{background:#FEF3C7!important}
.cartola-row-parcial td{background:#F5F3FF!important}
.cartola-row-parcial:hover td{background:#EDE9FE!important}
.cartola-row-anulada td{background:#F3F4F6!important;opacity:.82}
.cartola-row-anulada:hover td{background:#E5E7EB!important;opacity:1}
/* ── CPDF ITEMS INPUT ── */
.cpdf-item-input{font-family:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--card);color:var(--text);width:100%;box-sizing:border-box;outline:none;transition:border-color .15s}
.cpdf-item-input:focus{border-color:var(--teal);box-shadow:0 0 0 2px rgba(14,165,233,.12)}
.cpdf-items-note{font-size:10px;color:var(--slate);font-weight:400;margin-left:8px;font-style:italic}
/* Sugerencias de normalización en el modal de carga */
.cpdf-sug{font-size:10.5px;color:#64748B;margin-top:3px;line-height:1.5}
.cpdf-sug-arrow{color:#94A3B8}
.cpdf-sug-conf{font-weight:700;font-size:10px}
.cpdf-sug-none{color:#94A3B8;font-style:italic}
.cpdf-sug-btn{margin-left:4px;background:#EFF6FF;border:1px solid #BFDBFE;color:#2563EB;font-size:10px;font-weight:700;border-radius:5px;padding:1px 7px;cursor:pointer}
.cpdf-sug-btn:hover{background:#DBEAFE}
.cpdf-sug-btn-done{background:#F0FDF4;border-color:#BBF7D0;color:#16A34A;cursor:default}

/* ── SII — Conciliación ── */
.sii-hint{font-size:12px;color:var(--slate);margin-bottom:14px;line-height:1.5}
.sii-nota{font-size:12px;color:var(--slate);margin-bottom:10px;line-height:1.5}
.sii-periodo-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sii-lbl{font-size:12px;color:var(--slate);font-weight:600}
.sii-sel{font-size:12.5px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);cursor:pointer}
.sii-zones{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sii-zone{border:2px dashed var(--border);border-radius:12px;padding:24px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--bg)}
.sii-zone:hover{border-color:var(--teal);background:var(--teal-l)}
.sii-zone.loaded{border-color:var(--green);background:var(--green-l);border-style:solid}
.sii-zone-ico{font-size:28px;margin-bottom:6px}
.sii-zone-titulo{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px}
.sii-zone-sub{font-size:11.5px;color:var(--slate)}
.sii-zone-badge{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;background:var(--green);color:#fff}
.sii-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.sii-kpi-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;text-align:center}
.sii-kpi-card.ok{border-color:#86EFAC;background:var(--green-l)}
.sii-kpi-card.error{border-color:#FCA5A5;background:var(--red-l)}
.sii-kpi-lbl{font-size:10.5px;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.sii-kpi-num{font-size:17px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.sii-kpi-card.ok .sii-kpi-num{color:var(--green)}
.sii-kpi-card.error .sii-kpi-num{color:var(--red)}
.sii-banner{padding:10px 14px;border-radius:8px;font-size:12.5px;font-weight:500;margin-bottom:14px;line-height:1.5}
.sii-banner.ok{background:var(--green-l);color:#065F46;border:1px solid #86EFAC}
.sii-banner.error{background:var(--red-l);color:#991B1B;border:1px solid #FCA5A5}
.sii-tabs-row{display:flex;gap:2px;padding-bottom:0}
.sii-tab-btn{padding:7px 14px;font-size:12.5px;font-weight:600;border:none;background:none;color:var(--slate);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;display:inline-flex;align-items:center;gap:6px;transition:color .15s}
.sii-tab-btn:hover{color:var(--text);background:var(--bg)}
.sii-tab-btn.active{color:var(--teal);border-bottom-color:var(--teal)}
.sii-tab-cnt{font-size:10.5px;padding:1px 6px;border-radius:10px;background:var(--bg);color:var(--slate);font-weight:700}
.sii-tab-btn.active .sii-tab-cnt{background:var(--teal-l);color:var(--teal)}
.sii-tab-btn.has-errors .sii-tab-cnt{background:#FEE2E2;color:var(--red)}
.sii-tab-panel{padding:16px}
.sii-table-wrap{overflow-x:auto}
.sii-table{width:100%;border-collapse:collapse;font-size:12.5px}
.sii-table th{text-align:left;padding:8px 10px;font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.3px;border-bottom:2px solid var(--border);background:var(--bg);white-space:nowrap}
.sii-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}
.sii-table tr:last-child td{border-bottom:none}
.sii-table tr:hover td{background:#F8FAFC}
.sii-folio{font-weight:700;font-variant-numeric:tabular-nums}
.sii-rut{font-size:11.5px;color:var(--text2)}
.sii-razon{font-size:11.5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sii-desc{font-size:11.5px;color:var(--slate)}
.sii-total{font-weight:700}
.sii-badge-tipo{display:inline-block;padding:1px 7px;border-radius:4px;font-size:10.5px;font-weight:700}
.sii-badge-tipo.nc{background:var(--amber-l);color:var(--amber)}
.sii-badge-tipo.nd{background:var(--amber-l);color:var(--amber)}
.sii-badge-tipo.bol{background:var(--purple-l);color:var(--purple)}
.sii-badge-tipo.fac{background:var(--teal-l);color:var(--teal-d)}
.sii-etiqueta{display:inline-block;padding:1px 7px;border-radius:4px;font-size:10.5px;font-weight:700}
.sii-etiqueta.err{background:#FEE2E2;color:var(--red)}
.sii-empty{text-align:center;padding:32px 16px;color:var(--slate);font-size:13px}
.folio-pill{display:inline-block;margin:2px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:700}
.folio-ok{background:#DCFCE7;color:#166534}
.folio-pend{background:#FEE2E2;color:#991B1B}
@media(max-width:700px){.sii-zones{grid-template-columns:1fr}.sii-kpis{grid-template-columns:repeat(2,1fr)}.sii-kpis .sii-kpi-card:last-child{grid-column:1/-1}.sii-hist-table th,.sii-hist-table td{padding:6px 8px;font-size:11px}}
.sii-hist-card{}
.sii-hist-table{width:100%;border-collapse:collapse;font-size:12.5px}
.sii-hist-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);white-space:nowrap}
.sii-hist-table td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}
.sii-hist-table tbody tr:last-child td{border-bottom:none}
.sii-hist-table tbody tr:hover{background:var(--hover)}
.sii-hist-estado{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700}
.sii-hist-estado.ok{background:#DCFCE7;color:#166534}
.sii-hist-estado.warn{background:#FEF3C7;color:#92400E}
.sii-hist-estado.err{background:#FEE2E2;color:#991B1B}
.sii-hist-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:3px 8px;cursor:pointer;font-size:12px;color:var(--slate);transition:background .15s,color .15s}
.sii-hist-btn:hover{background:var(--hover);color:var(--text)}
.sii-hist-btn.del{border-color:#FCA5A5;color:#DC2626}
.sii-hist-btn.del:hover{background:#FEE2E2}

/* ── RENT ── */
.rent-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.no-data-msg{text-align:center;padding:44px 20px;color:var(--slate)}
.no-data-msg .nd-icon{font-size:38px;margin-bottom:10px}
.no-data-msg h3{font-size:15px;font-weight:700;margin-bottom:5px;color:var(--text)}
.no-data-msg p{font-size:12.5px;max-width:320px;margin:0 auto}
.rent-section{display:none}.rent-section.active{display:block}
.rent-filter-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  padding:10px 14px;margin-bottom:18px;box-shadow:var(--sh);
}
.rent-kpi-skeleton{min-height:90px;animation:rentSkeleton 1.2s ease-in-out infinite}
@keyframes rentSkeleton{0%,100%{opacity:.35}50%{opacity:.12}}
.rent-coverage{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  padding:16px 20px;box-shadow:var(--sh);margin-bottom:18px;
}
.rent-coverage-title{font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.rent-coverage-bar-bg{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:6px}
.rent-coverage-bar-fill{height:100%;border-radius:4px;background:var(--teal);transition:width .5s ease}
.rent-coverage-sub{font-size:11.5px;color:var(--slate)}
.rent-pct-bar{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}
.rent-pct-track{width:56px;height:5px;background:var(--border);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle}
.rent-pct-fill{height:100%;border-radius:3px;transition:width .3s;display:block}
.rent-pct-fill.pos{background:var(--green)}
.rent-pct-fill.neg{background:var(--red)}
@media(max-width:768px){.rent-kpi-grid{grid-template-columns:1fr 1fr}}

/* ── TOAST ── */
.toast-container{position:fixed;bottom:22px;right:22px;z-index:9999;display:flex;flex-direction:column;gap:7px}
.toast{
  padding:11px 16px;border-radius:8px;color:white;font-size:12.5px;font-weight:600;
  box-shadow:var(--sh-md);animation:slideIn .2s ease;display:flex;align-items:center;gap:8px;
}
.toast.success{background:#059669}
.toast.error{background:#DC2626}
.toast.info{background:var(--teal)}
@keyframes slideIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ── PRÓXIMOS VENCIMIENTOS ── */
.prox-item{display:flex;align-items:center;padding:9px 18px;border-bottom:1px solid var(--border);gap:10px;font-size:12px}
.prox-item:last-child{border-bottom:none}
.prox-folio{font-weight:700;min-width:52px}
.prox-cli{flex:1;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prox-date{font-size:11px;color:var(--slate);min-width:80px;text-align:right}
.prox-amt{font-weight:700;min-width:90px;text-align:right}
.prox-urgent{color:var(--red)}
.prox-soon{color:var(--amber)}
.prox-ok{color:var(--green)}

/* ── FILTER BAR ── */
.filter-bar{
  background:var(--card);border-bottom:1px solid var(--border);
  padding:10px 24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  position:sticky;top:54px;z-index:40;
}
.period-btns{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:3px}
.period-btn{
  padding:5px 11px;border-radius:6px;border:none;background:transparent;
  font-size:11.5px;font-weight:600;color:var(--slate);cursor:pointer;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:all .15s;white-space:nowrap;
}
.period-btn.active{
  background:var(--teal);color:#fff;
  box-shadow:0 2px 8px rgba(13,148,136,.35);
  transform:translateY(-1px);
}
.periodo-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(13,148,136,.12);border:1px solid rgba(13,148,136,.3);
  color:var(--teal);border-radius:20px;padding:4px 12px;
  font-size:12px;font-weight:700;white-space:nowrap;letter-spacing:.3px;
}
.periodo-badge .pb-dot{
  width:7px;height:7px;border-radius:50%;background:var(--teal);
  animation:pulse-dot 1.8s ease-in-out infinite;flex-shrink:0;
}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.fb-sep{width:1px;height:20px;background:var(--border);flex-shrink:0}
.fb-sel{
  padding:7px 28px 7px 12px;border-radius:9px;border:1px solid var(--border);
  font-size:11.5px;background:var(--card);color:var(--text2);cursor:pointer;
  font-family:inherit;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394a3b8'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 7px center;
}
.fb-date{
  padding:5px 8px;border-radius:7px;border:1px solid var(--border);
  font-size:11.5px;background:white;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
#customDatesRow{display:none;align-items:center;gap:6px}
.fb-label{font-size:11px;color:var(--slate);font-weight:600}

/* ── DASHBOARD TABS ── */
.dash-tabs{
  display:flex;gap:4px;margin-bottom:24px;overflow-x:auto;
  background:var(--card);border:1px solid var(--border);border-radius:14px;padding:5px;box-shadow:var(--sh);
}
.dash-tab{
  padding:9px 16px;border:none;background:transparent;cursor:pointer;border-radius:9px;
  font-family:inherit;font-size:12.5px;font-weight:700;
  color:var(--slate);white-space:nowrap;transition:var(--transition);
}
.dash-tab:hover{color:var(--navy);background:var(--hover)}
.dash-tab.active{color:#fff;background:var(--navy);box-shadow:var(--sh)}
.dash-section{display:none}
.dash-section.active{display:block}

/* ── CHART TOOLBAR ── */
.chart-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}
.toggle-group{display:flex;background:var(--bg);border-radius:6px;padding:2px;gap:2px}
.toggle-btn{
  padding:4px 10px;border-radius:5px;border:none;background:transparent;
  font-size:11px;font-weight:600;color:var(--slate);cursor:pointer;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:all .15s;
}
.toggle-btn.active{background:white;color:var(--teal);box-shadow:0 1px 4px rgba(0,0,0,.12)}

/* ── SUCURSAL BADGE ── */
.badge-stgo{background:#DBEAFE;color:#1D4ED8;font-size:10px;padding:2px 7px;border-radius:4px;font-weight:700}
.badge-tmco{background:#FEF3C7;color:#92400E;font-size:10px;padding:2px 7px;border-radius:4px;font-weight:700}

/* ── SECTION HEADER ── */
.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--border)}
.sec-header h2{font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px}
.sec-badge{font-size:11px;color:var(--slate);background:var(--bg);padding:3px 10px;border-radius:12px;border:1px solid var(--border)}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  #sidebar{transform:translateX(-100%)}
  #sidebar.open{transform:translateX(0)}
  #main{margin-left:0}
  .charts-row,.charts-row2{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .drawer{width:100%}
  .cartola-summary-grid{grid-template-columns:1fr 1fr}
}
/* ── BOLETA TAG ── */
.tag-boleta{
  display:inline-flex;align-items:center;background:#EDE9FE;color:#5B21B6;
  font-size:9.5px;font-weight:700;border-radius:var(--radius-sm);
  padding:2px 7px;vertical-align:middle;margin-left:4px;letter-spacing:.3px;
  line-height:1.4;
}
/* ── MODAL BOLETA ── */
.blt-overlay{
  position:fixed;inset:0;background:rgba(13,22,40,.6);z-index:500;
  opacity:0;pointer-events:none;transition:opacity .2s;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(2px);
}
.blt-overlay.open{opacity:1;pointer-events:all}
.blt-modal{
  background:#fff;border-radius:var(--radius-lg);width:100%;max-width:480px;
  box-shadow:0 24px 64px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.04);
  transform:scale(.96) translateY(10px);transition:transform .22s cubic-bezier(.34,1.56,.64,1);overflow:hidden;
}
.blt-overlay.open .blt-modal{transform:scale(1) translateY(0)}
.blt-head{
  background:linear-gradient(135deg,#7C3AED,#5B21B6);
  color:#fff;padding:16px 20px;
  display:flex;align-items:center;justify-content:space-between;
}
.blt-head h2{font-size:14px;font-weight:700}
.blt-head .sub{font-size:10.5px;opacity:.7;margin-top:2px}
.blt-close{background:none;border:none;color:rgba(255,255,255,.8);font-size:18px;cursor:pointer;padding:3px 7px;border-radius:5px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.blt-close:hover{background:rgba(255,255,255,.15);color:#fff}
.blt-body{padding:20px;display:flex;flex-direction:column;gap:12px}
.blt-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.blt-field{display:flex;flex-direction:column;gap:4px}
.blt-field label{font-size:10px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}
.blt-field input,.blt-field select{
  padding:8px 10px;border:1px solid var(--border);border-radius:7px;
  font-size:12.5px;color:var(--text);outline:none;transition:border .15s;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;background:#fff;
}
.blt-field input:focus,.blt-field select:focus{border-color:#7C3AED;box-shadow:0 0 0 3px rgba(124,58,237,.1)}
.blt-monto-preview{
  background:#F5F3FF;border:1px solid #DDD6FE;border-radius:8px;
  padding:10px 14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;
  font-size:11px;
}
.blt-monto-preview .pm-item .lbl{color:#7C3AED;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.blt-monto-preview .pm-item .val{font-size:13px;font-weight:700;color:var(--text);margin-top:2px}
.blt-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}
.blt-btn-save{background:#7C3AED;color:#fff;padding:8px 20px;border-radius:7px;border:none;font-size:12.5px;font-weight:700;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.blt-btn-save:hover{background:#5B21B6}
.blt-btn-cancel{background:var(--bg);color:var(--text2);padding:8px 16px;border-radius:7px;border:1px solid var(--border);font-size:12.5px;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
/* lista boletas manuales */
.blt-list-item{
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  background:#FAFBFF;border:1px solid #EDE9FE;border-radius:8px;margin-bottom:6px;
}
.blt-list-item .blt-folio{font-weight:700;color:#5B21B6;min-width:60px}
.blt-list-item .blt-info{flex:1;font-size:12px}
.blt-list-item .blt-del{background:none;border:none;color:var(--red);cursor:pointer;font-size:14px;padding:3px 6px;border-radius:4px}
.blt-list-item .blt-del:hover{background:var(--red-l)}

/* ── BOTÓN AGREGAR BOLETA (glow PRO) ── */
.btn-primary[onclick*="Boleta"]:hover,
button[onclick*="Boleta"].btn-primary:hover{
  box-shadow:0 0 0 3px rgba(14,165,233,.3),0 4px 12px rgba(14,165,233,.25);
}

/* ── TIPOGRAFÍA DE MONTOS CLP ── */
.monto-positivo,.monto-pos{
  font-weight:700;color:var(--green);font-variant-numeric:tabular-nums;
}
.monto-negativo,.monto-neg{
  font-weight:700;color:var(--red);font-variant-numeric:tabular-nums;
}
.monto-neutral{
  font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;
}

/* ── ESTADO VACÍO (empty state) ── */
.no-data-msg{
  text-align:center;padding:56px 20px;color:var(--slate);
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.no-data-msg .nd-icon{font-size:44px;margin-bottom:4px;opacity:.6}
.no-data-msg h3{font-size:15px;font-weight:700;margin-bottom:4px;color:var(--text)}
.no-data-msg p{font-size:12.5px;max-width:320px;margin:0 auto;line-height:1.6}
.no-data-msg .nd-cta{
  margin-top:14px;padding:8px 20px;border-radius:8px;
  background:var(--teal);color:#fff;font-size:12.5px;font-weight:600;
  border:none;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:var(--transition);
}
.no-data-msg .nd-cta:hover{background:var(--teal-d)}

/* ── SCROLLBAR PERSONALIZADO ── */
.com-body::-webkit-scrollbar,
.drawer-body::-webkit-scrollbar,
[style*="overflow-x:auto"]::-webkit-scrollbar,
.blt-body::-webkit-scrollbar{
  width:6px;height:6px;
}
.com-body::-webkit-scrollbar-track,
.drawer-body::-webkit-scrollbar-track,
[style*="overflow-x:auto"]::-webkit-scrollbar-track,
.blt-body::-webkit-scrollbar-track{
  background:transparent;
}
.com-body::-webkit-scrollbar-thumb,
.drawer-body::-webkit-scrollbar-thumb,
[style*="overflow-x:auto"]::-webkit-scrollbar-thumb,
.blt-body::-webkit-scrollbar-thumb{
  background:#CBD5E1;border-radius:10px;
}
.com-body::-webkit-scrollbar-thumb:hover,
.drawer-body::-webkit-scrollbar-thumb:hover,
.blt-body::-webkit-scrollbar-thumb:hover{
  background:#94A3B8;
}

/* ── RESPONSIVE MEJORADO ── */
@media(max-width:768px){
  .kpi-grid{grid-template-columns:1fr 1fr!important}
  .kpi-val{font-size:22px}
  .charts-row,.charts-row2{grid-template-columns:1fr}
  .rent-kpi-grid{grid-template-columns:1fr 1fr}
  .topbar-search input{width:160px}
  .topbar{padding:0 12px}
  .content{padding:14px 12px}
  .cli-kpi-strip{grid-template-columns:repeat(3,1fr)}
  .cli-insights-row{grid-template-columns:1fr}
  .cli-header{flex-direction:column;align-items:flex-start}
  .cli-search{width:100%}
  .cli-toolbar{width:100%}
  .cli-search-wrap{flex:1}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr!important}
  .filter-bar{flex-direction:column;align-items:flex-start}
  .period-btns{flex-wrap:wrap}
  .cli-kpi-strip{grid-template-columns:1fr 1fr}
  .client-grid{grid-template-columns:1fr}
}

/* ── PANTALLA DE LOGIN v3-dev ── */
.login-screen{position:fixed;inset:0;background:#0a0f1e;z-index:10000;display:flex;flex-direction:row}
.login-screen.hidden{display:none}

/* Columna izquierda */
.lv3-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;position:relative;overflow:hidden}
.lv3-left::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}

.lv3-dev-badge{position:absolute;top:1.5rem;left:1.5rem;background:rgba(124,58,237,.15);border:1px solid rgba(139,92,246,.4);color:#a78bfa;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:4px 10px;border-radius:100px;text-transform:uppercase}

.lv3-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;color:#e2e8f0;font-weight:700;font-size:1.05rem;letter-spacing:-.3px}
.lv3-brand-icon{color:#8b5cf6;font-size:1.2rem}

.lv3-form-wrap{width:100%;max-width:400px}

.lv3-title{font-size:2.5rem;font-weight:300;color:#f1f5f9;letter-spacing:-.04em;line-height:1.15;margin:0 0 .5rem;font-family:'Sora',sans-serif}
.lv3-desc{color:#94a3b8;font-size:.875rem;margin-bottom:2rem}

.lv3-field{margin-bottom:1rem}
.lv3-label{display:block;font-size:.72rem;font-weight:600;color:#94a3b8;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}

.lv3-input-wrap{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);backdrop-filter:blur(8px);transition:border-color .2s,background .2s}
.lv3-input-wrap:focus-within{border-color:rgba(139,92,246,.6);background:rgba(139,92,246,.07)}

.lv3-input{width:100%;background:transparent;border:none;outline:none;padding:14px 16px;font-size:.875rem;color:#e2e8f0;font-family:'Sora',-apple-system,sans-serif;box-sizing:border-box}
.lv3-input::placeholder{color:#475569}

.lv3-pw-wrap{position:relative;display:flex}
.lv3-pw-wrap .lv3-input{padding-right:3rem}
.lv3-pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#64748b;transition:color .15s;display:flex;padding:4px}
.lv3-pw-toggle:hover{color:#c4b5fd}

.lv3-remember{display:flex;align-items:center;margin-bottom:.75rem}
.lv3-check-label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#94a3b8;cursor:pointer;user-select:none}
.lv3-check{width:15px;height:15px;accent-color:#8b5cf6;cursor:pointer}

.lv3-btn{width:100%;padding:14px;background:#7c3aed;color:#fff;border:none;border-radius:14px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:'Sora',sans-serif;margin-top:.25rem;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 4px 24px rgba(124,58,237,.35)}
.lv3-btn:hover{background:#6d28d9;box-shadow:0 6px 28px rgba(124,58,237,.5)}
.lv3-btn:active{transform:scale(.98)}
.lv3-btn:disabled{background:#374151;color:#6b7280;cursor:not-allowed;box-shadow:none}

.lv3-error-msg{color:#f87171;font-size:.8rem;margin-top:.6rem;text-align:center;min-height:1.2rem}

.lv3-footer{position:absolute;bottom:1.5rem;display:flex;gap:.5rem;font-size:.72rem;color:#334155}
.lv3-version{color:#8b5cf6;font-weight:600}

/* Columna derecha */
.lv3-right{display:none;flex:1;position:relative;padding:1.25rem;animation:lv3SlideRight .7s cubic-bezier(.22,1,.36,1) .1s both}
@media(min-width:768px){.lv3-right{display:block}}

.lv3-hero-img{position:absolute;inset:1.25rem;border-radius:24px;background-size:cover;background-position:center}
.lv3-hero-img::after{content:'';position:absolute;inset:0;border-radius:24px;background:linear-gradient(to top,rgba(10,15,30,.88) 0%,rgba(10,15,30,.1) 55%,transparent 100%)}

.lv3-cards{position:absolute;bottom:2.5rem;left:2.75rem;right:2.75rem;display:flex;gap:.75rem;flex-wrap:wrap;z-index:2}
.lv3-card{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.1rem;border-radius:18px;background:rgba(10,15,30,.55);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);min-width:130px}
.lv3-card-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.lv3-dot-green{background:#4ade80;box-shadow:0 0 6px #4ade80}
.lv3-dot-violet{background:#a78bfa;box-shadow:0 0 6px #8b5cf6}
.lv3-dot-blue{background:#60a5fa;box-shadow:0 0 6px #3b82f6}
.lv3-card-label{font-size:.63rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.lv3-card-val{font-size:.78rem;color:#e2e8f0;font-weight:500;margin-top:1px}

/* Animaciones de entrada */
@keyframes lv3FadeUp{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes lv3SlideRight{from{opacity:0;transform:translateX(30px);filter:blur(4px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}
@keyframes lv3CardIn{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}

.lv3-anim{opacity:0;animation:lv3FadeUp .5s cubic-bezier(.22,1,.36,1) forwards}
.lv3-d1{animation-delay:.05s}.lv3-d2{animation-delay:.12s}.lv3-d3{animation-delay:.19s}.lv3-d4{animation-delay:.26s}
.lv3-card-anim{opacity:0;animation:lv3CardIn .6s cubic-bezier(.22,1,.36,1) forwards}
.lv3-cd1{animation-delay:.4s}.lv3-cd2{animation-delay:.55s}.lv3-cd3{animation-delay:.7s}

/* ── LOADING OVERLAY ── */
.loading-overlay{
  position:fixed;inset:0;background:rgba(13,22,40,.75);z-index:9500;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;
}
.loading-overlay.hidden{display:none}
.loading-spinner{
  width:40px;height:40px;border:3px solid rgba(14,165,233,.3);
  border-top-color:#0EA5E9;border-radius:50%;animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-msg{color:#fff;font-size:13px;font-weight:600;letter-spacing:.3px}

/* ── PRINT GLOBAL (dashboard directo) ── */
@media print{
  #sidebar,
  .topbar,
  .filter-bar,
  .mass-bar,
  .toast-container,
  .com-overlay,
  .blt-overlay,
  .modal-overlay,
  .drawer-overlay,
  .btn-primary[onclick*="Boleta"],
  .sb-bottom,
  .topbar-right{
    display:none!important;
  }
  #main{margin-left:0!important}
  body{font-size:11px;background:white}
  .card,.kpi,.client-card{
    box-shadow:none!important;
    border:1px solid #ddd!important;
    break-inside:avoid;
  }
  .data-table th{background:#1F3864!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kpi::before{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .page{display:block!important}
  .page:not(.active){display:none!important}
  .dash-section{display:block!important}
  .dash-section:not(.active){display:none!important}
  canvas{max-height:160px}
  .content{padding:12px 8px}
}

/* ── PANEL COMISIONES ── */
/* ── PANEL COMISIONES ─────────────────────────────────────── */
.com-overlay{
  position:fixed;inset:0;background:rgba(13,22,40,.55);z-index:400;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.com-overlay.open{opacity:1;pointer-events:all}
.com-panel{
  position:fixed;top:0;right:0;width:min(820px,100vw);height:100vh;
  background:#F0F4F8;display:flex;flex-direction:column;
  box-shadow:-10px 0 48px rgba(0,0,0,.22);
  transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  z-index:401;
}
.com-panel.open{transform:translateX(0)}
.com-head{
  background:linear-gradient(135deg,#0A0F1E 0%,#0D1628 50%,#1a2744 100%);
  color:#fff;padding:20px 24px;display:flex;align-items:center;gap:14px;
  flex-shrink:0;border-bottom:1px solid rgba(14,165,233,.2);
}
.com-head-info{flex:1}
.com-head-info h2{font-size:16px;font-weight:800;letter-spacing:-.3px}
.com-head-info .sub{font-size:11.5px;opacity:.6;margin-top:3px;font-weight:400}
.com-head-actions{display:flex;gap:7px;align-items:center}
.com-btn{
  display:inline-flex;align-items:center;gap:5px;padding:6px 13px;
  border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;
  border:none;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;transition:all .15s;
}
.com-btn-print{background:#0EA5E9;color:#fff}
.com-btn-print:hover{background:#0284C7}
.com-btn-send{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.com-btn-send:hover{background:rgba(255,255,255,.2)}
.com-btn-close{background:none;color:rgba(255,255,255,.7);font-size:18px;padding:4px 8px;border:none;cursor:pointer;border-radius:5px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.com-btn-close:hover{background:rgba(255,255,255,.1);color:#fff}
.com-period{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  border-radius:6px;color:#fff;font-size:11.5px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  padding:5px 9px;outline:none;cursor:pointer;
}
.com-body{flex:1;overflow-y:auto;padding:20px 24px}
.com-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.com-kpi{
  background:#fff;border-radius:10px;padding:14px 18px;
  box-shadow:0 1px 4px rgba(0,0,0,.06);border-top:3px solid var(--teal);
  transition:box-shadow .15s;
}
.com-kpi:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}
.com-kpi.desp{border-top-color:var(--red)}
.com-kpi.base{border-top-color:var(--green)}
.com-kpi .lbl{font-size:9.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
.com-kpi .val{font-size:18px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.com-kpi .sub{font-size:10px;color:var(--slate);margin-top:3px}
/* tabla clientes */
.com-cliente-block{background:#fff;border-radius:9px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.com-cli-header{
  display:flex;align-items:center;gap:10px;padding:11px 16px;
  background:#F8FAFC;border-bottom:1px solid var(--border);cursor:pointer;
  user-select:none;transition:background .12s;
}
.com-cli-header:hover{background:#EEF2F7}
.com-cli-name{font-size:13px;font-weight:700;flex:1}
.com-cli-rut{font-size:11px;color:var(--slate);margin-left:4px}
.com-cli-totals{display:flex;gap:16px;align-items:center}
.com-cli-tot .lbl{font-size:9px;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}
.com-cli-tot .val{font-size:12px;font-weight:700}
.com-cli-tot.base .val{color:var(--green)}
.com-cli-tot.desp .val{color:var(--red)}
.com-cli-toggle{font-size:11px;color:var(--slate);transition:transform .2s}
.com-cli-toggle.open{transform:rotate(180deg)}
/* tabla folios dentro del bloque cliente */
.com-folios-table{width:100%;border-collapse:collapse;font-size:12px}
.com-folios-table th{
  padding:7px 12px;background:#F0F4F8;color:var(--slate);
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
}
.com-folios-table td{padding:6px 12px;border-bottom:1px solid #F1F5F9}
.com-folios-table tr:last-child td{border:none}
.com-folios-table .num{text-align:right}
.com-folios-table .folio-link{
  color:var(--teal);font-weight:700;cursor:pointer;text-decoration:underline;
  text-underline-offset:2px;
}
.com-folios-table .folio-link:hover{color:var(--teal-d)}
.com-items-sub{display:none;background:#FAFBFC}
.com-items-sub td{padding:4px 12px 4px 28px;font-size:11px;color:var(--text2);border-bottom:1px dashed #EEF2F7}
.com-items-sub .desp-badge{
  display:inline-block;background:#FEE2E2;color:#991B1B;
  font-size:9px;font-weight:700;border-radius:3px;padding:1px 5px;margin-right:5px;vertical-align:middle;
}
/* resumen final */
.com-resumen-card{background:#fff;border-radius:9px;padding:16px 20px;margin-top:18px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.com-resumen-card h3{font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.com-resumen-table{width:100%;border-collapse:collapse;font-size:12px}
.com-resumen-table th{background:#0D1628;color:#fff;padding:8px 12px;text-align:left;font-size:11px;font-weight:600}
.com-resumen-table th.num{text-align:right}
.com-resumen-table td{padding:7px 12px;border-bottom:1px solid var(--border)}
.com-resumen-table td.num{text-align:right}
.com-resumen-table tr:last-child td{border:none;font-weight:700;background:#F0FDF4}
.com-resumen-table .green{color:var(--green);font-weight:700}
.com-resumen-table .red{color:var(--red)}
/* vendedor tabla — fila clickeable */
.vend-row{cursor:pointer;transition:background .12s}
.vend-row:hover td{background:#F0F9FF!important}
.vend-row td:first-child::before{content:'👤 ';font-size:11px;opacity:.5}
/* print */
@media print{
  .com-overlay,.com-head-actions{display:none!important}
  .com-panel{
    position:static;width:100%;height:auto;transform:none;
    box-shadow:none;
  }
  .com-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .com-kpi,.com-cliente-block,.com-resumen-card{box-shadow:none;border:1px solid #ddd}
  .com-items-sub{display:table-row-group!important}
  .com-folios-table .folio-link{color:#000;text-decoration:none}
}

/* ═══════════════════════════════════════════════════════  INVENTARIO  ══ */
.inv-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.inv-title{font-size:22px;font-weight:700;color:var(--text)}
.inv-tabs{display:flex;gap:4px;background:#E9EFF7;border-radius:8px;padding:4px}
.inv-tab{
  background:none;border:none;padding:7px 20px;border-radius:6px;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12.5px;font-weight:500;color:var(--text2);
  cursor:pointer;transition:var(--transition);
}
.inv-tab.active{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.inv-tab:hover:not(.active){color:var(--text)}

/* Sections */
.inv-section{display:none}.inv-section.active{display:block}

/* KPI strip */
.inv-kpi-strip{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.inv-kpi{
  flex:1;min-width:140px;background:#fff;border-radius:var(--r);padding:14px 16px;
  box-shadow:var(--sh);border-left:3px solid transparent;
}
.inv-kpi.ok{border-color:var(--green)}
.inv-kpi.bajo{border-color:var(--amber)}
.inv-kpi.sin{border-color:var(--red)}
.inv-kpi.total{border-color:var(--teal)}
.inv-kpi .ik-val{font-size:26px;font-weight:800;color:var(--text);line-height:1}
.inv-kpi .ik-lbl{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}

/* Toolbar */
.inv-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.inv-btn-sm{
  background:#fff;border:1px solid var(--border);color:var(--text2);
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12px;font-weight:500;
  padding:6px 12px;border-radius:6px;cursor:pointer;transition:var(--transition);
}
.inv-btn-sm:hover{background:#F0F4F8;border-color:#CBD5E1}
.inv-btn-primary{
  background:var(--teal);border:none;color:#fff;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12.5px;font-weight:600;
  padding:7px 16px;border-radius:6px;cursor:pointer;transition:var(--transition);
}
.inv-btn-primary:hover{background:var(--teal-d)}
.inv-btn-ghost{
  background:none;border:1px solid var(--border);color:var(--text2);
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12.5px;font-weight:500;
  padding:7px 16px;border-radius:6px;cursor:pointer;transition:var(--transition);
}
.inv-btn-ghost:hover{background:#F0F4F8}

/* Table */
.inv-table-wrap{overflow-x:auto;background:#fff;border-radius:var(--r);box-shadow:var(--sh)}
.inv-table{width:100%;border-collapse:collapse;font-size:12.5px}
.inv-table thead tr{background:var(--navy)}
.inv-table th{padding:10px 14px;color:#fff;font-size:10.5px;font-weight:600;text-align:left;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}
.inv-table th.num{text-align:right}
.inv-table td{padding:9px 14px;border-bottom:1px solid #F1F5F9;color:var(--text)}
.inv-table td.num{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.inv-table tbody tr:last-child td{border:none}
.inv-table tbody tr:hover td{background:#F8FAFC}
.inv-empty{text-align:center;color:var(--slate);padding:32px!important;font-size:13px}

/* Status badges */
.inv-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:700;white-space:nowrap}
.inv-badge.ok{background:var(--green-l);color:var(--green)}
.inv-badge.stock_bajo{background:var(--amber-l);color:var(--amber)}
.inv-badge.sin_stock{background:var(--red-l);color:var(--red)}
.inv-badge.venta{background:#EDE9FE;color:#6D28D9}
.inv-badge.importacion{background:var(--teal-l);color:var(--teal-d)}
.inv-badge.ajuste{background:#F1F5F9;color:var(--slate)}
.inv-badge.pendiente{background:var(--amber-l);color:var(--amber)}
.inv-badge.en_transito{background:#E0F2FE;color:#0369A1}
.inv-badge.recibida{background:var(--green-l);color:var(--green)}
.inv-badge.completada{background:#F0FDF4;color:#166534}
.inv-badge.cancelada{background:var(--red-l);color:var(--red)}

/* Importaciones cards */
.inv-imp-list{display:flex;flex-direction:column;gap:12px}
.inv-imp-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.inv-imp-top{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .12s}
.inv-imp-top:hover{background:#F8FAFC}
.inv-imp-num{font-size:13px;font-weight:700;color:var(--navy);min-width:32px}
.inv-imp-info{flex:1}
.inv-imp-prov{font-size:13px;font-weight:600;color:var(--text)}
.inv-imp-meta{font-size:11px;color:var(--slate);margin-top:2px}
.inv-imp-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.inv-imp-state-sel{
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:11.5px;font-weight:600;
  border:1px solid var(--border);border-radius:5px;padding:4px 8px;background:#fff;color:var(--text);cursor:pointer;
}
.inv-imp-items{display:none;padding:0 16px 14px;border-top:1px solid var(--border)}
.inv-imp-items.open{display:block}
.inv-imp-items table{width:100%;border-collapse:collapse;font-size:12px;margin-top:10px}
.inv-imp-items th{padding:6px 8px;background:#F8FAFC;color:var(--slate);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.inv-imp-items td{padding:6px 8px;border-bottom:1px solid #F1F5F9}
.inv-imp-items tr:last-child td{border:none}
.inv-imp-items .num{text-align:right}
.inv-imp-notas{margin-top:8px;font-size:11px;color:var(--slate);padding:6px 8px;background:#FAFBFC;border-radius:5px}
.inv-imp-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.inv-imp-corr-row{background:#FFFBEB;padding:8px;border-radius:6px;border:1px solid #FEF3C7}
.inv-corr-label{font-size:11px;color:var(--slate);font-weight:600;white-space:nowrap}

/* Catalog price editing */
.inv-price-input{
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12px;width:100px;
  border:1px solid var(--border);border-radius:5px;padding:4px 8px;text-align:right;
}
.inv-price-input:focus{outline:none;border-color:var(--teal)}
.inv-save-btn{
  background:none;border:none;color:var(--teal);font-size:12px;cursor:pointer;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-weight:600;padding:4px 8px;border-radius:5px;
}
.inv-save-btn:hover{background:var(--teal-l)}

/* Modals */
.inv-overlay{
  position:fixed;inset:0;background:rgba(13,22,40,.55);z-index:900;
  display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease;
}
.inv-modal{
  background:#fff;border-radius:12px;width:520px;max-width:95vw;max-height:90vh;
  display:flex;flex-direction:column;box-shadow:var(--sh-lg);overflow:hidden;
}
.inv-modal-lg{width:720px}
.inv-modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;border-bottom:1px solid var(--border);
  font-size:14px;font-weight:700;color:var(--navy);flex-shrink:0;
}
.inv-modal-close{
  background:none;border:none;font-size:16px;cursor:pointer;color:var(--slate);
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:5px;
}
.inv-modal-close:hover{background:#F0F4F8}
.inv-modal-body{flex:1;overflow-y:auto;padding:16px 20px}
.inv-modal-foot{
  display:flex;justify-content:flex-end;gap:8px;
  padding:12px 20px;border-top:1px solid var(--border);flex-shrink:0;
}
.inv-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.inv-form-row label{font-size:11.5px;font-weight:600;color:var(--text2)}
.inv-form-val{font-size:13px;font-weight:600;color:var(--navy);padding:2px 0}
.inv-input{
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:13px;
  border:1px solid var(--border);border-radius:7px;padding:7px 10px;
  outline:none;transition:border-color .15s;width:100%;
}
.inv-input:focus{border-color:var(--teal)}
.inv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.inv-items-head{
  display:flex;align-items:center;justify-content:space-between;
  margin:16px 0 8px;font-size:12px;font-weight:700;color:var(--text2);
  border-top:1px solid var(--border);padding-top:14px;
}
.inv-item-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.inv-item-row .inv-input.flex2{flex:2}
.inv-item-row .inv-input.num{flex:1}
.inv-item-del{background:none;border:none;color:var(--red);font-size:18px;cursor:pointer;padding:2px 6px;line-height:1}
.inv-item-del:hover{opacity:.7}

/* Movement quantity coloring */
.qty-pos{color:var(--green);font-weight:700}
.qty-neg{color:var(--red);font-weight:700}
@keyframes fadeIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}

/* ══════════════════════════════════════════════════════
   GUÍAS DE DESPACHO
══════════════════════════════════════════════════════ */
.gd-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.gd-header-left{display:flex;flex-direction:column;gap:10px}
.gd-title{font-size:22px;font-weight:800;color:var(--navy)}
.gd-kpi-strip{display:flex;gap:12px;flex-wrap:wrap}
.gd-kpi{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 18px;min-width:130px}
.gd-kpi-lbl{font-size:9.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.gd-kpi-val{font-size:20px;font-weight:800;color:var(--navy)}
.gd-kpi-sub{font-size:10px;color:var(--slate)}
.gd-kpi.is-amber .gd-kpi-val{color:var(--amber)}
.gd-kpi.is-green .gd-kpi-val{color:var(--green)}
.gd-kpi.is-red   .gd-kpi-val{color:var(--red)}

.gd-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:4px}

/* Tabla */
.gd-table{width:100%;border-collapse:collapse;font-size:12.5px}
.gd-table thead th{
  padding:10px 12px;background:var(--bg);font-size:9.5px;font-weight:700;
  color:var(--slate);text-transform:uppercase;letter-spacing:.4px;
  border-bottom:2px solid var(--border);white-space:nowrap;
}
.gd-table tbody td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.gd-table tbody tr:last-child td{border-bottom:none}
.gd-table tbody tr:hover{background:var(--hover);cursor:pointer}
.gd-table tbody tr.gd-row-anulada{opacity:.45}
.gd-empty{text-align:center;padding:32px;color:var(--slate);font-size:13px}
.gd-folio-pill{
  display:inline-block;background:var(--bg);border:1px solid var(--border);
  border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;
}

/* Estado badges */
.gd-badge{display:inline-block;font-size:9px;font-weight:700;padding:3px 8px;border-radius:10px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}
.gd-badge.pend{background:#FEF3C7;color:#92400E}
.gd-badge.fact{background:#D1FAE5;color:#065F46}
.gd-badge.anul{background:#F1F5F9;color:#94A3B8}

/* Action buttons in table */
.gd-act-btn{
  font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;border:1px solid var(--border);
  background:var(--card);color:var(--navy);cursor:pointer;white-space:nowrap;
}
.gd-act-btn:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.gd-act-btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}
.gd-act-btn.primary:hover{background:#0284c7}

/* Drawer */
.gd-drawer-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:900;
  opacity:0;pointer-events:none;transition:opacity .2s;
}
.gd-drawer-overlay.open{opacity:1;pointer-events:all}
.gd-drawer{
  position:fixed;right:0;top:0;bottom:0;width:520px;
  background:var(--card);box-shadow:-6px 0 32px rgba(0,0,0,.15);
  z-index:901;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);
}
.gd-drawer.open{transform:translateX(0)}
.gd-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;
}
.gd-drawer-head h2{font-size:15px;font-weight:700;color:var(--navy)}
.gd-drawer-body{flex:1;overflow-y:auto;padding:20px}
.gd-drawer-footer{
  display:flex;gap:8px;align-items:center;
  padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;
}
.gd-section-title{
  font-size:10px;font-weight:700;color:var(--slate);text-transform:uppercase;
  letter-spacing:.5px;margin-bottom:10px;display:flex;align-items:center;gap:8px;
}
.gd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gd-add-item-btn{
  margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;
  background:var(--teal);color:#fff;border:none;cursor:pointer;
}
.gd-add-item-btn:hover{background:#0284c7}

/* Items dentro del drawer */
.gd-item-row{
  display:grid;grid-template-columns:2fr 60px 90px 80px 28px;
  gap:6px;align-items:center;margin-bottom:6px;
}
.gd-item-row input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:11.5px;width:100%}
.gd-item-del{background:none;border:none;cursor:pointer;color:var(--slate);font-size:15px;padding:2px 4px;border-radius:4px}
.gd-item-del:hover{background:var(--red-l);color:var(--red)}
.gd-item-header{
  display:grid;grid-template-columns:2fr 60px 90px 80px 28px;
  gap:6px;margin-bottom:4px;
}
.gd-item-header span{font-size:9px;font-weight:700;color:var(--slate);text-transform:uppercase}

/* Factura box */
.gd-factura-box{
  background:var(--bg);border:1px solid var(--border);border-radius:8px;
  padding:10px 14px;font-size:12.5px;display:flex;gap:16px;align-items:center;
}
.gd-factura-folio{font-weight:700;font-size:14px;color:var(--teal)}
.gd-btn-anular{background:var(--red-l);color:var(--red);border:1px solid #FECACA;border-radius:7px;padding:8px 14px;cursor:pointer;font-size:12px;font-weight:700}
.gd-btn-anular:hover{background:var(--red);color:#fff}

/* Modal facturar resultados */
.gd-fact-result{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 10px;border-radius:7px;border:1px solid var(--border);
  margin-bottom:6px;cursor:default;
}
.gd-fact-result:hover{background:var(--hover)}
.gd-fact-folio{font-weight:700;font-size:13px}
.gd-fact-cli{font-size:11px;color:var(--slate)}

@media(max-width:768px){
  .gd-drawer{width:100vw}
  .gd-kpi-strip{gap:8px}
  .gd-form-row{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════
   ACCESIBILIDAD Y UI GENERAL
══════════════════════════════════════════════════════ */
.skip-link{
  position:absolute;top:-48px;left:8px;z-index:9999;
  padding:8px 16px;background:var(--teal);color:#fff;border-radius:0 0 8px 8px;
  font-size:13px;font-weight:600;text-decoration:none;transition:top .15s;
}
.skip-link:focus{top:0}

:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px}
button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

button.nav-item{
  width:100%;text-align:left;
  background:none;border:none;border-left:3px solid transparent;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}

.ni-icon{width:16px;height:16px;flex-shrink:0}
.sb-btn-icon{width:14px;height:14px;flex-shrink:0}

.topbar-search .si{
  position:absolute;left:9px;color:#94A3B8;
  width:15px;height:15px;pointer-events:none;
}

.dash-tab{display:inline-flex;align-items:center;gap:5px}

.page-title,.card-title,.sec-header h2,.cli-title,
.modal-head h2,.drawer-head h2,.drawer-section h3,
.cli-drawer-nombre,.kpi-lbl{
  font-family:'Poppins','Sora',-apple-system,sans-serif;
}

@keyframes skeleton-shimmer{
  0%{background-position:-200% 0}
  100%{background-position:200% 0}
}
.skeleton{
  background:linear-gradient(90deg,var(--border) 25%,#e8edf2 50%,var(--border) 75%);
  background-size:200% 100%;
  animation:skeleton-shimmer 1.4s ease infinite;
  border-radius:4px;
  color:transparent !important;
  pointer-events:none;user-select:none;
}
.skeleton-kpi{
  background:var(--card);border-radius:var(--r);padding:18px 20px;
  border:1px solid var(--border);box-shadow:var(--sh);
  display:flex;flex-direction:column;gap:10px;
}
.sk-val{height:30px;width:65%;border-radius:5px}
.sk-lbl{height:11px;width:45%;border-radius:3px}
.skeleton-row td{padding:10px 12px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }
}

.toast-pro{position:relative;display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:9px;font-size:13px;font-weight:500;min-width:260px;max-width:380px;box-shadow:0 4px 20px rgba(0,0,0,.18);overflow:hidden;transition:opacity .3s,transform .3s;cursor:default}
.toast-pro.success{background:#064e3b;color:#6ee7b7;border-left:3px solid #059669}
.toast-pro.error{background:#450a0a;color:#fca5a5;border-left:3px solid #dc2626}
.toast-pro.warning{background:#451a03;color:#fde68a;border-left:3px solid #d97706}
.toast-pro.info{background:#0c1a2e;color:#93c5fd;border-left:3px solid #3b82f6}
.toast-icon{font-size:15px;flex-shrink:0}
.toast-msg{flex:1;line-height:1.3}
.toast-close{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:13px;padding:0 2px;margin-left:4px;flex-shrink:0}
.toast-close:hover{opacity:1}
.toast-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.25);border-radius:0 0 9px 9px}

/* ══════════════════════════════════════════════════════
   MÓDULO DESPACHOS & RETIROS
══════════════════════════════════════════════════════ */
.dp-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.dp-title{font-size:22px;font-weight:800;color:var(--navy);font-family:'Poppins','Sora',sans-serif}
.dp-actions{display:flex;gap:8px}
.dp-btn-despacho{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:'Sora',sans-serif;transition:var(--transition)}
.dp-btn-despacho:hover{background:var(--teal-d);box-shadow:0 0 0 3px rgba(14,165,233,.2)}
.dp-btn-retiro{background:#059669;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:'Sora',sans-serif;transition:var(--transition)}
.dp-btn-retiro:hover{background:#047857;box-shadow:0 0 0 3px rgba(5,150,105,.2)}

/* Filter toolbar */
.dp-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--r)}

/* KPI strip */
.dp-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.dp-kpi{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 16px;border-left:3px solid var(--border)}
.dp-kpi.hoy{border-left-color:var(--teal)}
.dp-kpi.manana{border-left-color:var(--purple)}
.dp-kpi.semana{border-left-color:var(--amber)}
.dp-kpi.ok{border-left-color:var(--green)}
.dp-kpi-lbl{font-size:9.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.dp-kpi-val{font-size:22px;font-weight:800;color:var(--navy)}

/* Three-column layout */
.dp-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.dp-col{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.dp-col-head{padding:11px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--bg)}
.dp-col-title{font-size:11px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.5px}
.dp-col-badge{background:var(--teal-l);color:var(--teal);font-size:10px;font-weight:700;border-radius:10px;padding:2px 8px}
.dp-col-body{padding:8px;display:flex;flex-direction:column;gap:6px;min-height:80px}
.dp-col-empty{text-align:center;padding:28px 12px;color:var(--slate);font-size:12px}

/* Cards */
.dp-card{
  border:1px solid var(--border);border-radius:8px;padding:10px 12px;
  background:var(--card);cursor:pointer;transition:var(--transition);
  border-left:3px solid var(--teal);position:relative;
}
.dp-card:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.dp-card.retiro{border-left-color:var(--green)}
.dp-card.preparando{border-left-color:var(--purple)}
.dp-card.completado{border-left-color:var(--green);opacity:.7}
.dp-card.cancelado{border-left-color:var(--border);opacity:.45}
.dp-card-top{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.dp-tipo-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.dp-tipo-badge.despacho{background:var(--teal-l);color:var(--teal)}
.dp-tipo-badge.retiro{background:var(--green-l);color:var(--green)}
.dp-hora{font-size:11px;font-weight:700;color:var(--text2);margin-left:auto}
.dp-cliente{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-refs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.dp-ref{font-size:10px;color:var(--slate);background:var(--bg);border-radius:4px;padding:1px 6px;white-space:nowrap}
.dp-notas{font-size:11px;color:var(--slate);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dp-card-footer{display:flex;align-items:center;gap:6px}
.dp-estado-badge{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px}
.dp-estado-badge.pendiente{background:#FEF3C7;color:#92400E}
.dp-estado-badge.preparando{background:var(--purple-l);color:var(--purple)}
.dp-estado-badge.completado{background:var(--green-l);color:var(--green)}
.dp-estado-badge.cancelado{background:#F1F5F9;color:#94A3B8}
.dp-suc-badge{font-size:9.5px;color:var(--slate);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;margin-left:auto}
.dp-quick-btns{display:flex;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.dp-qbtn{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;border:1px solid var(--border);background:var(--card);color:var(--text2);cursor:pointer;transition:var(--transition)}
.dp-qbtn:hover{background:var(--bg)}
.dp-qbtn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}
.dp-qbtn.primary:hover{background:var(--teal-d)}
.dp-qbtn.danger{color:var(--red)}
.dp-qbtn.danger:hover{background:var(--red-l);border-color:#FECACA}

/* Modal */
.dp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:800;display:flex;align-items:center;justify-content:center}
.dp-modal{background:var(--card);border-radius:14px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:var(--sh-lg)}
.dp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}
.dp-modal-head h2{font-size:16px;font-weight:700;color:var(--text);font-family:'Poppins','Sora',sans-serif}
.dp-modal-close{background:none;border:none;font-size:18px;color:var(--slate);cursor:pointer;padding:2px 6px;border-radius:4px}
.dp-modal-close:hover{color:var(--text);background:var(--bg)}
.dp-modal-body{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.dp-field{display:flex;flex-direction:column;gap:4px}
.dp-field label{font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}
.dp-input{padding:8px 10px;border:1px solid var(--border);border-radius:7px;font-size:13px;font-family:'Sora',sans-serif;background:white;color:var(--text);transition:border .15s;width:100%}
.dp-input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,165,233,.15)}
.dp-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dp-tipo-toggle{display:flex;background:var(--bg);border-radius:8px;padding:3px;gap:3px}
.dp-tipo-opt{flex:1;padding:7px 12px;border-radius:6px;border:none;font-size:12.5px;font-weight:700;cursor:pointer;font-family:'Sora',sans-serif;transition:var(--transition);color:var(--slate);background:transparent}
.dp-tipo-opt.active.despacho{background:var(--teal);color:#fff}
.dp-tipo-opt.active.retiro{background:var(--green);color:#fff}
.dp-refs-section{background:var(--bg);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}
.dp-refs-title{font-size:10px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.4px}
.dp-modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--border)}

@media(max-width:900px){.dp-columns{grid-template-columns:1fr}.dp-kpi-strip{grid-template-columns:repeat(2,1fr)}}

/* ── Tabs módulo Pedidos & Logística ─────────────────────────────────────── */
.ped-mod-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 16px;font-size:13px;font-weight:600;color:var(--slate);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .14s,border-color .14s;margin-bottom:-2px}
.ped-mod-tab:hover{color:var(--text)}
.ped-mod-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}
@media(max-width:600px){.dp-kpi-strip{grid-template-columns:1fr 1fr}}
#toastContainer{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:99999}

/* ══ UX REFINEMENTS v20 ══════════════════════════════════════════════════════ */

/* KPI — entrada animada escalonada */
@keyframes kpi-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.kpi{animation:kpi-in .28s ease both}
.kpi:nth-child(1){animation-delay:0s}
.kpi:nth-child(2){animation-delay:.06s}
.kpi:nth-child(3){animation-delay:.12s}
.kpi:nth-child(4){animation-delay:.18s}
.kpi:nth-child(5){animation-delay:.24s}
.kpi:nth-child(6){animation-delay:.30s}

/* KPI — ícono con fondo coloreado */
.kpi-icon-wrap{
  width:36px;height:36px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:10px;flex-shrink:0;
}
.kpi.teal   .kpi-icon-wrap{background:var(--teal-l);color:var(--teal)}
.kpi.green  .kpi-icon-wrap{background:var(--green-l);color:var(--green)}
.kpi.amber  .kpi-icon-wrap{background:var(--amber-l);color:var(--amber)}
.kpi.red    .kpi-icon-wrap{background:var(--red-l);color:var(--red)}
.kpi.purple .kpi-icon-wrap{background:var(--purple-l);color:var(--purple)}

/* KPI — tendencia como pill */
.kpi-trend{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;border-radius:20px;
  font-size:10px;font-weight:700;margin-top:6px;
}
.kpi-trend.up{background:#DCFCE7;color:var(--green)}
.kpi-trend.dn{background:#FEE2E2;color:var(--red)}
.kpi-trend-lbl{font-weight:500;opacity:.75}

/* Dash tabs — alineación ícono + texto */
.dash-tab{display:inline-flex;align-items:center;gap:6px}

/* Topbar — sombra al hacer scroll */
.topbar{transition:box-shadow .2s ease}
.topbar.scrolled{box-shadow:0 3px 16px rgba(0,0,0,.1)}

/* Despachos — colores por columna */
.dp-col.col-hoy    .dp-col-head{background:rgba(14,165,233,.07);border-bottom-color:rgba(14,165,233,.2)}
.dp-col.col-hoy    .dp-col-title{color:var(--teal)}
.dp-col.col-hoy    .dp-col-badge{background:var(--teal-l);color:var(--teal)}
.dp-col.col-manana .dp-col-head{background:rgba(124,58,237,.07);border-bottom-color:rgba(124,58,237,.2)}
.dp-col.col-manana .dp-col-title{color:var(--purple)}
.dp-col.col-manana .dp-col-badge{background:var(--purple-l);color:var(--purple)}
.dp-col.col-prox   .dp-col-head{background:rgba(217,119,6,.07);border-bottom-color:rgba(217,119,6,.2)}
.dp-col.col-prox   .dp-col-title{color:var(--amber)}
.dp-col.col-prox   .dp-col-badge{background:var(--amber-l);color:var(--amber)}

/* ═══════════════════════════════════════ MODAL CONFIRMAR CARGA PDF */
.cpdf-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.cpdf-modal{
  background:white;border-radius:12px;width:100%;max-width:680px;
  max-height:90vh;display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden;
}
.cpdf-body{padding:18px 20px;overflow-y:auto;flex:1}
.cpdf-counter{
  font-size:11px;font-weight:700;background:var(--teal-l,#e0f7f4);
  color:var(--teal);padding:3px 10px;border-radius:20px;white-space:nowrap;
}
.cpdf-section-label{font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.cpdf-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;font-size:12.5px;background:var(--bg);padding:12px 14px;border-radius:8px;margin-bottom:14px}
.cpdf-lbl{color:var(--slate);font-weight:600;margin-right:4px}
.cpdf-note{color:var(--amber);font-style:italic}
.cpdf-items-title{font-size:11.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.cpdf-badge{background:var(--teal);color:white;font-size:10px;padding:1px 7px;border-radius:10px;font-weight:700}
.cpdf-items-scroll{max-height:160px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;margin-bottom:12px}
.cpdf-items-table{width:100%;font-size:11.5px;border-collapse:collapse}
.cpdf-items-table th{padding:5px 8px;background:var(--bg);font-weight:600;color:var(--slate);text-align:left;position:sticky;top:0;border-bottom:1px solid var(--border)}
.cpdf-items-table td{padding:4px 8px;border-top:1px solid var(--border)}
.cpdf-items-table .num{text-align:right}
.cpdf-totals{display:flex;gap:20px;align-items:center;font-size:12.5px;padding:10px 14px;background:var(--bg);border-radius:8px;margin-bottom:16px;flex-wrap:wrap}
.cpdf-total-main{margin-left:auto;font-size:14px;color:var(--teal)}
.cpdf-sep{font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.8px;padding:8px 0 10px;border-top:2px solid var(--border);margin-bottom:12px}
.cpdf-field-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px;margin-bottom:13px}
.cpdf-field-row label{font-size:12.5px;font-weight:600;color:var(--text2)}
.cpdf-suc-chips{display:flex;gap:8px}
.cpdf-chip{padding:7px 20px;border-radius:20px;border:2px solid var(--border);background:white;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--slate)}
.cpdf-chip:hover{border-color:var(--teal);color:var(--teal)}
.cpdf-chip.active[data-suc=santiago]{background:var(--teal);border-color:var(--teal);color:white}
.cpdf-chip.active[data-suc=temuco]{background:var(--amber);border-color:var(--amber);color:white}
.cpdf-sel{width:100%}
.cpdf-venc-hint{font-size:11px;color:var(--slate)}
.cpdf-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg)}

/* ═══════════════════════════════════════ INVENTARIO — CHIPS SUCURSAL */
.inv-suc-chips{display:flex;gap:8px;align-items:center}
.inv-chip{padding:5px 16px;border-radius:20px;border:2px solid var(--border);background:white;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;color:var(--slate)}
.inv-chip:hover{border-color:var(--teal);color:var(--teal)}
.inv-chip.active{background:var(--teal);border-color:var(--teal);color:white}
.inv-chip.active[data-suc=temuco]{background:var(--amber);border-color:var(--amber)}
.inv-chip.active[data-suc=""]{background:var(--teal);border-color:var(--teal)}

/* ═══════════════════════════════════════ INVENTARIO — STOCK VISUAL AGRUPADO */
.inv-group-header td{background:var(--bg,#f8fafc);padding:0!important;border-bottom:1px solid var(--border)}
.inv-group-head-inner{display:flex;align-items:center;gap:10px;padding:7px 14px}
.inv-group-label{font-size:11.5px;font-weight:800;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}
.inv-group-meta-stats{display:flex;gap:5px;margin-left:4px}
.inv-group-total{margin-left:auto;font-size:11.5px;color:var(--slate)}
.inv-g-stat{font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:10px}
.inv-g-stat.ok  {background:rgba(16,185,129,.12);color:var(--green)}
.inv-g-stat.bajo{background:rgba(217,119,6,.12);color:var(--amber)}
.inv-g-stat.sin {background:rgba(239,68,68,.12);color:var(--red)}
.inv-row-ok       {background:transparent}
.inv-row-stock_bajo{background:#fffceb}
.inv-row-sin_stock {background:#fff5f5}
.inv-prod-name{font-size:12.5px;font-weight:600;color:var(--text)}
.inv-prod-meta{font-size:10.5px;color:var(--slate);margin-top:1px}
.inv-stock-bar{height:3px;background:var(--border);border-radius:2px;margin-top:4px;width:56px}
.inv-stock-bar div{height:100%;border-radius:2px;transition:width .3s}
.inv-folio-link{color:var(--teal);text-decoration:none;font-weight:700;font-size:12px}
.inv-folio-link:hover{text-decoration:underline}

/* Despachos — estado vacío con ícono */
.dp-col-empty{
  display:flex;flex-direction:column;align-items:center;
  gap:8px;padding:32px 12px;color:var(--slate);font-size:11.5px;text-align:center;
}
.dp-col-empty svg{opacity:.28}

/* ── Inventory chip active states (all attribute variants) ── */
.inv-chip.active[data-suc-mov="temuco"],
.inv-chip.active[data-suc-an="temuco"] {background:var(--amber);border-color:var(--amber)}
.inv-chip.active[data-suc-mov=""],
.inv-chip.active[data-suc-an=""] {background:var(--teal);border-color:var(--teal)}
.inv-chip.active[data-suc-mov="santiago"],
.inv-chip.active[data-suc-an="santiago"] {background:var(--teal);border-color:var(--teal)}

/* ── Inventory period chips ── */
.inv-period-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.inv-chip[data-period].active,
.inv-chip[data-cr-period].active {background:var(--purple,#6366f1);border-color:var(--purple,#6366f1);color:#fff}
.inv-chip[data-period]:hover:not(.active),
.inv-chip[data-cr-period]:hover:not(.active) {border-color:var(--purple,#6366f1);color:var(--purple,#6366f1)}

/* ── Inventory analysis grid ── */
.inv-an-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:720px){.inv-an-grid{grid-template-columns:1fr}}
.inv-an-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:16px 18px}
.inv-an-card-title{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}

/* badge-tipo for analytics product table */
.badge-tipo{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10.5px;font-weight:700;
  background:rgba(13,148,136,.1);color:var(--teal-d,#0f766e)}

/* ── Rentabilidad costs section ── */
.cr-info-banner{
  background:rgba(99,102,241,.07);border:1px solid rgba(99,102,241,.2);border-left:3px solid var(--purple,#6366f1);
  border-radius:var(--r);padding:12px 16px;font-size:12.5px;color:var(--text2);margin-bottom:16px;line-height:1.5;
}
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media(max-width:800px){.cr-grid{grid-template-columns:1fr}}
.cr-field{display:flex;flex-direction:column;gap:5px}
.cr-label{font-size:12px;font-weight:600;color:var(--text2)}
.cr-hint{font-size:11px;color:var(--slate);line-height:1.45}
.cr-check-row{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text2);cursor:pointer}
.cr-check-row input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--teal)}
.cr-tool-item{display:flex;flex-direction:column;gap:5px}
.cr-tool-title{font-size:13px;font-weight:700;color:var(--text)}
.cr-tool-desc{font-size:12px;color:var(--text2);line-height:1.5}
.cr-sep{height:1px;background:var(--border);margin:2px 0}
.cr-tips{margin:4px 0 0 16px;padding:0;font-size:12px;color:var(--text2);line-height:1.8}
.cr-tips li{margin-bottom:2px}

/* ════════════════════════════════════════════════════════════════
   CRM — Relación con Clientes  (v28)
   Paleta Prowess (navy/teal) + patrones premium (bento, glass, badges)
   ════════════════════════════════════════════════════════════════ */
#page-crm{padding:0}
.crm-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.crm-title{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.4px;font-family:'Poppins','Sora',sans-serif}
.crm-subtitle{font-size:12.5px;color:var(--slate);margin-top:2px}
.crm-toolbar{display:flex;align-items:center;gap:10px}
.crm-search-wrap{position:relative}
.crm-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--slate);pointer-events:none}
.crm-search{width:260px;max-width:46vw;padding:9px 12px 9px 32px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-family:inherit;color:var(--text);outline:none;background:var(--card);transition:var(--transition)}
.crm-search:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.crm-btn-primary{display:flex;align-items:center;gap:7px;padding:9px 16px;background:var(--navy);color:#fff;border:none;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:var(--transition);white-space:nowrap}
.crm-btn-primary svg{width:15px;height:15px}
.crm-btn-primary:hover{background:var(--navy2);transform:translateY(-1px);box-shadow:var(--sh-md)}

.crm-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
@media(max-width:1100px){.crm-kpi-grid{grid-template-columns:repeat(2,1fr)}}
.crm-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 16px 14px;box-shadow:var(--sh);position:relative;overflow:hidden;transition:var(--transition)}
.crm-kpi:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.crm-kpi::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--teal);opacity:.85}
.crm-kpi.k-green::before{background:var(--green)}
.crm-kpi.k-amber::before{background:var(--amber)}
.crm-kpi.k-red::before{background:var(--red)}
.crm-kpi.k-purple::before{background:var(--purple)}
.crm-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.crm-kpi-label{font-size:10px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.6px}
.crm-kpi-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--teal-l);color:var(--teal-d)}
.crm-kpi-ico svg{width:16px;height:16px}
.crm-kpi.k-green .crm-kpi-ico{background:var(--green-l);color:var(--green)}
.crm-kpi.k-amber .crm-kpi-ico{background:var(--amber-l);color:var(--amber)}
.crm-kpi.k-red .crm-kpi-ico{background:var(--red-l);color:var(--red)}
.crm-kpi.k-purple .crm-kpi-ico{background:var(--purple-l);color:var(--purple)}
.crm-kpi-value{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.5px;line-height:1.1;font-family:'Poppins','Sora',sans-serif}
.crm-kpi-sub{font-size:11px;color:var(--slate);margin-top:4px}
.crm-kpi-trend{display:inline-flex;align-items:center;gap:2px;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:20px}
.crm-kpi-trend.up{color:var(--green);background:var(--green-l)}
.crm-kpi-trend.down{color:var(--red);background:var(--red-l)}

.crm-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}
@media(max-width:1180px){.crm-layout{grid-template-columns:1fr}}
.crm-col-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.crm-col-side{display:flex;flex-direction:column;gap:18px}

.crm-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--sh);overflow:hidden}
.crm-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fbfdff,#fff)}
.crm-card-head-l{display:flex;align-items:center;gap:9px;min-width:0}
.crm-card-head-l svg{width:17px;height:17px;flex-shrink:0}
.crm-card-title{font-size:11.5px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:1px}
.crm-card-count{background:var(--teal-l);color:var(--teal-d);font-size:11px;font-weight:800;border-radius:20px;padding:1px 9px}
.crm-card-hint{font-size:11px;color:var(--slate);font-weight:600}

.crm-funnel{padding:18px}
.crm-funnel-stage{margin-bottom:14px}
.crm-funnel-stage:last-child{margin-bottom:0}
.crm-fs-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
.crm-fs-label{font-size:12px;font-weight:700;color:var(--text2);display:flex;align-items:center;gap:7px}
.crm-fs-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.crm-fs-val{font-size:12.5px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.crm-fs-pct{font-size:11px;color:var(--slate);font-weight:600;margin-left:6px}
.crm-fs-track{height:14px;background:var(--bg);border-radius:8px;overflow:hidden}
.crm-fs-fill{height:100%;border-radius:8px;transition:width .8s cubic-bezier(.22,1,.36,1)}

.crm-chips{display:flex;gap:7px;padding:14px 18px 0;flex-wrap:wrap}
.crm-chip{padding:5px 13px;border:1.5px solid var(--border);background:var(--card);color:var(--text2);font-size:11.5px;font-weight:700;border-radius:20px;cursor:pointer;transition:var(--transition);font-family:inherit}
.crm-chip:hover{border-color:var(--teal);color:var(--teal-d)}
.crm-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}

.crm-table-wrap{padding:8px 6px 6px;overflow-x:auto}
.crm-table{width:100%;border-collapse:collapse;font-size:12.5px}
.crm-table thead th{text-align:left;font-size:9.5px;font-weight:800;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;padding:10px 14px;border-bottom:1.5px solid var(--border)}
.crm-table th.num,.crm-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.crm-table th.ctr,.crm-table td.ctr{text-align:center}
.crm-table tbody tr{border-bottom:1px solid #F1F5F9;cursor:pointer;transition:background .12s}
.crm-table tbody tr:hover{background:#F8FAFC}
.crm-table tbody tr:last-child{border-bottom:none}
.crm-table td{padding:11px 14px;vertical-align:middle}
.crm-cli-cell{display:flex;align-items:center;gap:10px}
.crm-cli-ava{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:.3px}
.crm-cli-name{font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.crm-cli-rut{font-size:10.5px;color:var(--slate);margin-top:1px}
.crm-cli-total{font-weight:700;color:var(--text)}
.crm-cli-pend{font-weight:700}
.crm-cli-pend.has{color:var(--amber)}
.crm-cli-pend.venc{color:var(--red)}
.crm-cli-pend.zero{color:var(--slate);font-weight:500}
.crm-last{font-size:11.5px;color:var(--text2);white-space:nowrap}
.crm-last.old{color:var(--red)}

.crm-seg{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.crm-seg .dot{width:6px;height:6px;border-radius:50%}
.crm-seg.vip{background:#F5F3FF;color:#6D28D9}.crm-seg.vip .dot{background:#7C3AED}
.crm-seg.activo{background:var(--green-l);color:var(--green)}.crm-seg.activo .dot{background:var(--green)}
.crm-seg.riesgo{background:var(--red-l);color:var(--red)}.crm-seg.riesgo .dot{background:var(--red)}
.crm-seg.dormido{background:#F1F5F9;color:#64748B}.crm-seg.dormido .dot{background:#94A3B8}
.crm-seg.regular{background:var(--teal-l);color:var(--teal-d)}.crm-seg.regular .dot{background:var(--teal)}
.crm-row-act{opacity:0;transition:opacity .12s;background:none;border:none;cursor:pointer;color:var(--slate);padding:4px;border-radius:6px}
.crm-table tbody tr:hover .crm-row-act{opacity:1}
.crm-row-act:hover{background:var(--teal-l);color:var(--teal-d)}
.crm-row-act svg{width:15px;height:15px;display:block}
.crm-empty{text-align:center;padding:34px;color:var(--slate);font-size:12.5px}

.crm-ranking{padding:8px 14px 14px}
.crm-rank-item{display:flex;align-items:center;gap:11px;padding:9px 4px}
.crm-rank-pos{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;background:var(--bg);color:var(--slate)}
.crm-rank-item:nth-child(1) .crm-rank-pos{background:var(--navy);color:#fff}
.crm-rank-item:nth-child(2) .crm-rank-pos{background:#CBD5E1;color:var(--navy)}
.crm-rank-item:nth-child(3) .crm-rank-pos{background:#FDE68A;color:#92400E}
.crm-rank-body{flex:1;min-width:0}
.crm-rank-name{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-rank-bar{height:5px;background:var(--bg);border-radius:4px;margin-top:5px;overflow:hidden}
.crm-rank-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-d));border-radius:4px;transition:width .8s cubic-bezier(.22,1,.36,1)}
.crm-rank-val{text-align:right;flex-shrink:0}
.crm-rank-amt{font-size:12px;font-weight:800;color:var(--text)}
.crm-rank-cnt{font-size:10px;color:var(--slate);margin-top:1px}

.crm-acts{padding:10px 14px;display:flex;flex-direction:column;gap:9px;max-height:340px;overflow-y:auto}
.crm-act{display:flex;gap:11px;padding:11px;border:1px solid var(--border);border-radius:10px;transition:var(--transition);position:relative;background:var(--card)}
.crm-act:hover{border-color:var(--teal);box-shadow:var(--sh)}
.crm-act.done{opacity:.55}
.crm-act.today{border-left:3px solid var(--teal)}
.crm-act.overdue{border-left:3px solid var(--red)}
.crm-act-ico{width:34px;height:34px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--teal-l)}
.crm-act-body{flex:1;min-width:0}
.crm-act-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.crm-act-cli{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-act-when{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;padding:2px 7px;border-radius:6px;background:var(--bg);color:var(--slate);white-space:nowrap;flex-shrink:0}
.crm-act-when.today{background:var(--teal);color:#fff}
.crm-act-when.overdue{background:var(--red);color:#fff}
.crm-act-nota{font-size:11.5px;color:var(--text2);margin-top:3px;line-height:1.4}
.crm-act-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:10.5px;color:var(--slate)}
.crm-act-tools{display:flex;gap:4px;margin-top:7px}
.crm-act-tool{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--text2);cursor:pointer;transition:var(--transition);font-family:inherit}
.crm-act-tool:hover{border-color:var(--teal);color:var(--teal-d)}
.crm-act-tool.done:hover{border-color:var(--green);color:var(--green)}
.crm-act-tool.del:hover{border-color:var(--red);color:var(--red)}
.crm-act-empty{text-align:center;padding:26px 14px;color:var(--slate);font-size:12px}
.crm-act-add{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 28px);margin:4px 14px 14px;padding:10px;border:1.5px dashed var(--border);border-radius:10px;background:transparent;color:var(--slate);font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition);font-family:inherit}
.crm-act-add svg{width:15px;height:15px}
.crm-act-add:hover{border-color:var(--teal);color:var(--teal-d);background:var(--teal-l)}

.crm-modal-overlay{position:fixed;inset:0;background:rgba(13,22,40,.45);backdrop-filter:blur(3px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;animation:crmFadeIn .2s ease}
@keyframes crmFadeIn{from{opacity:0}to{opacity:1}}
.crm-modal{background:var(--card);border-radius:16px;box-shadow:var(--sh-lg);width:100%;max-width:480px;overflow:hidden;animation:crmSlideUp .25s cubic-bezier(.22,1,.36,1)}
@keyframes crmSlideUp{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
.crm-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}
.crm-modal-head h3{font-size:15px;font-weight:800;color:var(--text);font-family:'Poppins','Sora',sans-serif}
.crm-modal-close{background:none;border:none;font-size:16px;color:var(--slate);cursor:pointer;width:30px;height:30px;border-radius:8px;transition:var(--transition)}
.crm-modal-close:hover{background:var(--bg);color:var(--text)}
.crm-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}
.crm-fg{display:flex;flex-direction:column;gap:5px}
.crm-fg label{font-size:10.5px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px}
.crm-fg-row{display:flex;gap:10px}
.crm-fg-row .crm-fg{flex:1}
.crm-fg-sm{max-width:110px}
.crm-input{width:100%;padding:9px 11px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-family:inherit;color:var(--text);outline:none;background:var(--card);transition:var(--transition)}
.crm-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.crm-textarea{resize:vertical;min-height:64px}
.crm-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg)}
/* ══════════════════════════════════════════════════
   COTIZACIONES
══════════════════════════════════════════════════ */
.cot-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.cot-title{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.5px}
.cot-subtitle{font-size:12px;color:var(--slate);margin-top:2px}
.cot-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}
.cot-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.cot-search{padding:7px 10px;border:1px solid var(--border);border-radius:8px;font-size:12.5px;font-family:inherit;outline:none;color:var(--text);background:var(--card);width:220px;transition:var(--transition)}
.cot-search:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.cot-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--slate);margin-bottom:8px;margin-top:4px}
.cot-totales{background:var(--surface-low);border-radius:10px;padding:12px 16px;margin-top:4px}
.cot-totales-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text2);padding:3px 0}
.cot-totales-total{font-size:14px;font-weight:800;color:var(--text);border-top:1px solid var(--border);margin-top:6px;padding-top:8px}
.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border);background:var(--bg)}
.badge-borrador{background:#F1F5F9;color:#475569;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge-enviada{background:#EFF6FF;color:#1D4ED8;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge-aceptada{background:#ECFDF5;color:#065F46;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge-rechazada{background:#FEF2F2;color:#991B1B;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge-convertida{background:#F5F3FF;color:#5B21B6;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.badge-expirada{background:#F8FAFC;color:#94A3B8;display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}
.cot-linea-input{width:100%;padding:4px 6px;border:1px solid var(--border);border-radius:5px;font-size:12px;font-family:inherit;outline:none;background:var(--card)}
.cot-linea-input:focus{border-color:var(--teal)}
.cot-det-section{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--slate);margin:14px 0 6px}
.cot-det-row{display:flex;justify-content:space-between;font-size:12.5px;padding:4px 0;border-bottom:1px solid var(--surface-low)}
.cot-det-row:last-child{border:none}

/* ══════════════════════════════════════════════════
   INTEGRACIONES
══════════════════════════════════════════════════ */
.int-tab,.imp-tab{padding:10px 18px;border:none;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--slate);display:flex;align-items:center;gap:7px;border-bottom:2px solid transparent;margin-bottom:-2px;transition:var(--transition)}
.int-tab:hover,.imp-tab:hover{color:var(--text)}
.int-tab.active,.imp-tab.active{color:var(--teal);border-bottom-color:var(--teal)}
.int-panel{}
.int-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.int-grid{grid-template-columns:1fr}}
.int-dropzone{border:2px dashed var(--border);border-radius:10px;padding:28px 20px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--bg)}
.int-dropzone:hover,.int-dropzone.drag{border-color:var(--teal);background:var(--teal-l)}
.int-match-yes{color:var(--green);font-weight:700;font-size:11px}
.int-match-no{color:var(--slate);font-size:11px}
.int-stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--surface-low);font-size:12.5px}
.int-stat-row:last-child{border:none}
.int-stat-val{font-weight:700;color:var(--text)}

/* ── Wizard mapeo banco ── */
.bmap-sel{width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:7px;font-size:12px;font-family:inherit;background:var(--card);color:var(--text);outline:none}
.bmap-sel:focus{border-color:var(--teal)}

/* ── Wizard cotización 2 columnas con preview en vivo ── */
.cot-wizard-body{display:flex;flex:1;min-height:0;overflow:hidden}
.cot-wizard-form{flex:0 0 56%;max-width:56%;border-right:1px solid var(--border)}
.cot-wizard-preview{flex:1;display:flex;flex-direction:column;background:#EEF2F6;min-width:0}
.cot-preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#fff;border-bottom:1px solid var(--border)}
.cot-preview-scroll{flex:1;overflow-y:auto;padding:18px}
.cot-preview-doc{background:#fff;border-radius:8px;box-shadow:0 4px 18px rgba(16,24,40,.10);padding:26px;font-size:12px;color:#1E293B;min-height:100%}
.cpv-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #E6EAF0;padding-bottom:14px;margin-bottom:14px}
.cpv-brand{font-size:15px;font-weight:800;color:#131B2E}
.cpv-num{font-size:16px;font-weight:800;color:#2563EB;text-align:right}
.cpv-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#94A3B8}
.cpv-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cpv-pname{font-size:12.5px;font-weight:700;color:#131B2E;margin-top:2px}
.cpv-pline{font-size:10.5px;color:#64748B}
.cpv-table{width:100%;border-collapse:collapse;margin:10px 0}
.cpv-table th{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#94A3B8;text-align:left;padding:5px 4px;border-bottom:1.5px solid #E6EAF0}
.cpv-table th.r,.cpv-table td.r{text-align:right}
.cpv-table td{font-size:11px;padding:6px 4px;border-bottom:1px solid #F1F5F9;vertical-align:top}
.cpv-totes{margin-top:10px;margin-left:auto;width:60%}
.cpv-totes-row{display:flex;justify-content:space-between;font-size:11px;color:#64748B;padding:3px 0}
.cpv-totes-row.grand{border-top:1.5px solid #131B2E;margin-top:5px;padding-top:7px;font-size:14px;font-weight:800;color:#131B2E}
.cpv-comentario{background:#FFFBEB;border-left:3px solid #F59E0B;border-radius:6px;padding:9px 11px;font-size:10.5px;color:#78350F;margin:10px 0}
.cpv-empty{text-align:center;color:#CBD5E1;padding:30px 0;font-size:12px}
@media(max-width:860px){.cot-wizard-form{flex:1;max-width:100%;border-right:none}.cot-wizard-preview{display:none}}

/* ── Autocomplete buscador de cliente ── */
.cot-autocomplete{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(16,24,40,.12);margin-top:4px;max-height:260px;overflow-y:auto}
.cot-ac-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;border-bottom:1px solid #F1F5F9}
.cot-ac-item:last-child{border-bottom:none}
.cot-ac-item:hover,.cot-ac-item.active{background:#F0F4FF}
.cot-ac-avatar{width:30px;height:30px;border-radius:7px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}
.cot-ac-nuevo{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;color:var(--teal);font-weight:700;font-size:12.5px;background:#F8FAFC}
.cot-ac-nuevo:hover{background:#EFF6FF}
/* ── Modal selector de productos ── */
.cot-prod-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;border-bottom:1px solid #F1F5F9;transition:background .1s}
.cot-prod-item:last-child{border-bottom:none}
.cot-prod-item:hover{background:#F0F4FF}
.cot-prod-group-lbl{padding:8px 16px 4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--slate)}
/* ── Secciones colapsables ── */
.cot-seccion-collapsible{margin-bottom:4px}
.cot-seccion-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:8px 0 6px;cursor:pointer;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--text2)}
.cot-seccion-toggle:hover{color:var(--teal)}
.cot-seccion-chevron{transition:transform .2s;flex-shrink:0}
.cot-seccion-body{padding-bottom:2px}
/* ── Pipeline de ventas ── */
.cot-pipeline{display:flex;align-items:center;gap:0;padding:14px 16px;background:#F8FAFC;border-radius:10px;margin-bottom:16px;flex-wrap:wrap;gap:4px}
.cot-pipe-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.cot-pipe-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#E2E8F0;color:#94A3B8;border:2px solid #E2E8F0}
.cot-pipe-lbl{font-size:10px;font-weight:700;color:#94A3B8;text-align:center;white-space:nowrap}
.cot-pipe-step.done .cot-pipe-dot{background:#10B981;border-color:#10B981;color:#fff}
.cot-pipe-step.done .cot-pipe-lbl{color:#10B981}
.cot-pipe-step.current .cot-pipe-dot{background:#2563EB;border-color:#2563EB;color:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.cot-pipe-step.current .cot-pipe-lbl{color:#2563EB;font-weight:800}
.cot-pipe-line{flex:1;height:2px;background:#E2E8F0;min-width:16px;margin-bottom:18px}
.cot-pipe-line.done{background:#10B981}
.cot-pipe-lost{margin-left:8px;display:flex;align-items:center}
/* ── Bloque de datos de pago (panel detalle) ── */
.cot-pago-block{background:linear-gradient(135deg,#EFF6FF,#F5F3FF);border:1px solid #C7D2FE;border-radius:12px;padding:14px 16px;margin-top:16px}
.cot-pago-titulo{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#4338CA;margin-bottom:10px}
.cot-pago-fila{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#374151;padding:3px 0}
.cot-pago-fila span{color:#6B7280;font-size:11px}
.btn-webpay{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1D4ED8,#6D28D9);color:#fff;border-radius:9px;padding:11px 16px;font-weight:700;font-size:13px;text-decoration:none;border:none;cursor:pointer;margin-top:12px;box-shadow:0 4px 14px rgba(99,102,241,.4);transition:opacity .15s,transform .12s;width:100%;justify-content:center}
.btn-webpay:hover{opacity:.92;transform:translateY(-1px)}
/* ── Bloque de pago en preview ── */
.cpv-pago-block{margin-top:12px;padding:10px 12px;background:#F5F3FF;border-left:3px solid #7C3AED;border-radius:0 6px 6px 0}
.cpv-pago-lbl{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#7C3AED;margin-bottom:5px}
.cpv-pago-transfer{font-size:10px;color:#374151;line-height:1.8;margin-bottom:6px}
.cpv-btn-webpay{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#1D4ED8,#6D28D9);color:#fff;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:700;text-decoration:none}
