:root{color:#202724;font-synthesis:none;--green:#00a86b;--green-bright:#12bd79;--green-soft:#eaf8f0;--muted:#808784;--line:#e9edeb;background:#f5f6f7;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.025em;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.25}h2{font-size:1.08rem}h3{font-size:1rem}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,.button{font:inherit;cursor:pointer;border:1px solid var(--line);color:inherit;overflow-wrap:anywhere;background:#fff;border-radius:10px;max-width:100%;padding:.65rem 1rem;line-height:1.35;display:inline-block}button:hover,.button:hover{border-color:var(--green)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--green-bright);border-color:var(--green-bright);color:#fff}button[aria-pressed=true]{background:var(--green-soft);border-color:var(--green);color:#008957}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #76d6b0}input,textarea,select{font:inherit;border:1px solid var(--line);width:100%;min-width:0;color:inherit;background:#fff;border-radius:10px;padding:.7rem}input[type=radio],input[type=checkbox]{width:auto}textarea{resize:vertical;min-height:100px}label{margin-bottom:1rem;font-size:.9rem;font-weight:500;display:block}label input,label select,label textarea{margin-top:.35rem}fieldset{border:0;min-width:0;margin:0 0 1.4rem;padding:0}legend{margin-bottom:.5rem;font-weight:600}summary{cursor:pointer;font-weight:500}details{margin-bottom:1rem}details[open] summary{margin-bottom:.8rem}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1120px;margin:auto;padding:1.4rem 1.5rem;display:flex}.brand{font-size:1.3rem;font-weight:800}.merchant-app .app-header{flex-wrap:wrap;gap:12px}.brand span{letter-spacing:.22em;color:var(--muted);font-size:.6rem;display:block}main{max-width:1080px;min-height:75vh;margin:auto;padding:2.5rem 1.5rem}.hero{max-width:600px;margin:4vh auto}.hero>p{color:var(--muted)}.hero form{margin:2rem 0}.eyebrow{letter-spacing:.12em;color:var(--muted);margin-bottom:.8rem;font-size:.78rem}.card{background:#fff;border:1px solid #edf0ee;border-radius:16px;margin:1rem 0;padding:1.5rem}.grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:1rem;display:grid}.grid .card{margin:.5rem 0}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row>label{flex:1;min-width:120px}.row>input{flex:1;width:150px}.between{justify-content:space-between}.row h1,.row h2{margin-bottom:.5rem}.chips{flex-wrap:wrap;gap:.5rem;margin:.7rem 0 1.2rem;display:flex}.chips>a{background:#edf5f0;border-radius:10px;padding:.55rem .8rem}.hint,small{color:var(--muted);font-size:.83rem}.error{color:#8a302a;overflow-wrap:anywhere;background:#fff0eb;border-radius:10px;padding:.8rem 1rem}.notice{color:#6e5728;background:#f3eddb;border-radius:10px;padding:.75rem 1rem}.choice{align-items:center;gap:.3rem;margin-right:1rem;display:inline-flex}.choice input{margin:0}.narrow{max-width:650px;margin:auto}.members{padding:0;list-style:none}.members li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem 0;display:flex}.members li>span:first-child{flex:1}.members small{margin-left:.4rem}img{object-fit:cover;border-radius:10px;max-width:100%}.dish img{width:100%;height:160px}.qr{width:190px;margin-top:1rem;display:block}video{width:100%;max-height:350px}footer{text-align:center;color:var(--muted);padding:2rem;font-size:.8rem}.result ul{padding-left:1.1rem}.result li{margin:.5rem 0}.result small{margin-left:.5rem}.result .dish-description{color:var(--muted);margin:.2rem 0 0;font-size:.8rem;line-height:1.5;display:block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.8rem}@media (width<=480px){main{padding:1.5rem 1rem}.card,.app-header{padding:1rem}h1{font-size:1.85rem}.hero{margin-top:2vh}.row>button{flex-shrink:1}}.app-icon{vertical-align:middle;flex-shrink:0}.consumer-app{max-width:1040px;min-height:100dvh;margin:auto}.consumer-app .app-header{background:#fff;border:0;padding:17px 24px}.consumer-app .brand{color:#172a21;letter-spacing:-1px;align-items:center;gap:8px;font-size:21px;display:flex}.consumer-app .brand:hover{text-decoration:none}.consumer-app .brand-symbol{object-fit:contain;flex-shrink:0;width:38px;height:38px;display:block}.consumer-app .brand-caption{letter-spacing:0;color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.header-account{color:#5b6560;align-items:center;gap:6px;font-size:13px;display:flex}.consumer-app main{min-height:0;padding:24px}.consumer-app.has-tabs{padding-bottom:85px}.bottom-tabs{border-top:1px solid var(--line);width:min(100%,1040px);padding:10px 20px calc(10px + env(safe-area-inset-bottom));z-index:20;background:#fffffff5;justify-content:center;gap:140px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-tabs a{color:#8b928e;flex-direction:column;align-items:center;gap:4px;min-width:64px;font-size:11px;display:flex}.bottom-tabs a:hover{text-decoration:none}.bottom-tabs .tab-active{color:var(--green);font-weight:700}.home-page{max-width:760px;margin:auto}.home-welcome{background:#e4f8eb url(/assets/home-dining-B-miiHHu.png) 50%/cover no-repeat;border-radius:22px;padding:28px 28px 100px;position:relative;overflow:hidden}.home-welcome .eyebrow{color:#54836b;letter-spacing:1px;font-size:12px}.home-welcome h1{z-index:1;margin:10px 0;font-size:30px;font-weight:850;position:relative}.home-welcome p{z-index:1;color:#5a7e69;max-width:75%;margin:0;font-size:13px;position:relative}.entry-card{border:0;margin:-30px 16px 28px;padding:22px;position:relative;box-shadow:0 5px 20px #183c2206}.scan-entry{border:0;border-bottom:1px solid var(--line);text-align:left;border-radius:0;align-items:center;gap:16px;width:100%;padding:0 0 22px;display:flex}.scan-entry:hover{border-color:var(--line);color:var(--green)}.scan-entry>span:nth-child(2){flex:1}.scan-entry strong{color:#202724;margin-bottom:5px;font-size:21px;display:block}.scan-entry small{font-size:12px;display:block}.scan-icon{background:var(--green-bright);color:#fff;border-radius:17px;place-items:center;padding:14px;display:grid}.code-entry{padding-top:18px}.code-entry label{color:#747c76;margin-bottom:9px;font-size:12px}.entry-input{color:#909993;background:#f5f7f6;border-radius:10px;align-items:center;gap:8px;padding:5px 5px 5px 12px;display:flex}.entry-input input{background:0 0;border:0;flex:1;padding:8px 0;font-size:14px}.entry-input input:focus{box-shadow:none;outline:none}.entry-input button{flex-shrink:0;padding:10px 14px;font-size:13px;font-weight:650}.scanner{padding-top:15px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 16px 12px;display:flex}.section-heading h2{margin:0;font-size:16px}.section-heading>span{color:#929a95;font-size:11px}.dining-steps{border:0;margin:0 16px 16px;padding:24px 12px;display:flex}.dining-steps>div{text-align:center;flex:1}.step-icon{color:var(--green);background:#ebf8f0;border-radius:14px;place-items:center;width:45px;height:45px;display:inline-grid}.dining-steps strong{margin:10px 0 5px;font-size:14px;display:block}.dining-steps small{font-size:11px;display:block}.account-entry{color:inherit;border:0;align-items:center;gap:12px;margin:0 16px;padding:18px;display:flex}.account-entry:hover{background:#fafffc;text-decoration:none}.account-icon{color:#6a8a77;background:#f2f5f3;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.account-entry>span:nth-child(2){flex:1}.account-entry strong,.account-entry small{display:block}.account-entry strong{margin-bottom:4px;font-size:14px}.account-entry small{font-size:11px}.home-footnote{color:#a1a8a3;text-align:center;margin:24px 0 8px;font-size:11px}.restaurant-page{max-width:760px;margin:auto}.restaurant-heading{background:linear-gradient(120deg,#e1f8e9,#fff);border:0;align-items:center;gap:18px;margin-top:0;padding:26px;display:flex}.restaurant-avatar{color:var(--green);background:#fff;border:1px solid #e9f4ed;border-radius:18px;flex-shrink:0;place-items:center;width:72px;height:72px;display:grid}.restaurant-heading>div,.menu-heading>div{overflow-wrap:anywhere;min-width:0}.restaurant-heading .eyebrow{letter-spacing:0;margin-bottom:6px;font-size:11px}.restaurant-heading h1{margin-bottom:8px}.restaurant-heading p:last-child{margin-bottom:0}.browse-entry{background:#fff;border:0;border-radius:16px;align-items:center;gap:14px;padding:20px;display:flex}.browse-entry:hover{background:#fafffc;text-decoration:none}.browse-entry>span:nth-child(2){flex:1}.browse-entry strong,.browse-entry small{display:block}.browse-entry strong{font-size:15px}.browse-entry small{margin-top:5px;font-size:12px}.create-room-card{padding:24px}.create-room-card .eyebrow{color:var(--green);margin-bottom:5px;font-size:11px}.create-room-card h2{margin-bottom:22px;font-size:20px}.create-room-card>button{width:100%;padding:14px;font-weight:700}.create-room-card input{background:#f7f9f8;border-color:#eef1ef}.menu-page{background:#fff;border-radius:18px;overflow:clip}.menu-heading{align-items:center;gap:14px;padding:22px;display:flex}.menu-heading .restaurant-avatar{background:var(--green-soft);border-radius:13px;width:56px;height:56px}.menu-heading h1{margin:0;font-size:22px}.menu-heading .eyebrow{letter-spacing:0;margin-bottom:4px;font-size:11px}.menu-tip{color:#418561;background:#edfaf2;align-items:center;gap:6px;margin:0;padding:10px 20px;font-size:12px;display:flex}.menu-layout{background:linear-gradient(90deg,#f6f7f8 100px,#fff 100px);grid-template-columns:100px minmax(0,1fr);align-items:start;padding-bottom:95px;display:grid}.category-rail{background:#f6f7f8;flex-direction:column;align-self:start;display:flex;position:sticky;top:0}.category-rail button{color:#747d77;background:0 0;border:0;border-radius:0;min-height:58px;padding:14px 8px;font-size:13px;position:relative}.category-rail button[aria-pressed=true]{color:#167849;background:#fff;font-weight:750}.category-rail button[aria-pressed=true]:before{content:"";background:var(--green-bright);border-radius:0 4px 4px 0;width:4px;height:18px;position:absolute;top:20px;left:0}.menu-items{min-width:0;min-height:440px;padding:0 20px}.menu-list-heading{justify-content:space-between;align-items:center;gap:10px;padding:18px 0 4px;display:flex}.menu-list-heading h2{margin:0;font-size:15px}.menu-list-heading>span{color:#a0a6a2;font-size:11px}.menu-dish{border-bottom:1px solid #f0f2f1;gap:16px;padding:18px 0;display:flex}.menu-dish:last-child{border-bottom:0}.menu-dish .dish-thumb{border-radius:11px;flex-shrink:0;width:110px;height:110px}.dish-placeholder{color:#afc4a8;background:#f2f6ef;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.dish-placeholder span{color:#9aac92;letter-spacing:1px;font-size:10px}.dish-info{flex:1;min-width:0}.dish-info h2{overflow-wrap:anywhere;margin-bottom:5px;font-size:17px;line-height:1.35}.dish-description{color:#8b928e;margin-bottom:7px;font-size:12px}.dish-tags{flex-wrap:wrap;gap:5px;margin-bottom:7px;display:flex}.dish-tags span,.meal-tag{color:#7d8580;background:#f5f6f7;border-radius:4px;padding:1px 5px;font-size:10px}.dish-tags .signature{color:#b47a22;background:#fff4dc}.ingredient-note{color:#8a928c;overflow-wrap:anywhere;margin-bottom:10px;font-size:11px}.dish-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.price{color:#f06a39;font-size:20px;font-weight:750;line-height:1.2}.price small{font-size:11px;font-weight:400}.wish-button{background:var(--green-bright);color:#fff;border:1px solid var(--green-bright);border-radius:20px;justify-content:center;align-items:center;gap:3px;min-height:32px;padding:6px 9px;font-size:11px;display:inline-flex}.wish-button[aria-pressed=true]{color:#19935e;background:#eef9f2;border-color:#d1eddf}.wish-button:disabled{color:#909891;opacity:1;background:#eee;border-color:#eee}.unavailable .dish-thumb{opacity:.5}.meal-heading{margin:20px 0 0;font-size:15px}.meal-components{color:#7a847e;margin:9px 0 15px;font-size:12px}.meal-components summary{font-size:12px}.meal-components p{margin-bottom:5px}.empty-category{color:var(--muted);padding:30px 0;font-size:13px}.selection-bar{color:#fff;z-index:15;background:#263c30;border-radius:18px;align-items:center;gap:14px;width:min(100% - 48px,992px);padding:12px 14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #182e231c}.selection-bar>div{flex:1;min-width:0}.selection-bar strong{font-size:14px;display:block}.selection-bar small{color:#b9c9c0;margin-top:3px;font-size:10px;display:block}.selection-bar button{border-radius:12px;flex-shrink:0;padding:13px 22px;font-size:14px;font-weight:750}.selection-icon{color:#b5edc8;background:#3c5745;border-radius:50%;flex-shrink:0;place-items:center;width:45px;height:45px;display:grid;position:relative}.selection-icon b{color:#fff;text-align:center;background:#fc8151;border:2px solid #263c30;border-radius:10px;min-width:17px;height:17px;padding:1px 4px;font-size:10px;line-height:12px;position:absolute;top:-5px;right:-3px}.room-page>.eyebrow{color:var(--green);letter-spacing:0;font-size:11px}.room-page>.row.between h1{overflow-wrap:anywhere;font-size:23px}.room-page>.row.between button{background:var(--green-bright);border-color:var(--green-bright);color:#fff;font-size:13px}.room-page>p:not(.error):not(.notice){color:var(--muted);font-size:13px}.room-tabs{background:#fff;border-radius:12px;gap:0;padding:5px}.room-tabs>a{text-align:center;background:0 0;flex:1;padding:12px 8px;font-size:13px}.room-tabs>a.router-link-exact-active{background:var(--green-soft);color:#008957;font-weight:750}.room-page .card{border:0}.members li>span:nth-child(2){color:var(--green);font-size:12px}.members small{color:#559970;background:#eef7f1;border-radius:4px;padding:2px 4px;font-size:10px}.account-navigation{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.account-navigation>a{color:#6d7971;font-size:12px}.account-navigation>button{color:#6d7971;background:0 0;border:0;padding:0;font-size:12px}.account-page>h1{font-size:24px}.account-page .card{border:0}.account-page form.card>button{margin:0 8px 8px 0}@media (width>=760px){.consumer-app{border-left:1px solid #eef0ee;border-right:1px solid #eef0ee}.menu-dish .dish-thumb{width:130px;height:130px}.dish-info h2{font-size:18px}.dish-description,.ingredient-note{font-size:13px}}@media (width<=600px){.consumer-app .app-header{padding:14px 16px}.consumer-app .brand-caption{display:none}.consumer-app main{padding:16px 12px}.consumer-app:has(.home-page) main{padding:0}.home-welcome{background-image:linear-gradient(#e4f8eb,#e4f8eb00 32px),url(/assets/home-dining-B-miiHHu.png);background-position:100% 100%;background-size:100% 190px,auto 190px;border-radius:0;padding:28px 20px 190px}.home-welcome h1{font-size:27px}.home-welcome p{max-width:78%;font-size:12px;line-height:1.7}.entry-card{padding:20px}.section-heading h2{font-size:15px}.section-heading>span{font-size:10px}.dining-steps{padding:20px 8px}.dining-steps strong{font-size:13px}.dining-steps small{font-size:10px}.bottom-tabs{justify-content:space-around;gap:0}.restaurant-heading{gap:12px;padding:20px 16px}.restaurant-heading h1{font-size:22px}.restaurant-heading .restaurant-avatar{border-radius:15px;width:60px;height:60px}.browse-entry{gap:10px;padding:18px 14px}.browse-entry strong{font-size:14px}.create-room-card{padding:20px 16px}.consumer-app:has(.menu-page) main{padding:0}.menu-page{border-radius:0}.menu-heading{padding:18px 16px}.menu-heading h1{font-size:21px}.menu-tip{padding:10px 12px;font-size:10px}.menu-layout{background:linear-gradient(90deg,#f6f7f8 67px,#fff 67px);grid-template-columns:67px minmax(0,1fr)}.category-rail button{min-height:56px;font-size:12px}.menu-items{padding:0 12px}.menu-list-heading>span{display:none}.menu-dish{gap:10px;padding:16px 0}.menu-dish .dish-thumb{border-radius:8px;width:80px;height:80px}.dish-placeholder span{letter-spacing:0;font-size:8px}.dish-info h2{font-size:15px}.dish-description{margin-bottom:6px;font-size:11px}.dish-tags{gap:3px}.dish-tags span{padding:1px 4px;font-size:9px}.ingredient-note{font-size:10px;line-height:1.5}.price{font-size:18px}.wish-button{min-height:32px;padding:5px 7px;font-size:10px}.dish-bottom{gap:8px}.selection-bar{bottom:calc(10px + env(safe-area-inset-bottom));border-radius:16px;gap:10px;width:calc(100% - 24px);padding:10px}.selection-bar strong{font-size:12px}.selection-bar small{font-size:9px}.selection-bar button{padding:13px 15px;font-size:13px}.selection-icon{width:38px;height:38px}.room-tabs{flex-wrap:nowrap}.room-tabs>a{flex:1;min-width:0;padding:12px 4px;font-size:11px}.room-tabs>a:last-child{flex:1.6}.room-page>.row.between h1{font-size:20px}.room-page .card{padding:18px 15px}.account-page>h1{font-size:22px}}@media (prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s,color .15s}}.ingredient-options{max-height:240px;padding:4px;overflow-y:auto}.result-editor{border:1px solid var(--line);background:#f7fbf8;border-radius:12px;margin:16px 0;padding:16px}.result-editor>.row{margin:12px 0}.result-editor .row>label{flex:0 80px;min-width:70px;margin-bottom:0}.result-editor .row>span{flex:1;min-width:120px}.result-editor select{flex:1;min-width:150px}.meal-allocations{color:#64766a;font-size:13px}.preferences select+select{margin-top:8px}.room-flow{max-width:780px;margin-inline:auto;padding-bottom:36px}.room-heading{justify-content:space-between;align-items:center;gap:16px;margin:12px 0 24px;display:flex}.room-heading h1{margin:6px 0;font-size:24px}.room-caption{color:var(--muted);margin:0;font-size:12px}.room-tools{flex-shrink:0;gap:8px;display:flex}.room-tools button,.room-tools a{background:#fff;border-radius:12px;padding:9px 12px;font-size:13px}.room-tools button{color:#008957;background:var(--green-soft);border-color:#0000}.quiet-link{color:#6d8074;font-size:13px}.connection-status{color:var(--muted);font-size:12px}.member-card .section-heading{margin:0 0 12px}.member-card .section-heading h2{font-size:17px}.dining-members{margin:0;padding:0;list-style:none}.dining-members li{align-items:center;gap:12px;padding:14px 0;display:flex}.member-avatar{color:#4e9070;background:#eff7f2;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.member-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.member-copy strong{overflow-wrap:anywhere;font-size:14px;font-weight:600}.member-copy span{color:var(--muted);font-size:12px}.member-copy small{color:#87988c;margin-left:7px;font-size:10px;font-weight:400}.member-edit{align-items:center;gap:4px;padding:8px 0 8px 12px;font-size:13px;display:flex}.member-placeholder .member-avatar{color:var(--muted);background:#f7f9f8;border:1px dashed #cbd7cf}.member-placeholder .member-edit{background:0 0;border:0;flex-shrink:0}.member-controls{gap:10px;display:flex}.member-controls button{color:#72877b;background:0 0;border:0;padding:8px 0;font-size:12px}.member-controls button:last-child{color:#9caaa2}.table-settings>summary{justify-content:space-between;gap:8px;font-size:13px;list-style:none;display:flex}.table-settings>summary::-webkit-details-marker{display:none}.table-settings form{margin-top:20px}.table-settings-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.table-settings-actions button{color:var(--muted);background:0 0;border:0;padding:7px 16px;font-size:12px}.table-settings-actions .settings-confirm{background:var(--green-soft);color:#167849;border-radius:9px}.lobby-action{text-align:center;margin:24px 0}.lobby-action>button{border-radius:15px;width:100%;min-height:50px;font-weight:600}.lobby-action>p{color:var(--muted);font-size:12px}.existing-result{align-items:center;gap:14px;display:flex}.existing-result>span{flex-direction:column;flex:1;gap:4px;display:flex}.existing-result strong{font-size:14px}.existing-result small{color:var(--muted);font-size:12px}.preferences-card{max-width:760px;margin-inline:auto}.preferences-compact{flex-direction:column;gap:24px;display:flex}.preference-label{color:#566c5e;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:500;display:flex}.preference-label .range-value{color:#008957;font-size:13px}.preference-range input[type=range]{width:100%;height:22px;accent-color:var(--green-bright);cursor:pointer;border:0;margin:14px 0 6px;padding:0}.range-labels{color:#8b9991;justify-content:space-between;font-size:11px;display:flex}.preference-inline .chips,.preference-block .chips{margin:10px 0 0}.preferences-compact .chips{gap:7px}.preferences-compact .chips button,.preferences-compact .chips>a{background:#f8faf9;border-color:#0000;border-radius:9px;padding:7px 11px;font-size:13px}.preferences-compact .chips button[aria-pressed=true]{color:#008957;background:#e7f7ed;border-color:#c8e9d6}.preferences-compact .chips .add-chip{color:#59886a;background:0 0;border:1px dashed #cfdcd4;text-decoration:none}.preferences-compact select{background:#f8faf9;border-color:#0000;width:auto;max-width:150px;padding:6px 7px;font-size:12px}.preferences-compact .inline-add{background:#f5fbf7;border:1px solid #c8e9d6;border-radius:9px;align-items:center;max-width:100%;padding:0 4px;display:inline-flex}.preferences-compact .inline-add input{background:0 0;border:0;width:100px;padding:7px 3px;font-size:13px}.preferences-compact .inline-add button{background:0 0;padding:7px}.ingredient-picker{color:#819187;margin:12px 0 0;font-size:12px}.ingredient-picker summary{line-height:1.8}.ingredient-picker input{margin-top:12px;font-size:13px}.preference-more{color:var(--green);background:0 0;border:0;padding:7px 0 0;font-size:12px}.preferences-compact .allergy-picker{color:#8a988f;border:0;margin:0;font-size:12px}.preferences-compact .allergy-picker summary{font-weight:400}.preferences-compact .allergy-picker .chips{margin-bottom:0}.preferences-compact .preference-note{background:#f6f8f7;border:0;min-height:80px;padding:12px;font-size:13px}.room-page:has(.preferences-actions){padding-bottom:110px}.preferences-actions{bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;background:#fff;border:1px solid #e6eee9;border-radius:16px;flex-wrap:nowrap;width:min(100% - 24px,720px);padding:12px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 28px #243f3114}.preferences-actions button{white-space:nowrap;font-size:14px}.preferences-actions .primary{flex:1}.modal-shell{color:#243b2f;border:0;border-radius:22px;width:min(100% - 28px,460px);max-height:calc(100dvh - 40px);margin:auto;padding:22px;overflow-y:auto;box-shadow:0 24px 80px #163e3440}.modal-shell::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#142e2766}.modal-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.modal-heading h2{margin:0;font-size:18px}.modal-heading>button{color:#7b8f81;background:#f2f6f3;border:0;border-radius:50%;width:32px;height:32px;padding:0;font-size:22px}.invitation-content{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:4px 0 22px;display:flex}.invitation-content>p{color:#7d9083;margin:0;font-size:13px}.invitation-content .qr{width:220px;margin:0}.invite-code{letter-spacing:3px;font-size:24px}.invitation-content small{color:#8d9b93;font-size:12px}.invite-copy{background:#f4f7f5;border-radius:12px;align-items:center;gap:8px;padding:7px;display:flex}.invite-copy input{background:0 0;border:0;flex:1;min-width:0;padding:8px 2px;font-size:12px}.invite-copy button{background:#fff;border:0;flex-shrink:0;padding:9px 11px;font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.companion-name{margin-bottom:24px}.entry-empty{text-align:center;max-width:480px;margin:48px auto;padding:32px}.entry-empty .app-icon{color:#8fb09b}.entry-empty h1{margin-top:20px;font-size:22px}.entry-empty p{color:var(--muted);margin-bottom:24px;font-size:14px}.entry-empty a{display:inline-block}.working-panel{background:#ecf8f1;border-radius:16px;align-items:center;gap:14px;margin:18px 0;padding:20px;display:flex}.working-orbit{color:#00a465;background:#fff;border:1px solid #bce9ce;border-radius:50%;flex-shrink:0;place-items:center;width:50px;height:50px;display:grid}.working-panel strong{font-size:14px}.working-panel p{color:#7c9486;margin:7px 0 0;font-size:12px}.typing-dots{gap:3px;margin-left:6px;display:inline-flex}.typing-dots i{background:#6ca886;border-radius:50%;width:4px;height:4px;display:inline-block}.result-total{justify-content:space-between;align-items:center;gap:14px;margin:0 0 20px;display:flex}.result-total>div{flex-direction:column;gap:6px;display:flex}.result-total span{color:#7c9083;font-size:12px}.result-total strong{letter-spacing:-1px;font-size:30px}.result-total .result-badge{color:#318259;background:#e4f5eb;border-radius:8px;padding:5px 9px}.result-total .result-badge.partial{color:#9e772a;background:#fff1d9}.result .result-dishes{gap:12px;margin:0;padding:0;list-style:none;display:grid}.result .result-dish{background:#fff;border-radius:16px;gap:15px;margin:0;padding:14px;display:flex}.result-dish>img,.result-dish-placeholder{object-fit:cover;border-radius:12px;flex-shrink:0;width:96px;height:96px}.result-dish-placeholder{color:#84b295;background:#edf6f0;place-items:center;display:grid}.result-dish-copy{flex-direction:column;flex:1;min-width:0;display:flex}.result-dish-copy h2{margin:0 0 4px;font-size:16px}.result .result-dish-copy .dish-description{margin:0;font-size:12px;line-height:1.6}.result-dish-bottom{justify-content:space-between;align-items:center;margin-top:auto;padding-top:9px;display:flex}.result-dish-bottom strong{color:#e08337;font-size:17px}.result-dish-bottom>span{color:#819086;font-size:13px}.result-edit-toolbar{gap:10px;margin:16px 0;display:flex}.result-edit-toolbar button{background:0 0;padding:8px 12px;font-size:12px}.result-details{color:#73887b;margin-bottom:0;padding:12px 0;font-size:12px}.result-details>summary{list-style:none}.result-details>summary:after{content:" ⌄"}.result-details>summary::-webkit-details-marker{display:none}.dining-assistant{margin-top:24px}.assistant-title{align-items:center;gap:10px;display:flex}.assistant-avatar{color:#18a76a;background:#e7f6ec;border-radius:13px;place-items:center;width:38px;height:38px;display:grid}.assistant-title strong{font-size:14px}.result .assistant-title small{color:#8ca092;margin:3px 0 0;font-size:11px;display:block}.chat-history{flex-direction:column;gap:12px;margin:18px 0;display:flex}.chat-history>p{margin:0;font-size:13px;line-height:1.8}.assistant-message{background:#f3f7f4;border-radius:4px 14px 14px;align-self:flex-start;max-width:95%;padding:12px 14px;font-size:13px}.guest-message{background:#e9f8ef;border-radius:14px 4px 14px 14px;align-self:flex-end;max-width:95%;padding:12px 14px}.assistant-input{gap:8px;padding-top:8px;display:flex}.assistant-input input{flex:1;font-size:13px}.assistant-input button{flex-shrink:0;font-size:13px}.result-actions{text-align:center;margin-top:22px}.result-actions .primary{border-radius:14px;width:100%;min-height:48px}.result-actions p{color:#248c5d;font-size:14px}@media (width<=480px){.room-heading{align-items:flex-start;gap:8px}.room-heading h1{font-size:21px}.room-tools{gap:5px}.room-tools button,.room-tools a{padding:8px;font-size:11px}.result-dish>img,.result-dish-placeholder{width:80px;height:88px}.result-dish-copy h2{font-size:14px}.result .result-dish{gap:12px;padding:12px}.modal-shell{padding:18px}}@media (prefers-reduced-motion:no-preference){.typing-dots i{animation:1.1s ease-in-out infinite dining-pulse}.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}.working-orbit{animation:1.8s ease-in-out infinite dining-breathe}@keyframes dining-pulse{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes dining-breathe{50%{box-shadow:0 0 0 8px #bce9ce33}}}.room-heading h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.room-heading>div:first-child{min-width:0}.preference-range input[type=range]{appearance:none;background:0 0}.preference-range input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--green-bright) var(--range-fill), #e6eee9 var(--range-fill));border-radius:8px;height:5px}.preference-range input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--green-bright);border:3px solid #fff;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 5px #1b7c4933}.preference-range input[type=range]::-moz-range-track{background:#e6eee9;border-radius:8px;height:5px}.preference-range input[type=range]::-moz-range-progress{background:var(--green-bright);height:5px}.preference-range input[type=range]::-moz-range-thumb{background:var(--green-bright);border:3px solid #fff;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 5px #1b7c4933}.preferences-compact{width:min(100%,520px);margin-inline:auto}.preference-range{max-width:none}.profile-summary{align-items:center;gap:16px;display:flex}.profile-summary h2{margin:0 0 5px;font-size:20px}.profile-summary p{color:var(--muted);margin:0;font-size:12px}.profile-avatar{background:var(--green-soft);width:56px;height:56px;color:var(--green);border-radius:18px;place-items:center;font-size:24px;display:grid}.profile-editor{align-items:end;gap:12px;margin-top:24px;display:flex}.profile-editor label{flex:1;margin:0;font-size:13px}.profile-editor button{white-space:nowrap}.defaults-card>h2{margin-bottom:28px}.save-defaults{margin:28px auto 0;display:block}.account-signout{text-align:center;margin-top:16px;padding:20px 0 40px}.account-signout button{color:#87918b;background:0 0;border-color:#0000;font-size:13px}.quantity-control{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.quantity-control button{color:#287c53;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:18px;display:grid}.quantity-control button:last-child{background:var(--green-soft);border-color:#0000}.quantity-control input{appearance:textfield;text-align:center;background:0 0;border:0;border-radius:4px;width:34px;padding:4px 0;font-size:14px}.quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.result-card-heading{justify-content:space-between;align-items:start;gap:10px;display:flex}.result-card-heading .remove-dish{color:#a08b83;background:0 0;border:0;padding:5px;line-height:1}.plan-edit-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:20px 0 10px;display:flex}.plan-edit-actions>:first-child{color:var(--green);margin-right:auto}.plan-edit-actions button,.plan-edit-actions .button{font-size:13px}.member-meals{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px;margin-top:18px;display:grid}.member-meal-card{background:#fff;border-radius:16px;padding:18px}.member-meal-card header{align-items:center;gap:8px;display:flex}.member-meal-card header strong{color:#3f5748;font-size:14px}.member-meal-card .member-avatar{color:#729d81;background:#edf7f0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.meal-coverage{color:#428661;margin-left:auto;font-size:10px}.meal-coverage.missing{color:#bc9049}.meal-supply{margin:18px 0 14px}.meal-supply span{margin-bottom:5px;font-size:12px;display:block}.meal-supply meter{width:100%;height:8px;accent-color:var(--green)}.meal-supply meter::-webkit-meter-bar{background:#eef3ef;border:0;border-radius:9px}.meal-supply meter::-webkit-meter-optimum-value{background:#81c59b;border-radius:9px}.member-staple{color:#526b59;align-items:center;gap:10px;padding-bottom:12px;display:flex}.member-staple img{object-fit:cover;border-radius:8px;width:36px;height:36px}.member-fit-dishes{flex-wrap:wrap;gap:7px;display:flex}.member-fit-dishes>span{background:#f4f7f4;border-radius:7px;align-items:center;gap:5px;padding:4px 7px 4px 4px;font-size:11px;display:inline-flex}.member-fit-dishes img{object-fit:cover;border-radius:5px;width:24px;height:24px}.member-fit-dishes p{margin:0;font-size:11px}.merchant-app{min-height:100vh}.merchant-workspace{max-width:1200px;padding-bottom:60px}.merchant-profile{background:#fff;border-radius:18px;margin:0 0 20px;padding:20px 24px}.merchant-profile>summary{cursor:pointer;color:#667d6c;font-size:13px}.merchant-profile form{margin-top:20px}.merchant-catalog{background:#fff;border-radius:22px;margin-top:20px;overflow:clip}.catalog-toolbar{align-items:center;gap:18px;padding:26px 28px;display:flex}.catalog-toolbar>div{margin-right:auto}.catalog-toolbar h2{margin:0 0 4px;font-size:20px}.catalog-toolbar p{color:var(--muted);margin:0;font-size:12px}.catalog-toolbar input{background:#f5f7f5;border-color:#0000;width:220px;font-size:13px}.catalog-toolbar button{flex-shrink:0;font-size:13px}.merchant-catalog .menu-layout{min-height:440px}.merchant-catalog .menu-items{padding:0 24px 20px}.merchant-dish-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));column-gap:28px;display:grid}.merchant-dish-grid .menu-dish{align-items:start;min-width:0}.merchant-dish-grid .dish-info{flex-direction:column;min-height:118px;display:flex}.merchant-dish-grid .dish-bottom{margin-top:auto}.merchant-dish-title{justify-content:space-between;align-items:start;gap:8px;display:flex}.availability-tag{white-space:nowrap;color:#4e9870;padding-top:2px;font-size:10px}.availability-tag.off{color:#a59383}.merchant-item-actions{align-items:center;gap:5px;display:flex}.merchant-item-actions button{padding:5px 10px;font-size:12px}.merchant-item-actions button:last-child{color:#9eaaa2;border:0;place-items:center;padding:5px;display:grid}.modal-shell.modal-wide{width:calc(100% - 32px);max-width:700px}.merchant-editor{padding-top:8px}.merchant-editor .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.merchant-editor label{color:#6e8374;font-size:12px}.merchant-editor input,.merchant-editor select,.merchant-editor textarea{color:#263b2c}.merchant-editor>.row:last-child{justify-content:end;padding-top:20px}@media (width<=640px){.profile-editor{gap:8px}.profile-editor button{padding-inline:12px;font-size:12px}.plan-edit-actions>:first-child{text-align:center;width:100%;margin:0 0 3px}.plan-edit-actions>button{flex:1}.catalog-toolbar{flex-wrap:wrap;gap:12px;padding:20px 16px}.catalog-toolbar>div{flex:1}.catalog-toolbar input{order:3;width:100%}.merchant-catalog .menu-items{padding:0 14px 14px}.merchant-dish-grid .menu-dish .dish-thumb{width:80px;height:80px}.merchant-dish-grid .menu-dish{gap:12px}.merchant-dish-title{flex-wrap:wrap;gap:0}.merchant-editor .grid{grid-template-columns:1fr;gap:0}.member-meals{grid-template-columns:1fr}}.dining-chat{z-index:50;right:max(20px,50vw - 500px);bottom:max(20px, env(safe-area-inset-bottom));position:fixed}.chat-launcher{color:#fff;background:#234f3a;border:0;border-radius:28px;align-items:center;gap:9px;padding:14px 18px;font-size:13px;display:flex;box-shadow:0 8px 28px #24493626}.dining-chat-panel{background:#fff;border:1px solid #e2ebe4;border-radius:24px;flex-direction:column;width:min(380px,100vw - 40px);height:min(530px,100dvh - 145px);display:flex;overflow:hidden;box-shadow:0 18px 70px #133b292b}.dining-chat-panel .assistant-title{border-bottom:1px solid #f0f4f1;flex-shrink:0;padding:20px}.dining-chat-panel .assistant-title>div{flex:1}.dining-chat-panel .assistant-title small{color:#8ba293;margin-top:4px;font-size:11px;display:block}.close-chat{color:#7e9286;background:#f3f7f4;border:0;border-radius:50%;width:30px;height:30px;padding:0;font-size:22px}.chat-scroll{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;min-height:0;padding:18px;overflow-y:auto}.dining-chat-panel .chat-history{margin:0}.dining-chat-panel .chat-history>p{white-space:pre-wrap}.dining-chat-panel .assistant-message{font-size:13px}.dining-chat-panel .assistant-input{border-top:1px solid #f0f4f1;flex-shrink:0;margin:0;padding:14px}.dining-chat-panel .assistant-input input{min-width:0;font-size:13px}.chat-footnote{color:#8b9b91;margin:0;padding:14px 20px;font-size:12px}.result-actions{padding-bottom:70px}.image-upload{min-width:0}.image-upload-label{color:#6e8374;margin-bottom:8px;font-size:12px;display:block}.image-upload-box{color:#75a185;cursor:pointer;background:#f6faf7;border:1px dashed #bdd6c5;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:150px;min-height:128px;display:flex;position:relative;overflow:hidden}.image-upload-box:hover{border-color:var(--green);background:#edf7f0}.image-upload-box input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.image-upload-box:focus-within{outline-offset:3px;outline:3px solid #76d6b0}.image-upload-box img{object-fit:cover;width:100%;height:128px}.image-upload-box:has(img)>span{color:#fff;text-align:center;background:#183b2c99;width:100%;padding:7px;font-size:11px;position:absolute;bottom:0}.image-upload-box.uploading{opacity:.65;cursor:wait}.image-upload>small{margin-top:7px;font-size:10px;display:block}.image-remove{color:#8b9990;background:0 0;border:0;padding:5px 0;font-size:11px}@media (width<=480px){.dining-chat{right:14px;bottom:max(14px, env(safe-area-inset-bottom))}.dining-chat-panel{border-radius:21px;width:calc(100vw - 28px);height:min(530px,100dvh - 140px)}.chat-launcher{padding:12px 16px}}@media (prefers-reduced-motion:reduce){.chat-scroll{scroll-behavior:auto}}.embedded-menu{margin-top:16px;padding-bottom:0}.embedded-menu .menu-layout{min-height:360px}.embedded-menu .selection-bar{width:100%;margin-top:16px;position:sticky;bottom:0;left:auto;transform:none}.selection-bar.wishes-open{flex-wrap:wrap}.selection-bar .selection-summary{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:4px 0}.selection-summary strong{overflow-wrap:anywhere}.selection-bar .selected-wishes{border-bottom:1px solid #ffffff26;flex:0 0 100%;min-width:0;padding-bottom:10px}.selected-wishes-heading{justify-content:space-between;align-items:center;display:flex}.selection-bar .selected-wishes button{color:#d5e5dc;background:0 0;border:0;padding:6px 10px;font-size:12px}.selected-wishes ul{overscroll-behavior:contain;max-height:min(280px,40dvh);margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.selected-wishes li{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.selected-wishes li>span{overflow-wrap:anywhere;min-width:0}.selected-wishes p{color:#b9c9c0;font-size:12px}.menu-dish .wish-add{border-radius:50%;justify-content:center;width:30px;height:30px;padding:0}
