@import '_content/Microsoft.AspNetCore.Components.QuickGrid/Microsoft.AspNetCore.Components.QuickGrid.25o87uqmvr.bundle.scp.css';

/* _content/Orion.Web/Components/Layout/PosLayout.razor.rz.scp.css */
/* Shell del POS: pantalla completa sin el chrome del ERP. */
.pos-shell[b-iz8gx2g8rb] {
    min-height: 100vh;
    background: var(--bg-canvas);
}
/* _content/Orion.Web/Components/Pages/PosVenderPage.razor.rz.scp.css */
/* POS-4 — pantalla de venta (mockup aprobado). Consume los tokens de app.css;
   lo único propio es la escala display POS (total 40px / devuelta 64px) y el
   chrome oscuro de la caja (mismo lenguaje del sidebar del ERP). */

.pos-root[b-igwz559yg3] {
    height: 100vh;
    display: flex;
    flex-direction: column;
    min-width: 980px;
    background: var(--bg-canvas);
    color: var(--text-primary);
    --pos-chrome-bg: #11131a;
    --pos-chrome-hover: #1d2030;
    --pos-chrome-text: #c9cdd9;
    --pos-chrome-text-strong: #ffffff;
    --pos-chrome-border: #1f2330;
    --pos-total-size: 40px;
    --pos-change-size: 64px;
}

.money[b-igwz559yg3] { font-variant-numeric: tabular-nums; }
.pos-kbd[b-igwz559yg3] {
    font-size: 10px; font-weight: 600; padding: 1px 5px;
    border-radius: var(--radius-sm); border: 1px solid var(--border-strong);
    background: var(--bg-surface); color: var(--text-tertiary); white-space: nowrap;
}
.pos-kbd.inv[b-igwz559yg3] { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.3); color: #fff; }
.pos-cur[b-igwz559yg3] { font-size: .5em; font-weight: 500; color: var(--text-muted); margin-right: 4px; }

/* ── PosTopBar 48px ── */
.pos-topbar[b-igwz559yg3] {
    height: 48px; flex: 0 0 48px;
    background: var(--pos-chrome-bg);
    border-bottom: 1px solid var(--pos-chrome-border);
    color: var(--pos-chrome-text);
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 var(--space-3); gap: var(--space-3);
}
.pos-tb-left[b-igwz559yg3], .pos-tb-right[b-igwz559yg3] { display: flex; align-items: center; gap: var(--space-3); }
.pos-tb-left[b-igwz559yg3] { min-width: 0; }      /* el bloque izquierdo puede encoger… */
.pos-tb-right[b-igwz559yg3] { flex: 0 0 auto; }   /* …el chip "En línea" y el reloj, nunca */
.pos-btn-exit[b-igwz559yg3] {
    /* target táctil >= 44px dentro del topbar de 48px (review #9) */
    width: 44px; height: 44px; border-radius: var(--radius-md);
    border: 1px solid var(--pos-chrome-border);
    background: transparent; color: var(--pos-chrome-text);
    font-size: 16px; line-height: 42px; text-align: center; text-decoration: none;
}
.pos-btn-exit:hover[b-igwz559yg3] { background: var(--pos-chrome-hover); color: var(--pos-chrome-text-strong); }
.pos-tb-info[b-igwz559yg3] { font-size: 13px; font-weight: 500; min-width: 0; white-space: nowrap; }
.pos-tb-info b[b-igwz559yg3] { color: var(--pos-chrome-text-strong); font-weight: 600; }
/* Empresa activa en el chrome del POS (nombre fuerte + código apagado):
   cajas y turnos son por empresa y aquí no hay selector. Un nombre largo
   (cfg.tenants.name admite 120) se recorta con elipsis — SOLO el nombre,
   nunca el código, que es lo que distingue dos empresas casi homónimas; el
   title trae el nombre completo. */
