@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700&family=ZCOOL+KuaiLe&display=swap";:root{font-family:"Noto Serif SC",serif;color:#213f38;background:#f7f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:720px;min-height:100vh;margin:0 auto;padding:18px 16px 96px}.app-header,.page-title,.meal-card-head,.day-switcher,.form-actions,.profile-head,.member-row,.history-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand,.text-button,.app-header button,.day-switcher button,.card-tools button,.meal-actions button,.history-card button,.member-tools button{border:0;background:transparent;color:#31574b}.brand{text-align:left;display:grid;padding:0}.brand span,.page-title span,.auth-brand span,.home-hero p,.meal-time,.history-card span{color:#7b8279;font-size:12px}.brand strong,.auth-brand h1{font:34px ZCOOL KuaiLe,cursive;color:#24463b;line-height:1}.avatar,.round-add{width:42px;height:42px;border:0;border-radius:50%;color:#fff;background:#d86642;font-size:19px}.page{margin-top:18px}.home-hero{margin:18px 0 14px;padding:24px;color:#fff;background:#24463b;border-radius:8px;box-shadow:inset 0 -30px #1c382f}.home-hero p{color:#d6e3d9;margin:0 0 5px}.home-hero h2{font-size:27px;margin:6px 0 14px}.home-hero span{font-size:13px;color:#d6e3d9}.day-switcher{padding:8px 12px;background:#fff;border:1px solid #e6e1d6;border-radius:7px}.day-switcher button{min-width:38px;border-radius:5px;padding:5px 10px;font-size:25px}.day-switcher .date-current{flex:1;color:#24463b;font-size:14px}.meal-card,.menu-card,.plan-block,.profile-section,.inline-form,.gateway-option,.empty-state,.auth-view{background:#fff;border:1px solid #ebe5d8;border-radius:8px}.meal-card{margin:13px 0;padding:16px}.meal-card h3,.menu-card h3,.history-card h3{margin:5px 0;font-size:17px}.meal-card p,.menu-card p,.history-card p,.profile-section p{margin:4px 0;color:#748078;font-size:13px}.meal-status{padding:5px 8px;border-radius:3px;font-size:12px;background:#eee9df;white-space:nowrap}.meal-status.SUBMITTED{background:#eee0b7}.meal-status.CONFIRMED{background:#cde0d6}.meal-status.COOKING{background:#f2ca9e}.meal-status.COMPLETED{background:#b8d7c1}.meal-status.CANCELLED{color:#8b8b84}.meal-note{border-top:1px solid #ece6db;padding-top:10px}.meal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.meal-actions button,.card-tools button,.member-tools button{padding:7px 9px;border-radius:4px;background:#f3f0e8;font-size:13px}.meal-actions .action-main{background:#d86642;color:#fff}.danger{color:#ad3f35!important}.review-summary{margin-top:14px;padding-top:10px;border-top:1px solid #ece6db}.review-summary div{padding:5px 0}.review-summary span{margin-left:8px;color:#d86642}.review-summary p{margin:4px 0;font-size:13px}.empty-state{margin-top:18px;padding:34px 22px;text-align:center}.empty-state>span{font-size:34px;color:#d86642}.empty-state h3{margin:7px 0}.empty-state p,.page-help,.plan-block>p,.muted{color:#788079;font-size:13px}.compact{width:auto!important;padding:10px 18px!important}.primary,.secondary{border:0;border-radius:5px;padding:14px;font-weight:700}.primary{width:100%;margin-top:8px;background:#d86642;color:#fff}.primary:disabled{cursor:not-allowed;opacity:.45}.secondary{width:100%;margin-top:10px;background:#24463b;color:#fff}.text-button{padding:9px 3px;text-decoration:underline;font-size:13px}.page-title h2{margin:2px 0 0;font-size:26px}.plan-block{margin:13px 0;padding:16px}.plan-block h3,.profile-section h3{margin:0;font-size:16px}.plan-block label,.profile-section>label{display:block;margin-top:10px;font-size:13px;color:#56645e}.choose-dish{width:100%;display:flex;align-items:center;gap:10px;margin-top:9px;padding:9px;text-align:left;border:1px solid #e5dfd2;border-radius:6px;background:#fff;color:#24463b}.choose-dish.selected{border-color:#d86642;background:#fff7f3}.choose-dish img,.choose-dish .dish-placeholder{width:42px;height:42px;border-radius:5px;object-fit:cover}.dish-placeholder,.menu-photo{display:grid;place-items:center;color:#fff;background:#d86642}.choose-dish span:nth-child(2){display:grid;gap:2px}.choose-dish small{color:#7b8279}.choose-dish em{margin-left:auto;font-style:normal;font-size:22px;color:#d86642}.member-choice{display:flex!important;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eee9df}.member-choice input{width:auto}.member-choice small{margin-left:auto;color:#7b8279}.empty-inline{margin-top:10px;color:#778079}.category-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}.category-chips button{flex:0 0 auto;border:1px solid #ded8ca;border-radius:999px;padding:6px 11px;background:#fff;color:#607269;font-size:12px}.category-chips button.active{border-color:#d86642;background:#fff1eb;color:#b84f32}input,select,textarea{width:100%;margin-top:5px;border:1px solid #ded8ca;border-radius:5px;padding:12px;background:#fff;color:#24463b}textarea{min-height:82px;resize:vertical}.inline-form{margin:15px 0;padding:16px}.inline-form h3{margin:0 0 7px}.form-actions{margin-top:10px}.form-actions>button:first-child{border:0;background:transparent;color:#52675e}.form-actions .primary{margin:0}.menu-card{display:flex;align-items:center;gap:11px;margin:10px 0;padding:10px}.menu-card>img,.menu-photo{flex:0 0 56px;width:56px;height:56px;border-radius:6px;object-fit:cover}.menu-card>div:nth-child(2){min-width:0;flex:1}.menu-card.inactive{opacity:.62}.menu-card small{color:#aa6348;font-size:11px}.card-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.upload-label{display:block;margin-top:10px;color:#56645e;font-size:13px}.upload-label input{margin-top:5px}.preview-image{display:block;width:100%;max-height:180px;margin-top:10px;border-radius:6px;object-fit:cover}.history-card{margin:10px 0;padding:14px 0;border-bottom:1px solid #e7e1d7;cursor:pointer}.history-card>div:last-child{display:grid;text-align:right}.profile-head{margin:20px 0}.profile-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#d86642;color:#fff;font-size:24px}.profile-section h3{display:flex;align-items:center;gap:8px}.profile-head h2{margin:0}.profile-head p{margin:4px 0;color:#768078;font-size:13px}.profile-section{margin:14px 0;padding:15px}.member-row,.notice-row{padding:10px 0;border-bottom:1px solid #eee9df}.member-row div:first-child{display:grid}.member-row small{color:#7b8279;font-size:11px}.member-row>span{color:#a25a3c;font-size:12px}.member-tools{display:flex;gap:4px}.notice-row{cursor:pointer}.notice-row.unread b:before{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#d86642;content:""}.notice-count,.nav-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#d86642;color:#fff;font-size:11px;font-style:normal}.nav-badge{position:absolute;top:-8px;right:-10px}.ios-tip{padding:9px 10px;border-left:3px solid #d86642;background:#fff7f3;color:#8f5643!important}.auth-view{max-width:460px;margin:10vh auto 0;padding:24px}.auth-brand{margin-bottom:28px}.auth-brand h1{margin:4px 0;font-size:48px}.auth-view h2{font-size:24px;line-height:1.45}.auth-view .text-button{display:block;margin:7px auto 0}.recovery-code{padding:16px;border-radius:5px;background:#f3eee2;text-align:center;font-size:22px;letter-spacing:2px}.family-gateway{max-width:520px;margin:7vh auto 0}.gateway-intro{margin-bottom:18px}.gateway-intro span{color:#7b8279;font-size:13px}.gateway-intro h2{margin:5px 0;font-size:28px}.gateway-intro p{color:#748078}.gateway-option{display:flex;width:100%;align-items:center;gap:13px;margin:12px 0;padding:17px;text-align:left;color:#24463b}.gateway-option>span:nth-child(2){display:grid;gap:4px}.gateway-option small{color:#778079}.gateway-option em{margin-left:auto;color:#d86642;font-size:28px;font-style:normal}.option-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d6e4da;font-size:24px}.option-icon.warm{background:#f6d8ca;color:#bf5839}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:3;display:flex;justify-content:center;gap:min(9vw,66px);padding:10px max(18px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e7e1d7;background:#fff}.bottom-nav button{border:0;background:transparent;color:#6d7c74;font:inherit;font-size:13px}.bottom-nav .active{color:#d86642;font-weight:700}.bottom-nav .nav-add{width:42px;height:42px;margin-top:-24px;border-radius:50%;background:#d86642;color:#fff;font-size:28px;box-shadow:0 3px 10px #d8664266}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;display:grid;place-items:end center;padding:12px;background:#12251d88}.review-modal,.meal-detail-modal{position:relative;width:min(560px,100%);max-height:min(86vh,760px);overflow-y:auto;padding:24px;border-radius:8px;background:#fff}.review-modal h2,.meal-detail-modal h2{margin:5px 0 12px}.modal-close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:26px;color:#6d7c74}.stars{display:flex;gap:5px}.stars button{border:0;background:transparent;color:#d9d2c4;font-size:30px}.stars button.selected{color:#d86642}.detail-status{color:#748078;font-size:13px}.detail-items,.detail-reviews{margin-top:18px;border-top:1px solid #ece6db;padding-top:13px}.detail-items h3,.detail-reviews h3{margin:0 0 8px;font-size:16px}.detail-items>div{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:9px 0;border-bottom:1px solid #f0ece4}.detail-items small{grid-column:1 / -1;color:#748078}.detail-reviews article{margin:10px 0;padding:10px;border-radius:6px;background:#faf8f3}.detail-reviews article>div:first-child{display:flex;gap:8px}.detail-reviews article>div:first-child span{color:#d86642}.review-reply{display:flex;gap:8px;margin-top:7px;padding:7px 9px;border-left:3px solid #d6e4da;background:#f0f6f1;font-size:12px}.reply-box{display:flex;gap:6px;margin-top:9px}.reply-box input{min-width:0;margin:0}.reply-box button{border:0;border-radius:5px;padding:0 12px;background:#24463b;color:#fff}.review-image{max-width:100%;max-height:180px;border-radius:5px}.toast{position:fixed;right:16px;bottom:calc(74px + env(safe-area-inset-bottom));left:16px;z-index:12;margin:auto;max-width:360px;padding:10px 14px;border-radius:7px;background:#24463b;color:#fff;text-align:center;pointer-events:none;box-shadow:0 5px 18px #12251d33;animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 721px){.app-shell{padding-top:28px}.home-hero{padding:32px}.modal-backdrop{place-items:center}}
