:root{--bg:#edf2f7;--ink:#172b40;--muted:#5c6f83;--line:#d2dbe5;--card:#fff;--accent:#1d4f83;--accent-2:#2c7a7b;--focus:#1f70c6;--radius:12px;--shadow-soft:0 10px 26px #152c4514}[data-astro-cid-lcdefpme]{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:radial-gradient(100% 70% at 0 0,#fff 0%,#fff0 55%),radial-gradient(110% 75% at 100% 0,#f2f8ff 0%,#f2f8ff00 58%),linear-gradient(#f3f7fd 0%,#e9f0f8 100%);margin:0;font-family:Aptos,Segoe UI Variable,Segoe UI,Tahoma,sans-serif}body{letter-spacing:.01em;padding:0}header[data-astro-cid-lcdefpme]{z-index:30;backdrop-filter:blur(10px);background:#ffffffed;border-bottom:1px solid #d6dfe8;margin:0;padding:12px 14px;position:sticky;top:0;box-shadow:0 8px 18px #1a395612}.header-inner[data-astro-cid-lcdefpme],.app[data-astro-cid-lcdefpme],.nav-inner[data-astro-cid-lcdefpme]{width:min(1160px,100%);margin:0 auto}.header-inner[data-astro-cid-lcdefpme]{gap:12px;display:grid}.header-top[data-astro-cid-lcdefpme]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.header-copy[data-astro-cid-lcdefpme]{gap:4px;display:grid}h1[data-astro-cid-lcdefpme]{letter-spacing:.01em;color:#112b46;margin:0;font-size:clamp(1.65rem,2.7vw,2.2rem);font-weight:800;line-height:1.08}.sub[data-astro-cid-lcdefpme]{color:var(--muted);margin:0;font-size:.96rem}.week-row[data-astro-cid-lcdefpme]{color:#264460;flex-wrap:wrap;align-items:center;gap:10px;font-weight:700;display:flex}select[data-astro-cid-lcdefpme],button[data-astro-cid-lcdefpme],input[data-astro-cid-lcdefpme]{font:inherit}select[data-astro-cid-lcdefpme],.btn[data-astro-cid-lcdefpme],.tab-btn[data-astro-cid-lcdefpme],.logout-btn[data-astro-cid-lcdefpme]{color:#173a5a;background:#fff;border:1px solid #c7d3df;border-radius:10px;min-height:44px;padding:8px 14px;font-weight:700}select[data-astro-cid-lcdefpme]{background:linear-gradient(#fff 0%,#f5f9ff 100%);min-width:152px}.app[data-astro-cid-lcdefpme]{padding:18px 14px 26px}.tabs[data-astro-cid-lcdefpme]{gap:14px;display:grid}.panel[data-astro-cid-lcdefpme]{gap:14px;display:none}.panel[data-astro-cid-lcdefpme].active{animation:.18s panel-in;display:grid}nav[data-astro-cid-lcdefpme]{margin-top:2px}.nav-inner[data-astro-cid-lcdefpme]{scrollbar-width:none;background:#f3f7fb;border:1px solid #d3dde7;border-radius:10px;gap:8px;padding:6px;display:flex;overflow-x:auto;box-shadow:inset 0 1px #ffffffd9}.nav-inner[data-astro-cid-lcdefpme]::-webkit-scrollbar{display:none}.tab-btn[data-astro-cid-lcdefpme]{color:#2b4763;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d8e1ea;transition:transform .12s,box-shadow .14s,background .14s}.tab-btn[data-astro-cid-lcdefpme]:hover{transform:translateY(-1px);box-shadow:0 8px 16px #1c49721c}.tab-btn[data-astro-cid-lcdefpme][aria-selected=true]{color:#fff;background:#1e4e80;border-color:#193f66;box-shadow:0 10px 16px #193f6640}.account-wrap[data-astro-cid-lcdefpme]{flex:none;position:relative}.account-btn[data-astro-cid-lcdefpme]{color:#214462;cursor:pointer;background:linear-gradient(#fff 0%,#f5f9ff 100%);border:1px solid #d4e1ee;border-radius:999px;align-items:center;gap:8px;min-height:42px;padding:4px 10px 4px 5px;font-weight:700;display:inline-flex;box-shadow:0 8px 18px #22446614}.avatar[data-astro-cid-lcdefpme]{letter-spacing:.03em;color:#fff;background:linear-gradient(140deg,#1f5c97 0%,#2a8b8d 100%);border-radius:999px;place-items:center;width:30px;height:30px;font-size:.78rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff8c}.account-menu[data-astro-cid-lcdefpme]{backdrop-filter:blur(12px);z-index:40;background:#fffffff7;border:1px solid #d9e5f1;border-radius:18px;width:250px;padding:8px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 36px #1c3a5829}.account-menu[data-astro-cid-lcdefpme].open{gap:6px;display:grid}.account-menu-header[data-astro-cid-lcdefpme]{border-bottom:1px solid #edf3f8;align-items:center;gap:10px;margin-bottom:4px;padding:8px 10px 10px;display:flex}.account-name[data-astro-cid-lcdefpme]{color:#173d60;margin:0;font-weight:800}.account-email[data-astro-cid-lcdefpme]{color:#67809c;margin:2px 0 0;font-size:.84rem}.account-menu[data-astro-cid-lcdefpme] button[data-astro-cid-lcdefpme]{color:#183a5b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;width:100%;min-height:42px;padding:8px 10px;font-weight:600}.account-menu[data-astro-cid-lcdefpme] button[data-astro-cid-lcdefpme]:hover,.account-menu[data-astro-cid-lcdefpme] button[data-astro-cid-lcdefpme]:focus-visible{background:#eef6ff}.account-menu[data-astro-cid-lcdefpme] button[data-astro-cid-lcdefpme][data-account-action=tracking]{color:#156f5a}.account-menu[data-astro-cid-lcdefpme] .danger[data-astro-cid-lcdefpme]{color:#9a2e26}.hidden[data-astro-cid-lcdefpme]{display:none!important}.toast[data-astro-cid-lcdefpme]{color:#fff;opacity:0;pointer-events:none;z-index:50;background:linear-gradient(160deg,#1b3f63 0%,#2d5b86 100%);border-radius:12px;max-width:min(96vw,540px);padding:11px 16px;font-weight:700;transition:opacity .16s;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 32px #16344f47}.toast[data-astro-cid-lcdefpme].show{opacity:1}[data-astro-cid-lcdefpme]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){h1[data-astro-cid-lcdefpme]{font-size:clamp(1.45rem,8vw,1.9rem)}.header-top[data-astro-cid-lcdefpme]{align-items:center}.app[data-astro-cid-lcdefpme]{padding-top:14px}.tab-btn[data-astro-cid-lcdefpme]{min-height:40px}}@media (width>=980px){.nav-inner[data-astro-cid-lcdefpme]{justify-content:center}}@media (prefers-reduced-motion:reduce){[data-astro-cid-lcdefpme],[data-astro-cid-lcdefpme]:before,[data-astro-cid-lcdefpme]:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.btn{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#1e4e80;border:1px solid #1f4e80;border-radius:10px;padding:8px 14px;font-weight:700;transition:transform .12s,box-shadow .14s,background .14s;box-shadow:0 8px 16px #1e4e803d}.btn:hover{background:#24588f;transform:translateY(-1px);box-shadow:0 10px 18px #1e4e8047}.card{background:#fff;border:1px solid #d3dde7;border-radius:12px;padding:18px;box-shadow:0 10px 24px #1b324c14}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.summary-pill{background:#fff;border:1px solid #d7e1eb;border-radius:10px;padding:12px;box-shadow:0 6px 14px #2f4d6a0d}.summary-pill .value{color:#183a5b;font-size:1.25rem;font-weight:800;display:block}.summary-pill .label{color:#4d6783;text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:.78rem;display:block}.meal-card{background:#fff;border:1px solid #d8e2ec;border-radius:12px;gap:10px;padding:14px;display:grid;box-shadow:0 8px 18px #2c4c6c0d}.meal-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meal-card-body{gap:8px;display:grid}.macro-chips{flex-wrap:wrap;gap:8px;display:flex}.macro-chip{color:#1d476f;background:#eef6fd;border:1px solid #c9dbee;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.goal-bars{gap:10px;display:grid}.goal-bar{background:#fff;border:1px solid #d7e1eb;border-radius:10px;gap:8px;padding:12px 14px;display:grid;box-shadow:0 6px 14px #2f4d6a0d}.goal-bar-head{color:#183a5b;justify-content:space-between;align-items:center;gap:10px;display:flex}.goal-suggestions{gap:10px;padding:2px 0 4px;display:grid}.goal-list{color:#214767;gap:8px;margin:0;padding-left:18px;display:grid}.home-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.home-action{color:#1b4367;background:#fff;border:1px solid #d3dfe9;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 8px 16px #2f4d6a0d}.home-action.primary{color:#fff;background:#1e4e80;border-color:#193f66}.week-days{gap:12px;display:grid}.week-day-card{background:#fff;border:1px solid #d5e0ea;border-radius:12px;overflow:hidden;box-shadow:0 10px 22px #254a7014}.week-day-card.is-today{border-color:#88b2df;box-shadow:0 0 0 2px #88b2df59,0 14px 32px #254a7017}.week-day-head{background:linear-gradient(90deg,#edf5fd 0%,#f9fcff 100%);border-bottom:1px solid #d9e6f1;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.week-day-head h3{color:#153e63;margin:0;font-size:1rem}.week-day-meals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px;display:grid}.week-day-meal{gap:8px;display:grid}.week-meal-label{letter-spacing:.08em;text-transform:uppercase;color:#4b6885;font-size:.78rem;font-weight:800}.shop-list{gap:10px;display:grid}.shop-group{background:#fff;border:1px solid #cfe0f1;border-radius:14px;overflow:hidden;box-shadow:0 14px 32px #254a7012}.shop-group h3{color:#153e63;background:#edf4fb;border-bottom:1px solid #d9e6f1;margin:0;padding:10px 12px}.shop-item{width:100%;color:inherit;text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;border-bottom:1px solid #dbe7f2;border-radius:0;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.shop-item:last-child{border-bottom:0}.shop-check{color:#fff;background:#fff;border:1.5px solid #9bb4ca;border-radius:999px;flex:none;place-items:center;width:20px;height:20px;margin-top:3px;font-size:.86rem;font-weight:900;transition:transform .12s,background .12s,border-color .12s;display:grid}.shop-item[aria-checked=true]{background:#ecf8f2f2}.shop-item[aria-checked=true] .shop-check{background:linear-gradient(145deg,#1c86e8 0%,#20b9a7 100%);border-color:#0000;transform:scale(1.02)}.shop-item[aria-checked=true] .shop-check:before{content:"✓"}.shop-copy{gap:2px;min-width:0;display:grid}.shop-name{color:#143755;font-size:1rem;font-weight:800;display:block}.shop-item small{color:#4d6783;line-height:1.35}.shop-item .meta{color:#214767;font-weight:600}.shop-progress{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.shop-log{color:#4d6783;margin:10px 0 0;font-size:.92rem}.plan-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.week-col{background:#fff;border:1px solid #d5e0ea;border-radius:12px;position:sticky;top:88px;overflow:hidden;box-shadow:0 10px 22px #254a7014}.week-col h3{color:#153e63;background:linear-gradient(90deg,#edf5fd 0%,#f9fcff 100%);border-bottom:1px solid #d9e6f1;margin:0;padding:12px;line-height:1.3}.slot-row{background:linear-gradient(#fff 0%,#f9fcff 100%);border-bottom:1px solid #deebf7;padding:10px 12px}.slot-row:last-child{border-bottom:0}.slot-head{color:#19486f;margin:0 0 8px;font-weight:700}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.slot-btn{color:#132f4a;text-align:left;cursor:pointer;background:#fff;border:1px solid #c8d7e5;border-radius:10px;flex-direction:column;justify-content:center;gap:2px;width:100%;min-height:62px;padding:10px 14px;font-weight:600;transition:transform .14s,box-shadow .14s,border-color .14s,background .14s;display:flex;box-shadow:0 8px 16px #2f4d6a0d}.slot-btn:disabled{color:#7a8ea5;cursor:not-allowed;box-shadow:none;background:linear-gradient(#f7f9fc 0%,#eef3f8 100%);border-color:#d6e1ea}.slot-btn .slot-label{letter-spacing:.1em;text-transform:uppercase;color:#59718b;margin-bottom:1px;font-size:.74rem;display:block}.slot-btn .slot-meal{color:#132f4a;word-break:break-word;font-size:.93rem;line-height:1.25;display:block}.slot-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #2f4d6a1a}.slot-btn.selected{background:#fff5eb;border-color:#da670d;box-shadow:inset 0 0 0 1px #ffd4b3,0 10px 20px #da670d1f}.slot-btn.valid-target{background:#f1fbf5;border-color:#2a9d69;box-shadow:inset 0 0 0 1px #c6efd9,0 10px 20px #2a9d691f}.slot-btn.drag-source{background:#eef5ff;border-color:#1d6fd6;box-shadow:inset 0 0 0 1px #b9d9f6,0 10px 20px #1d6fd624}.progress-shell{gap:14px;display:grid}.progress-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-head h2{margin:0}.progress-chart-wrap{background:linear-gradient(#fff 0%,#f4f9ff 100%);border:1px solid #d6e4f1;border-radius:16px;padding:10px;overflow-x:auto}.progress-chart{width:100%;min-width:620px;height:auto;display:block}.chart-grid{stroke:#d9e6f1;stroke-width:1px}.chart-axis{fill:#65809a;letter-spacing:.02em;font-size:11px;font-weight:600}.chart-area{fill:#1c86e824}.chart-line{fill:none;stroke:#1c86e8;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#1c86e8;stroke-width:2px}.progress-empty{color:#4f6c87;text-align:center;background:#f7fbff;border:1px dashed #c7d9eb;border-radius:14px;padding:16px;font-weight:600}.progress-log{gap:8px;margin:0;padding:0;list-style:none;display:grid}.progress-log-row{background:#fff;border:1px solid #dce8f3;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.progress-log-row strong{color:#173d60}.delta{text-align:right;min-width:68px;font-size:.86rem;font-weight:700}.delta.down{color:#1f8f51}.delta.up{color:#b44a3a}.settings-shell{gap:14px;display:grid}.settings-hero{background:#f7fafd;border:1px solid #d7e1eb;border-radius:12px;gap:10px;padding:14px;display:grid}.settings-hero h2{margin:0}.settings-actions{flex-wrap:wrap;gap:10px;display:flex}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.setting-card{background:#fff;border:1px solid #d7e1eb;border-radius:12px;gap:10px;padding:12px;display:grid;box-shadow:0 8px 18px #2a4c6d0d}.setting-card h3{color:#173d60;margin:0}.setting-row{gap:8px;display:grid}.setting-row input,.setting-row select{min-height:44px;font:inherit;color:#153e63;background:#fff;border:1px solid #c7d3df;border-radius:10px;padding:8px 10px}.settings-footer{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:2px;display:flex}.btn.ghost{color:#19486f;background:#fff;border-color:#c6d8e9}.recipe-group{background:#fff;border:1px solid #d7e1eb;border-radius:12px;margin-top:12px;overflow:hidden;box-shadow:0 8px 18px #2a4c6d0d}.recipe-group>summary{cursor:pointer;color:#173d60;background:#f5f9fc;border-bottom:1px solid #0000;padding:14px 16px;font-size:1.02rem;font-weight:800;list-style:none}.recipe-group>summary::-webkit-details-marker{display:none}.recipe-group[open]>summary{background:#f0f6fb;border-bottom-color:#dce6f0}.recipe-group .recipes-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:14px;display:grid}.recipe-card{background:#fff;border:1px solid #d7e1eb;border-radius:10px;overflow:hidden;box-shadow:0 6px 14px #2a4c6d0d}.recipe-card>summary{cursor:pointer;background:#fff;border-bottom:1px solid #0000;gap:4px;padding:12px;list-style:none;display:grid}.recipe-card>summary::-webkit-details-marker{display:none}.recipe-card[open]>summary{background:#f7fbff;border-bottom-color:#dbe7f2}.recipe-title{color:#143b5f;margin:0;font-size:1rem;font-weight:700}.recipe-meta{color:#43627f;margin:0;font-size:.9rem}.recipe-body{gap:8px;padding:12px;display:grid}.recipe-body p{margin:0}.ingredient-list{color:#1f4467;gap:6px;margin:0;padding-left:18px;display:grid}@media (width<=980px){.home-actions,.plan-columns{grid-template-columns:1fr}.week-col{position:static}.week-day-meals,.slot-grid,.settings-grid,.progress-log-row{grid-template-columns:1fr}.delta{text-align:left}}
