:root{--accent-sage: #A3BFAD;--accent-sage-dark: #7DA38C;--accent-gold: #F2D8A7;--accent-gold-dark: #E0B96E;--accent-peach: #F2BEA0;--accent-peach-dark: #E09A72;--accent-cream: #F2EEEB;--color-protein: #A9C6D9;--color-carbs: #A3BFAD;--color-fat: #F2BEA0;--color-sodium: #E07B7B;--color-calories: #A3BFAD;--shadow-xs: 0 1px 2px rgba(45, 55, 72, .04);--shadow-sm: 0 1px 3px rgba(45, 55, 72, .06);--shadow-lg: 0 4px 24px rgba(45, 55, 72, .09);--shadow-xl: 0 8px 32px rgba(45, 55, 72, .12);--shadow-primary: 0 2px 12px rgba(138, 172, 191, .25);--shadow-primary-lg: 0 4px 20px rgba(138, 172, 191, .35);--shadow-green: 0 2px 12px rgba(138, 172, 191, .25);--shadow-green-lg: 0 4px 20px rgba(138, 172, 191, .35);--shadow-up: 0 -2px 12px rgba(45, 55, 72, .04);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--font-family: "DM Sans", sans-serif;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--z-sticky: 100;--z-fab: 900;--z-overlay: 2000;--z-modal: 2100;--z-panel: 2500;--z-drawer: 3000;--z-popup: 8000;--z-toast: 9000;--header-height: 56px;--nav-height: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px);--max-content-width: 520px}.btn-primary{background:var(--primary-gradient);color:var(--text-white, #fff);border:none;border-radius:var(--radius-md, 16px);padding:12px 24px;font-weight:600;font-size:15px;cursor:pointer;box-shadow:var(--shadow-green);transition:all .15s;font-family:var(--font-family)}.btn-primary:hover{background:var(--primary-gradient-hover);box-shadow:var(--shadow-green-lg);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:#fff;color:var(--primary, #8AACBF);border:1.5px solid var(--primary, #8AACBF);border-radius:var(--radius-md, 16px);padding:10px 20px;font-weight:500;font-size:14px;cursor:pointer;transition:all .15s;font-family:var(--font-family)}.btn-secondary:hover{background:#a9c6d81f}.btn-secondary:active{transform:scale(.97)}.card{background:#fff;border-radius:var(--radius-lg, 20px);box-shadow:var(--shadow-md, 0 4px 24px rgba(44,74,90,.12));border:none;padding:var(--space-xl, 20px);transition:transform .15s,box-shadow .15s}.touchable{transition:transform .15s;cursor:pointer;-webkit-tap-highlight-color:transparent}.touchable:active{transform:scale(.97)}@keyframes cardAppear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes msgSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;max-width:100vw}html,body,#root{overflow-x:hidden!important;max-width:100vw;min-height:100dvh;background:var(--cream, #F2EEEB)}html{font-size:calc(16px * var(--fs));-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:DM Sans,sans-serif;font-size:calc(14px * var(--fs));color:#2c4a5a;background:#f2eeeb;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::selection{background:#a9c6d84d;color:#2c4a5a}:root{--fs: 1;--blue: #A9C6D9;--blue-dk: #7AACC4;--sage: #A3BFAD;--sage-dk: #7A9B87;--wheat: #F2D8A7;--peach: #F2BEA0;--cream: #F2EEEB;--cream-dk: #E8E2DC;--dark: #2C4A5A;--dark2: #3D6070;--dsage: #3D6B52;--mid: #7A9BAA;--muted: #A8BEC8;--white: #FFFFFF;--card-bg: #FFFFFF;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 24px;--shadow: 0 2px 16px rgba(44,74,90,.08);--shadow-md: 0 4px 24px rgba(44,74,90,.12);--font-title: "DM Serif Display", Georgia, serif;--af-dark: #2C4A5A;--af-dark-sage: #3D6B52;--af-cream: #F2EEEB;--af-sage: #A3BFAD;--af-mid-sage: #7DA38C;--af-blue: #A9C6D9;--af-wheat: #F2D8A7;--af-peach: #F2BEA0;--af-mid: #7A9BAA;--af-radius-lg: 14px;--af-radius-md: 10px;--af-shadow-btn: 0 4px 20px rgba(61,107,82,.3);--bg: var(--cream);--bg-card: var(--white);--bg-input: #EDE8E4;--bg-hover: #F7F4F1;--bg-overlay: rgba(0, 0, 0, .35);--text: var(--dark);--text-secondary: #6B7280;--text-muted: #9CA3AF;--text-light: #D1D5DB;--text-white: #FFFFFF;--text-link: var(--mid);--primary: var(--blue);--primary-dark: var(--blue-dk);--primary-light: var(--blue);--primary-lighter: #C4D9E8;--primary-bg: rgba(169, 198, 216, .12);--primary-gradient: linear-gradient(135deg, #8AACBF, #A9C6D9);--primary-gradient-hover: linear-gradient(135deg, #6D94A8, #8AACBF);--success: var(--sage);--warning: var(--wheat);--error: #E07B7B;--info: var(--blue);--font-family: "DM Sans", sans-serif;--shadow-xs: 0 1px 2px rgba(45, 55, 72, .04);--shadow-sm: 0 1px 3px rgba(45, 55, 72, .06);--shadow-lg: 0 4px 24px rgba(45, 55, 72, .09);--shadow-green: 0 2px 12px rgba(138, 172, 191, .25);--shadow-green-lg: 0 4px 20px rgba(138, 172, 191, .35);--shadow-up: 0 -2px 12px rgba(45, 55, 72, .04);--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--z-sticky: 100;--z-fab: 900;--z-overlay: 2000;--z-modal: 2100;--z-panel: 2500;--z-drawer: 3000;--z-popup: 8000;--z-toast: 9000}.app-root{display:grid;grid-template-columns:52px 340px 1fr;grid-template-rows:1fr;height:100dvh;width:100%;max-width:100vw;background:var(--cream);color:var(--dark);overflow:hidden;font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased;transition:grid-template-columns .35s cubic-bezier(.4,0,.2,1)}.app-root.with-panel{grid-template-columns:52px 340px 260px 1fr}*,*:before,*:after{max-width:100vw}.rail{background:#1a2f3d;display:flex;flex-direction:column;align-items:center;padding:14px 0 10px;gap:2px;position:relative;z-index:30}.rail:after{content:"";position:absolute;top:0;right:-12px;bottom:0;width:12px;background:linear-gradient(to right,rgba(0,0,0,.22),transparent);pointer-events:none;z-index:31}.rail-logo-mark{width:30px;height:30px;margin-bottom:14px;flex-shrink:0;cursor:pointer}.rail-spacer{flex:1}.rail-sep{width:26px;height:1px;background:#ffffff1a;margin:5px 0}.rail-avatar{width:28px;height:28px;border-radius:50%;background:#a9c6d9;display:flex;align-items:center;justify-content:center;font-size:calc(11px * var(--fs));font-weight:700;color:#2c4a5a;cursor:pointer;margin-top:6px}.rail-btn{width:40px;height:40px;border-radius:10px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffff59;transition:all .15s;position:relative;font-family:inherit}.rail-btn:hover{background:#ffffff17;color:#ffffffd9}.rail-btn.active{background:#a9c6d933;color:#a9c6d9}.rail-notif-dot{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:#f2bea0;border:1.5px solid #1A2F3D}.rail-notif-badge{position:absolute;top:2px;right:2px;min-width:15px;height:15px;background:var(--peach);color:var(--dark);font-size:calc(8px * var(--fs));font-weight:800;border-radius:20px;display:flex;align-items:center;justify-content:center;padding:0 3px;box-sizing:border-box}.rail-tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(-6px);background:#0d1f2d;color:#f2eeeb;font-size:calc(11px * var(--fs));font-weight:600;white-space:nowrap;padding:5px 10px;border-radius:7px;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;box-shadow:0 4px 14px #00000059;z-index:9999}.rail-tip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#0d1f2d}.rail-btn:hover .rail-tip{opacity:1;transform:translateY(-50%) translate(0)}.journal-sidebar{background:#1e3040;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:20;box-shadow:8px 0 24px #00000040;animation:sidebarSlideIn .4s cubic-bezier(.4,0,.2,1) both}@keyframes sidebarSlideIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.journal-sidebar:after{content:"";position:absolute;top:0;right:-18px;bottom:0;width:18px;background:linear-gradient(to right,rgba(0,0,0,.15),transparent);pointer-events:none;z-index:21}.js-logo-header{height:62px;box-sizing:border-box;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;display:flex;align-items:center;justify-content:center}.js-logo-header svg{display:block}.js-day-selector{display:flex;align-items:center;gap:8px;height:46px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}.js-day-nav{width:28px;height:28px;border-radius:7px;border:none;background:#ffffff12;color:#ffffff73;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:inherit}.js-day-nav:hover{background:#ffffff21;color:#fff}.js-day-label{font-family:var(--font-title);font-size:calc(20px * var(--fs));font-weight:400;color:#f2d8a7}.js-day-cal{width:28px;height:28px;border-radius:7px;border:none;background:#ffffff12;color:#ffffff73;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}.js-body{flex:1;overflow-y:auto;padding-bottom:16px}.js-body::-webkit-scrollbar{width:3px}.js-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.js-section-label{font-size:calc(11px * var(--fs));font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#ffffff4d;padding:14px 14px 6px;display:block}.js-macros{padding:0 14px 4px}.js-macro-row{display:flex;align-items:center;gap:8px;padding:5px 0}.js-macro-name{font-size:calc(12px * var(--fs));font-weight:500;color:#fff9;width:88px;flex-shrink:0}.js-macro-bar-wrap{flex:1;height:4px;background:#ffffff14;border-radius:3px;overflow:hidden}.js-macro-bar{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1)}.js-macro-bar.kcal{background:#7a9baa}.js-macro-bar.prot{background:#a3bfad}.js-macro-bar.carb{background:#f2d8a7}.js-macro-bar.fat{background:#f2bea0}.js-macro-bar.sodiu{background:#c8705a}.js-macro-val{font-size:calc(12px * var(--fs));color:#fff6;white-space:nowrap;min-width:88px;text-align:right;flex-shrink:0}.js-macro-val.over{color:#c8705a;font-weight:600}.js-macro-val.check{color:#a3bfad}.js-meals-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 12px}.js-meal-card{background:#ffffff0d;border-radius:10px;padding:10px;cursor:pointer;border:1px solid rgba(255,255,255,.04);height:68px;overflow:hidden;transition:background .15s}.js-meal-card:hover{background:#ffffff17}.js-meal-card.has-data{border-color:#ffffff17}.js-meal-name{font-size:calc(11px * var(--fs));font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff6;margin-bottom:5px}.js-meal-kcal{font-size:calc(18px * var(--fs));font-weight:700;color:#f2eeeb}.js-meal-sub{font-size:calc(11px * var(--fs));color:#ffffff4d;margin-top:1px}.js-meal-empty{font-size:calc(20px * var(--fs));color:#ffffff1f}.js-suppl-toggle{display:flex;align-items:center;padding:0 14px 6px;gap:8px}.js-suppl-badge{background:#a3bfad33;color:#a3bfad;font-size:calc(10px * var(--fs));font-weight:700;padding:2px 7px;border-radius:20px}.js-suppl-list{padding:0 14px}.js-suppl-row{display:flex;align-items:center;gap:7px;padding:4px 0}.js-suppl-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.js-suppl-text{font-size:calc(13px * var(--fs));color:#ffffff80}.js-ex-empty{margin:0 12px;background:#ffffff08;border:1px dashed rgba(255,255,255,.08);border-radius:10px;padding:12px;text-align:center}.js-ex-empty-text{font-size:calc(12px * var(--fs));color:#fff3}.js-log-btn{margin:6px 12px 0;padding:10px;width:calc(100% - 24px);box-sizing:border-box;background:#e8976b26;border:1px solid rgba(232,151,107,.3);border-radius:10px;color:#e8976b;font-size:calc(14px * var(--fs));font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s;font-family:inherit}.js-log-btn:hover{background:#e8976b40}.js-bodycomp-btn{margin:8px 0 0;width:100%;font-size:calc(12px * var(--fs, 1))}.ctx-panel{background:#2e5068;display:flex;flex-direction:column;overflow:hidden;box-shadow:6px 0 20px #00000047;position:relative;z-index:10;animation:panelSlideIn .3s cubic-bezier(.4,0,.2,1) both}@keyframes panelSlideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.ctx-panel.closing,.desktop-panel.closing{animation:panelSlideOut .25s cubic-bezier(.4,0,.2,1) both}@keyframes panelSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.ctx-head{height:62px;box-sizing:border-box;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.09);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.ctx-title{font-family:var(--font-title);font-size:calc(22px * var(--fs));font-weight:400;color:#f2d8a7;letter-spacing:-.3px}.ctx-sub{font-size:calc(10px * var(--fs));color:#a9c6d9;margin-top:2px}.ctx-new-btn{margin:8px 12px;padding:8px 12px;background:#a9c6d91f;border:1px dashed rgba(169,198,217,.28);border-radius:9px;color:#a9c6d9;font-size:calc(12px * var(--fs));font-weight:500;cursor:pointer;flex-shrink:0;font-family:DM Sans,sans-serif}.ctx-new-btn:hover{background:#a9c6d933}.ctx-search{display:flex;align-items:center;gap:8px;height:46px;box-sizing:border-box;margin:0;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.09);color:#fff6;flex-shrink:0}.ctx-search input{border:none;background:transparent;outline:none;font-size:calc(12px * var(--fs));color:#f2eeeb;flex:1;font-family:DM Sans,sans-serif}.ctx-search input::placeholder{color:#ffffff4d}.ctx-head-btn{width:28px;height:28px;border-radius:8px;border:none;background:#ffffff14;color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.ctx-head-btn:hover{background:#ffffff26;color:#f2eeeb}.ctx-list{flex:1;overflow-y:auto;padding:0 10px 12px}.ctx-list::-webkit-scrollbar{width:3px}.ctx-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.ctx-list-light{--dark: #F2EEEB;--mid: #A9C6D9;--muted: rgba(255,255,255,.45);--cream: rgba(255,255,255,.06);--cream-dk: rgba(255,255,255,.1);--blue: #A9C6D9}.ctx-group{font-size:calc(9px * var(--fs));font-weight:700;letter-spacing:1.2px;color:#a9c6d9;opacity:.6;padding:10px 6px 4px;text-transform:uppercase}.ctx-item{padding:9px 10px;border-radius:8px;cursor:pointer;margin-bottom:2px;transition:background .12s}.ctx-item:hover{background:#ffffff12}.ctx-item.active{background:#a9c6d92e}.ctx-item-title{font-size:calc(12px * var(--fs));color:#f2eeeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx-item-meta{font-size:calc(10px * var(--fs));color:#a9c6d9;opacity:.6;margin-top:1px}.desktop-panel{background:#2e5068;display:flex;flex-direction:column;overflow:hidden;box-shadow:6px 0 20px #00000047;position:relative;z-index:10;animation:panelSlideIn .3s cubic-bezier(.4,0,.2,1) both}.panel-head{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:inherit}.panel-title{font-family:var(--font-title);font-size:calc(22px * var(--fs));font-weight:700;color:var(--cream);letter-spacing:.2px;line-height:1.1}.panel-actions{display:flex;gap:6px}.panel-btn{width:26px;height:26px;border-radius:var(--r-sm);border:none;background:#ffffff14;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:calc(13px * var(--fs));font-family:inherit}.panel-btn:hover{background:#ffffff26;color:var(--cream)}.date-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.date-nav-btn{width:28px;height:28px;border-radius:50%;border:none;background:#ffffff14;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:inherit}.date-nav-btn:hover{background:var(--blue);color:var(--dark)}.date-label{font-size:calc(13px * var(--fs));font-weight:600;color:var(--cream)}.panel-scroll{overflow-y:auto;flex:1;position:relative}.dp-bodycomp-btn{width:100%;margin-top:10px;padding:9px 0;border-radius:10px;border:1px solid rgba(232,151,107,.35);background:#e8976b26;color:#e8976b;font-size:calc(12px * var(--fs, 1));font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s;position:relative;z-index:2}.dp-bodycomp-btn:hover{background:#e8976b40}.panel-scroll::-webkit-scrollbar{width:3px}.panel-scroll::-webkit-scrollbar-thumb{background:#ffffff1a}.macro-section{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.macro-vals,.js-macro-val{animation:fadeIn .3s ease}.macro-row{margin-bottom:10px}.macro-row:last-child{margin-bottom:0}.macro-head{display:flex;justify-content:space-between;margin-bottom:4px}.macro-name{font-size:calc(12px * var(--fs));font-weight:500;color:var(--cream)}.macro-vals{font-size:calc(11px * var(--fs));color:var(--muted)}.macro-bar{height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.macro-fill{height:100%;border-radius:3px;transition:width .3s ease;will-change:width}.fill-kcal{background:var(--blue)}.fill-prot{background:var(--sage)}.fill-carbs{background:var(--wheat)}.fill-fat,.fill-sodium{background:var(--peach)}.meals-section{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.section-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.meals-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.meal-card{background:#ffffff0f;border-radius:var(--r-md);padding:10px;cursor:pointer;transition:all .15s;border:1.5px solid transparent;height:80px;overflow:hidden}.meal-card:hover{border-color:var(--blue);background:#a9c6d91a}.meal-card-icon{font-size:calc(20px * var(--fs));margin-bottom:4px}.meal-card-name{font-size:calc(12px * var(--fs));font-weight:600;color:var(--cream)}.meal-card-kcal{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:2px}.meal-card-count{font-size:calc(10px * var(--fs));color:#a3bfadcc}.supls-section{padding:12px 16px}.supls-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.supls-badge{font-size:calc(11px * var(--fs));font-weight:600;padding:2px 8px;border-radius:10px;background:var(--sage);color:var(--dark)}.supl-item{display:flex;align-items:center;gap:8px;margin-bottom:6px}.supl-dot{width:8px;height:8px;border-radius:50%;background:#fff3;flex-shrink:0}.supl-dot.taken{background:var(--sage)}.supl-name{font-size:calc(12px * var(--fs));color:var(--cream)}.shop-section{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.shop-section-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.shop-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}.shop-item:last-child{border-bottom:none}.shop-check{width:16px;height:16px;border-radius:4px;border:1.5px solid rgba(255,255,255,.2);flex-shrink:0;margin-top:1px}.shop-name{font-size:calc(13px * var(--fs));color:var(--cream);flex:1}.shop-qty{font-size:calc(11px * var(--fs));color:var(--muted)}.rem-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.rem-check{width:18px;height:18px;border-radius:5px;border:1.5px solid rgba(255,255,255,.2);flex-shrink:0;margin-top:1px}.rem-text{font-size:calc(13px * var(--fs));color:var(--cream);line-height:1.5;flex:1}.rem-time{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:3px}.shop-del{color:#fff3;cursor:pointer;font-size:calc(12px * var(--fs))}.shop-del:hover{color:#e88}.rem-del{color:#fff3;cursor:pointer;font-size:calc(14px * var(--fs));flex-shrink:0}.rem-del:hover{color:#e88}.main-area{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--cream)}.chat-topbar{padding:0 20px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--cream-dk);background:var(--white)}.chat-topbar-left{display:flex;align-items:baseline;gap:12px}.chat-topbar-title{font-family:var(--font-title);font-size:calc(30px * var(--fs));font-weight:700;color:var(--dark);line-height:1.1}.chat-topbar-sub{font-size:calc(12px * var(--fs));color:var(--mid);font-style:italic}.topbar-actions{display:flex;gap:8px}.topbar-btn{width:32px;height:32px;border-radius:8px;border:none;background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--mid);transition:all .15s;font-family:inherit}.topbar-btn:hover{background:var(--cream-dk);color:var(--dark)}.topbar-btn.active{background:var(--blue);color:var(--dark)}.main-chat{display:flex;flex-direction:column;background:var(--cream);overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--cream-dk);border-radius:4px}.msg-ai,.msg-user{display:flex;gap:10px;max-width:740px}.msg-ai{align-self:flex-start}.msg-user{align-self:flex-end;flex-direction:row-reverse}.msg-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:calc(14px * var(--fs))}.msg-avatar.ai{background:var(--sage)}.msg-avatar.user{background:var(--blue);font-size:calc(12px * var(--fs));font-weight:600;color:var(--dark)}.msg-bubble{padding:12px 16px;border-radius:var(--r-lg);font-size:calc(14px * var(--fs));line-height:1.6}.msg-ai .msg-bubble{background:var(--white);border-bottom-left-radius:4px;box-shadow:var(--shadow);color:var(--dark)}.msg-user .msg-bubble{background:var(--blue);border-bottom-right-radius:4px;color:var(--dark)}.msg-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1px;color:var(--dsage);margin-bottom:6px;text-transform:uppercase}.msg-time{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:4px;padding:0 4px;align-self:flex-end}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px;flex-shrink:0}.qr-chip{padding:7px 14px;border-radius:20px;border:1px solid rgba(44,74,90,.18);background:var(--white);color:var(--dark);font-family:DM Sans,sans-serif;font-size:calc(13px * var(--fs));cursor:pointer;transition:all .15s}.qr-chip:hover{background:var(--blue);border-color:var(--blue)}.chat-input-area{padding:12px 20px 16px;flex-shrink:0;background:var(--white);border-top:1px solid var(--cream-dk)}.chat-input-row{display:flex;align-items:center;gap:8px;background:var(--cream);border-radius:var(--r-xl);padding:10px 14px;border:1.5px solid transparent;transition:border-color .15s}.chat-input-row:focus-within{border-color:var(--sage)}.chat-input-row input,.chat-input-row textarea{flex:1;border:none;background:transparent;font-family:DM Sans,sans-serif;font-size:calc(14px * var(--fs));color:var(--dark);outline:none;resize:none}.chat-input-row input::placeholder,.chat-input-row textarea::placeholder{color:var(--muted)}.input-btn{width:30px;height:30px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--mid);transition:all .15s;flex-shrink:0}.input-btn:hover{color:var(--dark)}.input-send{width:34px;height:34px;border-radius:50%;border:none;background:var(--blue);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dark);transition:all .15s;flex-shrink:0}.input-send:hover{background:var(--blue-dk)}.ai-card{background:var(--white);border-radius:var(--r-xl);box-shadow:0 2px 20px #2c4a5a14,0 1px 4px #2c4a5a0d;overflow:hidden;width:100%;max-width:680px}.ai-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--cream-dk)}.ai-card-header-left{display:flex;align-items:center;gap:8px}.ai-card-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1.2px;color:var(--dsage);text-transform:uppercase}.ai-card-type{font-size:calc(11px * var(--fs));font-weight:600;color:var(--mid);padding:2px 8px;background:var(--cream);border-radius:8px}.ai-card-actions{display:flex;gap:4px}.ai-card-act-btn{width:24px;height:24px;border-radius:var(--r-sm);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .12s}.ai-card-act-btn:hover{background:var(--cream);color:var(--dark)}.macro-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-bottom:1px solid var(--cream-dk)}.ms-cell{padding:10px 14px;border-right:1px solid var(--cream-dk);display:flex;flex-direction:column;gap:3px}.ms-cell:last-child{border-right:none}.ms-label{font-size:calc(10px * var(--fs));font-weight:600;letter-spacing:.8px;color:var(--muted);text-transform:uppercase}.ms-value{font-size:calc(18px * var(--fs));font-weight:700;color:var(--dark);line-height:1}.ms-unit{font-size:calc(10px * var(--fs));color:var(--muted)}.ms-bar{height:3px;border-radius:2px;background:var(--cream-dk);margin-top:2px;overflow:hidden}.ms-bar-fill{height:100%;border-radius:2px;transition:width .3s ease;will-change:width}.ms-ok .ms-value{color:var(--dsage)}.ms-warn .ms-value{color:#a8844a}.ms-bad .ms-value{color:#c8705a}.ms-ok .ms-bar-fill{background:var(--sage)}.ms-warn .ms-bar-fill{background:#c8a855}.ms-bad .ms-bar-fill{background:#c8705a}.ms-neutral .ms-bar-fill{background:var(--blue)}.food-table{width:100%;border-collapse:collapse;font-size:calc(13px * var(--fs))}.food-table thead tr{background:var(--cream)}.food-table th{padding:8px 14px;text-align:left;font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--cream-dk)}.food-table th:not(:first-child){text-align:right}.food-table td{padding:9px 14px;border-bottom:1px solid rgba(44,74,90,.05);color:var(--dark);vertical-align:middle}.food-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.food-table tr:last-child td{border-bottom:none}.food-table tr:hover td{background:#a9c6d90f}.food-table .ft-total td{background:var(--cream);font-weight:700;border-top:1.5px solid var(--cream-dk);border-bottom:none}.food-table tbody tr:has(td:first-child strong) td{background:var(--cream);font-weight:700;border-top:1.5px solid var(--cream-dk);border-bottom:none}.ft-name{font-weight:500}.ft-kcal{color:#2c4a5a;font-weight:600}.ft-badge{display:inline-flex;align-items:center;gap:4px;font-size:calc(11px * var(--fs));font-weight:600;padding:2px 8px;border-radius:8px;margin-bottom:4px}.ft-badge-logged{background:#a3bfad40;color:var(--dsage)}.ft-badge-warn{background:#c0783e1f;color:#a8844a}.notes-section{padding:14px 16px}.notes-title{font-size:calc(11px * var(--fs));font-weight:700;letter-spacing:.8px;color:var(--dark);text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px}.note-item{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border-radius:var(--r-md);margin-bottom:6px;font-size:calc(13px * var(--fs));line-height:1.5}.note-item:last-child{margin-bottom:0}.note-ok{background:#a3bfad1f;border-left:3px solid var(--sage)}.note-warn{background:#c0783e14;border-left:3px solid #A8844A}.note-bad{background:#b5404012;border-left:3px solid #C8705A}.note-info{background:#a9c6d91f;border-left:3px solid var(--blue)}.note-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;font-size:calc(11px * var(--fs))}.note-ok .note-dot{background:#a3bfad4d;color:var(--dsage)}.note-warn .note-dot{background:#c0783e33;color:#a8844a}.note-bad .note-dot{background:#b5404026;color:#c8705a}.note-info .note-dot{background:#a9c6d94d;color:var(--dark2)}.note-text{flex:1;color:var(--dark)}.note-text strong{font-weight:700}.progress-card{padding:14px 16px;border-top:1px solid var(--cream-dk)}.pc-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.pc-row:last-child{margin-bottom:0}.pc-label{font-size:calc(12px * var(--fs));font-weight:600;color:var(--dark);width:80px;flex-shrink:0}.pc-bar{flex:1;height:7px;background:var(--cream-dk);border-radius:4px;overflow:hidden;position:relative}.pc-fill{height:100%;border-radius:4px;transition:width .5s ease}.pc-fill-blue{background:linear-gradient(90deg,var(--blue-dk),var(--blue))}.pc-fill-sage{background:linear-gradient(90deg,var(--sage-dk),var(--sage))}.pc-fill-wheat{background:linear-gradient(90deg,#c8a855,#f2d8a7)}.pc-fill-peach{background:linear-gradient(90deg,#A8844A,var(--peach))}.pc-fill-red{background:linear-gradient(90deg,#c8705a,#d4907a)}.pc-vals{font-size:calc(11px * var(--fs));color:var(--mid);width:90px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.pc-over{color:#c8705a!important;font-weight:600}.msg-ai.card-msg{max-width:720px}.msg-ai.card-msg .msg-bubble{padding:0;background:transparent;box-shadow:none}.greeting-card{padding:16px 18px;font-size:calc(14px * var(--fs));line-height:1.7;color:var(--dark)}.greeting-card p{margin-bottom:8px}.greeting-card p:last-child{margin-bottom:0}.greeting-card ul{margin:6px 0 0 18px}.greeting-card li{margin-bottom:4px;font-size:calc(13px * var(--fs));color:#4a6a7a}.supl-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.supl-chip{font-size:calc(11px * var(--fs));font-weight:500;padding:3px 9px;border-radius:10px;background:#a3bfad33;color:var(--dsage);border:1px solid rgba(163,191,173,.4)}.shopping-main{display:flex;flex-direction:column;background:var(--cream);overflow:hidden}.sh-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px 12px;border-bottom:1px solid var(--cream-dk);background:#fff;flex-shrink:0}.sh-title{font-family:var(--font-title);font-size:calc(28px * var(--fs));font-weight:700;color:var(--dark);line-height:1.1}.sh-sub{font-size:calc(11px * var(--fs));color:var(--mid);margin-top:2px}.sh-header-actions{display:flex;gap:8px}.sh-btn-ghost{padding:7px 14px;border-radius:8px;border:1px solid rgba(44,74,90,.18);background:transparent;color:var(--dark2);font-size:calc(12px * var(--fs));font-weight:500;cursor:pointer;font-family:inherit}.sh-btn-primary{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:none;background:var(--dark);color:#fff;font-size:calc(12px * var(--fs));font-weight:600;cursor:pointer;font-family:inherit}.sh-toolbar{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--cream-dk);background:#fff;flex-shrink:0;flex-wrap:wrap}.sh-search{display:flex;align-items:center;gap:8px;background:var(--cream);border-radius:9px;padding:8px 12px;flex:1;min-width:160px;color:var(--mid)}.sh-search-input{border:none;background:transparent;outline:none;font-size:calc(13px * var(--fs));color:var(--dark);flex:1;font-family:DM Sans,sans-serif}.sh-search-input::placeholder{color:var(--muted)}.sh-ai-pill{display:flex;align-items:center;gap:6px;background:#a3bfad1a;border:1px solid rgba(163,191,173,.25);border-radius:20px;padding:6px 10px;font-size:calc(11px * var(--fs));color:var(--dark2);white-space:nowrap}.sh-ai-dot{width:6px;height:6px;border-radius:50%;background:#a3bfad;flex-shrink:0;animation:pulse 2s infinite}.sh-ai-add-all{border:none;background:#a3bfad;color:var(--dark);font-size:calc(10px * var(--fs));font-weight:700;padding:3px 8px;border-radius:20px;cursor:pointer;margin-left:4px;font-family:DM Sans,sans-serif}.sh-body{flex:1;overflow-y:auto;padding:0 18px 24px}.sh-body::-webkit-scrollbar{width:5px}.sh-body::-webkit-scrollbar-thumb{background:var(--cream-dk);border-radius:3px}.sh-section-head{display:flex;align-items:center;gap:8px;margin:18px 0 8px}.sh-section-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--mid)}.sh-section-count{background:#2c4a5a14;color:var(--mid);font-size:calc(10px * var(--fs));font-weight:700;padding:1px 7px;border-radius:20px}.sh-list-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(44,74,90,.07)}.sh-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid rgba(44,74,90,.05);transition:background .12s}.sh-item:last-child{border-bottom:none}.sh-item:hover{background:#2c4a5a08}.sh-checkbox{width:20px;height:20px;border-radius:6px;border:1.5px solid rgba(44,74,90,.2);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;color:transparent}.sh-checkbox:hover{border-color:var(--dark)}.sh-checkbox.done{background:var(--dark);border-color:var(--dark);color:#fff}.sh-item-info{flex:1;min-width:0}.sh-item-name{font-size:calc(13px * var(--fs));color:var(--dark);font-weight:500;display:block}.sh-item-note{font-size:calc(10px * var(--fs));color:var(--muted);margin-top:1px;display:block}.sh-item-qty{display:flex;align-items:center;gap:5px;flex-shrink:0}.sh-qty-btn{width:22px;height:22px;border-radius:5px;border:1px solid rgba(44,74,90,.15);background:transparent;color:var(--dark2);cursor:pointer;font-size:calc(14px * var(--fs));line-height:1;display:flex;align-items:center;justify-content:center;font-family:inherit}.sh-qty-btn:hover{background:var(--cream)}.sh-qty-val{font-size:calc(12px * var(--fs));font-weight:600;color:var(--dark);min-width:38px;text-align:center}.sh-item-del{width:24px;height:24px;border-radius:5px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.sh-item-del:hover{background:#c8705a1a;color:#c8705a}.sh-item-done .sh-item-name{text-decoration:line-through;color:var(--muted)}.foods-main{display:flex;flex-direction:column;height:100%;background:var(--cream);overflow:hidden}.foods-topbar{padding:18px 24px;flex-shrink:0}.foods-topbar-row1{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.foods-title{font-family:var(--font-title);font-size:calc(28px * var(--fs));font-weight:700;color:var(--dark);line-height:1.1}.foods-tabs{display:flex;gap:0;background:#2c4a5a12;border-radius:10px;padding:3px}.foods-tab{padding:6px 18px;border-radius:8px;font-size:calc(12px * var(--fs));font-weight:600;color:var(--mid);cursor:pointer;border:none;background:none;transition:all .15s;font-family:inherit}.foods-tab.active{background:#fff;color:var(--dark);box-shadow:0 1px 4px #0000001a}.foods-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.foods-search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid rgba(44,74,90,.1);border-radius:10px;padding:8px 12px}.foods-search svg{flex-shrink:0;color:var(--muted)}.foods-search input{border:none;outline:none;background:none;font-size:calc(12px * var(--fs));color:var(--dark);width:100%;font-family:inherit}.foods-search input::placeholder{color:var(--muted)}.foods-sort{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid rgba(44,74,90,.1);border-radius:10px;padding:8px 12px;font-size:calc(11px * var(--fs));font-weight:600;color:var(--mid);cursor:pointer;white-space:nowrap;font-family:inherit}.foods-body{flex:1;overflow-y:auto;padding:0 24px 24px}.foods-body::-webkit-scrollbar{width:5px}.foods-body::-webkit-scrollbar-thumb{background:var(--cream-dk);border-radius:3px}.foods-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.foods-panel{display:none}.foods-panel.active{display:block}.food-card{background:#fff;border-radius:12px;padding:14px;border:1.5px solid rgba(44,74,90,.06);cursor:pointer;transition:all .15s;position:relative}.food-card:hover{border-color:#a9c6d980;box-shadow:0 3px 12px #2c4a5a14;transform:translateY(-1px)}.food-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;gap:6px}.food-card-name{font-size:calc(13px * var(--fs));font-weight:700;color:var(--dark);line-height:1.3;min-width:0;overflow-wrap:break-word;word-break:break-word}.food-card-brand{font-size:calc(10px * var(--fs));color:var(--muted);margin-top:2px}.food-card-ai{font-size:calc(10px * var(--fs));font-weight:700;padding:2px 7px;border-radius:8px;background:var(--sage);color:var(--dark);margin-left:6px;letter-spacing:.3px}.food-card-star{color:var(--muted);flex-shrink:0;margin-left:6px;margin-top:1px}.food-card-star.fav{color:var(--sage)}.food-macros{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.food-chip{font-size:calc(10px * var(--fs));font-weight:600;padding:2px 7px;border-radius:6px}.food-chip.kcal{background:#a9c6d933;color:#4a7a92}.food-chip.prot{background:#a3bfad33;color:#4a7a5e}.food-chip.fat{background:#f2d8a740;color:#8a6a2a}.food-chip.carb{background:#f2bea033;color:#8a4a2a}.food-card-foot{display:flex;align-items:center;justify-content:space-between}.food-card-use{font-size:calc(10px * var(--fs));color:var(--muted)}.food-card-macros{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.food-card-usage{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:6px}.food-card-alias{font-size:calc(11px * var(--fs));color:var(--mid);margin-top:2px}.food-add-card{background:none;border:1.5px dashed rgba(44,74,90,.18);border-radius:12px;padding:14px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:80px;color:var(--mid);font-size:calc(12px * var(--fs));font-weight:600}.food-add-card:hover{border-color:var(--blue);color:var(--dark2);background:#a9c6d90d}.macro-chip{padding:3px 8px;border-radius:10px;font-size:calc(11px * var(--fs));font-weight:500;background:var(--cream);color:var(--dark)}.mc-kcal{background:#a9c6d940}.mc-prot{background:#a3bfad40}.mc-fat{background:#f2bea033}.mc-carbs{background:#f2d8a759}.recipes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.recipe-card{background:#fff;border-radius:12px;overflow:hidden;border:1.5px solid rgba(44,74,90,.06);cursor:pointer;transition:all .15s}.recipe-card:hover{border-color:#a9c6d980;box-shadow:0 3px 12px #2c4a5a14;transform:translateY(-1px)}.recipe-thumb{height:80px;display:flex;align-items:center;justify-content:center;font-size:calc(28px * var(--fs));position:relative}.recipe-body{padding:10px 12px 12px}.recipe-card-name{font-size:calc(13px * var(--fs));font-weight:700;color:var(--dark);margin-bottom:6px}.recipe-badge{display:inline-block;font-size:calc(9px * var(--fs));font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:#a9c6d933;color:#4a7a92;margin-bottom:7px}.recipe-macros{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:6px}.recipe-portions{font-size:calc(10px * var(--fs));color:var(--muted)}.recipe-add-card{background:none;border:1.5px dashed rgba(44,74,90,.18);border-radius:12px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;min-height:160px;color:var(--mid);font-size:calc(12px * var(--fs));font-weight:600}.recipe-add-card:hover{border-color:var(--blue);color:var(--dark2);background:#a9c6d90d}.profile-main{display:flex;flex-direction:column;height:100%;background:var(--cream);overflow:hidden}.profile-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 16px;flex-shrink:0;border-bottom:1px solid rgba(44,74,90,.08)}.profile-topbar-left{display:flex;align-items:center;gap:12px}.profile-avatar-big{width:40px;height:40px;border-radius:50%;background:var(--blue);color:var(--dark);font-size:calc(16px * var(--fs));font-weight:700;display:flex;align-items:center;justify-content:center}.profile-topbar-name{font-family:var(--font-title);font-size:calc(28px * var(--fs));font-weight:700;color:var(--dark);line-height:1.1}.profile-topbar-sub{font-size:calc(11px * var(--fs));color:var(--mid);margin-top:1px}.profile-save-btn{background:var(--sage);color:#fff;border:none;border-radius:10px;padding:8px 20px;font-size:calc(13px * var(--fs));font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.profile-save-btn:hover{background:#8aad96}.profile-body{flex:1;overflow-y:auto;padding:20px 24px 40px}.profile-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.profile-section{background:#fff;border-radius:14px;padding:18px 20px;border:1.5px solid rgba(44,74,90,.06);margin-bottom:14px;box-shadow:0 2px 12px #2c4a5a0f}.profile-section-title{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--mid);margin-bottom:14px}.profile-field{margin-bottom:12px}.profile-field:last-child{margin-bottom:0}.profile-label{font-size:calc(11px * var(--fs));font-weight:600;color:var(--mid);margin-bottom:5px;display:block}.profile-input{width:100%;background:var(--cream);border:1.5px solid rgba(44,74,90,.1);border-radius:8px;padding:8px 11px;font-size:calc(13px * var(--fs));color:var(--dark);font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.profile-input:focus{border-color:var(--blue)}.profile-input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-targets-highlight{background:linear-gradient(135deg,#a9c6d91f,#a3bfad1f);border:1.5px solid rgba(169,198,217,.3)}.profile-target-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(44,74,90,.06)}.profile-target-row:last-child{border-bottom:none}.profile-target-label{font-size:calc(12px * var(--fs));color:var(--dark);font-weight:500}.profile-target-val{display:flex;align-items:center;gap:6px}.profile-target-input{width:70px;background:#fff;border:1.5px solid rgba(44,74,90,.12);border-radius:7px;padding:5px 8px;font-size:calc(13px * var(--fs));font-weight:600;color:var(--dark);font-family:inherit;outline:none;text-align:right}.profile-target-unit{font-size:calc(11px * var(--fs));color:var(--mid);width:28px}.sessions-list{padding:0 8px 16px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.sessions-list::-webkit-scrollbar{width:4px}.sessions-list::-webkit-scrollbar-track{background:transparent}.sessions-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.session-day-header{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1.5px;color:var(--muted);padding:10px 8px 4px;text-transform:uppercase}.new-session-btn{margin:12px 16px;padding:10px;background:#a9c6d926;border:1px dashed rgba(169,198,217,.3);border-radius:12px;color:var(--blue);font-family:DM Sans,sans-serif;font-size:calc(13px * var(--fs));font-weight:500;cursor:pointer;transition:all .15s}.new-session-btn:hover{background:#a9c6d940}.session-item{padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .12s;margin-bottom:2px}.session-item:hover{background:#ffffff0f}.session-item.active{background:#a9c6d926}.session-preview{font-size:calc(13px * var(--fs));color:var(--cream);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-meta{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:1px}.empty-msg{font-size:calc(14px * var(--fs));color:var(--muted);text-align:center;padding:40px 16px}.sessions-mobile{max-width:600px;margin:0 auto}.sm-new-btn{width:100%;padding:12px;background:var(--blue);border:none;border-radius:var(--r-lg);font-family:DM Sans,sans-serif;font-size:calc(14px * var(--fs));font-weight:600;color:var(--dark);cursor:pointer;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s}.sm-new-btn:active{transform:scale(.97)}.sm-digest{background:#a9c6d91a;border:1px solid rgba(169,198,217,.2);border-radius:12px;padding:12px 14px;margin-bottom:16px}.sm-digest-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.8px;color:var(--mid);text-transform:uppercase;margin-bottom:8px}.sm-digest-row{display:flex;gap:12px}.sm-digest-cell{text-align:center}.sm-digest-val{font-size:calc(18px * var(--fs));font-weight:700;color:#2c4a5a}.sm-digest-desc{font-size:calc(10px * var(--fs));color:var(--muted)}.sm-digest-div{width:1px;background:#2c4a5a1f}.sm-group-label{color:var(--mid);padding:8px 0;font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.8px}.session-card{background:#fff;border-radius:var(--r-lg);padding:12px 14px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 8px #2c4a5a12;transition:all .15s;border:1.5px solid transparent}.session-card:hover{border-color:var(--blue)}.session-card.active{border-color:#a9c6d966;background:#a9c6d914}.sc-title{font-size:calc(13px * var(--fs));font-weight:500;color:var(--dark)}.sc-subtitle{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-meta{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:3px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c4a5a73;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.modal{background:var(--white);border-radius:var(--r-xl);width:380px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 60px #2c4a5a40;overflow:hidden}.modal-head{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--cream-dk);flex-shrink:0}.modal-title{font-family:var(--font-title);font-size:calc(26px * var(--fs));font-weight:700;color:var(--dark);line-height:1.1}.modal-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--mid);font-size:calc(16px * var(--fs));font-family:inherit}.modal-body{overflow-y:auto;flex:1;padding:12px 0}.modal-footer{padding:12px 20px;border-top:1px solid var(--cream-dk);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-tabs{display:flex;gap:0;padding:0 16px;border-bottom:1px solid var(--cream-dk);flex-shrink:0}.modal-tab{padding:10px 14px;font-size:calc(12px * var(--fs));font-weight:600;color:var(--mid);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;font-family:DM Sans,sans-serif}.modal-tab.active{color:var(--dark);border-bottom-color:var(--blue)}.modal-meal-item{padding:10px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--cream-dk)}.modal-meal-item:last-child{border-bottom:none}.mmi-left{flex:1}.mmi-name{font-size:calc(13px * var(--fs));font-weight:500;color:var(--dark)}.mmi-name .recipe-badge{font-size:calc(9px * var(--fs));background:var(--blue);padding:1px 6px;border-radius:6px;margin-left:4px}.mmi-qty{font-size:calc(12px * var(--fs));color:var(--sage-dk);font-weight:500;margin-top:1px}.mmi-macros{font-size:calc(11px * var(--fs));color:var(--mid);margin-top:2px}.mmi-actions{display:flex;gap:4px;align-items:center}.mmi-btn{width:26px;height:26px;border-radius:var(--r-sm);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:calc(12px * var(--fs));font-family:inherit}.mmi-edit{background:var(--cream);color:var(--mid)}.mmi-del{background:#b5404014;color:#c8705a}.modal-total{font-size:calc(13px * var(--fs));color:var(--mid)}.modal-total strong{color:var(--dark)}.log-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c4a5a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.log-modal{background:#fff;border-radius:20px;width:640px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 28px 90px #2c4a5a47}.log-modal-body{overflow-y:auto;flex:1}.log-section-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1px;color:var(--mid);text-transform:uppercase;display:flex;align-items:center;gap:7px;padding:14px 22px 8px}.log-section-label .dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.log-section-label .dot.green{background:var(--sage)}.log-section-label .count{background:#2c4a5a14;color:var(--dark);font-size:calc(11px * var(--fs));border-radius:6px;padding:1px 7px}.log-row{display:flex;align-items:flex-start;gap:12px;padding:12px 22px;border-bottom:1px solid rgba(44,74,90,.06)}.log-row:last-child{border-bottom:none}.log-row-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}.log-row-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0;margin-top:5px}.log-row-info{flex:1}.log-row-name{font-size:calc(14px * var(--fs));font-weight:600;color:var(--dark);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.log-tag{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:6px;border:1.5px solid}.log-tag.existent{background:#a9c6d91a;color:var(--mid);border-color:#a9c6d966}.log-tag.nou{background:#a3bfad1f;color:var(--dsage);border-color:#a3bfad66}.log-row-alias{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:2px}.log-row-macros{font-size:calc(11px * var(--fs));color:var(--mid);margin-top:3px}.log-row-macros b{font-weight:700}.log-stepper-col{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.log-stepper{display:flex;flex-direction:column;align-items:center;gap:2px}.log-stepper button{background:#2c4a5a12;border:none;width:28px;height:22px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dark);font-family:inherit}.log-stepper button:hover{background:#2c4a5a24}.log-stepper-row{display:flex;align-items:center;gap:4px}.log-qty-box{background:var(--cream);border:1.5px solid rgba(44,74,90,.12);border-radius:8px;padding:5px 10px;font-size:calc(15px * var(--fs));font-weight:700;color:var(--dark);min-width:56px;text-align:center}.log-qty-unit{font-size:calc(12px * var(--fs));color:var(--mid);font-weight:500}.log-kcal-result{font-size:calc(11px * var(--fs));color:var(--muted);text-align:right}.log-kcal-result b{color:var(--dark)}.log-checkbox-wrap{display:flex;align-items:flex-start;gap:10px;padding:12px 22px;border-bottom:1px solid rgba(44,74,90,.06)}.log-checkbox{width:20px;height:20px;border-radius:6px;background:var(--dark);border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:3px}.log-checkbox.unchecked{background:#fff;border:1.5px solid rgba(44,74,90,.18)}.log-edit-link{font-size:calc(11px * var(--fs));color:var(--blue);text-decoration:underline;cursor:pointer;display:flex;align-items:center;gap:4px;margin-top:4px}.log-footer{padding:14px 22px;border-top:1.5px solid rgba(44,74,90,.08);display:flex;align-items:center;background:#fff;gap:10px}.log-footer-count{font-size:calc(12px * var(--fs));color:var(--muted);flex:1}.log-footer-count b{color:var(--dark)}.log-total-strip{display:grid;grid-template-columns:repeat(5,1fr);background:var(--cream);border-radius:12px;overflow:hidden;margin:0 22px 4px}.log-total-cell{text-align:center;padding:10px 6px;border-right:1px solid rgba(44,74,90,.07)}.log-total-cell:last-child{border-right:none}.log-total-label{font-size:calc(9px * var(--fs));font-weight:700;letter-spacing:.8px;color:var(--muted);text-transform:uppercase;margin-bottom:3px}.log-total-val{font-size:calc(16px * var(--fs));font-weight:700;color:var(--dark)}.log-total-val.p{color:#7a9baa}.log-total-val.g{color:#a8844a}.log-total-val.c{color:var(--dsage)}.log-total-val.na{color:var(--peach)}.log-total-val span{font-size:calc(11px * var(--fs));font-weight:500}.meal-tabs{display:flex;gap:6px;padding:14px 22px 0}.meal-tab{padding:6px 14px;border-radius:8px;border:1.5px solid rgba(44,74,90,.12);background:#fff;font-size:calc(12px * var(--fs));font-weight:600;color:var(--mid);cursor:pointer;font-family:DM Sans,sans-serif}.meal-tab.active{background:var(--dark);color:#fff;border-color:var(--dark)}.edit-macro-modal{background:#fff;border-radius:20px;width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;overflow-x:hidden;box-shadow:0 28px 90px #2c4a5a47;box-sizing:border-box}.edit-field-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--mid);margin-bottom:6px}.edit-text-input{width:100%;border:1.5px solid rgba(44,74,90,.15);border-radius:10px;padding:11px 14px;font-size:calc(14px * var(--fs));font-weight:500;color:var(--dark);font-family:DM Sans,sans-serif;box-sizing:border-box;outline:none}.edit-text-input:focus{border-color:var(--blue)}.edit-hint{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:5px}.macro-grid-bg{background:var(--cream);border-radius:14px;padding:16px}.macro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.macro-field{display:flex;flex-direction:column;gap:5px;min-width:0}.macro-input-wrap{display:flex;align-items:center;border:1.5px solid rgba(44,74,90,.12);border-radius:10px;overflow:hidden;background:#fff;min-width:0}.macro-input-wrap.warn{border-color:#c8705a80;background:#f2bea00f}.macro-input-val{flex:1;min-width:0;border:none;outline:none;padding:10px 12px;font-size:calc(16px * var(--fs));font-weight:700;color:var(--dark);font-family:DM Sans,sans-serif;background:transparent;box-sizing:border-box}.macro-input-val.warn{color:#c8705a}.macro-input-unit{padding:10px 12px;font-size:calc(12px * var(--fs));color:var(--muted);background:transparent;border-left:1px solid rgba(44,74,90,.08);font-weight:600}.dup-modal{background:#fff;border-radius:20px;width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;box-shadow:0 28px 90px #2c4a5a47}.dup-radio-opt{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(44,74,90,.12);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:8px}.dup-radio-opt.selected{border-color:var(--dark);background:#2c4a5a08}.dup-radio-circle{width:20px;height:20px;border-radius:50%;border:2px solid rgba(44,74,90,.2);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center}.dup-radio-circle.selected{background:var(--dark);border-color:var(--dark)}.dup-match-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.3px}.dup-match-badge.high{background:#a3bfad33;color:var(--dsage)}.dup-match-badge.med{background:#a9c6d933;color:var(--mid)}.dup-new-opt{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:#f2d8a71f;border:1.5px solid rgba(242,216,167,.4)}.dup-section-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--mid);margin:14px 0 8px}.meal-overlay-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000002e}.meal-overlay-backdrop.visible{display:block}.meal-overlay{position:absolute;background:#1a2f3d;border-radius:16px;box-shadow:0 8px 40px #0000008c,0 2px 12px #0000004d;width:300px;overflow:hidden;animation:overlayIn .18s ease}@keyframes overlayIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.meal-overlay-head{padding:14px 16px 10px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.meal-overlay-title{font-family:var(--font-title);font-size:calc(18px * var(--fs));font-weight:700;color:#f2eeeb}.meal-overlay-kcal{font-size:calc(13px * var(--fs));font-weight:700;color:var(--sage)}.meal-overlay-close{width:24px;height:24px;border:none;background:#ffffff12;border-radius:6px;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:calc(14px * var(--fs));line-height:1;font-family:inherit}.meal-overlay-list{padding:8px 0;max-height:220px;overflow-y:auto}.meal-overlay-item{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;gap:8px}.meal-overlay-item:hover{background:#ffffff0a}.meal-overlay-food{font-size:calc(12px * var(--fs));color:#fffc;flex:1}.meal-overlay-macros{font-size:calc(11px * var(--fs));color:#ffffff59;text-align:right;white-space:nowrap}.meal-overlay-empty{padding:20px 16px;text-align:center;font-size:calc(12px * var(--fs));color:#fff3}.meal-overlay-footer{padding:10px 12px;border-top:1px solid rgba(255,255,255,.07);display:flex;gap:8px}.meal-overlay-btn-add{flex:1;padding:9px;border:none;background:#a3bfad26;border:1px solid rgba(163,191,173,.25);border-radius:9px;color:var(--sage);font-size:calc(12px * var(--fs));font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s}.meal-overlay-btn-add:hover{background:#a3bfad40}.meal-overlay-btn-full{padding:9px 12px;border:none;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#ffffff80;font-size:calc(11px * var(--fs));font-weight:500;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s;white-space:nowrap}.meal-overlay-btn-full:hover{background:#ffffff1a;color:#fffc}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background:#0006}.drawer-panel{position:fixed;top:0;left:52px;bottom:0;z-index:8001;width:85%;max-width:300px;background:#1e3546;box-shadow:4px 0 24px #0000004d;animation:slideRight .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-header{padding:20px 16px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}.drawer-title{font-family:var(--font-title);font-weight:700;font-size:calc(24px * var(--fs));color:var(--cream);flex:1;line-height:1.1}.drawer-close{width:28px;height:28px;border:none;border-radius:8px;background:#ffffff14;color:var(--muted);font-size:calc(16px * var(--fs));cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}.mobile-icon-nav{display:none;width:52px;min-width:52px;flex-shrink:0;background:var(--dark);flex-direction:column;align-items:stretch;padding:8px 6px;gap:2px;border-right:1px solid rgba(255,255,255,.06);z-index:30;height:100dvh;transition:width .25s ease,min-width .25s ease;overflow-x:hidden;overflow-y:auto}.mobile-icon-nav::-webkit-scrollbar{display:none}.mobile-icon-nav{scrollbar-width:none}.mobile-icon-nav.expanded{width:140px;min-width:140px}.mob-nav-icon{height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;color:var(--muted);border:none;background:transparent;flex-shrink:0;font-family:DM Sans,sans-serif;padding:0;gap:8px;white-space:nowrap;overflow:hidden}.mobile-icon-nav.expanded .mob-nav-icon{justify-content:flex-start;padding:0 10px}.mob-nav-icon:hover{background:#ffffff14;color:var(--cream)}.mob-nav-icon.active{background:var(--blue);color:var(--dark)}.mob-nav-label{display:none;font-size:calc(11px * var(--fs));font-weight:600;opacity:0;transition:opacity .2s}.mobile-icon-nav.expanded .mob-nav-label{display:block;opacity:1}.mob-nav-spacer{flex:1}.mob-nav-toggle{width:36px;height:36px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);background:transparent;flex-shrink:0;margin-bottom:4px;transition:all .15s;font-family:inherit;padding:0}.mobile-icon-nav.expanded .mob-nav-toggle{padding:0 10px;justify-content:flex-start}.mob-nav-toggle:hover{background:#ffffff14;color:var(--cream)}.mobile-main-wrap{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--cream)}.mobile-header{height:48px;flex-shrink:0;background:var(--white);border-bottom:1px solid var(--cream-dk);display:flex;align-items:center;justify-content:space-between;padding:0 14px}.mobile-header.hidden{display:none!important}.mobile-header.dark{background:#1e3040;border-bottom-color:#ffffff0f}.mobile-header.dark .mobile-header-title{color:#ffffffe6}.mobile-header.dark .mobile-header-btn{background:#ffffff0f;color:#fff9}.mobile-header.dark .mobile-header-btn:hover{background:#ffffff1a;color:#ffffffe6}.mobile-header-title{font-family:var(--font-title);font-size:calc(20px * var(--fs));font-weight:700;color:var(--dark);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-header-actions{display:flex;gap:6px}.mobile-header-btn{width:32px;height:32px;border-radius:8px;border:none;background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--mid);transition:all .15s;font-family:inherit}.mobile-header-btn:hover{background:var(--cream-dk);color:var(--dark)}.mobile-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;background:var(--cream)}.shop-cb{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--mid);flex-shrink:0}.shop-row-name{flex:1;font-size:calc(13px * var(--fs));color:var(--dark)}.shop-row-qty{font-size:calc(11px * var(--fs));color:var(--mid);margin-right:6px}.shop-row-x{color:var(--muted);cursor:pointer;font-size:calc(16px * var(--fs))}.rem-cb{width:20px;height:20px;border-radius:6px;border:2px solid var(--mid);flex-shrink:0;margin-top:1px}.rem-body{flex:1}.rem-body-text{font-size:calc(13px * var(--fs));color:var(--dark);line-height:1.5}.rem-body-time{font-size:calc(11px * var(--fs));color:var(--muted);margin-top:4px}.rem-x{color:var(--muted);cursor:pointer;flex-shrink:0;font-size:calc(16px * var(--fs))}.filter-chips{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.f-chip{padding:5px 12px;border-radius:16px;flex-shrink:0;border:1.5px solid var(--cream-dk);background:var(--white);font-size:calc(12px * var(--fs));font-weight:500;color:var(--mid);cursor:pointer}.f-chip.active{background:var(--blue);border-color:var(--blue);color:var(--dark)}.f-chip.fav{color:#c8a855;border-color:#c8a855}.tab-toggle{display:flex;background:var(--cream-dk);border-radius:var(--r-lg);padding:3px;margin-bottom:14px}.tab-toggle button{flex:1;padding:8px;border-radius:var(--r-md);border:none;background:transparent;font-family:DM Sans,sans-serif;font-size:calc(13px * var(--fs));font-weight:500;color:var(--mid);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tab-toggle button.active{background:var(--blue);color:var(--dark);box-shadow:var(--shadow)}.search-bar{display:flex;align-items:center;gap:8px;background:var(--white);border-radius:var(--r-lg);padding:10px 14px;margin-bottom:12px;border:1.5px solid transparent}.search-bar:focus-within{border-color:var(--blue)}.search-bar input{flex:1;border:none;background:transparent;font-family:DM Sans,sans-serif;font-size:calc(13px * var(--fs));color:var(--dark);outline:none}.search-bar input::placeholder{color:var(--muted)}.search-add{width:32px;height:32px;border-radius:var(--r-sm);border:none;background:var(--blue);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--dark);font-size:calc(18px * var(--fs));font-weight:300;flex-shrink:0}.reminder-card{background:var(--white);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:8px;box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:12px}.shop-group{margin-bottom:16px}.shop-group-label{font-size:calc(10px * var(--fs));font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.shop-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);margin-bottom:4px}.shop-row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--cream-dk)}.shop-row:last-child{border-bottom:none}.photo-tabs{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none}.photo-tabs::-webkit-scrollbar{display:none}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-card{aspect-ratio:1;border-radius:var(--r-md);background:var(--cream-dk);overflow:hidden}.pill-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:calc(11px * var(--fs));font-weight:600}.pb-green{background:#a3bfad4d;color:var(--dsage)}.pb-blue{background:#a9c6d94d;color:var(--dark2)}.pb-wheat{background:#f2d8a766;color:#a8844a}.pb-red{background:#b540401a;color:#c8705a}.ai-badge-inline{display:inline-flex;align-items:center;gap:4px;background:#a9c6d933;color:var(--blue-dk);font-size:calc(10px * var(--fs));font-weight:700;padding:2px 8px;border-radius:6px;letter-spacing:.3px}.breadcrumb{font-size:calc(11px * var(--fs));color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:3px}.breadcrumb a{color:var(--blue);cursor:pointer}.breadcrumb b{color:var(--dark);font-weight:600}.calculat-bar{background:var(--cream);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:20px}.calculat-val{display:flex;flex-direction:column}.calculat-val .cv-v{font-size:calc(16px * var(--fs));font-weight:700;color:var(--dark)}.calculat-val .cv-l{font-size:calc(10px * var(--fs));color:var(--muted)}.alim-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.alim-scroll{flex:1;overflow-y:auto}.retete-page,.jurnal-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.ni{display:inline-flex;align-items:center;justify-content:center}.tab-ni{margin-right:4px;opacity:.8}.mob-nav-icon .ni svg,.topbar-btn .ni svg{pointer-events:none}.icon{display:inline-flex;align-items:center;justify-content:center}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.text-muted{color:var(--muted)}.text-mid{color:var(--mid)}.fw-600{font-weight:600}.fs-12{font-size:calc(12px * var(--fs))}.fs-11{font-size:calc(11px * var(--fs))}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.gap-8{gap:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(5deg)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes contentSwitch{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.main-area>*:not(.chat-topbar){animation:contentSwitch .25s ease both}.alim-scroll{animation:contentSwitch .2s ease both}.food-card{animation:fadeInScale .3s ease both}.food-card:nth-child(2){animation-delay:.03s}.food-card:nth-child(3){animation-delay:.06s}.food-card:nth-child(4){animation-delay:.09s}.food-card:nth-child(5){animation-delay:.12s}.food-card:nth-child(6){animation-delay:.15s}.js-meal-card{animation:fadeInScale .25s ease both}.js-meal-card:nth-child(2){animation-delay:.04s}.js-meal-card:nth-child(3){animation-delay:.08s}.js-meal-card:nth-child(4){animation-delay:.12s}@media (min-width: 769px){.mobile-icon-nav,.mobile-header,.mobile-main-wrap,.install-banner{display:none!important}:root{--fs: 1.1}}@media (max-width: 768px){.rail,.journal-sidebar,.main-area,.desktop-panel,.ctx-panel{display:none!important}.mobile-icon-nav{display:flex}.app-root{display:flex!important;flex-direction:row;grid-template-columns:unset!important;background:var(--cream);min-height:100dvh}.app-root.with-panel{grid-template-columns:unset!important}}.meal-fab{display:none;position:fixed;bottom:22px;right:16px;z-index:var(--z-fab);width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#d4804a,#e8976b);color:#fff;cursor:pointer;align-items:center;justify-content:center;overflow:visible;box-shadow:0 4px 14px #e8976b59,0 1px 4px #00000026;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s ease;-webkit-tap-highlight-color:transparent}.meal-fab:active{transform:scale(.92);box-shadow:0 2px 8px #e8976b4d}.meal-fab-badge{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}@media (max-width: 768px){.meal-fab{display:flex}}._card_12g4e_13{background:var(--white, #fff);border-radius:var(--r-xl, 24px);box-shadow:0 2px 20px #2c4a5a14,0 1px 4px #2c4a5a0d;overflow:hidden;width:100%;max-width:680px}._header_12g4e_33{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:1px solid var(--cream-dk, #E8E2DC)}._headerLeft_12g4e_51{display:flex;align-items:center;gap:8px;min-width:0}._leafIcon_12g4e_67{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--dark, #2C4A5A);color:var(--wheat, #F3D8A7);display:flex;align-items:center;justify-content:center;padding:3px}._leafIcon_12g4e_67 svg{width:100%;height:100%;display:block}._label_12g4e_107{font-family:"DM Serif Display",Georgia,serif;font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--dsage, #3D6B52);white-space:nowrap;line-height:1}._typeBadge_12g4e_129{display:inline-flex;align-items:center;padding:2px 8px;border-radius:8px;background:var(--cream, #F2EEEB);color:var(--mid, #7A9BAA);font-size:11px;font-weight:600;white-space:nowrap;line-height:1.4}._headerActions_12g4e_157{display:flex;align-items:center;gap:4px;flex-shrink:0}._iconBtn_12g4e_173{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--r-sm, 8px);background:transparent;color:var(--muted, #A8BEC8);cursor:pointer;transition:all .12s;padding:0;font-family:DM Sans,sans-serif;-webkit-tap-highlight-color:transparent}._iconBtn_12g4e_173:hover{background:var(--cream, #F2EEEB);color:var(--dark, #2C4A5A)}._iconBtn_12g4e_173:active{transform:scale(.9)}._iconBtn_12g4e_173 svg{width:14px;height:14px;display:block}._body_12g4e_239{padding:14px 16px}._body_12g4e_239 .md-body{font-size:14px;line-height:1.65;color:var(--dark, #2C4A5A)}._body_12g4e_239 .md-body p{margin-bottom:8px}._body_12g4e_239 .md-body p:last-child{margin-bottom:0}._body_12g4e_239 .md-body ul,._body_12g4e_239 .md-body ol{margin:6px 0 8px 18px}._body_12g4e_239 .md-body li{margin-bottom:4px;font-size:13px;color:#4a6a7a}._body_12g4e_239 .md-body strong{font-weight:700;color:var(--dark, #2C4A5A)}._body_12g4e_239 .md-body h3{font-family:"DM Serif Display",Georgia,serif;font-weight:700;font-size:16px;line-height:1.3;margin:14px 0 7px;color:var(--dark, #2C4A5A)}._body_12g4e_239 .md-body h4{font-family:"DM Serif Display",Georgia,serif;font-weight:700;font-size:15px;line-height:1.3;margin:12px 0 6px;color:var(--dark, #2C4A5A)}._body_12g4e_239 .md-body em{font-family:"DM Serif Display",Georgia,serif;font-style:italic}._body_12g4e_239 .md-body strong em,._body_12g4e_239 .md-body em strong{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-weight:700}.dash{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg)}.date-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);z-index:var(--z-sticky)}.dash-scroll{padding:16px 16px 120px;display:flex;flex-direction:column;gap:16px}.date-nav-btn{width:44px;height:44px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--primary);border:none;color:var(--text-white);font-size:18px;cursor:pointer;font-family:var(--font-family);line-height:1;transition:all var(--transition-smooth);font-weight:var(--font-weight-bold);box-shadow:0 4px 12px #8aacbf59;flex-shrink:0}.date-nav-btn:hover{transform:scale(1.06);box-shadow:0 6px 18px #8aacbf73}.date-nav-btn:active{transform:scale(.95)}.date-nav-btn:disabled{opacity:.3;cursor:default;transform:none;box-shadow:none}.date-nav-center{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.date-label-clickable{cursor:pointer;padding:4px 12px;border-radius:var(--radius-sm);transition:all var(--transition-normal);position:relative;font-size:17px;font-weight:var(--font-weight-extrabold);color:var(--text);letter-spacing:-.3px}.date-label-clickable:hover{background:#a9c6d826;color:var(--primary-dark)}.date-today-pill{display:inline-block;padding:3px 14px;border-radius:var(--radius-full);background:#a9c6d833;color:var(--primary-dark);font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.3px}.date-nav-share-btn{width:36px;height:36px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.date-nav-share-btn:hover{background:#a9c6d833;color:var(--primary)}.date-hidden-input{position:absolute;opacity:0;width:1px;height:1px;top:50%;left:50%;border:none;padding:0}.insights-panel{display:flex;flex-direction:column;gap:8px}.insight-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);animation:cardAppear .3s ease-out;border:none}.insight-low{background:linear-gradient(135deg,#a9c6d826,#a9c6d814)}.insight-medium{background:linear-gradient(135deg,#f2d8a740,#f2d8a71f)}.insight-high{background:linear-gradient(135deg,#f2bea040,#f2bea01f)}.insight-msg{flex:1;font-size:var(--font-size-sm);line-height:1.4;color:var(--text)}.insight-dismiss{background:none;border:none;font-size:14px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}.insight-dismiss:hover{color:var(--text-secondary)}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:none;overflow:hidden;box-shadow:var(--shadow-md);animation:cardAppear .4s ease both;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card:active{transform:scale(.98)}.card-header{padding:14px 18px;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.3px;color:var(--primary);text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--primary-bg),rgba(255,255,255,1))}.card-body{padding:14px 16px}.cal-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:20px}.cal-ring{position:relative;width:180px;height:180px;flex-shrink:0}.cal-ring svg{transform:rotate(-90deg)}.cal-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.cal-big{font-size:36px;font-weight:var(--font-weight-extrabold);background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-variant-numeric:tabular-nums;letter-spacing:-1px;line-height:1}.cal-big.over{background:linear-gradient(135deg,#E07B7B,var(--accent-peach-dark));-webkit-background-clip:text;background-clip:text}.cal-unit{font-size:13px;color:var(--text-muted);margin-top:4px;font-weight:var(--font-weight-medium)}.cal-details{width:100%}.ring-bg{stroke:#a9c6d833}.ring-fill{stroke:url(#ringGrad)}.ring-fill.over{stroke:var(--error)}.macro-item{margin-bottom:12px}.macro-item:last-child{margin-bottom:0}.macro-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.macro-label{font-size:var(--font-size-sm);color:var(--text);font-weight:var(--font-weight-medium)}.macro-val{font-size:var(--font-size-sm);color:var(--text);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.macro-bar{height:8px;border-radius:4px;background:var(--bg-input);overflow:hidden}.macro-fill{height:100%;border-radius:4px;transition:width .3s ease;will-change:width}.macro-fill.protein{background:linear-gradient(90deg,#8aacbf,#a9c6d9)}.macro-fill.fat{background:linear-gradient(90deg,var(--accent-peach-dark),var(--accent-peach))}.macro-fill.carbs{background:linear-gradient(90deg,var(--accent-sage-dark),var(--accent-sage))}.macro-fill.sodium{background:linear-gradient(90deg,#E07B7B,var(--accent-peach))}.dash-greeting{display:flex;flex-direction:column;gap:4px;padding:4px 0 8px}.dash-greeting-text{font-size:22px;font-weight:800;color:var(--text)}.dash-greeting-sub{font-size:14px;color:var(--text-muted)}.meal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.meal-grid-item{background:var(--accent-cream);border-radius:16px;padding:16px;text-align:center;cursor:pointer;transition:all .2s}.meal-grid-item:hover{background:#a9c6d81f;transform:scale(1.02)}.meal-grid-item:active{transform:scale(.97)}.meal-grid-icon{font-size:28px;margin-bottom:8px}.meal-grid-label{font-size:14px;font-weight:600;color:var(--text)}.meal-grid-cal{font-size:13px;color:var(--text-muted);margin-top:4px}.meal-grid-count{font-size:11px;color:var(--primary);margin-top:2px;font-weight:500}.meals-summary{cursor:pointer;transition:all var(--transition-smooth)}.meals-summary:active{transform:scale(.98)}.meal-type-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.meal-chip{padding:6px 14px;border-radius:var(--radius-full);font-size:var(--font-size-sm);background:var(--primary-bg);color:var(--primary);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.meal-chip:hover{background:#a9c6d833}.meal-chip-count{color:var(--primary-dark);font-weight:var(--font-weight-bold);margin-left:4px}.meal-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:9899;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.meal-overlay{background:var(--bg-card);border-radius:var(--radius-xl);width:92%;max-width:var(--max-content-width);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.meal-overlay-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:var(--primary-gradient);border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:sticky;top:0;z-index:10}.meal-overlay-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);color:var(--text-white);display:flex;align-items:center;gap:8px;letter-spacing:-.3px}.meal-overlay-title:before{content:"🍽️";font-size:20px}.meal-overlay-close{background:#fff3;border:none;font-size:18px;cursor:pointer;color:var(--text-white);transition:all var(--transition-fast);padding:0;line-height:1;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center}.meal-overlay-close:hover{background:#ffffff59;transform:rotate(90deg)}.meal-overlay-tabs{display:flex;padding:4px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;background:var(--primary-bg);position:sticky;top:0;z-index:9}.meal-overlay-tab{flex:0 0 auto;padding:10px 16px;border:none;background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);cursor:pointer;border-radius:10px;transition:all var(--transition-normal);font-family:var(--font-family)}.meal-overlay-tab.active{color:var(--text-white);background:var(--primary-gradient);box-shadow:var(--shadow-green)}.meal-overlay-tab:not(.active):hover{color:var(--primary);background:#a9c6d826}.meal-overlay-body{flex:1;overflow-y:auto;padding:16px 20px;-webkit-overflow-scrolling:touch}.meal-list{display:flex;flex-direction:column;gap:10px}.meal-item{background:var(--bg-card);border-radius:var(--radius-sm);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-normal);box-shadow:var(--shadow-xs)}.meal-item:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.meal-item-left{flex:1;min-width:0}.meal-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text);margin-bottom:4px}.meal-item-details{font-size:11px;color:var(--text-secondary);display:flex;gap:8px}.meal-item-detail{display:flex;align-items:center;gap:2px}.meal-item-actions{display:flex;gap:6px;flex-shrink:0}.meal-item-btn{background:var(--primary-bg);border:none;cursor:pointer;color:var(--primary);transition:all var(--transition-fast);padding:8px;line-height:1;border-radius:10px;display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px}.meal-item-btn:hover{background:#a9c6d833}.meal-item-btn:active{transform:scale(.92)}.meal-item-btn.delete{background:#ef44440f;color:var(--error)}.meal-item-btn.delete:hover{background:#ef44441f}.meal-overlay-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:var(--font-size-sm)}.meal-overlay-summary{background:var(--primary-bg);padding:14px 20px;font-size:var(--font-size-sm);color:var(--text-secondary);display:flex;gap:16px;justify-content:center;flex-wrap:wrap;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.meal-overlay-summary-item{display:flex;gap:4px}.meal-overlay-summary-val{color:var(--primary);font-weight:var(--font-weight-bold)}.edit-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.edit-modal{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:420px;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.edit-modal-header{padding:16px 20px;font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);color:var(--primary);display:flex;justify-content:space-between;align-items:center;background:var(--primary-bg)}.edit-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;line-height:1}.edit-modal-close:hover{color:var(--text)}.edit-modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 24px;-webkit-overflow-scrolling:touch;box-sizing:border-box}.edit-modal-body *{box-sizing:border-box}.edit-modal-field{margin-bottom:14px;display:flex;flex-direction:column;gap:4px}.edit-modal-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.edit-modal-input{padding:10px 14px;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-input);color:var(--text);font-family:var(--font-family);transition:box-shadow var(--transition-fast);width:100%;max-width:100%;box-sizing:border-box}.edit-modal-input:focus{outline:none;box-shadow:0 0 0 2px #a9c6d866}.edit-modal-footer{display:flex;gap:10px;padding:14px 20px;border-top:1px solid var(--bg-input)}.btn-save{flex:1;padding:12px 14px;background:var(--primary-gradient);color:var(--text-white);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);box-shadow:var(--shadow-green)}.btn-save:hover{transform:translateY(-1px);box-shadow:var(--shadow-green-lg)}.btn-save:active{transform:scale(.97)}.btn-cancel{flex:1;padding:10px 14px;background:var(--bg-input);color:var(--text-secondary);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.btn-cancel:hover{background:#0000000f}.supp-counter{color:var(--text-secondary);font-weight:var(--font-weight-medium);text-transform:none;font-size:var(--font-size-sm);background:var(--primary-bg);padding:2px 10px;border-radius:var(--radius-full);transition:all var(--transition-fast)}.supp-counter-done{background:#a9c6d840;color:var(--primary);font-weight:var(--font-weight-bold)}.supp-progress-track{height:4px;background:var(--bg-input);border-radius:4px;margin-bottom:12px;overflow:hidden}.supp-progress-fill{height:100%;border-radius:4px;background:var(--primary-gradient);transition:width .3s ease;will-change:width;min-width:0}.supp-toggle-list{display:flex;flex-wrap:wrap;gap:8px}.supp-toggle-item{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:none;border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;font-family:var(--font-family);transition:all var(--transition-smooth);min-width:0;box-shadow:var(--shadow-xs)}.supp-toggle-item:hover{box-shadow:var(--shadow-sm);transform:scale(1.02)}.supp-toggle-item.taken{background:linear-gradient(135deg,#a3bfad1f,#a3bfad0f);box-shadow:var(--shadow-primary)}.supp-toggle-item.toggling{opacity:.6;pointer-events:none}.supp-toggle-check{width:22px;height:22px;border-radius:8px;background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:var(--font-weight-bold);color:var(--primary);flex-shrink:0;transition:all var(--transition-fast)}.supp-toggle-item.taken .supp-toggle-check{background:var(--primary-gradient);color:var(--text-white);box-shadow:var(--shadow-green)}.supp-toggle-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.supp-toggle-item.taken .supp-toggle-name{color:var(--primary)}.supp-extra-list{margin-top:14px;padding-top:14px;border-top:1px solid var(--bg-input);display:flex;flex-direction:column;gap:8px}.supp-extra-label{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.supp-list-modern{display:flex;flex-direction:column;gap:8px}.supp-extra-item{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:none;border-radius:var(--radius-sm);padding:10px 12px;transition:all var(--transition-fast);animation:fadeIn .3s ease;box-shadow:var(--shadow-xs)}.supp-extra-item:hover{box-shadow:var(--shadow-sm)}.supp-extra-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.supp-extra-info{flex:1;min-width:0}.supp-extra-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--primary)}.supp-extra-dose{font-size:11px;color:var(--text-secondary);margin-top:1px}.ex-list{display:flex;flex-direction:column}.ex-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--bg-input)}.ex-row:last-child{border-bottom:none}.ex-left{flex:1}.ex-type{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--primary);margin-bottom:2px}.ex-details{font-size:var(--font-size-sm);color:var(--text-secondary);display:flex;gap:8px}.ex-actions{display:flex;gap:5px;flex-shrink:0}.ex-btn{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#ffffff26;color:#ffffffb3;transition:all .15s ease}.ex-btn:hover,.ex-btn:active{background:#ffffff40;color:#fff}.ex-btn-del{background:#ef444426;color:#ef6464e6}.ex-btn-del:hover,.ex-btn-del:active{background:#ef44444d;color:#ef4444}.weight-card-body{padding:16px}.weight-main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.weight-big{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-variant-numeric:tabular-nums;line-height:1}.weight-delta{padding:6px 10px;border-radius:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center}.weight-delta.neg{background:#a9c6d826;color:var(--success)}.weight-delta.pos{background:#ef444414;color:var(--error)}.weight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weight-stat{background:var(--primary-bg);border:none;border-radius:var(--radius-sm);padding:12px;text-align:center;transition:all var(--transition-fast)}.weight-stat:hover{box-shadow:var(--shadow-sm)}.weight-stat-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.weight-stat-val{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.reminders-fab{position:fixed;bottom:90px;right:16px;z-index:var(--z-fab);width:52px;height:52px;border-radius:50%;border:none;background:var(--primary-gradient);color:var(--text-white);font-size:22px;cursor:pointer;box-shadow:var(--shadow-green-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-smooth)}.reminders-fab:hover{transform:scale(1.1);box-shadow:0 8px 30px #8aacbf66}.reminders-fab:active{transform:scale(.95)}.reminders-fab-badge{position:absolute;top:-4px;right:-4px;background:var(--error);color:var(--text-white);font-size:11px;font-weight:var(--font-weight-bold);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-card);box-shadow:0 2px 8px #ef444466}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeInBg{0%{background:#0000}to{background:#0000004d}}.reminders-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-panel);animation:fadeInBg .2s ease forwards}.reminders-panel{position:absolute;top:0;right:0;bottom:0;width:min(85vw,380px);background:var(--bg-card);box-shadow:-8px 0 40px #0000001a;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.reminders-panel-header{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);color:var(--primary);background:var(--primary-bg)}.reminders-panel-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted);line-height:1;transition:color var(--transition-fast)}.reminders-panel-close:hover{color:var(--error)}.reminders-panel-add-btn{background:var(--primary-gradient);border:none;color:var(--text-white);width:28px;height:28px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:var(--shadow-green)}.reminders-panel-add-btn:hover{transform:scale(1.1)}.reminders-panel-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}.reminder-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-card);border:none;box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.reminder-item:hover{box-shadow:var(--shadow-sm)}.reminder-item.high{border-left:3px solid var(--warning)}.reminder-item.done{opacity:.45}.reminder-check{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;font-size:var(--font-size-sm);color:var(--text);min-width:0}.reminder-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.reminder-text{overflow:hidden;text-overflow:ellipsis}.reminder-item.done .reminder-text{text-decoration:line-through;color:var(--text-muted)}.reminder-date{font-size:11px;color:var(--primary);white-space:nowrap;font-weight:var(--font-weight-semibold)}.reminder-ai{font-size:11px;flex-shrink:0}.reminder-dismiss{background:none;border:none;color:var(--text-light);font-size:16px;cursor:pointer;padding:0 2px;line-height:1;transition:color var(--transition-fast)}.reminder-dismiss:hover{color:var(--error)}.reminder-add-row{display:flex;gap:8px;margin-top:4px}.reminder-add-input{flex:1;border:none;border-radius:var(--radius-sm);padding:10px 14px;font-size:var(--font-size-sm);outline:none;background:var(--bg-input);transition:box-shadow var(--transition-fast)}.reminder-add-input:focus{box-shadow:0 0 0 2px #a9c6d866}.reminder-add-btn{background:var(--primary-gradient);color:var(--text-white);border:none;border-radius:var(--radius-sm);padding:10px 16px;cursor:pointer;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-green);transition:all var(--transition-fast)}.reminder-add-btn:hover{transform:scale(1.05)}.shopping-fab{position:fixed;bottom:160px;right:16px;z-index:var(--z-fab);width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent-sage),var(--primary-light));color:var(--text-white);font-size:22px;cursor:pointer;box-shadow:0 6px 24px #8aacbf66;display:flex;align-items:center;justify-content:center;transition:all var(--transition-smooth)}.shopping-fab:hover{transform:scale(1.1);box-shadow:0 8px 30px #8aacbf80}.shopping-fab:active{transform:scale(.95)}.shopping-fab-badge{position:absolute;top:-4px;right:-4px;background:var(--error);color:var(--text-white);font-size:11px;font-weight:var(--font-weight-bold);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-card);box-shadow:0 2px 8px #ef444466}.shopping-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-panel);animation:fadeInBg .2s ease forwards}.shopping-panel{position:absolute;top:0;right:0;bottom:0;width:min(85vw,380px);background:var(--bg-card);box-shadow:-8px 0 40px #0000001a;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.4,0,.2,1)}.shopping-panel-header{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);color:var(--primary);background:var(--primary-bg)}.shopping-panel-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted);line-height:1;transition:color var(--transition-fast)}.shopping-panel-close:hover{color:var(--error)}.shopping-panel-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch}.shop-aisle-label{font-size:11px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--primary);padding:8px 0 4px;border-bottom:1px solid var(--bg-input);margin-top:4px}.shop-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-card);border:none;box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.shop-item:hover{box-shadow:var(--shadow-sm)}.shop-item.checked{opacity:.4}.shop-item-check{display:flex;align-items:center;gap:8px;flex:1;cursor:pointer;font-size:var(--font-size-sm);color:var(--text);min-width:0}.shop-item-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.shop-item-name{overflow:hidden;text-overflow:ellipsis}.shop-item.checked .shop-item-name{text-decoration:line-through;color:var(--text-muted)}.shop-item-qty{font-size:11px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.shop-item-del{background:none;border:none;color:var(--text-light);font-size:16px;cursor:pointer;padding:0 2px;line-height:1;transition:color var(--transition-fast)}.shop-item-del:hover{color:var(--error)}.shop-add-row{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.shop-add-input{flex:1;min-width:120px;border:none;border-radius:var(--radius-sm);padding:10px 14px;font-size:var(--font-size-sm);outline:none;background:var(--bg-input);transition:box-shadow var(--transition-fast)}.shop-add-input:focus{box-shadow:0 0 0 2px #a9c6d866}.shop-add-select{border:none;border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--font-size-sm);outline:none;background:var(--bg-input);color:var(--text)}.shop-add-btn{background:var(--primary-gradient);color:var(--text-white);border:none;border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-green);transition:all var(--transition-fast)}.shop-add-btn:hover{transform:scale(1.05)}.shop-clear-btn{width:100%;margin-top:8px;padding:10px;border:1px dashed rgba(239,68,68,.3);border-radius:var(--radius-sm);background:#ef44440a;color:var(--error);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.shop-clear-btn:hover{background:#ef44441a;border-color:#ef444480}.steps-card-body{padding:16px;display:flex;align-items:center;gap:20px}.steps-ring-wrap{position:relative;width:100px;height:100px;flex-shrink:0}.steps-ring-svg{width:100%;height:100%}.steps-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.steps-count{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary);line-height:1.1}.steps-target{font-size:11px;color:var(--text-muted)}.steps-stats{display:flex;flex-direction:column;gap:8px;flex:1}.steps-stat{display:flex;align-items:baseline;gap:4px}.steps-stat-val{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text)}.steps-stat-label{font-size:var(--font-size-sm);color:var(--text-muted)}.sleep-card-body{padding:16px}.sleep-total{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text);margin-bottom:12px}.sleep-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;margin-bottom:10px;background:var(--bg-input)}.sleep-seg{height:100%;transition:width .4s ease}.sleep-seg.deep{background:#6d94a8}.sleep-seg.light{background:#a9c6d9}.sleep-seg.rem{background:var(--accent-sage)}.sleep-seg.awake{background:var(--accent-peach)}.sleep-legend{display:flex;flex-wrap:wrap;gap:10px}.sleep-leg-item{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--text-secondary)}.sleep-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sleep-dot.deep{background:#6d94a8}.sleep-dot.light{background:#a9c6d9}.sleep-dot.rem{background:var(--accent-sage)}.sleep-dot.awake{background:var(--accent-peach)}.hr-card-body{padding:16px}.hr-main{display:flex;align-items:center;gap:10px;margin-bottom:14px}.hr-resting{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:1;color:var(--text)}.hr-unit{font-size:var(--font-size-sm);color:var(--text-muted)}.hr-stats{display:flex;gap:16px}.hr-stat{text-align:center}.hr-stat-val{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text)}.hr-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.huawei-card{border:none}.huawei-card-body{padding:14px 16px}.huawei-connect-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#e60012,#ff4d4d);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;box-shadow:0 4px 16px #e6001240;transition:all var(--transition-fast)}.huawei-connect-btn:hover{transform:scale(1.02);box-shadow:0 6px 20px #e6001259}.huawei-actions{display:flex;gap:8px;align-items:center}.huawei-sync-btn{flex:1;padding:10px 16px;background:#e600120f;color:#e60012;border:1.5px solid rgba(230,0,18,.2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:6px}.huawei-sync-btn:hover{background:#e600121f}.huawei-sync-btn:disabled{opacity:.6;cursor:not-allowed}.huawei-disconnect-btn{width:36px;height:36px;border-radius:10px;border:none;background:#ef44440f;color:var(--error);font-size:16px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.huawei-disconnect-btn:hover{background:#ef44441f}.huawei-last-sync{margin-top:8px;font-size:11px;color:var(--text-muted)}.huawei-sync-result{margin-top:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--success)}.huawei-sync-result.error{color:var(--error)}.huawei-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(230,0,18,.2);border-top-color:#e60012;animation:spin .8s linear infinite}._wrapper_1pgn9_13{width:100%}._hiddenInput_1pgn9_23{position:absolute;width:0;height:0;opacity:0;pointer-events:none}._preview_1pgn9_47{position:relative;width:100%;border-radius:14px;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}._image_1pgn9_65{display:block;width:100%;height:100%;object-fit:cover}._overlay_1pgn9_81{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}._preview_1pgn9_47:hover ._overlay_1pgn9_81,._preview_1pgn9_47:focus-visible ._overlay_1pgn9_81{opacity:1}._overlayText_1pgn9_113{color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.02em}._removeBtn_1pgn9_129{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:var(--radius-full);border:none;background:#00000073;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);padding:0;font-family:var(--font-family);-webkit-tap-highlight-color:transparent;z-index:2}._preview_1pgn9_47:hover ._removeBtn_1pgn9_129,._preview_1pgn9_47:focus-visible ._removeBtn_1pgn9_129{opacity:1}._removeBtn_1pgn9_129:hover{background:#c8705ad9}._removeBtn_1pgn9_129:active{transform:scale(.9)}._dropzone_1pgn9_211{position:relative;width:100%;border:2px dashed rgba(44,74,90,.2);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);cursor:pointer;background:transparent;transition:border-color var(--transition-fast),background var(--transition-fast);-webkit-tap-highlight-color:transparent}._dropzone_1pgn9_211:hover,._dropzone_1pgn9_211:focus-visible{border-color:#a3bfad80;background:#a3bfad0a}._emptyContent_1pgn9_259{display:flex;flex-direction:column;align-items:center;gap:6px}._cameraIcon_1pgn9_273{color:#a8bec8;display:flex;align-items:center;justify-content:center}._emptyLabel_1pgn9_287{font-size:13px;color:#a8bec8;font-weight:var(--font-weight-medium);line-height:1}._pickBtn_1pgn9_303{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:20px;border:1.5px solid var(--accent-sage);background:transparent;color:var(--accent-sage-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;font-family:var(--font-family);transition:background var(--transition-fast),color var(--transition-fast);-webkit-tap-highlight-color:transparent}._pickBtn_1pgn9_303:hover{background:#a3bfad1f;color:#3d6b52}._pickBtn_1pgn9_303:active{transform:scale(.96)}@media (hover: none){._removeBtn_1pgn9_129{opacity:1}}._page_16cca_5{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;font-family:DM Sans,sans-serif;background:var(--af-cream)}._left_16cca_25{position:relative;background:var(--af-dark);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:64px 72px;overflow:hidden}._blob_16cca_47{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25;pointer-events:none}._blob1_16cca_61{width:420px;height:420px;background:var(--af-sage);top:-100px;left:-80px}._blob2_16cca_63{width:300px;height:300px;background:var(--af-blue);bottom:-60px;right:-60px}._blob3_16cca_65{width:200px;height:200px;background:var(--af-wheat);top:55%;left:60%}._decoItems_16cca_69{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}._decoItem_16cca_69{position:absolute;opacity:.12;font-size:48px;animation:_float_16cca_1 6s ease-in-out infinite}._decoItem_16cca_69:nth-child(1){top:12%;left:18%;animation-delay:0s}._decoItem_16cca_69:nth-child(2){top:38%;left:72%;animation-delay:1.4s}._decoItem_16cca_69:nth-child(3){top:65%;left:28%;animation-delay:2.8s}._decoItem_16cca_69:nth-child(4){top:82%;left:68%;animation-delay:.7s}._decoItem_16cca_69:nth-child(5){top:22%;left:55%;animation-delay:2s}@keyframes _float_16cca_1{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(5deg)}}._leftContent_16cca_113{position:relative;z-index:2}._logoWrap_16cca_123{display:block;margin-bottom:48px;animation:_fadeUp_16cca_1 .6s ease both}._heroHeadline_16cca_135{font-family:"DM Serif Display",serif;font-size:52px;line-height:1.1;color:var(--af-cream);margin-bottom:24px;animation:_fadeUp_16cca_1 .6s .1s ease both}._heroHeadline_16cca_135 em{font-style:italic;color:var(--af-wheat)}._heroSub_16cca_161{font-size:16px;font-weight:300;color:var(--af-blue);line-height:1.65;max-width:380px;margin-bottom:52px;animation:_fadeUp_16cca_1 .6s .2s ease both}._pills_16cca_181{display:flex;flex-direction:column;gap:12px;animation:_fadeUp_16cca_1 .6s .3s ease both}._pill_16cca_181{display:flex;align-items:center;gap:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:40px;padding:10px 18px;width:fit-content;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}._pillDot_16cca_215{width:8px;height:8px;border-radius:50%;flex-shrink:0}._pill_16cca_181 span{font-size:13px;font-weight:400;color:var(--af-cream);opacity:.85}._right_16cca_243{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 64px;background:var(--af-cream);position:relative}._right_16cca_243:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 80% 20%,rgba(169,198,217,.2) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(163,191,173,.2) 0%,transparent 50%);pointer-events:none}._formWrap_16cca_281{width:100%;max-width:400px;position:relative;z-index:1}._formHeader_16cca_295{margin-bottom:40px;animation:_fadeUp_16cca_1 .5s .15s ease both}._formTitle_16cca_303{font-family:"DM Serif Display",serif;font-size:34px;color:var(--af-dark);margin-bottom:6px}._formTitle_16cca_303 em{font-style:italic;color:var(--af-mid-sage)}._formSub_16cca_317{font-size:14px;font-weight:300;color:var(--af-mid)}._btnGoogle_16cca_329{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:1.5px solid rgba(44,74,90,.15);border-radius:var(--af-radius-lg);font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;color:var(--af-dark);cursor:pointer;transition:all .2s;margin-bottom:28px;animation:_fadeUp_16cca_1 .5s .2s ease both;text-decoration:none}._btnGoogle_16cca_329:hover:not(:disabled){background:var(--af-blue);border-color:transparent;transform:translateY(-1px);box-shadow:0 8px 24px #a9c6d966}._btnGoogle_16cca_329:disabled{cursor:not-allowed;filter:grayscale(.3) opacity(.45)}._divider_16cca_391{display:flex;align-items:center;gap:16px;margin-bottom:28px;animation:_fadeUp_16cca_1 .5s .25s ease both}._dividerLine_16cca_405{flex:1;height:1px;background:#2c4a5a1f}._divider_16cca_391 span{font-size:12px;color:var(--af-mid);font-weight:300}._field_16cca_411{margin-bottom:16px;animation:_fadeUp_16cca_1 .5s .3s ease both}._field_16cca_411 label{display:block;font-size:12px;font-weight:500;color:var(--af-dark);letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}._field_16cca_411 input{width:100%;padding:14px 18px;background:#fff;border:1.5px solid rgba(44,74,90,.12);border-radius:var(--af-radius-md);font-family:DM Sans,sans-serif;font-size:15px;color:var(--af-dark);outline:none;transition:all .2s}._field_16cca_411 input::placeholder{color:#2c4a5a4d}._field_16cca_411 input:focus{border-color:var(--af-sage);box-shadow:0 0 0 4px #a3bfad33}._btnSubmit_16cca_473{width:100%;padding:16px;background:var(--af-dark);color:var(--af-wheat);border:none;border-radius:var(--af-radius-lg);font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;letter-spacing:.3px;cursor:pointer;transition:all .2s;margin-top:8px;margin-bottom:24px;animation:_fadeUp_16cca_1 .5s .4s ease both}._btnSubmit_16cca_473:hover:not(:disabled){background:var(--af-dark-sage);transform:translateY(-1px);box-shadow:var(--af-shadow-btn)}._btnSubmit_16cca_473:disabled{cursor:not-allowed;filter:opacity(.45)}._formLinks_16cca_527{display:flex;justify-content:center;gap:6px;font-size:13px;color:var(--af-mid);margin-bottom:32px;animation:_fadeUp_16cca_1 .5s .45s ease both}._formLinks_16cca_527 a{color:var(--af-dark-sage);text-decoration:none;font-weight:500}._formLinks_16cca_527 a:hover{text-decoration:underline}._devLogin_16cca_559{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--af-mid);opacity:.6;cursor:pointer;margin-bottom:28px;transition:opacity .2s;background:none;border:none;font-family:DM Sans,sans-serif;animation:_fadeUp_16cca_1 .5s .5s ease both}._devLogin_16cca_559:hover:not(:disabled){opacity:1}._devLogin_16cca_559:disabled{filter:opacity(.25);cursor:not-allowed}._agreementRow_16cca_599{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin-bottom:18px;animation:_fadeUp_16cca_1 .5s .2s ease both}._agreementCheckbox_16cca_609{width:18px;height:18px;margin-top:2px;accent-color:var(--af-dark-sage, #3D6B52);cursor:pointer;flex-shrink:0}._agreementText_16cca_619{font-size:12.5px;line-height:1.5;color:var(--af-mid, #7A9BAA)}._agreementText_16cca_619 a{color:var(--af-dark, #2C4A5A);text-decoration:underline;text-underline-offset:2px;font-weight:500}._agreementText_16cca_619 a:hover{color:var(--af-dark-sage, #3D6B52)}._formFooter_16cca_639{text-align:center;font-size:11px;color:var(--af-mid);opacity:.55;line-height:1.6;animation:_fadeUp_16cca_1 .5s .55s ease both}._formFooter_16cca_639 a{color:inherit;text-decoration:underline}@keyframes _fadeUp_16cca_1{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){._page_16cca_5{grid-template-columns:1fr}._left_16cca_25{display:none}._right_16cca_243{padding:40px 24px}}.log-animation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:none}.log-animation-item{position:fixed;display:flex;flex-direction:column;align-items:center;gap:8px;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);z-index:10001}.log-animation-appear{animation:logAppear .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes logAppear{0%{transform:translate(-50%,-50%) scale(0) rotate(-15deg);opacity:0}50%{transform:translate(-50%,-50%) scale(1.15) rotate(5deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.log-animation-fly{animation:logFly .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes logFly{0%{top:50%;left:50%;transform:translate(-50%,-50%) scale(1);opacity:1}to{top:var(--fly-y);left:var(--fly-x);transform:translate(-50%,-50%) scale(.15);opacity:.3}}.log-animation-done{top:var(--fly-y);left:var(--fly-x);transform:translate(-50%,-50%) scale(.15);animation:logDone .25s ease-out forwards}@keyframes logDone{0%{opacity:.3;transform:translate(-50%,-50%) scale(.15)}to{opacity:0;transform:translate(-50%,-50%) scale(.05)}}.log-animation-emoji{font-size:72px;line-height:1;filter:drop-shadow(0 4px 20px rgba(0,0,0,.25));animation:logEmojiBounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes logEmojiBounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.log-animation-label{font-family:Inter,system-ui,sans-serif;font-size:17px;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3);padding:6px 18px;border-radius:20px;background:var(--anim-gradient);box-shadow:0 4px 20px #a855f766;white-space:nowrap;letter-spacing:-.3px}.log-animation-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:120px;height:120px;border-radius:50%;background:var(--anim-gradient);opacity:.15;filter:blur(30px);animation:logGlowPulse .8s ease-in-out}@keyframes logGlowPulse{0%{transform:translate(-50%,-60%) scale(0);opacity:0}50%{transform:translate(-50%,-60%) scale(1.5);opacity:.25}to{transform:translate(-50%,-60%) scale(1);opacity:.15}}.log-animation-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);pointer-events:none}.log-particle{position:absolute;font-size:24px;opacity:0;animation-duration:.8s;animation-timing-function:ease-out;animation-fill-mode:forwards;animation-delay:.15s}.log-particle-0{animation-name:logParticle0}.log-particle-1{animation-name:logParticle1}.log-particle-2{animation-name:logParticle2}.log-particle-3{animation-name:logParticle3}@keyframes logParticle0{0%{transform:translate(0) scale(0);opacity:0}25%{opacity:1}to{transform:translate(-65px,-75px) scale(.4);opacity:0}}@keyframes logParticle1{0%{transform:translate(0) scale(0);opacity:0}25%{opacity:1}to{transform:translate(70px,-60px) scale(.4);opacity:0}}@keyframes logParticle2{0%{transform:translate(0) scale(0);opacity:0}25%{opacity:1}to{transform:translate(-60px,55px) scale(.4);opacity:0}}@keyframes logParticle3{0%{transform:translate(0) scale(0);opacity:0}25%{opacity:1}to{transform:translate(75px,45px) scale(.4);opacity:0}}.log-animation-type-meal .log-animation-emoji{animation:logMealEmoji .7s cubic-bezier(.34,1.56,.64,1)}@keyframes logMealEmoji{0%{transform:scale(0) rotate(-20deg)}50%{transform:scale(1.3) rotate(10deg)}75%{transform:scale(.95) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.log-animation-type-exercise .log-animation-emoji{animation:logExEmoji .7s cubic-bezier(.34,1.56,.64,1)}@keyframes logExEmoji{0%{transform:scale(0) translateY(30px)}40%{transform:scale(1.2) translateY(-20px)}60%{transform:scale(1.1) translateY(5px)}80%{transform:scale(1.05) translateY(-3px)}to{transform:scale(1) translateY(0)}}.log-animation-type-supplement .log-animation-emoji{animation:logSuppEmoji .7s cubic-bezier(.34,1.56,.64,1)}@keyframes logSuppEmoji{0%{transform:scale(0) rotate(-180deg)}60%{transform:scale(1.2) rotate(20deg)}to{transform:scale(1) rotate(0)}}.log-animation-type-reminder .log-animation-emoji{animation:logRemEmoji .7s cubic-bezier(.34,1.56,.64,1)}@keyframes logRemEmoji{0%{transform:scale(0) rotate(30deg)}30%{transform:scale(1.1) rotate(-15deg)}50%{transform:scale(1.15) rotate(10deg)}70%{transform:scale(1.05) rotate(-5deg)}to{transform:scale(1) rotate(0)}}.log-animation-type-shopping .log-animation-emoji{animation:logShopEmoji .7s cubic-bezier(.34,1.56,.64,1)}@keyframes logShopEmoji{0%{transform:scale(0) translateY(40px)}50%{transform:scale(1.25) translateY(-15px)}70%{transform:scale(.95) translateY(5px)}to{transform:scale(1) translateY(0)}}