.pos-tb-company[b-igwz559yg3] { display: inline-flex; align-items: baseline; gap: 6px; min-width: 0; white-space: nowrap; }
.pos-tb-company b[b-igwz559yg3] {
    display: inline-block; max-width: 36ch; overflow: hidden;
    text-overflow: ellipsis; vertical-align: bottom;
}
.pos-company-code[b-igwz559yg3] {
    flex: 0 0 auto; font-size: 11px; font-weight: 600; letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
}
.pos-tb-company .pos-company-code[b-igwz559yg3] { opacity: .7; }
.pos-clock[b-igwz559yg3] { font-size: 13px; font-variant-numeric: tabular-nums; }
.pos-chip-online[b-igwz559yg3] {
    display: inline-flex; align-items: center; gap: 6px;
    height: 26px; padding: 0 10px; border-radius: var(--radius-pill);
    font-size: 12px; font-weight: 600;
    background: rgba(34,197,94,.15); color: #4ade80; border: 1px solid rgba(34,197,94,.3);
}

/* ── Gate de turno ── */
.pos-gate[b-igwz559yg3] { flex: 1; display: flex; align-items: center; justify-content: center; padding: var(--space-6); }
.pos-gate-card[b-igwz559yg3] {
    background: var(--bg-surface); border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg); padding: var(--space-8);
    max-width: 440px; width: 100%; text-align: center;
    display: flex; flex-direction: column; gap: var(--space-3); align-items: center;
}
.pos-gate-icon[b-igwz559yg3] { font-size: 28px; }
.pos-gate-title[b-igwz559yg3] { font-size: 18px; font-weight: 600; }
.pos-gate-company[b-igwz559yg3] { font-size: 13.5px; margin-top: calc(-1 * var(--space-2)); }
.pos-gate-company b[b-igwz559yg3] { font-weight: 600; }
.pos-gate-company .pos-company-code[b-igwz559yg3] { color: var(--text-muted); }
.pos-gate-text[b-igwz559yg3] { font-size: 13.5px; color: var(--text-tertiary); line-height: 1.55; }
.pos-gate-label[b-igwz559yg3] { font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: .05em; }
.pos-gate-select[b-igwz559yg3] {
    width: 100%; height: 48px; padding: 0 var(--space-3);
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary); font-size: 14px;
}
.pos-gate-cta[b-igwz559yg3] {
    width: 100%; height: 52px; border: none; border-radius: var(--radius-md);
    background: var(--accent); color: var(--accent-fg);
    font-size: 15px; font-weight: 600; text-decoration: none;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.pos-gate-cta:hover[b-igwz559yg3] { background: var(--accent-hover); }
.pos-gate-cta:disabled[b-igwz559yg3] { opacity: .45; cursor: not-allowed; }
.pos-gate-back[b-igwz559yg3] { font-size: 13px; color: var(--text-muted); }

/* ── Layout 62/38 ── */
.pos-main[b-igwz559yg3] { flex: 1; display: flex; min-height: 0; position: relative; }
.pos-left[b-igwz559yg3] {
    flex: 62 1 0; min-width: 0;
    display: flex; flex-direction: column;
    padding: var(--space-4); gap: var(--space-3);
}
.pos-right[b-igwz559yg3] {
    flex: 38 1 0; min-width: 420px;
    border-left: 1px solid var(--border);
    background: var(--bg-surface);
    display: flex; flex-direction: column;
    position: relative; overflow: hidden;
}

/* ── Pendientes ── */
.pos-pending[b-igwz559yg3] {
    flex: 0 0 auto; padding: var(--space-2) var(--space-3);
    border: 1px solid var(--status-warning); border-radius: var(--radius-md);
    background: var(--status-warning-bg); color: var(--status-warning-strong);
    font-size: 12.5px; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2);
}
.pos-pending-item[b-igwz559yg3] { display: inline-flex; align-items: center; gap: 6px; }
.pos-pending-item button[b-igwz559yg3] {
    /* target táctil >= 44px (review #9) */
    height: 44px; padding: 0 var(--space-3); border-radius: var(--radius-pill);
    border: 1px solid var(--status-warning); background: var(--bg-surface);
    color: var(--status-warning-strong); font-size: 12px; font-weight: 600; cursor: pointer;
}
.pos-pending-error[b-igwz559yg3] { color: var(--status-danger-strong); font-weight: 600; }

/* ── Búsqueda ── */
.pos-search-row[b-igwz559yg3] { position: relative; flex: 0 0 auto; }
.pos-search[b-igwz559yg3] {
    width: 100%; height: 52px;
    font-size: 17px; padding: 0 64px 0 44px;
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary);
    font-family: inherit;
}
.pos-search[b-igwz559yg3]::placeholder { color: var(--text-muted); }
.pos-search:focus-visible[b-igwz559yg3] { outline: none; box-shadow: var(--focus-ring); }
.pos-search-icon[b-igwz559yg3] {
    position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
    width: 18px; height: 18px; color: var(--text-muted); pointer-events: none;
}
.pos-search-kbd[b-igwz559yg3] { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); }

