@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";.account-page .session-list{border-top:1px solid var(--line);text-align:left}.account-page .session-row{display:flex;align-items:center;gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.account-page .session-row span{display:grid;gap:.2rem;min-width:0;flex:1}.account-page .session-row strong{overflow-wrap:anywhere}.account-page .session-row small{color:var(--muted);font-size:.75rem}.account-page .session-row .session-revoke{width:auto;min-height:38px;margin:0;padding:.45rem .65rem;font-size:.8rem;background:#8d2e2e}:root{font-family:DM Sans,system-ui,sans-serif;color:#14201b;background:#f5f1e8;font-synthesis:none;--ink:#14201b;--deep:#111c18;--gold:#d7ad4e;--cream:#f5f1e8;--green:#19734b;--muted:#68736d;--line:#ded9cd}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100svh}button,input{font:inherit}button{min-height:48px;border:0;background:var(--deep);color:#fff;padding:.8rem 1.1rem;font-weight:700;border-radius:12px}h1,h2,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.045em}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:800;color:#8c691d;margin-bottom:.45rem}.member-shell{width:min(520px,100%);min-height:100svh;margin:auto;background:var(--cream);padding:env(safe-area-inset-top) 1rem calc(82px + env(safe-area-inset-bottom))}.member-shell>header{height:58px;display:flex;align-items:center}.member-shell>header img{width:175px;height:58px;object-fit:contain;object-position:left center}.member-shell>nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translate(-50%);width:min(520px,100%);height:calc(68px + env(safe-area-inset-bottom));padding:6px 16px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);background:#111c18fa;border-top:1px solid #35423c}.member-shell>nav a{min-height:56px;display:grid;place-items:center;align-content:center;gap:2px;color:#9ba8a1;text-decoration:none;font-size:.7rem;font-weight:700}.member-shell>nav a span{font-size:1.25rem;line-height:1}.member-shell>nav a.active{color:var(--gold)}.greeting{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0}.greeting p{font-size:1.15rem;margin-bottom:.15rem;color:var(--muted)}.greeting h1{font-size:1.85rem;margin:0}.status-dot{width:16px;height:16px;border-radius:50%;background:#b34b43;box-shadow:0 0 0 7px #f0dcd8}.status-dot.active{background:#1f8b59;box-shadow:0 0 0 7px #d8eadd}.location{background:var(--deep);color:#fff;padding:.72rem 1rem;display:flex;justify-content:space-between;align-items:center;border-radius:14px 14px 0 0}.location span,.qr-card>p,.week-card p{font-size:.66rem;letter-spacing:.14em;font-weight:800;margin:0}.location strong{font-size:1rem}.qr-card{background:#fff;text-align:center;padding:.75rem 1rem 1rem;border:1px solid var(--line);border-top:0;border-radius:0 0 22px 22px;box-shadow:0 16px 40px #1f272314}.qr-card>p{color:var(--muted);margin-bottom:.35rem}.qr-wrap{width:min(60vw,270px);aspect-ratio:1;margin:auto;padding:.25rem;background:#fff}.qr-wrap img{display:block;width:100%;height:100%}.qr-card small{color:var(--muted)}.week-card{margin-top:.75rem;background:#e7e0d1;border-radius:18px;padding:.9rem 1rem}.week-card>div{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.15rem}.week-card p{grid-column:1/-1;color:#745c28}.week-card strong{font-family:Manrope;font-size:1.1rem}.week-card span{color:var(--muted);font-size:.9rem}.segments{display:flex;gap:.35rem;margin-top:.7rem}.segments span{height:8px;flex:1;border-radius:9px;background:#c9c1b1}.segments span.filled{background:var(--green)}.today{display:block;color:var(--green);font-weight:700;margin-top:.6rem}.nutrition-card{margin-top:.75rem;padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;background:#fff;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:18px}.nutrition-card span{display:grid}.nutrition-card small{color:#8c691d;font-weight:800;letter-spacing:.12em}.nutrition-card em{font-style:normal;background:#f1e7cb;color:#73571d;padding:.3rem .55rem;border-radius:20px;font-size:.72rem;font-weight:700}.member-warning,.network-state,.coming-soon,.account-page{padding:2rem 1.25rem;background:#fff;border-radius:20px;text-align:center}.network-state{margin-top:3rem}.skeleton div{height:80px;background:linear-gradient(90deg,#ece7dc,#f8f5ee,#ece7dc);background-size:200%;border-radius:18px;margin:.75rem 0;animation:pulse 1.4s infinite}.skeleton div:nth-child(2){height:330px}@keyframes pulse{to{background-position:-200%}}.auth-page{min-height:100svh;width:min(520px,100%);margin:auto;padding:max(2rem,env(safe-area-inset-top)) 1.25rem max(1.5rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;background:var(--cream)}.auth-page>img,.splash img{width:min(310px,80%);margin:0 auto 2rem}.auth-page section{background:#fff;padding:1.4rem;border-radius:22px;box-shadow:0 18px 50px #1e231f14}.auth-page h1{font-size:2.2rem;margin-bottom:.5rem}.auth-page form{display:grid;gap:.9rem}.auth-page label{display:grid;gap:.35rem;font-weight:700}.auth-page input{min-height:48px;border:1px solid #cfc9bd;border-radius:10px;padding:.75rem;background:#fff}.auth-page>small{text-align:center;color:var(--muted);margin-top:2rem}.auth-page.compact{justify-content:center}.error{background:#f9e5e2;color:#8d2e2e;padding:.7rem;border-radius:10px;margin-bottom:.8rem}.splash{min-height:100svh;display:grid;place-items:center;align-content:center;background:var(--cream)}.coming-soon,.account-page{margin-top:2rem}.coming-soon>span{font-size:4rem;color:var(--gold)}.coming-soon a{color:var(--green);font-weight:700}.account-page dl{display:grid;text-align:left}.account-page dl div{padding:1rem 0;border-top:1px solid var(--line)}.account-page dt{color:var(--muted);font-size:.75rem}.account-page dd{margin:.25rem 0 0;font-weight:700}.account-page button{width:100%;margin-top:1rem}.install-help{color:var(--muted);font-size:.85rem;margin-top:1.5rem}@media(min-width:700px){body{background:#dfd9cc}.member-shell,.auth-page{box-shadow:0 0 60px #1e231f1f}}@media(orientation:landscape)and (max-height:520px){.member-shell{width:min(760px,100%)}.home{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.greeting,.location{grid-column:1}.qr-card{grid-column:2;grid-row:1/4}.week-card,.nutrition-card{grid-column:1;margin-top:0}.qr-wrap{width:min(38vh,240px)}.member-shell>nav{width:100%;height:calc(58px + env(safe-area-inset-bottom))}}.pwa-update{position:fixed;z-index:100;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:.75rem;width:min(calc(100% - 2rem),440px);padding:.7rem .8rem .7rem 1rem;background:#111c18;color:#fff;border:1px solid #35423c;border-radius:14px;box-shadow:0 12px 30px #00000042;font-size:.9rem}.pwa-update span{flex:1}.pwa-update button{min-height:40px;padding:.5rem .75rem;background:#d7ad4e;color:#111c18;border:0;border-radius:9px;white-space:nowrap}@media(min-width:700px){.pwa-update{bottom:1.5rem}}.nutrition-state{margin-top:1.5rem;padding:2rem 1.25rem;background:#fff;border-radius:20px;text-align:center}.nutrition-card em{font-size:0}.nutrition-card em:after{content:"Open";font-size:.72rem}.nutrition-state>span{font-size:3rem;color:var(--gold)}.nutrition-state button{width:100%}.nutrition-loading div{height:100px;margin:.75rem 0;border-radius:18px;background:linear-gradient(90deg,#ece7dc,#faf8f2,#ece7dc);background-size:200%;animation:pulse 1.4s infinite}.nutrition-day>header{display:flex;align-items:end;justify-content:space-between;padding:.8rem .15rem}.nutrition-day>header .eyebrow{position:absolute;align-self:flex-start}.nutrition-day>header h1{font-size:2rem;margin:.8rem 0 0}.nutrition-day>header>span{color:var(--muted);font-size:.9rem}.nutrition-daily-summary{display:grid;background:var(--deep);color:#fff;border-radius:20px;padding:1.15rem 1.2rem;margin-bottom:.8rem}.nutrition-daily-summary>small{color:var(--gold);font-weight:800;letter-spacing:.12em}.nutrition-daily-summary>strong{font-family:Manrope;font-size:1.8rem;margin-top:.2rem}.nutrition-daily-summary>span{color:#c5cdc9}.meal-progress{height:8px;margin:.9rem 0 .45rem;background:#3b4842;border-radius:10px;overflow:hidden}.meal-progress i{display:block;height:100%;background:var(--gold);border-radius:10px;transition:width .2s}.nutrition-daily-summary>b{font-size:.78rem;color:#dce2df}.nutrition-inline-error{background:#f9e5e2;color:#8d2e2e;padding:.7rem;border-radius:10px;margin-bottom:.65rem}.member-stages{display:grid;gap:.65rem}.member-stages details{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.member-stages details.completed{border-color:#9cc9ad;background:#f5fbf7}.member-stages summary{list-style:none;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.55rem;padding:1rem;cursor:pointer}.member-stages summary::-webkit-details-marker{display:none}.member-stages summary>span:nth-child(2){display:grid;gap:.2rem}.member-stages summary small{color:var(--muted);font-size:.78rem}.member-stages summary>i{font-style:normal;color:var(--muted);transition:transform .15s}.member-stages details[open] summary>i{transform:rotate(180deg)}.meal-check{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c7cec9;border-radius:50%;color:var(--green);font-weight:800}.completed .meal-check{background:var(--green);color:#fff;border-color:var(--green)}.meal-detail{border-top:1px solid var(--line);padding:0 1rem 1rem}.stage-member-note{color:#66501e;background:#f5ecd7;padding:.65rem;margin:.75rem 0}.meal-detail article{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #ebe8df}.meal-detail article>div{display:grid;gap:.15rem}.meal-detail article>div:last-child{text-align:right}.meal-detail article span,.meal-detail article small{color:var(--muted);font-size:.78rem}.meal-detail footer{display:flex;justify-content:space-between;align-items:end;padding:1rem 0}.meal-detail footer span{display:grid}.meal-detail footer small{color:#8c691d;font-weight:800;letter-spacing:.1em}.complete-meal,.undo-meal{width:100%}.complete-meal{background:var(--green)}.undo-meal{background:#e5e9e5;color:var(--ink)}@media(max-width:360px){.member-stages summary{padding:.85rem .75rem;grid-template-columns:30px 1fr auto}.meal-detail{padding-inline:.75rem}}
