@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
:root{--bg:#f5f7f3;--ink:#17251f;--text:#657069;--paper:#fff;--green:#38685a;--dark:#244a40;--lime:#b9df55;--lime-soft:#eff7da;--border:#e1e7df;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Montserrat,Arial,sans-serif;min-width:320px;font-size:16px}button,input{font:inherit}button,a{cursor:pointer}.topbar{height:76px;padding:0 clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:1.28rem;font-weight:700;letter-spacing:-.04em}.brand strong{color:#83b02d}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--green);color:var(--lime);font-size:1.6rem;box-shadow:0 8px 20px rgba(45,87,75,.2)}.topbar form{margin:0}.profile{display:flex;gap:10px;align-items:center;border:0;background:transparent;text-align:left;color:var(--ink)}.profile>b{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--lime-soft);color:var(--dark)}.profile>span{display:grid;font-size:.82rem;font-weight:600}.profile small{font-size:.65rem;color:var(--text);font-weight:400}.app-nav{height:58px;padding:0 clamp(16px,4vw,56px);display:flex;justify-content:center;gap:clamp(5px,3vw,40px);background:var(--paper);border-bottom:1px solid var(--border);position:sticky;top:76px;z-index:25}.app-nav a{width:104px;height:58px;display:flex;align-items:center;justify-content:center;gap:7px;color:#7b857f;text-decoration:none;font-size:.78rem;font-weight:600;position:relative}.app-nav a.active{color:var(--dark)}.app-nav a.active:after{content:"";height:3px;position:absolute;inset:auto 0 0;background:var(--lime);border-radius:3px 3px 0 0}.content{width:min(1180px,calc(100% - 40px));margin:auto;padding:34px 0 72px}.welcome,.page-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.welcome p,.page-intro p,.section-title p,.hero-card p,.insight>p{margin:0 0 7px;color:#78923a;font-size:.7rem;font-weight:700;letter-spacing:.13em}.welcome h1,.page-intro h1{margin:0;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.12;letter-spacing:-.055em}.welcome div>span,.page-intro div>span{display:block;margin-top:9px;color:var(--text);font-size:.93rem;line-height:1.65;max-width:660px}.welcome em{padding:9px 14px;border-radius:99px;background:var(--lime-soft);color:var(--dark);font-size:.73rem;font-weight:600;font-style:normal}.primary{min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:13px;background:var(--green);color:#fff;text-decoration:none;font-size:.78rem;font-weight:600}.primary:hover{background:var(--dark)}.hero-card{padding:clamp(26px,5vw,52px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;border-radius:28px;background:linear-gradient(125deg,var(--dark),var(--green) 62%,#477b68);color:#fff;box-shadow:0 22px 50px rgba(33,74,62,.16)}.hero-card h2{margin:2px 0 0;font-size:clamp(3.4rem,8vw,5.7rem);line-height:1;letter-spacing:-.08em}.hero-card h2 small{font-size:1.05rem;opacity:.7}.hero-card>div>span{font-size:.82rem;opacity:.74}.hero-card section{display:flex;gap:clamp(24px,5vw,56px);margin-top:32px}.hero-card section b{display:grid;gap:3px;font-size:1rem}.hero-card section small{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-weight:400}.hero-card aside{display:grid;justify-items:center;gap:8px}.hero-card aside>small{font-size:.66rem;opacity:.7}.ring{--progress:0;width:126px;height:126px;padding:12px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--lime) calc(var(--progress)*3.6deg),rgba(255,255,255,.16) 0)}.ring>span{width:102px;height:102px;border-radius:50%;display:grid;place-content:center;justify-items:center;background:#fff;color:var(--ink)}.ring b{font-size:1.4rem}.ring small{font-size:.65rem;color:var(--text)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.metrics.three{grid-template-columns:repeat(3,1fr)}.metrics article,.panel,.nutrition-summary,.scoreboard,.settings-form{padding:20px;background:var(--paper);border:1px solid var(--border);border-radius:21px;box-shadow:0 8px 28px rgba(27,52,43,.04)}.metrics article{min-height:152px;display:grid;align-content:start}.metrics i{width:34px;height:34px;margin-bottom:18px;border-radius:11px;display:grid;place-items:center;background:var(--lime-soft);color:var(--green);font-style:normal}.metrics span{font-size:.72rem;color:var(--text);font-weight:600}.metrics b{margin-top:4px;font-size:1.2rem;letter-spacing:-.04em}.metrics small{margin-top:5px;font-size:.65rem;color:#8a938d}.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.panel{padding:25px}.section-title{margin-bottom:20px}.section-title h2{margin:0;font-size:1.15rem;letter-spacing:-.04em}.priority{width:100%;min-height:66px;padding:8px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:0;border-top:1px solid #eef1ed;background:transparent;color:var(--ink);text-align:left;text-decoration:none}.priority i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--lime-soft);color:var(--green);font-style:normal}.priority span{display:grid;gap:3px}.priority b{font-size:.82rem}.priority small{font-size:.68rem;color:var(--text)}.priority strong{color:#a8b1ab}.insight{display:block;background:#edf4f1}.insight h2{font-size:1.2rem;line-height:1.35}.insight span{font-size:.76rem;line-height:1.7;color:var(--text)}.trend{margin:18px 0}.trend-bars{height:260px;display:flex;align-items:flex-end;gap:10px;padding-top:20px}.trend-bars>div{height:100%;flex:1;display:grid;grid-template-rows:1fr auto;align-items:end;gap:8px;text-align:center}.trend-bars span{width:100%;min-width:8px;display:block;border-radius:8px 8px 3px 3px;background:linear-gradient(#b9df55,#38685a)}.trend-bars small{font-size:.55rem;color:var(--text)}.history{margin-top:18px}.history>div:not(.section-title){min-height:66px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border-top:1px solid #edf0ec}.history i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--lime-soft);color:var(--green);font-style:normal}.history span{display:grid;gap:3px}.history b{font-size:.82rem}.history small,.history time{font-size:.68rem;color:var(--text)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:22px}.cards button{min-height:170px;padding:22px;display:grid;align-content:start;gap:8px;border:1px solid var(--border);border-radius:21px;background:var(--paper);color:var(--ink);text-align:left;transition:.2s}.cards button:hover{transform:translateY(-2px);border-color:#b7c7bd;box-shadow:0 14px 34px rgba(30,57,48,.08)}.cards i{width:42px;height:42px;margin-bottom:7px;display:grid;place-items:center;border-radius:14px;background:var(--green);color:var(--lime);font-style:normal}.cards b{font-size:.9rem}.cards span{min-height:34px;font-size:.7rem;line-height:1.55;color:var(--text)}.cards small{margin-top:7px;color:#75913c;font-size:.68rem;font-weight:600}.meals i{background:var(--lime-soft);color:var(--green)}.nutrition-summary{padding:26px;display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-bottom:28px}.nutrition-summary>div{display:grid;gap:9px}.nutrition-summary span{font-size:.72rem;color:var(--text)}.nutrition-summary b{font-size:1.7rem;letter-spacing:-.05em}.nutrition-summary b small{font-size:.72rem;color:var(--text);font-weight:500}.progress{height:8px;border-radius:9px;background:#eef1ec;overflow:hidden}.progress span{height:100%;display:block;border-radius:inherit;background:var(--green)}.scoreboard{padding:0;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:28px}.scoreboard div{padding:26px;display:grid;gap:7px;border-left:1px solid var(--border)}.scoreboard div:first-child{border-left:0}.scoreboard span{font-size:.72rem;color:var(--text)}.scoreboard b{font-size:1.15rem}.scoreboard small{font-size:.68rem;color:#77913f}.achievements{display:grid;grid-template-columns:1fr 1fr;gap:14px}.achievements article{padding:19px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:1px solid var(--border);border-radius:18px;color:#a1aaa4}.achievements article.earned{background:#fff;color:#78923a}.achievements span{display:grid;gap:4px}.achievements b{font-size:.8rem;color:var(--ink)}.achievements small,.achievements em{font-size:.65rem;font-style:normal}.settings-form{max-width:760px;margin:auto;padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-form label,dialog label,.login-card label{display:grid;gap:7px;font-size:.72rem;font-weight:600}.settings-form input,dialog input,.login-card input{height:44px;padding:0 13px;border:1px solid #dce4db;border-radius:12px;background:#fbfcfa;color:var(--ink);outline:none}.settings-form input:focus,dialog input:focus,.login-card input:focus{border-color:#82a99c;box-shadow:0 0 0 3px rgba(130,169,156,.18)}.settings-form .primary{margin-top:18px;width:100%}.settings-form>small{display:block;margin-top:10px;text-align:center;font-size:.65rem;color:var(--text)}.medical{max-width:760px;margin:18px auto 0;text-align:center;font-size:.67rem;line-height:1.6;color:#7b857f}.empty-setup{min-height:65vh;display:grid;place-content:center;justify-items:center;text-align:center}.empty-setup>span{width:70px;height:70px;display:grid;place-items:center;border-radius:24px;background:var(--green);color:var(--lime);font-size:2rem}.empty-setup h1{margin:22px 0 8px;font-size:2.2rem;letter-spacing:-.05em}.empty-setup p{max-width:560px;margin:0 0 20px;color:var(--text);line-height:1.7}.empty{padding:70px 20px;text-align:center;color:var(--text);font-size:.8rem}.toast{position:fixed;top:92px;right:22px;z-index:60;max-width:360px;padding:13px 18px;border:1px solid #dce7d4;border-radius:14px;background:#f5faea;color:var(--dark);box-shadow:0 14px 30px rgba(29,60,50,.13);font-size:.74rem}.toast.error,.flash.error{background:#fff2f2;color:#8a3030;border-color:#efd5d5}dialog{width:min(520px,calc(100% - 28px));max-height:calc(100vh - 30px);padding:0;border:1px solid var(--border);border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 28px 80px rgba(20,46,37,.25)}dialog::backdrop{background:rgba(16,31,26,.48);backdrop-filter:blur(3px)}dialog form{padding:28px;display:grid;gap:14px;position:relative}dialog h2{margin:0;font-size:1.3rem;letter-spacing:-.04em}dialog p{margin:-6px 0 5px;color:var(--text);font-size:.72rem;line-height:1.6}dialog .close{position:absolute;right:18px;top:15px;border:0;background:transparent;color:var(--text);font-size:1.5rem}dialog .inline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.login-shell{min-height:100vh;padding:6vw;display:grid;grid-template-columns:1fr 430px;align-items:center;gap:80px;background:radial-gradient(circle at 78% 20%,rgba(185,223,85,.25),transparent 24%)}.login-copy>p{margin:80px 0 10px;color:#78923a;font-size:.7rem;letter-spacing:.13em;font-weight:700}.login-copy h1{margin:0;font-size:clamp(3rem,7vw,6rem);line-height:.94;letter-spacing:-.075em}.login-copy>span{display:block;max-width:560px;margin-top:24px;color:var(--text);line-height:1.75}.login-card{padding:34px;display:grid;gap:18px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(30,58,48,.08)}.login-card h2{margin:0;font-size:1.35rem}.login-card>p{margin:-10px 0 4px;color:var(--text);font-size:.75rem}.login-card .primary{width:100%}.login-card>small{text-align:center;color:var(--text);font-size:.62rem}.flash{padding:12px 14px;border:1px solid #dce7d4;border-radius:12px;background:#f5faea;color:var(--dark);font-size:.7rem}
.hero-card{position:relative;overflow:hidden}
@media(max-width:850px){.metrics{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr;gap:40px}.login-copy>p{margin-top:60px}.login-card{max-width:560px}}
@media(max-width:620px){.topbar{height:66px;padding:0 18px;position:relative}.brand-mark{width:38px;height:38px}.profile span{display:none}.app-nav{height:68px;padding:3px 8px max(3px,env(safe-area-inset-bottom));position:fixed;top:auto;bottom:0;border-top:1px solid var(--border);border-bottom:0;z-index:50}.app-nav a{height:60px;min-width:0;flex:1;flex-direction:column;gap:2px;font-size:.7rem}.app-nav a small{font-size:.52rem}.app-nav a.active:after{inset:-3px 4px auto}.content{width:calc(100% - 28px);padding:24px 0 calc(92px + env(safe-area-inset-bottom))}.welcome,.page-intro{display:grid;gap:18px}.welcome em{display:none}.page-intro .primary{width:100%}.hero-card{grid-template-columns:1fr;padding:28px}.hero-card aside{position:absolute;right:35px}.ring{width:84px;height:84px;padding:8px}.ring>span{width:68px;height:68px}.ring b{font-size:1rem}.hero-card aside>small{display:none}.hero-card h2{font-size:3.6rem}.hero-card section{gap:24px}.metrics,.metrics.three{grid-template-columns:1fr 1fr;gap:10px}.metrics article{min-height:142px;padding:16px}.two-col .insight{display:none}.cards,.achievements{grid-template-columns:1fr}.cards button{min-height:144px}.nutrition-summary{grid-template-columns:1fr;gap:25px;padding:22px}.scoreboard{grid-template-columns:1fr}.scoreboard div{border-left:0;border-top:1px solid var(--border);padding:19px 22px}.scoreboard div:first-child{border-top:0}.form-grid{grid-template-columns:1fr}.trend-bars{height:220px;gap:6px}.login-shell{padding:24px 18px}.login-copy h1{font-size:3rem}.login-copy>p{margin-top:55px}.login-card{padding:24px}dialog .inline{grid-template-columns:1fr 1fr}dialog .inline label:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}
