:root{--bg: #f6f1ea;--surface: #ffffff;--ink: #2a1c14;--muted: #76675c;--line: #e4d9cc;--brand: #3b2418;--brand-ink: #fff8f0;--accent: #b4532a;--accent-ink: #ffffff;--ok: #1d6b45;--ok-bg: #e3f3ea;--err: #a32222;--err-bg: #fbe9e7;--radius: 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-height:100dvh}h1,h2,p{margin:0}h1{font-size:1.25rem}h2{font-size:1.05rem;margin:1.5rem 0 .6rem}a{color:var(--accent)}code{background:#f1e9df;padding:.1em .35em;border-radius:4px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.ok{color:var(--ok)}.error{color:var(--err)}.center-text{text-align:center}input,select,button{font:inherit;color:inherit}input,select{width:100%;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #e59a6f;outline-offset:2px}label{display:block;font-size:.9rem;font-weight:600;margin-top:1rem}label input,label select{margin-top:.35rem;font-weight:400}label.check{display:flex;align-items:center;gap:.5rem;font-weight:400;margin-top:0}label.check input{width:auto;margin:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:600;cursor:pointer;text-decoration:none;color:var(--ink);min-height:44px}.btn.small{min-height:34px;padding:.3rem .7rem;font-size:.85rem;border-radius:8px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.wide{display:flex;width:100%;padding:.9rem 1.1rem}.btn.center{justify-content:center}.btn.ghost-light{background:transparent;border-color:#fff6;color:var(--brand-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.link{background:none;border:0;padding:.5rem 0;color:var(--accent);cursor:pointer;text-decoration:underline}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.row.center{justify-content:center}.row.spread{justify-content:space-between;align-items:flex-start;flex-wrap:nowrap;gap:1rem}.row>input{flex:1;min-width:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.card.inline{margin:1rem 0}.card h2:first-child,.card h1+p{margin-top:0}.center-page{min-height:100dvh;display:grid;place-items:center;padding:1rem}.login{width:100%;max-width:360px}.login .btn{margin-top:1.25rem;width:100%;justify-content:center}.login .error{margin-top:.75rem}.order-app{max-width:560px;margin:0 auto;min-height:100dvh;background:var(--surface);display:flex;flex-direction:column}.order-header{background:var(--brand);color:var(--brand-ink);padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.order-header p{opacity:.8;font-size:.85rem;margin-top:.15rem}.menu{padding:0 1.1rem 6rem;flex:1}.menu h2{position:sticky;top:0;background:var(--surface);padding:.75rem 0 .5rem;margin:.5rem 0 0;border-bottom:1px solid var(--line);z-index:1}.items{list-style:none;margin:0;padding:0}.items li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.items li.sold-out .item-text{opacity:.5}.item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.price{font-weight:600;margin-top:.15rem}.tag{font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;white-space:nowrap}.btn.add{min-width:84px;justify-content:center;color:var(--accent);border-color:var(--accent)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--accent);border-radius:10px;overflow:hidden;flex-shrink:0}.stepper button{width:40px;height:42px;border:0;background:var(--surface);color:var(--accent);font-size:1.25rem;font-weight:700;cursor:pointer}.stepper span{min-width:28px;text-align:center;font-weight:700}.cart-bar{position:sticky;bottom:0;padding:.75rem 1.1rem calc(.75rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--surface) 30%)}.panel{padding:1rem 1.1rem 2rem;flex:1}.panel h2{margin-top:.5rem}.panel>.btn.wide{margin-top:1.25rem}.lines{list-style:none;margin:0;padding:0}.lines li{display:grid;grid-template-columns:1fr auto 5.5rem;gap:.75rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line)}.lines.plain{margin-top:1.5rem;text-align:left}.lines.plain li{grid-template-columns:1fr auto}.lines .grand{font-weight:700;border-bottom:0}.amount{text-align:right;font-variant-numeric:tabular-nums}.totals{margin:1.25rem 0 .25rem}.totals div{display:flex;justify-content:space-between;padding:.3rem 0}.totals dd{margin:0;font-variant-numeric:tabular-nums}.totals .grand{font-weight:700;font-size:1.15rem;border-top:1px solid var(--line);margin-top:.4rem;padding-top:.7rem}.panel p.ok,.panel p.error{margin-top:.5rem;font-size:.9rem}.pay-amount{font-size:2.6rem;font-weight:800;margin:.1rem 0 1rem}.qr{display:block;margin:.75rem auto;border:1px solid var(--line);border-radius:10px;background:#fff}.dev-box{margin:1.25rem 0 .5rem;padding:.8rem;border:1px dashed var(--muted);border-radius:10px;background:#fbf7f1}.dev-box .row{margin-top:.5rem}.pickup-code{font-size:4.5rem;font-weight:800;letter-spacing:.12em;line-height:1.1;margin:.2rem 0 .6rem;font-variant-numeric:tabular-nums}.ready-banner{background:var(--ok-bg);color:var(--ok);font-weight:700;padding:.7rem;border-radius:10px}.steps{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;gap:.4rem}.steps li{flex:1;font-size:.8rem;color:var(--muted);padding-top:.5rem;border-top:4px solid var(--line)}.steps li.done{border-color:var(--ok);color:var(--ink)}.steps li.now{border-color:var(--accent);color:var(--ink);font-weight:700}.order-app.kiosk{max-width:900px;font-size:1.2rem}.kiosk .order-header{padding:1.4rem 1.6rem}.kiosk .menu,.kiosk .panel{padding-left:1.6rem;padding-right:1.6rem}.kiosk .items{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem}.kiosk .stepper button{width:54px;height:54px}.kiosk .btn{min-height:56px}.kiosk .pickup-code{font-size:7rem}.kiosk .panel{max-width:640px;margin:0 auto;width:100%}.staff-app{min-height:100dvh;display:flex;flex-direction:column}.staff-header{background:var(--brand);color:var(--brand-ink);padding:.8rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.staff-header p{opacity:.8;font-size:.85rem}.staff-header input{color:var(--ink)}.code-input{width:10rem!important;font-size:1.2rem;letter-spacing:.15em;text-align:center}.code-input::placeholder{letter-spacing:normal;font-size:.95rem}.banner{padding:.6rem 1.25rem;font-weight:600}.banner.error{background:var(--err-bg)}.banner.ok{background:var(--ok-bg)}.board{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1rem 1.25rem;align-items:start}.column{background:#efe7dc;border-radius:var(--radius);padding:.75rem;min-height:60vh}.column h2{margin:.2rem .3rem .75rem;display:flex;justify-content:space-between;align-items:center}.count{background:var(--brand);color:var(--brand-ink);border-radius:999px;padding:.05rem .6rem;font-size:.85rem;font-weight:600}.column.ready{background:var(--ok-bg)}.ticket{background:var(--surface);border-radius:10px;padding:.8rem;margin-bottom:.75rem;border:1px solid var(--line)}.ticket-top{display:flex;justify-content:space-between;align-items:baseline}.ticket-code{font-size:1.9rem;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums}.ticket ul{margin:.5rem 0 .75rem;padding:0;list-style:none}.ticket li{padding:.15rem 0}.collected{padding:.75rem 1.25rem;background:var(--surface);border-top:1px solid var(--line);font-size:.9rem}.plain-list{list-style:none;padding:0;margin:.5rem 0 0}.tabs{display:flex;gap:.25rem;flex-wrap:wrap}.tabs button{background:transparent;border:0;color:var(--brand-ink);opacity:.75;padding:.5rem .9rem;border-radius:8px;cursor:pointer;font-weight:600}.tabs button.active{background:#ffffff29;opacity:1}.admin-main{padding:1rem 1.25rem 3rem;max-width:1200px;width:100%;margin:0 auto}.filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1rem}.filters label{margin-top:0}.filters input,.filters select{width:auto}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin:.5rem 0 1rem}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.2rem}.tile-label{font-size:.85rem;color:var(--muted);font-weight:600}.tile-value{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{padding:.55rem .8rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.8rem;color:var(--muted);font-weight:700;background:#fbf7f1}tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.price-input{width:7rem;padding:.35rem .5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.25rem 1rem;align-items:end}.form-grid h2{grid-column:1 / -1;margin:0}.form-grid .span{grid-column:1 / -1}.form-grid .btn{justify-content:center;margin-top:1rem}.form-grid label.check{margin-top:1rem;min-height:44px}.outlet-list h2{margin:0}.outlet-list p{margin-top:.35rem}.qr-figure{margin:0;text-align:center;flex-shrink:0}.qr-figure .qr{margin:0 auto .25rem}@media (max-width: 800px){.board{grid-template-columns:1fr}.column{min-height:0}.kiosk .items{grid-template-columns:1fr}.row.spread{flex-wrap:wrap}}.demo-banner{background:#5b3a00;color:#fff3d6;text-align:center;font-size:.85rem;padding:.4rem .75rem}.choice-list{display:grid;gap:.5rem;margin-bottom:.75rem}.choice{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.choice.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.choice.disabled{opacity:.5;cursor:not-allowed}.choice input{width:auto;margin-top:.2rem}.choice>span{display:grid;gap:.15rem}.row.two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 420px){.row.two{grid-template-columns:1fr}}.chips,.slots{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .6rem}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.4rem .8rem;cursor:pointer;min-height:40px}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.items.compact li{padding:.5rem 0}.share-box{border:1px dashed var(--accent);border-radius:var(--radius);padding:.9rem;margin:.75rem 0;display:grid;gap:.5rem;justify-items:start}.share-box h2{margin-top:0}.session-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.session-card{border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:var(--surface);display:grid;gap:.3rem}.row.spread{justify-content:space-between}.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.warn{background:#fdf0d5;color:#7a4b00}.tag.muted{background:#eee6dc;color:var(--muted)}.inline-code{font-family:ui-monospace,Menlo,monospace;letter-spacing:.05em}.link.danger{color:var(--err);justify-self:start}.sponsor-note{background:#eef3fb;border:1px solid #c9d8f0;color:#1d3c6b;border-radius:10px;padding:.6rem .8rem}.perk-note{color:#1d3c6b}.perk-card{border:1px solid #c9d8f0;background:#f5f8fd;border-radius:10px;padding:.7rem .8rem;display:grid;gap:.4rem;margin:.6rem 0}.perk-card.left{text-align:left}.perk-card .check{display:flex;gap:.5rem;align-items:flex-start}.perk-card .check input{width:auto;margin-top:.2rem}.pickup-code.small-code{font-size:1.4rem;margin:0}.group-strip{padding:.75rem 1rem 0}.group-strip h2{margin:0 0 .5rem}.group-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}.group-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:.6rem .75rem;display:grid;gap:.25rem}.group-card.arrived{border-left-color:var(--ok)}.ticket-group{margin:.2rem 0;color:var(--accent);font-weight:600}.space-form{align-items:flex-end;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.space-form label{max-width:260px}textarea{width:100%;font:inherit;padding:.6rem;border:1px solid var(--line);border-radius:8px}.phone-field{display:grid;gap:.35rem;margin-bottom:.6rem}.row.nowrap{flex-wrap:nowrap}.otp-box{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.7rem .8rem;display:grid;gap:.5rem;justify-items:start}.otp-input{max-width:11rem;letter-spacing:.2em;font-family:ui-monospace,Menlo,monospace}.otp-input::placeholder{letter-spacing:normal;font-family:inherit}.bank-offer{text-align:left;border:1px solid var(--line);background:#faf7f2;border-radius:10px;padding:.7rem .8rem;display:grid;gap:.35rem;justify-items:start;margin:.75rem 0}.bank-offer .check{display:flex;gap:.5rem;align-items:center}.bank-offer .check input{width:auto}.warn-text{color:#7a4b00}
