﻿*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --sb-w:220px;
  --navy:#0D1628;
  --navy2:#162032;
  --teal:#0EA5E9;
  --teal-d:#0284C7;
  --teal-l:#E0F2FE;
  --green:#059669;
  --green-l:#ECFDF5;
  --amber:#D97706;
  --amber-l:#FFFBEB;
  --red:#DC2626;
  --red-l:#FEF2F2;
  --purple:#7C3AED;
  --purple-l:#EDE9FE;
  --slate:#64748B;
  --border:#E2E8F0;
  --bg:#F0F4F8;
  --card:#FFFFFF;
  --text:#0F172A;
  --text2:#475569;
  --r:10px;
  --sh:0 1px 4px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.03);
  --sh-md:0 4px 16px rgba(0,0,0,.09);
  --sh-lg:0 10px 40px rgba(0,0,0,.14);
  /* ── nuevas variables PRO ── */
  --transition:all .15s ease;
  --radius-sm:6px;
  --radius-lg:14px;
  --font-mono:'Courier New',monospace;
}
body{font-family:'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}

/* ── SIDEBAR ── */
#sidebar{
  width:var(--sb-w);min-height:100vh;background:var(--navy);
  display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:100;
  transition:transform .25s;
}
.sb-logo{padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.06)}
.sb-logo .brand{font-size:14px;font-weight:800;color:#fff;letter-spacing:-.3px;display:flex;align-items:center;gap:8px}
.sb-logo .brand-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}
.sb-logo .sub{font-size:10.5px;color:#475569;margin-top:3px;padding-left:16px}
.sb-logo .rut{font-size:10px;color:#374151;margin-top:1px;padding-left:16px}
.sb-section{padding:16px 14px 5px;font-size:9.5px;font-weight:700;color:#374151;letter-spacing:1.5px;text-transform:uppercase}
.sb-nav{flex:1;padding:4px 8px}
.nav-item{
  display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:7px;cursor:pointer;
  color:#94A3B8;font-size:12.5px;font-weight:500;transition:var(--transition);margin-bottom:2px;user-select:none;
  border-left:3px solid transparent;
}
.nav-item:hover{background:rgba(255,255,255,.05);color:#CBD5E1;border-left-color:rgba(14,165,233,.3)}
.nav-item.active{background:rgba(14,165,233,.18);color:var(--teal);border-left-color:var(--teal);font-weight:600}
.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:700;border-radius:10px;padding:1px 6px;
}
.sb-bottom{padding:12px 8px;border-top:1px solid rgba(255,255,255,.07)}
.sb-btn{
  display:flex;align-items:center;gap:7px;width:100%;padding:7px 10px;
  border-radius:7px;border:1px solid rgba(255,255,255,.08);background:transparent;
  color:#94A3B8;font-size:11.5px;cursor:pointer;transition:all .15s;margin-bottom:5px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
.sb-btn:hover{background:rgba(255,255,255,.06);color:#CBD5E1}
.sb-user-card{
  display:flex;align-items:center;gap:10px;
  padding:10px 10px 12px;margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.sb-avatar{
  width:34px;height:34px;border-radius:50%;background:var(--teal);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:#fff;flex-shrink:0;letter-spacing:.5px;
}
.sb-user-info{min-width:0;flex:1}
.sb-user-name{font-size:12px;font-weight:700;color:#F1F5F9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user-meta{font-size:10px;color:#94A3B8;margin-top:2px;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:var(--card);border-bottom:1px solid var(--border);
  padding:0 24px;height:54px;
  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:15px;font-weight:700;color:var(--text)}
.topbar-search{position:relative;display:flex;align-items:center}
.topbar-search input{
  padding:6px 12px 6px 32px;border:1px solid var(--border);border-radius:8px;
  font-size:12.5px;width:230px;background:var(--bg);color:var(--text);
  outline:none;transition:border .15s;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
.topbar-search input:focus{border-color:var(--teal);background:white}
.topbar-search .si{position:absolute;left:9px;color:#94A3B8;font-size:13px}
.topbar-right{display:flex;gap:7px;align-items:center}

.btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 13px;border-radius:7px;font-size:12.5px;font-weight:600;
  cursor:pointer;border:none;transition:var(--transition);font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  user-select:none;
}
.btn-primary{background:var(--teal);color:white}
.btn-primary:hover{background:var(--teal-d);box-shadow:0 0 0 3px rgba(14,165,233,.25)}
.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:22px 24px;flex:1}
.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(--navy);border-bottom:2px solid var(--navy)}
.data-table th{
  padding:9px 12px;text-align:left;font-size:10px;font-weight:700;
  color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;
}
.data-table th.num{text-align:right}
.data-table tbody tr{border-bottom:1px solid var(--border);transition:background .18s ease}
.data-table tbody tr:hover{background:#EEF6FF}
.data-table tbody tr.selected{background:#EFF6FF}
.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(3,1fr);gap:14px;margin-bottom:20px}
.cartola-summary-card{
  border-radius:var(--r);padding:18px 20px;border:1px solid;
}
.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}

/* ── 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:5px 26px 5px 9px;border-radius:7px;border:1px solid var(--border);
  font-size:11.5px;background:white;color:var(--text2);cursor:pointer;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;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:2px;border-bottom:2px solid var(--border);
  margin-bottom:22px;overflow-x:auto;
}
.dash-tab{
  padding:10px 16px;border:none;background:transparent;cursor:pointer;
  font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:12px;font-weight:600;
  color:var(--slate);white-space:nowrap;border-bottom:2px solid transparent;
  margin-bottom:-2px;transition:all .15s;
}
.dash-tab:hover{color:var(--text)}
.dash-tab.active{color:var(--teal);border-bottom-color:var(--teal)}
.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}
}
/* ── 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 ── */
.login-screen{
  position:fixed;inset:0;background:linear-gradient(135deg,#0D1628 0%,#162032 60%,#0a1420 100%);
  z-index:10000;display:flex;align-items:center;justify-content:center;
}
.login-screen.hidden{display:none}
.login-card{
  background:#fff;border-radius:18px;padding:38px 36px 30px;
  box-shadow:0 24px 64px rgba(0,0,0,.4);width:100%;max-width:380px;
}
.login-brand{font-size:22px;font-weight:800;color:#0D1628;letter-spacing:-.5px;text-align:center;margin-bottom:4px}
.login-sub{font-size:12px;color:#64748B;text-align:center;margin-bottom:28px;font-weight:500}
.login-field{margin-bottom:14px}
.login-field label{display:block;font-size:10.5px;font-weight:700;color:#64748B;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
.login-field input{
  width:100%;padding:10px 12px;border:1.5px solid #E2E8F0;border-radius:8px;
  font-size:13.5px;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#0D1628;outline:none;
  transition:border .15s;box-sizing:border-box;
}
.login-field input:focus{border-color:#0EA5E9;box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.login-btn{
  width:100%;padding:11px;background:#0D1628;color:#fff;border:none;border-radius:8px;
  font-size:13.5px;font-weight:700;cursor:pointer;font-family:'Sora',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  margin-top:8px;transition:background .15s;
}
.login-btn:hover{background:#162032}
.login-btn:disabled{background:#94A3B8;cursor:not-allowed}
.login-error{color:#DC2626;font-size:11.5px;margin-top:8px;text-align:center;min-height:16px}

/* ── 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)}}
@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}