/* ── Categorías ── */
.pos-cats[b-igwz559yg3] { display: flex; gap: var(--space-2); flex: 0 0 auto; flex-wrap: wrap; }
.pos-cat[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-4);
    border-radius: var(--radius-pill); border: 1px solid var(--border);
    background: var(--bg-surface); color: var(--text-tertiary);
    font-size: 13px; font-weight: 500; cursor: pointer;
    transition: var(--transition-fast);
}
.pos-cat:hover[b-igwz559yg3] { border-color: var(--border-strong); color: var(--text-primary); }
.pos-cat.active[b-igwz559yg3] { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); font-weight: 600; }

/* ── Grid de tiles 88px ── */
.pos-grid[b-igwz559yg3] {
    flex: 1; min-height: 0; overflow-y: auto;
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: var(--space-2); align-content: start;
    padding-bottom: var(--space-2);
}
.pos-grid-empty[b-igwz559yg3] { grid-column: 1 / -1; padding: 32px; text-align: center; color: var(--text-muted); font-size: 13px; }
.pos-tile[b-igwz559yg3] {
    height: 88px; text-align: left; cursor: pointer;
    border: 1px solid var(--border); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary);
    padding: 10px 12px;
    display: flex; flex-direction: column; justify-content: space-between;
    position: relative; transition: var(--transition-fast);
    font-family: inherit;
}
.pos-tile:hover[b-igwz559yg3] { border-color: var(--border-strong); background: var(--bg-elevated); }
.pos-tile:active[b-igwz559yg3] { transform: scale(.98); }
.pos-tile.nostock[b-igwz559yg3] { opacity: .55; cursor: not-allowed; }
.pos-tile-top[b-igwz559yg3] { display: flex; gap: 8px; align-items: flex-start; min-width: 0; }
.pos-tile-avatar[b-igwz559yg3] {
    flex: 0 0 26px; width: 26px; height: 26px; border-radius: var(--radius-sm);
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 600;
}
/* Tono por inicial de categoría — familia de identidad (misma que módulos del ERP). */
.pos-tone-0[b-igwz559yg3] { background: var(--accent-soft); color: var(--accent); }
.pos-tone-1[b-igwz559yg3] { background: color-mix(in srgb, var(--status-warning) 12%, transparent); color: var(--status-warning-strong); }
.pos-tone-2[b-igwz559yg3] { background: var(--status-success-bg); color: var(--status-success-strong); }
.pos-tone-3[b-igwz559yg3] { background: color-mix(in srgb, #7c3aed 12%, transparent); color: #7c3aed; }
.pos-tile-name[b-igwz559yg3] {
    font-size: 12.5px; font-weight: 500; color: var(--text-secondary);
    line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.pos-tile-price[b-igwz559yg3] { font-size: 14px; font-weight: 600; }
.pos-tile-badge[b-igwz559yg3] {
    position: absolute; top: 6px; right: 6px;
    font-size: 10px; font-weight: 600; padding: 1px 7px;
    border-radius: var(--radius-pill);
    background: var(--status-danger-bg); color: var(--status-danger-strong);
    border: 1px solid var(--status-danger);
}
.pos-tile-exempt[b-igwz559yg3] {
    position: absolute; bottom: 10px; right: 10px;
    font-size: 9.5px; font-weight: 600; color: var(--text-muted); letter-spacing: .04em;
}

/* ── Cliente ── */
.pos-customer[b-igwz559yg3] { flex: 0 0 auto; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border); }
.pos-cust-line[b-igwz559yg3] { display: flex; align-items: center; gap: var(--space-2); min-height: 32px; }
.pos-cust-name[b-igwz559yg3] { font-size: 14px; font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pos-badge[b-igwz559yg3] {
    font-size: 11px; font-weight: 600; padding: 2px 8px;
    border-radius: var(--radius-pill); white-space: nowrap;
    background: var(--bg-canvas); color: var(--text-tertiary);
    border: 1px solid var(--border);
}
.pos-badge.ident[b-igwz559yg3] { background: var(--status-info-bg); color: var(--status-info-strong); border-color: var(--status-info); }
.pos-btn-rnc[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-3);
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid var(--border); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-secondary);
    font-size: 13px; font-weight: 500; cursor: pointer; font-family: inherit;
}
.pos-btn-rnc:hover[b-igwz559yg3] { border-color: var(--border-strong); }
.pos-rnc-row[b-igwz559yg3] { display: flex; gap: var(--space-2); margin-top: var(--space-2); }
.pos-rnc-row input[b-igwz559yg3] {
    flex: 1; height: 44px; padding: 0 var(--space-3);
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary);
    font-size: 15px; font-variant-numeric: tabular-nums; font-family: inherit;
}
.pos-rnc-row button[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-4); border-radius: var(--radius-md);
    border: 1px solid var(--accent); background: var(--accent); color: var(--accent-fg);
    font-size: 13px; font-weight: 600; cursor: pointer; font-family: inherit;
}
.pos-rnc-error[b-igwz559yg3] { margin-top: var(--space-2); font-size: 12.5px; color: var(--status-danger-strong); }

