@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";
:root{--font-ui:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Space Grotesk", "Inter", -apple-system, sans-serif;--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-card:#ffffffbf;--bg-glass:#ffffff80;--border-glass:#fffc;--border-hover:#fff;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--color-calories:#f43f5e;--color-calories-glow:#f43f5e40;--color-protein:#ec4899;--color-protein-glow:#ec489940;--color-carbs:#eab308;--color-carbs-glow:#eab30840;--color-fat:#06b6d4;--color-fat-glow:#06b6d440;--color-fiber:#10b981;--color-fiber-glow:#10b98140;--accent:#6366f1;--accent-glow:#6366f140;--accent-hover:#818cf8;--danger:#ef4444;--success:#10b981;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--sidebar-width:260px;--bottombar-height:72px;--sai-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{overscroll-behavior:none;height:100%}body{overscroll-behavior:none;background:var(--bg-primary);min-height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:background-color .4s,color .4s;overflow-x:hidden}.app-background{z-index:0;pointer-events:none;background:linear-gradient(160deg,#f5f7ff 0%,#fafcff 55%,#f2faff 100%);transition:background .4s;position:fixed;inset:0}:root[data-accent=coral]{--accent:#f43f5e;--accent-glow:#f43f5e40;--accent-hover:#fb7185}:root[data-accent=mint]{--accent:#10b981;--accent-glow:#10b98140;--accent-hover:#34d399}:root[data-accent=ocean]{--accent:#0ea5e9;--accent-glow:#0ea5e940;--accent-hover:#38bdf8}:root[data-accent=amber]{--accent:#f59e0b;--accent-glow:#f59e0b40;--accent-hover:#fbbf24}:root[data-theme=dark]{--bg-primary:#0a0e17;--bg-secondary:#111827;--bg-card:#1e293b8c;--bg-glass:#1e293b59;--border-glass:#ffffff14;--border-hover:#ffffff29;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--color-calories-glow:#f43f5e73;--color-protein-glow:#ec489973;--color-carbs-glow:#eab30873;--color-fat-glow:#06b6d473;--color-fiber-glow:#10b98173}[data-theme=dark] .app-background{background:linear-gradient(160deg,#0a0e17 0%,#0f172a 55%,#111827 100%)}[data-theme=dark] .hero-v2{background:linear-gradient(155deg,#312e81 0%,#4c1d95 50%,#831843 100%);border-color:#ffffff14;box-shadow:0 12px 40px -12px #0000008c}[data-theme=dark] .hero-v2.zone-cool{background:linear-gradient(155deg,#064e3b 0%,#1e3a8a 55%,#4c1d95 100%)}[data-theme=dark] .hero-v2.zone-warm{background:linear-gradient(155deg,#713f12 0%,#9f1239 60%,#831843 100%)}[data-theme=dark] .hero-v2.zone-hot{background:linear-gradient(155deg,#7f1d1d 0%,#be123c 55%,#831843 100%)}[data-theme=dark] .hero-v2.zone-over{background:linear-gradient(155deg,#450a0a 0%,#991b1b 55%,#be123c 100%)}[data-theme=dark] .hero-v2-greeting{color:#ffffffd9}[data-theme=dark] .hero-v2-num-value{color:#f8fafc;text-shadow:0 1px #00000040}[data-theme=dark] .hero-v2-num-unit{color:#ffffffc7}[data-theme=dark] .hero-v2-goal{color:#fff9}[data-theme=dark] .hero-v2-pill{color:#f1f5f9;background:#0f172a8c;border-color:#ffffff29}[data-theme=dark] .hero-v2-pill.subtle{color:#ffffffb3;background:#0f172a59}[data-theme=dark] .hero-v2-pill.complete{color:#6ee7b7;background:#10b98140}[data-theme=dark] .hero-v2-streak{color:#fdba74;background:#0f172a8c;border-color:#ffffff29}[data-theme=dark] .hero-v2:before{background:radial-gradient(120% 60% at 0 0,#ffffff1f,#0000 60%)}[data-theme=dark] .macro-pill{background:#1e293b8c;border-color:#ffffff14;box-shadow:0 4px 14px -4px #00000080}[data-theme=dark] .macro-pill-protein{background:linear-gradient(135deg,#ec489940,#ec489914)}[data-theme=dark] .macro-pill-carbs{background:linear-gradient(135deg,#eab30847,#eab3081a)}[data-theme=dark] .macro-pill-fat{background:linear-gradient(135deg,#06b6d440,#06b6d414)}[data-theme=dark] .macro-pill-fiber{background:linear-gradient(135deg,#10b98140,#10b98114)}[data-theme=dark] .macro-pill-value{color:#f1f5f9}[data-theme=dark] .meal-card{background:#1e293b8c}[data-theme=dark] .meal-card-macro{background:#0f172a8c;border-color:#ffffff14}[data-theme=dark] .meal-card-macro[data-color=carbs]{color:#fbbf24}[data-theme=dark] .sidebar{background:#0f172a99;border-right-color:#ffffff0f}@media (max-width:768px){[data-theme=dark] .sidebar{background:#0f172aeb;border-top-color:#ffffff0f}}[data-theme=dark] .archive-view-toggle{background:#ffffff0f}[data-theme=dark] .archive-view-btn.active{color:#f1f5f9;background:#0f172ad9}[data-theme=dark] .heat-cell{background:#ffffff0d;border-color:#ffffff14}[data-theme=dark] .heat-cell.tone-low{color:#fde68a;background:linear-gradient(135deg,#fbbf2473,#fbbf2433)}[data-theme=dark] .insight-card,[data-theme=dark] .compare-delta,[data-theme=dark] .meals-empty-rich .empty-art,[data-theme=dark] .achievement{border-color:#ffffff14}[data-theme=dark] .insight-card{background:#1e293b8c}[data-theme=dark] .insight-green{background:linear-gradient(135deg,#10b98138,#34d39914)}[data-theme=dark] .insight-pink{background:linear-gradient(135deg,#ec489938,#f43f5e14)}[data-theme=dark] .insight-cool{background:linear-gradient(135deg,#06b6d438,#6366f114)}[data-theme=dark] .insight-warm{background:linear-gradient(135deg,#fbbf243d,#f43f5e1a)}[data-theme=dark] .insight-mint{background:linear-gradient(135deg,#22c55e38,#84cc1614)}[data-theme=dark] .compare-delta{background:#1e293b8c}[data-theme=dark] .compare-arrow,[data-theme=dark] .compare-pct{background:#ffffff14}[data-theme=dark] .achievement{background:#ffffff0a}[data-theme=dark] .achievement.unlocked{background:linear-gradient(155deg,#fbbf2438,#f43f5e1f);border-color:#f43f5e59}[data-theme=dark] .quick-suggestion{border-color:#ffffff14}[data-theme=dark] .chat-camera-btn{color:#fdba74;background:linear-gradient(135deg,#fb923c38,#f43f5e2e);border-color:#f43f5e4d}[data-theme=dark] .sheet{background:#0f172a;border-top:1px solid #ffffff14}[data-theme=dark] .sheet-overlay{background:#000000b3}[data-theme=dark] .sheet-media,[data-theme=dark] .sheet-foods,[data-theme=dark] .sheet-total,[data-theme=dark] .sheet-macro-chip{border-color:#ffffff14}[data-theme=dark] .sheet-macro-chip{background:#ffffff0d}[data-theme=dark] .sheet-total{background:linear-gradient(155deg,#f43f5e1f,#ec489914 60%,#eab3081a)}[data-theme=dark] .streak-sheet-grid-wrap,[data-theme=dark] .ptr-indicator{background:#ffffff0a}[data-theme=dark] .streak-cell{background:#ffffff0f}[data-theme=dark] .meal-card-stripe[data-color=carbs]{background:#fde047}[data-theme=dark] .sidebar-logo h1{background:linear-gradient(135deg,#fbbf24 0%,#fb7185 60%,#f472b6 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-layout{z-index:1;min-height:100dvh;display:flex;position:relative}.main-content{margin-left:var(--sidebar-width);padding:var(--space-xl);flex:1;min-height:100dvh;overflow-y:auto}@media (max-width:768px){.main-content{padding:var(--space-md);padding-bottom:calc(var(--bottombar-height) + var(--sai-bottom) + var(--space-md));margin-left:0}}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.sidebar{width:var(--sidebar-width);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-glass);height:100dvh;padding:var(--space-lg);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-logo{align-items:center;gap:var(--space-md);padding:var(--space-md) 0;margin-bottom:var(--space-xl);display:flex}.sidebar-logo h1{font-family:var(--font-display);letter-spacing:-2px;background:linear-gradient(135deg,#f59e0b 0%,#f43f5e 60%,#ec4899 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.9rem;font-weight:700;line-height:1}.sidebar-nav{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.sidebar-link{align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative;overflow:hidden}.sidebar-link:hover{color:var(--text-primary);background:var(--bg-glass)}.sidebar-link.active{color:var(--text-primary);background:#ffffff0a;border:1px solid #0000}.sidebar-link.active:before{content:"";background:var(--accent);border-radius:0 1px 1px 0;width:2px;position:absolute;top:22%;bottom:22%;left:0}.sidebar-link svg{flex-shrink:0;width:20px;height:20px}@media (max-width:768px){.sidebar{border-right:none;border-top:1px solid var(--border-glass);width:100%;height:auto;padding:var(--space-sm) var(--space-md);padding-bottom:calc(var(--space-sm) + var(--sai-bottom));z-index:200;-webkit-backdrop-filter:blur(24px);background:#ffffffeb;flex-direction:row;position:fixed;top:auto;bottom:0;left:0}.sidebar-logo{display:none}.sidebar-nav{flex-direction:row;justify-content:space-around;gap:0;width:100%}.sidebar-link{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:60px;min-height:56px;padding:8px 12px;font-size:.7rem;transition:background-color .25s,color .25s}.sidebar-link span{letter-spacing:.2px;font-size:.7rem;transition:color .25s,font-weight .25s;display:block!important}.sidebar-link svg{width:24px;height:24px;transition:color .25s,transform .35s cubic-bezier(.34,1.56,.64,1)}.sidebar-link.active:not(.is-fab-tab){background:#6366f121;animation:.35s cubic-bezier(.34,1.56,.64,1) tabPopBg}.sidebar-link.active:not(.is-fab-tab) svg{color:var(--accent);transform:translateY(-2px)}.sidebar-link.active:not(.is-fab-tab) span{color:var(--accent);font-weight:600}.sidebar-link.active:before{display:none}@keyframes tabPopBg{0%{background-color:#6366f100;transform:scale(.94)}to{background-color:#6366f121;transform:scale(1)}}.sidebar-link.is-fab-tab{color:#fff;background:linear-gradient(155deg,#fb923c 0%,#f43f5e 70%,#ec4899 100%);border-radius:50%;width:60px;min-width:60px;height:60px;min-height:60px;margin-top:-16px;padding:0;transition:transform .18s,box-shadow .18s;box-shadow:0 12px 24px -6px #f43f5e80,0 4px 8px -2px #f43f5e59}.sidebar-link.is-fab-tab:active{transform:translateY(2px)scale(.96);box-shadow:0 6px 14px -6px #f43f5e80,0 2px 4px -1px #f43f5e4d}.sidebar-link.is-fab-tab svg{color:#fff;stroke-width:2.4px;width:28px;height:28px;transform:none!important}.sidebar-link.is-fab-tab span{display:none!important}.sidebar-link.is-fab-tab.active{background:linear-gradient(155deg,#ea580c 0%,#e11d48 70%,#db2777 100%)}.sidebar-nav{align-items:center}}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all .3s}@media (max-width:768px){.card{padding:var(--space-md);border-radius:var(--radius-md)}}.card:hover{border-color:var(--border-hover)}.card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}@media (max-width:768px){.card-header{margin-bottom:var(--space-md)}}.card-title{color:var(--text-primary);font-size:1rem;font-weight:600}.page-header{margin-bottom:var(--space-xl)}@media (max-width:768px){.page-header{margin-bottom:var(--space-lg)}.page-header h2{font-size:1.5rem!important}}.page-header h2{font-family:var(--font-display);letter-spacing:-1.4px;margin-bottom:var(--space-xs);font-size:1.85rem;font-weight:700}.page-header p{color:var(--text-secondary);font-size:.9rem}.hero-v2{border-radius:var(--radius-xl);padding:var(--space-xl) var(--space-xl) calc(var(--space-xl) + 4px);margin-bottom:var(--space-lg);isolation:isolate;background:linear-gradient(155deg,#e0e7ff 0%,#ddd6fe 45%,#fce7f3 100%);border:1px solid #ffffffb3;position:relative;overflow:hidden;box-shadow:0 12px 40px -12px #0f172a2e}.hero-v2.zone-cool{background:linear-gradient(155deg,#d1fae5 0%,#ddd6fe 50%,#c7d2fe 100%)}.hero-v2.zone-warm{background:linear-gradient(155deg,#fef3c7 0%,#fed7aa 55%,#fecaca 100%)}.hero-v2.zone-hot{background:linear-gradient(155deg,#fed7aa 0%,#fca5a5 50%,#f9a8d4 100%)}.hero-v2.zone-over{background:linear-gradient(155deg,#fecaca 0%,#f87171 55%,#ec4899 100%)}.hero-v2.zone-over .hero-v2-greeting,.hero-v2.zone-over .hero-v2-goal{color:#ffffffd9}.hero-v2.zone-over .hero-v2-num-value,.hero-v2.zone-over .hero-v2-num-unit{color:#fff}.hero-v2:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 60% at 0 0,#ffffff8c,#0000 60%);position:absolute;inset:0}.hero-v2-ring{opacity:.55;pointer-events:none;z-index:0;width:360px;height:360px;position:absolute;top:-120px;right:-110px}.hero-v2-top{z-index:1;margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex;position:relative}.hero-v2-greeting{color:#0f172ac7;letter-spacing:-.1px;font-size:.88rem;font-weight:600}.hero-v2-streak{-webkit-backdrop-filter:blur(8px);color:#c2410c;border-radius:var(--radius-full);font-variant-numeric:tabular-nums;letter-spacing:-.1px;background:#ffffffa6;border:1px solid #ffffffbf;align-items:center;gap:4px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.hero-v2-streak[data-tier=bronze]{color:#fff;background:#f97316eb;border-color:#ffffff80;box-shadow:0 6px 14px -4px #f9731680}.hero-v2-streak[data-tier=silver]{color:#fff;background:linear-gradient(135deg,#f43f5e,#ef4444);border-color:#ffffff73;box-shadow:0 6px 14px -4px #ef44448c}.hero-v2-streak[data-tier=gold]{color:#fff;background:linear-gradient(135deg,#f59e0b,#d946ef);border-color:#ffffff8c;box-shadow:0 8px 18px -4px #d946ef8c}.hero-v2-streak[data-tier=legend]{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b 45%,#ef4444 80%,#ec4899);border-color:#ffffffb3;animation:2.6s ease-in-out infinite streakLegendPulse;box-shadow:0 10px 22px -4px #fbbf2499}@keyframes streakLegendPulse{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}button.hero-v2-streak{cursor:pointer;font-family:inherit}button.hero-v2-streak:active{transform:scale(.94)}.hero-v2.is-goal-met{border-color:#10b98159}.hero-v2.is-celebrating{animation:2.5s ease-out heroGoalGlow}@keyframes heroGoalGlow{0%{box-shadow:0 12px 40px -12px #0f172a2e}30%{box-shadow:0 18px 48px -8px #10b9818c}to{box-shadow:0 12px 40px -12px #0f172a2e}}.hero-v2-confetti{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.hero-v2-confetti span{background:var(--c);opacity:0;transform-origin:50%;width:8px;height:13px;animation:1.8s cubic-bezier(.4,.85,.4,1) forwards confettiFall;animation-delay:calc(var(--i) * 55ms);border-radius:2px;position:absolute;top:-16px}.hero-v2-confetti span:nth-child(2n){border-radius:50%;width:7px;height:7px}@keyframes confettiFall{0%{opacity:0;transform:translateY(-30px)rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(260px)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.hero-v2-confetti span{opacity:0;animation:none}.hero-v2.is-celebrating{animation:none}}.hero-v2-num{z-index:1;margin-top:var(--space-sm);align-items:baseline;gap:8px;display:flex;position:relative}.hero-v2-num-value{font-family:var(--font-display);letter-spacing:-3.6px;color:#0f172a;font-variant-numeric:tabular-nums;text-shadow:0 1px #fff6;font-size:clamp(64px,17vw,96px);font-weight:700;line-height:.95}.hero-v2-num-unit{color:#0f172ab3;letter-spacing:-.4px;font-size:1.05rem;font-weight:700}.hero-v2-goal{z-index:1;color:#0f172a9e;margin-top:2px;font-size:.82rem;font-weight:500;position:relative}.hero-v2-pills{z-index:1;margin-top:var(--space-md);flex-wrap:wrap;gap:8px;display:flex;position:relative}.hero-v2-pill{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-full);color:#0f172a;letter-spacing:-.1px;background:#ffffff9e;border:1px solid #ffffffb3;padding:7px 14px;font-size:.82rem;font-weight:600}.hero-v2-pill.over{color:#991b1b;background:#ef44442e;border-color:#ef444466}.hero-v2.zone-over .hero-v2-pill.over{color:#991b1b;background:#ffffffd9;border-color:#fffffff2}.hero-v2-pill.complete{color:#047857;background:#10b98133;border-color:#10b98173}.hero-v2-pill.subtle{color:#0f172ab3;background:#fff6;border-color:#ffffff80}@media (max-width:768px){.hero-v2{padding:var(--space-lg);margin-bottom:var(--space-md);border-radius:var(--radius-lg)}.hero-v2-ring{width:280px;height:280px;top:-90px;right:-90px}.hero-v2-num-value{letter-spacing:-2.4px}}.hero-calorie{gap:var(--space-xl);padding:var(--space-md) 0;grid-template-columns:auto 1fr;align-items:center;display:grid}@media (max-width:768px){.hero-calorie{justify-items:center;gap:var(--space-lg);grid-template-columns:1fr}}.skeleton{background:#0f172a0f;border-radius:10px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffffb3 50%,#0000 100%);animation:1.4s ease-in-out infinite skeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeletonShimmer{to{transform:translate(100%)}}.macro-pill-skeleton{scroll-snap-align:start;border-radius:22px;flex:none;min-width:184px;height:86px}.meal-card-skeleton{border-radius:var(--radius-md);height:88px;margin-bottom:10px}.hero-num-skeleton{vertical-align:middle;background:#0f172a14;border-radius:14px;width:clamp(180px,60vw,280px);height:clamp(64px,17vw,96px);display:inline-block}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}@media (min-width:769px){.macro-pill-skeleton{width:100%;min-width:0}}.macro-pills{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top:var(--space-md);gap:12px;padding:4px 0 12px;display:flex;overflow-x:auto}.macro-pills::-webkit-scrollbar{display:none}.macro-pill{scroll-snap-align:start;cursor:pointer;background:#ffffffb3;border:1px solid #ffffffd9;border-radius:22px;flex:none;align-items:center;gap:12px;min-width:184px;padding:14px 18px 14px 12px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 4px 14px -4px #0f172a1a}.macro-pill:active{transform:scale(.98)}.macro-pill-protein{color:var(--color-protein);background:linear-gradient(135deg,#ec489929,#ec48990f)}.macro-pill-carbs{color:var(--color-carbs);background:linear-gradient(135deg,#eab3082e,#eab30812)}.macro-pill-fat{color:var(--color-fat);background:linear-gradient(135deg,#06b6d429,#06b6d40f)}.macro-pill-fiber{color:var(--color-fiber);background:linear-gradient(135deg,#10b9812e,#10b9810f)}.macro-pill.over{border-color:#ef444473;box-shadow:0 4px 14px -4px #ef444440}.macro-pill-ring{flex-shrink:0;width:56px;height:56px}.macro-pill-info{flex-direction:column;gap:2px;min-width:0;display:flex}.macro-pill-value{font-family:var(--font-display);letter-spacing:-.9px;font-variant-numeric:tabular-nums;color:#0f172a;white-space:nowrap;align-items:baseline;gap:4px;font-size:1.3rem;font-weight:700;line-height:1;display:flex}.macro-pill-unit{color:#0f172a80;letter-spacing:0;font-size:.7rem;font-weight:600}.macro-pill-label{color:currentColor;text-transform:uppercase;letter-spacing:.6px;opacity:.85;font-size:.7rem;font-weight:700}@media (min-width:769px){.macro-pills{grid-template-columns:repeat(4,1fr);padding:4px 0;display:grid;overflow:visible}.macro-pill{min-width:0}}.meal-card-swipe-wrap{border-radius:var(--radius-md);isolation:isolate;margin-bottom:10px;position:relative;overflow:hidden}.meal-card-swipe-wrap.is-removing{pointer-events:none;opacity:0;max-height:0;margin-bottom:0;transition:max-height .22s,opacity .22s,margin .22s}.meal-card-swipe-action{padding:0 var(--space-lg);color:#fff;letter-spacing:.2px;pointer-events:none;z-index:0;background:linear-gradient(90deg,#ef44448c 0%,#ef4444 100%);justify-content:flex-end;align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex;position:absolute;inset:0}.meal-card-swipe-action svg{width:22px;height:22px}.meal-card-swipe-wrap>.meal-card{z-index:1;touch-action:pan-y;background:var(--bg-card);will-change:transform;margin:0;position:relative}.meal-card-swipe-wrap>.meal-card.is-dragging{-webkit-user-select:none;user-select:none}.meal-card-swipe-wrap .meal-delete{display:none}.meal-card-stripe{background:var(--color-protein);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.meal-card-stripe[data-color=protein]{background:var(--color-protein)}.meal-card-stripe[data-color=carbs]{background:var(--color-carbs)}.meal-card-stripe[data-color=fat]{background:var(--color-fat)}.meal-card-stripe[data-color=fiber]{background:var(--color-fiber)}.meal-card-media{background:linear-gradient(135deg,#6366f124,#6366f10a);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.meal-card-media[data-stripe=protein]{background:linear-gradient(135deg,#ec48992e,#ec48990d)}.meal-card-media[data-stripe=carbs]{background:linear-gradient(135deg,#eab30833,#eab3080f)}.meal-card-media[data-stripe=fat]{background:linear-gradient(135deg,#06b6d42e,#06b6d40d)}.meal-card-media[data-stripe=fiber]{background:linear-gradient(135deg,#10b98133,#10b9810f)}.meal-card-media img{object-fit:cover;width:100%;height:100%}.meal-card-emoji{filter:drop-shadow(0 2px 4px #0f172a14);font-size:38px;line-height:1}@media (max-width:768px){.meal-card-media{border-radius:14px;width:64px;height:64px}.meal-card-emoji{font-size:30px}}.meal-card-stats{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;margin-left:auto;display:flex}.meal-card-cal{color:var(--color-calories);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;display:flex}.meal-card-cal strong{font-family:var(--font-display);letter-spacing:-.7px;font-size:1.3rem;font-weight:700;line-height:1}.meal-card-cal span{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;font-size:.62rem;font-weight:600}.meal-card-macros{gap:5px;display:flex}.meal-card-macro{border-radius:var(--radius-full);font-variant-numeric:tabular-nums;background:#fff9;border:1px solid #fffc;align-items:baseline;gap:1px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.meal-card-macro em{opacity:.7;margin-left:1px;font-size:.6rem;font-style:normal;font-weight:700}.meal-card-macro[data-color=protein]{color:var(--color-protein);background:#ec48991a;border-color:#ec489933}.meal-card-macro[data-color=carbs]{color:#a16207;background:#eab30821;border-color:#eab30847}.meal-card-macro[data-color=fat]{color:var(--color-fat);background:#06b6d41a;border-color:#06b6d438}@media (max-width:768px){.meal-card-macros{flex-wrap:wrap;justify-content:flex-end;max-width:145px}.meal-card-macro{padding:2px 7px;font-size:.68rem}.meal-card-cal strong{font-size:1.1rem}}.meals-list .meal-card-swipe-wrap{animation:.35s both fadeInUp}.meals-list .meal-card-swipe-wrap:first-child{animation-delay:40ms}.meals-list .meal-card-swipe-wrap:nth-child(2){animation-delay:80ms}.meals-list .meal-card-swipe-wrap:nth-child(3){animation-delay:.12s}.meals-list .meal-card-swipe-wrap:nth-child(4){animation-delay:.16s}.meals-list .meal-card-swipe-wrap:nth-child(5){animation-delay:.2s}.meals-list .meal-card-swipe-wrap:nth-child(n+6){animation-delay:.24s}.macro-bars{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}@media (max-width:768px){.macro-bars{width:100%}}.macro-bar-item{min-width:100px;padding:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);flex:1;transition:all .2s}.macro-bar-item:hover{border-color:var(--border-hover)}.macro-bar-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.macro-bar-label{color:var(--text-secondary);text-transform:capitalize;font-size:.75rem;font-weight:500}.macro-bar-value{font-size:.8rem;font-weight:600}.macro-bar-track{background:#00000012;border-radius:4px;width:100%;height:8px;overflow:hidden}.macro-bar-fill{border-radius:3px;min-width:2px;height:100%;transition:width .8s ease-out}.nutrient-ring-container{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.nutrient-ring{width:100px;height:100px;position:relative}.nutrient-ring.large{width:160px;height:160px}@media (max-width:768px){.nutrient-ring.large{width:140px;height:140px}}.nutrient-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.nutrient-ring .ring-bg{fill:none;stroke:#00000014}.nutrient-ring .ring-progress{fill:none;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.nutrient-ring-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.nutrient-ring-value .value{font-size:1.25rem;font-weight:700}.nutrient-ring.large .nutrient-ring-value .value{font-size:2rem}@media (max-width:768px){.nutrient-ring.large .nutrient-ring-value .value{font-size:1.75rem}}.nutrient-ring-value .unit{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.nutrient-ring-label{color:var(--text-secondary);text-transform:capitalize;font-size:.75rem;font-weight:500}.nutrient-grid{gap:var(--space-lg);grid-template-columns:repeat(5,1fr);display:grid}@media (max-width:1200px){.nutrient-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.nutrient-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr)}}.tabs{border-bottom:1px solid var(--border-glass);background:0 0;border-radius:0;gap:0;width:fit-content;padding:0;display:flex}@media (max-width:768px){.tabs{border-bottom:1px solid var(--border-glass);width:100%}.tab-btn{text-align:center;flex:1}}.tab-btn{padding:12px var(--space-lg) 13px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;min-height:48px;font-family:inherit;font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.tab-btn:after{content:"";background:var(--accent);border-radius:1px 1px 0 0;height:2px;transition:transform .2s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:var(--text-primary);box-shadow:none;background:0 0;font-weight:600}.tab-btn.active:after{transform:scaleX(1)}.controls-row{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (max-width:768px){.controls-row{flex-direction:column;align-items:stretch}}.meal-card{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-glass);-webkit-tap-highlight-color:#0000000d;touch-action:manipulation;border:1px solid var(--border-glass);border-radius:var(--radius-md);transition:all .2s;display:flex}@media (max-width:768px){.meal-card{padding:var(--space-md);gap:var(--space-sm);flex-wrap:wrap}}.meal-card:hover{border-color:var(--border-hover);background:#ffffff0f}.meal-icon{border-radius:var(--radius-md);background:linear-gradient(135deg,#f9731633,#f973160d);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex}.meal-photo-thumb{border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;width:42px;height:42px}.meal-info{flex:1;min-width:0}.meal-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.9rem;font-weight:600;overflow:hidden}@media (max-width:768px){.meal-name{white-space:normal;font-size:.95rem}}.meal-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}@media (max-width:768px){.meal-desc{white-space:normal}}.meal-nutrients{gap:var(--space-md);flex-shrink:0;display:flex}@media (max-width:768px){.meal-nutrients{width:100%;padding-top:var(--space-sm);border-top:1px solid var(--border-glass);justify-content:space-around;gap:var(--space-sm)}}.meal-nutrient{text-align:center}.meal-nutrient-value{font-size:.85rem;font-weight:600}.meal-nutrient-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6rem}.meal-delete{width:40px;height:40px;color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:#ef44441a;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.meal-delete:hover,.meal-delete:active{background:#ef444433}.meal-delete svg{width:16px;height:16px}@media (max-width:768px){.meal-delete{top:var(--space-sm);right:var(--space-sm);width:44px;height:44px;position:absolute}.meal-card{padding-right:56px;position:relative}}.meals-list{gap:var(--space-sm);flex-direction:column;display:flex}.level-card{margin-bottom:var(--space-md);background:linear-gradient(155deg,#22c55e24,#84cc1614,#fbbf241a);border:1px solid #22c55e38;align-items:center;gap:16px;display:flex;padding:16px 18px!important}[data-theme=dark] .level-card{background:linear-gradient(155deg,#22c55e38,#84cc1624,#fbbf2429);border-color:#22c55e59}.level-emoji{filter:drop-shadow(0 3px 8px #22c55e52);flex-shrink:0;font-size:44px;line-height:1}.level-emoji[data-level="5"]{filter:drop-shadow(0 3px 10px #fb923c80)}.level-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.level-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.level-name{font-family:var(--font-display);letter-spacing:-.4px;color:var(--text-primary);font-size:1rem;font-weight:700}.level-xp{font-family:var(--font-display);letter-spacing:-.2px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.level-bar-track{background:#0f172a14;border-radius:3px;height:6px;overflow:hidden}[data-theme=dark] .level-bar-track{background:#ffffff14}.level-bar-fill{background:linear-gradient(90deg,#34d399,#84cc16,#fbbf24);border-radius:3px;height:100%;transition:width .9s cubic-bezier(.34,1.56,.64,1)}.level-next{color:var(--text-muted);letter-spacing:-.1px;font-size:.72rem;font-weight:500}.recap-card{margin-bottom:var(--space-md);background:linear-gradient(155deg,#6366f129 0%,#ec48991f 55%,#fb923c24 100%);border:1px solid #ffffffb3;border-radius:18px;padding:18px 20px 16px;position:relative;overflow:hidden;box-shadow:0 6px 18px -6px #6366f140}[data-theme=dark] .recap-card{background:linear-gradient(155deg,#6366f14d 0%,#ec489938 55%,#fb923c38 100%);border-color:#ffffff14;box-shadow:0 8px 24px -6px #00000080}.recap-dismiss{cursor:pointer;width:30px;height:30px;color:var(--text-secondary);z-index:2;background:#ffffff8c;border:1px solid #fffc;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,background .2s;display:flex;position:absolute;top:10px;right:10px}.recap-dismiss:active{transform:scale(.9)}.recap-dismiss svg{width:14px;height:14px}[data-theme=dark] .recap-dismiss{color:#ffffffb3;background:#0f172a8c;border-color:#ffffff29}.recap-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.recap-emoji{filter:drop-shadow(0 2px 4px #0f172a1f);font-size:32px;line-height:1}.recap-title{font-family:var(--font-display);letter-spacing:-.5px;color:var(--text-primary);font-size:1.05rem;font-weight:700}.recap-sub{color:var(--text-secondary);margin-top:1px;font-size:.78rem;font-weight:500}.recap-stats{gap:10px;margin-bottom:12px;display:flex}.recap-stat{background:#ffffff8c;border:1px solid #ffffffb3;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;min-width:0;padding:10px 12px;display:flex}[data-theme=dark] .recap-stat{background:#0f172a73;border-color:#ffffff1a}.recap-stat-num{font-family:var(--font-display);letter-spacing:-.6px;color:var(--text-primary);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:1.15rem;font-weight:700;line-height:1}.recap-stat-lbl{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.62rem;font-weight:700}.recap-top{color:var(--text-secondary);letter-spacing:-.1px;border-top:1px dashed #0f172a1a;padding-top:10px;font-size:.85rem}[data-theme=dark] .recap-top{border-top-color:#ffffff1a}.recap-top strong{font-family:var(--font-display);letter-spacing:-.3px;color:var(--text-primary);font-weight:700}.recap-top-count{font-family:var(--font-display);color:var(--text-muted);font-weight:700}@media (max-width:480px){.recap-stats{gap:6px}.recap-stat{padding:9px 10px}.recap-stat-num{font-size:1.05rem}}.accent-switcher{margin-bottom:var(--space-md)}.accent-swatches{flex-wrap:wrap;gap:12px;display:flex}.accent-swatch{cursor:pointer;background:var(--swatch);color:#fff;width:44px;height:44px;box-shadow:0 4px 10px -3px color-mix(in srgb, var(--swatch) 40%, transparent);border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,border-color .2s,box-shadow .2s;display:flex;position:relative}.accent-swatch:active{transform:scale(.92)}.accent-swatch:hover{transform:scale(1.06)}.accent-swatch.active{box-shadow:0 0 0 2px var(--swatch), 0 8px 18px -4px color-mix(in srgb, var(--swatch) 55%, transparent);border-color:#fff}[data-theme=dark] .accent-swatch.active{box-shadow:0 0 0 2px var(--swatch), 0 8px 18px -4px color-mix(in srgb, var(--swatch) 70%, transparent);border-color:#0a0e17}.accent-swatch svg{filter:drop-shadow(0 1px 2px #0000004d);width:18px;height:18px}.theme-switcher{margin-top:var(--space-md);margin-bottom:var(--space-md)}.theme-switcher-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:.7rem;font-weight:700}.theme-segmented{border-radius:var(--radius-full);background:#0f172a0d;gap:4px;padding:4px;display:flex}[data-theme=dark] .theme-segmented{background:#ffffff0d}.theme-seg-btn{color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;letter-spacing:-.1px;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-family:inherit;font-size:.85rem;font-weight:600;transition:color .2s,background .25s,transform .15s;display:inline-flex}.theme-seg-btn:active{transform:scale(.97)}.theme-seg-btn.active{color:var(--text-primary);background:#fff;box-shadow:0 2px 8px -2px #0f172a2e}[data-theme=dark] .theme-seg-btn.active{color:#f1f5f9;background:#ffffff1f;box-shadow:0 2px 8px -2px #0006}.theme-seg-icon{font-size:16px;line-height:1}@media (max-width:480px){.theme-seg-label{display:none}.theme-seg-icon{font-size:18px}.theme-seg-btn{padding:12px}}.ptr-indicator{width:100%;color:var(--accent);pointer-events:none;justify-content:center;align-items:center;margin-bottom:-8px;transition:height .18s;display:flex;position:relative;overflow:hidden}.ptr-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ptr-icon svg{width:18px;height:18px}.ptr-spinner{animation:.85s linear infinite ptrSpin}@keyframes ptrSpin{to{transform:rotate(360deg)}}.ptr-indicator.is-ready{color:var(--success)}.ptr-indicator.is-refreshing{color:var(--accent)}@media (prefers-reduced-motion:reduce){.ptr-spinner{animation:none}}.compare-delta{margin-bottom:var(--space-md);background:#ffffffb3;border:1px solid #ffffffd9;border-radius:14px;align-items:center;gap:14px;padding:14px 18px;display:flex;box-shadow:0 2px 8px -2px #0f172a0f}.compare-side{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.compare-side:last-of-type{align-items:flex-end}.compare-label{text-transform:uppercase;letter-spacing:.55px;color:var(--text-muted);font-size:.6rem;font-weight:700}.compare-val{font-family:var(--font-display);letter-spacing:-.6px;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.compare-arrow{width:36px;height:36px;color:var(--text-muted);background:#0f172a12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.compare-arrow svg{width:18px;height:18px}.compare-pct{font-family:var(--font-display);letter-spacing:-.2px;border-radius:var(--radius-full);color:var(--text-secondary);white-space:nowrap;background:#0f172a0f;flex-shrink:0;padding:5px 10px;font-size:.78rem;font-weight:700}.compare-delta.tone-up .compare-arrow,.compare-delta.tone-up .compare-pct{color:var(--color-calories);background:#f43f5e26}.compare-delta.tone-down .compare-arrow,.compare-delta.tone-down .compare-pct{color:#047857;background:#10b98129}@media (max-width:600px){.compare-delta{gap:10px;padding:12px 14px}.compare-arrow{width:32px;height:32px}.compare-arrow svg{width:16px;height:16px}.compare-val{font-size:.95rem}.compare-pct{padding:4px 8px;font-size:.72rem}}.insights-row{margin-top:var(--space-md);flex-direction:column;gap:8px;display:flex}@media (min-width:769px){.insights-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}}.insight-card{background:#ffffffb3;border:1px solid #ffffffd9;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 2px 8px -2px #0f172a14}.insight-emoji{filter:drop-shadow(0 1px 3px #0f172a1a);flex-shrink:0;font-size:28px;line-height:1}.insight-text{color:var(--text-primary);letter-spacing:-.1px;font-size:.88rem;font-weight:500;line-height:1.4}.insight-text strong{font-family:var(--font-display);letter-spacing:-.4px;font-weight:700}.insight-green{background:linear-gradient(135deg,#10b98129,#34d3990f);border-color:#10b9813d}.insight-green .insight-text strong{color:#047857}.insight-pink{background:linear-gradient(135deg,#ec489929,#f43f5e0f);border-color:#ec48993d}.insight-pink .insight-text strong{color:var(--color-protein)}.insight-cool{background:linear-gradient(135deg,#06b6d429,#6366f10f);border-color:#06b6d43d}.insight-cool .insight-text strong{color:var(--color-fat)}.insight-warm{background:linear-gradient(135deg,#fbbf242e,#f43f5e14);border-color:#fb923c47}.insight-warm .insight-text strong{color:#b45309}.insight-mint{background:linear-gradient(135deg,#22c55e29,#84cc160f);border-color:#22c55e3d}.insight-mint .insight-text strong{color:#15803d}.trend-chart{width:100%}.trend-chart-plot{background:linear-gradient(#0f172a05,#0000 60%);border-radius:14px;height:220px;padding:18px 8px 24px;position:relative}@media (max-width:768px){.trend-chart-plot{height:180px;padding:16px 4px 22px}}.trend-goal-line{z-index:1;pointer-events:none;border-top:1.5px dashed #10b9818c;height:1px;position:absolute;left:8px;right:8px}.trend-goal-label{font-family:var(--font-display);letter-spacing:-.2px;color:#fff;border-radius:var(--radius-full);font-variant-numeric:tabular-nums;background:#10b981eb;padding:2px 7px;font-size:.62rem;font-weight:700;position:absolute;top:-10px;right:0}.trend-bars{z-index:2;align-items:flex-end;gap:4px;height:100%;display:flex;position:relative}.trend-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:0;height:100%;display:flex;position:relative}.trend-bar{background:linear-gradient(#34d399,#10b981);border-radius:6px 6px 0 0;width:100%;max-width:24px;min-height:2px;transition:height .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 -2px 4px -1px #10b98159}.trend-bar.over{background:linear-gradient(#f87171,#ef4444);box-shadow:0 -2px 4px -1px #ef444466}.trend-bar.empty{box-shadow:none;background:#0f172a0f;min-height:2px;height:2px!important}.trend-peak-pin{pointer-events:none;z-index:3;margin-bottom:6px;position:absolute;bottom:0;left:50%;transform:translate(-50%,-100%)}.trend-peak-pin span{font-family:var(--font-display);letter-spacing:-.2px;background:var(--text-primary);color:#fff;border-radius:var(--radius-full);font-variant-numeric:tabular-nums;white-space:nowrap;padding:3px 8px;font-size:.62rem;font-weight:700;display:inline-block;box-shadow:0 4px 10px -2px #0f172a59}.trend-peak-pin span:after{content:"";background:var(--text-primary);width:6px;height:6px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)rotate(45deg)}.trend-bar-label{color:var(--text-muted);letter-spacing:-.1px;white-space:nowrap;font-size:.62rem;font-weight:600;position:absolute;bottom:-20px}.trend-bar-label[data-visible=false]{visibility:hidden}.trend-legend{color:var(--text-secondary);justify-content:center;gap:16px;margin-top:8px;font-size:.7rem;display:flex}.trend-legend-item{align-items:center;gap:4px;display:inline-flex}.trend-legend-dot{border-radius:3px;width:10px;height:10px;display:inline-block}.trend-legend-dot.good{background:linear-gradient(#34d399,#10b981)}.trend-legend-dot.over{background:linear-gradient(#f87171,#ef4444)}.archive-view-toggle{border-radius:var(--radius-full);margin-bottom:var(--space-md);background:#0f172a0d;gap:4px;padding:4px;display:inline-flex}.archive-view-btn{color:var(--text-muted);border-radius:var(--radius-full);cursor:pointer;letter-spacing:-.1px;background:0 0;border:none;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.82rem;font-weight:600;transition:color .2s,background .2s;display:inline-flex}.archive-view-btn svg{width:16px;height:16px}.archive-view-btn.active{color:var(--text-primary);background:#fff;box-shadow:0 2px 6px -2px #0f172a26}.archive-heatmap-card{margin-bottom:var(--space-md)}.archive-heatmap-day-labels{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;padding:0 2px;display:grid}.archive-heatmap-day-labels span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:.62rem;font-weight:700}.archive-heatmap-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.heat-cell{aspect-ratio:1;cursor:pointer;font-variant-numeric:tabular-nums;background:#0f172a0a;border:1px solid #ffffffb3;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:4px;font-family:inherit;transition:transform .15s,box-shadow .2s;display:flex;position:relative}.heat-cell:active{transform:scale(.94)}.heat-cell:disabled{cursor:default}.heat-cell.empty{pointer-events:none;background:0 0;border:none}.heat-cell.tone-future{opacity:.35;cursor:not-allowed}.heat-cell.tone-none{color:var(--text-muted);background:#0f172a0a}.heat-cell.tone-low{color:#92400e;background:linear-gradient(135deg,#fbbf2466,#fbbf2438);border-color:#fbbf2480}.heat-cell.tone-good{color:#fff;background:linear-gradient(135deg,#34d399,#10b981 65%,#059669);border-color:#10b9818c;box-shadow:0 2px 6px -2px #10b98166}.heat-cell.tone-over{color:#fff;background:linear-gradient(135deg,#f87171,#ef4444);border-color:#ef44448c;box-shadow:0 2px 6px -2px #ef444466}.heat-cell.is-today{outline:2px solid var(--accent);outline-offset:2px}.heat-cell-num{letter-spacing:-.2px;font-size:.78rem;font-weight:700;line-height:1}.heat-cell-cal{font-family:var(--font-display);letter-spacing:-.2px;opacity:.85;margin-top:2px;font-size:.6rem;font-weight:700}.archive-heatmap-legend{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:.7rem;display:flex}.archive-heatmap-legend .legend-mini{aspect-ratio:1;pointer-events:none;width:14px;height:14px;padding:0}.achievements-card{margin-bottom:var(--space-md)}.achievements-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:baseline;display:flex}.achievements-header h3{font-family:var(--font-display);letter-spacing:-.5px;color:var(--text-primary);font-size:1.05rem;font-weight:700}.achievements-count{font-family:var(--font-display);color:var(--text-secondary);font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:.85rem;font-weight:700}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (min-width:769px){.achievements-grid{grid-template-columns:repeat(6,1fr)}}.achievement{filter:grayscale(.85);opacity:.65;text-align:center;background:#0f172a0a;border:1px solid #0f172a0f;border-radius:14px;flex-direction:column;align-items:center;min-height:130px;padding:14px 8px 12px;transition:filter .25s,opacity .25s,transform .18s;display:flex;position:relative}.achievement:active{transform:scale(.97)}.achievement.unlocked{filter:none;opacity:1;background:linear-gradient(155deg,#fbbf2429,#f43f5e1a);border-color:#f43f5e38;box-shadow:0 4px 14px -4px #f43f5e2e}.achievement-emoji{filter:drop-shadow(0 1px 3px #0f172a1f);margin-bottom:6px;font-size:32px;line-height:1}.achievement.unlocked .achievement-emoji{filter:drop-shadow(0 2px 6px #f43f5e66)}.achievement-name{color:var(--text-primary);letter-spacing:-.2px;margin-bottom:2px;font-size:.78rem;font-weight:700}.achievement-desc{color:var(--text-muted);flex:1;font-size:.66rem;line-height:1.25}.achievement-progress{background:#0f172a14;border-radius:2px;width:100%;height:4px;margin-top:8px;position:relative;overflow:visible}.achievement-progress-bar{background:linear-gradient(90deg,#fb923c,#f43f5e);border-radius:2px;height:100%;transition:width .8s cubic-bezier(.34,1.56,.64,1)}.achievement-progress-num{font-variant-numeric:tabular-nums;color:var(--text-muted);letter-spacing:-.2px;font-size:.62rem;font-weight:700;position:absolute;top:-16px;right:0}.achievement-check{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-top:8px;display:flex;box-shadow:0 2px 8px -2px #10b98180}.achievement-check svg{width:13px;height:13px}.streak-sheet-header{align-items:center;gap:16px;padding:4px 0 18px;display:flex}.streak-sheet-emoji{filter:drop-shadow(0 4px 12px #f9731666);font-size:56px;line-height:1}.streak-sheet-num{font-family:var(--font-display);letter-spacing:-2.4px;background:linear-gradient(135deg,#fb923c 0%,#f43f5e 65%,#ec4899 100%);color:#0000;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;line-height:1}.streak-sheet-label{color:var(--text-secondary);margin-top:2px;font-size:.85rem;font-weight:600}.streak-sheet-grid-wrap{background:#ffffff8c;border:1px solid #ffffffd9;border-radius:16px;margin-bottom:14px;padding:14px}.streak-sheet-day-labels{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.streak-sheet-day-labels span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:.62rem;font-weight:700}.streak-sheet-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.streak-sheet-grid[data-loading=true] .streak-cell{animation:1.4s ease-in-out infinite streakCellPulse}@keyframes streakCellPulse{0%,to{opacity:.8}50%{opacity:.4}}.streak-cell{aspect-ratio:1;background:#0f172a12;border-radius:5px;transition:transform .15s}.streak-cell.hit{background:linear-gradient(135deg,#34d399,#10b981 60%,#059669);box-shadow:0 1px 3px #10b9814d}.streak-cell.is-today{outline:2px solid var(--accent);outline-offset:1px}.streak-sheet-tip{text-align:center;color:var(--text-secondary);letter-spacing:-.1px;padding:14px 8px 4px;font-size:.9rem;font-weight:500}.meal-groups{flex-direction:column;gap:18px;display:flex}.meal-group-header{border-bottom:1px dashed #0f172a14;align-items:center;gap:8px;margin-bottom:8px;padding:4px 2px 10px;display:flex}.meal-group-emoji{font-size:17px;line-height:1}.meal-group-name{text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary);font-size:.78rem;font-weight:800}.meal-group-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-calories);letter-spacing:-.3px;margin-left:auto;font-size:.85rem;font-weight:700}.meals-empty{text-align:center;padding:var(--space-2xl) var(--space-md);color:var(--text-muted)}.meals-empty svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.3}.meals-empty p{font-size:.85rem}.meals-empty-rich{padding:var(--space-xl) var(--space-md) var(--space-2xl);color:inherit;flex-direction:column;align-items:center;display:flex}.meals-empty-rich .empty-art{width:200px;height:200px;margin-bottom:var(--space-md);opacity:1;animation:4.5s ease-in-out infinite emptyFloat}@keyframes emptyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.meals-empty-rich .empty-art{animation:none}}.empty-title{letter-spacing:-.4px;color:var(--text-primary);margin-bottom:6px;font-size:1.2rem;font-weight:800}.empty-desc{color:var(--text-secondary);max-width:280px;margin:0 auto var(--space-lg);font-size:.9rem;line-height:1.5}.empty-cta{color:#fff;border-radius:var(--radius-full);letter-spacing:-.1px;background:linear-gradient(155deg,#fb923c 0%,#f43f5e 65%,#ec4899 100%);align-items:center;gap:8px;padding:12px 22px;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 22px -6px #f43f5e80,0 4px 8px -2px #f43f5e4d}.empty-cta:active{transform:translateY(1px)scale(.98);box-shadow:0 6px 14px -4px #f43f5e80,0 2px 4px -1px #f43f5e4d}.empty-cta svg{stroke-width:2.5px;opacity:1;width:18px;height:18px;margin-bottom:0}.meals-empty-rich .empty-art{opacity:1!important;width:200px!important;height:200px!important}.fab{display:none!important}.cal-wrap{margin-bottom:var(--space-lg);position:relative}.cal-trigger{align-items:center;gap:var(--space-sm);padding:12px var(--space-lg);background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;width:100%;min-height:52px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.cal-trigger:hover{border-color:var(--accent);background:#6366f10a}.cal-trigger svg:first-child{width:20px;height:20px;color:var(--accent);flex-shrink:0}.cal-trigger span{text-align:left;flex:1}.cal-chevron{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.cal-dropdown{border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:var(--space-md);z-index:300;background:#fff;animation:.15s fadeInUp;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 8px 32px #0000001f}.cal-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.cal-month-label{color:var(--text-primary);font-size:.95rem;font-weight:700}.cal-nav{border:1px solid var(--border-glass);background:var(--bg-glass);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;transition:all .15s;display:flex}.cal-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.cal-nav:disabled{opacity:.3;cursor:not-allowed}.cal-nav svg{width:16px;height:16px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day-name{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;padding:4px 0 8px;font-size:.7rem;font-weight:600}.cal-day{aspect-ratio:1;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:40px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.cal-day:hover:not(:disabled){color:var(--accent);background:#6366f11a}.cal-day.is-today{color:var(--accent);background:#6366f114;font-weight:700}.cal-day.is-selected{background:var(--accent);color:#fff;font-weight:700}.cal-day.is-selected.is-today{background:var(--accent);color:#fff}.cal-day.is-future{color:var(--text-muted);opacity:.4;cursor:not-allowed}@media (max-width:768px){.cal-trigger,.cal-dropdown{border-radius:var(--radius-md)}.cal-day{min-height:36px;font-size:.85rem}}.chat-container{flex-direction:column;max-width:800px;height:calc(100dvh - 120px);margin:0 auto;display:flex}@media (max-width:768px){.chat-container{height:calc(100dvh - var(--bottombar-height) - var(--sai-bottom) - 80px)}}.chat-messages{padding:var(--space-md) 0;gap:var(--space-md);scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-bubble{max-width:85%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:.9rem;line-height:1.6;animation:.3s fadeInUp}@media (max-width:768px){.chat-bubble{max-width:92%;padding:var(--space-md);font-size:.9rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-bubble.user{background:linear-gradient(135deg, var(--accent), #0891b2);color:#fff;border-bottom-right-radius:var(--space-xs);align-self:flex-end}.chat-bubble.ai{background:var(--bg-card);border:1px solid var(--border-glass);border-bottom-left-radius:var(--space-xs);align-self:flex-start}.chat-bubble.ai .nutrient-result{margin-top:var(--space-md);padding:var(--space-md);background:var(--bg-glass);border-radius:var(--radius-md);border:1px solid var(--border-glass)}.food-breakdown{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-glass);flex-direction:column;gap:6px;display:flex}.food-breakdown-row{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);border-radius:var(--radius-sm);background:#00000008;padding:8px 10px;display:flex}.food-breakdown-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.food-breakdown-label{color:var(--text-primary);font-size:.85rem;font-weight:600;line-height:1.2}.food-breakdown-amount{color:var(--text-muted);align-items:center;gap:1px;font-size:.7rem;display:flex}.gram-edit-input{border:none;border-bottom:1.5px dashed var(--accent);width:42px;color:var(--accent);text-align:center;-moz-appearance:textfield;background:0 0;outline:none;padding:0 2px;font-family:inherit;font-size:.7rem;font-weight:600}.gram-edit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gram-edit-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gram-edit-input:focus{border-bottom-color:var(--accent);background:var(--accent-glow);border-radius:2px 2px 0 0}.food-breakdown-macros{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;font-size:.75rem;font-weight:600;display:flex}.nutrient-result-total{margin-top:2px}.nutrient-cal-hero{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.nutrient-cal-num{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--color-calories);font-size:2.4rem;font-weight:700;line-height:1}.nutrient-cal-unit{color:var(--text-secondary);letter-spacing:-.2px;font-size:.85rem;font-weight:600}.chat-bubble-text{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-bubble-text strong{font-family:var(--font-display);letter-spacing:-.3px;font-weight:700}.confidence-ring{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.confidence-ring svg{width:100%;height:100%}.confidence-ring-num{font-variant-numeric:tabular-nums;letter-spacing:-.3px;font-size:.62rem;font-weight:800;position:absolute}.confidence-ring.tone-high{color:#047857}.confidence-ring.tone-mid{color:#b45309}.confidence-ring.tone-low{color:#be123c}.nutrient-result-grid{gap:var(--space-sm);margin-top:var(--space-sm);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:480px){.nutrient-result-grid{grid-template-columns:repeat(2,1fr)}}.nutrient-result-item{text-align:center;padding:var(--space-sm);border-radius:var(--radius-sm);background:#ffffff08}.nutrient-result-item .nri-value{font-size:1.1rem;font-weight:700}.nutrient-result-item .nri-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.65rem}.chat-confirm-btn{margin-top:var(--space-md);padding:12px var(--space-xl);background:linear-gradient(135deg, var(--success), #16a34a);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;width:100%;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;box-shadow:0 2px 10px #22c55e4d}.chat-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #22c55e66}.chat-confirm-btn:active{transform:scale(.98)}.chat-confirm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-input-area{padding:var(--space-md) 0;border-top:1px solid var(--border-glass)}.chat-input-wrapper{gap:var(--space-sm);background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:var(--space-sm);transition:border-color .2s;display:flex}.chat-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.chat-input{color:var(--text-primary);padding:var(--space-sm) var(--space-md);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.chat-input::placeholder{color:var(--text-muted)}.chat-camera-btn{color:#c2410c;border-radius:var(--radius-full);cursor:pointer;background:linear-gradient(135deg,#fb923c29,#f43f5e24);border:1px solid #f43f5e38;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .15s,box-shadow .2s,color .2s;display:flex;position:relative;box-shadow:0 2px 8px -3px #f43f5e2e}.chat-camera-btn:before{content:"";opacity:0;z-index:-1;background:linear-gradient(135deg,#fb923c,#f43f5e);border-radius:50%;transition:opacity .2s;position:absolute;inset:-2px}.chat-camera-btn:hover{color:#fff;box-shadow:0 6px 14px -3px #f43f5e73}.chat-camera-btn:hover:before{opacity:1}.chat-camera-btn:active{transform:scale(.93)}.chat-camera-btn:disabled{opacity:.5;cursor:not-allowed}.chat-camera-btn svg{z-index:1;width:20px;height:20px;position:relative}.chat-camera-btn:not(:disabled){animation:3.6s ease-in-out infinite cameraPulse}@keyframes cameraPulse{0%,to{box-shadow:0 2px 8px -3px #f43f5e2e}50%{box-shadow:0 4px 14px -3px #f43f5e66}}@media (prefers-reduced-motion:reduce){.chat-camera-btn:not(:disabled){animation:none}}.chat-image-preview{border-radius:var(--radius-lg);object-fit:cover;max-width:100%;max-height:200px;margin-bottom:var(--space-sm)}.chat-send-btn{background:var(--accent);color:#fff;border-radius:var(--radius-full);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.chat-send-btn:hover{background:var(--accent-hover)}.chat-send-btn:active{transform:scale(.93)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chat-send-btn svg{width:18px;height:18px}.loading-dots{padding:var(--space-md);gap:4px;display:flex}.loading-dots span{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite dotPulse}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.goals-form{gap:var(--space-lg);flex-direction:column;max-width:600px;display:flex}.goal-input-group{gap:var(--space-sm);flex-direction:column;display:flex}.goal-input-group label{color:var(--text-secondary);align-items:center;gap:var(--space-sm);font-size:.85rem;font-weight:500;display:flex}.goal-input-group label .dot{border-radius:50%;width:10px;height:10px;display:inline-block}.goal-input-group input{padding:14px var(--space-md);border:1px solid var(--border-glass);background:var(--bg-glass);color:var(--text-primary);border-radius:var(--radius-md);-webkit-appearance:none;outline:none;font-family:inherit;font-size:16px;transition:all .2s}.goal-input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.goal-input-group .input-hint{color:var(--text-muted);font-size:.7rem}.save-btn{padding:14px var(--space-xl);background:linear-gradient(135deg, var(--accent), #0891b2);color:#fff;border-radius:var(--radius-full);cursor:pointer;width:fit-content;box-shadow:0 4px 15px var(--accent-glow);border:none;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s}@media (max-width:768px){.save-btn{text-align:center;width:100%}}.save-btn:hover{box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-2px)}.save-btn:active{transform:scale(.98)}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.save-success{color:var(--success);align-items:center;gap:var(--space-sm);font-size:.85rem;animation:.3s fadeInUp;display:flex}@media (max-width:768px){.save-success{justify-content:center}}.game-strip{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);display:flex}@media (max-width:768px){.game-strip{padding:var(--space-md);border-radius:var(--radius-md);gap:var(--space-sm)}}.level-chip{background:linear-gradient(135deg, var(--accent), #7c3aed);color:#fff;border-radius:var(--radius-full);letter-spacing:.3px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:700;display:flex}.streak-badge{color:#ea580c;border-radius:var(--radius-full);background:#f973161a;border:1px solid #f9731640;flex-shrink:0;align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;font-weight:700;display:flex}.xp-section{flex:1;min-width:0}.xp-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:.72rem;font-weight:500;display:flex}.xp-track{background:#6366f11a;border-radius:5px;width:100%;height:10px;overflow:hidden}.xp-fill{background:linear-gradient(90deg, var(--accent), #7c3aed);border-radius:5px;height:100%;transition:width 1s ease-out;position:relative}.xp-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59);border-radius:5px;width:20px;position:absolute;top:0;bottom:0;right:0}.xp-fill.complete{background:linear-gradient(90deg, var(--success), #059669)}.goal-badge{color:var(--success);border-radius:var(--radius-full);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:4px;padding:4px 12px;font-size:.78rem;font-weight:700;animation:.4s cubic-bezier(.34,1.56,.64,1) pop;display:inline-flex}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.macro-bar-fill.near-goal{animation:2s ease-in-out infinite glowPulse}@keyframes glowPulse{0%,to{filter:brightness()}50%{filter:brightness(1.2)}}.dashboard-grid{gap:var(--space-lg);margin-top:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (max-width:1000px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-grid{gap:var(--space-md);margin-top:var(--space-md)}}.dashboard-grid .card.full-width{grid-column:1/-1}.chart-container{width:100%;height:300px;margin-top:var(--space-md)}@media (max-width:768px){.chart-container{height:220px}}.date-nav{align-items:center;gap:var(--space-md);display:flex}@media (max-width:768px){.date-nav{justify-content:center;width:100%}}.date-nav-btn{border:1px solid var(--border-glass);background:var(--bg-glass);width:48px;height:48px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;transition:all .2s;display:flex}.date-nav-btn:hover,.date-nav-btn:active{border-color:var(--border-hover);color:var(--text-primary)}.date-nav-btn svg{width:18px;height:18px}.date-display{color:var(--text-secondary);text-align:center;min-width:140px;font-size:.9rem;font-weight:500}.quick-suggestions{gap:var(--space-sm);padding:var(--space-sm) 0;flex-wrap:wrap;display:flex}@media (max-width:768px){.quick-suggestions{-webkit-overflow-scrolling:touch;padding-bottom:var(--space-md);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.quick-suggestions::-webkit-scrollbar{display:none}}.quick-suggestion{color:var(--text-primary);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;letter-spacing:-.1px;background:linear-gradient(135deg,#fbbf2429,#f43f5e1a);border:1px solid #ffffffd9;flex-shrink:0;align-items:center;min-height:44px;padding:11px 16px;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .15s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 6px -2px #f43f5e1f}.quick-suggestion:nth-child(2n){background:linear-gradient(135deg,#10b98126,#06b6d41f)}.quick-suggestion:nth-child(3n){background:linear-gradient(135deg,#ec489924,#f43f5e1a)}.quick-suggestion:nth-child(4n){background:linear-gradient(135deg,#6366f124,#ec48991a)}.quick-suggestion:hover,.quick-suggestion:active{border-color:#fff;transform:translateY(-1px);box-shadow:0 6px 12px -3px #f43f5e38}.quick-suggestion:active{transform:translateY(0)scale(.97)}.mode-cards{gap:var(--space-md);flex-direction:column;display:flex}.mode-card{align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);cursor:pointer;text-align:left;width:100%;color:inherit;font-family:inherit;transition:all .2s;display:flex}.mode-card:hover,.mode-card:active{border-color:var(--border-hover);background:#ffffff0f;transform:translateY(-1px)}@media (max-width:768px){.mode-card{padding:var(--space-md);gap:var(--space-md)}}.mode-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.mode-card-icon svg{width:24px;height:24px}.mode-card-text{flex-direction:column;flex:1;gap:4px;display:flex}.mode-card-title{color:var(--text-primary);font-size:1rem;font-weight:600}.mode-card-desc{color:var(--text-muted);font-size:.8rem;line-height:1.4}.mode-card-arrow{width:20px;height:20px;color:var(--text-muted);flex-shrink:0}.back-link{align-items:center;gap:var(--space-sm);color:var(--text-secondary);cursor:pointer;padding:var(--space-sm) 0;background:0 0;border:none;font-family:inherit;font-size:.85rem;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--text-primary)}.back-link svg{width:16px;height:16px}.wizard-steps{justify-content:center;align-items:center;gap:var(--space-xl);padding:var(--space-md) 0;display:flex;position:relative}.wizard-step{z-index:1;position:relative}.wizard-step-dot{background:var(--bg-glass);border:2px solid var(--border-glass);width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:all .3s;display:flex}.wizard-step.active .wizard-step-dot{border-color:var(--accent);color:var(--accent);background:#3b82f61a}.wizard-step.current .wizard-step-dot{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.wizard-step-line{background:var(--border-glass);z-index:0;height:2px;position:absolute;top:50%;left:15%;right:15%;transform:translateY(-50%)}.wizard-step-line-fill{background:var(--accent);border-radius:1px;height:100%;transition:width .4s}.wizard-content{animation:.3s fadeInUp}.wizard-row{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}@media (max-width:480px){.wizard-row{gap:var(--space-md);grid-template-columns:1fr}}.wizard-field{gap:var(--space-sm);flex-direction:column;display:flex}.wizard-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:500}.wizard-input{padding:14px var(--space-md);border:1px solid var(--border-glass);background:var(--bg-glass);color:var(--text-primary);border-radius:var(--radius-md);-webkit-appearance:none;outline:none;width:100%;font-family:inherit;font-size:16px;transition:all .2s}.wizard-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-with-unit{position:relative}.input-with-unit input{padding-right:50px}.input-unit{right:var(--space-md);color:var(--text-muted);pointer-events:none;font-size:.8rem;position:absolute;top:50%;transform:translateY(-50%)}.toggle-group{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);gap:0;display:flex;overflow:hidden}.toggle-btn{padding:14px var(--space-md);min-height:48px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s}.toggle-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.toggle-btn:not(.active):hover{color:var(--text-primary);background:#ffffff0d}.option-cards{gap:var(--space-sm);flex-direction:column;display:flex}.option-card{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;min-height:64px;color:inherit;font-family:inherit;transition:all .2s;display:flex}.option-card:hover,.option-card:active{border-color:var(--border-hover);background:#ffffff0f}.option-card.active{border-color:var(--accent);background:#3b82f614}.option-card-icon{border-radius:var(--radius-md);background:#ffffff08;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;display:flex}.option-card-text{flex-direction:column;flex:1;gap:2px;display:flex}.option-card-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.option-card-desc{color:var(--text-muted);font-size:.75rem}.option-card-check{flex-shrink:0;width:24px;height:24px}.option-card-check svg{width:24px;height:24px}.results-summary{gap:var(--space-lg);flex-direction:column;display:flex}.results-hero{text-align:center;padding:var(--space-xl) 0}.results-hero-value{letter-spacing:-2px;font-size:3.5rem;font-weight:800;line-height:1}@media (max-width:768px){.results-hero-value{font-size:2.8rem}}.results-hero-label{color:var(--text-secondary);margin-top:var(--space-sm);font-size:.9rem;font-weight:500}.results-hero-sub{color:var(--text-muted);margin-top:var(--space-xs);font-size:.75rem}.results-macros{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:480px){.results-macros{grid-template-columns:repeat(2,1fr)}}.results-macro{align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);flex-direction:column;display:flex}.results-macro-dot{border-radius:50%;width:8px;height:8px}.results-macro-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.results-macro-value{color:var(--text-primary);font-size:1.2rem;font-weight:700}.results-note{color:var(--text-muted);padding:var(--space-md);background:var(--bg-glass);border-radius:var(--radius-md);border:1px solid var(--border-glass);font-size:.75rem;line-height:1.6}.wizard-nav{justify-content:space-between;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.wizard-nav-btn{align-items:center;gap:var(--space-sm);padding:14px var(--space-xl);border-radius:var(--radius-full);cursor:pointer;border:none;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}@media (max-width:768px){.wizard-nav-btn{padding:14px var(--space-md);flex:1;justify-content:center}}.wizard-nav-btn.secondary{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-secondary)}.wizard-nav-btn.secondary:hover{border-color:var(--border-hover);color:var(--text-primary)}.wizard-nav-btn.primary{background:linear-gradient(135deg, var(--accent), #0891b2);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.wizard-nav-btn.primary:hover{box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.wizard-nav-btn.primary:active{transform:scale(.98)}.wizard-nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-page{min-height:100dvh;padding:var(--space-md);background:radial-gradient(at 20% 0%, color-mix(in srgb, var(--accent) 14%, transparent) 0%, transparent 55%), radial-gradient(at 80% 100%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 55%), var(--bg-primary);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:440px;animation:.5s fadeInUp}.auth-logo{margin-bottom:var(--space-2xl);flex-direction:row;align-items:center;gap:10px;display:flex}.auth-logo h1{font-size:1.9rem;font-weight:800;font-family:var(--font-display,inherit);letter-spacing:-.5px;background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.auth-title{font-size:1.8rem;font-weight:800;font-family:var(--font-display,inherit);text-align:left;margin-bottom:var(--space-lg);color:var(--text-primary);letter-spacing:-1px;line-height:1.2}@media (max-width:480px){.auth-title{font-size:1.6rem}}.auth-subtitle{color:var(--text-muted);text-align:left;margin-bottom:var(--space-lg);font-size:.85rem;line-height:1.5}.auth-meal-rotator{margin-bottom:var(--space-2xl);min-height:28px}.auth-meal-example{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:400;line-height:1.6}.auth-meal-rotating{color:var(--accent);font-weight:600;transition:opacity .35s}.auth-meal-rotating.fade-out{opacity:0}.auth-meal-rotating.fade-in{opacity:1}.auth-form{gap:var(--space-lg);flex-direction:column;display:flex}.auth-input-group{gap:var(--space-sm);flex-direction:column;display:flex}.auth-input-group label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.auth-input{border:1.5px solid var(--border-glass);background:var(--bg-secondary);color:var(--text-primary);-webkit-appearance:none;box-sizing:border-box;border-radius:14px;outline:none;width:100%;padding:16px 18px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.auth-input:focus{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-glow)}.auth-input::placeholder{color:var(--text-muted)}.auth-submit{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;width:100%;min-height:54px;box-shadow:0 6px 22px -6px var(--accent-glow);letter-spacing:-.2px;border:none;border-radius:14px;padding:16px;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s}.auth-submit:hover{box-shadow:0 10px 28px -6px var(--accent-glow);transform:translateY(-1px)}.auth-submit:active{transform:scale(.98)}.auth-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth-error{color:var(--color-fat);text-align:center;background:color-mix(in srgb, var(--color-fat) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-fat) 22%, transparent);border-radius:10px;padding:9px 12px;font-size:.8rem}.auth-sent{text-align:center}.auth-sent-icon{margin-bottom:var(--space-md);font-size:3.5rem}.auth-dev-notice{margin-top:var(--space-lg);padding:var(--space-md);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--radius-md)}.auth-dev-notice p{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.75rem}.auth-dev-btn{padding:10px var(--space-lg);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-radius:var(--radius-full);cursor:pointer;width:100%;box-shadow:0 4px 14px -4px var(--accent-glow);border:none;font-family:inherit;font-size:.85rem;font-weight:600;transition:transform .15s,box-shadow .2s}.auth-dev-btn:hover{transform:translateY(-1px)}.auth-dev-btn:active{transform:scale(.98)}.auth-back-btn{margin-top:var(--space-lg);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8rem;transition:color .2s}.auth-back-btn:hover{color:var(--text-primary)}.sidebar-user{align-items:center;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--border-glass);margin-top:var(--space-md);display:flex}.sidebar-user-info{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.sidebar-user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent), #0891b2);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:600;display:flex;overflow:hidden}.sidebar-user-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.sidebar-user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.sidebar-logout{background:var(--bg-glass);width:32px;height:32px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.sidebar-logout:hover{color:var(--danger);background:#ef44441a}.sidebar-logout svg{width:16px;height:16px}@media (max-width:768px){.sidebar-user{display:none}}.inline-stats{align-items:center;gap:var(--space-xl);padding:var(--space-lg) 0 var(--space-md);flex-wrap:wrap;display:flex}.inline-stat{flex-direction:column;gap:3px;display:flex}.inline-stat-value{letter-spacing:-.75px;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1}.inline-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-size:.68rem;font-weight:500}.inline-stat-sep{background:var(--border-glass);flex-shrink:0;align-self:center;width:1px;height:36px}@media (max-width:600px){.inline-stats{gap:var(--space-lg);padding:var(--space-md) 0}.inline-stat-value{font-size:1.3rem}.inline-stat-sep{height:28px}}.meal-time{color:var(--text-muted);align-items:center;gap:3px;margin-top:2px;font-size:.65rem;display:flex}.meal-time svg{opacity:.6;width:10px;height:10px}.macro-bar-fill.over-goal{background:var(--danger)!important;box-shadow:0 0 8px #ef444459!important}.nutrient-ring-value .percent{color:var(--text-muted);letter-spacing:.2px;margin-top:1px;font-size:.68rem}.nutrient-ring.over-goal .ring-progress{stroke:var(--danger)!important}.meals-list .meal-card{animation:.35s both fadeInUp}.meals-list .meal-card:first-child{animation-delay:40ms}.meals-list .meal-card:nth-child(2){animation-delay:80ms}.meals-list .meal-card:nth-child(3){animation-delay:.12s}.meals-list .meal-card:nth-child(4){animation-delay:.16s}.meals-list .meal-card:nth-child(5){animation-delay:.2s}.meals-list .meal-card:nth-child(n+6){animation-delay:.24s}.calorie-status-badge{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);margin-top:var(--space-xs);padding:3px 10px;font-size:.72rem;font-weight:500;display:inline-flex}.calorie-status-badge.on-track{color:var(--success);background:#22c55e1f;border:1px solid #22c55e33}.calorie-status-badge.over-goal{color:var(--danger);background:#ef44441f;border:1px solid #ef444433}.calorie-status-badge .dot{background:currentColor;border-radius:50%;width:5px;height:5px}.admin-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.875rem}.admin-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-glass);white-space:nowrap;padding:10px 12px;font-size:.72rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-glass);color:var(--text-primary);vertical-align:middle;padding:12px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#00000005}.admin-email{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:500;overflow:hidden}.admin-badge{min-width:28px;color:var(--accent);border-radius:var(--radius-full);background:#6366f11a;justify-content:center;align-items:center;padding:2px 8px;font-size:.8rem;font-weight:600;display:inline-flex}.admin-detail-btn{background:var(--accent);color:#fff;border-radius:var(--radius-full);white-space:nowrap;align-items:center;padding:6px 14px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.admin-detail-btn:hover{background:var(--accent-hover)}.admin-back-link{color:var(--accent);font-size:.85rem;font-weight:500;text-decoration:none}.admin-back-link:hover{text-decoration:underline}.admin-field-row{gap:var(--space-md);align-items:center;display:flex}@media (max-width:600px){.admin-field-row{flex-direction:column;align-items:stretch}}.admin-input{padding:12px var(--space-md);border:1px solid var(--border-glass);background:var(--bg-glass);color:var(--text-primary);border-radius:var(--radius-md);-webkit-appearance:none;outline:none;flex:1;font-family:inherit;font-size:15px;transition:border-color .2s}.admin-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.admin-save-btn{padding:12px var(--space-xl);background:var(--accent);color:#fff;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;border:none;min-height:44px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.admin-save-btn:hover:not(:disabled){background:var(--accent-hover)}.admin-save-btn:disabled{opacity:.5;cursor:not-allowed}.admin-goals-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.admin-goal-item{gap:var(--space-sm);flex-direction:column;display:flex}.admin-goal-label{font-size:.8rem;font-weight:600}.admin-delete-user-btn{color:var(--danger);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:#ef444412;border:1px solid #ef44444d;flex-shrink:0;min-height:44px;padding:10px 18px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.admin-delete-user-btn:hover:not(:disabled){border-color:var(--danger);background:#ef444426}.admin-delete-user-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-topbar{display:none}@media (max-width:768px){.mobile-topbar{padding:var(--space-md) 0 var(--space-sm);margin-bottom:var(--space-xs);align-items:center;display:flex}.mobile-topbar h1{letter-spacing:.5px;color:#0f172a;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.5rem;font-weight:700;line-height:1}}.archive-month-nav{margin-bottom:var(--space-lg);padding:var(--space-sm) 0;justify-content:space-between;align-items:center;display:flex}.archive-month-label{color:var(--text-primary);font-size:1rem;font-weight:700}.archive-day{padding:var(--space-md) 0}.archive-day.has-border{border-bottom:1px solid var(--border-glass)}.archive-day-header{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;color:inherit;text-align:left;background:0 0;border:none;min-height:44px;padding:0;font-family:inherit;display:flex}.archive-day.empty .archive-day-header{opacity:.35}.archive-day-date{align-items:baseline;gap:var(--space-sm);display:flex}.archive-day-num{color:var(--text-primary);font-size:.9rem;font-weight:600}.archive-day-week{color:var(--text-muted);font-size:.75rem}.archive-day-summary{flex-shrink:0;align-items:center;gap:3px;display:flex}.archive-day-meals{margin-top:var(--space-sm);padding:var(--space-sm) 0 var(--space-xs);gap:var(--space-xs);flex-direction:column;display:flex}.archive-meal-row{padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;display:flex}.archive-meal-name{color:var(--text-secondary);font-size:.82rem}.archive-meal-cal{color:var(--color-calories);flex-shrink:0;font-size:.8rem;font-weight:600}.sheet-overlay{z-index:200;background:#00000080;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-secondary);border-radius:20px 20px 0 0;width:100%;max-height:85vh;padding:12px 20px 40px;animation:.3s cubic-bezier(.32,.72,0,1) slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet-handle{background:var(--text-muted);opacity:.4;border-radius:2px;width:40px;height:4px;margin:0 auto}.sheet-handle-area{cursor:grab;touch-action:none;justify-content:center;align-items:center;height:28px;margin:-8px -8px 12px;display:flex}.sheet-handle-area:active{cursor:grabbing}.sheet-meal-photo{object-fit:cover;border-radius:var(--radius-lg);width:100%;max-height:200px;margin-bottom:var(--space-md)}.sheet-hero{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.sheet-media{background:linear-gradient(135deg,#6366f126,#6366f10d);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;display:flex;overflow:hidden}.sheet-media[data-stripe=protein]{background:linear-gradient(135deg,#ec489938,#ec48990f)}.sheet-media[data-stripe=carbs]{background:linear-gradient(135deg,#eab3083d,#eab30812)}.sheet-media[data-stripe=fat]{background:linear-gradient(135deg,#06b6d438,#06b6d40f)}.sheet-media[data-stripe=fiber]{background:linear-gradient(135deg,#10b98138,#10b9810f)}.sheet-media img{object-fit:cover;width:100%;height:100%}.sheet-media-emoji{filter:drop-shadow(0 2px 4px #0f172a1a);font-size:44px;line-height:1}.sheet-header{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.sheet-emoji{flex-shrink:0;font-size:2.2rem;line-height:1}.sheet-title-group{flex:1;min-width:0}.sheet-title{font-family:var(--font-display);letter-spacing:-.6px;color:var(--text-primary);margin:0 0 4px;font-size:1.25rem;font-weight:700;line-height:1.15}.sheet-desc{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.4}.sheet-insight{color:#be123c;border-radius:var(--radius-full);background:linear-gradient(135deg,#f43f5e21,#ec489914);border:1px solid #f43f5e2e;margin-top:8px;padding:5px 11px;font-size:.75rem;font-weight:600;display:inline-block}.sheet-insight strong{font-family:var(--font-display);letter-spacing:-.3px;font-weight:700}.sheet-foods{background:var(--bg-card);border-radius:12px;margin-bottom:16px;overflow:hidden}.sheet-food-row{border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.sheet-food-row:last-child{border-bottom:none}.sheet-food-left{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sheet-food-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.sheet-food-amount{color:var(--text-muted);font-size:.72rem}.sheet-food-right{flex-shrink:0;gap:8px;font-size:.72rem;font-weight:600;display:flex}.sheet-total{background:linear-gradient(155deg,#f43f5e0f,#ec48990a 60%,#eab3080d);border:1px solid #f43f5e26;border-radius:16px;margin-bottom:16px;padding:18px 18px 16px}.sheet-total-cal{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;margin-bottom:14px;display:flex}.sheet-total-cal-num{font-family:var(--font-display);letter-spacing:-1.4px;color:var(--color-calories);font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:700;line-height:1}.sheet-total-cal-unit{color:var(--text-secondary);letter-spacing:-.2px;font-size:.85rem;font-weight:600}.sheet-total-row{gap:8px;display:flex}.sheet-macro-chip{background:#ffffffb3;border:1px solid #ffffffd9;border-radius:12px;flex-direction:column;flex:1;align-items:flex-start;gap:3px;padding:10px 12px;display:flex}.sheet-macro-chip .sheet-macro-val{font-family:var(--font-display);letter-spacing:-.5px;font-variant-numeric:tabular-nums;align-items:baseline;font-size:1.15rem;font-weight:700;line-height:1;display:flex}.sheet-macro-chip .sheet-macro-val em{opacity:.7;letter-spacing:0;margin-left:1px;font-size:.7rem;font-style:normal;font-weight:700}.sheet-macro-chip .sheet-macro-lbl{text-transform:uppercase;letter-spacing:.5px;opacity:.75;font-size:.65rem;font-weight:700}.sheet-macro-protein .sheet-macro-val{color:var(--color-protein)}.sheet-macro-protein{background:#ec489914;border-color:#ec48992e}.sheet-macro-protein .sheet-macro-lbl{color:var(--color-protein)}.sheet-macro-carbs .sheet-macro-val{color:#a16207}.sheet-macro-carbs{background:#eab3081a;border-color:#eab30838}.sheet-macro-carbs .sheet-macro-lbl{color:#a16207}.sheet-macro-fat .sheet-macro-val{color:var(--color-fat)}.sheet-macro-fat{background:#06b6d414;border-color:#06b6d433}.sheet-macro-fat .sheet-macro-lbl{color:var(--color-fat)}.sheet-delete-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:none;border-radius:12px;width:100%;min-height:48px;padding:14px;font-size:.9rem;font-weight:600}.sheet-delete-btn:active{background:#ef444433}.sheet-edit-btn{border:1px solid var(--border-glass);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:20px;flex-shrink:0;padding:6px 14px;font-size:.8rem;font-weight:600}.sheet-edit-area{margin-bottom:16px}.sheet-edit-input{border:1px solid var(--border-glass);background:var(--bg-card);width:100%;color:var(--text-primary);resize:none;box-sizing:border-box;border-radius:12px;margin-bottom:8px;padding:12px 14px;font-family:inherit;font-size:.9rem}.sheet-edit-input:focus{border-color:var(--color-calories);outline:none}.sheet-error{color:#ef4444;margin-bottom:8px;font-size:.8rem}.sheet-edit-actions{gap:8px;display:flex}.sheet-cancel-btn{border:1px solid var(--border-glass);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:12px;flex:1;min-height:48px;padding:12px;font-size:.9rem;font-weight:600}.sheet-analyze-btn{background:var(--color-calories);color:#fff;cursor:pointer;border:none;border-radius:12px;flex:2;min-height:48px;padding:12px;font-size:.9rem;font-weight:700}.sheet-analyze-btn:disabled{opacity:.5}.sheet-confirm-banner{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:.82rem;font-weight:500}.sheet-save-btn{background:var(--color-calories);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;min-height:48px;margin-bottom:10px;padding:14px;font-size:.9rem;font-weight:700}.sheet-save-btn:disabled{opacity:.5}.onboarding-wrap{background:radial-gradient(at 20% 0%, color-mix(in srgb, var(--accent) 14%, transparent) 0%, transparent 55%), radial-gradient(at 80% 100%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 55%), var(--bg-primary);z-index:100;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.onboarding-grain{opacity:.12;pointer-events:none;z-index:1;mix-blend-mode:overlay;width:100%;height:100%;position:absolute;inset:0}.onboarding-orbs{z-index:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.onboarding-orb{filter:blur(40px);will-change:top, left, background;width:300px;height:300px;animation:orbFloat var(--float-duration,6s) ease-in-out infinite var(--float-delay,0s);border-radius:50%;transition:top .15s linear,left .15s linear,background .2s linear;position:absolute;transform:translate(-50%,-50%)}.onboarding-orb:first-child{--float-duration:7s;--float-delay:0s}.onboarding-orb:nth-child(2){--float-duration:5s;--float-delay:-2s}.onboarding-orb:nth-child(3){--float-duration:8s;--float-delay:-4s}@keyframes orbFloat{0%,to{transform:translate(-50%,-50%)translate(0)}25%{transform:translate(-50%,-50%)translate(20px,-30px)}50%{transform:translate(-50%,-50%)translate(-15px,20px)}75%{transform:translate(-50%,-50%)translate(25px,15px)}}.onboarding-slider,.onboarding-skip,.onboarding-dots-v{z-index:2}.onboarding-skip{z-index:10;background:var(--bg-glass);border:1px solid var(--border-glass);-webkit-backdrop-filter:blur(12px);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:.78rem;font-weight:600;transition:color .2s,background .2s;position:absolute;top:20px;right:20px}.onboarding-skip:hover{color:var(--text-primary);background:var(--bg-secondary)}.onboarding-slider{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:scroll}.onboarding-slider::-webkit-scrollbar{display:none}.onboarding-slide{scroll-snap-align:start;flex-shrink:0;justify-content:center;align-items:center;min-height:100%;padding:60px 32px 0;display:flex;position:relative}.onboarding-slide-inner{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:360px;display:flex}.onboarding-emoji{filter:drop-shadow(0 12px 28px color-mix(in srgb, var(--accent) 25%, transparent));font-size:4.4rem;line-height:1;animation:.5s cubic-bezier(.34,1.56,.64,1) both onboardingPop}@keyframes onboardingPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.onboarding-title{font-size:1.6rem;font-weight:800;font-family:var(--font-display,inherit);color:var(--text-primary);letter-spacing:-1px;margin:0;line-height:1.2}.onboarding-body{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.onboarding-dots-v{z-index:10;flex-direction:column;gap:6px;display:flex;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.onboarding-dot-v{background:var(--border-glass);border-radius:50%;width:6px;height:6px;transition:all .25s}.onboarding-dot-v.active{background:var(--accent);height:20px;box-shadow:0 0 0 3px var(--accent-glow);border-radius:3px}.onboarding-slide--login{padding:40px 28px 48px}.auth-flow-inner{flex-direction:column;gap:0;width:100%;max-width:400px;display:flex}.auth-flow-logo{letter-spacing:-.5px;font-size:2rem;font-weight:800;font-family:var(--font-display,inherit);color:var(--text-primary);background:linear-gradient(135deg, var(--accent), var(--accent-hover));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-bottom:16px}.auth-flow-heading{font-size:1.6rem;font-weight:800;font-family:var(--font-display,inherit);color:var(--text-primary);letter-spacing:-1px;margin:0 0 8px;line-height:1.2}@media (max-width:480px){.auth-flow-heading{font-size:1.35rem}}.auth-flow-sub{color:var(--text-secondary);margin:0 0 16px;font-size:.88rem;line-height:1.5}.auth-flow-form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.auth-flow-input{border:1.5px solid var(--border-glass);background:var(--bg-secondary);color:var(--text-primary);-webkit-appearance:none;box-sizing:border-box;border-radius:14px;outline:none;width:100%;padding:16px 18px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.auth-flow-input:focus{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 3px var(--accent-glow)}.auth-flow-input::placeholder{color:var(--text-muted)}.auth-flow-submit{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;width:100%;min-height:54px;box-shadow:0 6px 22px -6px var(--accent-glow);letter-spacing:-.2px;border:none;border-radius:14px;padding:16px;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .2s,opacity .2s}.auth-flow-submit:hover{box-shadow:0 10px 28px -6px var(--accent-glow);transform:translateY(-1px)}.auth-flow-submit:active{transform:scale(.98)}.auth-flow-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.auth-flow-error{color:var(--color-fat);text-align:center;background:color-mix(in srgb, var(--color-fat) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-fat) 22%, transparent);border-radius:10px;padding:9px 12px;font-size:.8rem}.auth-flow-note{color:var(--text-muted);text-align:center;margin-top:16px;font-size:.78rem;line-height:1.5}.auth-flow-sent{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.auth-flow-sent-icon{filter:drop-shadow(0 10px 24px var(--accent-glow));font-size:3.2rem}.auth-flow-expiry{color:var(--text-muted);margin:0;font-size:.78rem}.auth-flow-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:8px;font-family:inherit;font-size:.82rem;transition:color .2s}.auth-flow-back:hover{color:var(--text-primary)}.auth-meal-suffix{color:var(--text-muted);font-weight:400}.admin-tabs{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:12px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.admin-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:.82rem;font-weight:600;transition:all .15s}.admin-tab.active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.admin-stat-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:600px){.admin-stat-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:12px;flex-direction:column;gap:3px;padding:14px;display:flex}.admin-stat-val{letter-spacing:-1px;font-size:1.8rem;font-weight:800;line-height:1}.admin-stat-label{color:var(--text-muted);font-size:.72rem}.admin-stat-sub{color:var(--text-muted);opacity:.7;font-size:.65rem}.admin-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:.78rem;font-weight:700}.admin-daily-chart{align-items:flex-end;gap:4px;height:80px;display:flex}.admin-daily-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.admin-daily-bar-track{background:var(--bg-secondary);border-radius:4px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.admin-daily-bar-fill{background:var(--color-calories);border-radius:4px;width:100%;transition:height .4s}.admin-daily-bar-label{color:var(--text-muted);white-space:nowrap;text-align:center;font-size:.6rem}.admin-daily-bar-val{color:var(--text-secondary);font-size:.65rem;font-weight:700}.admin-hourly-chart{align-items:flex-end;gap:2px;height:64px;display:flex}.admin-hourly-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:2px;height:100%;display:flex}.admin-hourly-bar-track{background:var(--bg-secondary);border-radius:2px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.admin-hourly-bar-fill{border-radius:2px;width:100%;transition:height .3s}.admin-hourly-label{color:var(--text-muted);font-size:.58rem}.archive-summary-card{margin-bottom:12px!important}.archive-summary-stats{justify-content:space-around;align-items:center;display:flex}.archive-summary-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.archive-summary-val{font-family:var(--font-display);letter-spacing:-1px;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;line-height:1}.archive-summary-lbl{color:var(--text-muted);font-size:.72rem}.archive-summary-sep{background:var(--border-glass);width:1px;height:32px}.archive-day-right{flex-direction:column;flex:1;align-items:flex-end;gap:4px;min-width:0;display:flex}.archive-cal-bar-wrap{flex-direction:column;align-items:flex-end;gap:3px;width:100%;display:flex}.archive-cal-bar-track{background:var(--bg-secondary);border-radius:3px;width:100%;height:5px;display:flex;overflow:hidden}.archive-cal-bar-fill{border-radius:3px;height:100%;transition:width .4s}.archive-cal-bar-over{background:#ef444480;height:100%}.archive-cal-bar-label{white-space:nowrap;font-size:.72rem;font-weight:600}.archive-day-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;display:flex}.archive-meal-macros{flex-shrink:0;gap:8px;font-size:.72rem;font-weight:600;display:flex}.archive-day-totals{border-top:1px solid var(--border-glass);justify-content:space-between;align-items:center;margin-top:4px;padding:8px 0 2px;display:flex}.hesabim-user-card{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex;margin-bottom:var(--space-md)!important}.hesabim-user-row{align-items:center;gap:var(--space-md);min-width:0;display:flex}.hesabim-logo{letter-spacing:.5px;color:#0f172a;margin-right:var(--space-xs);flex-shrink:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.3rem;font-weight:700}.hesabim-avatar{background:linear-gradient(135deg, var(--accent), #0891b2);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.hesabim-avatar-btn{cursor:pointer;border:none;padding:0;transition:transform .15s,box-shadow .2s;position:relative}.hesabim-avatar-btn:hover{box-shadow:0 6px 16px -4px var(--accent-glow);transform:scale(1.04)}.hesabim-avatar-btn:active{transform:scale(.96)}.hesabim-avatar-btn:disabled,.hesabim-avatar-btn.is-busy{cursor:progress;opacity:.7}.hesabim-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.hesabim-avatar-edit{background:var(--bg-card);width:18px;height:18px;color:var(--accent);border:1.5px solid var(--bg-card);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 5px #0f172a2e}.hesabim-avatar-edit svg{width:11px;height:11px}.hesabim-avatar-remove{color:var(--text-muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-muted) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--text-muted) 40%, transparent);text-underline-offset:3px;background:0 0;border:none;flex-basis:100%;order:2;align-self:flex-start;margin-top:2px;padding:4px 0;font-family:inherit;font-size:.78rem}.hesabim-avatar-remove:hover{color:var(--text-secondary)}.hesabim-avatar-remove:disabled{opacity:.5;cursor:not-allowed}.hesabim-email{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.hesabim-logout-btn{border:1px solid var(--border-glass);background:var(--bg-glass);min-height:36px;color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;flex-shrink:0;padding:8px 18px;font-family:inherit;font-size:.82rem;font-weight:500;transition:all .2s}.hesabim-logout-btn:hover{border-color:var(--danger);color:var(--danger);background:#ef44440d}.hesabim-stats-card{margin-bottom:var(--space-lg)!important}.hesabim-stats{justify-content:space-around;align-items:center;display:flex}.hesabim-stat{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.hesabim-stat-value{color:var(--text-primary);letter-spacing:-.5px;font-size:1.6rem;font-weight:800;line-height:1.1}.hesabim-stat-label{color:var(--text-muted);text-align:center;font-size:.72rem}.hesabim-stat-sep{background:var(--border-glass);flex-shrink:0;width:1px;height:36px}.hesabim-section-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin:var(--space-lg) 0 var(--space-sm);font-size:.75rem;font-weight:700}.details-toggle-btn{width:100%;min-height:44px;margin-top:var(--space-md);color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-full);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.details-toggle-btn:hover,.details-toggle-btn:active{color:var(--text-primary);background:var(--bg-card);border-color:var(--accent)}@media (max-width:768px){.details-toggle-btn{min-height:48px;font-size:.9rem}}.goals-streak-card{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#fb923c1f,#f43f5e14);border:1px solid #fb923c33;display:flex}.goals-streak-flame{font-size:1.8rem;line-height:1}.goals-streak-text{flex-direction:column;display:flex}.goals-streak-count{color:var(--text-primary);font-size:1.1rem;font-weight:800}.goals-streak-label{color:var(--text-muted);font-size:.75rem}.goals-donut-card{text-align:center;margin-bottom:var(--space-md)}.goals-donut-row{justify-content:center;gap:var(--space-xl);margin-bottom:var(--space-sm);display:flex}.goals-donut-item{flex-direction:column;align-items:center;display:flex;position:relative}.goals-donut-svg{width:120px;height:120px;transform:rotate(-90deg)}.goals-donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute;top:0;left:0}.goals-donut-value{color:var(--text-primary);letter-spacing:-.5px;font-size:1.3rem;font-weight:800;line-height:1}.goals-donut-unit{color:var(--text-muted);margin-top:2px;font-size:.65rem}.goals-donut-label{color:var(--text-secondary);margin-top:var(--space-sm);font-size:.75rem;font-weight:600}.goals-cal-status{color:var(--text-secondary);margin-bottom:var(--space-sm);font-size:.85rem;font-weight:600}.goals-donut-legend{justify-content:center;gap:var(--space-lg);color:var(--text-muted);font-size:.72rem;display:flex}.goals-legend-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.goals-macros-card{margin-bottom:var(--space-md);flex-direction:column;gap:14px;display:flex}.goals-macro-row{flex-direction:column;gap:4px;display:flex}.goals-macro-head{justify-content:space-between;align-items:baseline;display:flex}.goals-macro-label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.goals-macro-nums{font-size:.75rem}.goals-macro-goal{color:var(--text-muted)}.goals-macro-bar-bg{background:var(--bg-secondary);border-radius:999px;height:7px;overflow:hidden}.goals-macro-bar-fill{border-radius:999px;height:100%;transition:width .5s}.goals-weekly-card{margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.goals-weekly-chart{align-items:flex-end;gap:6px;height:140px;padding-top:20px;display:flex;position:relative}.goals-weekly-goal-line{border-top:1.5px dashed var(--text-muted);opacity:.3;pointer-events:none;position:absolute;left:0;right:0}.goals-weekly-goal-label{color:var(--text-muted);font-size:.6rem;position:absolute;top:-14px;right:0}.goals-weekly-col{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.goals-weekly-col.today .goals-weekly-day{color:var(--color-calories);font-weight:700}.goals-weekly-val{color:var(--text-muted);white-space:nowrap;height:14px;font-size:.6rem;font-weight:600}.goals-weekly-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.goals-weekly-bar{border-radius:4px 4px 0 0;width:100%;min-height:0;transition:height .5s}.goals-weekly-day{color:var(--text-muted);font-size:.65rem;font-weight:500}.goals-body-card{margin-bottom:var(--space-md)}.goals-body-grid{text-align:center;margin-bottom:var(--space-md);justify-content:space-around;display:flex}.goals-body-item{flex-direction:column;align-items:center;display:flex}.goals-body-value{color:var(--text-primary);letter-spacing:-.5px;font-size:1.5rem;font-weight:800;line-height:1}.goals-body-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-top:4px;font-size:.7rem;font-weight:700}.goals-body-sub{color:var(--text-muted);margin-top:2px;font-size:.65rem}.goals-body-note{color:var(--text-muted);text-align:center;padding-top:var(--space-sm);border-top:1px solid var(--border-glass);font-size:.72rem}.tag-manager-card{margin-bottom:var(--space-md)}.tag-manager-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:baseline;display:flex}.tag-manager-header h3{color:var(--text-primary);font-size:1rem;font-weight:700;font-family:var(--font-display,inherit);letter-spacing:-.2px;margin:0}.tag-manager-hint{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.tag-manager-list{margin-bottom:var(--space-sm);flex-wrap:wrap;gap:8px;display:flex}.tag-chip{--tag-color:#6366f1;background:color-mix(in srgb, var(--tag-color) 12%, transparent);color:var(--text-primary);border:1px solid color-mix(in srgb, var(--tag-color) 30%, transparent);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 10px;font-size:.78rem;font-weight:600;line-height:1;display:inline-flex}.tag-chip-dot{background:var(--tag-color);border-radius:50%;flex-shrink:0;width:8px;height:8px}.tag-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.tag-chip-remove{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.tag-chip-remove svg{width:11px;height:11px}.tag-chip-remove:hover{background:color-mix(in srgb, var(--tag-color) 28%, transparent);color:var(--text-primary)}.tag-chip-remove:disabled{opacity:.5;cursor:not-allowed}.tag-manager-form{flex-direction:column;gap:10px;display:flex}.tag-color-row{flex-wrap:wrap;gap:8px;display:flex}.tag-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .15s,border-color .2s,box-shadow .2s;box-shadow:0 2px 5px -1px #0f172a2e}.tag-color-swatch:hover{transform:scale(1.08)}.tag-color-swatch:active{transform:scale(.92)}.tag-color-swatch.active{border-color:var(--bg-card);box-shadow:0 0 0 2px var(--text-primary), 0 4px 8px -2px #0f172a40}.tag-input-row{gap:8px;display:flex}.tag-input{border:1px solid var(--border-glass);background:var(--bg-secondary);min-width:0;color:var(--text-primary);border-radius:var(--radius-md);flex:1;padding:10px 14px;font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.tag-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.tag-add-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;border:none;padding:10px 18px;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s}.tag-add-btn:hover{background:var(--accent-hover)}.tag-add-btn:active{transform:scale(.97)}.tag-add-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--text-muted)}.tag-input-error{color:var(--color-fat);margin-top:-2px;font-size:.75rem}.meal-tag-filter-strip{padding:0 var(--space-md) var(--space-sm);margin:0 calc(-1 * var(--space-md)) var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.meal-tag-filter-strip::-webkit-scrollbar{display:none}.meal-tag-filter-chip{--tag-color:var(--accent);border:1px solid var(--border-glass);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.meal-tag-filter-chip:active{transform:scale(.96)}.meal-tag-filter-chip .tag-chip-dot{background:var(--tag-color);border-radius:50%;flex-shrink:0;width:8px;height:8px}.meal-tag-filter-chip.active{background:color-mix(in srgb, var(--tag-color) 14%, transparent);border-color:color-mix(in srgb, var(--tag-color) 50%, transparent);color:var(--text-primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--tag-color) 28%, transparent)}.meals-empty-filter{padding:var(--space-lg) var(--space-md);text-align:center}.meals-empty-filter p{color:var(--text-muted);margin:0 0 10px;font-size:.88rem}.meals-empty-filter-clear{border:1px solid var(--border-glass);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s,color .15s}.meals-empty-filter-clear:hover{background:var(--accent-glow);color:var(--accent)}.meal-card-tags{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.meal-card-tag{--tag-color:#6366f1;background:color-mix(in srgb, var(--tag-color) 12%, transparent);color:var(--text-secondary);border:1px solid color-mix(in srgb, var(--tag-color) 26%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;max-width:110px;padding:2px 8px;font-size:.66rem;font-weight:600;line-height:1.5;display:inline-flex;overflow:hidden}.meal-card-tag .tag-chip-dot{width:6px;height:6px}.meal-card-tag-more{background:var(--bg-glass);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:.66rem;font-weight:600;line-height:1.5}.chat-tag-picker{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed var(--border-glass)}.chat-tag-picker-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:.7rem;font-weight:700}.chat-tag-picker-grid{flex-wrap:wrap;gap:6px;display:flex}.sheet-tags{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-glass)}.sheet-tags-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.sheet-tags-header h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin:0;font-size:.78rem;font-weight:700}.sheet-tags-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .15s}.sheet-tags-save:hover{background:var(--accent-hover)}.sheet-tags-save:disabled{opacity:.6;cursor:progress}.sheet-tags-loading,.sheet-tags-empty{color:var(--text-muted);padding:10px 0;font-size:.82rem}.sheet-tags-grid{flex-wrap:wrap;gap:8px;display:flex}.tag-chip-toggle{--tag-color:#6366f1;border:1px solid var(--border-glass);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.tag-chip-toggle:active{transform:scale(.96)}.tag-chip-toggle .tag-chip-dot{background:var(--tag-color);border-radius:50%;width:8px;height:8px}.tag-chip-toggle.active{background:color-mix(in srgb, var(--tag-color) 14%, transparent);border-color:color-mix(in srgb, var(--tag-color) 50%, transparent);color:var(--text-primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--tag-color) 28%, transparent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
