@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#25322c;background:#f6f7f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#203a32;color:#d7e2db;padding:32px 22px;display:flex;flex-direction:column;z-index:4}.logo{font:800 21px Manrope;display:flex;gap:9px;align-items:center;color:#fff;margin:0 8px 46px}.logo span{width:34px;height:34px;background:#e9b94f;color:#203a32;border-radius:11px;display:grid;place-items:center}nav{display:grid;gap:7px}aside button{border:0;background:none;color:#aec0b8;padding:12px 13px;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:600}aside button:hover,aside button.active{background:#315047;color:#fff}.side-bottom{margin-top:auto;display:grid;gap:5px}.mini-goal{display:flex;gap:11px;padding:14px 10px;border-bottom:1px solid #456057;margin-bottom:8px}.mini-goal svg{color:#ecc15d}.mini-goal div{display:grid}.mini-goal b{font-size:13px;color:#fff}.mini-goal span{font-size:11px;color:#a9bbb4;margin-top:3px}main{grid-column:2;padding:40px clamp(28px,5vw,76px) 60px;max-width:1500px;width:100%}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#84928c;margin:0 0 7px}.eyebrow.dark{color:#b9cac2}h1,h2,h3,p{margin-top:0}h1{font:800 31px Manrope;margin-bottom:8px;color:#20352d}.subtitle{color:#77837e;font-size:14px}.avatar{border:0;width:43px;height:43px;border-radius:50%;color:#fff;background:#d98a67;font-weight:700}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:19px}.cal-card,.scan-card,.panel,.metrics article{border-radius:18px;background:#fff;box-shadow:0 4px 20px #243a3010}.cal-card{background:#27453b;color:#fff;min-height:242px;padding:28px 30px;display:grid;grid-template-columns:1fr 150px;align-items:start}.cal-card h2,.scan-card h2,.panel h2{font:700 20px Manrope;margin:0 0 7px}.cal-card p{font-size:13px;color:#bed0c8}.ring{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#e8ba55 0,#e8ba55 77%,#426057 77%);position:relative}.ring:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;background:#27453b}.ring div{z-index:1;text-align:center;display:grid}.ring strong{font:800 25px Manrope}.ring span{font-size:10px;color:#b9cac3}.cal-stats{grid-column:1/-1;border-top:1px solid #466158;display:grid;grid-template-columns:repeat(3,1fr);padding-top:18px}.cal-stats span{font-size:11px;color:#b7c8c1;display:grid}.cal-stats b{font-size:16px;color:#fff;margin-bottom:2px}.scan-card{padding:26px 30px;display:grid;grid-template-columns:145px 1fr;align-items:center;background:#f1e6cd}.scan-orbit{width:118px;height:118px;border:1px dashed #98ac81;border-radius:50%;display:grid;place-items:center;position:relative}.scan-orbit svg{width:52px;height:52px;color:#315247}.leaf{position:absolute;color:#6ba878}.l1{right:5px;top:12px}.l2{left:1px;bottom:19px;color:#e0a34b}.ai-pill{display:inline-flex;gap:5px;align-items:center;font-size:9px;font-weight:800;letter-spacing:1.1px;background:#fff9e9;padding:6px 9px;border-radius:20px;color:#b27824}.scan-card h2{font-size:22px;margin-top:11px}.scan-card p{font-size:12px;line-height:1.5;color:#65736d}.scan-card button,.primary,.empty button{border:0;background:#df8c67;color:#fff;padding:11px 16px;border-radius:9px;font-weight:700;display:flex;gap:9px;align-items:center;justify-content:center}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:19px 0}.metrics article{padding:20px 22px}.metric-head{display:flex;justify-content:space-between;align-items:center}.icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center}.icon svg{width:17px}.green{background:#e5f2e8;color:#4d9564}.coral{background:#fbe8df;color:#d97f5d}.blue{background:#e1eeef;color:#538991}.trend,.down{font-size:10px;color:#728079}.down{color:#57936a;display:flex;gap:3px}.metrics p{font-size:12px;color:#7b8983;margin:13px 0 3px}.metrics h3{font:700 22px Manrope;margin-bottom:12px}.metrics h3 small{font:500 11px DM Sans;color:#8c9893}.progress{height:5px;background:#edf0ed;border-radius:5px}.progress i{display:block;height:100%;background:#65a879;border-radius:5px}.progress.coral i{background:#e08e6b}.text-btn{border:0;background:none;padding:0;color:#d67856;font-size:11px;font-weight:700;display:flex;align-items:center;gap:5px}.lower-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:19px}.panel{padding:24px}.panel-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.panel-title h2{margin:0}.panel-title button{border:0;background:none;color:#7b8983;font-size:11px;display:flex;align-items:center}.panel-title button svg{width:14px}.meal{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0ed}.meal-img{width:46px;height:42px;border-radius:10px;display:grid;place-items:center;font-size:22px}.meal div{display:grid}.meal b{font-size:13px}.meal small{font-size:10px;color:#8b9792;margin-top:4px}.meal>strong{font-size:13px}.meal>strong small{font-weight:400}.add-meal{border:0;background:none;color:#d77956;display:flex;gap:7px;align-items:center;font-size:11px;font-weight:700;margin-top:15px}.add-meal svg{width:14px}.score{background:#e7f3e9;color:#43835a;padding:6px 10px;border-radius:14px;font-size:10px;font-weight:700}.bars{height:150px;display:flex;justify-content:space-around;align-items:end;border-bottom:1px solid #e5e9e6;padding:0 8px 8px}.bars div{height:100%;flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:5px}.bars i{display:block;width:16px;background:#9bb8aa;border-radius:8px}.bars i.today{background:#e1a74d}.bars b,.bars small{font-size:9px;color:#7e8b85}.impact-copy{display:flex;gap:12px;margin-top:18px;background:#f6f4eb;padding:13px;border-radius:10px}.impact-copy>span{color:#d39b3c}.impact-copy svg{width:17px}.impact-copy p{display:grid;margin:0}.impact-copy b{font-size:11px}.impact-copy small{font-size:10px;color:#76827d;line-height:1.4;margin-top:4px}.empty{background:#fff;border-radius:18px;text-align:center;padding:100px 25px;box-shadow:0 4px 20px #243a3010}.empty>span{width:60px;height:60px;border-radius:18px;background:#e7f1e9;color:#4f8d64;display:grid;place-items:center;margin:auto}.empty h2{margin:20px 0 8px}.empty p{color:#77837e}.empty button{margin:20px auto}.backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;background:#17251f99;display:grid;place-items:center;padding:20px}.modal{width:min(480px,95vw);background:#fff;border-radius:20px;padding:31px;position:relative;animation:pop .18s ease}.close{position:absolute;right:17px;top:13px;border:0;background:none;font-size:27px;color:#718079}.modal h2{font:700 24px Manrope}.dropzone{height:225px;border:1.5px dashed #9fb2a9;background:#f5f7f4;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;color:#6b7b74;cursor:pointer}.dropzone svg{width:40px;height:40px;color:#d98562}.dropzone b{font-size:13px}.dropzone span,.hint{font-size:11px;color:#8b9792}.dropzone input{display:none}.dropzone img{width:100%;height:100%;object-fit:cover}.primary{width:100%;margin-top:18px}.primary:disabled{opacity:.5}.result{text-align:center;background:#f5f7f4;border-radius:14px;padding:19px}.result>div{font-size:50px}.result h3{margin:7px 0 4px}.result p{font-size:11px;color:#76837d}.result>div:last-child{font-size:initial;display:grid}.result b{font-size:22px}.result b small{font-size:11px}.result span{font-size:11px;color:#76837d;margin-top:5px}.weight-input{display:flex;border:1px solid #dce3de;border-radius:12px;align-items:center;padding:4px 15px}.weight-input input{border:0;outline:0;font-size:30px;font-weight:700;width:100%}.form-grid{display:grid;gap:13px}.form-grid label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#64726c}.form-grid input,.form-grid select{border:1px solid #dce3de;border-radius:8px;padding:10px;outline:none}.toast{position:fixed;z-index:20;right:25px;bottom:25px;background:#29483e;color:#fff;padding:13px 18px;border-radius:10px;font-size:12px;box-shadow:0 8px 30px #0003}.mobile-scan{display:none}@keyframes pop{0%{transform:scale(.96);opacity:.5}}@media (max-width:900px){.app-shell{grid-template-columns:76px 1fr}aside{width:76px;padding:27px 12px}.logo{font-size:0;margin-left:8px}.logo span{font-size:initial}aside button{font-size:0;justify-content:center}.mini-goal{display:none}main{grid-column:2;padding:30px 20px}.hero-grid,.lower-grid,.metrics{grid-template-columns:1fr}.cal-card{min-height:220px}}@media (max-width:600px){.app-shell{display:block}aside{inset:auto 0 0;width:auto;height:65px;padding:8px;flex-direction:row}.logo,.side-bottom{display:none}nav{display:flex;width:100%;justify-content:space-around}aside button{padding:10px}main{padding:25px 16px 95px}.hero-grid{display:block}.scan-card{margin-top:15px;grid-template-columns:95px 1fr;padding:22px}.scan-orbit{width:80px;height:80px}.scan-orbit svg{width:38px}.cal-card{padding:22px;grid-template-columns:1fr 125px}.ring{width:120px;height:120px}.metrics{grid-template-columns:1fr 1fr}.metrics article:last-child{grid-column:1/-1}.mobile-scan{display:grid;place-items:center;position:fixed;z-index:7;right:18px;bottom:78px;border:0;background:#dc8461;color:#fff;width:52px;height:52px;border-radius:50%;box-shadow:0 8px 25px #1c31285c}h1{font-size:26px}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-brand{background:#203a32;color:#fff;padding:44px clamp(35px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff14;border-radius:50%;right:-170px;top:20%}.auth-brand .logo{margin:0}.auth-brand h1{font:800 clamp(40px,5vw,66px)/1.08 Manrope;color:#fff;margin:24px 0 18px}.auth-brand>div>p{color:#bdcec7;max-width:470px;line-height:1.7}.auth-proof{display:flex;gap:28px}.auth-proof div{display:flex;align-items:center;gap:9px;color:#d4e0da;font-size:12px}.auth-proof svg{color:#e7b650}.auth-side{display:grid;place-items:center;padding:35px;background:#f8f8f4}.auth-box{width:min(430px,100%);background:#fff;padding:38px;border-radius:20px;box-shadow:0 15px 60px #203a3214}.auth-box h2{font:800 27px Manrope;margin-bottom:7px}.auth-box>p:not(.eyebrow):not(.switch){color:#7c8983;font-size:13px}.steps{display:flex;gap:7px;align-items:center;margin:25px 0}.steps i{height:4px;flex:1;background:#e8ece9;border-radius:4px}.steps i.on{background:#d88965}.steps span{font-size:9px;color:#8a9691;margin-left:6px}.auth-fields{display:grid;gap:13px}.auth-fields.two{grid-template-columns:1fr 1fr}.auth-fields label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#63716b}.auth-fields input,.auth-fields select{width:100%;border:1px solid #dce3de;border-radius:9px;padding:12px;outline:none;background:#fff}.auth-fields input:focus,.auth-fields select:focus{border-color:#6b9a83;box-shadow:0 0 0 3px #6b9a8315}.goal-ready{text-align:center;padding:25px 10px}.goal-ready>span{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:#e7f2e9;color:#4c8d62;margin:auto}.goal-ready h3{margin:17px 0 8px}.goal-ready p{font-size:12px;color:#74817b;line-height:1.5}.demo-link{border:0;background:none;color:#6d7d76;width:100%;margin-top:12px;font-size:11px}.switch{text-align:center;font-size:11px!important;margin:22px 0 0!important}.switch button{border:0;background:none;color:#ce704e;font-weight:700}.auth-box .primary svg{margin-left:4px}@media (max-width:750px){.auth-page{display:block}.auth-brand{min-height:290px;padding:28px}.auth-brand h1{font-size:38px;margin:30px 0 10px}.auth-proof{display:none}.auth-side{padding:22px 14px}.auth-box{padding:27px}.auth-fields.two{grid-template-columns:1fr}}.auth-error{margin-top:14px;padding:10px 12px;border-radius:8px;background:#fff0ec;color:#a3452f;font-size:11px;line-height:1.4}aside a{border:0;background:none;color:#aec0b8;padding:12px 13px;border-radius:10px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:600;text-decoration:none}aside a:hover,aside a.active{background:#315047;color:#fff}@media (max-width:600px){body{padding-top:env(safe-area-inset-top)}.app-shell aside{height:calc(65px + env(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));z-index:20}.app-shell aside nav a{font-size:0;justify-content:center;min-width:48px;min-height:48px;padding:10px}.app-shell main{padding:22px 14px calc(92px + env(safe-area-inset-bottom))}.hero-grid,.lower-grid{gap:14px}.cal-card{grid-template-columns:1fr 110px;min-height:205px}.ring{width:104px;height:104px}.ring strong{font-size:21px}.scan-card{grid-template-columns:72px 1fr}.scan-orbit{width:62px;height:62px}.metrics{gap:10px}.metrics article{padding:17px}.backdrop{padding:0;align-items:end}.modal{width:100%;max-height:92dvh;overflow:auto;border-radius:22px 22px 0 0;padding:28px 20px calc(24px + env(safe-area-inset-bottom))}.dropzone{height:min(42dvh,280px)}.auth-page{min-height:100dvh}.auth-brand{min-height:235px}.auth-side{padding-bottom:calc(22px + env(safe-area-inset-bottom))}button,.app-shell a,input,select{touch-action:manipulation}.primary{min-height:48px}.weight-input input{font-size:28px}}@media (display-mode:standalone){body{overscroll-behavior-y:none}.auth-brand{padding-top:calc(28px + env(safe-area-inset-top))}}.avatar{overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover}.meal-button{width:100%;border:0;background:none;text-align:left;color:inherit}.meal-button:disabled{cursor:default}.meal-img{overflow:hidden}.meal-img img{width:100%;height:100%;object-fit:cover}.photo-modal img{width:100%;max-height:58vh;object-fit:contain;border-radius:14px;background:#eef1ed}.analysis-thumb{width:100%;height:130px;object-fit:cover;border-radius:10px;margin-bottom:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.settings-card{display:flex;flex-direction:column;gap:14px}.profile-photo{width:112px;height:112px;border-radius:32px;background:#e5eee8;color:#315247;display:grid;place-items:center;font:800 34px Manrope;overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:max-content;background:#df8c67;color:#fff;padding:11px 16px;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer}.upload-button input{display:none}.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-picker button{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #dce3de;border-radius:10px;background:var(--surface,#fff);color:inherit}.theme-picker button.selected{border-color:var(--accent,#df8c67);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#df8c67) 25%,transparent)}.theme-picker i{width:24px;height:24px;border-radius:8px;background:#315247}.theme-picker [data-choice=sunset] i{background:linear-gradient(135deg,#9f4b66,#ef9b66)}.theme-picker [data-choice=midnight] i{background:linear-gradient(135deg,#171d35,#6258b8)}.theme-picker [data-choice=berry] i{background:linear-gradient(135deg,#5e204d,#d44f78)}.language-select{padding:12px;border:1px solid #dce3de;border-radius:10px;background:var(--surface,#fff);color:inherit}:root[data-theme=sunset]{--accent:#e67e57;background:#fff5ed}:root[data-theme=sunset] body{background:#fff5ed}:root[data-theme=sunset] aside,:root[data-theme=sunset] .cal-card{background:#663f46}:root[data-theme=sunset] .scan-card{background:#ffe1c4}:root[data-theme=sunset] .primary,:root[data-theme=sunset] .scan-card button{background:#e36f4d}:root[data-theme=midnight]{--surface:#202439;--accent:#8d7bf0;color:#eef0ff;background:#151827}:root[data-theme=midnight] body{background:#151827}:root[data-theme=midnight] main{color:#e9ebfa}:root[data-theme=midnight] h1,:root[data-theme=midnight] h2,:root[data-theme=midnight] h3{color:#f4f5ff}:root[data-theme=midnight] .panel,:root[data-theme=midnight] .metrics article,:root[data-theme=midnight] .modal,:root[data-theme=midnight] .auth-box{background:#202439}:root[data-theme=midnight] aside,:root[data-theme=midnight] .cal-card{background:#101322}:root[data-theme=midnight] .scan-card{background:#302d4a}:root[data-theme=midnight] .subtitle,:root[data-theme=midnight] .meal small{color:#adb1ca}:root[data-theme=midnight] .meal{border-color:#353a54}:root[data-theme=midnight] .primary{background:#7f6ee0}:root[data-theme=berry]{--accent:#d44f78;background:#fff3f7}:root[data-theme=berry] body{background:#fff3f7}:root[data-theme=berry] aside,:root[data-theme=berry] .cal-card{background:#4c1d3d}:root[data-theme=berry] .scan-card{background:#f7dce7}:root[data-theme=berry] .primary,:root[data-theme=berry] .scan-card button{background:#ca4b73}@media (max-width:700px){.settings-grid{grid-template-columns:1fr}.profile-photo{width:92px;height:92px}.theme-picker{grid-template-columns:1fr 1fr}}@media (max-width:600px){.app-shell aside .side-bottom{display:contents}.app-shell aside .side-bottom .mini-goal,.app-shell aside .side-bottom>button{display:none}.app-shell aside .side-bottom>a{font-size:0;justify-content:center;min-width:48px;min-height:48px;padding:10px}.app-shell aside nav{flex:1}.app-shell aside nav a{flex:1}}.meal-actions{display:flex;gap:8px;flex-wrap:wrap}.scan-card .meal-actions button{padding:10px 12px}.scan-card .voice-button{background:#315247}.form-grid textarea,.voice-description textarea{font:inherit;border:1px solid #dce3de;border-radius:8px;padding:10px;outline:none;resize:vertical;min-height:64px;background:var(--surface,#fff);color:inherit}.nutrition-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.meal-review{max-height:52vh;overflow:auto;padding:2px}.voice-capture{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px;border-radius:14px;background:#f3f6f3}.voice-capture button{width:62px;height:62px;border:0;border-radius:50%;display:grid;place-items:center;background:#315247;color:#fff}.voice-capture.listening button{background:#df8c67;animation:pulse 1s infinite}.voice-capture span{font-size:11px;color:#77837e;max-width:340px}.voice-description{display:grid;gap:7px;font-size:11px;font-weight:700;color:#64726c;margin-top:14px}.voice-description textarea{min-height:90px}@keyframes pulse{50%{box-shadow:0 0 0 12px #df8c6730}}.auth-slider{isolation:isolate;background:#203a32}.auth-slider:after{display:none}.auth-slide{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.035);transition:opacity .8s ease,transform 6.5s ease}.auth-slide.active{opacity:1;transform:scale(1)}.slider-logo{position:relative;z-index:2}.slide-copy{position:relative;z-index:2;animation:slideCopy .55s ease}.auth-brand .slide-copy>p{color:#e0e9e5;text-shadow:0 1px 8px #10251d;max-width:470px;line-height:1.7}.slider-dots{display:flex;gap:9px;margin-top:27px}.slider-dots button{width:8px;height:8px;padding:0;border:0;border-radius:20px;background:#ffffff70;transition:width .25s,background .25s}.slider-dots button.active{width:28px;background:#efbd50}@keyframes slideCopy{0%{opacity:0;transform:translateY(14px)}}@media (max-width:600px){.meal-actions{display:grid;grid-template-columns:1fr 1fr}.scan-card .meal-actions button{font-size:11px;padding:10px 7px}.nutrition-fields{grid-template-columns:1fr 1fr}.meal-review{max-height:48dvh}}@media (max-width:750px){.auth-slider{min-height:330px}.auth-slider h1{font-size:34px;margin:20px 0 8px}.auth-slider .slide-copy>p{font-size:12px;line-height:1.45}.slider-dots{margin-top:14px}}@media (prefers-reduced-motion:reduce){.auth-slide,.slide-copy{transition:none;animation:none}}.admin-users{display:grid;gap:4px}.admin-user{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid #e8ece9}.admin-user>div{display:grid;gap:4px}.admin-user small{color:#7b8983}.admin-user .primary{width:auto;margin:0}.empty-state{text-align:center;padding:55px 20px}.empty-state svg{color:#5d9870}.empty-state h2{margin:14px 0 6px}@media (max-width:600px){.admin-user{grid-template-columns:40px 1fr}.admin-user .primary{grid-column:1/-1;width:100%}}