/* ── Carrito ── */
.pos-cart-wrap[b-igwz559yg3] { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; }
.pos-cart-hint[b-igwz559yg3] { flex: 0 0 auto; padding: 6px var(--space-4); font-size: 11px; color: var(--text-muted); border-bottom: 1px solid var(--border); }
.pos-cart[b-igwz559yg3] { flex: 0 0 auto; }
.pos-line[b-igwz559yg3] {
    min-height: 44px; padding: 0 var(--space-4);
    display: flex; align-items: center; gap: var(--space-2);
    border-bottom: 1px solid var(--border);
    cursor: pointer; transition: background var(--transition-fast);
}
.pos-line:hover[b-igwz559yg3] { background: var(--bg-canvas); }
.pos-line.sel[b-igwz559yg3] { background: var(--accent-soft); }
.pos-line-qty[b-igwz559yg3] { flex: 0 0 34px; text-align: center; font-size: 13px; font-weight: 600; color: var(--text-tertiary); font-variant-numeric: tabular-nums; }
.pos-line-name[b-igwz559yg3] { flex: 1; min-width: 0; font-size: 13.5px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pos-line-total[b-igwz559yg3] { font-size: 14px; font-weight: 600; }
.pos-line-edit[b-igwz559yg3] {
    display: flex; align-items: center; gap: var(--space-2);
    padding: var(--space-2) var(--space-4) var(--space-3);
    border-bottom: 1px solid var(--border);
    background: var(--bg-canvas);
}
.pos-qty-btn[b-igwz559yg3] {
    width: 44px; height: 44px; font-size: 20px; font-weight: 500; cursor: pointer;
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary); font-family: inherit;
}
.pos-qty-val[b-igwz559yg3] { width: 44px; text-align: center; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pos-line-unit[b-igwz559yg3] { margin-left: auto; font-size: 13px; color: var(--text-tertiary); }
.pos-del-btn[b-igwz559yg3] {
    width: 44px; height: 44px; font-size: 16px; cursor: pointer;
    border: 1px solid var(--border); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--status-danger); font-family: inherit;
}
.pos-del-btn:hover[b-igwz559yg3] { background: var(--status-danger-bg); border-color: var(--status-danger); }

/* ── Vacío / post-venta ── */
.pos-empty[b-igwz559yg3] {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: var(--space-3); padding: var(--space-6); text-align: center;
}
.pos-empty-icon[b-igwz559yg3] { font-size: 26px; color: var(--text-muted); }
.pos-empty-text[b-igwz559yg3] { font-size: 13px; color: var(--text-muted); max-width: 260px; }
.pos-done-label[b-igwz559yg3] { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--text-muted); }
.pos-done-label.ok[b-igwz559yg3] { color: var(--status-success-strong); }
.pos-done-change[b-igwz559yg3] { font-size: var(--pos-change-size); font-weight: 600; line-height: 1.05; color: var(--money-positive); }
.pos-done-print[b-igwz559yg3] { font-size: 13px; color: var(--text-tertiary); padding: var(--space-2) 0; }
.pos-ticket[b-igwz559yg3] {
    font-family: var(--font-mono); font-size: 10.5px; line-height: 1.5;
    text-align: left; color: var(--text-tertiary);
    border: 1px dashed var(--border-strong); border-radius: var(--radius-sm);
    padding: 10px 14px; background: var(--bg-canvas);
    max-width: 250px; width: 100%;
}
.pos-ticket .tk-c[b-igwz559yg3] { text-align: center; }
.pos-ticket .tk-b[b-igwz559yg3] { color: var(--text-primary); font-weight: 700; }
.pos-ticket hr[b-igwz559yg3] { border: 0; border-top: 1px dashed var(--border-strong); margin: 5px 0; }

