/* Original olive, cream and gold palette, with an app-like daily dashboard. */
:root{background:radial-gradient(ellipse at 5% 0,#fffdf5 0,transparent 45%),radial-gradient(ellipse at 100% 55%,#d7ddc833,transparent 60%),#eeeade}
body{min-height:100dvh}.shell{grid-template-columns:230px 1fr}.main{padding:38px 42px 70px;max-width:1380px}.sidebar{margin:16px 0 16px 16px;height:calc(100vh - 32px);top:16px;border:1px solid #fff9;border-radius:30px;background:linear-gradient(160deg,#fffdf8bb,#f3f0e6bb);box-shadow:0 16px 46px #333b2410,inset 0 1px 0 #fff;backdrop-filter:blur(24px)}
.sidebar nav{margin-top:48px;gap:10px}.nav-button{padding:16px;min-height:52px}.nav-button.active{box-shadow:0 8px 18px #28391d2e,inset 0 1px 0 #b6c69d44}.nav-button[data-nav=photo]{color:var(--khaki);background:#e5e8d8}.sidebar-foot{font-size:11px}.brand{font-size:20px}.brand img{filter:drop-shadow(0 4px 5px #25321822)}
.topline{margin-bottom:22px}.status{background:#ffffff8a;border:1px solid #ffffffad;border-radius:99px;padding:7px 12px;box-shadow:0 3px 12px #26301d06}.heading-row{margin-bottom:22px}.heading-row h1{font-size:clamp(36px,4vw,51px);letter-spacing:-.045em}.heading-row p{color:#777b68;margin-top:9px}.pill{background:#fdfbf2;box-shadow:0 3px 12px #28331b0a;border:1px solid #fff}
.columns{gap:24px;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr)}.stack{gap:24px;min-width:0}.card{border-radius:30px;border:1px solid #fff9;background:linear-gradient(155deg,#fffdf7,#f7f4ea);box-shadow:0 3px 5px #343c2405,0 16px 36px -15px #353e243b,inset 0 1px 0 #fff;transition:box-shadow .25s,transform .25s}.card:hover{box-shadow:0 5px 12px #343c2409,0 22px 44px -17px #353e244a,inset 0 1px 0 #fff}.card h2{font-size:25px}.card h3{font-size:20px}
.dark{background:radial-gradient(ellipse at 100% 0,#8b965352,transparent 65%),linear-gradient(130deg,#435338,#293623 85%);border:1px solid #b3c09130;box-shadow:0 20px 42px -12px #26351e80,inset 0 1px 0 #d7e1b72a}.dark:hover{box-shadow:0 24px 48px -12px #26351e88,inset 0 1px 0 #d7e1b72a}.dark::after{content:'';position:absolute;width:230px;height:230px;border:1px solid #dbe5b710;border-radius:50%;right:-95px;top:-95px;pointer-events:none}.energy{padding:5px 0 8px}.ring{filter:drop-shadow(0 8px 15px #15250e55)}.ring-bg{stroke:#ffffff12}.ring-value{stroke-linecap:round;filter:drop-shadow(0 0 6px #dfb95755);transition:stroke-dashoffset 1s var(--ease)}.ring-label strong{font-size:46px}.ring-label span{color:#dfdfcb}.energy-side .rule{background:#ffffff17}.macros{gap:12px}.macros>div{border:1px solid #ffffff0d;border-radius:18px;background:#ffffff08;padding:13px 12px}.macro-label{font-size:10px;letter-spacing:0}.macro-value{font-size:22px}.bar{border-radius:99px;background:#ffffff15}.bar i{transition:width .8s var(--ease)}
.day-strip{display:flex;gap:8px;margin:0 0 18px;max-width:610px}.day-chip{flex:1;min-width:0;border-radius:18px;padding:9px 6px 7px;display:flex;flex-direction:column;align-items:center;gap:1px;background:#fdfbf37d;border:1px solid #ffffff96;transition:background .2s,transform .2s,box-shadow .2s}.day-chip span{font-size:11px;color:var(--muted)}.day-chip strong{font-size:19px;line-height:1.55}.day-chip i{height:4px;width:4px;border-radius:50%;background:transparent;margin-top:3px}.day-chip i.is-today{background:var(--gold)}.day-chip.selected{background:linear-gradient(145deg,#5e6b49,#38452d);color:var(--paper);box-shadow:0 7px 15px #37482533;transform:translateY(-2px)}.day-chip.selected span{color:#ecefdf}.day-chip:hover{transform:translateY(-3px)}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;max-width:760px}.quick-action{display:flex;align-items:center;gap:12px;border:1px solid #fff9;border-radius:21px;padding:14px 18px;text-align:left;background:#fffdf5ad;box-shadow:0 6px 20px #2c36230b;transition:transform .2s,box-shadow .2s}.quick-action>span{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:#e5e9d8;color:#53613d;box-shadow:inset 0 1px 0 #fff9}.quick-action:first-child>span{background:linear-gradient(140deg,#ecd79f,#dabb70);color:#51431f}.quick-action b{flex:1;font-size:12px;font-weight:600}.quick-action>.ico{width:17px;color:var(--muted)}.quick-action:hover{transform:translateY(-3px);box-shadow:0 10px 24px #2c36231a}
.meal-block{margin-top:15px;border-radius:20px;background:#eeecdf6b;border:1px solid #e5e1cf66;padding:15px!important}.meal-title{margin-bottom:10px}.meal-title strong{font-size:15px}.meal-title .text-btn{font-size:12px;background:#fffdf8;border:1px solid #e2ddc9;border-radius:99px;padding:7px 11px}.food-row{border-color:#e2decd8a}.food-icon{border-radius:14px;background:linear-gradient(145deg,#fffaf0,#e6e8d8);box-shadow:0 4px 9px #3b432810;flex-shrink:0}.food-info b{line-height:1.35;display:block}.empty-meal{font-size:12px;padding:7px 0;color:#939681}.date-control input{border-radius:12px;background:#f2efdf;border:1px solid #e4dfcc;padding:8px;font-size:12px;max-width:150px}.section-title{flex-wrap:wrap;gap:12px}
.camera-card{padding:26px;overflow:hidden}.camera-card .card-head{position:relative;z-index:1;gap:8px}.camera-card .tag{font-size:9px;white-space:normal;text-align:center}.camera-illustration{height:190px;width:calc(100% + 52px);margin:10px -26px 0;background-position:center 45%;border-radius:0}.camera-card h2{font-size:31px;line-height:1.05;margin-top:-9px;position:relative}.camera-card>p{font-size:13px}.camera-card .btn{margin-top:20px}.btn{border-radius:17px;min-height:48px;font-size:13px;box-shadow:0 8px 17px #26371e2b,inset 0 1px 0 #ffffff3b}.btn:active,.quick-action:active{transform:translateY(1px) scale(.985)}.btn.secondary{box-shadow:0 3px 10px #2c36230c}.tag{border-radius:99px;padding:6px 10px;background:#e8ecdcbf;border:1px solid #d3d9c391}
.package-card{background:radial-gradient(ellipse at top right,#eee0b780,transparent 70%),linear-gradient(145deg,#fcf9eb,#efecd9)}.package-card h2{margin:20px 0 12px;line-height:1.14}.package-card h2 small{font-size:18px;font-weight:500}.package-card .muted{font-size:13px;line-height:1.65}.package-price{font-size:32px;font-weight:700;letter-spacing:-1px;margin:16px 0}.package-price small{font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted)}.package-card .fine{margin-top:12px;text-align:center}.package-card .card-head{flex-wrap:wrap;gap:9px}.package-card .tag{font-family:inherit;font-size:10px;background:#faf6e8}.package-hero{display:flex;flex-direction:column;align-items:center;padding:24px;border-radius:25px;background:radial-gradient(ellipse at top,#f0db9e,#e8e7d7);box-shadow:inset 0 1px 0 #fff}.package-hero strong{font-size:64px;line-height:1.1;letter-spacing:-4px;color:var(--deep)}.package-hero>span:last-child{font-size:13px;color:var(--muted)}.package-symbol{height:48px;width:48px;display:grid;place-items:center;background:#f8f3df;border-radius:17px;box-shadow:0 7px 13px #665a2821;margin-bottom:12px}.package-symbol .ico{height:25px;width:25px}.consent-row{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:12px;line-height:1.6}.consent-row input{width:19px;height:19px;accent-color:var(--khaki);flex-shrink:0;margin-top:2px}
dialog{background:linear-gradient(155deg,#fffdf6,#f3efdf);border:1px solid #fff9;border-radius:30px;box-shadow:0 30px 110px #14250d55;padding:27px}dialog::backdrop{background:#26351e70;backdrop-filter:blur(9px)}.field input,.field select,.field textarea{border-radius:14px;box-shadow:inset 0 2px 5px #343c2406}.dialog-head button{background:#e9e8db;border-radius:50%;width:35px;height:35px;padding:0;line-height:1}.chart .plot{filter:drop-shadow(0 3px 3px #6f815133)}.bottom-note{opacity:.7}.saved-plan{margin-bottom:24px}.recipe{border-radius:20px;box-shadow:0 4px 12px #34402409}
@media(min-width:1101px){.camera-card{margin-top:0}.day-strip{max-width:56%}}
@media(max-width:1100px){.shell{grid-template-columns:195px 1fr}.main{padding:30px 25px 60px}.columns{grid-template-columns:1fr}.stack.right{grid-template-columns:1fr 1fr}.sidebar{padding:25px 13px}.brand{font-size:17px}.brand img{width:30px}.camera-card{grid-row:span 2}.quick-actions{max-width:none}}
@media(max-width:650px){.shell{display:block}.main{padding:22px 16px 125px}.sidebar{position:fixed;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));left:10px;right:10px;margin:0;height:auto;padding:7px 5px;border-radius:25px;background:#fffdf2e8;box-shadow:0 7px 30px #24381d29,inset 0 1px 0 #fff;border:1px solid #fff;z-index:5}.sidebar nav{margin:0;gap:1px;justify-content:space-around}.nav-button{min-width:0;min-height:51px;flex:1;padding:8px 3px;gap:4px;border-radius:17px;font-size:9px}.nav-button .ico{width:21px;height:21px}.nav-button[data-nav=photo]{background:linear-gradient(145deg,#ddbc72,#b78630);box-shadow:0 4px 10px #a4823530;color:#fffdf1;margin:0 4px;max-width:62px;transform:translateY(-5px)}.nav-button:hover:not(.active){transform:none}.topline{margin-bottom:20px}.topline .eyebrow{font-size:8px}.status{font-size:8px;padding:5px 8px}.heading-row h1{font-size:38px}.heading-row p{font-size:13px;max-width:28ch}.day-strip{gap:6px;margin-bottom:15px}.day-chip{border-radius:16px;padding:7px 3px 5px}.day-chip strong{font-size:18px}.quick-actions{gap:9px;margin-bottom:20px}.quick-action{padding:11px 10px;gap:8px;border-radius:18px}.quick-action>span{width:32px;height:34px;min-width:32px;border-radius:12px}.quick-action b{font-size:11px;line-height:1.3}.quick-action>.ico{display:none}.columns,.stack{gap:18px}.stack.right{grid-template-columns:1fr}.card{padding:23px;border-radius:27px}.card h2{font-size:24px}.energy{justify-content:space-around;gap:12px}.ring{width:158px;height:158px;flex-shrink:0}.ring-label strong{font-size:37px}.energy-side strong{font-size:31px}.macros{gap:7px}.macros>div{padding:10px 8px;border-radius:15px}.macro-label{font-size:8px}.macro-value{font-size:20px}.macro-value small{font-size:9px}.meal-block{padding:13px!important;border-radius:18px}.food-info small{font-size:10px}.camera-card{grid-row:auto}.camera-illustration{width:calc(100% + 46px);margin-left:-23px;margin-right:-23px;height:210px}.camera-card h2{font-size:32px}.package-card h2{font-size:28px}.package-price{font-size:35px}dialog{padding:23px;max-height:88dvh;border-radius:27px}.dialog-head h2{font-size:24px}.consent-row{font-size:12px}.btn{min-height:49px}.package-hero{padding:20px}#toast{bottom:105px}.card .eyebrow{letter-spacing:.12em}}
@media(max-width:360px){.main{padding-left:11px;padding-right:11px}.card{padding:19px}.ring{width:140px;height:140px}.energy-side strong{font-size:27px}.macros>div{padding:8px 6px}.macro-value{font-size:18px}.topline .eyebrow{letter-spacing:.04em}}
@media(prefers-reduced-motion:no-preference){.quick-action,.day-chip{animation:app-appear .45s var(--ease) both}.day-chip:nth-child(2){animation-delay:.025s}.day-chip:nth-child(3){animation-delay:.05s}.day-chip:nth-child(4){animation-delay:.075s}.day-chip:nth-child(5){animation-delay:.1s}.day-chip:nth-child(6){animation-delay:.125s}.day-chip:nth-child(7){animation-delay:.15s}@keyframes app-appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}dialog[open]{animation:app-appear .3s var(--ease) both}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:650px){.macro-value{line-height:1.25}.macro-value small{display:block;margin-top:3px;font-size:10px;white-space:nowrap}.macros .bar{margin-top:10px}}
/* Mobile spacing: keep actions below headings, with consistent reading rhythm. */
.access-card{margin-bottom:22px}.access-card h2{margin:10px 0 14px}.access-card p{line-height:1.65;margin:0 0 14px}.access-card p:last-child{margin-bottom:0}
.camera-card h2{margin:16px 0 16px;line-height:1.16;letter-spacing:-.035em;text-wrap:balance}.camera-card>p{line-height:1.65;margin:0 0 20px}.camera-card .btn{margin-top:4px}.camera-card .fine{margin:14px 0 0}
.dialog-head{align-items:flex-start;gap:20px;margin-bottom:24px}.dialog-head h2{line-height:1.2;margin:0;min-width:0;text-wrap:balance}.dialog-head button{flex:0 0 36px}.tariff-dialog-lead{font-size:16px;line-height:1.6;margin:0 0 24px}.tariff-dialog-price{display:flex;align-items:baseline;gap:12px;padding:18px 0;border-top:1px solid #dcdcca;border-bottom:1px solid #dcdcca;margin-bottom:16px}.tariff-dialog-price strong{font-size:30px}.tariff-dialog-price span{color:var(--muted);font-size:14px}.tariff-dialog .btn{margin-top:24px}
@media(max-width:650px){.heading-row{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:26px}.heading-row>div{width:100%;min-width:0}.heading-row h1{font-size:34px;line-height:1.12;letter-spacing:-.04em;margin:0;text-wrap:balance}.heading-row p{max-width:34ch;font-size:14px;line-height:1.6;margin:12px 0 0}.heading-row>.btn{width:100%;font-size:14px;padding:14px 18px;min-height:50px;white-space:normal}.topline{gap:10px;flex-wrap:wrap;margin-bottom:24px}.card h2{line-height:1.2}.camera-card h2{font-size:28px;margin-top:18px}.camera-card>p{font-size:14px}.camera-card .fine{font-size:12px}.camera-card .card-head{flex-wrap:wrap;row-gap:10px}.access-card h2{font-size:24px}.access-card p{font-size:15px}.access-card .fine{font-size:12px}.dialog-head h2{font-size:25px}.saved-plan .card-head{flex-wrap:wrap;gap:14px}.weight-number small{font-size:15px;line-height:1.5}.main{padding-bottom:calc(140px + env(safe-area-inset-bottom))}}
/* Saved menus: compact day navigation, expandable meals and portions. */
.menu-book{margin-bottom:24px}.menu-book-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.menu-book-head h2{margin:10px 0 0;font-size:28px;line-height:1.2}.menu-tools{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.menu-tools a{padding:11px 15px;border:1px solid #dedfce;border-radius:14px;background:#fffdf6;color:var(--deep);font-size:13px;font-weight:600;text-decoration:none;min-height:44px;display:flex;align-items:center}.menu-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:24px 0}.menu-days button{border:1px solid #e2e3d7;border-radius:16px;background:#f0f0e5;min-height:66px;padding:8px 2px;color:var(--deep);cursor:pointer;font:inherit}.menu-days button span{display:block;font-size:11px;color:inherit;opacity:.75}.menu-days button b{display:block;font-size:22px;margin-top:3px}.menu-days button.selected{background:linear-gradient(145deg,#52613d,#2c3824);color:#fffdf2;box-shadow:0 5px 14px #28361d24;border-color:transparent}.menu-day-total{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px;color:var(--muted);font-size:13px}.menu-day-total b{color:var(--deep);white-space:nowrap}.meal-accordion{display:grid;gap:12px}.meal-detail{border:1px solid #e2e2d6;border-radius:22px;background:#f6f4e9;overflow:hidden}.meal-detail>summary{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none}.meal-detail summary::-webkit-details-marker,.recipe-section summary::-webkit-details-marker,.menu-shopping summary::-webkit-details-marker{display:none}.meal-summary-text{display:block;min-width:0}.meal-name{display:block;font-weight:650;font-size:21px;line-height:1.28;letter-spacing:-.025em;margin:10px 0}.meal-meta{font-size:13px;line-height:1.6;color:#5d6652}.meal-toggle{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;background:#e7e9d9;border-radius:50%;font-size:23px;transition:transform .2s}.meal-detail[open]>summary .meal-toggle{transform:rotate(180deg)}.meal-detail[open]>summary{background:#eeefdf}.meal-detail-body{padding:0 22px 22px}.recipe-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 0}.recipe-macros>span{background:#fffdf6;border-radius:13px;padding:12px;font-size:12px;color:var(--muted)}.recipe-macros b{display:block;color:var(--deep);font-size:18px;margin-top:5px}.recipe-section{border-top:1px solid #dddfcf}.recipe-section>summary,.menu-shopping>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;padding:18px 0;font-size:15px;font-weight:650;line-height:1.4}.fold-chevron{font-size:21px;transition:transform .2s}.recipe-section[open]>summary .fold-chevron,.menu-shopping[open]>summary .fold-chevron{transform:rotate(180deg)}.portion-caption{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 12px}.ingredient-list{list-style:none;margin:0 0 20px;padding:0}.ingredient-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:14px;line-height:1.6;padding:9px 0;border-bottom:1px dashed #dedfce}.ingredient-list strong{white-space:nowrap;font-weight:600}.cooking-steps{list-style:none;counter-reset:recipe-step;padding:0;margin:0 0 24px}.cooking-steps li{position:relative;padding:0 0 18px 37px;font-size:14px;line-height:1.75;counter-increment:recipe-step}.cooking-steps li:before{content:counter(recipe-step);position:absolute;left:0;top:2px;display:grid;place-items:center;background:#e4e8d6;color:#48583a;border-radius:9px;width:25px;height:25px;font-size:12px;font-weight:700}.menu-shopping{border-top:1px solid #dddfcf;margin-top:24px}.menu-shopping>summary{padding-bottom:4px}.menu-shopping[open]>summary{padding-bottom:20px}.menu-book [hidden]{display:none!important}.meal-detail-body>.btn{margin-top:12px}.menu-days button:focus-visible,summary:focus-visible,.menu-tools a:focus-visible{outline:3px solid #bd943e;outline-offset:3px}
@media(min-width:900px){.menu-book{max-width:1000px}.meal-accordion{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.menu-days{max-width:600px}}
@media(max-width:650px){.menu-book{padding:20px 16px}.menu-book-head h2{font-size:25px}.menu-days{gap:5px;margin:22px 0}.menu-days button{min-height:61px;border-radius:13px}.menu-days button span{font-size:10px}.menu-days button b{font-size:20px}.menu-tools{gap:8px;margin:18px 0}.menu-tools a{font-size:12px;padding:10px 12px}.menu-day-total{font-size:12px}.meal-detail>summary{padding:18px 15px;gap:10px}.meal-name{font-size:19px;margin:9px 0}.meal-meta{font-size:12px}.meal-meta>span{display:block}.meal-detail-body{padding:0 15px 18px}.recipe-macros{gap:6px}.recipe-macros>span{padding:10px 8px;font-size:11px}.recipe-macros b{font-size:16px}.ingredient-list li{font-size:13px}.cooking-steps li{font-size:14px}.meal-detail{border-radius:18px}dialog{width:calc(100% - 28px);max-width:520px;box-sizing:border-box;overflow-y:auto}.dialog-head{gap:12px}.field input,.field select,.field textarea{max-width:100%;min-width:0}.form-grid{min-width:0}}
@media(prefers-reduced-motion:no-preference){.meal-detail[open]>.meal-detail-body{animation:app-appear .22s ease both}.recipe-section[open]>.ingredient-list,.recipe-section[open]>.cooking-steps{animation:app-appear .2s ease both}}
@media(min-width:900px){.meal-detail[open]{grid-column:1 / -1}.meal-detail[open] .meal-detail-body{max-width:760px;margin:0 auto}.meal-detail[open]>.summary{width:100%}}
/* September refinement: calmer typography and tactile, task-specific surfaces. */
.heading-row h1{font-family:'Onest',sans-serif;font-weight:500;font-size:clamp(34px,3.8vw,46px);letter-spacing:-.045em;line-height:1.14}.heading-row p{font-weight:400;color:#777b6b}.heading-accent{display:block;width:34px;height:4px;border-radius:9px;background:linear-gradient(90deg,#c09543,#e8d7ae);margin-bottom:17px}.card h2,.dialog-head h2{font-weight:500;letter-spacing:-.035em;line-height:1.2}.card h3{font-weight:600;letter-spacing:-.025em}.menu-book-head h2{font-size:29px;font-weight:500;margin-top:9px}.menu-book-head .eyebrow{font-family:'Onest',sans-serif;font-size:12px;letter-spacing:.03em;color:#7e826d}.access-card{position:relative;overflow:hidden;padding:28px}.access-card h2{font-size:27px;font-weight:500}.access-card p{font-size:15px;line-height:1.7}.owner-card{background:radial-gradient(ellipse at 100% 0,#81936444,transparent 65%),linear-gradient(130deg,#414f34,#293522);color:#f8f6ec;border:1px solid #8b97754a;box-shadow:0 12px 30px #2e392b20}.owner-card .eyebrow{color:#d8bd83;font-size:9px;letter-spacing:.16em}.owner-card h2{color:#fffbed;margin:18px 0 12px;font-size:29px}.owner-card p{color:#dddccd;margin-bottom:20px;font-weight:400}.access-emblem{position:absolute;right:24px;top:22px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#e8d09415;border:1px solid #d3ba7e40;color:#e1c286;font-size:25px}.access-features{display:flex;flex-wrap:wrap;gap:7px}.access-features span{border:1px solid #b9c09f36;background:#f3eed309;border-radius:30px;padding:6px 10px;font-size:11px;color:#e4e5d6}.profile-card{position:relative;background:radial-gradient(ellipse at right top,#e3e8d8a6,transparent 55%),#fffdf6}.profile-card>.eyebrow{font-family:'Onest',sans-serif;letter-spacing:.03em;font-size:11px;color:#7a826b}.profile-card h2{font-size:30px;margin:9px 0 0}.profile-card-icon{float:right;display:grid;place-items:center;width:43px;height:43px;border:1px solid #d5ddc9;border-radius:15px;background:linear-gradient(140deg,#f6f7e9,#dfe7cf);color:#60734a;box-shadow:0 6px 15px #59704612}.profile-card .form-grid{gap:15px}.profile-card .field{font-size:13px;color:#68705a}.profile-card .field input{background:#fffef8;box-shadow:inset 0 1px 3px #4e5d3510;border:1px solid #dedfce;transition:border-color .2s,box-shadow .2s;font-size:17px}.profile-card input:focus{border-color:#9aa97e;box-shadow:0 0 0 3px #9ead771e;outline:none}.profile-card .form-grid .field{padding:13px;border:1px solid #e0e3d3;background:linear-gradient(140deg,#f4f5e9,#edeee0);border-radius:18px;margin-bottom:0}.profile-card .form-grid input{margin-top:8px;border:0;padding:5px 0;background:transparent;box-shadow:none;font-size:24px;font-weight:500;min-height:36px;border-radius:4px}.profile-card .btn{margin-top:22px;width:100%}.account-card h3{font-size:23px;font-weight:500;margin-top:12px}.account-card .eyebrow{color:#8b907a;font-size:9px}.account-card .btn.secondary{box-shadow:none;border:1px solid #dcdccc;background:#fffdf5}.weight-overview{position:relative;background:radial-gradient(ellipse at 95% 0,#e8dbb95c,transparent 60%),#fffdf6}.weight-overview .eyebrow{font-family:'Onest',sans-serif;font-size:12px;letter-spacing:.02em;color:#858971}.weight-overview .weight-number{font-weight:500;font-size:62px;line-height:1.2;margin:16px 0 12px;letter-spacing:-.05em}.weight-overview .weight-number small{font-weight:400;font-size:22px;color:#8a8f79}.weight-context{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid #e7e5d7;font-size:12px;color:#7a826b}.weight-context span:last-child{color:#6c7b55}.weight-overview .empty{border:1px dashed #d9ddca;border-radius:20px;margin:23px 0 0;padding:30px 20px;background:linear-gradient(140deg,#f4f6e9,#f8f5e9);font-size:14px;line-height:1.7}.weight-history>.eyebrow{font-size:9px;color:#90947f}.weight-history h2{font-size:25px;margin:10px 0 23px}.weight-history .table th{font-family:'Onest',sans-serif;letter-spacing:0;font-size:12px;color:#858a76;font-weight:400}.weight-history .table td{padding-top:16px;padding-bottom:16px;font-size:14px}.weight-history .table td:last-child{font-weight:500}.photo-access{display:flex;align-items:center;gap:10px;color:#59664b;background:linear-gradient(110deg,#e8eddd,#f2f1e5);font-size:13px;line-height:1.6;border:1px solid #dfe4d1}.photo-access>span{color:#ad853c;font-size:22px}.photo-upload{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:25px 16px;border:1px dashed #a9b694;border-radius:22px;background:radial-gradient(ellipse at top,#e8ecd9,#f7f5eb 85%);margin:20px 0;cursor:pointer;text-align:center;overflow:hidden}.photo-upload-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:linear-gradient(140deg,#62744b,#38472b);box-shadow:0 7px 17px #45593425;color:#fff9e7;margin-bottom:4px}.photo-upload-icon .ico{width:26px;height:26px}.photo-upload strong{font-size:17px;font-weight:500;color:#36462d}.photo-upload>span:not(.photo-upload-icon){font-size:12px;color:#7b846b}.photo-upload input{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;cursor:pointer}.photo-upload:focus-within{outline:3px solid #b5904b;outline-offset:3px}.photo-result-card{display:flex;align-items:center;width:100%;padding:16px 18px;text-align:left;border-radius:17px;border:1px solid #dde1cd;background:#f1f2e5;color:#526345;font-family:inherit;font-size:14px;line-height:1.6;font-weight:500;cursor:pointer}.dialog-head h2{font-size:28px}.dialog-head button{background:#e9ecdf;border:1px solid #d9dfcc;color:#5b664c}.dialog-head button:focus:not(:focus-visible){outline:none}#photo-form .field{font-size:13px;line-height:1.5}#photo-form textarea{background:#fffdf7;border:1px solid #dfe1d2;font:inherit;padding:15px;border-radius:17px;resize:vertical}#photo-form>.fine{color:#7c826e;font-size:11px;line-height:1.7}#photo-form>.btn{margin-top:14px}.btn{font-weight:500}.meal-name{font-weight:500}
@media(max-width:650px){.heading-row h1{font-size:34px;font-weight:500}.heading-row p{font-size:14px;line-height:1.65}.heading-accent{margin-bottom:14px;width:28px;height:3px}.owner-card{padding:24px}.owner-card h2{font-size:27px}.access-card p{font-size:14px}.access-emblem{width:34px;height:34px;right:21px;top:19px;font-size:20px}.menu-book-head h2{font-size:25px}.profile-card{padding:24px 20px}.profile-card h2{font-size:28px}.profile-card .form-grid{gap:10px}.profile-card .form-grid .field{padding:12px;font-size:12px}.profile-card .form-grid input{font-size:23px}.dialog-head h2{font-size:25px;font-weight:500}.photo-upload{padding:24px 14px}.weight-overview .weight-number{font-size:58px}.weight-history h2{font-size:25px}.photo-result-card{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.heading-accent{animation:app-appear .4s ease both}.profile-card,.weight-overview,.owner-card{animation:app-appear .35s ease both}.photo-upload,.photo-result-card{transition:border-color .2s,box-shadow .2s,transform .2s}.photo-upload:hover{border-color:#7e9268;box-shadow:0 5px 18px #50653a12}.photo-result-card:hover{transform:translateY(-1px);box-shadow:0 5px 12px #50653a0f}}
/* Framed page introductions and optional body measurements. */
.page-hero{position:relative;isolation:isolate;overflow:hidden;padding:26px 28px;border:1px solid #fffdf5;border-radius:28px;background:radial-gradient(ellipse at 90% 0,#dce4cd88,transparent 65%),linear-gradient(125deg,#fffdf7,#f1eedf);box-shadow:0 12px 30px -18px #42513255,inset 0 0 0 4px #fffdf54d;gap:24px;margin-bottom:26px}.page-hero:after{content:'';position:absolute;z-index:-1;right:-46px;top:-65px;width:190px;height:190px;border:1px solid #c7b27f35;box-shadow:0 0 0 22px #d4c69f0c,0 0 0 44px #d4c69f09;border-radius:50%;pointer-events:none}.hero-copy{min-width:0}.hero-emblem{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border:1px solid #dfcd9e;border-radius:14px;background:linear-gradient(135deg,#f4e7c5,#dcc187);color:#64532f;box-shadow:0 5px 12px #ae8a4320}.hero-emblem .ico{width:23px;height:23px}.page-hero h1{font-size:clamp(30px,3.5vw,42px)}.page-hero p{max-width:480px;margin-bottom:0}.page-hero>.btn{flex-shrink:0}.page-hero>.pill{position:relative;background:#fffdf6b8;border-color:#e4dcc4}.measurements-card{margin-top:24px;background:radial-gradient(ellipse at top right,#e4e9d3a6,transparent 65%),#fffdf6}.measurement-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.measurement-head h2{margin:10px 0 0;font-size:28px}.measurement-head .eyebrow{color:#8b805c;font-size:10px}.measure-symbol{width:46px;height:46px;display:grid;place-items:center;border:1px solid #d7dfc8;border-radius:16px;background:#e9eddf;color:#647750}.measurements-card>p{font-size:14px;line-height:1.7;margin:16px 0 22px;max-width:520px}.measurement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.measurement-tile{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px 14px;background:linear-gradient(135deg,#f4f5e9,#ebeedd);border:1px solid #dce1cc;border-radius:20px}.measurement-tile>span:first-child{font-size:13px;color:#697456}.measurement-tile strong{font-size:30px;font-weight:500;letter-spacing:-.04em;color:#34432d}.measurement-tile strong small{font-size:13px;font-weight:400;letter-spacing:0}.measurement-tile>small{font-size:11px;color:#858c75}.measure-delta{font-size:11px;line-height:1.6;color:#6a745a;border-top:1px solid #dce1cc;padding-top:9px}.measurements-card>.btn{max-width:440px}.measurement-history{border-top:1px solid #dfe3d1;margin-top:25px}.measurement-history>summary{display:flex;justify-content:space-between;cursor:pointer;padding:20px 0;font-size:15px;font-weight:500;list-style:none}.measurement-history>summary::-webkit-details-marker{display:none}.measurement-row{width:100%;display:grid;grid-template-columns:70px 1fr;gap:18px;padding:16px 0;background:none;border:0;border-top:1px solid #e7e8dc;text-align:left;font:inherit;font-size:13px;line-height:1.7;color:#414c36;cursor:pointer}.measurement-row small{display:block;font-size:11px;color:#889078;margin-top:5px}.measurement-row:hover{background:#e9eddf55}.measure-form-fields{display:grid;gap:8px;margin:20px 0}.measure-form-fields .field{padding:14px;background:#eef0e4;border:1px solid #dfe4d2;border-radius:18px;font-size:15px}.measure-form-fields .field small{display:block;font-size:11px;line-height:1.5;font-weight:400;color:#818b72;margin:5px 0 10px}.measure-form-fields input{background:#fffdf6!important;font-size:18px!important}#measurement-form>.fine{font-size:12px;line-height:1.7;color:#80886f;margin:18px 0}#measurement-form .btn{margin-top:8px}.measurement-history summary:focus-visible,.measurement-row:focus-visible{outline:3px solid #b89145;outline-offset:3px}
@media(max-width:650px){.page-hero{padding:23px 21px;border-radius:25px;gap:21px;margin-bottom:24px}.page-hero h1{font-size:31px}.page-hero p{font-size:13px;line-height:1.65}.hero-emblem{width:37px;height:37px;border-radius:12px;margin-bottom:16px}.page-hero>.btn{margin-top:0;width:100%}.measurement-grid{gap:7px}.measurement-tile{padding:15px 9px;border-radius:16px}.measurement-tile strong{font-size:24px}.measurement-tile>span:first-child{font-size:11px}.measurement-tile>small{font-size:10px}.measure-delta{font-size:10px}.measurements-card{padding:23px 18px}.measurement-head h2{font-size:26px}.measurement-head .eyebrow{font-size:9px}.measurements-card>p{font-size:13px}.measurement-row{gap:10px;grid-template-columns:58px 1fr;font-size:12px}}
@media(prefers-reduced-motion:no-preference){.page-hero{animation:app-appear .3s ease both}.measurement-tile{transition:box-shadow .2s,transform .2s}.measurement-tile:hover{transform:translateY(-2px);box-shadow:0 8px 16px #4e633514}}
.hero-actions{display:flex;flex-direction:column;gap:10px;min-width:190px}.hero-actions .btn{white-space:nowrap}.hero-actions .secondary{background:#fffdf5a6;border:1px solid #dcdcc8;box-shadow:none}.measure-form-fields .field{margin-bottom:0}.measure-form-fields input{min-height:44px;padding:11px 13px}#measurement-form .measure-form-fields{gap:12px}@media(max-width:650px){.hero-actions{width:100%}.hero-actions .btn{min-height:44px}.measure-form-fields .field{padding:12px}.measure-form-fields .field small{margin:3px 0 7px}}

.dish-tastes{padding:20px 0;margin:16px 0;border-top:1px solid #d9ddcf;border-bottom:1px solid #d9ddcf}.dish-tastes>span{font-weight:600;font-size:15px}.dish-tastes>div{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.dish-tastes button{font:500 12px/1.4 Onest,sans-serif;border:1px solid #cdd3bf;border-radius:14px;background:#fffdf6;color:#435135;padding:11px 13px;cursor:pointer;transition:background .2s,box-shadow .2s}.dish-tastes button[aria-pressed=true]{background:#425233;color:#fffdf4;box-shadow:0 5px 12px #33432520}.dish-tastes button:disabled{opacity:.6}.dish-tastes small{display:block;font-size:11px;line-height:1.5;color:#7b806d}
