@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans','Noto Sans SC',sans-serif;color:#30291d;background:#fffaf0;font-size:16px;--bg:#fffaf0;--tint:#fff2bf;--primary:#edc347;--ink:#30291d;--muted:#7e796d;--line:#e9e6dc;--shadow:0 8px 35px #45391308}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,a,select{cursor:pointer}button{border:0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b87904;outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.045em}h2{font-size:1.35rem;letter-spacing:-.03em}h3{font-size:1rem}p{line-height:1.7}small,.small{font-size:.8rem}img{max-width:100%;object-fit:cover}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - 1240px)/2));gap:20px;background:#ffffffdd}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.monogram{display:grid;place-items:center;width:42px;height:42px;background:var(--primary);border-radius:13px;font:700 21px Georgia}.brand strong{font:700 25px Georgia;display:block}.brand small{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.nav{display:flex;gap:24px;align-items:center}.nav a{padding:10px 0;color:var(--muted);font-size:.92rem}.nav a.active{color:var(--ink);font-weight:700;border-bottom:2px solid var(--primary)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.sub{margin-top:8px;color:var(--muted);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 18px;min-height:44px;font-weight:600;background:var(--primary);color:var(--ink);white-space:nowrap}.btn.secondary{background:#fff;border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--muted)}.btn.danger{background:#fff0ee;color:#b32925;border:1px solid #f5c7c4}.btn.small{padding:8px 12px;min-height:38px;font-size:.85rem}.btn.full{width:100%}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:6px;font-size:.76rem;font-weight:600;background:var(--tint)}.badge.green{background:#e8f6eb;color:#317044}.badge.red{background:#fff0ef;color:#af332b}.badge.blue{background:#e3f0fd;color:#2b638f}.demo{padding:8px 24px;background:#f5f2e9;display:flex;justify-content:center;gap:10px;align-items:center;font-size:.76rem;color:#766f5b}.container{max-width:1240px;margin:auto;padding:32px 24px 100px}.hero{position:relative;overflow:hidden;min-height:320px;border-radius:22px;background:#f3e3b8;display:grid;grid-template-columns:1fr 1fr}.hero-copy{padding:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:#8d6824}.hero h1{font-size:2.7rem;line-height:1.3}.hero img{width:100%;height:100%;max-height:400px}.hero-art{background:#e7c275;display:grid;place-items:center;font:700 72px Georgia}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 18px;gap:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:24px;box-shadow:var(--shadow)}.food-card{padding:0;overflow:hidden;position:relative}.food-card img{height:180px;width:100%;display:block}.food-body{padding:18px}.food-body h3{font-size:1.05rem}.food-body .sub{min-height:25px}.food-body .row{margin-top:18px}.food-card .floating{position:absolute;top:12px;left:12px}.plus{font-size:22px;width:38px;height:38px;border-radius:10px;background:var(--primary)}.info-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0;gap:16px}.info-strip>div{padding:18px 22px;background:white;border:1px solid var(--line);border-radius:12px}.info-strip strong{display:block;margin-bottom:5px}.promo{background:var(--tint);border:1px solid #eddfa6;border-radius:14px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.segmented{display:inline-flex;background:#f1f1ed;border-radius:10px;padding:4px}.segmented button{padding:10px 22px;background:none;border-radius:7px;font-size:.9rem}.segmented button.active{background:var(--primary);box-shadow:0 2px 6px #0000000c}.footer{border-top:1px solid var(--line);padding:28px 0;margin-top:36px;display:flex;justify-content:space-between;gap:22px;font-size:.85rem;color:var(--muted)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}.search{flex:1;min-width:180px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:.87rem;font-weight:500}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:white;border:1px solid #dddcd4;border-radius:9px;padding:12px;color:var(--ink);width:100%;min-height:44px}textarea{min-height:85px;resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:18px;height:18px;flex-shrink:0}input[type=range]{width:100%}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px}.chip{white-space:nowrap;background:white;border:1px solid var(--line);padding:10px 18px;border-radius:24px}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px;align-items:start}.sticky{position:sticky;top:20px}.money-row{display:flex;justify-content:space-between;padding:10px 0;gap:16px}.total{font-size:1.2rem;font-weight:700;border-top:1px solid var(--line);padding:18px 0;margin-top:6px}.discount{color:#9b6120}.line-item{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.line-item img{width:76px;height:76px;border-radius:10px}.grow{flex:1;min-width:0}.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden}.quantity button{width:34px;height:34px;background:#faf9f6}.quantity span{min-width:28px;text-align:center}.alert{padding:16px;border-radius:10px;background:#fff1ed;border:1px solid #f1c5bc;color:#a33b29;line-height:1.7;font-size:.9rem;margin:16px 0}.notice{padding:14px 18px;border-radius:10px;background:var(--tint);font-size:.85rem;line-height:1.7;margin:16px 0}.check{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:.9rem}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.empty{text-align:center;padding:65px 25px}.empty h2{margin:12px}.empty .btn{margin-top:20px}.timeline{border-left:2px solid var(--line);margin:26px 12px;padding:0 0 0 28px}.step{position:relative;margin:0 0 25px}.step:before{content:'';width:12px;height:12px;background:#e0dfd9;border:4px solid white;border-radius:50%;position:absolute;left:-36px;top:2px}.step.done:before{background:#5d9567}.step.current:before{background:var(--primary);box-shadow:0 0 0 3px var(--tint)}.bottom-nav{display:none}.basket-float{position:fixed;bottom:24px;right:32px;box-shadow:0 8px 25px #80662830;z-index:5}.order-card{display:block}.order-card:hover{border-color:var(--primary)}dialog{border:0;border-radius:18px;padding:0;max-width:640px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 25px 120px #0004;color:var(--ink)}dialog::backdrop{background:#18233070;backdrop-filter:blur(3px)}.modal-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:white;z-index:2}.modal-body{padding:24px}.close{background:#f3f4f5;border-radius:50%;width:34px;height:34px;font-size:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--line);position:sticky;bottom:0;background:white}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);padding:12px 22px;background:#243a35;color:white;border-radius:10px;z-index:100;display:none;max-width:90vw;box-shadow:0 8px 30px #0002}.merchant{--bg:#f0f6fc;--tint:#e0effe;--primary:#235f8c;--ink:#183653;--muted:#6f8396;--line:#dfe8f0;background:var(--bg);min-height:100vh}.merchant .btn:not(.secondary):not(.ghost):not(.danger),.merchant .segmented button.active{color:white}.merchant header{padding:0 28px;height:80px;background:#fff;position:sticky;top:0;z-index:8}.merchant .monogram{color:white}.portal-layout{display:grid;grid-template-columns:210px minmax(0,1fr)}.sidebar{background:#e8f2fc;border-right:1px solid var(--line);padding:24px 16px;min-height:calc(100vh - 110px);position:sticky;top:80px;height:calc(100vh - 80px)}.sidebar a{display:flex;align-items:center;gap:13px;padding:13px 15px;margin-bottom:7px;border-radius:9px;font-size:.9rem}.sidebar a.active{background:#cfe5fa;font-weight:700;color:#164e7f}.sidebar .side-label{font-size:.72rem;letter-spacing:.08em;padding:0 14px 18px;color:var(--muted)}.portal-main{padding:30px;min-width:0;max-width:1600px;width:100%;margin:auto}.portal-main .section-title:first-child{margin-top:0}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:24px 0}.stat{padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font-size:1.7rem;margin:12px 0}.stat span{font-size:.82rem;color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:16px;overflow:auto;align-items:start;padding-bottom:14px}.column{background:#e7f0f8;border-radius:13px;padding:12px;min-height:220px}.column h3{padding:4px 2px 14px}.column .card{padding:17px;margin-bottom:12px}.column .btn{width:100%;margin-top:12px}.column .alert{font-size:.78rem;padding:8px;margin:12px 0}.column .sub{font-size:.8rem}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:.88rem}th{background:#f2f7fc;padding:15px;color:#5d7185;font-weight:500}td{padding:15px;border-top:1px solid var(--line)}td img{width:48px;height:48px;border-radius:9px;vertical-align:middle;margin-right:10px}.switch{background:#d4dde3;border-radius:15px;width:40px;height:24px;padding:3px;display:inline-flex;align-items:center}.switch:before{content:'';width:18px;height:18px;border-radius:50%;background:#fff}.switch.on{background:#2c987e}.switch.on:before{margin-left:16px}.portal-main .two-col{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}.receipt{background:white;padding:25px;font-family:monospace;border-top:4px dashed #d3dbe2;font-size:14px}.receipt .center{text-align:center}.receipt hr{border:0;border-top:1px dashed #777;margin:18px 0}.chart{height:210px;display:flex;align-items:end;gap:10px;padding-top:24px}.bar{background:#a4cbed;border-radius:5px 5px 0 0;flex:1;min-width:8px;position:relative}.bar:nth-child(3n){background:#3376a5}.bar span{position:absolute;bottom:-23px;width:100%;text-align:center;font-size:.7rem;color:var(--muted)}.chart-card{padding-bottom:45px}.settings-grid{display:grid;grid-template-columns:210px 1fr;gap:24px}.settings-menu a{display:block;padding:13px;border-radius:8px;margin:4px 0}.settings-menu a.active{background:var(--tint);font-weight:600}.upload-area{padding:24px;border:2px dashed #b5cadb;border-radius:12px;background:#f5f9fe;text-align:center}.crop-preview{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}.pill-number{background:#d94742;color:white;border-radius:20px;padding:1px 6px;font-size:.75rem;margin-left:auto}.link{color:#986c19;font-weight:600}.merchant .link{color:#235f8c}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.right{text-align:right}.mobile-only{display:none}.page-top{margin-bottom:24px}.icon{width:19px;height:19px;display:inline-block;vertical-align:middle;flex-shrink:0}.login-card{max-width:430px;margin:50px auto}.receipt-only{display:none}@media(min-width:1500px){.container{padding-top:40px}.hero{min-height:370px}}@media(max-width:1100px){.nav{gap:16px}.stats{grid-template-columns:repeat(3,1fr)}.portal-layout{grid-template-columns:180px 1fr}.portal-main{padding:24px}.grid{gap:14px}.portal-main .two-col{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(4,240px)}}@media(max-width:760px){header{height:74px;padding:0 18px}.brand strong{font-size:22px}.nav{display:none}.container{padding:22px 16px 125px}.hero{display:block;min-height:0}.hero-copy{padding:26px;position:relative;z-index:1;background:linear-gradient(90deg,#fff0c9ed,#fff0c9b5);min-height:280px}.hero h1{font-size:2rem}.hero img,.hero-art{position:absolute;inset:0;height:100%;width:100%;max-height:none}.hero-copy p{max-width:220px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.food-card img{height:145px}.food-body{padding:13px}.food-body h3{font-size:.95rem}.food-body .sub{font-size:.74rem}.food-body .row{margin-top:12px}.info-strip{gap:8px}.info-strip>div{padding:12px 8px;font-size:.75rem;text-align:center}.info-strip strong{font-size:.84rem}.promo{padding:18px;font-size:.85rem}.promo h2{font-size:1.12rem}.two-col{grid-template-columns:1fr}.sticky{position:static}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#ffffffed;backdrop-filter:blur(14px);border-top:1px solid var(--line);justify-content:space-around;padding:12px 4px max(12px,env(safe-area-inset-bottom));z-index:10}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.72rem;color:var(--muted)}.bottom-nav a.active{color:#a17510;font-weight:700}.basket-float{bottom:82px;right:16px;left:16px;justify-content:space-between}.footer{flex-direction:column;gap:16px}.demo{font-size:.7rem;padding:7px 12px}.desktop-only{display:none!important}.mobile-only{display:block}.card{padding:19px}.line-item{gap:10px;flex-wrap:wrap}.line-item img{width:62px;height:62px}.merchant header{padding:0 14px;height:72px}.merchant header .brand small{font-size:9px}.merchant .portal-layout{display:block}.sidebar{position:static;height:auto;min-height:0;display:flex;overflow:auto;padding:10px;gap:4px;border-bottom:1px solid var(--line)}.sidebar a{white-space:nowrap;margin:0;padding:9px 12px;font-size:.8rem}.sidebar .side-label{display:none}.sidebar .icon{display:none}.portal-main{padding:20px 14px 45px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:16px}.stat strong{font-size:1.5rem}.settings-grid{display:block}.settings-menu{display:flex;overflow:auto;gap:6px;margin-bottom:18px}.settings-menu a{white-space:nowrap;font-size:.84rem}.section-title{flex-wrap:wrap}h1{font-size:1.6rem}.merchant .demo{justify-content:flex-start}.check-grid{grid-template-columns:1fr}.modal-body{padding:18px}.modal-footer{padding:16px}.line-item .quantity{margin-left:auto}}@media print{body>*{display:none!important}body>.receipt-only{display:block!important;width:var(--receipt-width,80mm);margin:0;color:black}.receipt{padding:3mm;border:0;font-size:12px}.receipt .alert{color:black;border:2px solid black;background:white;font-weight:bold} @page{margin:3mm}}
.food-placeholder{height:180px;background:linear-gradient(145deg,#f4ead1,#f9f6ed);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#998966}.food-placeholder span{font-size:1.2rem;font-weight:600}.food-placeholder small{font-size:.75rem;color:#a69b85}.detail-img{width:100%;height:260px;border-radius:12px}.line-item .food-placeholder{width:76px;height:76px;flex-shrink:0;border-radius:10px}.line-item .food-placeholder small{display:none}.line-item .food-placeholder span{font-size:.82rem}.merchant .food-placeholder{background:#eff5fa}#imageResult{margin-top:16px}@media(max-width:760px){.food-placeholder{height:145px}.line-item .food-placeholder{width:62px;height:62px}.hero img{object-position:65%}.hero-copy{background:linear-gradient(90deg,#fff4dbee,#fff4db80)}.hero-copy h1{font-weight:800}.detail-img{height:220px}}
.merchant{color:var(--ink)}@media(max-width:760px){.card.food-card{padding:0}.food-card .food-body{padding:15px}.info-strip>div{line-height:1.5}.info-strip strong{font-size:.8rem}}
.language-switch{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:0 7px;min-height:40px}.language-switch select{border:0;padding:8px 4px;min-height:38px;font-size:.84rem;max-width:112px;background:transparent}.flash-section{margin:30px 0 40px;padding:24px;background:#fff2d4;border:1px solid #efdca9;border-radius:18px}.flash-section .section-title{margin:0 0 10px}.flash-section h2{color:#9d3d24;display:flex;align-items:center;gap:10px}.flash-badge{background:#fce1cb;color:#a93c22;font-size:.72rem}.deal-disclaimer{font-size:.8rem;color:#7b705e;margin-bottom:18px;line-height:1.7}.flash-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(225px,1fr);gap:16px;overflow-x:auto;padding:0 0 8px}.flash-grid .food-card{box-shadow:none}.flash-grid .food-card img,.flash-grid .food-placeholder{height:155px}.deal-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.deal-price strong{color:#b63925;font-size:1.25rem}.deal-price del{font-size:.82rem;color:#8c8377}.offer-label{font-size:.68rem;font-weight:700;border-radius:4px;background:#fbe3d9;color:#a93524;padding:3px 5px}.threshold-offer{display:block;font-size:.72rem;font-weight:600;color:#a65325;margin-top:6px;max-width:185px}.food-body .row{align-items:flex-end}.food-body .plus{flex-shrink:0}.hero{background-color:#fff0bd;background-image:url('assets/ink-banner.png');background-size:cover;background-blend-mode:multiply}.hero-copy{background:#fff4d585}.menu-banner,.portal-banner{position:relative;background-image:url('assets/ink-banner.png');background-size:cover;background-position:center;background-blend-mode:multiply;border:1px solid var(--line);border-radius:16px;padding:25px 28px;background-color:#fff2c6}.portal-banner{margin-bottom:28px;background-color:#e3f1ff;color:#254d70}.portal-banner h2{margin:8px 0;font-size:1.55rem}.portal-banner p{font-size:.82rem;color:#56738e}.portal-banner .eyebrow{color:#506f8d}.kitchen-preview{max-width:100%;overflow:auto;padding:12px;background:#edf1f5}.kitchen-preview .receipt{width:var(--receipt-width,80mm);max-width:100%;margin:auto;color:#000;font-family:Arial,'Noto Sans SC',sans-serif;border:1px solid #ccd3da;padding:4mm}.kitchen-ticket h1{font-size:32px;margin:12px 0}.kitchen-ticket h2{font-size:18px;line-height:1.4}.kitchen-ticket h3{font-size:14px;line-height:1.5}.kitchen-ticket p{font-size:13px;line-height:1.55;overflow-wrap:anywhere}.kitchen-time{border:2px solid #000;padding:9px;margin-bottom:12px}.kitchen-time>strong{font-size:11px}.kitchen-time p{font-size:18px;font-weight:bold}.kitchen-allergy{border:3px solid #000;padding:8px;margin-bottom:12px}.kitchen-allergy strong{font-size:13px}.kitchen-allergy p{font-size:18px;font-weight:700}.kitchen-dish{display:flex;gap:10px;border-bottom:1px dashed #777;padding:12px 0;break-inside:avoid}.kitchen-quantity{font-size:22px;font-weight:700;flex-shrink:0}.kitchen-dish>div:last-child{min-width:0;overflow-wrap:anywhere}.kitchen-ticket hr{margin:12px 0}.kitchen-print{gap:6px}.merchant .kitchen-print{border-color:#adc5d8;color:#205780}.merchant .column .btn.ghost{margin-top:5px}@media(max-width:760px){.language-switch{padding:0 4px;gap:2px}.language-switch select{max-width:94px;font-size:.76rem}header{gap:8px}header>.row{gap:7px}.brand{gap:8px}.brand strong{font-size:20px}.brand small{font-size:8px}.monogram{width:34px;height:36px;font-size:18px}.flash-section{padding:16px;margin:24px -2px}.flash-grid{grid-auto-columns:220px}.deal-price strong{font-size:1.15rem}.hero-copy{background:linear-gradient(90deg,#fff5d9f2,#fff5d980)}.menu-banner,.portal-banner{padding:22px 18px}.menu-banner h1{font-size:1.5rem}.portal-banner{margin-bottom:22px}}@media print{.receipt-only .kitchen-ticket{font-family:Arial,'Noto Sans SC',sans-serif;padding:1mm 2mm;width:100%;box-sizing:border-box}.kitchen-ticket *{color:#000!important;box-shadow:none!important}.kitchen-dish,.kitchen-allergy,.kitchen-time{break-inside:avoid}.receipt-only{max-width:100%}.kitchen-ticket .small{font-size:11px}}
@media print{html,body{background:white!important;min-height:0!important;height:auto!important}body{width:var(--receipt-width,80mm)!important;margin:0!important;padding:0!important}.receipt-only{margin:0!important;padding:0!important}}
.customer-details{display:grid;grid-template-columns:110px 1fr;gap:14px 20px;margin:0}.customer-details dt{font-size:.88rem;color:var(--muted)}.customer-details dd{margin:0;overflow-wrap:anywhere}.product-promotions{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:10px}.product-promotions .check{align-items:flex-start}.product-promotions small{display:block;margin-top:4px}.merchant .language-switch{color:var(--ink)}html[lang=en-GB] .merchant .column .btn{white-space:normal}.merchant .row.wrap .btn{white-space:normal}
/* Compact customer and merchant layouts from the September review. */
.container{padding-top:16px}.container>.section-title:first-child{margin-top:0}.home-status{margin:0 0 14px;gap:12px}.service-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 20px;font-size:.8rem;color:var(--muted)}.service-summary strong{color:var(--ink);font-weight:500}.basket-mode{margin:12px 0 20px}.basket-mode .segmented{width:100%}.basket-mode button{flex:1}.container>.flash-section:first-child{margin-top:0}.flash-section{margin:20px 0 24px;padding:18px}.section-title{margin:22px 0 14px}.dashboard-time{font-size:.95rem;font-weight:500}.merchant header{height:68px}.sidebar{top:68px;height:calc(100vh - 68px);min-height:0;padding:16px 12px}.sidebar a{padding:11px 12px;margin-bottom:4px}.portal-main{padding:18px 22px}.portal-main .page-top{margin-bottom:16px}.portal-main .card{padding:18px}.portal-main .stats{margin:16px 0;gap:12px}.portal-main .stat{padding:14px}.portal-main .stat strong{margin:8px 0;font-size:1.5rem}.portal-main .toolbar{margin:14px 0}.portal-main .two-col,.settings-grid{gap:18px}.portal-main th,.portal-main td{padding:11px 13px}.portal-main .divider{margin:16px 0}.portal-main .line-item{padding:12px 0}.portal-main .column .card{padding:12px;margin-bottom:10px}.portal-main .column .btn{margin-top:8px}.portal-main .field{margin-bottom:14px}.portal-main .notice,.portal-main .alert{margin:12px 0;padding:12px 14px}
@media(max-width:760px){.container{padding-top:12px}.home-status{gap:8px;margin-bottom:12px}.service-summary{justify-content:flex-start;gap:4px;width:100%;font-size:.75rem}.service-summary span{display:block;width:100%}.hero-copy{min-height:230px;padding:22px;gap:12px}.hero h1{font-size:1.8rem}.flash-section{padding:14px;margin:16px 0 20px}.flash-section .section-title{gap:8px}.merchant header{height:64px}.sidebar{height:auto;padding:8px}.sidebar a{margin:0;padding:9px 11px}.portal-main{padding:14px 12px 32px}.portal-main .card{padding:15px}.portal-main .stat{padding:12px}.portal-main .stats{gap:8px}.dashboard-time{font-size:.84rem}}
.portal-main{align-self:start;margin:0 auto}

.address-hint{margin:-6px 0 16px}

/* Optional delivery tracking uses the existing customer/merchant card themes. */
.delivery-tracking{margin-bottom:20px;max-width:100%;overflow:hidden;container-type:inline-size}.tracking-status{display:block;font-size:1.1rem;margin-top:14px}.delivery-tracking[data-health=LIVE] .tracking-status::before{content:"● ";color:#207546}.delivery-tracking[data-health=STALE] .tracking-status::before,.delivery-tracking[data-health=LAST_KNOWN] .tracking-status::before{content:"◷ ";color:#926300}.delivery-tracking[data-health=ERROR] .tracking-status::before{content:"⚠ ";color:#b53323}.delivery-map{width:100%;height:min(560px,100cqi);isolation:isolate;margin-top:16px;border-radius:12px;overflow:hidden;background:#eef1ee}.delivery-map[hidden]{display:none}.delivery-tracking button{min-height:44px}.delivery-tracking .leaflet-control-attribution{font-size:11px;max-width:100%;overflow-wrap:anywhere}@media(max-width:600px){.delivery-tracking .row{display:grid;grid-template-columns:1fr}}.delivery-tracking .map-fit{font-size:18px;line-height:30px;text-align:center;text-decoration:none;color:#222}
[hidden]{display:none!important}
.header-clock{font-size:1.05rem;font-weight:600;color:var(--ink);white-space:nowrap}@media(max-width:760px){.header-clock{font-size:.8rem}}.receipt-qr{margin-top:14px}.receipt-qr svg{display:inline-block}
.back-button{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--ink);margin:0 0 16px}.back-button .icon{width:22px;height:22px}
.order-items{margin:16px 0}@media(max-width:760px){.order-grid{grid-template-columns:1fr}}
.tracking-eta{font-size:1.05rem;font-weight:600;margin-top:6px}.tracking-eta:empty{display:none}
.map-legend{display:flex;gap:16px;margin-top:8px}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid #193b59}.legend-dot.driver{background:#edb52f}.legend-dot.home{background:#2b6fb3;border-color:#fff;box-shadow:0 0 0 1px #2b6fb3}
.delivery-tracking .leaflet-control-attribution{font-size:9px;padding:0 4px;background:#ffffffb3;color:#6b7280}.delivery-tracking .leaflet-control-attribution a{color:#6b7280;text-decoration:none}
.order-actions{display:flex;flex-wrap:nowrap;gap:8px;margin-top:14px;overflow-x:auto;padding-bottom:4px;max-width:100%}.order-actions .btn{flex-shrink:0;padding:8px 12px;min-height:38px;font-size:.85rem}.portal-main .section-title>div:first-child{min-width:0;flex:1}
.tracking-note{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:10px}.tracking-status:empty,.delivery-tracking .sub:empty{display:none}
.footer-link{text-decoration:underline;text-underline-offset:3px}
.back-button.order-back{margin:0 10px 0 0}
.tracking-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tracking-head h2{margin:0;white-space:nowrap}.tracking-title-actions,.tracking-actions,.tracking-driver-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.tracking-title-actions{flex:1}.tracking-driver-actions{margin-left:auto}.tracking-actions:not(:has(button:not([hidden]))){display:none}.tracking-driver{font-size:1.05rem;font-weight:600;margin:0;overflow-wrap:anywhere}.tracking-driver:empty{display:none}.tracking-title-actions .tracking-note{margin-left:0}.tracking-note:empty{display:none}@media(max-width:600px){.tracking-title-actions{flex-basis:100%}.tracking-driver-actions{margin-left:0}}

/* Customer add buttons sit below the photo, aligned to its right edge. */
.food-photo{display:flex;flex-direction:column}.food-photo>.plus,.catalog-media>.plus{position:static;display:grid;place-items:center;flex-shrink:0;min-width:38px;height:38px;margin:8px 0 0 auto;border-radius:10px;background:var(--primary)}.food-photo>.plus{margin-right:8px}.catalog-media>.plus:disabled{width:auto;max-width:100%;font-size:11px;padding:0 5px}

.receipt-qr{break-inside:avoid;page-break-inside:avoid}.receipt-qr .receipt-qr-headline{margin:8px 0 4px;font-size:14px;font-weight:800;line-height:1.35;color:#000}.receipt-qr .receipt-qr-caption{margin:0;font-size:11px;line-height:1.4;color:#000}

.receipt-thanks{margin-top:12px}

/* Basket: reserve readable space for names and put controls on their own row. */
.basket-layout>*{min-width:0}.basket-items{padding:8px 24px 16px}.basket-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px 16px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.basket-item-photo img,.basket-item-photo .food-placeholder{display:block;width:88px;height:88px;border-radius:12px;object-fit:cover}.basket-item-photo .food-placeholder{display:flex;font-size:12px;padding:6px;overflow:hidden}.basket-item-photo .food-placeholder small{display:none}.basket-item-details{min-width:0}.basket-item-details h3{font-size:1.05rem;line-height:1.45;overflow-wrap:anywhere}.basket-item-details p{line-height:1.5;margin:5px 0 8px;overflow-wrap:anywhere}.basket-item-details>strong{display:block;font-size:1.1rem}.basket-item-actions{grid-column:2;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.basket-item-actions .quantity{order:3;margin-left:auto;flex-shrink:0}.basket-item-actions .quantity button{min-width:40px;min-height:40px}.basket-item-actions .btn{min-height:40px;padding:8px 10px}.basket-item-actions [data-action=removeLine]{font-size:20px}.basket-add-more{margin-top:12px;width:100%;border:1px dashed var(--line);background:var(--bg)}.basket-summary .basket-mode{margin:16px 0 24px}.basket-summary>.btn.full{margin-top:16px}@media(max-width:760px){.basket-items{padding:0 16px 16px}.basket-item{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:20px 0}.basket-item-photo img,.basket-item-photo .food-placeholder{width:72px;height:72px}.basket-item-actions{grid-column:1/-1}.basket-item-details h3{font-size:1rem}.basket-layout{gap:18px}}
