*{box-sizing:border-box}html,body{color:#191f28;background:#f5f6f8;min-height:100%;margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:720px;min-height:100dvh;margin:0 auto;padding-bottom:94px}.topbar{justify-content:space-between;align-items:center;height:72px;padding:18px 20px 10px;display:flex}.topbar strong{font-size:16px}.eyebrow{letter-spacing:.12em;color:#8b95a1;margin-bottom:2px;font-size:10px;font-weight:800}.sync{color:#8b95a1;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;display:flex}.sync.offline{color:#f04452}.sync.conflict{color:#e78400}.content{padding:10px 18px 28px}.stack{flex-direction:column;gap:20px;display:flex}.hero-card{background:#fff;border-radius:26px;padding:24px;box-shadow:0 1px 2px #00000005}.hero-card>span,.mini-card span{color:#8b95a1;font-size:14px;font-weight:600;display:block}.hero-card>strong{letter-spacing:-.04em;margin:8px 0 10px;font-size:38px;display:block}.meal-available{color:#4e5968;flex-wrap:wrap;gap:12px;margin-bottom:20px;font-size:12px;font-weight:700;display:flex}.hero-meta{color:#6b7684;justify-content:space-between;gap:12px;font-size:12px;display:flex}.progress{background:#eef0f3;border-radius:999px;height:7px;margin-top:14px;overflow:hidden}.progress i{border-radius:inherit;background:#3182f6;height:100%;display:block}.summary-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mini-card{background:#fff;border-radius:20px;padding:18px}.mini-card strong{margin-top:7px;font-size:20px;display:block}.section-title{justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px 10px;display:flex}.section-title h2,.calendar-head h2{margin:0;font-size:20px}.section-title span{color:#8b95a1;text-align:right;font-size:12px}.meal-card,.calendar-card,.settings-card{background:#fff;border-radius:22px;overflow:hidden}.meal-row{justify-content:space-between;align-items:center;gap:12px;padding:20px;display:flex}.meal-row>div:first-child{min-width:0}.meal-row strong{font-size:17px;display:block}.meal-row span{color:#8b95a1;margin-top:5px;font-size:12px;display:block}.meal-row.disabled{opacity:.48}.meal-input-wrap{align-items:center;gap:7px;display:flex}.fill-btn{color:#1b64da;background:#eef6ff;border:0;border-radius:10px;height:34px;padding:0 9px;font-size:11px;font-weight:800}.fill-btn:disabled{opacity:.45}.divider{background:#f2f3f5;height:1px;margin:0 20px}.money-input{background:#f5f6f8;border-radius:14px;align-items:center;gap:4px;height:46px;padding:0 12px;display:flex}.money-input input{text-align:right;color:#191f28;background:0 0;border:0;outline:0;width:100px;font-size:18px;font-weight:750}.money-input span{color:#6b7684!important;margin:0!important;font-size:14px!important}.money-input.compact{height:40px}.money-input.compact input{width:90px;font-size:15px}.day-options{flex-wrap:wrap;gap:8px;padding:2px 20px 18px;display:flex}.chip{color:#6b7684;background:#f2f4f6;border:0;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.chip.on{color:#1b64da;background:#e8f3ff}.calendar-card{padding:14px}.calendar-head{justify-content:space-between;align-items:center;padding:4px 2px 12px;display:flex}.icon-btn{color:#6b7684;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.icon-btn:hover{background:#f5f6f8}.week,.days{grid-template-columns:repeat(7,1fr);display:grid}.week span{text-align:center;color:#adb5bd;padding:7px 0;font-size:11px}.days button{color:#4e5968;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:58px;display:flex;position:relative}.days button b{font-size:13px}.days button small{color:#3182f6;font-size:9px;font-weight:700}.days button.muted{opacity:.3}.days button.period:not(.selected):after{content:"";background:#b0c8eb;border-radius:50%;width:3px;height:3px;position:absolute;bottom:5px}.days button.today:not(.selected){box-shadow:inset 0 0 0 1.5px #3182f6}.days button.selected{color:#fff;background:#3182f6}.days button.selected small{color:#fff}.bottom-nav{z-index:20;width:min(720px,100%);height:78px;padding:8px max(16px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-top:1px solid #0000000a;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#adb5bd;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:700;display:flex}.bottom-nav button.active{color:#3182f6}.page-title h1{margin:4px 2px 8px;font-size:30px}.group-title{color:#8b95a1;padding:0 4px 8px;font-size:13px;font-weight:700}.setting-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #f2f3f5;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:62px;padding:12px 16px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:15px}.setting-row small{color:#8b95a1;margin-top:4px;font-size:11px;display:block}.setting-button{color:#191f28}.choice-value{color:#6b7684;align-items:center;gap:5px;font-size:13px;font-weight:700;display:flex}.action-label{align-items:center;gap:9px;font-weight:700;display:flex}.day-input{color:#6b7684;align-items:center;gap:5px;font-size:13px;display:flex}.day-input input{text-align:center;background:#f5f6f8;border:0;border-radius:9px;outline:0;width:42px;padding:8px;font-weight:700}.toggle{appearance:none;background:#d1d6db;border-radius:999px;width:44px;height:26px;transition:all .18s;position:relative}.toggle:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle:checked{background:#3182f6}.toggle:checked:before{transform:translate(18px)}.apply-switch{background:#e9edf1;border-radius:14px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.apply-switch button{color:#8b95a1;background:0 0;border:0;border-radius:11px;height:40px;font-size:13px;font-weight:800}.apply-switch button.active{color:#333d4b;background:#fff;box-shadow:0 1px 3px #0000000d}.notice{color:#4e5968;background:#fff;border-radius:14px;padding:12px 14px;font-size:12px}.logout{color:#f04452;background:#fff;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;height:50px;font-weight:700;display:flex}.danger-link{color:#b0b8c1;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:2px;font-size:12px;display:flex}.auth-wrap{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:28px;width:min(400px,100%);padding:30px}.logo{color:#fff;background:#3182f6;border-radius:18px;place-items:center;width:52px;height:52px;display:grid}.auth-card h1{margin:18px 0 5px;font-size:30px}.auth-card>p{color:#8b95a1;margin:0 0 24px}.segmented{background:#f2f4f6;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:3px;display:grid}.segmented button{color:#8b95a1;background:0 0;border:0;border-radius:10px;height:38px;font-weight:700}.segmented button.active{color:#333d4b;background:#fff;box-shadow:0 1px 3px #0000000f}.field{margin-top:13px;display:block}.field span{color:#6b7684;margin:0 0 7px 2px;font-size:12px;font-weight:700;display:block}.field input{background:#f5f6f8;border:0;border-radius:14px;outline:0;width:100%;height:50px;padding:0 15px}.field input:focus{box-shadow:inset 0 0 0 2px #3182f6}.primary{color:#fff;background:#3182f6;border:0;border-radius:15px;width:100%;height:52px;margin-top:20px;font-weight:750}.primary:disabled{opacity:.55}.error{color:#f04452;background:#fff0f1;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12px}.sheet-backdrop{z-index:50;background:#191f2852;justify-content:center;align-items:flex-end;padding-top:60px;display:flex;position:fixed;inset:0}.sheet{width:min(720px,100%);padding:10px 16px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;max-height:82dvh;overflow:auto;box-shadow:0 -10px 30px #00000014}.sheet-head{justify-content:space-between;align-items:center;height:54px;padding-left:4px;display:flex}.sheet-head>strong{font-size:19px}.sheet-choice{color:#333d4b;background:#fff;border:0;border-radius:13px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:0 10px;font-weight:700;display:flex}.sheet-choice:hover{background:#f5f6f8}.sheet-choice svg{color:#3182f6}.sheet-field{margin:6px 0}.sheet-copy{color:#6b7684;margin:4px 2px 10px;font-size:13px}.danger-button{color:#fff;background:#f04452;border:0;border-radius:14px;width:100%;height:50px;margin-top:14px;font-weight:800}.danger-button:disabled{opacity:.35}@media (max-width:480px){.content{padding-left:14px;padding-right:14px}.topbar{padding-left:16px;padding-right:16px}.hero-card>strong{font-size:34px}.meal-row{padding:18px 16px}.meal-input-wrap{gap:5px}.fill-btn{padding:0 7px}.money-input input{width:66px}.summary-grid{gap:8px}.auth-card{padding:24px}.section-title{flex-direction:column;align-items:flex-start;gap:3px}.section-title span{text-align:left}.meal-row{flex-direction:column;align-items:flex-start}.meal-input-wrap{justify-content:flex-end;width:100%}}
