:root {
  --bg: #f5f6f8;
  --panel: #ffffff;
  --ink: #1f2937;
  --muted: #6b7280;
  --line: #e5e7eb;
  --brand: #f05a1a;
  --brand-dark: #c7470f;
  --dark: #17191c;
  --dark-2: #23262a;
  --success: #169c65;
  --warning: #d8890b;
  --danger: #d64545;
  --info: #2f70c9;
  --radius: 14px;
  --shadow: 0 8px 28px rgba(17, 24, 39, .08);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; color: var(--ink); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.test-mode-banner { min-height: 32px; padding: 6px 18px; display: flex; align-items: center; justify-content: center; gap: 12px; background: #fff3cd; color: #7c2d12; border-bottom: 1px solid #fdba74; font-size: 12px; position: sticky; top: 0; z-index: 80; }
.test-mode-banner b { letter-spacing: .08em; color: #c2410c; }

.app-shell { min-height: calc(100vh - 32px); display: grid; grid-template-columns: 255px 1fr; }
.sidebar { background: linear-gradient(180deg, #17191c, #111315); color: #fff; padding: 22px 16px; position: sticky; top: 32px; height: calc(100vh - 32px); display: flex; flex-direction: column; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; background: var(--brand); font-weight: 900; font-size: 24px; box-shadow: 0 8px 20px rgba(240,90,26,.25); }
.brand-name { font-weight: 800; letter-spacing: .4px; }
.brand-subtitle { color: #9ca3af; font-size: 12px; margin-top: 3px; }
.nav { display: flex; flex-direction: column; gap: 5px; padding-top: 18px; }
.nav a { color: #d1d5db; text-decoration: none; border-radius: 10px; padding: 11px 12px; display: flex; align-items: center; gap: 10px; font-size: 14px; }
.nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav a.active { background: rgba(240,90,26,.16); color: #fff; border-left: 3px solid var(--brand); padding-left: 9px; }
.nav .nav-icon { width: 20px; text-align: center; opacity: .9; }
.sidebar-footer { margin-top: auto; padding: 14px 8px 0; color: #9ca3af; display: grid; gap: 8px; }
.build-version { color:#fdba74; font-weight:800; letter-spacing:.02em; }
.server-pill { font-size: 12px; color: #d1d5db; display: flex; align-items: center; gap: 7px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.12); }

.main { min-width: 0; }
.topbar { background: #fff; padding: 20px 28px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; position: sticky; top: 32px; z-index: 20; }
.topbar h1 { margin: 0; font-size: 24px; }
.topbar p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.content { padding: 26px 28px 40px; }

.grid { display: grid; gap: 18px; }
.grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }

.card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.card.pad { padding: 18px; }
.card-header { padding: 17px 18px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.card-header h3 { margin: 0; font-size: 15px; }
.card-body { padding: 18px; }

.kpi { padding: 18px; display: grid; gap: 9px; }
.kpi-top { display: flex; justify-content: space-between; align-items: center; }
.kpi-label { color: var(--muted); font-size: 13px; }
.kpi-value { font-size: 27px; font-weight: 800; letter-spacing: -.4px; }
.kpi-meta { color: var(--muted); font-size: 12px; }
.kpi-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: #fff3ec; color: var(--brand); font-weight: 700; }
.kpi.success .kpi-icon { background: #eaf8f2; color: var(--success); }
.kpi.warning .kpi-icon { background: #fff6df; color: var(--warning); }
.kpi.danger .kpi-icon { background: #fff0f0; color: var(--danger); }

.btn { border: 1px solid transparent; border-radius: 9px; padding: 9px 13px; background: #fff; color: var(--ink); }
.btn.primary { background: var(--brand); color: #fff; border-color: var(--brand); }
.btn.primary:hover { background: var(--brand-dark); }
.btn.secondary { border-color: var(--line); background: #fff; }
.btn.ghost { background: transparent; border-color: var(--line); }
.btn.danger { background: #fff1f1; border-color: #ffd7d7; color: var(--danger); }
.btn.small { padding: 6px 9px; font-size: 12px; }

.control { width: 100%; border: 1px solid #d7dce2; background: #fff; border-radius: 9px; padding: 10px 11px; outline: none; }
.control:focus { border-color: #f3a37f; box-shadow: 0 0 0 3px rgba(240,90,26,.10); }
.control.compact { width: auto; min-width: 150px; padding: 8px 10px; }
select.control { color: var(--ink); color-scheme: light; }
select.control option { color: #1f2937; background: #fff; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.form-group { display: grid; gap: 6px; }
.form-group.full { grid-column: 1 / -1; }
label { font-size: 12px; font-weight: 650; color: #4b5563; }

.toolbar { display: flex; gap: 10px; justify-content: space-between; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.toolbar-left, .toolbar-right { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; }
.search { min-width: 240px; }

.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 12px 13px; border-bottom: 1px solid var(--line); font-size: 13px; white-space: nowrap; }
th { color: #6b7280; background: #fafafa; font-size: 11px; text-transform: uppercase; letter-spacing: .45px; }
tr:hover td { background: #fcfcfd; }

.badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 4px 8px; font-size: 11px; font-weight: 700; }
.badge.success { background: #eaf8f2; color: #11774f; }
.badge.warning { background: #fff6df; color: #9a6307; }
.badge.danger { background: #fff0f0; color: #b93333; }
.badge.info { background: #edf4ff; color: #245ba0; }
.badge.neutral { background: #f1f3f5; color: #59606a; }

.list { display: grid; gap: 10px; }
.list-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.list-item:last-child { border-bottom: 0; }
.list-main { min-width: 0; }
.list-title { font-weight: 700; font-size: 13px; }
.list-sub { color: var(--muted); font-size: 12px; margin-top: 3px; }

.progress { height: 8px; background: #eef0f2; border-radius: 999px; overflow: hidden; }
.progress > span { display: block; height: 100%; border-radius: inherit; background: var(--brand); }

.empty { padding: 40px 20px; text-align: center; color: var(--muted); }
.empty strong { color: var(--ink); display: block; margin-bottom: 6px; }

.modal-backdrop { position: fixed; inset: 0; background: rgba(17,24,39,.48); display: grid; place-items: center; z-index: 100; padding: 20px; }
.modal { width: min(760px, 100%); max-height: 90vh; overflow: auto; background: #fff; border-radius: 16px; box-shadow: 0 24px 80px rgba(0,0,0,.22); }
.modal-header { padding: 18px 20px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; }
.modal-header h3 { margin: 0; }
.modal-body { padding: 20px; }
.modal-footer { padding: 14px 20px; border-top: 1px solid var(--line); display: flex; justify-content: flex-end; gap: 9px; }
.close { border: 0; background: transparent; font-size: 20px; }

.pos-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.pos-products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.product-tile { border: 1px solid var(--line); border-radius: 12px; padding: 12px; background: #fff; cursor: pointer; }
.product-tile:hover { border-color: #f2a17d; box-shadow: 0 6px 18px rgba(240,90,26,.10); }
.product-tile .name { font-weight: 750; font-size: 13px; }
.product-tile .meta { color: var(--muted); font-size: 11px; margin-top: 4px; }
.product-tile .price { color: var(--brand-dark); font-weight: 800; margin-top: 8px; }
.cart { display: grid; gap: 10px; }
.cart-row { display: grid; grid-template-columns: 1fr 70px 92px 28px; align-items: center; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.cart-row input { padding: 7px; }
.summary-row { display: flex; justify-content: space-between; align-items: center; padding: 5px 0; }
.summary-row.total { font-size: 18px; font-weight: 800; border-top: 1px solid var(--line); margin-top: 8px; padding-top: 12px; }

.toast-root { position: fixed; right: 20px; bottom: 20px; z-index: 200; display: grid; gap: 8px; }
.toast { background: #16181b; color: #fff; padding: 12px 14px; border-radius: 10px; box-shadow: var(--shadow); font-size: 13px; animation: toastIn .2s ease-out; }
@keyframes toastIn { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }

.small-muted { color: var(--muted); font-size: 12px; }
.text-danger { color: var(--danger); }
.text-success { color: var(--success); }
.text-warning { color: var(--warning); }
.right { text-align: right; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

@media (max-width: 1100px) {
  .grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pos-layout { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .app-shell { grid-template-columns: 76px 1fr; }
  .brand > div:last-child, .nav-label, .sidebar-footer small { display: none; }
  .brand { justify-content: center; }
  .nav a { justify-content: center; }
  .sidebar { padding-inline: 10px; }
  .topbar { padding: 16px 18px; }
  .content { padding: 18px; }
  .grid.cols-3, .grid.cols-2 { grid-template-columns: 1fr; }
  .pos-products { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .grid.cols-4 { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; gap: 12px; }
  .topbar-actions { flex-direction: column; align-items: stretch; }
  .pos-products { grid-template-columns: 1fr; }
}

/* === KAIROS POS v2: terminal de caja inspirado en flujo de escritorio === */
.pos-terminal { background:#e7edf2; border:1px solid #b9c2cb; border-radius:10px; overflow:hidden; box-shadow:0 12px 34px rgba(15,23,42,.12); min-width:980px; }
.pos-terminal-top { height:48px; display:flex; align-items:center; gap:6px; background:linear-gradient(90deg,#ff6600 0%,#e75b13 24%,#9b725f 49%,#64696e 70%,#20242a 100%); color:#fff; padding:5px 7px; }
.pos-top-box { display:grid; grid-template-columns:68px 260px; height:36px; border:1px solid rgba(255,255,255,.65); background:#f8fafc; color:#26323f; }
.pos-top-box.turn { grid-template-columns:72px 150px; }
.pos-top-box span { display:grid; place-items:center; font-weight:900; color:#17202a; border-right:1px solid #b8c2cc; }
.pos-top-box strong { display:grid; place-items:center; font-weight:700; color:#59636e; }
.pos-top-spacer { flex:1; }
.pos-user { min-width:260px; height:36px; display:flex; align-items:center; justify-content:center; gap:9px; background:#fff; color:#222; border:1px solid rgba(255,255,255,.7); font-size:14px; }
.pos-power { width:38px; height:38px; border:2px solid #fff; border-radius:6px; background:#ef4b38; color:#fff; font-size:23px; font-weight:900; }

.pos-command-row { display:flex; justify-content:space-between; gap:8px; padding:6px; background:#3b3b3b; border-bottom:1px solid #1f1f1f; }
.pos-command-group { display:flex; gap:5px; }
.pos-command { min-width:112px; height:48px; border:1px solid #161616; background:#fff; color:#222; display:grid; grid-template-columns:28px 1fr; grid-template-rows:1fr 15px; align-items:center; text-align:left; padding:4px 8px; font-weight:800; }
.pos-command span { grid-row:1/3; font-size:20px; text-align:center; }
.pos-command small { font-size:10px; font-weight:700; color:#2f3640; }
.pos-command:hover { background:#fff1e8; border-color:#ef7c43; }

.pos-terminal-main { display:grid; grid-template-columns:104px minmax(0,1fr); min-height:650px; }
.pos-rail { background:#f6f8fa; border-right:1px solid #aab4be; display:flex; flex-direction:column; }
.pos-rail-btn { min-height:76px; border:0; border-bottom:1px solid #9ea8b2; background:#fff; color:#1f2937; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; font-size:11px; font-weight:800; padding:5px 4px; }
.pos-rail-btn span { font-size:24px; line-height:1; }
.pos-rail-btn small { font-size:10px; color:#4b5563; }
.pos-rail-btn:hover { background:#fff0e6; color:#9f3a0c; }
.pos-rail-btn.danger span { color:#dc2626; }

.pos-workspace { min-width:0; background:#f8fafc; display:flex; flex-direction:column; }
.pos-clientbar { display:grid; grid-template-columns:54px minmax(230px,1fr) minmax(480px,1.3fr); align-items:center; gap:10px; padding:8px 12px; background:#fff; border-bottom:1px solid #cfd7df; }
.pos-avatar { width:48px; height:48px; display:grid; place-items:center; font-size:28px; border:1px solid #d3dae1; background:#f4f6f8; }
.pos-client-info { display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:center; }
.pos-client-info > span { font-size:14px; font-weight:900; }
.pos-client-info strong { font-size:17px; color:#0f172a; }
.pos-client-info small { grid-column:2; color:#64748b; margin-top:2px; }
.pos-client-controls { display:grid; grid-template-columns:1.3fr 1fr 1fr .75fr; gap:6px; }
.pos-select { width:100%; min-width:0; border:1px solid #bdc7d1; background:#fff; padding:7px 8px; font-size:11px; }
.pos-credit-fields { align-items:center; gap:14px; padding:7px 12px; background:#fff8db; border-bottom:1px solid #e6d38d; font-size:11px; }
.pos-credit-fields label { display:flex; align-items:center; gap:7px; }
.pos-credit-fields input { padding:5px 7px; border:1px solid #c9b96e; }

.pos-search-zone { position:relative; background:#fff; padding:10px 14px 11px; border-bottom:1px solid #bfc8d1; display:grid; grid-template-columns:145px minmax(320px,1fr) auto; gap:8px 10px; align-items:center; }
.pos-search-zone > label { font-size:17px; font-weight:900; color:#111827; }
.pos-search-box { position:relative; height:42px; border:2px solid #f08a52; border-radius:7px; display:grid; grid-template-columns:38px 1fr 42px; align-items:center; overflow:hidden; background:#fff; }
.pos-search-box .barcode { font-size:24px; color:#d65417; text-align:center; }
.pos-search-box input { border:0; outline:0; height:100%; min-width:0; font-size:15px; padding:0 8px; }
.pos-search-box button { border:0; height:100%; background:#fff; font-size:20px; }
.pos-search-meta { grid-column:3; grid-row:1/3; align-self:stretch; display:grid; align-content:center; gap:4px; font-size:10px; color:#334155; min-width:190px; }
.pos-search-results { position:absolute; z-index:30; top:62px; left:168px; right:218px; background:#fff; border:1px solid #9db2c5; box-shadow:0 12px 28px rgba(15,23,42,.18); display:none; max-height:300px; overflow:auto; }
.pos-search-results.open { display:block; }
.pos-result { width:100%; display:flex; justify-content:space-between; gap:15px; border:0; border-bottom:1px solid #e5e7eb; background:#fff; padding:9px 12px; text-align:left; }
.pos-result:hover { background:#fff2e9; }
.pos-result span { display:grid; gap:2px; }
.pos-result small { color:#64748b; }
.pos-result b { color:#d65417; white-space:nowrap; }
.pos-search-empty { padding:12px; color:#64748b; }

.pos-cart-area { min-height:360px; max-height:410px; overflow:auto; background:#75869a; }
.pos-cart-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.pos-cart-table thead th { position:sticky; top:0; z-index:2; background:#444; color:#fff; border-right:1px solid #b6bec7; padding:8px 7px; font-size:10px; text-align:left; }
.pos-cart-table thead th:nth-child(1){width:145px}.pos-cart-table thead th:nth-child(2){width:72px}.pos-cart-table thead th:nth-child(3){width:78px}.pos-cart-table thead th:nth-child(5){width:90px}.pos-cart-table thead th:nth-child(6){width:110px}.pos-cart-table thead th:nth-child(7){width:112px}.pos-cart-table thead th:nth-child(8){width:135px}
.pos-cart-table td { background:#f9fbfc; border-bottom:1px solid #d5dce3; border-right:1px solid #e1e6eb; padding:7px; font-size:11px; }
.pos-cart-row { cursor:pointer; }
.pos-cart-row:hover td { background:#fff3eb; }
.pos-cart-row.selected td { background:#ffe3d2; }
.pos-cart-table .cart-qty { width:55px; padding:4px; border:1px solid #adb9c5; }
.pos-cart-table .cart-remove { float:right; width:22px; height:22px; border:0; border-radius:4px; background:#fee2e2; color:#b91c1c; font-weight:900; }
.pos-empty-row td { height:320px; background:#75869a; border:0; text-align:center; color:#eaf1f7; }
.pos-empty-row div { display:grid; gap:6px; place-items:center; }
.pos-empty-row strong { font-size:20px; }
.pos-empty-row span { opacity:.8; }

.pos-shortcuts { display:flex; gap:5px; flex-wrap:wrap; padding:7px 10px; background:#fff; border-top:1px solid #bdc7d1; border-bottom:1px solid #bdc7d1; }
.pos-shortcuts button { min-height:32px; border:1px solid #bfd0dd; background:#effdf6; color:#26323f; font-size:11px; font-weight:800; padding:5px 10px; }
.pos-shortcuts button b { margin-right:5px; color:#d65417; }
.pos-shortcuts button small { color:#52606d; }
.pos-shortcuts button.generic { background:#fff2a8; border-color:#d8c35d; }

.pos-bottom-grid { display:grid; grid-template-columns:minmax(0,1fr) 570px; background:#fff; }
.pos-ticket-panel { padding:10px 12px; border-right:1px solid #c2cbd4; display:grid; gap:8px; }
.pos-ticket-head { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.pos-ticket-head strong { color:#e95413; font-size:20px; letter-spacing:.5px; }
.pos-ticket-head span { font-size:11px; font-weight:800; }
.pos-ticket-panel label { display:grid; grid-template-columns:100px 1fr; align-items:center; gap:6px; }
.pos-ticket-panel input { border:1px solid #aeb8c2; padding:8px; }
.pos-status-row { display:flex; gap:14px; flex-wrap:wrap; color:#32832e; font-size:10px; font-weight:700; }
.pos-totals-panel { display:grid; grid-template-columns:1fr 175px; grid-template-rows:auto 64px; }
.pos-mini-totals { grid-column:1/3; padding:7px 11px; display:grid; grid-template-columns:1fr 1fr; gap:5px 25px; border-bottom:1px solid #c3ccd5; }
.pos-mini-totals div { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:12px; font-weight:700; }
.pos-mini-totals input { width:90px; border:0; border-bottom:1px solid #c7d0d8; text-align:right; color:#e34343; font-weight:800; }
.pos-grand-total { background:linear-gradient(90deg,#ff6600 0%,#e75b13 24%,#9b725f 49%,#64696e 70%,#20242a 100%); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 18px; text-shadow:0 1px 2px rgba(0,0,0,.28); }
.pos-grand-total span { font-size:20px; font-weight:900; }
.pos-grand-total strong { font-size:30px; font-weight:900; letter-spacing:.5px; }
.pos-charge { border:0; background:#32c93b; color:#fff; font-size:18px; font-weight:900; display:flex; align-items:center; justify-content:center; gap:8px; }
.pos-charge span { font-size:26px; }
.pos-charge small { font-size:10px; }
.pos-history { overflow:hidden; }

@media (max-width:1250px){
  .pos-clientbar{grid-template-columns:50px 1fr}.pos-client-controls{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}
  .pos-search-zone{grid-template-columns:120px 1fr}.pos-search-meta{grid-column:1/-1;grid-row:auto;display:flex;gap:15px}.pos-search-results{left:145px;right:14px}
  .pos-bottom-grid{grid-template-columns:1fr}.pos-ticket-panel{border-right:0;border-bottom:1px solid #c2cbd4}.pos-totals-panel{grid-template-columns:1fr 175px}
}
@media (max-width:900px){
  .pos-terminal{min-width:760px}.pos-command-row{overflow:auto}.pos-user{min-width:170px}.pos-top-box{grid-template-columns:55px 160px}.pos-terminal-main{grid-template-columns:88px 1fr}.pos-rail-btn{font-size:10px}
}


/* Catálogo mejorado v4 */
.catalog-shell{display:grid;gap:12px}.catalog-filters{display:grid;grid-template-columns:minmax(320px,1fr) 190px 210px auto;gap:8px;align-items:center;background:#fff;border:1px solid #d8e0e7;padding:10px;border-radius:10px}.catalog-search{display:grid;grid-template-columns:36px 1fr 44px;border:1px solid #9bc6e9;border-radius:7px;overflow:hidden;height:42px}.catalog-search span{display:grid;place-items:center;font-size:20px}.catalog-search input{border:0;outline:0;padding:0 8px}.catalog-search button{border:0;background:#f97316;color:#fff}.catalog-check{font-size:12px;font-weight:700}.catalog-actions{display:flex;gap:6px;flex-wrap:wrap}.cat-btn{border:0;border-radius:6px;color:#fff;font-weight:800;padding:9px 11px;box-shadow:0 1px 2px #0002}.cat-btn.green{background:#16a34a}.cat-btn.blue{background:#2781d9}.cat-btn.orange{background:#f97316}.cat-btn.red{background:#dc3b32}.cat-btn.purple{background:#7c3fd1}.cat-btn.yellow{background:#c99b00}.cat-btn.dark{background:#303942}.cat-btn.gray{background:#667581}.catalog-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:10px}.catalog-table-wrap{background:#fff;border:1px solid #d8e0e7;border-radius:8px;overflow:auto;max-height:560px}.catalog-table{min-width:1150px}.catalog-table thead th{position:sticky;top:0;background:#303840;color:#fff;z-index:2}.catalog-row{cursor:pointer}.catalog-row:hover td{background:#fff6ed}.catalog-row.selected td{background:#ffead8}.catalog-low{color:#dc2626;font-weight:900}.catalog-ok{color:#168a48;font-weight:900}.catalog-preview{background:#fff;border:1px solid #d8e0e7;border-radius:8px;padding:12px;height:max-content}.preview-emoji{height:140px;display:grid;place-items:center;font-size:76px;background:#f8fafc;border-radius:8px}.catalog-preview h3{font-size:14px;line-height:1.25}.preview-kv{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:11px;border-top:1px solid #eee;padding-top:9px}.preview-kv b{text-align:right}.preview-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.catalog-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.catalog-summary>div{background:#fff;border:1px solid #d8e0e7;border-radius:8px;padding:11px}.catalog-summary small{display:block;color:#667581}.catalog-summary b{font-size:18px}.danger-text{color:#dc2626}.label-demo{text-align:center;border:1px dashed #aab6c2;border-radius:8px;padding:14px;background:#fff}.fake-barcode{width:min(360px,90%);height:70px;margin:10px auto;background:repeating-linear-gradient(90deg,#111 0 2px,#fff 2px 4px,#111 4px 7px,#fff 7px 10px,#111 10px 11px,#fff 11px 14px)}.big-code{font-size:16px;font-weight:800}
@media(max-width:1200px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-search{grid-column:1/-1}.catalog-grid{grid-template-columns:1fr}.catalog-preview{display:none}.catalog-summary{grid-template-columns:repeat(2,1fr)}}

/* V5 - estado local/offline */
.server-pill .dot.offline{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.13)}
.server-pill .dot.online{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}

/* V6 - módulo de cobro */
.payment-modal{width:min(980px,98vw);border-radius:10px;overflow:hidden;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);display:flex;flex-direction:column}
.payment-titlebar{background:#262d34;color:#fff;padding:12px 18px;display:flex;align-items:center;justify-content:space-between}
.payment-titlebar small{opacity:.75}.payment-titlebar h3{margin:2px 0 0;font-size:22px}
.payment-titlebar .close{color:#fff;font-size:26px}
.payment-methods{display:grid;grid-template-columns:repeat(10,minmax(72px,1fr));gap:0;background:#fff;border-bottom:1px solid var(--line)}
.payment-method{min-height:92px;border:0;border-right:1px solid var(--line);background:#fff;padding:8px 5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.payment-method:hover{background:#fff3eb}.payment-method.active{background:#fff0e6;box-shadow:inset 0 -4px 0 #ee641f}
.payment-method small{font-weight:800;color:#7a7f85}.payment-method span{font-size:28px}.payment-method b{font-size:11px;line-height:1.1;text-align:center}
.payment-total{background:linear-gradient(90deg,#dc4c0f,#f46d1d);color:#fff;display:grid;grid-template-columns:auto 1fr auto;align-items:end;padding:16px 24px;gap:18px}
.payment-total span{font-size:15px;font-weight:800}.payment-total strong{font-size:48px;text-align:center;letter-spacing:1px}.payment-total small{background:#fff;color:#d55216;padding:4px 8px;font-weight:800}
.payment-body{padding:22px;background:#fff;min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto}
.payment-simple{max-width:760px;margin:0 auto}.payment-amount-card{display:flex;align-items:center;justify-content:space-between;background:#f6f8fa;border:1px solid var(--line);padding:12px 16px;border-radius:9px;margin-bottom:18px}
.payment-amount-card span{font-weight:700}.payment-amount-card strong{font-size:24px;color:#d95618}
.payment-field-row{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:end;margin-top:30px}
.payment-field-row label{font-size:28px;display:flex;align-items:center;gap:12px}.payment-field-row input{font-size:32px;width:280px;border:0;border-bottom:3px solid #e56a2b;padding:8px}
.payment-change{font-size:22px}.payment-change span{display:block;color:#68737d}.payment-change strong{font-size:34px}
.payment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.payment-form-grid label,.combined-grid label{font-size:12px;font-weight:700}.payment-form-grid input,.payment-form-grid select,.combined-grid input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.payment-form-grid .full{grid-column:1/-1}
.credit-summary,.wallet-box{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;background:#f8fafb;border:1px solid var(--line);padding:14px;border-radius:8px;margin-bottom:14px}
.credit-summary div{display:flex;justify-content:space-between}.credit-summary span,.wallet-box span{color:#69737c}.wallet-box{grid-template-columns:1fr auto;max-width:520px;margin:10px auto}
.combined-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.combined-summary div{background:#f7f9fb;border:1px solid var(--line);border-radius:8px;padding:10px}.combined-summary span{display:block;font-size:11px;color:#69737c}.combined-summary b{font-size:18px}
.combined-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.wallet-split-card{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:14px;padding:14px;border:1px solid #fed7aa;background:#fffaf5;border-radius:12px;margin:12px 0}.wallet-split-card>div:first-child{display:flex;align-items:end;gap:8px}.wallet-split-card label{font-size:12px;font-weight:800;flex:1}.wallet-split-card input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid var(--line);border-radius:7px}.wallet-remainder{min-width:150px;padding:10px 14px;border-radius:10px;background:#fff;border:1px solid #fdba74}.wallet-remainder span,.wallet-remainder b{display:block}.wallet-remainder span{font-size:11px;color:#69737c}.wallet-remainder b{font-size:21px;color:#c2410c}.combined-customer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-4px 0 10px}.combined-customer>div{border:1px solid #dbe3eb;background:#f8fafc;border-radius:9px;padding:9px 11px}.combined-customer span,.combined-customer b{display:block}.combined-customer span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.combined-customer b{margin-top:3px}.combined-quick{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.payment-footer{padding:14px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fafafa;flex:0 0 auto;position:relative;z-index:4;box-shadow:0 -8px 22px rgba(15,23,42,.08)}
.payment-footer>div{display:flex;gap:10px}.payment-confirm{font-size:18px;padding:12px 28px;background:#27b93f!important}.payment-back{font-size:16px;padding:12px 22px}.payment-print{font-weight:700}
@media(max-width:1100px){.payment-methods{grid-template-columns:repeat(5,1fr)}.combined-grid{grid-template-columns:repeat(2,1fr)}.combined-customer{grid-template-columns:1fr 1fr}.wallet-split-card{grid-template-columns:1fr}}
@media(max-height:720px){.payment-titlebar{padding:7px 14px}.payment-titlebar h3{font-size:18px}.payment-methods{display:flex;overflow-x:auto;flex:0 0 auto}.payment-method{min-width:82px;min-height:62px;padding:4px}.payment-method span{font-size:21px}.payment-total{padding:7px 16px}.payment-total strong{font-size:32px}.payment-body{padding:12px}.payment-footer{padding:9px 12px}.payment-confirm,.payment-back{font-size:14px;padding:9px 14px}}
@media(max-width:700px){.modal-backdrop:has(.payment-modal){padding:0}.payment-modal{width:100vw;max-height:100vh;max-height:100dvh;height:100vh;height:100dvh;border-radius:0}.payment-methods{display:flex;overflow-x:auto}.payment-method{min-width:88px}.payment-total{grid-template-columns:1fr auto;padding:10px 14px}.payment-total>span{display:none}.payment-total strong{font-size:34px;text-align:left}.payment-total small{font-size:10px}.payment-body{padding:14px}.payment-footer{flex-wrap:wrap;gap:9px}.payment-footer>div{width:100%}.payment-footer .btn{flex:1}.payment-print{font-size:12px}.payment-field-row,.payment-form-grid,.combined-grid,.combined-customer{grid-template-columns:1fr}.payment-field-row{gap:12px;margin-top:12px}.payment-field-row label{font-size:20px}.payment-field-row input{font-size:24px;width:100%}.wallet-split-card>div:first-child{flex-wrap:wrap}.wallet-split-card .btn{width:100%}}

/* V7 Caja, arqueos, pedidos especiales y precios seguros */
.cash-movement-banner{padding:10px 12px;border-radius:8px;font-weight:800;margin-bottom:14px}.cash-movement-banner.in{background:#eaf8ef;color:#187d3d}.cash-movement-banner.out{background:#fff0ef;color:#b8342c}
.cash-close-modal{width:min(900px,98vw)}.blind-toggle{display:flex;gap:8px;align-items:center;font-weight:750;margin-bottom:14px}
.close-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.close-summary div{border:1px solid var(--line);background:#f8fafb;padding:12px;border-radius:9px}.close-summary span{display:block;color:var(--muted);font-size:12px}.close-summary b{font-size:20px}
.cash-count-mode{display:flex;gap:22px;margin:18px 0;font-weight:700}.big-cash-input{font-size:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff7f1;border:1px solid #ffd4bd;padding:15px;border-radius:9px}.big-cash-input input{font-size:28px;width:260px;padding:9px;border:0;border-bottom:3px solid var(--brand)}
.denom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.denom-grid label{display:grid;grid-template-columns:1fr 90px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:8px}.denom-grid input{width:100%;padding:7px}.denom-total{text-align:right;font-size:18px;margin:10px 0}.difference-preview{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px dashed #c7cdd2;border-radius:8px;margin:14px 0}.difference-preview b{font-size:20px}
.order-balance{display:flex;justify-content:space-between;background:#fff4ec;border:1px solid #ffd6bf;border-radius:8px;padding:13px}.order-balance span{font-weight:700}.order-balance b{font-size:22px;color:#d85618}
.price-rule{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:9px;background:#f8fafb;border:1px solid var(--line);border-radius:9px;padding:12px}.price-rule>div{display:flex;flex-direction:column}.price-rule span,.price-rule small{font-size:11px;color:var(--muted)}.price-rule strong{font-size:17px}
.price-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.price-choice{border:1px solid var(--line);border-radius:9px;background:#fff;padding:12px;cursor:pointer;text-align:left}.price-choice:hover{border-color:#f08a52;background:#fff4ec}.price-choice span,.price-choice small{display:block}.price-choice b{display:block;font-size:21px;color:#d95618;margin:5px 0}
.profit-box{margin-top:12px;padding:10px 12px;border-radius:8px;font-weight:750;background:#f3f5f7}.profit-box.ok{background:#eaf8ef;color:#187d3d}.profit-box.danger{background:#fff0ef;color:#b8342c}
@media(max-width:900px){.close-summary,.price-options,.price-rule{grid-template-columns:1fr}.denom-grid{grid-template-columns:1fr 1fr}}

/* V8 · operación integral */
.nav { overflow-y: auto; padding-right: 4px; }
.nav::-webkit-scrollbar { width: 6px; }
.nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 999px; }
.btn.success { background: var(--success); color:#fff; border-color:var(--success); }
.btn.success:hover { filter: brightness(.95); }
.modal-wide { width:min(980px,96vw); }
.modal-xl { width:min(1220px,98vw); max-height:94vh; }
.modal-xl .modal-body { max-height:76vh; overflow:auto; }
.row-actions { display:flex; gap:5px; flex-wrap:wrap; }
.sales-filters .toolbar-left { flex:1; flex-wrap:wrap; }
.sales-filters .control { width:auto; min-width:145px; }
.sales-filters .search { min-width:270px; flex:1; }
.sales-summary { margin-top:14px; }

/* PRUEBAS 1.0.15 · reporte compacto de productos y servicios vendidos */
body.sold-products-page .topbar{padding:10px 20px;min-height:64px;gap:16px}
body.sold-products-page .topbar>div:first-child{min-width:320px}
body.sold-products-page .topbar h1{font-size:22px;line-height:1.1;white-space:nowrap}
body.sold-products-page .topbar p{margin-top:3px;font-size:11px}
body.sold-products-page .topbar-actions{margin-left:auto}
body.sold-products-page .content{padding:12px 20px 24px}
.sold-products-shell{display:grid;gap:12px}
.sp-filter-card{background:#fff;border:1px solid #dfe4ea;border-radius:14px;box-shadow:0 6px 20px rgba(17,24,39,.06);padding:12px}
.sp-primary-filters{display:grid;grid-template-columns:180px 180px minmax(360px,1fr) minmax(210px,.55fr) auto;gap:10px;align-items:end}
.sp-primary-filters label,.sp-advanced-panel label{display:grid;gap:5px;min-width:0}
.sp-primary-filters label>span,.sp-advanced-panel label>span{font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.sp-primary-filters .control,.sp-advanced-panel .control{min-height:40px;padding:8px 10px;background:#fff;color:#1f2937}
.sp-product-field{min-width:0}
.sp-search-box{display:grid;grid-template-columns:34px minmax(120px,1fr) auto;min-height:40px;border:1px solid #f2a37e;border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .16s,border-color .16s}
.sp-search-box:focus-within{border-color:#f05a1a;box-shadow:0 0 0 3px rgba(240,90,26,.11)}
.sp-search-box>span{display:grid;place-items:center;color:#64748b;font-size:19px}
.sp-search-box input{min-width:0;border:0;outline:0;padding:8px 4px;color:#172436;background:#fff}
.sp-search-box .btn{border-radius:0;border:0;min-width:105px;font-weight:800}
.sp-search-box .btn span{font-size:17px;margin-right:4px}
.sp-advanced-button{min-height:40px;white-space:nowrap;font-weight:750}
.sp-advanced-button b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:999px;background:#f05a1a;color:#fff;font-size:10px}
.sp-advanced-panel{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:11px;padding:12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}
.sp-advanced-panel[hidden]{display:none}
.sp-advanced-actions{display:flex;gap:7px;justify-content:flex-end;align-items:end;grid-column:1/-1}
.sp-filter-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #eef1f4}
.sp-filter-actions>div{display:flex;gap:7px}
.sp-filter-actions>span{font-size:11px;color:#64748b}
.sp-filter-actions>span b{color:#172436}
.sp-kpis{gap:12px!important;margin:0!important}
.sp-kpis .kpi{padding:13px 15px;gap:5px;box-shadow:0 5px 18px rgba(17,24,39,.05)}
.sp-kpis .kpi-value{font-size:23px}
.sp-kpis .kpi-icon{width:34px;height:34px}
.sp-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid #e5e7eb}
.sp-results-head>div{display:flex;align-items:baseline;gap:10px}
.sp-results-head strong{font-size:14px}
.sp-results-head span{font-size:11px;color:#64748b}
.sold-products-table{overflow:hidden;box-shadow:0 6px 20px rgba(17,24,39,.06)}
.sold-products-table .table-wrap{max-height:calc(100vh - 410px);min-height:220px}
.sold-products-table table{min-width:1180px}
.sold-products-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc}
.sold-products-table th,.sold-products-table td{padding:9px 11px;font-size:11px}
.sold-products-table td strong{font-size:12px;color:#172436}
@media(max-width:1400px){.sp-primary-filters{grid-template-columns:155px 155px minmax(300px,1fr) 210px}.sp-advanced-button{grid-column:4}.sp-primary-filters label:nth-child(4){grid-column:3}.sp-product-field{grid-column:1/3}.sp-advanced-panel{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:900px){body.sold-products-page .topbar{align-items:flex-start;flex-wrap:wrap}body.sold-products-page .topbar>div:first-child{min-width:0}.sp-primary-filters{grid-template-columns:1fr 1fr}.sp-product-field,.sp-primary-filters label:nth-child(4),.sp-advanced-button{grid-column:1/-1}.sp-advanced-panel{grid-template-columns:1fr 1fr}.sp-kpis{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.sp-primary-filters,.sp-advanced-panel{grid-template-columns:1fr}.sp-primary-filters>*{grid-column:1!important}.sp-advanced-actions{grid-column:1}.sp-search-box{grid-template-columns:32px 1fr}.sp-search-box .btn{grid-column:1/-1;border-radius:0;min-height:38px}.sp-filter-actions{align-items:flex-start;flex-direction:column}.sp-kpis{grid-template-columns:1fr!important}}
.sale-detail-head { display:flex; align-items:center; justify-content:space-between; padding:12px; border:1px solid var(--line); border-radius:10px; background:#fafbfc; }
.sale-detail-total { font-size:26px; font-weight:850; color:var(--brand-dark); }
.line-builder { display:grid; grid-template-columns:minmax(260px,2fr) 110px 150px auto; gap:8px; margin:16px 0; }
.receive-builder { grid-template-columns:minmax(300px,2fr) 110px 140px auto; }
.cols-4-receive { grid-template-columns:repeat(4,minmax(0,1fr)); }
.receiving-head { background:linear-gradient(90deg,#fff7f1,#fff); }
.receive-table input { min-width:78px; width:95px; border:1px solid #d8dde3; border-radius:7px; padding:7px; }
.receive-totals { display:flex; justify-content:flex-end; gap:18px; flex-wrap:wrap; padding:14px; border-top:1px solid var(--line); background:#fafafa; }
.receive-totals span { display:flex; gap:7px; }
.receive-totals .grand { font-size:18px; color:var(--brand-dark); }
.customer-cell { display:flex; gap:9px; align-items:center; }
.customer-thumb { width:42px; height:42px; object-fit:cover; border-radius:50%; border:1px solid var(--line); }
.customer-thumb.placeholder,.customer-photo-preview.placeholder,.customer-profile-photo.placeholder { display:grid; place-items:center; background:#f2f3f5; }
.customer-form-head { display:flex; gap:14px; align-items:center; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.customer-photo-preview { width:68px; height:68px; object-fit:cover; border-radius:14px; border:1px solid var(--line); font-size:28px; }
.customer-profile-top { display:flex; gap:16px; align-items:center; }
.customer-profile-photo { width:94px; height:94px; object-fit:cover; border-radius:16px; border:1px solid var(--line); font-size:34px; }
.customer-profile h2 { margin:0 0 6px; }
.return-options { display:grid; grid-template-columns:auto auto minmax(180px,1fr) minmax(180px,1fr); gap:12px; align-items:center; margin-bottom:14px; }
.return-options label { font-weight:700; }
.return-footer { display:flex; align-items:center; justify-content:flex-end; gap:20px; padding-top:15px; font-size:18px; }
.return-card .card-header svg { background:#fff; padding:3px; }
.warranty-banner { display:flex; justify-content:space-between; gap:12px; padding:12px; border:1px solid #d9e8ff; background:#f5f9ff; border-radius:10px; margin-bottom:14px; }
.warranty-banner>div { display:grid; gap:3px; }
.warranty-banner span { font-size:12px; color:var(--muted); }

@media (max-width: 1100px){
  .cols-4-receive { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .return-options { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px){
  .line-builder,.receive-builder { grid-template-columns:1fr; }
  .cols-4-receive { grid-template-columns:1fr; }
  .return-options { grid-template-columns:1fr; }
  .sales-filters .control,.sales-filters .search { width:100%; min-width:0; }
}


/* === V9 fotos y catálogo visual === */

.product-preview-card{display:grid;gap:12px}
.product-preview-main{height:240px;border-radius:18px;background:#fff7ed;border:1px solid #fed7aa;display:grid;place-items:center;overflow:hidden}
.product-preview-main img{width:100%;height:100%;object-fit:cover}
.product-preview-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.preview-thumb{width:62px;height:62px;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;padding:0}
.preview-thumb img{width:100%;height:100%;object-fit:cover}
.preview-thumb.active{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.15)}
.product-form-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.product-form-thumbs img{width:62px;height:62px;border-radius:10px;object-fit:cover;border:1px solid #e2e8f0}
.gallery-modal{display:grid;gap:14px}.gallery-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.gallery-card{border:1px solid #e2e8f0;border-radius:16px;padding:10px;background:#fff}.gallery-card img{width:100%;height:clamp(240px,38vh,420px);object-fit:contain;border-radius:12px;background:#f8fafc}.product-gallery-dialog{width:min(1120px,96vw)}
.visual-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:center;margin-bottom:18px}
.visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.visual-card{background:#fff;border:1px solid #fde2d2;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.visual-card-head{display:flex;justify-content:space-between;gap:8px;padding:12px 14px;background:linear-gradient(90deg,#ffedd5,#fff7ed)}
.visual-brand{font-weight:900;color:#c2410c;letter-spacing:.3px}.visual-stock{font-size:11px;font-weight:700;color:#0f766e;background:#ecfeff;border:1px solid #a5f3fc;padding:4px 8px;border-radius:999px}.visual-stock.low{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.visual-image-wrap{aspect-ratio:1/1;background:#fff7ed;display:grid;place-items:center;padding:12px}.visual-image-wrap img{width:100%;height:100%;object-fit:cover;border-radius:18px}.visual-image-empty{color:#64748b}
.visual-body{padding:0 14px 14px;display:grid;gap:6px}.visual-body h4{margin:4px 0 0;font-size:17px}.visual-meta{font-size:12px;color:#64748b}.visual-price-row{margin-top:8px;display:flex;justify-content:space-between;align-items:center;background:#fff7ed;border:1px solid #fed7aa;padding:10px 12px;border-radius:14px}.visual-price-row strong{font-size:22px;color:#9a3412}
.visual-card-foot{display:flex;gap:8px;padding:0 14px 14px}.visual-card-foot .btn{flex:1}
.pos-media-strip{padding:10px 14px;background:#fff7ed;border-bottom:1px solid #fed7aa}
.pos-media-placeholder{display:flex;align-items:center;gap:12px;color:#7c2d12}.pos-media-placeholder strong{display:block}.pos-media-placeholder span{display:block;font-size:12px;color:#9a3412}.pos-media-icon{font-size:38px}
.pos-media-card{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}.pos-media-image{height:110px;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #fdba74}.pos-media-image img{width:100%;height:100%;object-fit:contain;padding:4px}.pos-media-info{display:grid;gap:6px}.pos-media-title{font-size:18px;font-weight:900;color:#7c2d12}.pos-media-sub{font-size:12px;color:#475569}.pos-media-prices{display:flex;gap:10px;flex-wrap:wrap}.pos-media-prices span{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;color:#9a3412}
@media (max-width: 900px){.visual-toolbar{grid-template-columns:1fr}.pos-media-card{grid-template-columns:1fr}.product-preview-main{height:200px}}

/* === V9.1 catálogo limpio + recepción por código === */
.catalog-print-options{display:grid;gap:14px}
.catalog-print-note{display:grid;gap:4px;padding:14px 16px;border:1px solid #fed7aa;background:#fff7ed;border-radius:14px;color:#7c2d12}
.catalog-print-note span{font-size:12px;color:#9a3412}
.catalog-print-count{padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#475569}
.receive-scan-panel{display:grid;grid-template-columns:1.35fr 1.55fr .55fr .75fr auto;gap:10px;align-items:end;padding:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin:12px 0 8px}
.receive-scan-panel label{display:block;font-size:11px;font-weight:800;color:#7c2d12;margin-bottom:5px}
.receive-product-info{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:8px;align-items:center;margin-bottom:12px;padding:10px 12px;border:1px solid #e2e8f0;background:#fff;border-radius:12px;min-height:54px}
.receive-product-info>div{display:grid;gap:2px}
.receive-product-info b{font-size:14px;color:#111827}
.receive-product-info small,.receive-product-info span{font-size:11px;color:#64748b}
.receive-product-info strong{font-size:14px;color:#c2410c}
@media(max-width:1100px){.receive-scan-panel{grid-template-columns:1fr 1fr}.receive-product-info{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.receive-scan-panel,.receive-product-info{grid-template-columns:1fr}}


/* === V9.2 · Menú plegable y POS pantalla completa === */
.app-shell{transition:grid-template-columns .22s ease;}
.sidebar{transition:padding .22s ease;overflow:hidden;}
.brand-mark{cursor:pointer;user-select:none;transition:transform .18s ease,box-shadow .18s ease;outline:none;}
.brand-mark:hover,.brand-mark:focus{transform:scale(1.06);box-shadow:0 0 0 4px rgba(249,115,22,.14);}
.brand-mark:active{transform:scale(.98);}
.app-shell.menu-collapsed{grid-template-columns:76px minmax(0,1fr);}
.app-shell.menu-collapsed .sidebar{padding-left:10px;padding-right:10px;}
.app-shell.menu-collapsed .brand{justify-content:center;}
.app-shell.menu-collapsed .brand>div:last-child,
.app-shell.menu-collapsed .nav-label,
.app-shell.menu-collapsed .sidebar-footer{display:none;}
.app-shell.menu-collapsed .nav a{justify-content:center;padding-left:8px;padding-right:8px;}
.app-shell.menu-collapsed .nav-icon{margin:0;font-size:19px;}

body.pos-fullscreen{overflow:hidden;}
body.desktop-pos-window .sidebar{display:none}
body.desktop-pos-window .app-shell{grid-template-columns:minmax(0,1fr)}
body.desktop-pos-window .main{width:100%;min-width:0}
body.pos-fullscreen .main{height:calc(100vh - 32px);overflow:hidden;}
body.pos-fullscreen .topbar{display:none;}
body.pos-fullscreen .content{padding:0;height:calc(100vh - 32px);overflow:hidden;}
body.pos-fullscreen .pos-terminal{width:100%;height:calc(100vh - 32px);min-width:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;}
body.pos-fullscreen .pos-terminal-top{flex:0 0 48px;}
body.pos-fullscreen .pos-command-row{flex:0 0 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;}
body.pos-fullscreen .pos-terminal-main{flex:1;min-height:0;height:auto;overflow:hidden;grid-template-columns:92px minmax(0,1fr);}
body.pos-fullscreen .pos-workspace{height:100%;min-height:0;overflow:hidden;}
body.pos-fullscreen .pos-clientbar{grid-template-columns:48px minmax(180px,.8fr) minmax(420px,1.5fr);padding:5px 9px;}
body.pos-fullscreen .pos-avatar{width:42px;height:42px;font-size:24px;}
body.pos-fullscreen .pos-search-zone{padding:6px 10px 7px;grid-template-columns:130px minmax(260px,1fr) minmax(150px,185px);}
body.pos-fullscreen .pos-search-box{height:38px;}
body.pos-fullscreen .pos-search-results{top:53px;left:145px;right:195px;}
body.pos-fullscreen .pos-media-strip{padding:6px 10px;flex:0 0 auto;}
body.pos-fullscreen .pos-media-card{grid-template-columns:78px minmax(0,1fr);gap:9px;}
body.pos-fullscreen .pos-media-image{height:70px;border-radius:10px;}
body.pos-fullscreen .pos-media-title{font-size:15px;}
body.pos-fullscreen .pos-media-sub{font-size:10px;}
body.pos-fullscreen .pos-media-prices span{font-size:10px;padding:3px 6px;}
body.pos-fullscreen .pos-media-actions .btn{padding:4px 7px;font-size:10px;}
body.pos-fullscreen .pos-cart-area{flex:1;min-height:110px;max-height:none;overflow:auto;}
body.pos-fullscreen .pos-empty-row td{height:180px;}
body.pos-fullscreen .pos-shortcuts{padding:4px 7px;gap:4px;flex:0 0 auto;}
body.pos-fullscreen .pos-shortcuts button{min-height:28px;padding:3px 7px;font-size:10px;}
body.pos-fullscreen .pos-bottom-grid{flex:0 0 auto;grid-template-columns:minmax(0,1fr) minmax(460px,52%);}
body.pos-fullscreen .pos-ticket-panel{padding:6px 9px;gap:5px;}
body.pos-fullscreen .pos-ticket-panel input{padding:5px 7px;}
body.pos-fullscreen .pos-mini-totals{padding:4px 8px;gap:3px 18px;}
body.pos-fullscreen .pos-grand-total{min-height:52px;}
body.pos-fullscreen .pos-grand-total strong{font-size:27px;}
body.pos-fullscreen .pos-charge{font-size:16px;}
body.pos-fullscreen #pos-history-card{display:none;}
body.pos-fullscreen .pos-rail-btn{min-height:62px;font-size:10px;}
body.pos-fullscreen .pos-rail-btn span{font-size:21px;}
body.pos-fullscreen .pos-cart-table{min-width:0;table-layout:fixed;}
body.pos-fullscreen .pos-cart-table thead th:nth-child(1){width:112px}
body.pos-fullscreen .pos-cart-table thead th:nth-child(2){width:62px}
body.pos-fullscreen .pos-cart-table thead th:nth-child(3){width:68px}
body.pos-fullscreen .pos-cart-table thead th:nth-child(4){width:auto}
body.pos-fullscreen .pos-cart-table thead th:nth-child(5){width:82px}
body.pos-fullscreen .pos-cart-table thead th:nth-child(6){width:95px}
body.pos-fullscreen .pos-cart-table thead th:nth-child(7){width:100px}
body.pos-fullscreen .pos-cart-table thead th:nth-child(8){width:120px}
body.pos-fullscreen .pos-cart-table td,body.pos-fullscreen .pos-cart-table th{white-space:normal;overflow-wrap:anywhere;}
.pos-history-modal .table-wrap{max-height:58vh;}

@media(max-height:780px){
  body.pos-fullscreen .pos-terminal-top{height:42px;flex-basis:42px;}
  body.pos-fullscreen .pos-command{height:42px;min-width:100px;font-size:11px;}
  body.pos-fullscreen .pos-clientbar{padding:3px 8px;}
  body.pos-fullscreen .pos-search-zone{padding:4px 9px;}
  body.pos-fullscreen .pos-media-image{height:58px;}
  body.pos-fullscreen .pos-media-strip{padding:4px 9px;}
  body.pos-fullscreen .pos-rail-btn{min-height:54px;}
  body.pos-fullscreen .pos-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(430px,50%);}
}
@media(max-width:1050px){
  body.pos-fullscreen .pos-terminal-main{grid-template-columns:76px minmax(0,1fr);}
  body.pos-fullscreen .pos-clientbar{grid-template-columns:44px minmax(160px,.7fr) minmax(330px,1.5fr);}
  body.pos-fullscreen .pos-client-controls{grid-template-columns:1.3fr 1fr .9fr .75fr;}
  body.pos-fullscreen .pos-search-meta{display:none;}
  body.pos-fullscreen .pos-search-zone{grid-template-columns:112px minmax(0,1fr);}
  body.pos-fullscreen .pos-search-results{left:125px;right:10px;}
}


/* === V9.3 Clientes POS y cobros de crédito === */

.pos-client-name-input{border:0;border-bottom:2px solid transparent;background:transparent;font-size:18px;font-weight:900;color:#0f172a;min-width:240px;max-width:100%;padding:4px 2px;outline:none}.pos-client-name-input:focus{border-bottom-color:#f97316;background:#fff7ed}.pos-client-info{grid-template-columns:auto minmax(180px,1fr)}.pos-client-controls{grid-template-columns:1fr 1fr .75fr!important}
.customer-picker-modal{width:min(980px,96vw)}
.credit-customers-modal{width:min(1180px,98vw)}.credit-modal-head{align-items:center}.credit-total{margin-left:auto;margin-right:18px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:8px 14px;display:grid}.credit-total span{font-size:11px;color:#9a3412}.credit-total strong{font-size:24px;color:#7c2d12}.credit-search-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.credit-search-row input{flex:1}.credit-search-row span{font-size:12px;color:#64748b}.credit-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:14px;min-height:460px}.credit-list-wrap{overflow:auto;border:1px solid #d9e0e7;border-radius:12px}.credit-table{width:100%;border-collapse:collapse}.credit-row{cursor:pointer}.credit-row:hover td{background:#fff7ed}.credit-row.selected td{background:#ffedd5}.credit-detail{border:1px solid #fed7aa;background:#fffaf5;border-radius:16px;padding:16px}.credit-client-card{display:flex;align-items:center;gap:12px}.credit-avatar{width:52px;height:52px;border-radius:14px;background:#ffedd5;display:grid;place-items:center;font-size:28px}.credit-client-card h3{margin:0}.credit-client-card span{font-size:12px;color:#64748b}.credit-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}.credit-kpis div{padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.credit-kpis span{display:block;font-size:11px;color:#64748b}.credit-kpis b{display:block;font-size:18px;margin-top:4px}.credit-actions{display:grid;gap:9px}.credit-payment-banner{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.credit-payment-banner>div{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px}.credit-payment-banner span{display:block;font-size:11px;color:#9a3412}.credit-payment-banner b{font-size:20px}.statement-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa}.statement-payment td{background:#f8fafc;color:#475569}
@media(max-width:900px){.credit-layout{grid-template-columns:1fr}.pos-client-controls{grid-template-columns:1fr!important}.pos-client-name-input{min-width:160px}}


/* === V9.4 · Lista de clientes F6 === */
.customer-picker-v94{width:min(1180px,98vw);max-height:94vh}
.customer-picker-head{background:linear-gradient(90deg,#0f75e8,#2696ff);color:#fff}.customer-picker-head .small-muted{color:#dbeafe}.customer-picker-head .close{color:#fff}
.customer-picker-v94 .modal-body{padding:12px 14px 0}

/* === V9.5 · Editor de productos elegante y guiado === */
.product-editor-modal{width:min(1160px,98vw);max-height:95vh;border-radius:20px;overflow:hidden;background:#f5f7fa}
.product-editor-modal>.modal-header{display:none}
.product-editor-modal>.modal-body{padding:0;max-height:calc(95vh - 69px);overflow:auto;scroll-behavior:smooth}
.product-editor-modal>.modal-footer{position:sticky;bottom:0;z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid #dce2e8;padding:13px 22px;box-shadow:0 -8px 25px rgba(15,23,42,.06)}
.product-editor-modal>.modal-footer:before{content:'Los campos con * son obligatorios';margin-right:auto;color:#64748b;font-size:12px}
.product-editor-modal .pe-save{min-width:180px;padding:11px 18px;font-weight:850;box-shadow:0 8px 18px rgba(240,90,26,.22)}
.product-editor{min-height:610px;background:#f5f7fa}
.product-editor-hero{min-height:112px;padding:22px 26px;display:flex;align-items:center;gap:16px;color:#fff;background:linear-gradient(112deg,#17191c 0%,#24272b 62%,#d94a0c 62%,#f97316 100%);position:relative;overflow:hidden}
.product-editor-hero:after{content:'';position:absolute;right:95px;top:-60px;width:180px;height:180px;border:28px solid rgba(255,255,255,.08);border-radius:50%}
.product-editor-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#ff7a16,#e74c0d);font-size:32px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2);position:relative;z-index:1}
.product-editor-hero>div:nth-child(2){position:relative;z-index:1}
.product-editor-hero span{display:block;font-size:10px;letter-spacing:1.6px;color:#fdba74;font-weight:900}
.product-editor-hero h2{margin:4px 0 3px;font-size:25px;line-height:1.2}
.product-editor-hero p{margin:0;font-size:12px;color:#cbd5e1}
.product-editor-state{margin-left:auto;position:relative;z-index:1;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.16);padding:8px 13px;font-size:12px;font-weight:850}
.product-editor-state i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.18)}
.product-editor-tabs{position:sticky;top:0;z-index:7;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid #dfe5eb;padding:0 24px;box-shadow:0 5px 18px rgba(15,23,42,.05)}
.pe-tab{border:0;border-bottom:3px solid transparent;background:#fff;color:#64748b;padding:15px 8px 12px;font-size:12px;font-weight:800}
.pe-tab:hover{color:#c2410c;background:#fffaf7}.pe-tab.active{color:#c2410c;border-bottom-color:#f05a1a;background:#fff7ed}
.product-editor-body{padding:20px 24px 28px}
.pe-section{display:none;animation:peFade .18s ease}.pe-section.active{display:block}@keyframes peFade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.pe-section-title{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.pe-section-title>div{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#ffedd5;color:#c2410c;border:1px solid #fed7aa}
.pe-section-title strong,.pe-section-title small{display:block}.pe-section-title strong{font-size:16px;color:#1f2937}.pe-section-title small{font-size:11px;color:#64748b;margin-top:2px}
.pe-section{background:#fff;border:1px solid #e0e5ea;border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.pe-grid{display:grid;gap:13px}.pe-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pe-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pe-span-2{grid-column:span 2}.pe-span-3{grid-column:span 3}
.product-editor .form-group{align-content:start}.product-editor .form-group label{font-size:11px;font-weight:850;color:#334155;letter-spacing:.12px}.product-editor .form-group small{font-size:10px;color:#8491a3;line-height:1.35}
.product-editor .control{border-color:#ced6df;border-radius:10px;min-height:41px;background:#fbfcfd}.product-editor .control:hover{border-color:#aeb9c5}.product-editor .control:focus{background:#fff;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12)}
.product-editor .pe-important{font-size:15px;font-weight:750}
.pe-input-action{display:grid;grid-template-columns:1fr 40px}.pe-input-action .control{border-radius:10px 0 0 10px}.pe-input-action button{border:1px solid #f97316;border-left:0;border-radius:0 10px 10px 0;background:#fff7ed;color:#c2410c;font-size:18px;font-weight:900}.pe-input-action button:hover{background:#ffedd5}
.pe-cost-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;align-items:end;margin-bottom:16px;padding:14px;border-radius:14px;background:linear-gradient(90deg,#fff7ed,#fff);border:1px solid #fed7aa}
.pe-cost-values{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.pe-cost-values .form-group{margin:0}.pe-product-tax-line{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border:1px solid #fed7aa;border-radius:8px;background:#fff}.pe-product-tax-line b{font-size:14px;color:#7c2d12}.pe-cost-metric{min-height:62px;padding:9px 12px;border-left:1px solid #fed7aa;display:grid;align-content:center}.pe-cost-strip span{font-size:10px;color:#9a3412}.pe-cost-strip strong{font-size:18px;color:#7c2d12;margin-top:3px}
.pe-money{display:grid;grid-template-columns:34px 1fr;align-items:center}.pe-money>span{height:41px;display:grid;place-items:center;background:#f1f5f9;border:1px solid #ced6df;border-right:0;border-radius:10px 0 0 10px;font-weight:900;color:#475569}.pe-money>.control{border-radius:0 10px 10px 0;text-align:right;font-weight:800}
.pe-price-table{border:1px solid #dce2e8;border-radius:14px;overflow:hidden}.pe-price-head,.pe-price-row{display:grid;grid-template-columns:1.35fr 1fr .8fr .65fr .7fr;gap:12px;align-items:center}.pe-price-head{padding:9px 13px;background:#27313b;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}.pe-price-row{padding:11px 13px;border-bottom:1px solid #e8ecf0}.pe-price-row:last-child{border-bottom:0}.pe-price-row:hover{background:#fffaf7}.pe-price-row>div:first-child{display:grid;grid-template-columns:34px 1fr;align-items:center;column-gap:8px}.pe-price-row>div:first-child b{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ffedd5;color:#c2410c}.pe-price-row>div:first-child span{font-size:11px;color:#64748b}.pe-price-row>strong{font-size:13px;text-align:right}.pe-price-row>em{font-style:normal;text-align:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850}.pe-price-row>em.ok{background:#eaf8f2;color:#11774f}.pe-price-row>em.bad{background:#fff0f0;color:#b93333}
.pe-alert{margin-top:13px;border-radius:12px;padding:11px 13px;display:flex;align-items:center;gap:10px}.pe-alert b{font-size:12px}.pe-alert span{font-size:11px}.pe-alert.warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.pe-alert.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.pe-branch-stock{margin-top:16px;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#f8fafc}.pe-subtitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.pe-subtitle strong{font-size:13px}.pe-subtitle span{font-size:10px;color:#64748b}.pe-stock-grid{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pe-stock-grid>label{display:grid;min-width:0;overflow:hidden;grid-template-columns:minmax(0,1fr) 110px 50px;align-items:center;gap:8px;background:#fff;border:1px solid #dfe5eb;border-radius:12px;padding:9px 11px}.pe-stock-grid>label>span{display:flex;min-width:0;align-items:center;gap:9px}.pe-stock-grid i{flex:0 0 auto;font-style:normal;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#ffedd5;color:#c2410c;font-size:10px;font-weight:900}.pe-stock-grid b{min-width:0;max-width:100%;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-stock-grid .control{min-width:0;text-align:right;min-height:34px;padding:6px 8px}.pe-stock-grid small{font-size:9px;color:#94a3b8}
.pe-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.pe-options-top{margin:0 0 15px}.pe-check{display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe5eb;border-radius:13px;background:#fff;padding:12px;cursor:pointer}.pe-check:hover{border-color:#fdba74;background:#fffaf7}.pe-check input{width:17px;height:17px;accent-color:#f05a1a;margin-top:2px}.pe-check span{display:grid;gap:2px}.pe-check b{font-size:11px;color:#334155}.pe-check small{font-size:9px;color:#8491a3;line-height:1.35}
.pe-warranty-fields{padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;transition:opacity .2s}.pe-warranty-fields.disabled{opacity:.4;pointer-events:none;filter:grayscale(.5)}
.pe-photo-zone{display:grid;grid-template-columns:.8fr 1.2fr;gap:15px;margin-top:15px;padding:15px;border:1px dashed #f59e0b;border-radius:15px;background:#fffbeb}.pe-photo-copy{display:flex;gap:12px;align-items:flex-start}.pe-photo-copy>span{font-size:30px}.pe-photo-copy strong,.pe-photo-copy small{display:block}.pe-photo-copy strong{font-size:13px}.pe-photo-copy small{font-size:10px;color:#78716c;margin:3px 0 11px}.pe-photo-copy input{display:none}.pe-photo-copy .btn{display:inline-block;font-size:11px;padding:7px 10px;background:#fff}.product-editor .product-form-thumbs{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-editor .product-form-thumbs figure{margin:0;min-width:0;border:1px solid #e2e8f0;border-radius:11px;overflow:hidden;background:#fff}.pe-photo-frame{position:relative;height:84px;display:grid;place-items:center;overflow:hidden;background:#f8fafc}.product-editor .product-form-thumbs img{width:100%;height:100%;padding:4px;border:0;border-radius:0;object-fit:contain}.pe-photo-remove{position:absolute;top:5px;right:5px;width:24px;height:24px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#dc2626;color:#fff;font-size:17px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 2px 7px rgba(15,23,42,.28)}.pe-photo-remove:hover{background:#991b1b;transform:scale(1.06)}.product-editor .product-form-thumbs figcaption{padding:5px 6px;font-size:8px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-photo-empty{grid-column:1/-1;min-height:84px;display:grid;place-items:center;border:1px solid #e5e7eb;border-radius:11px;background:#fff;color:#94a3b8;font-size:11px}

.loading-state{min-height:55vh;display:grid;place-items:center;align-content:center;gap:8px;color:#334155}.loading-state:before{content:'';width:38px;height:38px;border:4px solid #fed7aa;border-top-color:#f97316;border-radius:50%;animation:kairos-spin .75s linear infinite}.loading-state b{font-size:18px}.loading-state span{font-size:12px;color:#64748b}@keyframes kairos-spin{to{transform:rotate(360deg)}}
.catalog-limit-row td{text-align:center!important;padding:14px!important;background:#fff7ed!important;color:#9a3412;font-weight:800;white-space:normal!important}.visual-limit-note{grid-column:1/-1;padding:10px 13px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:750}
@media(max-width:900px){.product-editor-modal{width:100vw;max-height:100vh;border-radius:0}.product-editor-modal>.modal-body{max-height:calc(100vh - 68px)}.pe-grid-3,.pe-cost-strip{grid-template-columns:1fr 1fr}.pe-span-3{grid-column:1/-1}.pe-price-head{display:none}.pe-price-row{grid-template-columns:1fr 1fr}.pe-price-row>strong,.pe-price-row>em{display:none}.pe-options-grid{grid-template-columns:1fr}.pe-photo-zone{grid-template-columns:1fr}}
@media(max-width:620px){.product-editor-hero{padding:16px}.product-editor-hero p,.product-editor-state{display:none}.product-editor-tabs{padding:0;grid-template-columns:repeat(4,1fr)}.pe-tab{font-size:0}.pe-tab:before{font-size:12px}.pe-tab:nth-child(1):before{content:'General'}.pe-tab:nth-child(2):before{content:'Precios'}.pe-tab:nth-child(3):before{content:'Stock'}.pe-tab:nth-child(4):before{content:'Fotos'}.product-editor-body{padding:12px}.pe-section{padding:14px}.pe-grid-3,.pe-grid-2,.pe-cost-strip,.pe-stock-grid,.pe-cost-values{grid-template-columns:1fr}.pe-span-2,.pe-span-3{grid-column:auto}.pe-cost-metric{border-left:0;border-top:1px solid #fed7aa}.product-editor-modal>.modal-footer:before{display:none}}
.customer-picker-toolbar{display:grid;grid-template-columns:minmax(420px,1.6fr) minmax(360px,.9fr);gap:18px;align-items:end;margin-bottom:10px}
.customer-picker-search-wrap>label,.customer-picker-selects label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#64748b}
.customer-picker-search{display:grid;grid-template-columns:34px minmax(0,1fr) 40px;align-items:center;border-bottom:3px solid #2696ff;background:#fff}.customer-picker-search>span{display:grid;place-items:center;font-size:20px}.customer-picker-search .control{border:0;box-shadow:none}.customer-picker-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.customer-picker-table-wrap{height:min(52vh,520px);overflow:auto;border:1px solid #cbd5e1;background:#75889b}.customer-picker-table{width:100%;border-collapse:collapse;background:#fff;min-width:980px}.customer-picker-table th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#334155;font-size:11px;text-align:left;border:1px solid #cbd5e1;padding:8px 7px}.customer-picker-table td{border:1px solid #cbd5e1;padding:7px 7px;font-size:12px;white-space:nowrap}.customer-picker-table td:nth-child(5){white-space:normal;min-width:250px}.customer-picker-table .cp-row{cursor:pointer}.customer-picker-table .cp-row:hover td{background:#eff6ff}.customer-picker-table .cp-row.selected td{background:#0d85dc;color:#fff}.customer-picker-table .cp-row.selected .small-muted{color:#dbeafe}.customer-picker-table .cp-row.selected .text-danger{color:#fff!important}.cp-arrow{width:28px;text-align:center;font-size:11px}.customer-picker-count{padding:8px 4px;font-size:12px;color:#475569}
.customer-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.customer-picker-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}.customer-picker-actions .btn{min-width:138px;min-height:48px;font-weight:800}.customer-picker-shortcuts{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#64748b}
@media(max-width:900px){.customer-picker-toolbar{grid-template-columns:1fr}.customer-picker-selects{grid-template-columns:1fr 1fr}.customer-picker-footer{align-items:stretch}.customer-picker-actions{width:100%;margin:0}.customer-picker-actions .btn{flex:1;min-width:120px}.customer-picker-shortcuts{width:100%}}

/* V9.6 · Taller conectado al POS */
.workshop-command{background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;color:#9a3412!important;border-color:#fdba74!important}
.workshop-command span{filter:none!important}.workshop-kpis .kpi{border-top:3px solid #f97316}
.workshop-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:185px}
.workshop-editor{display:grid;gap:18px}.workshop-editor-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#172033,#263958);color:white}
.workshop-editor-head div{display:grid;gap:3px}.workshop-editor-head b{font-size:20px}.workshop-editor-head span:not(.badge){font-size:12px;color:#cbd5e1}
.workshop-lines-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.workshop-lines-grid section{border:1px solid #dfe5ec;border-radius:14px;background:#f8fafc;padding:14px;min-width:0}
.line-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.line-add{display:flex;gap:6px;min-width:0}.line-add select{max-width:230px;padding:7px}.workshop-line{display:grid;grid-template-columns:minmax(120px,1fr) 70px 100px 32px;gap:7px;align-items:center;padding:9px 0;border-top:1px solid #e5e7eb}.workshop-line:first-child{border-top:0}
.workshop-line>div{display:grid;min-width:0}.workshop-line small{color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workshop-line input{width:100%;padding:8px;border:1px solid #cfd7e3;border-radius:7px;background:white}.workshop-line button{border:0;border-radius:7px;background:#fee2e2;color:#b91c1c;font-size:18px;cursor:pointer}
.line-empty{padding:18px;text-align:center;color:#64748b;font-size:12px;border:1px dashed #cbd5e1;border-radius:10px;background:white}.workshop-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:16px 20px;border-radius:12px;background:#fff7ed;color:#7c2d12}.workshop-total strong{font-size:25px}
.workshop-pick-row{gap:16px}.workshop-pick-row>div:last-child{display:flex;gap:12px;align-items:center;white-space:nowrap}.cart-workshop-tag{margin-top:4px;color:#c2410c;font-size:10px;font-weight:800;letter-spacing:.01em}
@media(max-width:900px){.workshop-lines-grid{grid-template-columns:1fr}.workshop-actions{min-width:140px}.workshop-pick-row{align-items:flex-start}.workshop-pick-row>div:last-child{flex-direction:column;align-items:flex-end}}

/* V9.7 · Conteo físico, diferencias y ajustes autorizados */
.count-safety{display:flex;gap:14px;align-items:center;margin-bottom:14px;padding:14px 18px;border:1px solid #bfdbfe;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#f8fafc);color:#1e3a5f}.count-safety>span{font-size:28px}.count-safety b{display:block}.count-safety p{margin:3px 0 0;font-size:12px;color:#52657a}
.count-progress{width:95px;height:5px;margin-top:5px;border-radius:99px;background:#e5e7eb;overflow:hidden}.count-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fb923c,#f97316)}.count-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:245px}
.count-start{display:flex;gap:14px;align-items:center;margin-bottom:18px;padding:16px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa}.count-start-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#f97316;color:white;font-size:27px}.count-start h3,.count-start p{margin:0}.count-start p{margin-top:4px;font-size:12px;color:#64748b}
.count-editor{display:grid;gap:12px}.count-editor-head{display:flex;justify-content:space-between;align-items:flex-start;padding:15px 18px;border-radius:14px;background:linear-gradient(135deg,#111827,#263958);color:#fff}.count-editor-head span:first-child{font:700 12px ui-monospace,monospace;color:#fdba74}.count-editor-head h3{margin:2px 0;font-size:21px}.count-editor-head p{margin:0;color:#cbd5e1;font-size:12px}
.count-editor-tools{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:14px;align-items:center}.count-editor-tools>label{font-size:12px;font-weight:700;white-space:nowrap}.count-editor-tools>div{display:flex;gap:12px;font-size:11px;color:#475569}.count-editor-tools>div span{padding:7px 9px;border-radius:8px;background:#f1f5f9}
.count-lines-wrap{max-height:55vh;overflow:auto;border:1px solid #d7dee8;border-radius:12px}.count-lines{min-width:1000px}.count-lines th{position:sticky;top:0;z-index:2;background:#f8fafc}.count-lines td{vertical-align:middle}.count-lines input{width:100%;min-width:100px;padding:8px;border:1px solid #cbd5e1;border-radius:7px}.count-lines .physical-count-input{font-size:16px;font-weight:800;text-align:center;border-width:2px;border-color:#94a3b8}.count-lines tr.count-match td{background:#f0fdf4}.count-lines tr.count-mismatch td{background:#fff7ed}.count-lines tr.count-pending td{background:#fff}.blind-stock{font-size:17px;letter-spacing:3px;color:#94a3b8}.count-review-note{padding:12px 15px;border-left:4px solid #f59e0b;background:#fffbeb;color:#854d0e}.count-modal>.modal-footer{position:sticky;bottom:0;background:#fff;z-index:4}
.authorization-warning{display:flex;gap:14px;align-items:center;padding:16px;border-radius:13px;background:#fff7ed;border:1px solid #fdba74;color:#7c2d12}.authorization-warning>span{font-size:29px}.authorization-warning b{font-size:16px}.authorization-warning p{margin:4px 0 0;font-size:12px}.count-auth-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.count-auth-summary>div{display:grid;gap:3px;padding:13px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.count-auth-summary span{font-size:11px;color:#64748b}.count-auth-summary b{font-size:19px}.auth-confirm{padding:12px;border-radius:9px;background:#fef2f2;color:#991b1b;font-weight:700}
@media(max-width:900px){.count-editor-tools{grid-template-columns:1fr}.count-editor-tools>div{flex-wrap:wrap}.count-auth-summary{grid-template-columns:1fr}.count-actions{min-width:160px}.count-system-col{display:none}}

/* V9.8 · Control operativo, turnos, PIN y jerarquía visual */
.catalog-actions-v98{display:flex;align-items:stretch;gap:8px;padding:9px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;overflow-x:auto}
.catalog-action-group{display:flex;align-items:center;gap:5px;padding:22px 8px 7px;position:relative;border-right:1px solid #dbe2ea;white-space:nowrap}.catalog-action-group:last-child{border-right:0}.catalog-action-group>span{position:absolute;top:4px;left:10px;color:#7b8798;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.55px}.catalog-actions-v98 .cat-btn{min-height:34px;border-radius:8px;box-shadow:none;font-size:10px}.catalog-actions-v98 .cat-btn.neutral{background:#fff;color:#334155;border:1px solid #cbd5e1}.catalog-actions-v98 .cat-btn.neutral:hover{border-color:#f97316;color:#c2410c;background:#fff7ed}.catalog-actions-v98 .primary-actions{background:#fff;border-radius:10px}.catalog-actions-v98 .danger-actions{margin-left:auto}
.active-registers{display:grid;gap:10px}.shift-payment-grid,.shift-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.shift-payment-grid>div,.shift-report-grid>div{padding:11px 12px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.shift-payment-grid span,.shift-report-grid span{display:block;font-size:10px;color:#64748b}.shift-payment-grid b,.shift-report-grid b{display:block;margin-top:3px;font-size:16px;color:#1e293b}
.shift-open-hero,.seller-auth{display:flex;gap:13px;align-items:center;margin-bottom:16px;padding:14px 16px;border-radius:13px;background:linear-gradient(135deg,#172033,#263958);color:#fff}.shift-open-hero>span,.seller-auth-icon{font-size:28px}.shift-open-hero b,.shift-open-hero small,.seller-auth b,.seller-auth small{display:block}.shift-open-hero small,.seller-auth small{margin-top:3px;color:#cbd5e1;font-size:11px}
.close-authorization{margin-top:14px;padding:14px;border:1px solid #fca5a5;border-radius:12px;background:#fef2f2}.close-result{padding:12px 14px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0}.shift-report-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px;padding:15px;border-radius:13px;background:#172033;color:#fff}.shift-report-head h3{margin:0}.shift-report-head p{margin:4px 0 0;color:#cbd5e1;font-size:11px}.autosave-status{font-size:11px;color:#86efac;font-weight:750}
@media(max-width:900px){.shift-payment-grid,.shift-report-grid{grid-template-columns:1fr 1fr}.catalog-actions-v98{align-items:stretch}.catalog-action-group{flex-wrap:wrap}.catalog-actions-v98 .danger-actions{margin-left:0}}
@media(max-width:560px){.shift-payment-grid,.shift-report-grid{grid-template-columns:1fr}.shift-report-head{display:block}}

/* V9.8.1 · Catálogo fijo para inventarios grandes */
.catalog-shell-fixed{height:calc(100vh - 136px);min-height:560px;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.catalog-fixed-head{display:grid;gap:10px;min-height:0}
.catalog-scroll-area{min-height:0;height:100%;align-items:stretch}
.catalog-table-panel{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#fff;border:1px solid #d8e0e7;border-radius:10px;overflow:hidden}
.catalog-shell-fixed .catalog-table-wrap{height:100%;max-height:none;border:0;border-radius:0;overflow:scroll;scrollbar-gutter:stable both-edges;overscroll-behavior:contain}
.catalog-shell-fixed .catalog-table{min-width:1150px}
.catalog-shell-fixed .catalog-table thead th{position:sticky;top:0;z-index:4;box-shadow:0 1px 0 #d8e0e7}
.catalog-scroll-help{min-height:32px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 12px;border-top:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:10px;font-weight:700}
.catalog-shell-fixed .catalog-preview{height:100%;min-height:0;overflow:hidden;align-self:stretch;position:relative}
.catalog-shell-fixed .product-preview-card{height:100%;min-height:0;overflow:auto;padding-right:3px;scrollbar-width:thin}
.preview-edit-product{width:100%;margin:0 0 11px;border:0;border-radius:9px;padding:10px 12px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-weight:850;box-shadow:0 5px 14px rgba(234,88,12,.18)}
.preview-edit-product:hover{background:#c2410c}
.product-context-menu{position:fixed;z-index:90;width:220px;padding:7px;background:#fff;border:1px solid #d7dee7;border-radius:11px;box-shadow:0 18px 45px rgba(15,23,42,.22)}
.product-context-menu[hidden]{display:none}
.product-context-menu button{width:100%;display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;border:0;border-radius:7px;padding:9px 10px;background:#fff;color:#334155;text-align:left;font-size:12px}
.product-context-menu button:hover{background:#fff3e8;color:#c2410c}
.product-context-menu button.danger{color:#dc2626}
.product-context-menu>div{height:1px;margin:5px 7px;background:#e5e7eb}
@media(max-width:1200px){.catalog-shell-fixed{height:auto;min-height:0;overflow:visible;grid-template-rows:auto auto auto}.catalog-shell-fixed .catalog-table-wrap{height:58vh}.catalog-shell-fixed .catalog-preview{display:none}.catalog-scroll-help{flex-direction:column;align-items:flex-start}}

/* V9.8.2 · Catálogo profesional aprobado */
.catalog-shell-fixed{height:calc(100vh - 150px);min-height:530px;gap:10px;grid-template-rows:auto minmax(0,1fr) 62px}
.catalog-fixed-head{gap:9px}
.catalog-filters{grid-template-columns:minmax(380px,1fr) 220px 230px auto;padding:8px 9px;border-radius:11px;background:#fbfcfd}
.catalog-search{height:42px;border-color:#cfd8e3;background:#fff}
.catalog-search:focus-within{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.10)}
.catalog-search button{width:50px;font-size:0;background:linear-gradient(135deg,#ff6a1a,#f04d0b)}
.catalog-search button:before{content:'⌕';font-size:23px;font-weight:900}
.catalog-actions-v98{gap:0;padding:7px 8px;border-radius:11px;background:#fff;overflow:visible;box-shadow:0 2px 9px rgba(15,23,42,.04)}
.catalog-action-group{gap:6px;padding:22px 10px 6px;border-right:1px solid #e1e6ec;flex:0 1 auto}
.catalog-action-group:first-child{padding-left:2px}
.catalog-action-group:last-child{padding-right:2px}
.catalog-action-group>span{top:2px;left:10px;color:#637083;font-size:8px;letter-spacing:.65px}
.catalog-actions-v98 .cat-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 11px;border-radius:7px;font-size:10px;line-height:1.05;box-shadow:0 2px 4px rgba(15,23,42,.09);transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.catalog-actions-v98 .cat-btn:hover{transform:translateY(-1px);box-shadow:0 5px 13px rgba(15,23,42,.12)}
.catalog-actions-v98 .cat-btn i{display:grid;place-items:center;min-width:17px;font-style:normal;font-size:16px;color:#f97316}
.catalog-actions-v98 .cat-btn.orange{background:linear-gradient(135deg,#ff6b1a,#f04d0b);color:#fff;border:1px solid #ef4d0b}
.catalog-actions-v98 .cat-btn.orange i{color:#fff}
.catalog-actions-v98 .cat-btn.graphite{background:linear-gradient(135deg,#3c4858,#242e3d);color:#fff;border:1px solid #263140}
.catalog-actions-v98 .cat-btn.graphite i{color:#ff8a3d}
.catalog-actions-v98 .cat-btn.neutral{background:linear-gradient(#fff,#f8fafc);color:#263446;border:1px solid #d6dee8}
.catalog-actions-v98 .cat-btn.neutral:hover{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.catalog-actions-v98 .cat-btn.red{background:linear-gradient(135deg,#ed3d3d,#d62020);border:1px solid #cf2020;color:#fff}
.catalog-actions-v98 .cat-btn.red i{color:#fff}
.catalog-actions-v98 .primary-actions{background:transparent;border-radius:0}
.catalog-actions-v98 .danger-actions{margin-left:auto}
.catalog-grid{grid-template-columns:minmax(0,1fr) clamp(270px,19vw,320px);gap:10px}
.catalog-table-panel{border-radius:9px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.catalog-shell-fixed .catalog-table{min-width:1070px}
.catalog-table th,.catalog-table td{padding:8px 11px}
.catalog-table tbody td{height:44px;font-size:11px}
.catalog-table tbody td strong{font-size:12px}
.catalog-table .small-muted{font-size:9px;margin-top:2px}
.catalog-shell-fixed .catalog-table thead th{height:40px;background:linear-gradient(#39434e,#27313b);color:#fff;font-size:9px}
.catalog-row.selected td{background:#ffead8!important;box-shadow:inset 0 1px #ffd5b5,inset 0 -1px #ffd5b5}
.catalog-scroll-help{min-height:29px;padding:5px 10px}
.catalog-shell-fixed .catalog-preview{padding:9px;border-radius:9px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.catalog-shell-fixed .product-preview-card{gap:8px;padding-right:5px}
.product-preview-main{height:215px;border-radius:12px;background:#fff;border-color:#e1e6ec}
.product-preview-main img{object-fit:contain;padding:7px}
.product-preview-thumbs{gap:6px}
.preview-thumb{width:48px;height:48px;border-radius:8px}
.catalog-preview h3{margin:2px 0 0;font-size:16px}
.preview-edit-product{margin:0 0 5px;min-height:42px;border-radius:8px;background:linear-gradient(135deg,#ff6717,#ee4c0b);font-size:11px}
.preview-kv{gap:5px;padding-top:7px;font-size:10px}
.preview-actions{margin-top:5px}
.catalog-summary{display:flex;align-items:center;gap:0;height:62px;border:1px solid #d8e0e7;border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.catalog-summary>div{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex:1;height:100%;padding:8px 17px;border:0;border-right:1px solid #e3e8ee;border-radius:0;background:#fff}
.catalog-summary>div:last-child{border-right:0}
.catalog-summary i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e8edf3;color:#334155;font-style:normal;font-weight:900}
.catalog-summary i.warning{background:#fff3db;color:#f59e0b}.catalog-summary i.orange{background:#fff0e5;color:#f97316}.catalog-summary i.info{background:#eaf2ff;color:#3975d1}
.catalog-summary small{font-size:9px}.catalog-summary b{font-size:14px;white-space:nowrap}
@media(max-width:1650px){.catalog-actions-v98 .cat-btn{padding:7px 8px;font-size:9px;gap:5px}.catalog-actions-v98 .cat-btn i{font-size:14px}.catalog-action-group{padding-left:6px;padding-right:6px}.catalog-grid{grid-template-columns:minmax(0,1fr) 275px}}
@media(max-width:1380px){.catalog-actions-v98{flex-wrap:wrap}.catalog-action-group{border-right:0}.catalog-actions-v98 .danger-actions{margin-left:0}.catalog-shell-fixed{height:auto;min-height:0;overflow:visible;grid-template-rows:auto auto auto}.catalog-shell-fixed .catalog-table-wrap{height:58vh}.catalog-summary{height:auto;flex-wrap:wrap}.catalog-summary>div{min-width:180px;border-bottom:1px solid #e3e8ee}.catalog-shell-fixed .catalog-preview{display:none}}

/* V9.8.3 · Menú lateral ultracompacto */
.app-shell.menu-collapsed{grid-template-columns:64px minmax(0,1fr)}
.app-shell.menu-collapsed .sidebar{padding:16px 7px 10px}
.app-shell.menu-collapsed .brand{justify-content:center;padding:0 0 14px;border-bottom-color:rgba(255,255,255,.07)}
.app-shell.menu-collapsed .brand-mark{width:40px;height:40px;border-radius:10px;font-size:22px}
.app-shell.menu-collapsed .nav{gap:3px;padding:10px 0 0;scrollbar-width:none}
.app-shell.menu-collapsed .nav::-webkit-scrollbar{width:0;height:0}
.app-shell.menu-collapsed .nav a{width:46px;min-height:42px;margin:0 auto;padding:8px 0;justify-content:center;border-radius:9px;border-left:0}
.app-shell.menu-collapsed .nav a.active{padding-left:0;background:rgba(240,90,26,.20);box-shadow:inset 3px 0 0 var(--brand)}
.app-shell.menu-collapsed .nav-icon{width:100%;margin:0;font-size:18px;line-height:1;text-align:center}
.app-shell.menu-collapsed .nav-label,
.app-shell.menu-collapsed .brand>div:last-child,
.app-shell.menu-collapsed .sidebar-footer{display:none}
@media(max-width:820px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding-left:7px;padding-right:7px}.brand{padding-left:0;padding-right:0}.nav a{padding-left:0;padding-right:0}}

/* V9.8.4 — referencia aprobada: POS claro y botones redondeados */
.pos-terminal{font-family:'Segoe UI',Arial,sans-serif;color:#172436;-webkit-font-smoothing:antialiased}
.pos-terminal button,.pos-terminal input,.pos-terminal select{font-family:inherit}
.pos-top-box,.pos-user{border-radius:9px;overflow:hidden}
.pos-command-row{background:linear-gradient(110deg,#edf2f6,#dfe7ed);border-bottom:1px solid #d4dee7;padding:8px 10px;gap:18px}
.pos-command-group{gap:9px;align-items:center}
.pos-command{height:48px;min-width:120px;border:1px solid #d3dde7;border-radius:11px;background:linear-gradient(#fff,#f8fafc);color:#152436;padding:5px 11px;column-gap:7px;font-size:12px;font-weight:650;box-shadow:0 1px 2px #273b501c;white-space:nowrap;transition:background .15s,border-color .15s}
.pos-command span{color:#ff6b00;display:grid;place-items:center}
.pos-command svg{width:25px;height:25px}
.pos-command small{color:#75859b;font-weight:400;letter-spacing:.3px;font-size:10px}
.pos-command:hover{background:#fff5eb;border-color:#fb923c}
.pos-command.workshop-command{border-color:#fba354;background:#fffaf4;color:#df5006}
#btn-close-turn{border-color:#f78b8e;background:#fff8f8;grid-template-rows:1fr}
#btn-close-turn span{color:#f12a35;grid-row:1}
.pos-rail{padding:7px 7px;gap:7px;background:#f5f8fb;border-right:1px solid #dae3eb;overflow-y:auto;scrollbar-width:thin}
body.pos-fullscreen .pos-rail-btn{flex:0 0 auto;min-height:65px;border:1px solid #e3ebf2;border-radius:10px;background:#fff;font-weight:650;box-shadow:0 1px 1px #26384c05}
.pos-rail-btn span{color:#ff6900;display:grid;place-items:center}
.pos-rail-btn svg{width:25px;height:25px}
.pos-rail-btn small{color:#667c96;font-weight:400}
#rail-credit span,.pos-rail-btn.danger span{color:#ff2535}
#rail-entry span,#rail-exit span{background:linear-gradient(#73b8ff,#358dfa);color:#fff;border-radius:4px;padding:2px}
.pos-clientbar,.pos-search-zone{border-color:#e0e7ef}
.pos-avatar{border-radius:3px;border-color:#dce4ed}
.pos-select{border-radius:8px;border-color:#cedae6;background:#fff}
.pos-client-controls{grid-template-columns:1.3fr 1.2fr 1fr}
.pos-client-name-input{font-family:inherit;font-weight:700}
.pos-search-box{border:1px solid #ff944d;border-radius:8px}
.pos-search-box input::placeholder{color:#8090a6}
.pos-media-strip{background:#fff8f0;border-color:#f0e2d2}
.pos-media-icon svg{width:32px;height:32px}
.pos-media-placeholder{gap:16px;color:#ac410d}
.pos-media-placeholder strong{font-weight:650}
.pos-cart-area,.pos-empty-row td{background:#eaf0f5;color:#718399}
.pos-cart-table thead th{background:linear-gradient(#4b6170,#3d4f5e);border-color:#9dacb9;font-weight:650}
.pos-cart-table thead th:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}
.pos-cart-table thead th:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}
.pos-empty-icon svg{width:40px;height:40px;color:#879bad}
body.pos-fullscreen .pos-empty-row td{height:clamp(150px,30vh,380px)}
.pos-empty-row div{gap:10px}
.pos-empty-row strong{font-weight:650}
.pos-shortcuts{border-color:#e0e7ef}
body.pos-fullscreen .pos-shortcuts button{border-radius:8px;border:1px solid #d6e0ea;background:linear-gradient(#fff,#f6f9fc);box-shadow:0 1px 2px #273b5017;font-weight:600;min-height:32px;padding:5px 10px}
.pos-shortcuts button small{font-weight:400;color:#718199}
body.pos-fullscreen .pos-shortcuts button.generic{background:#fff3b6;border-color:#efc341}
.pos-ticket-panel,.pos-mini-totals{border-color:#e0e7ef}
.pos-ticket-panel input{border-radius:5px;border-color:#cedae6}
.pos-grand-total{border-radius:6px;margin:0 3px 0 0}
.pos-charge{border-radius:6px;margin:0 0 0 2px}
.pos-nav-dot{display:inline-block;width:17px;height:17px;border:2px solid #f97316;border-radius:50%;background:#f97316;box-shadow:inset 0 0 0 3px #38281d}
.pos-terminal button:focus-visible{outline:2px solid #f97316;outline-offset:2px}
@media(min-width:1500px){body.pos-fullscreen .pos-terminal-main{grid-template-columns:112px minmax(0,1fr)}.pos-command{min-width:142px;height:48px;font-size:13px}.pos-command-row{padding:8px 10px}body.pos-fullscreen .pos-rail-btn{min-height:72px;font-size:11px}body.pos-fullscreen .pos-clientbar{padding:9px 12px}body.pos-fullscreen .pos-search-zone{padding:10px 14px}body.pos-fullscreen .pos-media-strip{padding:12px 16px}}
@media(max-width:1350px){.pos-command-row{gap:8px}.pos-command-group{gap:5px}.pos-command{min-width:100px;padding:5px 7px;font-size:11px;column-gap:4px}.pos-command svg{width:22px;height:22px}}
@media(max-height:760px){body.pos-fullscreen .pos-rail-btn{min-height:54px}.pos-rail{gap:5px}body.pos-fullscreen .pos-command{height:42px}.pos-command-row{padding:6px 8px}}

/* Confirmacion final de venta en efectivo: permanece visible hasta ENTER. */
.sale-complete-backdrop{z-index:10000;background:rgba(15,23,42,.78);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px}
.sale-complete-modal{width:min(620px,94vw);background:#fff;border-radius:22px;border:5px solid #22c55e;box-shadow:0 30px 90px rgba(0,0,0,.42);padding:28px 34px 32px;text-align:center;color:#122033}
.sale-complete-check{width:88px;height:88px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#22c55e;color:#fff;font-size:60px;font-weight:900;line-height:1;box-shadow:0 10px 24px rgba(34,197,94,.28)}
.sale-complete-label{font-size:30px;font-weight:1000;letter-spacing:.12em;color:#334155}
.sale-complete-amount{font-size:clamp(64px,10vw,104px);font-weight:1000;line-height:1.05;color:#0f9f4f;margin:4px 0 18px;font-variant-numeric:tabular-nums}
.sale-complete-summary{display:flex;justify-content:center;gap:36px;border-top:1px solid #dbe3ec;border-bottom:1px solid #dbe3ec;padding:12px 6px;margin:0 auto 16px;font-size:18px}
.sale-complete-summary span{display:flex;gap:8px;align-items:center;color:#64748b}.sale-complete-summary b{color:#172033;font-size:21px}
.sale-complete-drawer{font-size:21px;font-weight:900;color:#172033;margin:12px 0 6px}
.sale-complete-number{font-size:15px;color:#64748b;margin-bottom:22px}
.sale-complete-ticket{margin:-10px 0 20px;color:#0f766e;font-size:16px;font-weight:900}
.sale-complete-continue{width:100%;border:0;border-radius:12px;background:#ef4d13;color:#fff;padding:17px 20px;font-size:23px;font-weight:1000;cursor:pointer;box-shadow:0 8px 20px rgba(239,77,19,.25)}
.sale-complete-continue:hover,.sale-complete-continue:focus{background:#d9430e;outline:4px solid rgba(239,77,19,.22)}
.sale-complete-continue small{font-size:15px;margin-left:8px}
@media(max-width:560px){.sale-complete-modal{padding:22px 18px 24px}.sale-complete-check{width:72px;height:72px;font-size:48px}.sale-complete-label{font-size:24px}.sale-complete-summary{gap:14px;flex-direction:column}.sale-complete-drawer{font-size:18px}}
.payment-failure{grid-column:1/-1;display:grid;gap:5px;margin:0 0 14px;padding:14px 16px;border:2px solid #dc2626;border-radius:10px;background:#fef2f2;color:#7f1d1d;text-align:left}
.payment-failure b{font-size:17px}.payment-failure span{font-weight:700}.payment-failure small{color:#991b1b}
.payment-confirm:disabled{opacity:.72;cursor:wait}

/* === V9.8.9 · Navegación profesional agrupada por módulos === */
.app-shell{grid-template-columns:225px minmax(0,1fr)}
.sidebar{z-index:60;padding:16px 11px 12px;overflow:visible;background:linear-gradient(180deg,#1d2a34 0%,#13212b 62%,#101b23 100%)}
.brand{min-height:54px;padding:0 8px 13px}.brand-mark{background:transparent;color:#ff6518;box-shadow:none;font-size:34px;font-style:italic}.brand-name{font-size:17px;letter-spacing:1.4px}.brand-subtitle{font-size:10px;letter-spacing:1.8px;text-transform:uppercase}
.nav{flex:1;min-height:0;gap:3px;padding-top:12px;overflow:visible}
.nav-module{position:relative;width:100%;min-height:45px;border:0;border-left:3px solid transparent;border-radius:9px;background:transparent;color:#d8e1e8;padding:7px 9px;display:flex;align-items:center;gap:10px;text-align:left;font-size:13px;transition:background .15s,color .15s,border-color .15s}
.nav-module:hover,.nav-module:focus-visible{background:rgba(255,255,255,.07);color:#fff;outline:0}
.nav-module.active{background:linear-gradient(90deg,rgba(249,115,22,.24),rgba(255,255,255,.055));border-left-color:#ff6b1a;color:#fff}
.nav-module .nav-icon{display:grid;place-items:center;width:25px;min-width:25px;font-size:18px;color:#edf4f8}.nav-module.active .nav-icon{color:#ff7a2a}
.nav-module .nav-label{flex:1;font-weight:650}.nav-chevron{font-size:23px;line-height:1;color:#93a4b1;transition:transform .15s}.nav-module[aria-expanded="true"] .nav-chevron{transform:rotate(90deg);color:#ff7a2a}
.nav-module-badge{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#dc2626;color:#fff;font-size:10px;font-weight:900}
.sidebar-footer{padding:10px 7px 0;gap:6px;border-top:1px solid rgba(255,255,255,.12)}
.sidebar-user{display:flex;align-items:center;gap:9px;color:#f8fafc}.sidebar-user>span{font-size:20px}.sidebar-user>div{display:grid}.sidebar-user b{font-size:12px}.sidebar-user small{font-size:9px;color:#8fa2b0}
.sidebar-footer .server-pill,.sidebar-footer #sync-label{font-size:9px}.sidebar-footer .build-version{font-size:10px}
.sidebar-collapse-button{border:0;background:transparent;color:#cbd5df;padding:5px 0;display:flex;align-items:center;gap:7px;text-align:left;font-size:10px}.sidebar-collapse-button:hover{color:#ff7a2a}
.nav-flyout{position:fixed;width:285px;max-height:calc(100vh - 24px);overflow:auto;background:#fff;color:#152436;border:1px solid #d9e2ea;border-radius:13px;box-shadow:0 22px 60px rgba(15,23,42,.27);z-index:1000;opacity:0;transform:translateX(-8px);transition:opacity .14s ease,transform .14s ease}
.nav-flyout[hidden]{display:none!important}.nav-flyout.open{opacity:1;transform:translateX(0)}
.nav-flyout-head{display:flex;align-items:center;gap:10px;padding:16px 16px 13px;border-bottom:1px solid #e7edf2}.nav-flyout-head strong{font-size:19px}.nav-flyout-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#fff0e7;color:#f15b18;font-size:19px}.nav-flyout-head button{margin-left:auto;border:0;background:#f1f5f9;color:#64748b;width:28px;height:28px;border-radius:8px;font-size:20px;line-height:1}
.nav-flyout-list{display:grid;padding:8px}.nav-flyout-list a{min-height:48px;padding:7px 9px;border-radius:9px;color:#243446;text-decoration:none;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:6px}.nav-flyout-list a:hover,.nav-flyout-list a.active{background:#fff3eb;color:#c9470d}.nav-flyout-list a>span{font-size:18px;text-align:center}.nav-flyout-list a>b{font-size:12px}.nav-flyout-badge{padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.nav-flyout-badge.receivables{background:#fee2e2;color:#b91c1c}.nav-flyout-badge.payables{background:#fef3c7;color:#a16207}
.app-shell.menu-collapsed{grid-template-columns:64px minmax(0,1fr)}
.app-shell.menu-collapsed .nav-module{width:46px;min-height:42px;margin:0 auto;padding:7px 0;justify-content:center;border-left:0}.app-shell.menu-collapsed .nav-module.active{box-shadow:inset 3px 0 0 #ff6b1a}.app-shell.menu-collapsed .nav-module .nav-label,.app-shell.menu-collapsed .nav-chevron{display:none}.app-shell.menu-collapsed .nav-module-badge{position:absolute;right:0;top:2px;min-width:8px;width:8px;height:8px;padding:0;font-size:0}.app-shell.menu-collapsed .nav-module .nav-icon{width:100%}
@media(max-height:760px){.sidebar{padding-top:9px;padding-bottom:7px}.brand{min-height:45px;padding-bottom:8px}.brand-mark{font-size:28px}.nav{padding-top:6px;gap:1px}.nav-module{min-height:37px;padding-top:4px;padding-bottom:4px}.sidebar-footer{padding-top:6px;gap:3px}.sidebar-footer #sync-label{display:none}}
@media(max-width:820px){.app-shell{grid-template-columns:64px minmax(0,1fr)}.sidebar{padding-left:7px;padding-right:7px}.brand>div:last-child,.nav-module .nav-label,.nav-chevron,.sidebar-footer{display:none}.nav-module{width:46px;margin:0 auto;padding-left:0;padding-right:0;justify-content:center}.nav-module .nav-icon{width:100%}}

/* === 1.16.8 · Menú lateral animado y compacto === */
.app-shell{grid-template-columns:250px minmax(0,1fr);transition:grid-template-columns .25s cubic-bezier(.22,.61,.36,1)}
.sidebar{transition:padding .25s ease,box-shadow .25s ease;box-shadow:8px 0 24px rgba(8,15,22,.08)}
.nav{overflow-y:auto;overflow-x:visible;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}
.nav-module-group{display:grid;position:relative}.nav-module{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.nav-module:hover{transform:translateX(2px)}.nav-module.active{box-shadow:inset 3px 0 0 #ff6518,0 6px 16px rgba(0,0,0,.09)}.nav-module .nav-icon{transition:transform .18s ease,color .18s ease}.nav-module:hover .nav-icon{transform:scale(1.1)}.nav-shortcut{font-size:8px;font-weight:650;color:#7f929f;border:1px solid rgba(255,255,255,.13);border-radius:5px;padding:2px 4px;white-space:nowrap}.nav-module.active .nav-shortcut{color:#ffd8c2;border-color:rgba(255,122,42,.28)}
.nav-inline-submenu{position:relative;display:grid;gap:2px;max-height:0;opacity:0;overflow:hidden;margin:0 4px 0 18px;padding-left:14px;transition:max-height .28s cubic-bezier(.22,.61,.36,1),opacity .18s ease,margin .25s ease}.nav-inline-submenu:before{content:'';position:absolute;left:3px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.18)}.nav-module-group.open .nav-inline-submenu{max-height:330px;opacity:1;margin-top:4px;margin-bottom:6px}.nav-inline-submenu a{position:relative;min-height:36px;padding:7px 8px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:5px;border-radius:8px;color:#adbbc5;text-decoration:none;font-size:11px;transition:background .16s,color .16s,transform .16s}.nav-inline-submenu a:before{content:'';position:absolute;left:-13px;width:8px;height:1px;background:rgba(255,255,255,.18)}.nav-inline-submenu a:hover{background:rgba(255,255,255,.06);color:#fff;transform:translateX(2px)}.nav-inline-submenu a.active{background:linear-gradient(90deg,rgba(249,81,17,.35),rgba(249,115,22,.11));color:#fff}.nav-inline-submenu a.active:after{content:'';position:absolute;left:-16px;width:4px;height:20px;border-radius:999px;background:#ff6518;box-shadow:0 0 12px rgba(255,101,24,.55)}.nav-inline-submenu a>span{text-align:center;color:#ff8a45}.nav-inline-submenu a>b{font-weight:700}.nav-inline-submenu .nav-flyout-badge{font-size:8px}
.sidebar-pos-shortcut{margin:9px 4px 11px;min-height:46px;border:0;border-radius:10px;background:linear-gradient(135deg,#ff6418,#ec480d);color:#fff;display:flex;align-items:center;gap:9px;padding:9px 11px;cursor:pointer;box-shadow:0 9px 20px rgba(235,75,13,.24);transition:transform .18s,box-shadow .18s}.sidebar-pos-shortcut:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(235,75,13,.32)}.sidebar-pos-shortcut span{font-size:18px}.sidebar-pos-shortcut b{font-size:11px;flex:1;text-align:left}.sidebar-pos-shortcut kbd,.sidebar-collapse-button kbd{font:700 8px/1.2 inherit;padding:3px 5px;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:rgba(0,0,0,.12);white-space:nowrap}.sidebar-user>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f8fafc;color:#17212b;font-size:14px;font-weight:900}.sidebar-collapse-button{width:100%;gap:8px;cursor:pointer}.sidebar-collapse-button span{flex:1}.sidebar-collapse-button kbd{border-color:rgba(255,255,255,.12);color:#8295a3}
.app-shell.menu-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-shell.menu-collapsed .sidebar{padding-left:9px;padding-right:9px}.app-shell.menu-collapsed .nav-module-group{overflow:visible}.app-shell.menu-collapsed .nav-inline-submenu{display:none}.app-shell.menu-collapsed .nav-module{width:50px;min-height:46px}.app-shell.menu-collapsed .nav-module:hover{transform:scale(1.04)}.app-shell.menu-collapsed .nav-module:hover:after{content:attr(data-tooltip);position:absolute;left:58px;top:50%;transform:translateY(-50%);z-index:1200;padding:8px 10px;border-radius:8px;background:#17212b;color:#fff;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:0 10px 25px rgba(0,0,0,.28);pointer-events:none}.app-shell.menu-collapsed .nav-module:hover:before{content:'';position:absolute;left:53px;top:50%;transform:translateY(-50%);border-width:5px 5px 5px 0;border-style:solid;border-color:transparent #17212b transparent transparent}.app-shell.menu-collapsed .nav-shortcut{display:none}.app-shell.menu-collapsed .sidebar-pos-shortcut{width:50px;height:46px;margin:9px auto 11px;padding:0;justify-content:center}.app-shell.menu-collapsed .sidebar-pos-shortcut b,.app-shell.menu-collapsed .sidebar-pos-shortcut kbd{display:none}.app-shell.menu-collapsed .sidebar-footer{display:grid;padding-left:0;padding-right:0}.app-shell.menu-collapsed .sidebar-user,.app-shell.menu-collapsed .logout-button,.app-shell.menu-collapsed .server-pill,.app-shell.menu-collapsed #sync-label,.app-shell.menu-collapsed .build-version{display:none}.app-shell.menu-collapsed .sidebar-collapse-button{width:50px;height:36px;margin:auto;justify-content:center;border-radius:8px;background:rgba(255,255,255,.06);font-size:18px}.app-shell.menu-collapsed .sidebar-collapse-button span,.app-shell.menu-collapsed .sidebar-collapse-button kbd{display:none}
@media(max-height:820px){.nav-module{min-height:40px;padding-top:5px;padding-bottom:5px}.nav-inline-submenu a{min-height:31px;padding-top:5px;padding-bottom:5px}.sidebar-pos-shortcut{min-height:40px}.sidebar-footer .server-pill,.sidebar-footer #sync-label{display:none}}


/* === KAIROS PRUEBAS 1.0.3: acceso obligatorio === */
body.auth-locked { overflow:hidden; }
body.auth-locked > .test-mode-banner,
body.auth-locked > .app-shell { display:none !important; }
.login-screen { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 18% 18%, rgba(249,115,22,.20), transparent 31%), radial-gradient(circle at 88% 84%, rgba(71,85,105,.18), transparent 34%), linear-gradient(135deg,#f8fafc 0%,#eef2f6 45%,#e2e8f0 100%); }
body:not(.auth-locked) .login-screen { display:none; }
.login-card { width:min(440px,100%); background:rgba(255,255,255,.97); border:1px solid #d7dee7; border-radius:24px; box-shadow:0 28px 80px rgba(15,23,42,.18); padding:32px; }
.login-brand { display:flex; align-items:center; gap:14px; margin-bottom:30px; }
.login-brand-mark { width:56px; height:56px; display:grid; place-items:center; border-radius:16px; background:linear-gradient(135deg,#ff7a18,#e85d04); color:#fff; font-weight:1000; font-size:30px; box-shadow:0 10px 24px rgba(234,88,12,.28); }
.login-brand-name { color:#111827; font-weight:1000; letter-spacing:.4px; font-size:20px; }
.login-brand-subtitle { color:#6b7280; font-size:12px; margin-top:2px; }
.login-heading h1 { margin:0; color:#111827; font-size:27px; }
.login-heading p { margin:8px 0 24px; color:#64748b; line-height:1.5; }
.login-form { display:grid; gap:9px; }
.login-form label { font-weight:800; color:#334155; font-size:13px; margin-top:4px; }
.login-control { width:100%; height:48px; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:12px; padding:0 14px; font-size:15px; outline:none; background:#fff; transition:border-color .16s,box-shadow .16s; }
.login-control:focus { border-color:#f97316; box-shadow:0 0 0 4px rgba(249,115,22,.12); }
.login-password-wrap { position:relative; }
.login-password-wrap .login-control { padding-right:50px; }
.login-eye { position:absolute; right:6px; top:6px; width:36px; height:36px; border:0; border-radius:9px; background:transparent; cursor:pointer; opacity:.65; }
.login-eye:hover { background:#f1f5f9; opacity:1; }
.login-error { min-height:20px; color:#b91c1c; font-size:13px; font-weight:700; padding-top:2px; }
.login-submit { height:50px; border:0; border-radius:12px; background:linear-gradient(90deg,#f97316,#ea580c); color:#fff; font-size:15px; font-weight:900; cursor:pointer; box-shadow:0 10px 22px rgba(234,88,12,.22); }
.login-submit:hover { filter:brightness(.98); transform:translateY(-1px); }
.login-submit:disabled { cursor:wait; opacity:.68; transform:none; }
.login-forgot { border:0; background:transparent; color:#c2410c; font-weight:800; cursor:pointer; padding:6px; }
.login-forgot:hover { text-decoration:underline; }
.branch-recovery { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:20px; background:rgba(15,23,42,.62); }
.branch-recovery[hidden] { display:none; }
.branch-recovery-card { width:min(480px,100%); box-sizing:border-box; background:#fff; border-radius:20px; padding:26px; box-shadow:0 28px 90px rgba(15,23,42,.34); }
.branch-recovery-card h2 { margin:0 0 8px; color:#111827; }
.branch-recovery-card p { color:#64748b; line-height:1.5; }
.branch-recovery-fields { display:grid; gap:10px; }
.branch-recovery-fields label { font-weight:800; color:#334155; font-size:13px; }
.branch-recovery-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.branch-recovery-message { min-height:20px; margin-top:10px; color:#b91c1c; font-weight:700; font-size:13px; }
.login-foot { margin-top:22px; padding-top:18px; border-top:1px solid #e5e7eb; display:flex; justify-content:space-between; gap:12px; color:#64748b; font-size:11px; }
.login-foot > span { display:flex; align-items:center; gap:7px; }
.login-status-dot { width:8px; height:8px; border-radius:50%; background:#94a3b8; display:inline-block; }
.login-status-dot.ok { background:#16a34a; box-shadow:0 0 0 3px rgba(22,163,74,.12); }
.login-status-dot.bad { background:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.login-status-dot.wait { background:#f59e0b; box-shadow:0 0 0 3px rgba(245,158,11,.18); animation:kairos-login-wait 1.2s ease-in-out infinite; }
@keyframes kairos-login-wait { 50% { opacity:.35; } }
.logout-button { width:100%; margin:8px 0 2px; border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.07); color:#e5e7eb; border-radius:8px; padding:8px 10px; font-size:12px; font-weight:800; cursor:pointer; }
.logout-button:hover { background:rgba(255,255,255,.13); }
@media (max-width:560px){ .login-card{padding:24px;border-radius:18px}.login-foot{flex-direction:column}.login-heading h1{font-size:24px} }

/* === KAIROS PRUEBAS 1.0.4: flujo, menú y POS más limpio === */
.brand-mark{cursor:pointer}
.brand-home{cursor:pointer}
.brand-home:hover .brand-name,.brand-home:focus .brand-name{color:#ffffff}
.brand-home:hover .brand-subtitle,.brand-home:focus .brand-subtitle{color:#d1d5db}
.pos-power{display:none!important}

.pos-terminal-top{height:42px;padding:4px 6px;background:#465b6f}
.pos-top-box{height:32px;grid-template-columns:58px 188px;border-color:#cdd5dd;background:#f8fafc}
.pos-top-box.turn{grid-template-columns:60px 120px}
.pos-top-box span{font-size:11px}
.pos-top-box strong{font-size:12px}
.pos-user{min-width:220px;height:32px;padding:0 12px;border:1px solid #d3dde7;background:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}
.pos-user small{display:inline-block;font-size:10px;color:#6b7280;font-weight:700}

.pos-command-row{padding:6px 8px;gap:10px;background:linear-gradient(180deg,#f2f6fa,#e6edf3)}
.pos-command-group{gap:6px}
.pos-command{height:42px;min-width:104px;padding:4px 9px;border-radius:10px;font-size:11px;column-gap:6px}
.pos-command svg{width:22px;height:22px}
.pos-command small{font-size:9px}
#btn-close-turn{background:#f9fbfc;border-color:#d5dee7;color:#213244}
#btn-close-turn span{color:#5b6673}

.pos-terminal-main{grid-template-columns:84px minmax(0,1fr)}
.pos-rail{padding:6px;gap:6px;background:#f6f9fb;border-right:1px solid #dbe4ec}
.pos-rail-btn,body.pos-fullscreen .pos-rail-btn{min-height:58px;padding:4px 3px;border:1px solid #e1e8ef;border-radius:10px;background:#fff;font-size:10px;font-weight:700;box-shadow:0 1px 2px rgba(38,56,76,.04)}
.pos-rail-btn span{font-size:21px}
.pos-rail-btn small{font-size:9px}

.pos-clientbar{padding:8px 10px;gap:8px}
.pos-avatar{width:42px;height:42px;font-size:23px}
.pos-client-info > span{font-size:13px}
.pos-client-name-input{font-size:15px}
.pos-client-info small{font-size:11px}
.pos-client-controls{grid-template-columns:1.35fr 1.15fr 0.9fr}
.pos-select{font-size:11px;padding:6px 8px}

.pos-search-zone{padding:8px 12px 9px;grid-template-columns:120px minmax(260px,1fr) auto}
.pos-search-zone>label{font-size:15px}
.pos-search-box{height:38px;border-color:#cad5df}
.pos-search-box .barcode{font-size:22px;color:#51606f}
.pos-search-box button{font-size:18px}
.pos-search-meta{font-size:9px;color:#52606d;min-width:175px}
.pos-result b{color:#4b6072}

.pos-media-strip{padding:6px 10px;background:#f6f8fb;border-bottom:1px solid #dde5ed}
.pos-media-card{grid-template-columns:84px 1fr;gap:10px}
.pos-media-image{height:82px;border-radius:12px;border-color:#dde5ed;background:#fff}
.pos-media-title{font-size:16px;color:#1f2937}
.pos-media-prices span{background:#fff;border-color:#d8e2ea;color:#475569}
.pos-media-placeholder{color:#4b5563}
.pos-media-placeholder .pos-media-icon,.pos-media-placeholder strong{color:#334155}

.pos-cart-area,.pos-empty-row td{background:#ecf1f5;color:#6b7280}
.pos-cart-table thead th{background:#4b6072;border-color:#738392}
.pos-cart-table td{background:#f9fbfc}
.pos-cart-row:hover td{background:#eef3f7}
.pos-cart-row.selected td{background:#e3eaf1}
.pos-cart-table .cart-qty{padding:3px 4px}

.pos-shortcuts{padding:6px 8px;gap:6px}
.pos-shortcuts button,body.pos-fullscreen .pos-shortcuts button{min-height:30px;padding:4px 8px;background:linear-gradient(#fff,#f7f9fb);border-color:#d9e2ea;color:#243342}
.pos-shortcuts button.generic,body.pos-fullscreen .pos-shortcuts button.generic{background:#f8f6df;border-color:#d8cf8b}

.pos-bottom-grid{grid-template-columns:minmax(0,1fr) 520px}
.pos-ticket-panel{padding:8px 10px;gap:6px}
.pos-ticket-head strong{font-size:16px;color:#f05a1a}
.pos-ticket-head span,.pos-status-row{font-size:10px}
.pos-mini-totals{padding:6px 10px;gap:4px 18px}
.pos-mini-totals div{font-size:11px}
.pos-mini-totals input{color:#475569}
.pos-grand-total{background:#4b6072;color:#fff;padding:0 14px;border-radius:0}
.pos-grand-total span{font-size:18px}
.pos-grand-total strong{font-size:28px}
.pos-charge{background:#31b54a}

body.pos-fullscreen .pos-terminal-top{height:42px;flex-basis:42px}
body.pos-fullscreen .pos-command-row{padding:5px 8px}
body.pos-fullscreen .pos-terminal-main{grid-template-columns:80px minmax(0,1fr)}
body.pos-fullscreen .pos-rail-btn{min-height:56px}
body.pos-fullscreen .pos-media-strip{padding:5px 9px}

@media(max-width:1350px){
  .pos-command{min-width:96px;padding:4px 6px;font-size:10px}
  .pos-bottom-grid{grid-template-columns:1fr}
}

/* === KAIROS PRUEBAS 1.0.5: atajos, cobro, CAI y Personal === */
.pos-terminal,.pos-terminal button,.pos-terminal label,.pos-terminal span,.pos-terminal strong,.pos-terminal small,.pos-terminal td,.pos-terminal th,.pos-terminal div{user-select:none;-webkit-user-select:none}
.pos-terminal input,.pos-terminal textarea,.pos-terminal select,.pos-terminal [contenteditable="true"]{user-select:text;-webkit-user-select:text}
.shortcut-hit{transform:translateY(1px)!important;box-shadow:inset 0 0 0 2px #f97316!important;background:#fff0e6!important}
.payment-change.short span,.payment-change.short strong{color:#dc2626}
.payment-change.exact span,.payment-change.exact strong{color:#15803d}
.payment-change.change-ok span,.payment-change.change-ok strong{color:#15803d}
.payment-confirm:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.15)}
.payment-back:disabled,.payment-x:disabled{opacity:.45;cursor:wait;pointer-events:none}

.employee-cell{display:flex;align-items:center;gap:10px}.employee-cell>img,.employee-cell>span{width:38px;height:38px;border-radius:9px;object-fit:cover;background:#eef2f6;display:grid;place-items:center}.employee-cell div{display:grid;gap:2px}.employee-cell small{color:#6b7280}
.employee-modal{width:min(1120px,97vw)}.employee-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:#f8fafc;overflow:auto}.employee-tabs button{border:0;border-right:1px solid var(--line);background:transparent;padding:12px 16px;font-weight:750;color:#596675;white-space:nowrap}.employee-tabs button.active{background:#fff;color:#172436;box-shadow:inset 0 -3px 0 var(--brand)}.employee-tab{display:none}.employee-tab.active{display:block}.employee-profile-grid{display:grid;grid-template-columns:180px 1fr;gap:20px}.employee-photo-box{display:flex;flex-direction:column;gap:10px;align-items:center}.employee-photo-box>div{width:150px;height:170px;border:1px solid #d7e0e8;border-radius:14px;background:#f4f7fa;display:grid;place-items:center;font-size:70px;overflow:hidden}.employee-photo-box img{width:100%;height:100%;object-fit:cover}.access-note{padding:12px;border:1px solid #dbe4ec;background:#f8fafc;border-radius:9px;color:#52606d}.permission-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{border:1px solid #dce4ec;border-radius:10px;overflow:hidden;background:#fff}.permission-group-title{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f3f6f9;border-bottom:1px solid #dce4ec}.permission-group-title label{font-weight:600}.permission-item{display:flex;gap:9px;align-items:flex-start;padding:8px 12px;border-bottom:1px solid #eef2f5;font-size:12px;color:#27384a}.permission-item:last-child{border-bottom:0}.permission-item input{margin-top:2px}.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.document-card{border:1px solid #dce4ec;border-radius:10px;padding:12px;display:grid;gap:10px}.document-card>div{height:170px;background:#f6f8fa;border-radius:8px;display:grid;place-items:center;color:#748092;overflow:hidden}.document-card img{width:100%;height:100%;object-fit:contain}.document-file-name{height:auto!important;min-height:60px!important;padding:10px;text-align:center}.cai-code{max-width:280px;overflow:hidden;text-overflow:ellipsis}.toolbar-right{display:flex;gap:8px;align-items:center}
@media(max-width:900px){.employee-profile-grid{grid-template-columns:1fr}.permission-groups{grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}}
.pos-terminal.hide-cost .pos-cart-table th:nth-child(6),.pos-terminal.hide-cost .pos-cart-table td:nth-child(6){display:none}

/* === KAIROS PRUEBAS 1.0.6: búsqueda inteligente y recepción profesional === */
.pos-search-box{grid-template-columns:38px 1fr 38px 42px}
#pos-search-filter{border-left:1px solid #e2e8f0;color:#475569;background:#f8fafc;font-size:16px}
#pos-search-filter:hover{background:#eef3f7}
.pos-search-result-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:#eef3f7;border-bottom:1px solid #d8e1e9;font-size:11px;color:#52606d}
.pos-search-result-head button{border:1px solid #cbd5df;background:#fff;border-radius:6px;padding:4px 8px;font-size:10px;color:#334155}
.pos-result{align-items:center}
.pos-result>span{min-width:0}
.pos-result strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-rule-clean{grid-template-columns:1fr!important;padding:14px}
.profit-box.neutral{background:#f8fafc;border-color:#dbe4ec;color:#52606d}
.profit-box.warning{background:#fff8e6;border-color:#f3d38a;color:#8a5b00}

.receiving-backdrop{padding:8px}
.receiving-modal{width:min(1540px,99vw);height:min(940px,97vh);max-height:97vh;display:flex;flex-direction:column;border-radius:14px;overflow:hidden}
.receiving-modal .modal-header{flex:0 0 auto;padding:12px 16px}
.receive-head-actions{display:flex;gap:8px;align-items:center}
.receiving-body{padding:10px 12px;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#f7f9fb}
.receive-meta-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:7px 9px;padding:8px 10px;background:#fff;border:1px solid #dfe6ed;border-radius:10px;flex:0 0 auto}
.receive-meta-grid label{display:grid;gap:3px;font-size:10px;font-weight:700;color:#4b5563}
.receive-meta-grid .control{padding:6px 8px;border-radius:7px;font-size:11px;min-height:33px}
.receive-capture-bar{position:relative;display:grid;grid-template-columns:minmax(360px,1.5fr) minmax(260px,1fr) auto;gap:10px;align-items:end;margin-top:8px;padding:8px 10px;background:#fff;border:1px solid #dfe6ed;border-radius:10px;flex:0 0 auto}
.receive-code-wrap{position:relative}
.receive-code-wrap>label{display:block;font-size:10px;font-weight:800;color:#475569;margin-bottom:4px}
.receive-code-line{display:grid;grid-template-columns:1fr 42px;gap:5px}
.receive-code-line .control{height:38px}
.receive-selected{min-height:38px;display:grid;align-content:center;padding:5px 9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}
.receive-selected span{font-size:12px;font-weight:750;color:#1f2937}.receive-selected small{font-size:10px;color:#64748b}
.receive-search-results{display:none;position:absolute;top:61px;left:0;right:0;z-index:30;max-height:330px;overflow:auto;background:#fff;border:1px solid #b9c7d3;border-radius:8px;box-shadow:0 14px 34px rgba(15,23,42,.18)}
.receive-search-results.open{display:block}.receive-result-title{padding:7px 10px;background:#eef3f7;font-size:10px;color:#52606d;position:sticky;top:0}
.receive-result{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:8px 10px;text-align:left}.receive-result:hover{background:#f4f7fa}.receive-result span{display:grid;min-width:0}.receive-result b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.receive-result small{font-size:10px;color:#64748b}.receive-result strong{font-size:11px;color:#334155;white-space:nowrap}
.receive-not-found{display:grid;gap:8px;padding:14px}.receive-not-found span{font-size:11px;color:#64748b}
.receive-list-head{display:flex;justify-content:space-between;align-items:center;padding:7px 4px 5px;flex:0 0 auto}.receive-list-head strong{font-size:12px}.receive-list-head span{font-size:10px;color:#64748b}
.receive-table-wrap{flex:1;min-height:220px;overflow:auto;background:#eaf0f4;border:1px solid #d9e2e9;border-radius:8px}
.receive-table-pro{min-width:1260px}.receive-table-pro thead th{position:sticky;top:0;z-index:3;background:#4b6072;color:#fff;padding:7px 8px;font-size:10px}.receive-table-pro td{background:#fff;padding:5px 7px;font-size:10px}.receive-table-pro tr:nth-child(even) td{background:#f8fafc}.receive-table-pro td small{display:block;color:#64748b}.receive-table-pro input,.receive-table-pro select{width:82px;padding:5px;border:1px solid #d6dee6;border-radius:5px;font-size:10px}.receive-table-pro td:nth-child(2){min-width:250px}.receive-table-pro td:last-child{white-space:nowrap}.receive-empty{text-align:center;padding:40px!important;color:#64748b!important}
.receive-totals.sticky{flex:0 0 auto;padding:8px 10px;background:#fff;border:1px solid #dfe6ed;border-top:0;border-radius:0 0 8px 8px;gap:14px;font-size:11px}.receive-totals.sticky .grand{font-size:16px}
.receiving-footer{flex:0 0 auto;padding:9px 14px}
.receiving-modal.receiving-expanded #rc-meta-grid{display:none}.receiving-modal.receiving-expanded .receive-capture-bar{margin-top:0}.receiving-modal.receiving-expanded .receive-table-wrap{min-height:0}.receiving-modal.receiving-expanded .receiving-body{padding-top:8px}
.receive-editor-overlay{position:absolute;inset:0;z-index:60;background:rgba(15,23,42,.48);display:grid;place-items:center;padding:18px}.receive-editor-overlay[hidden]{display:none}
.receive-editor-card{width:min(980px,96%);max-height:92%;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.receive-editor-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:16px 18px;background:#334b60;color:#fff}.receive-editor-title small{opacity:.78}.receive-editor-title h3{margin:3px 0 5px;font-size:21px}.receive-editor-title span{font-size:11px}.receive-editor-title button{border:0;background:transparent;color:#fff;font-size:24px}
.receive-editor-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;padding:18px}.receive-editor-left,.receive-editor-right{display:grid;gap:12px;align-content:start}.receive-editor-left>label,.receive-price-grid label,.tax-price-pair label{display:grid;gap:5px;font-size:11px;font-weight:700;color:#475569}.tax-price-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tax-calc-line{display:flex;justify-content:space-between;padding:10px 12px;background:#f7f9fb;border:1px solid #e2e8f0;border-radius:8px}.receive-price-note{padding:10px 12px;background:#f7f9fb;border:1px solid #dce5ed;border-radius:8px;font-size:11px;color:#52606d}.receive-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.receive-editor-actions{display:flex;justify-content:flex-end;gap:9px;padding:12px 18px;border-top:1px solid #e5e7eb}.quick-create{width:min(760px,94%)}.quick-create>.form-grid{padding:18px}
@media(max-width:1100px){.receive-meta-grid{grid-template-columns:repeat(3,1fr)}.receive-capture-bar{grid-template-columns:1fr}.receive-editor-grid{grid-template-columns:1fr}.receive-price-grid{grid-template-columns:1fr 1fr}}

/* === KAIROS PRUEBAS 1.0.7: ajuste de espacio, scroll y recepción === */
html,body{max-width:100%;overflow-x:hidden}
.app-shell,.main,.content{min-width:0;max-width:100%}
.main,.content{overflow-x:hidden}

/* Productos: encabezado compacto y más espacio útil */
body.products-page .topbar{padding:7px 18px;min-height:58px;gap:14px}
body.products-page .topbar>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}
body.products-page .topbar h1{font-size:22px;line-height:1;margin:0;white-space:nowrap}
body.products-page .topbar p{margin:0;font-size:11px;line-height:1.25;max-width:240px}
body.products-page .topbar-actions{flex:1;min-width:240px}
body.products-page #branch-filter{width:100%;min-width:0;max-width:none;padding:7px 10px;min-height:36px}
body.products-page #quick-sale{display:none}
body.products-page .content{padding:9px 18px 14px}
body.products-page .catalog-shell-fixed{height:calc(100vh - 102px);min-height:500px;gap:7px;grid-template-rows:auto minmax(0,1fr) 54px}
body.products-page .catalog-fixed-head{gap:6px}
body.products-page .catalog-filters{padding:6px 8px;gap:6px;min-height:52px}
body.products-page .catalog-search{height:38px}
body.products-page .catalog-actions-v98{padding:5px 6px}
body.products-page .catalog-action-group{padding-top:18px;padding-bottom:4px}
body.products-page .catalog-action-group>span{top:1px}
body.products-page .catalog-actions-v98 .cat-btn{min-height:34px;padding:6px 9px}
body.products-page .catalog-summary{height:54px}
body.products-page .catalog-summary>div{padding:6px 13px}
body.products-page .catalog-shell-fixed .catalog-table-wrap{overflow:auto;scrollbar-gutter:auto}
body.products-page .catalog-table{width:100%;min-width:980px;table-layout:fixed}
body.products-page .catalog-table th:nth-child(1){width:130px}
body.products-page .catalog-table th:nth-child(2){width:34%}
body.products-page .catalog-table th:nth-child(3){width:120px}
body.products-page .catalog-table th:nth-child(4),body.products-page .catalog-table th:nth-child(5){width:72px}
body.products-page .catalog-table th:nth-child(6),body.products-page .catalog-table th:nth-child(7),body.products-page .catalog-table th:nth-child(8),body.products-page .catalog-table th:nth-child(9){width:92px}
body.products-page .catalog-table th:nth-child(10){width:100px}
.catalog-product-cell{min-width:0;max-width:0}
.catalog-product-name,.catalog-product-meta{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-product-name{font-weight:800}
.catalog-product-meta{color:#7b8794}

/* No permitir que el catálogo arrastre toda la página a zonas vacías */
.catalog-shell-fixed,.catalog-grid,.catalog-table-panel,.catalog-preview{min-width:0;max-width:100%}
.catalog-scroll-area{overflow:hidden}
.catalog-table-wrap{overscroll-behavior:contain}

/* Recepción: ocupar la pantalla completa y fijar controles inferiores */
.receiving-backdrop{padding:4px;place-items:stretch;overflow:hidden}
.receiving-modal{width:100%;height:100%;max-width:none;max-height:none;border-radius:10px;margin:0;overflow:hidden}
.receiving-modal .modal-header{padding:9px 14px}
.receiving-body{flex:1;padding:7px 10px 0;min-height:0;overflow:hidden}
.receive-meta-grid{padding:6px 8px;gap:5px 7px}
.receive-meta-grid .control{min-height:31px;padding:5px 7px}
.receive-capture-bar{margin-top:6px;padding:6px 8px;gap:7px}
.receive-code-line .control{height:35px}
.receive-list-head{padding:5px 3px 3px}
.receive-table-wrap{flex:1;min-height:0;height:auto;border-radius:7px 7px 0 0}
.receive-table-pro{min-width:1180px}
.receive-table-pro thead th{padding:6px 7px}
.receive-table-pro td{padding:4px 6px}
.receive-totals.sticky{padding:7px 10px;position:sticky;bottom:0;z-index:6}
.receiving-footer{padding:7px 12px;background:#fff;border-top:1px solid #dfe6ed;position:sticky;bottom:0;z-index:8}
.receiving-footer .btn{min-height:38px}
.receiving-modal.receiving-expanded .receive-table-wrap{flex:1}

/* Formulario completo de producto abierto desde recepción */
.receive-full-product-root{position:absolute;inset:0;z-index:80}
.receive-full-product-root .modal-backdrop{position:absolute;inset:0;padding:8px;background:rgba(15,23,42,.56)}
.receive-full-product-root .product-editor-modal{width:min(1450px,98%);height:min(94vh,920px);max-height:94vh}
.receive-full-product-root .product-editor-body{max-height:calc(94vh - 210px)}

@media(max-width:1380px){
 body.products-page .catalog-shell-fixed{height:auto;min-height:0}
 body.products-page .catalog-table-wrap{height:60vh}
}


/* === KAIROS PRUEBAS 1.0.8: corrección estructural definitiva de scroll === */
html,body{
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden !important;
  overscroll-behavior:none;
}
body:not(.auth-locked){
  display:grid;
  grid-template-rows:32px minmax(0,1fr);
}
.test-mode-banner{
  position:relative;
  top:auto;
  width:100%;
  height:32px;
  min-height:32px;
  overflow:hidden;
}
.app-shell{
  width:100%;
  max-width:100%;
  height:100%;
  min-height:0 !important;
  overflow:hidden !important;
  grid-template-columns:225px minmax(0,1fr);
}
.app-shell.menu-collapsed{grid-template-columns:64px minmax(0,1fr)}
.sidebar{
  position:relative;
  top:auto;
  height:100%;
  min-height:0;
  max-height:100%;
  overflow:hidden !important;
}
.nav{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
.main{
  width:100%;
  max-width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden !important;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.topbar{
  position:relative;
  top:auto;
  min-width:0;
  max-width:100%;
}
.content{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}

/* Productos: el documento nunca crece por sus barras o tablas internas */
body.products-page .main,
body.products-page .content{
  overflow:hidden !important;
}
body.products-page .content{
  display:block;
}
body.products-page .catalog-shell-fixed{
  width:100%;
  max-width:100%;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  grid-template-rows:auto minmax(0,1fr) 54px;
}
body.products-page .catalog-fixed-head,
body.products-page .catalog-scroll-area,
body.products-page .catalog-grid,
body.products-page .catalog-table-panel,
body.products-page .catalog-preview{
  width:100%;
  max-width:100%;
  min-width:0;
}
body.products-page .catalog-fixed-head{overflow:hidden}
body.products-page .catalog-filters{
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:minmax(0,1fr) minmax(170px,250px) minmax(170px,260px) auto;
}
body.products-page .catalog-actions-v98{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
}
body.products-page .catalog-action-group{flex:0 0 auto}
body.products-page .catalog-scroll-area{
  height:100%;
  min-height:0;
  overflow:hidden !important;
}
body.products-page .catalog-grid{
  height:100%;
  min-height:0;
  overflow:hidden !important;
}
body.products-page .catalog-table-panel,
body.products-page .catalog-preview{
  height:100%;
  min-height:0;
  overflow:hidden !important;
}
body.products-page .catalog-table-wrap{
  width:100%;
  max-width:100%;
  height:100% !important;
  min-height:0;
  overflow:auto !important;
  overscroll-behavior:contain;
  scrollbar-gutter:auto;
}
body.products-page .catalog-preview .product-preview-card{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}

/* Evitar que tablas anchas propaguen su ancho al documento */
.table-wrap,
.catalog-table-wrap,
.receive-table-wrap,
.count-lines-wrap{
  max-width:100%;
  min-width:0;
}

@media(max-width:1380px){
  body.products-page .catalog-shell-fixed{
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  body.products-page .catalog-table-wrap{height:100% !important}
  body.products-page .catalog-actions-v98{overflow-x:auto !important}
}

/* === KAIROS PRUEBAS 1.0.9: importación masiva Excel === */
.excel-import-wizard{display:grid;gap:16px}.excel-import-hero{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #dce5ed;border-radius:14px;background:#f8fafc}.excel-import-hero>div:last-child{display:grid;gap:4px}.excel-import-hero b{font-size:17px;color:#172436}.excel-import-hero span{font-size:12px;color:#64748b}.excel-icon{width:48px;height:48px;border-radius:12px;background:#198754;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}.excel-import-status{padding:12px 14px;border-radius:10px;background:#eef4f8;border:1px solid #d7e1e9;color:#334155;font-weight:700}.excel-import-note{font-size:12px;color:#64748b;padding:0 4px}

/* === KAIROS PRUEBAS 1.0.10: selector persistente de documentos === */
.pos-doc-controls{min-width:310px;display:grid!important;grid-template-columns:1fr 1fr;gap:5px 8px!important;align-content:center!important}
.pos-doc-controls label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;color:#52606d;white-space:nowrap}
.pos-doc-select{height:28px;min-width:112px;border:1px solid #cdd7e1;border-radius:7px;background:#fff;color:#172436;font-size:10px;font-weight:700;padding:3px 22px 3px 7px}
.pos-doc-controls>span{grid-column:1/-1;font-size:9px}
@media(max-width:1350px){.pos-doc-controls{min-width:270px}.pos-doc-select{min-width:96px;font-size:9px}}


/* Etiquetas y branding 1.0.21 */
.kairos-mark{display:flex;flex-direction:column;line-height:.92;align-items:flex-start}.kairos-mark .kairos-word{font-size:42px;font-weight:950;font-style:italic;letter-spacing:1px;color:#0f172a;transform:skew(-10deg)}.kairos-mark .kairos-word span{display:inline-block;color:#f97316;margin-right:2px}.kairos-mark .kairos-motos{font-size:24px;font-weight:900;letter-spacing:3px;color:#f97316;align-self:flex-end}.kairos-mark .kairos-tagline{font-size:10px;letter-spacing:4px;color:#64748b;align-self:flex-end;margin-top:3px}.kairos-mark.compact .kairos-word{font-size:24px}.kairos-mark.compact .kairos-motos{font-size:15px;letter-spacing:1.5px}.kairos-mark.compact .kairos-tagline{font-size:6px;letter-spacing:2px}.label-modal{width:min(1180px,95vw)}.label-modal-body{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;align-items:start}.label-config-panel,.label-preview-panel{background:#fff;border:1px solid #dce4ea;border-radius:14px;padding:16px}.label-brand-panel{display:grid;gap:6px;border-bottom:1px solid #eef2f6;padding-bottom:10px;margin-bottom:12px}.label-brand-panel small{color:#64748b}.label-size-picker{display:flex;gap:8px;flex-wrap:wrap}.size-chip{border:1px solid #d8e0e7;background:#fff;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}.size-chip.active{background:#f97316;color:#fff;border-color:#f97316}.label-checks{display:grid;gap:6px}.label-checks label{font-size:13px;color:#334155;font-weight:700}.helper-text{display:block;color:#64748b;margin-top:4px}.label-actions-inline{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.label-preview-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;color:#334155}.label-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.label-preview-grid h4{margin:0 0 6px;font-size:12px;color:#475569}.label-preview-shell{background:linear-gradient(180deg,#f8fafc,#eef2f6);padding:8px;border-radius:16px}.label-card-design{background:#fff;border:1.5px solid #1f2937;border-radius:18px;padding:10px 14px;box-shadow:0 8px 20px rgba(15,23,42,.08)}.label-title-line{font-weight:950;font-size:28px;letter-spacing:.5px;line-height:1.02}.label-title-line.second{margin-top:4px}.label-middle{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:end;margin-top:10px}.label-code-block svg{display:block;max-width:100%;height:auto}.label-human-code{font-size:34px;font-weight:950;line-height:1;margin-top:4px;letter-spacing:1px}.label-money{font-size:18px;font-weight:900;color:#ea580c;margin-top:3px}.label-foot-note{font-size:10px;color:#64748b;text-align:right;margin-top:4px}.size-2-1 .label-card-design{min-height:1in}.size-2-1 .label-title-line{font-size:16px}.size-2-1 .label-middle{gap:8px;margin-top:6px}.size-2-1 .label-human-code{font-size:18px}.size-2-1 .label-brand .kairos-mark.compact .kairos-word{font-size:20px}.size-2-1 .label-brand .kairos-mark.compact .kairos-motos{font-size:12px}.size-2-1 .label-brand .kairos-mark.compact .kairos-tagline{font-size:5px;letter-spacing:1px}.size-2-1-25 .label-title-line{font-size:21px}.size-2-1-25 .label-human-code{font-size:24px}.size-2-1-5 .label-title-line{font-size:28px}.size-2-1-5 .label-human-code{font-size:34px}.preview-kv .kv-brand{grid-column:1/-1;margin-top:8px;padding-top:8px;border-top:1px dashed #d8e0e7}.preview-kv .kv-brand .kairos-mark.compact{display:inline-flex}.catalog-preview-image{height:170px;border-radius:14px;background:#f8fafc;display:grid;place-items:center;overflow:hidden;border:1px solid #eef2f6}.catalog-preview-image img{width:100%;height:100%;object-fit:contain;padding:8px}.catalog-preview-image .no-photo{color:#94a3b8;font-weight:800}.catalog-preview-thumbs{display:flex;gap:8px;margin:10px 0 12px;flex-wrap:wrap}.catalog-preview-thumbs img{width:58px;height:58px;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;padding:4px;background:#fff}.catalog-preview-thumbs .no-thumb{font-size:11px;color:#94a3b8}.brand-mark{display:grid;place-items:center}.brand-mark,.login-brand-mark{font-style:italic;font-weight:1000}.brand-name,.login-brand-name{font-weight:950;letter-spacing:1px}.brand-subtitle,.login-brand-subtitle{letter-spacing:2px;text-transform:uppercase}@media(max-width:1080px){.label-modal-body{grid-template-columns:1fr}.label-preview-grid{grid-template-columns:1fr}}

.label-actions-stack{display:grid;grid-template-columns:1fr;gap:8px}.label-actions-stack .btn{width:100%}


/* Ajustes Zebra 1.0.23 */
.label-preview-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.label-card-design.compact{padding:8px 10px}.label-title-wrap{min-height:48px}.label-middle.zebra-layout{grid-template-columns:1.14fr .86fr;gap:14px;align-items:end}.label-barcode.pdf417-like svg{width:100%;height:auto}.label-brand{align-self:end;justify-self:end;text-align:center;transform-origin:bottom right}.label-brand .logo-kword{font-style:italic;font-weight:950;font-size:34px;line-height:.88;color:#0f172a}.label-brand .logo-motos{font-weight:900;font-size:18px;letter-spacing:2px;color:#111}.logo-scale-2-1 .logo-kword{font-size:24px}.logo-scale-2-1 .logo-motos{font-size:13px;letter-spacing:1px}.logo-scale-2-1-25 .logo-kword{font-size:28px}.logo-scale-2-1-25 .logo-motos{font-size:15px;letter-spacing:1.3px}.logo-scale-2-1-5 .logo-kword{font-size:34px}.logo-scale-2-1-5 .logo-motos{font-size:18px}.size-2-1 .label-title-line{font-size:14px}.size-2-1 .label-title-wrap{min-height:31px}.size-2-1 .label-middle.zebra-layout{gap:6px}.size-2-1 .label-human-code{font-size:13px;letter-spacing:.2px}.size-2-1 .label-barcode svg{width:124px;height:36px}.size-2-1-25 .label-barcode svg{width:136px;height:46px}.size-2-1-5 .label-barcode svg{width:152px;height:54px}.size-2-1-25 .label-title-line{font-size:19px}.size-2-1-5 .label-title-line{font-size:23px}@media(max-width:1180px){.label-preview-grid-three{grid-template-columns:1fr}}


/* Editor manual de etiquetas 1.0.25 */
.label-editor-modal{width:min(1450px,98vw);max-height:96vh;overflow:auto}.label-editor-grid{display:grid;grid-template-columns:430px 1fr;gap:14px;padding:14px}.label-editor-controls{border:1px solid #d8e0e7;border-radius:12px;padding:14px;background:#fff}.label-editor-preview{border:1px solid #d8e0e7;border-radius:12px;padding:14px;background:#f8fafc;overflow:auto}.label-editor-controls details{border-top:1px solid #e5e7eb;padding:8px 0}.label-editor-controls summary{font-weight:900;cursor:pointer;color:#334155}.editor-row{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:7px;margin-top:8px}.editor-row label{font-size:11px;font-weight:800;color:#64748b}.control.mini{height:34px;padding:5px 7px;margin-top:3px}.compact-grid{grid-template-columns:1fr 120px}.editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.editor-actions .btn.primary{grid-column:1/-1}.manual-preview-wrap{overflow:auto}.manual-label-stage{position:relative;background:#fff;border:1.5px solid #1f2937;border-radius:12px;box-shadow:0 8px 25px #0f172a18;overflow:hidden;transform-origin:top left}.ml-item{position:absolute;cursor:move;user-select:none;touch-action:none}.ml-text,.ml-code,.ml-price{font-family:Arial,sans-serif;font-weight:950;line-height:1}.ml-barcode svg{width:100%;height:100%;display:block}.ml-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-style:italic;font-weight:950;line-height:.9}.ml-logo span{font-size:.65em;font-style:normal;margin-top:4px}.label-editor-preview #label-live-preview{min-width:650px;min-height:430px;display:flex;align-items:flex-start;justify-content:center;padding:20px}.label-preview-title{margin-bottom:10px}@media(max-width:1050px){.label-editor-grid{grid-template-columns:1fr}.label-editor-preview #label-live-preview{justify-content:flex-start}.editor-row{grid-template-columns:repeat(2,minmax(90px,1fr))}}

/* Compact editor: preview and print actions stay visible. */
.label-editor-modal{height:94dvh;max-height:94dvh;display:flex;flex-direction:column;overflow:hidden}
.label-editor-modal>.modal-header{flex:none;padding:12px 16px}
.label-editor-modal>.modal-header h3{font-size:17px}
.label-editor-grid{flex:1;min-height:0;grid-template-columns:360px minmax(0,1fr);padding:10px;gap:10px;overflow:hidden}
.label-editor-controls{min-height:0;padding:10px;display:flex;flex-direction:column;overflow:hidden}
.label-controls-scroll{flex:1;min-height:0;overflow:auto;padding-right:5px}
.label-editor-controls .form-group{gap:3px;margin-bottom:7px}
.label-editor-controls .control{min-height:30px;height:32px;padding:4px 7px;font-size:13px}
.label-editor-controls .helper-text{font-size:11px;line-height:1.25}
.label-editor-controls .size-chip{padding:5px 11px;font-size:13px;min-height:30px}
.label-editor-controls details{padding:5px 0}
.label-editor-controls summary{font-size:13px}
.label-editor-controls .editor-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:5px}
.label-editor-controls .editor-row label{font-size:10px}
.label-editor-controls .compact-grid{grid-template-columns:minmax(0,1fr) 80px;gap:7px}
.label-editor-controls .editor-actions{gap:5px;margin-top:7px}
.label-editor-controls .btn{padding:6px 8px;min-height:32px;font-size:12px}
.label-editor-controls .label-checks{display:flex;flex-wrap:wrap;gap:6px 12px;margin:8px 0;font-size:12px}
.label-actions-fixed{flex:none;background:white;border-top:1px solid #d8e0e7;padding-top:8px}
.label-actions-fixed #label-print-direct{grid-column:auto}
.label-editor-preview{min-width:0;min-height:0;overflow:auto;padding:12px}
.label-editor-preview #label-live-preview{min-width:0;min-height:0;justify-content:flex-start;padding:14px 0 20px}
.manual-label-stage{flex-shrink:0}
.label-preview-title{display:flex;flex-wrap:wrap;gap:8px;font-size:14px}
@media(max-width:760px){.label-editor-grid{grid-template-columns:280px minmax(280px,1fr);overflow-x:auto}.label-editor-controls{padding:7px}}

.label-short-name{display:block;font-size:11px;margin-top:6px}.label-short-name input{width:100%;margin-top:3px}.label-editor-controls details small{font-size:10px;color:#64748b}

/* KAIROS 1.2.0: aviso de actualización */
.update-banner { min-height: 34px; padding: 6px 18px; display: flex; align-items: center; justify-content: center; gap: 12px; background: #fff7ed; color: #7c2d12; border-bottom: 1px solid #fb923c; font-size: 13px; position: sticky; top: 32px; z-index: 79; }
.update-banner b { color: #c2410c; }
.update-banner button { border: 0; border-radius: 8px; background: #f97316; color: #fff; font-weight: 800; padding: 6px 14px; cursor: pointer; }
.update-banner button:hover { background: #ea580c; }

/* KAIROS 1.2.1: lista de clientes del punto de venta con los colores del sistema */
.customer-picker-head{background:linear-gradient(90deg,#1e2228,#303a45);color:#fff;border-bottom:4px solid #f97316}
.customer-picker-head h3{color:#fff}
.customer-picker-head .small-muted{color:#fdba74}
.customer-picker-head .close{color:#fff}
.customer-picker-search{border-bottom-color:#f97316}
.customer-picker-table-wrap{background:#eef1f4;border-color:#d6dde5}
.customer-picker-table th{background:#475569;color:#fff;border-color:#3f4b5b}
.customer-picker-table td{border-color:#e2e8f0}
.customer-picker-table .cp-row:hover td{background:#fff7ed}
.customer-picker-table .cp-row.selected td{background:#f97316;color:#fff;border-color:#ea580c}
.customer-picker-table .cp-row.selected .small-muted{color:#ffedd5}
.customer-picker-actions #cp-new{background:#1f2937;border-color:#1f2937;color:#fff}
.customer-picker-actions #cp-new:hover{background:#111827}

/* KAIROS 1.2.2: módulo de clientes */
.cm-kpis{margin-bottom:18px}
.cm-card{overflow:hidden}
.cm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line,#e5e7eb);background:#fff}
.cm-toolbar #customer-search{flex:1 1 320px;min-width:220px}
.cm-toolbar select{flex:0 0 190px}
.cm-count{font-size:12px;color:#64748b;font-weight:700;margin-left:auto;white-space:nowrap}
.cm-table-wrap{overflow:visible;max-height:none}
.cm-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cm-table col.c-client{width:24%}.cm-table col.c-contact{width:16%}.cm-table col.c-place{width:15%}.cm-table col.c-type{width:9%}.cm-table col.c-credit{width:10%}.cm-table col.c-balance{width:9%}.cm-table col.c-actions{width:17%}
.cm-table td,.cm-table th{white-space:normal;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
.cm-table th{background:#f8fafc;color:#475569;font-size:11px;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid #e5e7eb;white-space:nowrap}
.cm-table td{padding:10px 12px;border-bottom:1px solid #eef1f4;vertical-align:middle;font-size:13px;color:#1f2937}
.cm-table td small{display:block;color:#64748b;font-size:11px;margin-top:2px}
.cm-table tbody tr{cursor:pointer}
.cm-table tbody tr:hover td{background:#fff7ed}
.cm-table .num{text-align:right;white-space:nowrap}
.cm-client{display:flex;align-items:center;gap:10px;min-width:0}
.cm-client strong{display:block;font-size:13px}
.cm-avatar{width:38px;height:38px;border-radius:50%;flex:0 0 38px;object-fit:cover;border:1px solid #e5e7eb}
.cm-avatar.initials{display:grid;place-items:center;background:#1f2937;color:#fdba74;font-weight:800;font-size:13px;border:0}
.cm-type{display:inline-block;padding:2px 9px;border-radius:999px;background:#fff1e6;color:#c2410c;font-size:11px;font-weight:800}
.cm-actions{text-align:right}
.cm-actions .cm-btn{margin:2px 0 2px 4px}
.cm-btn{border:1px solid #d6dde5;background:#fff;color:#1f2937;border-radius:8px;padding:5px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;margin-left:4px}
.cm-btn:hover{border-color:#94a3b8}
.cm-btn.primary{background:#f97316;border-color:#f97316;color:#fff}
.cm-btn.primary:hover{background:#ea580c}
.cm-btn.danger{color:#b91c1c;border-color:#fecaca;background:#fff}
.cm-btn.danger:hover{background:#fef2f2}
.cm-empty{padding:28px;text-align:center;color:#64748b}
.cm-delete-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.cm-delete-head b{display:block;font-size:16px}
.cm-delete-head small{color:#64748b}
.cm-table th.cm-actions,.cm-table th.num{text-align:right}
.cm-hint{padding:10px 16px;font-size:11px;color:#64748b;border-top:1px solid #eef1f4;background:#fafbfc}

/* KAIROS 1.2.5: técnicos y ganancia por técnico */
.te-card{overflow:hidden}
.te-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.te-periods{display:flex;gap:6px;align-items:center;flex-wrap:wrap;width:100%}
.te-chip{border:1px solid #d6dde5;background:#fff;color:#1f2937;border-radius:999px;padding:6px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.te-chip:hover{border-color:#f97316;color:#c2410c}
.te-chip.active{background:#1f2937;border-color:#1f2937;color:#fdba74}
.te-custom{display:flex;gap:6px;align-items:center;margin-left:auto;font-size:12px;color:#64748b}
.te-custom input.control{width:150px;padding:6px 8px;font-size:12px}
.te-table tfoot td{background:#fff7ed;border-top:2px solid #fed7aa;padding:10px 12px;font-size:13px}
.te-table .te-pay{color:#c2410c;font-size:14px}
.te-table tbody tr.te-row{cursor:pointer}
tr.te-inactive td{opacity:.55}
tr.te-return td{color:#b91c1c}
.te-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.te-detail-head b{display:block;font-size:16px}
.te-detail-head small{color:#64748b}
.te-detail-kpis{display:flex;gap:10px}
.te-detail-kpis span{display:flex;flex-direction:column;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;font-size:11px;color:#64748b;font-weight:700}
.te-detail-kpis span b{font-size:15px;color:#111827}
.te-detail-kpis span.pay{background:#fff7ed;border-color:#fed7aa}
.te-detail-kpis span.pay b{color:#c2410c}
.te-detail-scroll{max-height:52vh;overflow:auto;border:1px solid #eef1f4;border-radius:10px}
.te-pct{display:flex;align-items:center;gap:6px}
.te-pct input{max-width:120px}
.te-pct span{font-weight:800;color:#64748b}
.te-check{display:flex;align-items:center;gap:8px;font-weight:700}
.tech-picker{display:flex;flex-direction:column;gap:6px}
.tech-picker .tp-search{font-size:12px;padding:6px 10px}
.workshop-line.service select.wo-service-tech{margin-top:4px;font-size:11px;padding:3px 6px;height:auto}
.cm-toolbar #tech-search{flex:1 1 320px;min-width:220px;width:auto}
.cm-toolbar #tech-role,.cm-toolbar #tech-status{flex:0 0 190px;width:auto}
.te-table .cm-actions{white-space:nowrap}
.te-table .cm-actions .cm-btn{margin:2px 0 2px 4px}

/* KAIROS 1.2.7: pagos a técnicos */
.te-alert{display:block;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 12px;font-size:13px;margin:0 0 12px}
.te-info{display:block;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:10px;padding:10px 12px;font-size:13px}
label.te-alert{display:flex;gap:8px;align-items:center;font-weight:600;cursor:pointer}
.te-pay-total{display:flex;flex-direction:column;align-items:flex-end;background:#1f2937;color:#fff;border-radius:12px;padding:10px 16px;min-width:190px}
.te-pay-total span{font-size:11px;color:#cbd5e1;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.te-pay-total b{font-size:24px;color:#fdba74;line-height:1.2}
.te-pay-total small{font-size:11px;color:#cbd5e1}
.te-ok{color:#15803d;font-weight:800}
.te-void{display:block;color:#b91c1c;font-weight:800;font-size:10px;letter-spacing:.06em}
.te-pay-modal .te-detail-scroll{max-height:34vh}
.modal-footer .btn.danger{background:#d64545;border-color:#d64545;color:#fff}
.te-table .cm-actions,.cm-table td.cm-actions{white-space:nowrap}

/* KAIROS 1.2.8: corte de caja detallado */
.cut-modal{width:min(1240px,96vw);max-height:94vh;display:flex;flex-direction:column;padding:0;overflow:hidden}
.cut-head{display:flex;align-items:center;gap:16px;padding:14px 20px;background:linear-gradient(90deg,#1f2937,#374151);color:#fff;border-bottom:3px solid #f05a1a}
.cut-head h3{margin:0;font-size:18px;color:#fff}.cut-head small{color:#cbd5e1;font-size:12px}
.cut-head strong{margin-left:auto;font-size:20px;letter-spacing:.06em;color:#fdba74}
.cut-head .close{background:transparent;border:0;color:#fff;font-size:26px;cursor:pointer}
.cut-body{overflow:auto;padding:16px 20px;background:#f5f6f8}
.cut-top{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:16px;margin-bottom:16px}
.cut-summary{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}
.cut-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:6px;font-size:13px}
.cut-row:nth-child(odd){background:#f8fafc}.cut-row i{font-style:normal;color:#64748b;font-weight:700}
.cut-row b{font-family:Consolas,'Courier New',monospace;font-size:15px}
.cut-row.pos b{color:#15803d}.cut-row.neg b{color:#dc2626}
.cut-total{margin-top:10px;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.cut-total span{font-weight:800;font-size:13px}.cut-total b{font-family:Consolas,'Courier New',monospace;font-size:32px;color:#15803d;text-align:right;line-height:1.2}
.cut-total small{color:#475569;font-size:11px;text-align:right}
.cut-tabs-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:260px}
.cut-tabs{display:flex;gap:4px;padding:8px 8px 0;background:#f1f5f9;border-bottom:1px solid #e5e7eb}
.cut-tabs button{border:1px solid #d6dde5;border-bottom:0;background:#e9eef3;border-radius:8px 8px 0 0;padding:7px 14px;font-weight:800;font-size:12.5px;color:#475569;cursor:pointer}
.cut-tabs button.active{background:#fff;color:#c2410c;border-color:#f5b089}
.cut-tab-body{flex:1;overflow:auto;max-height:260px}
.cut-table{width:100%;border-collapse:collapse;font-size:12.5px}
.cut-table th{background:#f8fafc;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb;position:sticky;top:0}
.cut-table td{padding:8px 10px;border-bottom:1px solid #eef1f4}.cut-table .num{text-align:right;white-space:nowrap;font-family:Consolas,'Courier New',monospace}
.cut-empty{padding:26px;text-align:center;color:#64748b;font-size:13px}
.cut-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cut-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;padding-bottom:10px}
.cut-card h4{margin:0;padding:10px 14px;background:#1f2937;color:#fff;font-size:14px;letter-spacing:.06em;text-transform:uppercase;display:flex;gap:8px;align-items:center;border-bottom:3px solid #f05a1a}
.cut-big{text-align:center;font-family:Consolas,'Courier New',monospace;font-size:26px;font-weight:800;color:#15803d;padding:14px 0 10px}
.cut-line{display:grid;grid-template-columns:28px 1fr auto;gap:6px;padding:5px 14px;font-size:12.5px;align-items:center}
.cut-line:nth-of-type(even){background:#f8fafc}
.cut-line em{font-style:normal;color:#64748b;text-align:right}.cut-line b{font-family:Consolas,'Courier New',monospace;color:#15803d}
.cut-line.neg b{color:#dc2626}.cut-line.muted b{color:#2563eb}.cut-line.muted span{color:#2563eb}
.cut-line.total{border-top:1px solid #1f2937;margin-top:4px;font-weight:800}.cut-line.total b{font-size:14px}
.cut-profit{margin:10px 14px 0;display:flex;justify-content:space-between;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 12px;font-weight:800}
.cut-profit b{font-family:Consolas,'Courier New',monospace;color:#c2410c;font-size:15px}
.cut-sellers{margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.cut-sellers h4{margin:0;padding:10px 14px;background:#f1f5f9;border-bottom:1px solid #e5e7eb}
.cut-footer{display:flex;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #e5e7eb;background:#fff}
.cut-footer .cut-hint{margin-left:auto;font-size:11px;color:#64748b}
.cut-footer .cut-next{font-size:15px;padding:10px 22px}
.cut-count-modal{width:min(720px,96vw);padding:0;overflow:hidden}
.cut-count-head{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(90deg,#1f2937,#374151);border-bottom:3px solid #f05a1a;color:#fff}
.cut-count-head span{font-size:28px}.cut-count-head h3{margin:0;font-size:24px;color:#fff;font-weight:600}.cut-count-head .close{margin-left:auto;background:transparent;border:0;color:#fff;font-size:26px;cursor:pointer}
.cut-count-grid{display:grid;grid-template-columns:110px 1fr;gap:10px 12px;align-items:center;margin-bottom:14px}
.cut-count-grid>label{text-align:right;color:#475569;font-size:13px;font-weight:700}
.cut-field{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:9px 12px;font-size:15px;font-weight:600;min-height:40px}
.cut-field-pair{display:grid;grid-template-columns:1fr 2fr;gap:8px}
.cut-open{font-family:Consolas,'Courier New',monospace;font-size:17px;font-weight:700}
.cut-cash-input{display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 12px}
.cut-cash-input label{font-weight:800;font-size:14px}
.cut-cash-input>div{display:flex;gap:8px;align-items:center}
.cut-cash-input input{width:280px;font-size:30px;font-family:Consolas,'Courier New',monospace;font-weight:700;padding:8px 12px;border:0;border-bottom:3px solid #f05a1a;background:#fff7ed;border-radius:8px 8px 0 0;text-align:right;outline:none}
.cut-cash-input small{color:#64748b;font-size:11.5px}
.cut-denoms{margin-bottom:12px}
.cut-expect{display:flex;justify-content:space-around;gap:16px;margin:8px 0}
.cut-expect div{display:flex;align-items:baseline;gap:10px}.cut-expect span{font-weight:700;color:#334155}
.cut-expect b{font-family:Consolas,'Courier New',monospace;font-size:26px}
.cut-expect b.ok{color:#15803d}.cut-expect b.bad{color:#dc2626}.cut-expect b.warn{color:#d97706}
.cut-noncash{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#475569;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:7px 12px;margin-bottom:10px}
.cut-status{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:12px;font-weight:800;font-size:16px;margin-bottom:12px}
.cut-status span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.3);font-size:18px}
.cut-status.wait{background:#f1f5f9;color:#64748b;font-weight:600;font-size:13px}
.cut-status.ok{background:#22c55e;color:#fff}.cut-status.bad{background:#dc2626;color:#fff}.cut-status.warn{background:#f59e0b;color:#fff}
.cut-report-head{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.cut-report-head div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px}.cut-report-head span{display:block;font-size:11px;color:#64748b}
@media(max-width:1100px){.cut-top{grid-template-columns:1fr}.cut-cards{grid-template-columns:1fr}}

/* KAIROS 1.2.9: logotipo de la empresa */
.logo-setting{display:flex;gap:18px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin:6px 0 16px;background:#fafbfc}
.logo-setting-preview{width:220px;min-height:110px;flex:0 0 220px;display:grid;place-items:center;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;padding:10px}
.logo-setting-preview img{max-width:100%;max-height:120px;object-fit:contain}
.logo-default{width:100%;color:#111}.logo-default svg{width:100%;height:auto}
.logo-setting-info h4{margin:0 0 4px;font-size:15px}.logo-setting-info p{margin:0 0 6px}
.logo-setting-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.logo-setting-actions label.btn{cursor:pointer}

/* 1.3.4 Arranque definitivo */
.modal.modal-wide{max-width:980px;width:96vw}
.golive-alert{background:#fff4e5;border:1px solid #f97316;border-left:6px solid #f97316;border-radius:12px;padding:12px 14px;margin-bottom:14px;color:#7c2d12}
.golive-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
.golive-box{border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px}
.golive-box h4{margin:4px 0 6px}.golive-box ul{margin:0 0 8px;padding-left:18px}.golive-box li{margin:3px 0}
.golive-status{margin-top:12px;padding:0;border-radius:10px}
.golive-status.work,.golive-status.ok,.golive-status.bad{padding:12px 14px}
.golive-status.work{background:#eff6ff;border:1px solid #93c5fd}
.golive-status.ok{background:#ecfdf5;border:1px solid #34d399}
.golive-status.bad{background:#fef2f2;border:1px solid #f87171;color:#7f1d1d}
@media (max-width:760px){.golive-grid{grid-template-columns:1fr}}

/* 1.3.4: con datos reales (arranque definitivo) desaparece la franja MODO PRUEBAS */
body.production-mode > .test-mode-banner{display:none !important}
body.production-mode:not(.auth-locked){display:flex;flex-direction:column}
body.production-mode > .app-shell{flex:1 1 0;min-height:0}
body.production-mode > .update-banner{flex:none}
body.production-mode.pos-fullscreen .main,body.production-mode.pos-fullscreen .content,body.production-mode.pos-fullscreen .pos-terminal{height:100vh}

/* 1.4.0 Nube */
.cloud-view-bar{flex:none;min-height:34px;display:flex;align-items:center;gap:12px;padding:5px 16px;background:#0f172a;color:#e2e8f0;font-size:13px;border-bottom:2px solid #f97316}
.cloud-view-bar b{color:#fff}.cloud-view-bar .small-muted{color:#94a3b8}
.cloud-view-bar .cloud-bar-note{margin-left:auto;color:#fdba74;font-size:12px}
.cloud-view-bar button{border:0;border-radius:8px;background:#f97316;color:#fff;font-weight:800;padding:5px 12px;cursor:pointer}
.cloud-view-bar .cloud-bar-ops{background:#1e293b;color:#bfdbfe;border:1px solid #475569}.cloud-view-bar .cloud-bar-ops.warning{background:#7c2d12;color:#ffedd5;border-color:#fb923c}
.cloud-dot{width:9px;height:9px;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.25)}
.modal.cloud-picker{max-width:720px;width:94vw}
.cloud-pick{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:14px 16px;margin:0 0 10px;cursor:pointer;font:inherit;color:inherit}
.cloud-pick:hover{border-color:#f97316;background:#fff7ed}
.cloud-pick span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}.cloud-pick small{color:#64748b}
.cloud-pick-icon{font-size:26px}
.cloud-pick-state{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.cloud-pick-state.on{background:#dcfce7;color:#166534}.cloud-pick-state.off{background:#fef3c7;color:#92400e}
.cloud-pick-own{background:#f8fafc}
.cloud-card{border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin-bottom:16px}
.cloud-card.hub{border-color:#38bdf8;background:#f0f9ff}.cloud-card.muted{background:#f8fafc}
.cloud-card h3{margin:0 0 8px}
.cloud-code-row{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;margin:10px 0 14px}
.cloud-code-row small{display:block;color:#64748b;font-size:12px}.cloud-code-row b{font-size:16px}
.cloud-code{font-size:24px!important;letter-spacing:.12em;color:#c2410c}
.cloud-error{background:#fef2f2;border:1px solid #fca5a5;color:#7f1d1d;border-radius:10px;padding:10px 12px;margin:0 0 12px}
.cloud-ok{color:#166534;font-weight:700}

body.cloud-view #quick-sale{display:none}

/* 1.13.0 · Tipo de negocio y primer inicio */
.rubro-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.rubro-feature{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;cursor:pointer}
.rubro-feature input{margin-top:3px}
.rubro-feature small,.fr-choice small,.fr-type small{display:block;color:#6b7280;font-weight:400;margin-top:2px}
.first-run .modal-body{max-height:70vh;overflow:auto}
.fr-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 14px}
.fr-steps li{padding:4px 10px;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:13px}
.fr-steps li.on{background:#f97316;color:#fff;font-weight:600}
.fr-steps li.done{background:#ffedd5;color:#9a3412}
.fr-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.fr-type{position:relative;display:flex;flex-direction:column;gap:4px;border:2px solid #e5e7eb;border-radius:12px;padding:12px;cursor:pointer}
.fr-type input{position:absolute;opacity:0;pointer-events:none}
.fr-type:has(input:checked){border-color:#f97316;background:#fff7ed}
.fr-type.soon{opacity:.55;cursor:not-allowed}
.fr-type em{font-style:normal;font-size:12px;color:#9a3412}
.fr-type-icon{font-size:28px}
.fr-choices{display:grid;gap:10px}
.fr-choice{display:flex;gap:10px;align-items:flex-start;border:2px solid #e5e7eb;border-radius:12px;padding:12px;cursor:pointer}
.fr-choice:has(input:checked){border-color:#f97316;background:#fff7ed}
.fr-message{color:#b91c1c;font-weight:600;margin-top:10px;min-height:1em}
html[data-theme="dark"] .rubro-feature,html[data-theme="dark"] .fr-type,html[data-theme="dark"] .fr-choice{border-color:#374151}
html[data-theme="dark"] .fr-type:has(input:checked),html[data-theme="dark"] .fr-choice:has(input:checked){background:#3b2414}
.catalog-sort-th{cursor:pointer;user-select:none;white-space:nowrap}.catalog-sort-th:hover{color:#fdba74!important}.catalog-sort-th.sorted{color:#fb923c!important}

/* === 1.13.5 · Letra legible en monitores económicos (1366x768, pantallas TN) ===
   Nada del POS queda debajo de 12 px ni en gris claro; TOTAL oscuro con número grande. */
.pos-terminal .pos-cart-table thead th{font-size:12px;font-weight:700}
.pos-terminal .pos-cart-table td{font-size:14px;font-weight:600;padding:8px 7px;border-bottom-color:#c3ced9}
.pos-terminal .pos-cart-table td.mono{font-size:13px}
.pos-terminal .pos-cart-table td strong{font-weight:800}
.pos-terminal .pos-cart-table td:nth-child(n+5){white-space:nowrap;font-variant-numeric:tabular-nums}
.pos-terminal .pos-cart-table td:nth-child(8) strong{font-size:15px}
.pos-terminal .pos-cart-table .cart-qty{font-size:15px;font-weight:800;text-align:center}
html:not([data-theme="dark"]) .pos-terminal .pos-cart-table td{color:#0f1b2a}
html:not([data-theme="dark"]) .pos-terminal .pos-cart-row:nth-child(even):not(.selected):not(:hover) td{background:#eef3f8}
html:not([data-theme="dark"]) .pos-terminal .pos-cart-row.selected td{background:#dbe7f3}
html:not([data-theme="dark"]) .pos-terminal .pos-cart-table .cart-qty{color:#0f1b2a;border-color:#8ea1b4}
.pos-terminal .pos-media-title{font-size:16px;font-weight:800}
.pos-terminal .pos-media-sub{font-size:13px;font-weight:600}
.pos-terminal .pos-media-prices span{font-size:13px;font-weight:800}
html:not([data-theme="dark"]) .pos-terminal .pos-media-sub{color:#26374a}
html:not([data-theme="dark"]) .pos-terminal .pos-media-prices span{color:#0f1b2a;border-color:#9fb0c2}
.pos-terminal .pos-shortcuts{flex-wrap:nowrap}
.pos-terminal .pos-shortcuts button,body.pos-fullscreen .pos-terminal .pos-shortcuts button{font-size:12px;font-weight:700;white-space:nowrap;padding:4px 8px}
.pos-terminal .pos-shortcuts button small{font-size:11px;font-weight:800}
html:not([data-theme="dark"]) .pos-terminal .pos-shortcuts button{color:#0f1b2a;border-color:#a9b8c7}
html:not([data-theme="dark"]) .pos-terminal .pos-shortcuts button small{color:#c2410c}
.pos-terminal .pos-ticket-head span,.pos-terminal .pos-status-row{font-size:12px}
.pos-terminal .pos-ticket-panel label{font-size:13px;font-weight:700}
.pos-terminal .pos-mini-totals div{font-size:13px}
html:not([data-theme="dark"]) .pos-terminal .pos-mini-totals div,html:not([data-theme="dark"]) .pos-terminal .pos-ticket-head span{color:#0f1b2a}
.pos-terminal .pos-grand-total{background:#0b1d2e;border-top:3px solid #ff6b00;text-shadow:none}
.pos-terminal .pos-grand-total span{font-size:16px;letter-spacing:.5px;color:#cbd6e2;white-space:nowrap}
.pos-terminal .pos-grand-total strong,body.pos-fullscreen .pos-terminal .pos-grand-total strong{font-size:38px;line-height:1;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
.pos-terminal .pos-charge{background:#15803d;font-size:19px;white-space:nowrap}
.pos-terminal .pos-charge:hover{background:#166534}
.pos-terminal .pos-charge small{font-size:11px}
.pos-result strong{font-size:15px}
.pos-result small{font-size:13px}
.pos-result.active{background:#ffe8d6;box-shadow:inset 5px 0 0 #ff6b00}
html[data-theme="dark"] .pos-result.active{background:#3a2a1c!important}
@media(max-width:1200px){.pos-terminal .pos-grand-total strong,body.pos-fullscreen .pos-terminal .pos-grand-total strong{font-size:30px}.pos-terminal .pos-shortcuts{flex-wrap:wrap}}

/* === 1.13.6 · Caja compacta: caben más productos en laptops y monitores bajos === */
body.pos-fullscreen .pos-terminal.pos-compact .pos-terminal-top{flex:0 0 auto;height:auto;min-height:44px;padding:4px 6px;gap:5px;flex-wrap:wrap;row-gap:4px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-top-box{height:34px;grid-template-columns:46px 96px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-top-box.turn{grid-template-columns:52px 84px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-top-box span,body.pos-fullscreen .pos-terminal.pos-compact .pos-top-box strong{font-size:12px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-top-spacer{flex:1 1 0;min-width:0}
body.pos-fullscreen .pos-terminal.pos-compact .pos-terminal-top .pos-command-group{display:flex;gap:4px;align-items:center}
body.pos-fullscreen .pos-terminal.pos-compact .pos-terminal-top .pos-command{height:36px;min-width:0;padding:1px 6px;font-size:12px;column-gap:4px;border-radius:8px;line-height:1.1;grid-template-columns:20px auto}
body.pos-fullscreen .pos-terminal.pos-compact .pos-terminal-top .pos-command svg{width:18px;height:18px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-terminal-top .pos-command small{font-size:9.5px;font-weight:700;color:#475569}
body.pos-fullscreen .pos-terminal.pos-compact .pos-user{min-width:0;max-width:190px;height:34px;padding:0 8px;font-size:12px;overflow:hidden;white-space:nowrap}
body.pos-fullscreen .pos-terminal.pos-compact .pos-user strong{overflow:hidden;text-overflow:ellipsis}
body.pos-fullscreen .pos-terminal.pos-compact .pos-theme-button{width:34px;height:34px;min-width:0;padding:0}
body.pos-fullscreen .pos-terminal.pos-compact .pos-clientbar{padding:3px 9px;grid-template-columns:30px minmax(180px,.8fr) minmax(420px,1.5fr)}
body.pos-fullscreen .pos-terminal.pos-compact .pos-avatar{width:28px;height:28px;font-size:16px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-client-info small{display:none}
body.pos-fullscreen .pos-terminal.pos-compact .pos-client-info strong,body.pos-fullscreen .pos-terminal.pos-compact .pos-client-name-input{font-size:15px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-client-controls select{height:28px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-search-zone{padding:4px 10px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-search-box{height:34px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-search-meta{gap:2px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-strip{padding:3px 10px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-card{grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-image{height:26px;width:26px;border-radius:5px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-icon{font-size:16px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-icon svg{width:18px;height:18px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-info{display:flex;align-items:center;gap:12px;white-space:nowrap;overflow:hidden}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-title{font-size:14px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-sub{font-size:12px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-prices span{font-size:12px;padding:1px 7px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-actions .btn{padding:2px 8px;font-size:11px;min-height:0}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-placeholder{font-size:12px;gap:8px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-placeholder>div:last-child{display:flex;gap:10px;align-items:baseline}
body.pos-fullscreen .pos-terminal.pos-compact .pos-media-placeholder svg{width:18px;height:18px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table thead th{padding:5px 7px;font-size:11px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table td{font-size:13px;padding:3px 7px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table td.mono{font-size:12px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table td:nth-child(8) strong{font-size:14px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table td:nth-child(8) strong,body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table td:nth-child(8) .cart-remove{vertical-align:middle}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table .cart-qty{height:24px;font-size:14px;padding:0 4px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-cart-table .cart-remove{height:22px;width:22px;padding:0}
body.pos-fullscreen .pos-terminal.pos-compact .pos-empty-row td{height:clamp(110px,22vh,260px)}
body.pos-fullscreen .pos-terminal.pos-compact .pos-ticket-panel{padding:6px 10px;gap:5px;align-content:start}
body.pos-fullscreen .pos-terminal.pos-compact .pos-ticket-panel .pos-shortcuts{border:0;padding:0;gap:4px;flex-wrap:wrap;background:transparent}
body.pos-fullscreen .pos-terminal.pos-compact .pos-ticket-panel .pos-shortcuts button{min-height:26px;padding:2px 7px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-ticket-panel label{grid-template-columns:96px 1fr;font-size:12px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-ticket-panel input{padding:4px 8px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-status-row{font-size:11px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-status-ticket{margin-left:auto;color:#1e3a5f;font-weight:800}
html[data-theme="dark"] body.pos-fullscreen .pos-terminal.pos-compact .pos-status-ticket{color:#cbd5e1}

html[data-theme="dark"] .pos-terminal .pos-media-title{color:#f1f5f9}
html[data-theme="dark"] .pos-terminal .pos-media-sub{color:#cbd5e1}

/* Tablet vertical: totales debajo de los atajos para que no se encimen */
@media(max-width:900px){body.pos-fullscreen .pos-bottom-grid{grid-template-columns:1fr}}

/* 1.16.1: foto visible en portátiles y barra compacta */
@media(min-width:1000px){body.products-page .catalog-shell-fixed .catalog-preview{display:block!important}body.products-page .catalog-grid{grid-template-columns:minmax(0,1fr) 245px!important}}
body.products-page .catalog-action-group>span{display:none!important}
body.products-page .catalog-actions-v98{gap:4px;padding:5px!important}
body.products-page .catalog-action-group{padding:0 3px!important;gap:4px}
body.products-page .catalog-actions-v98 .cat-btn{min-height:30px;padding:5px 7px;font-size:11px}
body.products-page .catalog-preview-image{height:160px}
.grocery-product-fields small{display:block;color:#64748b;margin-top:4px}

.catalog-actions-compact{display:flex!important;align-items:center;flex-wrap:wrap!important;overflow:visible!important;position:relative;z-index:5}
.catalog-more-actions{position:relative}.catalog-more-actions>summary{cursor:pointer;list-style:none}.catalog-more-actions>summary::-webkit-details-marker{display:none}
.catalog-more-menu{position:absolute;right:0;top:100%;width:210px;background:white;border:1px solid #dce2e8;border-radius:10px;padding:6px;box-shadow:0 8px 24px #17243624;z-index:40;display:grid;gap:3px}.catalog-more-menu button{width:100%;text-align:left;justify-content:flex-start}
.catalog-more-menu[hidden]{display:none!important}

/* 1.16.12 · POS compacto aprobado: foto visible, una sola línea comercial y precios por Ctrl+P. */
.pos-sale-focus{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px;row-gap:4px;padding:6px 10px 5px;background:#f6f8fb;border-bottom:1px solid #dde5ed;position:relative}
.pos-sale-focus .pos-media-strip,.pos-sale-focus .pos-media-card,.pos-sale-focus .pos-focus-content{display:contents}
.pos-sale-focus .pos-media-image{grid-column:1;grid-row:1/4;width:112px;height:112px;align-self:stretch;border:2px solid #ff7a2a;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.09);overflow:hidden;display:grid;place-items:center}
.pos-sale-focus .pos-media-image img{width:100%;height:100%;object-fit:contain;padding:5px}
.pos-sale-focus .pos-media-icon{display:grid;place-items:center;color:#f97316;font-size:34px}.pos-sale-focus .pos-media-icon svg{width:34px;height:34px}
.pos-sale-focus .commercial-pos-panel{grid-column:2;grid-row:1;margin:0;padding:3px 7px;min-height:32px;border-radius:9px;background:linear-gradient(90deg,#fff7ed,#fffaf5);align-self:center}
.pos-sale-focus .ce-pos-summary{grid-template-columns:auto minmax(140px,1fr) auto auto;gap:8px;min-height:24px;font-size:11px}
.pos-sale-focus .ce-pos-summary>div{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}.pos-sale-focus .ce-pos-summary small,.pos-sale-focus .ce-pos-summary strong{display:inline;overflow:hidden;text-overflow:ellipsis}.pos-sale-focus .ce-pos-summary em{grid-column:1/-1}
.pos-sale-focus .ce-benefit-button{display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:7px;white-space:nowrap}.pos-sale-focus .ce-benefit-button span{display:inline}
.pos-sale-focus .pos-search-zone{grid-column:2;grid-row:2;padding:0;border:0;background:transparent;grid-template-columns:132px minmax(260px,1fr) minmax(155px,205px);gap:6px 8px;min-width:0}
.pos-sale-focus .pos-search-zone>label{font-size:15px}.pos-sale-focus .pos-search-box{height:36px}.pos-sale-focus .pos-search-results{left:140px;right:213px;top:40px}
.pos-sale-focus .pos-media-info{grid-column:2;grid-row:3;display:flex;align-items:center;gap:10px;min-width:0;min-height:28px;padding:1px 4px;white-space:nowrap;overflow:hidden}
.pos-sale-focus .pos-media-title{font-size:14px;font-weight:850;color:#172436;overflow:hidden;text-overflow:ellipsis}.pos-sale-focus .pos-media-sub{font-size:11px;font-weight:650;color:#526274;overflow:hidden;text-overflow:ellipsis}.pos-sale-focus .pos-media-actions{margin-left:auto}.pos-sale-focus .pos-media-actions .btn{padding:3px 9px;min-height:24px;font-size:10px}.pos-no-photo{font-size:10px;color:#94a3b8;font-weight:700}.pos-sale-focus .pos-media-prices{display:none!important}
body.pos-fullscreen .pos-terminal.pos-compact .pos-sale-focus{padding:4px 9px;grid-template-columns:104px minmax(0,1fr);row-gap:3px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-sale-focus .pos-media-image{width:104px;height:98px;border-radius:10px}
body.pos-fullscreen .pos-terminal.pos-compact .pos-sale-focus .pos-search-zone{padding:0}
body.pos-fullscreen .pos-terminal.pos-compact .pos-sale-focus .pos-media-info{display:flex;min-height:25px;gap:9px}
@media(max-width:1100px){.pos-sale-focus{grid-template-columns:88px minmax(0,1fr)}.pos-sale-focus .pos-media-image,body.pos-fullscreen .pos-terminal.pos-compact .pos-sale-focus .pos-media-image{width:88px;height:92px}.pos-sale-focus .pos-search-zone{grid-template-columns:112px minmax(0,1fr)}.pos-sale-focus .pos-doc-controls{display:none}.pos-sale-focus .pos-search-results{left:120px;right:0}.pos-sale-focus .ce-pos-summary{grid-template-columns:auto minmax(100px,1fr) auto auto}.pos-sale-focus .pos-media-sub:nth-of-type(1){display:none}}
html[data-theme="dark"] .pos-sale-focus{background:#17212b;border-color:#334155}html[data-theme="dark"] .pos-sale-focus .pos-media-image{background:#111827;border-color:#fb923c}html[data-theme="dark"] .pos-sale-focus .commercial-pos-panel{background:linear-gradient(90deg,#2b211c,#1f2937);color:#f8fafc}html[data-theme="dark"] .pos-sale-focus .pos-media-title{color:#f8fafc}html[data-theme="dark"] .pos-sale-focus .pos-media-sub{color:#cbd5e1}

/* Menú estable: sin efectos; permanece abierto mientras el puntero está dentro. */
.sidebar,.sidebar .nav,.sidebar .nav-module,.sidebar .nav-inline-submenu,.sidebar .nav-inline-submenu a,.nav-flyout,.nav-flyout *{animation:none!important;transition:none!important}
.sidebar .nav-attention,.sidebar .nav-module.active .nav-module-badge{animation:none!important}
body.products-page .catalog-fixed-head{overflow:visible!important}
@media(max-width:999px){body.products-page .catalog-grid{grid-template-columns:minmax(0,1fr)!important}}
/* Motor Comercial KAIROS 1.16.4 */
.commercial-pos-panel{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;margin:8px 0;padding:7px 10px;color:#111827}
.ce-pos-summary{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;gap:12px;align-items:center;font-size:12px}
.ce-pos-summary small,.ce-pos-summary span{display:block;color:#6b7280}.ce-pos-summary strong{display:block}.ce-pos-summary em{grid-column:1/-1;color:#b91c1c;font-style:normal}
.ce-benefit-button{border:0;border-radius:10px;background:#111827;color:#fff;padding:7px 12px;cursor:pointer}.ce-benefit-button b{color:#fb923c}.ce-benefit-button span{color:#fff}
.ce-page{display:grid;gap:18px}.ce-actions{display:flex;flex-wrap:wrap;gap:8px}.ce-tabs{display:flex;gap:4px;overflow:auto;border-bottom:2px solid #e5e7eb}.ce-tabs button{border:0;background:transparent;padding:12px 14px;font-weight:700;cursor:pointer;white-space:nowrap}.ce-tabs button.active{color:#ea580c;border-bottom:3px solid #f97316}.ce-pane{display:none;gap:18px}.ce-pane.active{display:grid}.ce-pane h3{margin:10px 0}
.ce-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:245px}.ce-row-actions .btn{white-space:nowrap}
.ce-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.ce-benefits-grid>div{border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:12px}.ce-benefits-grid span,.ce-benefits-grid b{display:block}.ce-benefits-grid span{font-size:12px;color:#6b7280}.ce-benefits-grid b{font-size:18px;margin-top:4px}
.ce-benefits-grid small{display:block;margin-top:4px;color:#64748b}.ce-redeem-row{display:grid;grid-template-columns:1fr auto;gap:8px}.ce-benefit-explainer{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.ce-benefit-explainer b{white-space:nowrap}.ce-pharmacy-hub{overflow:hidden;border:1px solid #bbf7d0;border-radius:18px;background:linear-gradient(135deg,#f0fdf4,#fff 62%);box-shadow:0 10px 30px rgba(15,118,110,.08)}.ce-pharmacy-head{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid #dcfce7}.ce-pharmacy-head span{font-weight:900;color:#047857;text-transform:uppercase;font-size:12px;letter-spacing:.04em}.ce-pharmacy-head h2{margin:5px 0;color:#12372d}.ce-pharmacy-head p{margin:0;color:#52645f;max-width:760px}.ce-pharmacy-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ce-pharmacy-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 18px}.ce-pharmacy-kpis button{text-align:left;border:1px solid #d1fae5;background:#fff;border-radius:13px;padding:13px;cursor:pointer}.ce-pharmacy-kpis button:hover{border-color:#34d399;transform:translateY(-1px)}.ce-pharmacy-kpis span,.ce-pharmacy-kpis b,.ce-pharmacy-kpis small{display:block}.ce-pharmacy-kpis span{font-size:11px;color:#64748b}.ce-pharmacy-kpis b{font-size:25px;color:#065f46;margin:3px 0}.ce-pharmacy-kpis small{color:#64748b}.ce-opportunity-list{padding:0 18px 18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ce-opportunity-list>div{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:10px}.ce-opportunity-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d1fae5;color:#065f46;font-weight:900}.ce-opportunity-list p{margin:0}.ce-opportunity-list p b,.ce-opportunity-list p small{display:block}.ce-opportunity-list p small{color:#64748b;margin-top:2px}.ce-opportunity-list>div>strong{text-align:right;color:#334155;font-size:12px}.ce-opportunity-empty{grid-column:1/-1!important;display:block!important;color:#64748b;text-align:center!important;padding:18px!important}
.ce-editor-modal{width:min(1320px,98vw);max-height:95vh;border-radius:18px}.ce-editor-modal>.modal-header{display:none}.ce-editor-modal>.modal-body{padding:0;max-height:calc(95vh - 70px);overflow:auto;background:#f5f7fa}.ce-editor-modal>.modal-footer{position:sticky;bottom:0;z-index:8;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);padding:13px 22px;border-top:1px solid #dce3ea}.ce-editor-modal>.modal-footer .btn{min-width:150px;min-height:44px;font-weight:850}.ce-editor-shell{color:#172033}.ce-editor-hero{position:sticky;top:0;z-index:7;display:flex;align-items:center;gap:14px;padding:18px 24px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid #dce3ea}.ce-editor-hero h2{margin:0;font-size:24px}.ce-editor-hero p{margin:3px 0 0;color:#64748b}.ce-editor-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#ff7a18,#ed4b0b);color:#fff;font-size:22px;font-weight:950;box-shadow:0 8px 20px rgba(234,88,12,.25)}.ce-editor-section{margin:14px 18px;padding:18px;border:1px solid #dce3ea;border-radius:14px;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.025)}.ce-section-title,.ce-scope-row,.ce-selected-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.ce-section-title>b,.ce-scope-row b,.ce-selected-title b{display:block;font-size:17px}.ce-section-title small,.ce-scope-row small,.ce-selected-title small{display:block;color:#64748b;margin-top:2px}.ce-section-title>span{color:#dc2626;font-size:12px;font-weight:800}.ce-scope-row select{max-width:270px}.ce-scope-panel{padding-top:6px}.ce-scan-label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.ce-scan-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.ce-barcode-icon{font-size:23px;color:#f05a16}.ce-product-results{display:grid;position:relative;z-index:5;margin-top:5px;border-radius:11px;overflow:hidden;box-shadow:0 13px 34px rgba(15,23,42,.18)}.ce-result-row{display:grid;grid-template-columns:145px minmax(0,1fr) 160px 100px;gap:10px;align-items:center;border:0;border-bottom:1px solid #e2e8f0;background:#fff;padding:10px 12px;text-align:left;cursor:pointer}.ce-result-row:hover{background:#fff7ed}.ce-result-row small{color:#64748b}.ce-result-row strong{text-align:right;color:#ea580c}.ce-result-code{font-family:ui-monospace,Consolas,monospace;color:#475569}.ce-no-result,.ce-empty-products{padding:22px;text-align:center;border:1px dashed #cbd5e1;border-radius:11px;background:#f8fafc;color:#64748b}.ce-selected-title{margin-top:16px}.ce-product-table td{vertical-align:middle}.ce-product-table td b,.ce-product-table td small{display:block}.ce-product-table td small{color:#64748b;margin-top:3px}.ce-branch-stock{display:flex;justify-content:space-between;gap:12px;min-width:200px;font-size:11px;color:#64748b}.ce-branch-stock b{color:#172033}.ce-remove-product{width:32px;height:32px;border:1px solid #fecaca;border-radius:8px;background:#fff;color:#dc2626;font-size:20px;cursor:pointer}.ce-remove-product:hover{background:#fef2f2}.ce-extra-ticket{width:80px!important;text-align:center}.ce-choice-grid{display:flex;flex-wrap:wrap;gap:8px}.ce-check-chip{position:relative}.ce-check-chip input{position:absolute;opacity:0}.ce-check-chip span{display:block;padding:8px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#475569;font-size:12px;cursor:pointer;transition:.16s}.ce-check-chip input:checked+span{border-color:#fb6b20;background:#fff1e8;color:#c2410c;box-shadow:inset 0 0 0 1px #fb6b20}.ce-promo-types{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:9px}.ce-promo-type-card{position:relative;min-height:118px;padding:14px 12px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.ce-promo-type-card:hover{transform:translateY(-2px);border-color:#fb923c;box-shadow:0 8px 18px rgba(234,88,12,.09)}.ce-promo-type-card.selected{border:2px solid #fb5d18;background:#fff5ee}.ce-promo-type-card input{position:absolute;right:10px;top:10px;accent-color:#f05a16}.ce-promo-type-card>span{font-size:22px}.ce-promo-type-card>b{font-size:13px}.ce-promo-type-card>small{color:#64748b;font-size:10px}.ce-benefit-config{margin-top:14px;padding:14px;border-radius:11px;background:#f8fafc;border:1px solid #e2e8f0}.ce-benefit-config>.form-group{max-width:540px}.ce-inline-inputs{display:flex;align-items:center;gap:10px}.ce-inline-inputs .control{flex:1}.ce-schedule-section{border-color:#fed7aa}.ce-schedule-grid,.ce-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ce-schedule-grid label,.ce-calendar-grid label{font-weight:800;font-size:12px}.ce-schedule-grid input,.ce-calendar-grid input{margin-top:6px}.ce-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ce-calendar-grid small{display:block;margin-top:5px;color:#64748b;font-weight:400}.ce-raffle-calendar{border-color:#fb6b20;box-shadow:inset 0 0 0 1px rgba(251,107,32,.12)}.ce-raffle-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);align-items:start}.ce-ticket-amount{display:flex;align-items:center;gap:10px;font-weight:800}.ce-ticket-amount span{padding:10px;background:#eef2f6;border-radius:8px}.ce-ticket-amount input{max-width:180px}.ce-ticket-preview{margin:14px 18px;padding:22px 16px;border:1px dashed #94a3b8;background:#fff;text-align:center;display:grid;gap:8px;box-shadow:0 8px 20px rgba(15,23,42,.07)}.ce-ticket-preview>span{color:#f05a16;font-size:25px;font-weight:1000}.ce-ticket-preview>small{color:#64748b}.ce-ticket-preview>b{padding:10px 0;border-block:1px dashed #cbd5e1}.ce-ticket-preview>em{font-style:normal;font-size:11px}.ce-ticket-preview>strong{font-size:22px}.ce-ticket-preview>i{font-style:normal;font-size:28px;letter-spacing:-4px}.ce-advanced{margin:14px 18px 18px;border:1px solid #dce3ea;border-radius:13px;background:#fff;overflow:hidden}.ce-advanced summary{padding:16px 18px;cursor:pointer;font-weight:850}.ce-advanced summary small{display:block;margin-left:24px;color:#64748b;font-weight:400}.ce-advanced[open] summary{border-bottom:1px solid #e2e8f0}.ce-advanced>.form-grid{padding:18px}.ce-switch{display:flex!important;align-items:center;gap:10px}.ce-switch input{accent-color:#f05a16}
@media(max-width:1050px){.ce-promo-types{grid-template-columns:repeat(4,1fr)}.ce-raffle-workspace{grid-template-columns:1fr}.ce-calendar-grid{grid-template-columns:1fr 1fr}.ce-calendar-grid label:last-child{grid-column:1/-1}}
@media(max-width:700px){.ce-editor-modal{width:100vw;max-height:100vh;border-radius:0}.ce-editor-modal>.modal-body{max-height:calc(100vh - 68px)}.ce-editor-hero{padding:13px 15px}.ce-editor-section{margin:9px;padding:13px}.ce-promo-types{grid-template-columns:1fr 1fr}.ce-schedule-grid,.ce-calendar-grid{grid-template-columns:1fr}.ce-calendar-grid label:last-child{grid-column:auto}.ce-result-row{grid-template-columns:1fr}.ce-scope-row{align-items:flex-start;flex-direction:column}.ce-editor-modal>.modal-footer .btn{min-width:0}}
@media(max-width:1000px){.ce-pos-summary{grid-template-columns:1fr 1fr}.ce-benefits-grid{grid-template-columns:1fr 1fr}.ce-pharmacy-head{display:block}.ce-pharmacy-actions{margin-top:12px}.ce-pharmacy-kpis{grid-template-columns:1fr 1fr}.ce-opportunity-list{grid-template-columns:1fr}}

/* === Navegacion inteligente con identidad naranja KAIROS === */
.nav{position:relative;scroll-behavior:smooth}.nav-active-rail{position:absolute;z-index:5;left:0;top:0;width:4px;height:44px;border-radius:0 7px 7px 0;background:linear-gradient(180deg,#ff8a3d,#f45116);opacity:0;pointer-events:none;box-shadow:0 0 15px rgba(244,81,22,.65),0 0 28px rgba(244,81,22,.22);transition:transform .32s cubic-bezier(.2,.9,.25,1),height .2s ease,opacity .16s ease}.nav-active-rail.ready{opacity:1}.nav-module.active{border-left-color:transparent!important;box-shadow:0 7px 18px rgba(0,0,0,.10);background:linear-gradient(90deg,rgba(244,81,22,.30),rgba(244,81,22,.10) 62%,rgba(255,255,255,.045))}.nav-module:hover .nav-icon{transform:translateX(3px) scale(1.08)}
.nav-module.nav-attention{animation:kairos-nav-attention .76s ease}.nav-module-group.open .nav-inline-submenu a{animation:kairos-submenu-in .24s both}.nav-module-group.open .nav-inline-submenu a:nth-child(2){animation-delay:35ms}.nav-module-group.open .nav-inline-submenu a:nth-child(3){animation-delay:70ms}.nav-module-group.open .nav-inline-submenu a:nth-child(4){animation-delay:105ms}.nav-module-group.open .nav-inline-submenu a:nth-child(5){animation-delay:140ms}.nav-module-group.open .nav-inline-submenu a:nth-child(6){animation-delay:175ms}
.sidebar-pos-shortcut{min-height:42px;margin:7px 4px 9px;border:1px solid rgba(255,112,35,.42);background:linear-gradient(90deg,rgba(244,81,22,.24),rgba(244,81,22,.10));box-shadow:0 7px 18px rgba(244,81,22,.13)}.sidebar-pos-shortcut:hover{background:linear-gradient(90deg,rgba(244,81,22,.38),rgba(244,81,22,.16));box-shadow:0 10px 25px rgba(244,81,22,.24)}
#quick-sale{display:inline-flex;align-items:center;gap:9px}#quick-sale kbd{font:700 10px/1 inherit;padding:3px 6px;border:1px solid rgba(255,255,255,.38);border-radius:6px;background:rgba(0,0,0,.10)}.pos-shortcut-kick>span:first-child,.pos-shortcut-kick svg{animation:kairos-pos-kick .4s ease}
.content.content-enter{animation:kairos-content-enter .28s cubic-bezier(.2,.8,.25,1)}.app-shell.menu-collapsing .brand>div:last-child,.app-shell.menu-collapsing .nav-label,.app-shell.menu-collapsing .nav-chevron,.app-shell.menu-collapsing .nav-shortcut,.app-shell.menu-collapsing .sidebar-pos-shortcut b,.app-shell.menu-collapsing .sidebar-pos-shortcut kbd,.app-shell.menu-collapsing .sidebar-footer{opacity:0;transform:translateX(-5px);transition:opacity .09s ease,transform .09s ease}.app-shell.menu-expanding .brand>div:last-child,.app-shell.menu-expanding .nav-label,.app-shell.menu-expanding .nav-chevron,.app-shell.menu-expanding .nav-shortcut,.app-shell.menu-expanding .sidebar-pos-shortcut b,.app-shell.menu-expanding .sidebar-pos-shortcut kbd,.app-shell.menu-expanding .sidebar-footer{animation:kairos-label-in .22s .08s both}.nav-module.active .nav-module-badge{animation:kairos-badge-bounce .42s ease}.theme-toggle button.active .ti{display:inline-block;animation:kairos-theme-turn .32s ease}.server-pill .dot.online{box-shadow:0 0 0 4px rgba(34,197,94,.10),0 0 14px rgba(34,197,94,.25)}
@keyframes kairos-nav-attention{0%,100%{box-shadow:0 7px 18px rgba(0,0,0,.10)}42%{box-shadow:inset 0 0 0 1px rgba(255,135,66,.78),0 0 22px rgba(244,81,22,.38);background:linear-gradient(90deg,rgba(244,81,22,.42),rgba(244,81,22,.13))}}@keyframes kairos-submenu-in{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}@keyframes kairos-content-enter{from{opacity:.48;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes kairos-label-in{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}@keyframes kairos-pos-kick{0%,100%{transform:translateX(0) rotate(0)}42%{transform:translateX(5px) rotate(-4deg)}74%{transform:translateX(-2px) rotate(2deg)}}@keyframes kairos-badge-bounce{0%,100%{transform:scale(1)}45%{transform:scale(1.25)}72%{transform:scale(.94)}}@keyframes kairos-theme-turn{from{transform:rotate(-18deg) scale(.86)}to{transform:rotate(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.nav-active-rail,.nav-module,.nav-icon,.content,.nav-inline-submenu{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Menú 1.16.10: respuesta más rápida y espacio lateral despejado. */
.nav-inline-submenu{transition:max-height .20s cubic-bezier(.22,.61,.36,1),opacity .13s ease,margin .18s ease}
.nav-module-group.open .nav-inline-submenu a{animation-duration:.18s}
.nav-module-group.open .nav-inline-submenu a:nth-child(2){animation-delay:20ms}.nav-module-group.open .nav-inline-submenu a:nth-child(3){animation-delay:40ms}.nav-module-group.open .nav-inline-submenu a:nth-child(4){animation-delay:60ms}.nav-module-group.open .nav-inline-submenu a:nth-child(5){animation-delay:80ms}.nav-module-group.open .nav-inline-submenu a:nth-child(6){animation-delay:100ms}
