:root{color-scheme:light;--bg: #faf5f0;--surface: #fff8f0;--surface-strong: #ffffff;--border: #e8e1d7;--text: #2f362f;--muted: #6f695e;--primary: #355e3b;--primary-soft: #a8c3a0;--accent: #c8505a;--accent-soft: #f4a261;--shadow: 0 18px 50px rgba(53, 94, 59, .08);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#fff8f0,#f7f0e8);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell,.customer-shell,.admin-shell{max-width:1320px;margin:0 auto;padding:20px 24px 40px}.brand-header{display:grid;gap:24px;padding:24px 0 28px}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:700;font-size:.85rem}.eyebrow.accent{color:var(--accent)}.brand-header h1{margin:0;font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.05}.site-nav{display:flex;flex-wrap:wrap;gap:12px}.nav-link{color:var(--primary);text-decoration:none;padding:12px 18px;border-radius:999px;border:1px solid transparent;transition:all .2s ease}.nav-link.active,.nav-link:hover{background:var(--primary);color:#fff}.page-content{display:grid;gap:28px}.hero-card,.product-card,.dashboard-card,.scanner-card,.inventory-card,.recommendation-card,.qr-panel,.spoilage-panel,.checkout-panel{background:var(--surface-strong);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:24px}.hero-copy,.section-subtitle,.form-note,.scan-result p,.empty-state{color:var(--muted)}.filters-row,.form-row,.product-footer,.quantity-panel,.cart-row,.admin-status-grid,.recommendation-grid,.checkout-panel,.spoilage-panel{display:grid;gap:16px}.filters-row{grid-template-columns:1fr 1.4fr;margin-bottom:18px}.form-control,.form-select,textarea{width:100%;border:1px solid var(--border);border-radius:16px;padding:14px 16px;background:#fff;color:var(--text)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.product-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.product-card{display:grid;gap:16px}.product-image{width:100%;min-height:180px;object-fit:cover;border-radius:20px}.product-meta{display:grid;gap:10px}.product-category{text-transform:uppercase;font-size:.8rem;color:var(--accent);font-weight:700}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.product-price{font-size:1.1rem;font-weight:700}.button{border:none;border-radius:16px;padding:14px 18px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--primary);color:#fff}.button-secondary{background:var(--accent);color:#fff}.page-section{display:grid;gap:20px}.section-header h2{margin:0 0 8px}.section-subtitle{margin:0}.customer-top,.admin-top{display:grid;gap:24px}.customer-status-card,.admin-status-grid{display:grid;gap:16px}.customer-status-card{padding:20px}.customer-status-card span,.customer-status-card strong{display:block}.dashboard-card{min-height:160px}.dashboard-card-header{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.form-group{display:grid;gap:10px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-group.small{max-width:220px}.shopping-cart,.scanner-card,.spoilage-panel,.qr-panel,.inventory-card,.recommendation-card{display:grid}.cart-lines{display:grid;gap:12px}.cart-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border-radius:18px;border:1px solid var(--border);background:#fff}.quantity-controls{display:flex;align-items:center;gap:10px}.quantity-controls button{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#fff}.cart-total{display:flex;justify-content:space-between;font-size:1rem;font-weight:700;padding-top:12px}.empty-state{color:var(--muted)}.admin-status-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.inventory-card{gap:16px}.quantity-panel{align-items:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quantity-panel button{width:100%;padding:14px 0}.scanner-card{grid-template-columns:1.2fr .8fr;gap:22px}.scan-result{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fff}.qr-visual{padding:18px;background:#fff;border-radius:20px;display:inline-flex}.recommendation-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.recommendation-card{gap:12px}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}.storefront-header{background:linear-gradient(135deg,var(--primary) 0%,#2a4d2f 100%);color:#fff;padding:48px 24px 40px}.storefront-header-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}.storefront-eyebrow{color:#ffffffb3}.storefront-brand-name{margin:0 0 12px;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.05;color:#fff;font-weight:800}.storefront-tagline{margin:0;font-size:1.05rem;line-height:1.6;color:#ffffffd9;max-width:600px}.storefront-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.product-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.badge-frozen{background:#4f6d9c40;color:#b8d0f0;border:1px solid rgba(79,109,156,.5)}.badge-dehydrated{background:#f4a26140;color:#f4c89a;border:1px solid rgba(244,162,97,.4)}.badge-seasonal{background:#c8505a40;color:#f4a0a8;border:1px solid rgba(200,80,90,.4)}.storefront-main{flex:1}.site-footer{background:var(--text);color:#ffffffb3;padding:32px 24px;margin-top:48px}.site-footer-inner{max-width:1320px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.footer-brand{color:#ffffff80;margin-bottom:4px}.footer-tagline{margin:0;font-size:.95rem;color:#ffffffd9}.footer-copy{margin:0;font-size:.85rem}.admin-brand-header h1{font-size:clamp(1.6rem,3vw,2.4rem)}.admin-domain-label{margin:4px 0 0;font-size:.8rem;color:var(--muted);font-family:SF Mono,Fira Code,monospace}.site-header{position:sticky;top:0;z-index:100;background:var(--surface-strong);border-bottom:1px solid var(--border);box-shadow:0 2px 12px #355e3b12}.site-header-inner{max-width:1320px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-logo{display:flex;flex-direction:column;text-decoration:none;line-height:1.2}.site-logo-eyebrow{font-size:.95rem;font-weight:800;color:var(--primary);letter-spacing:.01em}.site-logo-tag{font-size:.72rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.site-header-nav{display:flex;align-items:center;gap:6px}.header-nav-link{padding:8px 16px;border-radius:999px;color:var(--primary);text-decoration:none;font-weight:600;font-size:.9rem;transition:background .15s ease;display:flex;align-items:center;gap:6px}.header-nav-link:hover,.header-nav-link.active{background:var(--primary);color:#fff}.cart-nav-btn{position:relative;display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:999px;background:var(--primary);color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;transition:transform .15s ease,box-shadow .15s ease}.cart-nav-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #355e3b40}.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px}.avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover}.avatar-initials{width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.shop-page{padding-bottom:60px}.shop-hero{background:linear-gradient(135deg,var(--primary) 0%,#2a4d2f 100%);color:#fff;padding:52px 24px 44px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}.shop-hero-content{max-width:640px}.category-tabs{display:flex;gap:8px;padding:20px 24px 0;flex-wrap:wrap;max-width:1320px;margin:0 auto}.category-tab-btn{padding:9px 20px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .15s ease}.category-tab-btn:hover{border-color:var(--primary);color:var(--primary)}.category-tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.shop-search-row{display:flex;align-items:center;gap:16px;padding:16px 24px 4px;max-width:1320px;margin:0 auto}.shop-search{flex:1;max-width:380px}.shop-count{color:var(--muted);font-size:.88rem;white-space:nowrap}.shop-grid{padding:16px 24px 0;max-width:1320px;margin:0 auto}.product-image-wrap{position:relative;border-radius:20px;overflow:hidden}.product-name{margin:0 0 4px;font-size:1rem}.product-desc{margin:0;font-size:.88rem;color:var(--muted);line-height:1.5}.product-size{margin:4px 0 0;font-size:.8rem;color:var(--muted)}.product-flag{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.flag-frozen{background:#4f6d9cd9;color:#fff}.flag-dried{background:#f4a261d9;color:#fff}.discount-banner{display:flex;align-items:center;gap:12px;padding:13px 24px;background:linear-gradient(90deg,#355e3b,#2a4d2f);color:#fff;font-size:.9rem;flex-wrap:wrap}.discount-banner-tag{background:#fff3;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.discount-banner-code{background:#ffffff26;padding:4px 12px;border-radius:8px;font-family:monospace;font-size:.95rem;letter-spacing:.1em;font-weight:700}.page-shell{max-width:1200px;margin:0 auto;padding:32px 24px 60px}.page-title{margin:0 0 24px;font-size:1.8rem}.breadcrumb,.page-breadcrumb{margin-bottom:16px;font-size:.88rem;color:var(--muted)}.breadcrumb a,.page-breadcrumb a{color:var(--primary);text-decoration:none}.breadcrumb-active{font-weight:600;color:var(--text)}.muted{color:var(--muted)}.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}.cart-lines{display:grid;gap:12px;margin-bottom:28px}.cart-line{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border:1px solid var(--border);border-radius:20px}.cart-line-img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex-shrink:0}.cart-line-info{flex:1;display:flex;flex-direction:column;gap:4px}.cart-line-total{font-weight:700;white-space:nowrap}.remove-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:8px;line-height:1}.remove-btn:hover{background:#fee2e2;color:#b91c1c}.discount-section{margin-bottom:28px}.discount-section h3{margin:0 0 12px;font-size:1rem}.discount-input-row{display:flex;gap:10px}.discount-input-row .form-control{flex:1;font-family:monospace;text-transform:uppercase}.discount-applied{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0fdf4;border:1px solid #86efac;border-radius:16px;flex-wrap:wrap}.discount-applied-badge{background:#16a34a;color:#fff;padding:3px 12px;border-radius:999px;font-size:.82rem;font-weight:700;font-family:monospace}.discount-applied-desc{flex:1;font-size:.9rem}.error-note{color:#b91c1c!important}.cart-recommendations{margin-top:8px}.cart-recommendations h3{margin:0 0 14px;font-size:1rem}.rec-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.rec-card{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid var(--border);border-radius:18px}.rec-img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0}.rec-info{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.85rem}.rec-btn{padding:8px 14px!important;font-size:.82rem;white-space:nowrap}.cart-sidebar{position:sticky;top:80px}.order-summary{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:10px}.order-summary h3{margin:0 0 4px}.summary-line{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;align-items:baseline}.summary-divider{border:none;border-top:1px solid var(--border);margin:4px 0}.discount-line{color:#16a34a}.summary-total{font-size:1.05rem;padding-top:4px}.checkout-cta{width:100%;text-align:center;margin-top:8px;padding:16px;font-size:1rem}.continue-shopping{display:block;text-align:center;margin-top:12px;color:var(--muted);font-size:.88rem;text-decoration:none}.continue-shopping:hover{color:var(--primary)}.empty-cart{text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.empty-cart h2{margin:0}.empty-cart .button{min-width:160px}.checkout-layout{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}.checkout-form{display:flex;flex-direction:column;gap:24px}.checkout-section{background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px}.checkout-section h3{margin:0;font-size:1.1rem}.checkout-summary{top:80px}.pickup-callout{margin-top:16px;padding:16px;background:#f0fdf4;border-radius:16px;font-size:.88rem;line-height:1.5}.pickup-callout p{margin:0 0 4px}.confirmation-card{max-width:520px;margin:40px auto;background:#fff;border:1px solid var(--border);border-radius:28px;padding:48px 40px;text-align:center;box-shadow:var(--shadow)}.confirmation-icon{font-size:3rem;margin-bottom:8px}.confirmation-card h2{margin:0 0 8px}.confirmation-sub{color:var(--muted);margin:0 0 24px}.confirmation-details{background:var(--bg);border-radius:18px;padding:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.conf-row{display:flex;justify-content:space-between;font-size:.9rem}.confirmation-note{color:var(--muted);font-size:.85rem;line-height:1.6;margin:0 0 24px}.confirmation-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.account-card{max-width:480px;margin:40px auto;background:#fff;border:1px solid var(--border);border-radius:28px;padding:40px;box-shadow:var(--shadow)}.account-hero{text-align:center;margin-bottom:28px}.account-hero h2{margin:0 0 6px}.account-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.account-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover}.account-avatar-initials{width:60px;height:60px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.account-links{margin-bottom:24px}.account-link-row{display:flex;justify-content:space-between;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;text-decoration:none;color:var(--text);font-weight:600;transition:background .15s ease}.account-link-row:hover{background:var(--bg)}.logout-btn{width:100%}.sso-buttons{display:flex;flex-direction:column;gap:12px}.sso-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:16px;border:1px solid var(--border);background:#fff;color:var(--text);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .15s ease}.sso-btn:hover{border-color:var(--primary);color:var(--primary)}.sso-google{border-color:#dadce0}.sso-apple{background:#000;color:#fff;border-color:#000}.sso-apple:hover{background:#222;border-color:#222;color:#fff}.sso-apple svg{fill:#fff}.sso-guest{color:var(--muted)}.sso-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.88rem}.sso-divider:before,.sso-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.guest-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.guest-form h3{margin:0}.orders-list{display:flex;flex-direction:column;gap:16px}.order-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:16px}.order-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.order-date{margin-left:10px;font-size:.88rem}.order-status-group{display:flex;gap:8px}.status-badge{padding:4px 12px;border-radius:999px;font-size:.78rem;font-weight:700;text-transform:capitalize}.status-paid,.status-completed,.status-picked-up{background:#dcfce7;color:#16a34a}.status-pending,.status-returned{background:#fef9c3;color:#ca8a04}.status-cancelled,.status-refunded{background:#fee2e2;color:#b91c1c}.order-items-preview{display:flex;flex-direction:column;gap:8px}.order-item-row{display:flex;align-items:center;gap:12px;font-size:.9rem;padding:8px 0;border-bottom:1px solid var(--border)}.order-item-row:last-child{border-bottom:none}.order-item-img{width:40px;height:40px;border-radius:10px;object-fit:cover}.order-item-row span:first-of-type{flex:1}.order-card-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.9rem}.order-totals{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.discount-form{display:flex;flex-direction:column;gap:20px}.discount-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.discounts-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border)}.discounts-table{width:100%;border-collapse:collapse;font-size:.9rem}.discounts-table th{padding:12px 16px;text-align:left;background:var(--bg);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.discounts-table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.discounts-table tr:last-child td{border-bottom:none}.row-inactive{opacity:.5}.discount-code-cell{background:var(--bg);padding:3px 10px;border-radius:8px;letter-spacing:.06em;font-size:.88rem}.table-actions{display:flex;gap:8px}.status-toggle{padding:4px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:.8rem;font-weight:700;cursor:pointer}.status-toggle.active{background:#dcfce7;color:#16a34a;border-color:#86efac}.toast-container{position:fixed;bottom:24px;right:24px;z-index:500;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:all;padding:13px 18px;border-radius:16px;font-weight:600;font-size:.88rem;box-shadow:0 8px 24px #2f362f26;min-width:240px;max-width:380px;display:flex;justify-content:space-between;align-items:center;gap:12px;animation:toast-in .25s ease}.toast--success{background:#dcfce7;color:#15803d;border:1px solid #86efac}.toast--warning{background:#fef9c3;color:#a16207;border:1px solid #fde047}.toast--error{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.toast-close{background:transparent;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px;color:inherit;opacity:.65;flex-shrink:0}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.slide-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2f362f59;z-index:200;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.slide-panel{position:fixed;top:0;right:0;height:100vh;width:440px;max-width:95vw;background:var(--surface-strong);border-left:1px solid var(--border);box-shadow:-8px 0 40px #355e3b1f;z-index:201;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow:hidden}.slide-panel.open{transform:translate(0)}.slide-panel-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.slide-panel-title{margin:0;font-size:1rem;font-weight:700}.slide-panel-close{background:transparent;border:none;cursor:pointer;font-size:1.4rem;line-height:1;color:var(--muted);padding:2px 6px;border-radius:6px}.slide-panel-close:hover{background:var(--bg);color:var(--text)}.slide-panel-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.form-label{display:block;font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.admin-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--border)}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{padding:11px 16px;text-align:left;background:var(--bg);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-table th:hover{color:var(--text)}.admin-table th.sort-active{color:var(--primary)}.sort-arrow{margin-left:5px;font-size:.7rem;opacity:.5}.sort-arrow.active{opacity:1}.admin-table td{padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--bg)}.table-filter-row{display:flex;gap:12px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.table-filter-input{max-width:280px}.qty-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--surface-strong);font-size:1rem;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.qty-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.chart-wrap{background:var(--surface-strong);border-radius:14px;padding:16px}.chart-empty{color:var(--muted);font-size:.88rem;padding:24px 0;text-align:center}.storage-units-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.unit-card{background:var(--surface-strong);border:1.5px solid var(--border);border-radius:18px;padding:18px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.unit-card:hover{border-color:var(--primary-soft)}.unit-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px #355e3b1a}.unit-type-badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.badge-fridge{background:#dbeafe;color:#1d4ed8}.badge-dehydrator{background:#fef3c7;color:#b45309}.badge-freezer{background:#ede9fe;color:#7c3aed}.fridge-svg-wrap{border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);overflow:hidden}.timer-display{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px;background:var(--bg);border-radius:16px}.timer-digits{font-size:2.4rem;font-weight:800;font-family:SF Mono,Fira Code,Courier New,monospace;color:var(--primary);letter-spacing:.05em}.timer-digits.urgent{color:var(--accent);animation:pulse 1s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.station-status-banner{padding:8px 16px;border-radius:10px;font-weight:700;font-size:.85rem}.status-idle{background:var(--bg);color:var(--muted)}.status-running{background:#dbeafe;color:#1d4ed8}.status-complete{background:#dcfce7;color:#15803d}.status-alert{background:#fee2e2;color:#b91c1c}.dehydration-station{display:flex;flex-direction:column;gap:16px}.station-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.timer-start-form{background:var(--bg);border-radius:14px;padding:16px}.fridge-popover{background:var(--surface-strong);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 30px #2f362f26;width:230px;overflow:hidden}.fridge-popover-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);font-size:.9rem}.fridge-popover-close{background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--muted);padding:0 2px}.fridge-popover-body{padding:10px 14px;font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;gap:3px}.fridge-popover-actions{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-top:1px solid var(--border)}.fruit-order-form{display:flex;flex-direction:column;gap:16px}.status-ordered{background:#dbeafe;color:#1d4ed8}.print-label{border:1.5px solid var(--border);border-radius:16px;padding:18px}.print-label-content{display:flex;gap:16px;align-items:flex-start}.print-label-info{display:flex;flex-direction:column;gap:4px}.print-label-name{font-weight:800;font-size:1rem}.print-label-detail{font-size:.8rem;color:var(--muted)}@media print{.no-print,.slide-panel,.slide-panel-backdrop,.toast-container{display:none!important}.brand-header,.site-nav,nav,header{display:none!important}.print-label{border:2px solid #333;border-radius:0;margin:20px}}.audit-log-row{cursor:pointer}.audit-detail{background:#1e1e2e;color:#cdd6f4;padding:14px 18px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:.78rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}@media (max-width: 900px){.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-sidebar,.checkout-summary{position:static}.shop-hero{grid-template-columns:1fr}.storefront-badges{flex-direction:row;align-items:flex-start}}@media (max-width: 860px){.storefront-header-inner,.filters-row,.form-row,.scanner-card,.admin-status-grid,.recommendation-grid{grid-template-columns:1fr}}@media (max-width: 620px){.app-shell,.customer-shell,.admin-shell{padding:16px}.brand-header{padding-bottom:18px}.storefront-header{padding:32px 16px 28px}.site-footer-inner{flex-direction:column;align-items:flex-start}.site-header-inner{padding:0 16px}.shop-hero{padding:36px 16px 32px}.category-tabs,.shop-search-row,.shop-grid{padding-left:16px;padding-right:16px}.page-shell{padding:24px 16px 48px}.checkout-section,.order-summary{padding:20px}.account-card{padding:28px 20px}.confirmation-card{padding:36px 24px}}.auth-form{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.auth-form .form-row{display:flex;gap:12px}.auth-form .form-group{flex:1;display:flex;flex-direction:column;gap:4px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:14px;color:#52606d}.auth-switch{text-align:center;font-size:14px;color:#52606d;margin:4px 0 0}.link-btn{background:none;border:none;color:#2f5233;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font:inherit}.button-danger{background:#b91c1c;color:#fff;border:1px solid #b91c1c}.button-danger:hover:not(:disabled){background:#991b1b}.button-danger:disabled{opacity:.5;cursor:not-allowed}.cpm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2f362f73;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .18s ease}.cpm-modal{background:var(--surface-strong);border:1px solid var(--border);border-radius:16px;width:460px;max-width:100%;padding:24px;box-shadow:0 24px 60px #355e3b38;display:flex;flex-direction:column;gap:16px}.cpm-title{margin:0;font-size:1.1rem;font-weight:800}.cpm-title.destructive{color:#b91c1c}.cpm-desc{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.cpm-field{display:flex;flex-direction:column;gap:6px}.cpm-phrase{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border:1px dashed var(--border);border-radius:10px;padding:10px 14px}.cpm-phrase code{font-size:1rem;font-weight:700;letter-spacing:.02em;-webkit-user-select:all;user-select:all}.cpm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.form-error,.error-note{color:#b42318;font-size:14px}.form-success{color:#2f5233;font-size:14px;font-weight:600}.auth-action-page,.admin-auth-screen{display:flex;justify-content:center;padding:48px 16px}.auth-card,.admin-auth-card{background:#fff;border-radius:16px;padding:28px;max-width:380px;width:100%;box-shadow:0 8px 30px #00000014}.admin-auth-card{display:flex;flex-direction:column;gap:12px}.admin-auth-card label,.auth-card label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}.admin-auth-card input,.auth-card input{padding:10px;border:1px solid #cbd2d9;border-radius:8px;font:inherit}.users-admin{display:flex;flex-direction:column;gap:20px}.users-admin .card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 16px #0000000d}.users-admin .card h3{margin-top:0}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-form input,.inline-form select,.offer-form textarea{padding:9px;border:1px solid #cbd2d9;border-radius:8px;font:inherit}.offer-form{display:flex;flex-direction:column;gap:8px;margin-top:12px}.offer-form textarea{width:100%;resize:vertical}.users-admin .hint{color:#9aa5b1;font-size:12px;margin:6px 0 0}.data-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.data-table th,.data-table td{text-align:left;padding:8px;border-bottom:1px solid #eef1f4}.data-table .badge,.users-admin .badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;background:#fde7e9;color:#b42318;font-size:11px}.admin-error{padding:24px;background:#fff;border-radius:12px;border:1px solid #fde7e9;color:#b42318}.admin-error h3{margin-top:0}.admin-error p{color:#616e7c;font-family:monospace;font-size:13px;word-break:break-word}.stock-input{width:72px;padding:5px 8px;border:1px solid #cbd2d9;border-radius:8px;font:inherit;font-weight:700;text-align:center}.stock-input:focus{outline:none;border-color:var(--accent, #2f5233);box-shadow:0 0 0 2px #2f523326}.square-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;margin-top:6px;padding:2px 8px;border-radius:999px}.square-status .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.square-status.ok{background:#e6f4ea;color:#1e7e34}.square-status.ok .dot{background:#1e7e34}.square-status.down{background:#fde7e9;color:#b42318}.square-status.down .dot{background:#b42318}.auth-action-page{align-items:flex-start;padding-top:64px}.auth-card{max-width:460px;padding:36px}.auth-card input{width:100%;box-sizing:border-box;padding:11px 12px}.auth-card .name-row{display:flex;gap:12px}.auth-card .name-row label{flex:1;min-width:0}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.auth-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:#2f5233;margin:0 0 6px}.auth-title{font-size:28px;margin:0 0 10px;color:#1f2933}.auth-blurb{color:#52606d;font-size:15px;line-height:1.5;margin:0}.auth-card .button-primary{margin-top:4px;padding:12px;font-size:15px}.shadow-banner{display:flex;align-items:center;justify-content:center;gap:14px;background:#3a2d12;color:#ffe9b0;font-size:14px;padding:8px 16px;flex-wrap:wrap}.shadow-banner strong{color:#fff}.shadow-exit{background:#ffe9b0;color:#3a2d12;border:none;border-radius:6px;padding:4px 10px;font-weight:700;cursor:pointer;font:inherit}.assistant-app{display:flex;flex-direction:column;gap:12px;max-width:760px}.assistant-head{display:flex;align-items:center;gap:12px}.assistant-avatar{width:48px;height:48px;border-radius:12px;object-fit:cover}.assistant-thread{display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:14px;padding:18px;min-height:320px;max-height:56vh;overflow-y:auto;box-shadow:0 4px 16px #0000000d}.assistant-msg{display:flex;gap:10px;align-items:flex-end}.assistant-msg.user{justify-content:flex-end}.assistant-msg-avatar{width:28px;height:28px;border-radius:8px;object-fit:cover;flex-shrink:0}.assistant-bubble{padding:10px 14px;border-radius:14px;max-width:80%;white-space:pre-wrap;line-height:1.5;font-size:14px}.assistant-msg.assistant .assistant-bubble{background:#eef3ee;color:#1f2933;border-bottom-left-radius:4px}.assistant-msg.user .assistant-bubble{background:#2f5233;color:#fff;border-bottom-right-radius:4px}.assistant-input{display:flex;gap:8px}.assistant-input input{flex:1;padding:11px 12px;border:1px solid #cbd2d9;border-radius:10px;font:inherit}.assistant-fab{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border-radius:50%;border:none;background:#2f5233;box-shadow:0 6px 20px #00000047;cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;padding:0}.assistant-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover}.assistant-fab:hover{transform:translateY(-2px);transition:transform .15s ease}.assistant-widget{position:fixed;right:24px;bottom:96px;width:380px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 140px);background:#fff;border-radius:16px;box-shadow:0 12px 44px #00000047;display:flex;flex-direction:column;overflow:hidden;z-index:1000}.assistant-widget-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#2f5233;color:#fff}.assistant-widget-head div{display:flex;flex-direction:column;line-height:1.2}.assistant-widget-head span{font-size:11px;opacity:.8}.assistant-widget-close{margin-left:auto;background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1}.assistant-widget .assistant-thread{flex:1;box-shadow:none;border-radius:0;max-height:none;min-height:0;padding:14px}.assistant-samples{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}.assistant-chip{background:#eef3ee;color:#2f5233;border:1px solid #d4e0d4;border-radius:999px;padding:6px 11px;font-size:12px;cursor:pointer;font:inherit}.assistant-chip:hover{background:#e0eae0}.assistant-widget .assistant-input{padding:10px 14px 14px}.assistant-widget-error{padding:0 14px;margin:0 0 8px}.assistant-typing span{display:inline-block;width:6px;height:6px;margin:0 1px;border-radius:50%;background:#9aa5b1;animation:blink 1.2s infinite both}.assistant-typing span:nth-child(2){animation-delay:.2s}.assistant-typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.audit-tabs{display:flex;gap:4px;border-bottom:1px solid #e4e8ec;margin-bottom:20px}.audit-tab{background:none;border:none;padding:10px 16px;font:inherit;font-weight:600;color:#52606d;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.audit-tab.active{color:#2f5233;border-bottom-color:#2f5233}.chat-session-detail{display:flex;flex-direction:column;gap:10px}.chat-transcript{display:flex;flex-direction:column;gap:12px;background:#fff;border-radius:12px;padding:18px;box-shadow:0 4px 16px #0000000d;max-height:60vh;overflow-y:auto}.chat-transcript .assistant-msg.user{justify-content:flex-end}.chat-msg-time{display:block;margin-top:6px;font-size:10px;opacity:.6}.cart-badge{animation:cartBadgePop .45s cubic-bezier(.2,.8,.3,1.4)}@keyframes cartBadgePop{0%{transform:scale(.2)}60%{transform:scale(1.45)}to{transform:scale(1)}}.cart-pulse{animation:cartPulse .6s ease}@keyframes cartPulse{0%,to{transform:scale(1)}40%{transform:scale(1.25)}}.button.added{background:#1e7e34!important;border-color:#1e7e34!important;transition:background .2s ease}.user-analytics{display:flex;flex-direction:column;gap:18px}.ua-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.ua-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 16px #0000000d;display:flex;flex-direction:column;gap:4px}.ua-num{font-size:26px;font-weight:800;color:#1f2933}.ua-label{font-size:12px;color:#7b8794}.ua-card.ua-human .ua-num{color:#1e7e34}.ua-card.ua-bot .ua-num{color:#b45309}.ua-card.ua-flag .ua-num{color:#b42318}.user-analytics .card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 16px #0000000d}.user-analytics .card h3{margin-top:0;display:flex;align-items:center;gap:8px}.ua-map{width:100%}.ua-live-dot{width:9px;height:9px;border-radius:50%;background:#1e7e34;display:inline-block;animation:cartPulse 1.4s ease infinite}.ua-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ua-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f0f2f4;font-size:14px}@media (max-width: 720px){.ua-grid{grid-template-columns:1fr}}.receipt-link{display:inline-block;margin-left:12px;font-size:.8rem;color:#2f5233;font-weight:600}.ua-map-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.ua-toggle{display:flex;gap:4px;background:#eef1f4;border-radius:999px;padding:3px}.ua-toggle-btn{border:none;background:none;padding:5px 12px;border-radius:999px;font:inherit;font-size:13px;font-weight:600;color:#52606d;cursor:pointer}.ua-toggle-btn.active{background:#2f5233;color:#fff}.ua-timeline{display:flex;align-items:flex-end;gap:2px;height:120px;margin-top:8px}.ua-tl-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.ua-tl-bar{width:72%;background:#7fae7f;border-radius:3px 3px 0 0;min-height:4px;display:flex;align-items:flex-end}.ua-tl-bot{width:100%;background:#b45309}.ua-tl-label{font-size:9px;color:#9aa5b1;margin-top:3px}
