:root{--paper:#f6f4ed;--panel:#fffefa;--ink:#292d28;--muted:#74776c;--green:#343e33;--sage:#e9eddf;--accent:#9b613f;--line:#e3e3d8;--red:#9e413b;--yellow:#f3e8ce;--shadow:0 12px 48px #292d2810;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8d9c7a;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.03em}h1{font-size:clamp(32px,4.4vw,58px);line-height:1.12}h2{font-size:30px;line-height:1.25}h3{font-size:16px;line-height:1.35;font-weight:600}small,.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:700;color:var(--muted)}.flex{display:flex;align-items:center;gap:12px}.between{display:flex;justify-content:space-between;align-items:center;gap:16px}.start{align-items:flex-start}.wrap{flex-wrap:wrap}.stack{display:grid;gap:16px}.gap8{gap:8px}.grow{flex:1;min-width:0}.right{text-align:right}.full{width:100%}.hidden{display:none!important}.mb{margin-bottom:20px}.mt{margin-top:20px}.mt8{margin-top:8px}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon.lg{width:38px;height:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:10px;border:1px solid var(--line);padding:10px 17px;font-size:13px;font-weight:600;background:var(--panel);color:var(--ink);transition:background .15s,transform .15s}.button:hover:not(:disabled){background:var(--sage)}.button.primary{background:var(--green);color:#fffefa;border-color:var(--green)}.button.primary:hover:not(:disabled){background:#4b5846}.button.danger{color:var(--red);border-color:#dab7b3}.button.subtle{background:transparent;border-color:transparent}.button.tiny{min-height:35px;padding:6px 10px;font-size:12px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:100px;padding:5px 10px;font-size:11px;font-weight:600;line-height:1.3;background:var(--sage);color:var(--green)}.pill.warn{background:var(--yellow);color:#7c5c24}.pill.red{background:#f4e3df;color:var(--red)}.pill.gray{background:#edece7;color:var(--muted)}.pill.blue{background:#e3edee;color:#365c63}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:currentColor}.demo-banner{padding:8px 22px;background:#e7dcc6;color:#58442a;font-size:12px;text-align:center;border-bottom:1px solid #dbcfb7}.demo-banner a{font-weight:700;text-decoration:underline;margin-left:14px}.header{height:88px;max-width:1240px;margin:auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:155px}.brand-mark{display:grid;place-items:center;background:var(--green);color:var(--paper);border-radius:50%;width:45px;height:45px;font:30px/1 Georgia}.brand-title{font:23px/1 Georgia;letter-spacing:.01em}.brand-sub{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px}.nav{display:flex;gap:24px;font-size:12px;align-items:center}.nav a.active{color:var(--accent);font-weight:700}.page{max-width:1240px;margin:auto;padding:40px 38px 100px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;padding:6px 0 36px}.hero p{max-width:430px;margin-top:18px;font-size:14px;color:var(--muted)}.hero .eyebrow{margin-bottom:16px}.delivery-card{background:var(--sage);border:1px solid #dce2d0;border-radius:var(--radius);padding:24px;position:relative}.delivery-card label{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#5a6554}.delivery-card select{background:#f8faf4;border-color:#d1d9c5;margin-top:8px;font-weight:600}.delivery-card .iconbox{width:40px;height:40px;border:1px solid #cdd6c1;background:#f4f7ef;border-radius:50%;display:grid;place-items:center}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 26px}.tab{background:transparent;border:1px solid var(--line);border-radius:100px;padding:9px 17px;color:var(--muted);font-size:12px;white-space:nowrap}.tab.active{color:#fffefa;background:var(--green);border-color:var(--green)}.search{position:relative}.search .icon{position:absolute;left:14px;top:14px;color:var(--muted)}.search input{padding-left:43px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:188px;position:relative;transition:box-shadow .2s}.menu-card:hover{box-shadow:var(--shadow)}.menu-card.unavailable{opacity:.63}.menu-card .meta{font-size:11px;color:var(--muted);display:flex;gap:10px;margin-top:8px;align-items:center}.menu-card .price{font:19px/1.2 Georgia}.menu-card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.product-icon{color:#7c856c;background:#eff1e7;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.photo{width:100%;height:160px;object-fit:cover;border-radius:12px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:24px}.cart-panel{position:sticky;top:24px}.cart-panel h2{font-size:25px}.cart-panel .empty{padding:35px 6px}.empty{text-align:center;padding:50px 24px;color:var(--muted)}.empty h3{color:var(--ink);margin:16px 0 8px}.cart-line{padding:18px 0;border-bottom:1px solid var(--line)}.cart-line h3{font-size:13px}.cart-line .options{font-size:11px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.qty{display:inline-flex;border:1px solid var(--line);border-radius:8px;align-items:center;overflow:hidden;height:32px}.qty button{border:0;background:transparent;width:30px;height:30px;color:var(--ink);font-size:17px}.qty span{padding:0 8px;min-width:26px;text-align:center;font-size:12px}.eta-box{padding:16px;background:#edf0e5;border-radius:12px;color:#49563c;margin:18px 0}.eta-box strong{font:26px/1.2 Georgia;display:block;margin:3px 0}.eta-box .small{font-size:11px}.totals{display:grid;gap:9px;font-size:12px;margin:18px 0}.totals .grand{border-top:1px solid var(--line);padding-top:13px;font-size:15px;font-weight:700}.notice{padding:14px 17px;border:1px solid #e6d9b9;background:#f6efdf;color:#7c6037;border-radius:12px;font-size:12px;line-height:1.6}.notice.green{background:var(--sage);border-color:#d6dfca;color:#4a5c40}.notice.error{background:#f8e8e4;border-color:#e5c1b9;color:var(--red)}.mobile-cart{display:none}.support{position:fixed;bottom:25px;right:25px;z-index:9;background:var(--green);color:#fff;border-radius:50px;box-shadow:var(--shadow);padding:12px 18px;font-size:12px;display:flex;align-items:center;gap:8px}.footer{max-width:1240px;margin:0 auto;padding:24px 38px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.step-head{margin:25px 0 30px}.step-head h1{font-size:40px;margin-top:8px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:26px;align-items:start;max-width:1000px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span2{grid-column:1/-1}label.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);background:#fffefa;border-radius:9px;padding:12px;color:var(--ink);min-width:0;font-size:14px}textarea{resize:vertical;min-height:85px}input[type=checkbox],input[type=radio]{width:17px;height:17px;padding:0;accent-color:var(--green);flex-shrink:0}input[type=file]{font-size:12px}.help{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:400;cursor:pointer}.check input{margin-top:3px}.pay-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.pay-choice{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px;padding:15px 5px;border:1px solid var(--line);border-radius:12px;font-size:12px;cursor:pointer;min-height:105px}.pay-choice:has(input:checked){border-color:var(--green);background:var(--sage)}.pay-choice input{position:absolute;top:8px;right:8px;width:13px;height:13px}.pay-choice:has(input:disabled){opacity:.45;cursor:not-allowed}.pay-choice .help{text-align:center;font-size:10px}.divider{height:1px;background:var(--line);margin:22px 0}.tracking-wrap{max-width:800px;margin:0 auto}.tracking-hero{background:var(--green);border-radius:20px;color:#faf7ee;padding:32px}.tracking-hero .eyebrow,.tracking-hero .muted{color:#bdc8b5}.tracking-hero h1{font-size:37px;margin:10px 0}.tracking-hero .pill{background:#536248;color:#eff5e9}.tracking-hero .eta-box{background:#43513e;color:#f5f6ee;margin-bottom:0}.tracker{display:flex;justify-content:space-between;gap:8px;margin:26px 0;padding:0;list-style:none}.tracker li{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:10px;color:var(--muted);position:relative}.tracker li:before{content:'';position:absolute;top:15px;height:1px;background:var(--line);width:100%;left:-50%;z-index:0}.tracker li:first-child:before{display:none}.tracker .circle{width:31px;height:31px;border-radius:50%;background:#e9e9e1;border:4px solid var(--paper);position:relative;z-index:1;display:grid;place-items:center;font-size:10px}.tracker .done .circle{background:var(--green);color:white}.tracker .done{color:var(--green)}.history{display:grid;gap:16px;margin:20px 0 0}.history-row{display:grid;grid-template-columns:50px 1fr;gap:15px;font-size:12px}.history-row time{color:var(--muted)}.qr-payment{display:block;width:220px;max-width:100%;height:auto;margin:20px auto;border:1px solid var(--line);padding:10px;background:white}.login-wrap{max-width:450px;margin:60px auto}.login-wrap h1{font-size:37px}.overlay{position:fixed;inset:0;background:#20281e70;backdrop-filter:blur(3px);z-index:30;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:530px;max-width:100%;max-height:90dvh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 25px 100px #0003}.modal.wide{width:720px}.modal h2{font-size:30px}.choice-row{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0 20px}.choice{border:1px solid var(--line);border-radius:10px;padding:9px 15px;display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.choice:has(input:checked){background:var(--sage);border-color:#7d8c6d}.choice input{width:14px;height:14px}.addon-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between;gap:12px}.modal-foot{display:flex;gap:14px;margin-top:24px;align-items:center}.modal-foot .qty{height:44px;flex-shrink:0}.modal-foot .qty button{height:42px;width:38px}.modal-foot .qty span{font-size:14px}.modal-foot .button{flex:1}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(110px);z-index:100;background:var(--green);color:#fff;padding:13px 22px;border-radius:12px;font-size:13px;max-width:min(90vw,560px);box-shadow:var(--shadow);transition:transform .2s;pointer-events:none}#toast.show{transform:translateX(-50%) translateY(0)}.admin-layout{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.sidebar{padding:28px 22px;background:var(--green);color:#d6dfce;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{color:#fff9ea;margin:5px 0 35px}.sidebar .brand-mark{border:1px solid #ffffff40;background:none}.sidebar .brand-sub{color:#afbda5}.sidebar .eyebrow{color:#98a78d;margin:15px 0}.side-nav{display:flex;flex-direction:column;gap:6px}.side-nav a{padding:12px;border-radius:9px;font-size:12px;display:flex;gap:12px;align-items:center;color:#bac8b1}.side-nav a.active,.side-nav a:hover{background:#4b5845;color:#fff}.side-bottom{margin-top:auto;padding-top:25px;font-size:11px;color:#adbaa4}.side-bottom a{display:block;margin-top:10px}.admin-main{min-width:0}.admin-top{padding:22px 36px;background:var(--panel);border-bottom:1px solid var(--line);font-size:12px}.admin-content{padding:32px 36px 80px;max-width:1500px;margin:auto}.admin-title{margin-bottom:26px}.admin-title h1{font-size:37px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat{padding:21px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.stat .value{font:34px/1.3 Georgia;margin:9px 0 3px;word-break:break-word}.stat .value.money{font-size:25px}.stat .eyebrow{font-size:9px;letter-spacing:.12em}.admin-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-toolbar .search{max-width:300px;flex:1}.order-list{display:grid;gap:12px}.order-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,.8fr) auto;gap:20px;align-items:center}.order-card .code{font-size:11px;color:var(--muted);margin-bottom:5px}.order-card .location{font-size:12px;font-weight:600;overflow-wrap:anywhere}.order-card .amount{font:19px/1.4 Georgia;margin-bottom:8px}.order-card.pending{border-left:3px solid #ba8747}.order-card .small{overflow-wrap:anywhere}.admin-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.admin-menu-card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px;display:grid;gap:14px}.admin-menu-card .photo{height:130px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.settings-grid .panel h2{font-size:25px;margin-bottom:8px}.settings-grid .panel .form-grid{gap:14px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th,td{padding:13px 10px;border-bottom:1px solid var(--line)}th{font-weight:600;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}td input[type=number]{width:75px;padding:7px}td input[type=text]{min-width:160px}.route-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:19px 0}.route-card:last-child{border:0}.route-card h3{font-size:14px}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.print-only{display:none}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.break{overflow-wrap:anywhere}.ticket-list{display:grid;gap:15px;margin:20px 0}.ticket-list .between{align-items:flex-start;font-size:13px}.screen-error{max-width:640px;margin:80px auto;padding:30px}.spinner{animation:pulse 1s infinite}.summary-location{padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}body:has(.overlay){overflow:hidden}@keyframes pulse{50%{opacity:.4}}
@media(min-width:1500px){.header,.page,.footer{max-width:1340px}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.header,.page{padding-left:24px;padding-right:24px}.menu-layout{grid-template-columns:minmax(0,1fr) 295px;gap:20px}.menu-card{padding:16px}.admin-layout{grid-template-columns:190px 1fr}.sidebar{padding:24px 14px}.admin-content{padding:26px 22px}.admin-top{padding:20px 22px}.stats{grid-template-columns:repeat(2,1fr)}.order-card{grid-template-columns:1fr 1fr auto}.order-card .order-location{grid-column:1}.order-card .order-price{grid-column:2}.order-card .order-actions{grid-column:3;grid-row:1/3}.admin-menu-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.header{height:76px;padding:0 20px}.nav{gap:14px}.hero{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.hero h1{font-size:43px}.hero p{margin-top:12px}.hero .eyebrow{margin-bottom:10px}.delivery-card{padding:20px}.page{padding:25px 20px 110px}.menu-layout{display:block}.cart-panel{position:static;margin-top:25px}.menu-layout>.cart-panel{display:none}.menu-grid{gap:12px}.menu-card{min-height:185px}.menu-card .product-icon{width:38px;height:38px;border-radius:10px}.menu-card .product-icon .icon{width:20px}.mobile-cart{position:fixed;bottom:16px;left:16px;right:16px;z-index:12;background:var(--green);color:var(--paper);border:1px solid #43523b;border-radius:13px;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 30px #1d271640;font-size:13px}.mobile-cart .count{background:#53634b;padding:2px 8px;border-radius:7px;margin-right:9px}.support{bottom:90px;right:16px;padding:11px 14px}.checkout-grid{grid-template-columns:1fr}.checkout-grid>.cart-panel{position:static;grid-row:2}.step-head h1{font-size:34px}.footer{padding:22px 20px 100px}.tracking-hero{padding:25px}.tracking-hero h1{font-size:30px}.admin-layout{display:block}.sidebar{height:auto;position:static;padding:15px 20px}.sidebar .brand{margin:0}.sidebar .brand-mark{width:35px;height:35px;font-size:23px}.sidebar .brand-title{font-size:20px}.sidebar>.eyebrow,.side-bottom{display:none}.side-nav{flex-direction:row;overflow:auto;margin-top:15px;gap:6px}.side-nav a{white-space:nowrap;padding:9px 12px;font-size:11px;gap:7px}.side-nav .icon{width:16px;height:16px}.admin-top{padding:14px 20px}.admin-content{padding:25px 20px 70px}.admin-title{align-items:flex-start}.admin-title h1{font-size:31px}.settings-grid{grid-template-columns:1fr}.settings-grid>.span2{grid-column:1}.order-card{gap:12px;padding:16px}.stats{gap:10px}.stat{padding:15px}.stat .value{font-size:29px}.stat .value.money{font-size:23px}.overlay{padding:12px}.modal{padding:23px;max-height:94dvh}.modal h2{font-size:27px}.two-col{grid-template-columns:1fr}.desktop-only{display:none!important}.demo-banner{font-size:10px;padding:8px 12px}.demo-banner a{margin-left:8px}}
@media(max-width:470px){.brand-sub{font-size:8px;letter-spacing:.13em}.brand-title{font-size:21px}.brand-mark{width:38px;height:38px;font-size:26px}.header .nav a:first-child{display:none}.header .button{padding:8px 10px;min-height:37px;font-size:11px}.menu-grid{grid-template-columns:1fr 1fr}.menu-card{padding:14px;gap:13px;min-height:192px}.menu-card .product-icon{display:none}.menu-card h3{font-size:14px}.menu-card .meta{font-size:10px;gap:6px;flex-wrap:wrap}.menu-card .foot{align-items:flex-end}.menu-card .price{font-size:17px}.menu-card .button{font-size:11px;padding:7px 9px;min-height:34px}.menu-card .foot .button .icon{display:none}.tabs{gap:6px;flex-wrap:nowrap;overflow:auto;padding-bottom:5px;margin:17px 0}.tab{padding:8px 13px;font-size:11px}.form-grid{grid-template-columns:1fr}.span2{grid-column:1}.panel{padding:20px}.pay-choice{font-size:11px;min-height:95px}.pay-options{gap:7px}.admin-menu-grid{grid-template-columns:1fr}.order-card{grid-template-columns:1fr auto}.order-card .order-location{grid-column:1/-1;grid-row:2}.order-card .order-price{grid-column:1;grid-row:3}.order-card .order-actions{grid-column:2;grid-row:3}.admin-toolbar{flex-wrap:wrap}.admin-toolbar .search{max-width:none;flex-basis:100%}.admin-title .button{font-size:11px;padding:8px 10px}.route-card{flex-wrap:wrap}.route-card .flex{flex-wrap:wrap}.tracker li{font-size:9px}.hero h1{font-size:39px}}
@media print{body{background:white;color:black}.sidebar,.admin-top,.admin-title,.order-list,.stats,.demo-banner,.support,#toast,.no-print{display:none!important}.overlay{position:static;background:none;padding:0}.modal{border:0;max-height:none;overflow:visible;padding:0;width:100%;box-shadow:none}.modal .no-print,.modal-foot{display:none}.admin-layout,.admin-content,.admin-main{display:none}.print-only{display:block}.ticket-list{font-size:13px}}

/* Avoid offscreen toast artifacts and protect location header wrapping. */
#toast{opacity:0;visibility:hidden}#toast.show{opacity:1;visibility:visible}.delivery-card .flex{min-width:0}.delivery-card .iconbox{flex-shrink:0}

.menu-card:not(:has(.photo)){min-height:160px}.admin-toolbar select{width:auto;max-width:100%}
@media(max-width:470px){.menu-card:not(:has(.photo)){min-height:150px}.header .nav{gap:8px}.header .nav a{font-size:11px}}
