body[data-page=admin]{--cellar-canvas:#e8e2ca;--cellar-surface:#f5f1e6;--cellar-raised:#faf8f2;--ink-primary:#2c2218;--ink-secondary:#6b5442;--ink-tertiary:#9a8672;--ink-muted:#b8a898;--ledger-line:rgba(119, 70, 45, 0.12);--ledger-soft:rgba(119, 70, 45, 0.07);--ledger-emphasis:rgba(119, 70, 45, 0.22);--ledger-focus:rgba(55, 14, 19, 0.35);--barrel:#77462d;--cork:#9a7358;--cellar-green:#4a6f4b;--stain:#370e13;--batch-success:#3d7a40;--batch-success-bg:rgba(61, 122, 64, 0.08);--batch-warning:#b87a1a;--batch-warning-bg:rgba(184, 122, 26, 0.08);--batch-danger:#a83232;--batch-danger-bg:rgba(168, 50, 50, 0.08);--batch-info:#4a6f8a;--batch-info-bg:rgba(74, 111, 138, 0.08);--stage-pending:#b87a1a;--stage-confirmed:#4a6f8a;--stage-brewing:#8a6340;--stage-ready:#3d7a40;--stage-completed:#6b5442;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--ctrl-bg:rgba(119, 70, 45, 0.04);--ctrl-border:rgba(119, 70, 45, 0.18);--ctrl-focus:rgba(55, 14, 19, 0.25);--r-sm:3px;--r-md:5px;--r-lg:8px;--ease-out:cubic-bezier(0.25, 0, 0.25, 1);background-color:var(--cellar-canvas)}body[data-page=admin] .page-header,body[data-page=admin] .site-footer,body[data-page=admin] .site-header{display:none}.admin-shell-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-6);background:var(--cellar-raised);border-bottom:1px solid var(--ledger-line);position:sticky;top:0;z-index:200}.admin-shell-brand{display:flex;align-items:center;gap:var(--sp-3)}.admin-shell-brand img{height:28px;width:auto}.admin-shell-brand span{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-tertiary)}.admin-shell-user{display:flex;align-items:center;gap:var(--sp-3);font-size:13px;color:var(--ink-secondary)}body[data-page=admin] .content{padding-top:var(--sp-6);padding-bottom:var(--sp-12)}.admin-denied,.admin-signin{text-align:center;padding:var(--sp-12) 0}.admin-denied h2,.admin-signin h2{font-family:var(--font-body);font-weight:700;font-size:20px;color:var(--ink-primary);margin-bottom:var(--sp-4)}.admin-denied p,.admin-signin p{margin-left:auto;margin-right:auto;margin-bottom:var(--sp-6);color:var(--ink-secondary);max-width:420px}.admin-user-bar{display:none}.admin-signout-btn{padding:var(--sp-1) var(--sp-4);font-size:13px}.admin-dashboard-cards{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-8)}.pipeline-strip{background:var(--cellar-raised);border:1px solid var(--ledger-line);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-6)}.pipeline-strip-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-tertiary);margin-bottom:var(--sp-3)}.pipeline-stages{display:flex;gap:2px;border-radius:var(--r-sm);overflow:hidden;height:32px;background:var(--ledger-soft)}.pipeline-stage{display:flex;align-items:center;justify-content:center;gap:var(--sp-1);padding:0 var(--sp-3);font-size:12px;font-weight:700;color:#fff;cursor:pointer;transition:opacity .15s var(--ease-out);white-space:nowrap;min-width:0}.pipeline-stage:hover{opacity:.85}.pipeline-stage--pending{background:var(--stage-pending)}.pipeline-stage--confirmed{background:var(--stage-confirmed)}.pipeline-stage--brewing{background:var(--stage-brewing)}.pipeline-stage--ready{background:var(--stage-ready)}.pipeline-stage--completed{background:var(--stage-completed)}.pipeline-stage-count{font-size:14px;font-weight:700;font-feature-settings:'tnum'}.pipeline-stage-name{font-size:11px;font-weight:600;opacity:.9}.pipeline-empty{display:flex;align-items:center;justify-content:center;height:32px;font-size:13px;color:var(--ink-muted)}.attention-list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.attention-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--cellar-raised);border:1px solid var(--ledger-line);border-radius:var(--r-sm);font-size:13px;color:var(--ink-secondary);cursor:pointer;transition:border-color .15s var(--ease-out),color .15s var(--ease-out)}.attention-item:hover{border-color:var(--ledger-emphasis);color:var(--ink-primary)}.attention-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.attention-dot--warning{background:var(--batch-warning)}.attention-dot--danger{background:var(--batch-danger)}.attention-dot--info{background:var(--batch-info)}.attention-dot--success{background:var(--batch-success)}.dashboard-card{display:none}.dashboard-card-icon{display:none}.dashboard-card-content{display:none}.dashboard-card-value{display:none}.dashboard-card-label{display:none}.dashboard-card-detail{display:none}.admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--ledger-emphasis);margin-bottom:var(--sp-6);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab-btn{background:0 0;border:none;border-bottom:2px solid transparent;padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--ink-tertiary);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease-out),border-color .15s var(--ease-out);margin-bottom:-1px}.admin-tab-btn:hover{color:var(--ink-primary)}.admin-tab-btn.active{color:var(--stain);border-bottom-color:var(--stain);font-weight:700}.admin-tab-divider{width:1px;align-self:stretch;background:var(--ledger-line);margin:var(--sp-2) var(--sp-2)}.admin-tab-panel{display:none}.admin-tab-panel.active{display:block}.admin-panel-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-6)}.admin-panel-header h2{font-family:var(--font-body);font-weight:700;font-size:18px;color:var(--ink-primary);margin-bottom:0}.admin-panel-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.admin-filter-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.admin-filter-row label{font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-tertiary)}.admin-select{padding:var(--sp-2) var(--sp-3);border:1px solid var(--ctrl-border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:13px;background:var(--ctrl-bg);color:var(--ink-primary);cursor:pointer;transition:border-color .15s var(--ease-out)}.admin-select:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.admin-input{padding:var(--sp-2) var(--sp-3);border:1px solid var(--ctrl-border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:13px;background:var(--ctrl-bg);color:var(--ink-primary);transition:border-color .15s var(--ease-out)}.admin-input:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.admin-table-wrap{overflow-x:auto;margin-bottom:var(--sp-6);border:1px solid var(--ledger-line);border-radius:var(--r-md);background:var(--cellar-raised)}.admin-table{width:100%;border-collapse:collapse;font-size:13px;font-feature-settings:'tnum'}.admin-table thead th{background-color:transparent;color:var(--ink-tertiary);padding:var(--sp-3) var(--sp-4);text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:none;border-bottom:1px solid var(--ledger-emphasis)}.admin-table tbody td{padding:var(--sp-4) var(--sp-4);border:none;border-bottom:1px solid var(--ledger-soft);background:0 0;vertical-align:middle;color:var(--ink-primary)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:nth-child(2n) td{background-color:rgba(119,70,45,.02)}.admin-table tbody tr:hover td{background-color:rgba(119,70,45,.05)}.admin-table tbody tr.admin-hold-row td{background-color:rgba(184,122,26,.04);font-size:12px}.res-cell-primary{display:block;font-weight:700;color:var(--ink-primary)}.res-cell-secondary{display:block;font-size:11px;color:var(--ink-tertiary)}.res-cell-line{display:block;line-height:1.4}.res-actions{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-start;min-width:120px}.res-actions .btn,.res-actions .btn-secondary{white-space:nowrap}.admin-table tbody tr.admin-row-warning td{background-color:var(--batch-warning-bg)}.admin-editable{cursor:pointer;position:relative;background-image:linear-gradient(135deg,transparent calc(100% - 6px),var(--ledger-line) calc(100% - 6px),var(--ledger-line) calc(100% - 5px),transparent calc(100% - 5px))}.admin-editable:hover{background-color:rgba(184,122,26,.06)!important;background-image:none;outline:1px solid var(--batch-warning);outline-offset:-1px}.admin-cell-readonly{color:var(--ink-secondary);cursor:default}.admin-sync-banner{background:#7a2c2c;color:#fff;padding:10px 20px;display:flex;align-items:center;gap:12px;font-size:.875rem;line-height:1.4}.admin-sync-banner-dismiss{margin-left:auto;background:0 0;border:1px solid rgba(255,255,255,.5);color:#fff;padding:3px 10px;border-radius:4px;cursor:pointer;font-size:.8rem;white-space:nowrap}.admin-sync-banner-dismiss:hover{background:rgba(255,255,255,.15)}.po-panel{background:var(--cellar-surface);border:1px solid var(--ledger-line);border-radius:6px;padding:16px;margin-bottom:24px}.po-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.po-panel-header h3{margin:0;font-size:.95rem;color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.04em}.po-table td,.po-table th{font-size:.88rem}.admin-note{color:var(--ink-tertiary);font-size:.875rem;margin:0}.admin-inline-input{width:80px;padding:2px var(--sp-1);border:2px solid var(--stain);border-radius:var(--r-sm);font-family:var(--font-body);font-size:13px;text-align:center;background:var(--cellar-raised)}.admin-btn-sm{padding:var(--sp-1) var(--sp-3);font-size:12px;margin-right:var(--sp-1)}.admin-btn-danger{color:var(--batch-danger);border-color:var(--batch-danger)}.admin-btn-danger:hover{background-color:var(--batch-danger);color:#fff;border-color:var(--batch-danger)}.admin-expand-btn{background:0 0;border:1px solid var(--ledger-line);border-radius:var(--r-sm);width:28px;height:28px;font-size:16px;font-weight:700;color:var(--ink-tertiary);cursor:pointer;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}.admin-expand-btn:hover{background-color:var(--cellar-surface);color:var(--ink-primary)}.stock-badge{display:inline-block;padding:2px var(--sp-3);border-radius:999px;font-size:12px;font-weight:700}.stock-badge--in{background-color:var(--batch-success-bg);color:var(--batch-success)}.stock-badge--low{background-color:var(--batch-warning-bg);color:var(--batch-warning)}.stock-badge--out{background-color:var(--batch-danger-bg);color:var(--batch-danger)}.hold-badge{display:inline-block;padding:2px var(--sp-3);border-radius:999px;font-size:11px;font-weight:700;text-transform:capitalize}.hold-badge--pending{background-color:var(--batch-warning-bg);color:var(--batch-warning)}.hold-badge--confirmed{background-color:var(--batch-info-bg);color:var(--batch-info)}.hold-badge--released{background-color:rgba(74,111,138,.08);color:var(--batch-info)}.hold-badge--completed{background-color:var(--batch-success-bg);color:var(--batch-success)}.hold-badge--cancelled{background-color:var(--batch-danger-bg);color:var(--batch-danger)}.hold-badge--brewing{background-color:rgba(138,99,64,.1);color:var(--stage-brewing)}.hold-badge--ready{background-color:var(--batch-success-bg);color:var(--stage-ready)}.hold-badge--archived{background-color:rgba(119,70,45,.05);color:var(--ink-muted)}.admin-status-select{padding:var(--sp-1) var(--sp-2);font-size:12px;border-radius:var(--r-sm);border:1px solid var(--ctrl-border);background:var(--ctrl-bg);color:var(--ink-primary);cursor:pointer;min-width:110px;max-width:150px;width:100%;transition:border-color .15s var(--ease-out)}.admin-status-select:hover{border-color:var(--ledger-emphasis)}.admin-status-select:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.admin-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:5vh 0 2rem}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(44,34,24,.45);animation:adminFadeIn .15s var(--ease-out)}.admin-modal-content{position:relative;background:var(--cellar-raised);border-radius:var(--r-lg);width:90%;max-width:560px;box-shadow:0 8px 32px rgba(44,34,24,.18);animation:adminScaleIn .15s var(--ease-out);display:flex;flex-direction:column;max-height:88vh}.admin-modal-body{padding:var(--sp-6);overflow-y:auto;overscroll-behavior:contain}@keyframes adminFadeIn{from{opacity:0}to{opacity:1}}@keyframes adminScaleIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--ledger-line)}.admin-modal-header h3{font-family:var(--font-body);font-weight:700;font-size:16px;color:var(--ink-primary);margin:0}.admin-modal-close{background:0 0;border:none;font-size:20px;color:var(--ink-tertiary);cursor:pointer;padding:var(--sp-1);line-height:1;border-radius:var(--r-sm);transition:background-color .1s,color .1s}.admin-modal-close:hover{background-color:var(--cellar-surface);color:var(--ink-primary)}.admin-modal-form .form-group{margin-bottom:var(--sp-4)}.admin-modal-form .form-group label{display:block;margin-bottom:var(--sp-1);font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-tertiary)}.admin-modal-form .form-group input,.admin-modal-form .form-group select{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--ctrl-border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:13px;background:var(--ctrl-bg);color:var(--ink-primary);transition:border-color .15s var(--ease-out)}.admin-modal-form .form-group input:focus,.admin-modal-form .form-group select:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.admin-empty{text-align:center;padding:var(--sp-12) var(--sp-8);color:var(--ink-tertiary);font-size:14px;line-height:1.5}.admin-pagination{padding:var(--sp-4) 0}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:var(--sp-3)}.pagination-btn{padding:var(--sp-2) var(--sp-4);font-size:13px;border-radius:var(--r-sm);cursor:pointer}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:13px;color:var(--ink-secondary);min-width:120px;text-align:center;font-feature-settings:'tnum'}.admin-export-section{margin-bottom:var(--sp-8);padding-bottom:var(--sp-8);border-bottom:1px solid var(--ledger-line)}.admin-export-section:last-child{border-bottom:none}.admin-export-section h3{font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--ink-primary);margin-bottom:var(--sp-2)}.admin-export-section p{margin-bottom:var(--sp-3);color:var(--ink-secondary);font-size:13px}.admin-export-section ol{margin-left:var(--sp-6);margin-bottom:var(--sp-3);color:var(--ink-secondary);font-size:13px}.admin-export-section ol li{margin-bottom:var(--sp-1)}.admin-textarea{width:100%;padding:var(--sp-3);font-family:var(--font-body);font-size:13px;border:1px solid var(--ctrl-border);border-radius:var(--r-sm);resize:vertical;background:var(--ctrl-bg);color:var(--ink-primary)}.admin-textarea:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.homepage-news-item{display:flex;gap:var(--sp-3);align-items:flex-start;margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--cellar-raised);border:1px solid var(--ledger-line);border-radius:var(--r-md)}.homepage-news-item-fields{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}.homepage-news-item input,.homepage-news-item textarea{width:100%;padding:var(--sp-2);font-family:var(--font-body);font-size:13px;border:1px solid var(--ctrl-border);border-radius:var(--r-sm);background:var(--ctrl-bg);color:var(--ink-primary)}.homepage-news-item input:focus,.homepage-news-item textarea:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.homepage-news-item textarea{resize:vertical;min-height:56px}.homepage-news-item-actions{display:flex;flex-direction:column;gap:var(--sp-1)}.homepage-faq-item{display:flex;gap:var(--sp-3);align-items:flex-start;margin-bottom:var(--sp-3);padding:var(--sp-4);background:var(--cellar-raised);border:1px solid var(--ledger-line);border-radius:var(--r-md)}.homepage-faq-item-fields{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}.homepage-faq-item input,.homepage-faq-item textarea{width:100%;padding:var(--sp-2);font-family:var(--font-body);font-size:13px;border:1px solid var(--ctrl-border);border-radius:var(--r-sm);background:var(--ctrl-bg);color:var(--ink-primary)}.homepage-faq-item input:focus,.homepage-faq-item textarea:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.homepage-faq-item textarea{resize:vertical;min-height:72px}.homepage-faq-item-actions{display:flex;flex-direction:column;gap:var(--sp-1)}.homepage-featured-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}.homepage-featured-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--cellar-raised);border:1px solid var(--ledger-line);border-radius:var(--r-sm)}.homepage-featured-item-info{flex:1}.homepage-featured-item-name{font-weight:700;font-size:13px;color:var(--ink-primary)}.homepage-featured-item-sku{font-size:11px;color:var(--ink-tertiary)}.homepage-featured-item .admin-btn-danger{padding:var(--sp-1) var(--sp-2);font-size:11px}.admin-file-input{display:block;margin-bottom:var(--sp-4)}.admin-import-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-4)}.admin-save-bar{position:fixed;bottom:0;left:0;right:0;background-color:var(--stain);color:var(--cellar-canvas);padding:var(--sp-3) 0;padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px));z-index:1500;box-shadow:0 -4px 16px rgba(44,34,24,.2)}.admin-save-bar .container{display:flex;justify-content:space-between;align-items:center}.admin-save-bar span{font-weight:700;font-size:13px}.admin-save-actions{display:flex;gap:var(--sp-2)}.admin-save-bar .btn{background-color:var(--cellar-canvas);color:var(--stain);border-color:var(--cellar-canvas);padding:var(--sp-2) var(--sp-6);font-size:13px}.admin-save-bar .btn:hover{background-color:#fff;border-color:#fff}.admin-discard-btn{color:var(--cellar-canvas)!important;border-color:rgba(229,222,193,.4)!important;padding:var(--sp-2) var(--sp-6);font-size:13px}.admin-discard-btn:hover{background-color:var(--cellar-canvas)!important;color:var(--stain)!important}.admin-cell-changed{background-color:var(--batch-warning-bg)!important;outline:1px solid var(--batch-warning);outline-offset:-1px}.admin-order-info{margin-bottom:var(--sp-4);font-size:13px;color:var(--ink-secondary)}.admin-order-add{margin-bottom:var(--sp-6);padding:var(--sp-4);background:var(--cellar-raised);border:1px solid var(--ledger-line);border-radius:var(--r-md)}.admin-order-add h3{font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--ink-primary);margin-bottom:var(--sp-3)}.admin-order-add-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.admin-kit-search-wrap{position:relative;flex:1;min-width:200px}.admin-kit-search-input{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--ctrl-border);border-radius:var(--r-sm);font-family:var(--font-body);font-size:13px;background:var(--ctrl-bg);color:var(--ink-primary);transition:border-color .15s var(--ease-out)}.admin-kit-search-input:focus{outline:0;border-color:var(--stain);box-shadow:0 0 0 2px var(--ctrl-focus)}.admin-kit-search-dropdown{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--cellar-raised);border:1px solid var(--ledger-emphasis);border-top:none;border-radius:0 0 var(--r-sm) var(--r-sm);z-index:100;box-shadow:0 6px 16px rgba(44,34,24,.12)}.admin-kit-search-option{padding:var(--sp-2) var(--sp-3);font-size:13px;cursor:pointer;border-bottom:1px solid var(--ledger-soft);color:var(--ink-primary);transition:background-color .1s}.admin-kit-search-option:last-child{border-bottom:none}.admin-kit-search-option.active,.admin-kit-search-option:hover{background-color:var(--cellar-surface);color:var(--stain)}.admin-table .product-qty-controls{min-width:110px}.admin-table th.sortable{cursor:pointer;user-select:none;position:relative;padding-right:var(--sp-6);transition:color .1s}.admin-table th.sortable:hover{color:var(--ink-primary)}.admin-table th.sortable::after{content:'\2195';position:absolute;right:var(--sp-2);opacity:.3;font-size:11px}.admin-table th.sort-asc::after{content:'\2191';opacity:.8}.admin-table th.sort-desc::after{content:'\2193';opacity:.8}.admin-diff-new{color:var(--batch-success);font-weight:700}.admin-diff-mod{color:var(--batch-warning);font-weight:700}.admin-toast-container{position:fixed;top:var(--sp-4);right:var(--sp-4);z-index:3000;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none}.admin-toast{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--cellar-raised);border:1px solid var(--ledger-line);border-left:3px solid var(--ink-secondary);border-radius:var(--r-sm);box-shadow:0 4px 16px rgba(44,34,24,.14);font-size:13px;color:var(--ink-primary);pointer-events:auto;animation:toastSlideIn .2s var(--ease-out);max-width:380px;line-height:1.4}.admin-toast--success{border-left-color:var(--batch-success)}.admin-toast--warning{border-left-color:var(--batch-warning)}.admin-toast--error{border-left-color:var(--batch-danger)}.admin-toast--info{border-left-color:var(--batch-info)}.admin-toast.removing{animation:toastSlideOut .15s var(--ease-out) forwards}@keyframes toastSlideIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(24px)}}.admin-toast-msg{flex:1}.admin-toast-close{background:0 0;border:none;color:var(--ink-muted);cursor:pointer;font-size:16px;padding:0;line-height:1}.admin-toast-close:hover{color:var(--ink-primary)}.admin-toast-undo{background:0 0;border:none;color:var(--stain);font-weight:700;font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.admin-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(44,34,24,.45);z-index:2500;display:flex;align-items:center;justify-content:center;animation:adminFadeIn .12s var(--ease-out)}.admin-confirm-box{background:var(--cellar-raised);border-radius:var(--r-lg);padding:var(--sp-6);max-width:420px;width:90%;box-shadow:0 8px 32px rgba(44,34,24,.18);animation:adminScaleIn .12s var(--ease-out)}.admin-confirm-msg{font-size:14px;color:var(--ink-primary);margin-bottom:var(--sp-6);line-height:1.5}.admin-confirm-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}@keyframes skeletonPulse{0%{opacity:.6}50%{opacity:.3}100%{opacity:.6}}.skeleton{background:var(--ledger-line);border-radius:var(--r-sm);animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-row{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--ledger-soft)}.skeleton-cell{height:14px;background:var(--ledger-line);border-radius:var(--r-sm);animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-cell--sm{width:48px}.skeleton-cell--md{width:96px}.skeleton-cell--lg{width:160px;flex:1}.pipeline-skeleton{height:32px;background:var(--ledger-soft);border-radius:var(--r-sm);animation:skeletonPulse 1.5s ease-in-out infinite}.schedule-defaults{margin-bottom:var(--sp-8)}.schedule-calendar h3,.schedule-defaults h3{font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--ink-primary);margin-bottom:var(--sp-3)}.schedule-defaults table{margin-bottom:var(--sp-3)}.schedule-open{background:var(--batch-success);color:#fff;font-size:11px;font-weight:700;padding:2px var(--sp-2);border-radius:var(--r-sm)}.schedule-closed{background:var(--ink-muted);color:#fff;font-size:11px;font-weight:700;padding:2px var(--sp-2);border-radius:var(--r-sm)}.schedule-default-slots{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-2) var(--sp-1)}.schedule-default-slot{font-size:11px;padding:2px var(--sp-2);border:1px solid var(--cellar-green);border-radius:999px;background:var(--cellar-green);color:#fff;cursor:pointer;transition:opacity .15s var(--ease-out)}.schedule-default-slot:hover{opacity:.8}.schedule-default-slot.blocked{background:var(--batch-danger);border-color:var(--batch-danger);color:#fff;text-decoration:line-through}.schedule-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.schedule-cal-actions{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.schedule-cal-title{font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--ink-primary)}.schedule-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:var(--sp-6);background:var(--ledger-soft);border:1px solid var(--ledger-line);border-radius:var(--r-md);overflow:hidden}.schedule-cal-dayheader{text-align:center;font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:var(--sp-2) 0;background:var(--cellar-surface);color:var(--ink-tertiary)}.schedule-cal-cell{text-align:center;padding:var(--sp-2) var(--sp-1);background:var(--cellar-raised);cursor:pointer;min-height:56px;position:relative;transition:background-color .1s}.schedule-cal-cell.today{background:rgba(74,111,75,.06)}.schedule-cal-cell.today .schedule-cal-day{background:var(--cellar-green);color:#fff;border-radius:50%;width:24px;height:24px;line-height:24px;margin:0 auto}.schedule-cal-cell.empty{background:var(--cellar-surface);cursor:default}.schedule-cal-cell.closed{background:var(--cellar-surface);opacity:.5}.schedule-cal-closed{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);line-height:1;margin-top:2px}.schedule-cal-cell.selected{outline:2px solid var(--stain);outline-offset:-2px;z-index:1}.schedule-cal-cell:hover:not(.empty){background:rgba(119,70,45,.05)}.schedule-cal-day{display:block;font-size:13px;font-weight:600;color:var(--ink-primary)}.schedule-cal-dot{display:block;width:6px;height:6px;border-radius:50%;margin:var(--sp-1) auto 0}.schedule-cal-counts{display:flex;justify-content:center;gap:2px;margin-top:2px}.cal-count-booked,.cal-count-open{font-size:9px;font-weight:700;line-height:1;padding:1px 3px;border-radius:2px;min-width:14px;text-align:center}.cal-count-open{background:var(--batch-success-bg);color:var(--batch-success)}.cal-count-booked{background:rgba(119,70,45,.06);color:var(--ink-tertiary)}.dot-available{background:var(--cellar-green)}.dot-booked{background:var(--ink-muted)}.dot-blocked{background:var(--batch-danger)}.schedule-day-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.schedule-day-header h4{margin:0;font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--ink-primary)}.schedule-slots{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-6)}.schedule-slot{padding:var(--sp-2) var(--sp-3);border:1px solid var(--ctrl-border);border-radius:var(--r-sm);font-size:13px;cursor:pointer;background:var(--cellar-raised);font-family:var(--font-body);transition:border-color .1s,background-color .1s}.slot-available{background:var(--batch-success-bg);border-color:rgba(61,122,64,.25);color:var(--batch-success)}.slot-booked{background:rgba(119,70,45,.04);border-color:var(--ledger-line);color:var(--ink-muted);cursor:default}.slot-blocked{background:var(--batch-danger-bg);border-color:rgba(168,50,50,.25);color:var(--batch-danger)}.schedule-slot:not([disabled]):hover{opacity:.8}@media (max-width:768px){.admin-shell-bar{padding:var(--sp-2) var(--sp-3)}.admin-shell-brand img{height:24px}.pipeline-strip{padding:var(--sp-3)}.pipeline-stages{height:28px}.pipeline-stage-name{font-size:10px}.attention-list{flex-direction:column}.admin-tabs{white-space:nowrap;-webkit-overflow-scrolling:touch}.admin-tab-btn{padding:var(--sp-2) var(--sp-3);font-size:12px}.admin-table-wrap{-webkit-overflow-scrolling:touch}.admin-panel-header{flex-direction:column}.admin-panel-actions{width:100%;flex-direction:column;align-items:flex-start}.admin-modal{padding:3vh 0 2rem}.admin-modal-content{width:95%;max-height:92vh}.admin-toast-container{right:var(--sp-2);left:var(--sp-2)}.admin-toast{max-width:none}}@media (max-width:480px){.pipeline-stage{padding:0 var(--sp-1);font-size:11px}.pipeline-stage-name{display:none}}.pipeline-stage--primary{background:var(--stage-brewing,#4fc3f7)}.pipeline-stage--secondary{background:var(--stage-ready,#ffb74d)}.pipeline-stage--complete{background:var(--stage-completed,#81c784)}.batch-sub-tabs{display:flex;gap:2px;margin-bottom:1rem;border-bottom:2px solid var(--ledger-line)}.batch-sub-tab{padding:var(--sp-2) var(--sp-3);background:0 0;border:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--ink-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.batch-sub-tab:hover{color:var(--ink-primary)}.batch-sub-tab.active{color:var(--vine);border-bottom-color:var(--vine)}.batch-view{display:none}.batch-view.active{display:block}.batch-status{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.batch-status--blue{background:#e3f2fd;color:#1565c0}.batch-status--amber{background:#fff3e0;color:#e65100}.batch-status--green{background:#e8f5e9;color:#2e7d32}.batch-status--gray{background:#f5f5f5;color:#757575}#batches-table tbody tr{cursor:pointer}#batches-table tbody tr:hover{background:var(--cellar-surface)}.batch-id-cell{font-weight:700;font-family:monospace;font-size:.85rem}.batch-progress{display:inline-block;width:60px;height:6px;background:var(--ledger-line);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:4px}.batch-progress-bar{height:100%;background:var(--vine,#5b7f3b);border-radius:3px;transition:width .3s}.batch-progress-text{font-size:.78rem;color:var(--ink-tertiary)}.batch-detail-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.batch-detail-id{font-family:monospace;font-weight:700}.batch-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;font-size:.9rem}.batch-detail-section{margin-bottom:.5rem}.batch-detail-section summary{cursor:pointer;font-weight:600;color:var(--vine,#5b7f3b);font-size:.85rem}.batch-detail-location-edit{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.batch-task-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--ledger-soft);font-size:.88rem}.batch-task-row:last-child{border-bottom:none}.batch-task-check{display:flex;align-items:center;gap:.4rem;cursor:pointer;flex:1}.batch-task-check input{width:18px;height:18px}.batch-task-due{font-size:.78rem;color:var(--ink-tertiary);white-space:nowrap}.batch-task-meta{font-size:.75rem;color:var(--ink-muted)}.batch-task-row--done .batch-task-title{text-decoration:line-through;opacity:.5}.batch-task-row--overdue .batch-task-due{color:#c62828;font-weight:700}.batch-detail-tasks-header{display:flex;align-items:center;justify-content:space-between}.batch-detail-tasks-header h4{margin:0}.batch-task-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle}.batch-task-badge--transfer{background:#e3f2fd;color:#1565c0}.batch-task-badge--pkg{background:#f3e5f5;color:#7b1fa2}.batch-plato-svg{width:100%;height:auto;margin-bottom:.5rem}.batch-plato-table{font-size:.82rem}.batch-plato-table td,.batch-plato-table th{padding:2px 6px}.batch-plato-add{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.plato-actions{white-space:nowrap}.plato-delete-btn,.plato-edit-btn{background:0 0;border:none;cursor:pointer;font-size:1rem;padding:0 3px;line-height:1}.plato-edit-btn{color:#666}.plato-edit-btn:hover{color:#333}.plato-delete-btn{color:#c00}.plato-delete-btn:hover{color:#900}.batch-plato-staging{border-left:3px solid #5b7f3b;margin-top:.5rem}#plato-submit-all-btn{margin-top:.35rem}.batch-vessel-history{max-height:200px;overflow-y:auto}.batch-vh-entry{font-size:.82rem;padding:.2rem 0;color:var(--ink-secondary);border-bottom:1px solid var(--ledger-soft)}.batch-detail-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid var(--ledger-line)}.batch-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--ledger-line);border:1px solid var(--ledger-line);margin-bottom:1rem}.batch-cal-header{background:var(--cellar-surface);padding:6px;text-align:center;font-weight:700;font-size:.8rem;color:var(--ink-secondary)}.batch-cal-day{background:var(--cellar-raised,#fff);min-height:80px;padding:4px;cursor:pointer;position:relative}.batch-cal-day:hover{background:var(--cellar-surface)}.batch-cal-day--today{background:#fffde7}.batch-cal-day--selected{background:#e8f5e9}.batch-cal-day--other-month{opacity:.3;cursor:default}.batch-cal-day-num{font-weight:700;font-size:.82rem;margin-bottom:2px;color:var(--ink-primary)}.batch-cal-task{font-size:.68rem;padding:1px 4px;margin:1px 0;border-radius:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.4}.batch-cal-task--pending{background:#e3f2fd;color:#1565c0}.batch-cal-task--done{background:#e8f5e9;color:#2e7d32;text-decoration:line-through;opacity:.6}.batch-cal-task--overdue{background:#ffcdd2;color:#c62828}.batch-cal-task-count{font-size:.68rem;color:var(--ink-muted);margin-top:2px}.cal-month-label{font-weight:700;font-size:1rem;padding:0 1rem}.batch-calendar-day-detail{padding:.5rem 0}.batch-calendar-day-detail h3{font-size:.95rem;margin:0 0 .5rem}.batch-cal-detail-task{padding:.3rem 0;font-size:.88rem;border-bottom:1px solid var(--ledger-soft)}.batch-cal-detail-task label{cursor:pointer}.batch-cal-detail-task input[type=checkbox]{width:16px;height:16px;margin-right:4px;vertical-align:middle}.batch-cal-detail--done{opacity:.5;text-decoration:line-through}.batch-cal-detail--overdue{color:#c62828}.upcoming-group{margin-bottom:1rem}.upcoming-group-label{font-size:.9rem;font-weight:700;color:var(--ink-secondary);margin:0 0 .4rem;padding-bottom:.25rem;border-bottom:1px solid var(--ledger-line)}.upcoming-group-label--overdue{color:#c62828}.upcoming-task-row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--ledger-soft);font-size:.88rem;flex-wrap:wrap}.upcoming-task-row label{cursor:pointer;display:flex;align-items:center;gap:.3rem}.upcoming-task-row input[type=checkbox]{width:16px;height:16px}.upcoming-task-meta{font-size:.78rem;color:var(--ink-tertiary)}.upcoming-batch-link{font-size:.78rem;color:var(--ink-tertiary);text-decoration:none;cursor:pointer}.upcoming-batch-link:hover{color:var(--accent-primary,#6b4f3a);text-decoration:underline}.upcoming-task-loc{font-size:.78rem;color:var(--ink-muted);font-family:monospace}.upcoming-task-date{font-size:.78rem;color:var(--ink-secondary);margin-left:auto}.upcoming-task-row--pending{opacity:.55}.upcoming-task-row--pending label strong{text-decoration:line-through}.upcoming-confirm-list{display:flex;flex-direction:column;gap:.6rem;max-height:60vh;overflow-y:auto}.upcoming-confirm-item{background:var(--cellar-bg,#f9f7f3);border:1px solid var(--ledger-line);border-radius:4px;padding:.5rem .6rem}.upcoming-confirm-item--transfer{border-left:3px solid #1565c0}.upcoming-confirm-task-name{font-size:.9rem}.upcoming-confirm-task-meta{font-size:.78rem;color:#666;margin-top:1px}.upcoming-transfer-fields{margin-top:6px;gap:.4rem}.schedules-list{display:grid;gap:.75rem}.schedule-card{background:var(--cellar-raised,#fff);border:1px solid var(--ledger-line);border-radius:var(--radius-md,6px);padding:var(--sp-3)}.schedule-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.schedule-card-actions{display:flex;gap:.25rem}.schedule-card-meta{font-size:.82rem;color:var(--ink-tertiary);margin-bottom:.5rem}.schedule-card-steps{font-size:.85rem}.schedule-step-line{padding:.15rem 0}.schedule-step-day{display:inline-block;width:45px;font-weight:700;color:var(--vine,#5b7f3b);font-size:.82rem}.sched-form-hint{font-size:.82rem;color:var(--ink-tertiary);margin:0 0 .5rem}.sched-steps-header{display:flex;gap:.35rem;align-items:center;padding-bottom:.25rem;border-bottom:1px solid var(--border);margin-bottom:.35rem;font-size:.78rem;font-weight:600;color:var(--ink-tertiary);text-transform:uppercase;letter-spacing:.03em}.sched-col-day{width:60px}.sched-col-title{flex:1}.sched-col-desc{flex:1}.sched-col-transfer{width:60px;text-align:center}.sched-col-actions{width:28px}.sched-transfer-check{display:flex;align-items:center;justify-content:center;width:60px;cursor:pointer}.sched-step-row{display:flex;gap:.35rem;align-items:center;margin-bottom:.35rem}.sched-pkg-note{font-size:.78rem;font-weight:400;color:var(--ink-tertiary)}.sched-pkg-row{display:flex;gap:.35rem;align-items:center;padding:.5rem;background:var(--surface-warm);border-radius:4px;border:1px dashed var(--border)}.batch-create-form .form-group{margin-bottom:.75rem}.batch-create-form .form-group label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.2rem;color:var(--ink-secondary)}.form-group-row{display:flex;gap:.5rem}.form-group-row>div{flex:1}.batch-customer-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.4rem .6rem;margin:-.5rem 0 .75rem;background:var(--surface-warm);border-radius:4px;font-size:.82rem}.batch-customer-tag{font-weight:600;color:var(--ink-primary)}.batch-customer-email{color:var(--ink-secondary)}.batch-customer-zoho{color:var(--ink-tertiary);font-size:.75rem}.batch-cust-email-hint{color:var(--ink-tertiary);font-size:.82rem}.batch-cust-new{font-style:italic;color:var(--ink-secondary)}.batch-schedule-preview{margin:.5rem 0}.schedule-preview-steps{font-size:.85rem}.schedule-preview-step{padding:.15rem 0;color:var(--ink-secondary)}.batch-qr-btn{font-size:.75rem!important;padding:2px 8px!important}body.kiosk-mode .batch-task-check input{width:28px;height:28px}body.kiosk-mode #batches-table td{padding:10px 6px;font-size:1rem}body.kiosk-mode .batch-cal-day{min-height:100px}@media (max-width:600px){.batch-detail-grid{grid-template-columns:1fr}.batch-calendar-grid{font-size:.75rem}.batch-cal-day{min-height:60px}.batch-cal-task{font-size:.6rem}}#tab-kiosk{position:relative;padding-bottom:3rem}.kiosk-view{display:block}.kiosk-browse-layout{display:grid;grid-template-columns:1fr 340px;gap:1rem;height:calc(100vh - 160px);min-height:480px}.kiosk-product-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.kiosk-search-bar{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-shrink:0}.kiosk-search-input{flex:1;min-width:0;padding:.65rem .75rem;font-size:1rem;border:1px solid var(--ledger-emphasis);border-radius:6px;background:var(--cellar-raised);color:var(--ink-primary);outline:0;-webkit-appearance:none;min-height:44px}.kiosk-search-input:focus{border-color:var(--barrel);box-shadow:0 0 0 2px rgba(119,70,45,.15)}.kiosk-category-select{padding:.65rem .5rem;font-size:1rem;border:1px solid var(--ledger-emphasis);border-radius:6px;background:var(--cellar-raised);color:var(--ink-primary);cursor:pointer;min-height:44px;-webkit-appearance:none}.kiosk-refresh-btn{padding:0;font-size:1.25rem;line-height:1;border-radius:6px;width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.kiosk-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:.5rem}.kiosk-loading{color:var(--ink-tertiary);grid-column:1/-1;padding:2rem 0;text-align:center}.kiosk-product-card{display:flex;flex-direction:column;background:var(--cellar-raised);border:1px solid var(--ledger-soft);border-radius:8px;overflow:hidden;cursor:pointer;transition:box-shadow .1s;min-height:180px;position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.kiosk-product-card:active{box-shadow:inset 0 2px 8px rgba(0,0,0,.15);border-color:var(--barrel)}.kiosk-product-card:hover{border-color:var(--barrel);box-shadow:0 2px 8px rgba(119,70,45,.12)}.kiosk-product-img{width:100%;height:120px;object-fit:cover;background:var(--cellar-canvas);display:block}.kiosk-product-img-placeholder{width:100%;height:120px;background:var(--cellar-canvas);display:flex;align-items:center;justify-content:center;color:var(--ink-muted);font-size:2.5rem}.kiosk-product-body{padding:.55rem .65rem .7rem;flex:1;display:flex;flex-direction:column;gap:.2rem}.kiosk-product-name{font-size:.9rem;font-weight:600;color:var(--ink-primary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kiosk-product-sku{font-size:.72rem;color:var(--ink-tertiary);font-family:monospace}.kiosk-product-price{margin-top:auto;font-size:1rem;font-weight:700;color:var(--barrel)}.kiosk-product-stock{font-size:.72rem;color:var(--ink-tertiary)}.kiosk-product-stock--low{color:var(--batch-warning);font-weight:600}.kiosk-product-stock--out{color:var(--batch-danger);font-weight:600}.kiosk-product-card--out-of-stock{opacity:.5;cursor:not-allowed}.kiosk-card-in-cart{position:absolute;top:6px;right:6px;background:var(--barrel);color:#fff;font-size:.75rem;font-weight:700;border-radius:12px;padding:2px 8px;min-width:24px;text-align:center}.kiosk-cart-pane{display:flex;flex-direction:column;background:var(--cellar-raised);border:1px solid var(--ledger-emphasis);border-radius:10px;padding:1rem;gap:.5rem;position:sticky;top:1rem;height:100%;overflow:hidden}.kiosk-cart-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ledger-soft);padding-bottom:.5rem;flex-shrink:0}.kiosk-cart-title{font-size:1.1rem;font-weight:700;color:var(--ink-primary);margin:0}.kiosk-cart-clear{font-size:.85rem;padding:.6rem .9rem;min-height:44px;display:flex;align-items:center;cursor:pointer}.kiosk-cart-items{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:80px}.kiosk-cart-empty{color:var(--ink-muted);font-size:.9rem;text-align:center;padding:1.5rem 0;margin:0}.kiosk-cart-line{display:flex;align-items:center;gap:.5rem;padding:.65rem 0;border-bottom:1px solid var(--ledger-soft)}.kiosk-cart-line:last-child{border-bottom:none}.kiosk-cart-line-name{flex:1;font-size:.85rem;color:var(--ink-primary);line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kiosk-cart-qty{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.kiosk-qty-btn{width:44px;height:44px;border:1px solid var(--ledger-emphasis);background:var(--cellar-surface);border-radius:6px;font-size:1.25rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-primary);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-shrink:0}.kiosk-qty-btn:active{background:var(--cellar-canvas);border-color:var(--barrel)}.kiosk-qty-val{font-size:1rem;font-weight:600;color:var(--ink-primary);min-width:24px;text-align:center}.kiosk-cart-line-total{font-size:.9rem;font-weight:600;color:var(--barrel);min-width:56px;text-align:right;flex-shrink:0}.kiosk-cart-totals{border-top:1px solid var(--ledger-emphasis);padding-top:.5rem;flex-shrink:0}.kiosk-total-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--ink-secondary);padding:.2rem 0}.kiosk-total-grand{font-size:1.1rem;font-weight:700;color:var(--ink-primary);padding-top:.4rem;margin-top:.25rem;border-top:1px solid var(--ledger-emphasis)}.kiosk-cart-actions{padding-top:.5rem;flex-shrink:0}.kiosk-checkout-btn{width:100%;padding:1rem;font-size:1.05rem;font-weight:700;border-radius:8px;cursor:pointer;text-align:center;letter-spacing:.01em;min-height:52px;-webkit-tap-highlight-color:transparent}.kiosk-checkout-btn:disabled{opacity:.45;cursor:not-allowed}.kiosk-payment-screen,.kiosk-receipt-screen{display:flex;align-items:center;justify-content:center;min-height:500px;padding:2rem 1rem}.kiosk-payment-card,.kiosk-receipt-card{background:var(--cellar-raised);border:1px solid var(--ledger-emphasis);border-radius:14px;padding:2.5rem 2rem;max-width:460px;width:100%;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.08)}.kiosk-terminal-icon{font-size:3.5rem;margin-bottom:.75rem}.kiosk-payment-amount{font-size:2.5rem;font-weight:700;color:var(--barrel);margin:0 0 .5rem}.kiosk-terminal-msg{font-size:1rem;color:var(--ink-secondary);margin:0 0 1.5rem}.kiosk-spinner{width:36px;height:36px;border:3px solid var(--ledger-emphasis);border-top-color:var(--barrel);border-radius:50%;animation:kiosk-spin .9s linear infinite;margin:0 auto 1.5rem}@keyframes kiosk-spin{to{transform:rotate(360deg)}}.kiosk-payment-items{text-align:left;border-top:1px solid var(--ledger-soft);margin:1rem 0;padding-top:.75rem;font-size:.85rem;color:var(--ink-secondary);max-height:160px;overflow-y:auto;-webkit-overflow-scrolling:touch}.kiosk-payment-item-row{display:flex;justify-content:space-between;padding:.25rem 0}.kiosk-payment-footer{margin-top:1rem}.kiosk-cancel-payment{width:100%;padding:.85rem;font-size:1rem;cursor:pointer;border-radius:6px;min-height:44px}.kiosk-receipt-icon{font-size:3rem;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-weight:700}.kiosk-receipt-icon--success{background:var(--batch-success-bg);color:var(--batch-success)}.kiosk-receipt-icon--error{background:var(--batch-danger-bg);color:var(--batch-danger)}.kiosk-receipt-title{font-size:1.6rem;font-weight:700;color:var(--ink-primary);margin:0 0 1rem}.kiosk-receipt-body{text-align:left;font-size:.92rem;color:var(--ink-secondary);margin:.5rem 0 1.5rem}.kiosk-receipt-row{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--ledger-soft)}.kiosk-receipt-row:last-child{border-bottom:none}.kiosk-receipt-row strong{color:var(--ink-primary)}.kiosk-receipt-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.kiosk-new-sale-btn{padding:.9rem 2rem;font-size:1rem;font-weight:700;border-radius:8px;cursor:pointer;min-height:52px}.kiosk-retry-btn{padding:.9rem 1.5rem;font-size:1rem;font-weight:700;border-radius:8px;cursor:pointer;min-height:52px}.kiosk-back-btn{padding:.9rem 1.5rem;font-size:1rem;border-radius:8px;cursor:pointer;min-height:52px}.kiosk-error-msg{color:var(--batch-danger);font-size:.95rem;margin:0 0 1.5rem}.kiosk-view--customer-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 160px);padding-bottom:env(safe-area-inset-bottom,1rem)}.kiosk-customer-wrap{padding:1rem;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:.85rem;padding-bottom:2rem}.kiosk-customer-header{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.kiosk-customer-header h2{margin:0;font-size:1.2rem}.kiosk-selected-customer{background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;padding:.65rem .85rem;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;min-height:44px}.kiosk-customer-results{display:flex;flex-direction:column;gap:3px;max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch}.kiosk-customer-result-row{padding:.75rem .85rem;border:1px solid var(--ledger-line);border-radius:6px;cursor:pointer;font-size:.95rem;min-height:52px;display:flex;flex-direction:column;justify-content:center;-webkit-tap-highlight-color:transparent}.kiosk-customer-result-row:active{background:var(--cellar-canvas);border-color:var(--barrel)}.kiosk-customer-result-row:hover{background:var(--cellar-canvas)}.kiosk-customer-wrap .admin-input{font-size:1rem;min-height:48px;padding:.7rem .75rem}.kiosk-customer-footer{display:flex;gap:.65rem;padding-top:.65rem;border-top:1px solid var(--ledger-line);flex-wrap:wrap}.kiosk-customer-footer .btn,.kiosk-customer-footer .btn-secondary{flex:1;min-height:52px;font-size:1rem;text-align:center;display:flex;align-items:center;justify-content:center}#kiosk-new-customer-toggle{min-height:44px;font-size:.95rem;display:flex;align-items:center}#kiosk-new-customer-save{min-height:48px;width:100%;font-size:1rem;margin-top:.25rem}#kiosk-customer-back{min-height:44px;min-width:72px;font-size:.95rem;display:flex;align-items:center;justify-content:center}.kiosk-receipt-batches{margin-top:.75rem;border-top:1px solid #eee;padding-top:.75rem}.kiosk-receipt-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:.4rem}.kiosk-receipt-batch-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.9rem}.kiosk-terminal-bar{position:fixed;bottom:0;left:0;right:0;background:var(--cellar-surface);border-top:1px solid var(--ledger-soft);padding:.4rem 1.5rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom,0px));font-size:.8rem;color:var(--ink-tertiary);display:none;align-items:center;gap:.5rem;z-index:50}.kiosk-terminal-bar.visible{display:flex}.kiosk-terminal-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-muted);flex-shrink:0}.kiosk-terminal-dot--ready{background:var(--batch-success)}.kiosk-terminal-dot--error{background:var(--batch-danger)}.kiosk-terminal-dot--warn{background:var(--batch-warning)}.kiosk-orders-table{width:100%;border-collapse:collapse;font-size:.88rem}.kiosk-orders-table td,.kiosk-orders-table th{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--ledger-soft)}.kiosk-orders-table thead th{font-weight:700;color:var(--ink-secondary);background:var(--cellar-canvas)}.kiosk-status{font-size:.8rem;padding:1px 8px;border-radius:10px;background:var(--cellar-canvas)}.kiosk-status--walkin{background:var(--batch-info-bg);color:var(--batch-info)}.kiosk-status--pending{background:var(--batch-warning-bg);color:var(--batch-warning)}.kiosk-payment-badge{font-size:.75rem;padding:1px 7px;border-radius:10px}.kiosk-payment--paid{background:var(--batch-success-bg);color:var(--batch-success)}.kiosk-payment--deposit{background:var(--batch-warning-bg);color:var(--batch-warning)}.kiosk-payment--pending{background:var(--cellar-canvas);color:var(--ink-tertiary)}@media (max-width:900px){.kiosk-browse-layout{grid-template-columns:1fr;height:auto;min-height:unset}.kiosk-product-pane{overflow:visible}.kiosk-product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));overflow-y:visible;flex:unset;min-height:unset}.kiosk-cart-pane{position:static;height:auto;max-height:none}}@media (max-width:600px){.kiosk-product-grid{grid-template-columns:repeat(2,1fr)}.kiosk-payment-card,.kiosk-receipt-card{padding:1.5rem 1rem}.kiosk-payment-amount{font-size:2rem}.kiosk-customer-footer{flex-direction:column}.kiosk-customer-footer .btn,.kiosk-customer-footer .btn-secondary{flex:unset;width:100%}}