/* ── Totales + COBRAR ── */
.pos-footer[b-igwz559yg3] {
    flex: 0 0 auto; border-top: 1px solid var(--border);
    padding: var(--space-3) var(--space-4) var(--space-4);
    display: flex; flex-direction: column; gap: var(--space-2);
    background: var(--bg-surface);
}
.pos-trow[b-igwz559yg3] { display: flex; justify-content: space-between; font-size: 13px; color: var(--text-tertiary); }
.pos-trow .money[b-igwz559yg3] { color: var(--text-secondary); font-weight: 500; }
.pos-trow.total[b-igwz559yg3] { align-items: baseline; margin-top: 2px; }
.pos-trow.total .lbl[b-igwz559yg3] { font-size: 14px; font-weight: 600; color: var(--text-primary); letter-spacing: .04em; }
.pos-trow.total .money.big[b-igwz559yg3] { font-size: var(--pos-total-size); font-weight: 650; line-height: 1.1; color: var(--text-primary); }
.pos-btn-pay[b-igwz559yg3] {
    height: 64px; border: none; border-radius: var(--radius-lg);
    background: var(--accent); color: var(--accent-fg);
    font-size: 19px; font-weight: 600; letter-spacing: .03em; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    transition: background var(--transition-fast); font-family: inherit;
}
.pos-btn-pay:hover[b-igwz559yg3] { background: var(--accent-hover); }
.pos-btn-pay:disabled[b-igwz559yg3] { opacity: .45; cursor: not-allowed; }

