:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#21342e;background:#f5f4ef;--green:#25543d;--green2:#376345;--sage:#e5efe1;--muted:#728078;--border:#e6ebe3;--cream:#f5f4ef;--gold:#e7bb73;--danger:#8c3f3f;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#21342e}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{max-width:1220px;margin:auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.brand{font-size:25px;font-weight:900;letter-spacing:-1px}.brand span{color:#70a56c}.brand.large{font-size:34px}.strapline{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#748177}.profile-badge{border:0;background:#dbe9d4;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-weight:800;color:#2d503a}.menu-button{display:none;border:0;background:#fff;border-radius:10px;width:42px;height:42px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px}.sidebar{min-width:0}.nav{display:grid;gap:7px;position:sticky;top:20px}.nav button{border:0;background:transparent;color:#64736a;text-align:left;padding:13px 15px;border-radius:13px;display:flex;gap:10px;align-items:center}.nav button.active{background:#e0ebdd;color:#275a3a;font-weight:800}.sidebar-note{margin-top:28px;background:#e8e4d6;padding:18px;border-radius:18px;color:#596553;font-size:13px;line-height:1.5}.sidebar-note strong{color:#34493b}.sidebar-note p{margin:.45rem 0 0}.content{min-width:0}.view{display:none}.view.active{display:block}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:850;color:#6d9b69}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}h1{font-size:clamp(30px,4vw,46px);line-height:1.06;margin:8px 0;font-weight:900;letter-spacing:-1.8px}h2,h3,h4{letter-spacing:-.3px}p{color:#6d7b70}.date-pill,.soft-label{background:#e2ebdf;color:#376345;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;white-space:nowrap}.hero{background:var(--green);color:#fff;border-radius:24px;padding:27px;display:flex;justify-content:space-between;gap:22px;position:relative;overflow:hidden}.hero:after{content:'✳';position:absolute;right:20px;top:-80px;font-size:280px;opacity:.07}.hero>*{position:relative;z-index:1}.hero p{color:#d5e8d6;max-width:600px}.hero-eyebrow{color:#c6e4ad}.hero h2{font-size:28px;margin:8px 0}.hero-button,.primary{border:0;background:var(--gold);color:#2c3c2e;border-radius:11px;padding:12px 17px;font-weight:850}.hero-meta{align-self:end;color:#e5f0e5;font-size:13px;text-align:right}.target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.target-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px}.target-top{display:flex;justify-content:space-between;gap:12px;align-items:end}.target-top span{font-size:11px;color:var(--muted)}.target-top strong{display:block;font-size:24px;margin-top:2px}.progress-track{height:8px;background:#edf1eb;border-radius:999px;overflow:hidden;margin-top:12px}.progress-fill{height:100%;background:#6fa16d;border-radius:inherit}.target-caption{margin-top:8px;color:#7d8b81;font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px;margin-top:18px}.card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 7px 25px #24453008}.card h3{margin:0 0 16px;font-size:18px}.card-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.actions{display:flex;gap:9px;flex-wrap:wrap}.outline{border:1px solid #d7e2d4;background:#fff;color:#355a40;border-radius:10px;padding:10px 13px;font-weight:750}.outline.small{padding:7px 10px;font-size:12px}.outline.danger{color:var(--danger);border-color:#e4cccc}.empty-state{background:#fff;border:1px dashed #cfd8cc;border-radius:20px;padding:28px;text-align:center;margin-top:18px}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-stat{background:#f2f6ef;padding:14px;border-radius:14px}.quick-stat span{display:block;color:#708174;font-size:11px}.quick-stat strong{display:block;font-size:20px;margin-top:2px}.meal-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 0;border-top:1px solid #eff0eb}.meal-card:first-child{border-top:0}.meal-card.eaten{opacity:.72}.meal-icon{width:46px;height:46px;border-radius:13px;background:#eef2e8;display:grid;place-items:center;font-size:22px}.meal-card.eaten .meal-icon{background:#deebda}.meal-copy{min-width:0}.meal-type{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#78907d;font-weight:850}.meal-copy strong{display:block;margin-top:2px}.meal-copy small{display:block;color:#7d8b81;margin-top:3px}.meal-macros{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.meal-macros span{background:#f3f6f1;border-radius:999px;padding:4px 7px;font-size:10px;color:#5b6e60}.meal-actions{display:flex;gap:7px;align-items:center}.meal-check{border:1px solid #c9dac6;background:#eef5eb;color:#356043;border-radius:10px;padding:8px 10px;font-weight:800;font-size:12px;white-space:nowrap}.meal-check.done{background:#dcebd8;border-color:#9cbd97;color:#285639}.week-stack{display:grid;gap:14px}.day-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px}.day-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.day-head h3{margin:0}.day-meals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px}.plan-meal{border:1px solid #ebeee8;background:#f8faf6;border-radius:13px;padding:12px}.plan-meal.done{background:#edf5ea;border-color:#cfdfca}.plan-meal span,.plan-meal strong,.plan-meal small{display:block}.plan-meal span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7c8a80}.plan-meal strong{font-size:13px;margin-top:3px}.plan-meal small{font-size:11px;color:#78877c;margin-top:5px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recipe-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:17px;display:grid;gap:10px}.recipe-card h3{margin:0}.recipe-card p{margin:0;font-size:13px}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:6px}.recipe-card-meta span{background:#f3f6f1;border-radius:999px;padding:5px 8px;font-size:10px;color:#5c6c60}.search-field{display:grid;gap:6px;color:#5c6c60;font-size:12px;font-weight:700}.search-field input{min-width:240px}.shopping-summary{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:14px}.shopping-group{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-bottom:12px}.shopping-group-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 18px;background:#f7f9f5}.shopping-group-head h3{margin:0;font-size:15px}.shopping-group-head span{font-size:11px;color:var(--muted)}.shopping-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 16px;border-top:1px solid #eff1ec}.shopping-item input{width:18px;height:18px;accent-color:#5e8f60}.shopping-item.checked .shop-name{text-decoration:line-through;color:#8b958e}.shopping-item.checked{background:#fafbf9}.shopping-qty{font-size:12px;color:#65756a;font-weight:700;white-space:nowrap}.progress-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.summary-stat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px}.summary-stat span,.summary-stat strong{display:block}.summary-stat span{font-size:11px;color:var(--muted)}.summary-stat strong{font-size:20px;margin-top:2px}.field{display:grid;gap:6px;margin:10px 0;color:#5c6c60;font-size:13px;font-weight:700}.field input,.field select,.invite-result input{padding:11px 12px;border:1px solid #d9e3d7;border-radius:10px;background:#fff;color:var(--text);width:100%}.field input,.field select{max-width:320px}.chart-wrap{margin:20px 0 10px;overflow:hidden}.chart-wrap canvas{width:100%;height:220px;background:#fbfcfa;border-radius:13px}.log-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid #edf0e9}.log-row b,.log-row span{display:block}.log-row span{color:var(--muted);font-size:12px}.row-actions{display:flex;gap:6px}.import-grid,.account-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px}.drop-zone{border:2px dashed #c8d6c6;border-radius:18px;padding:35px 20px;display:grid;text-align:center;justify-items:center;gap:6px;background:#fafbf8;cursor:pointer}.drop-zone.dragging{border-color:#6f9d6d;background:#f0f7ee}.drop-icon{font-size:31px;color:#638d61}.drop-zone small{color:var(--muted)}.import-status{margin:13px 0;font-size:13px}.import-status.error{color:var(--danger)}.import-status.success{color:#2c6a40}.import-preview{background:#f3f6f0;padding:14px;border-radius:13px;margin-top:12px}.history-row,.member-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #edf0e9}.history-row:first-child,.member-row:first-child{border-top:0}.history-row strong,.history-row small,.member-row strong,.member-row small{display:block}.history-row small,.member-row small{color:var(--muted)}.history-actions{display:flex;gap:6px}.active-badge{display:inline-block;background:#e2ebdf;color:#386246;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;margin-top:4px}.invite-section hr{border:0;border-top:1px solid var(--border);margin:18px 0}.invite-result{display:flex;gap:8px;margin-top:10px}.invite-result input{min-width:0;flex:1}.session-card{margin-top:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.account-email{margin-top:16px;color:var(--muted);font-size:12px}.recipe-dialog{border:0;border-radius:22px;max-width:820px;width:min(820px,calc(100% - 28px));padding:0;box-shadow:0 25px 80px #0004}.recipe-dialog::backdrop{background:#1d2b2455}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#eef2e8;border-radius:50%;width:38px;height:38px;font-size:24px}.dialog-body{padding:28px}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.recipe-nutrition{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:15px 0}.recipe-nutrition div{background:#f4f7f2;border-radius:12px;padding:10px;text-align:center}.recipe-nutrition strong,.recipe-nutrition span{display:block}.recipe-nutrition span{font-size:10px;color:var(--muted)}.recipe-list{line-height:1.7;padding-left:20px}.hint{font-size:12px;color:#7a887d}.footer{font-size:11px;color:#849188;margin:26px 0}.toast{position:fixed;bottom:20px;right:20px;background:#243f31;color:#fff;padding:13px 17px;border-radius:11px;box-shadow:0 8px 28px #0002;display:none;z-index:100;max-width:min(390px,calc(100% - 32px))}.mobile-nav{display:none}.drawer-backdrop{display:none}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at top left,#e7efe2 0,transparent 35%),var(--cream)}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--border);border-radius:26px;padding:30px;box-shadow:0 25px 70px #23402d12}.auth-panel{margin-top:26px}.auth-panel h1{font-size:38px}.stack-form{display:grid;gap:2px}.stack-form .field input{max-width:none}.form-message{margin-top:14px;font-size:13px}.form-message.error{color:var(--danger)}.form-message.success{color:#2c6a40}
@media(max-width:1100px){.today-grid,.progress-grid{grid-template-columns:1fr}.day-meals{grid-template-columns:1fr 1fr}.recipe-grid{grid-template-columns:1fr 1fr}.import-grid,.account-grid{grid-template-columns:1fr}}
@media(max-width:800px){body{padding-bottom:82px}.shell{padding:14px}.layout{display:block}.menu-button{display:grid;place-items:center}.sidebar{position:fixed;z-index:80;top:0;bottom:0;left:0;width:min(310px,86vw);background:#fff;padding:78px 16px 18px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:14px 0 40px #0002}.sidebar.open{transform:translateX(0)}.sidebar .nav{position:static}.drawer-backdrop{position:fixed;inset:0;background:#0004;z-index:70}.drawer-backdrop.show{display:block}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:60;left:9px;right:9px;bottom:7px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:6px;box-shadow:0 12px 35px #0002}.mobile-nav button{border:0;background:transparent;color:#718075;border-radius:12px;padding:7px 3px;display:grid;justify-items:center;gap:2px}.mobile-nav button span{font-size:17px}.mobile-nav button small{font-size:9px;font-weight:750}.mobile-nav button.active{background:#e5efe1;color:#2d5d3d}.hero{display:block}.hero-meta{text-align:left;margin-top:15px}.target-grid{grid-template-columns:repeat(3,1fr)}.footer{margin-bottom:8px}.toast{bottom:92px}}
@media(max-width:620px){.heading-row,.recipe-heading{display:block}.date-pill{display:none}.target-grid{grid-template-columns:1fr}.recipe-grid,.day-meals,.quick-stats,.progress-summary{grid-template-columns:1fr}.meal-card{grid-template-columns:42px minmax(0,1fr);align-items:start}.meal-icon{width:42px;height:42px}.meal-actions{grid-column:1/-1;margin-left:55px;display:grid;grid-template-columns:1fr 1fr}.meal-actions button{width:100%}.card{padding:16px}.hero{padding:21px}.hero h2{font-size:24px}.shopping-group-head{align-items:flex-start}.shopping-group-head span{text-align:right}.shopping-item{grid-template-columns:auto minmax(0,1fr);}.shopping-qty{grid-column:2}.log-row{align-items:flex-start}.row-actions{flex-direction:column}.session-card{display:block}.session-card button{margin-top:12px}.recipe-nutrition{grid-template-columns:repeat(2,1fr)}.dialog-grid{grid-template-columns:1fr}.auth-card{padding:22px}.auth-panel h1{font-size:32px}.invite-result{display:grid}}
/* Daywell v0.4 additions */
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-divider{height:1px;background:var(--border);margin:20px 0}.card-heading.compact{margin-bottom:6px}.card-heading.compact h4{margin:0}.portion-control{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.portion-control label{font-size:10px;color:#708174;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.portion-control select{border:1px solid #d7e2d4;background:#fff;color:#355a40;border-radius:9px;padding:6px 8px;font-size:11px;font-weight:750}.plan-meal-wrap{border:1px solid #ebeee8;background:#f8faf6;border-radius:13px;padding:10px}.plan-meal-wrap.done{background:#edf5ea;border-color:#cfdfca}.plan-meal-wrap .plan-meal{border:0;background:transparent;padding:2px;width:100%;text-align:left}.plan-portion{margin-top:8px}.metric-note{font-size:10px;color:#748177;margin-top:4px}.progress-summary{grid-template-columns:repeat(3,1fr)}.activity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.mini-stat{background:#f4f7f2;border-radius:13px;padding:11px}.mini-stat span,.mini-stat strong{display:block}.mini-stat span{font-size:10px;color:var(--muted)}.mini-stat strong{font-size:17px;margin-top:2px}.history-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 4px}.history-section-title h4{margin:0}.history-row.archived{opacity:.78}.archive-badge{display:inline-block;background:#f0eee7;color:#756d5c;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800;margin-top:4px}.member-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.member-controls select{border:1px solid #d7e2d4;border-radius:9px;background:#fff;padding:7px 8px;font-size:12px}.member-meta{margin-top:4px}.goal-line-label{font-size:11px;color:#826e47}.shopping-group-items{display:flex;flex-direction:column}.account-grid-wide{align-items:start}.activity-day+.activity-day{margin-top:8px}
@media(max-width:620px){.field-pair,.activity-summary{grid-template-columns:1fr}.progress-summary{grid-template-columns:1fr 1fr}.member-row{grid-template-columns:1fr}.member-controls{justify-content:flex-start}.portion-control{margin-left:0}.meal-actions{grid-template-columns:1fr 1fr}.meal-actions .portion-control{grid-column:1/-1}.account-grid-wide{display:block}.account-grid-wide>.card+.card{margin-top:14px}}
