:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--primary:#e85caa;--primary-light:#ffe8f4;--secondary:#1d44c2;--secondary-light:#bee8f6;--dark-blue:#11266a;--bg:#f4fdff;--text:#11266a;--white:#fff;--gray:#ddd;--green:#28a745;--red:#dc3545;--orange:#e67e22}body{background-color:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body:before{content:"";opacity:.06;pointer-events:none;z-index:0;background-image:url(/logo.webp);background-position:50%;background-repeat:no-repeat;background-size:min(70vw,800px);position:fixed;inset:0}.app-layout{min-height:100vh;display:flex}.app-layout.pos-mode{display:block}.sidebar{background:var(--dark-blue);width:220px;min-width:220px;color:var(--white);z-index:200;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{text-align:center;border-bottom:1px solid #ffffff1a;padding:1.25rem 1rem}.sidebar-logo{border-radius:12px;width:120px;height:auto}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:.75rem 0;display:flex}.sidebar-nav a{color:#ffffffb3;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav a:hover{color:#fff;background:#ffffff14}.sidebar-nav a.active{color:#fff;border-left-color:var(--primary);background:#ffffff1f;font-weight:700}.nav-icon{text-align:center;width:20px;font-size:1rem}.sidebar-divider{background:#ffffff1a;height:1px;margin:.5rem 1.25rem}.sidebar-footer{color:#fff9;border-top:1px solid #ffffff1a;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;font-size:.8rem;display:flex}.sidebar-footer-status{align-items:center;gap:.5rem;display:flex}.sidebar-footer-user{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.user-name{color:#fffc;font-weight:600}.logout-btn{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:10px 18px;font-size:1rem;font-weight:600;transition:all .15s}.logout-btn:hover{background:var(--red);color:#fff}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.online{background:var(--green)}.status-dot.offline{background:var(--red);animation:2s infinite blink}.offline-badge{background:var(--red);color:#fff;border-radius:10px;margin-top:4px;padding:3px 10px;font-size:.65rem;font-weight:700;animation:2s infinite blink;display:inline-block}@keyframes blink{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.sidebar-toggle{z-index:300;background:var(--dark-blue);color:#fff;cursor:pointer;border:none;border-radius:10px;width:40px;height:40px;font-size:1.25rem;display:none;position:fixed;top:.75rem;left:.75rem;box-shadow:0 2px 8px #0003}.sidebar-overlay{display:none}.app-main{z-index:1;box-sizing:border-box;flex:1;max-width:900px;margin-left:220px;padding:1.5rem 2rem;position:relative}.app-main.full-width{max-width:100%;margin-left:0;padding:1rem}.page{flex-direction:column;gap:1.5rem;display:flex}h2{color:var(--secondary);margin:0}input,select{border:1px solid var(--gray);border-radius:8px;padding:12px;font-size:1rem}.btn-primary{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:1rem;font-weight:700;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:var(--secondary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:700;transition:opacity .2s}.btn-secondary:hover{opacity:.9}.btn-danger{background-color:var(--red);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 12px;font-size:.85rem;font-weight:700}.create-event-form{flex-direction:column;gap:.75rem;display:flex}.form-row{align-items:center;gap:.75rem;display:flex}.form-row label{min-width:100px;font-weight:600}.event-card{cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;transition:box-shadow .2s;display:flex;box-shadow:0 2px 4px #0000000d}.event-card:hover{box-shadow:0 4px 12px #0000001a}.event-info{flex-direction:column;display:flex}.status-badge{text-transform:uppercase;border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:700}.status-badge.pre_event{background:#eee}.status-badge.active{background:var(--secondary-light);color:var(--dark-blue)}.status-badge.completed{color:#155724;background:#d4edda}.inventory-grid{flex-direction:column;gap:.5rem;display:flex}.inventory-item{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.inventory-item input{text-align:center;width:80px}.float-section{background:var(--secondary-light);border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex}.float-section label{color:var(--dark-blue);white-space:nowrap;font-weight:700}.float-section input{flex:1;max-width:200px}.pos-page{flex-direction:column;height:calc(100vh - 2rem);display:flex}.pos-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.pos-main{flex:1;grid-template-columns:2fr 1fr;gap:1rem;display:grid;overflow:hidden}.product-grid-container{padding-right:.5rem;overflow-y:auto}.category-section{margin-bottom:1.5rem}.category-label{text-transform:uppercase;letter-spacing:.05em;color:var(--secondary);margin-bottom:.5rem;padding-left:4px;font-size:.8rem;font-weight:700}.product-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;display:grid}.pos-item-btn{border:2px solid var(--gray);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.75rem .5rem;transition:transform .1s,border-color .2s;display:flex;position:relative;box-shadow:0 2px 4px #0000000d}.pos-item-btn:active{border-color:var(--primary);transform:scale(.95)}.pos-item-btn.out-of-stock{opacity:.4;cursor:not-allowed;background:#f5f5f5}.item-name{text-align:center;color:var(--dark-blue);font-size:.9rem;font-weight:700;line-height:1.2}.empty-flavour-state{text-align:center;color:#666;padding:2rem 1rem}.empty-flavour-state p{margin:.5rem 0}.empty-flavour-state button{margin-top:1rem}.item-price{color:var(--primary);font-size:.85rem;font-weight:600}.item-stock{color:#888;font-size:.7rem;font-weight:600}.item-stock.low{color:var(--orange)}.item-stock.out{color:var(--red)}.cart-panel{background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -2px 10px #0000000d}.cart-panel h3{background:var(--dark-blue);color:#fff;margin:0;padding:.75rem 1rem;font-size:.95rem}.cart-items{flex:1;padding:.75rem;overflow-y:auto}.empty-cart{color:#aaa;text-align:center;font-style:italic}.cart-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.cart-item-info strong{font-size:.85rem}.cart-controls{align-items:center;gap:.5rem;display:flex}.cart-controls button{border:1px solid var(--primary);width:30px;height:30px;color:var(--primary);cursor:pointer;background:#fff;border-radius:15px;font-size:1rem;font-weight:700}.cart-footer{border-top:2px solid var(--primary-light);padding:.75rem}.total-row{color:var(--dark-blue);justify-content:space-between;margin-bottom:.75rem;font-size:1.25rem;display:flex}.checkout-btns{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.btn-cash{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:1rem;font-size:1rem;font-weight:700}.btn-card{background:var(--secondary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:1rem;font-size:1rem;font-weight:700}.btn-cash:disabled,.btn-card:disabled{opacity:.4;cursor:not-allowed}.builder-panel{padding-right:.5rem;overflow-y:auto}.format-selection h3,.vessel-selection h3,.toppings-selection h3{color:var(--dark-blue);margin:0 0 1rem}.format-grid{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.format-card{border:2px solid var(--gray);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .75rem;transition:all .15s;display:flex}.format-card:active{transform:scale(.96)}.format-card.scoop{border-color:var(--secondary-light)}.format-card.scoop:hover{border-color:var(--secondary);background:var(--secondary-light)}.format-card.unit{border-color:var(--primary-light)}.format-card.unit:hover{border-color:var(--primary);background:var(--primary-light)}.format-card.water{border-color:#d4edda}.format-card.water:hover{border-color:var(--green);background:#d4edda}.format-card-label{color:var(--dark-blue);font-size:1rem;font-weight:700}.format-card-price{color:#888;font-size:.75rem}.vessel-grid{grid-template-columns:1fr 1fr;gap:1rem;max-width:400px;display:grid}.vessel-card{border:2px solid var(--gray);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;transition:all .15s;display:flex}.vessel-card:hover{border-color:var(--secondary);background:var(--secondary-light)}.vessel-card:active{transform:scale(.96)}.vessel-label{color:var(--dark-blue);font-size:1.25rem;font-weight:700}.vessel-price{color:var(--primary);font-size:.9rem;font-weight:600}.btn-back{border:2px solid var(--secondary);color:var(--secondary);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.4rem;margin-top:1rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .15s;display:inline-flex}.btn-back:before{content:"◀";font-size:.75rem}.btn-back:hover,.btn-back:active{background:var(--secondary);color:#fff}.btn-menu{border:2px solid var(--dark-blue);color:var(--dark-blue);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.9rem;font-weight:700;transition:all .15s;display:inline-flex}.btn-menu:hover,.btn-menu:active{background:var(--dark-blue);color:#fff}.btn-fab-stock{background:var(--secondary);color:#fff;cursor:pointer;z-index:100;border:none;border-radius:30px;align-items:center;gap:.5rem;padding:.85rem 1.4rem;font-size:.9rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:1.5rem;left:1.5rem;box-shadow:0 4px 14px #0003}.btn-fab-stock:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000040}.btn-fab-stock:active{transform:translateY(0)}.builder-header{color:var(--dark-blue);flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-weight:600;display:flex}.builder-header small{color:var(--primary);font-weight:700}.flavour-grid-wrap{flex-direction:column;height:100%;display:flex}.flavour-grid-wrap .product-grid-container{flex:1;overflow-y:auto}.builder-summary{background:var(--secondary-light);color:var(--dark-blue);border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600}.toppings-counter{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.toppings-count{color:var(--dark-blue);text-align:center;min-width:40px;font-size:2rem;font-weight:800}.toppings-cost{color:var(--primary);font-weight:700}.topping-actions{gap:.75rem;display:flex}.cart-remove{border:1px solid var(--red);width:28px;height:28px;color:var(--red);cursor:pointer;background:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.cart-remove:hover{background:var(--red);color:#fff}.pricing-ref{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 4px #0000000d}.pricing-ref h3{color:var(--dark-blue);margin:0 0 .75rem;font-size:.9rem}.pricing-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.pricing-item{background:var(--bg);color:#666;border-radius:8px;flex-direction:column;align-items:center;padding:.5rem;font-size:.8rem;display:flex}.pricing-item strong{color:var(--dark-blue);font-size:1rem}.sell-price-hint{font-weight:600;color:var(--green)!important;font-size:.7rem!important}.intake-fields-ic{grid-template-columns:1fr 1fr;align-items:end;gap:.75rem;display:grid}.intake-fields-ic .field-full{grid-column:1/-1}.intake-fields-ic .field{flex-direction:column;gap:.25rem;display:flex}.intake-fields-ic label{color:#666;font-size:.8rem;font-weight:600}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:380px;padding:2rem;box-shadow:0 8px 32px #0003}.modal-content h3{color:var(--green);margin:0 0 .5rem;font-size:1.5rem}.receipt-number{color:var(--dark-blue);margin:.5rem 0;font-size:2rem;font-weight:800}.receipt-details{color:#666;margin-bottom:1rem;font-size:.9rem}.receipt-details .amount{color:var(--dark-blue);font-size:1.25rem;font-weight:700}.receipt-details .method{border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-block}.receipt-details .method.cash{color:#155724;background:#d4edda}.receipt-details .method.card{background:var(--secondary-light);color:var(--dark-blue)}.email-receipt-row{gap:.5rem;margin:1rem 0;display:flex}.email-receipt-row input{flex:1;padding:8px;font-size:.9rem}.email-receipt-row button{background:var(--secondary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.summary-cards{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.summary-card{text-align:center;color:#fff;border-radius:12px;padding:1rem}.summary-card.cash{background:var(--green)}.summary-card.card{background:var(--secondary)}.summary-card.total{background:var(--primary)}.summary-card h3{opacity:.9;margin:0;font-size:.85rem}.summary-card p{margin:.5rem 0 0;font-size:1.25rem;font-weight:700}.cash-drawer-section{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.cash-drawer-section h3{color:var(--dark-blue);margin:0 0 1rem}.drawer-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.drawer-item{text-align:center}.drawer-item label{color:#666;margin-bottom:.25rem;font-size:.8rem;display:block}.drawer-item .value{color:var(--dark-blue);font-size:1.25rem;font-weight:700}.drawer-item .value.positive{color:var(--green)}.drawer-item .value.negative{color:var(--red)}.drawer-item input{text-align:center;width:100%;max-width:150px;font-size:1.1rem;font-weight:700}.reconciliation-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;overflow:hidden}.reconciliation-table th,.reconciliation-table td{text-align:left;border-bottom:1px solid #eee;padding:12px}.reconciliation-table th{background:var(--dark-blue);color:#fff}.action-bar-footer{justify-content:flex-end;gap:1rem;display:flex}.product-management{flex-direction:column;gap:1.5rem;display:flex}.product-form{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.product-form h3{color:var(--dark-blue);margin:0 0 1rem}.product-form-fields{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.75rem;display:grid}.product-form-fields .field{flex-direction:column;gap:.25rem;display:flex}.product-form-fields label{color:#666;font-size:.8rem;font-weight:600}.product-list-section h3{color:var(--dark-blue);margin:0 0 .75rem}.product-category-group{margin-bottom:1.5rem}.product-category-group h4{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;padding-left:4px;font-size:.8rem}.product-row{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;display:flex;box-shadow:0 1px 3px #0000000a}.product-row.inactive{opacity:.5}.product-row-info{align-items:center;gap:1rem;display:flex}.product-row-actions{gap:.5rem;display:flex}.btn-sm{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600}.btn-sm.toggle-active{color:#666;background:#e9ecef}.btn-sm.toggle-active.is-active{color:#155724;background:#d4edda}.btn-sm.edit{background:var(--secondary-light);color:var(--dark-blue)}.action-bar{justify-content:space-between;gap:1rem;display:flex}.warehouse-sync-bar{background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0 1rem;padding:.6rem .9rem;display:flex;box-shadow:0 2px 4px #0000000d}.warehouse-sync-bar .sync-status{color:#555;align-items:center;gap:.6rem;font-size:.85rem;display:flex}.warehouse-sync-bar .sync-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:12px;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.warehouse-sync-bar .sync-badge.online{color:#027a48;background:#d1fadf}.warehouse-sync-bar .sync-badge.offline{color:#b42318;background:#fee4e2}.warehouse-sync-bar .sync-meta{color:#667085}.warehouse-sync-bar .sync-actions{gap:.5rem;display:flex}.warehouse-tabs{background:#fff;border-radius:10px;gap:0;display:flex;overflow:hidden;box-shadow:0 2px 4px #0000000d}.tab-btn{color:#888;cursor:pointer;background:#fff;border:none;border-bottom:3px solid #0000;flex:1;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .15s}.tab-btn:hover{color:var(--dark-blue);background:#f8f9fa}.tab-btn.active{color:var(--secondary);border-bottom-color:var(--secondary);background:var(--secondary-light)}.warehouse-intake-form{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.warehouse-intake-form h3{color:var(--dark-blue);margin:0 0 1rem}.intake-fields{grid-template-columns:2fr auto 1fr 2fr auto;align-items:end;gap:.75rem;display:grid}.intake-fields .field{flex-direction:column;gap:.25rem;display:flex}.intake-fields label{color:#666;font-size:.8rem;font-weight:600}.quick-add-panel{background:var(--secondary-light);border:2px dashed var(--secondary);border-radius:8px;margin-top:.75rem;padding:.75rem}.quick-add-fields{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quick-add-fields input,.quick-add-fields select{border:1px solid #ddd;border-radius:6px;padding:.5rem;font-size:.85rem}.quick-add-fields input[type=text]{flex:1;min-width:150px}.intake-preview{color:var(--secondary);margin-top:.5rem;font-size:.85rem;font-weight:600}.warehouse-stock{flex-direction:column;gap:.5rem;display:flex}.warehouse-stock h3{color:var(--dark-blue);margin:0}.stock-category{margin-bottom:.5rem}.stock-row{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;padding:.75rem 1rem;display:flex;box-shadow:0 1px 3px #0000000a}.stock-row.empty{opacity:.45}.stock-row.low{border-left:3px solid var(--accent);background:#fff5f5}.stock-row-track{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.track-toggle{cursor:pointer;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.track-toggle input[type=checkbox]{accent-color:var(--primary);width:15px;height:15px}.track-label{color:#888;font-size:.75rem}.threshold-input{color:#888;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.threshold-input input[type=number]{text-align:center;border:1px solid #ddd;border-radius:4px;width:3rem;padding:.15rem .3rem;font-size:.75rem}.stock-row-numbers{align-items:center;gap:1rem;display:flex}.bain-count{color:var(--dark-blue);font-size:.95rem;font-weight:700}.bain-count.zero{color:#aaa}.scoop-count{color:#888;font-size:.8rem}.warehouse-log{margin-top:.5rem}.warehouse-log h3{color:var(--dark-blue);margin:0 0 .75rem}.format-toggle{border:2px solid var(--secondary);border-radius:8px;display:flex;overflow:hidden}.format-btn{color:var(--secondary);cursor:pointer;background:#fff;border:none;flex:1;padding:10px 16px;font-size:.9rem;font-weight:600;transition:all .15s}.format-btn.active{background:var(--secondary);color:#fff}.format-badge{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.format-badge.bain{background:var(--secondary-light);color:var(--dark-blue)}.format-badge.unit{background:var(--primary-light);color:var(--primary)}.unit-count{color:var(--primary);font-size:.95rem;font-weight:700}.alloc-controls{flex-direction:column;gap:.4rem;display:flex}.alloc-label{text-transform:uppercase;color:#888;width:40px;font-size:.7rem;font-weight:700}.bain-allocation{flex-wrap:wrap;gap:.5rem}.warehouse-hint{font-weight:600;color:var(--secondary)!important;font-size:.75rem!important}.bain-input-group{align-items:center;gap:.4rem;display:flex}.bain-input-group input{text-align:center;width:55px;padding:8px}.bain-btn{border:2px solid var(--secondary);width:34px;height:34px;color:var(--secondary);cursor:pointer;background:#fff;border-radius:17px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;transition:all .15s;display:flex}.bain-btn:active{background:var(--secondary);color:#fff}.bain-btn:disabled{opacity:.3;cursor:not-allowed}.scoop-hint{color:#888;white-space:nowrap;min-width:75px;font-size:.75rem}.allocation-summary{background:var(--secondary-light);color:var(--dark-blue);text-align:center;border-radius:10px;padding:.75rem 1rem;font-size:.9rem}.allocation-summary .sep{opacity:.5;margin:0 .5rem}.empty-warehouse-msg{text-align:center;color:#888;padding:2rem;font-size:.95rem}.empty-warehouse-msg a{color:var(--secondary);font-weight:600}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{justify-content:center;align-items:center;display:flex}.sidebar-overlay{z-index:150;background:#0006;display:block;position:fixed;inset:0}.app-main{margin-left:0;padding:3.5rem 1rem 1rem}.pos-main{grid-template-columns:1fr}.cart-panel{z-index:100;max-height:45vh;position:fixed;bottom:0;left:0;right:0}.pos-page{padding-bottom:45vh}.summary-cards,.drawer-grid,.product-form-fields,.intake-fields,.intake-fields-ic{grid-template-columns:1fr}.bain-input-group{flex-wrap:wrap}.format-grid{grid-template-columns:1fr 1fr}.topping-actions{flex-direction:column}}.sync-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.sync-dot.online{background-color:var(--green);box-shadow:0 0 4px var(--green)}.sync-dot.offline{background-color:var(--orange);box-shadow:0 0 4px var(--orange)}.sync-pending-banner{background:var(--dark-blue);color:var(--white);text-align:center;z-index:100;padding:.5rem;font-size:.8rem;position:fixed;bottom:0;left:0;right:0}.oversold-warning{color:#856404;text-align:center;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-weight:600}.join-event-section{margin-bottom:1rem}.join-hint{color:#666;margin-bottom:.5rem;font-size:.85rem}.event-card.joinable{border-left:3px solid var(--green)}.login-page{background:linear-gradient(135deg, var(--dark-blue) 0%, #1a1a2e 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:340px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d}.login-logo{width:180px;height:auto;margin-bottom:.5rem}.login-brand p{color:#888;margin:0 0 2rem;font-size:.85rem}.login-card.success{animation:.4s cardPulse}@keyframes cardPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.login-welcome{padding:1rem 0;animation:.4s fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.welcome-check{color:#fff;background:#27ae60;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;font-size:1.8rem;animation:.3s popIn;display:flex}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.login-welcome h2{color:var(--dark-blue);margin:0 0 .25rem;font-size:1.3rem}.welcome-role{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.85rem;font-weight:600}.pin-display{justify-content:center;gap:12px;margin-bottom:1.5rem;display:flex}.pin-dot{background:#fff;border:2px solid #ddd;border-radius:50%;width:16px;height:16px;transition:all .15s}.pin-dot.filled{background:var(--secondary);border-color:var(--secondary)}.pin-dot.shake{border-color:var(--red);animation:.4s pinShake}@keyframes pinShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.pin-error{color:var(--red);margin:0 0 1rem;font-size:.85rem;font-weight:600}.pin-loading{color:var(--secondary);margin:0 0 1rem;font-size:.85rem}.pin-pad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:260px;margin:0 auto;display:grid}.pin-key{aspect-ratio:1.4;width:100%;color:var(--dark-blue);cursor:pointer;background:#f5f5f5;border:none;border-radius:12px;justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;transition:all .1s;display:flex}.pin-key:active{background:var(--secondary);color:#fff;transform:scale(.95)}.pin-key.invisible{visibility:hidden}.pin-key.backspace{color:#888;background:0 0;font-size:1.3rem}.pin-key.backspace:active{color:var(--dark-blue);background:#f0f0f0}.dashboard-page{flex-direction:column;gap:1.5rem;display:flex}.dashboard-filters{flex-wrap:wrap;gap:.5rem;display:flex}.filter-btn{border:2px solid var(--secondary);color:var(--secondary);cursor:pointer;background:#fff;border-radius:8px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;transition:all .15s}.filter-btn:hover{background:var(--secondary-light)}.filter-btn.active{background:var(--secondary);color:#fff}.dashboard-section{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.dashboard-section h3{color:var(--dark-blue);margin:0 0 1rem}.empty-state{color:#aaa;text-align:center;padding:1.5rem;font-size:.9rem}.flavour-chart{flex-direction:column;gap:.5rem;display:flex}.flavour-bar-row{align-items:center;gap:.5rem;display:flex}.flavour-rank{color:#aaa;text-align:right;width:24px;font-size:.75rem;font-weight:700}.flavour-name{white-space:nowrap;text-overflow:ellipsis;width:160px;font-size:.85rem;font-weight:600;overflow:hidden}.flavour-bar-track{background:#f0f0f0;border-radius:10px;flex:1;height:20px;overflow:hidden}.flavour-bar-fill{background:linear-gradient(90deg, var(--secondary), var(--primary));border-radius:10px;min-width:4px;height:100%;transition:width .3s}.flavour-count{color:var(--dark-blue);text-align:right;width:36px;font-size:.8rem;font-weight:700}.low-stock-alert{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:.75rem;padding:.6rem 1rem;font-size:.85rem}.low-stock-alert.supply{color:#721c24;background:#f8d7da;border-color:#f5c6cb}.stock-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;display:grid}.stock-card{background:#f8f9fa;border-radius:8px;padding:.75rem}.stock-card strong{margin-bottom:.25rem;font-size:.85rem;display:block}.stock-card-nums{color:#666;flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.staff-form-fields{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:.75rem;display:grid}.role-badge{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.role-badge.admin{background:var(--secondary-light);color:var(--secondary)}.role-badge.staff{color:#1565c0;background:#e3f2fd}.pin-reset-inline{align-items:center;gap:.25rem;display:flex}.pin-reset-inline input{text-align:center;border:1px solid #ddd;border-radius:6px;width:70px;padding:4px 8px;font-size:.85rem}@media (width<=768px){.staff-form-fields{grid-template-columns:1fr}.flavour-name{width:100px}.pin-pad{max-width:240px}}