/* ── Panel de cobro ── */
.pos-paypanel[b-igwz559yg3] {
    position: absolute; inset: 0; z-index: 30;
    background: var(--bg-surface);
    display: flex; flex-direction: column;
    transform: translateY(100%);
    transition: transform 220ms cubic-bezier(.3,.9,.3,1);
    border-left: 1px solid var(--border);
}
.pos-paypanel.open[b-igwz559yg3] { transform: translateY(0); }
.pos-pp-head[b-igwz559yg3] {
    flex: 0 0 auto; height: 56px; padding: 0 var(--space-4);
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--border);
}
.pos-pp-title[b-igwz559yg3] { font-size: 15px; font-weight: 600; }
.pos-pp-close[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-3); border-radius: var(--radius-md);
    border: 1px solid var(--border); background: transparent;
    color: var(--text-tertiary); font-size: 13px; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px; font-family: inherit;
}
.pos-pp-tabs[b-igwz559yg3] { flex: 0 0 auto; display: flex; gap: var(--space-2); padding: var(--space-3) var(--space-4) 0; }
.pos-pp-tab[b-igwz559yg3] {
    flex: 1; height: 48px; border-radius: var(--radius-md); cursor: pointer;
    border: 1px solid var(--border); background: var(--bg-surface);
    color: var(--text-tertiary); font-size: 13px; font-weight: 500;
    display: flex; align-items: center; justify-content: center; gap: 7px; font-family: inherit;
}
.pos-pp-tab.active[b-igwz559yg3] { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); font-weight: 600; }
.pos-pp-body[b-igwz559yg3] { flex: 1; min-height: 0; overflow-y: auto; padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.pos-pp-label[b-igwz559yg3] { font-size: 12px; font-weight: 600; color: var(--text-muted); letter-spacing: .05em; }
.pos-pp-note[b-igwz559yg3] { font-size: 13px; color: var(--text-tertiary); }
.pos-pp-input[b-igwz559yg3] {
    height: 56px; width: 100%; padding: 0 var(--space-4);
    font-size: 24px; font-weight: 600; text-align: right;
    font-variant-numeric: tabular-nums;
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary); font-family: inherit;
}
.pos-pp-input.sm[b-igwz559yg3] { height: 48px; font-size: 16px; font-weight: 500; text-align: left; }
.pos-bills[b-igwz559yg3] { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.pos-bill[b-igwz559yg3] {
    height: 48px; padding: 0 var(--space-4); min-width: 96px; cursor: pointer;
    border-radius: var(--radius-md); border: 1px solid var(--border-strong);
    background: var(--bg-canvas); color: var(--text-primary);
    font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; font-family: inherit;
}
.pos-bill:hover[b-igwz559yg3] { border-color: var(--accent); color: var(--accent); }
.pos-change-box[b-igwz559yg3] {
    margin-top: auto; padding: var(--space-3) 0 0;
    border-top: 1px solid var(--border);
    display: flex; flex-direction: column; gap: 2px;
}
.pos-change-lbl[b-igwz559yg3] { font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--text-muted); }
.pos-change-val[b-igwz559yg3] { font-size: var(--pos-change-size); font-weight: 600; line-height: 1.05; color: var(--money-positive); }
.pos-change-val.short[b-igwz559yg3] { color: var(--money-negative); font-size: 28px; line-height: 1.3; }
.pos-mix-row[b-igwz559yg3] { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: var(--text-tertiary); }
.pos-mix-row .money[b-igwz559yg3] { font-weight: 600; color: var(--text-primary); }
.pos-pp-foot[b-igwz559yg3] { flex: 0 0 auto; padding: var(--space-3) var(--space-4) var(--space-4); border-top: 1px solid var(--border); }
.pos-btn-confirm[b-igwz559yg3] {
    width: 100%; height: 64px; border: none; border-radius: var(--radius-lg);
    background: var(--status-success); color: #fff; cursor: pointer;
    font-size: 19px; font-weight: 600; letter-spacing: .03em;
    display: flex; align-items: center; justify-content: center; gap: 10px; font-family: inherit;
}
.pos-btn-confirm:hover[b-igwz559yg3] { filter: brightness(1.06); }
.pos-btn-confirm:disabled[b-igwz559yg3] { opacity: .4; cursor: not-allowed; filter: none; }
.pos-pp-error[b-igwz559yg3] {
    border: 1px solid var(--status-danger); border-radius: var(--radius-md);
    background: var(--status-danger-bg); color: var(--status-danger-strong);
    padding: var(--space-3) var(--space-4); font-size: 13px; line-height: 1.5;
}
.pos-pp-error-actions[b-igwz559yg3] { display: flex; gap: var(--space-2); margin-top: var(--space-2); }
.pos-pp-error-actions button[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-3); border-radius: var(--radius-md); cursor: pointer;
    border: 1px solid var(--status-danger); background: var(--bg-surface);
    color: var(--status-danger-strong); font-size: 13px; font-weight: 600; font-family: inherit;
}
.pos-block-250k[b-igwz559yg3] {
    border: 1px solid var(--status-warning); border-radius: var(--radius-md);
    background: var(--status-warning-bg); color: var(--status-warning-strong);
    padding: var(--space-4); font-size: 13.5px; line-height: 1.55;
}
.pos-block-250k b[b-igwz559yg3] { display: block; margin-bottom: 4px; font-size: 14px; }
.pos-block-250k button[b-igwz559yg3] {
    margin-top: var(--space-3); height: 48px; width: 100%; cursor: pointer;
    border-radius: var(--radius-md); border: 1px solid var(--status-warning);
    background: var(--bg-surface); color: var(--status-warning-strong);
    font-size: 14px; font-weight: 600; font-family: inherit;
}

/* Captura RNC dentro del bloque 250k (review #4). */
.pos-rnc-inline[b-igwz559yg3] { display: flex; gap: var(--space-2); margin-top: var(--space-3); }
.pos-rnc-inline input[b-igwz559yg3] {
    flex: 1; height: 48px; padding: 0 var(--space-3);
    border: 1px solid var(--status-warning); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary);
    font-size: 15px; font-variant-numeric: tabular-nums; font-family: inherit;
}
.pos-rnc-inline button[b-igwz559yg3] {
    height: 48px; padding: 0 var(--space-4); border-radius: var(--radius-md); cursor: pointer;
    border: 1px solid var(--accent); background: var(--accent); color: var(--accent-fg);
    font-size: 13px; font-weight: 600; font-family: inherit;
    margin-top: 0 !important; width: auto !important;
}

