:root{--accent:#0f766e;--accent-dark:#115e59;--bg:#f8fafc;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--error:#b91c1c;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}#root{min-height:100dvh}h1,h2{margin:0}.muted{color:var(--muted)}.error{color:var(--error);margin:.25rem 0}.centered{place-items:center;min-height:100dvh;display:grid}.login{place-items:center;min-height:100dvh;padding:1rem;display:grid}.login-card{background:var(--card);border:1px solid var(--border);border-radius:12px;gap:.9rem;width:100%;max-width:22rem;padding:2rem;display:grid}.login-card h1{color:var(--accent)}.login-card p{margin:0}.google-btn{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:8px;justify-content:center;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.95rem;font-weight:500;transition:background .15s,box-shadow .15s;display:flex}.google-btn:hover:not(:disabled){background:#f7f8f8;box-shadow:0 1px 3px #0000001f}.google-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{color:var(--muted);align-items:center;gap:.8rem;font-size:.82rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.pending-approval{text-align:center;background:#fff3cd;border:1px solid #ffecb5;border-radius:8px;padding:1rem}.pending-approval p{margin:0 0 .4rem}.pending-approval p:last-child{margin-bottom:0}.topbar{background:var(--accent);color:#fff;flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.brand{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.topbar nav{flex:1;gap:.25rem;display:flex}.topbar nav a{color:#fffc;border-radius:8px;padding:.35rem .7rem;text-decoration:none}.topbar nav a.active{background:var(--accent-dark);color:#fff}.user-chip{align-items:center;gap:.6rem;font-size:.9rem;display:flex}.user-chip .muted{color:#fffa}.linklike{color:#fff;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}main{max-width:48rem;margin:0 auto;padding:1rem}.sync-badge{color:#92400e;background:#fef3c7;flex-wrap:wrap;gap:1.2rem;padding:.45rem 1rem;font-size:.9rem;font-weight:500;display:flex}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.search{width:100%;margin-bottom:1rem}input,select{border:1px solid var(--border);width:100%;font:inherit;background:var(--card);border-radius:8px;padding:.6rem .7rem}input:disabled{background:var(--bg);color:var(--muted)}label{gap:.3rem;font-size:.95rem;display:grid}.form{background:var(--card);border:1px solid var(--border);border-radius:12px;gap:1rem;padding:1.25rem;display:grid}fieldset{border:1px solid var(--border);border-radius:8px;gap:.5rem;display:grid}.radio{align-items:center;gap:.5rem;display:flex}.radio input{width:auto}.form-actions{justify-content:flex-end;gap:.6rem;display:flex}button,.button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{background:var(--accent-dark)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.product-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.product-row{background:var(--card);border:1px solid var(--border);color:inherit;border-radius:10px;padding:.7rem .9rem;text-decoration:none;display:block}a.product-row:hover{border-color:var(--accent)}.product-name{align-items:center;gap:.5rem;font-weight:600;display:flex}.product-meta{justify-content:space-between;gap:1rem;margin-top:.15rem;font-size:.9rem;display:flex}.price{color:var(--accent-dark);font-weight:600}.barcode{color:var(--muted);font-variant-numeric:tabular-nums}.badge{border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600}.badge-off{color:var(--error);background:#fee2e2}.sell{padding-bottom:5.5rem}.sell-actions{gap:.6rem;margin-bottom:1rem;display:flex}.sell-actions .search{flex:1;margin-bottom:0}.results{border:1px solid var(--border);background:var(--card);border-radius:10px;margin:0 0 1rem;padding:0;list-style:none;overflow:hidden}.result-row{width:100%;color:var(--text);border:none;border-bottom:1px solid var(--border);text-align:left;background:0 0;border-radius:0;justify-content:space-between;gap:1rem;padding:.7rem .9rem;font-weight:500;display:flex}.result-row:hover{background:var(--bg)}.no-results{padding:.7rem .9rem}.empty-cart{text-align:center;padding:2.5rem 1rem}.cart{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.cart-line{background:var(--card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem .9rem;display:flex}.cart-info{gap:.1rem;min-width:0;display:grid}.cart-name{font-weight:600}.cart-controls{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.qty{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;width:2.2rem;height:2.2rem;padding:0;font-size:1.1rem;line-height:1}.qty:hover{background:var(--border)}.qty-num{text-align:center;min-width:1.2rem;font-weight:600}.cart-amount{color:var(--accent-dark);text-align:right;min-width:4.5rem;font-weight:700}.sell-footer{background:var(--card);border-top:1px solid var(--border);padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.sell-footer .total{display:grid}.sell-footer .total span{color:var(--muted);font-size:.8rem}.sell-footer .total strong{font-size:1.5rem}.sell-footer button{padding:.8rem 2.2rem;font-size:1.1rem}body:has(.modal){overflow:hidden}.modal{z-index:10;background:#0f172a80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);border-radius:14px;gap:.9rem;width:100%;max-width:24rem;padding:1.4rem;display:grid}.modal-card h3{margin:0;font-size:1.2rem}.scanner-card{max-width:30rem}.scanner-viewport{position:relative}.scanner-video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:10px;width:100%;display:block}.scanner-guide{pointer-events:none;position:absolute;inset:15% 12%}.guide-corner{border:0 solid #ffffffd9;width:24px;height:24px;animation:2s ease-in-out infinite guide-pulse;position:absolute}.guide-corner.tl{border-top-width:3px;border-left-width:3px;border-top-left-radius:6px;top:0;left:0}.guide-corner.tr{border-top-width:3px;border-right-width:3px;border-top-right-radius:6px;top:0;right:0}.guide-corner.bl{border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:6px;bottom:0;left:0}.guide-corner.br{border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:6px;bottom:0;right:0}@keyframes guide-pulse{0%,to{opacity:.6}50%{opacity:1}}.scanner-hint{text-align:center;color:var(--muted);margin:.5rem 0 0;font-size:.8rem}.pay-methods{gap:.4rem;display:flex}.method{background:var(--bg);color:var(--text);border:1px solid var(--border);flex:1;padding:.55rem .4rem;font-weight:500}.method.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.vuelto{margin:0;font-size:1.1rem}.done-card{text-align:center}.done-total{margin:0;font-size:2rem;font-weight:700}.done-change{color:var(--accent-dark);margin:0;font-size:1.3rem}.range-selector{gap:.4rem;margin-bottom:1.2rem;display:flex}.range-btn{background:var(--bg);color:var(--text);border:1px solid var(--border);flex:1;padding:.55rem .4rem;font-weight:500}.range-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.report-summary{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem;margin-bottom:1.5rem;display:grid}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;gap:.15rem;padding:.9rem;display:grid}.summary-card.summary-total{border-color:var(--accent)}.summary-label{color:var(--muted);font-size:.85rem}.summary-value{font-size:1.25rem}.summary-count{color:var(--muted);font-size:.8rem}.top-products{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=36rem){.top-products{grid-template-columns:1fr}}.top-col h3{color:var(--muted);margin-bottom:.4rem;font-size:.95rem}.top-list{counter-reset:top-counter;gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.top-list li{background:var(--card);border:1px solid var(--border);counter-increment:top-counter;border-radius:8px;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.top-list li:before{content:counter(top-counter) ".";color:var(--muted);min-width:1.5rem;font-weight:700}.top-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.top-value{color:var(--accent-dark);white-space:nowrap;font-weight:600}.section-title{margin:0 0 .6rem;font-size:1rem}.sale-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sale-row{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sale-row.anulada{opacity:.55}.sale-row.anulada .sale-header{text-decoration:line-through}.sale-header{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:.6rem;padding:.7rem .9rem;font-weight:500;display:flex}.sale-header:hover{background:var(--bg)}.sale-time{font-variant-numeric:tabular-nums;min-width:3.5rem}.sale-user{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sale-method{color:var(--muted);font-size:.85rem}.sale-total{color:var(--accent-dark);text-align:right;min-width:5rem;font-weight:700}.sale-chevron{color:var(--muted);font-size:.7rem}.sale-detail{border-top:1px solid var(--border);padding:.7rem .9rem}.item-table{border-collapse:collapse;width:100%;margin-bottom:.6rem;font-size:.9rem}.item-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:.3rem 0;font-size:.8rem;font-weight:600}.item-table td{padding:.3rem 0}.item-table td:last-child,.item-table th:last-child{text-align:right}.annul-confirm{align-items:center;gap:.6rem;margin-top:.4rem;font-size:.9rem;display:flex}.annul-btn{padding:.4rem .8rem;font-size:.85rem}.annul-btn.danger{background:var(--error)}.annul-btn.danger:hover{background:#991b1b}.annul-note{margin:.3rem 0 0;font-size:.85rem}.user-form{margin-bottom:1.2rem}.user-form h3{margin:0}.user-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.user-row{background:var(--card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem .9rem;display:flex}.user-row.inactive{opacity:.55}.user-info{gap:.1rem;min-width:0;display:grid}.user-name{align-items:center;gap:.5rem;font-weight:600;display:flex}
