:root{--peach:#f2c872;--peach-deep:#e5b85a;--peach-soft:#fbeed1;--ink:#0f0f12;--text:#1a1a1a;--text-2:#6b6b6b;--text-3:#9a9a95;--bg:#fafaf7;--bg-2:#f4f2eb;--card:#fff;--line:#e5e5e0;--line-2:#eceae3;--success:#4a7c59;--success-bg:#e8f0e9;--warn:#e8b547;--warn-bg:#fbf1d5;--danger:#b4453a;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--shadow-1:0 1px 2px rgba(15,15,18,.04),0 1px 0 rgba(15,15,18,.02);--shadow-2:0 4px 14px rgba(15,15,18,.06),0 1px 0 rgba(15,15,18,.02);--shadow-3:0 18px 60px rgba(15,15,18,.12),0 2px 6px rgba(15,15,18,.04);--serif:"Instrument Serif","Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,Menlo,monospace}*{box-sizing:border-box}#root,body,html{height:100%}body{font-family:var(--sans);font-size:15px;line-height:1.45;background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,h1,h2,h3,h4{color:var(--text)}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;margin:0}h1{font-size:56px;line-height:1.06}h2{font-size:40px;line-height:1.1}h3{font-size:28px;line-height:1.18}h4{font-size:20px;line-height:1.28;font-weight:500;font-family:var(--sans);letter-spacing:-.005em}.em,em{font-style:italic;font-family:var(--serif)}p{margin:0;color:var(--text)}.muted{color:var(--text-2)}.small{font-size:13px}.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:-.005em}a{color:var(--text)}button{font-family:inherit}.app{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.topbar{position:sticky;top:0;z-index:30;background:hsla(60,23%,97%,.92);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1280px;margin:0 auto;padding:10px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;letter-spacing:-.01em;flex-shrink:0}.brand img{height:38px;width:auto;display:block;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.brand-dot{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fbe2a5,#f2c872 60%,#d9a647);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.brand em{color:var(--text);font-family:var(--serif);font-style:italic}.topright{display:flex;justify-content:flex-end;gap:14px;font-size:13px}.save-pill,.topright{align-items:center;color:var(--text-2)}.save-pill{display:inline-flex;gap:8px;padding:5px 10px;border-radius:999px;background:var(--bg-2);font-size:12px}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px rgba(74,124,89,.12)}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;transition:all .15s ease}.icon-btn:hover{color:var(--text);border-color:#d9d6cb}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn svg{width:14px;height:14px}.lang{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:6px 10px;border-radius:8px;cursor:pointer;color:var(--text);border:1px solid transparent}.lang:hover{background:var(--bg-2)}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-2);padding:4px;min-width:120px;z-index:60}.lang-menu button{display:flex;width:100%;align-items:center;gap:8px;padding:7px 10px;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:6px;font-size:13px;color:var(--text)}.lang-menu button:hover{background:var(--bg-2)}.lang-menu button.on{color:var(--text);font-weight:600}.lang-menu .flag{font-size:13px}.stepbar{position:sticky;top:60px;z-index:29;background:hsla(60,23%,97%,.92);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}.stepbar-inner{max-width:1280px;margin:0 auto;padding:8px 32px}.progress{gap:10px;justify-content:center}.progress,.progress-step{display:flex;align-items:center}.progress-step{gap:8px;font-size:12px;color:var(--text-3);cursor:pointer;white-space:nowrap;background:transparent;border:0;padding:4px 6px;font-family:var(--sans);border-radius:6px;transition:color .15s ease,background .15s ease}.progress-step:hover{color:var(--text);background:var(--bg-2)}.progress-step .dot{display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:.04em;transition:color .2s ease}.progress-step.done .dot{color:var(--peach-deep)}.progress-step.done{color:var(--text-2)}.progress-step.active .dot{color:var(--peach-deep);font-weight:700}.progress-step.active{color:var(--text);font-weight:600}.progress-step .label{font-family:var(--sans)}.progress-sep{width:14px;height:1px;background:var(--line)}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:56px 32px 140px}.main.narrow{max-width:760px}.main.medium{max-width:980px}.bottombar{position:fixed;left:0;right:0;bottom:0;z-index:25;background:hsla(0,0%,100%,.85);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.bottombar-inner{max-width:1280px;margin:0 auto;padding:14px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.save-later{text-align:center;color:var(--text-2);font-size:13px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;cursor:pointer;background:none;border:0}.save-later:hover{color:var(--text);text-decoration-color:var(--text-2)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-family:var(--sans);font-weight:600;font-size:14px;padding:12px 20px;border-radius:10px;display:inline-flex;align-items:center;gap:10px;transition:transform .12s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;line-height:1}.btn-primary{background:var(--peach);color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.04)}.btn-primary:hover{background:var(--peach-deep)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{background:var(--line-2);color:var(--text-3);cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn-ghost:hover{background:var(--card);border-color:#d9d6cb}.btn-ink{background:var(--ink);color:var(--peach)}.btn-ink:hover{background:#1a1a1f}.btn-soft{background:var(--bg-2);color:var(--text)}.btn-soft:hover{background:var(--line-2)}.btn-lg{padding:16px 26px;font-size:15px;border-radius:12px}.btn-sm{padding:8px 12px;font-size:13px;border-radius:8px}.btn-icon{padding:10px}.btn svg{width:16px;height:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12.5px;color:var(--text-2);font-weight:500;letter-spacing:.01em}.field .hint{font-size:12px;color:var(--text-3)}.input,.select,.textarea{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:12px 14px;font-family:var(--sans);font-size:14.5px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--peach);box-shadow:0 0 0 4px hsla(40,83%,70%,.22)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-3)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.select{padding-right:38px;background-repeat:no-repeat;background-position:right 12px center;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>")}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-padded{padding:28px}.card-soft{border:1px solid var(--line-2);border-radius:var(--r-lg)}.card-soft,.chip{background:var(--bg-2)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 9px;border-radius:999px;color:var(--text-2);border:1px solid var(--line-2)}.chip.peach{background:var(--peach-soft);color:#6b4f1a;border-color:#ecd79e}.chip.success{background:var(--success-bg);color:var(--success);border-color:#c8ddcc}.chip.warn{background:var(--warn-bg);color:#8a6510;border-color:#ecdfa4}.chip.ink{background:var(--ink);color:var(--peach);border-color:var(--ink)}.banner{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card)}.banner.warn{background:var(--warn-bg);border-color:#ecdfa4;color:#8a6510}.banner.success{background:var(--success-bg);border-color:#c8ddcc;color:#2c5236}.banner.ink{background:var(--ink);border-color:var(--ink);color:#f2e4c3}.banner svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.banner-body{flex:1;font-size:13.5px;line-height:1.5}.banner-actions{display:flex;gap:10px;align-items:center}.banner button.link{background:transparent;border:0;cursor:pointer;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:13.5px;padding:0}.help-fab{position:fixed;right:28px;bottom:92px;z-index:40;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--peach);border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-3);font-family:var(--serif);font-size:22px;line-height:1}.help-fab:hover{transform:translateY(-1px)}.help-panel{position:fixed;right:28px;bottom:152px;z-index:41;width:320px;background:var(--card);border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow-3);overflow:hidden}.help-panel header{padding:18px 20px 8px}.help-panel h4{font-family:var(--serif);font-style:italic;font-size:22px;font-weight:400}.help-panel .sub{font-size:12.5px;color:var(--text-2);margin-top:4px}.help-panel .actions{padding:8px 12px 14px;display:flex;flex-direction:column;gap:2px}.help-panel .action{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;background:transparent;border:0;text-align:left;font-size:13.5px;color:var(--text)}.help-panel .action:hover{background:var(--bg-2)}.help-panel .action .ic{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--peach-soft);color:#6b4f1a}.help-panel .action .meta{font-size:12px;color:var(--text-2)}.validate-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:80px;z-index:26;background:var(--warn-bg);border:1px solid #ecdfa4;border-radius:14px;padding:12px 18px;box-shadow:var(--shadow-2);display:flex;align-items:center;gap:16px;max-width:760px;color:#6b4f1a;font-size:13.5px}.validate-banner svg{width:18px;height:18px}.validate-banner button.link{font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:13.5px;padding:0}.validate-banner button.link,.validate-banner button.x{background:transparent;border:0;cursor:pointer;color:#6b4f1a}.validate-banner button.x{opacity:.6}.step-eyebrow{gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);margin-bottom:18px}.step-eyebrow,.step-eyebrow .num{display:inline-flex;align-items:center}.step-eyebrow .num{justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--peach);font-size:11px;letter-spacing:0}.step-title{font-size:52px;line-height:1.04;margin-bottom:14px}.step-title em{font-family:var(--serif)}.step-lede{font-size:17px;color:var(--text-2);max-width:580px}.card-pick{position:relative;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:20px;cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;gap:12px;min-height:130px}.card-pick:hover{border-color:#c9c6bb;box-shadow:var(--shadow-1)}.card-pick.on{background:#fffbf1;border-color:var(--peach);box-shadow:0 0 0 3px hsla(40,83%,70%,.22)}.card-pick .check{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:transparent;transition:all .18s ease}.card-pick.on .check{background:var(--ink);border-color:var(--ink);color:var(--peach)}.card-pick .icon{width:40px;height:40px;border-radius:10px;background:var(--peach-soft);color:#6b4f1a;display:inline-flex;align-items:center;justify-content:center}.card-pick.on .icon{background:var(--peach);color:var(--ink)}.card-pick .name{font-size:16px;font-weight:600;color:var(--text)}.card-pick .desc{font-size:12.5px;color:var(--text-2)}.schedule{display:grid;grid-template-columns:64px repeat(7,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}.schedule .head{padding:10px 12px;font-size:12px;color:var(--text-2);border-bottom:1px solid var(--line);font-weight:600;text-align:center}.schedule .head,.schedule .head.corner{background:var(--bg-2)}.schedule .hour{font-family:var(--mono);font-size:10.5px;color:var(--text-3);padding:6px 8px;text-align:right;line-height:16px}.schedule .cell,.schedule .hour{border-bottom:1px dashed var(--line-2);height:28px}.schedule .cell{position:relative;border-left:1px solid var(--line-2)}.schedule .cell:hover{background:hsla(40,83%,70%,.06)}.slot{position:absolute;left:4px;right:4px;background:var(--peach-soft);border:1px solid #ecd79e;border-left:3px solid var(--peach-deep);border-radius:8px;padding:6px 8px;font-size:11.5px;color:#6b4f1a;cursor:pointer;z-index:3;overflow:hidden;transition:box-shadow .15s ease}.slot:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);z-index:5}.slot .slot-name{font-weight:600}.slot .slot-time{font-family:var(--mono);font-size:10.5px;opacity:.85}.slot.kind-brunch{background:#e8e2f0;border-color:#d2c7e3 #d2c7e3 #d2c7e3 #8a6cb3;color:#46336b}.slot.kind-lunch{background:#dfebe0;border-color:#c1d9c3 #c1d9c3 #c1d9c3 #4a7c59;color:#2c5236}.slot.kind-diner{background:#1f1e22;border-color:#1f1e22 #1f1e22 #1f1e22 #f2c872;color:#f2e4c3}.slot.kind-late{background:#f0dcda;border-color:#dfc4c1 #dfc4c1 #dfc4c1 #b4453a;color:#6e2a24}.slot.kind-lobby{background:#d9e5ee;border-color:#bed1de #bed1de #bed1de #486a82;color:#2a4356}.slot.kind-anders{background:#e8e7e2;border-color:#d5d3cb #d5d3cb #d5d3cb #6b6b6b;color:#3a3a3a}.legend{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.legend .sw{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2)}.legend .sw .dot{width:12px;height:12px;border-radius:3px}.tbl-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.tbl-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);gap:12px;flex-wrap:wrap}.tbl-toolbar .left,.tbl-toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;font-weight:600;color:var(--text-2);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:12px 14px;background:var(--bg-2);border-bottom:1px solid var(--line)}.tbl td{padding:10px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle;color:var(--text)}.tbl tr:last-child td{border-bottom:0}.tbl tr.ai-row td{background:rgba(232,181,71,.1)}.tbl tr.approved td{background:rgba(74,124,89,.07)}.tbl tr:hover td{background:rgba(15,15,18,.02)}.tbl tr.ai-row:hover td{background:rgba(232,181,71,.15)}.tbl tr.approved:hover td{background:rgba(74,124,89,.12)}.tbl-input{border:1px solid transparent;background:transparent;padding:8px 10px;border-radius:8px;font-family:var(--sans);font-size:13.5px;color:var(--text);outline:none;width:100%}.tbl-input:hover{border-color:var(--line);background:var(--card)}.tbl-input:focus{border-color:var(--peach);background:var(--card);box-shadow:0 0 0 3px hsla(40,83%,70%,.22)}.ai-row .tbl-input{background:rgba(232,181,71,.12);border:1px dashed #d7b254;color:#6b4f1a}.ai-row .tbl-input:focus{background:var(--card);border-style:solid}.approved .tbl-input{color:#2c5236}.row-actions{display:flex;gap:4px;align-items:center;justify-content:flex-end}.row-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2)}.row-actions button:hover{background:var(--bg-2);color:var(--text)}.row-actions button.approve:hover{background:var(--success-bg);color:var(--success)}.row-actions button.reject:hover{background:#f6e1df;color:var(--danger)}.row-actions button svg{width:14px;height:14px}.allergen-cell{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:220px;cursor:pointer;padding:4px;border-radius:8px;border:1px solid transparent}.allergen-cell:hover{border-color:var(--line);background:var(--card)}.allergen-pill{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10.5px;padding:3px 6px;border-radius:5px;background:var(--bg-2);color:var(--text-2);text-transform:lowercase}.allergen-pill.has{background:#f0e4d2;color:#6b4f1a}.allergen-empty{color:var(--text-3);font-size:12.5px;padding:4px 6px}.label-preview{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow-2);display:flex;flex-direction:column;font-family:var(--sans)}.label-preview .head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.label-preview .pos{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase}.label-preview .product-name{font-family:var(--serif);font-size:28px;line-height:1.1;margin-bottom:18px;font-weight:400}.label-preview .field-row{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--line-2)}.label-preview .field-row:last-child{border-bottom:1px solid var(--line-2)}.label-preview .field-row .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.label-preview .field-row .v{font-size:15px;color:var(--text)}.label-preview .allergens-list{display:flex;flex-wrap:wrap;gap:6px}.label-preview .allergen-tag{font-family:var(--mono);font-size:10.5px;padding:3px 7px;border-radius:5px;background:var(--peach-soft);color:#6b4f1a}.label-preview .foot{margin-top:22px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-2);padding-top:14px}.label-preview .foot .nomi-mark{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--text-3)}.label-preview .foot .qr{width:36px;height:36px;background:conic-gradient(from 0deg,var(--text) 0 25%,transparent 25% 50%,var(--text) 50% 75%,transparent 75% 100%);border-radius:4px;background-color:var(--card);-webkit-mask:radial-gradient(circle 4px at 8px 8px,transparent 98%,#000),linear-gradient(#000,#000)}.fields-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:start}.field-block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;position:relative}.field-block .num{position:absolute;top:18px;right:18px;font-family:var(--serif);font-size:28px;color:var(--peach);line-height:1}.field-block .lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.field-block .name{font-size:18px;font-weight:600}.field-block.locked{background:var(--bg-2)}.field-block .lock{font-size:12px;color:var(--text-3);gap:6px}.field-block .lock,.toggle-row{display:flex;align-items:center}.toggle-row{gap:10px}.toggle{width:34px;height:20px;border-radius:999px;background:var(--line);position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.toggle .thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--card);transition:left .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.2)}.toggle.on{background:var(--ink)}.toggle.on .thumb{left:16px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.summary-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}.summary-card .big{font-family:var(--serif);font-size:48px;line-height:1;color:var(--text)}.summary-card .big em{color:var(--peach-deep)}.summary-card .label{font-size:13px;color:var(--text-2)}.summary-card .meta{font-size:12px;color:var(--text-3);margin-top:6px}.success-wrap{flex-direction:column;text-align:center;padding:60px 20px}.success-check,.success-wrap{display:flex;align-items:center}.success-check{width:96px;height:96px;border-radius:50%;background:var(--peach-soft);justify-content:center;margin-bottom:28px;position:relative;animation:pop .55s cubic-bezier(.4,1.6,.6,1) both}.success-check:after{content:"";position:absolute;inset:-8px;border:2px solid var(--peach);border-radius:50%;opacity:0;animation:ring 1.2s ease-out .15s both}.success-check svg{width:46px;height:46px;color:var(--ink)}.success-check svg path{stroke-dasharray:60;stroke-dashoffset:60;animation:dash .5s ease-out .3s forwards}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ring{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.15)}}@keyframes dash{to{stroke-dashoffset:0}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.form-grid .span-2{grid-column:1/-1}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--bg)}.login-form-side{display:flex;flex-direction:column;justify-content:center;padding:80px}.login-form-inner{max-width:380px;width:100%}.login-aside{background:var(--ink);color:#ede5d2;padding:64px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-aside:before{content:"";position:absolute;inset:-20% -10% auto auto;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#f2c872 0,transparent 65%);opacity:.18;filter:blur(20px)}.login-aside .quote{font-family:var(--serif);font-size:36px;line-height:1.15;color:#f4ecd9;position:relative}.login-aside .quote em{color:var(--peach)}.login-aside .who{font-size:13px;color:#b6ac95;margin-top:18px;font-family:var(--sans);position:relative}.login-aside .footer{font-family:var(--mono);font-size:11px;letter-spacing:.15em;color:#6e6857;text-transform:uppercase;position:relative}.otp-row{display:flex;gap:10px;justify-content:space-between}.otp{width:48px;height:56px;border-radius:10px;border:1px solid var(--line);text-align:center;font-family:var(--mono);font-size:22px;background:var(--card);color:var(--text);outline:none}.otp:focus{border-color:var(--peach);box-shadow:0 0 0 4px hsla(40,83%,70%,.22)}.otp.filled{background:#fffbf1}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.12);border-top:2px solid var(--text);animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.step-fade{animation:fadeUp .35s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.drop{border:1.5px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--text-2);background:var(--bg);font-size:13.5px;cursor:pointer;transition:all .2s ease;flex:1}.drop:hover{border-color:var(--peach);background:#fffbf1;color:var(--text)}.drop.busy{border-style:solid;border-color:var(--peach);background:var(--peach-soft);color:#6b4f1a}.drop .file-hint{font-size:12px;color:var(--text-3);margin-top:6px}.drop>svg{width:18px;height:18px;flex-shrink:0}.popover-mask{position:fixed;inset:0;background:rgba(15,15,18,.18);z-index:60;display:flex;align-items:center;justify-content:center;animation:fade .15s ease both}.popover{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow-3);max-width:440px;width:100%;border:1px solid var(--line);animation:popUp .25s cubic-bezier(.3,1.4,.5,1) both}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes popUp{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.popover h4{font-family:var(--serif);font-style:italic;font-size:24px;font-weight:400;margin-bottom:4px}.popover .sub{font-size:13px;color:var(--text-2);margin-bottom:16px}.popover .allergens-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:320px;overflow:auto;padding-right:4px}.popover .a-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px}.popover .a-opt:hover{background:var(--bg-2)}.popover .a-opt input{accent-color:var(--text)}.popover .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.time-pop{position:absolute;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-3);padding:14px;min-width:240px}.time-pop .row{display:flex;gap:8px;align-items:center}.time-pop label{font-size:11px;color:var(--text-2);display:block;margin-bottom:4px;font-weight:500}.time-pop input{width:80px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-family:var(--mono);font-size:13px}.time-pop .actions{display:flex;gap:6px;margin-top:10px;justify-content:space-between;align-items:center}.link-btn{background:transparent;border:0;cursor:pointer;padding:0;color:var(--text);font-family:inherit;font-size:13.5px;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--peach-deep)}.kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border-radius:5px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-2)}.hover-grow{transition:transform .18s ease}.hover-grow:hover{transform:translateY(-2px)}@media (max-width:1024px){.login-wrap{grid-template-columns:1fr}.login-aside{display:none}.login-form-side{padding:60px 28px}.fields-grid,.form-grid,.summary-grid{grid-template-columns:1fr}.step-title{font-size:38px}h1{font-size:40px}}@media (max-width:720px){.topbar-inner{gap:12px;padding:10px 16px}.stepbar{display:none}.main{padding:32px 18px 130px}.bottombar-inner{padding:12px 18px}.help-fab{right:16px;bottom:100px}.schedule{grid-template-columns:56px repeat(7,1fr);font-size:11px}.summary-grid{grid-template-columns:1fr}.step-title{font-size:32px}}.cell-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;padding:6px 24px 6px 10px;border-radius:8px;cursor:pointer;font-family:var(--sans);font-size:13.5px;color:var(--text);width:100%;background-repeat:no-repeat;background-position:right 8px center;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239A9A95' stroke-width='2' stroke-linecap='round'><polyline points='6 9 12 15 18 9'/></svg>")}.cell-select:hover{background-color:var(--card);border-color:var(--line)}.cell-select:focus{outline:none;border-color:var(--peach);box-shadow:0 0 0 3px hsla(40,83%,70%,.22);background-color:var(--card)}.cell-select option{background:var(--card);color:var(--text)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:6px;font-size:11.5px;font-weight:600}.badge.warn{background:var(--warn-bg);color:#8a6510}.badge.success{background:var(--success-bg);color:var(--success)}.badge.ink{background:var(--ink);color:var(--peach)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:NomiAllergens;src:url(/fonts/icomoon.woff) format("woff"),url(/fonts/icomoon.ttf) format("truetype"),url(/fonts/icomoon.svg#icomoon) format("svg");font-weight:400;font-style:normal;font-display:swap}.allergen-glyph{font-family:NomiAllergens,sans-serif;font-size:28px;letter-spacing:4px;line-height:1;display:inline-flex;gap:6px}