/* Toast de aviso (sin stock, etc.) — review #11. */
.pos-toast[b-igwz559yg3] {
    position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%);
    z-index: 90; background: #11131a; color: #e7e9f0;
    border: 1px solid #1f2330;
    padding: 10px 18px; border-radius: var(--radius-md);
    font-size: 13px; font-weight: 500; pointer-events: none;
}

/* ══ POS-5 · Devolución (F4) ═══════════════════════════════════════════
   Mismo lenguaje visual de la venta: chrome oscuro en el topbar, líneas y
   botones de 44px, TOTAL a la escala display (40px), CTA de 64px y panel
   deslizante — la devolución es una capa de la caja, no otra pantalla. */

.pos-btn-return[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-3);
    display: inline-flex; align-items: center; gap: 7px;
    border: 1px solid var(--pos-chrome-border); border-radius: var(--radius-md);
    background: transparent; color: var(--pos-chrome-text);
    font-size: 13px; font-weight: 500; cursor: pointer; font-family: inherit;
    white-space: nowrap;
}
.pos-btn-return:hover[b-igwz559yg3] { background: var(--pos-chrome-hover); color: var(--pos-chrome-text-strong); }
.pos-btn-return .pos-kbd[b-igwz559yg3] { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: var(--pos-chrome-text); }

/* Panel deslizante sobre la caja completa (mismo gesto que el de cobro). */
.pos-retpanel[b-igwz559yg3] {
    position: absolute; inset: 0; z-index: 40;
    background: var(--bg-canvas);
    display: flex; flex-direction: column;
    transform: translateY(100%);
    transition: transform 220ms cubic-bezier(.3,.9,.3,1);
}
.pos-retpanel.open[b-igwz559yg3] { transform: translateY(0); }

.pos-ret-head[b-igwz559yg3] {
    flex: 0 0 auto; height: 56px; padding: 0 var(--space-4);
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--border); background: var(--bg-surface);
}
.pos-ret-title[b-igwz559yg3] { font-size: 16px; font-weight: 600; }

.pos-ret-body[b-igwz559yg3] { flex: 1; display: flex; min-height: 0; }
.pos-ret-left[b-igwz559yg3] {
    flex: 62 1 0; min-width: 0;
    display: flex; flex-direction: column;
    padding: var(--space-4); gap: var(--space-3);
}
.pos-ret-right[b-igwz559yg3] {
    flex: 38 1 0; min-width: 420px;
    border-left: 1px solid var(--border); background: var(--bg-surface);
    display: flex; flex-direction: column;
}

.pos-ret-error[b-igwz559yg3] {
    flex: 0 0 auto;
    border: 1px solid var(--status-danger); border-radius: var(--radius-md);
    background: var(--status-danger-bg); color: var(--status-danger-strong);
    padding: var(--space-3) var(--space-4); font-size: 13px; line-height: 1.5;
}
.pos-ret-empty[b-igwz559yg3] {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: var(--space-3); text-align: center;
}

/* Comprobante localizado */
.pos-ret-doc[b-igwz559yg3] {
    flex: 0 0 auto; padding: var(--space-3) var(--space-4);
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface);
}
.pos-ret-doc-main[b-igwz559yg3] { display: flex; align-items: center; gap: var(--space-2); font-size: 15px; }
.pos-ret-doc-sub[b-igwz559yg3] { margin-top: 3px; font-size: 12.5px; color: var(--text-tertiary); }

.pos-ret-hint[b-igwz559yg3] {
    flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between;
    gap: var(--space-2); font-size: 12px; color: var(--text-muted);
}
.pos-ret-all[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-4); cursor: pointer;
    border: 1px solid var(--border-strong); border-radius: var(--radius-pill);
    background: var(--bg-surface); color: var(--text-secondary);
    font-size: 13px; font-weight: 600; font-family: inherit;
}
.pos-ret-all:hover[b-igwz559yg3] { border-color: var(--accent); color: var(--accent); }

