:root{--ink:oklch(20% .009 55);--bg:oklch(96% .012 80);--surface:oklch(99% .004 80);--line:oklch(86% .014 75);--muted:oklch(48% .016 60);--red:oklch(49% .19 27);--gold:oklch(75% .09 80);--green:oklch(40% .08 155);font-family:Barlow,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{border:0}input,select,textarea{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:11px 12px;max-width:100%}h1,h2,h3,p{margin:0}h1{font-size:1.8rem;line-height:1.2}h2{font-size:1.2rem;line-height:1.35}h3{font-size:1rem}p{margin-bottom:12px}small{font-size:.8rem}.muted{color:var(--muted);font-size:.85rem}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.13em;color:var(--red);margin-bottom:10px}.primary,.secondary,.quiet{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 17px;border-radius:7px;font-weight:650;font-size:.9rem;text-align:center}.primary{background:var(--red);color:var(--surface)}.primary:hover{background:oklch(42% .16 27)}.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:oklch(92% .014 80)}.quiet{background:transparent;color:var(--muted)}.quiet:hover{color:var(--red)}.full{width:100%}[hidden]{display:none!important}.topbar{min-height:86px;background:var(--ink);color:var(--surface);padding:10px 28px;display:flex;align-items:center;gap:28px}.topbar img{display:block;object-fit:contain;width:190px;height:auto;mix-blend-mode:lighten}.topbar>a:last-child{margin-left:auto;font-size:.85rem}.header-title{font-weight:650}.header-title small{display:block;color:oklch(78% .012 80);font-weight:400}.top-actions{display:flex;gap:24px;align-items:center;margin-left:auto;font-size:.85rem}.connection{font-size:.75rem;display:inline-flex;gap:7px;align-items:center;white-space:nowrap}.connection:before{content:'';width:7px;height:7px;display:inline-block;border-radius:50%;background:oklch(75% .13 155)}.connection.offline:before{background:var(--gold)}.demo-banner{background:oklch(91% .034 80);color:oklch(39% .04 60);font-size:.75rem;padding:8px 28px;text-align:center}.demo-banner a{text-decoration:underline;margin-left:15px}.intro{max-width:1250px;margin:auto;padding:70px 35px;display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}.intro h1{font-size:4.5rem;font-weight:600;letter-spacing:-.055em;margin-bottom:24px}.lead{font-size:1.15rem;max-width:45ch;color:var(--muted)}.intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}.intro-copy>.muted{max-width:57ch}.intro-food{width:100%;align-self:center;background:var(--ink);border-radius:12px}.howto{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;margin:40px 0;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.howto li{display:flex;gap:17px}.howto b{color:var(--red);font-size:1.3rem}.howto p{margin-top:10px;font-size:.9rem;color:var(--muted)}.source-note{grid-column:1/-1;max-width:85ch}.source-note p{font-size:.85rem;color:var(--muted);margin-top:14px}.staff-layout{display:grid;grid-template-columns:210px minmax(390px,1fr) 295px;min-height:calc(100vh - 120px);max-width:1800px;margin:auto}.table-sidebar{padding:28px 16px;border-right:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading span{font-size:.75rem;color:var(--muted)}.section-heading h1{font-size:1.4rem}.table-list{display:grid;gap:9px}.table-button{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:block;width:100%;padding:16px;text-align:left;color:var(--ink);position:relative}.table-button.active{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.table-button strong{display:block;font-size:1rem}.table-button small{color:var(--muted)}.table-button .count{position:absolute;right:12px;top:12px;background:var(--red);color:var(--surface);padding:2px 7px;border-radius:20px;font-size:.75rem}.sidebar-note{font-size:.78rem;color:var(--muted);line-height:1.7;margin:24px 2px}.service{padding:28px;min-width:0}.service-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.service-title p{color:var(--muted);font-size:.85rem;margin:7px 0 0}.pill{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:4px 10px;font-size:.73rem;font-weight:650;background:var(--surface)}.pill.open{color:var(--green);border-color:oklch(80% .05 155);background:oklch(95% .02 155)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:21px}.setup-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.setup-form label{display:grid;gap:6px;font-size:.8rem;font-weight:600}.setup-form label:first-child{grid-column:1/-1}.setup-form button{grid-column:1/-1}.setup-note{margin:16px 0 0;font-size:.78rem;color:var(--muted)}.active-service{display:flex;flex-wrap:wrap;gap:25px}.active-service span{font-size:.75rem;color:var(--muted);display:block}.active-service strong{font-size:1rem}.queue-heading{margin-top:28px}.order{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;overflow:hidden}.order-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.order-head small{color:var(--muted);margin-left:8px}.status{font-size:.7rem;padding:4px 9px;border-radius:20px;background:oklch(93% .025 80);color:oklch(43% .05 70);font-weight:650}.status.preparing{background:oklch(92% .05 70);color:oklch(40% .07 60)}.status.served{background:oklch(94% .03 155);color:var(--green)}.status.cancelled{background:var(--bg);color:var(--muted)}.order-lines{list-style:none;margin:0;padding:12px 20px}.order-lines li{display:flex;gap:12px;padding:7px 0}.order-lines li>b{min-width:24px;color:var(--red)}.order-lines li small{display:block;color:var(--muted)}.order-note{margin:0 20px 15px;padding:10px 12px;background:var(--bg);font-size:.85rem}.order-actions{padding:0 20px 18px;display:flex;gap:10px}.order-actions .quiet{margin-left:auto;font-size:.8rem}.empty{padding:35px 25px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:.9rem;line-height:1.7}.qr-sidebar{padding:28px 20px 28px 0}.qr-panel{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-bottom:18px}.qr-panel p{margin:0}.qr-panel canvas{width:200px!important;height:200px!important;max-width:100%;image-rendering:pixelated}.qr-panel a,.qr-panel button{width:100%}.qr-panel .muted{margin-bottom:8px}.bill-row{display:flex;justify-content:space-between;gap:15px;font-size:.87rem;margin:12px 0}.bill-total{font-size:1.2rem;border-top:1px solid var(--line);padding-top:13px}.request{display:flex;align-items:center;justify-content:space-between;gap:12px;background:oklch(93% .06 80);padding:15px;border-radius:8px;margin-top:16px;font-size:.9rem}.request button{min-height:40px}.fatal{max-width:600px;margin:50px auto}.fatal p{margin:20px 0}.guest-top{justify-content:space-between;padding:10px 20px;gap:15px;min-height:78px}.guest-top img{width:165px}.guest-top>div{text-align:right}.guest-top strong{display:block;font-size:.9rem}.guest-top .connection{font-size:.65rem}.guest-main{max-width:1040px;margin:auto;padding:25px 28px 130px}.guest-service{padding-bottom:20px}.guest-service h1{font-size:1.65rem;margin-bottom:9px}.guest-service .service-description{color:var(--muted);font-size:.9rem;margin-bottom:14px}.seat-picker{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:.85rem}.seat-picker select{flex:1;max-width:240px}.allowances{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.allowance{padding:10px 8px;border:1px solid var(--line);background:var(--surface);border-radius:7px;text-align:center}.allowance strong{display:block;font-size:1rem;color:var(--red)}.allowance span{font-size:.65rem;color:var(--muted)}.guest-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:20px}.guest-tabs button{background:none;padding:12px 2px;color:var(--muted);border-bottom:3px solid transparent;font-size:.9rem;font-weight:650}.guest-tabs button[aria-selected=true]{border-bottom-color:var(--red);color:var(--red)}.guest-tabs button span{font-size:.7rem}.menu-tools{position:sticky;top:0;z-index:2;background:var(--bg);padding:10px 0 14px}.search-label input{width:100%;font-size:.9rem}.categories{display:flex;gap:8px;overflow-x:auto;padding:14px 0 3px;scrollbar-width:thin}.categories button{flex-shrink:0;border:1px solid var(--line);background:var(--surface);border-radius:30px;padding:9px 14px;font-size:.72rem;color:var(--ink);min-height:40px}.categories button.selected{background:var(--ink);color:var(--surface);border-color:var(--ink)}.dishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dish{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.dish-img{height:180px;width:100%;object-fit:contain;background:oklch(15% .006 55)}.dish-no-photo{height:180px;background:oklch(92% .015 80);display:grid;place-items:center;font-size:.85rem;color:var(--muted)}.dish-body{padding:15px;display:flex;flex-direction:column;flex:1}.dish h3{font-size:.95rem;line-height:1.45;margin-bottom:10px;font-weight:650}.dish small{color:var(--muted);font-size:.72rem}.dish-bottom{margin-top:auto;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dish-price{color:var(--green);font-weight:600;font-size:.78rem}.dish-price.extra{color:var(--red)}.add-button,.qty-button{width:40px;height:40px;border-radius:8px;background:var(--red);color:var(--surface);font-size:1.35rem}.quantity{display:flex;align-items:center;gap:10px}.quantity .qty-button{width:34px;height:34px;font-size:1.1rem}.allergy-note{font-size:.8rem;color:var(--muted);margin-top:25px}.cart-bar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:5;display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:650px;width:calc(100% - 32px);background:var(--red);color:var(--surface);border-radius:10px;padding:18px;box-shadow:0 4px 20px #21151026;font-size:.9rem;min-height:62px}.cart-bar>span:first-child{background:#ffffff25;padding:2px 8px;border-radius:4px}.cart-bar>span:last-child{font-size:.8rem}.guest-help{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.guest-bill{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.waiting{text-align:center;padding:50px 20px;border:1px solid var(--line);background:var(--surface);border-radius:12px}.waiting h1{margin-bottom:15px}.waiting p{max-width:45ch;margin:12px auto;color:var(--muted)}.waiting-symbol{font-size:2rem;color:var(--red);margin-bottom:20px}.waiting small{color:var(--muted)}dialog{border:0;border-radius:14px;padding:24px;width:min(560px,calc(100% - 24px));max-height:90svh;overflow:auto;background:var(--surface);color:var(--ink)}dialog::backdrop{background:#17141199}.cart-dialog-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:20px}.icon-button{background:var(--bg);color:var(--ink);width:42px;height:42px;border-radius:50%;font-size:1.5rem}.cart-line{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-line h3{font-size:.9rem}.cart-line small{color:var(--muted)}.cart-line .quantity{flex-shrink:0}.note-field{display:grid;gap:7px;font-size:.8rem;margin:20px 0}.note-field textarea{width:100%;resize:vertical}.error{color:var(--red);font-size:.85rem}.error:empty{display:none}#cartDialog>.muted{text-align:center;margin:12px 0 0;font-size:.75rem}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);border-radius:8px;padding:12px 18px;max-width:calc(100% - 32px);width:max-content;z-index:30;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .15s}#toast.show{opacity:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.staff-layout{grid-template-columns:240px minmax(450px,1fr) 330px}.service{padding:35px}.qr-sidebar{padding-top:35px}}
@media(max-width:1100px){.staff-layout{grid-template-columns:160px minmax(350px,1fr) 250px}.service{padding:22px 18px}.qr-sidebar{padding:22px 14px 22px 0}.panel{padding:17px}.topbar{gap:18px}.top-actions{gap:12px}.header-title{font-size:.9rem}.table-button{padding:13px}.qr-panel canvas{width:180px!important;height:180px!important}.setup-form{gap:10px}}
@media(max-width:850px){.staff-layout{grid-template-columns:150px 1fr}.qr-sidebar{grid-column:2;padding:0 18px 30px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.qr-sidebar>.sidebar-note{grid-column:1/-1}.table-sidebar{grid-row:1/3}.header-title{display:none}.dishes{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{gap:25px;padding:45px 25px}.intro h1{font-size:3.5rem}.howto{grid-template-columns:1fr}.intro-food{align-self:start;margin-top:50px}}
@media(max-width:550px){.topbar{padding:10px 16px}.topbar img{width:150px}.topbar>a:last-child{font-size:.72rem;max-width:130px;text-align:right}.top-actions{flex-direction:column;gap:5px;align-items:flex-end;font-size:.7rem}.demo-banner{padding:8px 15px;font-size:.65rem}.demo-banner a{display:inline-block}.intro{grid-template-columns:1fr;padding:35px 24px}.intro h1{font-size:3.7rem}.intro-food{margin-top:0}.intro .lead{font-size:1rem}.howto{margin:15px 0;gap:25px}.source-note h2{font-size:1.1rem}.staff-layout{display:block}.table-sidebar{padding:20px 16px;border:0}.table-list{grid-template-columns:repeat(3,1fr);gap:8px}.table-button{padding:12px 9px}.table-button strong{font-size:.85rem}.table-button small{font-size:.65rem}.table-sidebar .sidebar-note{display:none}.table-button .count{top:6px;right:6px;padding:1px 5px;font-size:.65rem}.service{padding:10px 16px 22px}.service-title{margin-bottom:16px}.service-title h1{font-size:1.5rem}.setup-form{grid-template-columns:1fr 1fr}.qr-sidebar{display:block;padding:0 16px 30px}.qr-panel canvas{width:210px!important;height:210px!important}.guest-main{padding:22px 16px 120px}.guest-top img{width:155px}.guest-top>div{font-size:.8rem}.guest-service h1{font-size:1.45rem}.allowances{gap:6px}.allowance{padding:9px 4px}.allowance span{font-size:.59rem}.dishes{gap:12px}.dish-img,.dish-no-photo{height:130px}.dish-body{padding:11px}.dish h3{font-size:.8rem}.dish-price{font-size:.67rem}.dish-bottom{gap:4px;padding-top:12px}.add-button{width:36px;height:36px;flex-shrink:0}.quantity{gap:6px}.quantity .qty-button{width:30px;height:34px}.quantity>span{font-size:.8rem}.cart-bar{font-size:.82rem;gap:10px;padding:15px}.cart-bar>span:last-child{font-size:.72rem}.order-head{padding:14px}.order-lines{padding:10px 14px}.order-actions{padding:0 14px 15px}.order-head small{display:block;margin:2px 0 0}.cart-line{gap:10px}.cart-line h3{font-size:.8rem}.guest-help{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guest-help button{font-size:.8rem}}
@media print{body>*{display:none!important}body>.print-sheet{display:block!important;text-align:center;padding:30px}.print-sheet img{width:300px}.print-sheet h1{margin:15px}.print-sheet p{font-size:18px}}
/* The supplier publishes small dish thumbnails. Keep them at their natural display size. */
.dishes{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dish{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:stretch}.dish-img,.dish-no-photo{width:110px;height:110px;align-self:center}.dish-no-photo{font-size:.65rem;text-align:center;padding:12px}.dish-body{padding:12px}.dish h3{font-size:.86rem;margin-bottom:6px}.dish-bottom{padding-top:10px}.dish-price{font-size:.72rem}
@media(max-width:650px){.dishes{grid-template-columns:1fr}.dish{grid-template-columns:96px minmax(0,1fr)}.dish-img,.dish-no-photo{width:96px;height:100px}.dish-body{padding:12px}.dish h3{font-size:.88rem}.dish-price{font-size:.74rem}.dish-bottom{padding-top:8px}.add-button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
