@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:10px 14px;background:#fff;border:1px solid #e6e1d6;border-radius:7px}.day-switcher button{padding:0 10px;font-size:25px}.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}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}.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-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:""}.logout-link{display:block;margin:24px auto;color:#a14f39}.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:16px;background:#12251d88}.review-modal{position:relative;width:min(560px,100%);padding:24px;border-radius:8px;background:#fff}.review-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}.toast{position:fixed;right:16px;bottom:84px;left:16px;z-index:12;margin:auto;max-width:580px;padding:12px 16px;border-radius:5px;background:#24463b;color:#fff;text-align:center}@media (min-width: 721px){.app-shell{padding-top:28px}.home-hero{padding:32px}.modal-backdrop{place-items:center}}