/* Líneas devolvibles — eco de las líneas del carrito */
.pos-ret-lines[b-igwz559yg3] {
    flex: 1; min-height: 0; overflow-y: auto;
    border: 1px solid var(--border); border-radius: var(--radius-md);
    background: var(--bg-surface);
}
.pos-ret-line[b-igwz559yg3] {
    min-height: 60px; padding: var(--space-2) var(--space-4);
    display: flex; align-items: center; gap: var(--space-3);
    border-bottom: 1px solid var(--border);
}
.pos-ret-line:last-child[b-igwz559yg3] { border-bottom: none; }
.pos-ret-line.sel[b-igwz559yg3] { background: var(--accent-soft); }
.pos-ret-line.done[b-igwz559yg3] { opacity: .5; }
.pos-ret-line-name[b-igwz559yg3] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; font-weight: 500; }
.pos-ret-line-sub[b-igwz559yg3] { font-size: 11.5px; font-weight: 400; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.pos-ret-line-done[b-igwz559yg3] { font-size: 11px; font-weight: 600; color: var(--text-muted); letter-spacing: .04em; }
.pos-ret-stepper[b-igwz559yg3] { display: flex; align-items: center; gap: var(--space-2); }

/* Motivo */
.pos-ret-form[b-igwz559yg3] { flex: 1; min-height: 0; overflow-y: auto; padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.pos-ret-reasons[b-igwz559yg3] { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pos-ret-reason[b-igwz559yg3] {
    height: 44px; padding: 0 var(--space-3); cursor: pointer;
    border: 1px solid var(--border); border-radius: var(--radius-pill);
    background: var(--bg-surface); color: var(--text-tertiary);
    font-size: 12.5px; font-weight: 500; font-family: inherit;
}
.pos-ret-reason:hover[b-igwz559yg3] { border-color: var(--border-strong); color: var(--text-primary); }
.pos-ret-reason.active[b-igwz559yg3] { background: var(--accent); border-color: var(--accent); color: var(--accent-fg); font-weight: 600; }
.pos-ret-reason-input[b-igwz559yg3] {
    width: 100%; padding: var(--space-3);
    border: 1px solid var(--border-strong); border-radius: var(--radius-md);
    background: var(--bg-surface); color: var(--text-primary);
    font-size: 14px; font-family: inherit; resize: none;
}
.pos-ret-reason-input:focus-visible[b-igwz559yg3] { outline: none; box-shadow: var(--focus-ring); }

/* Totales + CTA */
.pos-ret-foot[b-igwz559yg3] {
    flex: 0 0 auto; border-top: 1px solid var(--border);
    padding: var(--space-3) var(--space-4) var(--space-4);
    display: flex; flex-direction: column; gap: var(--space-2);
}
.pos-ret-note[b-igwz559yg3] { font-size: 11.5px; color: var(--text-muted); line-height: 1.45; }
.pos-btn-refund[b-igwz559yg3] {
    height: 64px; border: none; border-radius: var(--radius-lg);
    background: var(--status-warning-strong); color: #fff; cursor: pointer;
    font-size: 19px; font-weight: 600; letter-spacing: .03em;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    font-family: inherit; transition: filter var(--transition-fast);
}
.pos-btn-refund:hover[b-igwz559yg3] { filter: brightness(1.08); }
.pos-btn-refund:disabled[b-igwz559yg3] { opacity: .4; cursor: not-allowed; filter: none; }

/* Resultado */
.pos-ret-done[b-igwz559yg3] {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: var(--space-3); padding: var(--space-6); text-align: center;
}
.pos-ret-done-amount[b-igwz559yg3] { font-size: var(--pos-change-size); font-weight: 600; line-height: 1.05; color: var(--money-negative); }
.pos-ret-done-ncf[b-igwz559yg3] { font-size: 13px; color: var(--text-tertiary); font-variant-numeric: tabular-nums; }
.pos-ret-breakdown[b-igwz559yg3] { list-style: none; width: 100%; max-width: 300px; display: flex; flex-direction: column; gap: 4px; }
.pos-ret-breakdown li[b-igwz559yg3] { display: flex; justify-content: space-between; font-size: 13px; color: var(--text-tertiary); }
.pos-ret-breakdown .money[b-igwz559yg3] { color: var(--text-primary); font-weight: 600; }
.pos-ret-deferred[b-igwz559yg3] {
    text-align: left; width: 100%;
    border: 1px solid var(--status-warning); border-radius: var(--radius-md);
    background: var(--status-warning-bg); color: var(--status-warning-strong);
    padding: var(--space-3) var(--space-4); font-size: 12.5px; line-height: 1.5;
}
.pos-ret-deferred b[b-igwz559yg3] { display: block; margin-bottom: 3px; font-size: 13.5px; }
