:root {
  --bg: #f8fafc;
  --panel: #ffffff;
  --panel-soft: #f1f5f9;
  --text: #0f172a;
  --muted: #64748b;
  --primary: #0f766e;
  --primary-2: #14b8a6;
  --primary-dark: #0b5f59;
  --danger: #dc2626;
  --warning: #d97706;
  --success: #16a34a;
  --info: #0ea5e9;
  --border: #e2e8f0;
  --shadow: 0 12px 28px rgba(15, 23, 42, .08);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: linear-gradient(135deg, #ecfeff 0%, #f8fafc 35%, #fff7ed 100%);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
  padding-bottom: 0;
}
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.hidden { display: none !important; }

/* Login / configuración */
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth-card {
  width: min(860px, 100%);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(226,232,240,.9);
  border-radius: 28px;
  padding: 28px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}
.brand {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  min-width: 0;
}
.logo, .brand-logo {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--primary-2), var(--primary));
  display: grid;
  place-items: center;
  color: white;
  font-weight: 900;
  box-shadow: 0 10px 20px rgba(20,184,166,.25);
  letter-spacing: .02em;
}
.brand h1 { margin: 0; font-size: 22px; line-height: 1.1; }
.brand p { margin: 2px 0 0; color: var(--muted); font-size: 13px; line-height: 1.25; }

/* Estructura principal: estilo V1.0 */
.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 280px 1fr;
}
.sidebar {
  background: rgba(15, 118, 110, .98);
  color: white;
  padding: 18px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  box-shadow: 10px 0 28px rgba(15, 23, 42, .10);
  z-index: 40;
}
.sidebar .brand { margin-bottom: 20px; }
.sidebar .logo, .sidebar .brand-logo { background: rgba(255,255,255,.18); box-shadow: none; }
.sidebar .brand h1 { color: #fff; }
.sidebar .brand p { color: rgba(255,255,255,.78); }
.nav { display: grid; gap: 6px; margin-top: 12px; }
.nav-btn, .nav button {
  width: 100%;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: rgba(255,255,255,.90);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  cursor: pointer;
  margin: 0 0 2px;
  font-weight: 800;
}
.nav-btn:hover, .nav-btn.active, .nav button:hover, .nav button.active {
  background: rgba(255,255,255,.15);
  color: white;
}
.nav-btn span, .nav button span { width: 22px; display: inline-grid; place-items: center; }
.sidebar-footer, .side-footer {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.18);
  font-size: 12px;
  color: rgba(255,255,255,.78);
  display: grid;
  gap: 8px;
}
.sync-row { font-size: 12px; color: rgba(255,255,255,.78); line-height: 1.45; }
.sidebar .field label { color: rgba(255,255,255,.78); }
.pill-select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.12);
  color: #fff;
  border-radius: 14px;
  padding: 10px 12px;
  outline: none;
}
.pill-select option { color: #111827; }
.main {
  padding: 22px;
  overflow-x: hidden;
  min-width: 0;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}
.topbar h2 { margin: 0; font-size: 26px; line-height: 1.12; }
.topbar small, .topbar p { color: var(--muted); }
.topbar-title { display: grid; gap: 4px; }
.top-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.mobile-menu { display: none !important; }
.content { min-width: 0; }
.view { display: none; }
.view.active { display: block; }
.page-title { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin: 0 0 16px; }
.page-title h2 { margin: 0; font-size: 26px; }
.page-title p { margin: 5px 0 0; color: var(--muted); }

/* Componentes */
.grid { display: grid; gap: 16px; }
.grid.cols-2, .cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.cols-3, .cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.cols-4, .cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid.cols-5, .cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.card {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
  margin-bottom: 0;
}
.card.soft, .card.brand-card { background: rgba(255,255,255,.92); }
.card h3 { margin: 0 0 12px; font-size: 18px; }
.card-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.card-title-row h3 { margin:0; }
.metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 112px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.metric:after {
  content: "";
  position: absolute;
  width: 95px;
  height: 95px;
  right: -36px;
  bottom: -42px;
  border-radius: 50%;
  background: rgba(20,184,166,.10);
}
.metric .label, .metric small { color: var(--muted); font-size: 13px; font-weight: 800; text-transform: none; letter-spacing: 0; }
.metric .value, .metric strong { font-size: 26px; letter-spacing: -.5px; color: var(--primary-dark); display:block; margin-top:4px; }
.metric .hint, .metric span, .metric em { font-style: normal; font-size: 12px; color: var(--muted); }
.kpi { display: flex; flex-direction: column; gap: 4px; min-height: 112px; }
.kpi span { color: var(--muted); font-size: 13px; }
.kpi strong { font-size: 26px; letter-spacing: -.5px; }
.kpi em { font-style: normal; font-size: 12px; color: var(--muted); }

/* Formularios */
.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}
.form-grid.two, .form-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.one { grid-template-columns: 1fr; }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field, label { display: flex; flex-direction: column; gap: 6px; }
.field label, label { font-size: 12px; color: var(--muted); font-weight: 700; }
.input, input, select, textarea {
  width: 100%;
  border: 1px solid var(--border);
  background: white;
  color: var(--text);
  border-radius: 12px;
  padding: 11px 12px;
  outline: none;
}
textarea { resize: vertical; min-height: 84px; }
input:focus, select:focus, textarea:focus { border-color: var(--primary-2); box-shadow: 0 0 0 4px rgba(20,184,166,.12); }
.field small, .hint, .mini, .muted { font-size: 12px; color: var(--muted); }
.divider, hr { height: 1px; border: 0; background: var(--border); margin: 16px 0; }

/* Botones */
.actions, .row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.btn, button.primary, button.secondary, button.ghost, button.success, button.info, button.danger, button.warning {
  border: 0;
  border-radius: 12px;
  background: var(--primary);
  color: white;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  transition: .16s transform, .16s filter;
}
.btn:hover, button:hover { filter: brightness(.97); transform: translateY(-1px); }
.btn.secondary, button.secondary { background: #e2e8f0; color: #0f172a; box-shadow: none; }
.btn.danger, button.danger { background: var(--danger); color: #fff; }
.btn.warning, button.warning { background: var(--warning); color: #fff; }
.btn.success, button.success { background: var(--success); color: #fff; }
.btn.info, button.info { background: var(--info); color: #fff; }
.btn.ghost, button.ghost { background: transparent; color: var(--primary); border: 1px solid var(--border); }
.btn.small, button.small { padding: 7px 10px; border-radius: 10px; font-size: 12px; }
.btn:disabled, button:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.2); transform: none; }
.sidebar .btn.secondary { background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.16); }

/* Tablas y listados */
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 14px; background:white; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th, td { padding: 11px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; font-size: 13px; }
th { font-size: 12px; color: var(--muted); background: #f8fafc; text-transform: uppercase; letter-spacing: .04em; }
tr:last-child td { border-bottom: 0; }
.table-like { display: grid; gap: 7px; }
.list-item, .line-card {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 16px;
  padding: 13px;
  margin: 10px 0;
}
.line-card { background: #f0fdfa; border-color: #99f6e4; }
.list-item h3 { margin: 0 0 5px; font-size: 16px; }
.list-item .top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.invoice-builder { border: 1px dashed #99f6e4; background: #f0fdfa; border-radius: 16px; padding: 14px; }
.total-box, .total-bar {
  background: #0f172a;
  color:white;
  border-radius: 16px;
  padding: 16px;
  display:flex;
  justify-content: space-between;
  gap: 16px;
  align-items:center;
  font-weight: 800;
}
.total-box strong { font-size: 26px; }
.empty { padding: 18px; color: var(--muted); text-align: center; }

/* Estados */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 800;
  background: #e2e8f0;
  color: #334155;
  white-space: nowrap;
}
.badge.success, .badge.ok { background: #dcfce7; color: #166534; }
.badge.warning, .badge.warn { background: #fef3c7; color: #92400e; }
.badge.danger { background: #fee2e2; color: #991b1b; }
.badge.info { background: #ccfbf1; color: #115e59; }
.badge.branch { background: #ccfbf1; color: #115e59; }
.notice, .help {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
  border-radius: 14px;
  padding: 12px 14px;
  margin: 10px 0 14px;
  line-height: 1.45;
}
.notice.info, .help.info { background: #ecfeff; border-color:#99f6e4; color:#115e59; }
.notice.success { background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
.notice.warning { background:#fffbeb; border-color:#fde68a; color:#92400e; }
.notice.danger { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.status-pill {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 9px 11px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.dot { width: 9px; height: 9px; border-radius: 50%; background: #94a3b8; display:inline-block; }
.dot.online { background: var(--success); }
.dot.offline { background: var(--warning); }

/* IA, recibos, imágenes */
.ai-panel { display:block; }
.ai-card {
  background: #f0fdfa;
  border: 1px solid #99f6e4;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(15,118,110,.08);
}
.ai-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:10px; }
.ai-head span { font-weight:900; color: var(--primary); }
.ai-head b { color: var(--primary-dark); }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.chip {
  border:1px solid #99f6e4;
  background:#fff;
  border-radius:999px;
  padding:8px 10px;
  color: var(--primary);
  font-weight:800;
  cursor:pointer;
}
.kpi-list { display:grid; gap:10px; }
.kpi-list div { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--border); padding-bottom:8px; }
.kpi-list div:last-child { border-bottom:0; }
.mini-row { display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid var(--border); }
.mini-row:last-child { border-bottom:0; }
.receipt-box, .print-card, .message-preview {
  white-space: pre-wrap;
  background: #fff;
  border: 1px dashed #94a3b8;
  border-radius: 16px;
  padding: 14px;
  color: #0f172a;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
  max-height: 380px;
  overflow: auto;
}
.full-grid { grid-column: 1/-1; }
.branch-mini { display:flex; gap:10px; align-items:center; min-width:220px; }
.branch-mini small { display:block; color:var(--muted); margin-top:3px; }
.thumb {
  width:52px; height:52px; border-radius:16px; object-fit:cover;
  border:1px solid var(--border); background:#f0fdfa;
}
.thumb.placeholder { display:grid; place-items:center; font-size:24px; }
.branch-preview { max-width:260px; max-height:180px; border-radius:18px; border:1px solid var(--border); object-fit:cover; box-shadow:var(--shadow); background:#fff; }
.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:12px; margin-top:10px; }
.invoice-img { width:100%; height:180px; object-fit:cover; border-radius:18px; border:1px solid var(--border); box-shadow:0 10px 24px rgba(15,23,42,.08); background:#fff; }
.invoice-lines { display:grid; gap:10px; }
.toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #0f172a;
  color: white;
  padding: 12px 16px;
  border-radius: 14px;
  box-shadow: var(--shadow);
  z-index: 999;
  max-width: 380px;
  font-weight: 800;
}
.tabs { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.tabs button { border:1px solid var(--border); background:#fff; border-radius:999px; padding:9px 12px; cursor:pointer; font-weight:800; color:#334155; }
.tabs button.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.search-row { display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
.search-row input, .search-row select { max-width:260px; }
.bottom-nav { display:none; }

@media (max-width: 1100px) {
  .grid.cols-4, .cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.cols-3, .cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  body { padding-bottom: 74px; }
  .app-shell { grid-template-columns: 1fr; display:block; }
  .sidebar {
    display: none;
    position: fixed;
    z-index: 70;
    inset: 0 auto 0 0;
    width: 290px;
    height: 100vh;
  }
  .sidebar.open { display: block; }
  .mobile-menu { display: inline-flex !important; width: max-content; margin-bottom: 6px; }
  .main { padding: 14px; }
  .grid.cols-2, .grid.cols-3, .grid.cols-4, .grid.cols-5, .cols-2, .cols-3, .cols-4, .form-grid, .form-grid.two, .form-grid.three { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; }
  .top-actions { justify-content: flex-start; }
  .topbar h2 { font-size: 24px; }
  table { min-width: 720px; }
  .bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    z-index: 60;
    background: rgba(255,255,255,.96);
    border-top: 1px solid var(--border);
    padding: 7px 5px calc(7px + env(safe-area-inset-bottom));
    backdrop-filter: blur(12px);
  }
  .bottom-nav button {
    border: 0;
    background: transparent;
    color: var(--muted);
    border-radius: 12px;
    padding: 8px 2px;
    display: grid;
    place-items: center;
    gap: 2px;
    font-size: 11px;
    font-weight: 800;
  }
  .bottom-nav button.active { background: #ccfbf1; color: var(--primary); }
  .bottom-nav span { font-size: 17px; }
  .bottom-nav small { font-size: 9.5px; }
}
@media (max-width: 520px) {
  .auth-card { padding: 18px; border-radius: 22px; }
  .brand h1 { font-size: 19px; }
  .logo, .brand-logo { width: 44px; height: 44px; min-width: 44px; }
  .topbar { display:grid; }
  .metric .value, .metric strong { font-size: 23px; }
}
@media print {
  .sidebar, .topbar, .actions, .no-print, .bottom-nav, .toast, button, .btn { display:none !important; }
  .app-shell { display:block; }
  .main { padding:0; }
  .card { box-shadow:none; border:0; }
  body { background:white; padding:0; }
}
/* V2.0 MVP helpers */
.branch-checks{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--border);border-radius:14px;background:#fff}.check-pill{display:inline-flex;align-items:center;gap:6px;flex-direction:row!important;background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;padding:8px 10px;color:#115e59;font-weight:800;font-size:12px}.check-pill input{width:auto}.auth-card .divider{margin:16px 0}.admin-only-note{font-size:12px;color:var(--muted)}

/* =========================================================
   Entrega 07: Responsividad móvil global para grillas/tablas
   Convierte tablas en tarjetas legibles en celulares.
   ========================================================= */
.table-wrap.responsive-table-ready{max-width:100%;}
.table-wrap.responsive-table-ready table{table-layout:auto;}
.table-wrap.responsive-table-ready td[data-label=""]::before{display:none;}
@media (max-width: 760px){
  .main{padding:12px 10px 84px;}
  .card{padding:14px;border-radius:16px;}
  .card h3{font-size:17px;line-height:1.2;}
  .topbar{gap:8px;margin-bottom:12px;}
  .topbar h2{font-size:22px;}
  .topbar small{font-size:12px;line-height:1.35;}
  .status-pill{font-size:11px;padding:7px 9px;}
  .badge{font-size:11px;white-space:normal;line-height:1.25;}
  .actions{gap:6px;align-items:stretch;}
  .actions .btn,.actions button{min-height:34px;}
  .btn,.btn.small,button.small{width:auto;max-width:100%;white-space:normal;text-align:center;line-height:1.2;}
  .table-wrap{
    border:0;
    background:transparent;
    overflow:visible;
    border-radius:0;
  }
  .table-wrap table,
  .table-wrap thead,
  .table-wrap tbody,
  .table-wrap th,
  .table-wrap td,
  .table-wrap tr{
    display:block;
    width:100%;
    min-width:0!important;
  }
  .table-wrap thead{display:none;}
  .table-wrap tbody{display:grid;gap:12px;}
  .table-wrap tr{
    background:#fff;
    border:1px solid var(--border);
    border-radius:16px;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
    overflow:hidden;
  }
  .table-wrap td{
    display:grid;
    grid-template-columns:minmax(96px,34%) minmax(0,1fr);
    gap:10px;
    align-items:start;
    border-bottom:1px solid var(--border);
    padding:10px 12px;
    font-size:13px;
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  .table-wrap td:last-child{border-bottom:0;}
  .table-wrap td::before{
    content:attr(data-label);
    color:var(--muted);
    font-weight:900;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.04em;
    line-height:1.3;
  }
  .table-wrap td .actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
  }
  .table-wrap td .actions .btn,
  .table-wrap td .actions button{
    flex:1 1 105px;
    padding:8px 9px;
    font-size:12px;
  }
  .table-wrap td[colspan]{
    display:block;
    text-align:center;
  }
  .table-wrap td[colspan]::before{display:none;}
  .branch-mini{min-width:0;width:100%;align-items:flex-start;}
  .branch-mini .thumb{width:44px;height:44px;min-width:44px;}
  .kpi-list div,.mini-row{display:grid;grid-template-columns:1fr;gap:3px;}
  .form-grid,.form-grid.one,.form-grid.two,.form-grid.three{gap:10px;}
  input,select,textarea{font-size:16px;} /* evita zoom en iPhone */
  .toast{left:10px;right:10px;bottom:86px;max-width:none;transform:none;}
  .receipt-box,.print-card,.message-preview{font-size:11px;max-height:320px;}
}
@media (max-width: 420px){
  .table-wrap td{grid-template-columns:1fr;gap:4px;}
  .table-wrap td::before{font-size:10px;}
  .bottom-nav{grid-template-columns:repeat(4,1fr);}
  .bottom-nav button:nth-child(n+5){display:none;}
  .top-actions{width:100%;}
  .top-actions .badge,.top-actions .status-pill{width:100%;justify-content:center;}
}

/* V2.0 Completa - Catálogos rediseñados con submenú, búsqueda y paginación */
.catalog-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.catalog-menu-card{position:sticky;top:16px}.catalog-menu{display:grid;gap:8px;margin-top:12px}.catalog-menu-btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:16px;padding:12px;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.04)}.catalog-menu-btn b{font-size:14px}.catalog-menu-btn small{grid-column:1/2;color:var(--muted);font-size:12px;line-height:1.25}.catalog-menu-btn span{grid-column:2/3;grid-row:1/3;align-self:center;background:#ccfbf1;color:#115e59;border-radius:999px;padding:5px 9px;font-weight:900;font-size:12px}.catalog-menu-btn.active{border-color:#14b8a6;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff}.catalog-menu-btn.active small{color:rgba(255,255,255,.85)}.catalog-menu-btn.active span{background:rgba(255,255,255,.18);color:#fff}.catalog-content{min-width:0}.catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:end;margin-bottom:12px}.catalog-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:13px}.catalog-form{background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:14px}.muted{color:var(--muted)}
@media(max-width:980px){.catalog-layout{grid-template-columns:1fr}.catalog-menu-card{position:relative;top:auto}.catalog-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-toolbar{grid-template-columns:1fr}.catalog-pager{align-items:stretch}.catalog-pager .actions{width:100%;justify-content:space-between}.catalog-pager .actions .btn{flex:1}}
@media(max-width:520px){.catalog-menu{grid-template-columns:1fr}.catalog-menu-btn{border-radius:14px}.catalog-form{padding:12px}.catalog-pager .actions{display:grid;grid-template-columns:1fr;gap:8px}.catalog-pager .badge{text-align:center;justify-content:center}}
/* Corrección V2.0 Catálogos: submenús visibles en menú principal */
.nav-btn.nav-child{margin-left:18px;width:calc(100% - 18px);font-size:13px;padding:9px 12px;border-left:3px solid rgba(255,255,255,.20);border-radius:12px;background:rgba(255,255,255,.06)}
.nav-btn.nav-child span{font-size:13px;width:14px}.nav-btn.nav-child.active{background:rgba(255,255,255,.22);border-left-color:#fff;color:#fff}.nav-btn.nav-child:not(.active):hover{background:rgba(255,255,255,.12)}
@media(max-width:980px){.nav-btn.nav-child{margin-left:12px;width:calc(100% - 12px)}}

/* Fix V2.0 catálogo: pantallas independientes por submenú */
.catalog-subtabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.catalog-subtabs button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:9px 12px;font-weight:900;cursor:pointer}.catalog-subtabs button.active{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border-color:#14b8a6}.catalog-landing{cursor:pointer;transition:.15s transform,.15s box-shadow}.catalog-landing:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.12)}
@media(max-width:620px){.catalog-subtabs{display:grid;grid-template-columns:1fr}.catalog-subtabs button{width:100%;border-radius:14px}.catalog-landing .card-title-row{align-items:flex-start}}
/* Facturación dinámica 100% por tipo de presentación */
#lineQtyField.hidden,#lineWeightField.hidden{display:none!important;visibility:hidden!important;}
#lineCalcPanel .notice{line-height:1.45;}

/* Fix formato TXT LSA: vista previa idéntica al archivo descargado */
.receipt-box, .print-card, .message-preview {
  white-space: pre !important;
  font-family: Consolas, "Courier New", Menlo, Monaco, monospace !important;
  font-variant-ligatures: none;
  tab-size: 2;
  overflow-x: auto !important;
  overflow-y: auto !important;
  line-height: 1.45 !important;
}
.receipt-box{
  min-width: max-content;
}

/* V3.0 - Reporte Utilidad Bruta por Producto */
.report-filters{border:1px solid var(--border);background:#f8fafc;border-radius:16px;padding:12px;}
@media(max-width:980px){.report-filters{grid-template-columns:1fr!important;}}

/* V3.0 - Expiración segura de sesión por inactividad */
.session-modal{position:fixed;inset:0;z-index:99999;background:rgba(15,23,42,.62);display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px)}
.session-modal.hidden{display:none!important}.session-modal-card{width:min(440px,100%);background:#fff;border-radius:22px;padding:24px;box-shadow:0 28px 70px rgba(15,23,42,.3);text-align:center;border:1px solid var(--border)}
.session-modal-icon{font-size:42px;margin-bottom:8px}.session-modal-card h3{margin:0 0 8px;font-size:22px}.session-modal-card p{color:var(--muted);margin:0 0 14px}.session-countdown{font-family:Consolas,Menlo,monospace;font-size:36px;font-weight:900;letter-spacing:.08em;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:16px;padding:12px;margin:12px 0 18px}.session-modal-card .actions{justify-content:center}.session-modal-card .btn{min-width:150px}
@media(max-width:520px){.session-modal-card{padding:18px}.session-modal-card .actions{display:grid;grid-template-columns:1fr;width:100%}.session-modal-card .btn{width:100%}}

/* V3.1.1 - Rediseño UX/UI completo del módulo Abonos */
.abonos-page{display:grid;gap:18px;min-width:0}.abonos-entry-card{min-width:0;overflow:hidden}.abonos-header-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}.abonos-header-row h3{margin-bottom:4px}.abonos-form{display:grid;gap:16px}.abonos-section{border:1px solid var(--border);background:#f8fafc;border-radius:18px;padding:16px;min-width:0;overflow:hidden}.abonos-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.abonos-section-title>span{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-weight:900}.abonos-section-title div{display:grid;gap:2px}.abonos-section-title b{font-size:16px}.abonos-section-title small{color:var(--muted);line-height:1.35}.abonos-fields-grid,.abonos-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.abonos-span-2{grid-column:1/-1}.abonos-directed{margin-top:12px;min-width:0}.abonos-amount-field{max-width:440px}.money-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}.money-input-wrap>span{padding:0 0 0 14px;font-weight:900;color:#0f766e;font-size:18px}.money-input-wrap input{border:0!important;box-shadow:none!important;background:transparent!important;font-size:20px;font-weight:800}.abonos-preview{margin-top:12px;min-width:0;overflow:hidden}.abonos-preview .ai-card{min-width:0;overflow:hidden}.abonos-preview .table-wrap,.abonos-directed .table-wrap,.abonos-history-card .table-wrap{max-width:100%;overflow-x:auto!important}.abonos-preview table,.abonos-directed table,.abonos-history-card table{min-width:720px}.abonos-submit-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:16px;align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:18px;padding:16px}.abonos-submit-bar div{display:grid;gap:4px}.abonos-submit-bar small{color:var(--muted);line-height:1.4}.abonos-save-btn{width:100%;min-height:52px;font-size:16px}.abonos-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}.abonos-history-card{min-width:0;overflow:hidden}.abonos-receipt-preview{min-width:0}.abonos-receipt-preview .card{min-width:0;overflow:hidden}.abonos-receipt-preview .receipt-box{max-width:100%;min-width:0!important;white-space:pre!important;overflow:auto!important}.abonos-page .field,.abonos-page select,.abonos-page input{min-width:0;max-width:100%}.abonos-page .actions{flex-wrap:wrap}.abonos-page .card-title-row{gap:10px;flex-wrap:wrap}
@media(max-width:1100px){.abonos-history-grid{grid-template-columns:1fr}.abonos-submit-bar{grid-template-columns:1fr}.abonos-save-btn{max-width:none}.abonos-preview table,.abonos-directed table,.abonos-history-card table{min-width:640px}}
@media(max-width:760px){.abonos-entry-card{padding:14px}.abonos-section{padding:13px;border-radius:15px}.abonos-fields-grid,.abonos-details-grid{grid-template-columns:1fr}.abonos-span-2{grid-column:auto}.abonos-amount-field{max-width:none}.abonos-submit-bar{position:static;padding:13px;border-radius:15px}.abonos-section-title b{font-size:15px}.abonos-section-title small{font-size:12px}.abonos-preview table,.abonos-directed table,.abonos-history-card table{min-width:0}.abonos-page .table-wrap{overflow:visible!important}.abonos-page .table-wrap table{min-width:0!important}.abonos-page .receipt-box{font-size:10px;max-height:360px}}
@media(max-width:420px){.abonos-header-row .badge{width:100%;justify-content:center}.abonos-section-title{gap:9px}.abonos-section-title>span{min-width:28px;height:28px;font-size:13px}.abonos-save-btn{font-size:14px;padding:12px}.money-input-wrap input{font-size:18px}.abonos-page .btn,.abonos-page button{width:100%}}

/* V3.2.1 - Lotes recientes UX responsive */
.purchase-lot-layout{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:18px;align-items:start}.purchase-entry-card{position:sticky;top:16px;min-width:0}.recent-lots-card{min-width:0;overflow:hidden}.purchase-values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.purchase-save-btn{min-height:50px}.lot-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.lot-kpi{border:1px solid var(--border);background:#f8fafc;border-radius:14px;padding:11px;display:grid;gap:3px;min-width:0}.lot-kpi small{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}.lot-kpi b{font-size:17px;overflow-wrap:anywhere}.lot-filter-panel{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(3,minmax(135px,1fr)) 105px auto;gap:10px;align-items:end;background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:12px}.lot-filter-panel .field{min-width:0}.lot-clear-btn{min-height:44px}.lot-results{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}.lot-table-scroll{overflow:auto;max-height:540px}.lot-table-scroll table{min-width:900px;margin:0}.lot-table-scroll thead{position:sticky;top:0;z-index:2;background:#f8fafc}.lot-table-scroll th{background:#f8fafc}.lot-table-scroll tbody tr:hover{background:#f0fdfa}.lot-mobile-list{display:none}.lot-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:13px}.lot-card-mobile{border:1px solid var(--border);border-radius:15px;padding:13px;background:#fff;box-shadow:0 5px 14px rgba(15,23,42,.04);display:grid;gap:8px}.lot-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.lot-card-head>div{display:grid;gap:2px}.lot-card-head small{color:var(--muted)}.lot-product-name{font-weight:900;line-height:1.3}.lot-card-mobile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 0}.lot-card-mobile dl div{background:#f8fafc;border-radius:10px;padding:8px;min-width:0}.lot-card-mobile dt{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.lot-card-mobile dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.lot-empty{padding:24px;text-align:center}
@media(max-width:1250px){.purchase-lot-layout{grid-template-columns:1fr}.purchase-entry-card{position:relative;top:auto}.lot-filter-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.lot-search{grid-column:span 2}}
@media(max-width:800px){.lot-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lot-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.lot-search{grid-column:1/-1}.lot-page-size{grid-column:auto}.lot-table-scroll{display:none}.lot-mobile-list{display:grid;gap:10px;padding:10px;background:#f8fafc}.lot-results{border:0;background:transparent;overflow:visible}.lot-pager{align-items:stretch}.lot-pager .actions{width:100%;justify-content:space-between}.lot-pager .actions .btn{flex:1}.recent-lots-card{padding:14px}}
@media(max-width:520px){.purchase-values-grid,.lot-filter-panel{grid-template-columns:1fr}.lot-search{grid-column:auto}.lot-summary-grid{grid-template-columns:1fr 1fr}.lot-card-mobile dl{grid-template-columns:1fr}.lot-pager .actions{display:grid;grid-template-columns:1fr}.lot-pager .badge{text-align:center;justify-content:center}.purchase-entry-card,.recent-lots-card{padding:12px}.lot-kpi b{font-size:15px}}

/* V3.3 Trazabilidad de stock por lote */
.lot-composition-card{margin-top:16px;scroll-margin-top:16px}.lot-composition-card .kpi{min-height:92px}.lot-composition-card .table-wrap{max-height:520px;overflow:auto}.lot-composition-card thead th{position:sticky;top:0;z-index:2;background:#f8fafc}.lot-composition-card td,.lot-composition-card th{vertical-align:top}.lot-composition-card .notice{margin:12px 0}
@media(max-width:760px){.lot-composition-card .grid.cols-4{grid-template-columns:1fr 1fr}.lot-composition-card .table-wrap{max-height:none;overflow:visible}.lot-composition-card table,.lot-composition-card tbody,.lot-composition-card tr,.lot-composition-card td{display:block;width:100%}.lot-composition-card thead{display:none}.lot-composition-card tr{margin-bottom:12px;border:1px solid var(--border);border-radius:14px;overflow:hidden}.lot-composition-card td{display:grid;grid-template-columns:42% 58%;gap:8px;padding:9px 12px}.lot-composition-card td::before{content:attr(data-label);font-weight:800;color:var(--muted)}}
@media(max-width:480px){.lot-composition-card .grid.cols-4{grid-template-columns:1fr}.lot-composition-card td{grid-template-columns:1fr}.lot-composition-card td::before{margin-bottom:3px}}

/* =====================================================================
   V4.0 DESIGN SYSTEM + PORTAL DE ACCESO EMPRESARIAL
   ===================================================================== */
:root{
  --ds-brand-900:#064e4a;
  --ds-brand-800:#0b625c;
  --ds-brand-700:#0f766e;
  --ds-brand-600:#0d9488;
  --ds-brand-500:#14b8a6;
  --ds-brand-100:#ccfbf1;
  --ds-brand-50:#f0fdfa;
  --ds-blue-600:#2563eb;
  --ds-surface:#ffffff;
  --ds-surface-muted:#f8fafc;
  --ds-page:#f4f7fb;
  --ds-text:#0f172a;
  --ds-muted:#64748b;
  --ds-border:#dbe3ee;
  --ds-focus:0 0 0 4px rgba(20,184,166,.18);
  --ds-shadow-sm:0 4px 12px rgba(15,23,42,.06);
  --ds-shadow-md:0 12px 30px rgba(15,23,42,.09);
  --ds-shadow-lg:0 28px 70px rgba(15,23,42,.18);
  --ds-radius-sm:10px;
  --ds-radius-md:14px;
  --ds-radius-lg:20px;
  --ds-radius-xl:28px;
  --ds-space-1:4px;
  --ds-space-2:8px;
  --ds-space-3:12px;
  --ds-space-4:16px;
  --ds-space-5:20px;
  --ds-space-6:24px;
  --ds-space-8:32px;
}
html{color-scheme:light}
body{background:linear-gradient(135deg,#effcfb 0%,#f5f7fb 42%,#fffaf4 100%);font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
:focus-visible{outline:none!important;box-shadow:var(--ds-focus)!important}
button,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease,opacity .18s ease}
button:active:not(:disabled){transform:translateY(1px)}
.card,.metric,.auth-card{border-color:var(--ds-border);box-shadow:var(--ds-shadow-md)}
.card{border-radius:var(--ds-radius-lg);padding:20px}
.card h3{letter-spacing:-.01em}
input,select,textarea{border-color:var(--ds-border);border-radius:var(--ds-radius-md);background:#fff;min-height:46px}
input:hover,select:hover,textarea:hover{border-color:#b8c6d8}
input:focus,select:focus,textarea:focus{border-color:var(--ds-brand-500);box-shadow:var(--ds-focus)}
.btn{border-radius:var(--ds-radius-md);min-height:42px;font-weight:800;letter-spacing:-.005em;box-shadow:none}
.btn:not(.secondary):not(.danger):not(.warning):not(.info):not(.success){background:linear-gradient(135deg,var(--ds-brand-700),var(--ds-brand-600));border-color:transparent;color:#fff}
.btn:not(:disabled):hover{filter:brightness(1.03);box-shadow:var(--ds-shadow-sm);transform:translateY(-1px)}
.btn.secondary{background:#eef2f7;border-color:#d8e0eb;color:#172033}
.btn.danger{background:#dc2626;color:#fff}.btn.warning{background:#d97706;color:#fff}.btn.success{background:#16a34a;color:#fff}.btn.info{background:#0284c7;color:#fff}
.table-wrap{border-radius:var(--ds-radius-lg);border-color:var(--ds-border);background:#fff}
table thead th{background:#f5f8fc;color:#53627a;font-size:12px;letter-spacing:.025em}
table tbody tr{transition:background .15s ease}table tbody tr:hover{background:#f7fffd}
.notice{border-radius:var(--ds-radius-md);line-height:1.55}.badge,.status-pill{border-radius:999px}
.topbar{padding:4px 0}.topbar h2{font-size:28px;letter-spacing:-.035em}.topbar small{font-size:13px}
.sidebar{background:linear-gradient(180deg,#075e58 0%,#0f766e 48%,#0b625c 100%);box-shadow:12px 0 36px rgba(6,78,74,.16)}
.sidebar .brand{padding:6px}.sidebar .brand h1{font-size:20px;letter-spacing:-.02em}.nav-btn,.nav button{min-height:46px;border:1px solid transparent}.nav-btn:hover,.nav-btn.active,.nav button:hover,.nav button.active{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.12)}
.main{padding:26px 28px 36px}.metric{border-radius:var(--ds-radius-lg)}

/* Portal de acceso */
.access-portal{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.1fr) minmax(420px,.9fr);background:#f7fafc;overflow:hidden}
.access-hero{position:relative;isolation:isolate;min-height:100vh;padding:clamp(34px,5vw,72px);display:flex;align-items:center;color:#fff;background:linear-gradient(145deg,#064e4a 0%,#0f766e 48%,#14b8a6 100%);overflow:hidden}
.access-hero::after{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.access-orb{position:absolute;border-radius:50%;filter:blur(2px);z-index:-1;pointer-events:none}.access-orb-one{width:430px;height:430px;right:-110px;top:-100px;background:radial-gradient(circle,rgba(153,246,228,.36),rgba(153,246,228,0) 70%)}.access-orb-two{width:520px;height:520px;left:-230px;bottom:-250px;background:radial-gradient(circle,rgba(59,130,246,.22),rgba(59,130,246,0) 70%)}
.access-hero-content{width:min(700px,100%);display:grid;gap:clamp(34px,5vw,64px);animation:accessFade .55s ease both}
.access-brand{display:flex;align-items:center;gap:14px}.access-logo{width:58px;height:58px;min-width:58px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.12));border:1px solid rgba(255,255,255,.28);box-shadow:0 14px 30px rgba(0,0,0,.16);font-weight:950;font-size:20px;color:#fff}.access-brand h1{margin:3px 0 0;font-size:24px;letter-spacing:-.025em}.access-eyebrow{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#bffbf2}
.access-copy{max-width:650px}.access-kicker{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.17);font-size:12px;font-weight:800;color:#d8fffa}.access-copy h2{font-size:clamp(38px,4.5vw,62px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 20px;max-width:680px}.access-copy p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.82);max-width:620px;margin:0}
.access-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-feature-grid>div{display:grid;grid-template-columns:42px 1fr;column-gap:10px;row-gap:2px;padding:15px;border-radius:17px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(9px)}.access-feature-grid span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;background:rgba(255,255,255,.12);border-radius:13px;font-size:20px}.access-feature-grid b{align-self:end;font-size:14px}.access-feature-grid small{color:rgba(255,255,255,.7);font-size:12px}.access-hero-footer{display:flex;gap:10px;flex-wrap:wrap}.access-hero-footer span{font-size:11px;font-weight:800;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8)}
.access-login-panel{min-height:100vh;display:grid;place-items:center;padding:clamp(24px,5vw,66px);background:radial-gradient(circle at 85% 10%,#ecfeff 0%,transparent 34%),linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.access-login-wrap{width:min(470px,100%);display:grid;gap:20px;animation:accessSlide .48s cubic-bezier(.2,.8,.2,1) both}.access-mobile-brand{display:none;align-items:center;gap:12px}.access-mobile-brand>div:last-child{display:grid}.access-mobile-brand small{color:var(--ds-muted)}
.access-status-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.connection-chip,.version-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;border:1px solid var(--ds-border);background:#fff;font-size:12px;font-weight:800;color:#526178;box-shadow:var(--ds-shadow-sm)}.version-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.dot{display:inline-block;width:9px;height:9px;border-radius:50%}.dot.online{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.dot.offline{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}
.access-heading>span{display:block;color:var(--ds-brand-700);font-weight:900;font-size:13px;margin-bottom:6px}.access-heading h2{font-size:34px;letter-spacing:-.045em;line-height:1.08;margin:0}.access-heading p{color:var(--ds-muted);margin:9px 0 0;line-height:1.5}
.access-form{display:grid;gap:17px}.access-field{display:grid;gap:7px}.access-field>label,.access-label-row label{font-size:13px;font-weight:850;color:#334155}.access-label-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.text-button{border:0;background:transparent;color:var(--ds-brand-700);font-size:12px;font-weight:850;cursor:pointer;padding:3px}.text-button:hover{text-decoration:underline}.access-input-wrap{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;border:1px solid var(--ds-border);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.75) inset}.access-input-wrap:focus-within{border-color:var(--ds-brand-500);box-shadow:var(--ds-focus)}.access-input-wrap>span{display:grid;place-items:center;color:#738198}.access-input-wrap input{border:0!important;box-shadow:none!important;min-height:52px;border-radius:0;background:transparent;padding-left:0}.access-field>small{font-size:11px;color:#7b8799}.password-toggle{width:44px;height:44px;margin-right:4px;border:0;background:transparent;border-radius:11px;cursor:pointer}.password-toggle:hover{background:#f0fdfa}.caps-warning{color:#b45309!important;font-weight:800}
.remember-row{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;cursor:pointer;padding:11px 12px;border:1px solid var(--ds-border);border-radius:14px;background:#f8fafc}.remember-row input{width:18px;height:18px;min-height:0;margin-top:2px;accent-color:var(--ds-brand-700)}.remember-row span{display:grid;gap:2px}.remember-row b{font-size:12px;color:#334155}.remember-row small{font-size:11px;color:#7b8799}
.access-submit{position:relative;min-height:54px;border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,#0f766e,#0d9488);font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 12px 24px rgba(15,118,110,.23);overflow:hidden}.access-submit::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-110%)}.access-submit:hover::after{animation:buttonShine .8s ease}.access-submit:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(15,118,110,.29)}.access-submit:disabled{cursor:wait;opacity:.78}.button-spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .75s linear infinite}.access-submit.loading{display:flex;align-items:center;justify-content:center;gap:10px}.access-submit.loading .button-spinner{display:inline-block}
.login-alert{padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.45;border:1px solid}.login-alert.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.login-alert.danger{color:#991b1b;background:#fff1f2;border-color:#fecdd3}.login-alert.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}
.access-security-note{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:14px;border:1px solid #bdeee6;background:#f0fdfa;border-radius:15px}.access-security-note>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ccfbf1}.access-security-note>div{display:grid;gap:3px}.access-security-note b{font-size:12px;color:#0f5f59}.access-security-note small{color:#52706d;line-height:1.45}
.access-footer{display:flex;justify-content:center;gap:7px 13px;flex-wrap:wrap;padding-top:4px;color:#8490a1;font-size:10px;text-align:center}.access-footer span:not(:last-child)::after{content:"•";margin-left:13px;color:#c4ccd6}
@keyframes accessFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes accessSlide{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes buttonShine{to{transform:translateX(110%)}}

/* Portal configuración Firebase con el mismo sistema visual */
.auth-page{background:linear-gradient(135deg,#e8fbf8,#f7f9fc,#fff8ef)}.auth-card{border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-lg)}

@media(max-width:1050px){.access-portal{grid-template-columns:minmax(360px,.8fr) minmax(400px,1.2fr)}.access-feature-grid{grid-template-columns:1fr}.access-copy h2{font-size:42px}.access-hero{padding:42px}.main{padding:22px}}
@media(max-width:820px){.access-portal{display:block;background:#f7fafc}.access-hero{display:none}.access-login-panel{min-height:100svh;padding:28px 22px}.access-mobile-brand{display:flex}.access-login-wrap{width:min(520px,100%)}.access-heading h2{font-size:31px}.main{padding:18px 16px 92px}.topbar{align-items:flex-start}.topbar h2{font-size:24px}.card{padding:16px}}
@media(max-width:480px){.access-login-panel{padding:20px 16px}.access-login-wrap{gap:17px}.access-heading h2{font-size:28px}.access-status-row{align-items:stretch}.connection-chip,.version-chip{justify-content:center}.access-label-row{align-items:flex-start}.access-footer{display:grid}.access-footer span::after{display:none}.access-mobile-brand .access-logo{width:50px;height:50px;min-width:50px;border-radius:16px}.main{padding-left:12px;padding-right:12px}.card{border-radius:16px;padding:13px}.form-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* =========================================================
   V4.1 LOGIN MULTINEGOCIO — MOBILE FIRST
   ========================================================= */
.login-v41{min-height:100svh;display:grid;place-items:center;padding:24px;background:
radial-gradient(circle at 12% 8%,rgba(20,184,166,.14),transparent 32%),
radial-gradient(circle at 92% 88%,rgba(59,130,246,.10),transparent 34%),
linear-gradient(160deg,#f4fffd 0%,#f8fafc 50%,#fff 100%)}
.login-v41-card{width:min(460px,100%);display:grid;gap:20px;padding:clamp(22px,4vw,34px);border:1px solid #dfe8ee;border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(15,23,42,.13);backdrop-filter:blur(16px);animation:accessFade .4s ease both}
.login-v41-header{display:flex;align-items:center;gap:14px;padding-bottom:4px}.login-v41-logo{width:56px;height:56px;min-width:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-weight:950;font-size:18px;box-shadow:0 12px 26px rgba(15,118,110,.24)}
.login-v41-header span,.business-select-head span{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#0f766e}.login-v41-header h1,.business-select-head h1{margin:3px 0 0;font-size:21px;line-height:1.15;letter-spacing:-.025em;color:#0f172a}
.login-v41-status{display:flex;justify-content:space-between;gap:10px;align-items:center}.login-v41-heading>span{display:block;color:#0f766e;font-size:13px;font-weight:900;margin-bottom:5px}.login-v41-heading h2{margin:0;font-size:31px;letter-spacing:-.045em;line-height:1.05}.login-v41-heading p{margin:9px 0 0;color:#64748b;line-height:1.55;font-size:14px}
.login-v41-help{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid #c7eee8;border-radius:15px;background:#f0fdfa}.login-v41-help>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ccfbf1}.login-v41-help p{margin:0;color:#52706d;font-size:11px;line-height:1.5}
.login-v41-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 12px;color:#8995a6;font-size:10px;text-align:center}.login-v41-footer span:not(:last-child)::after{content:'•';margin-left:12px;color:#cbd5e1}

.business-select-page,.setup-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(150deg,#effcf9,#f8fafc 55%,#fff)}
.business-select-card,.setup-card{width:min(580px,100%);display:grid;gap:20px;padding:clamp(22px,4vw,34px);border:1px solid #dfe8ee;border-radius:28px;background:#fff;box-shadow:0 24px 64px rgba(15,23,42,.12)}
.business-select-head,.setup-brand{display:flex;align-items:center;gap:14px}.business-select-head p{margin:5px 0 0;color:#64748b;font-size:12px}.setup-logo{width:56px;height:56px;min-width:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-weight:950}.setup-brand span{display:block;color:#0f766e;text-transform:uppercase;letter-spacing:.13em;font-weight:900;font-size:10px}.setup-brand h1{margin:3px 0 0;font-size:22px}
.business-options{display:grid;gap:10px}.business-option{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:13px;border:1px solid #dfe8ee;border-radius:17px;background:#fff;color:#0f172a;cursor:pointer;transition:.16s ease}.business-option:hover,.business-option:focus-visible{border-color:#14b8a6;background:#f0fdfa;transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,118,110,.10);outline:none}.business-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#ccfbf1;color:#0f766e;font-weight:950;font-size:18px}.business-option>span:nth-child(2){display:grid;gap:3px}.business-option b{font-size:14px}.business-option small{color:#64748b;font-size:11px}.business-option>span:last-child{font-size:19px;color:#0f766e}.business-select-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

@media(max-width:600px){.login-v41,.business-select-page,.setup-page{padding:12px;align-items:stretch}.login-v41-card,.business-select-card,.setup-card{align-self:center;border-radius:22px;padding:20px;gap:17px;box-shadow:0 18px 44px rgba(15,23,42,.11)}.login-v41-header{align-items:flex-start}.login-v41-logo,.setup-logo{width:50px;height:50px;min-width:50px;border-radius:16px}.login-v41-heading h2{font-size:27px}.login-v41-status{align-items:stretch}.connection-chip,.version-chip{justify-content:center;padding:7px 9px}.access-input-wrap{grid-template-columns:40px minmax(0,1fr) auto}.access-input-wrap input{min-height:49px}.access-submit{min-height:51px}.login-v41-footer{display:grid}.login-v41-footer span::after{display:none!important}.business-option{grid-template-columns:44px minmax(0,1fr) auto;padding:11px}.business-avatar{width:44px;height:44px;border-radius:14px}.business-select-actions{display:grid;grid-template-columns:1fr}.business-select-actions .btn{width:100%}}
@media(max-width:360px){.login-v41{padding:8px}.login-v41-card{padding:17px}.login-v41-status{display:grid;grid-template-columns:1fr 1fr}.access-label-row{display:grid;gap:4px}.text-button{justify-self:start;padding-left:0}.login-v41-help{display:none}}


/* V4.1.1 — Login compacto, neutral y mobile-first */
.login-v411-brand{align-items:center;padding-bottom:8px;border-bottom:1px solid #e7eef2}
.login-v411-brand-copy{min-width:0}
.login-v411-brand-copy>span{font-size:10px;letter-spacing:.15em}
.login-v411-brand-copy h1{max-width:320px;font-size:clamp(19px,4vw,24px);line-height:1.15;text-wrap:balance}
.login-v411-footer{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding-top:2px}
.login-v411-footer span{width:100%;text-align:center}
.login-v411-footer span::after{display:none!important}
@media(max-width:600px){
  .login-v411-brand{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}
  .login-v411-brand .login-v41-logo{width:48px;height:48px;min-width:48px;border-radius:15px;font-size:16px}
  .login-v411-brand-copy h1{font-size:19px;line-height:1.18}
  .login-v41-card{gap:16px}
}
@media(max-width:380px){
  .login-v411-brand{grid-template-columns:44px minmax(0,1fr);gap:10px}
  .login-v411-brand .login-v41-logo{width:44px;height:44px;min-width:44px;border-radius:14px;font-size:15px}
  .login-v411-brand-copy h1{font-size:17px}
  .login-v411-brand-copy>span{font-size:9px}
}

/* =========================================================
   V4.2 — Facturación UX compacta y responsive
   ========================================================= */
.invoice-workspace{display:grid;gap:18px;max-width:1600px;margin:0 auto}
.invoice-main-card,.invoice-recent-card{overflow:hidden}
.invoice-page-head,.invoice-recent-head,.invoice-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.invoice-page-head h3,.invoice-recent-head h3,.invoice-section-title h4{margin:0}
.invoice-page-head p,.invoice-recent-head p,.invoice-section-title p{margin:5px 0 0;color:var(--muted);font-size:14px}
.eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--primary);margin-bottom:5px}
.invoice-number-chip{min-width:170px;padding:12px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,#f7fafc);text-align:right}
.invoice-number-chip span{display:block;color:var(--muted);font-size:12px;font-weight:800}.invoice-number-chip b{font-size:19px}
.invoice-header-form{display:grid;grid-template-columns:1.1fr 1.8fr repeat(4,minmax(130px,.7fr));gap:12px;margin-top:16px;align-items:end}
.invoice-header-form .field{min-width:0}.invoice-more-options{grid-column:1/-1;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft,#f8fafc)}
.invoice-more-options summary{cursor:pointer;padding:11px 14px;font-weight:850;color:var(--muted);list-style:none}.invoice-more-options summary::-webkit-details-marker{display:none}
.invoice-more-options summary:after{content:'＋';float:right}.invoice-more-options[open] summary:after{content:'−'}
.invoice-more-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:0 14px 14px}
.invoice-ai-compact .ai-card{padding:12px 14px}.invoice-ai-compact .kpi-list{grid-template-columns:repeat(4,minmax(120px,1fr))}
.invoice-line-builder,.invoice-draft-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}
.invoice-section-title>div{display:flex;gap:10px;align-items:flex-start}.step-number{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-weight:900}
.invoice-line-grid{display:grid;grid-template-columns:minmax(280px,2.2fr) minmax(115px,.7fr) minmax(115px,.7fr) minmax(120px,.75fr) minmax(110px,.65fr) minmax(110px,.65fr);gap:10px;align-items:end;margin-top:12px}
.line-product-field{grid-row:span 2}.line-calc-field{grid-column:2/6}.line-add-action{grid-column:6;display:flex;align-items:end}.line-add-action .btn{width:100%;min-height:46px}
.stock-inline{margin-top:7px;padding:9px 11px;border-radius:12px;background:#eafbf7;border:1px solid #9ce9d8;color:#075f55;font-size:13px;line-height:1.35}
.cost-field input[readonly]{background:var(--surface-soft,#f4f7fa);color:var(--muted)}
.line-calc-placeholder{min-height:46px;display:flex;align-items:center;padding:9px 11px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:13px}
.invoice-empty-draft{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:24px;border:1px dashed var(--border);border-radius:15px;color:var(--muted);text-align:center}.invoice-empty-draft span{font-size:28px}.invoice-empty-draft b{color:var(--text)}
.invoice-draft-table{border:1px solid var(--border);border-radius:15px;overflow:hidden}.invoice-draft-head,.invoice-draft-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(110px,.7fr) minmax(90px,.6fr) minmax(120px,.7fr) 82px;gap:12px;align-items:center;padding:11px 14px}.invoice-draft-head{background:var(--surface-soft,#f5f8fb);font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.invoice-draft-row{border-top:1px solid var(--border)}.draft-product{display:flex;flex-direction:column;gap:2px}.draft-product small,.invoice-draft-row small{color:var(--muted)}
.invoice-save-bar{position:sticky;bottom:10px;z-index:12;display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:16px;padding:12px 14px;border:1px solid var(--border);border-radius:17px;background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);box-shadow:0 12px 32px rgba(15,23,42,.12);backdrop-filter:blur(12px)}
.invoice-save-summary{margin-right:auto;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:baseline}.invoice-save-summary span{font-size:12px;color:var(--muted);font-weight:800}.invoice-save-summary b{font-size:24px}.invoice-save-summary small{grid-column:1/-1;color:var(--muted)}.invoice-save-btn{min-width:220px}
.invoice-recent-filters{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:10px;align-items:end;margin:14px 0}
.invoice-recent-list{border:1px solid var(--border);border-radius:15px;overflow:hidden}.invoice-recent-columns,.invoice-recent-row{display:grid;grid-template-columns:1fr 1.5fr .8fr .7fr .8fr;gap:12px;align-items:center;padding:11px 14px}.invoice-recent-columns{background:var(--surface-soft,#f5f8fb);font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase}.invoice-recent-row{border-top:1px solid var(--border)}.invoice-recent-number,.invoice-recent-client{display:flex;flex-direction:column;gap:2px}.invoice-recent-number small,.invoice-recent-client small{color:var(--muted)}.invoice-recent-actions{display:flex;gap:6px;justify-content:flex-end}
@media(max-width:1250px){.invoice-header-form{grid-template-columns:repeat(3,1fr)}.invoice-client-field{grid-column:span 2}.invoice-more-grid{grid-template-columns:1fr 1fr}.invoice-line-grid{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(110px,.75fr))}.line-product-field{grid-column:1/3;grid-row:auto}.line-calc-field{grid-column:1/4}.line-add-action{grid-column:4}.invoice-ai-compact .kpi-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.invoice-page-head{align-items:stretch}.invoice-number-chip{text-align:left;min-width:0}.invoice-header-form{grid-template-columns:1fr 1fr}.invoice-client-field,.invoice-branch-field{grid-column:span 1}.invoice-more-grid{grid-template-columns:1fr}.invoice-line-grid{grid-template-columns:1fr 1fr}.line-product-field{grid-column:1/-1}.line-calc-field{grid-column:1/-1}.line-add-action{grid-column:1/-1}.invoice-save-bar{bottom:6px}.invoice-recent-columns{display:none}.invoice-recent-row{grid-template-columns:1fr 1fr;gap:10px}.invoice-recent-actions{grid-column:1/-1;justify-content:stretch}.invoice-recent-actions .btn{flex:1}.invoice-recent-filters{grid-template-columns:1fr 1fr}.invoice-recent-filters>button{grid-column:1/-1}.invoice-draft-head{display:none}.invoice-draft-row{grid-template-columns:1fr 1fr}.draft-product{grid-column:1/-1}.invoice-draft-row>div[data-label]:before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:var(--muted);margin-bottom:3px}.invoice-draft-row>div:last-child{grid-column:1/-1}.invoice-draft-row>div:last-child .btn{width:100%}}
@media(max-width:560px){.invoice-workspace{gap:12px}.invoice-main-card,.invoice-recent-card{padding:14px}.invoice-page-head{flex-direction:column}.invoice-header-form{grid-template-columns:1fr}.invoice-client-field,.invoice-branch-field{grid-column:auto}.invoice-line-grid{grid-template-columns:1fr}.line-product-field,.line-calc-field,.line-add-action{grid-column:auto}.invoice-section-title{gap:10px}.invoice-section-title>button{white-space:nowrap}.invoice-save-bar{flex-direction:column;align-items:stretch;gap:9px}.invoice-save-summary{margin:0}.invoice-save-btn{width:100%;min-width:0}.invoice-recent-filters{grid-template-columns:1fr}.invoice-recent-filters>button{grid-column:auto}.invoice-recent-row{grid-template-columns:1fr}.invoice-recent-actions{grid-column:auto}.invoice-ai-compact .kpi-list{grid-template-columns:1fr 1fr}.invoice-draft-row{grid-template-columns:1fr}.invoice-draft-row>div[data-label]{display:flex;justify-content:space-between;gap:12px}.invoice-draft-row>div[data-label]:before{margin:0}}

/* V4.2.1 - Alineación quirúrgica del bloque de producto en Facturación */
.invoice-line-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:12px;
  align-items:stretch;
}
.invoice-line-grid .line-product-field{
  grid-column:auto;
  grid-row:auto;
  min-width:0;
}
.invoice-line-fields{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:start;
  min-width:0;
}
.invoice-line-fields>.field{
  min-width:0;
  display:grid;
  grid-template-rows:auto 48px minmax(20px,auto);
  align-content:start;
}
.invoice-line-fields>.field>label{
  min-height:20px;
  display:flex;
  align-items:flex-end;
}
.invoice-line-fields>.field>input,
.invoice-line-fields>.field>select{
  height:48px;
  min-height:48px;
  width:100%;
}
.invoice-line-fields>.field>small{
  min-height:20px;
  margin-top:6px;
  line-height:1.3;
}
.invoice-line-fields>.field.hidden{display:none!important}
.invoice-line-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,260px);
  gap:12px;
  align-items:end;
}
.invoice-line-footer .line-calc-field{
  grid-column:auto;
  min-width:0;
}
.invoice-line-footer .line-calc-field .notice,
.invoice-line-footer .line-calc-placeholder{
  min-height:58px;
  display:flex;
  align-items:center;
}
.invoice-line-footer .line-add-action{
  grid-column:auto;
  display:flex;
  align-items:end;
}
.invoice-line-footer .line-add-action .btn{
  width:100%;
  min-height:48px;
  white-space:nowrap;
}
.cost-field input{
  background:#f1f5f9!important;
  color:#475569;
}
@media(max-width:1100px){
  .invoice-line-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .invoice-line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .invoice-line-footer{grid-template-columns:1fr}
}
@media(max-width:520px){
  .invoice-line-fields{grid-template-columns:1fr}
  .invoice-line-fields>.field{grid-template-rows:auto 48px auto}
  .invoice-line-fields>.field>small{min-height:0}
  .invoice-line-footer .line-add-action .btn{min-height:52px}
}

/* V4.2.2 — Historiales de Abonos: jerarquía limpia y responsive */
.abonos-history-grid{align-items:start}
.abonos-history-card{padding:0;overflow:hidden;border-radius:22px}
.abonos-history-card>.card-title-row{margin:0;padding:22px 22px 14px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,#fbfdff)}
.abonos-history-card>.card-title-row h3{font-size:20px;letter-spacing:-.02em}
.history-panel{display:grid;min-width:0}
.history-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px 18px 10px}
.history-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--border);background:#fff;border-radius:14px;min-height:46px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.history-search:focus-within{border-color:#14b8a6;box-shadow:0 0 0 4px rgba(20,184,166,.12)}
.history-search>span{padding-left:14px;color:var(--muted);font-size:20px}
.history-search input{border:0!important;box-shadow:none!important;background:transparent!important;min-width:0}
.history-size{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}
.history-size select{width:74px;min-height:46px;padding:8px 30px 8px 10px}
.history-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:0 18px 12px;color:var(--muted);font-size:12px}
.history-summary b{color:var(--text);font-size:13px}
.history-desktop{display:block;overflow:hidden;border-top:1px solid var(--border)}
.history-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.history-table th{padding:12px 14px;background:#f8fafc;color:#52617d;font-size:11px;text-transform:uppercase;letter-spacing:.045em;text-align:left;border-bottom:1px solid var(--border)}
.history-table td{padding:14px;vertical-align:middle;border-bottom:1px solid var(--border);font-size:13px;overflow-wrap:anywhere}
.history-table tbody tr:last-child td{border-bottom:0}
.history-table tbody tr:hover{background:#f8fffd}
.history-table td b,.history-table td small{display:block}
.history-table td small{margin-top:4px;color:var(--muted);line-height:1.3}
.history-primary{font-size:13px;color:#0f172a}
.history-money{font-size:15px;color:#0f766e}
.history-action-col{width:220px}
.history-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.history-actions .btn{min-height:36px;padding:8px 10px;border-radius:10px;font-size:12px;white-space:nowrap}
.history-mobile{display:none;padding:12px}
.history-card-item{display:grid;gap:11px;padding:15px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.045)}
.history-card-item+.history-card-item{margin-top:10px}
.history-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.history-card-head>div{display:grid;gap:3px;min-width:0}
.history-card-head b{font-size:14px;overflow-wrap:anywhere}
.history-card-head span{font-size:11px;color:var(--muted)}
.history-card-head strong{font-size:17px;color:#0f766e;white-space:nowrap}
.history-card-client{font-weight:800;font-size:14px;color:#24324b}
.history-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.history-card-metrics>div{display:grid;gap:3px;padding:9px 10px;border-radius:12px;background:#f8fafc}
.history-card-metrics span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}
.history-card-metrics b{font-size:12px;overflow-wrap:anywhere}
.history-card-item .history-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}
.history-card-item .history-actions .btn{width:100%;padding:9px 6px}
.history-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--border);background:#fbfdff;color:var(--muted);font-size:12px}
.history-pager{display:flex;align-items:center;gap:9px}
.history-pager span{font-weight:800;color:#475569;white-space:nowrap}
.history-pager .btn{min-height:34px;padding:7px 10px}
@media(max-width:1180px){.abonos-history-grid{grid-template-columns:1fr}.history-action-col{width:240px}}
@media(max-width:760px){
  .abonos-history-card>.card-title-row{padding:16px 15px 12px}.abonos-history-card>.card-title-row h3{font-size:18px}
  .history-toolbar{grid-template-columns:1fr;padding:12px}.history-size{justify-content:flex-end}.history-summary{padding:0 12px 10px}
  .history-desktop{display:none}.history-mobile{display:block}.history-footer{padding:12px;flex-direction:column;align-items:stretch}.history-pager{justify-content:space-between}.history-pager .btn{width:auto!important}
}
@media(max-width:420px){
  .history-summary{align-items:flex-start;flex-direction:column}.history-card-metrics{grid-template-columns:1fr}.history-card-item .history-actions{grid-template-columns:1fr}.history-card-head strong{font-size:15px}.history-size{justify-content:space-between}
}

/* =========================================================
   V4.3 - GRID DESIGN SYSTEM ÚNICO
   ========================================================= */
:root{
  --grid-row-height:46px;
  --grid-head:#f4f7fb;
  --grid-hover:#f7fffd;
  --grid-line:#e3eaf3;
  --grid-text:#172033;
  --grid-muted:#64748b;
}
.table-wrap.v43-grid-scroll{
  max-width:100%;
  max-height:520px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid var(--grid-line);
  border-radius:14px;
  background:#fff;
  scrollbar-width:thin;
}
.v43-data-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;background:#fff}
.v43-data-table thead{position:sticky;top:0;z-index:4}
.v43-data-table th{
  height:42px;padding:9px 12px;background:var(--grid-head);color:#53627c;
  border-bottom:1px solid var(--grid-line);font-size:11px;font-weight:900;text-transform:uppercase;
  letter-spacing:.045em;white-space:nowrap;text-align:left;
}
.v43-data-table td{
  min-height:var(--grid-row-height);padding:9px 12px;border-bottom:1px solid var(--grid-line);
  color:var(--grid-text);font-size:13px;line-height:1.25;vertical-align:middle;
}
.v43-data-table tbody tr:last-child td{border-bottom:0}
.v43-data-table tbody tr:hover{background:var(--grid-hover)}
.v43-data-table td small{display:block;margin-top:2px;color:var(--grid-muted);font-size:11px}
.v43-data-table .num-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.v43-data-table .action-col{width:58px;text-align:center;white-space:nowrap}
.money-positive{color:#087f6e;font-size:14px;font-variant-numeric:tabular-nums}
.grid-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:#e8faf5;color:#087f6e;font-size:11px;font-weight:850;white-space:nowrap}
.v43-grid-panel{display:grid;min-width:0;background:#fff}
.v43-grid-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;padding:12px 14px 8px}
.v43-grid-search{display:grid;grid-template-columns:30px 1fr;align-items:center;min-height:42px;border:1px solid var(--grid-line);border-radius:12px;background:#fff;overflow:hidden}
.v43-grid-search:focus-within{border-color:#0cae9b;box-shadow:0 0 0 3px rgba(12,174,155,.12)}
.v43-grid-search span{text-align:center;color:#64748b;font-size:18px}.v43-grid-search input{border:0!important;background:transparent!important;box-shadow:none!important;min-width:0;height:40px;padding-left:0}
.v43-grid-size{display:flex;align-items:center;gap:7px;color:#64748b;font-size:11px;font-weight:850}.v43-grid-size select{height:42px;min-width:68px;padding:6px 28px 6px 9px}
.v43-grid-kpis{display:flex;gap:8px;padding:0 14px 10px;overflow-x:auto}
.v43-grid-kpis>div{display:flex;align-items:center;gap:7px;min-height:30px;padding:5px 9px;border:1px solid #e7edf5;border-radius:10px;background:#f8fafc;white-space:nowrap}
.v43-grid-kpis span{font-size:10px;color:#64748b;text-transform:uppercase;font-weight:850;letter-spacing:.035em}.v43-grid-kpis b{font-size:12px;color:#172033}
.grid-action-menu{position:relative;display:inline-block}
.grid-action-menu>summary{list-style:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid #dbe4ef;border-radius:10px;background:#fff;color:#334155;font-size:21px;font-weight:900;cursor:pointer;user-select:none}
.grid-action-menu>summary::-webkit-details-marker{display:none}.grid-action-menu>summary:hover,.grid-action-menu[open]>summary{background:#edf9f7;border-color:#7ad9cb;color:#087f6e}
.grid-action-popover{position:absolute;right:0;top:39px;z-index:50;display:grid;min-width:205px;padding:6px;border:1px solid #dce5ef;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18)}
.grid-menu-item,.grid-action-popover .btn,.grid-action-popover a{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:36px!important;padding:8px 10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#24324b!important;font-size:12px!important;font-weight:750!important;text-align:left!important;box-shadow:none!important;white-space:nowrap}
.grid-menu-item:hover,.grid-action-popover .btn:hover,.grid-action-popover a:hover{background:#eefaf7!important;color:#087f6e!important}
.history-footer{min-height:44px}
/* Desktop/Laptop: compacta y eficiente */
@media(min-width:992px){
  .abonos-history-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
  .abonos-history-card{min-width:0}
  .abonos-history-card>.card-title-row{padding:16px 18px 10px}
  .abonos-history-card>.card-title-row h3{font-size:18px}
  .abonos-history-card .v43-grid-scroll{max-height:360px;border-left:0;border-right:0;border-radius:0}
  .abonos-history-card .v43-data-table td{height:46px;padding-top:7px;padding-bottom:7px}
}
/* Tablet: una grilla por fila y columnas secundarias compactas */
@media(max-width:991px){
  .abonos-history-grid{grid-template-columns:1fr}
  .table-wrap.v43-grid-scroll{max-height:480px}
}
/* Celular: la tabla se transforma en tarjetas de información */
@media(max-width:700px){
  .v43-grid-toolbar{grid-template-columns:1fr;padding:10px}.v43-grid-size{justify-content:space-between}.v43-grid-kpis{padding:0 10px 9px}
  .table-wrap.v43-grid-scroll{max-height:none;overflow:visible;border:0;background:transparent}
  .v43-data-table,.v43-data-table tbody,.v43-data-table tr,.v43-data-table td{display:block;width:100%}
  .v43-data-table thead{display:none}
  .v43-data-table tbody{display:grid;gap:9px}
  .v43-data-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--grid-line);border-radius:14px;background:#fff;overflow:visible;box-shadow:0 6px 16px rgba(15,23,42,.04)}
  .v43-data-table td{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr);align-items:center;gap:8px;min-height:38px;padding:7px 10px;border-bottom:1px dashed #e7edf5;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere}
  .v43-data-table td::before{content:attr(data-label);color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;text-align:left}
  .v43-data-table td:last-child{border-bottom:0}
  .v43-data-table td.action-col,.v43-data-table td[data-label="Acciones"]{grid-column:1/-1;display:flex;justify-content:flex-end;border-top:0}
  .v43-data-table td.action-col::before,.v43-data-table td[data-label="Acciones"]::before{display:none}
  .v43-data-table td[colspan]{grid-column:1/-1;display:block;text-align:center!important}
  .v43-data-table td[colspan]::before{display:none}
  .grid-action-popover{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0;padding:10px;border-radius:16px}
  .grid-action-popover .grid-menu-item,.grid-action-popover .btn{min-height:44px!important;font-size:14px!important}
  .history-footer{padding:10px;flex-direction:column;align-items:stretch}.history-pager{justify-content:space-between}
}

/* =========================================================
   V4.3.1 - ABONOS OPERATIVO UX
   Flujo vertical, resumen de cliente y pestañas de historial.
   ========================================================= */
.abonos-operational-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;max-width:1480px;margin:0 auto}
.abonos-client-summary-card,.abonos-history-tabs-card{padding:20px 22px;overflow:hidden}
.abonos-compact-heading,.abonos-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.abonos-compact-heading h3,.abonos-history-heading h3{margin:2px 0 4px;font-size:21px;letter-spacing:-.025em}
.eyebrow{display:block;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--primary);margin-bottom:4px}
.abonos-client-empty{min-height:92px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:16px;background:#f8fafc;color:var(--muted);text-align:center;padding:18px}
.abonos-client-summary-grid{display:grid;grid-template-columns:minmax(300px,1.8fr) repeat(3,minmax(150px,1fr));gap:12px;align-items:stretch}
.abonos-client-identity,.abonos-summary-metric{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfc);padding:14px 16px;min-width:0}
.abonos-client-identity{display:flex;align-items:center;gap:13px}.abonos-client-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-weight:900;font-size:16px}
.abonos-client-identity>div{display:grid;gap:2px;min-width:0}.abonos-client-identity small,.abonos-summary-metric span{font-size:12px;color:var(--muted);font-weight:700}.abonos-client-identity b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.abonos-client-identity span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abonos-summary-metric{display:grid;align-content:center;gap:3px}.abonos-summary-metric b{font-size:21px;letter-spacing:-.03em}.abonos-summary-metric small{font-size:11px;color:var(--muted)}
.abonos-flow-form{gap:14px}.abonos-operational-fields{grid-template-columns:minmax(240px,1.4fr) minmax(240px,1.4fr) minmax(190px,.8fr);align-items:end}.abonos-operational-fields .abonos-amount-field{max-width:none}
.abonos-preview-section{background:linear-gradient(180deg,#f0fdfa,#f8fffd);border-color:#99f6e4}.abonos-preview-placeholder{min-height:90px;display:grid;place-items:center;text-align:center;border:1px dashed #99d8cf;border-radius:14px;color:var(--muted);background:rgba(255,255,255,.65);padding:16px}
.abonos-payment-fields{grid-template-columns:minmax(180px,.8fr) minmax(200px,.9fr) minmax(280px,1.4fr)}
.abonos-confirm-bar{position:sticky;bottom:12px;z-index:12;box-shadow:0 14px 38px rgba(15,118,110,.16);backdrop-filter:blur(10px)}
.abonos-history-tabs-card{padding-bottom:22px}.abonos-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);margin:0 -22px 16px;padding:0 22px}.abonos-tab{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:850;padding:12px 14px;display:flex;align-items:center;gap:9px;border-bottom:3px solid transparent;cursor:pointer;transition:.18s ease}.abonos-tab b{min-width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#e2e8f0;color:#475569;font-size:11px}.abonos-tab:hover{color:var(--text);background:#f8fafc}.abonos-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.abonos-tab.active b{background:#ccfbf1;color:#0f766e}
.abonos-tab-panel{animation:abonosPanelIn .18s ease}.abonos-tab-panel.hidden{display:none!important}@keyframes abonosPanelIn{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.abonos-history-tabs-card .v43-grid-panel{border:0;box-shadow:none;background:transparent}.abonos-history-tabs-card .v43-grid-scroll{max-height:430px}.abonos-history-tabs-card .v43-grid-toolbar{padding-left:0;padding-right:0}.abonos-history-tabs-card .v43-grid-kpis{margin-left:0;margin-right:0}
.abonos-entry-card{padding:20px 22px}.abonos-entry-card .abonos-section{padding:15px 16px}.abonos-history-grid{grid-template-columns:1fr!important}
@media(max-width:1180px){.abonos-client-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.abonos-client-identity{grid-column:1/-1}.abonos-operational-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.abonos-operational-fields .abonos-amount-field{grid-column:1/-1}.abonos-payment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.abonos-payment-fields .field:last-child{grid-column:1/-1}}
@media(max-width:760px){.abonos-operational-layout{gap:12px}.abonos-client-summary-card,.abonos-history-tabs-card,.abonos-entry-card{padding:14px}.abonos-client-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.abonos-client-identity{grid-column:1/-1;padding:12px}.abonos-summary-metric{padding:11px 12px}.abonos-summary-metric:last-child{grid-column:1/-1}.abonos-operational-fields,.abonos-payment-fields{grid-template-columns:1fr}.abonos-operational-fields .abonos-amount-field,.abonos-payment-fields .field:last-child{grid-column:auto}.abonos-confirm-bar{position:static}.abonos-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;overflow-x:auto;white-space:nowrap}.abonos-tab{flex:0 0 auto}.abonos-history-tabs-card .v43-grid-scroll{max-height:none}.abonos-compact-heading,.abonos-history-heading{margin-bottom:12px}.abonos-client-identity b{font-size:15px}}
@media(max-width:440px){.abonos-client-summary-grid{grid-template-columns:1fr}.abonos-summary-metric:last-child{grid-column:auto}.abonos-client-identity{align-items:flex-start}.abonos-tab{padding:11px 10px;font-size:13px}.abonos-confirm-bar{padding:12px}.abonos-confirm-bar .abonos-save-btn{width:100%}}

/* =========================================================
   V4.4 - Visor Universal de Documentos Comerciales
   ========================================================= */
.udv-overlay{position:fixed;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;animation:udvFade .18s ease-out}
.udv-shell{width:min(1180px,100%);max-height:92vh;background:var(--surface,#fff);border:1px solid var(--border,#dbe3ef);border-radius:24px;box-shadow:0 28px 80px rgba(15,23,42,.28);overflow:hidden;display:flex;flex-direction:column;animation:udvRise .22s ease-out}
.udv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid var(--border,#e2e8f0);background:linear-gradient(135deg,rgba(13,148,136,.08),rgba(255,255,255,.96))}
.udv-heading{display:flex;gap:14px;align-items:flex-start;min-width:0}.udv-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft,#ccfbf1);font-size:24px;flex:0 0 auto}.udv-title{margin:0;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.15}.udv-subtitle{margin:5px 0 0;color:var(--muted,#64748b);font-size:.94rem}.udv-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-weight:800;font-size:.8rem;white-space:nowrap}.udv-status.success{background:#dcfce7;color:#166534}.udv-status.warning{background:#fef3c7;color:#92400e}.udv-status.danger{background:#fee2e2;color:#991b1b}.udv-status.info{background:#dbeafe;color:#1e40af}
.udv-close{border:0;background:#fff;border-radius:12px;width:42px;height:42px;font-size:22px;cursor:pointer;box-shadow:0 2px 10px rgba(15,23,42,.08);flex:0 0 auto}.udv-close:hover{background:#f1f5f9}.udv-tabs{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border,#e2e8f0);overflow-x:auto;background:#fff}.udv-tab{border:0;background:transparent;padding:10px 14px;border-radius:10px;font-weight:800;color:#52617a;cursor:pointer;white-space:nowrap}.udv-tab.active{background:var(--primary-soft,#ccfbf1);color:var(--primary-dark,#0f766e)}.udv-content{overflow:auto;padding:22px 24px 28px;background:#f8fafc}.udv-panel{display:none}.udv-panel.active{display:block}.udv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.udv-kpi{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:16px;padding:15px}.udv-kpi span{display:block;color:var(--muted,#64748b);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.udv-kpi strong{display:block;margin-top:6px;font-size:1.24rem;overflow-wrap:anywhere}.udv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.udv-card{background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:18px;padding:17px;min-width:0}.udv-card h4{margin:0 0 13px;font-size:1rem}.udv-data{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr);gap:8px 16px;margin:0}.udv-data dt{color:var(--muted,#64748b);font-size:.84rem}.udv-data dd{margin:0;font-weight:700;overflow-wrap:anywhere}.udv-table-wrap{overflow:auto;border:1px solid var(--border,#e2e8f0);border-radius:16px;background:#fff}.udv-table{width:100%;border-collapse:collapse;min-width:680px}.udv-table th{position:sticky;top:0;background:#f1f5f9;color:#4b5d78;text-align:left;font-size:.77rem;text-transform:uppercase;letter-spacing:.04em;padding:12px}.udv-table td{padding:12px;border-top:1px solid #e8edf4;vertical-align:top}.udv-table td.num,.udv-table th.num{text-align:right}.udv-empty{padding:28px;text-align:center;color:var(--muted,#64748b)}.udv-timeline{display:grid;gap:0}.udv-event{position:relative;padding:0 0 20px 34px}.udv-event:before{content:"";position:absolute;left:10px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--primary,#0d9488);box-shadow:0 0 0 4px #ccfbf1}.udv-event:after{content:"";position:absolute;left:14px;top:18px;bottom:0;width:2px;background:#dbe3ef}.udv-event:last-child:after{display:none}.udv-event strong{display:block}.udv-event small{color:var(--muted,#64748b)}.udv-actions{display:flex;flex-wrap:wrap;gap:10px}.udv-actions .btn{min-width:150px}.udv-note{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;border-radius:14px;padding:13px 15px;margin-bottom:16px}.udv-message{white-space:pre-wrap;font-family:inherit;background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:14px;padding:15px;line-height:1.55;max-height:260px;overflow:auto}.udv-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.75rem;font-weight:800}.udv-mobile-label{display:none}
@keyframes udvFade{from{opacity:0}to{opacity:1}}@keyframes udvRise{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:900px){.udv-overlay{padding:0;align-items:stretch}.udv-shell{max-height:none;height:100%;border-radius:0}.udv-header{padding:18px}.udv-content{padding:17px}.udv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.udv-grid{grid-template-columns:1fr}.udv-tabs{padding-inline:12px}.udv-actions .btn{flex:1 1 180px}}
@media(max-width:620px){.udv-heading{gap:10px}.udv-icon{width:42px;height:42px}.udv-header{align-items:center}.udv-status{display:none}.udv-kpis{grid-template-columns:1fr 1fr}.udv-table{min-width:0}.udv-table thead{display:none}.udv-table,.udv-table tbody,.udv-table tr,.udv-table td{display:block;width:100%}.udv-table tr{border-top:1px solid #e8edf4;padding:10px 13px}.udv-table tr:first-child{border-top:0}.udv-table td{border:0;padding:5px 0;display:grid;grid-template-columns:42% 58%;gap:8px;text-align:left!important}.udv-table td:before{content:attr(data-label);color:var(--muted,#64748b);font-size:.78rem;font-weight:800}.udv-data{grid-template-columns:1fr;gap:3px}.udv-data dd{margin-bottom:9px}.udv-actions{display:grid;grid-template-columns:1fr}.udv-actions .btn{width:100%}.udv-kpi strong{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.udv-overlay,.udv-shell{animation:none}}


/* =========================================================
   V4.4.1 - FACTURACIÓN: GRILLA ESTANDARIZADA
   ========================================================= */
.invoice-standard-filters{display:grid;grid-template-columns:minmax(260px,1fr) 170px 105px auto;gap:10px;align-items:end;margin:14px 0 12px}
.invoice-filter-select{display:grid;gap:5px;color:#64748b;font-size:11px;font-weight:850}.invoice-filter-select select{height:42px;min-width:0}
.invoice-standard-grid{border:1px solid var(--grid-line);border-radius:15px;overflow:hidden;background:#fff}
.invoice-standard-grid .v43-grid-kpis{padding-top:11px;border-bottom:1px solid #edf1f6}
.invoice-standard-grid .v43-grid-scroll{border:0;border-radius:0;max-height:480px}
.invoice-standard-grid .history-footer{border-top:1px solid var(--grid-line);background:#fbfdff}
.invoice-standard-grid .money-warning{color:#b45309;font-size:14px;font-variant-numeric:tabular-nums}
.invoice-standard-grid .grid-action-popover{min-width:180px}
@media(max-width:900px){.invoice-standard-filters{grid-template-columns:minmax(0,1fr) 150px 90px}.invoice-standard-filters>button{grid-column:1/-1;justify-self:end}.invoice-standard-grid .v43-grid-scroll{max-height:520px}}
@media(max-width:700px){.invoice-standard-filters{grid-template-columns:1fr 1fr}.invoice-standard-filters .v43-grid-search{grid-column:1/-1}.invoice-standard-filters>button{grid-column:1/-1;width:100%}.invoice-standard-grid{border:0;background:transparent}.invoice-standard-grid .v43-grid-kpis{padding:8px 0 10px;border:0}.invoice-standard-grid .history-footer{border:1px solid var(--grid-line);border-radius:12px;margin-top:9px;background:#fff}.invoice-standard-grid .v43-data-table tbody tr{grid-template-columns:1fr}.invoice-standard-grid .v43-data-table td{grid-template-columns:minmax(112px,.8fr) minmax(0,1.2fr)}}

/* =========================================================
   V4.4.2 - FACTURACIÓN: DETALLE EN VISOR UNIVERSAL
   ========================================================= */
@media (min-width:901px){
  #universalDocumentViewer.udv-overlay{padding:28px;align-items:center;justify-content:center}
  #universalDocumentViewer .udv-shell{width:min(1180px,calc(100vw - 56px));height:auto;max-height:90vh;border-radius:24px}
  #universalDocumentViewer .udv-content{min-height:360px}
}
@media (max-width:900px){
  #universalDocumentViewer.udv-overlay{padding:0;align-items:stretch}
  #universalDocumentViewer .udv-shell{width:100%;height:100%;max-height:none;border-radius:0}
}

/* V4.4.3 — Alineación de formularios, toggles accesibles y Compras/Lotes vertical */
.invoice-line-fields>.field>label,
.invoice-line-fields>.field>small,
.invoice-line-fields>.field{
  text-align:left;
}
.invoice-line-fields>.field>label{
  justify-content:flex-start;
  align-items:flex-end;
  width:100%;
}
.invoice-line-fields>.field>input,
.invoice-line-fields>.field>select{
  text-align:left;
}

.presentation-toggle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.setting-toggle-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"control copy";
  gap:12px;
  align-items:center;
  min-height:82px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.setting-toggle-card:hover{
  border-color:#86d9cc;
  background:#f4fffc;
}
.setting-toggle-card:focus-within{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(13,148,136,.14);
}
.setting-toggle-card>input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
.setting-toggle-control{
  grid-area:control;
  position:relative;
  display:block;
  width:48px;
  height:28px;
  border-radius:999px;
  background:#cbd5e1;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);
  transition:background .18s ease;
}
.setting-toggle-control>span{
  position:absolute;
  top:4px;
  left:4px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(15,23,42,.25);
  transition:transform .18s ease;
}
.setting-toggle-card>input:checked + .setting-toggle-control{
  background:var(--primary);
}
.setting-toggle-card>input:checked + .setting-toggle-control>span{
  transform:translateX(20px);
}
.setting-toggle-copy{
  grid-area:copy;
  display:grid;
  gap:3px;
  min-width:0;
}
.setting-toggle-copy b{
  color:var(--text);
  font-size:14px;
  line-height:1.25;
}
.setting-toggle-copy small{
  color:var(--muted);
  line-height:1.35;
}

/* El formulario ocupa el ancho completo y la grilla se presenta debajo. */
.purchase-lot-layout{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start;
}
.purchase-entry-card{
  position:relative!important;
  top:auto!important;
  width:100%;
}
.recent-lots-card{
  width:100%;
}
.purchase-entry-card #purchaseLotForm{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.purchase-entry-card #purchaseLotForm>.field:nth-of-type(3),
.purchase-entry-card #purchaseLotForm>.purchase-values-grid,
.purchase-entry-card #purchaseLotForm>.purchase-save-btn{
  grid-column:1/-1;
}
.purchase-entry-card .purchase-values-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:760px){
  .presentation-toggle-grid{grid-template-columns:1fr}
  .purchase-entry-card #purchaseLotForm{grid-template-columns:1fr}
  .purchase-entry-card #purchaseLotForm>.field,
  .purchase-entry-card #purchaseLotForm>.purchase-values-grid,
  .purchase-entry-card #purchaseLotForm>.purchase-save-btn{grid-column:auto}
}
@media(max-width:520px){
  .setting-toggle-card{min-height:76px;padding:12px}
  .setting-toggle-control{width:44px;height:26px}
  .setting-toggle-control>span{width:18px;height:18px}
  .setting-toggle-card>input:checked + .setting-toggle-control>span{transform:translateX(18px)}
}

/* V4.4.4 - Productos e Inventario estandarizados */
.product-grid-toolbar{grid-template-columns:minmax(260px,2fr) repeat(4,minmax(145px,1fr)) auto;align-items:end;margin:16px 0 10px}.product-grid-toolbar .field{margin:0}.product-clear-filter{min-height:48px}.product-filter-count{margin:0 0 10px;font-size:13px}.standard-grid-shell{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff}.standard-grid-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr));gap:12px;padding:14px;background:#f8fafc;border-bottom:1px solid var(--border);align-items:end}.standard-grid-toolbar .field{margin:0}.grid-search-field{min-width:0}.grid-page-size{max-width:130px}.standard-grid-scroll{max-height:520px;overflow:auto!important;border:0!important;border-radius:0!important}.standard-data-grid{min-width:980px;margin:0}.standard-data-grid thead th{position:sticky;top:0;z-index:2;background:#f1f5f9}.standard-data-grid td,.standard-data-grid th{vertical-align:middle}.standard-data-grid .num{text-align:right;white-space:nowrap}.standard-grid-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--border);background:#fff;color:var(--muted);font-size:13px}.standard-grid-pager{display:flex;align-items:center;gap:10px}.standard-grid-pager b{white-space:nowrap;color:var(--text)}#presentationForm>.form-grid{align-items:start}#presentationForm>.form-grid>.field>label{display:block;text-align:left;min-height:22px}
@media(max-width:1180px){.product-grid-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.product-filter-search{grid-column:span 2}.standard-grid-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-search-field{grid-column:span 2}}
@media(max-width:760px){.product-grid-toolbar,.standard-grid-toolbar{grid-template-columns:1fr}.product-filter-search,.grid-search-field{grid-column:auto}.product-clear-filter,.grid-page-size{max-width:none;width:100%}.standard-grid-shell{border-radius:15px}.standard-grid-scroll{max-height:none;overflow:visible!important}.standard-data-grid{min-width:0!important}.standard-grid-footer{align-items:stretch;flex-direction:column}.standard-grid-pager{justify-content:space-between}.standard-grid-pager .btn{flex:1}.udv-table .btn{width:100%}}

/* V4.4.6 - Productos paginados y Catálogos colapsable */
.product-grid-toolbar-v446{
  grid-template-columns:minmax(250px,2fr) repeat(4,minmax(135px,1fr)) minmax(105px,.65fr) auto;
}
.product-grid-toolbar-v446 .field{margin:0;min-width:0}
.product-page-size select{min-width:92px}
.product-grid-scroll-v446{max-height:560px;overflow:auto!important}
.product-grid-scroll-v446 thead th{position:sticky;top:0;z-index:3;background:#f1f5f9}
.product-grid-pager-v446 .standard-grid-footer{border:1px solid var(--border);border-top:0;border-radius:0 0 16px 16px}
.nav-group-toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important}
.nav-group-label{text-align:left}
.nav-chevron{font-size:18px;line-height:1;transition:transform .2s ease;margin-left:auto}
.nav-group-toggle.expanded .nav-chevron{transform:rotate(180deg)}
.catalog-submenu-item{margin-left:18px!important;width:calc(100% - 18px)!important;animation:catalogSubmenuIn .18s ease}
.catalog-submenu-item[hidden]{display:none!important}
@keyframes catalogSubmenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:1250px){.product-grid-toolbar-v446{grid-template-columns:repeat(3,minmax(0,1fr))}.product-filter-search{grid-column:span 2}}
@media(max-width:760px){.product-grid-toolbar-v446{grid-template-columns:1fr}.product-filter-search{grid-column:auto}.product-grid-scroll-v446{max-height:none;overflow:visible!important}.product-grid-pager-v446 .standard-grid-footer{border-radius:14px}}

/* V4.4.7 - Clientes operativo y responsive */
.clients-page-v447{display:grid;gap:18px}.client-form-card-v447,.client-list-card-v447{width:100%}.client-form-grid-v447{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}.client-form-grid-v447 .field{margin:0;min-width:0}.client-form-grid-v447 label{text-align:left;display:block}.client-wide-v447{grid-column:span 2}.client-form-actions-v447{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.client-form-actions-v447 .btn{min-width:180px}.client-grid-toolbar-v447{display:grid;grid-template-columns:minmax(300px,2fr) repeat(3,minmax(150px,1fr)) 100px auto;gap:12px;align-items:end;margin:16px 0 12px}.client-grid-toolbar-v447 .field{margin:0}.client-search-v447{align-self:end}.client-clear-v447{min-height:48px}.client-grid-scroll-v447{max-height:560px}.client-data-grid-v447{min-width:1040px}.client-data-grid-v447 td small{display:block;margin-top:3px;color:var(--muted)}.client-data-grid-v447 td{vertical-align:middle}.client-data-grid-v447 .num{text-align:right;white-space:nowrap}.money-warning{color:#b45309}.client-grid-shell-v447 .grid-action-popover{right:0;left:auto}
@media(max-width:1180px){.client-form-grid-v447{grid-template-columns:repeat(3,minmax(0,1fr))}.client-grid-toolbar-v447{grid-template-columns:repeat(3,minmax(0,1fr))}.client-search-v447{grid-column:span 2}.client-wide-v447{grid-column:span 2}}
@media(max-width:820px){.client-form-grid-v447{grid-template-columns:repeat(2,minmax(0,1fr))}.client-grid-toolbar-v447{grid-template-columns:repeat(2,minmax(0,1fr))}.client-search-v447{grid-column:1/-1}.client-grid-scroll-v447{max-height:none;overflow:visible!important}.client-data-grid-v447{min-width:0!important}.client-data-grid-v447 thead{display:none}.client-data-grid-v447,.client-data-grid-v447 tbody,.client-data-grid-v447 tr,.client-data-grid-v447 td{display:block;width:100%}.client-data-grid-v447 tr{margin:0 0 12px;border:1px solid var(--border);border-radius:16px;padding:12px;background:#fff}.client-data-grid-v447 td{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0!important;border:0!important;text-align:left!important}.client-data-grid-v447 td::before{content:attr(data-label);font-size:12px;font-weight:800;text-transform:uppercase;color:var(--muted)}.client-data-grid-v447 .action-col{display:block}.client-data-grid-v447 .action-col::before{display:none}.client-data-grid-v447 .grid-action-menu summary{width:100%}.client-data-grid-v447 .grid-action-popover{position:static;box-shadow:none;border:0;padding:6px 0 0}.client-data-grid-v447 .grid-menu-item{width:100%}.client-grid-shell-v447{border:0;background:transparent}.client-grid-shell-v447 .standard-grid-scroll{overflow:visible!important}.client-grid-shell-v447 .standard-grid-footer{border:1px solid var(--border);border-radius:14px;background:#fff}}
@media(max-width:560px){.client-form-grid-v447,.client-grid-toolbar-v447{grid-template-columns:1fr}.client-wide-v447,.client-search-v447{grid-column:auto}.client-form-actions-v447{flex-direction:column-reverse}.client-form-actions-v447 .btn{width:100%;min-width:0}.client-data-grid-v447 td{grid-template-columns:1fr}.client-data-grid-v447 td::before{margin-bottom:2px}.v43-grid-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V4.4.8 - Sucursales UX estándar */
.branches-page{display:grid;gap:18px}.branches-form-card,.branches-list-card{width:100%}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.section-heading h3{margin:0 0 4px}.section-heading p{margin:0;color:var(--muted)}.branches-form{display:grid;gap:18px}.branches-form-section{border:1px solid var(--border);border-radius:18px;padding:16px;background:color-mix(in srgb,var(--card) 96%,var(--primary) 4%)}.branches-form-section h4{margin:0 0 14px}.branches-form-grid{display:grid;gap:14px}.branches-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.branches-form-grid .span-2{grid-column:span 2}.form-actions{display:flex;gap:10px;justify-content:flex-end}.branches-grid-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 180px 110px auto;gap:12px;align-items:end;margin:14px 0}.branches-grid-toolbar .compact{margin:0}.branches-grid-toolbar .compact>span{display:block;font-size:.78rem;font-weight:800;color:var(--muted);margin-bottom:6px}.branches-table-wrap{max-height:520px}.branches-table-wrap td{vertical-align:middle}.branches-table-wrap td small,.branches-table-wrap td span{display:block}.branch-row-meta{margin-top:8px}.branches-grid-panel .v43-grid-kpis{margin-bottom:4px}.v43-grid-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 0}.v43-pagination{display:flex;align-items:center;gap:10px}.hidden{display:none!important}
@media(max-width:1050px){.branches-form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.branches-grid-toolbar{grid-template-columns:1fr 1fr 120px}.branches-grid-toolbar .v43-grid-search{grid-column:1/-1}}
@media(max-width:760px){.branches-form-section{padding:14px}.branches-form-grid.cols-3{grid-template-columns:1fr}.branches-form-grid .span-2{grid-column:auto}.branches-grid-toolbar{grid-template-columns:1fr 1fr}.branches-grid-toolbar .v43-grid-search,.branches-grid-toolbar #clearBranchFilters{grid-column:1/-1}.form-actions,.v43-grid-footer,.v43-pagination{flex-direction:column;align-items:stretch}.form-actions .btn,.v43-pagination .btn{width:100%}.branches-table-wrap{max-height:none;overflow:visible}}

/* =========================================================
   V5.9 - PUNTO DE VENTA PROFESIONAL POS
   ========================================================= */
.pos-page{display:grid;gap:14px}.pos-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:20px;background:#fff}.pos-topbar h2{margin:2px 0;font-size:27px}.pos-topbar p{margin:0;color:var(--muted)}.pos-session{min-width:150px;padding:10px 14px;border-radius:14px;display:grid;gap:2px;text-align:right}.pos-session.open{background:#dcfce7;color:#166534}.pos-session.closed{background:#fee2e2;color:#991b1b}.pos-session small{font-size:11px}.pos-actions-bar{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:10px;border:1px solid var(--border);border-radius:16px;background:#fff}.pos-actions-bar select{min-width:180px;height:43px}.pos-actions-bar .btn{white-space:nowrap;min-height:43px}.pos-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:14px;align-items:start}.pos-catalog,.pos-cart{border:1px solid var(--border);border-radius:20px;background:#fff;overflow:hidden}.pos-search-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px;padding:12px;border-bottom:1px solid var(--border)}.pos-search-row input,.pos-search-row select{height:48px}.pos-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;max-height:66vh;overflow:auto}.pos-product-card{position:relative;border:1px solid #dfe7ef;border-radius:16px;background:#fff;min-width:0;overflow:hidden;transition:.15s}.pos-product-card:hover{border-color:#2dd4bf;box-shadow:0 8px 22px rgba(15,118,110,.12);transform:translateY(-1px)}.pos-product-main{width:100%;min-height:142px;border:0;background:transparent;padding:14px;display:grid;align-content:center;gap:5px;text-align:left;cursor:pointer}.pos-product-main span{font-weight:900;font-size:15px}.pos-product-main small{color:var(--muted);line-height:1.3}.pos-product-main b{font-size:20px;color:#087f6e}.pos-product-main em{font-style:normal;font-size:10px;color:#64748b}.pos-fav{position:absolute;right:7px;top:7px;z-index:2;width:32px;height:32px;border:0;border-radius:10px;background:#f8fafc;color:#eab308;font-size:20px;cursor:pointer}.pos-cart{position:sticky;top:10px}.pos-cart-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid var(--border)}.pos-cart-head h3{margin:0}.pos-cart-lines{max-height:42vh;overflow:auto}.pos-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf1f5}.pos-cart-line>div:first-child{display:grid;gap:2px}.pos-cart-line small{color:var(--muted);font-size:10px}.pos-qty-actions{display:flex;align-items:center;gap:5px}.pos-qty-actions button,.pos-remove{width:29px;height:29px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}.pos-remove{color:#dc2626}.pos-empty-cart{padding:28px;text-align:center;color:var(--muted)}.pos-payment{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;background:#f8fafc}.pos-payment label{display:grid;gap:4px;font-size:11px;font-weight:800;color:#64748b}.pos-payment select,.pos-payment input{height:42px}.pos-total,.pos-change{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:12px;background:#fff;border:1px solid var(--border)}.pos-total b{font-size:24px;color:#087f6e}.pos-total small{display:none}.pos-change b{font-size:18px}.pos-charge{grid-column:1/-1;min-height:54px;font-size:17px}.pos-history-list{display:grid}.pos-history-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 13px;border-bottom:1px solid var(--border)}.pos-history-list span{display:grid}.pos-history-list small{color:var(--muted)}.pos-ticket-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.58);backdrop-filter:blur(5px)}.pos-ticket-modal{width:min(520px,100%);max-height:94vh;overflow:auto;padding:18px;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.28)}.pos-ticket-modal header{display:flex;justify-content:space-between;gap:10px;align-items:start}.pos-ticket-modal header span{font-size:10px;letter-spacing:.12em;font-weight:900;color:#087f6e}.pos-ticket-modal header h3{margin:3px 0}.pos-ticket-modal header p{margin:0;color:var(--muted)}.pos-ticket-modal pre{width:58mm;max-width:100%;margin:16px auto;padding:10px;border:1px dashed #94a3b8;background:#fff;font:10px/1.25 monospace;white-space:pre-wrap;color:#000}.pos-ticket-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
@media(max-width:1180px){.pos-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-workspace{grid-template-columns:minmax(0,1.4fr) minmax(310px,.8fr)}}
@media(max-width:900px){.pos-workspace{grid-template-columns:1fr}.pos-cart{position:relative;top:auto}.pos-product-grid{max-height:none}.pos-cart-lines{max-height:36vh}.pos-actions-bar{flex-wrap:wrap}.pos-actions-bar select{flex:1;min-width:160px}}
@media(max-width:640px){.pos-page{gap:9px}.pos-topbar{padding:12px;border-radius:15px}.pos-topbar h2{font-size:22px}.pos-session{min-width:115px;padding:8px}.pos-actions-bar{display:grid;grid-template-columns:1fr 1fr}.pos-actions-bar select{min-width:0;width:100%}.pos-search-row{grid-template-columns:1fr}.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.pos-product-main{min-height:125px;padding:10px}.pos-product-main span{font-size:13px}.pos-product-main b{font-size:18px}.pos-cart-line{grid-template-columns:minmax(0,1fr) auto auto}.pos-cart-line>.pos-qty-actions{grid-row:2}.pos-payment{grid-template-columns:1fr}.pos-charge{grid-column:auto}.pos-history-list>div{grid-template-columns:minmax(0,1fr) auto}.pos-history-list .btn{grid-column:1/-1}.pos-ticket-overlay{padding:0;align-items:stretch}.pos-ticket-modal{width:100%;height:100%;max-height:none;border-radius:0}}

/* =========================================================
   V5.9.1 - MÓDULO TRANSVERSAL DE CAJA
   ========================================================= */
.cash-page{display:grid;gap:16px}.cash-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.cash-page-head h2{margin:3px 0;font-size:30px}.cash-page-head p{margin:0;color:var(--muted)}.cash-branch-field{display:grid;gap:5px;min-width:240px}.cash-branch-field label{font-size:11px;font-weight:850;color:var(--muted);text-transform:uppercase}.cash-current-card{display:grid;gap:16px}.cash-current-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cash-current-head h3{margin:3px 0;font-size:24px}.cash-current-head p{margin:0;color:var(--muted);font-size:12px}.cash-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.cash-metric{display:grid;gap:4px;min-height:92px;padding:13px;border:1px solid var(--border);border-radius:15px;background:#f8fafc}.cash-metric span{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--muted)}.cash-metric b{font-size:19px;font-variant-numeric:tabular-nums}.cash-metric small{color:var(--muted);font-size:10px}.cash-metric.positive{background:#f0fdf9;border-color:#bceee3}.cash-metric.negative{background:#fff7f7;border-color:#fed7d7}.cash-metric.primary{background:#effcf9;border-color:#8bdfd2}.cash-empty-session{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px}.cash-empty-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#e8faf5;font-size:25px}.cash-empty-session h3{margin:0 0 4px}.cash-empty-session p{margin:0;color:var(--muted)}.cash-open-form{display:grid;grid-template-columns:180px minmax(260px,1fr) auto;gap:12px;align-items:end;padding-top:14px;border-top:1px solid var(--border)}.cash-operation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cash-operation-card{display:grid;gap:13px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.cash-operation-card h3{margin:3px 0}.cash-operation-card p{margin:0;color:var(--muted);font-size:12px}.cash-expected-box,.cash-difference-preview{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:13px;background:#f4f8fb}.cash-expected-box span,.cash-difference-preview span{font-size:11px;font-weight:850;color:var(--muted);text-transform:uppercase}.cash-expected-box b,.cash-difference-preview b{font-size:20px}.cash-history-card{padding:0;overflow:hidden}.cash-tabs{display:flex;gap:4px;padding:12px;border-bottom:1px solid var(--border);background:#f8fafc}.cash-tabs button{border:0;border-radius:10px;padding:9px 14px;background:transparent;color:#64748b;font-weight:850;cursor:pointer}.cash-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(15,23,42,.08)}.cash-tab-content{padding:12px}.cash-grid-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px;gap:10px;margin-bottom:10px}.cash-negative{color:#b42318}.cash-history-card .v43-grid-scroll{max-height:470px}.cash-history-card .grid-action-popover{min-width:170px}
@media(max-width:1180px){.cash-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-operation-grid{grid-template-columns:1fr}.cash-open-form{grid-template-columns:1fr 1fr}.cash-open-form button{grid-column:1/-1}}
@media(max-width:760px){.cash-page-head{display:grid;align-items:stretch}.cash-branch-field{min-width:0}.cash-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-empty-session{grid-template-columns:auto 1fr}.cash-empty-session button{grid-column:1/-1;width:100%}.cash-open-form,.cash-grid-toolbar{grid-template-columns:1fr}.cash-current-head{display:grid}.cash-tabs{overflow-x:auto}.cash-tabs button{white-space:nowrap;flex:1}.cash-operation-card{padding:14px}}
@media(max-width:430px){.cash-metrics-grid{grid-template-columns:1fr}.cash-page-head h2{font-size:26px}.cash-metric{min-height:78px}.cash-tab-content{padding:8px}}

/* =========================================================
   V5.9.2 - CLIENTES RÁPIDOS EN PUNTO DE VENTA
   ========================================================= */
.pos-client-picker{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:center;min-width:360px}.pos-client-picker select{width:100%;min-width:0}.pos-new-client{white-space:nowrap;min-height:42px}.pos-client-summary{margin:0 0 14px}.pos-client-empty,.pos-client-selected{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 15px;border:1px solid #dce7ee;border-radius:16px;background:#f8fbfd}.pos-client-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e2f7f3;font-size:20px}.pos-client-empty>div,.pos-client-selected>div{display:grid;gap:2px;min-width:0;flex:1}.pos-client-empty b,.pos-client-selected b{font-size:14px;color:#152238}.pos-client-empty small,.pos-client-selected small,.pos-client-selected span{color:#64748b;font-size:11px}.pos-client-avatar{display:grid;place-items:center;width:44px;height:44px;min-width:44px;border-radius:14px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-weight:900}.pos-client-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:20px;background:rgba(15,23,42,.58);backdrop-filter:blur(5px)}.pos-client-modal{width:min(580px,100%);max-height:94vh;overflow:auto;border:1px solid #dce7ee;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28)}.pos-client-modal>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px 24px 15px;border-bottom:1px solid #e7edf3}.pos-client-modal>header span{display:block;color:#0f766e;font-size:10px;font-weight:900;letter-spacing:.12em}.pos-client-modal>header h3{margin:4px 0;font-size:23px}.pos-client-modal>header p{margin:0;color:#64748b;font-size:12px}.pos-client-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 24px 24px}.pos-client-phone,.pos-client-form .notice,.pos-client-modal-actions{grid-column:1/-1}.pos-client-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:5px}.pos-client-form input{min-height:48px;font-size:16px}.pos-client-form small{color:#64748b;line-height:1.4}
@media(max-width:900px){.pos-client-picker{min-width:0;grid-template-columns:minmax(0,1fr) auto}.pos-client-summary{margin-bottom:10px}}
@media(max-width:620px){.pos-client-picker{grid-template-columns:1fr;width:100%}.pos-new-client{width:100%}.pos-client-summary{margin:0 0 10px}.pos-client-selected{align-items:flex-start;flex-wrap:wrap}.pos-client-selected .btn{width:100%}.pos-client-overlay{padding:0;align-items:stretch}.pos-client-modal{width:100%;height:100%;max-height:none;border-radius:0}.pos-client-modal>header{padding:18px}.pos-client-form{grid-template-columns:1fr;padding:18px}.pos-client-phone,.pos-client-form .notice,.pos-client-modal-actions{grid-column:auto}.pos-client-modal-actions{display:grid;grid-template-columns:1fr}.pos-client-modal-actions .btn{width:100%;min-height:48px}}

/* =========================================================
   V5.9.3 - BARRA SUPERIOR POS RESPONSIVE
   ========================================================= */
.pos-actions-bar.pos-command-center{
  display:grid;
  gap:12px;
  padding:14px;
  overflow:visible;
  border-radius:18px;
}
.pos-context-grid{
  display:grid;
  grid-template-columns:minmax(210px,.75fr) minmax(420px,1.75fr);
  gap:12px;
  align-items:end;
}
.pos-command-field{display:grid;gap:6px;min-width:0}
.pos-command-field>span{
  color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;
}
.pos-command-field select{width:100%;min-width:0!important;height:48px!important}
.pos-customer-field .pos-client-picker{
  display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:8px;min-width:0;
}
.pos-customer-field .pos-client-picker select{min-width:0!important;width:100%}
.pos-customer-field .pos-new-client{min-height:48px;white-space:nowrap}
.pos-command-actions{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);
  gap:12px;
}
.pos-action-group{
  display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);gap:12px;align-items:center;
  min-width:0;padding:11px 12px;border:1px solid #e4ebf3;border-radius:14px;background:#f8fafc;
}
.pos-action-group-title{display:grid;gap:2px;min-width:0}
.pos-action-group-title span{font-size:12px;font-weight:900;color:#172033}
.pos-action-group-title small{font-size:10px;color:#64748b;line-height:1.3}
.pos-action-buttons{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;min-width:0}
.pos-action-buttons .btn{min-height:40px;padding:8px 13px;white-space:nowrap}
.pos-cash-primary{background:#e6faf5!important;color:#087f6e!important;border-color:#8addce!important}

@media(max-width:1180px){
  .pos-command-actions{grid-template-columns:1fr}
  .pos-action-group{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:900px){
  .pos-context-grid{grid-template-columns:1fr}
  .pos-command-actions{grid-template-columns:1fr}
  .pos-action-group{grid-template-columns:minmax(140px,.5fr) minmax(0,1.5fr)}
  .pos-action-buttons{justify-content:flex-start}
}
@media(max-width:640px){
  .pos-actions-bar.pos-command-center{display:grid;grid-template-columns:1fr;padding:10px;gap:10px}
  .pos-context-grid{display:grid;grid-template-columns:1fr;gap:10px}
  .pos-customer-field .pos-client-picker{grid-template-columns:1fr}
  .pos-customer-field .pos-new-client{width:100%}
  .pos-command-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .pos-action-group{display:grid;grid-template-columns:1fr;gap:8px;padding:10px}
  .pos-action-group-title{padding-bottom:6px;border-bottom:1px solid #e3eaf2}
  .pos-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}
  .pos-action-buttons .btn{width:100%;min-width:0;padding:8px 6px;font-size:12px}
  .pos-cash-buttons .pos-cash-primary{grid-column:1/-1}
}
@media(max-width:380px){
  .pos-action-buttons{grid-template-columns:1fr}
  .pos-cash-buttons .pos-cash-primary{grid-column:auto}
}

/* V5.9.4 - POS simplificado y clientes POS */
.top-actions>.badge{display:none!important}
.pos-command-center-simple{grid-template-columns:1fr!important}
.pos-command-center-simple .pos-context-grid{grid-template-columns:minmax(180px,.6fr) minmax(300px,1.4fr)!important}
.pos-client-picker-v594{display:grid!important;grid-template-columns:minmax(190px,.8fr) minmax(250px,1.2fr) auto!important;gap:8px!important;align-items:end!important}
.pos-client-search{display:grid;gap:4px;min-width:0}.pos-client-search>span{font-size:11px;color:var(--muted);font-weight:800}.pos-client-search input{height:46px;min-width:0}
.pos-client-picker-v594 select{height:46px;min-width:0}.pos-new-client[hidden]{display:none!important}
.cash-pos-history{margin-top:16px}.cash-pos-history .pos-history-list{max-height:420px;overflow:auto}
@media(max-width:980px){.pos-command-center-simple .pos-context-grid{grid-template-columns:1fr!important}.pos-client-picker-v594{grid-template-columns:1fr 1fr!important}.pos-client-picker-v594 .pos-new-client{grid-column:1/-1}}
@media(max-width:620px){.pos-client-picker-v594{grid-template-columns:1fr!important}.pos-client-picker-v594 .pos-new-client{grid-column:auto;width:100%}.pos-client-search input,.pos-client-picker-v594 select{width:100%}}

/* V5.9.4.1 — Buscador funcional de clientes POS */
.pos-client-search{position:relative;z-index:20}
.pos-client-search-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;max-height:320px;overflow:auto;padding:6px;border:1px solid #d9e5ee;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.18)}
.pos-client-result{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:0;border-radius:10px;background:#fff;text-align:left;cursor:pointer;color:#172033}
.pos-client-result:hover,.pos-client-result:focus-visible{background:#effcf9;outline:none}
.pos-client-result-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#ccfbf1;color:#0f766e;font-weight:900}
.pos-client-result>span:nth-child(2){display:grid;gap:2px;min-width:0}.pos-client-result b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-client-result small{color:#64748b;font-size:11px}.pos-client-result>span:last-child{color:#0f766e;font-size:18px}
.pos-client-no-result{display:grid;gap:4px;padding:14px;text-align:center;color:#64748b}.pos-client-no-result b{color:#334155}.pos-client-no-result span{font-size:12px}
@media(max-width:700px){.pos-client-search-results{position:fixed;left:10px;right:10px;top:auto;bottom:10px;max-height:55vh;border-radius:18px}.pos-client-result{min-height:56px}}

/* V5.9.4.2 — Imágenes de producto y carrito POS */
.product-image-field{grid-column:1/-1}.product-image-editor{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:16px;background:#f8fafc}.product-image-preview{width:112px;height:92px;display:grid;place-items:center;align-content:center;gap:3px;border:1px dashed #b9c7d8;border-radius:14px;background:#fff;overflow:hidden;color:#64748b}.product-image-preview img{width:100%;height:100%;object-fit:cover}.product-image-preview span{font-size:30px}.product-image-preview small{font-size:10px}.product-image-actions{display:grid;gap:7px;justify-items:start}.product-image-actions input[type=file]{max-width:100%;font-size:12px}.product-image-actions small{color:var(--muted)}
.product-visual{display:grid;place-items:center;overflow:hidden;background:#eef5f8;color:#0f766e;font-weight:950}.product-visual img{width:100%;height:100%;object-fit:cover}.product-visual-placeholder{background:linear-gradient(145deg,#dff8f2,#edf4ff)}.product-visual-thumb{width:48px;height:48px;min-width:48px;border-radius:12px;font-size:13px}.catalog-product-cell{display:flex;gap:10px;align-items:flex-start;min-width:190px}.catalog-product-cell>div{min-width:0}
.product-visual-pos{width:100%;height:70px;border-radius:11px;margin-bottom:3px;font-size:22px}.pos-product-main{align-content:start}.pos-product-card .product-visual img{transition:transform .18s ease}.pos-product-card:hover .product-visual img{transform:scale(1.035)}
.pos-cart-title{display:flex;align-items:center;gap:9px}.pos-cart-icon,.pos-clear-icon{position:relative;display:grid;place-items:center}.pos-cart-icon{width:32px;height:32px;border-radius:10px;background:#e8faf5;color:#087f6e}.pos-cart-icon svg{width:20px;height:20px}.pos-clear-icon{width:40px;height:40px;border:1px solid #dbe4ef;border-radius:12px;background:#f8fafc;color:#b42318;cursor:pointer;transition:.16s}.pos-clear-icon:hover{background:#feeceb;border-color:#f2b8b5}.pos-clear-icon svg{width:22px;height:22px}
.ui-tooltip::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:80;transform:translateX(-50%) translateY(4px);padding:6px 9px;border-radius:8px;background:#172033;color:#fff;font-size:11px;font-weight:750;line-height:1;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:.14s}.ui-tooltip::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:81;transform:translateX(-50%);border:5px solid transparent;border-top-color:#172033;opacity:0;visibility:hidden;transition:.14s}.ui-tooltip:hover::after,.ui-tooltip:hover::before,.ui-tooltip:focus-visible::after,.ui-tooltip:focus-visible::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:640px){.product-image-editor{grid-template-columns:86px minmax(0,1fr)}.product-image-preview{width:86px;height:76px}.product-visual-pos{height:58px}.pos-product-main{min-height:145px}.ui-tooltip::after,.ui-tooltip::before{display:none}}

/* V5.9.4.3 — Imágenes visibles y compactas en cards POS */
.pos-product-main{
  grid-template-rows:auto auto auto auto auto;
  align-content:start!important;
  min-height:190px;
  padding:10px!important;
}
.pos-product-image{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  height:82px;
  margin-bottom:3px;
  overflow:hidden;
  border:1px solid #e1e9f0;
  border-radius:12px;
  background:linear-gradient(145deg,#e6faf5,#edf4ff);
  color:#087f6e;
}
.pos-product-image img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .18s ease;
}
.pos-product-image-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  font-size:24px!important;
  font-weight:950!important;
  color:#087f6e;
}
.pos-product-image:not(.image-error) .pos-product-image-fallback{visibility:hidden}
.pos-product-image.image-error .pos-product-image-fallback{visibility:visible}
.pos-product-card:hover .pos-product-image img{transform:scale(1.04)}
.pos-product-name{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px!important;
  line-height:1.25;
}
.pos-product-meta{
  display:block;
  min-height:28px;
  overflow:hidden;
  font-size:10px!important;
  line-height:1.35!important;
}
.pos-product-price{font-size:18px!important}
.pos-product-stock{font-size:10px!important}
@media(max-width:900px){
  .pos-product-image{height:72px}
  .pos-product-main{min-height:176px}
}
@media(max-width:640px){
  .pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .pos-product-image{height:64px;border-radius:10px}
  .pos-product-main{min-height:164px;padding:8px!important}
  .pos-product-name{font-size:13px!important}
  .pos-product-price{font-size:16px!important}
}
@media(max-width:360px){
  .pos-product-image{height:56px}
  .pos-product-main{min-height:155px}
}

/* V5.9.4.4 — Imagen por presentación integrada con POS */
.presentation-image-field{grid-column:1/-1}
.presentation-image-editor{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:#f8fafc}
.presentation-image-preview{height:112px;border:1px dashed #b8c8da;border-radius:14px;background:#fff;display:grid;place-items:center;align-content:center;gap:5px;overflow:hidden;color:var(--muted)}
.presentation-image-preview img{width:100%;height:82px;object-fit:contain;display:block}
.presentation-image-preview small{font-size:10px;text-align:center;padding:0 6px}
.presentation-image-actions{display:grid;gap:8px;min-width:0}.presentation-image-actions input[type=file]{width:100%}.presentation-image-actions .btn{justify-self:start}
.pos-product-image img{object-fit:contain;background:#fff}
@media(max-width:700px){.presentation-image-editor{grid-template-columns:96px minmax(0,1fr);padding:10px}.presentation-image-preview{height:90px}.presentation-image-preview img{height:62px}}
@media(max-width:430px){.presentation-image-editor{grid-template-columns:1fr}.presentation-image-preview{height:120px}.presentation-image-preview img{height:88px}.presentation-image-actions .btn{width:100%}}

/* V5.9.4.5 — Tratamiento visual premium para imágenes POS */
.pos-product-card{background:linear-gradient(180deg,#fff 0%,#fcfefe 100%)}
.pos-product-main{gap:6px!important}
.pos-product-image{
  isolation:isolate;
  height:auto!important;
  aspect-ratio:4/3;
  min-height:96px;
  max-height:128px;
  border-color:#dce6ee;
  border-radius:14px;
  background:#f3f7f9;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.pos-product-image-bg{
  position:absolute!important;
  inset:-10%!important;
  z-index:0!important;
  width:120%!important;
  height:120%!important;
  object-fit:cover!important;
  filter:blur(16px) saturate(.75)!important;
  opacity:.22!important;
  transform:scale(1.08)!important;
}
.pos-product-image-main{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  padding:7px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:rgba(255,255,255,.82)!important;
  transition:transform .18s ease!important;
}
.pos-product-card:hover .pos-product-image-main{transform:scale(1.025)!important}
.pos-product-card:hover .pos-product-image-bg{transform:scale(1.12)!important}
.pos-product-image-fallback{z-index:3;background:linear-gradient(145deg,#dff8f2,#edf4ff)}
.pos-product-name{margin-top:1px}
.presentation-image-actions small,.product-image-actions small{max-width:520px;line-height:1.45}
.presentation-image-preview img,.product-image-preview img{object-fit:contain!important;background:#fff;padding:5px}
@media(min-width:1280px){.pos-product-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}.pos-product-image{min-height:108px}}
@media(max-width:900px){.pos-product-image{min-height:92px;max-height:112px}}
@media(max-width:640px){
  .pos-product-image{min-height:82px;max-height:100px;border-radius:12px}
  .pos-product-image-main{padding:5px!important}
  .pos-product-main{min-height:176px!important}
}
@media(max-width:380px){.pos-product-image{min-height:72px}.pos-product-main{min-height:164px!important}}

/* V5.9.4.6 - Tooltips visibles e iconografía estándar */
.ui-tooltip::after,.ui-tooltip::before{display:none!important}
.ui-btn-icon{display:inline-grid;place-items:center;flex:0 0 auto;min-width:1.15em;font-size:1em;line-height:1}
.btn,.grid-menu-item{gap:7px}
.pos-new-client{display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.pos-cart-icon,.pos-clear-icon{overflow:visible!important}
.pos-cart-head{overflow:visible!important;position:relative;z-index:3}
@media(max-width:640px){.ui-btn-icon{font-size:.96em}.pos-new-client{width:100%}}

/* =========================================================
   V5.9.4.7 - POS móvil UX: búsqueda, modal y carrito
   ========================================================= */
.pos-client-search input[type="search"]{-webkit-appearance:none;appearance:none}
.pos-client-search input::-webkit-search-cancel-button{cursor:pointer}
.pos-product-main{padding-top:5px!important}
.pos-product-image{margin-top:0!important;align-self:start}
.pos-product-image-main{object-position:center 10%!important;padding:4px!important}
.pos-product-image-bg{object-position:center top!important}
.pos-mobile-cart-shortcut{display:none}
.pos-quantity-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.62);backdrop-filter:blur(5px)}
.pos-quantity-modal{width:min(480px,100%);overflow:hidden;border:1px solid #dce6ee;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.3)}
.pos-quantity-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 14px;border-bottom:1px solid #e7edf3}.pos-quantity-modal>header span{display:block;color:#087f6e;font-size:10px;font-weight:900;letter-spacing:.12em}.pos-quantity-modal>header h3{margin:4px 0;font-size:22px}.pos-quantity-modal>header p{margin:0;color:#64748b;font-size:12px}.pos-modal-close{width:38px;height:38px;border:1px solid #dce5ef;border-radius:12px;background:#f8fafc;font-size:24px;cursor:pointer}.pos-quantity-modal form{display:grid;gap:14px;padding:20px 22px 22px}.pos-quantity-field{display:grid;gap:8px}.pos-quantity-field>span{font-weight:900;color:#334155}.pos-quantity-field small{color:#64748b}.pos-quantity-input{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:8px}.pos-quantity-input button{border:1px solid #d7e2ec;border-radius:14px;background:#f1f5f9;font-size:25px;font-weight:900;cursor:pointer}.pos-quantity-input input{height:58px;text-align:center;font-size:24px;font-weight:900}.pos-quantity-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}.pos-quantity-actions .btn{min-height:50px}.pos-modal-open{overflow:hidden}
.pos-cart-highlight{animation:posCartPulse 1.05s ease}@keyframes posCartPulse{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 5px rgba(13,148,136,.2),0 18px 40px rgba(13,148,136,.18)}}
@media(max-width:900px){
  .pos-mobile-cart-shortcut{position:sticky;top:8px;z-index:120;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:58px;margin:0 0 9px;padding:8px 12px;border:1px solid #8fe0d2;border-radius:16px;background:rgba(240,253,250,.96);color:#0f3d38;text-align:left;box-shadow:0 9px 24px rgba(15,118,110,.12);backdrop-filter:blur(10px);cursor:pointer}
  .pos-mobile-cart-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ccfbf1;font-size:21px}.pos-mobile-cart-shortcut>span:nth-child(2){display:grid;gap:2px}.pos-mobile-cart-shortcut small{color:#52706d}.pos-mobile-cart-badge{display:grid;place-items:center;min-width:31px;height:31px;padding:0 7px;border-radius:999px;background:#087f6e;color:#fff;font-weight:900}
  .pos-product-image{min-height:102px!important;max-height:126px!important}.pos-product-image-main{object-position:center top!important;padding:3px!important}.pos-product-main{padding-top:4px!important}
  .pos-sale-actions .pos-action-buttons{grid-template-columns:1fr!important}.pos-sale-actions .btn{white-space:normal;text-align:left;justify-content:flex-start}
}
@media(max-width:640px){
  .pos-client-search-results{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 6px)!important;bottom:auto!important;max-height:45vh!important}
  .pos-product-image{min-height:92px!important;max-height:112px!important}.pos-product-main{min-height:180px!important}
  .pos-quantity-overlay{padding:0;align-items:end}.pos-quantity-modal{width:100%;border-radius:24px 24px 0 0}.pos-quantity-modal>header{padding:18px}.pos-quantity-modal form{padding:18px}.pos-quantity-actions{grid-template-columns:1fr}
  .pos-mobile-cart-shortcut{top:5px;border-radius:14px}
}

/* =========================================================
   V6.0 - POS COMERCIAL MODERNO
   ========================================================= */
.pos-v6-page{--pos-green:#008f7a;--pos-green-dark:#087568;--pos-soft:#effbf8;--pos-line:#dce8ee;gap:12px!important}
.pos-v6-quick-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pos-v6-quick-stats>span{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon value" "icon label";column-gap:9px;align-items:center;min-height:54px;padding:8px 11px;border:1px solid var(--pos-line);border-radius:14px;background:#fff}
.pos-v6-quick-stats i{grid-area:icon;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--pos-soft);color:var(--pos-green);font-style:normal;font-weight:900}
.pos-v6-quick-stats b{grid-area:value;font-size:14px;line-height:1.1;color:#132238}.pos-v6-quick-stats small{grid-area:label;color:#64748b;font-size:10px}
.pos-v6-catalog-title{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:13px 14px 8px;border-bottom:0;background:#fff}
.pos-v6-catalog-title span{display:block;font-size:9px;font-weight:950;letter-spacing:.12em;color:var(--pos-green)}.pos-v6-catalog-title h3{margin:2px 0 0;font-size:19px}.pos-v6-catalog-title>small{color:#64748b;font-size:10px}
.pos-v6-search-row{position:sticky;top:0;z-index:8;background:#fff;box-shadow:0 5px 12px rgba(15,23,42,.035)}
.pos-product-grid{align-content:start!important;grid-auto-rows:minmax(265px,auto)!important;max-height:70vh!important;padding:10px!important}
.pos-v6-product-card{display:block!important;min-height:265px!important;border-radius:18px!important;background:#fff!important;box-shadow:0 2px 8px rgba(15,23,42,.035);overflow:hidden!important}
.pos-v6-product-main{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;width:100%!important;height:100%!important;min-height:265px!important;padding:0!important;gap:0!important;text-align:left!important}
.pos-v6-product-visual{order:0!important;position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;width:100%!important;height:128px!important;min-height:128px!important;max-height:128px!important;margin:0!important;padding:7px!important;border-radius:17px 17px 0 0!important;background:linear-gradient(145deg,#f4fffc,#f4f8ff)!important;overflow:hidden!important}
.pos-v6-product-visual .pos-product-image-main{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;padding:0!important;object-fit:contain!important;object-position:center top!important;transform:none!important;filter:none!important}
.pos-v6-product-visual .pos-product-image-fallback{position:absolute!important;inset:7px!important;display:grid!important;place-items:center!important;border-radius:12px!important;font-size:30px!important;color:#008f7a!important;background:linear-gradient(145deg,#dff8f2,#edf4ff)!important}
.pos-v6-card-info{order:1;display:grid;gap:3px;padding:11px 12px 6px;min-height:82px}
.pos-v6-product-name{font-size:14px!important;font-weight:950!important;line-height:1.2!important;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pos-v6-product-meta{font-size:10px!important;color:#64748b!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-v6-product-price{font-size:21px!important;color:var(--pos-green)!important;margin-top:5px;font-variant-numeric:tabular-nums}
.pos-v6-card-footer{order:2;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px 10px;border-top:1px solid #edf2f6;background:#fbfdfd}
.pos-v6-stock{display:grid;grid-template-columns:auto auto;column-gap:4px;align-items:center;color:#64748b;font-size:9px;font-weight:850}.pos-v6-stock i{font-size:11px}.pos-v6-stock small{grid-column:1/-1;margin:0!important;font-size:9px!important}.pos-v6-stock.stock-ok i{color:#16a34a}.pos-v6-stock.stock-low i{color:#f59e0b}.pos-v6-stock.stock-out i{color:#dc2626}.pos-v6-stock.stock-out{color:#991b1b}
.pos-v6-add{display:inline-flex;align-items:center;gap:3px;min-height:29px;padding:5px 9px;border-radius:9px;background:var(--pos-soft);color:var(--pos-green-dark);font-size:10px;font-weight:900}.pos-v6-add>span{font-size:15px!important;line-height:1}
.pos-v6-product-card:hover{transform:translateY(-2px)!important;box-shadow:0 11px 27px rgba(0,143,122,.13)!important}.pos-v6-product-card:active{transform:scale(.985)!important}
.pos-v6-product-card.stock-out{opacity:.72}.pos-v6-product-card.stock-out .pos-v6-add{background:#f1f5f9;color:#94a3b8}
.pos-fav{top:7px!important;right:7px!important;width:34px!important;height:34px!important;z-index:5!important;background:rgba(255,255,255,.92)!important;box-shadow:0 3px 10px rgba(15,23,42,.08)!important}
.pos-v6-hold-sales{padding:8px 10px!important;align-items:center!important}.pos-v6-hold-sales .pos-action-group-title small{max-width:250px}.pos-v6-hold-sales .pos-action-buttons{display:flex!important;gap:7px!important;justify-content:flex-end!important}.pos-v6-hold-sales .btn{min-height:38px!important;padding:7px 12px!important;font-size:12px!important;border-radius:10px!important}
.pos-v6-cart{border-radius:20px!important;box-shadow:0 10px 30px rgba(15,23,42,.07)}.pos-v6-cart-head{background:#fff}.pos-v6-charge{display:flex!important;justify-content:center!important;gap:8px!important}.pos-v6-charge strong{margin-left:auto;font-size:15px}
.pos-v6-mobile-cart{border:1px solid #80dfd2!important;background:linear-gradient(135deg,#087f6e,#0baa94)!important;color:#fff!important;box-shadow:0 10px 26px rgba(8,127,110,.26)!important}.pos-v6-mobile-cart small,.pos-v6-mobile-cart strong{color:#fff!important}.pos-v6-mobile-cart strong{margin-left:auto;font-size:15px}
@media(min-width:1440px){.pos-product-grid{grid-template-columns:repeat(5,minmax(155px,1fr))!important}.pos-v6-product-visual{height:138px!important;min-height:138px!important;max-height:138px!important}}
@media(min-width:1100px) and (max-width:1439px){.pos-product-grid{grid-template-columns:repeat(4,minmax(150px,1fr))!important}}
@media(min-width:760px) and (max-width:1099px){.pos-workspace{grid-template-columns:minmax(0,1fr) 310px!important}.pos-product-grid{grid-template-columns:repeat(3,minmax(145px,1fr))!important}.pos-v6-product-visual{height:116px!important;min-height:116px!important;max-height:116px!important}.pos-v6-quick-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:759px){.pos-v6-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-v6-catalog-title{align-items:start}.pos-v6-catalog-title>small{display:none}.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(230px,auto)!important;max-height:none!important;overflow:visible!important;gap:8px!important;padding:8px!important}.pos-v6-product-card,.pos-v6-product-main{min-height:230px!important}.pos-v6-product-visual{height:105px!important;min-height:105px!important;max-height:105px!important;padding:5px!important}.pos-v6-card-info{padding:9px 9px 5px;min-height:75px}.pos-v6-product-name{font-size:13px!important}.pos-v6-product-price{font-size:18px!important}.pos-v6-card-footer{padding:7px 8px 8px}.pos-v6-add{padding:4px 7px}.pos-v6-hold-sales{display:grid!important;grid-template-columns:1fr!important}.pos-v6-hold-sales .pos-action-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}.pos-v6-hold-sales .btn{justify-content:center!important;text-align:center!important}.pos-v6-cart{scroll-margin-top:82px}}
@media(max-width:380px){.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.pos-v6-product-card,.pos-v6-product-main{min-height:216px!important}.pos-v6-product-visual{height:92px!important;min-height:92px!important;max-height:92px!important}.pos-v6-stock span{display:none}.pos-v6-add{font-size:9px}.pos-v6-quick-stats{gap:6px}.pos-v6-quick-stats>span{padding:7px}}

/* =========================================================
   V6.0.1 - MODALES POS: STEPPER SIN TECLADO Y CARRITO/COBRO
   ========================================================= */
.pos-stepper-only-modal .pos-stepper-panel{display:grid;gap:14px;padding:20px}
.pos-stepper-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.pos-stepper-control{display:grid;grid-template-columns:72px minmax(100px,1fr) 72px;gap:12px;align-items:center}
.pos-stepper-control button{height:64px;border:0;border-radius:18px;background:#e8f8f4;color:#087f6e;font-size:34px;font-weight:950;cursor:pointer;box-shadow:inset 0 0 0 1px #bfe9df}
.pos-stepper-control button:active{transform:scale(.96)}
.pos-stepper-control output{display:grid;place-items:center;height:72px;border:2px solid #8ddfd2;border-radius:18px;background:#fff;color:#0f172a;font-size:34px;font-weight:950;font-variant-numeric:tabular-nums}
.pos-quick-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pos-quick-steps button{min-height:42px;border:1px solid #cfe4df;border-radius:12px;background:#f8fffd;color:#087f6e;font-weight:900}
.pos-stepper-panel small{color:#64748b;text-align:center}
.pos-cart-modal-overlay{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.55);backdrop-filter:blur(7px)}
.pos-cart-modal{width:min(920px,100%);max-height:92vh;display:grid;grid-template-rows:auto minmax(180px,1fr) auto;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.3)}
.pos-cart-modal>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e5edf3}.pos-cart-modal>header span{font-size:10px;font-weight:950;letter-spacing:.12em;color:#087f6e}.pos-cart-modal>header h3{margin:3px 0;font-size:24px}.pos-cart-modal>header p{margin:0;color:#64748b}
.pos-cart-modal-lines{overflow:auto;padding:10px 18px}.pos-cart-modal-empty{padding:45px 15px;text-align:center;color:#64748b}
.pos-cart-modal-line{display:grid;grid-template-columns:minmax(0,1fr) auto 100px 40px;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #e8edf3}.pos-cart-modal-product{display:grid;gap:3px}.pos-cart-modal-product small{color:#64748b}.pos-cart-modal-qty{display:flex;align-items:center;gap:8px}.pos-cart-modal-qty button{width:38px;height:38px;border:1px solid #d8e4ea;border-radius:11px;background:#f8fafc;font-size:22px;font-weight:900}.pos-cart-modal-price{text-align:right;font-size:15px}.pos-cart-modal-remove{width:36px;height:36px;border:0;border-radius:10px;background:#fff1f2;color:#be123c;font-size:22px}
.pos-cart-modal-checkout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 22px;border-top:1px solid #e5edf3;background:#fbfdfd}.pos-cart-modal-fields{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px}.pos-cart-modal-fields label{display:grid;gap:5px;color:#64748b;font-size:11px;font-weight:850}.pos-cart-modal-fields select,.pos-cart-modal-fields input{height:46px}
.pos-cart-modal-summary{min-width:170px;display:grid;align-content:center;justify-items:end}.pos-cart-modal-summary>span{color:#64748b;font-size:11px;text-transform:uppercase;font-weight:850}.pos-cart-modal-summary>b{font-size:30px;color:#087f6e}.pos-cart-modal-summary small{color:#64748b}.pos-cart-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.pos-cart-modal-actions .btn{min-height:50px}.pos-v6-stat-action{cursor:pointer}.pos-v6-stat-action:hover{border-color:#7dd8ca;background:#f0fdfa}
@media(max-width:760px){.pos-cart-modal-overlay{padding:0;align-items:end}.pos-cart-modal{width:100%;height:min(92svh,820px);max-height:92svh;border-radius:26px 26px 0 0}.pos-cart-modal>header{padding:17px}.pos-cart-modal>header h3{font-size:21px}.pos-cart-modal-lines{padding:8px 13px}.pos-cart-modal-line{grid-template-columns:minmax(0,1fr) auto 76px 34px;gap:7px}.pos-cart-modal-qty button{width:34px;height:34px}.pos-cart-modal-checkout{grid-template-columns:1fr;padding:14px}.pos-cart-modal-fields{grid-template-columns:1fr 1fr}.pos-cart-modal-fields label:last-child{grid-column:1/-1}.pos-cart-modal-summary{min-width:0;justify-items:stretch;grid-template-columns:1fr auto;align-items:end}.pos-cart-modal-summary>span{grid-column:1}.pos-cart-modal-summary>b{grid-column:2;grid-row:1/3}.pos-cart-modal-summary small{grid-column:1}.pos-cart-modal-actions{display:grid;grid-template-columns:1fr}.pos-cart-modal-actions .btn{width:100%}.pos-stepper-control{grid-template-columns:62px minmax(90px,1fr) 62px}.pos-stepper-control button{height:58px}.pos-stepper-control output{height:66px;font-size:30px}}
@media(max-width:420px){.pos-cart-modal-fields{grid-template-columns:1fr}.pos-cart-modal-fields label:last-child{grid-column:auto}.pos-cart-modal-line{grid-template-columns:minmax(0,1fr) auto 34px}.pos-cart-modal-price{grid-column:1/3;text-align:right}.pos-quick-steps{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   V6.0.2 - CARRITO SOLO EN MODAL
   El detalle operativo deja de ocupar espacio en la pantalla POS.
   ========================================================= */
.pos-workspace{
  grid-template-columns:minmax(0,1fr)!important;
}
.pos-workspace>.pos-cart{
  display:none!important;
}
/* El resumen compacto es el único acceso visible al carrito. */
.pos-mobile-cart-shortcut{
  display:grid!important;
  position:sticky;
  top:8px;
  z-index:120;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  width:100%;
  min-height:62px;
  margin:0 0 10px;
  padding:9px 13px;
  border:1px solid #73d8c9;
  border-radius:17px;
  cursor:pointer;
}
.pos-mobile-cart-shortcut:focus-visible{
  outline:3px solid rgba(13,148,136,.22);
  outline-offset:2px;
}
/* Modal más clara y menos saturada en móvil. */
@media(max-width:760px){
  .pos-cart-modal{height:min(90svh,760px);max-height:90svh}
  .pos-cart-modal-lines{padding:6px 12px}
  .pos-cart-modal-line{padding:10px 2px}
  .pos-cart-modal-checkout{gap:11px;padding:12px 14px calc(14px + env(safe-area-inset-bottom))}
  .pos-cart-modal-fields{gap:8px}
  .pos-cart-modal-fields select,.pos-cart-modal-fields input{height:44px}
}
@media(min-width:761px){
  .pos-mobile-cart-shortcut{max-width:none}
  .pos-product-grid{max-height:72vh}
}

/* =========================================================
   V6.0.3 - RESUMEN Y MODAL DEL CARRITO CORREGIDOS
   ========================================================= */
.pos-mobile-cart-shortcut.pos-v6-mobile-cart{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) auto 24px!important;
  gap:12px!important;
  align-items:center!important;
  min-height:72px!important;
  padding:11px 14px!important;
  border:1px solid #5cd2c1!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#087f6e 0%,#08a88f 100%)!important;
  color:#fff!important;
  text-align:left!important;
  box-shadow:0 12px 28px rgba(8,127,110,.22)!important;
}
.pos-cart-summary-icon{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:rgba(255,255,255,.92);color:#087f6e;font-size:24px;
}
.pos-cart-summary-copy{display:grid;gap:3px;min-width:0;color:#fff}
.pos-cart-summary-copy b{font-size:16px;line-height:1.1;color:#fff}
.pos-cart-summary-copy small{font-size:12px;color:rgba(255,255,255,.88)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-cart-summary-total{display:grid;justify-items:end;gap:2px;white-space:nowrap}
.pos-cart-summary-total small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.76)!important}
.pos-cart-summary-total strong{font-size:20px;color:#fff!important;font-variant-numeric:tabular-nums}
.pos-cart-summary-arrow{font-size:31px;line-height:1;color:rgba(255,255,255,.9)}
.pos-mobile-cart-shortcut.pos-v6-mobile-cart:hover{filter:brightness(1.035);transform:translateY(-1px)}

/* La modal reserva espacio real para el detalle y evita un bloque vacío excesivo. */
.pos-cart-modal{
  grid-template-rows:auto minmax(110px,auto) auto!important;
}
.pos-cart-modal-lines{
  min-height:110px;
  max-height:42vh;
  overflow:auto;
  padding:10px 18px!important;
}
.pos-cart-modal-line{
  min-height:62px;
  background:#fff;
}
.pos-cart-modal-line:first-child{border-top:0}
.pos-cart-modal-product b{font-size:14px;color:#162033}
.pos-cart-modal-product small{font-size:11px}

@media(max-width:760px){
  .pos-mobile-cart-shortcut.pos-v6-mobile-cart{
    position:sticky;top:6px;z-index:120;
    grid-template-columns:44px minmax(0,1fr) auto 18px!important;
    min-height:66px!important;padding:9px 11px!important;gap:9px!important;border-radius:16px!important;
  }
  .pos-cart-summary-icon{width:44px;height:44px;border-radius:13px;font-size:21px}
  .pos-cart-summary-copy b{font-size:15px}.pos-cart-summary-copy small{font-size:11px}
  .pos-cart-summary-total strong{font-size:17px}.pos-cart-summary-arrow{font-size:25px}
  .pos-cart-modal{height:auto!important;max-height:92svh!important;min-height:0!important}
  .pos-cart-modal-lines{min-height:82px;max-height:34svh;padding:7px 13px!important}
  .pos-cart-modal-line{min-height:58px}
}
@media(max-width:390px){
  .pos-mobile-cart-shortcut.pos-v6-mobile-cart{grid-template-columns:40px minmax(0,1fr) auto!important}
  .pos-cart-summary-arrow{display:none}
  .pos-cart-summary-icon{width:40px;height:40px}
  .pos-cart-summary-copy small{max-width:145px}
}

/* =========================================================
   V6.0.4 — CARRITO PARA COMPRAS GRANDES
   ========================================================= */
.pos-cart-modal{
  height:min(94dvh,900px)!important;
  max-height:94dvh!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.pos-cart-modal>header{position:relative;z-index:3;background:#fff}
.pos-cart-modal-header-actions{display:flex;align-items:center;gap:9px}
.pos-cart-modal-clear{
  min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;
  border:1px solid #f2c9ce;border-radius:12px;background:#fff7f8;color:#b4233f;
  font-weight:850;cursor:pointer;
}
.pos-cart-modal-clear:hover:not(:disabled){background:#feecef;border-color:#eaa8b2}
.pos-cart-modal-clear:disabled{opacity:.42;cursor:not-allowed}
.pos-cart-modal-lines{
  min-height:0!important;max-height:none!important;overflow-y:auto!important;
  overscroll-behavior:contain;padding:10px 18px!important;background:#fff;
}
.pos-cart-modal-checkout{
  position:relative;z-index:4;max-height:54dvh;overflow-y:auto;overscroll-behavior:contain;
  background:#fbfdfd;box-shadow:0 -8px 24px rgba(15,23,42,.07);
}
.pos-cart-modal-actions{
  position:sticky;bottom:0;z-index:5;margin:0 -2px -2px;padding:10px 2px 2px;
  background:linear-gradient(to bottom,rgba(251,253,253,.84),#fbfdfd 24%);
}
.pos-cart-modal-actions .btn.success{box-shadow:0 10px 22px rgba(22,163,74,.18)}
.pos-cart-modal.is-empty .pos-cart-modal-checkout{opacity:.96}
.pos-mobile-cart-shortcut.pos-v6-mobile-cart.is-empty{
  border-color:#dbe5ec!important;background:#f3f6f9!important;color:#64748b!important;
  box-shadow:none!important;cursor:default!important;
}
.pos-mobile-cart-shortcut.pos-v6-mobile-cart.is-empty .pos-cart-summary-icon{background:#fff;color:#94a3b8}
.pos-mobile-cart-shortcut.pos-v6-mobile-cart.is-empty .pos-cart-summary-copy b,
.pos-mobile-cart-shortcut.pos-v6-mobile-cart.is-empty .pos-cart-summary-copy small,
.pos-mobile-cart-shortcut.pos-v6-mobile-cart.is-empty .pos-cart-summary-total small,
.pos-mobile-cart-shortcut.pos-v6-mobile-cart.is-empty .pos-cart-summary-total strong{color:#64748b!important}

@media(max-width:760px){
  .pos-cart-modal-overlay{align-items:end!important;padding:0!important}
  .pos-cart-modal{
    width:100%!important;height:94dvh!important;max-height:94dvh!important;
    border-radius:26px 26px 0 0!important;
  }
  .pos-cart-modal>header{padding:15px 16px!important}
  .pos-cart-modal-header-actions{gap:6px}
  .pos-cart-modal-clear{min-height:40px;padding:7px 9px}
  .pos-cart-modal-clear span:last-child{display:none}
  .pos-cart-modal-lines{padding:7px 13px!important}
  .pos-cart-modal-checkout{
    max-height:58dvh!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;
  }
  .pos-cart-modal-actions{
    padding:9px 0 calc(2px + env(safe-area-inset-bottom));
  }
  .pos-cart-modal-actions .btn{min-height:52px!important}
}
@media(max-width:420px){
  .pos-cart-modal{height:96dvh!important;max-height:96dvh!important}
  .pos-cart-modal-checkout{max-height:61dvh!important}
  .pos-cart-modal-fields{gap:7px!important}
  .pos-cart-modal-fields select,.pos-cart-modal-fields input{height:44px!important}
  .pos-cart-modal-summary>b{font-size:27px!important}
}

/* =========================================================
   V6.0.5 - POS compacto: sin cabecera redundante ni KPIs
   ========================================================= */
.pos-v605-compact .pos-topbar,
.pos-v605-compact #posV6QuickStats{display:none!important}
.pos-v605-compact{padding-top:0!important}
.pos-v605-compact .pos-context-bar{margin-top:0!important}
.pos-v605-compact .pos-workspace{margin-top:10px!important}
.pos-cart-modal-fields{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr)!important}
@media(max-width:700px){
  .pos-v605-compact .pos-context-bar{margin-top:0!important}
  .pos-v605-compact .pos-v6-mobile-cart{margin-top:10px!important}
  .pos-cart-modal-fields{grid-template-columns:1fr!important}
}

/* =========================================================
   V6.1 - ABONOS PROFESIONAL UX
   ========================================================= */
.abonos-professional-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start}
.abonos-observation-field{grid-column:1/-1}.abonos-observation-field textarea{width:100%;min-height:86px;resize:vertical}
.abonos-date-audit{margin-top:10px;font-size:12px}.abonos-payment-fields small{color:var(--muted);line-height:1.35}
.abonos-history-date-filters{display:grid;grid-template-columns:180px 180px auto;gap:9px;align-items:end;padding:0 14px 10px}
.abonos-history-date-filters label{display:grid;gap:4px}.abonos-history-date-filters label span{font-size:10px;font-weight:900;color:#64748b;text-transform:uppercase}.abonos-history-date-filters input{height:40px}
.abonos-v61-grid .v43-grid-scroll{max-height:460px}
@media(max-width:900px){.abonos-professional-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.abonos-history-date-filters{grid-template-columns:1fr 1fr}.abonos-history-date-filters button{grid-column:1/-1;justify-self:end}}
@media(max-width:640px){.abonos-professional-fields{grid-template-columns:1fr!important}.abonos-observation-field{grid-column:auto}.abonos-history-date-filters{grid-template-columns:1fr;padding:0 10px 10px}.abonos-history-date-filters button{grid-column:auto;width:100%}.abonos-date-audit{font-size:11px}}

/* =========================================================
   V6.1.1 - AJUSTES INTEGRALES POS, CARTERA E INVENTARIO
   ========================================================= */
.invoice-standard-filters{grid-template-columns:minmax(230px,1.2fr) 155px 155px 150px 95px auto!important}
.invoice-standard-filters input[type="date"]{height:42px;min-width:0}
.operational-modal-overlay{position:fixed;inset:0;z-index:15000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.62);backdrop-filter:blur(5px)}
.operational-modal{width:min(480px,100%);display:grid;grid-template-columns:56px minmax(0,1fr);gap:15px;padding:22px;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.3)}
.operational-modal-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:#e8faf5;font-size:27px}.operational-modal h3{margin:2px 0 7px;font-size:22px}.operational-modal p{margin:0;color:#64748b;line-height:1.5}.operational-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.operational-modal.warning .operational-modal-icon{background:#fff4d7}.operational-modal.danger .operational-modal-icon{background:#feecee}.operational-modal.danger .btn.success{background:#dc2626;border-color:#dc2626}
.pos-v6-product-meta{font-weight:750;color:#52657b!important}
#inventoryEngineForm .form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.invoice-standard-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}.invoice-standard-filters .v43-grid-search{grid-column:1/-1}.invoice-standard-filters>button{grid-column:auto!important;align-self:end}}
@media(max-width:760px){.invoice-standard-filters{grid-template-columns:1fr 1fr!important}.invoice-standard-filters .v43-grid-search{grid-column:1/-1}.invoice-standard-filters>button{grid-column:1/-1!important;width:100%}#inventoryEngineForm .form-grid.three{grid-template-columns:1fr}.operational-modal-overlay{padding:0;align-items:end}.operational-modal{width:100%;grid-template-columns:48px minmax(0,1fr);border-radius:24px 24px 0 0;padding:19px 17px calc(19px + env(safe-area-inset-bottom))}.operational-modal-icon{width:48px;height:48px}.operational-modal-actions{display:grid;grid-template-columns:1fr}.operational-modal-actions .btn{width:100%;min-height:49px}}

/* =========================================================
   V6.1.2 - ESTADO VISUAL DE CAJA CERRADA EN POS
   ========================================================= */
.pos-cash-closed-banner{
  display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:12px 14px;border:1px solid #f5c46b;border-radius:17px;background:#fff8e8;
  color:#7c4a03;box-shadow:0 8px 22px rgba(180,110,0,.09);
}
.pos-cash-lock{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#ffedbd;font-size:23px}
.pos-cash-closed-banner>span:nth-child(2){display:grid;gap:3px}.pos-cash-closed-banner b{font-size:15px}.pos-cash-closed-banner small{color:#8a641f}
.pos-cash-is-closed .pos-product-card{opacity:.66;filter:saturate(.55)}
.pos-cash-is-closed .pos-product-card [data-pos-add]{cursor:not-allowed!important}
.pos-cash-is-closed .pos-v6-add{background:#edf1f4!important;color:#94a3b8!important}
.pos-mobile-cart-shortcut.cash-closed{filter:grayscale(.35);opacity:.72}
.pos-cart-modal-overlay.pos-cash-closed .pos-cart-modal-checkout{background:#fffaf0}
.pos-cash-closed-notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.pos-cash-closed-notice .btn{margin-left:auto}
@media(max-width:700px){
  .pos-cash-closed-banner{grid-template-columns:42px minmax(0,1fr);padding:10px}
  .pos-cash-lock{width:42px;height:42px}
  .pos-cash-closed-banner .btn{grid-column:1/-1;width:100%;min-height:46px}
  .pos-cash-closed-notice{display:grid;grid-template-columns:1fr}.pos-cash-closed-notice .btn{margin:0;width:100%}
}
/* V6.1.3 — Modal de cantidad más limpio */
.pos-stepper-only-modal .pos-quantity-field>small:empty{display:none}
.pos-stepper-only-modal .pos-quantity-field{gap:12px}

/* V6.2 - Reservas concurrentes POS */
.pos-reservation-chip{position:absolute;left:8px;top:8px;z-index:7;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:900;box-shadow:0 3px 10px rgba(15,23,42,.12)}
.pos-reservation-chip.own{background:#dcfce7;color:#166534}.pos-reservation-chip.other{background:#fff7d6;color:#92400e}
.pos-product-card.reservation-unavailable{opacity:.68}.pos-product-card.reservation-unavailable .pos-v6-add{background:#f1f5f9!important;color:#94a3b8!important}
.pos-reservation-summary{display:flex;align-items:center;gap:10px;margin:-4px 0 10px;padding:9px 12px;border:1px solid #a7e6d9;border-radius:13px;background:#effcf9;color:#0f5f55}.pos-reservation-summary>span:first-child{font-size:19px}.pos-reservation-summary>span:last-child{display:grid;gap:2px}.pos-reservation-summary b{font-size:12px}.pos-reservation-summary small{font-size:10px;color:#52706d}
@media(max-width:640px){.pos-reservation-chip{top:5px;left:5px;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-reservation-summary{margin-top:-2px}}

/* V6.2.1 — diagnóstico de permisos de reservas */
.pos-reservation-permission-banner{margin:0 0 10px;line-height:1.45}
.pos-reservation-permission-banner code{padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.72);font-size:.9em}

/* =========================================================
   V6.3 - MOTOR DE DISPONIBILIDAD COMERCIAL
   ========================================================= */
.pos-commercial-badges{position:relative;z-index:4;display:flex;flex-wrap:wrap;gap:4px;padding:5px 8px 8px;background:#fbfdfd;border-top:1px solid #edf2f6}.pos-availability-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850;line-height:1.2}.pos-availability-badge.available{background:#dcfce7;color:#166534}.pos-availability-badge.reserved{background:#fef3c7;color:#92400e}.pos-availability-badge.sellers{background:#e0f2fe;color:#075985;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-availability-badge.own{background:#ccfbf1;color:#0f766e}.pos-product-card.client-required{opacity:.58;filter:saturate(.6)}.pos-product-card.client-required .pos-v6-add{background:#f1f5f9!important;color:#94a3b8!important}.pos-client-required-banner{margin:9px 10px 0}.pos-monitor-page{display:grid;gap:16px}.pos-monitor-head{display:flex;justify-content:space-between;align-items:end;gap:16px}.pos-monitor-head h2{margin:3px 0}.pos-monitor-head p{margin:0;color:var(--muted)}.pos-monitor-head label{display:grid;gap:5px;min-width:260px}.pos-monitor-head label>span{font-size:10px;font-weight:900;color:#64748b}.pos-monitor-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pos-monitor-metrics .metric-card{display:grid;gap:3px}.pos-monitor-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 120px;gap:10px;margin-bottom:12px}.pos-active-sales-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pos-active-sale{display:grid;gap:11px;padding:14px;border:1px solid #dfe8ef;border-radius:16px;background:#fff}.pos-active-sale>header{display:flex;justify-content:space-between;gap:10px;align-items:start}.pos-active-sale>header>div{display:flex;gap:8px;align-items:center}.pos-active-sale header div div{display:grid}.pos-active-sale header small{color:#64748b}.pos-live-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px #dcfce7}.pos-active-client{display:grid;gap:2px;padding:8px 10px;border-radius:11px;background:#f8fafc}.pos-active-client span{font-size:9px;font-weight:900;color:#64748b;text-transform:uppercase}.pos-active-products{display:grid;gap:6px;max-height:160px;overflow:auto}.pos-active-products>div{display:flex;justify-content:space-between;gap:8px;padding-bottom:5px;border-bottom:1px solid #edf2f6;font-size:11px}.pos-active-products span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-active-sale>footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:5px}.reservation-sellers-list{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commercial-inventory-card{margin-top:16px}.commercial-availability-table .num-col{white-space:nowrap}.app-confirm-overlay{position:fixed;inset:0;z-index:16000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.62);backdrop-filter:blur(5px)}.app-confirm-modal{width:min(460px,100%);display:grid;gap:12px;padding:24px;border-radius:22px;background:#fff;text-align:center;box-shadow:0 28px 80px rgba(15,23,42,.3)}.app-confirm-icon{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:18px;background:#e8faf5;font-size:27px}.app-confirm-modal h3{margin:0}.app-confirm-modal p{margin:0;color:#64748b;line-height:1.5}.app-confirm-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:6px}
@media(max-width:1100px){.pos-active-sales-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pos-monitor-head{display:grid}.pos-monitor-head label{min-width:0}.pos-active-sales-grid{grid-template-columns:1fr}.pos-monitor-toolbar{grid-template-columns:1fr}.pos-monitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-commercial-badges{padding:4px 6px 7px}.pos-availability-badge{font-size:8px;padding:3px 5px}.pos-availability-badge.sellers{width:100%}.app-confirm-overlay{padding:0;align-items:end}.app-confirm-modal{width:100%;border-radius:24px 24px 0 0;padding:20px}.commercial-availability-table{min-width:850px}}

/* =========================================================
   V6.3.1 - BADGES COMERCIALES EN CARDS POS
   ========================================================= */
.pos-commercial-status{
  display:grid;gap:4px;padding:7px 9px;border-top:1px solid #edf2f6;background:#fbfdfd;
}
.pos-stock-status{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px;align-items:center;
  min-width:0;padding:4px 6px;border-radius:9px;font-size:9px;line-height:1.15;
}
.pos-stock-status i{font-style:normal;font-size:10px}.pos-stock-status span{font-weight:850;white-space:nowrap}.pos-stock-status b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:9px}
.pos-stock-status.available{background:#ecfdf3;color:#166534}.pos-stock-status.available i{color:#22c55e}
.pos-stock-status.reserved{background:#fff7db;color:#92400e}.pos-stock-status.reserved i{color:#f59e0b}
.pos-stock-status.sellers{background:#eef7ff;color:#075985}.pos-stock-status.own{background:#e7fbf7;color:#0f766e}
.pos-product-card.client-required .pos-commercial-status{opacity:.72}
.pos-product-card .pos-reservation-chip{display:none!important}
@media(max-width:700px){
  .pos-commercial-status{padding:5px 7px;gap:3px}.pos-stock-status{padding:3px 5px;font-size:8px}.pos-stock-status b{font-size:8px}
  .pos-stock-status.sellers{grid-template-columns:auto auto minmax(0,1fr)}
}

/* =========================================================
   V6.3.2 - INTERACCIÓN DE CARDS POS
   ========================================================= */
.pos-product-content{cursor:default!important}
.pos-product-card:hover{transform:translateY(-3px)!important;box-shadow:0 13px 30px rgba(0,143,122,.14)!important}
.pos-product-card:active{transform:translateY(-1px)!important}
.pos-product-image-trigger{cursor:zoom-in!important;position:relative!important;outline:none}
.pos-product-image-trigger:focus-visible{box-shadow:inset 0 0 0 3px rgba(8,127,110,.35)!important}
.pos-image-zoom-hint{position:absolute!important;right:8px!important;bottom:8px!important;z-index:8!important;display:grid!important;place-items:center!important;width:30px!important;height:30px!important;border-radius:10px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 4px 12px rgba(15,23,42,.14)!important;font-size:14px!important;opacity:0;transform:translateY(3px);transition:.16s ease}
.pos-product-card:hover .pos-image-zoom-hint,.pos-product-image-trigger:focus-visible .pos-image-zoom-hint{opacity:1;transform:none}
.pos-v6-add-button{border:0!important;cursor:pointer!important;justify-content:center!important;white-space:nowrap!important}
.pos-v6-add-button:hover:not(:disabled){background:#c9f7ed!important;color:#087568!important;transform:translateY(-1px)}
.pos-v6-add-button:focus-visible{outline:3px solid rgba(8,127,110,.28);outline-offset:2px}
.pos-v6-add-button:disabled{cursor:not-allowed!important}
.pos-product-image-overlay{position:fixed;inset:0;z-index:18000;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.68);backdrop-filter:blur(7px)}
.pos-product-image-modal{width:min(720px,100%);max-height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.38)}
.pos-product-image-modal>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px 15px;border-bottom:1px solid #e7edf3}.pos-product-image-modal>header span{display:block;color:#087f6e;font-size:10px;font-weight:900;letter-spacing:.12em}.pos-product-image-modal>header h3{margin:4px 0;font-size:23px}.pos-product-image-modal>header p{margin:0;color:#64748b;font-size:12px}
.pos-product-image-modal-body{display:grid;place-items:center;min-height:340px;padding:20px;background:linear-gradient(145deg,#f8fbfd,#f2faf8)}
.pos-product-image-modal-body img{display:block;width:100%;height:100%;max-height:58vh;object-fit:contain;object-position:center;border-radius:16px;background:#fff}
.pos-product-image-modal-placeholder{display:grid;place-items:center;gap:10px;min-height:300px;color:#64748b;text-align:center}.pos-product-image-modal-placeholder span{display:grid;place-items:center;width:120px;height:120px;border-radius:30px;background:#dff8f2;color:#087f6e;font-size:44px;font-weight:950}
.pos-product-image-modal>footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 22px 18px;border-top:1px solid #e7edf3;background:#fff}.pos-product-image-modal>footer>div{display:grid;gap:2px}.pos-product-image-modal>footer span{color:#64748b;font-size:11px}.pos-product-image-modal>footer b{font-size:24px;color:#087f6e}.pos-product-image-modal>footer .btn{min-width:150px;min-height:46px}
@media(max-width:700px){
  .pos-image-zoom-hint{opacity:1;width:27px!important;height:27px!important;right:6px!important;bottom:6px!important;font-size:12px!important}
  .pos-product-image-overlay{padding:0;align-items:end}
  .pos-product-image-modal{width:100%;max-height:92dvh;border-radius:24px 24px 0 0}
  .pos-product-image-modal>header{padding:16px}
  .pos-product-image-modal-body{min-height:260px;padding:12px}
  .pos-product-image-modal-body img{max-height:52dvh}
  .pos-product-image-modal>footer{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
}
@media(max-width:400px){.pos-product-image-modal>footer{display:grid;grid-template-columns:1fr}.pos-product-image-modal>footer .btn{width:100%}.pos-product-image-modal-body{min-height:220px}}

/* V6.3.3 — Modal de imagen funcional */
.pos-product-image-trigger{pointer-events:auto!important;touch-action:manipulation!important;user-select:none}
.pos-product-image-trigger>*{pointer-events:none!important}
.pos-product-image-trigger .pos-image-zoom-hint{pointer-events:none!important}
.pos-product-image-modal-body img{display:block;width:100%;height:100%;max-height:62vh;object-fit:contain;object-position:center;background:#fff}
@media(max-width:640px){.pos-product-image-modal-body img{max-height:54vh}}

/* V6.3.4 — Validación de stock en visor ampliado */
.pos-product-image-modal footer{display:grid!important;grid-template-columns:auto minmax(150px,1fr) auto!important;gap:18px!important;align-items:center!important}
.pos-image-modal-price{display:grid;gap:3px}.pos-image-modal-price>span{font-size:11px;color:var(--muted)}.pos-image-modal-price>b{font-size:25px;color:#008f7a}
.pos-image-modal-availability{display:grid;justify-items:start;gap:3px}.pos-image-modal-availability>span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900}.pos-image-modal-availability>span.available{background:#dcfce7;color:#166534}.pos-image-modal-availability>span.out{background:#fee2e2;color:#991b1b}.pos-image-modal-availability>span i{font-style:normal;font-size:10px}.pos-image-modal-availability>small{color:#64748b;font-size:10px}
#posImageModalAdd:disabled{background:#e2e8f0!important;color:#94a3b8!important;border-color:#e2e8f0!important;cursor:not-allowed!important;box-shadow:none!important;opacity:1!important}
@media(max-width:640px){.pos-product-image-modal footer{grid-template-columns:1fr 1fr!important}.pos-image-modal-availability{justify-items:end}.pos-product-image-modal footer #posImageModalAdd{grid-column:1/-1;width:100%}}

/* =========================================================
   V6.4 - CARRITO INTELIGENTE FLOTANTE
   ========================================================= */
.pos-v64-hidden-legacy-cart{display:none!important}
.pos-v64-workspace-full{grid-template-columns:minmax(0,1fr)!important}
.pos-v64-compact-header{padding:10px!important;gap:9px!important}
.pos-v64-compact-header .pos-context-grid{gap:8px!important}
.pos-v64-compact-header .pos-action-group{padding:7px 9px!important}
.pos-v64-compact-client{min-height:54px!important;padding:8px 12px!important;margin-bottom:8px!important}
.pos-v64-floating-cart{
  position:fixed;top:86px;right:18px;z-index:14500;
  display:grid;grid-template-columns:46px auto;grid-template-areas:"icon badge" "copy copy";
  align-items:center;justify-items:center;gap:0 3px;min-width:92px;min-height:82px;padding:8px 10px;
  border:1px solid #83dfd2;border-radius:20px;background:linear-gradient(145deg,#087f6e,#09a98f);
  color:#fff;box-shadow:0 14px 32px rgba(8,127,110,.28);cursor:pointer;backdrop-filter:blur(10px);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.pos-v64-floating-cart:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(8,127,110,.34)}
.pos-v64-floating-cart:focus-visible{outline:3px solid #99f6e4;outline-offset:3px}
.pos-v64-floating-cart.is-empty{border-color:#d7e2e9;background:#fff;color:#64748b;box-shadow:0 8px 22px rgba(15,23,42,.12)}
.pos-v64-float-icon{grid-area:icon;font-size:27px;line-height:1}.pos-v64-float-badge{grid-area:badge;display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#fff;color:#087f6e;font-weight:950;font-size:12px}.is-empty .pos-v64-float-badge{background:#eef2f6;color:#64748b}
.pos-v64-float-copy{grid-area:copy;display:grid;justify-items:center;gap:1px;margin-top:3px}.pos-v64-float-copy b{font-size:14px;line-height:1.1}.pos-v64-float-copy small{font-size:9px;color:rgba(255,255,255,.82)}.is-empty .pos-v64-float-copy small{color:#94a3b8}
.pos-v64-floating-cart.cart-bump{animation:posV64CartBump .4s ease}@keyframes posV64CartBump{0%,100%{transform:scale(1)}40%{transform:scale(1.14) rotate(-3deg)}70%{transform:scale(.96)}}
.pos-v64-cart-line{grid-template-columns:62px minmax(0,1fr) auto auto 38px!important;gap:11px!important;align-items:center!important;transition:transform .16s ease,opacity .16s ease}
.pos-v64-cart-line.swipe-remove{transform:translateX(-100%);opacity:0}
.pos-v64-cart-thumb{width:62px;height:62px;display:grid;place-items:center;overflow:hidden;border:1px solid #dfe8ee;border-radius:13px;background:#f8fbfc;color:#087f6e;font-weight:900}.pos-v64-cart-thumb img{width:100%;height:100%;object-fit:contain;padding:3px}
.pos-v64-line-meta{display:block;margin-top:4px;color:#64748b;font-size:10px}.pos-v64-line-total{display:grid;justify-items:end;gap:2px;white-space:nowrap}.pos-v64-line-total small{font-size:9px;color:#64748b;text-transform:uppercase}.pos-v64-line-total b{font-size:15px}
.pos-v64-cart-modal .pos-cart-modal-lines{background:#f8fbfc}
.pos-v64-cart-modal .pos-cart-modal-line{margin-bottom:7px;padding:9px;border:1px solid #e0e8ee;border-radius:14px;background:#fff}
@media(max-width:900px){.pos-v64-floating-cart{top:auto;right:14px;bottom:calc(86px + env(safe-area-inset-bottom));min-width:78px;min-height:72px;border-radius:18px}.pos-v64-compact-header{padding:8px!important}.pos-v64-compact-client{min-height:50px!important}.pos-v64-cart-line{grid-template-columns:52px minmax(0,1fr) auto 34px!important;grid-template-areas:"thumb product qty remove" "thumb total total remove"!important}.pos-v64-cart-thumb{grid-area:thumb;width:52px;height:52px}.pos-cart-modal-product{grid-area:product}.pos-cart-modal-qty{grid-area:qty}.pos-v64-line-total{grid-area:total;justify-items:start}.pos-cart-modal-remove{grid-area:remove}.pos-v64-line-meta{font-size:9px}}
@media(max-width:520px){.pos-v64-floating-cart{right:10px;bottom:calc(80px + env(safe-area-inset-bottom));min-width:70px;min-height:66px;padding:7px;border-radius:17px}.pos-v64-float-icon{font-size:23px}.pos-v64-float-badge{min-width:24px;height:24px;font-size:11px}.pos-v64-float-copy b{font-size:12px}.pos-v64-cart-line{grid-template-columns:46px minmax(0,1fr) 32px!important;grid-template-areas:"thumb product remove" "thumb qty remove" "total total remove"!important;gap:7px!important}.pos-v64-cart-thumb{width:46px;height:46px}.pos-v64-line-total{justify-items:start}.pos-v64-cart-modal .pos-cart-modal-line{padding:8px}}

/* =========================================================
   V6.5 - CENTRO DE OPERACIONES FLOTANTE
   ========================================================= */
.pos-v65-center{position:fixed;right:18px;bottom:22px;z-index:9500;display:grid;gap:8px}
.pos-v65-center-btn{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"icon count" "icon label";column-gap:8px;align-items:center;min-width:142px;min-height:58px;padding:8px 11px;border:1px solid #d8e4eb;border-radius:17px;background:rgba(255,255,255,.96);color:#27364a;text-align:left;box-shadow:0 10px 26px rgba(15,23,42,.14);backdrop-filter:blur(10px);cursor:pointer}
.pos-v65-center-btn>span{grid-area:icon;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf5f7;font-size:19px}.pos-v65-center-btn>b{grid-area:count;font-size:16px}.pos-v65-center-btn>small{grid-area:label;color:#64748b;font-size:10px}.pos-v65-center-btn.cart.has-items{background:linear-gradient(135deg,#087f6e,#0baa94);color:#fff;border-color:#34c7b2}.pos-v65-center-btn.cart.has-items>span{background:#fff;color:#087f6e}.pos-v65-center-btn.cart.has-items>small{color:#eafffa}.pos-v65-center-btn.waiting.has-items>span{background:#fff5d8}.pos-v65-center-btn.alerts.has-alerts>span{background:#fff0e7}.pos-v65-center-btn.alerts.has-alerts::after{content:"";position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:#ef4444}
.pos-v65-operations-overlay{position:fixed;inset:0;z-index:11000;display:flex;justify-content:flex-end;background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}.pos-v65-operations{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(520px,94vw);height:100%;background:#fff;box-shadow:-20px 0 55px rgba(15,23,42,.24)}.pos-v65-operations>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:19px 20px;border-bottom:1px solid #e5edf2}.pos-v65-operations>header span{font-size:10px;font-weight:950;letter-spacing:.12em;color:#087f6e}.pos-v65-operations>header h3{margin:4px 0 0;font-size:22px}.pos-v65-operations>nav{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:9px 12px;border-bottom:1px solid #e7edf3;background:#f8fafc}.pos-v65-operations>nav button{border:0;border-radius:11px;padding:10px;background:transparent;font-weight:850;cursor:pointer}.pos-v65-operations>nav button.active{background:#fff;color:#087f6e;box-shadow:0 2px 8px rgba(15,23,42,.08)}.pos-v65-operations>nav b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:4px;border-radius:999px;background:#e7f8f4;font-size:10px}.pos-v65-operations>section{min-height:0;overflow:auto;padding:12px 15px}.pos-v65-operations>footer{padding:12px 15px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e7edf3;background:#fff}.pos-v65-operations>footer .btn{width:100%;min-height:48px}
.pos-v65-toolbar{display:grid;gap:9px;margin-bottom:10px}.pos-v65-toolbar label{display:grid;gap:4px}.pos-v65-toolbar label>span{font-size:10px;font-weight:850;color:#64748b;text-transform:uppercase}.pos-v65-toolbar input{height:44px}.pos-v65-filters{display:flex;gap:6px}.pos-v65-filters button{border:1px solid #dce6ee;border-radius:999px;padding:7px 12px;background:#fff;font-size:11px;font-weight:850;cursor:pointer}.pos-v65-filters button.active{background:#e8faf5;border-color:#73d9c9;color:#087f6e}.pos-v65-waiting-list{display:grid;gap:9px}.pos-v65-waiting-card{border:1px solid #dce6ee;border-radius:15px;background:#fff;overflow:hidden}.pos-v65-waiting-card.is-old{border-color:#f1c26f}.pos-v65-waiting-card>header{display:flex;justify-content:space-between;gap:8px;padding:12px}.pos-v65-waiting-card>header div{display:grid;gap:2px}.pos-v65-waiting-card>header small{color:#64748b}.pos-v65-waiting-metrics{display:grid;grid-template-columns:.7fr .8fr 1.3fr;gap:5px;padding:0 12px 10px}.pos-v65-waiting-metrics>span{display:grid;gap:2px;padding:8px;border-radius:10px;background:#f5f8fa}.pos-v65-waiting-metrics b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-v65-waiting-metrics small{font-size:9px;color:#64748b}.pos-v65-waiting-card details{border-top:1px solid #edf2f5}.pos-v65-waiting-card summary{padding:9px 12px;font-size:11px;font-weight:850;cursor:pointer}.pos-v65-waiting-items{display:grid;gap:4px;padding:0 12px 10px}.pos-v65-waiting-items>div{display:flex;justify-content:space-between;gap:8px;font-size:11px}.pos-v65-waiting-items span{display:grid}.pos-v65-waiting-items small{color:#64748b}.pos-v65-waiting-card>footer{display:flex;justify-content:flex-end;gap:7px;padding:10px 12px;border-top:1px solid #edf2f5;background:#fbfdfd}.pos-v65-alert-list{display:grid;gap:9px}.pos-v65-alert{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid #dce6ee;border-radius:14px}.pos-v65-alert>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f2f6f8}.pos-v65-alert p{margin:3px 0 0;color:#64748b;font-size:11px}.pos-v65-alert.warning{border-color:#f0cf86}.pos-v65-alert.danger{border-color:#f1b6bd}
.pos-v65-header-compact{padding-bottom:8px!important}.pos-v65-header-compact .pos-context-grid{margin-bottom:0!important}
@media(max-width:760px){.pos-v65-center{right:10px;bottom:88px;display:flex;gap:7px}.pos-v65-center-btn{display:grid;grid-template-columns:34px auto;grid-template-areas:"icon count";min-width:0;width:auto;min-height:50px;padding:7px 9px;border-radius:15px}.pos-v65-center-btn>span{width:34px;height:34px}.pos-v65-center-btn>small{display:none}.pos-v65-center-btn>b{font-size:13px}.pos-v65-operations-overlay{align-items:flex-end;justify-content:stretch}.pos-v65-operations{width:100%;height:min(88dvh,780px);border-radius:25px 25px 0 0;box-shadow:0 -18px 50px rgba(15,23,42,.25)}.pos-v65-operations>header{padding:16px}.pos-v65-operations>section{padding:10px 12px}.pos-v65-waiting-metrics{grid-template-columns:1fr 1fr}.pos-v65-waiting-metrics>span:last-child{grid-column:1/-1}.pos-v65-alert{grid-template-columns:38px minmax(0,1fr)}.pos-v65-alert .btn{grid-column:1/-1;width:100%}}
@media(max-width:390px){.pos-v65-center{gap:5px}.pos-v65-center-btn{padding:6px}.pos-v65-center-btn>span{width:32px;height:32px}.pos-v65-center-btn>b{font-size:11px}.pos-v65-operations{height:92dvh}}

/* =========================================================
   V6.5.1 - HUD COMPACTO DE RESERVA
   ========================================================= */
.pos-reservation-summary{display:none!important}
.pos-v651-cart-hud{
  grid-template-columns:40px minmax(72px,1fr) auto 28px!important;
  grid-template-areas:"icon copy timer count"!important;
  min-width:230px!important;
  gap:8px!important;
}
.pos-v651-hud-icon{grid-area:icon!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;border-radius:12px!important;background:#edf5f7!important;font-size:20px!important}
.pos-v651-hud-copy{grid-area:copy;display:grid;gap:2px;min-width:0}.pos-v651-hud-copy b{font-size:15px;white-space:nowrap}.pos-v651-hud-copy small{font-size:10px;color:#64748b;white-space:nowrap}
.pos-v651-hud-count{grid-area:count;display:grid;place-items:center;min-width:27px;height:27px;padding:0 6px;border-radius:999px;background:#e8f2f4;color:#334155;font-size:11px;font-weight:900}
.pos-v651-hud-timer{grid-area:timer;display:inline-flex;align-items:center;gap:4px;min-height:29px;padding:5px 7px;border-radius:9px;font-size:11px;font-weight:900;white-space:nowrap}.pos-v651-hud-timer i{font-style:normal}.pos-v651-hud-timer.healthy{background:#dcfce7;color:#166534}.pos-v651-hud-timer.warning{background:#fff7d6;color:#92400e}.pos-v651-hud-timer.danger{background:#fee2e2;color:#b91c1c;animation:posV651Pulse 1s ease-in-out infinite}
.pos-v651-cart-hud.has-items .pos-v651-hud-icon{background:#fff!important;color:#087f6e!important}.pos-v651-cart-hud.has-items .pos-v651-hud-copy b,.pos-v651-cart-hud.has-items .pos-v651-hud-copy small{color:#fff}.pos-v651-cart-hud.has-items .pos-v651-hud-count{background:rgba(255,255,255,.22);color:#fff}
.pos-v651-cart-hud.timer-warning{box-shadow:0 0 0 3px rgba(245,158,11,.18),0 10px 26px rgba(15,23,42,.14)}.pos-v651-cart-hud.timer-danger{animation:posV651Pulse 1s ease-in-out infinite}
@keyframes posV651Pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.pos-v651-modal-reservation{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;margin:0;padding:9px 18px;border-bottom:1px solid #e7edf3;background:#f7fbfa}.pos-v651-modal-res-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e5f8f3;font-size:18px}.pos-v651-modal-reservation>span:nth-child(2){display:grid;gap:2px}.pos-v651-modal-reservation b{font-size:12px}.pos-v651-modal-reservation small{font-size:10px;color:#64748b}.pos-v651-modal-reservation.healthy{color:#166534}.pos-v651-modal-reservation.warning{background:#fffbeb;color:#92400e}.pos-v651-modal-reservation.danger{background:#fff1f2;color:#b91c1c}.pos-v651-modal-reservation.warning .pos-v651-modal-res-icon{background:#fef3c7}.pos-v651-modal-reservation.danger .pos-v651-modal-res-icon{background:#fee2e2}
@media(max-width:760px){
  .pos-v651-cart-hud{grid-template-columns:34px auto auto!important;grid-template-areas:"icon count timer"!important;min-width:0!important;width:auto!important;padding:7px 8px!important}.pos-v651-hud-icon{width:34px!important;height:34px!important}.pos-v651-hud-copy{display:none}.pos-v651-hud-timer{padding:4px 6px;font-size:10px}.pos-v651-hud-count{min-width:24px;height:24px}.pos-v651-modal-reservation{padding:8px 13px;grid-template-columns:34px minmax(0,1fr) auto}.pos-v651-modal-res-icon{width:34px;height:34px}
}
@media(max-width:390px){.pos-v651-hud-timer i{display:none}.pos-v651-hud-timer{font-size:9px}.pos-v651-modal-reservation .btn{padding:6px 8px}}

/* V6.5.2 - defensa visual: nunca mostrar controles POS fuera de su workspace */
body:not(.pos-modal-open) .pos-v65-operations-overlay{display:none}
.login-v41~.pos-v65-center,
.setup-page~.pos-v65-center,
.auth-page~.pos-v65-center{display:none!important}

/* =========================================================
   V6.5.4 — POS CON DESPLAZAMIENTO VERTICAL ÚNICO
   El catálogo crece con la página. Los scroll internos se
   reservan para modales, drawers y tablas extensas.
   ========================================================= */
html{
  overflow-y:auto;
  scrollbar-gutter:stable;
}
body{
  min-height:100%;
  overflow-y:visible;
}
.app-shell,
.main,
.content,
.view.active,
.pos-page,
.pos-v6-page,
.pos-workspace,
.pos-v64-workspace-full,
.pos-catalog{
  height:auto!important;
  max-height:none!important;
}

/* Elimina el segundo scroll vertical del catálogo POS. */
.pos-page .pos-product-grid,
.pos-v6-page .pos-product-grid,
.pos-catalog .pos-product-grid{
  max-height:none!important;
  height:auto!important;
  overflow-y:visible!important;
  overflow-x:hidden!important;
  align-content:start!important;
}

/* La búsqueda puede permanecer visible sin crear otro contenedor desplazable. */
.pos-page .pos-v6-search-row,
.pos-page .pos-search-row{
  position:sticky;
  top:0;
  z-index:12;
}

/* Evita saltos de anchura cuando aparece/desaparece la barra principal. */
.main,
.content,
.pos-page,
.pos-catalog{
  min-width:0;
}

/* Los únicos desplazamientos internos intencionales permanecen en ventanas. */
.pos-cart-modal-lines,
.pos-v65-operations>section,
.pos-product-image-body,
.pos-ticket-modal,
.table-wrap,
.lot-table-scroll{
  overscroll-behavior:contain;
}

@media (min-width:761px){
  .pos-page .pos-product-grid{
    padding-bottom:28px!important;
  }
}

@media (max-width:980px){
  html{scrollbar-gutter:auto;}
  .pos-page .pos-product-grid,
  .pos-v6-page .pos-product-grid{
    overflow:visible!important;
  }
}

/* =========================================================
   V6.5.5 — NAVEGACIÓN LATERAL ADAPTATIVA
   ========================================================= */
@media(min-width:761px){
  .app-shell.adaptive-sidebar-v6555{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;transition:grid-template-columns .22s ease}
  .app-shell.adaptive-sidebar-v6555.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)!important}
  .sidebar.sidebar-v6555{display:flex!important;flex-direction:column;width:auto!important;min-width:0;overflow-x:visible;padding:15px 12px;transition:padding .22s ease}
  .sidebar.sidebar-v6555.is-collapsed{padding-left:9px;padding-right:9px}
  .sidebar-toggle-v6555{position:absolute;top:18px;right:-16px;z-index:5;width:32px;height:32px;display:grid;place-items:center;border:1px solid #d6e5e4;border-radius:999px;background:#fff;color:#087f6e;box-shadow:0 5px 16px rgba(15,23,42,.16);font-size:24px;line-height:1;cursor:pointer}
  .sidebar-toggle-v6555:hover{background:#effcf9;transform:scale(1.04)}
  .sidebar-v6555 .brand{min-height:62px;display:flex;align-items:center;gap:11px;overflow:hidden;transition:all .2s ease}
  .sidebar-v6555.is-collapsed .brand{justify-content:center;padding:4px 0}
  .sidebar-v6555.is-collapsed .brand>div:last-child{display:none}
  .sidebar-v6555.is-collapsed .brand .logo{width:48px;height:48px;min-width:48px;margin:0}
  .sidebar-v6555 .nav{gap:5px;margin-top:8px}
  .nav-section-v6555{display:grid;gap:4px;margin:0 0 9px}
  .nav-section-title-v6555{padding:6px 12px 3px;color:rgba(255,255,255,.56);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
  .sidebar-v6555.is-collapsed .nav-section-title-v6555{height:1px;padding:0;margin:4px 10px;border-top:1px solid rgba(255,255,255,.17);font-size:0}
  .sidebar-v6555 .nav-btn{position:relative;min-height:44px;padding:10px 12px;white-space:nowrap;overflow:visible}
  .sidebar-v6555 .nav-btn>span:first-child{flex:0 0 24px;font-size:17px}
  .nav-label-v6555{overflow:hidden;text-overflow:ellipsis;transition:opacity .15s ease,width .2s ease}
  .sidebar-v6555.is-collapsed .nav-btn{justify-content:center;padding:10px 5px;border-radius:13px}
  .sidebar-v6555.is-collapsed .nav-btn>span:first-child{width:32px;min-width:32px;font-size:19px}
  .sidebar-v6555.is-collapsed .nav-label-v6555,.sidebar-v6555.is-collapsed .nav-chevron{display:none!important}
  .sidebar-v6555.is-collapsed .nav-btn.active::after{content:"";position:absolute;right:-9px;width:4px;height:25px;border-radius:999px;background:#ccfbf1}
  .sidebar-v6555.is-collapsed .nav-child{padding-left:5px!important}
  .sidebar-v6555.is-collapsed .catalog-submenu-item{display:none!important}
  .sidebar-v6555 .branch-scope{transition:opacity .15s ease}
  .sidebar-v6555.is-collapsed .branch-scope,.sidebar-v6555.is-collapsed>.sync-row{display:none!important}
  .sidebar-branch-compact-v6555{display:none;width:48px;height:42px;margin:2px auto 8px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.11);color:#fff;font-size:18px;cursor:pointer}
  .sidebar-v6555.is-collapsed .sidebar-branch-compact-v6555{display:grid;place-items:center}
  .sidebar-v6555 .sidebar-footer{margin-top:auto}
  .sidebar-v6555.is-collapsed .sidebar-footer{gap:6px;padding-top:10px}
  .sidebar-v6555.is-collapsed .sidebar-footer .sync-row{display:none}
  .sidebar-v6555.is-collapsed .sidebar-footer .btn{width:48px;height:42px;margin:auto;padding:0;display:grid;place-items:center;font-size:20px;border-radius:12px}
  .sidebar-v6555:not(.is-collapsed) .sidebar-footer .btn{display:flex;align-items:center;justify-content:center;gap:7px}
  .sidebar-backdrop-v6555{display:none!important}
  .mobile-menu{display:none!important}
  .bottom-nav{display:none!important}
  body{padding-bottom:0!important}
}
@media(min-width:761px) and (max-width:1180px){
  .app-shell.adaptive-sidebar-v6555{grid-template-columns:78px minmax(0,1fr)!important}
  .main{padding:16px!important}
}
@media(max-width:760px){
  .app-shell.adaptive-sidebar-v6555{display:block!important}
  .sidebar.sidebar-v6555{display:block;position:fixed;inset:0 auto 0 0;width:min(88vw,310px)!important;height:100dvh;padding:16px;transform:translateX(-104%);transition:transform .22s ease;z-index:91;overflow-y:auto}
  .sidebar.sidebar-v6555.open{display:block!important;transform:translateX(0)}
  .sidebar-toggle-v6555{position:absolute;right:12px;top:12px;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:0;cursor:pointer}
  .sidebar-toggle-v6555::after{content:"×";font-size:24px}
  .sidebar-backdrop-v6555{display:none;position:fixed;inset:0;z-index:90;border:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}
  .sidebar-backdrop-v6555.visible{display:block}
  .nav-section-v6555{display:grid;gap:4px;margin-bottom:12px}
  .nav-section-title-v6555{padding:7px 10px 3px;color:rgba(255,255,255,.58);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
  .nav-label-v6555{display:inline}
  .sidebar-branch-compact-v6555{display:none}
  .sidebar-v6555 .brand{padding-right:42px}
  .mobile-menu{display:inline-flex!important}
}
@media(prefers-reduced-motion:reduce){
  .app-shell.adaptive-sidebar-v6555,.sidebar.sidebar-v6555,.sidebar-toggle-v6555{transition:none!important}
}

/* =========================================================
   V6.5.6 — CORRECCIÓN DE NAVEGACIÓN LATERAL
   ========================================================= */
@media(min-width:761px){
  /* El texto no debe heredar el ancho fijo de los iconos. */
  .sidebar-v6555 .nav-btn > .nav-label-v6555{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:1 1 auto!important;
    place-items:initial!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    opacity:1;
  }
  .sidebar-v6555 .nav-btn > span:first-child{
    width:24px!important;
    min-width:24px!important;
    display:inline-grid!important;
    place-items:center!important;
  }
  .sidebar-v6555:not(.is-collapsed) .nav-btn{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
  }
  .sidebar-v6555:not(.is-collapsed) .nav-label-v6555{
    display:block!important;
    visibility:visible!important;
  }
  .sidebar.sidebar-v6555{
    overflow-x:hidden!important;
    contain:layout paint;
  }
  /* Botón profesional integrado dentro del borde: evita scroll horizontal. */
  .sidebar-toggle-v6555{
    position:absolute!important;
    top:18px!important;
    right:10px!important;
    width:38px!important;
    height:38px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    box-shadow:none!important;
    backdrop-filter:blur(8px);
    transition:background .16s ease,transform .16s ease!important;
  }
  .sidebar-toggle-v6555:hover{
    background:rgba(255,255,255,.22)!important;
    transform:none!important;
  }
  .sidebar-toggle-v6555:focus-visible{
    outline:3px solid rgba(204,251,241,.52);
    outline-offset:2px;
  }
  .sidebar-toggle-v6555 svg{
    width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
  }
  .sidebar-v6555:not(.is-collapsed) .brand{padding-right:44px!important}
  .sidebar-v6555.is-collapsed .sidebar-toggle-v6555{
    right:50%;transform:translateX(50%)!important;top:76px!important;
    background:rgba(255,255,255,.14)!important;
  }
  .sidebar-v6555.is-collapsed .brand{margin-bottom:54px!important}
  /* Tablet: la clase determina el estado; no se fuerza siempre a 78px. */
  .app-shell.adaptive-sidebar-v6555.sidebar-expanded{
    grid-template-columns:280px minmax(0,1fr)!important;
  }
  .app-shell.adaptive-sidebar-v6555.sidebar-collapsed{
    grid-template-columns:78px minmax(0,1fr)!important;
  }
}
@media(min-width:761px) and (max-width:1180px){
  .app-shell.adaptive-sidebar-v6555.sidebar-expanded{
    grid-template-columns:280px minmax(0,1fr)!important;
  }
  .app-shell.adaptive-sidebar-v6555.sidebar-collapsed{
    grid-template-columns:78px minmax(0,1fr)!important;
  }
}
@media(max-width:760px){
  .sidebar-toggle-v6555 svg{display:none}
}

/* =========================================================
   V6.5.7 — NAVEGACIÓN LATERAL PROFESIONAL Y ESTABLE
   ========================================================= */
@media(min-width:761px){
  .sidebar.sidebar-v6555{
    position:sticky!important;
    overflow-x:hidden!important;
    container-type:inline-size;
  }
  .sidebar-header-v657{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:10px;
    align-items:center;
    min-height:78px;
    margin:0 0 12px;
    padding:4px 0 6px;
  }
  .sidebar-header-v657>.brand{
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .sidebar-header-v657>.brand>div:last-child{
    min-width:0;
    overflow:hidden;
  }
  .sidebar-header-v657>.brand h1{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    overflow-wrap:anywhere;
    font-size:19px!important;
    line-height:1.08!important;
  }
  .sidebar-header-v657>.brand p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    line-height:1.25!important;
  }
  .sidebar-toggle-v6555{
    position:relative!important;
    inset:auto!important;
    z-index:8!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.30)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.10))!important;
    color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(2,44,41,.20)!important;
    cursor:pointer!important;
    touch-action:manipulation;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .sidebar-toggle-v6555::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
  }
  .sidebar-toggle-v6555:hover{
    background:linear-gradient(145deg,rgba(255,255,255,.31),rgba(255,255,255,.16))!important;
    transform:translateY(-1px)!important;
  }
  .sidebar-toggle-v6555:active{transform:translateY(0) scale(.96)!important}
  .sidebar-toggle-v6555:focus-visible{outline:3px solid rgba(153,246,228,.72)!important;outline-offset:3px!important}
  .sidebar-toggle-icon-v657{
    position:relative;
    width:23px;
    height:19px;
    border:2px solid currentColor;
    border-radius:5px;
    pointer-events:none;
  }
  .sidebar-toggle-icon-v657::before{
    content:"";
    position:absolute;
    top:0;bottom:0;
    width:6px;
    background:rgba(255,255,255,.22);
    border-right:2px solid currentColor;
    border-radius:3px 0 0 3px;
    transition:left .2s ease,right .2s ease,transform .2s ease;
  }
  .sidebar-toggle-icon-v657::after{
    content:"";
    position:absolute;
    top:50%;
    width:6px;height:6px;
    border-top:2px solid currentColor;
    border-right:2px solid currentColor;
    transition:left .2s ease,right .2s ease,transform .2s ease;
  }
  .sidebar-toggle-v6555.is-collapse-action .sidebar-toggle-icon-v657::before{left:0}
  .sidebar-toggle-v6555.is-collapse-action .sidebar-toggle-icon-v657::after{right:3px;transform:translateY(-50%) rotate(225deg)}
  .sidebar-toggle-v6555.is-expand-action .sidebar-toggle-icon-v657::before{right:0;border-right:0;border-left:2px solid currentColor;border-radius:0 3px 3px 0}
  .sidebar-toggle-v6555.is-expand-action .sidebar-toggle-icon-v657::after{left:3px;transform:translateY(-50%) rotate(45deg)}

  /* Estado compacto: cabecera vertical, sin solapamientos. */
  .sidebar-v6555.is-collapsed .sidebar-header-v657{
    grid-template-columns:1fr;
    justify-items:center;
    min-height:112px;
    gap:8px;
    margin-bottom:8px;
  }
  .sidebar-v6555.is-collapsed .sidebar-header-v657>.brand{
    justify-content:center!important;
    width:auto!important;
  }
  .sidebar-v6555.is-collapsed .sidebar-header-v657>.brand>div:last-child{display:none!important}
  .sidebar-v6555.is-collapsed .sidebar-header-v657 .sidebar-toggle-v6555{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    top:auto!important;right:auto!important;
  }
  .sidebar-v6555.is-collapsed .brand{margin-bottom:0!important}

  /* Menú y Catálogos: una sola etiqueta, chevron estable y submenú alineado. */
  .sidebar-v6555 .nav-btn{
    min-width:0!important;
    overflow:hidden!important;
  }
  .sidebar-v6555 .nav-group-toggle{
    display:flex!important;
    grid-template-columns:none!important;
    width:100%!important;
  }
  .sidebar-v6555 .nav-group-toggle>.nav-group-icon{
    flex:0 0 24px!important;
    width:24px!important;
    min-width:24px!important;
  }
  .sidebar-v6555 .nav-group-toggle>.nav-label-v6555,
  .sidebar-v6555 .nav-group-toggle>.nav-group-label{
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    text-align:left!important;
  }
  .sidebar-v6555 .nav-group-toggle>.nav-chevron{
    flex:0 0 22px!important;
    width:22px!important;
    min-width:22px!important;
    margin-left:auto!important;
  }
  .sidebar-v6555 .catalog-submenu-item{
    margin-left:14px!important;
    width:calc(100% - 14px)!important;
    padding-left:12px!important;
    border-left:2px solid rgba(255,255,255,.22)!important;
  }
  .sidebar-v6555 .catalog-submenu-item>.nav-label-v6555{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .sidebar-v6555.is-collapsed .nav-group-toggle>.nav-label-v6555,
  .sidebar-v6555.is-collapsed .nav-group-toggle>.nav-group-label,
  .sidebar-v6555.is-collapsed .nav-group-toggle>.nav-chevron{display:none!important}
  .sidebar-v6555.is-collapsed .nav-group-toggle{justify-content:center!important}

  .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
}
@media(max-width:760px){
  .sidebar-header-v657{position:relative}
  .sidebar-header-v657>.brand{padding-right:52px!important}
  .sidebar-header-v657 .sidebar-toggle-v6555{position:absolute!important;right:4px!important;top:4px!important;display:grid!important;place-items:center!important}
  .sidebar-toggle-icon-v657{display:none!important}
}

/* =========================================================
   V6.5.9 — OPCIÓN A + SHOPIFY ADMIN + FLUENT UI
   ========================================================= */
@media(min-width:761px){
  .sidebar.sidebar-v6555{
    --sidebar-header-control:34px;
  }
  .sidebar-header-v657{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) var(--sidebar-header-control)!important;
    align-items:center!important;
    gap:8px!important;
    min-height:66px!important;
    padding:2px 0 8px!important;
    margin:0 0 10px!important;
    overflow:visible!important;
  }
  .sidebar-brand-v659{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .sidebar-brand-v659>.brand-logo,
  .sidebar-brand-v659>div:first-child{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
  }
  .sidebar-brand-v659>div:last-child{
    min-width:0!important;
    overflow:hidden!important;
  }
  .sidebar-brand-v659 h1{
    display:block!important;
    margin:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:18px!important;
    line-height:1.18!important;
  }
  .sidebar-brand-v659 p{
    display:block!important;
    margin:3px 0 0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
    line-height:1.2!important;
    color:rgba(255,255,255,.74)!important;
  }
  .sidebar-toggle-v659{
    position:relative!important;
    inset:auto!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:rgba(255,255,255,.86)!important;
    box-shadow:none!important;
    cursor:pointer!important;
    transform:none!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .sidebar-toggle-v659::before,
  .sidebar-toggle-v659::after{display:none!important}
  .sidebar-toggle-v659:hover{
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    transform:none!important;
  }
  .sidebar-toggle-v659:active{
    background:rgba(255,255,255,.20)!important;
    transform:scale(.96)!important;
  }
  .sidebar-toggle-v659:focus-visible{
    outline:2px solid rgba(153,246,228,.9)!important;
    outline-offset:2px!important;
  }
  .sidebar-panel-icon-v659{
    width:22px!important;
    height:22px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.7!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    pointer-events:none!important;
  }
  .sidebar-panel-chevron-v659{stroke-width:2!important}

  /* Estado compacto: logo y control integrados, sin botón flotante. */
  .sidebar-v6555.is-collapsed .sidebar-header-v657{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    min-height:94px!important;
    gap:6px!important;
    padding-top:2px!important;
  }
  .sidebar-v6555.is-collapsed .sidebar-brand-v659{
    display:flex!important;
    justify-content:center!important;
    width:auto!important;
  }
  .sidebar-v6555.is-collapsed .sidebar-brand-v659>div:last-child{display:none!important}
  .sidebar-v6555.is-collapsed .sidebar-toggle-v659{
    position:relative!important;
    inset:auto!important;
    width:32px!important;
    height:32px!important;
    transform:none!important;
  }

  /* Evita que reglas heredadas vuelvan a crear marcos o desplazamientos. */
  .sidebar-v6555 .sidebar-toggle-icon-v657{display:none!important}
  .sidebar-v6555{overflow-x:hidden!important}
  .sidebar-v6555 .nav{min-width:0!important}
}
@media(max-width:760px){
  .sidebar-header-v657{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 38px!important;
    gap:8px!important;
    align-items:center!important;
  }
  .sidebar-toggle-v659{
    position:relative!important;
    inset:auto!important;
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }
  .sidebar-panel-icon-v659{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;pointer-events:none}
}

/* =========================================================
   V6.5.10 — OPCIÓN A: HEADER COMPACTO + HAMBURGUESA
   ========================================================= */
@media(min-width:761px){
  .app-shell.adaptive-sidebar-v6555.sidebar-expanded{
    grid-template-columns:300px minmax(0,1fr)!important;
  }
  .sidebar.sidebar-v6555:not(.is-collapsed){
    width:300px!important;
    min-width:300px!important;
  }
  .sidebar-header-v657{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px!important;
    align-items:center!important;
    gap:10px!important;
    min-height:64px!important;
    padding:4px 2px 10px!important;
    margin:0 0 10px!important;
    overflow:visible!important;
  }
  .sidebar-brand-v6510{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:center!important;
    gap:11px!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
  }
  .sidebar-brand-v6510>.brand-logo,
  .sidebar-brand-v6510>div:first-child{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:14px!important;
  }
  .sidebar-brand-v6510>div:last-child{
    min-width:0!important;
    overflow:visible!important;
  }
  .sidebar-brand-v6510 h1{
    margin:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    white-space:normal!important;
    text-overflow:ellipsis!important;
    font-size:17px!important;
    line-height:1.08!important;
  }
  .sidebar-brand-v6510 p{
    display:block!important;
    margin:4px 0 0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
    line-height:1.15!important;
    color:rgba(255,255,255,.78)!important;
  }
  .sidebar-toggle-v6510{
    position:relative!important;
    inset:auto!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .sidebar-toggle-v6510::before,
  .sidebar-toggle-v6510::after{display:none!important}
  .sidebar-toggle-v6510:hover{background:rgba(255,255,255,.12)!important}
  .sidebar-toggle-v6510:active{background:rgba(255,255,255,.20)!important;transform:scale(.96)!important}
  .sidebar-toggle-v6510:focus-visible{outline:2px solid rgba(153,246,228,.95)!important;outline-offset:2px!important}
  .sidebar-menu-icon-v6510{
    width:23px!important;
    height:23px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    pointer-events:none!important;
  }
  .sidebar-v6555.is-collapsed .sidebar-header-v657{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    min-height:98px!important;
    gap:7px!important;
    padding:3px 0 8px!important;
  }
  .sidebar-v6555.is-collapsed .sidebar-brand-v6510{
    display:flex!important;
    justify-content:center!important;
    width:auto!important;
  }
  .sidebar-v6555.is-collapsed .sidebar-brand-v6510>div:last-child{display:none!important}
  .sidebar-v6555.is-collapsed .sidebar-toggle-v6510{
    width:38px!important;
    height:36px!important;
  }
  /* Neutraliza por completo iconos heredados de panel/chevron. */
  .sidebar-toggle-v6510 .sidebar-panel-icon-v659,
  .sidebar-toggle-v6510 .sidebar-toggle-icon-v657{display:none!important}
}
@media(max-width:760px){
  .sidebar-toggle-v6510{
    position:relative!important;
    inset:auto!important;
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
  }
  .sidebar-menu-icon-v6510{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;pointer-events:none}
}

/* V6.5.11 — configuración Firebase centralizada */
.deployment-status-page{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 12%,#ddfbf6 0,transparent 30%),#f7fafc}
.deployment-status-card{width:min(620px,100%);display:grid;gap:18px;padding:28px;border:1px solid #dce6ee;border-radius:24px;background:#fff;box-shadow:0 24px 64px rgba(15,23,42,.12)}
.deployment-status-card>div:nth-child(2)>span{display:block;color:#087f6e;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.deployment-status-card h1{margin:4px 0 8px;font-size:30px}.deployment-status-card p{margin:0;color:#64748b;line-height:1.55}
.deployment-status-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#ccfbf1;color:#087f6e;font-size:26px;font-weight:900}.deployment-status-icon.danger{background:#fee2e2;color:#b91c1c}
.deployment-status-card code{font-size:.92em}
@media(max-width:640px){.deployment-status-page{padding:14px}.deployment-status-card{padding:21px;border-radius:20px}.deployment-status-card h1{font-size:25px}}

/* V6.5.17 — Ajustes y recuperación segura de pantallas */
.settings-page{display:grid;gap:16px}.settings-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.settings-summary-grid>div{display:grid;gap:4px;padding:14px;border:1px solid #dfe8ef;border-radius:14px;background:#f8fbfc}.settings-summary-grid span{font-size:12px;color:#64748b}.settings-summary-grid b{overflow-wrap:anywhere}@media(max-width:900px){.settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.settings-summary-grid{grid-template-columns:1fr}}

/* V6.5.18 — Interacción completa y Centro de Operaciones compacto */
#btnSync,#btnLogout{position:relative!important;width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:11px 14px!important;cursor:pointer!important;isolation:isolate}
#btnSync *,#btnLogout *{pointer-events:none!important}
#btnSync::before,#btnSync::after,#btnLogout::before,#btnLogout::after{pointer-events:none!important}
.sidebar-footer{position:relative;z-index:3}
.pos-v65-center{right:16px!important;bottom:20px!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:8px!important;width:auto!important;max-width:calc(100vw - 32px)!important}
.pos-v65-center-btn{display:grid!important;grid-template-columns:40px auto!important;grid-template-areas:"icon count"!important;gap:7px!important;min-width:0!important;width:auto!important;max-width:190px!important;min-height:54px!important;padding:7px 10px!important;overflow:visible!important}
.pos-v65-center-btn>span:first-child,.pos-v65-center-btn>.pos-v651-hud-icon{grid-area:icon!important;width:40px!important;height:40px!important;display:grid!important;place-items:center!important}
.pos-v65-center-btn>b,.pos-v65-center-btn>.pos-v651-hud-count{grid-area:count!important;position:static!important;min-width:28px!important;text-align:center!important;font-size:14px!important}
.pos-v65-center-btn>small,.pos-v65-center-btn>.pos-v651-hud-copy,.pos-v65-center-btn>.pos-v651-hud-timer{display:none!important}
.pos-v65-center-btn.alerts.has-alerts::after{right:5px!important;top:5px!important}
@media(max-width:760px){.pos-v65-center{right:9px!important;bottom:82px!important;gap:6px!important}.pos-v65-center-btn{min-height:48px!important;padding:5px 7px!important;border-radius:14px!important}.pos-v65-center-btn>span:first-child,.pos-v65-center-btn>.pos-v651-hud-icon{width:36px!important;height:36px!important}.pos-v65-center-btn>b,.pos-v65-center-btn>.pos-v651-hud-count{font-size:12px!important}}

/* =========================================================
   V6.5.19 — SUCURSAL POR ROL + UX COMPACTA
   ========================================================= */
.v6519-hidden-branch-field{display:none!important}
.v6519-relocated-branch-field{display:none!important}
.v6519-branch-context,.v6519-branch-selector{
  display:flex;align-items:center;gap:9px;min-width:0;min-height:46px;
  padding:7px 11px;border:1px solid #dbe6ee;border-radius:14px;background:#fff;
  color:#172033;box-shadow:0 2px 8px rgba(15,23,42,.035)
}
.v6519-branch-context.is-fixed{background:#f4fbf9;border-color:#c9eee7}
.v6519-branch-icon,.v6519-branch-selector>span{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:#ddf8f2;font-size:15px}
.v6519-branch-copy{display:grid;min-width:0;line-height:1.15}
.v6519-branch-copy small,.v6519-branch-selector small{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#62738a}
.v6519-branch-copy b{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.v6519-branch-selector{display:grid;grid-template-columns:31px auto minmax(170px,260px);column-gap:8px;padding:6px 8px;cursor:pointer}
.v6519-branch-selector>span{grid-row:1/3}
.v6519-branch-selector small{align-self:end}
.v6519-branch-selector select{grid-column:2/4;min-width:170px;height:25px;padding:0 24px 0 0;border:0!important;background-color:transparent!important;box-shadow:none!important;font-size:12px;font-weight:800;color:#172033;cursor:pointer}
.top-actions .pos-context,.top-actions>.v6519-branch-context{margin-right:4px}
.v6519-pos-compact .pos-actions-bar:has(#posBranch){grid-template-columns:minmax(0,1fr)!important}
.invoice-page-head{gap:10px;flex-wrap:wrap}
.invoice-page-head>.v6519-branch-context,.invoice-page-head>.v6519-branch-selector{margin-left:auto}
.invoice-page-head>.invoice-number-chip{margin-left:0}
.v6519-invoice-header-compact{grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(130px,.65fr))!important}
@media(max-width:1100px){
  .v6519-branch-copy b{max-width:180px}
  .v6519-branch-selector{grid-template-columns:31px auto minmax(130px,200px)}
  .v6519-invoice-header-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .topbar{align-items:flex-start!important}
  .top-actions{flex-wrap:wrap;justify-content:flex-end}
  .v6519-branch-context,.v6519-branch-selector{min-height:40px;padding:5px 8px}
  .v6519-branch-context .v6519-branch-icon,.v6519-branch-selector>span{width:27px;height:27px;flex-basis:27px}
  .v6519-branch-copy b{max-width:150px;font-size:11px}
  .v6519-branch-selector{grid-template-columns:27px auto minmax(110px,170px)}
  .invoice-page-head>.v6519-branch-context,.invoice-page-head>.v6519-branch-selector{order:2;margin-left:0;width:100%}
  .invoice-page-head>.invoice-number-chip{order:3}
  .v6519-invoice-header-compact{grid-template-columns:1fr!important}
}

/* =========================================================
   V6.5.20 - MENÚ MÓVIL UNIVERSAL
   ========================================================= */
@media(max-width:760px){
  #mobileMenu.mobile-menu{
    position:relative!important;
    z-index:89!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    min-width:132px!important;
    min-height:52px!important;
    padding:11px 18px!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(13,148,136,.16)!important;
    cursor:pointer!important;
    user-select:none!important;
  }
  #mobileMenu.mobile-menu::before{content:"☰";font-size:20px;line-height:1}
  #mobileMenu.mobile-menu{font-size:0!important}
  #mobileMenu.mobile-menu::after{content:"Menú";font-size:18px;font-weight:900}
  .sidebar.sidebar-v6555{
    visibility:hidden!important;
    pointer-events:none!important;
    will-change:transform!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .sidebar.sidebar-v6555.open{
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
  }
  .sidebar-backdrop-v6555{
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
    display:block!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  .sidebar-backdrop-v6555.visible{
    visibility:visible!important;
    pointer-events:auto!important;
    opacity:1!important;
  }
  html.mobile-nav-open-v6520,body.mobile-nav-open-v6520{overflow:hidden!important;overscroll-behavior:none!important}
}

/* =========================================================
   V6.5.21 — POS MÓVIL ÁGIL + MENÚ Y FLOTANTES CORREGIDOS
   ========================================================= */
.pos-v6521-hidden-branch{display:none!important}
.pos-v6521-fast-sale .pos-v6521-customer-command{padding:10px 12px!important;margin-bottom:10px!important}
.pos-v6521-fast-sale .pos-v6521-context-grid{display:block!important;margin:0!important}
.pos-v6521-fast-sale .pos-v6521-customer-field{display:grid!important;gap:6px!important;width:100%!important}
.pos-v6521-fast-sale .pos-v6521-customer-field>span{font-size:10px!important;letter-spacing:.07em;text-transform:uppercase;color:#52647e}
.pos-v6521-fast-sale .pos-v6521-client-picker{display:grid!important;grid-template-columns:minmax(210px,.72fr) minmax(300px,1.1fr) auto!important;gap:9px!important;align-items:center!important;width:100%!important;min-width:0!important}
.pos-v6521-fast-sale .pos-v6521-client-search,.pos-v6521-fast-sale .pos-v6521-client-search input,.pos-v6521-fast-sale #posClient{width:100%!important;min-width:0!important}
.pos-v6521-fast-sale .pos-v6521-new-client{min-width:116px!important;min-height:46px!important;padding:9px 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important}
.pos-v6521-fast-sale .pos-v6521-client-summary{margin:0 12px 10px!important}
.pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-empty,
.pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-selected{min-height:52px!important;padding:8px 12px!important;border-radius:14px!important}
.pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-avatar,
.pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-empty>span{width:38px!important;height:38px!important;min-width:38px!important;border-radius:12px!important}

/* Un único dock operativo: carrito, ventas en espera y alertas. */
.pos-v64-floating-cart,.pos-mobile-cart-shortcut{display:none!important}
.pos-v65-center.pos-v6521-operation-dock{right:14px!important;bottom:18px!important;display:flex!important;flex-direction:column!important;gap:7px!important;z-index:9500!important}
.pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn{max-width:160px!important}

/* Menú móvil más ancho, etiquetas en una sola línea e iconos consistentes. */
@media(max-width:760px){
  .sidebar.sidebar-v6555{width:min(88vw,360px)!important;max-width:360px!important;padding:16px 14px!important;overflow-x:hidden!important}
  .sidebar-v6555 .nav-btn{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;width:100%!important;min-height:52px!important;padding:10px 12px!important}
  .sidebar-v6555 .nav-btn>span:first-child{width:34px!important;min-width:34px!important;display:grid!important;place-items:center!important;font-size:20px!important;line-height:1!important}
  .sidebar-v6555 .nav-label-v6555,.sidebar-v6555 .nav-group-label,.sidebar-v6555 .nav-btn>span:last-child{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.2!important;font-size:15px!important}
  .sidebar-v6555 .nav-btn.active .nav-label-v6555{white-space:nowrap!important}
  .sidebar-v6555 .catalog-submenu-item{padding-left:18px!important}
  html.mobile-nav-open-v6520 .pos-v65-center,
  body.mobile-nav-open-v6520 .pos-v65-center,
  html.mobile-nav-open-v6520 .pos-v64-floating-cart,
  body.mobile-nav-open-v6520 .pos-v64-floating-cart{display:none!important}

  .pos-v6521-fast-sale .pos-v6521-customer-command{padding:9px!important;border-radius:18px!important}
  .pos-v6521-fast-sale .pos-v6521-customer-field>span{display:none!important}
  .pos-v6521-fast-sale .pos-v6521-client-picker{grid-template-columns:minmax(0,1fr) 50px!important;grid-template-areas:"search add" "select select"!important;gap:8px!important}
  .pos-v6521-fast-sale .pos-v6521-client-search{grid-area:search!important}
  .pos-v6521-fast-sale #posClient{grid-area:select!important;min-height:48px!important}
  .pos-v6521-fast-sale .pos-v6521-new-client{grid-area:add!important;width:50px!important;min-width:50px!important;height:48px!important;padding:0!important;border-radius:14px!important}
  .pos-v6521-fast-sale .pos-v6521-new-client span:last-child{display:none!important}
  .pos-v6521-fast-sale .pos-v6521-new-client span:first-child{font-size:25px!important}
  .pos-v6521-fast-sale .pos-v6521-client-summary{margin:0 8px 8px!important}
  .pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-empty,
  .pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-selected{min-height:48px!important;padding:7px 9px!important;gap:8px!important}
  .pos-v6521-fast-sale .pos-v6521-client-summary .pos-client-selected .btn{width:auto!important;min-height:38px!important;padding:6px 10px!important;margin-left:auto!important}

  .pos-v65-center.pos-v6521-operation-dock{right:10px!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;max-width:calc(100vw - 20px)!important}
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;max-width:50px!important;padding:5px!important;border-radius:15px!important;grid-template-columns:1fr!important;grid-template-areas:"icon"!important;place-items:center!important}
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>span:first-child,
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>.pos-v651-hud-icon{grid-area:icon!important;width:38px!important;height:38px!important;font-size:20px!important}
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>b,
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>.pos-v651-hud-count{position:absolute!important;right:-3px!important;top:-4px!important;display:grid!important;place-items:center!important;min-width:22px!important;height:22px!important;padding:0 5px!important;border-radius:999px!important;background:#fff!important;color:#0f766e!important;border:1px solid #cfe3e1!important;font-size:10px!important;line-height:1!important}
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>small,
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>.pos-v651-hud-copy,
  .pos-v65-center.pos-v6521-operation-dock .pos-v65-center-btn>.pos-v651-hud-timer{display:none!important}
}

/* Nunca mantener un overlay oscuro después de cerrar sesión. */
.login-v41~.sidebar-backdrop-v6555,.auth-page~.sidebar-backdrop-v6555,.setup-page~.sidebar-backdrop-v6555{display:none!important}
body:not(.mobile-nav-open-v6520) .sidebar-backdrop-v6555:not(.visible){display:none!important}

/* =========================================================
   V6.5.22 — POS SIN SUCURSAL VISIBLE + CLIENTE ÁGIL
   ========================================================= */
.pos-v6522-hidden-branch,
.pos-page .v6519-branch-context.pos-context,
.pos-page .v6519-branch-selector.pos-context,
body:has(.pos-page) .topbar .v6519-branch-context,
body:has(.pos-page) .topbar .v6519-branch-selector{
  display:none!important;
}
.pos-client-summary.pos-v6522-empty-hidden{display:none!important;margin:0!important;padding:0!important}
.pos-v6522-new-client-always{display:inline-flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.pos-v6521-fast-sale .pos-v6521-customer-command{margin-bottom:10px!important}

@media(max-width:760px){
  .pos-v6521-fast-sale .pos-v6521-customer-command{margin-bottom:8px!important}
  .pos-v6521-fast-sale .pos-v6521-client-picker{grid-template-columns:minmax(0,1fr) 52px!important}
  .pos-v6522-new-client-always{width:52px!important;min-width:52px!important;height:48px!important}
}

/* =========================================================
   V6.5.23 — CLIENTE ALINEADO Y CAJA COMPACTA
   ========================================================= */
.pos-v6523-customer-field{width:100%!important;min-width:0!important}
.pos-v6523-client-row{
  display:grid!important;
  grid-template-columns:minmax(260px,.9fr) minmax(360px,1.45fr) auto!important;
  align-items:end!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.pos-v6523-search{min-width:0!important;display:grid!important;grid-template-rows:18px 50px!important;gap:5px!important}
.pos-v6523-search>span{display:flex!important;align-items:center!important;height:18px!important;margin:0!important}
.pos-v6523-search input,.pos-v6523-select,.pos-v6523-new-client{
  height:50px!important;min-height:50px!important;box-sizing:border-box!important;margin:0!important
}
.pos-v6523-search input,.pos-v6523-select{width:100%!important;min-width:0!important}
.pos-v6523-select{align-self:end!important}
.pos-v6523-new-client{
  align-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;white-space:nowrap!important;padding:0 20px!important
}
#posClientSummary,.pos-client-summary,.pos-v6521-client-summary{display:none!important}

.pos-cash-status-chip-v6523{
  margin-left:auto;display:inline-grid;grid-template-columns:36px auto 16px;align-items:center;gap:8px;
  min-height:48px;padding:6px 11px;border:1px solid #f2c66d;border-radius:15px;
  background:#fff9e8;color:#8a4b00;cursor:pointer;box-shadow:0 4px 14px rgba(146,91,0,.08);
  text-align:left;transition:transform .15s ease,box-shadow .15s ease,background .15s ease
}
.pos-cash-status-chip-v6523:hover{background:#fff4cf;box-shadow:0 7px 18px rgba(146,91,0,.13);transform:translateY(-1px)}
.pos-cash-status-chip-v6523:active{transform:translateY(0)}
.pos-cash-status-chip-v6523:focus-visible{outline:3px solid rgba(245,158,11,.3);outline-offset:2px}
.pos-cash-chip-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#ffedb3;font-size:17px}
.pos-cash-chip-copy{display:grid;gap:1px;line-height:1.1}.pos-cash-chip-copy b{font-size:12px}.pos-cash-chip-copy small{font-size:10px;color:#9a6700}
.pos-cash-chip-arrow{font-size:23px;line-height:1;color:#b7791f}
.pos-cash-closed-banner{display:none!important}

@media(max-width:980px){
  .pos-v6523-client-row{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr) auto!important}
}
@media(max-width:760px){
  .pos-v6523-client-row{grid-template-columns:1fr!important;gap:9px!important}
  .pos-v6523-search{grid-template-rows:auto 52px!important}
  .pos-v6523-search input,.pos-v6523-select,.pos-v6523-new-client{height:52px!important;min-height:52px!important}
  .pos-v6523-new-client{width:100%!important}
  .pos-cash-status-chip-v6523{
    grid-template-columns:32px auto 14px;min-height:44px;padding:5px 9px;border-radius:13px
  }
  .pos-cash-chip-icon{width:32px;height:32px;border-radius:10px;font-size:15px}
  .pos-cash-chip-copy b{font-size:11px}.pos-cash-chip-copy small{font-size:9px}
}
@media(max-width:480px){
  .topbar .pos-cash-status-chip-v6523{margin-left:0;width:auto;justify-self:start}
  .pos-cash-chip-copy small{display:none}
}

/* =========================================================
   V6.5.24 — UX CLIENTE PENDIENTE + MENÚ MÓVIL COMPLETO
   ========================================================= */
.pos-client-required-banner{display:none!important}
.pos-v6-catalog-title{align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
.pos-client-pending-action-v6524{
  margin-left:auto;display:grid;grid-template-columns:34px auto 14px;align-items:center;gap:8px;
  min-height:44px;padding:5px 9px;border:1px solid #f2c66d;border-radius:14px;background:#fff9e8;
  color:#8a4b00;cursor:pointer;text-align:left;box-shadow:0 3px 12px rgba(146,91,0,.07);
  transition:background .15s ease,box-shadow .15s ease,transform .15s ease
}
.pos-client-pending-action-v6524:hover{background:#fff3cc;box-shadow:0 6px 16px rgba(146,91,0,.12);transform:translateY(-1px)}
.pos-client-pending-action-v6524:active{transform:none}
.pos-client-pending-action-v6524:focus-visible{outline:3px solid rgba(245,158,11,.3);outline-offset:2px}
.pos-client-pending-icon-v6524{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffedb3;font-size:16px}
.pos-client-pending-copy-v6524{display:grid;gap:1px;line-height:1.1;white-space:nowrap}
.pos-client-pending-copy-v6524 b{font-size:11px}.pos-client-pending-copy-v6524 small{font-size:9px;color:#9a6700}
.pos-client-pending-arrow-v6524{font-size:21px;color:#b7791f;line-height:1}

@media(max-width:760px){
  /* El drawer móvil nunca utiliza el estado compacto del escritorio. */
  .sidebar.sidebar-v6555,
  .sidebar.sidebar-v6555.is-collapsed{
    width:min(90vw,370px)!important;max-width:370px!important;padding:16px 14px!important;overflow-x:hidden!important
  }
  .sidebar-v6555.is-collapsed .nav-label-v6555,
  .sidebar-v6555.is-collapsed .nav-group-label,
  .sidebar-v6555.is-collapsed .nav-chevron,
  .sidebar-v6555 .nav-label-v6555,
  .sidebar-v6555 .nav-group-label{
    display:block!important;visibility:visible!important;opacity:1!important;width:auto!important;max-width:none!important;
    min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  .sidebar-v6555.is-collapsed .nav-btn,
  .sidebar-v6555 .nav-btn{
    display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;justify-content:stretch!important;
    align-items:center!important;gap:11px!important;width:100%!important;min-height:52px!important;padding:10px 12px!important
  }
  .sidebar-v6555.is-collapsed .nav-btn>span:first-child,
  .sidebar-v6555 .nav-btn>span:first-child{width:38px!important;min-width:38px!important;font-size:21px!important;display:grid!important;place-items:center!important}
  .sidebar-v6555.is-collapsed .nav-btn.active::after{display:none!important}
  .sidebar-v6555.is-collapsed .nav-section-title-v6555{
    height:auto!important;margin:0!important;padding:8px 12px 4px!important;border:0!important;font-size:10px!important
  }
  .sidebar-v6555.is-collapsed .brand>div:last-child{display:block!important}
  .sidebar-v6555.is-collapsed .brand{justify-content:flex-start!important;padding-right:52px!important}
  .sidebar-v6555.is-collapsed .branch-scope,.sidebar-v6555.is-collapsed>.sync-row{display:grid!important}
  .sidebar-v6555.is-collapsed .sidebar-footer .sync-row{display:block!important}
  .sidebar-v6555.is-collapsed .sidebar-footer .btn{width:100%!important;height:auto!important;min-height:48px!important;font-size:14px!important}
  .sidebar-v6555 .catalog-submenu-item{display:grid!important;margin-left:12px!important;width:calc(100% - 12px)!important}

  .pos-v6-catalog-title>small{display:none!important}
  .pos-client-pending-action-v6524{margin-left:0;width:100%;grid-template-columns:32px minmax(0,1fr) 12px;min-height:42px;padding:5px 8px;border-radius:13px}
  .pos-client-pending-icon-v6524{width:32px;height:32px}
  .pos-client-pending-copy-v6524{white-space:normal}.pos-client-pending-copy-v6524 b{font-size:11px}.pos-client-pending-copy-v6524 small{font-size:9px}
}

/* =========================================================
   V6.5.25 — ESTADOS OPERATIVOS FLOTANTES DEL POS
   ========================================================= */
.pos-v6-catalog-title>small,
.pos-client-pending-action-v6524,
.pos-client-required-banner,
.pos-cash-status-chip-v6523,
.pos-cash-closed-banner{display:none!important}

.pos-status-rail-v6525{
  position:fixed;right:14px;bottom:194px;z-index:9495;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  width:min(270px,calc(100vw - 28px));pointer-events:none
}
.pos-status-float-v6525{
  pointer-events:auto;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;
  align-items:center;gap:9px;width:100%;min-height:54px;padding:7px 10px;
  border:1px solid #d8e5e9;border-radius:16px;background:rgba(255,255,255,.97);
  color:#172033;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.16);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
.pos-status-float-v6525:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(15,23,42,.21)}
.pos-status-float-v6525:active{transform:translateY(0)}
.pos-status-float-v6525:focus-visible{outline:3px solid rgba(13,148,136,.28);outline-offset:3px}
.pos-status-float-v6525.cash{border-color:#f2ca78;background:rgba(255,250,235,.98)}
.pos-status-float-v6525.client{border-color:#9bded3;background:rgba(239,253,249,.98)}
.pos-status-icon-v6525{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-size:18px;background:#edf5f7}
.pos-status-float-v6525.cash .pos-status-icon-v6525{background:#ffedb3}
.pos-status-float-v6525.client .pos-status-icon-v6525{background:#d9f8f0}
.pos-status-copy-v6525{display:grid;gap:2px;min-width:0;line-height:1.08}
.pos-status-copy-v6525 b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-status-copy-v6525 small{font-size:10px;color:#66758c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-status-arrow-v6525{font-size:23px;line-height:1;color:#64748b}
.pos-status-float-v6525.cash .pos-status-arrow-v6525{color:#b7791f}
.pos-status-float-v6525.client .pos-status-arrow-v6525{color:#087f6e}

/* Los estados nunca aparecen fuera del POS ni encima del drawer móvil. */
body.mobile-nav-open-v6520 .pos-status-rail-v6525,
html.mobile-nav-open-v6520 .pos-status-rail-v6525,
body.pos-modal-open .pos-status-rail-v6525{display:none!important}

@media(max-width:760px){
  .pos-status-rail-v6525{
    right:10px;bottom:calc(146px + env(safe-area-inset-bottom));gap:6px;
    width:min(244px,calc(100vw - 20px))
  }
  .pos-status-float-v6525{
    grid-template-columns:34px minmax(0,1fr) 14px;min-height:48px;padding:6px 8px;border-radius:14px
  }
  .pos-status-icon-v6525{width:34px;height:34px;border-radius:11px;font-size:16px}
  .pos-status-copy-v6525 b{font-size:11px}.pos-status-copy-v6525 small{font-size:9px}
  .pos-status-arrow-v6525{font-size:20px}
}
@media(max-width:390px){
  .pos-status-rail-v6525{width:210px}
  .pos-status-float-v6525{grid-template-columns:32px minmax(0,1fr) 12px}
  .pos-status-icon-v6525{width:32px;height:32px}
}

/* =========================================================
   V6.5.26 — ESTADOS POS SUPERIOR DERECHA, SIN SUPERPOSICIÓN
   ========================================================= */
/* Neutraliza la posición fija de V6.5.25. */
.pos-status-rail-v6525.pos-status-rail-v6526{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  width:auto!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:6px!important;
  pointer-events:auto!important;
  opacity:0;
  transform:translateX(12px);
  transition:opacity .22s ease,transform .22s ease;
}
.pos-status-rail-v6526.is-visible-v6526{opacity:1;transform:translateX(0)}

/* Zona superior derecha ordenada: estados primero, conexión después. */
body.pos-status-active-v6526 .topbar{
  align-items:flex-start!important;
}
body.pos-status-active-v6526 .topbar .top-actions{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  margin-left:auto!important;
  min-width:0!important;
}

.pos-status-rail-v6526 .pos-status-float-v6525{
  width:226px!important;
  min-height:48px!important;
  grid-template-columns:34px minmax(0,1fr) 13px!important;
  gap:8px!important;
  padding:6px 9px!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,23,42,.11)!important;
}
.pos-status-rail-v6526 .pos-status-icon-v6525{
  width:34px!important;height:34px!important;border-radius:10px!important;font-size:16px!important
}
.pos-status-rail-v6526 .pos-status-copy-v6525 b{font-size:11px!important}
.pos-status-rail-v6526 .pos-status-copy-v6525 small{font-size:9px!important}
.pos-status-rail-v6526 .pos-status-arrow-v6525{font-size:19px!important}

/* No ocultar por menú mediante selectores heredados cuando ya está integrado al encabezado. */
body.mobile-nav-open-v6520 .pos-status-rail-v6526,
html.mobile-nav-open-v6520 .pos-status-rail-v6526{display:none!important}
body.pos-modal-open .pos-status-rail-v6526{visibility:hidden!important}

/* Laptop/tablet: conserva el extremo derecho sin invadir el título. */
@media(max-width:1100px){
  body.pos-status-active-v6526 .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .pos-status-rail-v6526 .pos-status-float-v6525{width:205px!important}
}

/* Móvil/tablet vertical: la bandeja queda debajo de título/conexión y alineada a la derecha,
   participando en el flujo para no cubrir productos ni navegación. */
@media(max-width:760px){
  body.pos-status-active-v6526 .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:8px!important;
  }
  body.pos-status-active-v6526 .topbar .top-actions{
    grid-column:1/-1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:8px!important;
  }
  .pos-status-rail-v6525.pos-status-rail-v6526{
    grid-column:1!important;
    width:min(228px,100%)!important;
    justify-self:end!important;
  }
  .pos-status-rail-v6526 .pos-status-float-v6525{
    width:100%!important;
    min-height:44px!important;
    grid-template-columns:31px minmax(0,1fr) 12px!important;
    padding:5px 8px!important;
    border-radius:13px!important;
  }
  .pos-status-rail-v6526 .pos-status-icon-v6525{width:31px!important;height:31px!important;font-size:14px!important}
  .pos-status-rail-v6526 .pos-status-copy-v6525 b{font-size:10.5px!important}
  .pos-status-rail-v6526 .pos-status-copy-v6525 small{font-size:8.5px!important}
  .pos-status-rail-v6526 .pos-status-arrow-v6525{font-size:17px!important}
}

@media(max-width:420px){
  body.pos-status-active-v6526 .topbar .top-actions{grid-template-columns:1fr!important}
  .pos-status-rail-v6525.pos-status-rail-v6526{grid-column:1!important;width:100%!important;justify-self:stretch!important}
  .pos-status-rail-v6526{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .pos-status-rail-v6526 .pos-status-float-v6525{
    grid-template-columns:29px minmax(0,1fr) 10px!important;min-width:0!important
  }
  .pos-status-rail-v6526 .pos-status-copy-v6525 small{display:none!important}
}

/* =========================================================
   V6.5.27 — SUCURSAL OPERATIVA CENTRALIZADA
   ========================================================= */
.invoice-context,
.v6519-branch-selector.invoice-context,
.v6519-branch-context.invoice-context,
.invoice-branch-field,
.v6519-relocated-branch-field,
.v6519-hidden-branch-field{
  display:none!important;
}
.invoice-page-head{grid-template-columns:minmax(0,1fr) auto!important}
.invoice-header-form{grid-template-columns:minmax(260px,1.6fr) repeat(4,minmax(145px,.7fr))!important}
@media(max-width:980px){
  .invoice-header-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .invoice-header-form{grid-template-columns:1fr!important}
}

/* =========================================================
   V6.6 — CENTRO DE INVENTARIO
   ========================================================= */
.inventory-center-v66{display:grid;gap:16px}
.inventory-center-toolbar-v66{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.inventory-center-actions-v66{display:flex;gap:8px;flex-wrap:wrap}
.inventory-filter-grid-v66{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;align-items:end}
.inventory-filter-grid-v66 .wide{grid-column:span 2}
.inventory-kpis-v66{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px}
.inventory-kpi-v66{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#f8fffd);min-height:108px;display:flex;flex-direction:column;justify-content:space-between}
.inventory-kpi-v66 small{color:var(--muted);font-weight:700}.inventory-kpi-v66 strong{font-size:1.45rem;color:var(--ink)}
.inventory-tabs-v66{display:flex;gap:6px;overflow:auto;padding:4px;background:#eef4f7;border-radius:14px;width:max-content;max-width:100%}
.inventory-tabs-v66 button{border:0;background:transparent;padding:10px 16px;border-radius:11px;font-weight:800;white-space:nowrap;cursor:pointer}
.inventory-tabs-v66 button.active{background:#fff;color:var(--primary);box-shadow:0 2px 10px rgba(15,118,110,.12)}
.inventory-table-v66 th{white-space:nowrap}.inventory-table-v66 td{vertical-align:top}
.inventory-product-v66{min-width:230px}.inventory-product-v66 b{display:block}.inventory-product-v66 small{color:var(--muted)}
.inventory-number-v66{text-align:right;white-space:nowrap}.inventory-state-v66{white-space:nowrap}
.inventory-footer-v66{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px}
.inventory-pagination-v66{display:flex;align-items:center;gap:8px}
.inventory-summary-line-v66{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted)}
.inventory-summary-line-v66 b{color:var(--ink)}
.inventory-detail-modal-v66{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10030;display:grid;place-items:center;padding:20px}
.inventory-detail-panel-v66{background:#fff;width:min(1180px,96vw);max-height:90vh;overflow:auto;border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.3)}
.inventory-detail-head-v66{position:sticky;top:0;background:#fff;z-index:2;padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.inventory-detail-body-v66{padding:22px 24px}.inventory-detail-close-v66{width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:#f5f8fb;cursor:pointer;font-size:22px}
.inventory-empty-v66{text-align:center;padding:44px 20px;color:var(--muted)}
.inventory-expiry-v66.danger{color:#b42318;font-weight:800}.inventory-expiry-v66.warning{color:#b54708;font-weight:800}
@media(max-width:1200px){.inventory-filter-grid-v66{grid-template-columns:repeat(3,minmax(180px,1fr))}.inventory-kpis-v66{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.inventory-filter-grid-v66{grid-template-columns:1fr}.inventory-filter-grid-v66 .wide{grid-column:auto}.inventory-kpis-v66{grid-template-columns:repeat(2,1fr)}.inventory-center-actions-v66{width:100%}.inventory-center-actions-v66 .btn{flex:1}.inventory-detail-modal-v66{padding:0;align-items:end}.inventory-detail-panel-v66{width:100%;max-height:94vh;border-radius:24px 24px 0 0}.inventory-table-v66 thead{display:none}.inventory-table-v66 tr{display:block;border-bottom:1px solid var(--line);padding:12px}.inventory-table-v66 td{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border:0}.inventory-table-v66 td::before{content:attr(data-label);font-weight:800;color:var(--muted);min-width:42%}.inventory-product-v66{min-width:0}.inventory-number-v66{text-align:left}}

/* =========================================================
   V6.6.1 — CENTRO DE INVENTARIO RESPONSIVE / GRID ESTÁNDAR
   ========================================================= */
.inventory-center-v66,
.inventory-center-v66 > *,
.inventory-center-v66 .card{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

/* Encabezado: título y acciones nunca desbordan */
.inventory-center-toolbar-v66{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:16px;
  width:100%;
  min-width:0;
}
.inventory-center-toolbar-v66>div:first-child{min-width:0}
.inventory-center-toolbar-v66 h3,
.inventory-center-toolbar-v66 p{overflow-wrap:anywhere}
.inventory-center-actions-v66{
  display:grid;
  grid-template-columns:repeat(3,max-content);
  gap:8px;
  justify-content:end;
  max-width:100%;
}
.inventory-center-actions-v66 .btn{
  min-height:46px;
  width:auto;
  max-width:100%;
  white-space:nowrap;
  padding-inline:16px;
}

/* Filtros fluidos, sin anchos rígidos */
.inventory-filter-grid-v66{
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%;
  min-width:0;
}
.inventory-filter-grid-v66 label,
.inventory-filter-grid-v66 input,
.inventory-filter-grid-v66 select,
.inventory-filter-grid-v66 button{
  min-width:0;
  max-width:100%;
}
.inventory-filter-grid-v66 .wide{grid-column:span 2}

/* KPI adaptables */
.inventory-kpis-v66{
  grid-template-columns:repeat(6,minmax(0,1fr));
  min-width:0;
}
.inventory-kpi-v66{min-width:0}
.inventory-kpi-v66 strong{overflow-wrap:anywhere}

/* Tabs: scroll solo en la propia barra */
.inventory-tabs-v66{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.inventory-tabs-v66 button{flex:0 0 auto}

/* Grilla estándar: el scroll pertenece a la tabla, no a la página */
.inventory-center-v66 .table-wrap{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto!important;
  overflow-y:visible;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  border:1px solid var(--line);
  border-radius:16px;
}
.inventory-table-v66{
  width:100%;
  min-width:1420px;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}
.inventory-table-v66 th,
.inventory-table-v66 td{
  padding:13px 12px;
  line-height:1.35;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
.inventory-table-v66 th{
  position:sticky;
  top:0;
  z-index:3;
  background:#f4f7fb;
  font-size:12px;
  letter-spacing:.02em;
}
.inventory-table-v66 tbody tr:hover td{background:#f8fffd}
.inventory-table-v66 td{font-size:13px}
.inventory-table-v66 small{display:block;margin-top:3px;line-height:1.35}

/* Anchos consistentes por columna */
.inventory-table-v66 th:nth-child(1),.inventory-table-v66 td:nth-child(1){width:270px}
.inventory-table-v66 th:nth-child(2),.inventory-table-v66 td:nth-child(2){width:125px}
.inventory-table-v66 th:nth-child(3),.inventory-table-v66 td:nth-child(3),
.inventory-table-v66 th:nth-child(4),.inventory-table-v66 td:nth-child(4),
.inventory-table-v66 th:nth-child(5),.inventory-table-v66 td:nth-child(5){width:105px}
.inventory-table-v66 th:nth-child(6),.inventory-table-v66 td:nth-child(6),
.inventory-table-v66 th:nth-child(7),.inventory-table-v66 td:nth-child(7){width:125px}
.inventory-table-v66 th:nth-child(8),.inventory-table-v66 td:nth-child(8),
.inventory-table-v66 th:nth-child(9),.inventory-table-v66 td:nth-child(9){width:92px}
.inventory-table-v66 th:nth-child(10),.inventory-table-v66 td:nth-child(10),
.inventory-table-v66 th:nth-child(11),.inventory-table-v66 td:nth-child(11){width:120px}
.inventory-table-v66 th:nth-child(12),.inventory-table-v66 td:nth-child(12){width:115px}
.inventory-table-v66 th:nth-child(13),.inventory-table-v66 td:nth-child(13){width:122px}

/* Primera columna y acciones visibles mientras se desplaza */
.inventory-table-v66 th:first-child,
.inventory-table-v66 td:first-child{
  position:sticky;
  left:0;
  z-index:2;
  background:#fff;
  box-shadow:8px 0 14px -14px rgba(15,23,42,.45);
}
.inventory-table-v66 th:first-child{z-index:5;background:#f4f7fb}
.inventory-table-v66 th:last-child,
.inventory-table-v66 td:last-child{
  position:sticky;
  right:0;
  z-index:2;
  background:#fff;
  box-shadow:-8px 0 14px -14px rgba(15,23,42,.45);
}
.inventory-table-v66 th:last-child{z-index:5;background:#f4f7fb}
.inventory-table-v66 td:last-child .btn{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  white-space:normal;
  line-height:1.15;
}
.inventory-product-v66{min-width:0}
.inventory-number-v66{text-align:right;white-space:nowrap}
.inventory-state-v66{text-align:center}

/* Footer de la grilla */
.inventory-footer-v66{
  width:100%;
  min-width:0;
  padding:14px 2px 0;
}
.inventory-pagination-v66{flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1250px){
  .inventory-center-toolbar-v66{grid-template-columns:1fr}
  .inventory-center-actions-v66{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;width:100%}
  .inventory-center-actions-v66 .btn{width:100%}
  .inventory-filter-grid-v66{grid-template-columns:repeat(3,minmax(0,1fr))}
  .inventory-kpis-v66{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .inventory-center-actions-v66{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-center-actions-v66 .btn:last-child{grid-column:1/-1}
  .inventory-filter-grid-v66{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-filter-grid-v66 .wide{grid-column:span 2}
  .inventory-kpis-v66{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .inventory-center-toolbar-v66{gap:12px}
  .inventory-center-actions-v66{grid-template-columns:1fr}
  .inventory-center-actions-v66 .btn:last-child{grid-column:auto}
  .inventory-filter-grid-v66{grid-template-columns:1fr}
  .inventory-filter-grid-v66 .wide{grid-column:auto}
  .inventory-kpis-v66{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* En móvil la grilla se convierte en cards, sin scroll horizontal */
  .inventory-center-v66 .table-wrap{overflow:visible!important;border:0;background:transparent}
  .inventory-table-v66{display:block;min-width:0;width:100%;table-layout:auto}
  .inventory-table-v66 thead{display:none}
  .inventory-table-v66 tbody{display:grid;gap:12px}
  .inventory-table-v66 tr{
    display:block;
    width:100%;
    padding:0;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    overflow:hidden;
  }
  .inventory-table-v66 td,
  .inventory-table-v66 td:first-child,
  .inventory-table-v66 td:last-child{
    position:static;
    width:100%!important;
    display:grid;
    grid-template-columns:minmax(110px,40%) minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding:9px 13px;
    border:0;
    border-bottom:1px solid #edf1f5;
    background:#fff;
    box-shadow:none;
    text-align:left;
    white-space:normal;
  }
  .inventory-table-v66 td:last-child{border-bottom:0}
  .inventory-table-v66 td::before{
    content:attr(data-label);
    min-width:0;
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .inventory-table-v66 td:first-child{
    display:block;
    padding:14px 13px;
    background:#f8fffd;
  }
  .inventory-table-v66 td:first-child::before{display:none}
  .inventory-table-v66 td:last-child{display:block;padding:12px 13px}
  .inventory-table-v66 td:last-child::before{display:none}
  .inventory-table-v66 td:last-child .btn{width:100%;min-height:46px}
  .inventory-state-v66{text-align:left}
  .inventory-footer-v66{display:grid;gap:12px}
  .inventory-pagination-v66{justify-content:space-between}
}

@media(max-width:430px){
  .inventory-kpis-v66{grid-template-columns:1fr}
  .inventory-table-v66 td,
  .inventory-table-v66 td:first-child,
  .inventory-table-v66 td:last-child{grid-template-columns:1fr;gap:4px}
}


/* =========================================================
   V6.6.2 — ACCIONES ESTÁNDAR Y SCROLL VERTICAL ÚNICO
   ========================================================= */
/* La grilla conserva únicamente desplazamiento horizontal interno.
   El crecimiento vertical pertenece a la página completa. */
.inventory-center-v66 .table-wrap{
  max-height:none!important;
  height:auto!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-gutter:auto!important;
}

/* Columna Acción bajo el patrón compacto de las demás grillas. */
.inventory-table-v66 th:last-child,
.inventory-table-v66 td:last-child{
  width:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  text-align:center;
  vertical-align:middle;
}
.inventory-action-cell-v662{
  padding:10px 8px!important;
  text-align:center!important;
}
.inventory-action-trigger-v662{
  appearance:none;
  -webkit-appearance:none;
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  display:inline-grid;
  place-items:center;
  border:1px solid #dbe4ef;
  border-radius:11px;
  background:#fff;
  color:#334155;
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  user-select:none;
  box-shadow:none;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .08s ease;
}
.inventory-action-trigger-v662:hover,
.inventory-action-trigger-v662:focus-visible{
  background:#edf9f7;
  border-color:#7ad9cb;
  color:#087f6e;
  outline:none;
}
.inventory-action-trigger-v662:active{transform:scale(.96)}

/* El encabezado y las filas crecen naturalmente; no aparece barra vertical interna. */
.inventory-table-v66{
  height:auto!important;
}
.inventory-table-v66 tbody{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

@media(max-width:760px){
  .inventory-center-v66 .table-wrap{overflow:visible!important}
  .inventory-table-v66 th:last-child,
  .inventory-table-v66 td:last-child{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .inventory-action-cell-v662{
    display:block!important;
    padding-top:10px!important;
  }
  .inventory-action-cell-v662::before{display:none!important}
  .inventory-action-trigger-v662{
    width:100%;
    min-height:44px;
    border-radius:12px;
    font-size:0;
  }
  .inventory-action-trigger-v662::after{
    content:'Ver detalle';
    font-size:14px;
    font-weight:800;
  }
}

/* V6.7 Centro de Ajustes */
.adjust-center-v67{display:grid;gap:18px;min-width:0}.adjust-header-grid-v67{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.adjust-header-grid-v67 .wide{grid-column:span 2}.adjust-header-grid-v67 label,.adjust-add-v67 label{display:grid;gap:7px;font-weight:800;color:var(--muted)}.adjust-header-grid-v67 input,.adjust-header-grid-v67 select,.adjust-header-grid-v67 textarea,.adjust-add-v67 select,.adjust-confirm-v67 input,.adjust-table-v67 input{width:100%}.adjust-kpis-v67{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.adjust-kpis-v67>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:5px}.adjust-kpis-v67 small{color:var(--muted);font-weight:700}.adjust-kpis-v67 b{font-size:1.6rem}.adjust-kpis-v67 .danger{background:#fff1f1;border-color:#fecaca}.adjust-add-v67{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:16px}.adjust-table-wrap-v67{overflow-x:auto;max-width:100%}.adjust-table-v67{min-width:1100px}.adjust-table-v67 td small{display:block;color:var(--muted);margin-top:4px}.adjust-table-v67 tr.positive{background:#f2fffa}.adjust-table-v67 tr.negative{background:#fffafa}.text-danger{color:#b91c1c}.text-success{color:#047857}.adjust-confirm-v67{display:grid;grid-template-columns:1fr minmax(250px,340px) auto;gap:16px;align-items:center}.adjust-confirm-v67 h3{margin:0}.adjust-confirm-v67 p{margin:4px 0 0}.eyebrow{font-weight:900;letter-spacing:.12em;color:var(--primary)}
@media(max-width:1000px){.adjust-header-grid-v67{grid-template-columns:repeat(2,minmax(0,1fr))}.adjust-kpis-v67{grid-template-columns:repeat(3,minmax(0,1fr))}.adjust-confirm-v67{grid-template-columns:1fr}.adjust-add-v67{grid-template-columns:1fr 1fr}.adjust-add-v67 label{grid-column:1/-1}}
@media(max-width:700px){.adjust-header-grid-v67{grid-template-columns:1fr}.adjust-header-grid-v67 .wide{grid-column:auto}.adjust-kpis-v67{grid-template-columns:1fr 1fr}.adjust-add-v67{grid-template-columns:1fr}.adjust-table-v67{min-width:0}.adjust-table-v67 thead{display:none}.adjust-table-v67,.adjust-table-v67 tbody,.adjust-table-v67 tr,.adjust-table-v67 td{display:block;width:100%}.adjust-table-v67 tr{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}.adjust-table-v67 td{display:grid;grid-template-columns:130px 1fr;gap:12px;border:0;border-bottom:1px solid var(--line);align-items:center}.adjust-table-v67 td:before{content:attr(data-label);font-weight:800;color:var(--muted)}.adjust-table-v67 td:last-child{border-bottom:0}.adjust-kpis-v67 b{font-size:1.25rem}}

/* V6.8 — Inicialización Segura de Inventario */
.init-v68{display:grid;gap:14px;min-width:0}.init-v68-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.init-v68-hero h2{margin:3px 0 5px}.init-v68-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.init-v68-steps span{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:12px;color:var(--muted);font-weight:800}.init-v68-steps span b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf2f7}.init-v68-steps span.active{border-color:#8ed5cb;background:#effcf9;color:#087f6e}.init-v68-steps span.active b{background:#087f6e;color:#fff}.init-v68-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.init-v68-form label{display:grid;gap:5px;font-size:12px;font-weight:800}.init-v68-form .wide{grid-column:span 2}.init-v68-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.init-v68-options .form-check{align-items:flex-start;padding:11px;border:1px solid var(--border);border-radius:12px}.init-v68-options small{display:block;margin-top:3px;color:var(--muted);font-weight:500}.init-v68-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.init-v68-confirm{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr) auto;align-items:center;gap:12px}.init-v68-confirm input{min-height:48px;font-weight:900;letter-spacing:.04em}.init-v68-table{overflow-x:auto;overflow-y:visible}.danger-text{color:#b4233f}.hidden{display:none!important}
@media(max-width:1050px){.init-v68-form{grid-template-columns:repeat(2,minmax(0,1fr))}.init-v68-confirm{grid-template-columns:1fr 1fr}.init-v68-confirm>div{grid-column:1/-1}}
@media(max-width:700px){.init-v68-hero{display:grid}.init-v68-steps{grid-template-columns:1fr 1fr}.init-v68-form,.init-v68-options,.init-v68-kpis,.init-v68-confirm{grid-template-columns:1fr}.init-v68-form .wide{grid-column:auto}.init-v68-confirm>div{grid-column:auto}.init-v68-confirm .btn{width:100%;min-height:50px}}

/* V6.9 Centro de Conciliación de Cobros */
.v69-page{display:grid;gap:18px}.v69-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:20px;background:linear-gradient(135deg,#083344,#0f766e 58%,#14b8a6);color:#fff;box-shadow:0 16px 40px rgba(15,118,110,.2)}.v69-hero h2{margin:4px 0 8px;font-size:clamp(24px,3vw,36px)}.v69-hero p{margin:0;max-width:760px;color:rgba(255,255,255,.86)}.v69-actions{display:flex;gap:8px;flex-wrap:wrap}.v69-actions .btn{white-space:nowrap}.v69-filters{padding:20px}.v69-filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.v69-kpis{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px}.v69-kpis article,.v69-detail-summary article{background:#fff;border:1px solid var(--border,#dbe4ea);border-radius:16px;padding:16px;box-shadow:0 6px 20px rgba(15,23,42,.05)}.v69-kpis span,.v69-detail-summary span{display:block;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.v69-kpis b,.v69-detail-summary b{display:block;margin-top:7px;font-size:22px}.v69-kpis small{color:#64748b}.v69-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid #e2e8f0;padding:0 4px}.v69-tabs button{border:0;background:transparent;padding:14px 16px;white-space:nowrap;font-weight:700;color:#64748b;border-bottom:3px solid transparent}.v69-tabs button.active{color:#0f766e;border-color:#0f766e}.v69-tab-content{padding-top:16px}.v69-table{max-height:none;overflow-x:auto;overflow-y:visible}.v69-table th.num,.v69-table td.num{text-align:right;font-variant-numeric:tabular-nums}.grid-action{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;font-size:20px;line-height:1;cursor:pointer}.grid-action:hover{background:#f0fdfa;border-color:#14b8a6}.v69-flow-legend{display:flex;gap:18px;margin-bottom:14px}.v69-flow-legend span{display:flex;align-items:center;gap:7px;font-size:13px}.v69-flow-legend i{width:12px;height:12px;border-radius:4px}.v69-flow-legend i.pay{background:#14b8a6}.v69-flow-legend i.invoice{background:#2563eb}.v69-flow{display:grid;gap:10px}.v69-flow-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(120px,240px) minmax(190px,1fr);align-items:center;gap:10px}.v69-flow-node{border-radius:14px;padding:13px 15px;text-align:left;border:1px solid transparent;display:flex;flex-direction:column;gap:3px}.v69-flow-node.pay{background:#ecfdf5;border-color:#a7f3d0}.v69-flow-node.invoice{background:#eff6ff;border-color:#bfdbfe;cursor:pointer}.v69-flow-node small{color:#64748b}.v69-flow-link{height:9px;background:linear-gradient(90deg,#14b8a6,#2563eb);border-radius:99px;position:relative}.v69-flow-link span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:3px 8px;border-radius:99px;border:1px solid #dbeafe;font-size:11px;font-weight:800}.v69-flow-note{margin-top:12px}.v69-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.62);z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px}.v69-modal{width:min(1180px,96vw);max-height:92vh;overflow:auto;background:#f8fafc;border-radius:22px;padding:0 22px 24px}.v69-modal .modal-header{position:sticky;top:0;z-index:2;background:#f8fafc;padding:20px 0 14px;display:flex;justify-content:space-between;align-items:center}.v69-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.v69-detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.v69-detail-grid>section{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px}.v69-timeline{position:relative;padding-left:14px}.v69-timeline:before{content:'';position:absolute;left:31px;top:20px;bottom:20px;width:3px;background:linear-gradient(#2563eb,#14b8a6)}.v69-time-event{position:relative;display:grid;grid-template-columns:38px 1fr;gap:12px;margin-bottom:15px}.v69-time-dot{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#dbeafe;border:4px solid #fff;box-shadow:0 0 0 2px #60a5fa;z-index:1}.v69-time-event.payment .v69-time-dot{background:#d1fae5;box-shadow:0 0 0 2px #34d399}.v69-time-event.paid .v69-time-dot{background:#059669;color:#fff;box-shadow:0 0 0 3px #a7f3d0}.v69-time-card{border:1px solid #e2e8f0;border-radius:14px;padding:13px;background:#fff}.v69-time-card>span{font-size:12px;color:#64748b}.v69-time-card h4{margin:3px 0 8px}.v69-time-money{display:flex;justify-content:space-between;gap:10px}.v69-time-money strong{color:#0f766e}.v69-time-card small{display:block;color:#64748b;margin-top:5px}.v69-liquidated{margin-top:9px;padding:8px 10px;border-radius:10px;background:#ecfdf5;color:#047857;font-weight:800}.v69-audit{display:grid;padding:10px 0;border-bottom:1px solid #e2e8f0}.v69-audit span,.v69-audit small{color:#64748b}.modal-close{border:0;background:#e2e8f0;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer}
@media(max-width:1100px){.v69-filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.v69-kpis{grid-template-columns:repeat(3,1fr)}.v69-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.v69-hero{align-items:flex-start;flex-direction:column;padding:19px}.v69-actions{width:100%}.v69-actions .btn{flex:1}.v69-filter-grid{grid-template-columns:1fr}.v69-kpis{grid-template-columns:repeat(2,1fr)}.v69-detail-summary{grid-template-columns:repeat(2,1fr)}.v69-flow-row{grid-template-columns:1fr}.v69-flow-link{height:40px;width:8px;justify-self:center}.v69-flow-link span{white-space:nowrap}.v69-modal-overlay{padding:0}.v69-modal{width:100vw;max-height:100vh;height:100vh;border-radius:0;padding:0 14px 20px}.v69-detail-grid>section{padding:13px}.v69-time-money{flex-direction:column}.v69-table table{min-width:980px}}
@media print{.sidebar,.topbar,.bottom-nav,.v69-filters,.v69-actions,.v69-tabs{display:none!important}.v69-hero{background:#fff!important;color:#111!important;box-shadow:none;padding:0}.v69-hero p{color:#444}.v69-kpis{grid-template-columns:repeat(6,1fr)}.v69-page{display:block}.v69-page>*{margin-bottom:14px}.v69-table{overflow:visible}.v69-table table{font-size:8px}}


/* =========================================================
   V6.9.1 - Timeline UX responsive
   Horizontal en escritorio / vertical en móvil
   ========================================================= */
.v691-timeline-shell{--v691-accent:#2563eb;--v691-soft:#eff6ff;display:grid;gap:12px;min-width:0}
.v691-timeline-shell.partial{--v691-accent:#d97706;--v691-soft:#fffbeb}
.v691-timeline-shell.paid{--v691-accent:#059669;--v691-soft:#ecfdf5}
.v691-progress-head{display:flex;align-items:end;justify-content:space-between;gap:14px}
.v691-progress-head span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.v691-progress-head b{display:block;font-size:24px;line-height:1.1;color:#0f172a;margin-top:3px}
.v691-progress-head>strong{color:var(--v691-accent);background:var(--v691-soft);border:1px solid color-mix(in srgb,var(--v691-accent) 25%,#fff);padding:7px 11px;border-radius:999px;font-size:12px;white-space:nowrap}
.v691-progress{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,42,.08)}
.v691-progress i{display:block;height:100%;width:var(--v691-progress);border-radius:inherit;background:linear-gradient(90deg,var(--v691-accent),color-mix(in srgb,var(--v691-accent) 65%,#5eead4));transform-origin:left;animation:v691ProgressGrow .85s cubic-bezier(.2,.8,.2,1) both}
.v691-progress-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v691-progress-meta span{display:flex;flex-direction:column;gap:2px;padding:9px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.v691-progress-meta b{color:#0f172a;font-size:14px;text-transform:none;letter-spacing:0}
.v691-timeline-scroll{overflow-x:auto;overflow-y:hidden;padding:14px 6px 12px;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.v691-timeline{position:relative;display:flex;align-items:flex-start;gap:24px;min-width:max-content;padding:0 8px 12px}
.v691-timeline:before{content:'';position:absolute;left:27px;right:27px;top:19px;height:4px;width:auto;background:linear-gradient(90deg,#2563eb,#14b8a6,#059669);border-radius:999px;transform-origin:left;animation:v691LineGrow .9s ease both}
.v691-time-event{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:210px;min-width:210px;margin:0;scroll-snap-align:start;opacity:0;transform:translateY(8px);animation:v691CardIn .45s ease forwards;animation-delay:calc(var(--v691-index) * 90ms + 120ms)}
.v691-time-event .v69-time-dot{flex:0 0 38px;z-index:2;transition:transform .2s ease,box-shadow .2s ease}
.v691-time-event .v69-time-card{width:100%;min-height:150px;padding:12px;border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.v691-time-event:hover .v69-time-card,.v691-time-event:focus .v69-time-card{transform:translateY(-4px);box-shadow:0 12px 26px rgba(15,23,42,.11);border-color:#94a3b8}
.v691-time-event:hover .v69-time-dot,.v691-time-event:focus .v69-time-dot{transform:scale(1.08)}
.v691-time-event .v69-time-card h4{font-size:15px;line-height:1.25;margin:3px 0 7px;overflow-wrap:anywhere}
.v691-time-event .v69-time-money{display:grid;gap:3px}
.v691-time-event .v69-time-money b,.v691-time-event .v69-time-money strong{font-size:15px}
.v691-time-event .v69-liquidated{font-size:12px;padding:7px 8px}
.v691-time-event.paid .v69-time-card{background:#f0fdf4;border-color:#86efac}
.v691-time-event.payment .v69-time-card{background:#fcfffd;border-color:#bbf7d0}
.v691-time-event.invoice .v69-time-card{background:#fbfdff;border-color:#bfdbfe}
@keyframes v691LineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes v691ProgressGrow{from{width:0}to{width:var(--v691-progress)}}
@keyframes v691CardIn{to{opacity:1;transform:none}}
@media (max-width:1023px){
  .v691-progress-head{align-items:flex-start}.v691-progress-head>strong{white-space:normal;text-align:center}
  .v691-progress-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v691-timeline-scroll{overflow:visible;padding:8px 0 0;scroll-snap-type:none}
  .v691-timeline{display:grid;gap:0;min-width:0;padding:0 0 0 14px}
  .v691-timeline:before{left:31px;right:auto;top:20px;bottom:20px;width:3px;height:auto;transform-origin:top;animation:v691LineGrowVertical .9s ease both}
  .v691-time-event{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;width:auto;min-width:0;margin-bottom:14px;opacity:0;transform:translateY(8px)}
  .v691-time-event .v69-time-card{min-height:0;width:auto}
}
@keyframes v691LineGrowVertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.v691-progress i,.v691-timeline:before,.v691-time-event{animation:none;opacity:1;transform:none}.v691-time-event .v69-time-card,.v691-time-event .v69-time-dot{transition:none}}


/* V6.9.1 responsive UX refinement: desktop/laptop horizontal; tablet/mobile vertical */
@media (max-width:1023px){
  .v69-modal{width:min(760px,96vw);padding:0 16px 20px}
  .v69-detail-grid{grid-template-columns:1fr;gap:14px}
  .v69-detail-grid>section{padding:16px}
  .v691-timeline-scroll{overflow:visible}
  .v691-time-event .v69-time-card{max-width:none}
}
@media (min-width:1024px){
  .v691-timeline-scroll{overflow-x:auto;overflow-y:hidden}
  .v691-timeline{display:flex;min-width:max-content}
}
@media (max-width:600px){
  .v691-progress-head{display:grid;grid-template-columns:1fr auto;gap:8px}
  .v691-progress-head b{font-size:21px}
  .v691-progress-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v691-time-event{grid-template-columns:34px minmax(0,1fr);gap:10px}
  .v691-time-event .v69-time-dot{width:34px;height:34px;flex-basis:34px;font-size:14px}
  .v691-timeline:before{left:29px}
  .v691-time-event .v69-time-card{padding:11px}
}

/* =========================================================
   V6.9.2 - Modal de trazabilidad + timeline infográfico
   Desktop/laptop: aplicaciones arriba, timeline horizontal abajo.
   Tablet/móvil: timeline vertical.
   ========================================================= */
.v692-modal{width:min(1380px,97vw)}
.v692-detail-stack{display:grid;gap:18px}
.v692-detail-stack>section{background:#fff;border:1px solid #dce5ef;border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.04);min-width:0}
.v692-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:15px}
.v692-section-heading h3{margin:3px 0 0}
.v692-count,.v692-hint{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;font-size:12px;font-weight:800;white-space:nowrap}
.v692-payments-table{max-height:none;overflow-x:auto;overflow-y:visible}
.v692-payments-table table{min-width:760px}
.v692-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v692-audit-grid .v69-audit{border:1px solid #e2e8f0;border-radius:14px;padding:13px;background:#f8fafc}

@media (min-width:1024px){
  .v692-timeline-panel .v691-timeline-shell{gap:16px}
  .v692-timeline-panel .v691-progress-head{max-width:520px}
  .v692-timeline-panel .v691-progress-meta{max-width:720px}
  .v692-timeline-panel .v691-timeline-scroll{padding:26px 10px 22px;overflow-x:auto;overflow-y:visible}
  .v692-timeline-panel .v691-timeline{align-items:center;gap:0;padding:175px 34px 175px;min-height:390px}
  .v692-timeline-panel .v691-timeline:before{left:50px;right:50px;top:50%;height:7px;transform:translateY(-50%);background:linear-gradient(90deg,#2563eb 0 24%,#14b8a6 24% 78%,#059669 78% 100%);box-shadow:0 0 0 1px rgba(255,255,255,.65),0 4px 14px rgba(15,118,110,.15)}
  .v692-timeline-panel .v691-time-event{width:235px;min-width:235px;height:1px;gap:0;justify-content:center;animation-delay:calc(var(--v691-index) * 100ms + 120ms)}
  .v692-timeline-panel .v691-time-event .v69-time-dot{position:absolute;left:50%;top:50%;width:54px;height:54px;flex-basis:54px;transform:translate(-50%,-50%);font-size:22px;border-width:5px;box-shadow:0 0 0 3px #60a5fa,0 8px 20px rgba(37,99,235,.18)}
  .v692-timeline-panel .v691-time-event.payment .v69-time-dot{box-shadow:0 0 0 3px #34d399,0 8px 20px rgba(16,185,129,.18)}
  .v692-timeline-panel .v691-time-event.paid .v69-time-dot{box-shadow:0 0 0 4px #86efac,0 8px 20px rgba(5,150,105,.22)}
  .v692-timeline-panel .v691-time-event .v69-time-card{position:absolute;width:215px;min-height:0;padding:12px 13px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.08)}
  .v692-timeline-panel .v691-time-event:nth-child(odd) .v69-time-card{bottom:42px}
  .v692-timeline-panel .v691-time-event:nth-child(even) .v69-time-card{top:42px}
  .v692-timeline-panel .v691-time-event:nth-child(odd) .v69-time-card:after,.v692-timeline-panel .v691-time-event:nth-child(even) .v69-time-card:after{content:"";position:absolute;left:50%;width:2px;height:36px;background:currentColor;opacity:.28;transform:translateX(-50%)}
  .v692-timeline-panel .v691-time-event:nth-child(odd) .v69-time-card:after{top:100%}
  .v692-timeline-panel .v691-time-event:nth-child(even) .v69-time-card:after{bottom:100%}
  .v692-timeline-panel .v691-time-event.invoice .v69-time-card{color:#1d4ed8;background:#f8fbff;border-color:#93c5fd}
  .v692-timeline-panel .v691-time-event.payment .v69-time-card{color:#047857;background:#f7fffb;border-color:#86efac}
  .v692-timeline-panel .v691-time-event.paid .v69-time-card{color:#047857;background:#f0fdf4;border-color:#4ade80}
  .v692-timeline-panel .v691-time-event .v69-time-card>span,.v692-timeline-panel .v691-time-event .v69-time-card small{color:#64748b}
  .v692-timeline-panel .v691-time-event .v69-time-card h4,.v692-timeline-panel .v691-time-event .v69-time-card b{color:#0f172a}
  .v692-timeline-panel .v691-time-event:hover .v69-time-dot,.v692-timeline-panel .v691-time-event:focus .v69-time-dot{transform:translate(-50%,-50%) scale(1.08)}
}

@media (max-width:1023px){
  .v692-modal{width:min(760px,96vw)}
  .v692-detail-stack>section{padding:16px}
  .v692-section-heading{align-items:flex-start}
  .v692-hint{white-space:normal;text-align:right}
  .v692-audit-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .v692-section-heading{display:grid;grid-template-columns:1fr}
  .v692-count,.v692-hint{justify-self:start;text-align:left}
  .v692-detail-stack>section{border-radius:16px;padding:13px}
}


/* V6.9.3 — Timeline de estados: sin scroll vertical interno y cierre uniforme */
@media (min-width:1024px){
  .v692-timeline-panel .v691-timeline-scroll{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:none !important;
    height:auto !important;
    scrollbar-gutter:auto;
    overscroll-behavior-y:none;
  }
  .v692-timeline-panel .v691-timeline{
    min-height:430px;
    padding-top:185px;
    padding-bottom:185px;
  }
  .v692-timeline-panel .v691-time-event.metric .v69-time-dot,
  .v692-timeline-panel .v691-time-event.current .v69-time-dot{
    background:#fef3c7;
    color:#92400e;
    box-shadow:0 0 0 3px #fbbf24,0 8px 20px rgba(217,119,6,.18);
  }
  .v692-timeline-panel .v691-time-event.overdue .v69-time-dot{
    background:#fee2e2;
    color:#b91c1c;
    box-shadow:0 0 0 3px #f87171,0 8px 20px rgba(220,38,38,.18);
  }
  .v692-timeline-panel .v691-time-event.settlement .v69-time-dot{
    background:#059669;
    color:#fff;
    box-shadow:0 0 0 4px #86efac,0 8px 20px rgba(5,150,105,.24);
  }
  .v692-timeline-panel .v691-time-event.outstanding .v69-time-dot{
    background:#fff7ed;
    color:#c2410c;
    box-shadow:0 0 0 3px #fb923c,0 8px 20px rgba(234,88,12,.18);
  }
  .v692-timeline-panel .v691-time-event.metric .v69-time-card,
  .v692-timeline-panel .v691-time-event.current .v69-time-card{
    color:#92400e;background:#fffbeb;border-color:#fcd34d;
  }
  .v692-timeline-panel .v691-time-event.overdue .v69-time-card{
    color:#b91c1c;background:#fff7f7;border-color:#fca5a5;
  }
  .v692-timeline-panel .v691-time-event.settlement .v69-time-card{
    color:#047857;background:#f0fdf4;border-color:#4ade80;
  }
  .v692-timeline-panel .v691-time-event.outstanding .v69-time-card{
    color:#c2410c;background:#fff7ed;border-color:#fdba74;
  }
}
@media (max-width:1023px){
  .v691-timeline-scroll{overflow-x:visible !important;overflow-y:visible !important}
  .v691-time-event.metric .v69-time-dot,.v691-time-event.current .v69-time-dot{background:#fef3c7;color:#92400e;box-shadow:0 0 0 2px #fbbf24}
  .v691-time-event.overdue .v69-time-dot{background:#fee2e2;color:#b91c1c;box-shadow:0 0 0 2px #f87171}
  .v691-time-event.settlement .v69-time-dot{background:#059669;color:#fff;box-shadow:0 0 0 3px #86efac}
  .v691-time-event.outstanding .v69-time-dot{background:#fff7ed;color:#c2410c;box-shadow:0 0 0 2px #fb923c}
}

/* =========================================================
   V6.9.4 - UX & Interacciones del Mapa de Cobros
   ========================================================= */
.v694-map-shell{min-width:0}
.v694-flow-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.v694-flow-legend small{margin-left:auto;color:var(--muted,#64748b)}
.v694-flow{display:grid;gap:14px;overflow:visible}
.v694-payment-group{display:grid;grid-template-columns:minmax(260px,38%) minmax(72px,12%) minmax(300px,1fr);align-items:stretch;gap:0;position:relative}
.v694-node{position:relative;width:100%;min-height:88px;border-radius:18px;text-align:left;display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid;cursor:pointer;font:inherit;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;overflow:hidden}
.v694-payment-node{background:#ecfdf5;border-color:#6ee7b7;color:#0f172a}
.v694-invoice-node{background:#eff6ff;border-color:#bfdbfe;color:#0f172a}
.v694-node:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(15,23,42,.12)}
.v694-payment-node:hover{border-color:#10b981;background:#e4fff4}
.v694-invoice-node:hover{border-color:#3b82f6;background:#e8f2ff}
.v694-node:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px;box-shadow:0 0 0 5px rgba(37,99,235,.10)}
.v694-node-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:14px;background:rgba(255,255,255,.82);font-size:21px;box-shadow:inset 0 0 0 1px rgba(148,163,184,.24)}
.v694-node-copy{display:grid;min-width:0;gap:3px}
.v694-node-copy b{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v694-node-copy small{color:#64748b}
.v694-node-copy em{font-style:normal;font-size:.78rem;font-weight:700;color:#0f766e}
.v694-invoice-node .v694-node-copy em{color:#1d4ed8}
.v694-open-cue{margin-left:auto;align-self:flex-end;font-size:.72rem;font-weight:800;opacity:0;transform:translateX(5px);transition:.18s;color:#0f766e;white-space:nowrap}
.v694-invoice-node .v694-open-cue{color:#1d4ed8}
.v694-node:hover .v694-open-cue,.v694-node:focus-visible .v694-open-cue{opacity:1;transform:none}
.v694-relations{position:relative;display:grid;align-items:center;min-height:88px}
.v694-relations:before{content:"";position:absolute;left:0;right:0;top:50%;height:8px;border-radius:8px;background:linear-gradient(90deg,#14b8a6 0 48%,#3b82f6 52% 100%);transform:translateY(-50%)}
.v694-relations .v694-trunk,.v694-relations i{display:none}
.v694-invoice-stack{display:grid;gap:10px}
.v694-payment-group:has(.v694-invoice-stack .v694-invoice-node:nth-child(2)) .v694-relations:after{content:"";position:absolute;right:0;top:14%;bottom:14%;width:3px;border-radius:4px;background:#3b82f6}
.v694-payment-modal{width:min(1080px,94vw);max-height:92vh;overflow:auto}
.v694-payment-audit{margin:18px 0 4px;padding:20px;border:1px solid #dbe4ef;border-radius:20px;background:#fff}
.v694-audit-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.v694-audit-cards article{display:grid;gap:5px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}
.v694-audit-cards span{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:700}
.v694-audit-cards b{overflow-wrap:anywhere}
@media (max-width:1023px){
 .v694-flow-legend small{width:100%;margin-left:0}
 .v694-payment-group{grid-template-columns:1fr;gap:9px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}
 .v694-relations{min-height:28px}
 .v694-relations:before{left:28px;right:auto;top:0;bottom:0;width:6px;height:auto;transform:none;background:linear-gradient(180deg,#14b8a6,#3b82f6)}
 .v694-invoice-stack{padding-left:18px}
 .v694-node{min-height:82px}
 .v694-open-cue{opacity:1;transform:none}
 .v694-audit-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
 .v694-node{padding:14px;gap:10px;border-radius:15px}
 .v694-node-icon{width:36px;height:36px;flex-basis:36px;font-size:18px}
 .v694-open-cue{display:none}
 .v694-audit-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.v694-node,.v694-open-cue{transition:none!important}.v694-node:hover{transform:none}}

/* V6.9.5 - Modal de trazabilidad robusto */
body.v695-modal-open{overflow:hidden}
[data-v69-detail]{cursor:pointer;touch-action:manipulation}
[data-v69-detail] *{pointer-events:none}
#v69Modal:empty{display:none}
#v69Modal:not(:empty){position:relative;z-index:10000}
#v69Modal .v69-modal-overlay{z-index:10000}

/* =========================================================
   V6.9.6 - Centrado de tarjetas del mapa de cobros
   ========================================================= */
.v694-node{
  justify-content:center;
  flex-direction:column;
  text-align:center;
  padding:18px 22px 36px;
}
.v694-node-copy{
  justify-items:center;
  text-align:center;
  width:100%;
}
.v694-node-copy b,.v694-node-copy small,.v694-node-copy em{
  text-align:center;
  max-width:100%;
}
.v694-open-cue{
  left:50%;
  right:auto;
  bottom:10px;
  transform:translate(-50%,4px);
  width:max-content;
  text-align:center;
}
.v694-node:hover .v694-open-cue,.v694-node:focus-visible .v694-open-cue{
  transform:translate(-50%,0);
}
@media(max-width:1023px){
  .v694-node{padding:16px 16px 34px;}
}

/* =========================================================
   V6.9.7 - Duraciones entre eventos y alineación uniforme
   ========================================================= */
.v697-transition{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 5px 14px rgba(217,119,6,.12);z-index:4}
.v697-transition span{font-size:13px;line-height:1}
@media (min-width:1024px){
  .v692-timeline-panel .v697-timeline{padding-top:175px;padding-bottom:175px;min-height:410px}
  .v692-timeline-panel .v697-timeline .v691-time-event{position:relative}
  .v692-timeline-panel .v697-timeline .v691-time-event .v69-time-dot{top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important}
  .v692-timeline-panel .v697-timeline .v691-time-event:hover .v69-time-dot,
  .v692-timeline-panel .v697-timeline .v691-time-event:focus .v69-time-dot{transform:translate(-50%,-50%) scale(1.08) !important}
  .v692-timeline-panel .v697-timeline .v697-transition{position:absolute;left:-50%;top:50%;transform:translate(-50%,-50%);min-width:92px}
  .v692-timeline-panel .v697-timeline .v691-time-event:first-child .v697-transition{display:none}
  .v692-timeline-panel .v697-timeline .v691-time-event.settlement .v69-time-card,
  .v692-timeline-panel .v697-timeline .v691-time-event.outstanding .v69-time-card{top:auto;bottom:42px}
}
@media (max-width:1023px){
  .v697-timeline .v691-time-event{position:relative}
  .v697-timeline .v697-transition{margin:6px 0 14px 50px;justify-self:start}
  .v697-timeline .v691-time-event:first-child .v697-transition{display:none}
}

/* ===== V6.9.8 · Timeline Financiero Pro ===== */
.v698-summary{display:grid;grid-template-columns:auto repeat(3,minmax(150px,1fr));gap:12px;align-items:stretch;margin:4px 0 20px}.v698-summary>div,.v698-state{border:1px solid #d9e3f2;border-radius:14px;padding:12px 16px;background:#fff;display:flex;flex-direction:column;justify-content:center}.v698-summary small{color:#64748b;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.v698-summary b{font-size:1rem;margin-top:3px}.v698-state{font-weight:900;align-items:center;text-align:center;min-width:126px}.v698-state.liquidated{background:#ecfdf5;color:#047857;border-color:#6ee7b7}.v698-state.cancelled{background:#fff1f2;color:#be123c;border-color:#fda4af}.v698-state.overdue{background:#fff1f2;color:#b91c1c;border-color:#fecaca}.v698-state.partial{background:#fffbeb;color:#b45309;border-color:#fde68a}.v698-state.pending{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.v698-timeline{position:relative;display:grid;grid-template-columns:repeat(calc(var(--events) * 2 - 1),minmax(120px,1fr));grid-template-rows:220px 78px 220px;min-width:max(100%,calc(var(--events) * 270px));padding:0 44px 10px;overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable}.v698-track{position:absolute;left:44px;right:44px;top:258px;height:8px;border-radius:99px;background:#dbeafe;box-shadow:0 4px 16px rgba(15,23,42,.09)}
.v698-event{position:relative;grid-column:calc((var(--node) - 1) * 2 + 1);display:flex;align-items:center;justify-content:center;min-width:0}.v698-event.top{grid-row:1/3;flex-direction:column}.v698-event.bottom{grid-row:2/4;flex-direction:column-reverse}.v698-card{width:min(250px,calc(100% - 14px));min-height:152px;border:1.5px solid #93c5fd;border-radius:16px;background:#f8fbff;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 28px rgba(15,23,42,.08);z-index:3}.v698-card small,.v698-card span{color:#64748b}.v698-card b{font-size:1rem}.v698-card strong{color:#0f766e}.v698-event.payment .v698-card{background:#ecfdf5;border-color:#6ee7b7}.v698-event.liquidated .v698-card{background:#ecfdf5;border-color:#10b981}.v698-event.cancelled .v698-card{background:#fff1f2;border-color:#fb7185}.v698-event.cancelled .v698-card strong{color:#be123c}.v698-event.open .v698-card{background:#fffbeb;border-color:#fbbf24}.v698-node{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;border:5px solid #93c5fd;box-shadow:0 0 0 5px #dbeafe,0 8px 24px rgba(15,23,42,.12);z-index:6;flex:0 0 auto}.v698-node span{font-size:1.65rem}.v698-event.payment .v698-node{border-color:#10b981;box-shadow:0 0 0 5px #a7f3d0,0 8px 24px rgba(16,185,129,.16)}.v698-event.liquidated .v698-node{background:#059669;color:#fff;border-color:#fff;box-shadow:0 0 0 6px #6ee7b7,0 8px 24px rgba(5,150,105,.2)}.v698-event.cancelled .v698-node{background:#be123c;color:#fff;border-color:#fff;box-shadow:0 0 0 6px #fda4af,0 8px 24px rgba(190,18,60,.2)}.v698-event.open .v698-node{background:#f59e0b;color:#fff;border-color:#fff;box-shadow:0 0 0 6px #fde68a,0 8px 24px rgba(245,158,11,.2)}
.v698-event.top .v698-card{margin-bottom:14px}.v698-event.bottom .v698-card{margin-top:14px}.v698-event.top:after,.v698-event.bottom:after{content:"";width:2px;height:18px;background:#94a3b8}.v698-event.top:after{order:2}.v698-event.top .v698-node{order:3}.v698-event.bottom:after{order:2}.v698-event.bottom .v698-node{order:3}.v698-event.bottom .v698-card{order:1}
.v698-segment{position:relative;grid-column:calc(var(--segment) * 2);grid-row:2;align-self:center;height:8px;background:#10b981;z-index:2;border-radius:99px}.v698-segment:first-of-type{background:#4f46e5}.v698-segment.overdue{background:#dc2626}.v698-segment.split-overdue{background:linear-gradient(90deg,#4f46e5 0 var(--due-split),#dc2626 var(--due-split) 100%)}.v698-duration{position:absolute;left:50%;top:-48px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border:1px solid #fcd34d;color:#92400e;border-radius:999px;padding:6px 12px;white-space:nowrap;box-shadow:0 7px 18px rgba(15,23,42,.08);z-index:8}.v698-duration small{font-size:.68rem;color:#b45309}.v698-segment.overdue .v698-duration{border-color:#fca5a5;background:#fff1f2;color:#b91c1c}.v698-due{position:absolute;top:-18px;transform:translateX(-50%);z-index:9;color:#dc2626;text-align:center}.v698-due span{display:block;font-size:1.25rem}.v698-due small{display:block;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:2px 5px;white-space:nowrap;font-size:.65rem}
.v698-legend{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:12px;color:#475569;font-size:.78rem}.v698-legend span{display:flex;align-items:center;gap:6px}.v698-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}.v698-legend .invoice{background:#4f46e5}.v698-legend .payment{background:#10b981}.v698-legend .due{background:#f59e0b;transform:rotate(45deg);border-radius:2px}.v698-legend .liquidated{background:#059669}.v698-legend .cancelled{background:#be123c}
@media(max-width:1023px){.v698-summary{grid-template-columns:1fr 1fr}.v698-timeline{display:flex;flex-direction:column;min-width:0;padding:12px 8px 12px 54px;overflow:visible;gap:28px}.v698-track{left:30px;right:auto;top:18px;bottom:18px;width:7px;height:auto}.v698-event,.v698-event.top,.v698-event.bottom{display:grid;grid-template-columns:1fr;grid-template-rows:auto;flex-direction:initial;justify-items:start;min-height:0}.v698-event .v698-card,.v698-event.top .v698-card,.v698-event.bottom .v698-card{width:100%;min-height:0;margin:0;order:2}.v698-event .v698-node{position:absolute;left:-55px;top:50%;transform:translateY(-50%);width:48px;height:48px;order:1}.v698-event:after{display:none}.v698-segment{position:relative;display:block;height:54px;width:7px;margin-left:-27px;grid-column:auto;grid-row:auto;align-self:auto}.v698-duration{left:26px;top:50%;transform:translateY(-50%);align-items:flex-start}.v698-due{left:0!important;top:50%;transform:translate(-50%,-50%)}.v698-legend{justify-content:flex-start}.v698-event.cancelled{order:999}}
@media(max-width:620px){.v698-summary{grid-template-columns:1fr}.v698-card{font-size:.9rem}.v698-duration{white-space:normal;min-width:140px}}
@media(prefers-reduced-motion:no-preference){.v698-track{animation:v698Draw .65s ease both}.v698-event{animation:v698Enter .45s ease both;animation-delay:calc(var(--node) * 70ms)}@keyframes v698Draw{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}@keyframes v698Enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* ===== V6.9.9 · Conciliación UX Pro ===== */
.v699-filter-groups{display:grid;grid-template-columns:1.35fr .85fr 1fr;gap:14px;align-items:stretch}.v699-filter-group{margin:0;min-width:0;border:1px solid #dbe4ea;border-radius:16px;padding:14px;background:#fbfdff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.v699-filter-group legend{padding:0 8px;color:#0f766e;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.v699-filter-group .field{min-width:0}.v699-filter-group .span-2{grid-column:1/-1}.v699-filter-group label{min-height:18px;display:flex;align-items:end}.v699-filter-group input,.v699-filter-group select{width:100%}
.v699-grid,.v69-table{max-height:none!important;height:auto!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-gutter:auto!important}.v699-grid table,.v69-table table{margin-bottom:0}.v69-tab-content{overflow:visible!important;max-height:none!important}.v69-tab-content>.table-wrap{max-height:none!important;overflow-y:visible!important}.v699-pager{position:static!important;background:#fff;border-top:1px solid #e2e8f0;margin-top:0;padding:14px 16px}
.v692-timeline-panel,.v692-detail-stack,.v69-modal .v692-timeline-panel{overflow:visible!important;max-height:none!important}.v698-timeline{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-gutter:auto!important;padding-bottom:18px}.v698-card{min-height:158px;max-height:190px;overflow:hidden}.v698-card b,.v698-card strong,.v698-card span{overflow-wrap:anywhere;word-break:break-word}.v699-clamp{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.35}.v698-duration{top:-62px!important;min-height:46px;justify-content:center;box-sizing:border-box}.v698-duration b{line-height:1.1}.v698-duration small{line-height:1.1;max-width:180px;text-align:center}.v698-due{top:18px!important}.v698-track{top:258px}.v698-segment{align-self:center}.v69-modal{overflow-y:auto;overflow-x:hidden}.v692-timeline-panel .v698-timeline::-webkit-scrollbar{height:8px}.v692-timeline-panel .v698-timeline::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}.v692-timeline-panel .v698-timeline::-webkit-scrollbar-track{background:transparent}
@media(max-width:1200px){.v699-filter-groups{grid-template-columns:1fr 1fr}.v699-primary{grid-column:1/-1}}
@media(max-width:760px){.v699-filter-groups{grid-template-columns:1fr}.v699-primary{grid-column:auto}.v699-filter-group{grid-template-columns:1fr}.v699-filter-group .span-2{grid-column:auto}.v698-card{max-height:none}.v698-duration{top:50%!important;min-height:0}.v698-timeline{overflow:visible!important}}

/* V6.10 Administrador de Correlativos */
.v610-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.v610-head h3{margin:4px 0}.v610-config-grid{align-items:stretch}.v610-box{border:1px solid var(--border,#dbe5f1);border-radius:18px;padding:18px;background:#fff}.v610-box h4{margin:0 0 14px}.v610-box.critical-zone{border-color:#fecaca;background:linear-gradient(180deg,#fff 0%,#fffafa 100%)}.v610-history{margin-top:20px}.v610-history h4{margin:0 0 10px}.v610-correlative-admin .notice{margin:12px 0}.v610-correlative-admin button{min-height:44px}
@media(max-width:900px){.v610-head{flex-direction:column}.v610-config-grid{grid-template-columns:1fr!important}.v610-box .form-grid.cols-2{grid-template-columns:1fr!important}}

/* V6.10.1 Centro de Respaldo y Recuperación */
.v6101-backup-center{overflow:visible}.v6101-head,.v6101-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.v6101-head h3,.v6101-toolbar h4{margin:4px 0}.v6101-safety-strip{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0;padding:12px 14px;border:1px solid #bdeee5;border-radius:14px;background:#effcf8}.v6101-safety-strip span{padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #cde8e4;font-size:.83rem}.v6101-main-grid{align-items:stretch}.v6101-box{border:1px solid var(--line,#dce5ef);border-radius:16px;padding:18px;background:#fff}.v6101-box h4{margin-top:0}.v6101-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.v6101-group-option{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #dde6ef;border-radius:12px;cursor:pointer;background:#fbfdff}.v6101-group-option:hover{border-color:#8acfc4;background:#f5fffc}.v6101-group-option input{margin-top:4px}.v6101-group-option span{display:flex;flex-direction:column}.v6101-group-option small{color:#66758f;line-height:1.3;margin-top:3px}.v6101-policy{display:grid;gap:12px}.v6101-policy>div{display:flex;flex-direction:column;padding:12px;border-left:4px solid #0aae92;background:#f6fbfa;border-radius:8px}.v6101-policy span{color:#66758f;margin-top:3px}.v6101-toolbar{margin:24px 0 10px}.v6101-table-wrap{max-height:none!important;overflow-y:visible!important}.v6101-table-wrap td small{display:block;color:#66758f;margin-top:3px;max-width:440px}.v6101-action-menu{position:absolute;z-index:99999;min-width:180px;background:#fff;border:1px solid #d9e3ee;border-radius:12px;box-shadow:0 14px 40px rgba(15,23,42,.18);padding:6px}.v6101-action-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer}.v6101-action-menu button:hover{background:#f1f6fa}.danger-text{color:#b42318!important}.v6101-modal{z-index:100000}.v6101-modal .modal-card{max-height:94vh;overflow:auto}.v6101-modal .modal-body{padding:20px}.v6101-modal .v6101-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1023px){.v6101-main-grid{grid-template-columns:1fr!important}.v6101-head,.v6101-toolbar{align-items:stretch}.v6101-groups,.v6101-modal .v6101-groups{grid-template-columns:1fr}.v6101-safety-strip{align-items:flex-start}}
@media(max-width:640px){.v6101-head,.v6101-toolbar{flex-direction:column}.v6101-head .badge{align-self:flex-start}.v6101-box{padding:14px}.v6101-safety-strip{flex-direction:column}.v6101-safety-strip span{width:100%}}

/* ===== V6.10.2 · Timeline Cards UX Pro ===== */
.v6102-event-card{--card-accent:#2563eb;--card-soft:#eff6ff;display:flex!important;flex-direction:column;width:248px!important;min-height:228px!important;max-height:none!important;padding:0!important;overflow:visible!important;border:1px solid color-mix(in srgb,var(--card-accent) 38%,#dbeafe)!important;border-radius:18px!important;background:#fff!important;color:#0f172a!important;box-shadow:0 14px 34px rgba(15,23,42,.10)!important}
.v6102-event-card.payment{--card-accent:#059669;--card-soft:#ecfdf5}.v6102-event-card.liquidated{--card-accent:#047857;--card-soft:#dcfce7}.v6102-event-card.cancelled{--card-accent:#be123c;--card-soft:#fff1f2}.v6102-event-card.open{--card-accent:#d97706;--card-soft:#fffbeb}
.v6102-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid color-mix(in srgb,var(--card-accent) 18%,#e2e8f0);background:linear-gradient(135deg,var(--card-soft),#fff);border-radius:17px 17px 0 0}
.v6102-type-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff;border:1px solid color-mix(in srgb,var(--card-accent) 25%,#e2e8f0);font-size:17px}.v6102-card-head>div{min-width:0}.v6102-card-head small{display:block;color:var(--card-accent)!important;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.v6102-card-head b{display:block;color:#0f172a!important;font-size:.91rem;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v6102-card-head time{align-self:start;color:#64748b;font-size:.7rem;white-space:nowrap}
.v6102-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:13px 14px}.v6102-financial{min-width:0;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.v6102-financial span{display:block!important;margin:0 0 4px;color:#64748b!important;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}.v6102-financial b{display:block;color:#0f172a!important;font-size:1rem;line-height:1.1;white-space:nowrap}.v6102-financial.primary{border-color:#bfdbfe;background:#eff6ff}.v6102-financial.success{border-color:#a7f3d0;background:#ecfdf5}.v6102-financial.success b{color:#047857!important}.v6102-financial.warning{border-color:#fde68a;background:#fffbeb}.v6102-financial.warning b{color:#b45309!important}.v6102-financial.danger{border-color:#fecdd3;background:#fff1f2}.v6102-financial.danger b{color:#be123c!important}
.v6102-details{margin:auto 14px 13px;border-top:1px solid #e2e8f0}.v6102-details summary{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 0;color:var(--card-accent);font-size:.73rem;font-weight:800;cursor:pointer;list-style:none;user-select:none}.v6102-details summary::-webkit-details-marker{display:none}.v6102-details summary span{transition:transform .2s ease}.v6102-details[open] summary span{transform:rotate(180deg)}.v6102-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.v6102-meta-row{min-width:0}.v6102-meta-row.wide{grid-column:1/-1}.v6102-meta-row span{display:block!important;color:#64748b!important;font-size:.65rem;line-height:1.2}.v6102-meta-row b{display:-webkit-box;color:#334155!important;font-size:.72rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.v6102-timeline .v698-event .v6102-event-card{position:relative}.v6102-timeline .v698-event.top .v6102-event-card{align-self:end}.v6102-timeline .v698-event.bottom .v6102-event-card{align-self:start}
.v6102-event-card:focus-within,.v6102-event-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(15,23,42,.14)!important;transition:transform .18s ease,box-shadow .18s ease}
@media(min-width:1024px){.v6102-timeline{grid-template-rows:260px 78px 260px!important}.v6102-timeline .v698-track{top:298px!important}.v6102-timeline .v698-card{width:248px!important}.v6102-timeline .v698-event.top .v6102-event-card{margin-bottom:28px}.v6102-timeline .v698-event.bottom .v6102-event-card{margin-top:28px}.v6102-timeline .v698-duration{top:-65px!important}}
@media(max-width:1023px){.v6102-event-card{width:100%!important;min-height:0!important}.v6102-money-grid{grid-template-columns:1fr 1fr}.v6102-card-head{grid-template-columns:auto minmax(0,1fr)}.v6102-card-head time{grid-column:2}.v6102-meta-grid{grid-template-columns:1fr 1fr}.v6102-timeline .v698-event .v6102-event-card{margin:0!important}}
@media(max-width:560px){.v6102-money-grid,.v6102-meta-grid{grid-template-columns:1fr}.v6102-meta-row.wide{grid-column:auto}.v6102-card-head{padding:11px}.v6102-money-grid{padding:11px}.v6102-details{margin-left:11px;margin-right:11px}}
@media(prefers-reduced-motion:reduce){.v6102-event-card,.v6102-details summary span{transition:none!important}}

/* ===== V6.10.3 · Conciliación UX QA ===== */
.v6103-event-card{height:238px!important;min-height:238px!important;max-height:238px!important;overflow:hidden!important}
.v6103-event-card .v6102-card-head b{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.35em}
.v6103-event-card .v6102-card-head time{font-variant-numeric:tabular-nums}
.v6103-card-footer{margin-top:auto;padding:0 14px 13px}
.v6103-card-footer button{width:100%;min-height:38px;border:1px solid color-mix(in srgb,var(--card-accent) 25%,#dbe4ea);border-radius:11px;background:color-mix(in srgb,var(--card-soft) 72%,#fff);color:var(--card-accent);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;font:inherit;font-size:.75rem;font-weight:850;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}
.v6103-card-footer button:hover{border-color:var(--card-accent);background:var(--card-soft);transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.08)}
.v6103-card-footer button:focus-visible{outline:3px solid color-mix(in srgb,var(--card-accent) 30%,transparent);outline-offset:2px}
.v6103-card-footer button span{color:inherit!important;font-size:1rem}
.v6103-dialog-overlay{position:fixed;inset:0;z-index:12050;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.58);opacity:0;transition:opacity .15s ease;backdrop-filter:blur(3px)}
.v6103-dialog-overlay.open{opacity:1}
.v6103-dialog{width:min(620px,96vw);max-height:min(760px,92vh);overflow:auto;border:1px solid #dbe4ea;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28);transform:translateY(8px) scale(.985);transition:transform .15s ease}
.v6103-dialog-overlay.open .v6103-dialog{transform:none}
.v6103-dialog>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.v6103-dialog h3{margin:3px 0 2px;font-size:1.25rem;overflow-wrap:anywhere}.v6103-dialog header p{margin:0;color:#64748b}
.v6103-dialog-financial{padding:18px 22px 4px}.v6103-dialog-financial .v6102-money-grid{padding:0}
.v6103-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 22px 24px}
.v6103-dialog-row{min-width:0;padding:13px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}
.v6103-dialog-row span{display:block;color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.v6103-dialog-row b{display:block;margin-top:4px;color:#1e293b;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}
@media(min-width:1024px){.v6102-timeline{grid-template-rows:272px 78px 272px!important}.v6102-timeline .v698-track{top:310px!important}.v6102-timeline .v698-duration{top:-65px!important}}
@media(max-width:1023px){.v6103-event-card{height:auto!important;min-height:0!important;max-height:none!important}.v6103-dialog-grid{grid-template-columns:1fr}}
@media(max-width:560px){.v6103-dialog-overlay{padding:0}.v6103-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.v6103-dialog>header{padding:17px}.v6103-dialog-financial,.v6103-dialog-grid{padding-left:17px;padding-right:17px}}
@media(prefers-reduced-motion:reduce){.v6103-card-footer button,.v6103-dialog-overlay,.v6103-dialog{transition:none!important}}

/* ===== V6.10.4 · Detalle contextual UX ===== */
.v6104-event-card{position:relative;cursor:pointer;overflow:hidden!important;height:220px!important;min-height:220px!important;max-height:220px!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.v6104-event-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.16)!important}
.v6104-event-card:focus-visible{outline:4px solid color-mix(in srgb,var(--card-accent) 24%,transparent);outline-offset:4px}
.v6104-event-card.is-selected{border-color:var(--card-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--card-accent) 16%,transparent),0 18px 42px rgba(15,23,42,.16)!important}
.v6104-card-cue{position:absolute;right:12px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--card-accent) 24%,#dbe4ea);background:color-mix(in srgb,var(--card-soft) 76%,#fff);color:var(--card-accent)!important;font-size:.9rem;font-weight:900;pointer-events:none}
.v6104-event-card .v6102-money-grid{padding-bottom:48px}
.v6104-inline-inspector{margin:18px 0 24px;border:1px solid #dbe4ea;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbfd);box-shadow:0 14px 34px rgba(15,23,42,.08);overflow:hidden}
.v6104-inline-inspector[hidden]{display:none!important}
.v6104-inspector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 13px;border-bottom:1px solid #e2e8f0;background:#fff}
.v6104-inspector-head h4{margin:3px 0 2px;color:#0f172a;font-size:1.05rem;overflow-wrap:anywhere}.v6104-inspector-head p{margin:0;color:#64748b;font-size:.83rem}
.v6104-inspector-close{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid #dbe4ea;border-radius:50%;background:#f8fafc;color:#0f172a;font-size:1.25rem;cursor:pointer}.v6104-inspector-close:hover{background:#eef4f7}.v6104-inspector-close:focus-visible{outline:3px solid rgba(14,165,145,.25);outline-offset:2px}
.v6104-inspector-financial{padding:14px 18px 0}.v6104-inspector-financial .v6102-money-grid{padding:0;grid-template-columns:repeat(2,minmax(0,220px));justify-content:start}
.v6104-inspector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 18px}.v6104-inspector-grid .v6103-dialog-row{padding:11px 12px;background:#fff}
@media(min-width:1024px){.v6102-timeline{grid-template-rows:252px 78px 252px!important}.v6102-timeline .v698-track{top:290px!important}}
@media(max-width:1023px){.v6104-event-card{height:auto!important;min-height:0!important;max-height:none!important;padding-bottom:38px!important}.v6104-inline-inspector{margin:12px 0 18px}.v6104-inspector-grid{grid-template-columns:1fr 1fr}.v6104-inspector-financial .v6102-money-grid{grid-template-columns:1fr 1fr;max-width:none}.v6104-card-cue{right:10px;bottom:8px}}
@media(max-width:640px){.v6104-inspector-head{padding:14px}.v6104-inspector-financial{padding:12px 14px 0}.v6104-inspector-grid{grid-template-columns:1fr;padding:12px 14px 14px}.v6104-inspector-financial .v6102-money-grid{grid-template-columns:1fr}.v6104-inline-inspector{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.v6104-event-card{transition:none!important}}

/* ===== V6.10.5 · Timeline Cards Compact UX ===== */
.v6105-event-card{
  width:210px!important;
  height:176px!important;
  min-height:176px!important;
  max-height:176px!important;
  border-radius:15px!important;
}
.v6105-event-card .v6102-card-head{
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:8px;
  padding:10px 11px 9px;
  min-height:58px;
  border-radius:14px 14px 0 0;
}
.v6105-event-card .v6102-type-icon{width:30px;height:30px;border-radius:9px;font-size:15px}
.v6105-event-card .v6102-card-head small{font-size:.62rem;line-height:1.08;letter-spacing:.045em}
.v6105-event-card .v6102-card-head b{
  margin-top:2px;
  font-size:.82rem!important;
  line-height:1.12!important;
  min-height:0!important;
  -webkit-line-clamp:2!important;
}
.v6105-event-card .v6102-card-head time{font-size:.64rem;line-height:1.1}
.v6105-event-card .v6102-money-grid{
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:10px 11px 38px!important;
}
.v6105-event-card .v6102-financial{padding:8px 9px;border-radius:10px;min-height:54px}
.v6105-event-card .v6102-financial span{font-size:.58rem;line-height:1.05}
.v6105-event-card .v6102-financial b{margin-top:4px;font-size:.88rem;line-height:1.05;white-space:nowrap}
.v6105-event-card .v6104-card-cue{right:9px;bottom:8px;width:25px;height:25px;font-size:.78rem}
.v6105-event-card:hover{transform:translateY(-2px)}

@media(min-width:1024px){
  .v6102-timeline{grid-template-rows:208px 72px 208px!important}
  .v6102-timeline .v698-track{top:244px!important}
  .v6102-timeline .v698-card{width:210px!important}
  .v6102-timeline .v698-event.top .v6105-event-card{margin-bottom:20px!important}
  .v6102-timeline .v698-event.bottom .v6105-event-card{margin-top:20px!important}
  .v6102-timeline .v698-duration{top:-58px!important}
}
@media(max-width:1023px){
  .v6105-event-card{
    width:100%!important;
    height:auto!important;
    min-height:154px!important;
    max-height:none!important;
    padding-bottom:0!important;
  }
  .v6105-event-card .v6102-card-head{grid-template-columns:30px minmax(0,1fr) auto}
  .v6105-event-card .v6102-card-head time{grid-column:auto}
  .v6105-event-card .v6102-money-grid{padding-bottom:38px!important}
}
@media(max-width:480px){
  .v6105-event-card .v6102-card-head{grid-template-columns:28px minmax(0,1fr);padding:9px 10px}
  .v6105-event-card .v6102-card-head time{grid-column:2;justify-self:start;margin-top:2px}
  .v6105-event-card .v6102-money-grid{padding:9px 10px 36px!important}
}

/* ===== V6.10.6 · Monto de Abono UX ===== */
.v6104-inspector-financial .v6106-payment-financial{
  grid-template-columns:repeat(3,minmax(0,220px));
  max-width:900px;
}
.v6104-inspector-financial .v6106-payment-financial .v6102-financial:first-child{
  border-color:#bfdbfe;
  background:#eff6ff;
}
.v6104-inspector-financial .v6106-payment-financial .v6102-financial:first-child b{
  color:#1d4ed8!important;
}
@media(max-width:900px){
  .v6104-inspector-financial .v6106-payment-financial{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .v6104-inspector-financial .v6106-payment-financial .v6102-financial:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  .v6104-inspector-financial .v6106-payment-financial{grid-template-columns:1fr}
  .v6104-inspector-financial .v6106-payment-financial .v6102-financial:first-child{grid-column:auto}
}

/* V6.10.7 · Cards de abono limpias
   El saldo restante se conserva en el detalle contextual, no en la card. */
.v6107-payment-card-financial{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  align-items:stretch;
}
.v6107-payment-card-financial .v6102-financial{
  min-width:0;
}
@media (max-width:1023px){
  .v6107-payment-card-financial{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:480px){
  .v6107-payment-card-financial{
    grid-template-columns:1fr !important;
  }
}

/* ===== V6.10.8 · Columna de flujo de aplicaciones ===== */
.v6108-payment-flow-table .v6108-flow-head,
.v6108-payment-flow-table .v6108-flow-cell{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  padding-left:8px!important;
  padding-right:8px!important;
  text-align:center!important;
  vertical-align:middle!important;
  position:relative;
  overflow:visible!important;
}
.v6108-flow-node{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:2px solid #10b981;
  background:#ecfdf5;
  color:#047857;
  font-size:.76rem;
  font-weight:900;
  box-shadow:0 0 0 4px rgba(16,185,129,.10);
}
.v6108-flow-cell.is-last .v6108-flow-node{
  background:#10b981;
  color:#fff;
  border-color:#059669;
  font-size:.9rem;
}
.v6108-flow-connector{
  position:absolute;
  z-index:1;
  left:50%;
  top:calc(50% + 16px);
  bottom:-22px;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(#10b981,#34d399);
}
.v6108-flow-arrow{
  position:absolute;
  left:50%;
  bottom:-1px;
  width:9px;
  height:9px;
  border-right:2px solid #059669;
  border-bottom:2px solid #059669;
  transform:translateX(-50%) rotate(45deg);
  background:transparent;
}
.v6108-payment-flow-table tbody tr:hover .v6108-flow-node{
  transform:scale(1.06);
  box-shadow:0 0 0 5px rgba(16,185,129,.14);
}
.v6108-payment-flow-table tbody tr{
  min-height:72px;
}
@media(max-width:700px){
  .v6108-payment-flow-table .v6108-flow-head,
  .v6108-payment-flow-table .v6108-flow-cell{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  .v6108-flow-node{width:24px;height:24px;font-size:.68rem}
  .v6108-flow-connector{top:calc(50% + 14px)}
}
@media(prefers-reduced-motion:no-preference){
  .v6108-flow-node{transition:transform .18s ease,box-shadow .18s ease}
  .v6108-flow-arrow{animation:v6108FlowPulse 1.8s ease-in-out infinite}
}
@keyframes v6108FlowPulse{
  0%,100%{transform:translate(-50%,-2px) rotate(45deg);opacity:.65}
  50%{transform:translate(-50%,2px) rotate(45deg);opacity:1}
}

/* =========================================================
   V6.12.6 — Logo dinámico de sucursal en sidebar
   ========================================================= */
.sidebar .brand .branch-logo{
  width:56px;
  height:56px;
  min-width:56px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-size:18px;
  font-weight:900;
  line-height:1;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.sidebar .brand .branch-logo.has-image{
  background:#fff;
  padding:3px;
}
.sidebar .brand .branch-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
}
@media (max-width: 768px){
  .sidebar .brand .branch-logo{
    width:52px;
    height:52px;
    min-width:52px;
    border-radius:15px;
  }
}

/* V6.12.7 · Sugerencias de venta con imagen */
.sales-suggestions-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.sales-suggestion-card{
  appearance:none;
  width:100%;
  min-width:0;
  min-height:66px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 28px;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #82eadb;
  border-radius:16px;
  background:#fff;
  color:#075e54;
  text-align:left;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(15,118,110,.06);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.sales-suggestion-card:hover{
  border-color:#16bfa6;
  background:#f6fffc;
  box-shadow:0 8px 20px rgba(15,118,110,.13);
  transform:translateY(-1px);
}
.sales-suggestion-card:focus-visible{outline:3px solid rgba(20,184,166,.28);outline-offset:2px}
.sales-suggestion-thumb{
  position:relative;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:12px;
  border:1px solid #d6eee9;
  background:#f5fbfa;
  flex:none;
}
.sales-suggestion-thumb img{width:100%;height:100%;object-fit:contain;padding:3px;background:#fff}
.sales-suggestion-thumb>span{display:none;font-size:.72rem;font-weight:900;color:#08766a}
.sales-suggestion-thumb.image-error>span{display:block}
.sales-suggestion-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.sales-suggestion-copy b{
  overflow:hidden;
  color:#075e54;
  font-size:.93rem;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sales-suggestion-copy small{
  overflow:hidden;
  color:#58756f;
  font-size:.78rem;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.sales-suggestion-action{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#dcfff7;
  color:#008f7a;
  font-size:1.2rem;
  font-weight:900;
}
@media(max-width:900px){.sales-suggestions-grid{grid-template-columns:1fr}}
@media(max-width:480px){
  .sales-suggestion-card{grid-template-columns:43px minmax(0,1fr) 26px;min-height:60px;padding:7px 8px;border-radius:14px}
  .sales-suggestion-thumb{width:43px;height:43px;border-radius:10px}
  .sales-suggestion-copy b{font-size:.87rem}
  .sales-suggestion-copy small{font-size:.74rem}
}

/* V6.14 Multiempresa Comercial */
.v614-identity-card,.v614-platform-card{overflow:visible}.v614-identity-form{display:grid;gap:14px}.v614-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v614-media-box{display:grid;gap:9px;padding:14px;border:1px solid #dce6ee;border-radius:14px;background:#fbfdff}.v614-media-box img{width:100%;height:120px;object-fit:contain;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.v614-media-empty{height:90px;display:grid;place-items:center;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;background:#f8fafc}.v614-provision-form{display:grid;gap:14px}.v614-platform-card{border:1px solid #f2c879;background:linear-gradient(180deg,#fff 0,#fffdf8 100%)}
@media(max-width:800px){.v614-media-grid{grid-template-columns:1fr}.v614-identity-card .form-grid.cols-2,.v614-platform-card .form-grid.cols-2,.v614-platform-card .form-grid.cols-3{grid-template-columns:1fr!important}}
/* ===== V6.14.1 · Trial & Licenciamiento Multiempresa ===== */
.v6141-login-platform-logo{background:#fff!important;overflow:hidden;padding:5px;box-shadow:0 12px 28px rgba(14,116,144,.18)!important;border:1px solid #d7e8ef}
.v6141-login-platform-logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px}
.v6141-trial-chip{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#fff7d6;border:1px solid #f6c94e;color:#92400e;font-size:11px;white-space:nowrap}.v6141-trial-chip span{font-weight:950;letter-spacing:.08em}.v6141-trial-chip.urgent{background:#fff0e8;border-color:#fb923c;color:#9a3412}
.v6141-trial-banner{margin:0 22px 14px;padding:11px 14px;border:1px solid #f6c94e;background:#fffbeb;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#92400e;font-size:13px}.v6141-trial-banner.urgent{border-color:#fb923c;background:#fff7ed;color:#9a3412}
.v6141-plan-card .section-heading,.v6141-license-center .section-heading{align-items:center}.v6141-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.v6141-plan-summary>div:not(.v6141-progress){padding:12px;border:1px solid #d9e4ee;border-radius:13px;background:#fff}.v6141-plan-summary small{display:block;color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.v6141-plan-summary b{display:block;margin-top:4px}.v6141-progress{grid-column:1/-1;height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.v6141-progress i{display:block;height:100%;background:linear-gradient(90deg,#10b981,#f59e0b);border-radius:inherit}
.v6141-limits-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.v6141-limit-row{padding:11px;border:1px solid #dbe6ef;border-radius:13px;background:#f8fbfd}.v6141-limit-row>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px}.v6141-limit-row span{color:#64748b}.v6141-limit-bar{height:6px;background:#e2e8f0;border-radius:999px;margin-top:8px;overflow:hidden}.v6141-limit-bar i{display:block;height:100%;background:#0ea5a4;border-radius:inherit}
.v6141-license-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.v6141-license-tabs span{padding:7px 10px;border-radius:999px;background:#edf7f5;color:#0f766e;font-size:11px;font-weight:800}.v6141-license-row{display:grid;grid-template-columns:minmax(190px,1.4fr) 120px 110px 110px minmax(330px,1.5fr);gap:10px;align-items:center;padding:12px;border-bottom:1px solid #e2e8f0}.v6141-license-row:nth-child(even){background:#fbfdfe}.v6141-license-main small,.v6141-license-dates small,.v6141-license-row>div:nth-child(2) small{display:block;color:#64748b;margin-top:3px}.v6141-license-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.v6141-provision-plan{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;align-items:end;margin:12px 0}.v6141-provision-limits{margin:12px 0;border:1px solid #dce7ef;border-radius:14px;padding:10px 12px}.v6141-provision-limits summary{font-weight:900;cursor:pointer}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.v6141-expired-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 20%,#e6f7f4,transparent 36%),linear-gradient(135deg,#f8fafc,#eef4f8)}.v6141-expired-card{width:min(650px,100%);background:#fff;border:1px solid #dbe5ec;border-radius:26px;padding:30px;box-shadow:0 24px 70px rgba(15,23,42,.14);text-align:center}.v6141-expired-logo{width:84px;height:84px;object-fit:contain;margin:0 auto 14px}.v6141-expired-card h1{margin:8px 0;font-size:30px}.v6141-expired-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.v6141-expired-meta span{padding:12px;border:1px solid #dbe5ec;border-radius:14px;color:#64748b;font-size:11px}.v6141-expired-meta b{display:block;color:#0f172a;font-size:14px;margin-top:4px}.v6141-expired-card .actions{justify-content:center}
@media(max-width:1100px){.v6141-license-row{grid-template-columns:1.3fr 110px 100px 100px}.v6141-license-actions{grid-column:1/-1;justify-content:flex-start}.v6141-limits-grid{grid-template-columns:repeat(3,1fr)}.cols-5{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:700px){.v6141-trial-banner{margin:0 12px 10px;display:grid}.v6141-plan-summary{grid-template-columns:1fr}.v6141-progress{grid-column:auto}.v6141-limits-grid{grid-template-columns:1fr 1fr}.v6141-license-row{grid-template-columns:1fr 1fr}.v6141-license-main,.v6141-license-actions{grid-column:1/-1}.v6141-provision-plan,.cols-5{grid-template-columns:1fr!important}.v6141-expired-meta{grid-template-columns:1fr}.v6141-expired-card{padding:22px}.v6141-expired-card h1{font-size:25px}}

/* ===== V6.14.2 · Trial/Licenciamiento visible + login empresarial ===== */
.login-v41.v6142-login-shell{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  min-height:100vh;
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  gap:0;
  align-items:stretch;
  padding:34px 0!important;
}
.v6142-login-hero{
  position:relative;min-height:680px;border-radius:28px 0 0 28px;overflow:hidden;
  background:#073a6b url('assets/login-platform-hero.png') center/cover no-repeat;
  box-shadow:0 28px 80px rgba(15,23,42,.18);
}
.v6142-login-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,31,66,.03) 28%,rgba(3,31,66,.86) 100%)}
.v6142-login-hero-overlay{position:absolute;z-index:2;left:34px;right:34px;bottom:34px;color:#fff}
.v6142-login-hero-overlay .eyebrow{color:#bff8ee}.v6142-login-hero-overlay h2{font-size:30px;line-height:1.05;margin:8px 0 10px;max-width:560px}.v6142-login-hero-overlay p{color:#e5f3ff;max-width:600px}
.v6142-login-feature-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.v6142-login-feature-grid span{padding:8px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800;backdrop-filter:blur(8px)}
.v6142-login-card{border-radius:0 28px 28px 0!important;align-self:stretch!important;display:flex!important;flex-direction:column!important;justify-content:center!important;box-shadow:0 28px 80px rgba(15,23,42,.18)!important}
.v6142-license-chip{appearance:none;border:1px solid transparent;border-radius:999px;padding:7px 11px;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11px;box-shadow:none}.v6142-license-chip span{font-size:9px;letter-spacing:.08em;font-weight:900}.v6142-license-chip b{font-size:11px}.v6142-license-chip.active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.v6142-license-chip.trial{background:#fffbeb;color:#92400e;border-color:#fcd34d}.v6142-license-chip.trial.urgent{background:#fff7ed;color:#c2410c;border-color:#fdba74}.v6142-license-chip.expired{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.v6142-license-chip.suspended{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
.v6142-license-page{display:grid;gap:16px}.v6142-license-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#073f69,#0f766e);color:#fff;box-shadow:0 14px 35px rgba(15,118,110,.16)}.v6142-license-hero .eyebrow{color:#a7f3d0}.v6142-license-hero h2{margin:4px 0}.v6142-license-hero p{margin:0;color:#dff8f3}.v6142-license-page .v6141-plan-card{margin-top:0!important}.v6142-license-page .v614-platform-card,.v6142-license-page .v6141-license-center{margin-top:0!important}
@media(max-width:850px){.login-v41.v6142-login-shell{grid-template-columns:1fr;width:min(680px,calc(100% - 24px));padding:18px 0!important}.v6142-login-hero{min-height:250px;border-radius:24px 24px 0 0;background-position:center 16%}.v6142-login-hero-overlay{left:20px;right:20px;bottom:20px}.v6142-login-hero-overlay h2{font-size:24px}.v6142-login-feature-grid{display:none}.v6142-login-card{border-radius:0 0 24px 24px!important}.v6142-license-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.login-v41.v6142-login-shell{width:100%;padding:0!important}.v6142-login-hero{min-height:190px;border-radius:0}.v6142-login-hero-overlay h2{font-size:21px}.v6142-login-hero-overlay p{display:none}.v6142-login-card{border-radius:0!important}.v6142-license-chip{padding:6px 8px}}

/* =========================================================
   V6.14.3 — LOGIN CENTRADO, RESPONSIVE Y CON IDENTIDAD DE PLATAFORMA
   ========================================================= */
.login-v41.v6142-login-shell.v6143-login-centered{
  width:100%!important;
  max-width:none!important;
  min-height:100svh!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center!important;
  padding:clamp(18px,4vw,42px)!important;
  margin:0!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(20,184,166,.16),transparent 31%),
    radial-gradient(circle at 86% 82%,rgba(59,130,246,.12),transparent 32%),
    linear-gradient(155deg,#f2fffc 0%,#f7fafc 48%,#ffffff 100%)!important;
}
.v6143-login-centered .v6142-login-hero{display:none!important}
.v6143-login-centered .login-v41-card.v6142-login-card{
  width:min(560px,100%)!important;
  min-height:auto!important;
  align-self:auto!important;
  display:grid!important;
  gap:18px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid #dce7ed!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(15,23,42,.14)!important;
}
.v6143-brand-panel{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:16px;
  padding:28px 30px 24px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 16%,rgba(56,189,248,.38),transparent 28%),
    linear-gradient(135deg,#073b6d 0%,#075985 44%,#0f766e 100%);
}
.v6143-brand-panel:before,.v6143-brand-panel:after{content:'';position:absolute;border-radius:999px;pointer-events:none}
.v6143-brand-panel:before{width:190px;height:190px;right:-82px;top:-96px;border:1px solid rgba(255,255,255,.18)}
.v6143-brand-panel:after{width:126px;height:126px;right:-36px;top:-54px;border:1px solid rgba(255,255,255,.22)}
.v6143-brand-main{position:relative;z-index:1;display:grid;grid-template-columns:68px minmax(0,1fr);gap:16px;align-items:center}
.v6143-brand-logo{width:68px;height:68px;display:grid;place-items:center;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 13px 34px rgba(0,0,0,.18);padding:8px}
.v6143-brand-logo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:12px}
.v6143-brand-copy small{display:block;margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#bdf8ee}
.v6143-brand-copy h1{margin:0;font-size:clamp(25px,3vw,31px);line-height:1;letter-spacing:-.04em;color:#fff}
.v6143-brand-copy p{margin:7px 0 0;font-size:13px;line-height:1.45;color:#e0f7f4}
.v6143-brand-features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v6143-brand-feature{display:grid;place-items:center;gap:5px;min-height:64px;padding:8px 6px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px);text-align:center}
.v6143-brand-feature i{font-style:normal;font-size:20px;line-height:1}.v6143-brand-feature b{font-size:10px;color:#fff;line-height:1.15}
.v6143-login-centered .login-v411-brand{display:none!important}
.v6143-login-centered .login-v41-heading,
.v6143-login-centered .login-alert,
.v6143-login-centered .access-form,
.v6143-login-centered .login-v41-footer{margin-left:30px;margin-right:30px}
.v6143-login-centered .login-v41-heading{padding-top:2px}.v6143-login-centered .login-v41-heading h2{font-size:30px}.v6143-login-centered .login-v41-heading p{max-width:460px}
.v6143-login-centered .login-v41-footer{margin-bottom:24px;padding-top:3px}
.v6143-login-centered .access-submit{min-height:54px;border-radius:14px;box-shadow:0 10px 24px rgba(15,118,110,.17)}
.v6143-login-centered .access-input-wrap{border-radius:14px}.v6143-login-centered .remember-row{border-radius:14px}

@media(max-width:820px){
  .login-v41.v6142-login-shell.v6143-login-centered{width:100%!important;padding:22px!important;place-items:center!important}
  .v6143-login-centered .login-v41-card.v6142-login-card{width:min(540px,100%)!important;border-radius:25px!important}
  .v6143-brand-panel{padding:24px 25px 21px}.v6143-brand-main{grid-template-columns:60px minmax(0,1fr);gap:14px}.v6143-brand-logo{width:60px;height:60px;border-radius:18px}
  .v6143-brand-features{grid-template-columns:repeat(4,1fr)}
  .v6143-login-centered .login-v41-heading,.v6143-login-centered .login-alert,.v6143-login-centered .access-form,.v6143-login-centered .login-v41-footer{margin-left:25px;margin-right:25px}
}
@media(max-width:560px){
  .login-v41.v6142-login-shell.v6143-login-centered{padding:12px!important;align-items:center!important}
  .v6143-login-centered .login-v41-card.v6142-login-card{border-radius:22px!important;gap:16px!important}
  .v6143-brand-panel{padding:21px 20px 18px;gap:13px}.v6143-brand-main{grid-template-columns:54px minmax(0,1fr);gap:12px}.v6143-brand-logo{width:54px;height:54px;border-radius:16px;padding:6px}
  .v6143-brand-copy h1{font-size:24px}.v6143-brand-copy p{font-size:12px;margin-top:5px}
  .v6143-brand-features{grid-template-columns:repeat(2,1fr);gap:7px}.v6143-brand-feature{min-height:48px;display:flex;justify-content:center;gap:7px;padding:7px}.v6143-brand-feature i{font-size:17px}.v6143-brand-feature b{font-size:10px}
  .v6143-login-centered .login-v41-heading,.v6143-login-centered .login-alert,.v6143-login-centered .access-form,.v6143-login-centered .login-v41-footer{margin-left:20px;margin-right:20px}
  .v6143-login-centered .login-v41-heading h2{font-size:27px}.v6143-login-centered .login-v41-footer{margin-bottom:19px}
}
@media(max-width:380px){
  .login-v41.v6142-login-shell.v6143-login-centered{padding:0!important;background:#fff!important}
  .v6143-login-centered .login-v41-card.v6142-login-card{width:100%!important;min-height:100svh!important;border:0!important;border-radius:0!important;box-shadow:none!important;align-content:center!important}
  .v6143-brand-panel{border-radius:0;padding:20px 17px 17px}.v6143-brand-copy h1{font-size:22px}.v6143-brand-copy p{font-size:11px}
  .v6143-login-centered .login-v41-heading,.v6143-login-centered .login-alert,.v6143-login-centered .access-form,.v6143-login-centered .login-v41-footer{margin-left:17px;margin-right:17px}
}

/* =========================================================
   V6.14.4 · IMPULSA360 DESIGN SYSTEM
   ========================================================= */
:root{
  --i360-navy:#073b55;--i360-teal:#067a72;--i360-green:#0aae78;--i360-mint:#dff8f1;--i360-blue:#0ea5e9;
  --i360-ink:#132238;--i360-muted:#65758b;--i360-line:#dce6ee;--i360-bg:#f7fafc;
}
.v6144-shell .sidebar{background:linear-gradient(180deg,#064b51 0%,#087b70 54%,#087f76 100%)}
.v6144-shell .sidebar .brand p{color:#c9f3ec!important;font-size:11px!important}
.v6144-shell .nav-btn.active{background:rgba(255,255,255,.15)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.v6144-shell .main{background:linear-gradient(145deg,#f7fbfd,#fff 55%,#fbfcfd)}

/* Login centrado + referencia visual de la propuesta */
.login-v41.v6144-login{place-items:center!important;padding:clamp(14px,3vw,34px)!important;background:radial-gradient(circle at 12% 20%,rgba(45,212,191,.17),transparent 33%),radial-gradient(circle at 88% 82%,rgba(14,165,233,.12),transparent 31%),#f8fbfd!important}
.v6144-login .login-v41-card.v6144-login-card{width:min(980px,100%)!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr)!important;grid-template-rows:auto auto auto auto!important;gap:0!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 28px 80px rgba(15,23,42,.16)!important}
.v6144-login .v6144-brand-panel{grid-column:1;grid-row:1/-1;min-height:650px;padding:40px 34px 28px!important;display:flex!important;flex-direction:column;justify-content:center;gap:24px;background:radial-gradient(circle at 75% 8%,rgba(255,255,255,.62),transparent 20%),radial-gradient(circle at 8% 30%,rgba(45,212,191,.23),transparent 26%),linear-gradient(160deg,#e9fbff 0%,#dff9f4 48%,#f5fbff 100%)!important;color:var(--i360-ink)!important;border-right:1px solid var(--i360-line)}
.v6144-brand-panel:before,.v6144-brand-panel:after{display:none!important}
.v6144-brand-visual{text-align:center}.v6144-platform-mark{width:92px;height:92px;margin:0 auto 10px;filter:drop-shadow(0 12px 18px rgba(7,89,133,.18))}.v6144-platform-mark img{width:100%;height:100%}
.v6144-wordmark strong{display:block;font-size:43px;letter-spacing:-.055em;line-height:.95;color:#0b2f4a}.v6144-wordmark strong span{color:#09a878}.v6144-wordmark small{display:block;margin-top:7px;font-weight:900;letter-spacing:.04em;color:#0d5164}
.v6144-brand-visual h2{font-size:21px;margin:20px 0 7px;color:#112840}.v6144-brand-visual p{margin:0 auto;max-width:390px;color:#4f657a;font-size:13px;line-height:1.55}
.v6144-login-modules{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v6144-login-modules>span{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:11px;border:1px solid rgba(14,116,144,.13);border-radius:14px;background:rgba(255,255,255,.82);box-shadow:0 7px 18px rgba(15,23,42,.05);text-align:left}.v6144-login-modules i{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e6fff7;color:#078269;font-style:normal;font-weight:900}.v6144-login-modules b{font-size:12px}.v6144-login-modules small{font-size:10px;color:#64748b}
.v6144-growth-art{position:relative;height:105px;margin-top:0}.v6144-growth-art i{position:absolute;bottom:8px;width:42px;border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,#23c995,#0ea5e9)}.v6144-growth-art i:nth-child(1){left:16%;height:32px}.v6144-growth-art i:nth-child(2){left:31%;height:49px}.v6144-growth-art i:nth-child(3){left:46%;height:68px}.v6144-growth-art i:nth-child(4){left:61%;height:90px}.v6144-growth-art b{position:absolute;left:66%;top:-2px;font-size:62px;color:#078269;transform:rotate(-8deg)}
.v6144-brand-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:7px}.v6144-brand-trust span{font-size:10px;font-weight:850;color:#456174}.v6144-brand-trust span:not(:last-child):after{content:' · ';margin-left:7px;color:#7ba0ad}
.v6144-login .login-v41-heading,.v6144-login .login-alert,.v6144-login .access-form,.v6144-login .login-v41-footer{grid-column:2;margin-left:32px!important;margin-right:32px!important}.v6144-login .login-v41-heading{margin-top:auto!important;padding-top:64px!important}.v6144-login .login-v41-heading h2{font-size:32px!important;color:var(--i360-ink)}.v6144-login .login-v41-heading>span{color:#078269;font-weight:900}.v6144-login .access-submit{background:linear-gradient(90deg,#078c72,#0ab48e)!important}.v6144-login .login-v41-footer{margin-top:8px!important;margin-bottom:auto!important;padding-bottom:36px!important;color:#7a8999}

/* Dashboard */
.v6144-dashboard{display:grid;gap:16px}.v6144-trial-alert{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;border-radius:10px;border:1px solid #f4d888;background:#fff9e9;color:#9a5a06;font-size:12px}.v6144-trial-alert.urgent{border-color:#fdba74;background:#fff4e8;color:#9a3412}
.v6144-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v6144-kpi{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;padding:17px;border:1px solid var(--i360-line);border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.045)}.v6144-kpi-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;font-weight:900;font-size:16px}.v6144-kpi.violet .v6144-kpi-icon{background:#eee9ff;color:#7457e9}.v6144-kpi.coral .v6144-kpi-icon{background:#ffe9e7;color:#f05d5e}.v6144-kpi.mint .v6144-kpi-icon{background:#e4fbf1;color:#10a879}.v6144-kpi.amber .v6144-kpi-icon{background:#fff4da;color:#e99413}.v6144-kpi.sky .v6144-kpi-icon{background:#e5f4ff;color:#168bd0}.v6144-kpi small{display:block;color:#65758b;font-size:10px}.v6144-kpi strong{display:block;margin:3px 0;font-size:20px;color:var(--i360-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v6144-kpi em{display:block;color:#718096;font-style:normal;font-size:9px}
.v6144-analytics-grid{display:grid;grid-template-columns:1.45fr 1fr .88fr;gap:14px}.v6144-dashboard-card{min-width:0;padding:17px;border:1px solid var(--i360-line);border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(15,23,42,.045);overflow:hidden}.v6144-dashboard-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.v6144-dashboard-card h3{margin:0;font-size:14px}.v6144-dashboard-card header p{margin:3px 0 0;font-size:10px;color:#718096}.v6144-soft-chip{padding:6px 9px;border:1px solid #dde7ef;border-radius:9px;font-size:10px;color:#52677b}.v6144-line-chart{width:100%;height:190px}.v6144-line-chart text{font-size:9px;fill:#748397}.v6144-donut-wrap{min-height:190px;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;justify-content:center}.v6144-donut{width:125px;height:125px;border-radius:50%;display:grid;place-items:center;margin:auto}.v6144-donut>div{width:72px;height:72px;border-radius:50%;background:white;box-shadow:inset 0 0 0 1px #edf2f7}.v6144-donut-legend{display:grid;gap:8px}.v6144-donut-legend span{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:7px;align-items:center;font-size:10px}.v6144-donut-legend i{width:8px;height:8px;border-radius:3px}.v6144-donut-legend b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v6144-donut-legend em{font-style:normal;color:#6b7b8d}.v6144-portfolio{display:grid;align-content:start}.v6144-portfolio-row{display:flex;justify-content:space-between;gap:12px;padding:13px 12px;border:1px solid #e3ebf1;border-radius:10px;margin-top:8px;font-size:11px}.v6144-portfolio-row b{color:#059669}.v6144-portfolio-row.danger b{color:#dc3545}.v6144-portfolio-row.total{background:#f4fbfa}.v6144-bottom-grid{display:grid;grid-template-columns:1.55fr .8fr;gap:14px}

/* Identidad */
.v6144-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.v6144-section-title h3{margin:3px 0;font-size:20px}.v6144-section-title p{margin:0;color:#64748b;font-size:12px}.v6144-identity-form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:14px}.v6144-identity-main,.v6144-identity-media{display:grid;gap:14px;align-content:start}.v6144-settings-box{padding:15px;border:1px solid var(--i360-line);border-radius:14px;background:#fbfdfe}.v6144-settings-box h4{margin:0 0 12px;font-size:13px}.v6144-identity-preview{display:block;width:100%;height:155px;object-fit:contain;border:1px solid #dce6ee;border-radius:12px;background:#fff;margin-bottom:9px}.v6144-identity-preview.signature{height:120px}.v6144-identity-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e4ebf1;padding-top:14px}

/* Licenciamiento y alta de tenant */
.v6144-platform-license-grid{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(380px,.8fr);gap:16px;align-items:start}.v6144-platform-license-grid .v6144-license-center{grid-column:1;grid-row:1}.v6144-platform-license-grid .v6144-new-tenant-card{grid-column:2;grid-row:1}.v6144-license-center,.v6144-new-tenant-card{margin-top:0!important}.v6144-title-actions{display:flex;gap:8px;align-items:center}.v6144-license-meta{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 13px}.v6144-license-meta span{padding:6px 8px;border-radius:8px;background:#f4f8fa;color:#6b7a8d;font-size:9px}.v6144-license-meta b{color:#17283f}.v6144-license-head,.v6144-license-row{display:grid;grid-template-columns:minmax(185px,1.35fr) 88px 96px 100px 100px 60px minmax(330px,1.55fr);gap:9px;align-items:center}.v6144-license-head{padding:9px 12px;background:#f2f6f9;border:1px solid #e1e9ef;border-radius:10px 10px 0 0;color:#5c6d82;font-size:9px;font-weight:900;text-transform:uppercase}.v6144-license-row{padding:11px 12px;border-bottom:1px solid #e4ebf0;background:#fff}.v6144-license-row:nth-child(odd){background:#fbfdfe}.v6144-license-row small{display:block;color:#718096;font-size:9px;margin-bottom:3px}.v6144-license-row b{font-size:11px}.v6144-license-actions{display:grid!important;grid-template-columns:repeat(4,minmax(78px,1fr));gap:6px!important;justify-content:stretch!important}.v6144-license-actions .btn{width:100%;min-width:0;height:34px;padding:0 8px!important;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:10px!important;border-radius:9px!important}.v6144-provision-form{display:grid;gap:13px}.v6144-provision-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v6144-limit-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v6144-limit-fields label{display:grid;gap:4px;font-size:9px;font-weight:800;color:#5a6b80}.v6144-trial-rule{display:grid;gap:4px;padding:11px;border-radius:11px;background:#fff7e6;border:1px solid #f4d58d;color:#8e5a09;font-size:10px}.v6144-form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #e4ebf1}.v6144-form-footer>span{font-size:10px;color:#64748b}.v6144-form-footer>div{display:flex;gap:8px}

@media(max-width:1320px){.v6144-kpi-grid{grid-template-columns:repeat(3,1fr)}.v6144-analytics-grid{grid-template-columns:1.3fr 1fr}.v6144-portfolio{grid-column:1/-1}.v6144-platform-license-grid{grid-template-columns:1fr}.v6144-platform-license-grid .v6144-license-center,.v6144-platform-license-grid .v6144-new-tenant-card{grid-column:1;grid-row:auto}.v6144-license-head,.v6144-license-row{grid-template-columns:minmax(180px,1.4fr) 80px 90px 95px 95px 55px}.v6144-license-actions{grid-column:1/-1;grid-template-columns:repeat(4,minmax(90px,140px));justify-content:start!important}}
@media(max-width:950px){.v6144-login .login-v41-card.v6144-login-card{grid-template-columns:1fr!important;width:min(590px,100%)!important}.v6144-login .v6144-brand-panel{grid-column:1;grid-row:auto;min-height:auto;padding:26px 28px 21px!important;border-right:0;border-bottom:1px solid var(--i360-line)}.v6144-login .v6144-growth-art{display:none}.v6144-login .login-v41-heading,.v6144-login .login-alert,.v6144-login .access-form,.v6144-login .login-v41-footer{grid-column:1}.v6144-login .login-v41-heading{padding-top:22px!important}.v6144-brand-visual h2{margin-top:13px}.v6144-kpi-grid{grid-template-columns:repeat(2,1fr)}.v6144-analytics-grid,.v6144-bottom-grid{grid-template-columns:1fr}.v6144-portfolio{grid-column:auto}.v6144-identity-form{grid-template-columns:1fr}.v6144-identity-actions{grid-column:1}.v6144-license-head{display:none}.v6144-license-row{grid-template-columns:1fr 1fr 1fr;border:1px solid #e1e9ef;border-radius:13px;margin-bottom:9px}.v6144-license-main{grid-column:1/-1}.v6144-license-actions{grid-column:1/-1}}
@media(max-width:620px){.login-v41.v6144-login{padding:0!important;background:#fff!important}.v6144-login .login-v41-card.v6144-login-card{width:100%!important;min-height:100svh!important;border:0!important;border-radius:0!important;box-shadow:none!important}.v6144-login .v6144-brand-panel{border-radius:0!important;padding:22px 18px 18px!important}.v6144-platform-mark{width:68px;height:68px}.v6144-wordmark strong{font-size:34px}.v6144-brand-visual h2{font-size:18px}.v6144-login-modules{gap:7px}.v6144-login-modules>span{grid-template-columns:35px 1fr;padding:8px}.v6144-login-modules i{width:35px;height:35px}.v6144-login .login-v41-heading,.v6144-login .login-alert,.v6144-login .access-form,.v6144-login .login-v41-footer{margin-left:18px!important;margin-right:18px!important}.v6144-kpi-grid{grid-template-columns:1fr}.v6144-analytics-grid,.v6144-bottom-grid{display:block}.v6144-dashboard-card{margin-bottom:12px}.v6144-donut-wrap{grid-template-columns:110px 1fr}.v6144-donut{width:105px;height:105px}.v6144-donut>div{width:62px;height:62px}.v6144-trial-alert{align-items:flex-start;flex-direction:column}.v6144-provision-columns{grid-template-columns:1fr}.v6144-limit-fields{grid-template-columns:1fr 1fr}.v6144-license-row{grid-template-columns:1fr 1fr}.v6144-license-actions{grid-template-columns:1fr 1fr!important}.v6144-form-footer{align-items:flex-start;flex-direction:column}.v6144-form-footer>div{width:100%}.v6144-form-footer .btn{flex:1}.v6144-section-title{align-items:flex-start;flex-direction:column}}
.v6144-blocked-brand{display:grid;gap:2px;margin:-8px 0 12px}.v6144-blocked-brand b{font-size:24px;color:#0b2f4a;letter-spacing:-.04em}.v6144-blocked-brand b span{color:#0aae78}.v6144-blocked-brand small{font-size:10px;font-weight:800;color:#64748b;letter-spacing:.08em;text-transform:uppercase}


/* =========================================================
   V6.14.5 — FIX RESPONSIVE LICENCIAMIENTO + LOGIN
   ========================================================= */

/* Licenciamiento: el formulario de alta nunca comparte ancho insuficiente
   con la tabla. A partir de 1500px puede usar 2 columnas; por debajo,
   se apila para proteger acciones y campos. */
.v6144-platform-license-grid{
  grid-template-columns:1fr !important;
  gap:18px !important;
}
.v6144-platform-license-grid .v6144-license-center,
.v6144-platform-license-grid .v6144-new-tenant-card{
  grid-column:1 !important;
  grid-row:auto !important;
  min-width:0 !important;
  width:100% !important;
}
.v6144-license-center{
  overflow:hidden !important;
}
.v6144-license-head,
.v6144-license-row{
  grid-template-columns:minmax(180px,1.35fr) 92px 100px 104px 104px 64px minmax(360px,1.55fr) !important;
}
.v6144-license-actions{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(82px,1fr)) !important;
  gap:7px !important;
  width:100% !important;
  min-width:0 !important;
}
.v6144-license-actions .btn{
  position:static !important;
  transform:none !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  white-space:nowrap !important;
}
.v6144-new-tenant-card{
  overflow:visible !important;
}
.v6144-provision-columns{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.v6144-provision-columns > *,
.v6144-provision-form input,
.v6144-provision-form select,
.v6144-provision-form textarea{
  min-width:0 !important;
  max-width:100% !important;
  width:100% !important;
  box-sizing:border-box !important;
}

@media(min-width:1500px){
  .v6144-platform-license-grid{
    grid-template-columns:minmax(0,1.55fr) minmax(430px,.72fr) !important;
  }
  .v6144-platform-license-grid .v6144-license-center{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .v6144-platform-license-grid .v6144-new-tenant-card{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  .v6144-license-head,
  .v6144-license-row{
    grid-template-columns:minmax(165px,1.25fr) 76px 86px 88px 88px 48px !important;
  }
  .v6144-license-actions{
    grid-column:1/-1 !important;
    grid-template-columns:repeat(4,minmax(92px,140px)) !important;
    justify-content:start !important;
    margin-top:3px !important;
  }
}

/* Tablet: licenciamiento en tarjetas; acciones 2x2. */
@media(max-width:1100px){
  .v6144-license-head{display:none !important}
  .v6144-license-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    border:1px solid #e1e9ef !important;
    border-radius:13px !important;
    margin-bottom:10px !important;
    gap:10px !important;
  }
  .v6144-license-main{grid-column:1/-1 !important}
  .v6144-license-actions{
    grid-column:1/-1 !important;
    grid-template-columns:repeat(2,minmax(130px,1fr)) !important;
  }
}

/* Móvil */
@media(max-width:620px){
  .v6144-license-row{
    grid-template-columns:1fr 1fr !important;
    padding:12px !important;
  }
  .v6144-license-actions{
    grid-template-columns:1fr 1fr !important;
  }
  .v6144-provision-columns{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:390px){
  .v6144-license-row{grid-template-columns:1fr !important}
  .v6144-license-actions{grid-template-columns:1fr !important}
}

/* Login: conserva el diseño desktop, pero se adapta realmente a tablet/móvil. */
.login-v41.v6144-login{
  min-height:100dvh !important;
  width:100% !important;
  overflow-x:hidden !important;
}
.v6144-login .login-v41-card.v6144-login-card{
  max-width:980px !important;
  margin-inline:auto !important;
}
@media(max-width:950px){
  .login-v41.v6144-login{
    padding:18px !important;
    align-items:center !important;
  }
  .v6144-login .login-v41-card.v6144-login-card{
    width:min(620px,100%) !important;
    grid-template-columns:1fr !important;
  }
  .v6144-login .v6144-brand-panel{
    padding:24px 24px 20px !important;
  }
  .v6144-login .login-v41-heading,
  .v6144-login .login-alert,
  .v6144-login .access-form,
  .v6144-login .login-v41-footer{
    margin-left:24px !important;
    margin-right:24px !important;
  }
}
@media(max-width:620px){
  .login-v41.v6144-login{
    padding:0 !important;
    align-items:stretch !important;
  }
  .v6144-login .login-v41-card.v6144-login-card{
    width:100% !important;
    max-width:none !important;
    min-height:100dvh !important;
    border-radius:0 !important;
  }
  .v6144-login .v6144-brand-panel{
    padding:20px 16px 16px !important;
  }
  .v6144-login-modules{
    grid-template-columns:1fr 1fr !important;
  }
  .v6144-login .login-v41-heading,
  .v6144-login .login-alert,
  .v6144-login .access-form,
  .v6144-login .login-v41-footer{
    margin-left:16px !important;
    margin-right:16px !important;
  }
}
@media(max-width:390px){
  .v6144-login-modules{grid-template-columns:1fr !important}
  .v6144-brand-visual p{font-size:11px !important}
}

/* =========================================================
   V6.14.6 — LAYOUT FINAL: LICENCIAMIENTO APILADO + LOGIN 1 COLUMNA
   ========================================================= */

/* 1) LICENCIAMIENTO: Nueva empresa SIEMPRE debajo de Licenciamiento y Planes */
.v6144-platform-license-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.v6144-platform-license-grid .v6144-license-center,
.v6144-platform-license-grid .v6144-new-tenant-card{
  grid-column:1!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.v6144-license-center{overflow:hidden!important}
.v6144-new-tenant-card{overflow:visible!important}

/* Grilla de licenciamiento con espacio real para Acciones */
.v6144-license-head,
.v6144-license-row{
  grid-template-columns:minmax(220px,1.55fr) 105px 110px 115px 115px 70px minmax(390px,1.65fr)!important;
  gap:10px!important;
}
.v6144-license-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(88px,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
}
.v6144-license-actions .btn{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
  white-space:nowrap!important;
}

/* Formulario Trial: dos columnas sólo dentro de su propia tarjeta */
.v6144-new-tenant-card .v6144-provision-columns{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.v6144-new-tenant-card .v6144-settings-box,
.v6144-new-tenant-card input,
.v6144-new-tenant-card select,
.v6144-new-tenant-card textarea{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* 2) LOGIN: una sola columna. Identidad IMPULSA360 arriba de Bienvenido */
.login-v41.v6144-login{
  min-height:100dvh!important;
  padding:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.v6144-login .login-v41-card.v6144-login-card{
  width:min(640px,100%)!important;
  max-width:640px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto auto auto!important;
  border-radius:26px!important;
  overflow:hidden!important;
  margin:auto!important;
}
.v6144-login .v6144-brand-panel{
  grid-column:1!important;
  grid-row:auto!important;
  min-height:auto!important;
  padding:28px 28px 24px!important;
  border-right:0!important;
  border-bottom:1px solid var(--i360-line)!important;
  display:grid!important;
  gap:18px!important;
  justify-items:center!important;
  text-align:center!important;
}
.v6144-brand-visual{
  display:grid!important;
  justify-items:center!important;
  text-align:center!important;
  gap:8px!important;
}
.v6144-wordmark{justify-content:center!important}
.v6144-brand-visual h2{margin:6px 0 0!important;text-align:center!important}
.v6144-brand-visual p{max-width:500px!important;margin:0 auto!important;text-align:center!important}
.v6144-login-modules{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.v6144-login .v6144-growth-art{display:none!important}
.v6144-login .login-v41-heading,
.v6144-login .login-alert,
.v6144-login .access-form,
.v6144-login .login-v41-footer{
  grid-column:1!important;
  margin-left:28px!important;
  margin-right:28px!important;
}
.v6144-login .login-v41-heading{
  padding-top:26px!important;
  text-align:left!important;
}
.v6144-login .login-v41-footer{padding-bottom:24px!important}

/* Tablet */
@media(max-width:1100px){
  .v6144-license-head{display:none!important}
  .v6144-license-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    border:1px solid #e1e9ef!important;
    border-radius:13px!important;
    margin-bottom:10px!important;
    gap:10px!important;
  }
  .v6144-license-main{grid-column:1/-1!important}
  .v6144-license-actions{
    grid-column:1/-1!important;
    grid-template-columns:repeat(4,minmax(100px,1fr))!important;
  }
}

@media(max-width:760px){
  .login-v41.v6144-login{padding:14px!important}
  .v6144-login .login-v41-card.v6144-login-card{width:min(600px,100%)!important}
  .v6144-login .v6144-brand-panel{padding:24px 20px 20px!important}
  .v6144-login .login-v41-heading,
  .v6144-login .login-alert,
  .v6144-login .access-form,
  .v6144-login .login-v41-footer{
    margin-left:20px!important;
    margin-right:20px!important;
  }
  .v6144-new-tenant-card .v6144-provision-columns{grid-template-columns:1fr!important}
  .v6144-license-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v6144-license-actions{grid-template-columns:repeat(2,minmax(130px,1fr))!important}
}

/* Móvil */
@media(max-width:520px){
  .login-v41.v6144-login{
    padding:0!important;
    align-items:stretch!important;
    background:#fff!important;
  }
  .v6144-login .login-v41-card.v6144-login-card{
    width:100%!important;
    max-width:none!important;
    min-height:100dvh!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
  }
  .v6144-login .v6144-brand-panel{padding:20px 16px 18px!important}
  .v6144-platform-mark{width:62px!important;height:62px!important}
  .v6144-wordmark strong{font-size:30px!important}
  .v6144-brand-visual h2{font-size:18px!important}
  .v6144-login-modules{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .v6144-login-modules>span{padding:8px!important;grid-template-columns:34px 1fr!important}
  .v6144-login-modules i{width:34px!important;height:34px!important}
  .v6144-login .login-v41-heading,
  .v6144-login .login-alert,
  .v6144-login .access-form,
  .v6144-login .login-v41-footer{
    margin-left:16px!important;
    margin-right:16px!important;
  }
  .v6144-license-actions{grid-template-columns:1fr 1fr!important}
}
@media(max-width:380px){
  .v6144-login-modules{grid-template-columns:1fr!important}
  .v6144-license-row{grid-template-columns:1fr!important}
  .v6144-license-actions{grid-template-columns:1fr!important}
}
\n\n/* =========================================================\n   V6.14.7 — LOGIN COMPACTO\n   ========================================================= */\n.v6144-login .v6144-brand-panel{gap:12px!important;padding-top:20px!important;padding-bottom:16px!important}\n.v6144-login .v6144-brand-visual h2{margin:5px 0 2px!important;font-size:19px!important;line-height:1.2!important}\n.v6144-login .v6144-brand-visual p,.v6144-login .v6144-brand-trust{display:none!important}\n.v6144-login .v6147-login-modules{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:min(640px,100%)!important;margin:0 auto!important}\n.v6144-login .v6147-login-modules>span{grid-template-columns:30px 1fr!important;grid-template-rows:auto auto!important;column-gap:7px!important;padding:7px 9px!important;min-height:54px!important;border-radius:12px!important}\n.v6144-login .v6147-login-modules i{grid-row:1/3!important;width:30px!important;height:30px!important;border-radius:9px!important;font-size:17px!important;background:#e8fff8!important}\n.v6144-login .v6147-login-modules b{font-size:11px!important;line-height:1.05!important}\n.v6144-login .v6147-login-modules small{font-size:8.8px!important;line-height:1.1!important;margin-top:2px!important}\n.v6144-login .v6147-growth-art{height:58px!important;margin:0 auto!important;width:min(420px,80%)!important}\n.v6144-login .v6147-growth-art i{bottom:4px!important;width:28px!important;border-radius:6px 6px 2px 2px!important}\n.v6144-login .v6147-growth-art i:nth-child(1){left:22%!important;height:18px!important}\n.v6144-login .v6147-growth-art i:nth-child(2){left:36%!important;height:28px!important}\n.v6144-login .v6147-growth-art i:nth-child(3){left:50%!important;height:39px!important}\n.v6144-login .v6147-growth-art i:nth-child(4){left:64%!important;height:50px!important}\n.v6144-login .v6147-growth-art b{left:70%!important;top:0!important;font-size:38px!important}\n.v6144-login .login-v41-heading{padding-top:14px!important;padding-bottom:8px!important}\n.v6144-login .access-form{padding-top:4px!important}\n.v6144-login .login-v41-footer{padding-bottom:12px!important}\n@media(max-width:900px){\n .v6144-login .v6147-login-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:440px!important}\n .v6144-login .v6147-growth-art{height:45px!important;width:min(330px,72%)!important}\n}\n@media(max-width:620px){\n .v6144-login .v6144-brand-panel{padding-top:15px!important;padding-bottom:12px!important}\n .v6144-login .v6144-platform-mark{width:58px!important;height:58px!important;margin-bottom:4px!important}\n .v6144-login .v6144-wordmark strong{font-size:30px!important}\n .v6144-login .v6144-wordmark small{font-size:10px!important}\n .v6144-login .v6144-brand-visual h2{font-size:16px!important;margin-top:3px!important}\n .v6144-login .v6147-login-modules{gap:6px!important}\n .v6144-login .v6147-login-modules>span{min-height:48px!important;padding:6px 7px!important;grid-template-columns:27px 1fr!important}\n .v6144-login .v6147-login-modules i{width:27px!important;height:27px!important;font-size:15px!important}\n .v6144-login .v6147-login-modules b{font-size:10.5px!important}\n .v6144-login .v6147-login-modules small{font-size:8px!important}\n .v6144-login .v6147-growth-art{display:none!important}\n .v6144-login .login-v41-heading{padding-top:11px!important}\n}\n@media(max-width:390px){\n .v6144-login .v6147-login-modules{grid-template-columns:1fr 1fr!important}\n}\n
/* =========================================================
   V6.14.8 — Login compacto + Alta de empresa PRO
   ========================================================= */
.v6144-login-modules,.v6147-login-modules{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:8px 0 10px!important}
.v6144-login-module,.v6147-login-module{min-height:54px!important;padding:8px 10px!important;border-radius:12px!important;display:flex!important;align-items:center!important;gap:8px!important}
.v6144-login-module .module-icon,.v6147-login-module .module-icon{width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important;font-size:18px!important;display:grid!important;place-items:center!important}
.v6144-login-module b,.v6147-login-module b{font-size:12px!important;line-height:1.1!important}
.v6144-login-module small,.v6147-login-module small{font-size:10px!important;line-height:1.1!important;margin-top:2px!important}
.v6148-company-confirm{max-width:520px!important;text-align:center!important;padding:28px!important}
.v6148-confirm-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;background:#e9fbf7;display:grid;place-items:center;font-size:30px}
.v6148-company-confirm h3{margin:0 0 8px;font-size:24px}
.v6148-company-confirm>p{color:#60708d;line-height:1.5}
.v6148-confirm-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.v6148-confirm-summary span{border:1px solid #dce7ee;border-radius:12px;padding:12px 8px;background:#f8fbfc;display:flex;flex-direction:column;gap:3px}
.v6148-confirm-summary b{font-size:18px;color:#073f49}.v6148-confirm-summary small{font-size:11px;color:#708097}
.v6148-confirm-note{background:#fff8df;border:1px solid #f7d56b;border-radius:12px;padding:11px!important;font-size:13px}
@media(max-width:760px){.v6144-login-modules,.v6147-login-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){.v6144-login-module small,.v6147-login-module small{display:none!important}.v6144-login-module,.v6147-login-module{min-height:48px!important}.v6148-confirm-summary{grid-template-columns:1fr!important}}


/* =========================================================
   V6.14.9 — Confirmaciones UX de Licenciamiento
   ========================================================= */
.v6148-license-confirm{max-width:500px!important;text-align:center!important;padding:28px!important}
.v6148-license-confirm-icon{width:58px;height:58px;margin:0 auto 4px;border-radius:18px;display:grid;place-items:center;font-size:28px;font-weight:900}
.v6148-license-confirm-icon.activate{background:#dcfce7;color:#047857}
.v6148-license-confirm-icon.trial{background:#fff7d6;color:#a15c00}
.v6148-license-confirm-icon.suspend{background:#fee2e2;color:#b91c1c}
.v6148-license-confirm h3{margin:0;font-size:24px}
.v6148-license-confirm>p{margin:0;color:#60708d;line-height:1.55}
.v6148-license-confirm-note{padding:11px 13px;border:1px solid #cdece4;border-radius:12px;background:#f0fdf9;color:#35615b;font-size:13px;line-height:1.45}
@media(max-width:520px){.v6148-license-confirm{padding:22px 18px!important}.v6148-license-confirm h3{font-size:21px}.v6148-license-confirm .app-confirm-actions{grid-template-columns:1fr!important}}

/* =========================================================
   V6.15 — Onboarding Comercial
   ========================================================= */
.v615-onboarding-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#d8fff7 0,transparent 35%),linear-gradient(135deg,#eefaf9,#f6f8fc)}
.v615-onboarding-card{width:min(560px,100%);background:#fff;border:1px solid #dce8eb;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(14,43,59,.14)}
.v615-onboarding-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}.v615-onboarding-brand img{width:58px;height:58px}.v615-onboarding-brand span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#008675}.v615-onboarding-brand h1{margin:3px 0 0;font-size:27px;line-height:1.08}.v615-onboarding-card>p{color:#61718b;line-height:1.55}.v615-onboarding-card form{display:grid;gap:14px;margin-top:20px}.v615-onboarding-card .btn{min-height:48px}.v615-security-note{display:block;text-align:center;margin-top:18px;color:#75849b}
.v615-onboarding-result{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:12px;padding:14px 16px;border:1px solid #f1c86e;background:#fff9e8;border-radius:14px}.v615-onboarding-result.sent{border-color:#9be5ce;background:#edfff8}.v615-onboarding-result p{margin:3px 0 0;color:#61718b}.v615-onboarding-icon{font-size:24px}.v615-access-state{margin-top:4px;color:#008675!important;font-weight:700}.v615-license-actions{grid-template-columns:repeat(5,minmax(82px,1fr))!important}
@media(max-width:1100px){.v615-license-actions{grid-template-columns:repeat(3,minmax(120px,1fr))!important}}
@media(max-width:700px){.v615-onboarding-page{padding:12px}.v615-onboarding-card{padding:22px 18px;border-radius:20px}.v615-onboarding-brand h1{font-size:23px}.v615-onboarding-result{grid-template-columns:auto 1fr}.v615-onboarding-result .btn{grid-column:1/-1}.v615-license-actions{grid-template-columns:repeat(2,minmax(120px,1fr))!important}}
@media(max-width:390px){.v615-license-actions{grid-template-columns:1fr!important}}

/* V6.15.1 — Licenciamiento: acciones perfectamente alineadas */
.v615-license-row .v615-license-actions{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  align-items:stretch!important;
}
.v615-license-row .v615-license-actions .btn{
  width:100%!important;
  min-width:0!important;
  height:42px!important;
  padding:0 10px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.1!important;
}
@media(max-width:1100px){
  .v615-license-row .v615-license-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .v615-license-row .v615-license-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:390px){
  .v615-license-row .v615-license-actions{grid-template-columns:1fr!important}
}


/* =========================================================
   V6.16 — PUNTO NEGOCIO 360 · BRAND SYSTEM
   Brand Kit Oficial: Concepto 1 Corporativo / Profesional
   ========================================================= */
:root{
  --pn360-navy:#0D1B2A;
  --pn360-blue:#2563EB;
  --pn360-teal:#06B6D4;
  --pn360-green:#10B981;
  --pn360-purple:#8B5CF6;
  --pn360-slate:#64748B;
  --pn360-light:#F1F5F9;
  --pn360-border:#E2E8F0;
  --primary:#2563EB;
  --primary-2:#06B6D4;
  --primary-dark:#0D1B2A;
  --i360-navy:#0D1B2A;
  --i360-teal:#06B6D4;
  --i360-green:#10B981;
  --i360-mint:#ECFDF5;
  --i360-blue:#2563EB;
  --i360-ink:#0D1B2A;
  --i360-muted:#64748B;
  --i360-line:#E2E8F0;
  --i360-bg:#F8FAFC;
}
/* Login: official horizontal logo, centered and compact. */
.v6144-login .v6144-brand-panel{
  background:radial-gradient(circle at 12% 15%,rgba(6,182,212,.12),transparent 30%),linear-gradient(180deg,#F8FDFF 0%,#F1F5F9 100%)!important;
  border-bottom:1px solid var(--pn360-border)!important;
}
.pn360-login-brand{gap:7px!important;width:100%;}
.pn360-login-logo{display:block;width:min(430px,92%);height:auto;max-height:112px;object-fit:contain;margin:0 auto;}
.pn360-login-brand h2{font-size:17px!important;color:var(--pn360-slate)!important;font-weight:600!important;margin:0!important;}
.v6144-login .access-submit{background:linear-gradient(90deg,var(--pn360-blue),var(--pn360-teal))!important;box-shadow:0 10px 24px rgba(37,99,235,.20)!important;}
.v6144-login .access-submit:hover{filter:brightness(.97);}
.v6144-login .v6147-login-modules i{background:#EFF6FF!important;color:var(--pn360-blue)!important;}
.v6144-login .v6147-login-modules>span{border-color:var(--pn360-border)!important;background:#fff!important;}

/* Tenant identity remains primary in sidebar; platform signature is secondary. */
.pn360-sidebar-signature{display:flex;align-items:center;gap:7px;margin:0 12px 10px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.09);font-size:10px;font-weight:800;letter-spacing:.01em;color:#e5f4ff;}
.pn360-sidebar-signature img{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.16));}
.sidebar.is-collapsed .pn360-sidebar-signature span{display:none;}
.sidebar.is-collapsed .pn360-sidebar-signature{justify-content:center;padding:7px 4px;margin-inline:7px;}
.sidebar .brand p{font-size:10px!important;opacity:.78;}

/* Dashboard signature is intentionally discreet: business information stays dominant. */
.pn360-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 4px 14px;margin-bottom:2px;border-bottom:1px solid var(--pn360-border);}
.pn360-dashboard-head>div{display:flex;align-items:center;gap:9px;min-width:0;}
.pn360-dashboard-head img{width:31px;height:31px;object-fit:contain;}
.pn360-dashboard-head span{display:grid;min-width:0;}
.pn360-dashboard-head b{font-size:13px;color:var(--pn360-navy);}
.pn360-dashboard-head small{font-size:10px;color:var(--pn360-slate);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pn360-dashboard-head em{font-size:10px;font-style:normal;color:var(--pn360-slate);white-space:nowrap;}

/* Brand kit functional colors for platform UI. */
.v6144-trial-alert{border-color:#F59E0B!important;background:#FFFBEB!important;}
.v6144-kpi.sky .v6144-kpi-icon{background:#EFF6FF!important;color:var(--pn360-blue)!important;}
.v6144-kpi.mint .v6144-kpi-icon{background:#ECFDF5!important;color:var(--pn360-green)!important;}
.v6144-line-chart polyline{stroke:var(--pn360-green)!important;}
.v615-onboarding-brand img,.v6141-expired-logo{width:58px!important;height:58px!important;object-fit:contain!important;}
.v615-onboarding-card{border-top:4px solid var(--pn360-blue)!important;}

@media(max-width:760px){
  .pn360-login-logo{width:min(390px,96%);max-height:96px;}
  .pn360-dashboard-head em{display:none;}
  .pn360-sidebar-signature{margin-bottom:8px;}
}
@media(max-width:520px){
  .pn360-login-logo{width:min(350px,98%);max-height:88px;}
  .pn360-login-brand h2{font-size:14px!important;}
  .pn360-dashboard-head{padding-inline:0;}
  .pn360-dashboard-head img{width:28px;height:28px;}
}


/* =========================================================
   V6.16.1 — PUNTO NEGOCIO 360 · REBRANDING VISUAL INTEGRAL
   Reference: Concepto 1 Corporativo / Profesional
   ========================================================= */
:root{
  --pn360-navy:#0D1B2A;
  --pn360-blue:#2563EB;
  --pn360-teal:#06B6D4;
  --pn360-green:#10B981;
  --pn360-purple:#8B5CF6;
  --pn360-slate:#64748B;
  --pn360-surface:#F8FAFC;
  --pn360-line:#E2E8F0;
}

/* Global product shell */
body{background:#F8FAFC;color:var(--pn360-navy)}
.v6144-shell .sidebar,.sidebar{
  background:linear-gradient(180deg,#07192d 0%,#0D1B2A 52%,#071525 100%)!important;
  box-shadow:12px 0 34px rgba(13,27,42,.16)!important;
}
.pn360-sidebar-platform{
  display:flex;align-items:center;justify-content:flex-start;
  min-height:74px;padding:10px 12px 8px;margin:0 0 6px;
  border-bottom:1px solid rgba(255,255,255,.12)
}
.pn360-sidebar-platform img{display:block;width:205px;max-width:100%;height:54px;object-fit:contain;object-position:left center}
.pn360-tenant-brand{
  margin:4px 8px 12px!important;padding:10px!important;border-radius:14px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)
}
.pn360-tenant-brand small{display:block;color:#67E8F9;font-size:8px;font-weight:900;letter-spacing:.12em;margin-bottom:2px}
.pn360-tenant-brand h1{font-size:15px!important;margin:0!important}
.pn360-tenant-brand p{font-size:10px!important;color:#CBD5E1!important;margin-top:2px!important}
.sidebar .branch-logo{background:rgba(37,99,235,.18)!important;border:1px solid rgba(6,182,212,.38)!important}
.sidebar .nav-btn.active,.sidebar .nav button.active{
  background:linear-gradient(90deg,rgba(37,99,235,.96),rgba(6,182,212,.82))!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 8px 18px rgba(37,99,235,.18)!important
}
.sidebar .nav-btn:hover,.sidebar .nav button:hover{background:rgba(37,99,235,.22)!important}
.nav-section-title-v6555{color:#94A3B8!important}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.11)!important}

/* Main chrome */
.topbar{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--pn360-line)!important;
  box-shadow:0 3px 16px rgba(13,27,42,.035)!important
}
.topbar-title h2{color:var(--pn360-navy)!important}
.eyebrow{color:var(--pn360-green)!important;letter-spacing:.12em!important}
.btn.success,.btn.primary,.access-submit{
  background:linear-gradient(90deg,var(--pn360-blue),var(--pn360-teal))!important;
  border-color:transparent!important;color:#fff!important
}
.btn.info{background:var(--pn360-blue)!important;color:#fff!important}
.badge.success{background:#DCFCE7!important;color:#15803D!important}
.status-pill .dot.online{background:var(--pn360-green)!important}

/* Login — one coherent corporate composition */
.login-v41.v6144-login{
  background:
    radial-gradient(circle at 12% 10%,rgba(6,182,212,.14),transparent 28%),
    radial-gradient(circle at 88% 88%,rgba(37,99,235,.10),transparent 30%),
    #F8FAFC!important;
}
.v6144-login .login-v41-card.v6144-login-card{
  border:1px solid #DDE7F0!important;box-shadow:0 24px 70px rgba(13,27,42,.14)!important
}
.v6144-login .v6144-brand-panel{
  background:linear-gradient(180deg,#F4FEFD 0%,#EFF8FF 100%)!important;
}
.pn360-login-logo{width:min(500px,94%)!important;max-height:126px!important}
.pn360-brand-promise{
  color:var(--pn360-slate);font-size:16px;font-weight:500;text-align:center;margin-top:-5px
}
.pn360-brand-triad{
  display:flex;align-items:center;justify-content:center;gap:13px;margin:4px 0 5px;font-size:12px;letter-spacing:.035em
}
.pn360-brand-triad b:nth-of-type(1){color:var(--pn360-green)}
.pn360-brand-triad b:nth-of-type(2){color:var(--pn360-blue)}
.pn360-brand-triad b:nth-of-type(3){color:var(--pn360-purple)}
.pn360-brand-triad span{color:#94A3B8}
.v6144-login .v6147-login-modules>span{
  border:1px solid #DCE7F0!important;box-shadow:0 4px 12px rgba(13,27,42,.035)!important
}
.v6144-login .v6147-login-modules i{
  background:#ECFDF5!important;color:var(--pn360-green)!important;font-style:normal
}
.v6144-login .login-v41-heading>span{color:var(--pn360-green)!important}
.v6144-login .login-v41-heading h2{color:var(--pn360-navy)!important}

/* Dashboard — same visual language as selected brand concept */
.pn360-dashboard-head{
  background:linear-gradient(90deg,#FFFFFF,#F8FBFF);
  border:1px solid var(--pn360-line)!important;border-radius:15px;
  padding:10px 14px!important;margin-bottom:12px!important
}
.pn360-dashboard-head img{width:36px!important;height:36px!important}
.pn360-dashboard-head b{font-size:14px!important}
.v6144-kpi,.v6144-dashboard-card{
  border:1px solid var(--pn360-line)!important;
  box-shadow:0 6px 18px rgba(13,27,42,.045)!important
}
.v6144-kpi.violet .v6144-kpi-icon{background:#EEF2FF!important;color:var(--pn360-blue)!important}
.v6144-kpi.coral .v6144-kpi-icon{background:#ECFEFF!important;color:var(--pn360-teal)!important}
.v6144-kpi.mint .v6144-kpi-icon{background:#ECFDF5!important;color:var(--pn360-green)!important}
.v6144-kpi.amber .v6144-kpi-icon{background:#F5F3FF!important;color:var(--pn360-purple)!important}
.v6144-kpi.sky .v6144-kpi-icon{background:#EFF6FF!important;color:var(--pn360-blue)!important}
.v6144-dashboard-card h3{color:var(--pn360-navy)!important}

/* Licensing / platform admin */
.v6144-license-center,.v6144-new-tenant-card{
  border:1px solid var(--pn360-line)!important;box-shadow:0 8px 24px rgba(13,27,42,.05)!important
}
.v6144-license-head{
  background:var(--pn360-navy)!important;color:#E2E8F0!important;border-color:var(--pn360-navy)!important
}
.v6144-license-row{border-color:var(--pn360-line)!important}
.v6144-section-title h3{color:var(--pn360-navy)!important}
.v6144-license-meta span{background:#F1F5F9!important}
.v615-license-row .v615-license-actions{align-items:stretch!important}
.v615-license-row .v615-license-actions .btn{min-height:38px!important}
.v6144-new-tenant-card{border-top:4px solid var(--pn360-green)!important}

/* Administration / cards / forms */
.card,.v6144-settings-box{
  border-color:var(--pn360-line)!important
}
.v6144-settings-box h4{color:var(--pn360-navy)!important}
input:focus,select:focus,textarea:focus{
  border-color:var(--pn360-blue)!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important
}

/* Onboarding and access states */
.v615-onboarding-card{
  border-top:5px solid var(--pn360-blue)!important;
  box-shadow:0 20px 55px rgba(13,27,42,.13)!important
}
.v615-onboarding-brand img,.v6141-expired-logo{width:72px!important;height:72px!important}
.v6144-blocked-brand b{color:var(--pn360-navy)!important}
.v6144-blocked-brand b span{color:var(--pn360-green)!important}

/* Mobile: platform mark remains recognizable without consuming navigation space */
@media(max-width:980px){
  .pn360-sidebar-platform img{width:178px;height:48px}
}
@media(max-width:620px){
  .pn360-login-logo{width:min(390px,96%)!important;max-height:105px!important}
  .pn360-brand-promise{font-size:13px}
  .pn360-brand-triad{font-size:10px;gap:8px}
  .pn360-sidebar-platform{min-height:62px}
}


/* =========================================================
   V6.16.2 — DASHBOARD PUNTO NEGOCIO 360
   Concepto 1 · Corporativo / Profesional
   ========================================================= */
.pn360-dashboard-v2{display:grid;gap:16px;min-width:0}
.pn360-dashboard-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:108px;padding:18px 22px;border:1px solid #DCE6F0;border-radius:20px;
  background:linear-gradient(118deg,#FFFFFF 0%,#F7FBFF 58%,#ECFDF5 100%);
  box-shadow:0 10px 28px rgba(13,27,42,.055)
}
.pn360-dashboard-hero:after{content:"";position:absolute;right:-70px;top:-105px;width:260px;height:260px;border:42px solid rgba(37,99,235,.045);border-radius:50%;pointer-events:none}
.pn360-dashboard-brand{display:flex;align-items:center;gap:20px;min-width:0;z-index:1}
.pn360-dashboard-brand>img{width:250px;max-width:38vw;height:66px;object-fit:contain;object-position:left center;flex:none}
.pn360-dashboard-context{display:grid;gap:2px;min-width:0;padding-left:18px;border-left:1px solid #DCE6F0}
.pn360-dashboard-context>span,.pn360-panel-kicker{font-size:9px;font-weight:900;letter-spacing:.13em;color:#10B981}
.pn360-dashboard-context>strong{font-size:17px;color:#0D1B2A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn360-dashboard-context>small{font-size:10px;color:#64748B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn360-dashboard-hero-right{z-index:1;text-align:right;flex:none}
.pn360-dashboard-hero-right p{margin:0 0 8px;color:#64748B;font-size:11px}
.pn360-dashboard-triad{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:10px;letter-spacing:.04em}
.pn360-dashboard-triad b:nth-of-type(1){color:#10B981}.pn360-dashboard-triad b:nth-of-type(2){color:#2563EB}.pn360-dashboard-triad b:nth-of-type(3){color:#8B5CF6}.pn360-dashboard-triad i{font-style:normal;color:#94A3B8}

.pn360-kpi-grid{gap:13px!important}
.pn360-kpi{position:relative;overflow:hidden;padding:16px!important;border:1px solid #E2E8F0!important;border-radius:16px!important;box-shadow:0 7px 20px rgba(13,27,42,.045)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pn360-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2563EB}
.pn360-kpi:hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(13,27,42,.08)!important;border-color:#CBD5E1!important}
.pn360-kpi .v6144-kpi-icon{border-radius:12px!important;font-size:15px!important}
.pn360-kpi.sales:before{background:#2563EB}.pn360-kpi.sales .v6144-kpi-icon{background:#EFF6FF!important;color:#2563EB!important}
.pn360-kpi.receivable:before{background:#06B6D4}.pn360-kpi.receivable .v6144-kpi-icon{background:#ECFEFF!important;color:#0891B2!important}
.pn360-kpi.clients:before{background:#10B981}.pn360-kpi.clients .v6144-kpi-icon{background:#ECFDF5!important;color:#059669!important}
.pn360-kpi.products:before{background:#8B5CF6}.pn360-kpi.products .v6144-kpi-icon{background:#F5F3FF!important;color:#7C3AED!important}
.pn360-kpi.inventory:before{background:#0D1B2A}.pn360-kpi.inventory .v6144-kpi-icon{background:#F1F5F9!important;color:#0D1B2A!important}
.pn360-kpi small{font-size:10px!important;color:#64748B!important;font-weight:500}
.pn360-kpi strong{font-size:22px!important;color:#0D1B2A!important;letter-spacing:-.025em}
.pn360-kpi em{font-size:9px!important;color:#64748B!important}

.pn360-panel{border:1px solid #E2E8F0!important;border-radius:18px!important;padding:18px!important;box-shadow:0 8px 24px rgba(13,27,42,.045)!important}
.pn360-panel-primary{border-top:3px solid #2563EB!important}
.pn360-panel header{margin-bottom:12px!important}
.pn360-panel h3{margin-top:2px!important;font-size:15px!important;color:#0D1B2A!important}
.pn360-panel header p{font-size:10px!important;color:#64748B!important}
.pn360-panel-kicker{display:block;margin-bottom:3px}
.pn360-panel .v6144-soft-chip{background:#EFF6FF!important;border-color:#BFDBFE!important;color:#1D4ED8!important;font-weight:700}
.v6144-line-chart{height:198px!important}
.v6144-line-chart text{fill:#64748B!important}
.pn360-portfolio .v6144-portfolio-row{align-items:center;background:#fff;border-color:#E2E8F0!important;padding:13px 13px!important}
.pn360-portfolio .v6144-portfolio-row span{display:flex;align-items:center;gap:8px;color:#334155}
.pn360-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#10B981}.pn360-dot.overdue{background:#EF4444}.pn360-dot.total{background:#2563EB}
.pn360-portfolio .v6144-portfolio-row b{color:#059669!important}.pn360-portfolio .v6144-portfolio-row.danger b{color:#DC2626!important}.pn360-portfolio .v6144-portfolio-row.total{background:#EFF6FF!important}.pn360-portfolio .v6144-portfolio-row.total b{color:#1D4ED8!important}
.pn360-outline-btn{background:#F8FAFC!important;color:#0D1B2A!important;border:1px solid #DCE6F0!important;box-shadow:none!important}
.pn360-outline-btn:hover{background:#EFF6FF!important;color:#1D4ED8!important;border-color:#BFDBFE!important}
.pn360-alert-panel .notice{border-radius:12px!important;padding:14px!important;font-size:11px!important}
.pn360-bottom-grid .table-wrap,.pn360-bottom-grid table{border-radius:12px!important}

@media(max-width:1320px){
  .pn360-dashboard-brand>img{width:220px;max-width:34vw}
  .pn360-dashboard-context>small{max-width:280px}
}
@media(max-width:1050px){
  .pn360-dashboard-hero{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 18px}
  .pn360-dashboard-brand{width:100%}
  .pn360-dashboard-brand>img{width:220px;max-width:42vw}
  .pn360-dashboard-hero-right{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left}
  .pn360-dashboard-triad{justify-content:flex-start}
}
@media(max-width:760px){
  .pn360-dashboard-v2{gap:12px}
  .pn360-dashboard-hero{min-height:auto;border-radius:16px;padding:14px}
  .pn360-dashboard-brand{gap:12px;align-items:flex-start}
  .pn360-dashboard-brand>img{width:165px;max-width:48vw;height:50px}
  .pn360-dashboard-context{padding-left:12px}
  .pn360-dashboard-context>strong{font-size:14px}
  .pn360-dashboard-context>small{white-space:normal;line-height:1.3}
  .pn360-dashboard-hero-right p{display:none}
  .pn360-dashboard-triad{font-size:9px}
  .pn360-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pn360-kpi{grid-template-columns:40px minmax(0,1fr)!important;padding:13px!important;gap:9px!important}
  .pn360-kpi .v6144-kpi-icon{width:38px!important;height:38px!important}
  .pn360-kpi strong{font-size:18px!important}
  .pn360-panel{padding:14px!important;border-radius:15px!important}
}
@media(max-width:520px){
  .pn360-dashboard-brand{display:grid;grid-template-columns:1fr}
  .pn360-dashboard-brand>img{width:205px;max-width:80vw;height:54px}
  .pn360-dashboard-context{border-left:0;border-top:1px solid #DCE6F0;padding:9px 0 0}
  .pn360-dashboard-hero-right{display:none}
  .pn360-kpi-grid{grid-template-columns:1fr!important}
  .pn360-kpi{min-height:75px}
  .pn360-panel header{align-items:flex-start!important}
  .pn360-panel header .btn{min-height:40px}
  .v6144-line-chart{height:180px!important}
  .v6144-donut-wrap{grid-template-columns:100px 1fr!important;gap:12px!important}
}


/* =========================================================
   V6.16.3 — REBRANDING TRANSVERSAL DE MÓDULOS
   PuntoNegocio360 · Concepto 1 Corporativo / Profesional
   ========================================================= */

.pn360-module-page{
  --module-accent:#2563EB;
  --module-soft:#EFF6FF;
  --module-accent-2:#06B6D4;
  min-width:0;
  padding-bottom:24px;
}
.pn360-module-facturas,.pn360-module-pos{--module-accent:#2563EB;--module-soft:#EFF6FF;--module-accent-2:#06B6D4}
.pn360-module-caja,.pn360-module-posMonitor,.pn360-module-abonos{--module-accent:#10B981;--module-soft:#ECFDF5;--module-accent-2:#06B6D4}
.pn360-module-cartera,.pn360-module-saldosIniciales{--module-accent:#06B6D4;--module-soft:#ECFEFF;--module-accent-2:#2563EB}
.pn360-module-clientes{--module-accent:#10B981;--module-soft:#ECFDF5;--module-accent-2:#2563EB}
.pn360-module-inventario,.pn360-module-productos,.pn360-module-compras{--module-accent:#8B5CF6;--module-soft:#F5F3FF;--module-accent-2:#2563EB}
.pn360-module-catalogos,
[class*="pn360-module-catalogos-"],
.pn360-module-sucursales{--module-accent:#0D1B2A;--module-soft:#F1F5F9;--module-accent-2:#2563EB}
.pn360-module-reportes{--module-accent:#2563EB;--module-soft:#EFF6FF;--module-accent-2:#8B5CF6}
.pn360-module-ia{--module-accent:#8B5CF6;--module-soft:#F5F3FF;--module-accent-2:#06B6D4}

/* Cabecera global de cada pantalla: más limpia, menos altura y consistente con la marca. */
.main>.topbar{
  position:relative;
  min-height:78px;
  padding:14px 22px!important;
  background:linear-gradient(100deg,#fff 0%,#F8FBFF 72%,#F0FDFA 100%)!important;
}
.main>.topbar:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,#2563EB,#06B6D4,#10B981);
}
.topbar-title h2{font-size:24px!important;letter-spacing:-.035em}
.topbar-title small{color:#64748B!important;font-size:11px!important}
.top-actions .status-pill{background:#F8FAFC!important;border:1px solid #E2E8F0!important}

/* Tarjetas y secciones */
.pn360-module-page>.card,
.pn360-module-page .card,
.pn360-module-page [class*="-card"]{
  border-color:#E2E8F0;
}
.pn360-module-page>.card,
.pn360-module-page .card{
  border-radius:17px!important;
  box-shadow:0 7px 22px rgba(13,27,42,.045);
}
.pn360-module-page>.card:hover{
  border-color:#D4DEE9;
}
.pn360-module-page .card h2,
.pn360-module-page .card h3,
.pn360-module-page .card h4,
.pn360-module-page .section-heading h2,
.pn360-module-page .section-heading h3{
  color:#0D1B2A!important;
  letter-spacing:-.018em;
}
.pn360-module-page .section-heading{
  gap:16px;
  border-bottom:1px solid #EEF2F7;
  padding-bottom:12px;
  margin-bottom:14px;
}
.pn360-module-page .section-heading p,
.pn360-module-page .muted{color:#64748B!important}

/* Acento de marca en las tarjetas principales, sin convertir toda la UI en un bloque de color. */
.pn360-module-page>.card:first-child,
.pn360-module-page>.page-stack>.card:first-child,
.pn360-module-page>[class*="-page"]>.card:first-child{
  position:relative;overflow:hidden;
}
.pn360-module-page>.card:first-child:before,
.pn360-module-page>.page-stack>.card:first-child:before,
.pn360-module-page>[class*="-page"]>.card:first-child:before{
  content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--module-accent),var(--module-accent-2));
}

/* Botones: azul = acción primaria, verde = confirmación, rojo solo destructivo. */
.pn360-module-page .btn.primary{
  background:linear-gradient(90deg,#2563EB,#1D4ED8)!important;color:#fff!important;
  border-color:transparent!important;
}
.pn360-module-page .btn.info{
  background:linear-gradient(90deg,var(--module-accent),var(--module-accent-2))!important;
  color:#fff!important;border-color:transparent!important;
}
.pn360-module-page .btn.success{
  background:linear-gradient(90deg,#10B981,#059669)!important;color:#fff!important;border-color:transparent!important;
}
.pn360-module-page .btn.secondary{
  background:#F8FAFC!important;color:#0D1B2A!important;border:1px solid #DCE6F0!important;
}
.pn360-module-page .btn.secondary:hover{background:var(--module-soft)!important;border-color:#CBD5E1!important}
.pn360-module-page .btn{border-radius:10px;transition:transform .15s ease,box-shadow .15s ease}
.pn360-module-page .btn:hover{transform:translateY(-1px)}
.pn360-module-page .btn:focus-visible{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}

/* Formularios */
.pn360-module-page .field label,
.pn360-module-page form label{color:#334155;font-weight:700}
.pn360-module-page input,
.pn360-module-page select,
.pn360-module-page textarea{
  border-color:#DCE6F0!important;background:#fff!important;border-radius:10px!important;
}
.pn360-module-page input:focus,
.pn360-module-page select:focus,
.pn360-module-page textarea:focus{
  border-color:var(--module-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--module-accent) 12%,transparent)!important;
}

/* Métricas / KPIs */
.pn360-module-page .metric{
  position:relative;overflow:hidden;border:1px solid #E2E8F0!important;border-radius:15px!important;
  background:#fff!important;box-shadow:0 6px 18px rgba(13,27,42,.04)!important;
}
.pn360-module-page .metric:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--module-accent);
}
.pn360-module-page .metric .label{color:#64748B!important}
.pn360-module-page .metric .value{color:#0D1B2A!important}
.pn360-module-page .metric .hint{color:#64748B!important}

/* Tablas operativas */
.pn360-module-page .table-wrap{
  border:1px solid #E2E8F0!important;border-radius:13px!important;overflow:auto;
  background:#fff;
}
.pn360-module-page table{background:#fff}
.pn360-module-page table thead th{
  background:#F1F5F9!important;color:#475569!important;
  font-size:10px!important;letter-spacing:.035em;text-transform:uppercase;
  border-bottom:1px solid #DCE6F0!important;
}
.pn360-module-page table tbody tr{transition:background .12s ease}
.pn360-module-page table tbody tr:hover{background:#F8FAFC!important}
.pn360-module-page table td{border-color:#EEF2F7!important}

/* Tabs, filtros y chips */
.pn360-module-page .tabs,
.pn360-module-page [class*="tabs"]{border-color:#E2E8F0!important}
.pn360-module-page .tab.active,
.pn360-module-page [class*="tab"].active{
  color:var(--module-accent)!important;border-color:var(--module-accent)!important;
}
.pn360-module-page .badge.info{background:var(--module-soft)!important;color:var(--module-accent)!important}
.pn360-module-page .notice.info{background:#EFF6FF!important;border-color:#BFDBFE!important;color:#1E40AF!important}
.pn360-module-page .notice.success{background:#ECFDF5!important;border-color:#A7F3D0!important;color:#047857!important}
.pn360-module-page .notice.warning{background:#FFFBEB!important;border-color:#FDE68A!important;color:#92400E!important}
.pn360-module-page .notice.danger{background:#FEF2F2!important;border-color:#FECACA!important;color:#B91C1C!important}

/* POS / Caja: operación rápida y táctil */
.pn360-module-pos .pos-page,
.pn360-module-caja [class*="cash"],
.pn360-module-posMonitor [class*="pos"]{min-width:0}
.pn360-module-pos .btn,
.pn360-module-caja .btn{min-height:40px}
.pn360-module-pos [class*="product-card"],
.pn360-module-pos [class*="pos-card"]{
  border-radius:14px!important;border-color:#E2E8F0!important;
}
.pn360-module-pos [class*="product-card"]:hover{
  border-color:#93C5FD!important;box-shadow:0 7px 18px rgba(37,99,235,.08)!important;
}
.pn360-module-caja .metric:before,
.pn360-module-posMonitor .metric:before{background:#10B981}

/* Facturación / Abonos / Cartera: foco financiero */
.pn360-module-facturas .total,
.pn360-module-abonos .total,
.pn360-module-cartera .total{color:#0D1B2A}
.pn360-module-facturas [class*="summary"],
.pn360-module-abonos [class*="summary"],
.pn360-module-cartera [class*="summary"]{
  border-radius:14px!important;
}

/* Inventario / Productos / Compras */
.pn360-module-inventario [class*="stock"],
.pn360-module-productos [class*="product"],
.pn360-module-compras [class*="lot"]{min-width:0}
.pn360-module-productos .catalog-product-cell img,
.pn360-module-productos .product-image-preview img{
  border-radius:10px!important;border:1px solid #E2E8F0;
}

/* Catálogos y sucursales */
.pn360-module-catalogos .nav-child,
[class*="pn360-module-catalogos-"] .nav-child{color:#0D1B2A}
.pn360-module-sucursales .branch-card,
.pn360-module-sucursales [class*="branch"]{
  border-color:#E2E8F0;
}

/* Reportes */
.pn360-module-reportes .metric:before:nth-child(4n+1){background:#2563EB}
.pn360-module-reportes svg [stroke="#10b981"],
.pn360-module-reportes svg [stroke="#10B981"]{stroke:#2563EB}

/* IA Operativa */
.pn360-module-ia>.card:first-child{
  background:linear-gradient(118deg,#fff 0%,#F8FAFF 62%,#F5F3FF 100%)!important;
}
.pn360-module-ia .btn.info{
  background:linear-gradient(90deg,#8B5CF6,#2563EB)!important;
}

/* Responsive UX: evita grids rígidos y scroll horizontal de la página. */
@media(max-width:1180px){
  .pn360-module-page .grid.cols-4,
  .pn360-module-page .grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pn360-module-page .form-grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .main>.topbar{padding:12px 14px!important;min-height:70px}
  .topbar-title h2{font-size:20px!important}
  .pn360-module-page .grid.cols-3,
  .pn360-module-page .grid.cols-4,
  .pn360-module-page .grid.cols-5,
  .pn360-module-page .form-grid.cols-3,
  .pn360-module-page .form-grid.cols-4,
  .pn360-module-page .form-grid.cols-5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
  .pn360-module-page .card{padding:14px!important}
  .pn360-module-page .section-heading{align-items:flex-start!important}
  .pn360-module-page .actions{flex-wrap:wrap}
  .pn360-module-page .actions>.btn{min-height:40px}
}
@media(max-width:560px){
  .pn360-module-page{padding-bottom:76px}
  .main>.topbar{align-items:flex-start!important;gap:8px!important}
  .topbar-title{min-width:0}
  .topbar-title h2{font-size:18px!important}
  .topbar-title small{display:block;white-space:normal;line-height:1.35}
  .top-actions{gap:6px!important}
  .top-actions>.badge{display:none}
  .status-pill{font-size:9px!important;padding:7px 9px!important}
  .pn360-module-page .grid,
  .pn360-module-page .grid.cols-2,
  .pn360-module-page .grid.cols-3,
  .pn360-module-page .grid.cols-4,
  .pn360-module-page .grid.cols-5,
  .pn360-module-page .form-grid,
  .pn360-module-page .form-grid.cols-2,
  .pn360-module-page .form-grid.cols-3,
  .pn360-module-page .form-grid.cols-4,
  .pn360-module-page .form-grid.cols-5{
    grid-template-columns:1fr!important
  }
  .pn360-module-page .card{border-radius:14px!important;padding:12px!important}
  .pn360-module-page .section-heading{display:grid!important;grid-template-columns:1fr!important}
  .pn360-module-page .section-heading .actions{width:100%}
  .pn360-module-page .section-heading .actions .btn{flex:1 1 auto}
  .pn360-module-page .metric{min-height:82px}
  .pn360-module-page .table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}
  .pn360-module-pos .btn,
  .pn360-module-caja .btn{min-height:44px}
}


/* =========================================================
   V6.16.4 — PUNTO NEGOCIO 360 / UX BRAND ALIGNMENT
   Concepto 1 · Corporativo / Profesional
   ========================================================= */
:root{
  --pn360-navy:#0D1B2A;
  --pn360-blue:#2563EB;
  --pn360-blue-deep:#1D4ED8;
  --pn360-teal:#06B6D4;
  --pn360-green:#10B981;
  --pn360-purple:#8B5CF6;
  --pn360-slate:#64748B;
  --pn360-bg:#F8FAFC;
  --pn360-line:#E2E8F0;
}

/* ---------- SIDEBAR: más limpio ---------- */
.sidebar.sidebar-v6555{
  background:linear-gradient(180deg,#07172A 0%,#0D1B2A 52%,#081522 100%)!important;
  padding-top:10px!important;
}
.pn360-sidebar-platform{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:64px!important;
  margin:0 8px 8px!important;
  padding:7px 8px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  background:transparent!important;
}
.pn360-sidebar-platform img{
  width:190px!important;
  max-width:calc(100% - 48px)!important;
  height:46px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.pn360-sidebar-platform .sidebar-toggle-v6555,
.pn360-sidebar-platform .sidebar-toggle-v6510{
  position:static!important;
  flex:0 0 38px!important;
  width:38px!important;height:38px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.pn360-sidebar-platform .sidebar-toggle-v6555:hover,
.pn360-sidebar-platform .sidebar-toggle-v6510:hover{
  background:rgba(37,99,235,.22)!important;
  border-color:rgba(96,165,250,.28)!important;
}
.sidebar-header-v657{
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  position:static!important;
}
.pn360-tenant-brand{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:70px!important;
  margin:6px 8px 9px!important;
  padding:10px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.pn360-tenant-brand .branch-logo{
  width:46px!important;height:46px!important;min-width:46px!important;
  border-radius:12px!important;
  font-size:16px!important;
  background:linear-gradient(145deg,#1E3A8A,#2563EB)!important;
  border:1px solid rgba(103,232,249,.35)!important;
}
.pn360-tenant-brand>div:last-child{min-width:0!important}
.pn360-tenant-brand small{
  margin:0 0 2px!important;
  color:#67E8F9!important;
  font-size:7.5px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
}
.pn360-tenant-brand h1{
  margin:0!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pn360-tenant-brand p{display:none!important}
.sidebar .branch-scope{
  margin:0 8px 12px!important;
  gap:5px!important;
}
.sidebar .branch-scope label{
  color:#AFC0D3!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}
.sidebar .pill-select{
  min-height:42px!important;
  padding:8px 34px 8px 11px!important;
  border-radius:11px!important;
  border:1px solid rgba(148,163,184,.28)!important;
  background:#17283D!important;
  color:#fff!important;
  font-size:12px!important;
}
.sidebar .nav-section-title-v6555{
  margin:10px 10px 5px!important;
  padding:0!important;
  color:#8193A9!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}
.sidebar .nav-btn{
  min-height:39px!important;
  margin:1px 5px!important;
  border-radius:10px!important;
}
.sidebar .nav-btn.active{
  background:linear-gradient(90deg,rgba(37,99,235,.92),rgba(6,182,212,.62))!important;
  box-shadow:0 5px 14px rgba(37,99,235,.16)!important;
}
.sidebar .nav-btn:hover:not(.active){background:rgba(255,255,255,.07)!important}

/* Collapsed desktop */
.sidebar.sidebar-v6555.is-collapsed .pn360-sidebar-platform{
  justify-content:center!important;
  padding:7px 4px!important;
}
.sidebar.sidebar-v6555.is-collapsed .pn360-sidebar-platform img{display:none!important}
.sidebar.sidebar-v6555.is-collapsed .pn360-sidebar-platform .sidebar-toggle-v6555{
  flex-basis:38px!important;
}
.sidebar.sidebar-v6555.is-collapsed .pn360-tenant-brand{
  display:flex!important;justify-content:center!important;
  padding:7px 4px!important;margin:5px 6px 9px!important;
}
.sidebar.sidebar-v6555.is-collapsed .pn360-tenant-brand>div:last-child{display:none!important}
.sidebar.sidebar-v6555.is-collapsed .pn360-tenant-brand .branch-logo{width:42px!important;height:42px!important;min-width:42px!important}

/* ---------- LOGIN: branding único, no repetido ---------- */
.pn360-login-brand{
  margin-bottom:2px!important;
  padding:0!important;
}
.pn360-login-logo{
  display:block!important;
  width:min(520px,96%)!important;
  max-height:138px!important;
  margin:0 auto!important;
  object-fit:contain!important;
}
.pn360-brand-promise,.pn360-brand-triad{display:none!important}
.v6144-login .v6147-login-modules{
  margin-top:5px!important;
}
.v6144-login .v6147-login-modules>span{
  min-height:64px!important;
  padding:10px 12px!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.86)!important;
}
.v6144-login .v6147-login-modules i{
  width:38px!important;height:38px!important;
  border-radius:10px!important;
  background:#ECFEFF!important;
  color:#0891B2!important;
}
.v6144-login .v6147-login-modules b{color:#0D1B2A!important}
.v6144-login .v6147-login-modules small{color:#64748B!important}

/* ---------- BOTONES: el verde deja de ser CTA ---------- */
/* Verde queda reservado a estados, indicadores y resultados positivos. */
.btn.success,
.pn360-module-page .btn.success,
button.btn.success,
.access-submit,
.critical-action.btn.success{
  background:linear-gradient(100deg,var(--pn360-blue) 0%,var(--pn360-blue-deep) 58%,#0891B2 100%)!important;
  color:#fff!important;
  border:1px solid transparent!important;
  box-shadow:0 5px 13px rgba(37,99,235,.15)!important;
}
.btn.success:hover,
.pn360-module-page .btn.success:hover,
button.btn.success:hover,
.access-submit:hover{
  background:linear-gradient(100deg,#1D4ED8 0%,#1E40AF 58%,#0E7490 100%)!important;
  box-shadow:0 7px 17px rgba(37,99,235,.20)!important;
}
.btn.primary,
.pn360-module-page .btn.primary{
  background:linear-gradient(100deg,#2563EB,#1D4ED8)!important;
  color:#fff!important;border-color:transparent!important;
}
.btn.info,
.pn360-module-page .btn.info{
  background:linear-gradient(100deg,#0EA5E9,#2563EB)!important;
  color:#fff!important;border-color:transparent!important;
}
/* Estados sí conservan verde */
.badge.success,.notice.success,.status-success,[class*="status"].success{}

/* ---------- SISTEMA DE SUPERFICIES / ALINEACIÓN ---------- */
.pn360-module-page{
  color:#0D1B2A!important;
}
.pn360-module-page>.card,
.pn360-module-page .card{
  border:1px solid #E2E8F0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(13,27,42,.038)!important;
}
.pn360-module-page .card + .card{margin-top:14px}
.pn360-module-page .section-heading{
  min-height:54px;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #EEF2F7!important;
}
.pn360-module-page .section-heading>div:first-child{min-width:0}
.pn360-module-page .section-heading h2,
.pn360-module-page .section-heading h3{
  margin:0 0 3px!important;
}
.pn360-module-page .actions{
  display:flex!important;align-items:center!important;gap:8px!important;
}
.pn360-module-page .actions .btn,
.pn360-module-page .form-actions .btn{
  min-height:40px!important;
  padding:8px 13px!important;
  border-radius:10px!important;
  white-space:nowrap;
}

/* Forms */
.pn360-module-page input,
.pn360-module-page select,
.pn360-module-page textarea{
  min-height:42px;
  border:1px solid #DCE5EF!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#0F172A!important;
}
.pn360-module-page textarea{min-height:88px}
.pn360-module-page .field label,
.pn360-module-page form label{
  display:block;
  color:#475569!important;
  font-size:10.5px!important;
  font-weight:700!important;
  margin-bottom:5px!important;
}
.pn360-module-page input:focus,
.pn360-module-page select:focus,
.pn360-module-page textarea:focus{
  border-color:#2563EB!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}

/* Tables */
.pn360-module-page .table-wrap{
  border:1px solid #E2E8F0!important;
  border-radius:13px!important;
  overflow:auto!important;
  background:#fff!important;
}
.pn360-module-page table{width:100%;border-collapse:separate;border-spacing:0}
.pn360-module-page table thead th{
  height:42px!important;
  padding:9px 11px!important;
  background:#F4F7FB!important;
  color:#475569!important;
  border-bottom:1px solid #DCE5EF!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
}
.pn360-module-page table tbody td{
  padding:10px 11px!important;
  border-bottom:1px solid #EEF2F7!important;
  vertical-align:middle!important;
}
.pn360-module-page table tbody tr:hover td{background:#FAFCFF!important}

/* Metrics */
.pn360-module-page .metric{
  min-height:94px!important;
  padding:14px 15px 13px 18px!important;
  border:1px solid #E2E8F0!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
.pn360-module-page .metric:before{
  width:3px!important;
  background:linear-gradient(180deg,#2563EB,#06B6D4)!important;
}
.pn360-module-page .metric .label{font-size:9px!important;font-weight:700!important}
.pn360-module-page .metric .value{font-size:20px!important;letter-spacing:-.025em!important}

/* Notices */
.pn360-module-page .notice{
  border-radius:11px!important;
  padding:10px 12px!important;
}
.pn360-module-page .notice.info{
  background:#EFF6FF!important;border-color:#BFDBFE!important;color:#1E40AF!important;
}
.pn360-module-page .notice.success{
  background:#ECFDF5!important;border-color:#A7F3D0!important;color:#047857!important;
}

/* Modales */
.modal-card,.operational-modal,.pos-ticket-modal{
  border-radius:18px!important;
  border:1px solid #E2E8F0!important;
  box-shadow:0 26px 70px rgba(13,27,42,.22)!important;
}
.modal-header,.operational-modal header{
  border-bottom:1px solid #EEF2F7!important;
}

/* Consistencia del topbar */
.main>.topbar{
  background:#fff!important;
  border-bottom:1px solid #E2E8F0!important;
}
.main>.topbar:before{
  background:linear-gradient(180deg,#2563EB,#06B6D4)!important;
}
.topbar-title h2{color:#0D1B2A!important}
.topbar-title small{color:#64748B!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1100px){
  .pn360-sidebar-platform img{width:170px!important}
}
@media(max-width:820px){
  .pn360-module-page .section-heading{
    align-items:flex-start!important;
  }
  .pn360-module-page .actions{
    flex-wrap:wrap!important;
  }
  .pn360-module-page .actions .btn{
    flex:0 1 auto;
  }
}
@media(max-width:620px){
  .pn360-login-logo{
    width:min(430px,98%)!important;
    max-height:112px!important;
  }
  .v6144-login .v6147-login-modules{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .v6144-login .v6147-login-modules>span{
    min-height:58px!important;
    padding:8px 9px!important;
  }
  .pn360-module-page .section-heading{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .pn360-module-page .actions{
    width:100%!important;
  }
  .pn360-module-page .actions .btn{
    flex:1 1 calc(50% - 4px)!important;
    min-width:0!important;
    white-space:normal!important;
  }
  .pn360-module-page .form-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .pn360-module-page .form-actions .btn{width:100%!important}
}
@media(max-width:390px){
  .v6144-login .v6147-login-modules{
    grid-template-columns:1fr!important;
  }
  .pn360-module-page .actions .btn{
    flex-basis:100%!important;
  }
}


/* =========================================================
   V6.16.5 — CORRECCIÓN DEFINITIVA
   1. CTAs heredados teal/verde -> Azul PuntoNegocio360
   2. Sidebar / selector de sucursal sin superposición
   ========================================================= */

/* ---------------------------------------------------------
   BOTONES
   El verde se reserva para estados positivos, NO para CTAs.
   Cubre también botones antiguos que solo tienen class="btn".
   --------------------------------------------------------- */
.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral),
button.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral),
a.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral),
.pn360-module-page .btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral){
  background:linear-gradient(100deg,#2563EB 0%,#1D4ED8 62%,#0891B2 100%)!important;
  background-color:#2563EB!important;
  border-color:transparent!important;
  color:#FFFFFF!important;
  box-shadow:0 5px 14px rgba(37,99,235,.16)!important;
}
.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral):hover,
button.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral):hover,
a.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral):hover{
  background:linear-gradient(100deg,#1D4ED8 0%,#1E40AF 62%,#0E7490 100%)!important;
  background-color:#1D4ED8!important;
  box-shadow:0 7px 18px rgba(37,99,235,.22)!important;
}
.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral):active{
  transform:translateY(0)!important;
  box-shadow:0 3px 9px rgba(37,99,235,.14)!important;
}
.btn:not(.secondary):not(.danger):not(.warning):not(.ghost):not(.neutral):focus-visible{
  outline:3px solid rgba(37,99,235,.22)!important;
  outline-offset:2px!important;
}

/* Controles históricamente teal que funcionan como acción */
.catalog-menu-btn.active,
.catalog-subtabs button.active{
  background:linear-gradient(100deg,#2563EB,#1D4ED8)!important;
  border-color:#2563EB!important;
  color:#fff!important;
}
.abonos-section-title>span{
  background:linear-gradient(135deg,#2563EB,#06B6D4)!important;
}
.money-input-wrap>span{color:#2563EB!important}

/* Botones especiales / acciones críticas que no usan .btn */
.access-submit{
  background:linear-gradient(100deg,#2563EB 0%,#1D4ED8 62%,#0891B2 100%)!important;
  box-shadow:0 8px 20px rgba(37,99,235,.18)!important;
}
.access-submit:hover{
  background:linear-gradient(100deg,#1D4ED8,#1E40AF,#0E7490)!important;
  box-shadow:0 10px 24px rgba(37,99,235,.22)!important;
}

/* El verde permanece exclusivamente como semántica de estado */
.badge.success,
.notice.success,
.status-success,
.status-pill.success,
.state-success,
.paid,
.liquidated{
  /* preserva semántica positiva */
}

/* ---------------------------------------------------------
   SIDEBAR
   Separación estructural: Plataforma > Negocio > Sucursal.
   Ningún estado collapsed puede hacerlos superponerse.
   --------------------------------------------------------- */
.sidebar.sidebar-v6555{
  display:flex!important;
  flex-direction:column!important;
  overflow-x:hidden!important;
}

.pn360-sidebar-platform{
  order:1!important;
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
}

.pn360-tenant-brand{
  order:2!important;
  position:relative!important;
  z-index:4!important;
  flex:0 0 auto!important;
  width:calc(100% - 16px)!important;
  max-width:calc(100% - 16px)!important;
  min-height:66px!important;
  margin:4px 8px 8px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

.sidebar .branch-scope{
  order:3!important;
  position:relative!important;
  z-index:3!important;
  flex:0 0 auto!important;
  width:calc(100% - 16px)!important;
  max-width:calc(100% - 16px)!important;
  margin:0 8px 12px!important;
  padding:0!important;
  box-sizing:border-box!important;
  transform:none!important;
  inset:auto!important;
}

.sidebar .branch-scope label{
  position:static!important;
  display:block!important;
  margin:0 0 5px 2px!important;
}

.sidebar .branch-scope .pill-select,
.sidebar .branch-scope select{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}

/* El resto de la navegación continúa después del contexto */
.sidebar .nav,
.sidebar nav{order:4!important}
.sidebar .sidebar-footer{order:5!important}

/* Estado colapsado REAL: no se muestra contexto de negocio/sucursal.
   Esto elimina la antigua regla que volvía a forzar branch-scope visible. */
.sidebar-v6555.is-collapsed .pn360-tenant-brand,
.sidebar-v6555.is-collapsed .branch-scope,
.sidebar-v6555.is-collapsed>.sync-row{
  display:none!important;
}

/* No permitir que reglas heredadas reabran el selector */
.sidebar-v6555.is-collapsed .branch-scope{
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Sidebar expandido: contexto siempre ordenado */
.sidebar-v6555:not(.is-collapsed) .pn360-tenant-brand{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
}
.sidebar-v6555:not(.is-collapsed) .branch-scope{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
}

/* Cuando se usa como drawer móvil, conservar estructura vertical limpia */
@media(max-width:820px){
  .sidebar.sidebar-v6555:not(.is-collapsed){
    overflow-y:auto!important;
  }
  .sidebar-v6555:not(.is-collapsed) .pn360-tenant-brand{
    min-height:62px!important;
    margin-bottom:8px!important;
  }
  .sidebar-v6555:not(.is-collapsed) .branch-scope{
    margin-bottom:10px!important;
  }
  .sidebar .branch-scope .pill-select,
  .sidebar .branch-scope select{
    min-height:44px!important;
  }
}

/* Pantallas muy angostas: evitar cualquier desborde del nombre */
@media(max-width:390px){
  .pn360-tenant-brand h1{
    max-width:100%!important;
    font-size:13px!important;
  }
  .sidebar .branch-scope select{
    font-size:11px!important;
  }
}


/* =========================================================
   V6.16.6 — SIDEBAR / IDENTIDAD DE PLATAFORMA + SUCURSALES
   ========================================================= */

/* Firma de plataforma compacta:
   isotipo + wordmark, sin slogan dentro del sidebar. */
.pn360-sidebar-platform{
  min-height:54px!important;
  height:auto!important;
  padding:7px 7px 8px!important;
  margin:0 8px 6px!important;
  border-bottom:1px solid rgba(148,163,184,.15)!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  background:transparent!important;
  overflow:visible!important;
}
.pn360-platform-signature{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:8px;
  height:38px;
}
.pn360-platform-signature>img{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  object-fit:contain!important;
  display:block!important;
}
.pn360-platform-signature>span{
  min-width:0;
  color:#F8FAFC;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.025em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pn360-platform-signature>span>span{
  color:#10B981;
}
.pn360-sidebar-platform .sidebar-toggle-v6555,
.pn360-sidebar-platform .sidebar-toggle-v6510{
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
}

/* Tenant: bloque completamente independiente de la plataforma */
.pn360-tenant-brand{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:68px!important;
  margin:3px 8px 8px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  background:rgba(255,255,255,.05)!important;
  overflow:hidden!important;
}
.pn360-tenant-brand .branch-logo{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
}
.pn360-tenant-brand h1{
  white-space:normal!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-height:1.15!important;
}

/* Selector de sucursal: control oscuro, opciones desplegadas claras y legibles */
.sidebar .branch-scope{
  position:relative!important;
  z-index:1!important;
  overflow:visible!important;
}
.sidebar .branch-scope select,
.sidebar .branch-scope .pill-select{
  color-scheme:light!important;
  color:#FFFFFF!important;
  background:#17283D!important;
  border-color:#3A4C63!important;
}
.sidebar .branch-scope select option{
  background:#FFFFFF!important;
  color:#0D1B2A!important;
  font-weight:500!important;
}
.sidebar .branch-scope select option:checked{
  background:#2563EB!important;
  color:#FFFFFF!important;
}
.sidebar .branch-scope select option:disabled{
  color:#94A3B8!important;
  background:#F8FAFC!important;
}

/* En Windows/Chromium algunos estados usan estilos del sistema:
   mantener texto oscuro aun cuando el option recibe foco. */
.sidebar select option:hover,
.sidebar select option:focus{
  background:#EFF6FF!important;
  color:#0D1B2A!important;
}

/* Collapsed: mostrar únicamente isotipo de plataforma + toggle.
   El tenant y selector no compiten por espacio. */
.sidebar-v6555.is-collapsed .pn360-sidebar-platform{
  justify-content:center!important;
  padding:7px 4px!important;
}
.sidebar-v6555.is-collapsed .pn360-platform-signature{
  flex:0 0 34px!important;
}
.sidebar-v6555.is-collapsed .pn360-platform-signature>span{
  display:none!important;
}
.sidebar-v6555.is-collapsed .pn360-tenant-brand,
.sidebar-v6555.is-collapsed .branch-scope{
  display:none!important;
}

/* Tablet / móvil */
@media(max-width:820px){
  .pn360-sidebar-platform{
    min-height:52px!important;
    margin-bottom:5px!important;
  }
  .pn360-platform-signature>img{
    width:32px!important;height:32px!important;min-width:32px!important;
  }
  .pn360-platform-signature>span{font-size:12.5px}
  .pn360-tenant-brand{
    min-height:62px!important;
    grid-template-columns:44px minmax(0,1fr)!important;
  }
  .pn360-tenant-brand .branch-logo{
    width:42px!important;height:42px!important;min-width:42px!important;
  }
}


/* =========================================================
   V6.16.7 — SIDEBAR EXACT ALIGNMENT / REFERENCE IMPLEMENTATION
   Platform header > Tenant > Branch > Navigation
   ========================================================= */

.sidebar.sidebar-v6555{
  --pn-side-pad:12px;
  padding:12px 10px 18px!important;
  background:linear-gradient(180deg,#07172A 0%,#0D1B2A 100%)!important;
}

/* 1. PLATFORM HEADER */
.pn360-sidebar-platform{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:58px!important;
  margin:0 0 10px!important;
  padding:8px 8px 9px!important;
  box-sizing:border-box!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(148,163,184,.16)!important;
  z-index:10!important;
}
.pn360-platform-signature{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  height:40px!important;
}
.pn360-platform-signature>img{
  display:block!important;
  flex:0 0 38px!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  max-width:38px!important;
  object-fit:contain!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
}
.pn360-platform-signature>span{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  color:#F8FAFC!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pn360-platform-signature>span>span{color:#10B981!important}
.pn360-sidebar-platform #sidebarToggleV6555{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  justify-self:end!important;
  align-self:center!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:0!important;
  margin:0!important;
  border-radius:11px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  background:#14253A!important;
  color:#E2E8F0!important;
  box-shadow:none!important;
  z-index:11!important;
}
.pn360-sidebar-platform #sidebarToggleV6555 svg{
  width:22px!important;height:22px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important
}

/* Prevent legacy wrapper from affecting layout if an empty one survives */
.sidebar-header-v657:empty{display:none!important}

/* 2. TENANT */
.pn360-tenant-brand{
  position:relative!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-height:82px!important;
  margin:0 0 12px!important;
  padding:11px 12px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(148,163,184,.17)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.045)!important;
  overflow:hidden!important;
  z-index:8!important;
}
.pn360-tenant-brand .branch-logo{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  align-self:center!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#172E4A!important;
  border:1px solid rgba(103,232,249,.32)!important;
}
.pn360-tenant-brand .branch-logo img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important
}
.pn360-tenant-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:stretch!important;
}
.pn360-tenant-copy small{
  display:block!important;
  margin:0 0 5px!important;
  color:#67E8F9!important;
  font-size:8px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.14em!important;
}
.pn360-tenant-copy h1{
  display:block!important;
  margin:0!important;
  max-width:100%!important;
  color:#FFFFFF!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}

/* 3. BRANCH */
.sidebar .branch-scope{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 17px!important;
  padding:0!important;
  box-sizing:border-box!important;
  z-index:7!important;
}
.sidebar .branch-scope label{
  display:block!important;
  position:static!important;
  margin:0 0 7px 3px!important;
  color:#94A3B8!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.10em!important;
}
.sidebar .branch-scope select{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 42px 0 14px!important;
  border:1px solid #465A74!important;
  border-radius:11px!important;
  background:#17283D!important;
  color:#FFFFFF!important;
  font-size:12px!important;
  font-weight:500!important;
  box-sizing:border-box!important;
}
.sidebar .branch-scope select option{background:#fff!important;color:#0D1B2A!important}

/* 4. NAVIGATION */
.sidebar .nav{margin-top:0!important}
.sidebar .nav-section-v6555{margin:0!important;padding:0 0 8px!important}
.sidebar .nav-section-title-v6555{
  margin:10px 7px 7px!important;
  color:#8193A9!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
}
.sidebar .nav-btn{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:44px!important;
  width:100%!important;
  margin:2px 0!important;
  padding:8px 11px!important;
  border-radius:8px!important;
  color:#E8EEF6!important;
  font-size:13px!important;
  font-weight:700!important;
}
.sidebar .nav-btn.active{
  background:linear-gradient(90deg,#2563EB 0%,#4F00E8 100%)!important;
  color:#FFFFFF!important;
  box-shadow:inset 4px 0 0 #29A3FF,0 5px 14px rgba(37,99,235,.18)!important;
}
.sidebar .nav-btn>span:first-child,
.sidebar .pn360-nav-icon{
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  font-size:17px!important;
}
.pn360-nav-svg{
  width:22px!important;
  height:22px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.pn360-nav-fallback{
  display:grid!important;place-items:center!important;width:22px!important;height:22px!important
}
/* Requested icon colors like reference */
.sidebar .nav-btn:not(.active) .pn360-nav-icon-dashboard{color:#B8C8DC!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-facturas{color:#B9C7DC!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-pos{color:#9FB5D1!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-caja{color:#10B981!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-posMonitor{color:#A8BDD8!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-abonos{color:#10B981!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-cartera{color:#F43F5E!important}
.sidebar .nav-btn.active .pn360-nav-icon{color:#FFFFFF!important}

/* Clean collapsed state */
.sidebar-v6555.is-collapsed .pn360-sidebar-platform{
  grid-template-columns:1fr!important;
  justify-items:center!important;
  padding:8px 4px!important;
}
.sidebar-v6555.is-collapsed .pn360-platform-signature{display:none!important}
.sidebar-v6555.is-collapsed #sidebarToggleV6555{justify-self:center!important}
.sidebar-v6555.is-collapsed .pn360-tenant-brand,
.sidebar-v6555.is-collapsed .branch-scope{display:none!important}
.sidebar-v6555.is-collapsed .nav-btn{
  grid-template-columns:1fr!important;justify-items:center!important;padding:8px 4px!important
}
.sidebar-v6555.is-collapsed .nav-label-v6555,
.sidebar-v6555.is-collapsed .nav-section-title-v6555{display:none!important}

/* Tablet/mobile drawer */
@media(max-width:820px){
  .sidebar.sidebar-v6555{padding:10px 9px 16px!important}
  .pn360-sidebar-platform{min-height:56px!important}
  .pn360-platform-signature>img{width:35px!important;height:35px!important;min-width:35px!important;max-width:35px!important}
  .pn360-platform-signature>span{font-size:13px!important}
  .pn360-tenant-brand{
    grid-template-columns:48px minmax(0,1fr)!important;
    min-height:76px!important;
    padding:10px!important
  }
  .pn360-tenant-brand .branch-logo{width:48px!important;height:48px!important;min-width:48px!important}
  .pn360-tenant-copy h1{font-size:16px!important}
}


/* =========================================================
   V6.16.8 — ICONOGRAFÍA SVG TRANSVERSAL + LOGIN UX CLEAN
   ========================================================= */
.sidebar .nav-child{
  grid-template-columns:32px minmax(0,1fr)!important;
  padding-left:22px!important;
  font-size:12px!important;
}
.sidebar .nav-child .pn360-nav-svg{width:18px!important;height:18px!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-conciliacionCobros{color:#38BDF8!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-saldosIniciales{color:#C4B5FD!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-clientes{color:#A78BFA!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-inventario{color:#22D3EE!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-productos{color:#60A5FA!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-compras{color:#FBBF24!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-catalogos{color:#818CF8!important}
.sidebar .nav-btn:not(.active) [class*="pn360-nav-icon-catalogos-"]{color:#94A3B8!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-sucursales{color:#2DD4BF!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-reportes{color:#06B6D4!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-ia{color:#8B5CF6!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-centroInventario{color:#22D3EE!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-ajustesInventario{color:#F59E0B!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-inicializacionInventario{color:#60A5FA!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-licenciamiento{color:#FBBF24!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-administracion{color:#94A3B8!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-usuarios{color:#A78BFA!important}
.sidebar .nav-btn:not(.active) .pn360-nav-icon-ajustes{color:#94A3B8!important}

.pn360-footer-action{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
  width:100%!important;min-height:40px!important;padding:8px 11px!important;
}
.pn360-footer-action .pn360-nav-svg{width:18px!important;height:18px!important;flex:0 0 18px!important}
#btnSync .pn360-nav-svg{color:#38BDF8!important}
#btnLogout .pn360-nav-svg{color:#F87171!important}

/* Login: reduce visual density while preserving brand recognition */
.login-v41.v6144-login{
  padding:20px!important;
  align-items:center!important;
}
.v6144-login-card{
  width:min(760px,calc(100vw - 32px))!important;
  max-width:760px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.v6144-brand-panel{
  padding:26px 34px 22px!important;
  min-height:auto!important;
  background:linear-gradient(145deg,#ECFEFF 0%,#EFF6FF 100%)!important;
}
.pn360-login-brand{margin:0 auto 20px!important}
.pn360-login-logo{
  width:min(390px,82%)!important;
  max-height:92px!important;
}
.v6147-login-modules{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  margin:0!important;
}
.v6147-login-modules>span{
  min-height:64px!important;
  padding:10px 10px!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  align-items:center!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 5px 16px rgba(13,27,42,.045)!important;
}
.v6147-login-modules>span i{
  grid-row:1/3!important;
  display:grid!important;place-items:center!important;
  width:30px!important;height:30px!important;
  border-radius:9px!important;
  background:#ECFEFF!important;color:#0891B2!important;
  font-style:normal!important;
}
.v6147-login-modules>span i .pn360-nav-svg{width:18px!important;height:18px!important}
.v6147-login-modules>span b{font-size:11px!important;line-height:1.1!important}
.v6147-login-modules>span small{font-size:9px!important;line-height:1.15!important;color:#64748B!important}
.v6144-login-card .login-v41-card-main,
.v6144-login-card .login-v41-content,
.v6144-login-card .login-v41-form-panel{
  padding-top:26px!important;
}
.v6144-login-card .login-v41-heading{margin-bottom:18px!important}
.v6144-login-card .login-v41-heading>span{
  font-size:10px!important;letter-spacing:.12em!important;font-weight:900!important;color:#059669!important
}
.v6144-login-card .login-v41-heading h2{
  margin:5px 0 5px!important;
  font-size:27px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.v6144-login-card .login-v41-heading p{
  margin:0!important;
  max-width:560px!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.v6144-login-card .access-form{gap:14px!important}
.v6144-login-card .access-input-wrap{min-height:50px!important}
.v6144-login-card .access-submit{min-height:52px!important}
.v6144-login-card .login-v411-footer{margin-top:13px!important}

@media(max-width:680px){
  .login-v41.v6144-login{padding:10px!important}
  .v6144-login-card{width:min(100%,520px)!important;border-radius:18px!important}
  .v6144-brand-panel{padding:20px 18px 16px!important}
  .pn360-login-brand{margin-bottom:14px!important}
  .pn360-login-logo{width:min(330px,90%)!important;max-height:78px!important}
  .v6147-login-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .v6147-login-modules>span{min-height:56px!important;padding:8px!important}
  .v6144-login-card .login-v41-heading h2{font-size:24px!important}
}
@media(max-width:390px){
  .v6147-login-modules>span small{display:none!important}
  .v6147-login-modules>span{min-height:48px!important;grid-template-rows:1fr!important}
  .v6147-login-modules>span i{grid-row:auto!important}
}


/* =========================================================
   V6.16.9 — PUNTO NEGOCIO 360 / MODERN SCROLLBARS
   Track discreto + thumb cápsula + interacción de marca.
   ========================================================= */

:root{
  --pn-scroll-size:10px;
  --pn-scroll-track:#EEF2F7;
  --pn-scroll-thumb:#AEBCCD;
  --pn-scroll-thumb-hover:#2563EB;
  --pn-scroll-thumb-active:#0891B2;
  --pn-scroll-sidebar-track:rgba(255,255,255,.055);
  --pn-scroll-sidebar-thumb:#52647B;
  --pn-scroll-sidebar-hover:#38BDF8;
}

/* Firefox */
html,
body,
.main,
.sidebar,
.table-wrap,
.modal-card,
.operational-modal,
.pos-ticket-modal,
[class*="scroll"],
[class*="overflow"]{
  scrollbar-width:thin;
  scrollbar-color:var(--pn-scroll-thumb) var(--pn-scroll-track);
}

.sidebar,
.sidebar *{
  scrollbar-color:var(--pn-scroll-sidebar-thumb) var(--pn-scroll-sidebar-track);
}

/* Chromium / Edge / Safari */
*::-webkit-scrollbar{
  width:var(--pn-scroll-size);
  height:var(--pn-scroll-size);
}

*::-webkit-scrollbar-track{
  background:var(--pn-scroll-track);
  border-radius:999px;
  margin:6px 0;
}

*::-webkit-scrollbar-thumb{
  min-height:44px;
  background:
    linear-gradient(
      180deg,
      #B9C5D3 0%,
      #97A8BB 100%
    );
  border:2px solid var(--pn-scroll-track);
  border-radius:999px;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.34),
    0 1px 2px rgba(13,27,42,.08);
}

*::-webkit-scrollbar-thumb:hover{
  background:
    linear-gradient(
      180deg,
      #3B82F6 0%,
      #06B6D4 100%
    );
  border-color:#E8F0F8;
}

*::-webkit-scrollbar-thumb:active{
  background:
    linear-gradient(
      180deg,
      #2563EB 0%,
      #0891B2 100%
    );
}

/* Elimina el look tradicional de botones/flechas */
*::-webkit-scrollbar-button{
  width:0;
  height:0;
  display:none;
}

*::-webkit-scrollbar-corner{
  background:transparent;
}

/* Sidebar: versión oscura, más fina y completamente integrada */
.sidebar::-webkit-scrollbar,
.sidebar *::-webkit-scrollbar{
  width:8px;
  height:8px;
}

.sidebar::-webkit-scrollbar-track,
.sidebar *::-webkit-scrollbar-track{
  background:var(--pn-scroll-sidebar-track);
  border-radius:999px;
  margin:8px 0;
}

.sidebar::-webkit-scrollbar-thumb,
.sidebar *::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#61738B 0%,#44566D 100%);
  border:2px solid #0D1B2A;
  border-radius:999px;
  min-height:48px;
  box-shadow:none;
}

.sidebar::-webkit-scrollbar-thumb:hover,
.sidebar *::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#2563EB 0%,#06B6D4 100%);
  border-color:#0D1B2A;
}

/* Tablas: horizontal más discreta para no competir con los datos */
.table-wrap::-webkit-scrollbar{
  height:8px;
}
.table-wrap::-webkit-scrollbar-track{
  margin:0 8px;
  background:#F1F5F9;
}
.table-wrap::-webkit-scrollbar-thumb{
  border-width:2px;
  background:#B8C5D4;
}

/* Modales / paneles densos */
.modal-card::-webkit-scrollbar,
.operational-modal::-webkit-scrollbar,
.pos-ticket-modal::-webkit-scrollbar{
  width:8px;
}

.modal-card::-webkit-scrollbar-track,
.operational-modal::-webkit-scrollbar-track,
.pos-ticket-modal::-webkit-scrollbar-track{
  margin:10px 0;
}

/* Evita barras demasiado visibles en touch */
@media (hover:none) and (pointer:coarse){
  :root{--pn-scroll-size:7px}
  *::-webkit-scrollbar{width:7px;height:7px}
  *::-webkit-scrollbar-thumb{border-width:1px}
}

/* Reduce movimiento y efectos innecesarios */
@media (prefers-reduced-motion:reduce){
  *::-webkit-scrollbar-thumb{
    transition:none!important;
  }
}
