@font-face{font-family:Nunito;src:url(fonts/Nunito.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/PlayfairDisplay.woff2) format("woff2");font-weight:600 800;font-display:swap}
:root{--cream:#faf3e6;--paper:#fffaf0;--ink:#2b1d14;--terra:#c8452d;--terra-d:#a53621;--olive:#5b6b3a;--gold:#c9962b;--line:#e6d8bf;--muted:#7d6b5a;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.45 Nunito,system-ui,sans-serif;background-image:radial-gradient(#e9dcc3 1px,transparent 1px);background-size:22px 22px}
h1,h2,h3,.brand,.bigmoney{font-family:"Playfair Display",Georgia,serif;font-weight:700;line-height:1.15;margin:.2em 0 .5em}
h1{font-size:clamp(2rem,6vw,3.2rem)}h2{font-size:1.7rem}h3{font-size:1.2rem}
a{color:var(--terra)}.hidden{display:none!important}.center{text-align:center}.muted{color:var(--muted)}.small,small{font-size:.85rem}.ok{color:var(--olive)}.err{color:var(--terra-d)}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;background:var(--ink);color:var(--cream);position:sticky;top:0;z-index:20}
.brand{font-size:1.5rem;color:var(--cream);text-decoration:none}.brand span{color:var(--gold)}.who{display:flex;gap:.6rem;align-items:center}
.shell{max-width:1100px;margin:0 auto;padding:1rem}.narrow{max-width:560px;margin:0 auto;padding:1rem}
.landing{max-width:1000px;margin:0 auto;padding:1.5rem 1rem;display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:800px){.landing{grid-template-columns:1.2fr 1fr;align-items:start}}
.perks{list-style:none;padding:0;display:grid;gap:.4rem}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800;color:var(--terra);margin:0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1rem;box-shadow:0 2px 0 var(--line);margin:.6rem 0}
label{display:block;font-weight:700;font-size:.9rem;margin:.6rem 0}
input,select,textarea{width:100%;font:inherit;padding:.6rem .7rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);margin-top:.2rem}
input[type=checkbox],input[type=radio]{width:auto;margin-right:.4rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.check{display:flex;align-items:center;font-weight:600}
.btn{font:inherit;font-weight:800;background:var(--terra);color:#fff;border:0;border-radius:999px;padding:.65rem 1.2rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{background:var(--terra-d)}.btn.ghost{background:transparent;color:var(--terra);border:1.5px solid var(--terra)}
.topbar .btn.ghost{color:var(--cream);border-color:var(--cream)}
.btn.small{padding:.3rem .8rem;font-size:.85rem}.btn.big{width:100%;padding:.9rem;font-size:1.1rem;margin-top:.6rem}.btn.danger{background:#8c2a1a}
.btn:disabled{opacity:.5}
.link{background:none;border:0;color:var(--terra);font:inherit;font-weight:700;cursor:pointer;padding:.2rem;text-decoration:underline}.link.danger{color:#8c2a1a}
.row{display:flex;gap:.6rem;align-items:center;justify-content:space-between}.row.wrap{flex-wrap:wrap;justify-content:flex-start}
.row>label{flex:1}
.grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.cols{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.chips,.seg{display:flex;gap:.4rem;overflow-x:auto;padding:.3rem 0}
.chip,.seg button,.topnav button{font:inherit;font-weight:700;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);padding:.4rem .9rem;border-radius:999px;cursor:pointer;white-space:nowrap}
.chip.on,.seg button.on,.topnav button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.topnav{display:flex;gap:.4rem;margin:.5rem 0 1rem;flex-wrap:wrap}.topnav.scroll{flex-wrap:nowrap;overflow-x:auto}
.titlebar{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.sect{border-bottom:2px dotted var(--line);padding-bottom:.3rem;margin-top:1.4rem}
.dishes{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.dish{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.dish img,.noimg{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--line);display:flex;align-items:center;justify-content:center;font-size:2.4rem}
.dbody{padding:.7rem;flex:1}.dbody h3{margin:0 0 .2rem;font-size:1.05rem}.dfoot{display:flex;justify-content:space-between;align-items:center;padding:.6rem .7rem;border-top:1px dashed var(--line)}
.dfoot b{color:var(--terra)}
.qty{display:inline-flex;align-items:center;gap:.5rem}.qty button{width:2rem;height:2rem;border-radius:50%;border:0;background:var(--terra);color:#fff;font-weight:800;font-size:1.1rem;cursor:pointer}
.cartbar{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:var(--cream);z-index:15;padding:.6rem 1rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}
.cart-inner{max-width:560px;margin:0 auto}.cart-row{display:flex;justify-content:space-between;gap:.5rem;padding:.15rem 0}
.dhead,.welcome{text-align:center;padding:.5rem 0}.table-badge{display:inline-block;background:var(--gold);color:var(--ink);font-weight:800;border-radius:999px;padding:.15rem .8rem}
.receipt{background:#fff;border:1px solid var(--line);padding:1rem;font-family:"Courier New",monospace;font-size:.9rem;border-radius:6px;box-shadow:0 3px 10px #0001}
.rc-head{text-align:center;border-bottom:1px dashed #999;padding-bottom:.5rem;margin-bottom:.5rem}.rc-meta,.rc-foot{font-size:.8rem;text-align:center}
.receipt table{width:100%;border-collapse:collapse}.receipt td{padding:.15rem 0;vertical-align:top}td.r,th.r{text-align:right}
.receipt tr.sep td{border-top:1px dashed #999}.receipt tr.tot td{font-weight:800;font-size:1.05rem;border-top:2px solid #000}
.order{border:1px solid var(--line);border-left:5px solid var(--gold);background:var(--paper);border-radius:10px;padding:.6rem;margin:.5rem 0}
.order.ready{border-left-color:var(--olive)}.order.delivered{border-left-color:var(--muted);opacity:.8}.order.cancelled{opacity:.5;border-left-color:#999}
.ohead{display:flex;justify-content:space-between}.oline{display:flex;justify-content:space-between}.oline.big{font-size:1.2rem;font-weight:700}
.badge{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;border-radius:999px;padding:.1rem .6rem;background:var(--line)}
.badge.new,.badge.pending{background:#f6e2a8}.badge.ready,.badge.confirmed{background:#cfdcae}.badge.delivered{background:#ddd}.badge.cancelled,.badge.rejected{background:#f0bfb5}
.radios{display:grid;gap:.5rem}.radio{display:flex;align-items:center;gap:.6rem;border:1.5px solid var(--line);border-radius:12px;padding:.7rem;background:#fff;cursor:pointer;font-weight:700}
.radio.on{border-color:var(--terra);background:#fdeee9}
.total-card{background:var(--ink);color:var(--cream);border-radius:var(--r);padding:1rem;text-align:center}
.bigmoney{font-size:2.2rem;color:var(--gold)}
.waiting{text-align:center;padding:2rem 1rem}.pulse{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--terra);animation:pulse 1.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 #c8452d88}100%{box-shadow:0 0 0 18px #c8452d00}}
.notice{background:#fff3cf;border:1px solid var(--gold);border-radius:10px;padding:.6rem .8rem;margin:.6rem 0}
.alertcard{border:2px solid var(--gold);background:#fffdf5;border-radius:var(--r);padding:.8rem;margin:.6rem 0;display:grid;gap:.4rem}
.alertcard.pay{border-color:var(--terra);background:#fff1ed}.alertcard.call{border-color:var(--gold)}.alertcard.ready{border-color:var(--olive);background:#f3f7e8}
.change{font-size:1.4rem;font-weight:800;color:var(--terra)}
.shiftbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:var(--olive);color:#fff;border-radius:var(--r);padding:.6rem 1rem;margin-bottom:.8rem}
.stats{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:.8rem 0}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.7rem}.stat span{display:block;font-size:.8rem;color:var(--muted)}.stat b{font-family:"Playfair Display",serif;font-size:1.4rem}.stat.warn{border-color:var(--terra)}
.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;background:var(--paper);border-radius:10px;overflow:hidden}
table.t th{background:var(--ink);color:var(--cream);text-align:left;padding:.5rem;font-size:.8rem}table.t td{padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}
tr.off{opacity:.5}
.tablecard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:.8rem;text-align:center}.tablecard.off{opacity:.5}
.qrbox{background:#fff;padding:.5rem;border-radius:8px;display:inline-block}.qrbox svg{display:block;width:140px;height:140px}
.qrsheet{text-align:center;page-break-after:always;padding:2rem}.qrbig svg{width:320px;height:320px}
.bars{display:flex;gap:6px;align-items:flex-end;height:140px;padding:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:10px}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.bar span{display:block;width:100%;background:var(--terra);border-radius:4px 4px 0 0;min-height:2px}.bar i{font-size:.65rem;font-style:normal;color:var(--muted)}
.stars{display:flex;gap:.2rem;justify-content:center}.stars button{background:none;border:0;font-size:2rem;color:var(--line);cursor:pointer}.stars button.on{color:var(--gold)}
#toasts{position:fixed;top:.8rem;left:0;right:0;z-index:100;display:grid;gap:.4rem;justify-items:center;pointer-events:none}
.toast{background:var(--ink);color:var(--cream);padding:.6rem 1.1rem;border-radius:999px;box-shadow:0 4px 14px #0004;pointer-events:auto}.toast.err{background:#8c2a1a}.toast.alert{background:var(--gold);color:var(--ink);font-weight:800}
.modal{position:fixed;inset:0;background:#000a;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--cream);width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:1.2rem}
@media(min-width:700px){.modal{align-items:center}.sheet{border-radius:20px}}
.kitchen{background:#1d130d;color:var(--cream);min-height:100vh;padding:1rem}
.khead{display:flex;justify-content:space-between;align-items:center}
.kgrid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.kcard{background:#2b1d14;border:2px solid var(--gold);border-radius:var(--r);padding:.8rem}.kcard.open{border-color:var(--terra)}
.kitems{list-style:none;padding:0;margin:.5rem 0;font-size:1.15rem}.kitems li{padding:.2rem 0;border-bottom:1px dashed #5a4636}
.knote{color:var(--gold);font-style:italic}.kdetail{font-size:.8rem;color:#c9b79e}.kempty{text-align:center;padding:3rem;color:#c9b79e}
blockquote{border-left:4px solid var(--gold);margin:.5rem 0;padding:.2rem .8rem;color:var(--muted)}
#printArea{display:none}
@media print{body{background:#fff}#app,#toasts,.modal{display:none!important}#printArea{display:block}#printArea .receipt{box-shadow:none;border:0;width:80mm;margin:0 auto}}
