*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:-apple-system,system-ui,sans-serif;background:#0b0f1a;color:#e8e8e8;overscroll-behavior:none}.page{min-height:100%;display:flex;flex-direction:column}.page.center{align-items:center;justify-content:center;padding:20px}.card{background:#141a16;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;width:100%;display:flex;flex-direction:column;gap:8px}.logo{font-size:48px;text-align:center;color:#22c55e}h1{font-size:22px;font-weight:800;text-align:center}.muted{color:#ffffff80;font-size:13px;text-align:center}label{font-size:11px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-top:12px}input{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px;color:#fff;font-size:16px;font-family:inherit;outline:none}input:focus{border-color:#22c55e}.btn-primary{margin-top:18px;padding:14px;border:none;border-radius:10px;background:#1b5e20;color:#fff;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit}.btn-primary:disabled{opacity:.5}.btn-link{margin-top:10px;background:none;border:none;color:#ffffff80;font-size:13px;cursor:pointer;font-family:inherit;padding:8px}.btn-tenant{display:flex;align-items:center;gap:12px;padding:16px;background:#ffffff0a;border:2px solid;border-radius:12px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}.dot{width:12px;height:12px;border-radius:50%}.error{padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:12px;margin-top:10px}.topbar{padding:16px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center}.store{font-size:16px;font-weight:800}.who{font-size:11px;opacity:.8;margin-top:2px}.icon-btn{background:#ffffff26;border:none;color:#fff;width:40px;height:40px;border-radius:10px;font-size:18px;cursor:pointer}.tiles{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.tile{aspect-ratio:1;background:#141a16;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;cursor:pointer;font-family:inherit}.tile-icon{font-size:36px}.tile-label{font-size:15px;font-weight:800}.tile-desc{font-size:10px;color:#ffffff80;text-align:center}.footer{padding:16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.06)}@media(min-width:600px){.tiles{grid-template-columns:repeat(3,1fr);max-width:600px;margin:0 auto}}.scanner{position:fixed;inset:0;background:#000;z-index:1000;display:flex;align-items:center;justify-content:center}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.scanner-frame{position:relative;width:80%;max-width:320px;aspect-ratio:1.6/1}.scanner-corner{position:absolute;width:32px;height:32px;border:4px solid #22C55E}.scanner-corner.tl{top:0;left:0;border-right:none;border-bottom:none;border-top-left-radius:8px}.scanner-corner.tr{top:0;right:0;border-left:none;border-bottom:none;border-top-right-radius:8px}.scanner-corner.bl{bottom:0;left:0;border-right:none;border-top:none;border-bottom-left-radius:8px}.scanner-corner.br{bottom:0;right:0;border-left:none;border-top:none;border-bottom-right-radius:8px}.scanner-line{position:absolute;left:8px;right:8px;top:50%;height:2px;background:#22c55e;box-shadow:0 0 12px #22c55e;animation:scanline 2s ease-in-out infinite}@keyframes scanline{0%,to{transform:translateY(-40px)}50%{transform:translateY(40px)}}.scanner-hint{margin-top:24px;padding:8px 16px;background:#0009;color:#fff;border-radius:20px;font-size:13px}.scanner-controls{position:absolute;top:env(safe-area-inset-top,20px);right:20px;display:flex;flex-direction:column;gap:10px}.scanner-btn{width:48px;height:48px;border-radius:24px;background:#0009;border:none;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.scanner-error{position:absolute;inset:20px;background:#000000e6;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;color:#fff;text-align:center}.page-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));position:sticky;top:0;background:var(--bg, #0B0F1A);z-index:10}.page-header h1{flex:1;font-size:17px;font-weight:700;margin:0}.page-header h1.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{width:40px;height:40px;border-radius:10px;border:none;background:#ffffff0f;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-btn.primary{background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff;font-size:24px;font-weight:300}.icon-btn:active{transform:scale(.96)}.search-row{display:flex;gap:8px;padding:12px 16px}.search-input{flex:1;display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 12px}.search-input input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:16px;padding:12px 0;font-family:inherit}.search-icon{opacity:.5;font-size:14px}.clear-btn{background:none;border:none;color:#888;cursor:pointer;padding:0 4px;font-size:14px}.scan-btn{width:48px;height:48px;border-radius:10px;border:1px solid rgba(34,197,94,.3);background:#22c55e1a;color:#22c55e;font-size:22px;cursor:pointer}.dept-chips{display:flex;gap:6px;padding:0 16px 12px;overflow-x:auto;scrollbar-width:none}.dept-chips::-webkit-scrollbar{display:none}.chip{padding:7px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ccc;font-size:13px;white-space:nowrap;cursor:pointer;font-family:inherit}.chip.active{background:#22c55e26;border-color:#22c55e;color:#4ade80;font-weight:600}.product-list{list-style:none;margin:0;padding:0}.product-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}.product-row:active{background:#ffffff0a}.product-thumb{width:56px;height:56px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}.product-thumb img{width:100%;height:100%;object-fit:cover}.product-info{flex:1;min-width:0}.product-name{font-size:15px;font-weight:600;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variation-tag{display:inline-block;padding:1px 6px;border-radius:3px;background:#a855f726;color:#a78bfa;font-size:10px;font-weight:700}.product-meta{font-size:12px;color:#888;margin-top:2px}.product-meta .low{color:#f59e0b;font-weight:700}.product-price{font-size:16px;font-weight:700;color:#4ade80;flex-shrink:0}.loader-sentinel{height:60px;display:flex;align-items:center;justify-content:center}.loading-more,.end-of-list{font-size:12px;color:#888}.empty-state{text-align:center;padding:60px 20px;color:#888}.empty-icon{font-size:48px;margin-bottom:12px}.empty-sub{font-size:12px;margin-top:6px;opacity:.7}.error-banner{margin:12px 16px;padding:10px 14px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;font-size:13px}.product-form{padding-bottom:100px}.form-section{border-bottom:1px solid rgba(255,255,255,.05)}.section-header{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:none;border:none;color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;text-align:left}.section-header:active{background:#ffffff08}.section-icon{font-size:18px}.section-title{flex:1}.section-chevron{color:#666;font-size:11px}.section-body{padding:0 16px 16px}.field{margin-bottom:14px}.field-label{display:block;font-size:12px;font-weight:600;color:#aaa;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.field-hint{font-size:11px;color:#888;margin-top:4px}.field input[type=text],.field input[type=number],.field textarea,.field select{width:100%;padding:12px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:16px;font-family:inherit;outline:none;box-sizing:border-box}.field textarea{resize:vertical;min-height:60px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#22c55e;background:#ffffff14}.field input:disabled,.field select:disabled{opacity:.4}.toggle-row{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer}.toggle-row input[type=checkbox]{width:22px;height:22px;accent-color:#22C55E}.toggle-row span{font-size:15px;color:#ddd}.ai-row{display:flex;gap:8px;align-items:stretch}.ai-row textarea{flex:1}.ai-btn{padding:0 14px;border-radius:10px;border:1px solid rgba(124,58,237,.3);background:#7c3aed1a;color:#a78bfa;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;align-self:stretch}.ai-btn:disabled{opacity:.4}.margin-display{padding:10px 14px;border-radius:8px;background:#22c55e0f;color:#4ade80;font-size:13px;font-weight:600;margin-bottom:14px}.barcode-field{width:100%}.barcode-row{display:flex;gap:6px}.barcode-input{flex:1;padding:12px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:16px;font-family:monospace;outline:none;box-sizing:border-box}.generate-btn{padding:0 14px;border-radius:10px;border:1px solid rgba(34,197,94,.3);background:#22c55e1a;color:#4ade80;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}.barcode-status{margin-top:6px;padding:6px 10px;border-radius:6px;font-size:12px}.barcode-status.checking{color:#888}.barcode-status.ok{color:#4ade80}.barcode-status.warn{background:#f59e0b14;color:#f59e0b}.barcode-status.conflict{background:#f59e0b14;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.match-item{font-size:11px;color:#ccc;margin-top:2px}.link-variation-btn{margin-top:8px;padding:6px 12px;border-radius:6px;border:1px solid rgba(168,85,247,.4);background:#a855f726;color:#a78bfa;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.variation-banner{padding:12px;margin-bottom:14px;border-radius:10px;background:#a855f714;border:1px solid rgba(168,85,247,.25)}.variation-label{font-size:11px;font-weight:800;color:#a78bfa;letter-spacing:1px;margin-bottom:8px}.unlink-btn{margin-top:8px;padding:6px 12px;border-radius:6px;border:none;background:#ef44441a;color:#f87171;font-size:12px;cursor:pointer;font-family:inherit}.image-upload-zone{padding:28px 20px;border-radius:12px;border:2px dashed rgba(255,255,255,.15);background:#ffffff08;text-align:center;cursor:pointer;margin-bottom:14px}.upload-icon{font-size:36px;margin-bottom:8px}.upload-text{font-size:14px;font-weight:600;margin-bottom:4px}.upload-hint{font-size:11px;color:#888}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.image-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0000004d}.image-thumb.primary{border-color:#22c55e;border-width:2px}.image-thumb img{width:100%;height:100%;object-fit:cover}.primary-badge{position:absolute;top:4px;left:4px;padding:2px 6px;border-radius:3px;background:#22c55ef2;color:#fff;font-size:9px;font-weight:800}.image-actions{position:absolute;bottom:0;left:0;right:0;padding:4px;display:flex;gap:4px;justify-content:flex-end;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}.image-actions button{padding:4px 8px;border-radius:4px;border:none;background:#0009;color:#fff;font-size:11px;cursor:pointer}.passport-toggle-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px;border-radius:8px;background:#60a5fa0d}.toast{margin:12px 16px;padding:10px 14px;border-radius:10px;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:12px}.toast.warn{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.toast.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.toast.ok{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#4ade80}.toast-close{background:none;border:none;color:inherit;font-size:16px;cursor:pointer;padding:0 4px}.form-footer{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;background:#0b0f1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08);display:flex;gap:8px;z-index:10}.save-btn{flex:1;padding:14px;border-radius:10px;border:none;background:linear-gradient(135deg,#1b5e20,#2e7d32);color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit}.save-btn:disabled{background:#ffffff0d;color:#555}.delete-btn{padding:14px 18px;border-radius:10px;border:1px solid rgba(239,68,68,.3);background:#ef44441a;color:#f87171;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#1a1f2e;border-radius:16px;padding:24px;max-width:360px;width:100%;text-align:center}.modal-icon{font-size:36px;margin-bottom:8px}.modal h2{font-size:17px;margin:8px 0}.modal p{font-size:13px;color:#aaa;margin:8px 0 20px}.modal-actions{display:flex;gap:8px}.btn-secondary,.btn-danger{flex:1;padding:12px;border-radius:10px;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.btn-secondary{background:#ffffff0f;color:#ddd}.btn-danger{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#f87171}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;gap:12px}.ai-spinner{font-size:64px;animation:pulse 1.5s ease-in-out infinite}.ai-loading h2{font-size:18px;margin:0}.ai-loading p{color:#888;font-size:13px;margin:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.scanner-fallback{position:fixed;bottom:30px;left:0;right:0;display:flex;justify-content:center;z-index:1001;pointer-events:none}.manual-btn{padding:12px 20px;border-radius:24px;border:1px solid rgba(255,255,255,.2);background:#000000b3;color:#fff;font-size:13px;cursor:pointer;font-family:inherit;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading{text-align:center;padding:60px 20px;color:#888;font-size:14px}.stocktake-landing{padding:16px;display:flex;flex-direction:column;gap:16px}.resume-card{padding:20px;border-radius:14px;background:#f59e0b1a;border:2px solid rgba(245,158,11,.4)}.resume-badge{display:inline-block;padding:3px 8px;border-radius:4px;background:#f59e0b40;color:#f59e0b;font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:8px}.resume-title{font-size:16px;font-weight:700;margin-bottom:4px}.resume-meta{font-size:12px;color:#aaa;margin-bottom:14px}.resume-actions{display:flex;flex-direction:column;gap:8px}.resume-btn{padding:14px;border-radius:10px;border:none;background:#f59e0b;color:#1a1300;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}.cancel-link{background:none;border:none;color:#888;font-size:13px;text-align:center;padding:8px;cursor:pointer;font-family:inherit}.start-card{padding:32px 20px;border-radius:14px;background:#22c55e0f;border:2px dashed rgba(34,197,94,.3);display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font-family:inherit;color:#fff}.start-icon{font-size:48px}.start-title{font-size:17px;font-weight:700}.start-desc{font-size:12px;color:#888}.history-section{margin-top:8px}.section-heading{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1px;padding:0 4px 8px}.history-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);margin-bottom:6px}.history-info{flex:1;min-width:0}.history-date{font-size:13px;font-weight:600}.history-meta{font-size:11px;color:#888;margin-top:2px}.history-stats{text-align:right}.history-counts{font-size:12px;color:#ccc}.history-variance{font-size:13px;font-weight:700;margin-top:2px}.history-variance.positive{color:#4ade80}.history-variance.negative{color:#f87171}.history-variance.zero{color:#555}.stocktake-start{padding:16px 16px 100px}.start-section{margin-bottom:20px}.filter-list{display:flex;flex-direction:column;gap:6px}.filter-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#fff;font-family:inherit;cursor:pointer;text-align:left}.filter-row.active{background:#22c55e1a;border-color:#22c55e}.filter-icon{font-size:22px}.filter-label{flex:1;font-size:15px;font-weight:600}.filter-check{color:#22c55e;font-size:18px;font-weight:800}.filter-hint{margin-top:14px;padding:10px 14px;border-radius:8px;background:#60a5fa0f;border:1px solid rgba(96,165,250,.15);color:#93c5fd;font-size:12px;line-height:1.5}.progress-bar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:#ffffff0f;border-bottom:1px solid rgba(255,255,255,.06)}.progress-stat{padding:12px 8px;text-align:center;background:#0b0f1a}.stat-num{display:block;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.stat-num.positive{color:#4ade80}.stat-num.negative{color:#f87171}.stat-label{display:block;font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.finish-btn{padding:8px 16px;border-radius:8px;border:none;background:#22c55e;color:#022c0e;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}.stocktake-list{list-style:none;margin:0;padding:0}.stocktake-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}.stocktake-row.counted{background:#22c55e0a}.stocktake-row:active{background:#ffffff0a}.row-status{width:28px;text-align:center;font-size:18px}.status-pending{color:#444;font-size:22px}.status-ok{color:#4ade80;font-weight:800}.status-up{color:#4ade80;font-weight:800;font-size:20px}.status-down{color:#f87171;font-weight:800;font-size:20px}.row-info{flex:1;min-width:0}.row-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta{font-size:11px;color:#888;margin-top:2px;font-family:monospace}.row-counts{text-align:right;display:flex;flex-direction:column;gap:2px;min-width:70px}.count-row{display:flex;justify-content:space-between;gap:6px;font-size:11px}.count-label{color:#888;font-weight:600}.count-value{font-weight:700;font-variant-numeric:tabular-nums}.count-value.positive{color:#4ade80}.count-value.negative{color:#f87171}.count-system{font-size:18px;font-weight:700;color:#ccc;font-variant-numeric:tabular-nums}.count-system.low{color:#f59e0b}.count-modal{max-width:380px;padding:24px 20px 20px;position:relative}.modal-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:18px;border:none;background:#ffffff0f;color:#888;font-size:16px;cursor:pointer}.count-product-name{font-size:16px;font-weight:700;text-align:center;margin-bottom:4px}.count-product-meta{font-size:11px;color:#888;text-align:center;font-family:monospace;margin-bottom:12px}.count-current{display:flex;justify-content:center;gap:8px;padding:10px;border-radius:8px;background:#ffffff0a;font-size:14px;margin-bottom:16px}.count-current span{color:#888}.count-current strong{color:#fff;font-size:16px;font-weight:800}.count-current strong.low{color:#f59e0b}.count-display{position:relative;margin-bottom:16px}.count-input{width:100%;padding:18px;background:#ffffff0f;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:36px;font-weight:800;text-align:center;font-family:inherit;outline:none;font-variant-numeric:tabular-nums}.variance-pill{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.variance-pill.positive{background:#22c55e33;color:#4ade80}.variance-pill.negative{background:#ef444426;color:#f87171}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.numpad-btn{padding:18px 0;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;font-size:22px;font-weight:700;cursor:pointer;font-family:inherit}.numpad-btn:active{background:#ffffff1f;transform:scale(.96)}.numpad-btn.small{font-size:16px;color:#888}.count-modal .save-btn{width:100%;padding:14px;margin-top:0}.warning-modal{border-top:4px solid #F59E0B}.big-variance-product{font-size:14px;font-weight:600;color:#fff;margin:8px 0 16px}.variance-comparison{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-radius:10px;background:#ffffff0a;margin-bottom:12px}.variance-side{text-align:center}.variance-label{font-size:10px;color:#888;text-transform:uppercase;margin-bottom:4px}.variance-num{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums}.variance-num.positive{color:#4ade80}.variance-num.negative{color:#f87171}.variance-arrow{font-size:24px;color:#666}.warning-text{text-align:center;font-size:13px;color:#ccc;margin:8px 0 16px}.btn-warn{flex:1;padding:12px;border-radius:10px;border:none;background:#f59e0b33;border:1px solid #F59E0B;color:#f59e0b;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.finish-summary{background:#ffffff0a;border-radius:10px;padding:12px 16px;margin:8px 0 12px}.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.summary-row span{color:#888}.summary-row strong{color:#fff;font-weight:700}.summary-row strong.positive{color:#4ade80}.summary-row strong.negative{color:#f87171}.warn-note{padding:10px 14px;border-radius:8px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);color:#f59e0b;font-size:12px;line-height:1.5;margin:0 0 16px}.abandon-link{display:block;width:100%;background:none;border:none;color:#888;font-size:12px;padding:12px 0 0;cursor:pointer;font-family:inherit}.labels-tabs{display:flex;gap:6px;padding:12px 16px 0;border-bottom:1px solid rgba(255,255,255,.06)}.labels-tab{flex:1;padding:12px 8px;border-radius:10px 10px 0 0;border:none;background:#ffffff08;color:#888;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;bottom:-1px;border-bottom:2px solid transparent}.labels-tab.active{color:#4ade80;background:#22c55e0f;border-bottom-color:#22c55e}.tab-badge{display:inline-block;padding:1px 7px;border-radius:10px;background:#f59e0b;color:#1a1300;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}.add-label-arrow{width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#22c55e1a;color:#4ade80;font-size:22px;font-weight:300;flex-shrink:0}.floating-toast{position:fixed;top:80px;left:16px;right:16px;z-index:50;margin:0;box-shadow:0 4px 20px #0006}.queue-summary{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05}.queue-summary-stat{text-align:center}.queue-summary-stat .stat-num{font-size:22px;font-weight:800;display:block;color:#fff}.queue-summary-stat .stat-label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px;display:block}.clear-all-btn{margin-left:auto;padding:8px 14px;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#f87171;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.queue-printed-note{padding:10px 16px;background:#60a5fa0f;border-bottom:1px solid rgba(96,165,250,.15);color:#93c5fd;font-size:12px;text-align:center}.queue-list{list-style:none;margin:0;padding:0}.queue-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.queue-thumb{width:48px;height:48px;border-radius:8px;overflow:hidden;background:#ffffff0a;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}.queue-thumb img{width:100%;height:100%;object-fit:cover}.queue-info{flex:1;min-width:0}.queue-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:12px;color:#ccc}.queue-type{color:#888}.queue-qty{font-weight:700;color:#4ade80}.queue-by{font-size:10px;color:#666;margin-top:2px}.queue-remove{width:36px;height:36px;border-radius:18px;border:none;background:#ef44441a;color:#f87171;font-size:14px;cursor:pointer;flex-shrink:0}.queue-remove:disabled{opacity:.5}.label-picker-modal{max-width:420px;padding:24px 20px 20px;position:relative;text-align:left}.picker-product{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:16px}.picker-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0}.picker-name{font-size:15px;font-weight:700;margin-bottom:2px}.picker-price{font-size:13px;font-weight:700;color:#4ade80}.picker-section{margin-bottom:16px}.picker-section-label{font-size:10px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.picker-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}.picker-type{padding:12px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#ccc;cursor:pointer;font-family:inherit;text-align:left}.picker-type.active{background:#22c55e14;border-color:#22c55e;color:#fff}.picker-type-icon{font-size:20px;margin-bottom:4px}.picker-type-name{font-size:12px;font-weight:700;margin-bottom:2px}.picker-type-desc{font-size:10px;color:#888;line-height:1.3}.picker-type.active .picker-type-desc{color:#aaa}.picker-qtys{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.picker-qty{padding:14px 0;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ccc;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums}.picker-qty.active{background:#22c55e1f;border-color:#22c55e;color:#4ade80}.custom-qty-row{display:flex;gap:8px;align-items:center}.custom-qty-input{flex:1;padding:14px;background:#ffffff0f;border:1px solid rgba(34,197,94,.4);border-radius:8px;color:#fff;font-size:18px;font-weight:700;font-family:inherit;text-align:center;outline:none}.custom-qty-row .btn-secondary{flex:0 0 auto;padding:10px 14px;font-size:12px}.picker-add-btn{width:100%;margin-top:4px}.trade-customer-intro{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:12px 16px 0;border-radius:12px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.2)}.intro-icon{font-size:28px}.intro-text{font-size:13px;color:#fcd34d}.error-hint{display:block;font-size:11px;color:#fca5a5;opacity:.8;margin-top:6px}.trade-cust-list{list-style:none;margin:0;padding:0 16px 100px}.trade-cust-row{width:100%;display:flex;align-items:center;gap:12px;padding:14px;margin:8px 0;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#fff;cursor:pointer;font-family:inherit;text-align:left}.trade-cust-row.guest{margin:12px 16px;border:1px dashed rgba(255,255,255,.15);background:#ffffff05}.trade-cust-row:active{background:#ffffff0f}.trade-cust-icon{width:44px;height:44px;border-radius:22px;background:#f59e0b1a;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.trade-cust-row.guest .trade-cust-icon{background:#ffffff0d}.trade-cust-info{flex:1;min-width:0}.trade-cust-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-cust-meta{font-size:11px;color:#888;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-cust-badge{padding:3px 8px;border-radius:10px;background:#ffffff0f;color:#888;font-size:10px;font-weight:600}.trade-cust-arrow{color:#555;font-size:18px;font-weight:300}.trade-header{background:linear-gradient(180deg,rgba(146,64,14,.18),transparent);border-bottom-color:#f59e0b33}.trade-cust-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f59e0b14;border-bottom:1px solid rgba(245,158,11,.15)}.banner-icon{font-size:22px}.banner-info{flex:1;min-width:0}.banner-name{font-size:14px;font-weight:700;color:#fcd34d}.banner-meta{font-size:11px;color:#aaa;margin-top:1px}.banner-tag{padding:3px 8px;border-radius:4px;background:#ffffff14;color:#aaa;font-size:10px;font-weight:800;letter-spacing:1px}.trade-cart{flex:1;overflow-y:auto;padding:0 0 200px}.trade-cart-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.trade-cart-info{flex:1;min-width:0}.trade-cart-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-cart-meta{font-size:11px;color:#888;margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.trade-price{color:#fcd34d;font-weight:700}.retail-price{color:#666;text-decoration:line-through;font-size:10px}.trade-meta-divider{opacity:.3}.trade-cart-qty{display:flex;align-items:center;gap:4px;flex-shrink:0}.qty-btn{width:32px;height:32px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fff;font-size:18px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center}.qty-display{min-width:36px;height:32px;padding:0 6px;border-radius:6px;border:1px solid rgba(245,158,11,.3);background:#f59e0b1a;color:#fcd34d;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;font-family:inherit}.trade-cart-line{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:70px}.line-total{font-size:13px;font-weight:700}.line-remove{background:none;border:none;color:#555;font-size:12px;cursor:pointer;padding:2px}.trade-add-row{position:fixed;bottom:152px;left:0;right:0;display:flex;gap:8px;padding:8px 16px;z-index:9}.trade-add-btn{flex:1;padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#141a16eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}.trade-add-btn.scan{border-color:#22c55e4d;color:#4ade80}.trade-add-btn.search{border-color:#60a5fa4d;color:#60a5fa}.trade-footer{position:fixed;bottom:0;left:0;right:0;padding:12px 16px 16px;background:#0b0f1af5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);z-index:10}.trade-totals{margin-bottom:12px}.totals-row{display:flex;justify-content:space-between;font-size:12px;color:#888;padding:2px 0}.totals-total{display:flex;justify-content:space-between;font-size:22px;font-weight:800;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}.checkout-btn{width:100%;padding:14px;border-radius:12px;border:none;background:linear-gradient(135deg,#92400e,#b45309);color:#fff;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit}.checkout-btn:disabled{background:#ffffff0d;color:#555}.confirm-summary{background:#ffffff0a;border-radius:10px;padding:12px 16px;margin:8px 0 12px}.confirm-summary .summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.confirm-summary .summary-row span{color:#888}.confirm-summary .summary-row strong{color:#fff;font-weight:700}.confirm-summary .total-row{border-top:1px solid rgba(255,255,255,.08);margin-top:4px;padding-top:8px;font-size:16px}.confirm-note{font-size:12px;color:#888;text-align:center;margin:4px 0 16px;line-height:1.5}.product-picker-modal{max-width:480px;width:100%;padding:20px;position:relative;text-align:left;display:flex;flex-direction:column;max-height:80vh}.product-picker-modal h2{font-size:16px;margin:0 0 12px}.product-picker-modal .search-input{margin-bottom:12px}.picker-results{flex:1;overflow-y:auto;margin:0 -8px;padding:0 8px}.picker-result{display:flex;align-items:center;gap:12px;width:100%;padding:12px 10px;margin:4px 0;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:#fff;cursor:pointer;font-family:inherit;text-align:left}.picker-result-info{flex:1;min-width:0}.picker-result-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-result-meta{font-size:11px;color:#888;margin-top:2px}.picker-result-price{font-size:14px;font-weight:700;color:#fcd34d}.empty-state-sm{text-align:center;padding:20px;color:#888;font-size:12px}.receipt-page{padding:24px 16px 40px}.receipt-success{text-align:center;padding:24px 16px 32px}.success-icon{width:72px;height:72px;border-radius:36px;background:#22c55e26;border:2px solid #22C55E;display:inline-flex;align-items:center;justify-content:center;font-size:36px;color:#4ade80;margin-bottom:12px}.receipt-success h1{font-size:22px;margin:0 0 8px}.success-total{font-size:36px;font-weight:800;color:#fcd34d;margin-bottom:4px}.success-meta{font-size:12px;color:#888}.tradehub-status{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;margin:0 0 20px}.tradehub-status.ok{background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:#4ade80}.tradehub-status.fail{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);color:#f59e0b}.tradehub-status.pending{background:#60a5fa0f;border:1px solid rgba(96,165,250,.2);color:#93c5fd}.status-icon{font-size:20px}.status-title{font-size:13px;font-weight:700}.status-sub{font-size:11px;opacity:.85;margin-top:2px}.receipt-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;margin-bottom:20px}.receipt-card-header{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#fcd34d;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:10px}.receipt-icon{font-size:18px}.receipt-items{margin-bottom:12px}.receipt-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px}.receipt-item-info{flex:1}.receipt-item-name{font-weight:600}.receipt-item-meta{color:#888;font-size:11px;margin-top:2px}.receipt-item-total{font-weight:700}.receipt-totals{border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.receipt-totals-row{display:flex;justify-content:space-between;font-size:12px;color:#888;padding:3px 0}.receipt-totals-final{display:flex;justify-content:space-between;font-size:16px;font-weight:800;color:#fff;padding-top:8px;margin-top:4px;border-top:1px solid rgba(255,255,255,.08)}.receipt-actions{display:flex;gap:10px}.receipt-actions button{flex:1;padding:14px;border-radius:12px;border:none;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}.kiosk-view-toggle{display:flex;gap:4px;padding:8px 16px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.view-toggle-btn{flex:1;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:#888;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}.view-toggle-btn.active{background:#22c55e1f;border-color:#22c55e66;color:#4ade80}.kiosk-map-page{position:relative;flex:1;display:flex;flex-direction:column;min-height:calc(100vh - 220px)}.kiosk-map-container{flex:1;width:100%;min-height:60vh;background:#0a0a0a}.leaflet-draw-toolbar{display:none!important}.leaflet-draw-tooltip{background:#22c55ef2!important;color:#000!important;border:none!important;font-family:inherit!important;font-weight:600!important;font-size:12px!important;padding:6px 10px!important;border-radius:6px!important;box-shadow:0 4px 12px #0006!important}.leaflet-draw-tooltip:before{border-right-color:#22c55ef2!important}.leaflet-control-zoom a{background:#000000b3!important;color:#fff!important;border-color:#ffffff26!important;width:36px!important;height:36px!important;line-height:36px!important;font-size:18px!important}.leaflet-control-zoom a:hover{background:#000000d9!important}.leaflet-editing-icon{width:16px!important;height:16px!important;margin-left:-8px!important;margin-top:-8px!important;border-radius:50%!important;background:#fff!important;border:3px solid #22c55e!important;box-shadow:0 2px 8px #00000080!important}.kiosk-map-toolbar{position:absolute;top:12px;left:12px;right:60px;display:flex;gap:6px;z-index:500;flex-wrap:wrap}.map-tool-btn{padding:9px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#000000c7;color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0006}.map-tool-btn.primary{background:#22c55ef2;border-color:#22c55ee6;color:#000}.map-tool-btn.danger{background:#ef4444eb;border-color:#ef4444e6;color:#fff}.map-tool-msg{flex:1;padding:9px 14px;border-radius:8px;background:#22c55eeb;color:#000;font-size:11px;font-weight:600;font-family:inherit;text-align:center;box-shadow:0 4px 12px #0006}.kiosk-map-sheet{position:absolute;bottom:0;left:0;right:0;background:#0b0f1af7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);border-radius:16px 16px 0 0;padding:8px 16px 16px;z-index:600;max-height:50vh;overflow-y:auto}.sheet-handle{width:36px;height:4px;border-radius:2px;background:#fff3;margin:0 auto 12px}.sheet-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sheet-title{flex:1;min-width:0}.sheet-name{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-code{font-size:10px;color:#888;font-family:monospace;margin-top:2px}.sheet-close{width:32px;height:32px;border-radius:16px;border:none;background:#ffffff0f;color:#888;font-size:14px;cursor:pointer;flex-shrink:0}.sheet-directions{font-size:12px;color:#ccc;line-height:1.5;padding:8px 0;border-top:1px solid rgba(255,255,255,.05)}.sheet-mappings{display:flex;flex-wrap:wrap;gap:4px;padding:8px 0;border-top:1px solid rgba(255,255,255,.05)}.sheet-no-mappings{padding:8px 0;border-top:1px solid rgba(255,255,255,.05);font-size:11px;color:#666;font-style:italic}.sheet-actions{display:flex;gap:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.sheet-action{flex:1;padding:10px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#fff;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}.sheet-action.danger{background:#ef444414;border-color:#ef444440;color:#f87171}
