:root{--ink:#263a31;--muted:#64766b;--sage:#dfe8dc;--sage-strong:#71917d;--cream:#f8f5ed;--paper:#fffdfa;--coral:#d87960;--line:#e5e1d8;--sand:#f0e5d0;--shadow:0 16px 45px #31413514;--field-label:500 12px "DM Mono", monospace}html{-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h1,h2{font-family:Fraunces,serif}i{font-weight:500}.eyebrow{letter-spacing:.14em;color:var(--sage-strong);font:500 10px DM Mono,monospace}small{color:var(--muted);font-size:12px;display:block}.primary{background:var(--ink);color:#fff;border-radius:8px;padding:13px 18px;font-weight:600;text-decoration:none;box-shadow:0 5px 12px #263a3124}.primary:hover{background:#3a5548}.ghost{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:8px;padding:10px 14px;text-decoration:none}.text-button{color:var(--sage-strong);background:0 0;padding:4px;font-weight:700;text-decoration:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error{color:#a14332;font-size:13px}.editor-error{color:#a14332;background:#fdeceb;border:1px solid #f0c4bf;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.center-page{text-align:center;min-height:100vh;color:var(--muted);place-content:center;display:grid}.sprout,.mark{color:var(--coral);font-size:42px}form label{color:var(--sage-strong);font:var(--field-label);margin:17px 0 0;display:block}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffefa;border-radius:7px;margin-top:7px;padding:12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400}@media (max-width:800px){input,select,textarea{font-size:16px!important}}form .primary{width:100%;margin-top:22px}.field-hint{color:var(--muted);margin-top:6px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:400;line-height:1.45;display:block}.check-field{color:var(--muted);align-items:flex-start;gap:9px;margin-top:18px;font-family:DM Sans,sans-serif;font-size:12.5px;font-weight:400;line-height:1.5;display:flex}.check-field input{width:auto;accent-color:var(--sage-strong);flex:none;margin:2px 0 0;padding:0}.check-field a{color:var(--sage-strong);font-weight:700}
.login-shell{background:#e2eadf;grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.hero-copy{padding:12vh 12vw;position:relative}.hero-copy h1{margin:16px 0 28px;font-size:clamp(58px,7vw,104px);line-height:.93}.hero-copy p{max-width:390px;color:var(--muted);font-size:18px;line-height:1.6}.leaves{color:var(--sage-strong);font-size:90px;position:absolute;bottom:10%;right:14%;transform:rotate(-18deg)}.login-card{background:var(--paper);box-shadow:var(--shadow);border-radius:18px;align-self:center;margin:42px 10vw 42px 0;padding:46px}.login-card .mark{font-size:26px}.login-card h2{margin:20px 0 6px;font-size:32px}.login-card>p{color:var(--muted)}.login-area-switch{background:#edf2e9;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin:18px 0 23px;padding:4px;display:grid}.login-area-switch button{color:var(--muted);background:0 0;border-radius:6px;padding:9px 8px;font-size:12px;font-weight:700}.login-area-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #263a311f}.secure-login-card{max-width:465px}.totp-qr{border:1px solid var(--line);background:#fff;border-radius:10px;width:190px;height:190px;margin:20px auto 4px;padding:8px;display:block}@media (max-width:800px){.secure-login-card{max-width:none}.login-area-switch{margin-bottom:20px}}
.landing-page{background:var(--cream);min-height:100vh}.landing-page main{max-width:1160px;margin:0 auto;padding:0 max(20px,5vw)}.landing-topbar{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#f8f5ede6;align-items:center;gap:24px;padding:16px max(20px,5vw);display:flex;position:sticky;top:0}.landing-brand{color:var(--ink);white-space:nowrap;font:600 21px Fraunces,serif;text-decoration:none}.landing-brand span{color:var(--coral);font:25px Arial}.landing-topbar-nav{align-items:center;gap:26px;margin-left:auto;display:flex}.landing-topbar-nav a{color:var(--muted);font-size:14px;text-decoration:none}.landing-topbar-nav a:hover{color:var(--ink)}.landing-cta{padding:10px 16px;font-size:14px}.landing-external{border:1px solid var(--line);background:var(--paper);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:9px 15px;line-height:16px;display:inline-flex}.landing-external span[aria-hidden]{font-size:11px}.landing-page [id]{scroll-margin-top:92px}.landing-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(30px,5vw,70px);padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,80px);display:grid}.landing-hero h1{margin:14px 0 24px;font-size:clamp(46px,6.2vw,84px);line-height:.94}.landing-hero h1 i{color:var(--sage-strong)}.landing-hero-copy>p{max-width:480px;color:var(--muted);margin:0;font-size:17px;line-height:1.65}.landing-hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:30px 0 16px;display:flex}.landing-hero-actions .ghost{background:var(--paper);padding:12px 16px}.landing-hero-note{max-width:380px;line-height:1.55}.landing-preview{border:1px solid var(--line);background:var(--paper);width:min(340px,100%);box-shadow:var(--shadow);border-radius:30px;justify-self:center;padding:16px 16px 0;position:relative}.landing-preview:before{content:"";background:var(--sage);opacity:.55;filter:blur(38px);z-index:-1;border-radius:50%;height:220px;position:absolute;inset:-26px -26px auto}.landing-preview-screen{background:#f4f7f1;border-radius:22px 22px 0 0;padding:18px 15px 22px}.landing-preview-head b{letter-spacing:-.03em;margin-top:6px;font:600 24px Fraunces,serif;display:block}.landing-preview-days{gap:7px;margin:16px 0 14px;display:flex;overflow:hidden}.landing-preview-days span{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:10px;flex:1;padding:7px 4px 6px}.landing-preview-days span.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.landing-preview-days small{letter-spacing:.1em;color:inherit;opacity:.62;font:500 7px DM Mono,monospace}.landing-preview-days b{font-size:15px;line-height:1.3;display:block}.landing-preview-days i{opacity:.7;font-size:10px;font-style:normal}.landing-preview-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:16px 15px}.landing-preview-card-title{align-items:center;gap:11px;display:flex}.landing-preview-card-title>span{color:var(--coral);font-size:20px}.landing-preview-card-title small{letter-spacing:.12em;color:var(--sage-strong);font:500 9px DM Mono,monospace}.landing-preview-card-title b{font:600 19px Fraunces,serif}.landing-preview-card ul{margin:14px 0 0;padding:0;list-style:none}.landing-preview-card li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.landing-preview-food-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.landing-preview-food-actions em{background:var(--sage);color:#3f5a4a;border-radius:20px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:600}.landing-preview-recipes{background:var(--sand);border-radius:11px;align-items:center;gap:10px;margin-top:12px;padding:10px 11px;display:flex}.landing-preview-recipes>span{color:var(--coral)}.landing-preview-recipes small{letter-spacing:.1em;color:#8a6a4d;font:500 9px DM Mono,monospace}.landing-preview-recipes b{font-size:12px}.landing-preview-tabs{justify-content:space-between;gap:4px;padding:12px 6px 14px;display:flex}.landing-preview-tabs span{text-align:center;color:var(--muted);flex:1;font-size:11px}.landing-preview-tabs span.active{color:var(--ink);font-weight:700}.landing-visit{background:#e7ede2;border-radius:20px;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);margin-bottom:clamp(56px,8vw,110px);padding:clamp(30px,4vw,52px);display:grid}.landing-visit h2{margin:12px 0 0;font-size:clamp(30px,3.6vw,44px);line-height:1}.landing-visit h2 i{color:var(--sage-strong)}.landing-visit p{color:#4d6055;margin:0 0 22px;font-size:16px;line-height:1.7}.landing-visit .ghost{background:var(--paper);border-color:#0000;font-weight:600;display:inline-block}.landing-section{padding-bottom:clamp(56px,8vw,110px)}.landing-section-head{max-width:620px;margin-bottom:36px}.landing-section-head h2,.landing-privacy h2,.landing-closing h2{margin:12px 0 14px;font-size:clamp(32px,4.2vw,52px);line-height:1}.landing-section-head h2 i,.landing-privacy h2 i,.landing-closing h2 i{color:var(--sage-strong)}.landing-section-head p{color:var(--muted);margin:0;font-size:16px;line-height:1.65}.landing-feature-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.landing-feature-grid-small{grid-template-columns:repeat(3,1fr);margin-top:18px}.landing-feature{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:28px 26px}.landing-feature.small{padding:22px 20px}.landing-feature-icon{color:var(--coral);margin-bottom:16px;font-size:24px;display:block}.landing-feature h3{letter-spacing:-.03em;margin:8px 0 10px;font:600 22px Fraunces,serif}.landing-feature.small h3{font-size:19px}.landing-feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.landing-steps ol{grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{border-top:2px solid var(--ink);background:0 0;padding:26px 24px}.landing-steps li.first{border-top-color:var(--coral)}.landing-steps li.first b{font-size:24px}.landing-steps li>span{letter-spacing:.12em;color:var(--coral);margin-bottom:14px;font:500 12px DM Mono,monospace;display:block}.landing-steps b{letter-spacing:-.03em;font:600 22px Fraunces,serif}.landing-steps p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.65}.landing-privacy{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,56px);display:grid}.landing-privacy>div>p{color:var(--muted);margin:0 0 22px;font-size:16px;line-height:1.65}.landing-privacy .ghost{background:var(--paper);display:inline-block}.landing-privacy ul{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:0;padding:clamp(24px,3vw,34px);list-style:none}.landing-privacy li{border-top:1px solid var(--line);color:#52625a;gap:12px;padding:15px 0;font-size:14px;line-height:1.6;display:flex}.landing-privacy li:first-child{border-top:0;padding-top:0}.landing-privacy li span{color:var(--coral);font-weight:700}.landing-closing{background:var(--ink);color:var(--paper);text-align:center;border-radius:22px;margin-bottom:clamp(56px,8vw,110px);padding:clamp(44px,6vw,76px) clamp(24px,4vw,60px)}.landing-closing .eyebrow{color:#9ab8a5}.landing-closing h2 i{color:#f0b9a7}.landing-closing .primary{background:var(--paper);color:var(--ink);margin-top:10px;display:inline-block}.landing-closing .primary:hover{background:var(--sand)}.landing-closing>p{color:#a8bcae;max-width:430px;margin:26px auto 0;font-size:13px;line-height:1.6}.landing-closing>p+p{margin-top:10px}.landing-closing>p a{color:#f0b9a7;font-weight:600}.landing-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1160px;margin:0 auto;padding:30px max(20px,5vw) 50px;display:flex}.landing-footer-brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.landing-footer-brand img{width:42px;height:auto}.landing-footer-brand span{font-size:15px;font-weight:600}.landing-footer p{max-width:430px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.landing-footer a{color:var(--sage-strong);font-weight:700}@media (max-width:980px){.landing-hero,.landing-feature-grid,.landing-feature-grid-small,.landing-steps ol,.landing-visit,.landing-privacy{grid-template-columns:1fr}.landing-feature-grid-small{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.landing-topbar-nav a:not(.landing-external){display:none}.landing-topbar-nav{gap:0}}@media (max-width:700px){.landing-topbar{flex-wrap:wrap;gap:12px}.landing-brand{flex:1 0 100%}.landing-topbar-nav{margin-left:0}.landing-cta{margin-left:auto}.landing-external,.landing-cta{padding:8px 12px;font-size:13px;line-height:16px}.landing-external{padding:7px 12px}.landing-feature-grid-small{grid-template-columns:1fr}.landing-hero-actions .primary,.landing-hero-actions .ghost{text-align:center;flex:1}}
.app-shell{background:var(--cream);grid-template-columns:245px minmax(0,1fr);min-height:100vh;display:grid}aside{background:#e2eadf;flex-direction:column;align-self:start;height:100vh;padding:32px 18px;display:flex;position:sticky;top:0}.side-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.nav-toggle{min-height:40px;color:var(--ink);background:#f4f8f1;border:1px solid #cbd9cb;border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:none}.nav-toggle span{font-size:15px;line-height:1}.nav-toggle:focus-visible{outline:2px solid var(--sage-strong);outline-offset:3px}.brand{color:var(--ink);white-space:nowrap;font:600 22px Fraunces,serif}.brand span{color:var(--coral);margin-right:4px;font:28px Arial}.app-shell nav{gap:8px;margin-top:56px;display:grid}.app-shell nav button,.app-shell nav a{text-align:left;min-height:44px;color:var(--muted);background:0 0;border-radius:8px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.app-shell nav button span,.app-shell nav a span{text-align:center;flex:0 0 18px;width:18px;font-size:18px}.app-shell nav button.active,.app-shell nav a.active{color:var(--ink);background:#f8f5ed;font-weight:700}.side-bottom{margin-top:auto;position:relative}.user-menu-trigger{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:#f4f8f1;border-color:#cbd9cb}.user-menu-trigger:focus-visible{outline:2px solid var(--sage-strong);outline-offset:3px}.user-menu-identity{min-width:0}.user-menu-identity b,.user-menu-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-menu-identity b{font-size:13px}.user-menu-identity small{margin-top:2px;font-size:10px}.user-menu-chevron{color:var(--sage-strong);font-size:17px}.user-menu{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:12px;padding:8px;position:absolute;bottom:calc(100% + 9px);left:0;right:0}.user-menu>span{color:var(--sage-strong);letter-spacing:.12em;padding:2px 5px 7px;font:10px DM Mono,monospace;display:block}.user-menu button{color:#994b3d;text-align:left;background:#fff5f1;border-radius:7px;width:100%;padding:10px}.user-menu button b,.user-menu button small{display:block}.user-menu button b{font-size:13px}.user-menu button small{color:#a26a5e;margin-top:2px;font-size:10px}.user-menu button:hover{background:#fbe8e1}.avatar{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.avatar.coral{color:#693d32;background:#e7a08a}.admin-content{width:100%;max-width:1400px;padding:40px clamp(26px,6vw,90px)}.admin-content>header,.client-header{justify-content:space-between;align-items:center;display:flex}.admin-content h1{margin:7px 0 0;font-size:40px}.page-back{white-space:nowrap;flex-shrink:0}.action-modal{background:var(--paper);width:min(100%,440px);box-shadow:var(--shadow);text-align:center;border-radius:15px;padding:34px}.action-modal-icon{color:#ad5149;background:#fff0ec;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 17px;font-size:26px;font-weight:700;display:grid}.action-modal h2{margin:7px 0 10px;font-size:29px}.action-modal>p{color:var(--muted);margin:0;line-height:1.55}.action-modal>p b{color:var(--ink)}.action-modal-warning{color:#80663a;background:#fff7e9;border-radius:7px;margin:18px 0;padding:10px 12px;font-size:12px;line-height:1.45}.action-modal footer{justify-content:center;gap:10px;margin-top:23px;display:flex}.action-modal footer button:disabled{cursor:not-allowed;opacity:.55}.toast{z-index:50;color:#765629;max-width:min(360px,100vw - 48px);box-shadow:var(--shadow);background:#fff1d8;border:1px solid #eed4a8;border-radius:8px;margin:0;padding:12px 15px;font-size:14px;line-height:1.45;position:fixed;bottom:24px;right:24px}.toast-success{color:#35662a;background:#e9f4e6;border-color:#bcdcb2}.toast-error{color:#a14332;background:#fdeceb;border-color:#f0c4bf}.welcome-card{background:var(--ink);color:#fff;border-radius:18px;justify-content:space-between;min-height:270px;margin-top:35px;padding:44px 52px;display:flex;overflow:hidden}.welcome-card .eyebrow{color:#bdd3bf}.welcome-card h2{margin:12px 0;font-size:37px;line-height:1.08}.welcome-card p{color:#d0dace;max-width:440px}.welcome-card .primary{background:#e79a7f;margin-top:8px}.welcome-card .illustration{color:#dfe8dc;opacity:.92;align-items:center;gap:12px;font-size:150px;line-height:.6;display:flex}.illustration small{color:#dfe8dc;font:12px DM Mono;transform:rotate(-7deg)}.stat-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 45px;display:grid}.stat-grid article{background:var(--paper);border:1px solid #eeeae2;border-radius:10px;padding:20px}.stat-grid article span{color:var(--sage-strong);letter-spacing:.1em;font:10px DM Mono}.stat-grid article b{margin:7px 0;font:38px Fraunces;display:block}.section{margin-top:28px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:15px;display:flex}.section-heading h2{margin:5px 0 0;font-size:27px}.client-list{background:var(--paper);border:1px solid #eeeae2;border-radius:10px;overflow:hidden}.client-row{border-bottom:1px solid var(--line);grid-template-columns:42px 1.4fr auto 1fr;align-items:center;gap:12px;padding:15px 18px;display:grid}.client-row:last-child{border:0}.client-row b{font-size:14px}.pill{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.pill.green{color:#4d7159;background:#e3efe5}.pill.sand{color:#936c36;background:#f8ecd6}.quiet{color:var(--muted);text-align:right;font-size:12px}.panel{background:var(--paper);border:1px solid #eeeae2;border-radius:12px;padding:30px}.panel h2{margin:7px 0;font-size:28px}.panel>p{color:var(--muted);line-height:1.5}.dropzone{text-align:center;background:#f8fbf6;border:1.5px dashed #bfcfc0;border-radius:9px;flex-direction:column;align-items:center;gap:6px;padding:24px;display:flex}.dropzone input{display:none}.dropzone>span{color:var(--coral);font-size:28px}.dropzone b{color:var(--ink);font-size:14px}.empty-editor{text-align:center;background:var(--paper);border-radius:12px;margin-top:45px;padding:70px}.empty-editor>span{color:var(--coral);font-size:40px}.editor{margin-top:28px}.editor-top{justify-content:space-between;align-items:end;gap:20px;display:flex}.editor-top h2{margin:4px 0;font-size:31px}.editor-actions{grid-template-columns:1fr auto;align-items:center;gap:10px 14px;width:min(100%,420px);display:grid}.editor-readonly-actions{text-align:right;justify-items:end;gap:8px;display:grid}.editor-readonly-actions small{max-width:260px;font-size:11px;line-height:1.35}.editor-readonly-actions>div{gap:10px;display:flex}.editor-readonly-actions .primary{margin:0}.changes-button{white-space:nowrap;margin:7px 0 0 -4px;padding:0 4px;font-size:11px}.changes-button:disabled{cursor:wait;opacity:.6}.editor-secondary-actions{align-items:center;gap:12px;display:flex}.editor-secondary-actions .text-button{white-space:nowrap;font-size:12px}.editor-preview-action{white-space:nowrap;justify-self:end}.editor-draft-actions{background:#edf3eb;border-radius:10px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:grid}.editor-save-actions{flex-shrink:0;gap:7px;display:flex}.editor-save-actions .primary{margin:0;padding:11px 13px;box-shadow:0 5px 12px #263a3124}.editor-actions button:disabled:not(.changes-button){cursor:not-allowed;opacity:.5}.editor-delete-draft-action{color:#9f5149;grid-column:1/-1;justify-self:start;padding:0;font-size:11px}.editor-delete-draft-action:hover{color:#803d36}.editor-plan-context{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.editor-plan-name{align-items:center;gap:8px;margin:6px 0 2px;display:flex}.editor-plan-name>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex:none;font-size:11px;font-weight:700}.editor-plan-card{border:1px solid var(--line);width:100%;color:inherit;text-align:left;background:#fdfbf6;border-radius:9px;gap:5px;padding:11px 13px;text-decoration:none;display:grid}.editor-plan-card.is-current,a.editor-plan-card[aria-current=page]{background:#edf3eb;border-color:#9db99c}button.editor-plan-card:not(:disabled){cursor:pointer}button.editor-plan-card:not(:disabled):hover,a.editor-plan-card:not(.is-current):hover{background:#f3f8f1;border-color:#9db99c}.editor-plan-card:focus-visible{outline-offset:2px;outline:2px solid #6e966d}.editor-plan-card:disabled{cursor:default}.editor-plan-card b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.editor-plan-card small{color:var(--muted);font-size:11px}.diet-read-only input[readonly]{color:var(--ink);background:0 0;border-color:#0000}.editor-grid{grid-template-columns:190px 1fr;gap:24px;margin-top:25px;display:grid}.day-tabs{align-content:start;gap:5px;display:grid}.day-tabs button{text-align:left;color:var(--muted);background:0 0;border-radius:8px;padding:11px;font-size:12px}.day-tabs button span{margin-right:8px;font:10px DM Mono}.day-tabs button.active{color:var(--ink);background:#dce8db;font-weight:700}.day-tabs button.needs-link:after{content:"•";color:#a45043;margin-left:6px;font-weight:700}.meal-editor{gap:16px;display:grid}.day-title{padding:0 5px}.day-title span{color:var(--sage-strong);font:10px DM Mono}.day-title h3{margin:5px 0;font:27px Fraunces}.edit-meal{background:var(--paper);border:1px solid #ece8df;border-radius:10px;overflow:hidden}.meal-header{background:#eef3eb;align-items:center;gap:8px;padding:14px 20px;display:flex}.meal-header span{color:var(--sage-strong);font-size:21px}.meal-header h4{margin:0;font-size:15px}.food-table{padding:13px 20px}.food-head,.food-edit{grid-template-columns:1.4fr .45fr 1.1fr;gap:10px;display:grid}.food-head{font:var(--field-label);color:var(--sage-strong);padding:0 4px 5px}.food-edit input{margin:2px 0;padding:8px}.add-food{color:var(--sage-strong);background:0 0;margin-top:9px;font-size:12px;font-weight:700}.meal-note{color:#776d5c;background:#faf5eb;border-radius:5px;margin:0 20px 15px;padding:9px;font-size:11px;line-height:1.4}.free-meal-toggle{color:var(--sage-strong);font:var(--field-label);cursor:pointer;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.free-meal-toggle input{accent-color:var(--sage-strong);margin:0}.meal-header .pill{margin-left:auto}.free-meal-editor{gap:10px;padding:15px 20px 18px;display:grid}.free-meal-editor p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.meal-note-editor{padding:0 20px 15px}.meal-note-field{color:var(--sage-strong);font:var(--field-label);gap:5px;display:grid}.meal-note-label{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.meal-note-label label{color:inherit;font:inherit}.meal-note-field textarea{resize:vertical;margin:0;padding:9px}.copy-meal-note{color:var(--sage-strong);cursor:pointer;background:0 0;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.copy-meal-note:disabled{color:var(--muted);cursor:default;text-decoration:none}@media (max-width:800px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.app-shell aside{z-index:3;border-bottom:1px solid #cbd9cb;height:auto;padding:10px 16px;display:block;position:sticky;top:0}.brand{font-size:18px}.brand span{font-size:22px}.nav-toggle{display:inline-flex}.app-shell aside[data-nav-open=false]>nav,.app-shell aside[data-nav-open=false]>.side-bottom{display:none}.app-shell aside>nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0 0;display:grid}.app-shell aside>nav button,.app-shell aside>nav a{white-space:nowrap;gap:6px;min-width:0;padding:10px 5px;font-size:12px}.side-bottom{border-top:1px solid #cbd9cb;margin-top:10px;padding-top:10px}.user-menu{margin-top:8px;position:static}.admin-content{padding:28px 20px}.admin-content h1{font-size:32px}.admin-content>header{align-items:flex-start;gap:14px}.page-back{margin-top:6px}.editor-top{flex-direction:column;align-items:stretch}.editor-actions{grid-template-columns:1fr;width:100%}.editor-readonly-actions{text-align:left;justify-items:start;margin-top:3px}.editor-draft-actions{grid-column:auto}.editor-preview-action{justify-self:start}.editor-draft-actions{grid-template-columns:1fr;align-items:stretch}.editor-save-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}.editor-save-actions button{min-width:0;padding:11px 8px;font-size:12px}.editor-delete-draft-action{grid-column:auto}.editor-plan-context{grid-template-columns:1fr}}.search-field{min-width:0}.search-field input{width:100%}.search-results{z-index:40;overscroll-behavior:contain;background:var(--paper);border:1px solid #dfdacd;border-radius:9px;margin:0;padding:4px;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 10px 26px #263a3129}.search-results li{cursor:pointer;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 10px;padding:7px 9px;display:grid}.search-results li.active{background:#eef3eb}.food-search-name{overflow-wrap:anywhere;min-width:0;font-size:13px}.food-search-energy{color:var(--sage-strong);white-space:nowrap;font:10px DM Mono}.food-search-alias{color:var(--muted);grid-column:1/-1;font-size:11px}.search-empty{color:var(--muted);cursor:default;padding:9px;font-size:12px;line-height:1.4}
.modal-backdrop{z-index:20;background:#263a316b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.success-modal{background:var(--paper);width:min(100%,440px);box-shadow:var(--shadow);text-align:center;border-radius:15px;padding:38px;position:relative}.success-modal .dialog-close{position:absolute;top:14px;right:14px}.success-modal>span{width:48px;height:48px;color:var(--sage-strong);background:#e0ebdf;border-radius:50%;place-items:center;margin:0 auto 18px;font-size:25px;display:grid}.success-modal h2{margin:0 0 10px;font-size:29px}.success-modal p{color:var(--muted);margin:0;line-height:1.55}.success-modal-actions{justify-content:center;margin-top:25px;display:flex}.success-modal-actions .primary{min-width:132px}.diet-changes-modal{background:var(--paper);width:min(100%,700px);max-height:min(82vh,760px);box-shadow:var(--shadow);border-radius:15px;padding:30px;overflow:auto}.diet-changes-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:19px;display:flex}.diet-changes-modal h2{margin:5px 0 7px;font-size:30px}.diet-changes-modal header p{color:var(--muted);margin:0;font-size:13px}.diet-change-groups{gap:18px;margin:22px 0;display:grid}.diet-change-groups section{border-bottom:1px solid var(--line);padding-bottom:15px}.diet-change-groups section:last-child{border:0;padding-bottom:0}.diet-change-groups h3{margin:0 0 8px;font:600 16px Fraunces,serif}.diet-change{border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:baseline;gap:7px;margin:5px 0;padding:8px 9px;font-size:12px;display:grid}.diet-change>span{font-size:15px;font-weight:700}.diet-change b{font-weight:600}.diet-change small{color:var(--muted);text-align:right;font-size:11px}.diet-change.added{color:#4d7159;background:#edf5ea}.diet-change.removed{color:#a44e45;background:#fff0ec}.diet-change.changed{color:#80663a;background:#fff7e8}.diet-changes-modal footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:18px;display:flex}.diet-changes-modal footer .primary{margin:0}.delete-diet-modal{background:var(--paper);width:min(100%,440px);box-shadow:var(--shadow);text-align:center;border-radius:15px;padding:34px}.delete-diet-icon{color:#ad5149;background:#fff0ec;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 17px;font-size:27px;line-height:1;display:grid}.delete-diet-modal h2{margin:7px 0 10px;font-size:29px}.delete-diet-modal>p{color:var(--muted);margin:0;line-height:1.55}.delete-diet-modal>p b{color:var(--ink)}.delete-diet-warning{color:#80663a;background:#fff7e9;border-radius:7px;margin:18px 0;padding:10px 12px;font-size:12px;line-height:1.45}.delete-diet-modal footer{justify-content:center;gap:10px;margin-top:23px;display:flex}.publish-diet-modal{background:var(--paper);width:min(100%,440px);box-shadow:var(--shadow);text-align:center;border-radius:15px;padding:34px}.publish-diet-icon{color:#52705b;background:#e0ebdf;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 17px;font-size:24px;font-weight:700;display:grid}.publish-diet-modal h2{margin:7px 0 10px;font-size:29px}.publish-diet-modal>p{color:var(--muted);margin:0;line-height:1.55}.publish-diet-modal>p b{color:var(--ink)}.publish-diet-note{color:#52705b;background:#edf3eb;border-radius:7px;margin:18px 0;padding:10px 12px;font-size:12px;line-height:1.45}.publish-diet-modal footer{justify-content:center;gap:10px;margin-top:23px;display:flex}.publish-diet-modal footer .primary{width:auto;margin:0}.modal-primary{background:var(--ink);color:#fff;box-shadow:none;border-radius:7px;padding:11px 16px;font-size:13px;font-weight:700}.modal-primary:hover{background:#3a5548}.modal-primary:disabled{opacity:.65;cursor:not-allowed}.delete-diet-modal footer .ghost{font-size:13px}.destructive-primary{color:#fff;background:#b9544b;border-radius:7px;padding:11px 16px;font-size:13px;font-weight:700}.destructive-primary:hover{background:#963f38}.destructive-primary:disabled{opacity:.65;cursor:not-allowed}@media (max-width:800px){.diet-changes-modal{max-height:88vh;padding:23px}.diet-change{grid-template-columns:18px minmax(0,1fr)}.diet-change small{text-align:left;grid-column:2}}.remove-food{color:#b85d49;background:#fff6f3;border:1px solid #edd4cd;border-radius:7px;align-self:center;width:30px;height:30px;font-size:21px;line-height:1}.remove-food:hover:not(:disabled){background:#fce7e1}.remove-food:disabled{cursor:not-allowed;color:#b4aea3;background:#f5f3ee;border-color:#ebe8e1}.food-edit-row{padding:2px 0}.gram-amount-input{position:relative}.gram-amount-input input{width:100%;padding-right:25px}.gram-amount-input>span{color:var(--muted);pointer-events:none;font-size:12px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}@media (max-width:800px){.food-edit{grid-template-columns:1fr 70px 34px}.food-edit>.search-field{grid-column:1}.food-edit .gram-amount-input{grid-column:2}.food-edit .remove-food{grid-area:1/3}}.alternative-editor{background:#f8fbf6;border:1px solid #dbe8d9;border-radius:8px;margin:7px 0 10px;padding:10px}.alternative-editor-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.alternative-editor-heading small{text-align:right;font-size:10px}.alternative-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:6px;display:flex}.regenerate-alternatives,.save-alternative-group{color:#52705b;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.regenerate-alternatives:hover:not(:disabled),.save-alternative-group:hover:not(:disabled){text-decoration:underline}.regenerate-alternatives:disabled,.save-alternative-group:disabled{cursor:not-allowed;color:#a9b3a6}.substitution-group-preview{text-align:left;background:#f8fbf6;border:1px solid #dbe8d9;border-radius:9px;margin-top:17px;padding:12px 14px}.substitution-group-preview>.eyebrow{margin-bottom:7px;display:block}.substitution-group-preview ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.substitution-group-replaced{text-align:left;margin:7px 0 0;padding-left:18px}.substitution-group-unknown{color:#80663a;margin:9px 0 0;font-size:11px;line-height:1.45}.substitution-group-error{color:#b3453a;margin:9px 0 0;font-size:12px;line-height:1.45}.alternative-edit-list{gap:6px;margin-top:8px;display:grid}.alternative-edit-row{grid-template-columns:minmax(0,1fr) 86px 60px;align-items:center;gap:7px;display:grid}.alternative-edit-row input{margin:0;padding:7px 8px}.remove-alternative{color:#b85d49;background:#fff6f3;border:1px solid #edd4cd;border-radius:6px;width:27px;height:27px;font-size:18px;line-height:1}.alternative-row-actions{justify-content:flex-end;gap:6px;display:flex}.rename-alternative{color:#52705b;background:#f5f8f3;border:1px solid #d8dfd3;border-radius:6px;width:27px;height:27px;font-size:15px;line-height:1}.rename-alternative:hover{background:#eaf1e6;border-color:#b8c7b2}.alternative-empty{color:var(--muted);margin:8px 0 0;font-size:11px;font-style:italic}.add-alternative{color:#52705b;background:0 0;margin-top:8px;padding:0;font-size:11px;font-weight:700}@media (max-width:800px){.food-edit{grid-template-columns:1fr 70px 34px}.food-edit>.search-field{grid-column:1}.food-edit .gram-amount-input{grid-column:2}.food-edit .remove-food{grid-area:1/3}.alternative-edit-row{grid-template-columns:minmax(0,1fr) 76px 60px}}.meal-recipe-editor{background:#fff8ed;border:1px solid #efdcc0;border-radius:8px;margin:0 20px 15px;padding:13px}.meal-recipe-editor p{color:#776d5c;margin:5px 0 10px;font-size:12px;line-height:1.4}.recipe-chip-list,.meal-substitute-chip-list{flex-wrap:wrap;gap:6px;min-height:26px;display:flex}.recipe-chip,.meal-substitute-chip{color:#365640;background:#e5efe2;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;font-size:11px;font-weight:700;display:inline-flex}.recipe-chip button,.meal-substitute-chip>button{color:#365640;background:#bfd4bd;border-radius:50%;width:16px;height:16px;padding:0;font-size:14px;line-height:1}.recipe-chip-list>small,.meal-substitute-chip-list>small{color:var(--muted);align-self:center;font-size:11px}.recipe-editor-actions{align-items:center;gap:10px;margin-top:10px;display:flex}.recipe-editor-actions .search-field{flex:1;min-width:0}.recipe-editor-actions .text-button{white-space:nowrap;font-size:11px}@media (max-width:800px){.recipe-editor-actions{flex-direction:column;align-items:stretch}.recipe-editor-actions .text-button{text-align:left}}.food-edit-row.needs-link>.food-edit>.search-field input{background:#fff8f6;border-color:#c8705c}.editor-blocked-note{color:#a45043;text-align:right;grid-column:1/-1;font-size:11px;line-height:1.3}.food-needs-link{color:#a45043;grid-column:1/-1;margin:-2px 0 2px 2px;font-size:11px;line-height:1.2}.food-head,.food-edit{grid-template-columns:1.4fr .45fr 66px}.food-row-actions{justify-content:flex-end;align-self:center;gap:6px;display:flex}.rename-food{color:#52705b;background:#f5f8f3;border:1px solid #d8dfd3;border-radius:7px;width:30px;height:30px;font-size:17px;line-height:1}.rename-food:hover{background:#eaf1e6;border-color:#b8c7b2}.rename-food-fields{text-align:left;gap:8px;margin-top:20px;display:grid}.rename-food-fields>label:first-child{color:var(--ink);font-size:12px;font-weight:700}.rename-food-fields>input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:10px 11px}.rename-food-alias-option{color:var(--ink);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;margin-top:8px;font-size:12px;line-height:1.4;display:grid}.rename-food-alias-option input{accent-color:#52705b;width:16px;height:16px;margin:1px 0 0}.rename-food-fields>small{color:var(--muted);padding-left:27px;font-size:11px;line-height:1.4}.rename-food-fields .editor-error{color:#a45043;margin:5px 0 0;font-size:12px}@media (max-width:800px){.food-edit{grid-template-columns:minmax(0,1fr) 70px 66px}.food-edit .food-row-actions{grid-area:1/3}}.meal-substitute-editor{background:#f6faf4;border:1px solid #dfe8dc;border-radius:8px;margin:0 20px 15px;padding:13px}.meal-substitute-editor p{color:#776d5c;margin:5px 0 10px;font-size:12px;line-height:1.4}.meal-substitute-chip>i{color:#4f6d55;font-style:normal;font-weight:500}.meal-substitute-chip-stale{color:#7a5c28;text-transform:uppercase;letter-spacing:.04em;background:#f0e0c2;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700}.meal-substitute-editor-search{margin-top:10px}.meal-substitute-editor-full,.recipe-editor-full{color:var(--muted);font-size:11px}.editor-nav{overscroll-behavior:contain;align-content:start;align-self:start;gap:14px;max-height:calc(100vh - 24px);display:grid;position:sticky;top:12px;overflow-y:auto}.plan-search{gap:5px;display:grid}.plan-search input{margin:0;padding:9px;font-size:12px}.plan-search-hint{font-size:10px;line-height:1.4}.plan-search-name{overflow-wrap:anywhere;min-width:0;font-size:13px}.plan-search-place{color:var(--muted);grid-column:1/-1;font:10px DM Mono,monospace}.meal-jumps{border-left:1px solid #dfe8dc;gap:2px;margin:0;padding:0 0 0 10px;list-style:none;display:grid}.meal-jumps button{width:100%;color:var(--muted);text-align:left;background:0 0;border-radius:7px;padding:6px 8px;font-size:11px}.meal-jumps button:hover{color:var(--ink);background:#eef3eb}.meal-jumps button.needs-link:after{content:"•";color:#a45043;margin-left:6px;font-weight:700}@keyframes plan-focus-flash{0%{box-shadow:0 0 0 3px #b9d2b6}to{box-shadow:0 0 0 3px #b9d2b600}}.edit-meal.plan-focus,.food-edit-row.plan-focus{animation:2.2s ease-out plan-focus-flash}.food-edit-row.plan-focus{border-radius:8px}@media (prefers-reduced-motion:reduce){.edit-meal.plan-focus,.food-edit-row.plan-focus{animation:none;box-shadow:0 0 0 3px #b9d2b6}}@media (max-width:800px){.editor-nav{max-height:none;position:static;overflow:visible}.meal-jumps{border-left:0;padding:0;display:flex;overflow:auto}.meal-jumps button{white-space:nowrap;width:auto}}.diet-print-style{border:1px solid var(--line);background:#fdfbf6;border-radius:11px;margin-top:20px;padding:18px 20px}.diet-print-style-head h3{margin:4px 0 6px;font:600 19px Fraunces,serif}.diet-print-style-head p{max-width:620px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.diet-print-style-current{margin:14px 0 0;font-size:13px}.diet-print-style-current b{font-weight:600;display:block}.diet-print-style-current span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.diet-print-style-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:15px;display:grid}.diet-print-style-option{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:9px;align-items:center;gap:9px;min-width:0;padding:10px 12px;display:flex}.diet-print-style-option:has(input:checked){background:#edf3eb;border-color:#9db99c}.diet-print-style-option input{accent-color:#6e966d;flex:none;width:16px;height:16px}.diet-print-style-option b{font-size:13px;font-weight:600;display:block}.diet-print-style-option small{color:var(--muted);margin-top:1px;font-size:11px;line-height:1.4;display:block}.diet-custom-guidance{border:1px solid var(--line);background:#fdfbf6;border-radius:11px;margin-top:20px;padding:18px 20px}.diet-custom-guidance-head h3{margin:4px 0 6px;font:600 19px Fraunces,serif}.diet-custom-guidance-head p{max-width:620px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.diet-custom-guidance-empty{color:var(--muted);margin:14px 0 0;font-size:12px}.diet-custom-guidance-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.diet-custom-guidance-actions small{color:var(--muted);font-size:11px}.diet-print-additions{border:1px solid var(--line);background:#fdfbf6;border-radius:11px;margin-top:20px;padding:18px 20px}.diet-print-additions-head h3{margin:4px 0 6px;font:600 19px Fraunces,serif}.diet-print-additions-head p{max-width:620px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.diet-print-additions-map{border:1px solid var(--line);background:var(--paper);border-radius:9px;margin-top:14px;padding:10px 12px;font-size:12px}.diet-print-additions-map summary{color:var(--muted);cursor:pointer}.diet-print-additions-map ol{margin:10px 0 0;padding:0;list-style:none}.diet-print-additions-map li{border-bottom:1px dotted var(--line);padding:2px 0}.diet-print-additions-map li:last-child{border-bottom:0}.diet-print-additions-map li b{min-width:24px;color:var(--muted);font-weight:600;display:inline-block}.diet-print-additions-map li em{color:#4d6b4c;letter-spacing:.04em;text-transform:uppercase;background:#edf3eb;border-radius:20px;margin-left:6px;padding:1px 6px;font-size:10px;font-style:normal}.diet-print-additions-map p{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.5}.diet-print-additions-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.diet-print-additions-actions small{color:var(--muted);font-size:11px}.diet-addition{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-top:14px;padding:14px 16px}.diet-addition-page{border-left:3px solid #9db99c}.diet-addition-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.diet-addition-head .eyebrow{flex:none}.diet-addition-anchor{flex:260px;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.diet-addition-anchor span{color:var(--muted);flex:none}.diet-addition-anchor select{border:1px solid var(--line);background:var(--paper);border-radius:7px;flex:auto;min-width:0;padding:6px 8px;font-size:12px}.diet-addition-warning{color:#8a5a2b;background:#fdf1e7;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:11px;line-height:1.5}.diet-addition-hint{color:var(--muted);margin:10px 0 0;font-size:11px}.diet-addition-fields{gap:12px;margin-top:12px;display:grid}.diet-addition-field{min-width:0;display:block}.diet-addition-field>span,.diet-addition-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.diet-addition-field input,.diet-addition-field textarea{border:1px solid var(--line);background:var(--paper);width:100%;font:inherit;resize:vertical;border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.5;display:block}.diet-addition-field small{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.4;display:block}.diet-addition-field-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.diet-addition-field-head .diet-addition-label{margin-bottom:4px}.diet-addition-marks{flex:none;gap:6px;display:flex}.diet-addition-bold,.diet-addition-italic,.diet-addition-bullet{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:6px;padding:1px 8px;font:700 12px Fraunces,serif}.diet-addition-bold:hover,.diet-addition-italic:hover,.diet-addition-bullet:hover{background:#edf3eb}.diet-addition-italic{font-style:italic}.diet-addition-bullet{font:700 14px/1.1 system-ui,sans-serif}.diet-addition-preview{background:#f6f3ec;border-radius:7px;margin:6px 0 0;padding:6px 8px;font-size:12px;line-height:1.5}.diet-addition-preview .rich-lines p{margin:0 0 4px}.diet-addition-preview ul{margin:0 0 4px;padding-left:16px}.diet-addition-preview>:last-child{margin-bottom:0}.diet-addition-sections{gap:12px;margin-top:14px;display:grid}.diet-addition-section{border:1px dashed var(--line);border-radius:9px;padding:12px 14px}.diet-addition-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pdf-builder{display:block}.pdf-builder-head{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:18px 20px;display:grid}.pdf-builder-title h2{margin:4px 0 6px;font:600 24px Fraunces,serif}.pdf-builder-title p{max-width:620px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.pdf-builder-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.pdf-builder-head>small{grid-column:1/-1;margin:0}.pdf-builder-unsaved{color:var(--muted)}.pdf-builder .diet-print-style:first-of-type{margin-top:16px}@media (max-width:800px){.pdf-builder-head{grid-template-columns:minmax(0,1fr)}.pdf-builder-actions{justify-content:flex-start}}
.client-create-form{grid-template-columns:minmax(0,1fr);gap:14px;margin:0;display:grid}.client-create-form label{gap:5px;min-width:0;display:grid}.client-create-form input{width:100%}.client-create-backdrop{padding:24px}.client-create-modal{border:1px solid var(--line);background:var(--paper);width:min(100%,540px);box-shadow:var(--shadow);border-radius:14px}.client-create-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:24px 24px 20px;display:flex}.client-create-modal h2{margin:5px 0 7px;font-size:28px}.client-create-modal header p{max-width:430px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.client-create-modal .client-create-form{padding:24px}.client-create-actions{grid-template-columns:1fr 1.35fr;gap:8px;margin-top:4px;display:grid}.client-create-actions button{width:100%;margin:0}.client-directory-heading{align-items:end;gap:18px}.client-directory-actions{align-items:center;gap:10px;display:flex}.client-create-trigger{white-space:nowrap;align-items:center;height:38px;margin:0;padding:0 13px;font-size:12px;display:inline-flex}.client-search{align-items:center;width:min(100%,300px);display:flex;position:relative}.client-search>span{color:var(--sage-strong);pointer-events:none;font-size:18px;position:absolute;left:11px}.client-search input{margin:0;padding:10px 12px 10px 31px}.empty-client-search{text-align:center;padding:28px 18px}.empty-client-search b{margin-bottom:5px;font-size:14px;display:block}@media (max-width:800px){.client-directory-heading{flex-direction:column;align-items:stretch}.client-search{width:100%}.client-directory-actions{flex-direction:column;align-items:stretch}.client-create-trigger{width:100%}}.client-row{color:inherit;grid-template-columns:42px minmax(0,1fr) auto;text-decoration:none;transition:background .16s}.client-row:hover{background:#f8fbf6}.client-row:focus-visible{z-index:1;outline:2px solid var(--sage-strong);outline-offset:-2px;position:relative}.client-row>div:nth-child(2){min-width:0}.client-row>div:nth-child(2) small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:800px){.client-row{grid-template-columns:38px minmax(0,1fr) auto}}.week-navigation{display:block}.day-step{display:none}.access-block{color:#a44b43}.client-detail{margin-top:28px}.client-detail-header{align-items:center;gap:14px;padding:0 4px 24px;display:flex}.client-detail-header .avatar{width:48px;height:48px;font-size:14px}.client-detail-header h2{margin:4px 0;font:32px Fraunces}.client-detail-header .pill{margin-left:auto}.client-edit-trigger{white-space:nowrap;align-items:center;height:34px;margin:0;padding:0 13px;font-size:12px;display:inline-flex}.client-detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.client-detail-grid .panel{min-height:245px}.client-detail-grid h3{margin:7px 0;font:26px Fraunces}.client-detail-grid .primary{margin-top:14px}.detail-actions{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.generated-link-modal{background:var(--paper);width:min(100%,520px);box-shadow:var(--shadow);text-align:center;border-radius:15px;padding:34px;position:relative}.generated-link-modal .dialog-close{position:absolute;top:14px;right:14px}.generated-link-icon{color:#52705b;background:#e0ebdf;border-radius:50%;place-items:center;width:46px;height:46px;margin:0 auto 17px;font-size:24px;line-height:1;display:grid}.generated-link-modal h2{margin:7px 0 10px;font-size:29px}.generated-link-modal>p{color:var(--muted);margin:0;line-height:1.55}.generated-link-field{align-items:center;gap:9px;margin-top:20px;display:flex}.generated-link-field input{min-width:0;color:var(--ink);text-overflow:ellipsis;background:#fdf8ef;border:1px solid #e0d5c4;border-radius:7px;flex:auto;padding:11px 12px;font:400 13px DM Mono,monospace}.generated-link-field input:focus{outline:2px solid var(--sage-strong);outline-offset:1px}.generated-link-field .modal-primary{flex:none}.email-draft{text-align:left;background:#fdf8ef;border:1px solid #e0d5c4;border-radius:9px;margin-top:18px;padding:14px}.email-draft-row{border-bottom:1px solid #efe4d3;align-items:baseline;gap:10px;margin-bottom:9px;padding-bottom:9px;display:flex}.email-draft-row .eyebrow{flex:0 0 62px;font-size:10px}.email-draft-row p{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:auto;margin:0;font-size:13px}.email-draft-row .ghost{flex:none;padding:4px 10px;font-size:12px}.email-draft-body{color:#4c5a50;white-space:pre-wrap;overflow-wrap:anywhere;max-height:210px;margin:0 0 12px;font:400 13px/1.6 DM Mono,monospace;overflow:auto}.email-draft .modal-primary{width:100%}.client-privacy-notice{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}.generated-link-note{color:#80663a;text-align:left;background:#fff7e9;border-radius:7px;margin-top:14px;padding:10px 12px;font-size:12px;line-height:1.45}.generated-link-modal footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.generated-link-modal footer .ghost{font-size:13px}.client-diet-import{min-height:0!important}.client-diet-import form{gap:14px;margin-top:18px;display:grid}.client-diet-import .dropzone{padding:16px}.client-diet-import .primary{justify-self:start;margin-top:0!important}.client-diet-import .error{margin:0}@media (max-width:800px){.client-detail-header{flex-wrap:wrap;align-items:flex-start}.client-detail-header .pill{margin-left:62px}.client-detail-grid{grid-template-columns:1fr}.generated-link-field{flex-wrap:wrap}.generated-link-field .modal-primary{width:100%}.client-diet-import form{grid-template-columns:1fr}.client-diet-import .primary{width:100%}}.history-actions{align-items:center;gap:11px;display:flex}.history-actions .text-button{white-space:nowrap;font-size:11px}.destructive-button{color:#a84e46!important;background:#fff8f6!important;border-color:#e9bbb4!important}.destructive-button:hover{background:#fff0ec!important;border-color:#d99188!important}.history-actions .destructive-button{padding:6px 8px;font-size:11px}.detail-actions .primary{margin-top:0}.client-plans-panel{grid-column:1/-1}.plan-cards{gap:12px;margin-top:18px;display:grid}.plan-card{background:#fdfcfa;border:1px solid #eeeae2;border-radius:10px;padding:16px}.plan-card-main{align-items:center;gap:10px;display:flex}.plan-card-controls{align-items:center;gap:8px;margin-left:auto;display:flex}.plan-card-controls>.primary{border:1px solid var(--ink);white-space:nowrap;box-shadow:none;border-radius:8px;margin-top:0;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.2}a.plan-draft-chip{text-decoration:none}a.plan-draft-chip:hover{filter:brightness(.96)}.action-menu{position:relative}.action-menu-trigger{border:1px solid var(--line);border-radius:8px;margin-top:0;padding:7px 11px;font-size:15px;line-height:1}.action-menu-list{z-index:20;border:1px solid var(--line);background:var(--paper);border-radius:10px;min-width:210px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #263a3129}.action-menu-list>*{color:var(--ink);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:9px 10px;font-size:13px;text-decoration:none}.action-menu-list>:hover{background:#f2efe8}.action-menu-list>.destructive{color:#a84e46}.action-menu-list>.destructive:hover{background:#fff0ec}.action-menu-list>:disabled{opacity:.5}.plan-card-identity{min-width:0}.plan-card-identity small{margin-top:1px;padding-left:9px;font-size:11px;display:block}.plan-label-field{width:100%;max-width:280px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 8px;font-size:14px;font-weight:700}.plan-label-field:hover:not(:disabled){border-color:var(--line);background:#fff}.plan-label-field:focus{border-color:var(--ink);background:#fff;outline:none}.plan-order-controls{gap:4px;display:flex}.plan-order-controls .plan-order-button{border:1px solid var(--line);border-radius:6px;margin-top:0;padding:4px 8px;font-size:12px;line-height:1}.plan-order-controls .plan-order-button:disabled{opacity:.4}.plan-card-history{border-top:1px solid #eeeae2;margin-top:14px;padding-top:12px}.plan-card-history summary{color:var(--muted);cursor:pointer;font-size:12px}.plan-card-history>div{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.import-reconciliation{grid-column:1/-1;margin-top:18px}.import-reconciliation h3{margin:6px 0 8px}.import-reconciliation>p{color:var(--muted);margin:0 0 6px;font-size:13px;line-height:1.5}.import-reconciliation-progress{color:var(--sage-strong)!important;font-size:12px!important}.import-reconciliation-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.import-reconciliation-list li{background:var(--paper);border:1px solid #eeeae2;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:14px;padding:12px 14px;display:grid}.import-reconciliation-source{gap:4px;min-width:0;display:grid}.import-reconciliation-source b{overflow-wrap:anywhere;font-size:13px}.import-reconciliation-source small{color:var(--muted);font-size:11px}.import-reconciliation-source .pill{justify-self:start}.import-reconciliation-choice{gap:7px;min-width:0;display:grid}.import-reconciliation-choice input{margin:0;padding:8px}.import-reconciliation-candidates{flex-wrap:wrap;gap:6px;display:flex}.import-reconciliation-candidates button{padding:5px 9px;font-size:11px}.import-reconciliation-remember-match{color:var(--ink);cursor:pointer;background:#f3f6f2;border-radius:8px;align-items:flex-start;gap:8px;padding:9px 10px;display:flex}.import-reconciliation-remember-match input{width:15px;height:15px;accent-color:var(--sage-strong);margin:1px 0 0;padding:0}.import-reconciliation-remember-match span{gap:2px;display:grid}.import-reconciliation-remember-match b{font-size:11px}.import-reconciliation-remember-match small{color:var(--muted);font-size:10px;line-height:1.35}.import-reconciliation-table-actions{grid-template-columns:repeat(auto-fit,minmax(105px,1fr));align-items:center;gap:7px;display:grid}.import-reconciliation-table-actions .import-reconciliation-secondary-action{min-height:34px;color:var(--sage-strong);text-align:center;background:#fff;border-color:#d9d5cd;margin:0;padding:7px 10px;font-size:11px;font-weight:700;line-height:1.2}.import-reconciliation-table-actions .import-reconciliation-free-action{color:#80663a;background:#fffaf0;border-color:#ddc797}.import-reconciliation-table-actions .import-reconciliation-secondary-action:hover{border-color:var(--sage-strong);background:#f6f8f5}.import-reconciliation-table-actions .import-reconciliation-free-action:hover{background:#fff5df;border-color:#b79b62}.import-reconciliation-free-choice{background:#fff7e9;border:1px solid #eed4a8;border-radius:8px;justify-items:start;gap:6px;padding:10px 12px;display:grid}.import-reconciliation-free-choice small{color:#80663a;line-height:1.4}.import-reconciliation-free-choice .text-button{margin:0;padding:0}.import-reconciliation-renamed{color:var(--sage-strong);grid-column:1/-1;font-size:11px}.import-reconciliation>.import-reconciliation-error{color:#a14332;background:#fdeceb;border:1px solid #f0c4bf;border-left:4px solid #a14332;border-radius:8px;margin:16px 0 0;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.45}.import-reconciliation-error p{margin:0 0 6px}.import-reconciliation-error ul{flex-wrap:wrap;gap:4px 16px;margin:0;padding-left:18px;display:flex}.import-reconciliation-error a{color:inherit;text-underline-offset:2px;font-weight:800;text-decoration:underline}.import-reconciliation-error a:hover{color:#742d22}.import-reconciliation .editor-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.import-reconciliation .editor-form-actions .editor-action{box-sizing:border-box;height:40px;min-height:40px;margin:0;padding:0 16px;line-height:1}.import-reconciliation .action-modal footer button{box-sizing:border-box;flex:1 1 0;min-width:0;min-height:40px}@media (max-width:800px){.import-reconciliation-list li{grid-template-columns:1fr}}.client-danger-panel{background:#fffaf9;border-color:#eccfc9;grid-column:1/-1;min-height:0;padding:24px 30px}.client-danger-panel h3{color:#8f4038}.delete-client-confirm{text-align:left;margin:18px 0 0;display:block}.delete-client-confirm>span{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.delete-client-confirm>span b{color:var(--ink)}.delete-client-confirm input{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #e0d8cc;border-radius:7px;padding:10px 12px;font-size:14px}.delete-client-confirm input:focus-visible{outline-offset:1px;outline:2px solid #c47c73}.client-privacy-notice a{color:var(--sage-strong);font-weight:700}.retention-rule h3{margin:7px 0;font:26px Fraunces}.retention-rule p{max-width:62ch;color:var(--muted);font-size:13px;line-height:1.6}.retention-note{background:#fff7e9;border-radius:7px;margin-top:10px;padding:10px 12px;color:#80663a!important}.retention-empty{color:var(--muted);font-size:13px}.retention-row small{color:var(--muted);font-size:12px;display:block}
.food-data-panel{margin-top:32px}.food-data-intro,.composition-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.food-data-intro h2{margin:6px 0;font-size:31px}.food-data-intro p,.substitution-rules-description{color:var(--muted);max-width:650px;margin:0;line-height:1.5}.composition-panel{margin-top:22px;padding:0;overflow:hidden}.composition-feedback{padding:0 24px}.composition-feedback:empty{display:none}.composition-heading{background:#eef3eb;align-items:center;padding:22px 24px}.composition-heading>div{gap:3px;display:grid}.composition-heading small{color:var(--muted);font-size:12px}.composition-table{max-height:560px;overflow:auto}.composition-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 120px minmax(180px,auto);align-items:center;gap:20px;padding:11px 24px;font-size:13px;display:grid}.composition-food{flex-direction:column;gap:3px;min-width:0;display:flex}.composition-aliases{color:var(--muted);font-size:11px;line-height:1.35}.composition-row b{text-align:right;color:var(--sage-strong)}.composition-head{background:var(--paper);font:var(--field-label);color:var(--sage-strong);z-index:1;position:sticky;top:0}.composition-empty{color:var(--muted);margin:0;padding:15px 24px;font-size:12px}.substitution-rules-description{margin:0 0 16px}@media (max-width:1000px){.composition-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}.composition-row .table-actions{grid-column:1/-1}.composition-head span:nth-child(3){display:none}}@media (max-width:800px){.food-data-intro,.composition-heading{flex-direction:column;align-items:flex-start}.composition-heading .client-search{width:100%}.composition-row{padding:10px 15px}}.food-data-tabs{background:#e8eee5;border-radius:10px;gap:5px;width:max-content;max-width:100%;margin:24px 0 0;padding:4px;display:flex}.food-data-tabs button{color:var(--muted);background:0 0;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:700}.food-data-tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #263a311f}.food-data-tabs+.composition-panel{margin-top:18px}@media (max-width:800px){.food-data-tabs{width:100%}.food-data-tabs button{flex:1;padding:10px 8px}}.composition-pagination{background:#faf8f2;justify-content:space-between;align-items:center;gap:15px;padding:15px 24px;display:flex}.composition-pagination small{color:var(--muted);font-size:12px}.composition-pagination>div{gap:7px;display:flex}.composition-pagination .ghost{padding:8px 10px;font-size:11px}.composition-pagination .ghost:disabled{opacity:.4;cursor:default}@media (max-width:800px){.composition-pagination{flex-direction:column;align-items:stretch;padding:13px 15px}.composition-pagination>div{grid-template-columns:1fr 1fr;display:grid}.composition-pagination .ghost{width:100%}}.composition-actions{align-items:center;gap:10px;display:flex}.composition-add{white-space:nowrap;padding:10px 13px;font-size:12px}.destructive-text{color:#a45043!important}.food-editor{border-bottom:1px solid var(--line);background:#f7f2e8;grid-template-columns:minmax(0,1fr) 155px auto;align-items:end;gap:10px;padding:18px 24px;display:grid}.food-editor label{color:var(--sage-strong);font:var(--field-label);gap:5px;display:grid}.food-editor input{margin:0}.food-editor>div{gap:7px;display:flex}.food-editor button{white-space:nowrap;padding:9px 11px;font-size:11px}.food-data-readonly{color:#795840;background:#fff4e9;border-radius:8px;margin:15px 0 0;padding:12px 14px;font-size:12px}@media (max-width:800px){.composition-actions{flex-direction:column;align-items:stretch;width:100%}.composition-add{width:100%}.food-editor{grid-template-columns:1fr;padding:15px}.food-editor>div{justify-content:flex-end}}.editor-form-actions{justify-content:flex-end}.substitution-table-heading{background:#eef3eb;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.substitution-table-heading b{font-size:15px}.substitution-table-heading .substitution-rules-description{margin-top:4px;font-size:12px}.table-actions{justify-content:flex-end;gap:7px;display:flex!important}.table-actions .ghost{white-space:nowrap;padding:8px 10px;font-size:11px}@media (max-width:800px){.food-editor{grid-template-columns:1fr}.substitution-table-heading{flex-direction:column;align-items:stretch;padding:18px}.substitution-table-heading .composition-add{width:100%}.table-actions{justify-content:flex-start}.editor-form-actions{justify-content:stretch}.editor-form-actions button{flex:1}}.composition-head span:nth-child(2){text-align:right}@media (max-width:800px){.editor-form-actions .primary{flex:1}}.substitution-heading-actions{align-items:end;gap:8px;display:flex}@media (max-width:800px){.substitution-heading-actions{flex-wrap:wrap;align-items:stretch}.substitution-heading-actions .composition-add{flex:1 0 100%}}.composition-head span:nth-child(3){text-align:right}.composition-export{white-space:nowrap;height:36px;padding:0 10px;font-size:11px}.composition-heading>.composition-actions{display:flex}.food-editor{grid-template-columns:minmax(0,1fr) 180px}.food-editor .editor-form-actions{grid-column:1/-1}.composition-row>:nth-child(2),.composition-head span:nth-child(3){text-align:right}.composition-row .table-actions{justify-content:flex-end;gap:8px;display:flex}.composition-actions>button,.table-action,.editor-action{justify-content:center;align-items:center;height:38px;padding:0 13px;display:inline-flex}.table-action{min-width:82px}.food-editor .editor-form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.food-editor .editor-action{box-sizing:border-box}.food-editor-modal .editor-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;display:grid}.food-editor-modal .editor-form-actions .editor-action{box-sizing:border-box;height:42px;min-height:42px;margin:0;line-height:1;padding:0 16px!important}.food-editor-backdrop{padding:24px}.food-editor-modal{border:1px solid var(--line);background:var(--paper);width:min(100%,620px);max-height:min(88vh,760px);box-shadow:var(--shadow);border-radius:14px;overflow:auto}.food-editor-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:24px 24px 20px;display:flex}.food-editor-modal h2{margin:5px 0 7px;font-size:28px}.food-editor-modal header p{max-width:470px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.food-editor-modal .food-editor{background:0 0;border-bottom:0;padding:24px}.shopping-rules-panel{margin-top:18px;overflow:hidden}.shopping-rules-table{display:grid}.shopping-rules-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) 180px 100px;align-items:center;gap:18px;padding:14px 22px;font-size:13px;display:grid}.shopping-rules-row>:nth-child(3){text-align:right;color:var(--sage-strong);font-family:DM Mono}.shopping-rules-row .table-actions{justify-content:flex-end}.shopping-rules-head{color:var(--sage-strong);font:var(--field-label);background:#eef3eb}.shopping-rule-editor-modal .food-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-rule-editor-description{color:var(--muted);grid-column:1/-1;margin:0;font-size:13px;line-height:1.5}@media (max-width:800px){.food-editor{grid-template-columns:1fr}.food-editor-backdrop{padding:14px}.food-editor-modal>header,.food-editor-modal .food-editor{padding:20px}.food-editor-modal h2{font-size:25px}.food-editor-modal .editor-form-actions{grid-template-columns:1fr 1fr;width:100%}.shopping-rules-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:14px}.shopping-rules-row>:nth-child(3){text-align:left}.shopping-rules-row .table-actions{grid-column:1/-1;justify-content:stretch}.shopping-rules-head>:nth-child(4){display:none}.shopping-rule-editor-modal .food-editor{grid-template-columns:1fr}.table-action{flex:1}.composition-export{width:100%}.substitution-heading-actions .composition-export{flex:1 0 100%;margin-top:0}.composition-actions{flex-flow:wrap;align-items:stretch}.composition-actions .client-search{flex:1 0 100%}.composition-actions .composition-export,.composition-actions .composition-add{flex:1;width:auto}}.food-editor-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}.food-editor .food-editor-alias-field{grid-column:1/-1}.food-editor-alias-add{gap:8px;display:flex}.food-editor-alias-add input{flex:1;min-width:0}.food-editor-aliases{background:#fbf8f2;border:1px dashed #d9d2c4;border-radius:10px;grid-column:1/-1;padding:13px}.food-editor-aliases p{color:var(--muted);margin:0;font-size:12px}.food-editor-aliases ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.food-editor-aliases li{color:#3f5c47;background:#e9f0e6;border-radius:999px;align-items:center;gap:7px;padding:6px 8px 6px 12px;font-size:12px;display:inline-flex}.food-editor-aliases li button{color:#7a5c55;background:0 0;padding:0 4px;font-size:15px;line-height:1}.substitution-groups-panel{margin-top:18px;padding:0;overflow:hidden}.substitution-groups{gap:26px;padding:22px 24px 26px;display:grid}.substitution-meal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;padding-bottom:7px;display:flex}.substitution-meal h3{margin:0;font:600 19px Fraunces,serif}.substitution-meal>header small{color:var(--muted);font:10px DM Mono}.substitution-meal-empty{color:var(--muted);margin:0;font-size:12px}.substitution-group{background:var(--paper);border:1px solid #eeeae2;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px 15px;display:flex}.substitution-group+.substitution-group{margin-top:9px}.substitution-group ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.substitution-group li{color:#3f5c47;background:#e9f0e6;border-radius:999px;padding:5px 10px;font-size:12px}.substitution-group li:first-child{background:#dfeade;font-weight:700}.group-editor{gap:14px;padding:24px;display:grid}.group-editor label{color:var(--sage-strong);font:var(--field-label);gap:5px;display:grid}.group-editor select,.group-editor input{margin:0}.group-editor-add{gap:8px;display:flex}.group-editor-add .search-field{flex:1;min-width:0}.group-editor-add button{white-space:nowrap}.group-editor-foods{background:#fbf8f2;border:1px dashed #d9d2c4;border-radius:10px;padding:13px}.group-editor-foods p{color:var(--muted);margin:0;font-size:12px}.group-editor-foods ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.group-editor-foods li{color:#3f5c47;background:#e9f0e6;border-radius:999px;align-items:center;gap:7px;padding:6px 8px 6px 12px;font-size:12px;display:inline-flex}.group-editor-foods li button{color:#7a5c55;background:0 0;padding:0 4px;font-size:15px;line-height:1}@media (max-width:800px){.substitution-groups{padding:18px 15px 22px}.substitution-group{flex-direction:column}.substitution-group .table-actions{width:100%}.group-editor{padding:20px}}.meal-substitute-summary{flex-wrap:wrap;align-items:baseline;gap:5px 10px;display:flex}.meal-substitute-summary b{font-size:14px}.meal-substitute-calories{color:#5f8569;white-space:nowrap;font-size:12px;font-weight:700}.meal-substitute-supplier{color:#8a8272;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.meal-substitute-note{color:#776d5c;flex-basis:100%;margin:3px 0 0;font-size:12px;line-height:1.4}.meal-substitute-amount{color:#6f6a5f;white-space:nowrap;font-size:12px;font-weight:700}.measure-input{align-items:center;gap:6px;display:flex}.measure-input input{flex:1;min-width:0}.measure-input>span{color:#8a8272;font-size:12px;font-weight:700}
.recipe-catalog{margin-top:32px}.recipe-catalog-intro,.recipe-catalog-tools,.recipe-card-actions,.recipe-editor header,.recipe-editor footer,.recipe-list-editor>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.recipe-catalog-intro h2{margin:6px 0;font-size:31px}.recipe-catalog-intro p{max-width:660px;color:var(--muted);margin:0;line-height:1.5}.recipe-catalog-actions{gap:9px;display:flex}.recipe-catalog-actions>button,.recipe-catalog-actions>a{white-space:nowrap}.recipe-catalog-tools{margin:24px 0 18px}.recipe-catalog-tools small{color:var(--muted);font-size:12px}.recipe-card-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px;display:grid}.recipe-card{background:var(--paper);border:1px solid #eeeae2;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.recipe-card-photo{height:145px;color:var(--sage-strong);background-color:#e6eee3;background-position:50%;background-size:cover;place-items:center;font-size:36px;display:grid;position:relative;overflow:hidden}.recipe-card-photo img,.recipe-editor-photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.recipe-card-body{flex-direction:column;flex:1;padding:16px;display:flex}.recipe-card-body>small{color:var(--sage-strong);font:10px DM Mono}.recipe-card h3{margin:6px 0;font:600 20px Fraunces,serif}.recipe-card p{min-height:34px;color:var(--muted);margin:0;font-size:12px;line-height:1.45}.recipe-card-actions{justify-content:flex-start;margin-top:auto;padding-top:15px}.recipe-loading,.recipe-empty{color:var(--muted);text-align:center;border:1px dashed #d9dfd4;border-radius:10px;padding:28px}.recipe-error{margin-top:18px}.recipe-editor{background:var(--paper);width:min(100%,820px);height:min(860px,100dvh - 40px);max-height:calc(100dvh - 40px);box-shadow:var(--shadow);border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.recipe-editor>header{border-bottom:1px solid var(--line);align-items:flex-start;padding:24px 28px 18px}.recipe-editor h2{margin:5px 0 0;font-size:30px}.recipe-editor-main{scrollbar-gutter:stable;gap:16px;min-height:0;padding:22px 28px;display:grid;overflow-y:auto}.recipe-editor label{color:var(--sage-strong);font:var(--field-label);gap:6px;margin:0;display:grid}.recipe-editor label small{color:var(--muted);font:inherit}.recipe-editor input,.recipe-editor select,.recipe-editor textarea{margin:0}.recipe-editor textarea{resize:vertical;min-height:80px}.recipe-editor>header .text-button,.recipe-editor footer button,.recipe-catalog-actions>button,.recipe-catalog-actions>a{justify-content:center;align-items:center;min-height:42px;display:inline-flex}.recipe-editor>header .text-button{white-space:nowrap}.recipe-editor-photo{border-radius:9px;width:min(100%,260px);height:160px;position:relative;overflow:hidden}.recipe-list-editor{border-top:1px solid var(--line);padding-top:16px}.recipe-list-editor h3{margin:0;font:600 19px Fraunces,serif}.recipe-list-editor>div{margin-bottom:10px}.recipe-list-row{grid-template-columns:18px minmax(0,1fr) 28px;align-items:center}.recipe-list-row>span{color:var(--coral);text-align:center;font:13px Arial}.recipe-list-row button{color:#af554a;background:#fff2ef;border-radius:6px;height:28px;font-size:18px}.recipe-editor footer{border-top:1px solid var(--line);background:var(--paper);justify-content:flex-end;padding:18px 28px 24px}.recipe-editor footer .primary{width:auto;margin-top:0}@media (max-width:700px){.recipe-catalog-intro,.recipe-catalog-tools{flex-direction:column;align-items:stretch}.recipe-catalog-actions{align-self:flex-start}.recipe-editor{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.recipe-editor>header{padding:20px 21px 16px}.recipe-editor-main{padding:18px 21px}.recipe-editor footer{flex-wrap:wrap;padding:15px 21px 20px}.recipe-editor footer button{flex:1}}.recipe-editor-photo-status{color:var(--muted);margin:0;font-size:12px}.recipe-editor-photo-field{flex-direction:column;align-items:flex-start;gap:8px;display:flex}
.client-shell{max-width:1240px;min-height:100vh;margin:auto;padding:0 42px 46px}.client-header{border-bottom:1px solid var(--line);align-items:center;gap:30px;min-height:88px;display:flex}.client-practice-brand{flex:none;width:72px;height:68px;display:block}.client-practice-brand img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%}.client-user{align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.client-profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.client-logout-button{border-left:1px solid var(--line);color:var(--sage-strong);background:0 0;padding:4px 0 4px 7px;font-size:11px;font-weight:700}.client-intro{max-width:650px;margin:55px 0 35px}.client-intro h1{margin:8px 0 14px;font-size:clamp(41px,5vw,62px);line-height:1.05}.client-intro p{max-width:540px;color:var(--muted);line-height:1.6}.plan-switch{background:#eee9dd;border-radius:11px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin:22px 0 4px;padding:5px;display:grid}.plan-switch button{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:8px;padding:11px 10px;font-size:13px;font-weight:700;overflow:hidden}.plan-switch button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #ddd7c9}.week-nav{background:#eee9dd;border-radius:11px;grid-template-columns:repeat(7,1fr);padding:5px;display:grid}.week-nav button{color:var(--muted);background:0 0;border-radius:8px;gap:2px;padding:9px 2px 12px;display:grid;position:relative}.week-nav button small{letter-spacing:.1em;font:9px DM Mono}.week-nav button b{color:inherit;font:23px Fraunces}.week-nav button span{white-space:nowrap;font-size:9px;line-height:1.2}.week-nav button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #ddd7c9}.week-nav button[data-today]:after{background:var(--coral);content:"";border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px;left:calc(50% - 2px)}.today-head{justify-content:space-between;align-items:end;margin:42px 0 17px;display:flex}.today-head h2{margin:6px 0 0;font-size:32px}.alternatives{background:#f6ead4;border-radius:10px;margin:-4px 0 18px;padding:18px 20px}.alternatives h3{margin-bottom:12px;font:20px Fraunces}.alternatives p{gap:10px;margin:6px 0;font-size:13px;display:flex}.alternatives p span{color:#74644e}.meal-cards{gap:18px;max-width:820px;display:grid}.meal-card{background:var(--paper);border:1px solid #ebe7dc;border-radius:12px;padding:21px;position:relative}.meal-card:not(:last-child):after{content:"";background:#d9d3c4;width:1px;height:18px;position:absolute;top:100%;left:34px}.meal-card-title{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:14px;display:flex}.meal-card-icon{width:26px;color:var(--coral);flex:none;place-items:center;display:grid}.free-meal-card .meal-card-icon{color:var(--sage-strong)}.meal-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:26px;height:26px}.meal-card-title small{color:var(--sage-strong);font:9px DM Mono}.meal-card-title h3{margin:3px 0 0;font:23px Fraunces}.free-meal-text{color:#5d6b60;margin:16px 0 0;font-size:14px;line-height:1.6}.meal-card .meal-note{margin:0}.meal-card .meal-note small{color:#98754c;font:9px DM Mono,monospace;display:block}.meal-card .meal-note p{margin:3px 0 0;font-size:11px;line-height:1.5}.client-footer{text-align:center;color:var(--muted);margin:48px 0 0;font-size:11px}.no-diet{text-align:center;padding:140px 20px}.no-diet span{color:var(--coral);font-size:50px}.no-diet h1{margin:18px 0 8px;font-size:40px}.no-diet p{color:var(--muted)}@media (max-width:800px){.login-shell{grid-template-columns:1fr}.hero-copy{min-height:340px;padding:55px 35px}.hero-copy h1{font-size:64px}.leaves{font-size:55px}.login-card{margin:-20px 18px 30px;padding:30px}.welcome-card{min-height:0;padding:30px}.welcome-card h2{font-size:32px}.welcome-card .illustration{display:none}.stat-grid{grid-template-columns:1fr 1fr}.stat-grid article:last-child{grid-column:span 2}.client-row{grid-template-columns:38px 1fr auto}.client-row .quiet{display:none}.editor-top{flex-direction:column;align-items:start}.editor-grid{grid-template-columns:1fr}.day-tabs{display:flex;overflow:auto}.day-tabs button{white-space:nowrap}.food-head{display:none}.food-edit{grid-template-columns:1fr 70px}.food-edit input:last-child{grid-column:span 2}.client-shell{padding:0 20px calc(88px + env(safe-area-inset-bottom))}.client-practice-brand{width:58px;height:55px}.client-intro{margin:42px 0 26px}.week-nav{display:flex;overflow:auto}.week-nav button{min-width:59px}.today-head{margin-top:32px}.meal-card{padding:18px}.meal-card:not(:last-child):after{left:31px}.alternatives p{display:block}.alternatives p span{margin-top:3px;display:block}}.preview-banner{color:#78582d;background:#fff0d9;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 -20px;padding:11px 14px;font-size:12px;font-weight:700;display:flex}.preview-return-action{color:#78582d;flex:none}.install-prompt{color:#49664e;background:#e0ebdf;border-radius:8px;margin-top:15px;padding:9px 12px;font-size:12px;font-weight:700}.ios-install{margin-top:14px}.ios-install p{max-width:420px;color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.45}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meal-story-share{background:linear-gradient(115deg,#eef5ec,#fffaf2);border:1px solid #d6e4d3;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:24px;padding:20px 22px;display:grid}.meal-story-copy{align-items:flex-start;gap:13px;display:flex}.meal-story-copy>span{color:#c97360;background:#fff3e6;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:18px;display:grid}.meal-story-copy small{color:#63816a;letter-spacing:.09em;font:10px DM Mono,monospace;display:block}.meal-story-copy h2{margin:4px 0;font:600 24px Fraunces,serif}.meal-story-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.meal-story-picker{align-items:center;gap:10px;display:flex}.meal-story-start{color:#fff;white-space:nowrap;background:#496e52;border-radius:8px;padding:11px 14px;font-size:12px;font-weight:700}.meal-story-start:disabled{opacity:.65;cursor:wait}.meal-story-note,.meal-story-message{color:#64766b;grid-column:1/-1;margin:0;font-size:10px;line-height:1.45}.meal-story-message{color:#80663a;background:#fff7e9;border-radius:6px;padding:8px 10px}.meal-story-result{grid-column:1/-1;grid-template-columns:minmax(0,180px) 1fr;align-items:center;gap:17px;padding-top:2px;display:grid}.meal-story-result>img{aspect-ratio:9/16;object-fit:cover;background:#dfe8dc;border-radius:8px;width:180px;box-shadow:0 8px 18px #263a3121}.meal-story-actions{justify-items:start;gap:9px;display:grid}.story-action-button,.story-dialog-action{color:#496e52;text-align:left;background:#fffefa;border:1px solid #cfdccd;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:700}.story-action-button.primary,.story-dialog-action.primary{color:#fff;background:#496e52;border-color:#496e52}.story-action-button:hover,.story-dialog-action:hover{background:#eef5ec}.story-action-button.primary:hover,.story-dialog-action.primary:hover{background:#365640}.story-camera-backdrop{z-index:40;background:#14221bb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.story-camera-dialog{background:var(--paper);width:min(100%,520px);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.story-camera-dialog>header,.story-camera-dialog>footer{justify-content:space-between;align-items:center;gap:14px;padding:17px 19px;display:flex}.story-camera-dialog header small{color:#71917d;letter-spacing:.1em;font:10px DM Mono,monospace;display:block}.story-camera-dialog h2{margin:3px 0 0;font:600 24px Fraunces,serif}.story-camera-dialog footer{border-top:1px solid var(--line);justify-content:flex-end}.story-camera-video{object-fit:cover;background:#1b2620;width:100%;max-height:62vh;display:block}.story-camera-error{text-align:center;padding:35px 20px}.story-camera-error p{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.5}.story-preview-dialog{background:var(--paper);width:min(100%,430px);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.story-preview-dialog>header,.story-preview-dialog>footer{justify-content:space-between;align-items:center;gap:14px;padding:17px 19px;display:flex}.story-preview-dialog header small{color:#71917d;letter-spacing:.1em;font:10px DM Mono,monospace;display:block}.story-preview-dialog h2{margin:3px 0 0;font:600 23px Fraunces,serif}.story-preview-dialog>img{object-fit:contain;background:#18231d;width:100%;max-height:66vh;display:block}.story-preview-dialog footer{border-top:1px solid var(--line)}.story-preview-dialog footer .ghost{background:#fff;border:1px solid #d4dfd1}@media (max-width:800px){.meal-story-share{grid-template-columns:1fr;gap:15px;padding:18px}.meal-story-start{justify-self:start}.meal-story-result{grid-template-columns:104px minmax(0,1fr);gap:13px}.meal-story-result>img{width:104px}.meal-story-actions{align-items:stretch;width:100%}.story-action-button{width:100%;min-width:0}.meal-story-note,.meal-story-message{grid-column:auto}.editor-actions{flex-wrap:wrap}}.meal-card .meal-food-list{margin:15px 0;padding:0;list-style:none;display:grid}.meal-card .meal-food-list>li{border-bottom:1px solid var(--line);padding:10px 0;position:relative}.meal-card .meal-food-list>li:first-child{padding-top:0}.meal-card .meal-food-list>li:last-child{border-bottom:0;padding-bottom:0}.food-line{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;display:grid}.food-line-copy{gap:1px;min-width:0;display:grid}.food-line-heading{flex-wrap:wrap;align-items:baseline;gap:2px 9px;display:flex}.food-line-name{color:var(--ink);font-family:Mulish,DM Sans,sans-serif;font-size:15.5px;font-weight:400;line-height:1.45;display:inline}.food-amount{font-variant-numeric:tabular-nums;color:#5d6b60;white-space:nowrap;font-family:Mulish,DM Sans,sans-serif;font-size:14px;font-weight:500}.food-line-detail{margin-top:1px;font-family:DM Sans,sans-serif;font-size:12px;line-height:1.35;display:block}.food-substitution-button{color:var(--sage-strong);white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:700;line-height:1.35;display:inline-flex}.food-substitution-button:hover,.food-substitution-button:focus-visible{color:var(--ink);background:0 0}.food-substitution-button .card-prompt-icon{stroke-width:2px;flex:none;width:13px;height:13px}.client-header-actions{align-items:center;gap:13px;margin-left:auto;display:flex}.client-primary-nav{align-self:stretch;align-items:stretch;gap:8px;display:flex}.client-navigation-link{color:var(--muted);background:0 0;padding:0 13px;font-size:13px;font-weight:700;position:relative}.client-navigation-link:after{content:"";background:0 0;border-radius:999px;height:2px;transition:background .16s;position:absolute;bottom:-1px;left:13px;right:13px}.client-navigation-link:hover{color:var(--ink)}.client-navigation-link.active{color:#49664e}.client-navigation-link.active:after{background:#49664e}.card-prompt-link{color:#9a6147;background:0 0;font-size:12px;font-weight:700}.card-prompt-link:hover{color:#6e4539}.client-utility-button{color:#49664e;background:#f5faf3;border:1px solid #d9e5d7;border-radius:8px;align-items:center;gap:5px;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex}.client-utility-button:hover{background:#e4f0e2}.client-bottom-nav{display:none}.card-prompt-link{text-align:left;margin-top:9px;padding:0}.card-prompt{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:14px;padding:12px 0 0;display:grid}.card-prompt+.card-prompt{margin-top:12px}.card-prompt>span{width:28px;height:28px;color:var(--coral);background:#fff3e6;border-radius:50%;place-items:center;display:grid}.card-prompt-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:16px;height:16px}.card-prompt small{color:#98754c;font:9px DM Mono,monospace}.card-prompt b{margin-top:2px;font-size:12px;line-height:1.3;display:block}.client-resource{background:var(--paper);border:1px solid #e6e2d9;border-radius:15px;margin-top:34px;padding:30px;box-shadow:0 9px 24px #3b493e0f}.client-resource-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.client-resource-header h1{margin:5px 0 7px;font-size:31px}.shopping-list-plan{color:var(--ink);background:#eee9dd;border-radius:999px;margin-bottom:9px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}.client-resource-header p{max-width:620px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.recipe-section-content{min-height:0}.recipe-dialog-backdrop{z-index:30;background:#263a317a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.recipe-dialog{background:var(--paper);width:min(100%,760px);max-height:min(82vh,780px);box-shadow:var(--shadow);border-radius:15px;flex-direction:column;padding:30px;display:flex;overflow:hidden}.recipe-dialog-scroll{overscroll-behavior:contain;min-height:0;overflow:auto}.recipe-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.recipe-dialog.substitution-guide-dialog{padding:22px;position:relative}.recipe-dialog>header.substitution-guide-header{z-index:1;border-bottom:0;padding:0;position:absolute;top:18px;right:18px}.substitution-guide-header+.recipe-dialog-scroll .substitution-list{margin-top:0}.substitution-guide-dialog .standard-substitution-guide{border-radius:0;padding:0;background:0 0!important;border:0!important}.substitution-guide-dialog .standard-substitution-guide h3{padding-right:46px}.substitution-guide-dialog .standard-substitution-guide section{background:#fffaf1;border:1px solid #f0e3cf}.recipe-dialog h2{margin:5px 0 7px;font-size:31px}.recipe-dialog header p{max-width:550px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.dialog-close{width:34px;height:34px;color:var(--ink);background:#f3eee4;border-radius:50%;flex:none;font-size:24px;line-height:1}.recipe-list{gap:8px;margin-top:18px;display:grid}.recipe-search{color:#98754c;background:#fffdfa;border:1px solid #e0d5c4;border-radius:9px;align-items:center;gap:9px;margin-top:18px;padding:0 12px;display:flex}.recipe-search>span{place-items:center;width:18px;height:38px;font-size:18px;line-height:1;display:grid}.recipe-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:11px 0;transform:translateY(-2px)}.recipe-search input::placeholder{color:#9c9a93}.recipe-search:focus-within{border-color:#bb9268;box-shadow:0 0 0 3px #bb926824}.recipe-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.recipe-list article:last-child{border-bottom:0}.recipe-list small{color:#98754c;font:10px DM Mono,monospace}.recipe-list h3{margin:5px 0 0;font:19px Fraunces}.recipe-list .ghost{white-space:nowrap;font-size:12px}.recipe-photo-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px;margin-top:18px;display:grid}.recipe-photo-card{text-align:left;background:#fffdfa;border:1px solid #e6e2d9;border-radius:13px;flex-direction:column;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.recipe-photo-card:hover{border-color:#d8cdb9;transform:translateY(-2px);box-shadow:0 10px 22px #3b493e1a}.recipe-photo-card:focus-visible{outline:2px solid var(--sage-strong);outline-offset:2px}.recipe-photo-card-image{height:142px;color:var(--sage-strong);background-color:#e9efe6;background-position:50%;background-size:cover;place-items:center;font-size:32px;display:grid;position:relative;overflow:hidden}.recipe-photo-card-image img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.recipe-photo-card-body{flex-direction:column;flex:1;padding:14px 15px 16px;display:flex}.recipe-photo-card-body small{color:#98754c;font:10px DM Mono,monospace}.recipe-photo-card-title{color:var(--ink);margin-top:6px;font:19px/1.25 Fraunces}@media (prefers-reduced-motion:reduce){.recipe-photo-card{transition:none}.recipe-photo-card:hover{transform:none}}.recipe-empty{text-align:center;padding:50px 15px}.recipe-search-empty{padding-top:38px}.recipe-empty>span{color:var(--coral);font-size:34px}.recipe-empty h3{margin:12px 0 6px;font:25px Fraunces}.recipe-empty p{color:var(--muted);margin:0;font-size:13px}.recipe-detail-dialog{width:min(100%,900px);max-height:90vh}.shopping-list-scroll{padding-top:20px}.shopping-list-general-guidance{background:#fffaf1;border:1px solid #e2d6c3;border-radius:11px;align-items:flex-start;gap:11px;margin-bottom:12px;padding:13px 15px;display:flex}.shopping-list-general-guidance>span{color:#9a7045;background:#f2e2ca;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.shopping-list-general-guidance b{font-size:13px;display:block}.shopping-list-general-guidance p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.45}.shopping-list-summary{background:#edf4ea;border-radius:11px;align-items:center;gap:11px;margin-bottom:18px;padding:13px 15px;display:flex}.shopping-list-summary>span{color:#49664e;background:#d6e7d1;border-radius:50%;place-items:center;width:30px;height:30px;font-size:18px;display:grid}.shopping-list-summary p{margin:0}.shopping-list-summary b{font-size:13px;display:block}.shopping-list-summary small{margin-top:2px;font-size:11px}.shopping-list-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.shopping-list-category{background:#fffefa;border:1px solid #e6e6dd;border-radius:11px;padding:14px 15px}.shopping-list-category-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.shopping-list-category-name{align-items:center;gap:9px;min-width:0;display:flex}.food-category-icon{fill:none;stroke:#496e52;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:none;width:23px;height:23px}.shopping-list-category h3{margin:0;font:19px Fraunces}.shopping-list-category-header>strong{color:#496e52;white-space:nowrap;font-size:12px}.shopping-list-portion-weight{color:var(--muted);margin-top:5px;font-size:11px;display:block}.shopping-list-category-guided{grid-column:1/-1}.shopping-list-category ul{margin:10px 0 0;padding:0;list-style:none}.shopping-list-category li{color:var(--muted);border-top:1px dotted #ded8cc;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;display:flex}.shopping-list-category li strong{color:#496e52;white-space:nowrap;font-size:12px}.shopping-guide-dialog{width:min(100%,960px)}.shopping-guide-dialog-heading{align-items:flex-start;gap:14px;display:flex}.shopping-guide-dialog-heading .food-category-icon{stroke-width:1.5px;width:34px;height:34px;margin-top:4px}.shopping-guide-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:18px;display:grid}.shopping-guide-card{background:#f8fbf6;border:1px solid #e0ebdf;border-radius:12px;overflow:hidden}.shopping-guide-card>div:first-child{padding:16px}.shopping-guide-card h4{margin:0 0 7px;font:20px Fraunces}.shopping-guide-card p{color:#4c6254;margin:0;font-size:12px;line-height:1.5}.shopping-guide-card small{color:#6d806f;margin-top:9px;font-size:10px;line-height:1.4}.seasonal-produce-dialog-card{background:linear-gradient(125deg,#f1f7ef,#fffdf7)}.seasonal-produce-dialog-card .eyebrow{color:#59775e}.seasonal-produce-items{color:#4c6254;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin:14px 0 0;padding:0;font-size:12px;line-height:1.35;list-style:none;display:grid}.seasonal-produce-items li:before{color:#628169;content:"•";margin-right:6px}.seasonal-produce-dialog-card small a{color:#496e52;font-weight:700}.seasonal-produce-dialog-card small{display:block}.shopping-guide-details{color:#4c6254;gap:4px;margin:12px 0 0;padding-left:18px;font-size:12px;line-height:1.4;display:grid}.shopping-guide-product-groups{gap:14px;padding:14px;display:grid}.shopping-guide-product-group h5{color:#6d4658;letter-spacing:.06em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800;line-height:1.3}.shopping-guide-images{background:#dbe7d8;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;display:grid}.shopping-guide-images img{background:#fff;width:100%;height:auto}.shopping-guide-product-image{aspect-ratio:1;background:#fff;min-width:0;position:relative}.shopping-guide-product-image img{object-fit:contain;padding:7px}.native-recipe{padding-top:22px}.native-recipe-photo{background:#e9eee5;border-radius:10px;width:100%;max-width:660px;height:auto;margin:0 auto;display:block}.native-recipe-body{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:28px;padding:25px 2px 4px;display:grid}.native-recipe-body section{min-width:0}.native-recipe-body ul,.native-recipe-body ol{color:var(--ink);margin:12px 0 0;padding-left:19px;font-size:13px;line-height:1.55}.native-recipe-body ul{list-style:"·  "}.native-recipe-body li+li{margin-top:6px}.native-recipe-missing{color:var(--muted);margin:12px 0 0;font-size:13px;font-style:italic}.native-recipe-note{border-left:3px solid var(--coral);color:#6e4539;background:#fff3e6;border-radius:0 7px 7px 0;margin:18px 0 0;padding:12px;font-size:12px;line-height:1.5}.substitution-list{gap:13px;margin-top:18px;display:grid}.substitution-list article{background:#f8fbf6;border:1px solid #e0ebdf;border-radius:10px;padding:14px}.substitution-original,.substitution-options>div{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.substitution-original b,.substitution-options b{color:var(--sage-strong);white-space:nowrap;font-size:12px}.substitution-arrow{color:#5f8569;text-align:center;margin:8px 0;font-size:17px;display:block}.substitution-options{gap:6px;display:grid}.substitution-options>div{color:#365640;background:#e5efe2;border-radius:6px;padding:9px 10px;font-size:13px;font-weight:700}.standard-substitution-guide{background:#fffaf1!important;border-color:#ecd8b8!important}.standard-substitution-guide h3{margin:5px 0 8px;font:600 21px Fraunces,serif}.standard-substitution-guide>p{color:#725f43;margin:0;font-size:12px;line-height:1.45}.standard-substitution-guide>div{gap:8px;margin-top:14px;display:grid}.standard-substitution-guide section{background:#fffdf8;border-radius:7px;padding:10px 11px}.standard-substitution-guide .standard-substitution-seasonal{background:#f8fbf6;border:1px solid #e0ebdf;margin-top:14px}.standard-substitution-guide .standard-substitution-seasonal h4{color:#49664e}.standard-substitution-guide .standard-substitution-seasonal p{color:#48604d}.standard-substitution-guide h4{color:#7d623b;margin:0;font-size:12px}.standard-substitution-guide section p{color:#665943;margin:4px 0 0;font-size:12px;line-height:1.42}.standard-substitution-guide section b{color:#3f674a;background:#e5efe2;border-radius:999px;margin-top:7px;padding:3px 6px;font-size:11px;display:inline-block}.standard-substitution-guide>small{color:#8a7655;margin-top:12px;font-size:11px;line-height:1.4;display:block}@media (max-width:800px){.client-header{gap:12px;min-height:70px}.client-header-actions{gap:9px}.client-primary-nav,.client-profile-name,.client-logout-button,.client-utility-label{display:none}.client-utility-button{border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:16px;display:grid}.client-profile .avatar{width:34px;height:34px;font-size:10px}.recipe-dialog{max-height:88vh;padding:23px}.recipe-detail-dialog{max-height:94vh;padding:18px}.recipe-dialog h2{font-size:27px}.client-resource{margin-top:22px;padding:20px}.client-resource-header{flex-direction:column;align-items:stretch}.client-resource-header h1{font-size:27px}.recipe-photo-grid{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:12px}.recipe-photo-card-image{height:112px}.recipe-photo-card-body{padding:12px 12px 14px}.recipe-photo-card-title{font-size:17px}.recipe-list article{align-items:flex-start}.recipe-list .ghost{padding:8px 10px}.native-recipe{padding-top:16px}.native-recipe-body{grid-template-columns:1fr;gap:23px;padding-top:22px}.card-prompt{grid-template-columns:auto 1fr}.card-prompt .card-prompt-link{grid-column:2;justify-self:start;margin-top:0}.shopping-list-categories,.shopping-guide-dialog-grid{grid-template-columns:1fr}.client-bottom-nav{z-index:20;padding:8px 16px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdfaf0;border-top:1px solid #d7e1d3e6;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 26px #263a3114}.client-bottom-nav-links{justify-content:space-around;max-width:460px;margin:auto;display:flex}.client-bottom-nav .client-navigation-link{color:#7b887f;justify-items:center;gap:4px;min-width:76px;padding:3px 10px 4px;font-size:10px;font-weight:700;display:grid}.client-bottom-nav .client-navigation-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:21px;height:21px}.client-bottom-nav .client-navigation-link.active{color:#49664e}.client-bottom-nav .client-navigation-link:after{height:3px;bottom:-3px;left:calc(50% - 3px);right:calc(50% - 3px)}.week-navigation{grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch;gap:8px;display:grid}.week-navigation .week-nav{scrollbar-width:none}.week-navigation .week-nav::-webkit-scrollbar{display:none}.day-step{color:#49664e;background:#e0ebdf;border-radius:10px;place-items:center;font-size:18px;font-weight:700;display:grid}.day-step:disabled{opacity:.38;cursor:default}}.shopping-guide-disclaimer{color:var(--muted);background:#f3f6f1;border-radius:9px;margin:18px 0 0;padding:12px 14px;font-size:12px;line-height:1.55}.meal-substitute-options{gap:10px;margin-top:18px;display:grid}.meal-substitute-options article{background:#f8fbf6;border:1px solid #e0ebdf;border-radius:10px;padding:14px}.meal-substitute-option-head{color:#365640;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;font-weight:700;display:flex}.meal-substitute-option-head b{color:var(--sage-strong);white-space:nowrap;font-size:12px}.meal-substitute-options small{color:#6b7f6e;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:11px;display:block}.meal-substitute-options p{color:#4d5f50;margin:8px 0 0;font-size:12px;line-height:1.5}
.guidance-content{padding-top:20px}.guidance-topics{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.guidance-topic{color:var(--muted);background:#fdfbf6;border:1px solid #dfe4da;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.guidance-topic:hover{color:var(--ink);border-color:#9db99c}.guidance-topic.active{color:#365640;background:#e0ebdf;border-color:#9db99c}.guidance-lead{background:#edf4ea;border-radius:11px;align-items:flex-start;gap:11px;margin-bottom:18px;padding:13px 15px;display:flex}.guidance-lead>span{color:#49664e;background:#d6e7d1;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.guidance-lead b{font-size:13px;display:block}.guidance-lead p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.45}.guidance-groups{gap:26px;display:grid}.guidance-group-head{border-bottom:1px solid var(--line);padding-bottom:9px}.guidance-group-head h2{margin:0;font:600 21px Fraunces,serif}.guidance-group-head p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.45}.guidance-group .guidance-cards{margin-top:12px}.guidance-cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.guidance-card.wide{grid-column:1/-1}.guidance-card.wide ul{columns:2;column-gap:22px}.guidance-card.wide li{break-inside:avoid}.guidance-card.wide li+li{margin-top:7px}.guidance-card{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:16px 17px}.guidance-card-title{align-items:center;gap:9px;display:flex}.guidance-card-title>span{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.guidance-card-number{font:500 11px DM Mono,monospace}.guidance-card li b{font-weight:600}.guidance-card h3{margin:0;font:600 17px/1.25 Fraunces,serif}.guidance-card-intro{margin:10px 0 0;font-size:12px;line-height:1.5}.guidance-card .rich-lines{margin-top:10px}.guidance-card .rich-lines p{margin:0 0 5px;font-size:12px;line-height:1.5}.guidance-card .rich-lines p:last-child{margin-bottom:0}.guidance-card ul{gap:7px;margin:11px 0 0;padding:0;list-style:none;display:grid}.guidance-card li{padding-left:15px;font-size:12px;line-height:1.5;position:relative}.guidance-card li:before{content:"·";font-size:17px;line-height:1.05;position:absolute;top:0;left:0}.guidance-card.allowed{background:#f5faf3;border-color:#cfe0cb}.guidance-card.allowed .guidance-card-title>span{color:#3f674a;background:#dbe9d7}.guidance-card.allowed .guidance-card-intro,.guidance-card.allowed li{color:#3f5644}.guidance-card.allowed li:before{color:#6e966d}.guidance-card.avoid{background:#fdf6f3;border-color:#f0d7cf}.guidance-card.avoid .guidance-card-title>span{color:#a45043;background:#f6dcd3}.guidance-card.avoid .guidance-card-intro,.guidance-card.avoid li{color:#6d4c45}.guidance-card.avoid li:before{color:#c97a68}.guidance-card.advice{background:#fffaf1;border-color:#ecd8b8}.guidance-card.advice .guidance-card-title>span{color:#9a7045;background:#f2e2ca}.guidance-card.advice .guidance-card-intro,.guidance-card.advice li{color:#665943}.guidance-card.advice li:before{color:#b79462}.diet-conditions{border:1px solid var(--line);background:#fdfbf6;border-radius:11px;margin-top:20px;padding:18px 20px}.diet-conditions-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.diet-conditions-head h3{margin:4px 0 6px;font:600 19px Fraunces,serif}.diet-conditions-head p{max-width:620px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.diet-conditions-head .text-button{white-space:nowrap;flex:none;font-size:11px}.diet-conditions-empty{color:var(--muted);margin:14px 0 0;font-size:12px}.diet-condition-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:15px;display:grid}.diet-condition-option{border:1px solid var(--line);background:var(--paper);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.diet-condition-option:has(input:checked){background:#edf3eb;border-color:#9db99c}.diet-condition-option label{cursor:pointer;align-items:center;gap:9px;min-width:0;display:flex}.diet-condition-option input{accent-color:#6e966d;flex:none;width:16px;height:16px}.diet-condition-option b{font-size:13px;font-weight:600;display:block}.diet-condition-option small{color:var(--muted);margin-top:1px;font-size:11px;display:block}.diet-condition-option .text-button{flex:none;font-size:11px}.diet-condition-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.diet-condition-chip{color:#365640;background:#e5efe2;border:1px solid #9db99c;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.diet-condition-chip:hover{background:#d6e7d1}.guidance-dialog{background:var(--paper);width:min(100%,820px);max-height:min(85vh,820px);box-shadow:var(--shadow);border-radius:15px;flex-direction:column;padding:30px;display:flex;overflow:hidden}.guidance-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:19px;display:flex}.guidance-dialog h2{margin:5px 0 7px;font-size:29px}.guidance-dialog header p{max-width:620px;color:var(--muted);margin:0;font-size:13px;line-height:1.5}.guidance-dialog-scroll{min-height:0;padding-top:20px;overflow-y:auto}.guidance-dialog .guidance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:1000px){.guidance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.guidance-cards,.diet-condition-options{grid-template-columns:1fr}.guidance-card.wide ul{columns:1}.guidance-group-head h2{font-size:19px}.diet-conditions-head{flex-direction:column;gap:10px}.diet-conditions-head .text-button{text-align:left;padding:0}.guidance-dialog{padding:22px}.guidance-dialog h2{font-size:25px}}
.login-privacy{color:var(--muted);margin:18px 0 0;font-size:11px;line-height:1.5}.login-privacy a,.client-footer a{color:var(--sage-strong);font-weight:700}.privacy-page{background:#f1f5ee;min-height:100vh;padding:32px max(24px,8vw) 70px}.privacy-page>header{justify-content:space-between;align-items:center;gap:24px;max-width:890px;margin:0 auto 58px;display:flex}.privacy-page .brand{color:var(--ink);font:600 21px Fraunces,serif;text-decoration:none}.privacy-page .brand span{color:var(--coral);font:25px Arial}.privacy-page article{background:var(--paper);max-width:760px;box-shadow:var(--shadow);border:1px solid #e2e4dc;border-radius:18px;margin:0 auto;padding:clamp(28px,5vw,58px)}.privacy-page h1{margin-bottom:18px;font-size:clamp(36px,5vw,57px);line-height:.98}.privacy-lead{color:var(--muted);margin-bottom:34px;font-size:16px;line-height:1.65}.privacy-notice section{border-top:1px solid var(--line);padding:20px 0}.privacy-notice h2{margin:0 0 8px;font:600 23px Fraunces,serif}.privacy-notice section p,.privacy-note{color:#526258;margin:0;font-size:14px;line-height:1.65}.privacy-note{border-left:3px solid var(--coral);color:#735546;background:#fff4e9;border-radius:0 8px 8px 0;margin-top:28px;padding:15px 17px}.privacy-notice section>p+p,.privacy-notice section>ul+p{margin-top:12px}.privacy-notice section a{color:var(--sage-strong);font-weight:700}.privacy-notice section ul{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.privacy-notice section li{color:#526258;padding-left:18px;font-size:14px;line-height:1.65;position:relative}.privacy-notice section li:before{color:var(--coral);content:"•";position:absolute;left:2px}.privacy-notice section ul.privacy-purposes{gap:16px}.privacy-notice section ul.privacy-purposes li{border-left:2px solid var(--line);padding-left:16px}.privacy-notice section ul.privacy-purposes li:before{content:none}.privacy-purposes b{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.privacy-purposes span{font-size:13px;display:block}@media (max-width:700px){.privacy-page{padding:22px 16px 45px}.privacy-page>header{flex-direction:column;align-items:flex-start;margin-bottom:30px}.privacy-page article{padding:28px 23px}.privacy-page .eyebrow{line-height:1.5}}
