:root {
    --bg: #eef3fb;
    --surface: #ffffff;
    --surface-soft: #f8fafc;
    --dark: #111827;
    --muted: #64748b;
    --primary: #2563eb;
    --primary-dark: #1d4ed8;
    --green: #16a34a;
    --orange: #f97316;
    --purple: #7c3aed;
    --red: #dc2626;
    --border: #e2e8f0;
    --shadow: 0 18px 45px rgba(15, 23, 42, .08);
    --radius: 22px;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: radial-gradient(circle at top left, #dbeafe, transparent 30%), var(--bg); color: var(--dark); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.auth-body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0f172a, #1d4ed8); padding: 22px; }
.login-card { width: 430px; max-width: 94vw; background: rgba(255,255,255,.96); padding: 36px; border-radius: 28px; box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.login-logo { width: 68px; height: 68px; border-radius: 22px; background: linear-gradient(135deg, var(--primary), var(--purple)); color: #fff; display: grid; place-items: center; font-weight: 900; font-size: 24px; margin-bottom: 18px; }
.login-card h1 { margin: 0 0 8px; font-size: 30px; }
.login-card p { color: var(--muted); margin-bottom: 22px; line-height: 1.5; }

label { display: block; margin: 14px 0 7px; font-weight: 800; font-size: 13px; color: #334155; }
input, select, textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--border); border-radius: 14px; outline: none; background: #fff; color: var(--dark); }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(37,99,235,.12); }

.btn { border: 0; border-radius: 14px; padding: 12px 16px; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; gap: 8px; font-weight: 800; transition: .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: #fff; box-shadow: 0 10px 24px rgba(37,99,235,.25); }
.btn-light { background: #eef2ff; color: #1e3a8a; }
.btn-ghost { background: #fff; color: #334155; border: 1px solid var(--border); }
.btn-sm { padding: 8px 11px; border-radius: 12px; font-size: 13px; }
.full { width: 100%; margin-top: 14px; }
.muted-link { display: block; color: var(--muted); margin-top: 16px; text-align: center; }
.muted { color: var(--muted); line-height: 1.5; }
.small { font-size: 12px; }

.alert { padding: 13px 15px; border-radius: 16px; margin-bottom: 18px; border: 1px solid transparent; }
.alert.error { color: #991b1b; background: #fee2e2; border-color: #fecaca; }
.alert.success { color: #065f46; background: #dcfce7; border-color: #bbf7d0; }

.app-shell { display: flex; min-height: 100vh; }
.sidebar { width: 290px; background: linear-gradient(180deg, #0f172a 0%, #111827 100%); color: #e2e8f0; padding: 24px 18px; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.brand-block { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; padding: 0 8px; }
.brand-mark { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, #60a5fa, #7c3aed); color: #fff; font-weight: 900; }
.brand { font-size: 23px; font-weight: 900; letter-spacing: .2px; }
.brand-block small { color: #94a3b8; }
.user-box { background: rgba(255,255,255,.08); padding: 14px; border-radius: 20px; margin: 0 6px 20px; display: flex; align-items: center; gap: 12px; }
.user-avatar { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; background: #2563eb; font-weight: 900; }
.user-box strong { display: block; color: #fff; }
.user-box span:last-child { display: block; color: #94a3b8; font-size: 13px; margin-top: 3px; }
.side-nav { display: grid; gap: 6px; }
.side-nav a { padding: 12px 14px; border-radius: 15px; color: #cbd5e1; display: flex; align-items: center; gap: 12px; transition: .2s ease; }
.side-nav a span { width: 28px; height: 28px; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.07); color: #93c5fd; font-size: 11px; font-weight: 900; }
.side-nav a:hover, .side-nav a.active { background: rgba(255,255,255,.11); color: #fff; transform: translateX(2px); }
.side-nav a.active span { background: #2563eb; color: #fff; }

.main { flex: 1; padding: 28px; overflow-x: auto; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.topbar h1 { margin: 4px 0 0; font-size: 34px; letter-spacing: -.03em; }
.top-actions { display: flex; gap: 10px; align-items: center; }
.eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .12em; font-weight: 900; font-size: 11px; color: var(--primary); }
.mobile-only { display: none; }
.icon-button { border: 1px solid var(--border); background: #fff; border-radius: 12px; padding: 10px 12px; font-weight: 800; }

.hero-panel, .panel, .metric-card { background: rgba(255,255,255,.92); border: 1px solid rgba(226,232,240,.9); border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-panel { padding: 26px; margin-bottom: 22px; display: flex; justify-content: space-between; align-items: center; gap: 20px; overflow: hidden; position: relative; }
.hero-panel:after { content: ""; position: absolute; right: -80px; top: -80px; width: 220px; height: 220px; border-radius: 999px; background: rgba(37,99,235,.12); }
.hero-panel h2 { margin: 8px 0; font-size: 28px; letter-spacing: -.03em; }
.hero-panel p { margin: 0; color: var(--muted); max-width: 720px; line-height: 1.55; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; position: relative; z-index: 1; }

.cards { display: grid; gap: 18px; margin-bottom: 22px; }
.cards-4 { grid-template-columns: repeat(4, minmax(180px, 1fr)); }
.metric-card { padding: 20px; position: relative; overflow: hidden; }
.metric-card:before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--primary); }
.metric-card span { color: var(--muted); display: block; margin-bottom: 8px; font-weight: 700; }
.metric-card strong { font-size: 30px; letter-spacing: -.03em; display: block; }
.metric-card small { color: #94a3b8; margin-top: 6px; display: block; }
.accent-blue:before { background: var(--primary); }
.accent-green:before { background: var(--green); }
.accent-purple:before { background: var(--purple); }
.accent-orange:before { background: var(--orange); }
.accent-red:before { background: var(--red); }

.panel { padding: 22px; margin-bottom: 22px; }
.section-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.section-header h2, .section-header h3 { margin: 4px 0 0; letter-spacing: -.02em; }
.section-header.compact { margin-bottom: 14px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.align-start { align-items: start; }
.quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.quick-grid a { padding: 16px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface-soft); font-weight: 800; }
.quick-grid a:hover { border-color: var(--primary); color: var(--primary); }
.status-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.status-chip { padding: 16px; border-radius: 18px; background: var(--surface-soft); border: 1px solid var(--border); }
.status-chip strong { display: block; font-size: 26px; }
.status-chip span { color: var(--muted); font-size: 13px; }
.status-chip.pending { background: #fff7ed; }
.status-chip.transit { background: #eff6ff; }
.status-chip.delivered { background: #f0fdf4; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
tr:hover td { background: #f8fafc; }
.compact-table th, .compact-table td { padding: 10px; }
.badge { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 900; background: #e2e8f0; color: #334155; }
.badge.success, .status-delivered { background: #dcfce7; color: #166534; }
.badge.danger, .status-failed, .status-returned { background: #fee2e2; color: #991b1b; }
.status-pending, .status-assigned { background: #ffedd5; color: #9a3412; }
.status-picked_up, .status-in_transit, .status-out_for_delivery { background: #dbeafe; color: #1e40af; }
.status-cancelled { background: #e5e7eb; color: #374151; }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.span-2 { grid-column: span 2; }
.soft-line { border: 0; border-top: 1px solid var(--border); margin: 22px 0; }
.steps { color: #334155; line-height: 1.8; }
code { background: #0f172a; color: #e2e8f0; padding: 3px 7px; border-radius: 8px; }
.danger-panel { border-color: #fecaca; background: #fff7f7; }

.pos-hero { display: grid; grid-template-columns: 1.2fr .9fr; gap: 20px; align-items: center; margin-bottom: 22px; }
.pos-hero > div:first-child { background: linear-gradient(135deg, #0f172a, #1e3a8a); color: #fff; border-radius: 26px; padding: 26px; box-shadow: var(--shadow); }
.pos-hero .eyebrow { color: #93c5fd; }
.pos-hero h2 { margin: 8px 0; font-size: 28px; letter-spacing: -.03em; }
.pos-hero p { margin: 0; color: #bfdbfe; line-height: 1.55; }
.sale-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mode-card { display: block; background: #fff; border: 2px solid var(--border); border-radius: 22px; padding: 18px; cursor: pointer; box-shadow: var(--shadow); }
.mode-card input { display: none; }
.mode-card strong { display: block; font-size: 18px; margin-bottom: 5px; }
.mode-card span { color: var(--muted); font-size: 13px; }
.mode-card.active { border-color: var(--primary); background: #eff6ff; }

.pos-layout { display: grid; grid-template-columns: minmax(320px, 1.05fr) minmax(320px, .95fr) minmax(300px, .75fr); gap: 18px; align-items: start; }
.big-input { font-size: 21px; padding: 18px 20px; border-radius: 18px; }
.kbd { background: #0f172a; color: #fff; padding: 7px 10px; border-radius: 10px; font-size: 12px; font-weight: 900; }
.product-results { margin-top: 18px; display: grid; gap: 12px; max-height: 62vh; overflow: auto; padding-right: 4px; }
.product-result { border: 1px solid var(--border); border-radius: 18px; padding: 14px; display: grid; gap: 9px; cursor: pointer; background: #fff; transition: .2s ease; }
.product-result:hover { border-color: var(--primary); background: #eff6ff; transform: translateY(-1px); }
.product-title { display: flex; justify-content: space-between; gap: 12px; }
.product-title strong:last-child { color: var(--primary); }
.product-meta { color: var(--muted); font-size: 13px; }
.stock-pill { display: inline-flex; padding: 6px 9px; border-radius: 999px; background: #f1f5f9; color: #334155; font-size: 12px; font-weight: 800; margin-right: 5px; }
.stock-list { font-size: 13px; color: #334155; display: flex; flex-wrap: wrap; gap: 6px; }
.cart-empty { color: var(--muted); padding: 34px 18px; text-align: center; border: 1px dashed var(--border); border-radius: 18px; background: #f8fafc; }
.cart-scroll { max-height: 48vh; overflow: auto; }
.cart-table input.qty { width: 64px; padding: 8px; text-align: center; }
.cart-total { display: flex; justify-content: space-between; align-items: center; font-size: 24px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); }
.checkout-panel { position: sticky; top: 20px; }
.shipping-box { margin-top: 16px; padding: 14px; border-radius: 18px; background: #f8fafc; border: 1px solid var(--border); }

@media (max-width: 1180px) {
    .cards-4, .pos-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .checkout-panel { position: static; }
}
@media (max-width: 900px) {
    .app-shell { display: block; }
    .sidebar { position: fixed; left: -310px; z-index: 50; transition: .25s ease; }
    .sidebar.open { left: 0; }
    .main { padding: 18px; }
    .mobile-only { display: inline-flex; }
    .topbar { align-items: flex-start; }
    .topbar h1 { font-size: 28px; }
    .top-actions { display: none; }
    .hero-panel, .pos-hero, .grid-2, .cards-4, .pos-layout { grid-template-columns: 1fr; }
    .hero-panel { display: block; }
    .hero-actions { margin-top: 16px; }
    .sale-mode, .status-row, .quick-grid, .form-grid { grid-template-columns: 1fr; }
    .span-2 { grid-column: span 1; }
}

.hero-panel-modern {
    background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(239,246,255,.95));
}
.chart-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);
    gap: 22px;
    margin-bottom: 22px;
}
.chart-card { overflow: hidden; }
.chart-card-large { min-height: 360px; }
.chart-legend {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.legend-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 12px;
    color: #334155;
}
.legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
}
.legend-dot-0 { background: #2563eb; }
.legend-dot-1 { background: #60a5fa; }
.legend-dot-2 { background: #93c5fd; }
.legend-dot-3 { background: #bfdbfe; }
.top-products-list {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}
.top-product-item {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid var(--border);
}
.top-product-item strong { display: block; }
.top-product-item small { color: var(--muted); }
.top-product-item span { font-weight: 900; color: #1e3a8a; }
.insight-boxes { display: grid; gap: 12px; margin-top: 18px; }
.insight-box {
    border-radius: 18px;
    padding: 16px;
    background: linear-gradient(135deg, #eff6ff, #ffffff);
    border: 1px solid var(--border);
}
.insight-box strong { display: block; margin-bottom: 6px; }
.insight-box p { margin: 0; color: var(--muted); line-height: 1.5; }
.compact-status-row { margin-top: 14px; }

.pos-layout-enhanced {
    grid-template-columns: minmax(360px, 1.15fr) minmax(320px, 1fr) minmax(340px, .9fr);
}
.sale-mode-vertical { grid-template-columns: 1fr; }
.hero-inline-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.highlight-pill {
    background: rgba(255,255,255,.14);
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
}
.product-search-hint {
    margin-top: 10px;
    color: var(--muted);
    font-size: 13px;
}
.product-grid-results {
    grid-template-columns: 1fr;
}
.product-result-card {
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 14px;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 14px;
    cursor: pointer;
    background: linear-gradient(135deg, #ffffff, #f8fbff);
    transition: .2s ease;
    box-shadow: 0 10px 18px rgba(15,23,42,.04);
}
.product-result-card:hover {
    border-color: #93c5fd;
    transform: translateY(-2px);
    box-shadow: 0 18px 30px rgba(37,99,235,.10);
}
.product-card-image-wrap {
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border-radius: 20px;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}
.product-card-image {
    width: 100%;
    height: 100px;
    object-fit: contain;
    border-radius: 14px;
    background: #fff;
}
.product-card-body {
    display: grid;
    gap: 8px;
    align-content: start;
}
.product-card-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 10px;
}
.product-card-name { font-size: 18px; line-height: 1.15; }
.product-card-price { color: var(--primary); font-size: 18px; }
.product-description {
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
}
.product-stock-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.stock-main {
    background: #dbeafe;
    color: #1e3a8a;
}
.product-empty-state {
    border: 1px dashed var(--border);
    border-radius: 18px;
    padding: 24px;
    text-align: center;
    color: var(--muted);
    background: #f8fafc;
}
.cart-empty strong { display: block; margin-bottom: 8px; color: #0f172a; }
.cart-empty p { margin: 0; }
.cart-product {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}
.cart-thumb {
    width: 56px;
    height: 56px;
    object-fit: contain;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 4px;
}
.cart-summary {
    margin-top: 16px;
    border-top: 1px solid var(--border);
    padding-top: 14px;
}
.cart-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--muted);
    margin-bottom: 8px;
}
.link-button {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--red);
    font-weight: 800;
    cursor: pointer;
}
.customer-results {
    position: relative;
    display: none;
    margin-top: 8px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: var(--shadow);
    max-height: 240px;
    overflow: auto;
}
.customer-result {
    width: 100%;
    border: 0;
    background: #fff;
    padding: 12px 14px;
    text-align: left;
    display: grid;
    gap: 3px;
    cursor: pointer;
    border-bottom: 1px solid var(--border);
}
.customer-result:last-child { border-bottom: 0; }
.customer-result:hover { background: #eff6ff; }
.customer-result span, .customer-result small { color: var(--muted); }
.customer-result.empty {
    cursor: default;
    color: var(--muted);
}
.selected-customer {
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-radius: 16px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}
.selected-customer strong { display: block; }
.selected-customer small { color: #166534; }
.shipping-box {
    background: linear-gradient(135deg, #f8fafc, #eff6ff);
}
.shipping-box textarea[readonly],
.shipping-box input[readonly] {
    background: #f8fafc;
    color: #475569;
}

@media (max-width: 1180px) {
    .chart-grid,
    .pos-layout-enhanced {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 900px) {
    .product-result-card,
    .cart-product {
        grid-template-columns: 1fr;
    }
    .product-card-image-wrap {
        min-height: 180px;
    }
}

.pos-top-grid {
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(320px, 1.1fr);
    gap: 18px;
    margin-bottom: 22px;
}
.cash-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}
.cash-summary div {
    padding: 12px;
    border: 1px solid var(--border);
    background: #f8fafc;
    border-radius: 16px;
}
.cash-summary span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 5px; }
.cash-summary strong { display: block; font-size: 16px; }
.cash-actions { border-top: 1px solid var(--border); padding-top: 12px; }
.stock-ok { background: #dcfce7; color: #166534; }
.stock-warn { background: #ffedd5; color: #9a3412; }
.method-list { display: flex; flex-wrap: wrap; gap: 8px; }
.method-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
    border-radius: 999px;
    font-weight: 800;
    font-size: 13px;
}
.method-chip small {
    background: #fff;
    border-radius: 999px;
    padding: 3px 6px;
    color: #64748b;
    font-size: 10px;
}
.inline-form {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #f8fafc;
}
.check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin: 10px 0;
}
.check-row input { width: auto; }
.customer-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.payment-box {
    margin-top: 16px;
    padding: 14px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid var(--border);
}
.payment-rows { display: grid; gap: 12px; }
.payment-row {
    padding: 12px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    display: grid;
    grid-template-columns: 1fr .8fr 1fr 1fr auto;
    gap: 10px;
    align-items: end;
}
.payment-row label { margin-top: 0; }
.payment-row-actions { display: flex; align-items: end; height: 100%; }
.payment-totals {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    color: var(--muted);
}
.payment-totals strong { color: var(--dark); }
.receipt-page { max-width: 820px; margin: 0 auto; }
.receipt-box {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: var(--shadow);
    padding: 28px;
}
.receipt-header { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--border); padding-bottom: 18px; margin-bottom: 18px; }
.receipt-header h2 { margin: 0 0 6px; }
.receipt-total { font-size: 30px; font-weight: 900; text-align: right; }
.print-actions { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 18px; }
@media print {
    .sidebar, .topbar, .print-actions { display: none !important; }
    .main { padding: 0; }
    .receipt-box { box-shadow: none; border: 0; }
}
@media (max-width: 1180px) {
    .pos-top-grid { grid-template-columns: 1fr; }
    .payment-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .cash-summary, .payment-row { grid-template-columns: 1fr; }
    .customer-search-row { grid-template-columns: 1fr; }
}

.finance-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 22px;
}
.dashboard-list { display: grid; gap: 10px; }
.dashboard-list-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #f8fafc;
}
.dashboard-list-row strong { display: block; }
.dashboard-list-row small { display: block; color: var(--muted); margin-top: 3px; }
.dashboard-list-row span { font-weight: 900; color: #1e3a8a; white-space: nowrap; }
@media (max-width: 1180px) { .finance-grid { grid-template-columns: 1fr; } }

/* Complete UX upgrade */
.enhanced-auth-body {
    background: radial-gradient(circle at 15% 15%, rgba(96,165,250,.42), transparent 34%), linear-gradient(135deg, #0f172a, #1e40af 62%, #111827);
}
.auth-split-card {
    width: 980px;
    max-width: 96vw;
    min-height: 560px;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    overflow: hidden;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 34px 100px rgba(0,0,0,.36);
}
.auth-brand-panel {
    padding: 46px;
    color: #fff;
    background: linear-gradient(145deg, #0f172a, #1d4ed8);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.auth-brand-panel h1 { font-size: 44px; line-height: 1; margin: 16px 0; letter-spacing: -.04em; }
.auth-brand-panel p { color: #dbeafe; line-height: 1.65; max-width: 520px; }
.auth-features { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.auth-features span { padding: 9px 12px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.15); font-weight: 800; font-size: 13px; }
.auth-form-panel { padding: 46px; display: flex; flex-direction: column; justify-content: center; }
.auth-form-panel h2 { font-size: 34px; margin: 0 0 4px; letter-spacing: -.03em; }
.auth-narrow-card { width: 500px; }
.check-row { display: flex; gap: 9px; align-items: center; margin: 14px 0; }
.check-row input { width: auto; }
.field-hint { display: block; min-height: 18px; margin-top: 5px; color: var(--muted); font-size: 12px; }
.field-hint.ok { color: #15803d; }
.field-hint.error { color: #b91c1c; }
.reset-link-box { line-height: 1.45; word-break: break-word; }

.compact-hero { padding: 22px; }
.compact-hero h2 { font-size: 26px; }
.cards-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mini-cards .metric-card strong { font-size: 22px; }
.cash-closed-state { padding: 18px; border: 1px dashed var(--border); border-radius: 18px; background: #f8fafc; margin-bottom: 14px; }
.badge.warning, .status-warning { background: #fef3c7; color: #92400e; }
.alert-panel table td { vertical-align: middle; }

.pos-workspace { padding-bottom: 112px; }
.pos-top-panel { display: grid; gap: 14px; margin-bottom: 18px; }
.pos-top-left h2 { margin: 4px 0 0; font-size: 28px; }
.pos-data-grid { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.15fr 2.1fr 1fr 1fr .8fr; gap: 10px; align-items: end; }
.pos-field { background: #f8fafc; border: 1px solid var(--border); border-radius: 16px; padding: 10px 12px; min-height: 72px; }
.pos-field label { margin: 0 0 6px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.pos-field strong { display: block; font-size: 16px; }
.pos-field input, .pos-field select { padding: 8px 10px; border-radius: 10px; }
.pos-field.wide-field { min-width: 280px; }
.inline-control { display: flex; gap: 8px; }
.inline-control input { flex: 1; }
.pos-ok { color: #15803d; }
.pos-danger { color: #b91c1c; }
.compact-selected-customer { margin-top: 0; }
.shipping-inline-panel { display: grid; grid-template-columns: 1fr 1fr .7fr .9fr 1.6fr; gap: 10px; padding: 12px; border-radius: 18px; background: #eff6ff; border: 1px solid #bfdbfe; }
.shipping-inline-panel label { margin: 0 0 6px; font-size: 11px; text-transform: uppercase; color: #1e40af; }
.shipping-inline-panel input, .shipping-inline-panel select { padding: 9px 10px; border-radius: 10px; }

.pos-main-grid { display: grid; grid-template-columns: minmax(520px, 1.3fr) minmax(380px, .8fr); gap: 18px; align-items: start; }
.sale-panel, .catalog-panel { min-height: 580px; }
.sale-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; margin-bottom: 12px; }
.search-with-icon { display: grid; grid-template-columns: 80px 1fr; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: #fff; }
.search-with-icon span { display: grid; place-items: center; color: var(--muted); border-right: 1px solid var(--border); font-weight: 800; }
.search-with-icon input { border: 0; border-radius: 0; font-size: 16px; }
.pos-sale-table-wrap { max-height: 470px; overflow: auto; border: 1px solid var(--border); border-radius: 18px; }
.pos-sale-table th { background: #f8fafc; font-size: 13px; color: #0f172a; }
.pos-sale-table td { background: #fff; }
.cart-empty-row { text-align: center; color: var(--muted); padding: 70px 20px; }
.compact-cart-product { grid-template-columns: 46px 1fr; }
.compact-cart-product .cart-thumb { width: 46px; height: 46px; }
.expiration-chip { display: inline-flex; margin-top: 5px; padding: 4px 8px; background: #fef3c7; color: #92400e; border-radius: 999px; font-size: 11px; font-weight: 900; }
.pos-inline-totals { display: flex; gap: 18px; flex-wrap: wrap; padding-top: 12px; color: var(--muted); font-weight: 800; }
.pos-inline-totals strong { color: #0f172a; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-height: 500px; overflow: auto; padding-right: 4px; }
.catalog-product-card { border: 1px solid var(--border); border-radius: 18px; background: #fff; padding: 10px; cursor: pointer; text-align: center; display: grid; gap: 5px; transition: .18s ease; }
.catalog-product-card:hover { border-color: var(--primary); transform: translateY(-2px); box-shadow: 0 14px 28px rgba(37,99,235,.12); }
.catalog-product-card img { width: 100%; height: 76px; object-fit: contain; border-radius: 12px; background: #f8fafc; }
.catalog-product-card strong { font-size: 13px; line-height: 1.25; min-height: 34px; }
.catalog-product-card small { color: var(--muted); font-size: 11px; }
.catalog-product-card b { color: var(--primary); }
.mini-stock-list { justify-content: center; gap: 4px; }
.mini-stock-list .stock-pill { font-size: 10px; padding: 4px 6px; }

.pos-bottom-bar { position: fixed; left: 290px; right: 0; bottom: 0; z-index: 40; min-height: 88px; background: rgba(255,255,255,.98); border-top: 1px solid var(--border); box-shadow: 0 -18px 45px rgba(15,23,42,.12); display: grid; grid-template-columns: auto auto auto auto auto 1fr auto; gap: 12px; align-items: center; padding: 14px 24px; }
.bar-action { border: 0; border-radius: 14px; padding: 13px 16px; font-weight: 900; cursor: pointer; }
.muted-action { background: #f1f5f9; color: #334155; }
.primary-action { background: #0f172a; color: #fff; }
.cash-action { background: #22c55e; color: #fff; }
.danger-action { background: #ef4444; color: #fff; }
.success-action { background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; padding-inline: 24px; box-shadow: 0 10px 24px rgba(37,99,235,.25); }
.bottom-total { text-align: right; }
.bottom-total span { display: block; color: var(--muted); font-weight: 800; }
.bottom-total strong { display: block; font-size: 32px; color: #15803d; }
.bottom-total small { color: var(--muted); }

.modal-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(15,23,42,.56); align-items: center; justify-content: center; padding: 22px; }
.modal-card { width: 720px; max-width: 96vw; max-height: 92vh; overflow: auto; background: #fff; border-radius: 24px; padding: 24px; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.modal-card .table-wrap { margin-top: 16px; }
.finance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.dashboard-list { display: grid; gap: 10px; }
.dashboard-list-row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 16px; background: #f8fafc; }
.dashboard-list-row strong { display: block; }
.dashboard-list-row small { display: block; color: var(--muted); margin-top: 4px; }
.dashboard-list-row span { font-weight: 900; color: #1e3a8a; white-space: nowrap; }

@media (max-width: 1280px) {
    .pos-data-grid, .shipping-inline-panel, .pos-main-grid, .finance-grid { grid-template-columns: 1fr; }
    .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .auth-split-card { grid-template-columns: 1fr; }
    .auth-brand-panel { padding: 28px; }
    .auth-form-panel { padding: 28px; }
    .pos-bottom-bar { left: 0; grid-template-columns: 1fr 1fr; position: sticky; }
    .bottom-total { grid-column: span 2; text-align: left; }
}


/* POS refinado */
.payment-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}
.payment-summary-grid div {
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 12px;
}
.payment-summary-grid span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 6px;
}
.payment-summary-grid strong {
    font-size: 20px;
}
.products-admin-table td {
    vertical-align: top;
}
.product-admin-thumb {
    width: 74px;
    height: 74px;
    object-fit: contain;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #fff;
    padding: 4px;
}
.row-details {
    margin-bottom: 8px;
    min-width: 230px;
}
.row-details summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 8px;
}
.mini-form {
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 12px;
    margin-bottom: 8px;
}
.cards-2 { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
.cards-3 { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
.cards-4.mini-cards { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
.bar-action {
    white-space: nowrap;
}
@media (max-width: 900px) {
    .payment-summary-grid,
    .cards-2,
    .cards-3,
    .cards-4.mini-cards {
        grid-template-columns: 1fr;
    }
    .pos-bottom-bar {
        align-items: stretch;
    }
    .bar-action {
        width: 100%;
    }
}

/* === Refinamiento UI módulos: navbar, POS, productos, inventario, roles === */
:root { --nav-width: 278px; --soft-bg: #eef4fb; --ink: #0f172a; --muted2: #64748b; }
body { overflow-x: hidden; }
.adaptive-shell { display: grid; grid-template-columns: var(--nav-width) minmax(0, 1fr); }
.adaptive-sidebar { width: var(--nav-width); overflow-y: auto; overflow-x: hidden; }
.adaptive-main { min-width: 0; }
.user-box-link { text-decoration: none; color: inherit; }
.user-box-link:hover { transform: translateY(-1px); }
.adaptive-topbar { position: sticky; top: 0; z-index: 30; backdrop-filter: blur(12px); background: rgba(238,244,251,.92); }
.top-actions-adaptive { display: flex; align-items: center; gap: 10px; }
.user-menu { position: relative; }
.user-dropdown { position: absolute; right: 0; top: calc(100% + 8px); width: 210px; background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); display: none; padding: 8px; z-index: 80; }
.user-dropdown.open { display: grid; }
.user-dropdown a { text-decoration: none; color: var(--ink); padding: 11px 12px; border-radius: 12px; font-weight: 800; }
.user-dropdown a:hover { background: #eff6ff; color: var(--primary); }
.module-hero { margin-bottom: 20px; }
.improved-hero { background: linear-gradient(135deg, #fff, #f7fbff); border: 1px solid var(--border); border-radius: 26px; padding: 26px 30px; display: flex; justify-content: space-between; gap: 20px; align-items: center; box-shadow: var(--shadow); overflow: hidden; }
.improved-hero h2 { margin: 6px 0 8px; font-size: clamp(26px, 3vw, 38px); }
.improved-hero p { max-width: 820px; margin: 0; color: var(--muted); line-height: 1.55; }
.compact-metrics { margin-bottom: 20px; }
.module-panel { margin-bottom: 22px; }
.filter-bar { display: grid; grid-template-columns: minmax(260px, 1.8fr) repeat(4, minmax(150px, .8fr)) auto; gap: 12px; align-items: end; }
.filter-bar label, .pos-field label, .catalog-filters label { display:block; font-weight: 900; color:#334155; font-size: 12px; text-transform: uppercase; letter-spacing:.08em; margin-bottom: 6px; }
.filter-bar input, .filter-bar select, .table-live-search { height: 48px; }
.table-live-search { max-width: 320px; }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th { text-transform: uppercase; letter-spacing: .08em; color: #64748b; font-size: 12px; }
.data-table td, .data-table th { padding: 14px 14px; border-bottom: 1px solid var(--border); vertical-align: top; }
.data-table td small, .price-stack small, .dashboard-list-row small { display: block; color: var(--muted); line-height: 1.35; }
.products-table td { font-size: 14px; }
.compact-products-table .product-admin-thumb { width: 58px; height: 58px; border-radius: 14px; object-fit: contain; background: #fff; border: 1px solid var(--border); padding: 5px; }
.price-stack strong { display: block; }
.stock-chip-list, .lot-chip-list { display: flex; flex-wrap: wrap; gap: 6px; max-width: 360px; }
.stock-pill, .expiration-chip { display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 6px 10px; font-weight: 800; font-size: 12px; background: #eef2ff; color: #1e3a8a; line-height: 1.2; }
.expiration-chip { background: #fef3c7; color: #92400e; }
.warning-chip { background: #fff7ed; }
.danger-chip { background: #fee2e2; color: #991b1b; }
.action-stack, .action-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.action-stack { flex-direction: column; align-items: flex-start; }
.btn-outline { background: #fff; border: 1px solid var(--border); color: var(--ink); }
.text-center { text-align: center; }
.modal-backdrop { position: fixed; inset: 0; z-index: 200; background: rgba(15,23,42,.55); align-items: center; justify-content: center; padding: 24px; }
.modal-card { background: #fff; border-radius: 24px; width: min(680px, 96vw); max-height: 90vh; overflow: auto; padding: 24px; box-shadow: 0 24px 70px rgba(15,23,42,.25); }
.wide-modal { width: min(1040px, 96vw); }
.form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid .span-3 { grid-column: span 3; }
.check-field { display: flex; align-items: end; }
.permission-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 18px 0; max-height: 55vh; overflow: auto; padding-right: 6px; }
.permission-group { border: 1px solid var(--border); border-radius: 18px; background: #f8fafc; padding: 14px; }
.permission-group h3 { margin: 0 0 10px; font-size: 16px; }
.small-check { font-size: 13px; margin: 5px 0; }
.profile-card { display:flex; gap:16px; align-items:center; background:#f8fafc; border:1px solid var(--border); border-radius:20px; padding:18px; }
.profile-avatar-large { width:72px; height:72px; border-radius:22px; display:grid; place-items:center; background:var(--primary); color:#fff; font-size:30px; font-weight:900; }
.profile-card span { display:block; color:var(--muted); margin-top:4px; }
/* POS compacto */
.pos-compact { padding-bottom: 84px; }
.compact-pos-header { padding: 18px 20px; display:grid; grid-template-columns: 180px minmax(0, 1fr); gap:16px; align-items:start; margin-bottom:18px; }
.pos-title-block h2 { margin: 4px 0 0; font-size: 30px; }
.compact-pos-data { display: grid; grid-template-columns: 1.05fr .8fr .8fr minmax(280px, 1.9fr) .9fr .8fr .7fr; gap: 10px; }
.pos-field { background:#f8fafc; border:1px solid var(--border); border-radius:18px; padding:10px 12px; min-width:0; }
.pos-field strong { display:block; font-size:18px; line-height:1.1; }
.pos-field select, .pos-field input { height:42px; border-radius:14px; }
.customer-field { min-width: 280px; }
.inline-control { display:flex; gap:8px; align-items:center; }
.inline-control input { flex:1; min-width:0; }
.compact-selected-customer { margin-top:10px; padding:10px 12px; }
.compact-shipping-panel { grid-template-columns: repeat(5, minmax(130px, 1fr)); gap:10px; margin-top:10px; }
.compact-pos-grid { grid-template-columns: minmax(420px, 1.45fr) minmax(360px, .95fr); gap:18px; }
.compact-sale-panel, .compact-catalog-panel { min-height: 440px; }
.compact-sale-toolbar { display:flex; gap:12px; align-items:center; margin-bottom:10px; }
.search-with-icon { display:flex; align-items:center; border:1px solid var(--border); border-radius:18px; overflow:hidden; flex:1; background:#fff; }
.search-with-icon span { padding:0 16px; font-weight:900; color:#64748b; border-right:1px solid var(--border); }
.search-with-icon input { border:0; flex:1; height:50px; min-width:0; }
.pos-sale-table-wrap { max-height: 330px; overflow:auto; border:1px solid var(--border); border-radius:20px; }
.pos-sale-table th, .pos-sale-table td { padding:12px; }
.cart-product-mini { display:flex; gap:10px; align-items:center; min-width:260px; }
.cart-product-mini img { width:42px; height:42px; object-fit:contain; border:1px solid var(--border); border-radius:12px; background:#fff; }
.compact-qty { width:70px; height:40px; }
.compact-pos-totals { display:flex; gap:18px; flex-wrap:wrap; margin-top:10px; font-size:15px; }
.catalog-filters { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.compact-product-results { display:grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap:12px; max-height: 360px; overflow:auto; padding-right:5px; }
.pos-product-card { text-align:left; border:1px solid var(--border); border-radius:18px; background:#fff; padding:10px; cursor:pointer; display:grid; gap:5px; transition:.16s ease; }
.pos-product-card:hover { transform:translateY(-2px); border-color:#93c5fd; box-shadow:0 12px 24px rgba(37,99,235,.10); }
.pos-product-card img { width:100%; height:84px; object-fit:contain; border-radius:14px; background:#f8fafc; }
.pos-product-card strong { font-size:14px; line-height:1.15; }
.pos-product-card small { color:var(--muted); }
.product-card-price { font-weight:900; color:var(--primary); }
.tiny-pill { font-size:10px; padding:4px 7px; }
.mini-expiry { font-size:10px; padding:4px 7px; }
.other-stock-row { display:flex; flex-wrap:wrap; gap:4px; }
.compact-bottom-bar { position:fixed; left:var(--nav-width); right:0; bottom:0; z-index:60; background:rgba(255,255,255,.96); border-top:1px solid var(--border); padding:10px 18px; display:flex; gap:10px; align-items:center; box-shadow:0 -14px 40px rgba(15,23,42,.08); }
.compact-bottom-bar .bar-action { min-height:48px; padding:0 18px; border-radius:14px; font-size:15px; font-weight:900; border:0; }
.muted-action { background:#f1f5f9; color:#334155; }
.primary-action { background:#0f172a; color:#fff; }
.cash-action { background:#22c55e; color:#fff; }
.danger-action { background:#ef4444; color:#fff; }
.success-action { background:#2563eb; color:#fff; margin-left:0; }
.compact-total { margin-left:auto; min-width:160px; text-align:right; }
.compact-total span, .compact-total small { display:block; color:var(--muted); font-weight:800; }
.compact-total strong { display:block; color:#15803d; font-size:30px; line-height:1; }
.compact-payment-summary { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
/* dashboard refinements */
.finance-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:20px; margin-bottom:20px; }
.dashboard-list { display:grid; gap:10px; }
.dashboard-list-row { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 14px; border:1px solid var(--border); border-radius:16px; background:#f8fafc; }
.dashboard-list-row span { font-weight:900; color:#1e3a8a; }
.chart-card canvas { width:100%; min-height:180px; }
/* Cash */
.cash-control-grid { display:grid; grid-template-columns: minmax(340px,.8fr) minmax(0,1.2fr); gap:18px; }
/* responsive */
@media (max-width: 1280px) {
  .compact-pos-header { grid-template-columns:1fr; }
  .compact-pos-data { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .compact-pos-grid, .finance-grid, .cash-control-grid { grid-template-columns:1fr; }
}
@media (max-width: 980px) {
  .adaptive-shell { grid-template-columns: 1fr; }
  .adaptive-sidebar { position:fixed; left:-290px; top:0; bottom:0; z-index:100; transition:.2s ease; }
  .adaptive-sidebar.open { left:0; }
  .compact-bottom-bar { left:0; flex-wrap:wrap; }
  .compact-total { order:-1; width:100%; text-align:left; }
  .compact-pos-data, .filter-bar, .form-grid-3, .compact-shipping-panel { grid-template-columns:1fr; }
  .form-grid .span-3 { grid-column:span 1; }
  .improved-hero { flex-direction:column; align-items:flex-start; }
  .responsive-table-wrap table, .responsive-table-wrap thead, .responsive-table-wrap tbody, .responsive-table-wrap th, .responsive-table-wrap td, .responsive-table-wrap tr { display:block; }
  .responsive-table-wrap thead { display:none; }
  .responsive-table-wrap tr { border:1px solid var(--border); border-radius:18px; margin-bottom:12px; padding:10px; background:#fff; }
  .responsive-table-wrap td { border:0; display:flex; justify-content:space-between; gap:14px; padding:9px; }
  .responsive-table-wrap td::before { content:attr(data-label); font-weight:900; color:#64748b; }
}
@media (max-width: 680px) {
  .compact-bottom-bar .bar-action { flex:1 1 45%; }
  .compact-product-results { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .catalog-filters { grid-template-columns:1fr; }
}
.cash-summary-cards { display:grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap:12px; margin-bottom:16px; }
.cash-summary-cards .metric-card { min-height: 120px; }
.cash-forms-grid { display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
.compact-form-box { background:#f8fafc; border:1px solid var(--border); border-radius:18px; padding:14px; }
@media (max-width: 1180px) { .cash-summary-cards, .cash-forms-grid { grid-template-columns:1fr; } }
.dashboard-grid-main { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr); gap:20px; margin-bottom:20px; }
.css-bar-chart { height:260px; display:flex; gap:14px; align-items:end; padding:16px 6px 4px; }
.css-bar-item { flex:1; display:grid; grid-template-rows:auto 1fr auto; gap:8px; height:100%; text-align:center; min-width:0; }
.css-bar-value { font-size:11px; font-weight:900; color:#334155; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.css-bar-track { height:100%; background:#eef2ff; border-radius:16px; display:flex; align-items:end; overflow:hidden; }
.css-bar-track span { display:block; width:100%; background:linear-gradient(180deg,#2563eb,#93c5fd); border-radius:16px 16px 0 0; }
.rank-list { display:grid; gap:12px; }
.rank-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(140px,1fr) auto; gap:12px; align-items:center; }
.rank-bar { height:12px; background:#eef2ff; border-radius:999px; overflow:hidden; }
.rank-bar span { display:block; height:100%; background:#7c3aed; border-radius:999px; }
.compact-quick-grid { margin-top:10px; }
.dashboard-status-row { grid-template-columns:1fr; }
@media (max-width: 1180px) { .dashboard-grid-main { grid-template-columns:1fr; } .rank-row { grid-template-columns:1fr; } }

/* Final refinement: POS, navbar, products, cash and roles */
:root { --sidebar-expanded: 290px; --sidebar-compact: 88px; }
.app-shell.adaptive-shell { display:grid; grid-template-columns: var(--sidebar-expanded) minmax(0,1fr); }
body.sidebar-collapsed .app-shell.adaptive-shell { grid-template-columns: var(--sidebar-compact) minmax(0,1fr); }
.sidebar-toggle { width:44px; height:44px; border-radius:14px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.08); color:#fff; font-weight:900; cursor:pointer; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
body.sidebar-collapsed .adaptive-sidebar { width: var(--sidebar-compact); padding-left:14px; padding-right:14px; }
body.sidebar-collapsed .adaptive-sidebar .brand-block small,
body.sidebar-collapsed .adaptive-sidebar .brand,
body.sidebar-collapsed .adaptive-sidebar .user-box div,
body.sidebar-collapsed .adaptive-sidebar .side-nav a .nav-label { display:none; }
body.sidebar-collapsed .adaptive-sidebar .brand-block,
body.sidebar-collapsed .adaptive-sidebar .user-box { justify-content:center; }
body.sidebar-collapsed .adaptive-sidebar .side-nav a { justify-content:center; padding-left:10px; padding-right:10px; }
body.sidebar-collapsed .adaptive-sidebar .side-nav a span { margin:0; }
body.sidebar-collapsed .pos-bottom-bar { left: var(--sidebar-compact); }
.sidebar-tooltip { display:none; }
body.sidebar-collapsed .side-nav a { position:relative; }
body.sidebar-collapsed .side-nav a:hover::after { content: attr(data-label); position:absolute; left:72px; top:50%; transform:translateY(-50%); background:#0f172a; color:#fff; padding:8px 12px; border-radius:10px; white-space:nowrap; z-index:1000; box-shadow:0 10px 25px rgba(15,23,42,.25); }

.pos-refined { padding-bottom:72px; }
.pos-top-refined { padding:18px 20px; }
.pos-data-refined { grid-template-columns: minmax(120px,.9fr) 120px 120px minmax(260px,1.6fr) minmax(190px,1fr) 130px 120px 110px; gap:10px; align-items:stretch; }
.pos-data-refined .pos-field { min-height:84px; padding:12px 14px; }
.inline-control.tight { gap:6px; }
.inline-control.tight select { min-width:105px; }
.inline-control.tight .btn { white-space:nowrap; }
.pos-main-refined { grid-template-columns: minmax(620px, 1.55fr) minmax(450px, .95fr); gap:18px; align-items:stretch; }
.sale-panel-refined, .catalog-panel-refined { min-height: calc(100vh - 340px); }
.refined-sale-table-wrap { min-height: 295px; max-height: calc(100vh - 430px); overflow:auto; }
.catalog-panel-refined { overflow:hidden; }
.refined-catalog-filters { grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.refined-product-results { max-height: calc(100vh - 430px); overflow:auto; padding-right:6px; grid-template-columns: repeat(2, minmax(170px, 1fr)); gap:12px; align-content:start; }
.refined-pos-product-card { min-height:255px; padding:12px; text-align:left; border:1px solid var(--border); border-radius:18px; background:#fff; display:flex; flex-direction:column; gap:7px; box-shadow:0 8px 18px rgba(15,23,42,.04); }
.refined-pos-product-card:hover { border-color:#93c5fd; transform:translateY(-1px); box-shadow:0 12px 26px rgba(37,99,235,.12); }
.refined-pos-product-card .product-image-frame { display:flex; align-items:center; justify-content:center; height:92px; background:#f8fafc; border-radius:14px; overflow:hidden; }
.refined-pos-product-card img { width:100%; height:92px; object-fit:contain; border-radius:12px; }
.refined-pos-product-card strong { font-size:16px; line-height:1.15; }
.refined-pos-product-card small { color:var(--muted); }
.refined-pos-product-card .product-card-price { font-size:23px; font-weight:900; color:#2563eb; }
.product-no-stock { opacity:.65; }
.stock-warning { color:#b91c1c; font-weight:800; font-size:12px; }
.refined-bottom-bar { min-height:68px; grid-template-columns:auto auto auto auto 1fr auto; gap:10px; padding:10px 18px; }
.refined-bottom-bar .bar-action { min-height:44px; padding:10px 18px; border-radius:14px; font-size:15px; }
.refined-bottom-bar .bottom-total { justify-self:end; min-width:230px; text-align:right; }
.refined-bottom-bar .bottom-total strong { font-size:28px; }
@media (max-width: 1450px) { .pos-data-refined { grid-template-columns: repeat(4, minmax(140px,1fr)); } .pos-main-refined { grid-template-columns: minmax(580px,1.35fr) minmax(380px,.9fr); } }
@media (max-width: 1150px) { .pos-main-refined { grid-template-columns:1fr; } .refined-product-results { max-height:none; grid-template-columns: repeat(2,minmax(160px,1fr)); } .refined-bottom-bar { position:sticky; left:0; grid-template-columns:repeat(2,1fr); } }

.table-controls { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.table-controls label { display:flex; flex-direction:column; gap:4px; color:var(--muted); font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.table-controls select { min-width:95px; }
.table-pager { display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:14px 0 0; color:var(--muted); font-weight:800; }
.product-thumb-zoom { transition:.18s ease; cursor:zoom-in; position:relative; z-index:1; }
.product-thumb-zoom:hover { transform:scale(2.25); z-index:20; box-shadow:0 18px 40px rgba(15,23,42,.28); background:#fff; }
.products-table td { vertical-align:top; }

.cash-dashboard-refined { display:grid; grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr); gap:18px; align-items:start; }
.cash-kpi-strip { display:grid; grid-template-columns: repeat(4,minmax(130px,1fr)); gap:12px; margin-bottom:16px; }
.cash-mini-card { border:1px solid var(--border); border-radius:18px; padding:14px; background:#fff; min-height:108px; box-shadow:0 8px 22px rgba(15,23,42,.05); }
.cash-mini-card span { display:block; color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px; }
.cash-mini-card strong { display:block; font-size:22px; line-height:1.1; }
.cash-action-panels { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cash-action-panel { border:1px solid var(--border); border-radius:18px; padding:16px; background:#f8fafc; }
.cash-action-panel h3 { margin:0 0 10px; }
.cash-movement-table { max-height:360px; overflow:auto; }
@media (max-width:1280px) { .cash-dashboard-refined, .cash-action-panels { grid-template-columns:1fr; } .cash-kpi-strip { grid-template-columns:repeat(2,1fr); } }

.permission-toolbar { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.permission-grid-refined { display:grid; grid-template-columns: repeat(3,minmax(220px,1fr)); gap:14px; max-height:58vh; overflow:auto; padding-right:6px; }
.permission-group-refined { border:1px solid var(--border); border-radius:18px; padding:14px; background:#f8fafc; }
.permission-group-refined h3 { margin:0 0 10px; display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:16px; }
.permission-group-refined .check-row { margin:7px 0; }
@media (max-width:1000px) { .permission-grid-refined { grid-template-columns:1fr; } }

.pos-toast { position:fixed; right:22px; bottom:94px; z-index:3000; background:#0f172a; color:#fff; padding:13px 16px; border-radius:14px; box-shadow:0 20px 40px rgba(15,23,42,.28); max-width:360px; font-weight:800; }
.product-admin-thumb { transition:.18s ease; cursor:zoom-in; transform-origin:left center; }
.product-admin-thumb:hover { transform:scale(2.2); z-index:30; position:relative; box-shadow:0 18px 45px rgba(15,23,42,.28); background:#fff; border-radius:14px; }
.desktop-only { display:flex; }
@media (max-width: 900px) { .desktop-only { display:none !important; } }

/* === Ajuste final: caja, POS, inventario, configuracion === */
.adaptive-main { overflow-x: hidden; padding-left: clamp(18px, 2vw, 28px); padding-right: clamp(18px, 2vw, 28px); }
.pos-refined, .module-panel, .improved-hero { max-width: 100%; }
.pos-data-refined { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
.pos-data-refined .customer-field { grid-column: span 2; }
.pos-data-refined .pos-field { min-width: 0; }
.pos-data-refined .inline-control { min-width: 0; }
.pos-data-refined input, .pos-data-refined select { min-width: 0; }
.pos-main-refined { grid-template-columns: minmax(0, 1.35fr) minmax(420px, .9fr); }
.refined-bottom-bar { left: var(--sidebar-expanded); grid-template-columns: auto auto auto 1fr auto; }
body.sidebar-collapsed .refined-bottom-bar { left: var(--sidebar-compact); }
.refined-bottom-bar .success-action { min-width: 150px; }
.refined-bottom-bar .bottom-total { min-width: 210px; }
@media (max-width: 1250px) {
  .pos-main-refined { grid-template-columns: 1fr; }
  .refined-bottom-bar { left: 0; position: sticky; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .refined-bottom-bar .bottom-total { grid-column: span 2; text-align: left; justify-self: stretch; }
}
@media (max-width: 760px) { .pos-data-refined .customer-field { grid-column: span 1; } }

.cash-dashboard-clean { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; align-items:start; }
.cash-dashboard-clean > .panel { width:100%; min-width:0; }
.cash-dashboard-clean .cash-kpi-strip { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.cash-dashboard-clean .cash-action-panels { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.cash-dashboard-clean .cash-mini-card strong { font-size: clamp(18px, 2vw, 24px); word-break: break-word; }
.cash-dashboard-clean .table-wrap { max-width:100%; overflow:auto; }
.cash-result-ok { color:#166534; font-weight:900; }
.cash-result-warn { color:#92400e; font-weight:900; }
.cash-result-bad { color:#991b1b; font-weight:900; }
.cash-ticket .totals strong { font-size: 14px; }

.inventory-product-cell { display:grid; gap:4px; min-width: 180px; }
.inventory-product-cell strong { line-height:1.15; }
.inventory-product-cell small { color:var(--muted); line-height:1.35; }
#inventoryTable th, #inventoryTable td, #inventoryMovementsTable th, #inventoryMovementsTable td { vertical-align:top; }

.location-button { white-space:nowrap; }
.settings-tabs { display:flex; gap:8px; flex-wrap:wrap; margin: 0 0 18px; }
.settings-tabs a { padding:10px 13px; border-radius:14px; background:#fff; border:1px solid var(--border); font-weight:900; color:#1e3a8a; box-shadow:0 5px 14px rgba(15,23,42,.04); }
.settings-tabs a:hover { background:#eff6ff; border-color:#bfdbfe; }
.settings-grid { margin-bottom:22px; }
.form-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.span-3 { grid-column: span 3; }
.wide-modal { width: 980px; }
@media (max-width: 900px) { .form-grid-3 { grid-template-columns:1fr; } .span-3 { grid-column:span 1; } }

/* Evita que cards/tablas se monten con navbar expandida */
.panel, .module-panel, .pos-top-panel, .receipt-box { min-width:0; }
.table-wrap { max-width:100%; }

/* === Version funcional: pantallas por secciones y POS compacto === */
.module-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px; }
.module-tabs a { padding:10px 14px; border:1px solid var(--border); background:#fff; border-radius:14px; color:#1e3a8a; font-weight:900; box-shadow:0 6px 18px rgba(15,23,42,.04); }
.module-tabs a.active, .module-tabs a:hover { background:#2563eb; color:#fff; border-color:#2563eb; }
.grouped-nav .nav-group { margin:6px 0; }
.grouped-nav .nav-group summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:16px; color:#dbeafe; font-weight:900; }
.grouped-nav .nav-group summary::-webkit-details-marker { display:none; }
.grouped-nav .nav-group summary span { min-width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:#1f2937; color:#93c5fd; font-size:12px; }
.grouped-nav .nav-group[open] summary, .grouped-nav .nav-group summary:hover { background:rgba(255,255,255,.08); color:#fff; }
.grouped-nav .nav-children { padding:2px 0 6px 18px; display:grid; gap:4px; }
.grouped-nav .nav-children a { padding:10px 12px; font-size:14px; min-height:40px; }
.grouped-nav .nav-children a span { width:22px; height:22px; min-width:22px; }
body.sidebar-collapsed .nav-group .nav-label, body.sidebar-collapsed .nav-children { display:none; }
body.sidebar-collapsed .nav-group summary { justify-content:center; padding-left:10px; padding-right:10px; }

.pos-lean { padding-bottom:74px; }
.pos-top-lean { padding:16px 18px; }
.pos-lean-title { display:flex; align-items:center; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.pos-lean-title h2 { margin:0; font-size:clamp(24px,2.4vw,34px); }
.status-dot { border-radius:999px; padding:7px 12px; font-weight:900; font-size:13px; background:#fee2e2; color:#991b1b; }
.status-dot.ok { background:#dcfce7; color:#166534; }
.status-dot.bad { background:#fee2e2; color:#991b1b; }
.pos-lean-grid { display:grid; grid-template-columns: 170px minmax(300px,1.7fr) 230px 150px 130px 115px; gap:10px; align-items:end; }
.pos-lean-field { border:1px solid var(--border); border-radius:18px; padding:10px 12px; background:#f8fafc; min-width:0; }
.pos-lean-field label { display:block; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-size:12px; font-weight:900; margin-bottom:6px; }
.pos-lean-field strong { font-size:19px; line-height:1.05; }
.pos-lean-field input, .pos-lean-field select { min-height:42px; padding:8px 12px; font-size:16px; }
.pos-lean-field .btn { min-height:40px; padding:8px 12px; }
.customer-lean-field { min-width:300px; }
.lean-selected { margin-top:10px; padding:10px 12px; }
.lean-shipping { margin-top:10px; grid-template-columns: repeat(5,minmax(130px,1fr)); gap:10px; padding:12px; }
.pos-main-lean { grid-template-columns:minmax(0,1.45fr) minmax(460px,.9fr); align-items:stretch; }
.pos-main-lean .sale-panel-refined, .pos-main-lean .catalog-panel-refined { min-height:calc(100vh - 330px); }
.pos-main-lean .refined-sale-table-wrap, .pos-main-lean .refined-product-results { max-height:calc(100vh - 420px); }
.lean-bottom-bar { min-height:58px; padding:8px 14px; }
.lean-bottom-bar .bar-action { min-height:40px; padding:8px 14px; font-size:14px; }
.lean-bottom-bar .bottom-total strong { font-size:24px; }
@media (max-width:1500px){ .pos-lean-grid{grid-template-columns:repeat(3,minmax(180px,1fr));} .pos-main-lean{grid-template-columns:1fr;} }
@media (max-width:980px){ .pos-lean-grid{grid-template-columns:1fr;} .customer-lean-field{min-width:0;} .lean-shipping{grid-template-columns:1fr;} }

/* Caja sin montarse */
.cash-dashboard-clean { display:grid !important; grid-template-columns:1fr !important; gap:18px; }
.cash-dashboard-clean .module-panel { overflow:hidden; }
.cash-dashboard-clean .cash-kpi-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.cash-dashboard-clean .cash-action-panels { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; }
.cash-dashboard-clean .cash-mini-card { min-width:0; }
.cash-dashboard-clean .table-wrap { overflow:auto; }
.cash-movement-table { max-height:none; overflow:auto; }

/* Modulos ordenados */
.compact-filter-panel .filter-bar, .filter-bar { align-items:end; }
.label-preview-card { width:260px; min-height:150px; border:2px dashed #94a3b8; border-radius:18px; background:#fff; padding:16px; display:grid; place-items:center; text-align:center; gap:4px; box-shadow:0 12px 30px rgba(15,23,42,.08); }
.label-preview-name { font-weight:900; font-size:18px; }
.label-preview-sku { color:var(--muted); font-weight:800; }
.label-preview-bars { font-family:monospace; letter-spacing:2px; font-size:24px; }
.label-preview-price-main { font-weight:900; font-size:22px; color:#1d4ed8; }
.label-preview-price-alt { color:#92400e; font-weight:900; }
.location-button { display:inline-flex; align-items:center; gap:6px; }
.products-table .action-stack { align-items:flex-start; }
.products-table .btn { white-space:nowrap; }
@media (max-width:1100px){ .grid-2{grid-template-columns:1fr;} }

/* Operative refinements */
.module-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.module-tabs a{padding:12px 18px;border-radius:16px;background:#eef4ff;color:#1e3a8a;font-weight:900;text-decoration:none;border:1px solid #dbe7ff}
.module-tabs a.active{background:#2563eb;color:#fff;box-shadow:0 12px 28px rgba(37,99,235,.22)}
.current-branch-chip{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;font-size:12px}
.text-danger,.money-danger{color:#dc2626!important}.money-ok{color:#15803d!important}
.text-center{text-align:center}.page-hidden{display:none!important}.required-field label:after{content:' *';color:#dc2626}.toolbar-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.action-stack{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-stack form{margin:0}.transfer-lines{display:grid;gap:12px;margin-top:18px}.transfer-line{display:grid;grid-template-columns:minmax(260px,1fr) 180px auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--border,#dbe3ef);border-radius:18px;background:#f8fafc}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;text-align:center;margin-top:30px}.transfer-ticket{max-width:980px!important}.payment-summary-grid .money-danger{font-weight:900}.payment-summary-grid .money-ok{font-weight:900}.pos-lean .pos-lean-grid{grid-template-columns:1.1fr 2.2fr 1.7fr 1.2fr 1.1fr 1fr}.pos-lean-field{min-height:88px}.pos-bottom-bar{z-index:40}.compact-table td small,.data-table td small{display:block;color:#64748b;margin-top:3px}.table-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.table-controls label{font-weight:800;color:#64748b}.table-controls select{width:auto;min-width:90px}.table-live-search{min-width:250px}.modal-card.wide-modal{max-width:1080px}.expense-card{border-left:5px solid #2563eb}
@media(max-width:1200px){.pos-lean .pos-lean-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transfer-line{grid-template-columns:1fr}}
@media(max-width:800px){.module-tabs{overflow:auto;flex-wrap:nowrap}.module-tabs a{white-space:nowrap}.pos-lean .pos-lean-grid{grid-template-columns:1fr}.signature-grid{grid-template-columns:1fr}}

/* Final UX refinements for POS, inventory, clients, suppliers and expenses */
.clean-tabs, .module-tabs.clean-tabs { display:flex; gap:10px; flex-wrap:wrap; margin: 12px 0 18px; }
.clean-tabs a { text-decoration:none; color:#1e3a8a; background:#eef4ff; border:1px solid #dbe7ff; padding:10px 16px; border-radius:14px; font-weight:900; }
.clean-tabs a.active { background:#2563eb; color:#fff; box-shadow:0 12px 22px rgba(37,99,235,.2); }
.current-branch-note { margin-top:12px; color:#334155; font-weight:800; }
.current-branch-note .badge { margin-right:8px; }
.money-danger { color:#dc2626 !important; }
.money-ok { color:#15803d !important; }
.payment-summary-grid .money-danger { color:#dc2626 !important; }
.payment-summary-grid .money-ok { color:#15803d !important; }
.pos-lean-grid { grid-template-columns: 190px minmax(320px, 1.4fr) 240px 180px 160px 150px !important; align-items:stretch; }
.pos-lean-field { min-height:94px; }
.pos-lean-field select, .pos-lean-field input { font-size:18px; padding:12px 14px; }
.pos-top-panel { overflow:hidden; }
.pos-main-lean { grid-template-columns:minmax(560px,1.25fr) minmax(420px,.9fr) !important; }
.lean-bottom-bar { gap:10px; padding:14px 18px !important; }
.lean-bottom-bar .bar-action { padding:12px 18px !important; min-width:auto !important; border-radius:14px; }
.compact-total strong { font-size:28px !important; }
.catalog-panel-refined { min-width: 420px; }
.refined-product-results { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.refined-pos-product-card { padding:10px; min-height: 230px; }
.refined-pos-product-card .product-image-frame { height:80px; }
.refined-pos-product-card strong { font-size:15px; }
.refined-pos-product-card .product-card-price { font-size:20px; }
@media (max-width: 1380px){ .pos-main-lean { grid-template-columns:1fr !important; } .pos-lean-grid { grid-template-columns:repeat(3, minmax(180px,1fr)) !important; } }
@media (max-width: 900px){ .pos-lean-grid { grid-template-columns:1fr !important; } .lean-bottom-bar { flex-wrap:wrap; position:static; } }
.action-stack { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.action-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.table-controls { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.table-controls label { font-weight:800; color:#64748b; font-size:12px; text-transform:uppercase; letter-spacing:.08em; display:grid; gap:4px; }
.table-controls select, .table-controls input { min-height:44px; }
.live-filter-form input, .filter-bar input, .filter-bar select { transition:border .15s, box-shadow .15s; }
.live-filter-form input:focus, .filter-bar input:focus, .filter-bar select:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.inventory-product-cell { display:grid; gap:4px; }
.inventory-product-cell small { color:#64748b; }
.transfer-multi-form .table-wrap { margin:16px 0; }
.transfer-multi-form select.live-select { min-width: 100%; }
.signature-grid { page-break-inside: avoid; }
.expiration-chip { display:inline-block; border-radius:999px; background:#fef3c7; color:#92400e; padding:7px 12px; font-weight:900; }
.danger-chip { background:#fee2e2; color:#991b1b; }
.module-panel .data-table td small { display:block; color:#64748b; margin-top:2px; }
.badge { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:7px 11px; font-weight:900; background:#e2e8f0; color:#334155; }
.badge.success { background:#dcfce7; color:#166534; }
.badge.danger { background:#fee2e2; color:#991b1b; }
.modal-card.wide-modal { max-width: 960px; width: min(96vw, 960px); }
.modal-card { max-height: 92vh; overflow:auto; }
.form-grid .span-3 { grid-column: 1 / -1; }
.form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px){ .form-grid-3, .form-grid { grid-template-columns:1fr !important; } .form-grid .span-2, .form-grid .span-3 { grid-column:auto; } }
.cash-dashboard-clean { grid-template-columns:minmax(0,1fr) minmax(420px,.9fr) !important; gap:22px; align-items:start; }
.cash-kpi-strip { grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); }
.cash-action-panels { grid-template-columns:1fr 1fr; gap:16px; }
.cash-action-panel { min-width:0; }
@media (max-width: 1180px){ .cash-dashboard-clean, .cash-action-panels { grid-template-columns:1fr !important; } }
.print-document, .cash-ticket { color:#0f172a; }

/* Pro compact operational pass */
:root { --font-base: 14px; --radius: 18px; }
html { font-size: 14px; }
body { font-size: 14px; }
.main { padding-top: 18px; }
.top-title h1 { font-size: clamp(1.7rem, 2.4vw, 2.6rem); }
.module-hero.compact-hero, .pos-top-panel { padding: 18px 22px; border-radius: 18px; }
.module-hero h2, .pos-lean-title h2 { font-size: clamp(1.4rem, 2vw, 2.1rem); }
.panel, .module-panel, .compact-card { border-radius: 18px; padding: 18px 20px; }
.btn, button, input, select, textarea { font-size: .96rem; }
input, select, textarea { padding: 10px 13px; border-radius: 13px; }
.btn { padding: 10px 16px; border-radius: 13px; }
.btn-sm { padding: 7px 10px; font-size: .86rem; }
.eyebrow { font-size: .72rem; letter-spacing: .16em; }
.data-table th { font-size: .78rem; letter-spacing: .1em; }
.data-table td { font-size: .95rem; padding: 10px 12px; }
.compact-table td, .compact-table th { padding: 9px 10px; }
.pos-lean-grid { grid-template-columns: 170px minmax(290px, 1.1fr) 210px 170px 160px 150px; gap: 10px; align-items: stretch; }
.pos-lean-field { min-height: 78px; padding: 12px 14px; border-radius: 15px; }
.pos-lean-field label { font-size: .74rem; }
.pos-lean-field strong { font-size: 1.05rem; line-height: 1.1; }
.pos-main-lean { display: grid; grid-template-columns: minmax(560px, 1.25fr) minmax(440px, .95fr); gap: 18px; }
.catalog-panel-refined { min-width: 440px; }
.compact-product-results { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; max-height: calc(100vh - 360px); overflow: auto; }
.product-result-card { padding: 10px; border-radius: 15px; }
.product-card-image-wrap { min-height: 90px; }
.product-card-image { height: 84px; }
.product-card-name { font-size: .95rem; }
.product-card-price { font-size: 1.15rem; }
.stock-pill { font-size: .72rem; padding: 4px 8px; }
.pos-bottom-bar { min-height: 70px; padding: 10px 22px; gap: 10px; }
.bar-action { min-width: 110px; padding: 12px 16px; border-radius: 14px; font-size: 1rem; }
.compact-total strong { font-size: 1.8rem; }
.payment-summary-grid > div { padding: 12px 14px; border-radius: 14px; }
.payment-summary-grid strong { font-size: 1.2rem; }
.money-danger { color: #dc2626 !important; }
.money-ok { color: #16a34a !important; }
.shift-summary-box { background:#f8fafc; border:1px solid var(--border); padding:12px 14px; border-radius:14px; color:#475569; }
.module-tabs { display:flex; flex-wrap:wrap; gap:10px; margin: 10px 0 18px; }
.module-tabs a { padding: 11px 15px; border-radius: 14px; background:#eef4ff; color:#14337e; font-weight:800; text-decoration:none; border:1px solid #dbeafe; }
.module-tabs a.active { background:#2563eb; color:#fff; box-shadow:0 10px 24px rgba(37,99,235,.18); }
.live-filter-form { align-items:end; }
.form-grid-4 { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:14px; }
.transfer-entry-box { display:grid; grid-template-columns:minmax(250px,1fr) 160px auto; gap:12px; align-items:end; border:1px solid var(--border); background:#f8fafc; padding:14px; border-radius:16px; margin:14px 0; }
.inline-form { display:flex; gap:8px; align-items:center; }
.product-admin-thumb:hover { transform: scale(2.3); z-index: 30; position: relative; box-shadow: 0 20px 50px rgba(15,23,42,.25); }
.sidebar-collapsed .adaptive-sidebar { width: 92px; }
.sidebar-collapsed .adaptive-main { margin-left: 92px; }
.sidebar-collapsed .nav-label, .sidebar-collapsed .brand-block small, .sidebar-collapsed .brand-block .brand, .sidebar-collapsed .user-box div { display:none; }
.sidebar-collapsed .side-nav a, .sidebar-collapsed .nav-group summary { justify-content:center; }
.current-branch-chip { display:inline-flex; background:#dcfce7; color:#166534; padding:4px 9px; border-radius:999px; font-weight:800; margin-top:4px; font-size:.78rem; }
@media (max-width: 1250px){ .pos-lean-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .pos-main-lean { grid-template-columns:1fr; } .catalog-panel-refined{min-width:0;} }
@media (max-width: 800px){ .form-grid-4, .transfer-entry-box { grid-template-columns:1fr; } .pos-bottom-bar { position:sticky; bottom:0; overflow:auto; } }
.module-tabs button { padding: 11px 15px; border-radius: 14px; background:#eef4ff; color:#14337e; font-weight:800; border:1px solid #dbeafe; cursor:pointer; }
.module-tabs button.active { background:#2563eb; color:#fff; box-shadow:0 10px 24px rgba(37,99,235,.18); }
.cash-dashboard-clean { display:block; }
.cash-dashboard-clean .cash-tab-panel { margin-bottom:18px; }

/* Hotfix pro v2: modulos compactos y tablas corporativas */
body { font-size: 14px; }
.compact-hero h2 { font-size: clamp(24px, 3vw, 36px); }
.module-panel, .compact-card { border-radius: 20px; }
.cash-wide-shell { width: 100%; display: block; }
.cash-wide-shell .cash-tab-panel { width: 100%; max-width: none; }
.cash-kpi-grid-wide { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 14px; margin-bottom: 16px; }
.cash-two-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 16px; align-items: start; }
.cash-action-panel { background: #f8fafc; border: 1px solid var(--border); border-radius: 18px; padding: 16px; }
.cash-action-panel h3 { margin-top: 0; font-size: 18px; }
.cash-mini-card { min-height: auto; }
.table-controls.compact-controls { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.table-controls.compact-controls label { display: grid; gap: 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.table-controls.compact-controls select { min-width: 80px; }
.table-live-search { min-width: 220px; }
.product-list-header .table-controls { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }
.product-list-header .table-live-search { min-width: 300px; }
.pro-filter-row { grid-template-columns: minmax(260px, 1fr) 170px 170px 150px; align-items: end; }
.field-ok { color: #15803d; display: block; margin-top: 5px; font-weight: 700; }
.field-error { color: #dc2626; display: block; margin-top: 5px; font-weight: 700; }
.compact-return-options { margin-top: 14px; }
.required-field label:after { content: ' *'; color: #dc2626; }
.pos-lean-title { gap: 10px; flex-wrap: wrap; }
.pos-lean-title #closeShiftTopBtn { margin-left: 6px; }
@media (max-width: 1100px) {
    .cash-kpi-grid-wide { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
    .cash-two-columns { grid-template-columns: 1fr; }
    .pro-filter-row { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .cash-kpi-grid-wide { grid-template-columns: 1fr; }
    .table-live-search, .product-list-header .table-live-search { min-width: 100%; }
}

/* Pro v3: navegación intuitiva, búsquedas vivas y reportes */
.grouped-nav { gap: 8px; padding-bottom: 28px; }
.grouped-nav .nav-group summary,
.grouped-nav > a { border-radius: 15px; min-height: 46px; transition: transform .15s ease, background .15s ease, box-shadow .15s ease; }
.grouped-nav .nav-group summary:hover,
.grouped-nav > a:hover { transform: translateX(2px); background: rgba(255,255,255,.10); }
.grouped-nav .nav-group summary span,
.grouped-nav > a > span { width: 32px; height: 32px; display:inline-flex; align-items:center; justify-content:center; border-radius: 11px; background: rgba(255,255,255,.10); font-size: 16px; }
.grouped-nav .nav-children a { padding-left: 42px; border-radius: 12px; }
.sidebar-collapsed .grouped-nav .nav-children { display:none; }
.sidebar-collapsed .nav-group summary span,
.sidebar-collapsed .side-nav > a > span { margin: 0 auto; }

.sub-tabs, .soft-subtabs { display:flex; gap:10px; flex-wrap:wrap; margin: 12px 0 18px; }
.sub-tabs a, .soft-subtabs a { padding:10px 14px; border-radius:14px; background:#eef4ff; color:#173a86; font-weight:900; text-decoration:none; border:1px solid #dbeafe; }
.sub-tabs a.active, .soft-subtabs a.active { background:#2563eb; color:white; box-shadow:0 10px 24px rgba(37,99,235,.18); }
.pro-inline-filters, .report-filter-bar { display:grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap:12px; align-items:end; }
.pro-inline-filters label, .report-filter-bar label { display:grid; gap:6px; font-weight:900; color:#334155; }
.modal-card-xl { width:min(1080px, 96vw) !important; max-width:1080px !important; }

.live-lookup-field { position:relative; }
.live-results { position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:80; background:#fff; border:1px solid #dbe4f0; border-radius:16px; box-shadow:0 18px 48px rgba(15,23,42,.16); max-height:320px; overflow:auto; }
.live-result-card { width:100%; display:grid; gap:4px; text-align:left; border:0; border-bottom:1px solid #edf2f7; background:#fff; padding:12px 14px; cursor:pointer; color:#0f172a; }
.live-result-card:hover { background:#eef4ff; }
.live-result-card strong { font-size:14px; }
.live-result-card small, .live-result-card span { color:#64748b; font-size:12px; }
.live-hint, .live-empty { padding:12px 14px; color:#64748b; font-weight:800; }
.guide-selected-card, .selected-payment-card, .agent-selected-product { border:1px solid #bbf7d0; background:#f0fdf4; color:#14532d; border-radius:16px; padding:12px 14px; display:grid; gap:4px; }
.guide-selected-card small, .selected-payment-card small, .agent-selected-product small, .agent-selected-product span { color:#166534; font-weight:700; }
.payment-doc-list { display:grid; gap:8px; max-height:230px; overflow:auto; border:1px solid #e2e8f0; border-radius:16px; padding:10px; background:#f8fafc; }
.payment-doc-card { display:flex; justify-content:space-between; gap:10px; align-items:center; text-align:left; border:1px solid #e2e8f0; background:#fff; border-radius:14px; padding:10px 12px; cursor:pointer; }
.payment-doc-card:hover { border-color:#2563eb; box-shadow:0 10px 22px rgba(37,99,235,.12); }
.payment-doc-card span { color:#2563eb; font-weight:900; }
.payment-doc-card small { color:#64748b; }
.agent-builder { display:grid; grid-template-columns:minmax(320px, 1fr) 160px 180px; gap:12px; align-items:end; margin:18px 0; padding:14px; border:1px solid #dbe4f0; background:#f8fafc; border-radius:18px; }
.agent-builder label { font-weight:900; color:#334155; }

.report-grid { display:grid; gap:16px; margin:16px 0; }
.report-kpis { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kpi-card { background:#fff; border:1px solid #dbe4f0; border-left:5px solid #2563eb; border-radius:20px; padding:18px 20px; box-shadow:0 18px 42px rgba(15,23,42,.08); display:grid; gap:8px; }
.kpi-card span { color:#64748b; font-weight:900; }
.kpi-card strong { font-size:clamp(24px, 3vw, 36px); color:#0f172a; }
.kpi-card small { color:#94a3b8; }
.accent-blue { border-left-color:#2563eb; }
.accent-green { border-left-color:#16a34a; }
.accent-orange { border-left-color:#f97316; }
.accent-purple { border-left-color:#7c3aed; }
.accent-red { border-left-color:#dc2626; }
.report-mini-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:10px; margin:12px 0; }
.report-mini-grid > div { border:1px solid #e2e8f0; background:#f8fafc; border-radius:16px; padding:12px; display:grid; gap:4px; }
.report-mini-grid span { color:#64748b; font-weight:800; }
.report-mini-grid strong { font-size:20px; }
.accountant-card { background:linear-gradient(135deg,#ffffff,#eef4ff); }
.center, .text-center { text-align:center; }

@media (max-width: 1000px) {
    .two-columns, .three-columns { grid-template-columns:1fr; }
    .agent-builder { grid-template-columns:1fr; }
}

/* Cotizaciones y proveedores refinados */
.compact-hero{padding:22px 28px}.compact-hero h2{font-size:30px}.compact-hero p{max-width:820px}.compact-filter-row{grid-template-columns:2fr 1fr 1fr 1fr auto auto;align-items:end}.quote-item-row{display:grid;grid-template-columns:2fr .55fr .7fr .7fr auto;gap:10px;align-items:end;background:#f8fbff;border:1px solid var(--border);border-radius:16px;padding:10px;margin-bottom:10px}.quote-total-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;padding:14px;text-align:right}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.supplier-due-panel .section-header{align-items:flex-start}.provider-due-filters,.pro-inline-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;align-items:end;width:100%}.provider-due-filters .btn,.pro-inline-filters .btn{height:42px}.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.report-kpi{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff}.report-kpi strong{font-size:24px}.report-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.report-section-full{grid-column:1/-1}@media(max-width:1100px){.compact-filter-row,.provider-due-filters,.pro-inline-filters,.quote-item-row,.report-kpi-grid,.report-sections{grid-template-columns:1fr}.table-actions{display:block}.table-actions .btn{margin-bottom:6px}}

/* Mejoras finales: cotizaciones, proveedores y reportes */
.quote-filter-bar,
.report-filter-bar,
.pro-filter-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(auto-fit, minmax(150px, .8fr));
    gap: 12px;
    align-items: end;
}
.quote-filter-bar button,
.report-filter-bar button,
.pro-filter-row button {
    min-height: 46px;
}
.quote-items-box {
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 14px;
}
.quote-item-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 140px 90px;
    gap: 10px;
    align-items: end;
    margin-bottom: 10px;
}
.horizontal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.supplier-due-panel .filter-bar {
    margin: 14px 0 18px;
}
.supplier-due-panel .section-heading p {
    margin: 4px 0 0;
}
.report-grid .module-panel,
.report-kpis .kpi-card {
    min-width: 0;
}
@media (max-width: 980px) {
    .quote-item-row { grid-template-columns: 1fr; }
    .quote-filter-bar, .report-filter-bar, .pro-filter-row { grid-template-columns: 1fr; }
}

/* Pro V4: cotizaciones, compras y reportes mas corporativos */
.quote-workspace { background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%); border:1px solid #dbe6f5; box-shadow:0 22px 50px rgba(15,23,42,.08); }
.quote-form-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; }
.quote-form-header h2 { margin:3px 0 4px; font-size:26px; }
.quote-info-grid { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:12px; margin-bottom:12px; }
.quote-notes { display:block; margin-bottom:14px; }
.quote-builder-grid { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; align-items:start; }
.quote-builder-main { background:#fff; border:1px solid #dde8f6; border-radius:20px; padding:16px; }
.quote-lines { display:grid; gap:10px; }
.quote-line-row { display:grid; grid-template-columns:minmax(260px,1fr) 110px 110px 110px auto; gap:10px; align-items:center; background:#f8fbff; border:1px solid #dde8f6; border-radius:18px; padding:10px; }
.quote-line-row strong { color:#0f172a; font-size:16px; }
.quote-summary-card { position:sticky; top:16px; background:linear-gradient(180deg,#0f172a,#1d4ed8); color:#fff; border-radius:22px; padding:18px; box-shadow:0 22px 42px rgba(37,99,235,.22); display:grid; gap:12px; }
.quote-summary-card .eyebrow { color:#bfdbfe; }
.quote-summary-card div { display:flex; justify-content:space-between; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.18); padding-bottom:9px; }
.quote-summary-card label { color:#dbeafe; }
.quote-summary-card input { background:#fff; color:#0f172a; }
.quote-summary-card small { color:#dbeafe; line-height:1.4; }
.quote-grand-total strong { font-size:28px; }
.same-line-filter { align-items:end; }
.same-row-controls { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }
.quote-list-table .table-actions { justify-content:flex-start; }
.quote-products-cell { min-width:240px; }
.purchase-lines .purchase-row { display:grid; grid-template-columns:1.2fr 1fr 1fr 90px 110px 110px 110px auto; gap:8px; align-items:center; }
.report-tab-panel { display:none; }
.report-tab-panel.active { display:block; }
@media(max-width:1180px){ .quote-info-grid,.quote-builder-grid,.quote-line-row,.purchase-lines .purchase-row{grid-template-columns:1fr}.quote-summary-card{position:relative;top:auto}.quote-form-header{display:block}.quote-form-header .btn{margin-top:10px}.same-row-controls{width:100%} }

/* Ajustes Pro finales solicitados */
.grouped-nav .nav-group.active-group > summary{background:rgba(37,99,235,.22);box-shadow:inset 4px 0 0 #60a5fa;color:#fff}
.grouped-nav .nav-group.active-group > summary span{background:rgba(96,165,250,.18)}
.elegant-document{background:#fff;border:1px solid #dbe3ef;border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(15,23,42,.12);max-width:980px;margin:auto}
.doc-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #173a77;padding-bottom:18px;margin-bottom:20px}.brand-doc{display:flex;gap:15px;align-items:flex-start}.doc-logo{max-width:110px;max-height:80px;object-fit:contain}.doc-title{text-align:right}.doc-title h1{margin:.2rem 0;font-size:26px;color:#173a77}.doc-title strong{font-size:30px}.doc-grid.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.box{border:1px solid #dbe3ef;border-radius:16px;padding:14px;background:#f8fbff}.box h3{margin:0 0 8px;color:#173a77}.print-table{width:100%;border-collapse:collapse}.print-table th{background:#eef5ff;color:#173a77;text-align:left;padding:10px;border-bottom:1px solid #d8e2f0}.print-table td{padding:10px;border-bottom:1px solid #e5edf7}.doc-totals{margin:18px 0 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.doc-totals>div{border:1px solid #dbe3ef;border-radius:14px;padding:12px}.doc-totals .grand{background:#eff6ff;color:#173a77}.doc-footer{margin-top:24px;text-align:center;color:#64748b}.quote-hero-pro{background:linear-gradient(135deg,#ffffff 0%,#eef5ff 100%)}.modern-tabs{position:sticky;top:0;z-index:6;background:rgba(239,246,255,.9);backdrop-filter:blur(10px);padding:10px;border-radius:20px;margin:18px 0}.modern-tabs a,.modern-tabs button{border-radius:14px;padding:12px 18px}.pro-card-flat{background:#fff;border:1px solid #dbe6f5;box-shadow:0 14px 35px rgba(15,23,42,.06)}.quote-pos-form input,.quote-pos-form select{min-height:44px}.quote-summary-card{min-width:260px}.report-tabs{background:#fff;border:1px solid #dbe6f5;border-radius:20px;padding:10px;position:sticky;top:0;z-index:5}.report-tab-section{animation:fadeIn .18s ease}.pro-metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.big-number{font-size:32px;font-weight:900}.danger-text{color:#dc2626}.responsive-table-wrap{overflow-x:auto}.purchase-form .purchase-row{margin-bottom:10px;background:#f8fbff;border:1px solid #dbe6f5;border-radius:16px;padding:10px}.tiny-pill{font-size:12px}
@media print{.no-print,.print-actions,.sidebar,.topbar{display:none!important}.main{padding:0!important;background:#fff}.elegant-document{box-shadow:none;border:0;border-radius:0;padding:0;max-width:none}.doc-head{break-inside:avoid}.doc-totals{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.doc-head,.doc-grid.two-cols,.doc-totals,.report-grid{grid-template-columns:1fr;display:grid}.doc-title{text-align:left}.brand-doc{display:block}.quote-info-grid{grid-template-columns:1fr 1fr}.quote-line-row{grid-template-columns:1fr}.quote-builder-grid{grid-template-columns:1fr}}

/* Pro V5: interfaz compacta, POS mas usable e impresiones elegantes */
:root{--ui-font-scale:.88}
body{font-size:14px}.content,.main-content{font-size:14px}.module-hero h2{font-size:clamp(26px,3vw,40px)}.module-hero.compact-hero{padding:18px 24px}.panel,.module-panel{padding:20px}.eyebrow{font-size:12px;letter-spacing:.18em}
.pos-workspace{font-size:13px}.pos-workspace h2{font-size:24px}.pos-top-lean{padding:16px 20px}.pos-lean-grid{grid-template-columns:1.2fr 2.1fr 1.4fr 1.1fr 1.1fr 1fr;gap:10px}.pos-lean-field{min-height:86px;padding:12px}.pos-lean-field label{font-size:11px}.pos-lean-field input,.pos-lean-field select{min-height:42px;font-size:14px}.pos-main-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);gap:18px}.sale-panel-refined,.catalog-panel-refined{padding:16px}.pos-sale-table th,.pos-sale-table td{padding:9px 10px;font-size:13px}.pos-sale-table-wrap{max-height:360px}.refined-product-results{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:390px}.refined-pos-product-card{padding:10px;min-height:210px}.refined-pos-product-card strong{font-size:14px}.product-card-price{font-size:18px}.stock-pill{font-size:11px}.pos-bottom-bar{min-height:70px;padding:10px 16px}.bar-action{min-height:44px;padding:0 16px;font-size:14px}.bottom-total strong{font-size:26px}.inline-discount-label input{max-width:96px}.payment-summary-grid>div{padding:13px}.modal-card{max-height:88vh}.wide-modal{max-width:980px}.shipping-inline-panel{grid-template-columns:repeat(3,1fr);gap:10px}
.money-danger{color:#dc2626!important}.money-ok{color:#15803d!important}.btn-success,.success-action{background:#16a34a!important;color:#fff!important}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .nav{padding-bottom:40px}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:#475569;border-radius:10px}
.report-tab-panel,.report-tab-section{background:#fff;border:1px solid #dbe6f5;border-radius:20px;padding:18px;margin-top:14px}.report-tabs .active{box-shadow:0 10px 24px rgba(37,99,235,.16)}
.print-document,.elegant-document{max-width:780px!important;margin:16px auto!important;padding:26px!important;background:#fff!important;color:#111827!important}.doc-head{align-items:flex-start}.doc-title strong{font-size:26px}.print-table{font-size:12px}.print-table th,.print-table td{padding:8px!important}.doc-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.doc-footer{font-size:12px}.receipt-page{padding:18px}
.return-sale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.return-doc-card{border:1px solid #dbe6f5;border-radius:18px;padding:14px;background:#fff}.return-doc-card strong{font-size:16px}.return-doc-card .actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.dashboard-manager-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.85fr);gap:18px}.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.branch-filter-chip{display:flex;gap:10px;align-items:center;justify-content:flex-end}.branch-filter-chip select{max-width:260px;background:#fff}
@media(max-width:1200px){.pos-main-grid,.dashboard-manager-grid{grid-template-columns:1fr}.pos-lean-grid{grid-template-columns:repeat(3,1fr)}.shipping-inline-panel{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.pos-lean-grid,.shipping-inline-panel,.doc-totals{grid-template-columns:1fr}.pos-bottom-bar{position:static;display:grid;grid-template-columns:1fr 1fr}.bottom-total{grid-column:1/-1}.print-document,.elegant-document{max-width:100%!important;padding:14px!important}.doc-head{display:block}.doc-title{text-align:left}}
@media print{body{background:#fff!important}.print-document,.elegant-document{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.print-actions,.no-print{display:none!important}.table-wrap{overflow:visible!important}.print-table{font-size:11px}.doc-head{border-bottom:2px solid #111!important}.doc-totals{grid-template-columns:repeat(4,1fr)!important}}

/* Pro V5.1: compras masivas, compras compactas y reportes corporativos */
.purchase-line-grid{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(150px,1fr) 120px 120px 82px 95px 95px 95px 90px 82px;gap:8px;align-items:center;margin-bottom:8px;background:#f8fbff;border:1px solid #dbe6f5;border-radius:14px;padding:8px}
.purchase-line-grid input,.purchase-line-grid select{min-height:38px;font-size:13px}.fixed-lines{display:grid;gap:8px}.compact-form-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.same-line-filter input,.same-line-filter select{min-height:40px}.table-controls.same-row-controls input{min-height:40px}.report-tabs{display:flex;gap:8px;flex-wrap:wrap}.report-tabs button{border:1px solid #dbe6f5;background:#eef5ff;color:#0f2a5f;border-radius:14px;padding:10px 14px;font-weight:900}.report-tabs button.active{background:#2563eb;color:#fff}.return-sale-grid{margin-bottom:18px}.print-number{text-align:right}.print-number span{display:block;color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.text-danger{color:#dc2626}.field-error{color:#dc2626}.field-ok{color:#15803d}
@media(max-width:1200px){.purchase-line-grid{grid-template-columns:1fr 1fr 1fr}.purchase-line-grid strong,.purchase-line-grid button{grid-column:auto}}
@media(max-width:780px){.purchase-line-grid{grid-template-columns:1fr}}

/* Cotizaciones: busqueda inteligente de productos por sucursal */
.quote-product-picker { position: relative; min-width: 0; }
.quote-product-picker input[type="text"] { width: 100%; }
.quote-product-picker small { display: block; margin-top: 4px; color: #64748b; line-height: 1.25; }
.quote-product-results {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 50;
    background: #fff;
    border: 1px solid #dbe5f3;
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
    max-height: 320px;
    overflow: auto;
    padding: 6px;
}
.quote-product-option {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border-radius: 12px;
    cursor: pointer;
    color: #0f172a;
}
.quote-product-option:hover { background: #eff6ff; }
.quote-product-option strong { font-size: 13px; color: #0f172a; }
.quote-product-option span, .quote-product-option small { font-size: 12px; color: #52647a; }
.quote-product-option.muted { cursor: default; color: #64748b; }

/* Pro V6 complete pack: compact quote builder, layaways and public catalog */
.inline-product-picker {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) 120px 130px auto;
    gap: 10px;
    align-items: end;
    padding: 12px;
    background: #f8fafc;
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 18px;
    margin: 12px 0;
    position: relative;
}
.quote-inline-picker { grid-template-columns: minmax(360px, 1fr) auto; }
.picker-main { position: relative; min-width: 0; }
.tooltip {
    display: inline-flex;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 900;
    cursor: help;
}
.floating-results {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 40;
    display: none;
    max-height: 320px;
    overflow: auto;
    border: 1px solid var(--border, #e2e8f0);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 35px rgba(15, 23, 42, .14);
}
.selected-branch-note {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    color: #166534;
    padding: 8px 12px;
    border-radius: 999px;
    margin-bottom: 10px;
    font-size: 13px;
}
.quote-line-row {
    grid-template-columns: minmax(280px, 1fr) 90px 90px 110px auto;
    align-items: end;
}
.quote-product-picker input[readonly] {
    background: #fff;
    color: #0f172a;
    font-weight: 700;
}
.text-danger { color: #dc2626; }
.text-success { color: #16a34a; }
.mini-pay-form {
    display: grid;
    grid-template-columns: 90px 130px 140px auto;
    gap: 6px;
    align-items: center;
    margin-top: 6px;
}
.layaway-builder-panel .data-table input,
.mini-pay-form input,
.mini-pay-form select { min-height: 32px; padding: 6px 8px; font-size: 12px; }
.catalog-public-body { background: #eef4ff; color: #0f172a; padding-bottom: 110px; }
.catalog-hero-public {
    max-width: 1160px;
    margin: 24px auto 12px;
    padding: 28px;
    border-radius: 28px;
    background: linear-gradient(135deg, #0f172a, #1d4ed8);
    color: #fff;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .18);
}
.catalog-hero-public h1 { margin: 6px 0; font-size: clamp(28px, 4vw, 44px); }
.catalog-toolbar-public { max-width: 1160px; margin: 0 auto 16px; }
.catalog-grid-public {
    max-width: 1160px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 16px;
}
.catalog-product-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    padding: 14px;
    box-shadow: 0 15px 30px rgba(15, 23, 42, .06);
    display: grid;
    gap: 8px;
}
.catalog-img { height: 150px; background: #f8fafc; border-radius: 18px; display: grid; place-items: center; overflow: hidden; }
.catalog-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.catalog-product-card h3 { margin: 0; font-size: 16px; }
.catalog-product-card p { margin: 0; color: #64748b; font-size: 13px; min-height: 38px; }
.catalog-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.catalog-card-footer strong { font-size: 18px; color: #1d4ed8; }
.catalog-card-footer span { font-size: 12px; color: #166534; background: #dcfce7; border-radius: 999px; padding: 5px 8px; }
.catalog-cart-public {
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: min(740px, calc(100% - 24px));
    background: rgba(255, 255, 255, .96);
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    padding: 14px;
    box-shadow: 0 22px 45px rgba(15, 23, 42, .18);
    backdrop-filter: blur(8px);
}
.catalog-cart-public h3 { margin: 0 0 8px; }
.catalog-cart-line { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; border-top: 1px solid #e2e8f0; padding: 8px 0; }
.catalog-cart-line button { border: 0; color: #dc2626; background: transparent; font-weight: 800; cursor: pointer; }
.print-number { text-align: right; }
.print-number span { display: block; color: #64748b; }
.print-number strong { font-size: 24px; color: #0f172a; }
.signature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 60px; }
.signature-grid div { border-top: 1px solid #334155; padding-top: 8px; text-align: center; color: #334155; }
@media (max-width: 900px) {
    .inline-product-picker,
    .quote-inline-picker,
    .mini-pay-form { grid-template-columns: 1fr; }
    .catalog-cart-line { grid-template-columns: 1fr; }
}

/* Pro V7 - catalogo publico, preventas, apartados y permisos compactos */
.pro-hero{align-items:center}.sticky-tabs{position:sticky;top:0;z-index:6;background:rgba(232,240,250,.94);backdrop-filter:blur(8px);padding:10px 0;border-radius:18px}.modal-card-xl{max-width:1160px;width:min(1160px,96vw)}.wide-modal{max-height:92vh;overflow:auto}.compact-card{overflow:visible}.text-danger{color:#dc2626!important}.text-success{color:#15803d!important}.right{text-align:right}.center{text-align:center}.live-field,.live-lookup-field,.picker-main{position:relative}.live-results,.quote-product-results{position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;border:1px solid #dbe5f2;border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.18);max-height:310px;overflow:auto;padding:8px}.live-result-card,.quote-product-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf2f7;background:#fff;padding:12px;border-radius:10px;cursor:pointer}.live-result-card:hover,.quote-product-option:hover{background:#eff6ff}.live-result-card strong,.quote-product-option strong{display:block;color:#0f172a}.live-result-card small,.quote-product-option small,.quote-product-option span{display:block;color:#64748b;margin-top:3px}.live-empty,.live-hint{padding:12px;color:#64748b}.selected-live-card,.customer-selected-card,.agent-selected-product{margin-top:8px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;padding:10px 12px}.selected-live-card strong,.customer-selected-card strong,.agent-selected-product strong{display:block}.selected-live-card small,.customer-selected-card small,.agent-selected-product small{display:block;color:#42654b;margin-top:2px}.tooltip{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:900;cursor:help}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.same-row-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.same-row-controls input{min-width:230px}.mini-pay-form{display:grid;grid-template-columns:90px 140px 150px auto;gap:8px;align-items:center}.mini-pay-form input,.mini-pay-form select{min-height:38px;padding:8px 10px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.metric-card{border-left:4px solid #2563eb}.metric-card.success{border-color:#16a34a}.metric-card.warning{border-color:#f97316}

.catalog-public-page{background:#eef4fb;min-height:100vh}.catalog-hero-pro-public{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;max-width:1180px;margin:0 auto 18px;padding:30px;border-radius:24px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.08)}.catalog-public-brand h1{font-size:36px;margin:8px 0}.catalog-settings-link{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:12px;background:#eaf0ff;color:#12357a;font-weight:800;text-decoration:none}.catalog-promo-ribbon{position:absolute;top:12px;left:12px;background:#fef3c7;color:#92400e;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px}.catalog-price-stack{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.catalog-price-stack .price-main{font-size:24px;font-weight:900;color:#2563eb}.catalog-price-stack .price-alt{font-weight:800;color:#4f46e5;background:#eef2ff;border-radius:999px;padding:5px 8px}.catalog-disabled-box{max-width:720px;margin:80px auto;background:#fff;border-radius:24px;padding:38px;text-align:center;box-shadow:0 20px 40px rgba(15,23,42,.1)}

.agent-create-modal .agent-form-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:14px}.agent-builder-pro{display:grid;grid-template-columns:2fr 1.2fr .6fr auto;gap:12px;align-items:end;background:#f8fbff;border:1px solid #dbe5f2;border-radius:18px;padding:14px;margin-bottom:12px}.agent-actions{min-width:320px}.inline-status-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;width:100%}.stock-branch-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.stock-chip{display:inline-flex;align-items:center;background:#edf3ff;color:#12357a;border-radius:999px;padding:6px 10px;font-weight:800}.product-live-result span{font-weight:800;color:#12357a}.branch-source-select{min-width:220px}

.user-modal-compact{padding:24px}.user-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.permissions-pro-header{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:18px 0 10px}.permissions-pro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:46vh;overflow:auto;padding-right:6px}.permission-branch-card{background:#f8fbff;border:1px solid #dbe5f2;border-radius:16px;padding:0}.permission-branch-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px}.permission-branch-card summary span{color:#64748b;font-size:12px}.permission-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}.permission-actions-grid label{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}.permission-actions-grid span{font-weight:900}.permission-actions-grid small{grid-column:2;color:#64748b}.sticky-form-action{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.1),#fff 30%);padding-top:12px}

.layaway-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.layaway-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.layaway-form-grid .span-2{grid-column:span 2}.layaway-product-console{background:#f8fbff;border:1px solid #dbe5f2;border-radius:20px;padding:16px}.console-title{margin-bottom:10px}.console-title strong{display:block;font-size:20px}.console-title small{display:block;color:#64748b}.layaway-picker-row{display:grid;grid-template-columns:2fr .55fr .55fr auto;gap:12px;align-items:end}.selected-branch-note{margin:8px 0;color:#64748b}.selected-branch-note strong{display:inline-block;background:#dcfce7;color:#166534;border-radius:999px;padding:5px 10px}.layaway-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 18px}.layaway-report-grid>div{border:1px solid #dbe5f2;background:#f8fbff;border-radius:16px;padding:16px}.layaway-report-grid span{display:block;color:#64748b;font-weight:800}.layaway-report-grid strong{font-size:28px}.layaway-builder-panel .table-wrap{margin-top:10px}

.return-items-table input[type=number]{max-width:160px}.return-qty-hint{display:block;margin-top:4px}.field-ok{color:#15803d!important}.field-error{color:#dc2626!important}

@media (max-width:1100px){.agent-create-modal .agent-form-top,.agent-builder-pro,.layaway-form-grid,.layaway-picker-row,.user-form-grid{grid-template-columns:1fr}.layaway-form-grid .span-2{grid-column:auto}.permissions-pro-grid,.metric-grid,.layaway-metrics,.layaway-report-grid{grid-template-columns:1fr}.inline-status-form,.mini-pay-form{grid-template-columns:1fr}.agent-actions{min-width:0}.catalog-hero-pro-public{display:block}}

/* V8 UX ajustes: POS compacto, totales ordenados, preventas validadas y catalogo publico */
.pos-lean{font-size:14px}.pos-lean .panel{border-radius:18px}.pos-lean-title h2{font-size:28px}.pos-lean-grid{gap:10px}.pos-lean-field{min-height:88px;padding:14px}.pos-lean-field label{font-size:11px;letter-spacing:.12em}.pos-sale-table th,.pos-sale-table td{padding:10px 12px}.pos-sale-table img,.cart-product-img{width:42px;height:42px;object-fit:cover;border-radius:10px}.pos-discount-totals{display:grid!important;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;align-items:end}.pos-discount-totals>span,.pos-discount-totals>label{background:#f8fbff;border:1px solid #dbe3ef;border-radius:12px;padding:10px 12px;margin:0}.pos-discount-totals input{height:40px;max-width:120px}.lean-bottom-bar{gap:10px}.lean-bottom-bar .bar-action{min-width:120px;padding:13px 18px}.lean-bottom-bar .bottom-total{min-width:220px;text-align:right}.lean-bottom-bar .bottom-total strong{font-size:28px}.catalog-panel-refined{min-width:360px}.refined-bottom-bar{box-shadow:0 -12px 28px rgba(15,23,42,.08)}
@media (max-width:1400px){.pos-main-lean{grid-template-columns:1.25fr .85fr}.pos-lean-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.pos-discount-totals{grid-template-columns:repeat(2,minmax(160px,1fr))}.lean-bottom-bar .bar-action{min-width:105px;padding:12px}.lean-bottom-bar .bottom-total{min-width:190px}.pos-lean-title h2{font-size:24px}}
@media (max-width:1100px){.pos-main-lean{grid-template-columns:1fr}.pos-discount-totals{grid-template-columns:1fr}.lean-bottom-bar{position:sticky;bottom:0;overflow-x:auto}.lean-bottom-bar .bar-action{white-space:nowrap}}
.agent-validation-card{background:#f8fbff;border:1px solid #dbe3ef;border-radius:18px;padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.agent-validation-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.agent-validation-head h3{margin:4px 0 2px;font-size:20px}.agent-validation-head p{margin:0;color:#64748b}.agent-validation-actions{display:flex;gap:8px;flex-wrap:wrap}.agent-validation-bottom{display:flex;gap:12px;align-items:end;margin-top:14px}.agent-validation-bottom .grow{flex:1}.mini-number{max-width:120px}.agent-detail-row>td{background:#f1f5fb!important;padding:16px!important}.agent-validate-table tbody tr:not(.agent-detail-row):hover{background:#f8fbff}.agent-builder-pro{display:grid;grid-template-columns:1.5fr 1fr 160px 180px;gap:12px;align-items:end}.agent-form-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin-bottom:14px}.live-results{position:absolute;z-index:50;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 18px 34px rgba(15,23,42,.14);width:100%;max-height:280px;overflow:auto}.live-lookup-field{position:relative}.live-result-card,.quote-product-option{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:#fff;border-bottom:1px solid #eef2f7;cursor:pointer}.live-result-card:hover,.quote-product-option:hover{background:#eff6ff}.live-result-card small,.live-result-card span{display:block;color:#64748b}.stock-branch-options{display:flex;gap:8px;flex-wrap:wrap}.stock-chip{background:#eaf0ff;color:#12357a;border-radius:999px;padding:5px 9px;font-weight:700;font-size:12px}.tooltip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:12px}
.catalog-disabled-box{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:24px;text-align:center}.catalog-config-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.catalog-settings-link{border:1px solid #dbe3ef;border-radius:14px;padding:14px;background:#f8fbff;display:flex;gap:10px;justify-content:space-between;align-items:center}.catalog-product-pro-card{position:relative;overflow:hidden}.catalog-promo-ribbon{position:absolute;top:10px;left:-32px;background:#f97316;color:#fff;font-weight:800;transform:rotate(-35deg);padding:5px 40px;font-size:11px;z-index:2}.catalog-price-stack{display:grid;gap:4px;margin:10px 0}.catalog-price-main{font-size:22px;color:#2563eb;font-weight:900}.catalog-price-alt{font-size:14px;color:#0f766e;font-weight:800}.catalog-card-footer{display:flex;align-items:center;justify-content:space-between;margin:10px 0;color:#64748b}.catalog-cart-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border-bottom:1px solid #e2e8f0;padding:8px 0}.catalog-cart-line button{border:0;background:#fee2e2;color:#b91c1c;border-radius:8px;padding:6px 8px;font-weight:700}
.receipt-clean-document{color:#0f172a}.receipt-clean-document .print-actions{display:flex;justify-content:center;gap:10px;margin-bottom:12px}.receipt-clean-document .btn-light{background:#eaf0ff;color:#12357a}.center{text-align:center}.text-center{text-align:center}.field-error{color:#dc2626!important}.field-ok{color:#047857!important}
.user-branch-permissions,.permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.permission-card{border:1px solid #dbe3ef;border-radius:14px;padding:12px;background:#f8fbff}.permission-card h4{margin:0 0 8px}.permission-card .check-row{display:flex;justify-content:space-between;border:0;padding:6px 0}.modal-card-xl{max-width:1100px;width:min(1100px,96vw)}

/* V8.2 ajustes finales: preventas cerradas por defecto, POS compacto y validaciones visibles */
.agent-detail-row { display: none; }
.agent-validate-table .btn-primary { white-space: nowrap; }
.agent-validation-card { max-width: 100%; }
.agent-validation-actions .btn-primary { background: #2563eb; color: #fff; }
.pos-discount-totals { align-items: stretch !important; }
.pos-discount-totals > span, .pos-discount-totals > label { min-height: 58px; display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.pos-discount-totals label input, .shipping-inline-panel input { text-align: right; }
.return-qty-input.input-error { border-color: #dc2626 !important; box-shadow: 0 0 0 4px rgba(220,38,38,.12) !important; }
.receipt-table-v8 { overflow: visible !important; }
.receipt-total-grid-v8 { align-items: stretch; }
.catalog-settings-link strong { word-break: break-all; }
.catalog-public-body .catalog-toolbar-pro input,
.catalog-public-body .catalog-toolbar-pro select { min-height: 44px; }
@media (max-width: 1500px) {
    .pos-workspace { font-size: 12.5px; }
    .pos-lean-title h2 { font-size: 24px; }
    .pos-lean-field { min-height: 78px; padding: 12px; }
    .pos-lean-field input, .pos-lean-field select { min-height: 40px; font-size: 13px; }
    .pos-sale-table th, .pos-sale-table td { padding: 8px 9px; }
    .bottom-total strong { font-size: 24px; }
}
@media print {
    .receipt-clean-document { box-shadow: none !important; }
}

/* Catalog public enhanced experience */
.catalog-hero-enhanced{margin-top:22px;position:relative;overflow:hidden}.catalog-hero-enhanced:before{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:50%;background:rgba(37,99,235,.08)}.catalog-brand-card{min-width:220px;display:grid;gap:8px;justify-items:center;text-align:center}.catalog-brand-card img{width:82px;height:82px;object-fit:contain;border-radius:20px;background:#f8fbff;padding:10px;border:1px solid #dbe3ef}.catalog-brand-card small{color:#64748b}.catalog-hero-mini-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.catalog-toolbar-enhanced{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.catalog-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;align-items:end}.catalog-results-summary{display:flex;align-items:center;gap:8px;justify-content:flex-end;color:#475569}.catalog-grid-enhanced{max-width:1180px;margin:0 auto 16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.catalog-showcase-card{display:flex;flex-direction:column;justify-content:space-between;padding:14px;border-radius:24px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.08);border:1px solid rgba(37,99,235,.09)}.catalog-showcase-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,23,42,.12)}.catalog-card-body{display:grid;gap:8px}.catalog-card-actions{display:grid;gap:10px;margin-top:12px}.catalog-qty-picker{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border:1px solid #dbe3ef;border-radius:14px;overflow:hidden;background:#f8fbff}.catalog-qty-picker button{border:0;background:#eef4ff;color:#1d4ed8;font-size:22px;font-weight:900;height:44px;cursor:pointer}.catalog-qty-picker input{border:0;text-align:center;background:transparent;font-weight:800;color:#0f172a;height:44px}.catalog-cart-enhanced{box-shadow:0 20px 50px rgba(15,23,42,.12)}.catalog-cart-head,.catalog-cart-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-cart-summary{padding-top:12px;margin-top:12px;border-top:1px solid #e2e8f0}.catalog-cart-items{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:4px}.enhanced-line{grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;background:#f8fbff;border:1px solid #e2e8f0;border-radius:14px;padding:10px}.enhanced-line small{display:block;color:#64748b;margin-top:2px}.catalog-mini-stepper{display:inline-grid;grid-template-columns:32px 40px 32px;align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:999px;overflow:hidden}.catalog-mini-stepper button{border:0;background:#eef4ff;color:#1d4ed8;font-weight:900;height:32px;cursor:pointer}.catalog-mini-stepper span{text-align:center;font-weight:800}.catalog-pagination-wrap{max-width:1180px;margin:0 auto 18px}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:10px;background:#fff;border:1px solid #dbe3ef;border-radius:999px;padding:10px 14px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.catalog-style-glass .catalog-hero-enhanced,.catalog-style-glass .catalog-showcase-card,.catalog-style-glass .catalog-pagination,.catalog-style-glass .catalog-cart-enhanced{background:rgba(255,255,255,.72);backdrop-filter:blur(12px)}.catalog-style-glass .catalog-showcase-card{border-color:rgba(255,255,255,.65)}.catalog-style-minimal .catalog-hero-enhanced,.catalog-style-minimal .catalog-showcase-card,.catalog-style-minimal .catalog-pagination,.catalog-style-minimal .catalog-cart-enhanced{border-radius:16px;box-shadow:none;border:1px solid #dbe3ef}.catalog-style-minimal .catalog-public-page{background:#f8fafc}.catalog-style-minimal .catalog-hero-enhanced:before{display:none}
@media (max-width:1100px){.catalog-toolbar-enhanced{grid-template-columns:1fr}.catalog-results-summary{justify-content:flex-start}.catalog-filter-grid{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.catalog-filter-grid{grid-template-columns:1fr}.catalog-grid-enhanced{grid-template-columns:1fr}.catalog-showcase-card{border-radius:18px}.enhanced-line{grid-template-columns:1fr}.catalog-pagination{border-radius:18px;flex-wrap:wrap}.catalog-brand-card{min-width:0}.catalog-hero-mini-stats{margin-bottom:10px}}

.catalog-workspace{max-width:1180px;margin:0 auto 22px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.catalog-main-column{min-width:0}.catalog-cart-sticky{position:sticky;top:18px}.catalog-cart-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e2e8f0}.catalog-cart-brand img{width:56px;height:56px;object-fit:contain;border-radius:16px;background:#f8fbff;padding:8px;border:1px solid #dbe3ef}.catalog-cart-brand strong{display:block;font-size:15px}.catalog-cart-brand small{display:block;color:#64748b;margin-top:2px}.catalog-cart-helper{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f8fbff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;margin-bottom:10px;color:#475569}.catalog-cart-helper .btn{white-space:nowrap}.catalog-cart-summary small{display:block;color:#64748b}.catalog-cart-summary strong{font-size:24px}.catalog-cart-summary-meta{text-align:right}.catalog-cart-public .btn.disabled{pointer-events:none;opacity:.55}.btn-xs{min-height:34px;padding:0 12px;font-size:12px;border-radius:10px}.catalog-brand-pro-card{align-items:flex-start;text-align:left}.catalog-brand-pro-card img{align-self:flex-end}.badge.warning{background:#fef3c7;color:#92400e}.catalog-showcase-card .btn.full{width:100%}
@media (max-width:1100px){.catalog-workspace{grid-template-columns:1fr}.catalog-cart-sticky{position:static}.catalog-cart-brand{align-items:flex-start}}

/* Pro V8.6 - catalogo publico premium y sin elementos montados */
.catalog-public-body{background:linear-gradient(135deg,#f7fbff 0%,#eef4ff 55%,#e7efff 100%);padding-bottom:34px}.catalog-public-page{padding:20px 18px 34px}.catalog-hero-pro-public.catalog-hero-enhanced{max-width:1380px;margin:0 auto 18px;padding:28px 32px;border:1px solid rgba(37,99,235,.10);background:linear-gradient(135deg,#ffffff 0%,#f8fbff 60%,#eef6ff 100%);box-shadow:0 24px 70px rgba(15,23,42,.10)}.catalog-hero-enhanced h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.045em}.catalog-hero-enhanced p{max-width:720px;color:#52637a;font-size:16px;line-height:1.55}.catalog-brand-pro-card{background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:18px;box-shadow:0 16px 36px rgba(37,99,235,.08);min-width:280px}.catalog-toolbar-pro.catalog-toolbar-enhanced{max-width:1380px;margin:0 auto 20px;background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:16px;box-shadow:0 14px 38px rgba(15,23,42,.06)}.catalog-filter-grid{grid-template-columns:minmax(260px,420px) 180px}.catalog-filter-grid label{margin:0}.catalog-filter-grid input,.catalog-filter-grid select{border-radius:16px}.catalog-results-summary{background:#f8fbff;border:1px solid #dbeafe;border-radius:16px;padding:13px 16px;white-space:nowrap}.catalog-workspace{max-width:1380px;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}.catalog-workspace .catalog-grid-public,.catalog-workspace .catalog-grid-enhanced{max-width:none!important;margin:0!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.catalog-showcase-card{min-height:520px;border-radius:26px;padding:18px;border:1px solid #dbeafe;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);box-shadow:0 18px 48px rgba(15,23,42,.08)}.catalog-showcase-card:hover{border-color:#2563eb;box-shadow:0 28px 60px rgba(37,99,235,.16)}.catalog-showcase-card .catalog-img{height:176px;border-radius:22px;background:linear-gradient(135deg,#f8fafc,#eef6ff)}.catalog-card-body h3{font-size:20px;line-height:1.18;letter-spacing:-.02em}.catalog-card-body p{font-size:14px;min-height:44px}.catalog-card-body small{min-height:34px;color:#63758f}.catalog-price-main{font-size:20px!important;color:#1d4ed8}.catalog-price-alt{background:#ecfdf5;color:#047857;border-radius:999px;padding:5px 9px}.catalog-card-footer{margin-top:auto}.catalog-card-footer span{background:#dcfce7;color:#166534;font-size:13px;padding:7px 10px}.catalog-qty-picker{border-radius:16px;background:#f8fbff}.catalog-qty-picker input{font-size:17px}.catalog-product-card .btn-primary.full{height:50px;border-radius:16px;font-size:15px;box-shadow:0 12px 24px rgba(37,99,235,.24)}.catalog-promo-ribbon{top:14px;left:14px;transform:none;border-radius:999px;background:#f97316;color:#fff;padding:7px 12px;box-shadow:0 10px 24px rgba(249,115,22,.25)}.catalog-cart-public.catalog-cart-pro.catalog-cart-enhanced.catalog-cart-sticky{position:sticky!important;left:auto!important;right:auto!important;bottom:auto!important;top:22px!important;transform:none!important;width:auto!important;max-width:390px;margin:0!important;border-radius:26px;border:1px solid #bfdbfe;background:rgba(255,255,255,.98);padding:18px;box-shadow:0 26px 70px rgba(15,23,42,.14);backdrop-filter:blur(14px)}.catalog-cart-brand{background:linear-gradient(135deg,#eff6ff,#ffffff);border:1px solid #dbeafe;border-radius:20px;padding:14px;margin-bottom:14px}.catalog-cart-head h3{font-size:24px;margin:0}.catalog-cart-helper{border-radius:18px;background:#f8fbff}.catalog-cart-items{max-height:430px}.catalog-cart-line.enhanced-line{grid-template-columns:minmax(0,1fr);gap:9px;background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.catalog-cart-line.enhanced-line>strong{font-size:16px;color:#0f172a}.catalog-mini-stepper{width:max-content;grid-template-columns:34px 42px 34px}.catalog-cart-line.enhanced-line [data-remove]{justify-self:start;background:#fee2e2;color:#b91c1c;border-radius:12px;padding:8px 12px}.catalog-cart-summary{border-top:1px dashed #cbd5e1;padding-top:14px}.catalog-cart-summary strong{font-size:30px;color:#0f172a}.catalog-cart-summary-meta small{background:#eef2ff;color:#1e3a8a;border-radius:999px;padding:6px 10px}.catalog-cart-public .btn-success.full{height:52px;border-radius:18px;font-size:15px;box-shadow:0 14px 26px rgba(22,163,74,.20)}.catalog-pagination-wrap{max-width:none;margin:20px 0 0}.catalog-disabled-box{border:1px solid #dbeafe}
@media (max-width:1200px){.catalog-workspace{grid-template-columns:1fr}.catalog-cart-public.catalog-cart-pro.catalog-cart-enhanced.catalog-cart-sticky{position:static!important;max-width:none}.catalog-workspace .catalog-grid-public,.catalog-workspace .catalog-grid-enhanced{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.catalog-toolbar-pro.catalog-toolbar-enhanced{grid-template-columns:1fr}.catalog-results-summary{justify-content:flex-start}}
@media (max-width:720px){.catalog-public-page{padding:12px}.catalog-hero-pro-public.catalog-hero-enhanced{padding:20px;border-radius:22px}.catalog-toolbar-pro.catalog-toolbar-enhanced{padding:12px}.catalog-filter-grid{grid-template-columns:1fr}.catalog-workspace .catalog-grid-public,.catalog-workspace .catalog-grid-enhanced{grid-template-columns:1fr}.catalog-showcase-card{min-height:auto}.catalog-cart-public.catalog-cart-pro.catalog-cart-enhanced.catalog-cart-sticky{border-radius:22px;padding:14px}.catalog-cart-summary strong{font-size:24px}}


/* Pro V8.7 - catalogo publico estilo ecommerce */
.catalog-hero-commerce{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:28px;align-items:center}
.catalog-hero-commerce:before{content:"";position:absolute;inset:auto -80px -120px auto;width:360px;height:360px;border-radius:999px;background:radial-gradient(circle,rgba(37,99,235,.18) 0%,rgba(37,99,235,0) 70%);pointer-events:none}
.catalog-hero-copy{position:relative;z-index:1}
.catalog-commerce-pills .badge{box-shadow:0 10px 24px rgba(15,23,42,.06)}
.catalog-hero-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.catalog-hero-trust span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#1e3a8a;font-weight:700;box-shadow:0 10px 24px rgba(37,99,235,.08)}
.catalog-hero-trust span:before{content:"•";color:#22c55e;font-size:18px;line-height:1}
.catalog-brand-ecommerce-card{position:relative;z-index:1;gap:14px}
.catalog-brand-ecommerce-top{display:flex;align-items:center;gap:14px}
.catalog-brand-ecommerce-top img,.catalog-brand-logo-fallback{width:68px;height:68px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;font-size:28px;font-weight:900;color:#1d4ed8;box-shadow:0 12px 28px rgba(37,99,235,.10)}
.catalog-brand-logo-fallback.small{width:56px;height:56px;font-size:22px;border-radius:16px}
.catalog-brand-ecommerce-info{display:grid;gap:6px;padding-top:8px;border-top:1px dashed #dbeafe}
.catalog-brand-ecommerce-info small{color:#64748b}
.catalog-toolbar-commerce{align-items:center}
.catalog-results-ecommerce{display:flex;align-items:center;justify-content:space-between;gap:8px}
.catalog-results-ecommerce strong{font-size:24px;color:#0f172a}
.catalog-workspace-commerce .catalog-main-column{display:grid;gap:18px}
.catalog-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:4px 2px}
.catalog-section-head h2{margin:6px 0 2px;font-size:28px;letter-spacing:-.03em;color:#0f172a}
.catalog-section-head p{margin:0;color:#64748b}
.catalog-grid-commerce{align-items:stretch}
.catalog-commerce-card{position:relative;overflow:hidden;display:grid;grid-template-rows:176px auto auto;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.catalog-commerce-card:before{content:"";position:absolute;left:18px;right:18px;top:18px;height:130px;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#ffffff);z-index:0}
.catalog-commerce-card:hover{transform:translateY(-4px)}
.catalog-commerce-card .catalog-img{position:relative;z-index:1;background:transparent;height:188px;display:flex;align-items:center;justify-content:center}
.catalog-commerce-card .catalog-img img{max-width:86%;max-height:150px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(15,23,42,.16))}
.catalog-card-topline{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.catalog-card-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#1d4ed8;font-size:12px;font-weight:800}
.catalog-card-tag-hot{background:#fff7ed;color:#c2410c}
.catalog-card-body{position:relative;z-index:1}
.catalog-card-body h3{margin:4px 0 2px;min-height:48px;display:flex;align-items:flex-start}
.catalog-card-body p{color:#64748b}
.catalog-price-stack{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.catalog-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.catalog-card-footer span{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:800}
.catalog-card-actions{margin-top:14px}
.catalog-card-actions .btn-primary.full{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:0}
.catalog-cart-ecommerce{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,249,255,.98))}
.catalog-cart-ecommerce .catalog-cart-head{margin-bottom:8px}
.catalog-cart-ecommerce .catalog-cart-head h3{letter-spacing:-.03em}
.catalog-cart-ecommerce .catalog-cart-items{padding-right:2px}
.catalog-cart-item-main{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:center}
.catalog-cart-thumb{width:62px;height:62px;border-radius:16px;background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dbeafe;display:flex;align-items:center;justify-content:center;overflow:hidden}
.catalog-cart-thumb img{width:100%;height:100%;object-fit:contain;padding:8px}
.catalog-cart-item-copy{min-width:0}
.catalog-cart-item-copy strong{display:block;font-size:15px;line-height:1.2;margin-bottom:2px}
.catalog-cart-item-copy small{display:block;color:#64748b;line-height:1.2}
.catalog-cart-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.catalog-line-total{font-size:18px;color:#0f172a}
.catalog-cart-line.enhanced-line [data-remove]{border:0}
.catalog-cart-public .btn-success.full{background:linear-gradient(135deg,#16a34a,#16a34a 55%,#22c55e)}
@media (max-width:1200px){.catalog-hero-commerce{grid-template-columns:1fr}.catalog-brand-ecommerce-card{max-width:none}.catalog-cart-item-main{grid-template-columns:56px minmax(0,1fr)}}
@media (max-width:720px){.catalog-hero-trust{gap:8px}.catalog-hero-trust span{padding:8px 12px;font-size:13px}.catalog-section-head h2{font-size:24px}.catalog-card-body h3{min-height:auto}.catalog-cart-line-bottom{align-items:flex-start}.catalog-line-total{order:2}}

/* =========================================================
   V9 - Interfaz mas compacta, adaptativa y catalogo ecommerce
   ========================================================= */
:root { --v9-navy:#111827; --v9-navy-2:#182235; --v9-yellow:#fbbf24; --v9-orange:#f59e0b; --v9-line:#d9e2ef; --v9-soft:#f5f7fb; }
body { font-size: 14px; }
.main.adaptive-main { padding: clamp(14px,1.6vw,24px); }
.topbar h1 { font-size: clamp(24px,2.4vw,32px); }
.panel, .module-panel, .compact-card { border-radius: 18px; }
.sidebar { width: 270px; padding: 16px 12px; }
.brand { font-size: 20px; }
.user-box { padding: 10px; border-radius: 16px; }
.side-nav a, .nav-group summary { min-height: 42px; padding: 10px 12px !important; border-radius: 14px; }
.nav-group summary { display:flex; align-items:center; gap:12px; cursor:pointer; color:#e2e8f0; }
.nav-group summary span, .side-nav a span { width: 30px; height: 30px; }
.nav-children { display:grid; gap:4px; padding:4px 0 6px 38px; }
.nav-children a { font-size:13px; padding:8px 10px !important; }
.sidebar-toggle { position: sticky; top: 0; z-index: 2; margin-bottom: 10px; background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:14px; min-height:40px; }
.user-dropdown a { white-space:nowrap; }
[data-tooltip] { position: relative; }
[data-tooltip]:hover:after { content: attr(data-tooltip); position:absolute; left:50%; bottom: calc(100% + 9px); transform:translateX(-50%); background:#0f172a; color:#fff; padding:8px 10px; border-radius:10px; font-size:12px; font-weight:700; width:max-content; max-width:260px; z-index:9999; box-shadow:0 12px 30px rgba(15,23,42,.22); }

/* POS compacto */
.pos-workspace { font-size: 12.5px !important; }
.pos-lean-title h2 { font-size: 22px !important; }
.pos-top-lean { padding: 14px 16px !important; }
.pos-lean-grid { grid-template-columns: 1fr 1.8fr 1.2fr 1fr 1fr .85fr !important; gap: 8px !important; }
.pos-lean-field { min-height: 70px !important; padding: 9px 10px !important; border-radius: 14px !important; }
.pos-lean-field label { font-size: 10px !important; margin:0 0 5px !important; }
.pos-lean-field strong { font-size: 14px !important; }
.pos-lean-field input, .pos-lean-field select { min-height: 36px !important; font-size: 13px !important; padding: 7px 10px !important; border-radius: 11px !important; }
.pos-main-lean { grid-template-columns: minmax(0,1.55fr) minmax(320px,.85fr) !important; gap: 14px !important; }
.sale-panel-refined, .catalog-panel-refined { padding: 14px !important; }
.pos-sale-table th, .pos-sale-table td { padding: 8px 9px !important; font-size: 12.5px !important; }
.pos-discount-totals { grid-template-columns: repeat(3,minmax(120px,1fr)) !important; gap: 8px !important; }
.pos-discount-totals > span, .pos-discount-totals > label { padding: 8px 9px !important; font-size: 12px; }
.pos-discount-totals input { height: 34px !important; max-width: 90px !important; }
.lean-bottom-bar { min-height: 64px !important; padding: 8px 12px !important; gap: 8px !important; }
.lean-bottom-bar .bar-action { min-width: 96px !important; min-height: 40px !important; padding: 9px 12px !important; font-size: 13px !important; border-radius: 13px !important; }
.lean-bottom-bar .bottom-total strong { font-size: 22px !important; }
.lean-bottom-bar .bottom-total { min-width: 170px !important; }
.refined-product-results { grid-template-columns: repeat(auto-fill,minmax(138px,1fr)) !important; gap: 8px !important; }
.refined-pos-product-card { min-height: 190px !important; padding: 9px !important; }
@media (max-width:1350px){ .pos-main-lean{grid-template-columns:1fr!important}.pos-lean-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pos-discount-totals{grid-template-columns:repeat(2,minmax(120px,1fr))!important} }
@media (max-width:800px){ .pos-lean-grid,.pos-discount-totals{grid-template-columns:1fr!important}.lean-bottom-bar{position:static!important;display:grid!important;grid-template-columns:1fr 1fr}.lean-bottom-bar .bottom-total{grid-column:1/-1;text-align:left!important}.pos-main-lean{grid-template-columns:1fr!important} }

/* Catalogo estilo marketplace */
.catalog-public-body { background:#e8eef7; color:#111827; }
.market-catalog { min-height:100vh; background:linear-gradient(180deg,#edf4ff 0%,#f7f9fc 36%,#eef3f9 100%); }
.market-topbar { position:sticky; top:0; z-index:30; display:grid; grid-template-columns:260px minmax(320px,1fr) auto; gap:14px; align-items:center; padding:12px clamp(18px,4vw,52px); background:#111827; color:#fff; box-shadow:0 8px 24px rgba(15,23,42,.22); }
.market-logo { display:flex; align-items:center; gap:10px; min-width:0; }
.market-logo img, .market-logo span { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:#2563eb; color:#fff; font-weight:900; object-fit:contain; }
.market-logo strong { font-size:18px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.market-search { display:grid; grid-template-columns:auto minmax(0,1fr) 130px; background:#fff; border-radius:12px; overflow:hidden; border:2px solid transparent; }
.market-search:focus-within { border-color:#fbbf24; }
.market-search select, .market-search input, .market-search button { border:0; border-radius:0; box-shadow:none; min-height:44px; }
.market-search select { width:170px; background:#f3f4f6; border-right:1px solid #d1d5db; font-size:13px; }
.market-search input { font-size:15px; }
.market-search button { background:#fbbf24; color:#111827; font-weight:900; cursor:pointer; }
.market-cart-trigger { border:1px solid rgba(255,255,255,.18); background:#1f2937; color:#fff; border-radius:12px; padding:11px 14px; font-weight:900; cursor:pointer; }
.market-hero { max-width:1500px; margin:22px auto 16px; padding:28px clamp(20px,3vw,34px); display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr); gap:26px; align-items:center; background:radial-gradient(circle at 22% 22%,#dbeafe 0,#fff 42%,#eff6ff 100%); border:1px solid #dbeafe; border-radius:24px; box-shadow:0 18px 50px rgba(15,23,42,.08); }
.market-hero-copy span:first-child, .market-section-head span { text-transform:uppercase; letter-spacing:.16em; color:#2563eb; font-size:12px; font-weight:900; }
.market-hero h1 { margin:8px 0 12px; font-size:clamp(34px,4vw,58px); line-height:.98; letter-spacing:-.06em; color:#0f172a !important; }
.market-hero p { margin:0; max-width:780px; color:#475569; font-size:17px; line-height:1.55; }
.market-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.market-pills b { display:inline-flex; align-items:center; padding:9px 13px; border-radius:999px; background:#fff; color:#1e3a8a; border:1px solid #dbeafe; box-shadow:0 8px 18px rgba(37,99,235,.08); }
.market-store-card { display:flex; gap:14px; align-items:center; padding:20px; border-radius:20px; background:#fff; border:1px solid #dbeafe; box-shadow:0 18px 40px rgba(15,23,42,.08); }
.market-store-logo img, .market-store-logo span { width:72px; height:72px; border-radius:18px; background:linear-gradient(135deg,#2563eb,#7c3aed); color:#fff; display:grid; place-items:center; font-weight:900; font-size:28px; object-fit:contain; }
.market-store-card strong, .market-store-card small { display:block; }
.market-store-card small { color:#64748b; margin-top:4px; }
.market-toolbar, .market-content { max-width:1500px; margin:0 auto; }
.market-content { display:grid; grid-template-columns:220px minmax(0,1fr) 340px; gap:18px; align-items:start; padding:0 0 32px; }
.market-sidebar, .market-cart, .market-products-wrap, .market-empty { background:#fff; border:1px solid #dbe3ef; border-radius:18px; box-shadow:0 14px 34px rgba(15,23,42,.06); }
.market-sidebar { padding:18px; position:sticky; top:78px; }
.market-sidebar h3 { margin:0 0 8px; }
.market-sidebar p { color:#64748b; font-size:13px; line-height:1.45; }
.market-filter-stat { display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px dashed #dbe3ef; }
.market-clear { display:block; margin-top:14px; color:#2563eb; font-weight:900; }
.market-products-wrap { padding:18px; }
.market-section-head { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-bottom:14px; }
.market-section-head h2 { margin:4px 0 0; font-size:28px; letter-spacing:-.04em; }
.market-section-head p { color:#64748b; margin:0; }
.market-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(218px,1fr)); gap:16px; }
.market-product { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid #e2e8f0; border-radius:16px; overflow:hidden; min-height:430px; box-shadow:0 8px 18px rgba(15,23,42,.04); transition:.18s ease; }
.market-product:hover { transform:translateY(-3px); box-shadow:0 18px 38px rgba(15,23,42,.12); border-color:#bfdbfe; }
.market-ribbon { position:absolute; top:12px; left:12px; z-index:2; padding:6px 10px; background:#f97316; color:#fff; border-radius:999px; font-size:12px; font-weight:900; }
.market-img { height:170px; margin:14px; border-radius:14px; background:linear-gradient(135deg,#f8fafc,#eef4ff); display:grid; place-items:center; }
.market-img img { max-width:90%; max-height:145px; object-fit:contain; filter:drop-shadow(0 14px 20px rgba(15,23,42,.12)); }
.market-product-body { padding:0 16px 12px; flex:1; }
.market-rating { color:#f59e0b; font-size:13px; font-weight:900; margin-bottom:8px; }
.market-rating span { color:#16a34a; margin-left:4px; }
.market-product h3 { margin:0 0 7px; font-size:17px; line-height:1.25; min-height:42px; }
.market-product p { margin:0 0 10px; color:#64748b; font-size:13px; min-height:34px; }
.market-product small { color:#64748b; line-height:1.35; }
.market-price-box { margin-top:12px; display:grid; gap:3px; }
.market-price-box strong { font-size:23px; color:#b45309; letter-spacing:-.04em; }
.market-price-box em { font-style:normal; color:#2563eb; font-size:13px; font-weight:800; }
.market-stock { display:inline-flex; margin-top:10px; padding:6px 10px; border-radius:999px; background:#dcfce7; color:#166534; font-weight:900; font-size:12px; }
.market-actions { padding:14px 16px 16px; display:grid; gap:10px; border-top:1px solid #eef2f7; }
.market-stepper { display:grid; grid-template-columns:42px 1fr 42px; border:1px solid #dbe3ef; border-radius:999px; overflow:hidden; background:#f8fafc; }
.market-stepper button { border:0; background:#eef2ff; color:#1d4ed8; font-weight:900; font-size:18px; min-height:38px; cursor:pointer; }
.market-stepper input { border:0; text-align:center; background:#fff; font-weight:900; min-height:38px; }
.market-add { border:0; border-radius:999px; min-height:42px; background:#fbbf24; color:#111827; font-weight:900; cursor:pointer; box-shadow:0 10px 24px rgba(245,158,11,.22); }
.market-add:hover { background:#f59e0b; }
.market-cart { padding:16px; position:sticky; top:78px; max-height:calc(100vh - 96px); overflow:auto; }
.market-cart-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.market-cart-head span { text-transform:uppercase; letter-spacing:.12em; color:#2563eb; font-size:11px; font-weight:900; }
.market-cart-head h3 { margin:3px 0 0; font-size:24px; }
.market-cart-head button, .market-cart-row [data-remove] { border:0; background:#fee2e2; color:#b91c1c; padding:8px 10px; border-radius:10px; font-weight:900; cursor:pointer; }
.market-cart-store { margin:14px 0; background:#f8fbff; border:1px solid #dbeafe; padding:12px; border-radius:14px; }
.market-cart-store strong, .market-cart-store small { display:block; }
.market-cart-store small { color:#64748b; margin-top:2px; }
.market-cart-items { display:grid; gap:10px; max-height:430px; overflow:auto; padding-right:2px; }
.market-cart-row { display:grid; grid-template-columns:56px minmax(0,1fr); gap:10px; padding:10px; border:1px solid #e2e8f0; border-radius:14px; background:#f8fafc; }
.market-cart-row img { width:56px; height:56px; object-fit:contain; border-radius:12px; background:#fff; }
.market-cart-row strong { display:block; line-height:1.2; }
.market-cart-row small { display:block; color:#64748b; font-size:12px; margin-top:2px; }
.market-mini-step { display:inline-grid; grid-template-columns:28px 32px 28px; margin-top:8px; border:1px solid #dbe3ef; border-radius:999px; overflow:hidden; background:#fff; }
.market-mini-step button { border:0; background:#eef2ff; color:#1d4ed8; font-weight:900; cursor:pointer; }
.market-mini-step b { text-align:center; padding:5px 0; }
.market-cart-total { margin-top:16px; padding-top:14px; border-top:1px dashed #cbd5e1; display:grid; gap:3px; }
.market-cart-total span, .market-cart-total small { color:#64748b; }
.market-cart-total strong { font-size:30px; letter-spacing:-.05em; }
.market-whatsapp { margin-top:14px; display:flex; justify-content:center; align-items:center; min-height:46px; border-radius:999px; background:#16a34a; color:#fff; font-weight:900; }
.market-whatsapp.disabled { opacity:.55; pointer-events:none; }
.market-pagination { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:18px; }
.market-pagination a, .market-pagination span { padding:10px 14px; border:1px solid #dbe3ef; border-radius:999px; background:#fff; font-weight:900; }
.market-empty { padding:28px; text-align:center; color:#64748b; }
@media (max-width:1250px){ .market-content{grid-template-columns:1fr 320px}.market-sidebar{display:none}.market-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))} }
@media (max-width:900px){ .market-topbar{grid-template-columns:1fr; padding:12px 14px}.market-search{grid-template-columns:1fr auto}.market-search select{display:none}.market-hero{grid-template-columns:1fr; margin:12px; padding:20px}.market-content{grid-template-columns:1fr; padding:0 12px 24px}.market-cart{position:static;max-height:none;order:-1}.market-products-wrap{padding:14px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-product{min-height:390px}.market-img{height:140px}.market-section-head{align-items:flex-start;flex-direction:column} }
@media (max-width:560px){ .market-grid{grid-template-columns:1fr}.market-hero h1{font-size:30px}.market-hero p{font-size:14px}.market-pills b{font-size:12px}.market-product{min-height:auto}.market-topbar{position:static}.market-logo strong{font-size:16px}.market-search{display:grid;grid-template-columns:1fr}.market-search button{min-height:40px} }
/* V9 fix: la grilla ya reserva el espacio, no agregar margen extra al contraer menu */
body.sidebar-collapsed .adaptive-main { margin-left: 0 !important; }
body.sidebar-collapsed .app-shell.adaptive-shell { grid-template-columns: 86px minmax(0,1fr) !important; }
body.sidebar-collapsed .adaptive-sidebar { width: 86px !important; }
body.sidebar-collapsed .brand-mark { margin:auto; }
@media(max-width:900px){ body.sidebar-collapsed .app-shell.adaptive-shell{grid-template-columns:1fr!important}.adaptive-main{margin-left:0!important}.sidebar{position:fixed!important} }

/* V10 - interfaz corporativa y catalogo tipo marketplace */
:root{--corp-nav:#0b1220;--corp-nav-2:#101a2e;--corp-blue:#2563eb;--corp-accent:#f3a712;--corp-text:#0f172a;--corp-muted:#64748b;}
.sidebar,.adaptive-sidebar{background:linear-gradient(180deg,var(--corp-nav) 0%,var(--corp-nav-2) 100%)!important;color:#dbe4f0!important;padding:18px 14px!important;width:260px!important;}
.brand-block{gap:10px!important;margin-bottom:18px!important}.brand{font-size:22px!important;font-weight:800!important;letter-spacing:-.03em}.brand-block small{font-size:13px!important;color:#9fb0c7!important}.brand-mark{box-shadow:0 14px 30px rgba(37,99,235,.2)!important}
.user-box{padding:12px!important;border-radius:18px!important;background:rgba(255,255,255,.075)!important}.user-box strong{font-size:14px!important}.user-box span{font-size:12px!important;color:#aebcd0!important}
.grouped-nav .nav-group summary,.side-nav a{font-size:14px!important;font-weight:700!important;min-height:40px!important;padding:9px 12px!important;border-radius:14px!important;color:#d6e2f0!important;letter-spacing:-.01em!important}.grouped-nav .nav-group summary span,.side-nav a span{width:28px!important;height:28px!important;border-radius:11px!important;background:rgba(148,163,184,.13)!important;color:#9cc8ff!important;font-size:13px!important}.nav-children a{font-size:13px!important;font-weight:650!important;min-height:34px!important;margin:4px 0!important;background:transparent!important;color:#bfcaDA!important}.nav-children a.active,.side-nav a.active,.grouped-nav .nav-group.active-group>summary{background:linear-gradient(90deg,rgba(37,99,235,.26),rgba(37,99,235,.08))!important;box-shadow:inset 3px 0 0 #60a5fa!important;color:#fff!important}.nav-children a span{width:20px!important;height:20px!important;font-size:11px!important}.sidebar-toggle{width:38px!important;height:38px!important;min-height:38px!important}.main,.adaptive-main{background:linear-gradient(180deg,#eef5ff 0%,#f5f8fc 45%,#eef3f9 100%)!important}.topbar{padding:18px 28px!important}.top-title h1{font-size:32px!important;letter-spacing:-.05em!important}.top-title .eyebrow{font-size:12px!important;letter-spacing:.18em!important}.btn{font-weight:750!important}
body.sidebar-collapsed .app-shell.adaptive-shell{grid-template-columns:82px minmax(0,1fr)!important}body.sidebar-collapsed .adaptive-sidebar{width:82px!important}.sidebar-collapsed .adaptive-main{margin-left:0!important}

/* POS compacto */
.pos-workspace,.pos-workspace *{font-size:14px}.pos-lean-title h2{font-size:28px!important}.pos-lean-field{padding:12px 14px!important;min-height:82px!important}.pos-lean-field label{font-size:11px!important}.pos-lean-field strong{font-size:17px!important}.pos-lean-field input,.pos-lean-field select{height:42px!important;font-size:14px!important}.cart-table th{font-size:11px!important}.cart-table td{font-size:13px!important}.refined-bottom-bar,.pos-bottom-bar{padding:10px 16px!important}.bar-action{min-height:42px!important;padding:0 18px!important;font-size:14px!important}.bottom-total strong{font-size:24px!important}.modal-card{font-size:14px!important}

/* Suscripciones */
.refined-subscription-hero h2{font-size:34px}.subscription-status-grid .stat-card strong{font-size:28px}.subscription-layout{margin-top:18px}.refined-subscription-card{display:grid;gap:12px}.subscription-kv{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #dbe3ef}.subscription-kv span{color:#64748b;font-weight:700}.owner-subscription-panel{margin-top:20px;border:1px solid #bfdbfe!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}

/* Catalogo publico tipo Amazon/marketplace */
.catalog-public-body{margin:0;background:#e9f1fb!important;color:#111827;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.amazon-catalog{min-height:100vh;background:linear-gradient(180deg,#dce9f8 0%,#f5f7fa 42%,#eef3f8 100%);padding-bottom:40px}.amazon-topbar{position:sticky;top:0;z-index:20;background:#111827;color:#fff;padding:12px 28px;display:grid;grid-template-columns:240px minmax(260px,1fr) 72px;gap:18px;align-items:center;box-shadow:0 8px 22px rgba(15,23,42,.18)}.amazon-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.amazon-brand img,.amazon-brand span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);font-weight:900;color:#fff;object-fit:contain}.amazon-brand strong{font-size:17px;letter-spacing:-.02em}.amazon-search{display:grid;grid-template-columns:minmax(0,1fr) 150px;background:#fff;border-radius:12px;overflow:hidden;border:2px solid transparent}.amazon-search:focus-within{border-color:#fbbf24}.amazon-search input{border:0;padding:0 18px;height:48px;font-size:15px;outline:0}.amazon-search button{border:0;background:#fbbf24;color:#111827;font-weight:900;cursor:pointer;font-size:15px}.amazon-cart-button{height:48px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#1f2937;color:#fff;font-weight:900;cursor:pointer}.amazon-hero{max-width:1500px;margin:26px auto 18px;padding:38px 46px;border-radius:24px;background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid #cfe0f6;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:28px;align-items:center;box-shadow:0 20px 60px rgba(15,23,42,.08)}.amazon-hero h1{font-size:50px;line-height:.98;margin:10px 0 14px;letter-spacing:-.07em;color:#0f172a}.amazon-hero p{font-size:17px;color:#475569;margin:0 0 18px;max-width:760px}.amazon-pills{display:flex;gap:10px;flex-wrap:wrap}.amazon-pills b{display:inline-flex;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#1e3a8a;font-size:13px;box-shadow:0 8px 20px rgba(15,23,42,.05)}.amazon-store-card{background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:0 16px 40px rgba(15,23,42,.08)}.amazon-store-logo img,.amazon-store-logo span{width:70px;height:70px;border-radius:18px;background:linear-gradient(135deg,#2563eb,#7c3aed);display:grid;place-items:center;color:#fff;font-size:30px;font-weight:900;object-fit:contain}.amazon-store-card strong{display:block;font-size:18px}.amazon-store-card small{display:block;color:#64748b;margin-top:3px}.amazon-filter-strip{max-width:1500px;margin:0 auto 18px;background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;box-shadow:0 14px 34px rgba(15,23,42,.06)}.amazon-filters{display:grid;grid-template-columns:220px 220px minmax(180px,1fr) 120px auto;gap:12px;align-items:end}.amazon-filters label span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#64748b;font-weight:900;margin-bottom:5px}.amazon-filters select,.amazon-filters input{height:44px;border:1px solid #cbd5e1;border-radius:12px;padding:0 13px;background:#fff;color:#0f172a}.amazon-filters button{height:44px;border:0;border-radius:12px;background:#2563eb;color:#fff;font-weight:900;cursor:pointer}.amazon-filters a{height:44px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#1e3a8a;font-weight:900;text-decoration:none;padding:0 14px}.amazon-filter-summary{display:grid;text-align:right;color:#475569}.amazon-filter-summary strong{font-size:28px;color:#0f172a}.amazon-content{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:230px minmax(0,1fr) 330px;gap:18px;align-items:start}.amazon-sidebar,.amazon-products-wrap,.amazon-cart{background:#fff;border:1px solid #dbe3ef;border-radius:18px;box-shadow:0 14px 34px rgba(15,23,42,.06)}.amazon-sidebar{position:sticky;top:86px;padding:16px;display:grid;gap:8px}.amazon-sidebar h3{font-size:16px;margin:0 0 8px}.amazon-sidebar a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;color:#334155;text-decoration:none;font-weight:750}.amazon-sidebar a:hover,.amazon-sidebar a.active{background:#eef4ff;color:#1d4ed8}.amazon-sidebar-help{margin-top:8px;padding:12px;border-radius:14px;background:#f8fafc;color:#64748b;font-size:13px}.amazon-products-wrap{padding:18px}.amazon-section-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:16px}.amazon-section-head span{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#2563eb;font-weight:900}.amazon-section-head h2{font-size:28px;letter-spacing:-.04em;margin:4px 0 0}.amazon-section-head small{color:#64748b}.amazon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:16px}.amazon-product{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;min-height:450px;display:flex;flex-direction:column;box-shadow:0 8px 18px rgba(15,23,42,.04);transition:.18s ease}.amazon-product:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.13);border-color:#bfdbfe}.amazon-ribbon{position:absolute;top:12px;left:12px;background:#f97316;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;z-index:2}.amazon-img{height:180px;margin:14px;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#eef4ff);display:grid;place-items:center}.amazon-img img{max-width:92%;max-height:150px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(15,23,42,.12))}.amazon-product-body{padding:0 16px 12px;flex:1}.amazon-rating{color:#f59e0b;font-size:12px;font-weight:900;margin-bottom:8px}.amazon-rating span{color:#16a34a;margin-left:5px}.amazon-product h3{margin:0 0 7px;font-size:17px;line-height:1.25;min-height:42px}.amazon-product p{margin:0 0 10px;color:#64748b;font-size:13px;min-height:34px}.amazon-product small{color:#64748b;line-height:1.35}.amazon-price-box{margin-top:12px;display:grid;gap:3px}.amazon-price-box strong{font-size:24px;color:#b45309;letter-spacing:-.04em}.amazon-price-box em{font-style:normal;color:#2563eb;font-size:13px;font-weight:800}.amazon-stock{display:inline-flex;margin-top:10px;padding:7px 11px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:900;font-size:12px}.amazon-actions{padding:14px 16px 16px;border-top:1px solid #eef2f7;display:grid;gap:10px}.amazon-stepper{display:grid;grid-template-columns:48px 1fr 48px;height:44px;border:1px solid #dbeafe;border-radius:999px;overflow:hidden;background:#f8fbff}.amazon-stepper button{border:0;background:#eef4ff;color:#1d4ed8;font-size:20px;font-weight:900;cursor:pointer}.amazon-stepper input{border:0;text-align:center;background:#fff;font-weight:900}.amazon-add{height:46px;border:0;border-radius:12px;background:#ffd814;color:#111827;font-weight:900;cursor:pointer;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}.amazon-add:hover{background:#f7ca00}.amazon-cart{position:sticky;top:86px;padding:16px}.amazon-cart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.amazon-cart-head span{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#2563eb;font-weight:900}.amazon-cart-head h3{margin:4px 0 0;font-size:24px}.amazon-cart-head button,.amazon-cart-row button{border:0;border-radius:10px;background:#fee2e2;color:#b91c1c;font-weight:900;padding:8px 10px;cursor:pointer}.amazon-cart-store{padding:12px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;margin-bottom:12px}.amazon-cart-store strong,.amazon-cart-store small{display:block}.amazon-cart-store small{color:#64748b;margin-top:2px}.amazon-cart-items{display:grid;gap:10px;max-height:380px;overflow:auto}.amazon-cart-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;border:1px solid #e2e8f0;border-radius:14px;padding:10px;background:#f8fbff}.amazon-cart-row img{width:58px;height:58px;object-fit:contain;border-radius:12px;background:#fff}.amazon-cart-row strong{font-size:14px;line-height:1.15}.amazon-cart-row small{display:block;color:#64748b}.amazon-mini-step{margin-top:6px;display:inline-grid;grid-template-columns:28px 34px 28px;align-items:center;border:1px solid #dbeafe;border-radius:999px;overflow:hidden;background:#fff}.amazon-mini-step button{padding:0;height:28px;background:#eef4ff;color:#1d4ed8}.amazon-mini-step b{text-align:center}.amazon-cart-total{border-top:1px dashed #cbd5e1;margin-top:14px;padding-top:14px}.amazon-cart-total span,.amazon-cart-total small{display:block;color:#64748b}.amazon-cart-total strong{font-size:30px;letter-spacing:-.05em;color:#111827}.amazon-whatsapp{margin-top:12px;height:48px;border-radius:14px;display:grid;place-items:center;background:#16a34a;color:#fff;text-decoration:none;font-weight:900}.amazon-whatsapp.disabled{opacity:.45;pointer-events:none}.amazon-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.amazon-pagination a,.amazon-pagination span{padding:10px 14px;border-radius:12px;border:1px solid #dbe3ef;background:#fff;text-decoration:none;font-weight:800}.amazon-no-products{grid-column:1/-1;padding:40px;text-align:center}.amazon-disabled{max-width:900px;margin:60px auto;padding:40px;text-align:center}
@media(max-width:1250px){.amazon-content{grid-template-columns:minmax(0,1fr) 320px}.amazon-sidebar{display:none}.amazon-hero{grid-template-columns:1fr}.amazon-filter-strip{grid-template-columns:1fr}.amazon-filter-summary{text-align:left}.amazon-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
@media(max-width:850px){.amazon-topbar{grid-template-columns:1fr auto;gap:10px;padding:10px 12px}.amazon-brand strong{font-size:15px}.amazon-search{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 96px;order:3}.amazon-search input{height:42px}.amazon-search button{font-size:13px}.amazon-hero{margin:12px;padding:22px;border-radius:18px}.amazon-hero h1{font-size:34px}.amazon-store-card{display:none}.amazon-filter-strip{margin:12px;padding:12px}.amazon-filters{grid-template-columns:1fr 1fr}.amazon-filters input{grid-column:1/-1}.amazon-filters button,.amazon-filters a{grid-column:auto}.amazon-content{display:block;margin:12px}.amazon-products-wrap{padding:12px}.amazon-cart{position:static;margin-top:14px}.amazon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.amazon-product{min-height:390px;border-radius:14px}.amazon-img{height:128px;margin:10px}.amazon-product h3{font-size:14px;min-height:36px}.amazon-product p{font-size:12px;min-height:30px}.amazon-price-box strong{font-size:19px}.amazon-actions{padding:10px}.amazon-stepper{height:38px}.amazon-add{height:40px;font-size:13px}}
@media(max-width:430px){.amazon-grid{grid-template-columns:1fr}.amazon-filter-strip{margin:8px}.amazon-filters{grid-template-columns:1fr}.amazon-hero h1{font-size:30px}.amazon-section-head h2{font-size:22px}.amazon-product{min-height:auto}}

/* V11 - interfaz mas corporativa y liviana */
:root{--corp-nav:#172033;--corp-nav-2:#111827;--corp-blue:#2563eb;--corp-border:#d8e3f2;--corp-text:#0f172a;--corp-muted:#64748b}
body{font-size:14px}.sidebar.adaptive-sidebar{background:linear-gradient(180deg,var(--corp-nav),var(--corp-nav-2));width:270px;padding:18px 14px}.brand-block{gap:10px;margin-bottom:18px}.brand{font-size:22px;letter-spacing:-.03em}.brand-block small,.user-box span{font-size:12px}.user-box{padding:12px;border-radius:16px}.side-nav.grouped-nav{gap:6px}.side-nav a,.nav-group summary{min-height:44px;padding:10px 12px;border-radius:14px;font-size:13px;font-weight:650}.nav-group summary b,.side-nav a b{font-weight:700}.side-nav a span,.nav-group summary span{width:32px;height:32px;border-radius:11px;font-size:15px}.nav-children a{margin-left:26px;min-height:36px;font-size:12.5px;padding:8px 10px}.nav-children a span{width:22px;height:22px;font-size:11px}.top-title h1{font-size:32px}.module-hero h2,.compact-hero h2{font-size:34px}.btn{font-size:13px}.pos-page,.pos-page input,.pos-page select,.pos-page button{font-size:13px}.pos-page h2{font-size:26px}.pos-card,.pos-info-card{padding:16px;border-radius:18px}

/* V11 - suscripcion */
.pro-subscription-page{display:grid;gap:18px}.subscription-hero-card{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid var(--corp-border);border-radius:26px;padding:26px 30px;box-shadow:0 18px 48px rgba(15,23,42,.08)}.subscription-hero-card h2{font-size:38px;line-height:1.05;margin:8px 0 10px;letter-spacing:-.05em}.subscription-hero-card p{margin:0;color:var(--corp-muted);max-width:780px}.subscription-status-pill{min-width:230px;background:#fff;border:1px solid var(--corp-border);border-radius:22px;padding:18px;display:grid;gap:6px;box-shadow:0 14px 34px rgba(15,23,42,.08)}.subscription-status-pill span{color:var(--corp-muted);font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.subscription-status-pill strong{font-size:24px}.subscription-status-pill.ok{border-color:#bbf7d0;background:linear-gradient(180deg,#fff,#f0fdf4)}.subscription-status-pill.bad{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff1f2)}.subscription-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.subscription-metric{background:#fff;border:1px solid var(--corp-border);border-left:5px solid #2563eb;border-radius:20px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.06);display:grid;gap:6px}.subscription-metric span{color:var(--corp-muted);font-weight:800}.subscription-metric strong{font-size:26px;letter-spacing:-.04em}.subscription-metric small{color:#8da0bd}.subscription-metric.green{border-left-color:#16a34a}.subscription-metric.orange{border-left-color:#f97316}.subscription-metric.purple{border-left-color:#7c3aed}.subscription-card-pro{display:grid;gap:18px}.subscription-card-head p{color:var(--corp-muted);margin:8px 0 0}.subscription-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subscription-kv-grid div{border:1px solid #e2e8f0;background:#f8fbff;border-radius:16px;padding:12px}.subscription-kv-grid span{display:block;color:var(--corp-muted);font-weight:800;font-size:12px}.subscription-kv-grid strong{display:block;margin-top:5px}.subscription-note{border-radius:16px;background:#eef4ff;color:#1e3a8a;padding:12px;font-size:13px}.refined-subscription-layout{align-items:stretch}.subscription-summary-panel,.subscription-payments-panel{height:100%}
@media(max-width:1100px){.subscription-metrics-grid{grid-template-columns:repeat(2,1fr)}.subscription-hero-card{display:grid}.subscription-status-pill{min-width:0}.subscription-hero-card h2{font-size:32px}}@media(max-width:720px){.subscription-metrics-grid,.subscription-kv-grid{grid-template-columns:1fr}.subscription-hero-card{padding:20px}.subscription-hero-card h2{font-size:28px}.sidebar.adaptive-sidebar{width:280px}}

/* V11 - ancla para catalogo */
#catalog-products{scroll-margin-top:92px}.amazon-search{box-shadow:0 10px 26px rgba(15,23,42,.18)}.amazon-search button{background:linear-gradient(180deg,#ffd95a,#f7b500)!important}.amazon-sidebar a{transition:.15s ease}.amazon-sidebar a.active{box-shadow:inset 4px 0 0 #2563eb}.amazon-product{border-radius:18px}.amazon-product:hover .amazon-img img{transform:scale(1.04)}.amazon-img img{transition:.2s ease}.amazon-add{font-size:14px}.amazon-cart{border:1px solid #cbd5e1}

/* V11 - apartados */
.layaway-pro-hero{background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid var(--corp-border);border-radius:24px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:16px}.layaway-pro-hero h2{font-size:36px;letter-spacing:-.05em;margin:8px 0}.layaway-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.layaway-kpi{background:#fff;border:1px solid var(--corp-border);border-left:5px solid #2563eb;border-radius:20px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.06)}.layaway-kpi span{color:var(--corp-muted);font-weight:800}.layaway-kpi strong{display:block;margin-top:8px;font-size:28px}.layaway-kpi.green{border-left-color:#16a34a}.layaway-kpi.orange{border-left-color:#f97316}.layaway-workspace-card{border:1px solid #dbeafe;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:24px}.layaway-list-table td{vertical-align:top}.layaway-number-card strong{font-size:17px}.mini-pay-form{display:grid;grid-template-columns:110px 180px 1fr auto;gap:8px;align-items:center}.mini-pay-form input,.mini-pay-form select{height:42px}@media(max-width:900px){.layaway-kpi-grid{grid-template-columns:1fr}.mini-pay-form{grid-template-columns:1fr}.layaway-pro-hero{display:grid}}

/* =========================================================
   V11 final - suscripciones, apartados, trazabilidad y navbar ligera
   ========================================================= */
.sidebar.adaptive-sidebar{background:linear-gradient(180deg,#122033 0%,#0f172a 100%)!important;border-right:1px solid rgba(148,163,184,.18)}
.brand-block .brand{font-weight:800;font-size:20px!important}.brand-block small{color:#94a3b8}.user-box{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.08)!important}.user-box strong{font-size:13px}.side-nav a,.nav-group summary{font-weight:650!important;letter-spacing:-.01em}.nav-group summary b,.side-nav a b{font-weight:650!important}.nav-group.active-group>summary,.side-nav a.active{background:rgba(37,99,235,.20)!important;border:1px solid rgba(96,165,250,.25)}.nav-children a{background:transparent!important;color:#cbd5e1}.nav-children a.active{background:rgba(148,163,184,.16)!important;color:#fff}.nav-children a span{background:rgba(148,163,184,.12)!important}.sidebar-toggle{backdrop-filter:blur(10px)}
.pro-subscription-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:center;background:linear-gradient(135deg,#ffffff,#eef6ff)!important;border:1px solid #dbeafe!important;border-radius:26px!important}.subscription-hero-card{background:#fff;border:1px solid #dbeafe;border-radius:22px;padding:18px;box-shadow:0 16px 36px rgba(15,23,42,.08);display:grid;gap:8px}.subscription-hero-card strong{font-size:20px;color:#0f172a}.subscription-hero-card small{color:#64748b}.subscription-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:18px}.subscription-main-card,.subscription-payments-card{background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:22px;box-shadow:0 18px 48px rgba(15,23,42,.07)}.subscription-main-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center}.subscription-ring{width:138px;height:138px;border-radius:999px;display:grid;place-content:center;text-align:center;background:conic-gradient(#16a34a 0 80%,#e2e8f0 80% 100%);box-shadow:inset 0 0 0 14px #fff,0 18px 38px rgba(15,23,42,.12)}.subscription-ring.danger{background:conic-gradient(#dc2626 0 50%,#e2e8f0 50% 100%)}.subscription-ring strong{font-size:34px;color:#0f172a;line-height:1}.subscription-ring span{font-size:12px;color:#64748b;font-weight:800}.subscription-main-card h2{font-size:28px;margin:6px 0 8px}.subscription-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.subscription-timeline div{background:#f8fbff;border:1px solid #e2e8f0;border-radius:14px;padding:10px}.subscription-timeline span{display:block;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.subscription-timeline strong{display:block;margin-top:4px}.owner-subscription-panel{margin-top:18px}@media(max-width:1100px){.pro-subscription-hero,.subscription-dashboard-grid,.subscription-main-card{grid-template-columns:1fr}.subscription-timeline{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.subscription-timeline{grid-template-columns:1fr}.subscription-ring{width:112px;height:112px}.subscription-ring strong{font-size:26px}}
.inline-edit summary{cursor:pointer;color:#1d4ed8;font-weight:800}.mini-edit-form{display:grid;gap:8px;min-width:260px;background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:10px;margin-top:8px}.mini-edit-form label{display:grid;gap:4px;font-size:11px;color:#475569}.mini-edit-form input,.mini-edit-form select{height:36px;border-radius:10px}.mini-edit-form button{justify-self:start}.text-success{color:#047857!important}.text-danger{color:#dc2626!important}
.layaway-hero.pro-hero{background:linear-gradient(135deg,#ffffff,#eef6ff)!important;border:1px solid #dbeafe!important}.layaway-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.layaway-metrics .metric-card{border-radius:22px;background:#fff;border:1px solid #dbeafe;box-shadow:0 16px 42px rgba(15,23,42,.06)}.layaway-builder-panel,.layaway-product-console{border:1px solid #dbeafe!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}.layaway-product-console{padding:18px;margin-top:16px}.layaway-picker-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 150px auto;gap:10px;align-items:end}.selected-branch-note{margin:12px 0;color:#1e3a8a;background:#eef4ff;border:1px solid #dbeafe;border-radius:14px;padding:10px}.layawaysTable .mini-pay-form,.mini-pay-form{background:#f8fbff;border:1px solid #dbeafe;border-radius:14px;padding:8px}.trace-hero{background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid #dbeafe}.trace-product-card{display:grid;grid-template-columns:minmax(0,1fr) 170px 170px;gap:14px;background:#fff;border:1px solid #dbeafe;border-radius:24px;padding:20px;margin:18px 0;box-shadow:0 18px 42px rgba(15,23,42,.06)}.trace-product-card h2{margin:6px 0;font-size:28px}.trace-price-box{display:grid;place-content:center;background:#f8fbff;border:1px solid #e2e8f0;border-radius:18px;text-align:center}.trace-price-box span{color:#64748b;font-weight:800}.trace-price-box strong{font-size:22px}.trace-table td{vertical-align:top}@media(max-width:1000px){.layaway-metrics,.layaway-picker-row,.trace-product-card{grid-template-columns:1fr}.mini-pay-form{grid-template-columns:1fr!important}}
#catalogContent{scroll-margin-top:95px}.amazon-sidebar a[href*="category_id"]{scroll-behavior:smooth}.amazon-filter-strip input,.amazon-filter-strip select{font-weight:600}.amazon-topbar .amazon-search input{font-weight:500}.amazon-sidebar{position:sticky;top:92px}.amazon-content{align-items:start}

/* V11 - trazabilidad producto */
.product-trace-panel .empty-state{display:grid;gap:6px;border:1px dashed #bfdbfe;background:#f8fbff;border-radius:18px;padding:18px;margin-bottom:14px;color:#1e3a8a}.trace-product-card{display:grid;gap:4px;border:1px solid #dbeafe;background:linear-gradient(135deg,#fff,#f8fbff);border-radius:18px;padding:16px;margin-bottom:14px}.trace-product-card strong{font-size:20px;color:#0f172a}.trace-product-card span,.trace-product-card small{color:#64748b}.product-trace-panel table td{vertical-align:top}

/* V11 - guias editables */
.inline-edit summary{cursor:pointer;font-weight:800;color:#1d4ed8}.mini-edit-form{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:8px;min-width:420px;padding:10px;border:1px solid #dbeafe;background:#f8fbff;border-radius:14px}.mini-edit-form label{font-size:12px;font-weight:800;color:#334155}.mini-edit-form input,.mini-edit-form select{height:38px;font-size:12px}.mini-edit-form button{grid-column:1/-1}@media(max-width:720px){.mini-edit-form{min-width:0;grid-template-columns:1fr}}
