:root{--espresso:#3e2723;--coffee:#6f4e37;--coffee-light:#a67c52;--primary:#92400e;--primary-dark:#78350f;--secondary:#b45309;--page-bg:#fef3c7;--cream:#fef3c7;--cream-dark:#fde68a;--cream-light:#fff8f0;--accent:#92400e;--accent-dark:#b45309;--text:#3e2723;--text-muted:#475569;--border:#fde68a;--border-strong:#e8ddd0;--success:#15803d;--danger:#dc2626;--warning:#b45309;--shadow:0 2px 8px #3e272314, 0 8px 24px #3e27230f;--shadow-lift:0 4px 12px #3e27231f, 0 12px 32px #3e27231a;--radius:12px;--heading:"Rubik", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sans:"Nunito Sans", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);color:var(--text);background:var(--page-bg);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}html{scroll-behavior:smooth}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;padding:0 20px;display:flex}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1{font-family:var(--heading);letter-spacing:-.02em;color:var(--espresso);margin:0 0 1rem;font-size:2rem;font-weight:700}h2{font-family:var(--heading);color:var(--espresso);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}h3{font-family:var(--heading);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}p{margin:0 0 .75rem}small,.text-small{color:var(--text-muted);font-size:.875rem}.caption{color:var(--text-muted);font-size:.8125rem}.price{font-family:var(--heading);color:var(--accent-dark);font-weight:700}.app-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.5rem;padding:1rem 0;display:flex}.app-nav .brand{font-family:var(--heading);color:var(--espresso);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.5rem;margin-right:auto;font-size:1.375rem;font-weight:800;text-decoration:none;display:inline-flex}.app-nav .brand span{color:var(--primary)}.brand-mark{background:var(--primary);border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;box-shadow:0 2px 8px #92400e59}.brand-text{flex-direction:column;line-height:1.1;display:inline-flex}.brand-name{font-family:var(--heading);letter-spacing:.08em;color:var(--espresso);font-size:1.125rem;font-weight:800}.brand-tagline{letter-spacing:.02em;color:var(--text-muted);white-space:nowrap;font-size:.625rem;font-weight:600}.app-nav{z-index:200;-webkit-backdrop-filter:blur(12px);background:#fef3c7e0;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;position:sticky;top:0}.app-nav.scrolled{border-bottom-color:#0000;box-shadow:0 2px 12px #3e27231f}.nav-link svg{vertical-align:-3px}.cart-count{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3125rem;font-size:.75rem;font-weight:700;display:inline-flex}.app-nav a.cart-link{justify-content:center;align-items:center;min-width:44px;min-height:40px;padding:.5rem;display:inline-flex;position:relative}.cart-link .cart-count{border:2px solid var(--page-bg);position:absolute;top:-.25rem;right:-.25rem}.cart-flyer{z-index:300;background:var(--cream-dark);pointer-events:none;background-position:50%;background-size:cover;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:fixed;box-shadow:0 4px 12px #3e272338}.search-wrap{position:relative}.search-wrap .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background-color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--text);background-color:var(--cream)}.input-with-icon{flex:130px;align-items:center;display:inline-flex;position:relative}.input-with-icon svg{color:var(--text-muted);pointer-events:none;flex:none;position:absolute;left:.625rem}.input-with-icon input{flex:1}.password-input{width:100%;display:flex;position:relative}.password-input input:not([type=checkbox]):not([type=radio]):not([type=file]){width:100%;padding-right:3.25rem}.password-toggle{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.125rem;transform:translateY(-50%)}.password-toggle:hover{background:var(--cream-light);color:var(--espresso)}.input-with-icon .password-toggle svg{color:currentColor;position:static}.app-footer{grid-template-columns:1.4fr 1fr 1fr;align-items:stretch;gap:1.5rem 2rem;display:grid}.footer-col h4{letter-spacing:.04em;text-transform:uppercase;color:var(--espresso);margin:0 0 .75rem;font-size:.875rem}.footer-desc{color:var(--text-muted);max-width:340px;margin-top:.75rem;font-size:.875rem}.footer-line{align-items:center;gap:.5rem;margin:0 0 .5rem;display:flex}.footer-line svg{color:var(--secondary);flex:none}.footer-links{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.brand-footer{align-items:center;gap:.5rem;display:inline-flex}@media (width<=640px){.app-footer{grid-template-columns:1fr;gap:1.25rem}}.heading-with-icon{align-items:center;gap:.625rem;display:flex}.heading-with-icon svg{color:var(--primary);flex:none}.alert-with-icon{align-items:flex-start;gap:.625rem;display:flex}.alert-with-icon svg{flex:none;margin-top:.125rem}.note-with-icon{align-items:center;gap:.5rem;display:flex}.note-with-icon svg{flex:none}.field-label{align-items:center;gap:.375rem;font-weight:600;display:inline-flex}.field-label svg{color:var(--text-muted)}.badge-with-icon{align-items:center;gap:.375rem;display:inline-flex}.badge-with-icon svg{flex:none}.card-chip{letter-spacing:.03em;text-transform:uppercase;color:var(--secondary);background:var(--cream);border:1px solid var(--border);border-radius:999px;align-self:flex-start;align-items:center;margin-bottom:.25rem;padding:.1875rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;margin:1.5rem 0;padding:3rem 1.5rem;display:flex}.empty-state .empty-icon{color:var(--text-muted);opacity:.75;margin-bottom:.25rem}.empty-state .empty-title{color:var(--text);margin:0;font-size:1.125rem;font-weight:700}.empty-state .empty-subtitle{color:var(--text-muted);max-width:420px;margin:0 0 .5rem;font-size:.9375rem}.pay-option-icon{color:var(--secondary);flex:none;margin-top:.125rem}.login-mark{background:var(--primary);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 0 1rem;display:inline-flex;box-shadow:0 4px 14px #92400e59}.step-icon{color:#fff;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex;position:absolute;top:.25rem;left:50%;transform:translate(-50%)}.status-hero{color:var(--primary);justify-content:center;margin:0 0 1rem;display:flex}.status-hero-success{color:var(--success)}.status-hero-error{color:var(--danger)}.spin{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{align-items:center;gap:.625rem;display:flex}.toast-error{color:#b91c1c;background:#fdecea;border-color:#f5c6c2}.wait-time-inline{align-items:center;gap:.3125rem;display:inline-flex}.menu-hero{background:radial-gradient(circle at 88% 18%,#92400e14 0 3px,#0000 4px),radial-gradient(circle at 78% 62%,#92400e0f 0 4px,#0000 5px),radial-gradient(circle at 94% 78%,#b4530912 0 3px,#0000 4px),radial-gradient(circle at 64% 30%,#92400e0d 0 2px,#0000 3px),linear-gradient(#fde68a59,#0000);border-radius:18px;margin:0 -.5rem .25rem;padding:2rem 1.5rem 1.75rem;position:relative;overflow:hidden}.hero-stat{color:var(--text-muted);margin:.75rem 0 0;font-size:.9375rem}.hero-stat strong{color:var(--espresso)}.breadcrumb{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.breadcrumb a{color:var(--primary);align-items:center;gap:.3125rem;font-weight:600;text-decoration:none;display:inline-flex}.breadcrumb [aria-current=page]{color:var(--espresso);font-weight:600}.item-placeholder{position:relative;overflow:hidden}.ph-ring{border:2px solid #92400e1f;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.item-placeholder .ph-icon{color:var(--primary)}.item-placeholder .ph-name{position:relative}.qty-picker button svg{vertical-align:middle}.app-nav a.nav-link{color:var(--text-muted);white-space:nowrap;border-radius:8px;padding:.375rem .75rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.app-nav a.nav-link:hover{color:var(--espresso);background:#fff}.app-nav a.nav-link.active{color:var(--cream-light);background:var(--espresso)}.lookup-toggle{white-space:nowrap}.lookup-panel{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-basis:100%;padding:.75rem}.order-lookup{flex-wrap:wrap;gap:.5rem;display:flex}.order-lookup input{flex:130px;width:auto}.order-lookup .btn{white-space:nowrap;flex:none}.app-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin-top:auto;padding:1.5rem 0 2rem;font-size:.875rem;display:flex}.app-footer .footer-brand{font-family:var(--heading);color:var(--espresso);font-weight:700}.app-footer a{color:var(--primary);font-weight:600}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .25s,box-shadow .25s,background .2s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #92400e4d}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-ghost{color:var(--espresso);border-color:var(--border-strong);background:0 0}.btn-ghost:hover:not(:disabled){background:#fff}.btn-danger-ghost{color:var(--danger);border-color:var(--border-strong);background:0 0}.btn-danger-ghost:hover:not(:disabled){background:#fdecea}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 2px 8px #dc26263d}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{border-radius:8px;padding:.375rem .75rem;font-size:.875rem}@media (pointer:coarse){.btn{min-height:44px}}.btn[aria-pressed=true]{background:var(--espresso);color:var(--cream-light);border-color:var(--espresso)}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:1.5rem}.menu-grid{grid-template-columns:1fr;gap:1.25rem;margin:1.25rem 0 3rem;transition:opacity .18s;display:grid}.menu-grid.is-refreshing{pointer-events:none;opacity:.62}@media (width>=641px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.menu-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.menu-grid{grid-template-columns:repeat(4,1fr)}}.menu-card{flex-direction:column;height:100%;padding:0;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.menu-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.menu-card img{aspect-ratio:4/3;object-fit:cover;background:var(--cream);width:100%}.menu-card .menu-card-body{flex-direction:column;flex:1;gap:.5rem;padding:1rem 1.25rem 1.25rem;display:flex}.menu-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3rem;margin:0;font-size:1.125rem;line-height:1.35;display:-webkit-box;overflow:hidden}.menu-card .menu-card-desc{-webkit-line-clamp:2;min-height:2.5rem;color:var(--text-muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.menu-card .price{margin-top:auto;font-size:1.25rem}.menu-card .btn{margin-top:.25rem}.skeleton-card{background:linear-gradient(100deg, var(--cream) 40%, #fff 50%, var(--cream) 60%);border-radius:var(--radius);background-size:200% 100%;min-height:220px;animation:1.2s infinite shimmer}.menu-card-skeleton{pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.skeleton-img{aspect-ratio:4/3;background:linear-gradient(100deg, var(--cream) 40%, #fff 50%, var(--cream) 60%);background-size:200% 100%;width:100%;animation:1.2s infinite shimmer}.skeleton-chip{background:linear-gradient(100deg, var(--cream) 40%, #fff 50%, var(--cream) 60%);background-size:200% 100%;border-radius:999px;width:35%;height:20px;margin-bottom:.25rem;animation:1.2s infinite shimmer}.skeleton-line{background:linear-gradient(100deg, var(--cream) 40%, #fff 50%, var(--cream) 60%);background-size:200% 100%;border-radius:6px;animation:1.2s infinite shimmer}.skeleton-title{width:80%;height:24px}.skeleton-desc{width:95%;height:14px}.skeleton-desc-short{width:65%;height:14px}.skeleton-price{width:40%;height:26px;margin-top:auto}.skeleton-btn{background:linear-gradient(100deg, var(--cream) 40%, #fff 50%, var(--cream) 60%);background-size:200% 100%;border-radius:8px;width:100%;height:38px;margin-top:.25rem;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.item-placeholder{aspect-ratio:4/3;background:linear-gradient(160deg, var(--cream) 0%, var(--cream-dark) 100%);color:var(--primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.375rem;padding:1rem;display:flex}.item-placeholder .ph-name{color:var(--primary-dark);font-weight:700}.menu-hero{padding:1rem 0 .5rem}.hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--secondary);margin-bottom:.5rem;font-size:.8125rem;font-weight:700}.hero-title{margin-bottom:.5rem;font-size:2.5rem;font-weight:800}.hero-sub{max-width:560px;color:var(--text-muted);font-size:1.0625rem}.home-hero{isolation:isolate;background:#5c3320;border:1px solid #fde68ad1;border-radius:20px;height:32rem;margin:0 -.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 14px 36px #3e272329}.home-hero-copy{z-index:2;-webkit-backdrop-filter:blur(22px)saturate(1.12);backdrop-filter:blur(22px)saturate(1.12);color:#fff;background:linear-gradient(135deg,#3e2723b3,#3e272375);border:1px solid #ffffff2e;border-radius:16px;flex-direction:column;justify-content:center;width:min(43%,34rem);min-width:0;min-height:calc(100% - 2.5rem);margin:1.25rem;padding:clamp(1.75rem,4vw,3.5rem);display:flex;position:relative;box-shadow:0 16px 44px #1d100b33,inset 0 1px #ffffff14}.home-hero-badge{color:#fff3c4;border:1px solid #fde68a75;border-radius:999px;width:fit-content;margin:0 0 1rem;padding:.35rem .7rem;font-size:.8125rem;font-weight:700;display:inline-flex}.home-hero-copy h1{color:#fff;letter-spacing:-.035em;max-width:10ch;margin-bottom:1rem;font-size:clamp(2.25rem,3.65vw,3.7rem);line-height:1.04}.home-hero-description{color:#ffffffe0;max-width:33rem;margin:0;font-size:1.0625rem;line-height:1.65}.home-hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.home-hero-primary{color:#3e2723;background:#fde68a;min-height:44px;font-weight:800;box-shadow:0 5px 16px #21140f47}.home-hero-primary:hover:not(:disabled){background:#fff3c4}.home-hero-secondary{color:#fff;background:#ffffff14;border-color:#ffffff9e;min-height:44px;font-weight:700}.home-hero-secondary:hover:not(:disabled){background:#ffffff1f}.home-hero-detail{color:#ffffffd6;flex-wrap:wrap;align-items:center;gap:.4rem;margin:1.25rem 0 0;font-size:.875rem;font-weight:650;display:flex}.home-hero-detail svg{color:#fde68a}.home-hero-detail-separator{background:#ffffff52;width:1px;height:1rem;margin:0 .1rem}.home-hero-media{z-index:0;background:#5c3320;position:absolute;inset:0}.home-hero-media:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#24120a38,#0000 52%),linear-gradient(#0000 62%,#20120c66);position:absolute;inset:0}.home-hero-image{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.home-hero-controls{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#3e2723b8;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem;display:flex;position:absolute;bottom:1.25rem;right:1.25rem}.home-hero-control,.home-hero-dots button{color:#fff;cursor:pointer;border:0;place-items:center;display:inline-grid}.home-hero-control{background:0 0;border-radius:50%;width:2.5rem;height:2.5rem}.home-hero-control:hover{background:#ffffff29}.home-hero-control[aria-pressed=true]{background:#fde68a3b}.home-hero-dots{gap:.35rem;padding:0 .15rem;display:flex}.home-hero-dots button{background:#ffffff8c;border-radius:999px;width:.55rem;height:.55rem;padding:0;transition:width .2s,background .2s}.home-hero-dots button[aria-selected=true]{background:#fde68a;width:1.45rem}.home-hero-control:focus-visible,.home-hero-dots button:focus-visible{outline-offset:2px;outline-color:#fff3c4}@media (width<=720px){.home-hero{height:40rem;margin-bottom:1.5rem}.home-hero-copy{background:linear-gradient(135deg,#3e2723d1,#3e2723a8);border:1px solid #ffffff24;border-radius:16px;width:auto;min-height:0;margin:.875rem;padding:2.25rem 1.5rem}.home-hero-copy h1{max-width:12ch;font-size:clamp(2.2rem,11vw,3.25rem)}.home-hero-controls{bottom:1rem;right:1rem}}@media (prefers-reduced-transparency:reduce){.home-hero-copy{-webkit-backdrop-filter:none;backdrop-filter:none;background:#3e2723f0}}.home-flow{border:1px solid var(--border);border-radius:var(--radius);background:#fffdf9c7;grid-template-columns:minmax(13rem,.7fr) minmax(0,1.3fr);align-items:start;gap:2rem;margin:0 0 2.5rem;padding:1.5rem;display:grid}.section-eyebrow{color:var(--secondary);letter-spacing:.08em;margin:0 0 .5rem;font-size:.75rem;font-weight:800}.home-flow h2{margin:0;font-size:1.5rem}.home-flow-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.home-flow-list li{grid-template-columns:auto 1fr;gap:.625rem;display:grid}.home-flow-list>li>span{color:var(--secondary);font-family:var(--heading);font-weight:800}.home-flow-list svg{color:var(--primary)}.home-flow-list h3{margin:.25rem 0;font-size:1rem}.home-flow-list p{color:var(--text-muted);margin:0;font-size:.875rem}@media (width<=900px){.home-flow,.home-flow-list{grid-template-columns:1fr}.home-flow-list{gap:.875rem}}.about-section{margin:0 0 2.5rem}.about-section h2{font-size:1.75rem}.about-text{max-width:720px;color:var(--text-muted);font-size:1.0625rem}.about-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem;display:grid}.about-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:1.25rem}.about-card svg{color:var(--primary);margin-bottom:.5rem}.about-card h3{color:var(--espresso);margin-bottom:.25rem;font-size:1.0625rem}.about-card p{color:var(--text-muted);margin:0;font-size:.9375rem}@media (width<=720px){.about-grid{grid-template-columns:1fr}}#menu{scroll-margin-top:120px}.checkout-layout{grid-template-columns:1.35fr 1fr;align-items:start;gap:1.5rem;display:grid}.checkout-main{min-width:0}.checkout-side{position:sticky;top:120px}.checkout-steps{gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.checkout-steps li{color:var(--text-muted);flex:1;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;display:flex}.checkout-step-num{background:var(--border-strong);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.checkout-steps li.done{color:var(--espresso)}.checkout-steps li.done .checkout-step-num{background:var(--success)}.checkout-steps li.current{color:var(--primary)}.checkout-steps li.current .checkout-step-num{background:var(--primary);box-shadow:0 0 0 4px #92400e33}.checkout-side .checkout-summary{max-width:none;margin-bottom:0}.checkout-submit{width:100%;margin-top:1rem;padding:.875rem 1.25rem;font-size:1.0625rem}@media (width<=900px){.checkout-layout{grid-template-columns:1fr}.checkout-side{position:static}}@media (width<=640px){.checkout-steps li{font-size:.75rem}.checkout-step-num{width:1.75rem;height:1.75rem}}.input,input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;border:1px solid var(--border-strong);color:var(--text);background:#fffdf9;border-radius:10px;width:100%;min-height:44px;padding:.625rem .875rem;transition:border-color .2s,box-shadow .2s}.input:focus,.input:focus-visible,input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,input:not([type=checkbox]):not([type=radio]):not([type=file]):focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #92400e24}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px #dc262624}.search-wrap input:not([type=checkbox]):not([type=radio]):not([type=file]){padding-left:2.75rem}.input-with-icon input:not([type=checkbox]):not([type=radio]):not([type=file]){padding-left:2.375rem}label{flex-direction:column;gap:.375rem;margin-bottom:1rem;font-weight:500;display:flex}.field{margin-bottom:1rem}.field label{margin-bottom:0}.field-error{color:var(--danger);margin-top:.375rem;font-size:.875rem;font-weight:600;display:block}.badge{background:var(--cream);color:var(--coffee);border-radius:999px;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.badge-pending{color:#b45309;background:#fef3e2}.badge-preparing{color:#0369a1;background:#e0f2fe}.badge-ready{color:#15803d;background:#dcfce7}.badge-completed{background:var(--cream);color:var(--text-muted)}.badge-cancelled{color:#b91c1c;background:#fee2e2}.order-steps{gap:0;margin:1.5rem 0;padding:0;list-style:none;display:flex}.order-steps li{text-align:center;color:var(--text-muted);flex:1;padding-top:2.25rem;font-size:.8125rem;position:relative}.order-steps li:before{content:"";background:var(--border-strong);border:2px solid var(--border-strong);border-radius:50%;width:1.75rem;height:1.75rem;position:absolute;top:.25rem;left:50%;transform:translate(-50%)}.order-steps li:after{content:"";background:var(--border-strong);height:2px;position:absolute;top:calc(1.125rem - 1px);left:calc(1rem - 50%);right:calc(50% + 1rem)}.order-steps li:first-child:after{display:none}.order-steps li.done{color:var(--espresso);font-weight:600}.order-steps li.done:before{background:var(--success);border-color:var(--success)}.order-steps li.done:after{background:var(--success)}.order-steps li.current{color:var(--primary);font-weight:700}.order-steps li.current:before{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 4px #92400e40}@media (width<=480px){.order-steps li{font-size:.75rem}}.toast-wrap{z-index:1000;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.toast{background:var(--cream-dark);color:var(--primary-dark);border:1px solid #92400e59;border-radius:10px;padding:.75rem 1.25rem;font-weight:600;animation:.25s toast-in;box-shadow:0 8px 24px #0003}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.alert{border-radius:10px;margin:1rem 0;padding:.875rem 1.125rem;font-weight:500}.alert-error{color:#b91c1c;background:#fdecea;border:1px solid #f5c6c2}.alert-success{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.alert-with-action{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:2rem 0;display:flex}.pagination-btn{justify-content:center;align-items:center;gap:.35rem;min-width:44px;min-height:40px;font-weight:600;display:inline-flex}.pagination-status{color:var(--text-muted);white-space:nowrap;padding:0 .5rem;font-weight:500}.wait-time{color:var(--accent-dark);font-weight:700}main{padding-bottom:3rem}.badge-pay-unpaid{color:#b45309;background:#fef3e2}.badge-pay-pending{color:#0369a1;background:#e0f2fe}.badge-pay-paid{color:#15803d;background:#dcfce7}.badge-pay-failed{color:#b91c1c;background:#fee2e2}.menu-page{min-height:60vh}.menu-catalog{margin:0 0 2.5rem;scroll-margin-top:120px}.menu-catalog-header{justify-content:space-between;align-items:end;gap:1rem;display:flex}.menu-catalog-header h2{margin-bottom:.375rem;font-size:clamp(1.75rem,3vw,2.25rem)}.menu-catalog-header p:not(.section-eyebrow){max-width:42rem;color:var(--text-muted);margin-bottom:0}.menu-catalog-controls{margin-top:1.25rem}.menu-catalog-search{border:1px solid var(--border-strong);max-width:38rem;color:var(--text-muted);background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.625rem;padding:0 .875rem;display:grid}.menu-catalog-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #92400e24}.menu-catalog-search input:not([type=checkbox]):not([type=radio]):not([type=file]){width:100%;min-width:0;box-shadow:none;border:0;padding:.75rem 0}.menu-catalog-search input:focus-visible{outline:0}@media (width<=640px){.menu-catalog-header{flex-direction:column;align-items:start}.menu-catalog-header .btn{width:100%}.menu-catalog-search{max-width:none}}.category-filter{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.category-filter .btn[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary)}.product-detail{gap:1.5rem;display:grid}@media (width>=720px){.product-detail{grid-template-columns:1fr 1fr;align-items:start}}.product-detail img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%}.product-detail .item-placeholder{border:1px solid var(--border);border-radius:12px}.product-detail .price{font-size:1.5rem}.qty-picker{align-items:center;gap:.5rem;display:inline-flex}.qty-picker button{width:2.25rem;height:2.25rem;font-size:1.25rem}.checkout-summary{max-width:560px;margin-bottom:1.5rem;padding-top:.5rem;padding-bottom:.5rem}.summary-row{border-bottom:1px dashed var(--border-strong);grid-template-columns:minmax(0,1fr) 4.25rem auto auto;align-items:center;gap:.625rem;padding:.625rem 0;display:grid}.summary-row .sr-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.summary-row .sr-qty[type=number]{width:4.25rem;min-height:40px;padding:.375rem .5rem}.summary-row .sr-line-total{white-space:nowrap;text-align:right;min-width:84px;font-weight:700}.summary-row .btn{min-width:40px;min-height:40px;padding:.5rem}.summary-total{justify-content:space-between;align-items:baseline;padding-top:.875rem;font-size:1.125rem;display:flex}.summary-total strong{font-family:var(--heading);color:var(--accent-dark);font-size:1.625rem;line-height:1.1}.staff-login-wrap{flex-direction:column;align-items:center;width:100%;padding-top:2rem;display:flex}.staff-login-wrap .card{width:100%}.staff-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--secondary);text-align:center;margin-bottom:.25rem;font-size:.8125rem;font-weight:700}.staff-order-card{border-left:4px solid var(--border-strong)}.staff-order-card[data-status=PENDING]{border-left-color:var(--secondary)}.staff-order-card[data-status=PREPARING]{border-left-color:#0369a1}.staff-order-card[data-status=READY]{border-left-color:var(--success)}.staff-order-card[data-status=CANCELLED]{border-left-color:var(--danger)}.staff-table{border-collapse:collapse;background:#fff;width:100%}.staff-table th,.staff-table td{text-align:left;border-bottom:1px solid var(--border-strong);padding:.625rem .75rem}.staff-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.8125rem;font-family:var(--heading)}.menu-editor,.menu-edit-dialog,.menu-delete-dialog{margin-bottom:1.5rem}.menu-editor>h3,.menu-edit-form h2{margin-top:0}.menu-editor-grid{grid-template-columns:minmax(0,1fr) 12rem;align-items:start;gap:1.25rem;display:grid}.menu-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.menu-editor-fields label{min-width:0}.menu-field-wide{grid-column:1/-1}.menu-image-editor{border:1px dashed var(--border-strong);background:var(--cream-light);border-radius:10px;padding:.875rem}.menu-image-editor label{margin-bottom:0}.file-input{width:100%;min-height:44px;color:var(--text-muted);font:inherit}.file-input::file-selector-button{border:1px solid var(--border-strong);color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:8px;margin-right:.625rem;padding:.5rem .75rem;font-weight:600}.menu-image-preview{aspect-ratio:1;background:var(--cream-dark);width:100%;color:var(--text-muted);border-radius:8px;place-items:center;font-size:.875rem;display:grid;overflow:hidden}.menu-image-preview img{object-fit:cover;width:100%;height:100%}.menu-editor-actions{justify-content:flex-end;margin-top:1rem;display:flex}.menu-edit-dialog,.menu-delete-dialog{max-height:calc(100vh - 2rem);margin:auto;position:fixed;inset:0;overflow:auto}.menu-edit-dialog{border-radius:var(--radius);width:min(42rem,100vw - 2rem);box-shadow:var(--shadow-lift);color:var(--text);border:0;padding:0}.menu-edit-dialog::backdrop,.menu-delete-dialog::backdrop{background:#3e27237a}.menu-delete-dialog{border-radius:var(--radius);width:min(28rem,100vw - 2rem);box-shadow:var(--shadow-lift);color:var(--text);border:0;padding:0}.menu-delete-content{padding:1.25rem}.menu-delete-content h2{margin-top:0}.menu-edit-form{padding:1.25rem}.menu-edit-heading,.menu-edit-actions{align-items:center;gap:.75rem;display:flex}.menu-edit-heading h2{margin-right:auto}.menu-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.menu-edit-preview{aspect-ratio:1;background:var(--cream-dark);width:min(12rem,100%);color:var(--text-muted);border-radius:8px;grid-column:1/-1;place-items:center;display:grid;overflow:hidden}.menu-edit-preview img{object-fit:cover;width:100%;height:100%}.menu-edit-actions{justify-content:flex-end;margin-top:1rem}@media (width<=640px){.menu-editor-grid,.menu-editor-fields,.menu-edit-grid{grid-template-columns:1fr}.menu-image-editor{max-width:15rem}}.pay-options{gap:.75rem;margin:1rem 0;display:grid}.pay-option{border:1px solid var(--border-strong);cursor:pointer;border-radius:12px;flex-direction:row;align-items:flex-start;gap:.75rem;margin-bottom:0;padding:.875rem 1rem;transition:border-color .2s,background .2s;display:flex}.pay-option input{width:auto;margin-top:.25rem}.pay-option:has(input:checked){border-color:var(--primary);background:var(--cream)}.pay-option:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn-block{width:100%}.text-link{color:var(--primary);text-underline-offset:3px;font-weight:600;text-decoration:none}.text-link:hover{text-decoration:underline}.auth-layout{background:#fff;border:1px solid #e8ddd0e6;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0;width:100%;max-width:1040px;margin:1.5rem auto 2.5rem;padding:0;display:grid;overflow:hidden;box-shadow:0 16px 40px #3e27231a}.auth-brand-panel{color:var(--cream);box-shadow:none;background:radial-gradient(circle at 92% 12%,#fde68a3b 0 3px,#0000 4px),radial-gradient(circle at 78% 22%,#fde68a24 0 7px,#0000 8px),linear-gradient(145deg,#2f1d19 0%,#6f3515 58%,#92400e 100%);border-radius:0;flex-direction:column;gap:1.25rem;padding:2.25rem;display:flex;position:relative;overflow:hidden}.auth-kicker{color:var(--cream-dark);letter-spacing:.16em;margin:0 0 -.5rem;font-size:.6875rem;font-weight:800}.auth-brand-panel h2{color:#fff;margin:0;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.16}.brand-on-dark{align-items:center;gap:.625rem;display:inline-flex}.brand-on-dark .brand-name{color:#fff}.brand-on-dark .brand-tagline{color:var(--cream-dark)}.auth-brand-lead{color:var(--cream);margin:0;font-size:1.0625rem;line-height:1.6}.auth-trust-list{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.auth-trust-list li{align-items:center;gap:.625rem;font-weight:600;display:flex}.auth-trust-list svg{color:var(--cream-dark);flex:none}.auth-form-panel{justify-content:center;align-items:flex-start;display:flex}.auth-card{width:100%;max-width:none;box-shadow:none;border:0;border-radius:0;padding:clamp(1.5rem,3vw,2.25rem)}.auth-card h1{margin-bottom:.5rem;font-size:clamp(1.75rem,3vw,2.25rem)}.auth-card .staff-eyebrow{text-align:left}.auth-subtitle{color:var(--text-muted);margin:-.5rem 0 1.25rem}.auth-form{flex-direction:column;gap:.875rem;display:flex}.auth-form label{gap:.4375rem;margin-bottom:0}.auth-form .field-label{color:var(--espresso);font-size:.875rem}.auth-form .btn-primary{min-height:48px;margin-top:.25rem}.auth-form .input-with-icon{flex:none;width:100%;display:flex}.auth-alt{text-align:center;color:var(--text-muted);margin-top:1.25rem}.auth-alt-compact{margin-top:.75rem}.otp-form{flex-direction:column;gap:1rem;display:flex}.otp-inputs{justify-content:space-between;gap:.5rem;display:flex}.otp-inputs input{text-align:center;width:3rem;height:3.5rem;color:var(--espresso);font-size:1.5rem;font-weight:700}.header-avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--border-strong);min-width:44px;min-height:40px;color:var(--espresso);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.25rem;padding:.5rem;list-style:none;display:inline-flex}.user-menu-trigger::-webkit-details-marker{display:none}.user-menu-label{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;font-weight:700;overflow:hidden}.user-menu-trigger:hover,.user-menu[open] .user-menu-trigger{border-color:var(--coffee-light);background:#fff}.user-menu-popover{z-index:220;border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow-lift);background:#fffdf9;border-radius:14px;padding:.75rem;display:none;position:absolute;top:calc(100% + .5rem);right:0}.user-menu:hover .user-menu-popover,.user-menu:focus-within .user-menu-popover,.user-menu[open] .user-menu-popover{gap:.25rem;display:grid}.user-menu-name{color:var(--espresso);font-weight:700}.user-menu-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem;font-size:.8125rem;overflow:hidden}.user-menu-link{width:100%;min-height:40px;color:var(--espresso);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .625rem;font-weight:600;text-decoration:none;display:flex}.user-menu-link:hover{background:var(--cream)}.account-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.order-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.order-list-item{padding:0}.order-list-main{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.order-list-code{color:var(--espresso);align-items:center;gap:.375rem;font-weight:700;display:inline-flex}.profile-avatar{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-avatar-img{object-fit:cover;border-radius:50%;width:72px;height:72px}.profile-avatar-placeholder{background:var(--cream,#fef3c7);width:72px;height:72px;color:var(--espresso);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@media (width<=768px){.auth-layout{grid-template-columns:1fr;gap:0;margin-top:1rem}.auth-brand-panel{gap:.75rem;padding:1.5rem}.auth-brand-lead{font-size:1rem}.auth-trust-list{margin-top:.5rem}.auth-trust-list li{font-size:.875rem}.otp-inputs input{width:2.625rem;height:3.125rem}}.app-nav{flex-wrap:nowrap;gap:1rem;min-height:76px}.nav-actions{justify-content:flex-end;align-items:center;gap:.25rem;margin-left:auto;display:flex}.header-search{flex:12rem;align-items:center;max-width:17rem;display:flex;position:relative}.header-search>svg{color:var(--text-muted);pointer-events:none;position:absolute;left:.75rem}.header-search input:not([type=checkbox]):not([type=radio]):not([type=file]){background:#ffffffc7;border-radius:10px;width:100%;min-height:40px;padding:.5rem .75rem .5rem 2.4rem}.header-search-results{z-index:250;border:1px solid var(--border);box-shadow:var(--shadow-lift);background:#fffdf9;border-radius:12px;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden}.header-search-results p{color:var(--text-muted);margin:0;padding:.875rem 1rem;font-size:.875rem}.header-search-result{color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;display:flex}.header-search-result+.header-search-result{border-top:1px solid var(--border)}.header-search-result:hover,.header-search-result:focus-visible{background:var(--cream)}.header-search-result strong{color:var(--accent-dark);flex:none;font-size:.875rem}.nav-toggle{border:1px solid var(--border-strong);width:44px;height:44px;color:var(--espresso);cursor:pointer;background:#ffffffb8;border-radius:10px;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle svg{width:21px;height:21px}@media (width<=960px){.app-nav .brand-tagline{display:none}.nav-toggle{margin-left:auto;display:inline-flex}.nav-actions{border:1px solid var(--border);box-shadow:var(--shadow-lift);background:#fffdf9;border-radius:16px;margin:0;padding:.625rem;display:none;position:absolute;top:calc(100% + .5rem);left:20px;right:20px}.nav-actions.open{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.nav-actions .header-search{grid-column:1/-1;max-width:none}.nav-actions>*{justify-content:flex-start;min-height:44px}.nav-actions .nav-link,.nav-actions .btn,.nav-actions .user-menu{width:100%}.nav-actions .user-menu-trigger{justify-content:flex-start;width:100%}.nav-actions .user-menu-popover{left:0;right:0}}@media (width<=480px){.app-nav{min-height:68px;padding-top:.75rem;padding-bottom:.75rem}.app-nav .brand-name{font-size:1rem}.app-nav .brand-mark{width:34px;height:34px}.nav-actions.open{grid-template-columns:1fr}.auth-layout{padding-bottom:1.5rem}.auth-card{padding:1.25rem}}.staff-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:1.5rem;padding-bottom:2rem;display:grid}.staff-sidebar{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:1rem;padding:1rem;display:flex;position:sticky;top:96px}.staff-brand{align-items:center;gap:.5rem;display:inline-flex}.staff-nav{flex-direction:column;gap:.25rem;display:flex}.staff-nav-link{color:var(--text-muted);white-space:nowrap;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:600;text-decoration:none;display:inline-flex}.staff-nav-link:hover{color:var(--espresso);background:var(--cream)}.staff-nav-link.active{color:var(--cream-light);background:var(--espresso)}.staff-nav-link svg{flex:none}.staff-sidebar-foot{border-top:1px solid var(--border-strong);flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.staff-sidebar-foot .btn{justify-content:flex-start}.staff-content{min-width:0}.staff-page-title{margin-bottom:1rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{flex-direction:column;gap:.25rem;padding:1rem 1.25rem;display:flex}.stat-card-icon{color:var(--primary);display:inline-flex}.stat-card-value{font-family:var(--heading);color:var(--espresso);font-size:1.625rem;font-weight:700;line-height:1.15}.stat-card-label{color:var(--text-muted);font-size:.875rem;font-weight:600}.staff-section-head{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.staff-section-head h2{margin:0 auto 0 0}@media (width<=1024px){.staff-layout{grid-template-columns:1fr;gap:1rem}.staff-sidebar{flex-flow:row;align-items:center;gap:.75rem;position:static;overflow-x:auto}.staff-brand .brand-text{display:none}.staff-nav{flex-direction:row;gap:.25rem}.staff-sidebar-foot{border-top:0;flex-direction:row;margin-top:0;margin-left:auto;padding-top:0}.stat-grid{grid-template-columns:repeat(2,1fr)}}.text-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;text-decoration:underline}
