:root{--cream:#f5efe3;--paper:#fffaf1;--paper-strong:#fffcf5;--stock:#563828;--stock-soft:#805a43;--ink:#271f1b;--muted:#75695c;--line:rgba(86,56,40,.14);--line-strong:rgba(86,56,40,.24);--herb:#66745e;--herb-soft:#dfe8d9;--copper:#aa5b35;--copper-soft:#f0d1bd;--sage:#eef4e9;--danger:#973b2f;--shadow:0 22px 70px rgba(57,38,27,.12);--radius:8px}*{box-sizing:border-box}html{background:linear-gradient(120deg,rgba(170,91,53,.08),transparent 34%),radial-gradient(circle at 82% 8%,rgba(102,116,94,.16),transparent 28%),var(--cream)}body{margin:0;color:var(--ink);font-family:ui-sans-serif,Avenir Next,Segoe UI,sans-serif;letter-spacing:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr) 360px;max-width:100%;min-height:100vh}.rail{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:28px;height:100vh;padding:28px 22px;border-right:1px solid var(--line);background:rgba(255,250,241,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--stock);font-family:Georgia,Times New Roman,serif;font-size:22px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper-strong);color:var(--copper)}.rail nav{display:grid;grid-gap:6px;gap:6px}.rail nav a{border-radius:var(--radius);color:var(--muted);padding:11px 12px;transition:background .16s ease,color .16s ease}.rail nav a.active,.rail nav a:hover{background:var(--sage);color:var(--stock)}.rail-note{margin-top:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:16px}.eyebrow,.rail-note span{color:var(--copper);font-size:11px;font-weight:700;letter-spacing:.16em;margin:0 0 7px;text-transform:uppercase}.rail-note strong{display:block;color:var(--herb);font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:500}.clinician-card p,.rail-note p,.safety-panel p{color:var(--muted);font-size:13px;line-height:1.55;margin:8px 0 0}.workspace{min-width:0;padding:30px}.topbar{align-items:center;display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}h1,h2{color:var(--stock);font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:0;margin:0}h1{font-size:64px;line-height:.96;max-width:660px}h2{font-size:24px;line-height:1.08}.account-actions,.beckie-actions,.step-actions,.today-actions,.top-actions{display:flex;gap:10px}.account-actions{align-items:center}.account-status{align-items:center;color:var(--herb);display:inline-flex;font-size:12px;font-weight:700;padding:0 13px;white-space:nowrap}.account-status,.beckie-actions button,.ghost-button,.meal-option,.need-toggles button,.solid-button{border:1px solid var(--line-strong);border-radius:var(--radius);min-height:44px}.solid-button{background:var(--stock);color:#fff9ef;padding:0 18px}.ghost-button{background:rgba(255,250,241,.72);color:var(--stock);padding:0 16px}.inline-button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-strong);color:var(--stock);min-height:40px;padding:0 14px}.inline-button:disabled{color:rgba(117,105,92,.5);cursor:not-allowed}.load-status{color:var(--muted);font-size:13px;margin:12px 0 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);grid-gap:18px;gap:18px;min-width:0}.beckie-panel,.checkin-panel,.content-panel,.grocery-panel,.meal-chooser,.pantry-panel,.plan-panel,.profile-panel,.report-panel,.safety-panel,.safety-profile-panel,.steps-panel,.tips-panel,.today-card,.week-panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,250,241,.84);box-shadow:var(--shadow)}.today-card{display:grid;grid-column:1/-1;grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr);min-height:344px;min-width:0;overflow:hidden}.food-photo{background:rgba(39,31,27,.06);min-height:320px;position:relative}.food-photo img{display:block;height:100%;min-height:320px;object-fit:cover;width:100%}.today-copy{align-self:center;min-width:0;padding:34px}.today-copy p{color:var(--muted);font-size:16px;line-height:1.65}.ingredient-list,.meal-meta,.nutrition-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.count-pill,.day-card small,.grocery-item small,.ingredient-list span,.meal-meta span{border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 10px;text-transform:uppercase}.meal-meta span{background:var(--stock);color:#fff8ed}.ingredient-list span{background:var(--sage);color:var(--herb)}.nutrition-strip span{border-left:1px solid var(--line);color:var(--muted);display:grid;font-size:12px;grid-gap:3px;gap:3px;min-width:92px;padding-left:12px}.nutrition-strip strong{color:var(--stock);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.today-actions{flex-wrap:wrap;margin-top:18px}.swap-note{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);color:var(--stock);font-size:13px;line-height:1.45;margin:16px 0 0;padding:12px}.checkin-panel,.content-panel,.grocery-panel,.meal-chooser,.pantry-panel,.plan-panel,.profile-panel,.report-panel,.safety-panel,.safety-profile-panel,.steps-panel,.tips-panel,.week-panel{padding:22px}.panel-heading{align-items:flex-start;display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading strong{color:var(--copper);font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:500}.range-row{align-items:center;display:grid;grid-template-columns:82px 1fr 28px;grid-gap:12px;gap:12px;margin:13px 0}.range-row span{color:var(--muted);font-size:13px;text-transform:capitalize}.range-row input{accent-color:var(--herb)}.range-row strong{color:var(--stock);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.checkin-panel .inline-button{margin-top:8px;width:100%}.filter-bar,.profile-grid{display:grid;grid-gap:10px;gap:10px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-builder{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.profile-builder span{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:700;padding:7px 10px;text-transform:uppercase}.profile-builder span.complete{background:var(--sage);border-color:rgba(102,116,94,.34);color:var(--herb)}.profile-grid label{color:var(--muted);display:grid;font-size:12px;grid-gap:6px;gap:6px}.checkbox-row{align-items:center;color:var(--stock);display:flex;font-size:13px;gap:8px;margin-top:12px}.checkbox-row input{accent-color:var(--herb)}.filter-bar input,.filter-bar select,.profile-grid input,.profile-grid select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-strong);color:var(--stock);min-height:40px;padding:9px 10px;width:100%}.filter-bar{grid-template-columns:minmax(0,1fr) 150px 160px 130px;margin-bottom:14px}.plan-panel,.tips-panel{grid-column:1/-1}.plan-actions{display:flex;flex-wrap:wrap;gap:10px;margin:-6px 0 16px}.plan-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr) 320px}.day-plan-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.day-plan-card,.prep-summary,.tip-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);padding:14px}.day-plan-card{display:grid;grid-gap:10px;gap:10px}.day-plan-card>strong,.prep-summary strong{color:var(--stock);font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:500}.planned-meal-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff7e9;color:inherit;display:grid;grid-gap:4px;gap:4px;padding:10px;text-align:left}.planned-meal-row:hover{background:var(--sage);border-color:rgba(102,116,94,.42)}.planned-meal-row span{color:var(--copper);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.planned-meal-row strong{color:var(--stock);font-size:14px}.planned-meal-row small,.prep-summary li{color:var(--muted);font-size:12px;line-height:1.45}.planned-meal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.planned-meal-row label{color:var(--muted);display:grid;font-size:11px;grid-gap:5px;gap:5px;margin-top:4px}.planned-meal-row select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-strong);color:var(--stock);min-height:34px;padding:7px 8px;width:100%}.prep-summary{align-content:start;display:grid;grid-gap:16px;gap:16px}.prep-summary ul{margin:10px 0 0;padding-left:18px}.tool-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tool-chip-list span{border-radius:999px;background:var(--sage);color:var(--herb);font-size:11px;font-weight:700;padding:7px 9px}.need-toggles{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.need-toggles button{background:var(--paper-strong);color:var(--stock);min-height:36px;padding:0 12px;text-transform:capitalize}.need-toggles button.selected{background:var(--sage);border-color:rgba(102,116,94,.42)}.grocery-list,.meal-list{display:grid;grid-gap:10px;gap:10px}.meal-option{background:var(--paper-strong);color:var(--ink);display:grid;grid-template-columns:56px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:14px;text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease}.meal-thumb{border-radius:var(--radius);display:block;height:56px;overflow:hidden;position:relative}.meal-thumb img{object-fit:cover}.meal-option-copy{display:grid;grid-gap:4px;gap:4px}.meal-option.selected,.meal-option:hover{background:var(--sage);border-color:rgba(102,116,94,.42);transform:translateY(-1px)}.meal-option span{color:var(--stock);font-weight:700}.grocery-item small,.meal-option small{color:var(--muted)}.meal-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.meal-card-actions .inline-button{min-height:34px}.grocery-item{align-items:center;display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:12px;gap:12px;border-bottom:1px solid var(--line);padding:11px 0}.grocery-item input{accent-color:var(--herb);margin:0}.grocery-item.checked span{color:var(--muted);text-decoration:line-through}.grocery-item:last-child{border-bottom:0}.grocery-item .buy{background:var(--copper-soft);color:var(--stock)}.grocery-item .pantry{background:var(--herb-soft);color:var(--herb)}.grocery-item .swap{background:#efe3cc;color:var(--copper)}.mini-button{border:1px solid var(--line-strong);border-radius:999px;background:var(--paper-strong);color:var(--stock);font-size:11px;min-height:28px;padding:0 10px}.export-actions{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.shopping-notes{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);margin-top:14px;padding:14px}.shopping-notes strong{color:var(--stock);display:block;font-size:13px;margin-bottom:8px}.shopping-notes ul{color:var(--muted);font-size:12px;line-height:1.5;margin:0;padding-left:18px}.shopping-notes li+li{margin-top:6px}.panel-note{color:var(--muted);font-size:12px;line-height:1.5;margin:10px 0 0}.count-pill{background:var(--stock);color:#fff8ed}.safety-panel{background:#f9ede8}.safety-panel h2{color:var(--danger);font-size:22px}.steps-panel{background:hsla(93,33%,94%,.72)}.steps-panel ol{color:var(--stock);line-height:1.5;margin:14px 0 0;padding-left:21px}.steps-panel li+li{margin-top:8px}.active-step{color:var(--copper);font-weight:700}.step-actions{margin-top:18px}.tips-grid{grid-gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.tip-card,.tips-grid{display:grid;gap:12px}.tip-card{grid-gap:12px}.tip-card span{color:var(--copper);font-family:Georgia,Times New Roman,serif;font-size:28px}.tip-card p{color:var(--stock);font-size:13px;line-height:1.5;margin:0}.content-panel,.report-panel,.week-panel{grid-column:1/-1}.beckie-composer textarea,.search-input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-strong);color:var(--stock);padding:12px;width:100%}.article-grid,.pantry-grid,.report-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.article-card,.medication-row,.pantry-item,.report-grid>div{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);padding:14px}.article-card{color:inherit;text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease}.article-card:focus-visible,.article-card:hover{background:var(--sage);border-color:rgba(102,116,94,.42);transform:translateY(-1px)}.article-actions{display:flex;gap:8px;margin-top:12px}.article-card span,.medication-row span,.pantry-item span{color:var(--copper);font-size:12px}.article-card h3,.article-card p,.medication-row p,.report-grid p{margin:8px 0 0}.article-card h3{color:var(--stock);font-size:17px}.article-card p,.medication-row p,.report-grid p{color:var(--muted);font-size:13px;line-height:1.5}.article-card small,.medication-row small,.pantry-item small{border-radius:999px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;margin-top:12px;padding:6px 9px;text-transform:uppercase}.article-card small{background:var(--sage);color:var(--herb)}.completion-note,.empty-state{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);color:var(--muted);font-size:13px;line-height:1.5;margin:14px 0 0;padding:14px}.completion-note{color:var(--herb)}.privacy-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);display:grid;grid-gap:10px;gap:10px;padding:16px}.privacy-panel strong{color:var(--stock)}.privacy-panel p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.privacy-panel .inline-button{width:-moz-fit-content;width:fit-content}.medication-list{display:grid;grid-gap:10px;gap:10px}.medication-row{display:grid;grid-gap:4px;gap:4px}.medication-row .avoid{background:#f9ede8;color:var(--danger)}.medication-row .watch{background:#efe3cc;color:var(--copper)}.medication-row .ok,.pantry-item small{background:var(--sage);color:var(--herb)}.pantry-item{display:grid;grid-gap:6px;gap:6px}.week-strip{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.day-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);display:grid;grid-gap:8px;gap:8px;min-height:132px;padding:14px}.day-card strong{color:var(--copper)}.day-card span{color:var(--stock);font-family:Georgia,Times New Roman,serif;font-size:18px}.day-card small{align-self:end;background:var(--sage);color:var(--herb);width:-moz-fit-content;width:fit-content}.beckie-panel{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:18px;height:100vh;padding:28px;border-bottom:0;border-right:0;border-top:0;border-radius:0;background:linear-gradient(180deg,rgba(255,250,241,.95),hsla(39,54%,89%,.92)),var(--paper)}.beckie-header{align-items:flex-start;display:flex;justify-content:space-between;gap:16px}.pulse{width:12px;height:12px;border-radius:50%;background:var(--herb);box-shadow:0 0 0 8px rgba(102,116,94,.14)}.beckie-message{border-left:3px solid var(--copper);background:var(--paper-strong);color:var(--stock);font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.32;padding:22px}.beckie-actions{flex-direction:column}.beckie-actions button{background:transparent;color:var(--stock);padding:12px 14px;text-align:left}.beckie-actions button.selected{background:var(--sage);border-color:rgba(102,116,94,.42)}.beckie-composer{display:grid;grid-gap:10px;gap:10px}.beckie-composer label{color:var(--muted);font-size:12px}.beckie-composer textarea{min-height:86px;resize:vertical}.beckie-composer .solid-button{min-height:42px}.beckie-composer p{color:var(--stock);font-size:13px;line-height:1.5;margin:0}.beckie-composer .field-error{color:var(--danger);font-weight:700}.clinician-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);color:inherit;margin-top:auto;padding:18px;text-align:left;width:100%}.clinician-card span{color:var(--muted);font-size:12px}.clinician-card strong{color:var(--stock);display:block;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:500;margin-top:4px}.clinician-card:focus-visible,.clinician-card:hover{border-color:rgba(102,116,94,.42)}.saved-toast{color:var(--herb);min-height:22px}.action-backdrop{align-items:center;background:rgba(39,31,27,.34);display:flex;inset:0;justify-content:center;padding:22px;position:fixed;z-index:20}.action-dialog{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-strong);box-shadow:0 30px 90px rgba(39,31,27,.28);max-height:min(760px,calc(100vh - 44px));max-width:640px;overflow:auto;padding:22px;width:min(100%,640px)}.recipe-dialog{max-width:780px}.action-dialog.warning{border-color:rgba(170,91,53,.42)}.action-dialog p{color:var(--muted);line-height:1.55;margin:0 0 14px}.action-dialog pre{font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;margin:14px 0 0;max-height:280px;overflow:auto;white-space:pre-wrap}.action-dialog pre,.article-detail{border:1px solid var(--line);border-radius:var(--radius);background:#fff7e9;color:var(--stock);padding:14px}.article-detail{margin-top:14px}.article-body{display:grid;grid-gap:10px;gap:10px;margin:14px 0}.article-body p{color:var(--stock);margin:0}.recipe-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.recipe-meta span{border-radius:999px;background:var(--sage);color:var(--herb);font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 10px;text-transform:uppercase}.recipe-columns{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-columns>div,.recipe-steps,.swap-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff7e9;padding:14px}.recipe-columns strong,.recipe-steps strong,.swap-list strong{color:var(--stock)}.recipe-columns ul,.recipe-steps ol,.recipe-steps ul{color:var(--muted);line-height:1.55;margin:10px 0 0;padding-left:20px}.recipe-steps,.swap-list{margin-top:14px}.swap-list{display:grid;grid-gap:10px;gap:10px}.swap-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-strong);color:var(--stock);display:grid;grid-gap:5px;gap:5px;padding:12px;text-align:left}.swap-row small{color:var(--muted);line-height:1.45}.article-detail ul{color:var(--muted);line-height:1.55;margin:10px 0 0;padding-left:20px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.icon-button{border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);color:var(--stock);font-weight:700;height:36px;line-height:1;width:36px}@media (max-width:1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.beckie-panel{grid-column:2;height:auto;min-height:0;position:static}}@media (max-width:860px){.app-shell{display:block}.beckie-panel,.rail{height:auto;min-width:0;position:static}.rail{border-bottom:1px solid var(--line);border-right:0}.rail nav{grid-template-columns:repeat(9,minmax(78px,1fr));overflow-x:auto}.rail nav a{font-size:14px;padding:10px 7px;text-align:center}.rail-note{display:none}.workspace{padding:20px}.workspace,h1{max-width:100%}h1{font-size:38px;overflow-wrap:break-word}.account-actions,.top-actions,.topbar{align-items:stretch;flex-direction:column}.account-status{justify-content:center}.dashboard-grid,.today-card{grid-template-columns:1fr}.today-copy{padding:24px}.ingredient-list span,.meal-meta span{font-size:10px;padding:7px 9px}.article-grid,.day-plan-grid,.filter-bar,.pantry-grid,.plan-layout,.profile-grid,.recipe-columns,.report-grid,.tips-grid,.week-strip{grid-template-columns:1fr}.action-backdrop{align-items:flex-end;padding:12px}.dialog-actions{flex-direction:column}.dialog-actions .inline-button,.dialog-actions .solid-button{width:100%}}