:root{--bg:#f4f6f8;--panel:#fff;--ink:#1c2430;--muted:#6b7280;--line:#e5e7eb;--nav:#111827;--nav2:#1f2937;--accent:#2563eb;--danger:#b91c1c;--ok:#047857;--warn:#b45309;--shadow:0 8px 24px rgba(15,23,42,.06)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}.login-body{min-height:100vh;display:grid;place-items:center;background:#eef1f5}.login-card{width:min(420px,92vw);background:#fff;padding:34px;border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.12)}.brand-mark{width:52px;height:52px;border-radius:14px;background:var(--nav);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;margin-bottom:16px}h1,h2,h3{margin:.15em 0 .5em}h1{font-size:27px}h2{font-size:21px}h3{font-size:16px}.muted{color:var(--muted)}label{display:block;font-weight:650;margin:12px 0 6px}input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:10px 11px;background:white;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #dbeafe}textarea{min-height:80px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;background:#e5e7eb;color:#111827}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--accent);color:#fff}.btn.success{background:var(--ok);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:#fff;border:1px solid var(--line)}.btn.full{width:100%;margin:18px 0 10px}.btn.small{padding:6px 9px;font-size:12px}.layout{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--nav);color:#e5e7eb;position:sticky;top:0;height:100vh;overflow:auto}.sidebar .brand{padding:22px 18px;border-bottom:1px solid #2d3748}.sidebar .brand strong{display:block;color:#fff;font-size:18px}.sidebar .brand span{font-size:12px;color:#9ca3af}.nav{padding:12px}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#6b7280;margin:16px 8px 7px}.nav a{display:flex;align-items:center;gap:9px;color:#cbd5e1;text-decoration:none;padding:9px 10px;border-radius:8px;margin:2px 0}.nav a:hover,.nav a.active{background:var(--nav2);color:#fff}.nav .dot{width:7px;height:7px;border-radius:50%;background:#64748b}.main{min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.content{padding:24px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head p{margin:3px 0;color:var(--muted)}.grid{display:grid;gap:16px}.grid.kpi{grid-template-columns:repeat(6,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px}.kpi-card .label{font-size:12px;color:var(--muted);font-weight:700}.kpi-card .value{font-size:24px;font-weight:800;margin-top:7px}.kpi-card .sub{font-size:12px;color:var(--muted);margin-top:4px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#f8fafc;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}tr:last-child td{border-bottom:0}.money{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800;background:#e5e7eb}.badge.ok{background:#d1fae5;color:#065f46}.badge.danger{background:#fee2e2;color:#991b1b}.badge.warn{background:#fef3c7;color:#92400e}.alert{padding:12px 14px;border-radius:9px;margin:12px 0}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.alert.info{background:#dbeafe;color:#1e40af}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid .span2{grid-column:span 2}.form-grid .span4{grid-column:span 4}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.right{margin-left:auto}.summary-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.summary-row.total{font-size:19px;font-weight:800;border-top:2px solid #111827;border-bottom:0;margin-top:8px;padding-top:12px}.progress{height:10px;background:#e5e7eb;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}.pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px}.product-results{max-height:260px;overflow:auto}.result-item{display:flex;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.result-item:hover{background:#f8fafc}.cart-row{display:grid;grid-template-columns:1fr 80px 110px 38px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.payment-row{display:grid;grid-template-columns:1.15fr .8fr .8fr 1fr 36px;gap:8px;margin:7px 0}.tabs{display:flex;gap:8px;margin-bottom:14px}.tabs a{padding:8px 11px;border-radius:8px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink)}.doc-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mobile-menu{display:none}.bar-list{display:grid;gap:10px}.bar-item{display:grid;grid-template-columns:160px 1fr 100px;gap:10px;align-items:center}.bar{height:9px;background:#e5e7eb;border-radius:99px;overflow:hidden}.bar span{height:100%;display:block;background:#334155}.danger-link{color:#b91c1c;text-decoration:none}.footer-note{font-size:12px;color:#6b7280;text-align:center;padding:24px}
@media(max-width:1200px){.grid.kpi{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .span4{grid-column:span 2}.pos-grid{grid-template-columns:1fr}}
@media(max-width:780px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;z-index:20;transition:.2s}.sidebar.open{left:0}.mobile-menu{display:inline-flex}.content{padding:14px}.topbar{padding:0 14px}.grid.kpi,.grid.two,.grid.three{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span4{grid-column:span 1}.payment-row{grid-template-columns:1fr 1fr}.page-head{flex-direction:column}.cart-row{grid-template-columns:1fr 70px 100px 34px}.bar-item{grid-template-columns:100px 1fr 70px}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.layout{display:block}.content{padding:0}.card,.table-wrap{box-shadow:none;border:0}body{background:white}}


/* Selector buscable de productos: un solo textbox, sin select visible */
.product-picker{position:relative;width:100%}.product-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.product-picker-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:0;bottom:0}.product-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 14px 36px rgba(15,23,42,.16);max-height:320px;overflow:auto;padding:6px}.product-picker-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer;color:var(--ink);font-size:13px}.product-picker-option:hover{background:#f1f5f9}.product-picker-empty,.product-picker-more{padding:10px;color:var(--muted);font-size:12px}.product-picker-all{white-space:nowrap;padding:9px 11px}.product-picker-input{min-width:0}

/* Reportes gerenciales compactos */
.report-manager .page-head{margin-bottom:12px}.report-manager .page-head h1{font-size:21px;margin:0}.report-manager .page-head p{font-size:12px}.report-manager .report-filter{padding:12px}.report-manager .report-filter label{font-size:11px;margin-top:4px}.report-manager .report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.report-manager .report-kpi{padding:12px;border-radius:9px}.report-manager .report-kpi .label{font-size:10px;letter-spacing:.04em;color:var(--muted);font-weight:800}.report-manager .report-kpi .value{font-size:18px;font-weight:800;margin-top:4px}.report-manager .report-kpi .sub{font-size:11px;color:var(--muted);margin-top:2px}.report-manager h3{font-size:14px;margin-top:16px}.report-manager th{font-size:10px;padding:8px 9px}.report-manager td{font-size:12px;padding:8px 9px}.report-manager .summary-row{padding:6px 0;font-size:12px}.dashboard-period{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.dashboard-period>div{min-width:145px}.daily-summary td,.daily-summary th{padding:8px 10px;font-size:12px}
@media(max-width:900px){.report-manager .report-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.report-manager .report-kpis{grid-template-columns:1fr}.product-picker-row{grid-template-columns:1fr}.product-picker-all{width:100%}}
@media print{.report-manager h1{font-size:17px!important}.report-manager .report-kpis{grid-template-columns:repeat(3,1fr)!important;gap:5px}.report-manager .report-kpi{padding:6px!important;border:1px solid #ddd}.report-manager .report-kpi .value{font-size:14px!important}.report-manager th,.report-manager td{font-size:9px!important;padding:4px!important}.report-manager h3{font-size:11px!important;margin:8px 0 4px!important}}

/* ===== v1.0.7 · POS y Caja renovados ===== */
.pos-shell,.cash-shell{max-width:1500px;margin:0 auto}.pos-topline,.cash-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.pos-topline h1,.cash-header h1{font-size:26px;margin:2px 0 3px}.pos-topline p,.cash-header p{margin:0;color:var(--muted)}.pos-eyebrow,.pos-section-kicker{font-size:10px;letter-spacing:.12em;font-weight:850;color:#64748b}.pos-statuses{display:flex;align-items:center;gap:10px}.status-chip{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;background:#fff;border:1px solid var(--line)}.status-chip span,.cash-open-badge>span{width:8px;height:8px;border-radius:50%;display:block}.status-chip.success{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.status-chip.success span,.cash-open-badge>span{background:#10b981}.status-chip.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.status-chip.danger span{background:#ef4444}
.pos-workspace{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:18px;align-items:start}.pos-catalog-panel{min-width:0}.pos-toolbar-card,.pos-cart-card,.pos-checkout-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.pos-toolbar-card{padding:14px}.pos-toolbar-grid{display:grid;grid-template-columns:minmax(210px,.42fr) minmax(320px,1fr);gap:12px}.pos-toolbar-card label,.pos-checkout-card label,.cash-shell label{font-size:11px;color:#475569;margin-top:6px}.pos-search-wrap{position:relative}.pos-search-wrap input{padding-right:158px}.pos-search-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;color:#94a3b8;pointer-events:none}.pos-product-results{margin-top:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.09);max-height:310px;overflow:auto}.pos-product-results:empty{display:none}.pos-product-result{width:100%;border:0;border-bottom:1px solid #f1f5f9;background:#fff;display:flex;justify-content:space-between;gap:15px;text-align:left;padding:12px 14px;cursor:pointer;color:var(--ink)}.pos-product-result:last-child{border-bottom:0}.pos-product-result:hover{background:#f8fafc}.pos-product-main,.pos-product-meta{display:flex;flex-direction:column;gap:3px}.pos-product-main small,.pos-product-meta small{font-size:11px;color:#64748b}.pos-product-meta{text-align:right;min-width:110px}.pos-no-results{padding:16px;color:#64748b;font-size:12px}.pos-cart-card{margin-top:14px;overflow:hidden}.pos-section-head,.cash-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px}.pos-section-head h3,.cash-section-head h3{margin:2px 0 0;font-size:15px}.pos-cart-count{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 9px}.pos-cart-head{display:grid;grid-template-columns:minmax(0,1fr) 132px 120px 34px;gap:9px;padding:8px 14px;background:#f8fafc;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;font-size:10px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.pos-cart-list{min-height:250px}.pos-cart-row{display:grid;grid-template-columns:minmax(0,1fr) 132px 120px 34px;gap:9px;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}.pos-cart-row:last-child{border-bottom:0}.pos-cart-product{min-width:0;display:flex;flex-direction:column;gap:3px}.pos-cart-product strong{white-space:normal}.pos-cart-product small{color:#64748b;font-size:11px}.pos-qty-control{display:grid;grid-template-columns:32px 52px 32px;align-items:center;border:1px solid #dbe2ea;border-radius:9px;overflow:hidden;background:#fff}.pos-qty-control button{border:0;background:#f8fafc;height:34px;cursor:pointer;font-size:17px;color:#334155}.pos-qty-control input{border:0!important;border-radius:0!important;text-align:center;padding:6px 2px;box-shadow:none!important}.pos-price-input{padding:8px!important;text-align:right}.pos-remove,.pos-payment-remove{border:0;background:#fff;color:#94a3b8;border-radius:8px;width:32px;height:32px;font-size:20px;cursor:pointer}.pos-remove:hover,.pos-payment-remove:hover{background:#fef2f2;color:#b91c1c}.pos-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#94a3b8;gap:4px}.pos-empty-state strong{color:#64748b;font-size:14px}.pos-empty-state span{font-size:12px}
.pos-checkout-panel{position:sticky;top:80px}.pos-checkout-card{padding:16px}.pos-fields-compact{display:grid;grid-template-columns:1fr;gap:3px}.pos-fields-compact select{padding:9px 10px}.pos-totals-box{margin:16px -16px 0;padding:13px 16px;background:#f8fafc;border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3}.pos-total-line,.pos-discount-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0}.pos-total-line span,.pos-discount-line span{font-size:12px;color:#64748b}.pos-discount-line input{width:135px;text-align:right;padding:7px 9px}.pos-grand-total{display:flex;justify-content:space-between;align-items:end;border-top:1px dashed #cbd5e1;margin-top:9px;padding-top:11px}.pos-grand-total span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#475569}.pos-grand-total strong{font-size:29px;line-height:1;color:#0f172a}.payment-title{padding:16px 0 8px}.pos-quick-pay{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:9px}.pos-quick-pay button{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:9px;padding:9px 7px;font-weight:750;font-size:12px;cursor:pointer}.pos-quick-pay button:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.pos-payments-box{display:grid;gap:8px}.pos-payment-row{display:grid;grid-template-columns:1fr 105px;gap:7px;position:relative;border:1px solid #e2e8f0;border-radius:10px;padding:8px 36px 8px 8px;background:#fcfdff}.pos-payment-row>div:nth-of-type(n+3){grid-column:span 1}.pos-payment-row label{margin:0 0 4px;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.pos-payment-row input,.pos-payment-row select{padding:7px 8px;font-size:12px}.pos-payment-remove{position:absolute;right:5px;top:5px}.pos-cash-received{margin-top:9px;border:1px solid #dbeafe;background:#eff6ff;border-radius:10px;padding:10px}.pos-cash-received label{margin-top:0;color:#1e40af}.pos-change-line{display:flex;justify-content:space-between;align-items:center;padding-top:8px;color:#1e40af}.pos-payment-summary{margin-top:10px;padding-top:8px;border-top:1px solid #e2e8f0}.pos-payment-summary>div{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}.pos-notes{margin-top:10px}.pos-notes summary{cursor:pointer;color:#64748b;font-size:12px}.pos-notes input{margin-top:7px}.pos-charge-button{width:100%;margin-top:13px;padding:14px;font-size:15px;border-radius:10px}.pos-charge-button:disabled{opacity:.65;cursor:not-allowed}.pos-key-help{font-size:10px;color:#94a3b8;text-align:center;margin-top:7px}.ok-text{color:#047857!important}.danger-text{color:#b91c1c!important}.warn-text{color:#b45309!important}

.cash-header{align-items:center}.cash-open-badge{display:flex;align-items:center;gap:10px;border:1px solid #a7f3d0;background:#ecfdf5;border-radius:12px;padding:9px 12px}.cash-open-badge div{display:flex;flex-direction:column}.cash-open-badge strong{font-size:12px;color:#065f46}.cash-open-badge small{font-size:10px;color:#047857}.cash-empty-layout{display:grid;place-items:center;min-height:55vh}.cash-open-card{width:min(620px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.07);padding:24px}.cash-open-icon{width:48px;height:48px;border-radius:14px;background:#0f172a;color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;margin-bottom:15px}.cash-open-card h2{margin-bottom:4px}.cash-open-button{margin-top:14px;width:100%;padding:12px}.cash-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.cash-kpi{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:15px;box-shadow:0 7px 20px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:5px}.cash-kpi span{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.cash-kpi strong{font-size:22px;color:#0f172a}.cash-kpi small{font-size:10px;color:#94a3b8}.cash-kpi.featured{background:#0f172a;border-color:#0f172a}.cash-kpi.featured span,.cash-kpi.featured small{color:#94a3b8}.cash-kpi.featured strong{color:#fff}.cash-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:16px;align-items:start}.cash-main-grid>section{display:grid;gap:14px}.cash-payments-card,.cash-movement-card{padding:0;overflow:hidden}.cash-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #eef2f7}.cash-method{padding:13px 15px;border-right:1px solid #eef2f7;display:flex;flex-direction:column;gap:4px}.cash-method:last-child{border-right:0}.cash-method span{font-size:10px;color:#64748b;font-weight:750}.cash-method strong{font-size:17px}.cash-method small{font-size:10px;color:#94a3b8}.cash-empty-small{padding:18px;color:#94a3b8;font-size:12px}.cash-movement-form{display:grid;grid-template-columns:145px 150px minmax(220px,1fr) auto;gap:9px;align-items:end;padding:0 16px 16px}.cash-movement-submit .btn{height:39px}.cash-ledger{margin-top:2px}.cash-ledger>.cash-section-head{padding-left:2px;padding-right:2px}.cash-mini-summary{display:flex;gap:12px;font-size:10px;color:#64748b}.cash-mini-summary strong{color:#334155}.cash-table td{font-size:12px}.cash-positive{color:#047857;font-weight:750}.cash-negative{color:#b91c1c;font-weight:750}.cash-close-column{position:sticky;top:80px}.cash-close-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 12px 30px rgba(15,23,42,.06);padding:18px}.cash-close-card h3{font-size:18px;margin:3px 0 5px}.cash-close-card p{font-size:12px;color:#64748b;margin:0 0 14px}.cash-close-expected{border-radius:10px;background:#0f172a;color:#fff;padding:13px;margin-bottom:13px;display:flex;flex-direction:column;gap:4px}.cash-close-expected span{font-size:10px;color:#94a3b8;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.cash-close-expected strong{font-size:25px}.cash-live-diff{display:flex;justify-content:space-between;padding:10px 0 2px;font-size:12px;border-bottom:1px solid #eef2f7}.cash-close-note{font-size:10px;color:#94a3b8;line-height:1.5}.cash-history-block{margin-top:20px}.cash-history-block>.cash-section-head{padding-left:2px;padding-right:2px}

/* Mejora general sutil de interfaz */
.content{padding-top:20px}.card,.table-wrap{border-color:#e2e8f0}.btn{transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:active{transform:translateY(1px)}input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease}.topbar{box-shadow:0 1px 0 rgba(15,23,42,.02)}

@media(max-width:1180px){.pos-workspace{grid-template-columns:1fr}.pos-checkout-panel,.cash-close-column{position:static}.cash-main-grid{grid-template-columns:1fr}.cash-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.pos-topline,.cash-header{flex-direction:column}.pos-toolbar-grid{grid-template-columns:1fr}.pos-search-wrap input{padding-right:11px}.pos-search-hint{display:none}.pos-cart-head{display:none}.pos-cart-row{grid-template-columns:1fr 120px 100px 32px}.cash-kpi-grid{grid-template-columns:1fr 1fr}.cash-method-grid{grid-template-columns:repeat(2,1fr)}.cash-movement-form{grid-template-columns:1fr 1fr}.cash-concept{grid-column:span 2}.cash-movement-submit{grid-column:span 2}.cash-movement-submit .btn{width:100%}.cash-mini-summary{display:none}}
@media(max-width:560px){.pos-cart-row{grid-template-columns:1fr 110px 32px}.pos-cart-row>div:nth-child(3){grid-column:1 / span 2}.pos-price-input{width:100%}.pos-grand-total strong{font-size:24px}.cash-kpi-grid,.cash-method-grid{grid-template-columns:1fr}.cash-movement-form{grid-template-columns:1fr}.cash-concept,.cash-movement-submit{grid-column:auto}.pos-quick-pay{grid-template-columns:1fr 1fr}}

/* =====================================================================
   POS V2 - interfaz de caja de pantalla completa
   ===================================================================== */
body.pos-mode{overflow:hidden;background:#f5f7f8}
body.pos-mode .layout{display:block;min-height:100vh}
body.pos-mode .sidebar,body.pos-mode .topbar,body.pos-mode .footer-note{display:none!important}
body.pos-mode .main{height:100vh;overflow:hidden}
body.pos-mode .content{padding:0;max-width:none;margin:0;height:100vh;overflow:hidden}
.pos2-shell{height:100vh;display:flex;flex-direction:column;background:#f5f7f8;color:#263238}
.pos2-header{height:66px;flex:0 0 66px;background:#fff;border-bottom:1px solid #dfe5e8;display:grid;grid-template-columns:260px minmax(260px,460px) 1fr;align-items:center;gap:18px;padding:0 18px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.pos2-brand{display:flex;align-items:center;gap:10px;min-width:0}.pos2-brand-mark{width:38px;height:38px;border-radius:10px;background:#1f2933;color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px}.pos2-brand>div:last-child{display:flex;flex-direction:column;min-width:0}.pos2-brand strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos2-brand span{font-size:10px;color:#819099;margin-top:2px}
.pos2-header-center{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.pos2-header-center label{margin:0;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#76848c}.pos2-header-center select{height:38px;padding:7px 10px;border-radius:9px;background:#f8fafb;font-size:12px}
.pos2-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.pos2-cash-chip{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border:1px solid #c7eadf;background:#effaf6;color:#116149;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.pos2-cash-chip i{width:7px;height:7px;border-radius:50%;background:#2bb989}.pos2-cash-chip.is-closed{border-color:#f0caca;background:#fff4f4;color:#9d3131}.pos2-cash-chip.is-closed i{background:#dd5c5c}.pos2-user{font-size:11px;color:#64747c;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos2-exit{font-size:11px;color:#42545d;text-decoration:none;border:1px solid #dfe5e8;border-radius:8px;padding:8px 10px;background:#fff}
.pos2-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 430px}.pos2-catalog{min-width:0;min-height:0;padding:14px 14px 16px;display:flex;flex-direction:column;gap:12px}.pos2-searchbar{display:flex;align-items:center;gap:12px;flex:0 0 auto}.pos2-searchbox{position:relative;flex:1}.pos2-searchbox input{height:46px;border-radius:12px;border:1px solid #dbe3e6;padding:0 42px;background:#fff;font-size:13px;box-shadow:0 2px 8px rgba(31,41,51,.03)}.pos2-searchbox input:focus{border-color:#66c7c7;box-shadow:0 0 0 3px rgba(82,195,196,.12)}.pos2-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:20px;color:#6d7c84;pointer-events:none}.pos2-searchbox button{position:absolute;right:8px;top:7px;width:32px;height:32px;border:0;background:transparent;color:#91a0a7;font-size:20px;cursor:pointer;border-radius:8px}.pos2-searchbox button:hover{background:#f0f4f5}.pos2-result-meta{white-space:nowrap;font-size:11px;color:#7c8b92;padding-right:4px}.pos2-result-meta strong{color:#34444c}
.pos2-product-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-auto-rows:148px;gap:10px;align-content:start;padding:1px 5px 4px 1px}.pos2-product-grid::-webkit-scrollbar,.pos2-cart::-webkit-scrollbar{width:7px}.pos2-product-grid::-webkit-scrollbar-thumb,.pos2-cart::-webkit-scrollbar-thumb{background:#ccd6da;border-radius:10px}.pos2-product-card{border:1px solid #e0e6e8;background:#fff;border-radius:12px;padding:9px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer;color:#25343b;box-shadow:0 2px 8px rgba(31,41,51,.035);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.pos2-product-card:hover{transform:translateY(-1px);border-color:#9edada;box-shadow:0 7px 18px rgba(31,41,51,.08)}.pos2-product-thumb{height:43px;border-radius:8px;background:#edf2f3;display:grid;place-items:center;color:#829198;font-weight:900;font-size:12px;letter-spacing:.05em}.pos2-product-name{font-size:11px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:28px}.pos2-product-sku{font-size:9px;color:#91a0a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos2-product-bottom{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:8px}.pos2-product-bottom strong{font-size:13px;color:#1d3038}.pos2-product-bottom small{font-size:9px;color:#7d8d94}.pos2-no-results{grid-column:1/-1;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a999f;gap:4px}.pos2-no-results strong{color:#56666d}
.pos2-ticket{min-width:0;min-height:0;background:#fff;border-left:1px solid #dfe5e8;display:flex;flex-direction:column;box-shadow:-5px 0 18px rgba(31,41,51,.025)}.pos2-ticket-head{height:62px;flex:0 0 62px;border-bottom:1px solid #edf1f2;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.pos2-ticket-head>div{display:flex;flex-direction:column}.pos2-ticket-head span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#8a989f}.pos2-ticket-head strong{font-size:14px;margin-top:2px}.pos2-ticket-menu{border:0;background:#f2f6f6;color:#55666e;font-size:10px;font-weight:800;border-radius:8px;padding:8px 10px;cursor:pointer}
.pos2-sale-data{flex:0 0 auto;padding:10px 12px;border-bottom:1px solid #edf1f2;background:#fbfcfc;display:grid;grid-template-columns:1fr 1fr;gap:8px}.pos2-sale-data[hidden]{display:none}.pos2-sale-data>div:last-child{grid-column:1/-1}.pos2-sale-data label{font-size:9px;margin:0 0 3px;color:#7b898f;text-transform:uppercase}.pos2-sale-data select{height:34px;padding:5px 8px;font-size:11px;border-radius:8px}
.pos2-cart{flex:1;min-height:120px;overflow:auto;padding:4px 0;background:#fff}.pos2-empty{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:#9eaaaf}.pos2-empty-logo{font-size:30px;font-weight:950;letter-spacing:.04em;color:#d5dfe1;margin-bottom:18px}.pos2-empty strong{font-size:13px;color:#6c7b82;margin-bottom:5px}.pos2-empty span{font-size:11px;max-width:245px;line-height:1.45}.pos2-cart-row{padding:10px 12px;border-bottom:1px solid #eef2f3;display:flex;flex-direction:column;gap:8px}.pos2-cart-info{min-width:0}.pos2-cart-info strong{display:block;font-size:11px;line-height:1.3}.pos2-cart-info small{display:block;color:#8a999f;font-size:9px;margin-top:2px}.pos2-cart-actions{display:grid;grid-template-columns:110px 1fr 30px;gap:7px;align-items:center}.pos2-qty{display:grid;grid-template-columns:30px 48px 30px;border:1px solid #dde5e7;border-radius:8px;overflow:hidden}.pos2-qty button{height:31px;border:0;background:#f4f7f7;color:#52636b;font-size:16px;cursor:pointer}.pos2-qty input{height:31px;border:0!important;border-radius:0!important;padding:4px;text-align:center;font-size:11px;box-shadow:none!important}.pos2-price{height:33px!important;padding:6px 8px!important;text-align:right;font-size:11px!important}.pos2-remove{height:31px;width:30px;border:0;background:#fff1f1;color:#bd4e4e;border-radius:8px;font-size:16px;cursor:pointer}
.pos2-summary{flex:0 0 auto;padding:10px 14px;border-top:1px solid #e9eeef;background:#fbfcfc}.pos2-summary-row,.pos2-discount-row,.pos2-total-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pos2-summary-row{font-size:11px;color:#77868d;padding:2px 0}.pos2-discount-row{font-size:11px;color:#77868d;padding:5px 0}.pos2-discount-row input{width:120px;height:31px;padding:5px 8px;text-align:right;font-size:11px}.pos2-total-row{border-top:1px dashed #d9e1e4;margin-top:5px;padding-top:8px}.pos2-total-row span{font-size:10px;font-weight:900;letter-spacing:.08em}.pos2-total-row strong{font-size:25px;line-height:1;color:#1d3038}
.pos2-payment-area{flex:0 0 auto;padding:10px 12px;border-top:1px solid #e9eeef;background:#fff}.pos2-payment-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.pos2-payment-head>span{font-size:9px;font-weight:900;color:#7c8b92;letter-spacing:.08em}.pos2-payment-head button{border:0;background:transparent;color:#398f91;font-size:10px;font-weight:800;cursor:pointer}.pos2-quick-pay{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pos2-quick-pay button{height:34px;border:1px solid #dce5e7;background:#fff;color:#53646b;border-radius:8px;font-size:10px;font-weight:800;cursor:pointer}.pos2-quick-pay button:hover{border-color:#65c5c6;background:#f0fbfb;color:#287d7f}.pos2-payments{display:grid;gap:5px;margin-top:6px;max-height:112px;overflow:auto}.pos2-payment-row{display:grid;grid-template-columns:1.1fr .8fr;gap:5px;position:relative;padding-right:29px}.pos2-payment-row select,.pos2-payment-row input{height:31px;padding:4px 6px;font-size:10px;border-radius:7px}.pos2-payment-row button{position:absolute;right:0;top:0;width:25px;height:31px;border:0;border-radius:7px;background:#fff1f1;color:#b84d4d;cursor:pointer}.pos2-cash-received{margin-top:6px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f2fbfb;border:1px solid #d5eeee;border-radius:9px;padding:7px}.pos2-cash-received[hidden]{display:none}.pos2-cash-received label{font-size:9px;margin:0 0 3px;color:#5f747b}.pos2-cash-received input{height:31px;padding:5px 7px;font-size:11px}.pos2-change{display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.pos2-change span{font-size:9px;color:#6e7e85}.pos2-change strong{font-size:15px;color:#287d7f}.pos2-payment-state{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#86949a;margin-top:6px}.pos2-payment-state strong{color:#4d5e66}.pos2-notes{margin-top:4px}.pos2-notes summary{font-size:9px;color:#7f8e94;cursor:pointer}.pos2-notes input{height:31px;margin-top:5px;padding:5px 7px;font-size:10px}
.pos2-charge{flex:0 0 58px;margin:0 12px 12px;border:0;border-radius:14px;background:#53c3c5;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;cursor:pointer;box-shadow:0 8px 20px rgba(83,195,197,.22)}.pos2-charge span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.pos2-charge strong{font-size:23px}.pos2-charge:hover{filter:brightness(.97)}.pos2-charge:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:1050px){.pos2-header{grid-template-columns:220px 1fr auto}.pos2-user{display:none}.pos2-workspace{grid-template-columns:minmax(0,1fr) 390px}.pos2-product-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:820px){body.pos-mode{overflow:auto}.pos2-shell{height:auto;min-height:100vh}.pos2-header{height:auto;grid-template-columns:1fr;padding:10px 12px;gap:8px}.pos2-header-center{grid-template-columns:70px 1fr}.pos2-header-actions{justify-content:flex-start}.pos2-workspace{grid-template-columns:1fr;display:block}.pos2-catalog{height:58vh}.pos2-ticket{border-left:0;border-top:1px solid #dfe5e8;min-height:70vh}.pos2-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px}.pos2-result-meta{display:none}}

/* ===== v1.0.9 · catálogo POS robusto y pulido ===== */
.pos2-catalog{background:linear-gradient(180deg,#f6f8f9 0%,#f3f6f7 100%)}
.pos2-catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:0 2px}
.pos2-filter-pills{display:flex;align-items:center;gap:6px}
.pos2-filter-pills button{height:28px;border:1px solid #dbe4e7;background:#fff;color:#66767d;border-radius:999px;padding:0 12px;font-size:10px;font-weight:800;cursor:pointer}
.pos2-filter-pills button.active{background:#23343d;border-color:#23343d;color:#fff}
.pos2-catalog-tools>span{font-size:9px;color:#8a989e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos2-product-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));grid-auto-rows:154px;gap:11px}
.pos2-product-card{padding:10px;border-color:#dfe6e8;box-shadow:0 2px 7px rgba(30,45,55,.035)}
.pos2-product-card:active{transform:scale(.99)}
.pos2-product-card.is-low{border-color:#eadfc5}
.pos2-product-thumb{height:46px;background:linear-gradient(135deg,#eef3f4,#e5edef);font-size:13px}
.pos2-product-bottom small{padding:3px 6px;border-radius:999px;background:#f1f5f6;color:#66777e;font-weight:700}
.pos2-product-bottom small.low{background:#fff5df;color:#9a6512}
.pos2-no-results{background:#fff;border:1px dashed #dce4e7;border-radius:14px;min-height:240px;margin-top:2px}
.pos2-ticket-head{background:#fcfdfd}
.pos2-summary{padding:12px 14px}
.pos2-total-row strong{font-size:28px}
.pos2-quick-pay button{height:38px;font-size:10px;background:#fbfcfc}
.pos2-quick-pay button:hover{transform:translateY(-1px)}
.pos2-charge{height:60px;flex-basis:60px}
.pos2-charge strong{font-size:25px}
@media(max-width:1050px){.pos2-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pos2-catalog-tools>span{display:none}}


/* v1.0.10 - tablas administrativas compactas sin scroll horizontal innecesario */
.table-fit{overflow-x:hidden}
.compact-table{table-layout:fixed;width:100%;font-size:12px}
.compact-table th,.compact-table td{padding:9px 10px;white-space:normal;vertical-align:middle;overflow-wrap:anywhere}
.compact-table th{font-size:10px}
.table-subline{display:block;color:#78838f;font-size:10px;font-weight:500;margin-top:3px;line-height:1.25}
.stock-number{font-weight:800;font-variant-numeric:tabular-nums}
.table-actions{display:flex;gap:5px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.table-actions form{margin:0}
.table-actions .btn{padding:5px 7px;font-size:10px;white-space:nowrap}
.products-table .c-sku{width:92px}.products-table .c-product{width:auto}.products-table .c-class{width:145px}.products-table .c-stock{width:68px;text-align:center}.products-table .c-price{width:104px}.products-table .c-status{width:82px}.products-table .c-actions{width:205px}
.stock-table .c-sku{width:102px}.stock-table .c-product{width:auto}.stock-table .c-warehouse{width:145px}.stock-table .c-stock{width:64px;text-align:center}.stock-table .c-min{width:54px;text-align:center}.stock-table .c-cost{width:102px}.stock-table .c-value{width:118px}
.kardex-table th:nth-child(1){width:120px}.kardex-table th:nth-child(2){width:145px}.kardex-table th:nth-child(3){width:130px}.kardex-table th:nth-child(4){width:auto}.kardex-table th:nth-child(5){width:60px}.kardex-table th:nth-child(6){width:60px}.kardex-table th:nth-child(7){width:110px}
@media(max-width:1100px){
 .compact-table{font-size:11px}.compact-table th,.compact-table td{padding:8px 7px}
 .products-table .c-class{width:115px}.products-table .c-price{width:90px}.products-table .c-actions{width:175px}
 .table-actions{display:grid;grid-template-columns:1fr 1fr}.table-actions form:last-child{grid-column:1/-1}.table-actions .btn{width:100%}
 .stock-table .c-warehouse{width:120px}.stock-table .c-cost{width:90px}.stock-table .c-value{width:102px}
}
@media(max-width:780px){.table-fit{overflow-x:auto}.compact-table{min-width:760px}}

/* v1.0.11 - Caja: apertura compacta y mejor uso del espacio */
.cash-preopen-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:16px;align-items:stretch;margin-bottom:18px}
.cash-open-card-compact{width:100%;padding:20px;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.cash-open-card-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.cash-open-card-head .cash-open-icon{margin:0;flex:0 0 auto}.cash-open-card-head h2{margin:2px 0 3px}.cash-open-card-head p{margin:0}
.cash-open-form-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr) auto;gap:12px;align-items:end}.cash-open-form-grid label{margin-top:0}.cash-open-action{display:flex;align-items:end}.cash-open-action .cash-open-button{width:auto;min-width:190px;margin:0;height:39px;padding:8px 18px}
.cash-last-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.cash-last-card h3{font-size:18px;margin:3px 0 14px}.cash-last-main{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.cash-last-main>div{border:1px solid #eef2f7;background:#f8fafc;border-radius:10px;padding:10px}.cash-last-main span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:800;margin-bottom:4px}.cash-last-main strong{font-size:14px;color:#0f172a}.cash-last-diff{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;padding:10px 2px;margin:4px 0 12px;font-size:12px}.cash-last-diff strong{font-size:16px}.cash-history-block{margin-top:12px}
@media(max-width:900px){.cash-preopen-grid{grid-template-columns:1fr}.cash-open-form-grid{grid-template-columns:1fr 1fr}.cash-open-action{grid-column:1/-1}.cash-open-action .cash-open-button{width:100%}}
@media(max-width:580px){.cash-open-form-grid{grid-template-columns:1fr}.cash-open-action{grid-column:auto}.cash-last-main{grid-template-columns:1fr 1fr}}


/* Dashboard v1.0.12 */
.dashboard-v2-head{align-items:center}.dashboard-v2-filter{margin-bottom:18px;padding:14px 16px}.dash-filter-row{display:grid;grid-template-columns:1.2fr repeat(2,minmax(140px,.7fr)) auto;gap:12px;align-items:end}.dash-filter-switch label,.dash-filter-date label{font-size:12px;margin-top:0}.segmented{display:inline-flex;background:#eef2f7;border:1px solid var(--line);padding:4px;border-radius:12px;gap:4px}.segmented button{border:0;background:transparent;color:#475569;padding:9px 14px;border-radius:10px;font-weight:700;cursor:pointer}.segmented button.active{background:#fff;color:#0f172a;box-shadow:var(--shadow)}.dash-filter-action{display:flex;justify-content:flex-end}.dash-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dash-hero{padding:18px 18px 16px;border-radius:18px;overflow:hidden;position:relative}.dash-hero:before{content:"";position:absolute;inset:auto -30px -30px auto;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08)}.dash-hero.sales{background:linear-gradient(135deg,#33c3c8,#58d2d8);color:#fff;border-color:transparent}.dash-hero.profit{background:linear-gradient(135deg,#4f77a5,#6786af);color:#fff;border-color:transparent}.dash-hero.expenses{background:#fff8f6}.dash-hero.operating{background:#eef6ff}.dash-hero-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.dash-hero-top span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dash-hero-top small{font-size:11px;font-weight:700;opacity:.92}.dash-hero-value{font-size:34px;line-height:1.05;font-weight:900;margin-top:14px}.dash-hero-sub{font-size:13px;margin-top:10px;opacity:.96}.dash-hero .up{color:#14532d}.dash-hero .down{color:#991b1b}.dash-hero.sales .up,.dash-hero.sales .down,.dash-hero.profit .up,.dash-hero.profit .down{color:#fff}.dash-main-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:16px;margin-top:16px}.dash-side-grid{display:grid;gap:16px}.dash-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:14px}.dash-card-head h3{margin:0}.dash-card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.dash-card-head.compact{margin-bottom:10px;align-items:center}.dash-chip{background:#f1f5f9;border:1px solid #dfe7ef;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;color:#334155}.dash-chart-card{padding-bottom:10px}.dash-chart-wrap{display:grid;grid-template-columns:70px 1fr;gap:10px;min-height:280px}.dash-chart-axis{display:flex;flex-direction:column;justify-content:space-between;color:#94a3b8;font-size:11px;padding:8px 0 24px}.dash-chart{display:flex;align-items:end;gap:10px;min-height:260px;padding:12px 8px 4px;border-left:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:linear-gradient(to top,rgba(148,163,184,.08) 1px,transparent 1px);background-size:100% 33.33%}.dash-bar-group{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:42px}.dash-bar{width:min(48px,100%);border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#5fd2d4,#2897d3);min-height:10px;box-shadow:inset 0 -8px 18px rgba(9,66,88,.12)}.dash-bar-label{margin-top:10px;font-size:11px;font-weight:700;color:#475569}.dash-bar-meta{font-size:10px;color:#94a3b8}.dash-empty{display:grid;place-items:center;width:100%;border:1px dashed #cbd5e1;border-radius:16px;color:#64748b;font-weight:600}.dash-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-stat{background:#f8fafc;border:1px solid #e7edf4;border-radius:12px;padding:12px}.mini-stat span{display:block;color:#64748b;font-size:12px;margin-bottom:6px}.mini-stat strong{font-size:20px;line-height:1.1}.dash-progress{margin-top:12px}.dash-progress>span{background:linear-gradient(90deg,#34c6cb,#2a72eb)}.dash-lower-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.dash-ranking{display:grid;gap:10px}.rank-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.rank-row:last-child{border-bottom:0}.rank-num{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef6ff;color:#1d4ed8;font-weight:800}.rank-body strong{display:block;line-height:1.25}.rank-body small{display:block;color:var(--muted);margin-top:3px}.pay-list{gap:12px}.pay-row{display:grid;gap:7px}.pay-top{display:flex;justify-content:space-between;gap:10px;font-size:13px}.pay-row .bar{height:10px;background:#e8eef5}.pay-row .bar span{background:linear-gradient(90deg,#4ecad0,#5f8ce9)}.dash-bottom-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}.dash-table-wrap{border:0;box-shadow:none}.dash-footnote{margin-top:10px;font-size:12px}.dash-summary-card .summary-row:last-of-type{border-bottom:0}.dash-hero.expenses .dash-hero-top small.down,.dash-hero.expenses .dash-hero-top small.up,.dash-hero.operating .dash-hero-top small.down,.dash-hero.operating .dash-hero-top small.up{font-weight:800}.dash-hero .neutral{color:#64748b}.dash-hero.sales .neutral,.dash-hero.profit .neutral{color:#e2e8f0}
@media (max-width:1400px){.dash-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-lower-grid{grid-template-columns:1fr}.dash-bottom-grid{grid-template-columns:1fr}.dash-main-grid{grid-template-columns:1fr}.dash-chart-wrap{min-height:240px}}
@media (max-width:900px){.dash-filter-row{grid-template-columns:1fr 1fr}.dash-filter-action{justify-content:flex-start}.dash-mini-grid,.dash-hero-grid{grid-template-columns:1fr}.dash-chart{overflow:auto;padding-bottom:10px}.dash-chart-wrap{grid-template-columns:1fr}.dash-chart-axis{display:none}}


/* Dashboard combo chart + discount trace v1.0.14 */
.dash-combo-legend{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:-2px 0 8px;color:#58656d;font-size:12px}.dash-combo-legend span{display:inline-flex;align-items:center;gap:7px}.legend-box{width:28px;height:12px;border-radius:3px;display:inline-block}.legend-box.income{background:#54c8c8}.legend-line{width:28px;height:0;border-top:3px solid;display:inline-block}.legend-line.margin{border-color:#ff8c68}.legend-line.expense{border-color:#75838f}.legend-line.average{border-top:3px dotted #23b879}.dash-combo-wrap{width:100%;overflow:hidden;min-height:300px}.dash-combo-svg{display:block;width:100%;height:300px;overflow:visible}.combo-grid{stroke:#d9e2e7;stroke-width:1}.combo-axis{stroke:#a9b6be;stroke-width:1.2}.combo-axis-label,.combo-x-label{fill:#84929a;font-size:10px;font-family:inherit}.combo-income{fill:#54c8c8}.combo-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.combo-margin{stroke:#ff8c68}.combo-expense{stroke:#75838f}.combo-point{stroke:#fff;stroke-width:1.5}.margin-point{fill:#ff8c68}.expense-point{fill:#75838f}.combo-average{stroke:#23b879;stroke-width:2.5;stroke-dasharray:3 6}.combo-average-box{fill:#71808b}.combo-average-text{fill:#fff;font-size:10px;font-weight:800;font-family:inherit}.dash-combo-empty{min-height:270px}.discount-summary-value{display:flex;align-items:center;gap:10px}.link-button{border:0;background:transparent;color:#2563eb;font:inherit;font-size:11px;font-weight:800;padding:0;cursor:pointer}.link-button:hover{text-decoration:underline}.discount-detail{margin-top:8px;background:#f8fafc;border:1px solid #e4eaf0;border-radius:12px;padding:10px 12px}.discount-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:7px;border-bottom:1px solid #e4eaf0;font-size:12px}.discount-detail-head span{color:#64748b}.discount-sale-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:9px 0;border-bottom:1px dashed #dce4ea}.discount-sale-row:last-child{border-bottom:0}.discount-sale-row small{display:block;color:#7b8790;margin-top:3px;font-size:10px}.discount-sale-row .money strong{color:#b45309}.discount-sale-row .money small{text-align:right}
@media(max-width:900px){.dash-combo-wrap{overflow-x:auto}.dash-combo-svg{min-width:720px}.dash-combo-legend{justify-content:flex-start}}


/* Dashboard discount modal v1.0.15 */
body.modal-open{overflow:hidden}.dash-modal[hidden]{display:none}.dash-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}.dash-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}.dash-modal-dialog{position:relative;width:min(720px,94vw);max-height:min(82vh,760px);display:flex;flex-direction:column;background:#fff;border:1px solid #dde5ec;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.24);overflow:hidden}.dash-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e7edf2}.dash-modal-head h3{font-size:19px;margin:2px 0 0}.dash-modal-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#64748b}.dash-modal-close{width:36px;height:36px;border:1px solid #dbe3ea;background:#fff;border-radius:10px;color:#475569;font-size:24px;line-height:1;cursor:pointer}.dash-modal-close:hover{background:#f8fafc}.dash-modal-summary{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:13px 20px;background:#f8fafc;border-bottom:1px solid #e7edf2}.dash-modal-summary span{font-size:12px;color:#64748b}.dash-modal-summary strong{font-size:18px;color:#b45309}.dash-modal-summary small{grid-column:1/-1;color:#94a3b8;font-size:11px}.dash-modal-body{overflow:auto;padding:14px 16px 18px}.discount-sale-card{border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}.discount-sale-card:last-child{margin-bottom:0}.discount-sale-card-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;padding:13px 14px;background:#fbfcfd;border-bottom:1px solid #e8edf2}.discount-sale-card-head>div:first-child strong{display:block;font-size:14px}.discount-sale-card-head small{display:block;color:#7b8790;margin-top:3px;font-size:11px}.discount-sale-card-head .money strong{color:#b45309;font-size:15px}.discount-products{padding:4px 14px}.discount-product-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px dashed #dce4ea}.discount-product-row:last-child{border-bottom:0}.discount-product-main strong{display:block;font-size:13px;line-height:1.25}.discount-product-main small{display:block;color:#7b8790;margin-top:3px;font-size:10px}.discount-product-row .money strong{font-size:12px}.discount-product-row .money small{display:block;color:#b45309;font-size:10px;margin-top:3px}.discount-sale-totals{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;padding:10px 14px;background:#f8fafc;border-top:1px solid #e8edf2;font-size:11px;color:#64748b}.discount-sale-totals strong{color:#0f172a;margin-left:4px}@media(max-width:640px){.dash-modal{padding:10px}.dash-modal-dialog{width:100%;max-height:90vh}.discount-sale-card-head,.discount-product-row{grid-template-columns:1fr}.discount-sale-card-head .money,.discount-product-row .money{text-align:left}.discount-sale-totals{justify-content:flex-start;gap:10px}}


/* POS product list v1.0.17 */
.pos2-product-list{flex:1;min-height:0;overflow:auto;background:#fff;border:1px solid #e3e9ec;border-radius:12px}
.pos2-product-list::-webkit-scrollbar{width:7px}.pos2-product-list::-webkit-scrollbar-thumb{background:#ccd6da;border-radius:10px}
.pos2-product-list-head{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:120px minmax(0,1fr) 82px 118px;gap:12px;align-items:center;padding:10px 14px;background:#f7f9fa;border-bottom:1px solid #e1e7ea;color:#718087;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.pos2-product-line{width:100%;border:0;border-bottom:1px solid #edf1f2;background:#fff;display:grid;grid-template-columns:120px minmax(0,1fr) 82px 118px;gap:12px;align-items:center;padding:11px 14px;text-align:left;cursor:pointer;color:#25343b;transition:background .12s ease,box-shadow .12s ease}
.pos2-product-line:last-child{border-bottom:0}.pos2-product-line:hover{background:#f4fbfb;box-shadow:inset 3px 0 0 #51c7cb}.pos2-product-line:active{background:#eaf7f7}
.pos2-product-line.is-low{background:#fffdf8}.pos2-product-line.is-low:hover{background:#fff8e8}
.pos2-line-sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#7a8a91;font-size:11px;white-space:nowrap}
.pos2-line-name{font-size:12px;font-weight:800;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal}
.pos2-line-stock{justify-self:start;min-width:34px;text-align:center;background:#e8f8f1;color:#08785a;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.pos2-line-stock.low{background:#fff1d6;color:#94620b}
.pos2-line-price{justify-self:end;font-size:12px;font-weight:900;color:#1d3038;white-space:nowrap}
@media(max-width:1050px){.pos2-product-list-head,.pos2-product-line{grid-template-columns:100px minmax(0,1fr) 70px 105px;padding-left:10px;padding-right:10px;gap:9px}.pos2-line-name{font-size:11.5px}}
@media(max-width:820px){.pos2-product-list-head{grid-template-columns:1fr 70px 100px}.pos2-product-list-head span:first-child{display:none}.pos2-product-line{grid-template-columns:1fr 70px 100px}.pos2-line-sku{display:none}.pos2-line-name{font-size:12px}}

/* ===== v1.0.18 · POS legible + panel derecho utilizable ===== */
@media(min-width:821px){
  .pos2-workspace{grid-template-columns:minmax(0,1fr) 470px}
  .pos2-ticket{height:100%;max-height:100%;overflow:hidden}
  .pos2-cart{min-height:0;flex:1 1 auto;overflow:auto}
  .pos2-payment-area{max-height:210px;overflow:auto;overscroll-behavior:contain}
  .pos2-charge{position:sticky;bottom:10px;z-index:8;flex:0 0 64px;min-height:64px;margin:8px 12px 10px;box-shadow:0 10px 24px rgba(34,156,160,.28)}
}
.pos2-ticket-head{height:66px;flex-basis:66px;padding:0 16px}.pos2-ticket-head span{font-size:11px}.pos2-ticket-head strong{font-size:16px}.pos2-ticket-menu{font-size:12px;padding:9px 12px}
.pos2-sale-data{padding:12px 14px;gap:10px}.pos2-sale-data label{font-size:11px;margin-bottom:5px}.pos2-sale-data select{height:38px;font-size:13px;padding:7px 9px}
.pos2-cart-row{padding:12px 14px;gap:10px}.pos2-cart-info strong{font-size:13px;line-height:1.35}.pos2-cart-info small{font-size:11px;margin-top:4px}.pos2-cart-actions{grid-template-columns:116px 1fr 34px;gap:8px}.pos2-qty{grid-template-columns:34px 48px 34px}.pos2-qty button{height:36px;font-size:18px}.pos2-qty input{height:36px;font-size:13px}.pos2-price{height:38px!important;font-size:13px!important;padding:7px 9px!important}.pos2-remove{height:36px;width:34px;font-size:18px}
.pos2-summary{padding:12px 14px}.pos2-summary-row,.pos2-discount-row{font-size:13px;padding:5px 0}.pos2-discount-row input{width:125px;height:36px;font-size:13px;padding:6px 9px}.pos2-total-row{margin-top:7px;padding-top:10px}.pos2-total-row span{font-size:12px}.pos2-total-row strong{font-size:31px}
.pos2-payment-area{padding:11px 14px}.pos2-payment-head{margin-bottom:9px}.pos2-payment-head>span{font-size:11px}.pos2-payment-head button{font-size:12px}.pos2-quick-pay{gap:7px}.pos2-quick-pay button{height:40px;font-size:12px}.pos2-payments{gap:7px;margin-top:8px;max-height:122px}.pos2-payment-row{gap:7px;padding-right:32px}.pos2-payment-row select,.pos2-payment-row input{height:36px;font-size:12px;padding:6px 8px}.pos2-payment-row button{width:28px;height:36px;font-size:15px}.pos2-cash-received{padding:9px;gap:10px}.pos2-cash-received label{font-size:11px}.pos2-cash-received input{height:36px;font-size:13px}.pos2-change span{font-size:11px}.pos2-change strong{font-size:18px}.pos2-payment-state{font-size:11px;margin-top:8px}.pos2-notes{margin-top:7px}.pos2-notes summary{font-size:11px}.pos2-notes input{height:36px;font-size:12px}.pos2-charge span{font-size:14px}.pos2-charge strong{font-size:28px}
.pos2-empty strong{font-size:15px}.pos2-empty span{font-size:13px}
@media(max-width:1150px) and (min-width:821px){
  .pos2-workspace{grid-template-columns:minmax(0,1fr) 430px}
  .pos2-ticket-head{height:60px;flex-basis:60px}
  .pos2-sale-data{padding:9px 11px}.pos2-sale-data select{height:35px;font-size:12px}
  .pos2-cart-row{padding:9px 11px}.pos2-summary{padding:9px 12px}.pos2-payment-area{padding:8px 11px;max-height:185px}
  .pos2-quick-pay button{height:36px}.pos2-payment-row select,.pos2-payment-row input{height:33px}.pos2-charge{min-height:58px;flex-basis:58px;margin:6px 10px 8px}.pos2-total-row strong{font-size:28px}
}
@media(max-height:760px) and (min-width:821px){
  .pos2-ticket-head{height:56px;flex-basis:56px}.pos2-sale-data{padding-top:7px;padding-bottom:7px}.pos2-cart-row{padding-top:8px;padding-bottom:8px}.pos2-summary{padding-top:8px;padding-bottom:8px}.pos2-payment-area{max-height:174px;padding-top:7px;padding-bottom:7px}.pos2-quick-pay button{height:34px}.pos2-charge{min-height:56px;flex-basis:56px}.pos2-charge strong{font-size:25px}
}
