:root{--teal: #2ec4b6;--teal-dark: #22a99c;--bg: #fff1e5;--surface: #ffffff;--text: #0a0a0a;--muted: #6b6b6b;--border: #d8d8d8;--red: #c72a2a;--footer-height: 76px;--header-height: 56px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);max-width:480px;margin:0 auto;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}input{-webkit-user-select:text;user-select:text}.hidden{display:none!important}button{font-family:inherit;cursor:pointer}input{font-family:inherit;font-size:16px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);width:100%}input:focus{outline:2px solid var(--teal);outline-offset:-1px}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--red)}.brand{font-family:Playfair Display,Georgia,serif;font-weight:700;letter-spacing:.5px}.link-btn{background:none;border:none;color:var(--teal-dark);font-size:13px;text-decoration:underline;padding:4px;margin-top:4px}#app-header{height:var(--header-height);display:flex;align-items:center;padding:0 8px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}#header-title{font-family:Playfair Display,Georgia,serif;font-size:20px;margin:0 auto;font-weight:600}.icon-btn{background:none;border:none;font-size:20px;padding:8px;color:var(--text);border-radius:6px;line-height:1}.icon-btn.danger{color:var(--red)}.screen{display:none;flex:1;overflow-y:auto;padding-bottom:var(--footer-height);flex-direction:column;-webkit-overflow-scrolling:touch}.screen.active{display:flex}#search-bar{padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border)}#category-nav{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;scrollbar-width:none}#category-nav::-webkit-scrollbar{display:none}.category-btn{background:transparent;border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--text);white-space:nowrap;text-transform:capitalize}.category-btn.active{background:var(--text);color:#fff;border-color:var(--text)}#product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.product-card{background:var(--surface);border-radius:10px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform .08s}.product-card:active{transform:scale(.97)}.product-card .thumb{height:110px;background:#3e4b5b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px}.product-card .thumb-img{width:100%;height:110px;object-fit:cover;display:block;background:#eee}.product-card .info{padding:8px 10px 10px}.product-card h4{margin:0 0 2px;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card .variant-line{font-size:12px;color:var(--muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card .low-tag{color:var(--red);font-size:11px}.product-card .out-tag{color:var(--red);font-size:11px;font-weight:600;letter-spacing:.3px}.product-card p{margin:0;font-size:14px;font-weight:600;color:var(--teal-dark)}.product-card.out-of-stock{opacity:.65}.product-card.out-of-stock .thumb,.product-card.out-of-stock .thumb-img{filter:grayscale(.85)}#teal-footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--footer-height);background:var(--surface);border-top:1px solid var(--border);padding:10px 12px;display:flex;align-items:center;z-index:50}#footer-btn{width:100%;background:var(--teal);color:#fff;border:none;border-radius:8px;padding:16px 18px;font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center}#footer-btn:disabled{opacity:.4;cursor:not-allowed}.overlay{position:fixed;inset:0;background:#0a0a0a73;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.overlay.hidden{display:none}.password-card{background:var(--surface);border-radius:14px;padding:28px 24px;width:100%;max-width:340px;text-align:center;display:flex;flex-direction:column;gap:12px}.password-card .brand{font-size:32px;margin:0}.password-card input,.password-card input#login-email,.password-card input#login-password{text-align:left}.primary-btn{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:14px;font-size:16px;font-weight:600;width:100%}.primary-btn.small{width:auto;padding:8px 14px;font-size:14px}.secondary-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-size:15px;width:100%;text-align:left;margin-bottom:8px;font-weight:500}#cart-list{padding:12px;display:flex;flex-direction:column;gap:10px}.cart-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.cart-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cart-item-top h4{margin:0;font-size:15px;font-weight:600}.cart-item-top .line-total{font-weight:600}.cart-item .tiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.tile{background:#f4f6f7;border:1px solid var(--border);border-radius:6px;padding:8px 6px;text-align:center;font-size:12px;color:var(--muted);cursor:pointer}.tile b{display:block;color:var(--text);font-size:14px;font-weight:600;margin-top:2px}.tile:active{background:#e8ecee}.tile.danger b{color:var(--red)}#cart-total-breakdown,#receipt-total-breakdown-final{background:var(--surface);margin:8px 12px 16px;border:1px solid var(--border);border-radius:10px;padding:12px 14px}.row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.row.total{font-weight:700;font-size:16px;border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.row.clickable{cursor:pointer}.row.clickable:active{opacity:.6}#payment-total{padding:28px 20px 20px;text-align:center}#payment-amount{font-family:Playfair Display,Georgia,serif;font-size:44px;font-weight:700;margin-top:6px}#payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.payment-method{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px 12px;text-align:center;font-size:16px;font-weight:600;color:var(--text)}.payment-method:active{background:#f4f6f7}.payment-method.selected{background:var(--teal);color:#fff;border-color:var(--teal)}#receipt-card{background:var(--surface);margin:16px 12px;padding:20px;border-radius:10px;border:1px solid var(--border)}.receipt-header{text-align:center;padding-bottom:12px;border-bottom:1px dashed var(--border)}.receipt-header .brand{font-size:26px;margin-bottom:4px}#receipt-token{font-size:16px;font-weight:600;margin-top:4px}#receipt-items{padding:12px 0;border-bottom:1px dashed var(--border)}.receipt-line{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}.receipt-line .qty{color:var(--muted)}#receipt-payment{text-align:center;margin-top:14px;font-size:14px}#new-sale-btn{margin:0 12px 20px;width:calc(100% - 24px)}.manage-header{display:flex;justify-content:space-between;align-items:center;padding:16px 12px 8px}.manage-header h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:20px}#manage-product-list{padding:0 12px;display:flex;flex-direction:column;gap:8px}.manage-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.manage-row .meta{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.manage-row .meta b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-row .meta span{font-size:12px;color:var(--muted)}.manage-row .thumb-sm{width:42px;height:42px;border-radius:6px;object-fit:cover;background:#eee;flex-shrink:0}.manage-row .thumb-placeholder{width:42px;height:42px;border-radius:6px;background:#3e4b5b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.manage-row .actions{display:flex;gap:2px;flex-shrink:0}#import-section,#backup-section{padding:0 12px 20px}#settings-section{padding:0 12px 8px}.setting-label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:500}.segmented{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:8px}.seg-btn{flex:1;padding:10px 6px;background:#fff;border:none;border-right:1px solid var(--border);font-size:14px;font-weight:500;color:var(--text)}.seg-btn:last-child{border-right:none}.seg-btn.active{background:var(--teal);color:#fff}.numpad-card{background:var(--surface);border-radius:14px;width:100%;max-width:340px;padding:14px}#numpad-header,.sheet-header{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 12px;font-weight:600}.numpad-display{font-family:Playfair Display,Georgia,serif;font-size:36px;text-align:right;padding:12px 8px;min-height:52px;border-bottom:1px solid var(--border);margin-bottom:10px}#numpad-label{text-align:right;padding:0 8px}#numpad-keys{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.numpad-key{background:#f4f6f7;border:none;border-radius:8px;padding:16px;font-size:20px;font-weight:500;color:var(--text)}.numpad-key:active{background:#e8ecee}.numpad-key.confirm{background:var(--teal);color:#fff;grid-column:span 3;font-weight:600}.sheet{background:var(--surface);border-radius:14px;width:100%;max-width:400px;padding:14px;max-height:90vh;display:flex;flex-direction:column}#delivery-list,#discount-content,#product-form-content{flex:1;overflow-y:auto;padding:4px 0 12px}.sheet-footer{padding-top:8px}.delivery-option{display:flex;justify-content:space-between;padding:14px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer}.delivery-option.selected{border-color:var(--teal);background:#eafaf7}.discount-tabs{display:flex;gap:6px;margin-bottom:12px}.discount-tab{flex:1;padding:10px;border:1px solid var(--border);background:#fff;border-radius:8px;font-size:14px;color:var(--text)}.discount-tab.active{background:var(--text);color:#fff;border-color:var(--text)}#product-form-content label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}#product-form-content label input{margin-top:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row label{margin-bottom:12px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;margin-bottom:12px}.photo-thumb{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f0f0f0}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb .remove{position:absolute;top:2px;right:2px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:13px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.photo-add{aspect-ratio:1;border:2px dashed var(--border);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--muted);cursor:pointer;padding:0;width:100%}.photo-add:active{background:#f4f6f7}.today-strip{width:100%;background:var(--surface);border:none;border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px;color:var(--muted);text-align:left;display:flex;justify-content:space-between;align-items:center;font-family:inherit;cursor:pointer}.today-strip:active{background:#f4f6f7}.today-strip-arrow{color:var(--teal-dark);font-size:16px}#screen-reports{padding-bottom:0}.reports-range{display:flex;gap:6px;padding:10px 12px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;scrollbar-width:none}.reports-range::-webkit-scrollbar{display:none}.range-btn{background:transparent;border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text);white-space:nowrap}.range-btn.active{background:var(--text);color:#fff;border-color:var(--text)}#reports-custom{display:flex;gap:10px;padding:10px 12px;background:var(--surface);border-bottom:1px solid var(--border)}#reports-custom label{flex:1;font-size:12px;color:var(--muted)}#reports-custom input{margin-top:4px;padding:8px 10px;font-size:14px}.report-card{background:var(--surface);margin:12px;border:1px solid var(--border);border-radius:10px;padding:14px}.report-card h3{margin:0 0 10px;font-family:Playfair Display,Georgia,serif;font-size:15px;font-weight:600}.report-headline{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-bottom:8px}.report-big{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700;margin-top:2px}.receipt-actions{display:flex;flex-direction:column;gap:8px;margin:0 12px 20px}.receipt-actions .primary-btn,.receipt-actions .secondary-btn{margin:0;width:100%}#printer-section{padding:0 12px 8px}#printer-section .setting-label{margin-top:8px}#printer-section .segmented{margin-bottom:10px}#printer-section .secondary-btn{margin-bottom:6px}#signup-mode-tabs{display:flex;gap:6px;margin-bottom:10px}.signup-mode-btn{flex:1;padding:8px 6px;border:1px solid var(--border);background:#fff;border-radius:6px;font-size:13px;color:var(--text)}.signup-mode-btn.active{background:var(--text);color:#fff;border-color:var(--text)}#staff-section{padding:0 12px 8px}#staff-section .row{border-bottom:1px solid var(--border);padding:8px 0;font-size:13px}#staff-section .row:last-child{border-bottom:none}.staff-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);gap:8px}.staff-row:last-child{border-bottom:none}.staff-info{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.staff-info b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-actions{display:flex;gap:4px;flex-shrink:0}.mini-btn{background:#fff;border:1px solid var(--border);border-radius:6px;padding:5px 9px;font-size:11px;color:var(--text);white-space:nowrap}.mini-btn:active{background:#f4f6f7}.mini-btn.danger{color:var(--red);border-color:#f4caca}.order-search{padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.order-search input{font-size:15px}.order-row{background:var(--surface);border-bottom:1px solid var(--border);padding:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.order-row:active{background:#f4f6f7}.order-row-main{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.order-row-token{font-weight:600;font-size:14px}.order-row-meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-row-right{text-align:right;flex-shrink:0}.order-row-total{font-weight:600;font-size:14px}.order-row-payment{font-size:11px;color:var(--muted);margin-top:2px}.receipt-back-btn{background:none;border:none;color:var(--teal-dark);font-size:13px;padding:12px;text-align:left;display:block;width:100%}.receipt-back-btn:active{opacity:.6}#stock-movements-section{padding:0 12px 8px}.movement-row{display:flex;gap:12px;padding:12px;background:var(--surface);border-bottom:1px solid var(--border);align-items:flex-start}.movement-qty{font-weight:700;font-size:16px;min-width:52px;font-family:Playfair Display,Georgia,serif;text-align:right}.movement-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.movement-product{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movement-meta{font-size:12px;color:var(--muted)}.movement-date{font-size:11px;color:var(--muted);margin-top:2px}.return-header{padding:12px;background:var(--surface);border-bottom:1px solid var(--border)}.return-header p{margin:0 0 4px}#return-lines{background:var(--surface);border-bottom:1px solid var(--border)}.return-line{padding:12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.return-line:last-child{border-bottom:none}.return-line-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.return-line-info b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.return-line-info span{font-size:12px;color:var(--muted)}.return-qty-ctrl{display:flex;align-items:center;gap:8px;flex-shrink:0}.return-qty-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:18px;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:center;padding:0}.return-qty-btn:disabled{opacity:.3}.return-qty-value{min-width:28px;text-align:center;font-weight:600;font-size:15px}.return-line-total{min-width:72px;text-align:right;font-size:13px;font-weight:600}.return-line.returned{opacity:.5}.return-line.returned .return-qty-ctrl{pointer-events:none}.return-section{padding:12px;background:var(--surface);border-bottom:1px solid var(--border)}.return-section h3{margin:0 0 8px;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:600}#return-reason-grid,#return-refund-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.return-reason-btn,.return-refund-btn{padding:12px 8px;border:1px solid var(--border);background:#fff;border-radius:8px;font-size:13px;color:var(--text)}.return-reason-btn.active,.return-refund-btn.active{background:var(--teal);color:#fff;border-color:var(--teal)}#return-reason-note{margin-top:8px}.return-total{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 12px;font-weight:600}.return-total .row{padding:0;font-size:16px}.return-actions{padding:12px;display:flex;flex-direction:column;gap:8px}.return-actions .primary-btn,.return-actions .secondary-btn{margin:0;width:100%}#customers-manage-section{padding:0 12px 8px}.payment-customer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer}.payment-customer:active{background:#f4f6f7}.payment-customer.required{background:#fff4f4;border-color:#f4caca}.payment-customer.required #payment-customer-label{color:var(--red);font-weight:500}.payment-customer.attached #payment-customer-label{color:var(--teal-dark);font-weight:500}.payment-customer-arrow{color:var(--muted);font-size:18px}#customers-list,#customer-picker-list{background:var(--surface);border-bottom:1px solid var(--border)}.customer-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border);cursor:pointer;gap:12px}.customer-row:last-child{border-bottom:none}.customer-row:active{background:#f4f6f7}.customer-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.customer-row-info b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-row-info span{font-size:12px;color:var(--muted)}.customer-row-balance{font-size:15px;font-weight:700;text-align:right}.customer-row-balance.owes{color:var(--red)}.customer-row-balance.settled{color:var(--muted)}.customer-row-balance.advance{color:var(--teal-dark)}#customer-detail-body{padding-bottom:20px}.customer-detail-header{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 12px;text-align:center}.customer-detail-header h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:22px}.customer-balance{margin-top:12px;font-family:Playfair Display,Georgia,serif;font-size:32px;font-weight:700}.customer-actions{display:flex;gap:6px;padding:12px;background:var(--surface);border-bottom:1px solid var(--border)}.customer-actions button{flex:1;padding:10px 8px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:13px;font-weight:500;color:var(--text)}.customer-actions button.primary{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:600}.customer-actions button.danger{color:var(--red);border-color:#f4caca}.customer-txn-list{background:var(--surface);border-top:1px solid var(--border)}.customer-txn{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;border-bottom:1px solid var(--border);gap:12px}.customer-txn:last-child{border-bottom:none}.customer-txn-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.customer-txn-main b{font-size:14px}.customer-txn-main span{font-size:12px;color:var(--muted)}.customer-txn-amount{font-weight:700;font-size:15px;white-space:nowrap}.customer-txn-amount.debit{color:var(--red)}.customer-txn-amount.credit{color:var(--teal-dark)}#customer-picker-list{flex:1;overflow-y:auto;max-height:50vh}#record-payment-content label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}#record-payment-content label input{margin-top:4px}#record-payment-customer{margin:0 0 12px;padding:8px 10px;background:#f4f6f7;border-radius:6px}#expenses-manage-section{padding:0 12px 8px}.expense-total-row{display:flex;justify-content:space-between;padding:14px 12px;background:var(--surface);border-bottom:1px solid var(--border);font-weight:700;font-size:16px}.expense-total-row span:last-child{font-family:Playfair Display,Georgia,serif}#expenses-list{background:var(--surface)}.expense-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--border);cursor:pointer;gap:12px}.expense-row:last-child{border-bottom:none}.expense-row:active{background:#f4f6f7}.expense-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.expense-row-info b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-row-info span{font-size:12px;color:var(--muted)}.expense-row-amount{font-weight:700;font-size:15px;color:var(--red);white-space:nowrap}#expense-form-content label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}#expense-form-content label input{margin-top:4px}.chip-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chip{padding:8px 12px;border:1px solid var(--border);background:#fff;border-radius:999px;font-size:13px;color:var(--text);cursor:pointer}.chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}#cash-drawer-section{padding:0 12px 8px}.close-header{background:var(--surface);border-bottom:1px solid var(--border);padding:16px 12px;text-align:center}.close-date{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700}.close-card{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 16px}.close-card h3{margin:0 0 10px;font-family:Playfair Display,Georgia,serif;font-size:15px;font-weight:600}.close-card .row{padding:4px 0;font-size:14px}.close-card .row.total{margin-top:6px;padding-top:8px;font-weight:700;font-size:15px;border-top:1px solid var(--border)}.close-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px;margin-top:6px}.close-card label input{margin-top:4px}.close-diff-row{display:flex;justify-content:space-between;font-size:15px;font-weight:600;padding:10px 0;border-top:1px solid var(--border);margin-top:6px}.close-diff-row.matches{color:var(--teal-dark)}.close-diff-row.short{color:var(--red)}.close-diff-row.over{color:#d97706}.close-past-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer}.close-past-row:last-child{border-bottom:none}.close-past-row:active{opacity:.6}.close-past-date,.close-past-diff{font-weight:600}.close-past-diff.matches{color:var(--muted)}.close-past-diff.short{color:var(--red)}.close-past-diff.over{color:#d97706}#reset-status,#new-password-status{font-size:13px;text-align:center;margin:0;padding:4px 0}#reset-request-overlay .password-card input,#reset-new-overlay .password-card input{text-align:left}.wa-remind-btn{display:block;width:calc(100% - 24px);margin:12px 12px 0;padding:12px 14px;background:#25d366;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;text-align:center;cursor:pointer}.wa-remind-btn:active{background:#1eaa52}.customer-actions+.wa-remind-btn{margin-top:0}.customer-stats-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.customer-stats-card .stat-cell{background:var(--surface);padding:14px 8px;text-align:center}.customer-stats-card .stat-value{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:700;color:var(--text)}.customer-stats-card .stat-label{font-size:11px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.customer-balance-card{padding:14px 16px;border-bottom:1px solid var(--border);text-align:center;background:var(--surface)}.customer-balance-card.settled{padding:12px 16px}.customer-balance-card.settled .customer-balance-label{margin:0;font-style:italic}.customer-section-header{padding:16px 16px 6px;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:600;color:var(--text);background:var(--bg)}.customer-purchase-list{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.customer-purchase-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px}.customer-purchase-row:last-child{border-bottom:none}.customer-purchase-row:active{background:#f4f6f7}.customer-purchase-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.customer-purchase-main b{font-size:14px}.customer-purchase-main span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-purchase-payment{font-size:11px;color:var(--muted);padding:3px 8px;background:#f4f6f7;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;align-self:center}.customer-row-stats{font-size:11px!important;color:var(--muted);opacity:.85;margin-top:1px}.customer-detail-header{padding:16px 12px 12px;text-align:center}.customer-detail-header .phone{color:var(--muted);font-size:14px;margin-top:4px}.customer-balance{font-family:Playfair Display,Georgia,serif;font-size:26px;font-weight:700}.customer-balance.owes{color:var(--red)}.customer-balance.settled{color:var(--muted)}.customer-balance.advance{color:var(--teal-dark)}.customer-balance-label{font-size:12px;color:var(--muted);margin-top:2px}.stock-display-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafb;margin-bottom:12px;gap:10px}.stock-display-value{font-size:18px;font-weight:700;font-family:Playfair Display,Georgia,serif}.stock-display-value #pf-stock-unit{font-family:Inter,sans-serif;font-size:12px;font-weight:400;color:var(--muted)}.stock-action-buttons{display:flex;gap:6px;flex-shrink:0}.mini-btn.teal{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:600}#receive-form-content label,#remove-form-content label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}#receive-form-content label input,#remove-form-content label input{margin-top:4px}#receive-product-label,#remove-product-label{margin:0 0 12px;padding:8px 10px;background:#f4f6f7;border-radius:6px}#rm-reason-chips{margin-bottom:14px}.stock-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.stock-summary-cell{background:var(--surface);padding:16px 8px;text-align:center}.stock-summary-value{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:700}.stock-summary-label{font-size:11px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.stock-section{margin-bottom:8px}.stock-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);font-weight:600;font-size:14px}.stock-count{background:#f4f6f7;color:var(--muted);padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.stock-section-header.warn .stock-count{background:#fef3c7;color:#92400e}.stock-section-header.danger .stock-count{background:#fee2e2;color:#991b1b}.stock-section-header.muted .stock-count{background:#e5e7eb;color:#4b5563}.stock-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);cursor:pointer;gap:10px}.stock-row:last-child{border-bottom:none}.stock-row:active{background:#f4f6f7}.stock-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.stock-row-info b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-row-info span{font-size:12px;color:var(--muted)}.stock-row-value{font-weight:700;font-size:14px;text-align:right;flex-shrink:0}.stock-row-value.low{color:#d97706}.stock-row-value.out{color:var(--red)}.stock-row-value.stale{color:var(--muted);font-weight:400;font-size:12px}.stock-empty{padding:20px 16px;text-align:center;color:var(--muted);font-size:13px;background:var(--surface);border-bottom:1px solid var(--border)}.archived-badge{display:inline-block;font-size:10px;font-weight:700;color:var(--muted);background:#e5e7eb;padding:2px 6px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase;margin-left:6px;vertical-align:middle}.manage-row.archived{opacity:.6}#pf-duplicate-banner{background:#eafaf7;border:1px solid var(--teal);color:var(--teal-dark);padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px;font-weight:500}.wa-message-btn{display:block;width:calc(100% - 24px);margin:12px 12px 0;padding:12px 14px;background:#128c7e;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;text-align:center;cursor:pointer}.wa-message-btn:active{background:#0e6d61}.wa-message-btn+.wa-remind-btn{margin-top:8px}.receipt-upi-block{margin-top:20px;padding-top:16px;border-top:1px dashed var(--border);text-align:center}.receipt-upi-divider{font-size:12px;color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:500}#receipt-upi-qr{width:180px;height:180px;display:inline-block;border-radius:8px;background:#fff;padding:6px;box-shadow:0 1px 4px #00000014}#receipt-upi-id{margin-top:8px;font-family:Inter,monospace;font-size:12px}.field-row{display:flex;gap:10px}.field-row>*{flex:1;min-width:0}.pf-field-label{display:block}#numpad-suffix{color:var(--muted);font-size:20px;margin-left:6px;font-family:Inter,sans-serif;font-weight:400}#pf-unit{font-family:inherit;font-size:16px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);width:100%}#pf-unit:focus{outline:2px solid var(--teal);outline-offset:-1px}#pf-category-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}#pf-category-chips .chip{padding:4px 10px;font-size:11px}#numpad-quick-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 4px 8px;border-bottom:1px solid var(--border);margin-bottom:10px}#numpad-quick-chips .chip{padding:8px 12px;font-size:13px;font-weight:600}#pf-pack-size-chips .chip{padding:6px 10px;font-size:12px}.cloud-sync-status{padding:10px 12px;margin:0 0 8px;border-radius:8px;background:#f4f6f7;font-size:13px;text-align:center}.cloud-sync-status.ok{background:#eafaf7;color:var(--teal-dark)}.cloud-sync-status.warn{background:#fef3c7;color:#92400e}.cloud-sync-status.err{background:#fee2e2;color:#991b1b}.cloud-sync-status.syncing{background:#e0f2fe;color:#075985}.receipt-contact{font-size:12px;color:var(--muted);margin-top:2px}#receipt-address{margin-top:6px}.receipt-footer{text-align:center;font-size:12px;color:var(--muted);margin-top:14px;padding-top:10px;border-top:1px dashed var(--border);font-style:italic}.admin-section{margin-bottom:16px;background:var(--surface);border-bottom:1px solid var(--border)}.admin-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:14px;background:var(--surface)}.admin-row{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--border);gap:10px}.admin-row:last-child{border-bottom:none}.admin-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-row-info b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-row-info span{font-size:12px;color:var(--muted)}.admin-row-actions{display:flex;gap:6px;flex-shrink:0}.admin-btn-approve{background:var(--teal);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.admin-btn-reject{background:#fff;color:var(--red);border:1px solid #f4caca;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.admin-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.admin-badge.pending{background:#fef3c7;color:#92400e}.admin-badge.approved{background:#d1fae5;color:#065f46}.admin-badge.rejected{background:#fee2e2;color:#991b1b}#pending-overlay .password-card{max-width:360px}#pending-title{color:var(--text)}.briefing-banner{display:flex;align-items:stretch;background:linear-gradient(135deg,#eafaf7,#e8f4ff);border-bottom:1px solid var(--border)}.briefing-banner-main{flex:1;background:none;border:none;padding:12px 14px;text-align:left;display:flex;align-items:center;gap:10px;color:var(--text);font-size:13px;cursor:pointer;min-width:0}.briefing-banner-main:active{background:#00000008}.briefing-banner-icon{font-size:18px;flex-shrink:0}.briefing-banner-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.briefing-banner-arrow{color:var(--muted);font-size:16px;flex-shrink:0}.briefing-banner-close{background:none;border:none;color:var(--muted);font-size:14px;padding:8px 14px;cursor:pointer;flex-shrink:0}.briefing-banner-close:active{opacity:.6}.brief-card{background:var(--surface);margin:12px;border:1px solid var(--border);border-radius:10px;padding:14px}.brief-card h3{margin:0 0 10px;font-family:Playfair Display,Georgia,serif;font-size:15px;font-weight:600}.brief-card p{margin:0}.brief-card .row{padding:4px 0;font-size:14px}.brief-card .row.total{border-top:1px solid var(--border);margin-top:6px;padding-top:8px;font-weight:700;font-size:15px}.brief-card .row.clickable{cursor:pointer}.brief-card .row.clickable:active{opacity:.6}#bulk-edit-body{display:flex;flex-direction:column;height:100%}.bulk-step{padding:16px}.bulk-step h3{margin:0 0 12px;font-family:Playfair Display,Georgia,serif;font-size:16px;font-weight:600}.bulk-step .hint{font-size:12px;color:var(--muted);margin:-6px 0 12px}.bulk-choice-group{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.bulk-choice{padding:10px 14px;border:1px solid var(--border);background:#fff;border-radius:8px;font-size:14px;color:var(--text);cursor:pointer}.bulk-choice.active{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:600}.bulk-choice.disabled{opacity:.4;cursor:not-allowed}.bulk-field-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.bulk-field-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal)}.bulk-field-row label{flex:1;font-size:14px}.bulk-footer{position:sticky;bottom:0;padding:12px;background:var(--surface);border-top:1px solid var(--border);margin-top:auto}.bulk-footer .primary-btn{margin:0;width:100%}.bulk-footer .secondary-btn{margin:0 0 8px;width:100%;text-align:center}.bulk-edit-grid{flex:1;overflow-y:auto;background:var(--surface)}.bulk-grid-header{display:grid;padding:8px 12px;background:#f4f6f7;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);position:sticky;top:0;z-index:2}.bulk-grid-row{display:grid;padding:8px 12px;border-bottom:1px solid var(--border);align-items:center;gap:8px}.bulk-grid-row:last-child{border-bottom:none}.bulk-ref-cell{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.bulk-ref-cell.muted{color:var(--muted)}.bulk-grid-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}.bulk-grid-input:focus{outline:2px solid var(--teal);outline-offset:-1px;border-color:var(--teal)}.bulk-grid-input.changed{background:#eafaf7;border-color:var(--teal);font-weight:600}.bulk-grid-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}.bulk-empty{text-align:center;padding:40px 20px;color:var(--muted)}.bulk-summary{padding:10px 12px;background:#f4f6f7;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}#rp-method-chips{margin-bottom:14px}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;padding:4px 0}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal);flex-shrink:0}.receipt-warranty{font-size:11px;color:var(--muted);margin-top:-2px;margin-bottom:6px;padding-left:8px;font-style:italic}.fields-group{background:var(--surface);margin-bottom:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.fields-group-header{padding:10px 16px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:#f4f6f7;border-bottom:1px solid var(--border)}.field-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px}.field-toggle-row:last-child{border-bottom:none}.field-toggle-row .field-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.field-toggle-row .field-name{font-size:14px;font-weight:500;color:var(--text)}.field-toggle-row .field-hint{font-size:11px;color:var(--muted)}.field-toggle-row .field-toggle{position:relative;width:44px;height:24px;border-radius:12px;background:#d8d8d8;border:none;cursor:pointer;transition:background .15s;flex-shrink:0;padding:0}.field-toggle-row .field-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px #0003}.field-toggle-row .field-toggle.on{background:var(--teal)}.field-toggle-row .field-toggle.on:after{left:22px}.field-toggle-row.disabled .field-name{color:var(--muted)}.field-toggle-row .always-on{font-size:11px;color:var(--muted);font-style:italic;text-transform:uppercase;letter-spacing:.3px}.receipt-invoice{font-size:12px;color:var(--muted);font-family:Inter,ui-monospace,monospace;letter-spacing:.5px;margin-top:2px}.cancel-receipt-card{background:var(--surface);margin:16px 12px;padding:20px;border-radius:10px;border:2px solid var(--red)}.cancel-banner{background:var(--red);color:#fff;text-align:center;padding:10px;border-radius:6px;font-weight:700;letter-spacing:1px;font-size:13px;margin-bottom:14px}#cancel-receipt-meta{padding:12px 0;border-bottom:1px dashed var(--border);font-size:13px}#cancel-receipt-meta .row{padding:3px 0;font-size:13px}#cancel-receipt-meta .row span:first-child{color:var(--muted)}#cancel-receipt-items{padding:12px 0;border-bottom:1px dashed var(--border)}#cancel-receipt-total{padding-top:12px}.receipt-cancel-banner{background:var(--red);color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;text-align:center;margin-bottom:12px;line-height:1.4}.order-cancelled-badge{display:inline-block;font-size:10px;font-weight:700;color:#fff;background:var(--red);padding:2px 6px;border-radius:4px;letter-spacing:.5px;margin-left:6px;vertical-align:middle}.pending-badge{display:inline-block;background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:6px;min-width:18px;text-align:center}.pending-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:0 12px 10px}.pending-row .head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.pending-row .head .name{margin:0;font-size:15px;font-weight:600}.pending-row .head .amount{font-weight:700;font-size:15px}.pending-row .head .status-pill{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;margin-left:6px;vertical-align:middle}.pending-row .head .status-pill.pending{background:#fef3c7;color:#92400e}.pending-row .head .status-pill.accepted{background:#d1fae5;color:#065f46}.pending-row .head .status-pill.rejected{background:#fee2e2;color:#991b1b}.pending-row .meta{font-size:12px;color:var(--muted);margin-bottom:4px}.pending-row .items{font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.5}.pending-row .actions{display:flex;gap:8px}.pending-row .actions button{flex:1;padding:10px;border-radius:8px;font-weight:600;font-size:14px;border:none;cursor:pointer}.pending-row .actions .accept{background:var(--teal);color:#fff}.pending-row .actions .reject{background:#fff;color:var(--red);border:1px solid #f4caca}.pending-row.status-rejected{opacity:.65}body.public-mode #app-header,body.public-mode #teal-footer,body.public-mode #password-overlay{display:none!important}#screen-public-order{background:var(--bg);padding-bottom:90px}.public-footer{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--surface);border-top:1px solid var(--border);padding:10px 12px;z-index:50}#public-footer-btn{width:100%;background:var(--teal);color:#fff;border:none;border-radius:8px;padding:16px 18px;font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;cursor:pointer}#public-footer-btn:disabled{opacity:.5;cursor:not-allowed}.public-header{background:var(--surface);padding:20px 16px;border-bottom:1px solid var(--border);text-align:center}.public-header .shop-name{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:700;margin-bottom:6px}.public-header .shop-addr{font-size:13px;color:var(--muted);margin-top:2px}.public-shop-closed{padding:80px 24px;text-align:center;color:var(--muted)}.public-shop-closed h2{font-family:Playfair Display,Georgia,serif;font-size:22px;color:var(--text);margin-bottom:8px}.public-cart-item{display:flex;gap:10px;align-items:center;padding:12px;background:var(--surface);border-bottom:1px solid var(--border)}.public-cart-item .name{flex:1;font-size:14px;font-weight:500}.public-cart-item .qty-ctrl{display:flex;align-items:center;gap:6px}.public-cart-item .qty-ctrl button{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:16px;font-weight:600;cursor:pointer}.public-cart-item .qty-ctrl .qty{min-width:30px;text-align:center;font-weight:600}.public-cart-item .line-total{min-width:70px;text-align:right;font-weight:600;font-size:14px}.public-checkout-card{background:var(--surface);margin:12px;padding:16px;border-radius:10px;border:1px solid var(--border)}.public-checkout-card h3{margin:0 0 12px;font-size:15px}.public-checkout-card label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}.public-checkout-card label input,.public-checkout-card label textarea{margin-top:4px;font-family:inherit;font-size:15px;padding:12px;border:1px solid var(--border);border-radius:8px;width:100%;box-sizing:border-box;background:#fff}.public-checkout-card label textarea{resize:vertical;min-height:60px}.public-summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.public-summary-row.total{font-weight:700;font-size:16px;padding-top:10px;border-top:1px dashed var(--border);margin-top:6px}.public-confirmation{text-align:center;padding:60px 24px}.public-confirmation .check{font-size:56px;margin-bottom:16px}.public-confirmation h2{font-family:Playfair Display,Georgia,serif;font-size:24px;margin:0 0 10px}.public-confirmation p{color:var(--muted);font-size:14px;line-height:1.6}.public-confirmation .ref{margin-top:20px;font-family:ui-monospace,monospace;font-size:12px;color:var(--muted)}.public-welcome{margin-top:8px;font-size:12px;color:var(--teal-dark)}.public-clear-link{color:var(--muted);text-decoration:underline;font-size:11px}.returning-tag{display:inline-block;font-size:10px;font-weight:600;color:var(--teal-dark);background:#e0f7f5;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle}.customer-timeline{padding:0 0 20px}.timeline-day{padding:14px 16px 6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.timeline-row{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.timeline-row.clickable{cursor:pointer}.timeline-row.clickable:active{background:#f4f6f7}.timeline-icon{width:28px;height:28px;border-radius:50%;background:#f4f6f7;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.timeline-main{flex:1;min-width:0}.timeline-label{font-size:14px;font-weight:600;color:var(--text)}.timeline-sub{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}.timeline-amount{font-size:14px;font-weight:700;white-space:nowrap;align-self:center}.timeline-amount.in{color:var(--teal-dark)}.timeline-amount.out{color:var(--red)}.timeline-amount.neutral,.timeline-amount.pending{color:var(--muted)}.timeline-amount.rejected{color:var(--red);opacity:.85}.cf-tag-section{margin-top:12px}.cf-tag-label{font-size:13px;color:var(--muted);margin-bottom:6px}.cf-tag-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;min-height:24px}.cf-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#e0f7f5;color:var(--teal-dark);border-radius:14px;font-size:12px;font-weight:500}.cf-tag-chip button{background:none;border:none;color:var(--teal-dark);font-size:14px;padding:0 0 0 4px;cursor:pointer;line-height:1}.cf-tag-input-row{display:flex;gap:6px}.cf-tag-input-row input{flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit;text-transform:lowercase}.cf-tag-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.cf-tag-suggestion{padding:3px 10px;background:#f4f6f7;color:var(--text);border:1px solid var(--border);border-radius:14px;font-size:11px;cursor:pointer}.cf-tag-suggestion:hover{background:#e8edee}.customers-tag-filter{display:flex;gap:6px;padding:8px 12px 10px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.customers-tag-filter::-webkit-scrollbar{display:none}.customers-tag-filter .tag-filter-chip{flex-shrink:0;padding:5px 12px;background:#f4f6f7;color:var(--text);border:1px solid var(--border);border-radius:16px;font-size:12px;cursor:pointer}.customers-tag-filter .tag-filter-chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}.customer-row-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.customer-tag-mini{font-size:10px;padding:2px 7px;background:#e0f7f5;color:var(--teal-dark);border-radius:8px;font-weight:500}.customer-detail-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;justify-content:center}.customer-insights-card{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:12px 0;padding:0 0 12px}.insight-status{display:inline-block;margin:8px 16px 6px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.insight-new,.insight-active{background:#d1fae5;color:#065f46}.insight-cooling{background:#fef3c7;color:#92400e}.insight-lapsed{background:#fee2e2;color:#991b1b}.insight-never{background:#f4f6f7;color:var(--muted)}.insight-row{display:flex;justify-content:space-between;padding:6px 16px;font-size:13px}.insight-label{color:var(--muted)}.insight-value{font-weight:600}.insight-note{padding:6px 16px 0;font-size:11px;color:var(--muted);line-height:1.4}.customer-row-status{display:inline-block;font-size:10px;color:var(--muted);font-weight:500}.tag-filter-chip.tag-filter-lapsed{color:var(--red);border-color:#f4caca}.tag-filter-chip.tag-filter-lapsed.active{background:var(--red);color:#fff;border-color:var(--red)}.customer-notes-list{background:var(--surface);border-top:1px solid var(--border)}.customer-note-row{padding:10px 16px;border-bottom:1px solid var(--border)}.customer-note-text{font-size:13px;line-height:1.5;color:var(--text);word-break:break-word}.customer-note-meta{font-size:11px;color:var(--muted);margin-top:3px}.customer-note-add{display:flex;gap:6px;padding:10px 16px 14px;background:var(--surface);border-top:1px solid var(--border)}.customer-note-add input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit}.customer-note-add .mini-btn{padding:0 14px;border-radius:8px;font-weight:600;font-size:13px}.public-confirmation-v2{padding:20px 16px 100px}.public-confirmation-hero{text-align:center;padding:8px 0 16px}.public-confirmation-hero .check{font-size:48px;margin-bottom:8px}.public-confirmation-hero h2{font-family:Playfair Display,Georgia,serif;font-size:22px;margin:0 0 4px}.public-confirmation-hero .ref{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted);letter-spacing:1px}.public-status-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600;margin-bottom:12px}.public-status-pending{background:#fef3c7;color:#92400e}.public-status-accepted{background:#d1fae5;color:#065f46}.public-status-rejected{background:#fee2e2;color:#991b1b}.public-status-badge .status-icon{font-size:16px}.public-reject-note{background:#fef3c7;color:#92400e;padding:8px 12px;border-radius:8px;font-size:12px;margin-bottom:12px}.public-delivery-estimate{text-align:center;font-size:13px;color:var(--teal-dark);padding:8px 0 12px;font-weight:500}.public-confirmation-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:12px}.public-card-header{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.public-delivery-line{font-size:13px;padding:2px 0}.public-delivery-line.muted{color:var(--muted);font-style:italic}.public-note-small{font-size:11px;color:var(--muted);margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.public-confirmation-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.public-action-btn{display:block;padding:14px 18px;border-radius:10px;font-size:15px;font-weight:600;text-align:center;text-decoration:none;border:none;cursor:pointer;width:100%;box-sizing:border-box}.public-action-btn.primary{background:var(--teal);color:#fff}.public-action-btn.secondary{background:#25d366;color:#fff}.public-action-btn.ghost{background:#fff;color:var(--text);border:1px solid var(--border)}.public-last-order-banner{display:flex;justify-content:space-between;align-items:center;background:#e0f7f5;color:var(--teal-dark);padding:10px 14px;margin:0 12px 10px;border-radius:10px;font-size:12px;font-weight:500;cursor:pointer}.public-last-order-arrow{font-size:18px}.overlay{display:flex;align-items:flex-end;justify-content:center}.overlay .sheet{max-height:92vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.overlay .sheet .sheet-header{position:sticky;top:0;background:var(--surface);z-index:2;flex-shrink:0}.overlay .sheet .sheet-footer{position:sticky;bottom:0;background:var(--surface);z-index:2;flex-shrink:0}.overlay .sheet .sheet-footer .primary-btn{margin-bottom:0}.overlay .password-card{max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.public-thumb{width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:8px;background:#f4f6f7;display:flex;align-items:center;justify-content:center}.public-thumb img{width:100%;height:100%;object-fit:cover;display:block}*{-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;overscroll-behavior-y:none}button,a,.product-card,.cart-item,.category-btn,.payment-method,.numpad-key,.chip,.seg-btn,.range-btn,.manage-row,.order-row,.movement-row,.customer-row,.expense-row,.stock-row,.admin-row,.pending-row,.timeline-row,.public-thumb,.public-action-btn,.public-footer,.public-last-order-banner,.delivery-option,.discount-tab,.return-reason-btn,.return-refund-btn,.tile,.icon-btn,.primary-btn,.secondary-btn,.mini-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,.customer-note-text,.receipt-line,.timeline-sub,.public-delivery-line,.insight-value{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.screen,.sheet,.overlay,.password-card,#product-grid,#manage-product-list,#orders-list,#customers-list,#expenses-list,#movements-list,#pending-orders-list,#public-order-body{-webkit-overflow-scrolling:touch}img{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}button,a,.product-card,.cart-item,.tile,.category-btn,.payment-method,.numpad-key,.chip,.seg-btn,.range-btn,.manage-row,.order-row,.customer-row,.expense-row,.movement-row,.public-thumb,.public-action-btn{touch-action:manipulation}img{pointer-events:none}a img,.photo-thumb img,.receipt-upi-block img{pointer-events:auto}@keyframes skeleton-pulse{0%{opacity:.55}50%{opacity:.85}to{opacity:.55}}.skeleton{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.skeleton-row{display:flex;gap:10px;align-items:center;width:100%}.skeleton-thumb{width:44px;height:44px;border-radius:8px;background:#e4e7e8;animation:skeleton-pulse 1.4s ease-in-out infinite;flex-shrink:0}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:6px}.skeleton-line{height:12px;border-radius:6px;background:#e4e7e8;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line.short{width:60%}.skeleton-line.tiny{width:40%;height:10px}.skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px}.skeleton-card .skeleton-thumb{width:100%;height:90px;margin-bottom:8px}.offline-banner{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fef3c7;color:#92400e;padding:8px 14px;font-size:12px;font-weight:600;text-align:center;z-index:300;border-bottom:1px solid #fcd34d;padding-top:calc(8px + env(safe-area-inset-top))}#app-header{padding-top:env(safe-area-inset-top)}#teal-footer,.public-footer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.public-header{padding-top:calc(20px + env(safe-area-inset-top))}.haptic-feedback{animation:haptic-flash .18s ease-out}@keyframes haptic-flash{0%{transform:scale(1)}40%{transform:scale(.96)}to{transform:scale(1)}}.sw-update-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#0a0a0a;color:#fff;padding:12px 16px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:12px;z-index:400;box-shadow:0 4px 12px #0003;max-width:90%}.sw-update-banner button{background:var(--teal);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}.sw-update-banner #sw-update-close{background:transparent;padding:4px 8px;font-size:14px;color:#888}
