:root{--bg:var(--brand-canvas);--bg-2:var(--brand-canvas-soft);--paper:var(--brand-paper);--ink:var(--brand-ink);--ink-2:var(--brand-ink-2);--muted:var(--brand-muted);--muted-2:var(--brand-muted-soft);--line:var(--brand-border);--line-2:var(--brand-canvas-soft);--accent:var(--brand-accent);--accent-bright:var(--brand-whatsapp);--accent-2:#e8f8ee;--good:#2f6b3a;--warn:#b07118;--carb:#d99a3a;--pro:#2f6b3a;--fat:#7e4cc4;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--dash-font:var(--font-cereal), ui-sans-serif, system-ui, sans-serif;--dash-font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--dash-text-caption:.6875rem;--dash-text-sm:.8125rem;--dash-text-base:1rem;--dash-text-lg:1.125rem;--dash-text-xl:1.25rem;--dash-text-2xl:1.4375rem;--dash-text-3xl:1.75rem;--dash-text-4xl:2.25rem;--dash-text-5xl:2.75rem;--dash-text-display:3.25rem;--dash-leading-tight:1.12;--dash-leading-snug:1.35;--dash-leading-normal:1.5;--dash-leading-relaxed:1.62;--dash-tracking-tight:-.015em;--dash-tracking-normal:0;--dash-tracking-wide:.06em;--dash-tracking-caps:.14em;--dash-weight-regular:400;--dash-weight-medium:500;--dash-weight-semibold:600;--dash-weight-bold:700}:is(html:has(.app),body:has(.app)){background:var(--bg);color:var(--ink);min-height:100vh}.serif{font-weight:var(--dash-weight-regular);letter-spacing:var(--dash-tracking-tight)}.mono{font-family:var(--dash-font-mono);font-variant-numeric:tabular-nums lining-nums}.num{font-variant-numeric:tabular-nums lining-nums}.app{background:var(--bg);width:100%;min-height:100vh;color:var(--ink);font-size:var(--dash-text-base);line-height:var(--dash-leading-normal);font-family:var(--dash-font);font-kerning:normal;font-feature-settings:"kern","liga","tnum";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;grid-template-columns:232px minmax(0,1fr);display:grid;position:relative}.app button:not([class]){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.app a:not([class]){color:inherit;text-decoration:none}.app h1,.app h2,.app h3,.app h4{font-weight:inherit;font-size:inherit;line-height:inherit;margin:0}.nav{background:var(--brand-panel-nav);color:var(--brand-on-panel);--accent:var(--brand-whatsapp);--accent-bright:var(--brand-whatsapp);flex-direction:column;height:100vh;padding:18px 14px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:9px;padding:8px 8px 28px;display:flex}.brand-mark{object-fit:contain;border-radius:8px;width:28px;height:28px;display:block}.brand-name{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight)}.brand-dot{color:var(--accent-bright);margin-left:-2px}.nav-section{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--brand-on-panel-soft);line-height:var(--dash-leading-snug);padding:14px 10px 8px}.nav-item{color:var(--brand-on-panel-muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);cursor:pointer;border-radius:8px;align-items:center;gap:11px;padding:9px 10px;display:flex;position:relative}.nav-item:hover,.nav-item.active{background:var(--brand-panel-hover);color:var(--brand-on-panel)}.nav-item.active:before{content:"";background:var(--accent-bright);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-14px}.nav-item svg{stroke-width:1.6px;width:16px;height:16px}.nav-item .kbd{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--brand-on-panel-soft);background:var(--brand-panel-hover);border:1px solid var(--brand-panel-line);line-height:var(--dash-leading-snug);border-radius:4px;margin-left:auto;padding:1px 5px}.nav-item:hover .kbd{color:var(--brand-on-panel-muted)}.nav-item.is-highlight{color:var(--brand-on-panel);background:color-mix(in oklch, var(--accent-bright) 12%, var(--brand-panel-hover))}.nav-item.nav-item-log:not(.active){color:var(--brand-on-panel)}.nav-item.nav-item-log:not(.active) svg{stroke:color-mix(in oklch, var(--accent-bright) 65%, var(--brand-on-panel))}.nav-badge{background:color-mix(in oklch, var(--accent-bright) 22%, var(--brand-panel-hover));color:var(--accent-bright);font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:.04em;border-radius:999px;margin-left:auto;padding:2px 7px;line-height:1.2}.nav-badge-mobile{margin-left:0;padding:1px 5px;font-size:9px;position:absolute;top:4px;right:calc(50% - 18px)}.nav-spacer{flex:1}.streak-card{background:var(--brand-panel-hover);border:1px solid var(--brand-panel-line);border-radius:12px;margin:10px 4px 14px;padding:12px}.streak-row{align-items:baseline;gap:6px;display:flex}.streak-num{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.streak-flame{color:var(--accent)}.streak-label{font-size:var(--dash-text-caption);color:var(--brand-on-panel-soft);letter-spacing:var(--dash-tracking-wide);line-height:var(--dash-leading-snug)}.streak-dots{gap:3px;margin-top:8px;display:flex}.sd{background:var(--brand-panel-line);border-radius:2px;flex:1;height:4px}.sd.on{background:var(--brand-on-panel-muted)}.sd.today{background:var(--accent)}.user{border-top:1px solid var(--brand-panel-line);align-items:center;gap:10px;margin-top:4px;padding:9px 8px;display:flex}.avatar{background:var(--brand-gradient);width:30px;height:30px;color:var(--brand-ink);font-weight:var(--dash-weight-semibold);font-size:var(--dash-text-caption);border-radius:50%;place-items:center;display:grid}.user .uname{font-size:var(--dash-text-sm);color:var(--brand-on-panel);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.user .uemail{font-size:var(--dash-text-caption);color:var(--brand-on-panel-soft);line-height:var(--dash-leading-snug)}.dash-signout-btn{border-color:var(--brand-panel-line);background:var(--brand-panel-hover);flex-shrink:0}.dash-mobile-header,.dash-bottom-nav{display:none}.dash-mobile-header{background:var(--brand-panel-nav);color:var(--brand-on-panel);border-bottom:1px solid var(--brand-panel-line);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px}.dash-mobile-brand{min-width:0;color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.dash-mobile-brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.dash-mobile-brand .brand-name{font-size:var(--dash-text-lg);line-height:var(--dash-leading-tight)}.dash-mobile-screen{font-size:var(--dash-text-caption);color:var(--brand-on-panel-soft);line-height:var(--dash-leading-snug);letter-spacing:var(--dash-tracking-wide)}.dash-mobile-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dash-mobile-signout{border:1px solid var(--brand-panel-line);background:var(--brand-panel-hover);width:40px;height:40px;color:var(--brand-on-panel-muted);border-radius:8px;place-items:center;display:grid}.dash-mobile-signout svg{stroke-width:1.6px;width:16px;height:16px}.dash-bottom-nav{z-index:50;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--brand-panel-nav);border-top:1px solid var(--brand-panel-line);justify-content:space-around;align-items:stretch;gap:2px;position:fixed;bottom:0;left:0;right:0}.dash-bottom-nav button{max-width:88px;min-height:48px;color:var(--brand-on-panel-soft);font:inherit;font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;display:flex;position:relative}.dash-bottom-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.dash-bottom-nav button svg{stroke-width:1.6px;flex-shrink:0;width:20px;height:20px}.dash-bottom-nav button.active{background:var(--brand-panel-hover);color:var(--brand-on-panel)}.dash-bottom-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main{width:100%;max-width:none;padding:28px 44px 64px;position:relative}.dashboard-top-actions{flex-shrink:0;align-items:center;display:flex}.meal-log-chat-locale{align-items:center;margin-right:4px;display:flex}.main.main-is-log{flex-direction:column;height:100svh;min-height:100dvh;padding:0;display:flex;overflow:hidden}.main.main-is-log .dashboard-panel-region,.main.main-is-log .dashboard-panel-slot:not([hidden]){flex-direction:column;flex:1;min-height:0;display:flex}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.crumbs{color:var(--muted);font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-snug);align-items:center;gap:10px;display:flex}.crumbs .sep{opacity:.5}.crumbs b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.date-pill{border:1px solid var(--line);background:var(--paper);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 8px;display:inline-flex}.date-pill .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.top-actions{align-items:center;gap:8px;display:flex}.iconbtn{border:1px solid var(--line);background:var(--paper);border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.iconbtn:hover{background:#fff}.iconbtn svg{stroke-width:1.6px;width:15px;height:15px}.btn{border:1px solid var(--line);background:var(--paper);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:8px 12px;display:inline-flex}.btn:hover{background:#fff}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn.primary{background:var(--brand-whatsapp);color:#fafcfb;color:lab(98.8808% -.925571 .473833);border-color:var(--brand-whatsapp)}.btn.primary:hover{background:var(--brand-whatsapp-hover);border-color:var(--brand-whatsapp-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-2)}.btn svg{stroke-width:1.7px;width:14px;height:14px}.btn.sm{font-size:var(--dash-text-caption);border-radius:7px;padding:5px 9px}.pagehead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin:6px 0 22px;padding-bottom:18px;display:flex}.pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);margin:0}.pagehead h1 em{color:var(--accent);font-style:normal;font-weight:var(--dash-weight-bold)}.pagehead .sub{color:var(--muted);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);max-width:65ch;margin-top:8px}.pagehead .eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--accent);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);margin-bottom:8px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px}.panel.dark{background:var(--ink);color:var(--brand-on-panel);border-color:var(--ink)}.panel.flush{padding:0;overflow:hidden}.panel-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panel.dark .panel-eyebrow{color:var(--brand-on-panel-soft)}.panel-eyebrow .accent{color:var(--accent);letter-spacing:var(--dash-tracking-caps)}.h2{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight);margin:0}.h2 small{color:var(--muted);font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-normal);font-weight:var(--dash-weight-medium);margin-left:8px}.h3{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight);margin:0}.kicker{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.seg{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-radius:7px;padding:6px 12px}.seg button.on{background:var(--ink);color:var(--brand-paper)}.seg button:not(.on):hover{background:var(--bg-2);color:var(--ink)}.chip{font-size:var(--dash-text-sm);border:1px solid var(--line);background:var(--paper);color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.chip.on{background:var(--ink);color:var(--brand-paper);border-color:var(--ink)}.chip.good{color:var(--good);background:#eef5ef;border-color:#cfe2cf}.chip.warn{color:var(--warn);background:#fff3df;border-color:#f1dca4}.chip.bad{color:var(--accent);background:#fbeee7;border-color:#f0d1c1}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.field input[type=text],.field input[type=email],.field input[type=number],.field select,.field textarea{font:inherit;border:1px solid var(--line);color:var(--ink);line-height:var(--dash-leading-normal);font-feature-settings:"kern","liga","tnum";background:#fff;border-radius:9px;outline:none;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field .hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.switch{background:var(--line);cursor:pointer;border-radius:99px;flex-shrink:0;width:34px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.switch.on{background:var(--ink)}.switch.on:after{transform:translate(14px)}.footnote{color:var(--muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);border-top:1px dashed var(--line);justify-content:space-between;margin-top:30px;padding-top:12px;display:flex}.hero{grid-template-columns:1.25fr 1fr;gap:18px;width:100%;margin-bottom:18px;display:grid}.hero-left{flex-direction:column;justify-content:space-between;min-height:300px;display:flex}.greeting{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);margin:2px 0 6px}.greeting em{color:var(--accent);font-style:normal;font-weight:var(--dash-weight-bold)}.subline{color:var(--muted);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);max-width:48ch}.hero-readout{align-items:flex-end;gap:22px;margin-top:18px;display:flex}.readout{flex-direction:column;display:flex}.readout .label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);margin-bottom:4px}.readout .big{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.readout .big small{font-size:var(--dash-text-xl);color:var(--muted);font-weight:var(--dash-weight-medium)}.readout .sub{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:6px}.readout .range{font-size:var(--dash-text-sm);color:var(--muted);font-variant-numeric:tabular-nums lining-nums;line-height:var(--dash-leading-relaxed)}.readout.amber .big{color:var(--accent)}.hero-meta{border-top:1px dashed var(--line);flex-wrap:wrap;gap:18px;margin-top:18px;padding-top:14px;display:flex}.meta{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-direction:column;gap:2px;display:flex}.meta b{color:var(--ink);font-weight:var(--dash-weight-medium);font-variant-numeric:tabular-nums lining-nums}.hero-right{flex-direction:column;align-items:center;gap:10px;display:flex}.meals-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.dash-grid{grid-template-columns:1.45fr 1fr;align-items:start;gap:18px;width:100%;display:grid}.stack{flex-direction:column;gap:18px;display:flex}@media (max-width:1180px){.hero,.dash-grid{grid-template-columns:1fr}}.daystrip{gap:6px;margin:6px 0 22px;display:flex}.day{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;gap:6px;min-width:0;padding:10px 12px 11px;display:flex}.day:hover{background:#fff}.day.today{background:var(--ink);color:var(--paper);border-color:var(--ink)}.day .dow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug)}.day.today .dow{color:var(--brand-on-panel-muted)}.day .dnum{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.day .dbar{background:var(--line-2);border-radius:3px;height:3px;overflow:hidden}.day.today .dbar{background:var(--brand-panel-line)}.day .dbar i{background:var(--ink-2);border-radius:3px;height:100%;display:block}.day.today .dbar i,.day.over .dbar i{background:var(--accent)}.day .dkcal{font-size:var(--dash-text-caption);color:var(--muted);font-variant-numeric:tabular-nums lining-nums;line-height:var(--dash-leading-snug)}.day.today .dkcal{color:var(--brand-on-panel-muted)}.meals{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.meal{border-top:1px solid var(--line-2);cursor:pointer;grid-template-columns:64px 12px 1fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid;position:relative}.meal:first-of-type{border-top:0}.meal:hover{background:#fff}.meal .time{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.meal .stripe{background:var(--accent);border-radius:3px;width:3px;height:38px}.meal.breakfast .stripe{background:#e0a93a}.meal.coffee .stripe{background:#6f4a2a}.meal.lunch .stripe{background:#2f6b3a}.meal.snack .stripe{background:var(--brand-gold)}.meal.dinner .stripe{background:#7e4cc4}.meal .title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);color:var(--ink);line-height:var(--dash-leading-snug)}.meal .desc{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.meal .tag{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);vertical-align:middle;line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;display:inline-flex}.meal .right{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.meal .kcal{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.meal .kcal .unit{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-medium);margin-left:3px}.meal .macros{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);gap:8px;display:flex}.meal .macros b{font-weight:var(--dash-weight-medium)}.meal .macros .p{color:var(--pro)}.meal .macros .c{color:var(--carb)}.meal .macros .f{color:var(--fat)}.meal .actions{gap:4px;display:none;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.meal:hover .actions{display:flex}.meal:hover .right{visibility:hidden}.meal .actions button{border:1px solid var(--line);background:#fff;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.meal .actions button:hover{background:var(--bg-2)}.meal .actions svg{stroke-width:1.7px;width:14px;height:14px}.add-meal{border-top:1px dashed var(--line);background:var(--bg-2);color:var(--muted);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);width:100%;line-height:var(--dash-leading-snug);justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.add-meal:hover{color:var(--ink);background:#fff}.add-meal svg{stroke-width:1.8px;width:14px;height:14px}.ring-wrap{place-items:center;width:248px;height:248px;margin:8px 0 2px;display:grid;position:relative}.ring-wrap svg{width:100%;height:100%;display:block}.ring-center{text-align:center;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .ring-readout{line-height:var(--dash-leading-tight);flex-direction:column;justify-content:center;align-items:center;display:flex}.ring-center .pct{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.ring-center .ctx{font-size:var(--dash-text-sm);color:var(--brand-on-panel-soft);letter-spacing:var(--dash-tracking-wide);line-height:var(--dash-leading-snug);margin-top:2px}.macros-row{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin-top:6px;display:grid}.macro{border:1px solid var(--brand-panel-line);background:#ffffff0a;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.macro .mring{flex-shrink:0;width:34px;height:34px}.macro .mtext{flex-direction:column;min-width:0;line-height:1.1;display:flex}.macro .mlabel{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--brand-on-panel-soft);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.macro .mval{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--brand-on-panel);font-variant-numeric:tabular-nums lining-nums;line-height:var(--dash-leading-tight)}.macro .mval small{font-size:var(--dash-text-sm);color:var(--brand-on-panel-soft);font-family:var(--dash-font-mono);font-weight:var(--dash-weight-medium)}.chart{align-items:flex-end;gap:10px;height:140px;margin:10px 0 8px;display:flex}.bar{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.bar .col{background:var(--line-2);border-radius:6px;width:100%;position:relative;overflow:hidden}.bar .col .fill{background:var(--ink);border-radius:6px;position:absolute;bottom:0;left:0;right:0}.bar.today .col .fill{background:var(--accent)}.bar.over .col .fill{background:#a8240f}.bar .col .goal{background:var(--muted);border-top:1px dashed var(--muted-2);height:1px;position:absolute;left:-2px;right:-2px}.bar .lbl{font-size:var(--dash-text-caption);color:var(--muted);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;line-height:var(--dash-leading-snug)}.bar.today .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.chart-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:6px;padding-top:10px;display:flex}.legend{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);gap:14px;display:flex}.legend i{background:var(--ink);vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.legend i.dashed{border-top:1px dashed var(--muted-2);background:0 0;height:0}.legend i.accent{background:var(--accent)}.insight{border-top:1px solid var(--line-2);gap:12px;padding:13px 0;display:flex}.insight:first-of-type{border-top:0;padding-top:4px}.insight .ico{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.insight .ico svg{stroke-width:1.7px;width:15px;height:15px}.insight .body .t{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);color:var(--ink);line-height:var(--dash-leading-snug)}.insight .body .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.insight .body .d b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.overview{--dash-text-hero:3.75rem}.overview .greeting{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);text-wrap:balance}.overview .panel-eyebrow{text-transform:none;letter-spacing:var(--dash-tracking-normal);font-size:var(--dash-text-sm)}.overview-connect-banner{border:1px solid color-mix(in oklch, var(--accent) 18%, transparent);background:var(--accent-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 18px;padding:14px 18px;display:flex}.overview-connect-banner-copy{max-width:52ch;font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--ink-2);margin:0}.overview-log-manual{color:var(--muted)}.overview-analytics-link{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-medium);transition:border-color .2s var(--ease-out-quint),color .2s var(--ease-out-quint);border-bottom:1px solid #0000;text-decoration:none}.overview-analytics-link:hover{color:var(--ink);border-bottom-color:var(--line)}.overview .meal{grid-template-columns:56px 20px 1fr auto}.overview .meal .stripe{display:none}.overview .meal-slot-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 3px var(--accent-2);border-radius:50%;flex-shrink:0;place-self:center}.overview .meal-slot-dot--breakfast{background:#c9922e;box-shadow:0 0 0 3px #c9922e2e}.overview .meal-slot-dot--coffee{background:#6f4a2a;box-shadow:0 0 0 3px #6f4a2a24}.overview .meal-slot-dot--lunch{background:#2f6b3a;box-shadow:0 0 0 3px #2f6b3a24}.overview .meal-slot-dot--snack{background:var(--accent);box-shadow:0 0 0 3px var(--accent-2)}.overview .meal-slot-dot--dinner{background:#6b4f99;box-shadow:0 0 0 3px #6b4f9924}.overview-meal-skeleton-row .sk-stripe{border-radius:50%;width:10px;height:10px;margin:0 auto}.overview .greeting-muted{font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);color:var(--muted);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-relaxed);margin-top:8px;display:block}.overview .hero-left{min-height:280px;padding-bottom:4px}.overview .subline{text-wrap:pretty}.overview .readout-primary .big{font-variant-numeric:tabular-nums lining-nums}.overview .hero-readout{align-items:flex-end;gap:36px;margin-top:26px}.overview .readout-primary .big{font-size:var(--dash-text-hero);font-weight:var(--dash-weight-bold);color:var(--ink);letter-spacing:-.02em;line-height:1}.overview .readout-primary.is-positive .big,.overview .readout-primary.is-over .big,.overview .readout-primary .label{color:var(--ink)}.overview .readout-primary .big small{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-semibold);color:var(--ink)}.overview .readout-primary .range{font-weight:var(--dash-weight-medium);color:var(--ink)}.overview .readout-secondary{text-align:right;margin-left:auto}.overview .readout-secondary .big{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);color:var(--ink)}.overview .readout-secondary .big small{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-medium)}.overview .panel-eyebrow .accent,.overview .crumbs b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.overview .subline{color:var(--ink)}.overview-status.on-track{color:var(--ink-2);font-weight:var(--dash-weight-semibold);border-color:color-mix(in oklch, var(--accent) 22%, transparent);background:var(--accent-2)}.overview-status.on-track .dot{background:var(--accent);width:7px;height:7px}.overview-past-pill{color:var(--ink-2);font-weight:var(--dash-weight-semibold);border-color:var(--line-2);background:color-mix(in oklch, var(--bg-2) 72%, var(--paper));margin-left:14px}.overview-back-today{font-weight:var(--dash-weight-semibold)}.overview-hero-past{background:color-mix(in oklch, var(--bg-2) 38%, var(--paper));border-color:var(--line-2);justify-content:flex-start;gap:4px;min-height:auto}.overview-hero-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin-top:20px;padding-top:16px;display:flex}.overview-hero-note{max-width:42ch;font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);color:var(--ink-2);font-weight:var(--dash-weight-medium);margin:0}.overview-hero-foot-stat{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);color:var(--muted);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;flex-shrink:0}.overview-hero-past .overview-past-kicker{color:var(--ink-2);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;font-size:var(--dash-text-caption)}.overview-hero-past .overview-past-meta{color:var(--muted);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium)}.overview-hero-past .greeting-muted{font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;margin-top:6px}.overview .hero-readout-past{border-top:1px solid color-mix(in oklch, var(--line) 80%, transparent);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:28px;padding-top:4px;display:grid}.overview .hero-readout-past .readout-secondary{text-align:left;margin-left:0}.overview .readout-past-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.overview .readout-status{border:1px solid var(--line);background:var(--paper);font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-normal);text-transform:none;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;line-height:1.2;display:inline-flex}.overview .readout-status.is-under{color:var(--good);border-color:color-mix(in oklch, var(--good) 28%, var(--line));background:color-mix(in oklch, var(--good) 8%, var(--paper))}.overview .readout-status.is-over{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 28%, var(--line));background:color-mix(in oklch, var(--accent-2) 55%, var(--paper))}.overview .readout-status.is-on{color:var(--ink-2);border-color:var(--line-2);background:color-mix(in oklch, var(--bg-2) 60%, var(--paper))}.overview .readout-status.is-empty{color:var(--muted)}.overview .readout-past-gap{flex-wrap:wrap;align-items:baseline;gap:8px 10px;line-height:1.05;display:flex}.overview .readout-past-amount{font-size:var(--dash-text-hero);font-weight:var(--dash-weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}.overview .readout-past-direction{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);color:var(--ink-2);letter-spacing:var(--dash-tracking-normal);text-transform:lowercase}.overview .readout-past.is-under .readout-past-amount{color:var(--ink)}.overview .readout-past.is-over .readout-past-amount{color:var(--accent)}.overview .readout-past.is-on .readout-past-amount{color:var(--ink)}.overview .readout-past.is-empty .readout-past-empty{font-size:var(--dash-text-4xl);color:var(--muted)}.overview .readout-past .range{max-width:26ch;color:var(--muted);font-weight:var(--dash-weight-regular);margin-top:8px}.overview .readout-secondary.readout-past .big small{font-size:var(--dash-text-lg);color:var(--muted)}.overview .readout-secondary.readout-past .range{max-width:34ch;line-height:var(--dash-leading-relaxed)}.overview .readout-primary.is-empty .big{color:var(--muted);font-size:var(--dash-text-4xl)}.overview .readout-primary.is-empty .range{color:var(--muted);max-width:16ch}.overview-view-past .day.selected{outline:2px solid color-mix(in oklch, var(--ink) 18%, transparent);outline-offset:2px}.overview .day{appearance:none;font:inherit;text-align:left;width:100%}.overview .day.selected{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:none}.overview .day.selected .dow{color:var(--brand-on-panel-muted)}.overview .day.selected .dbar{background:var(--brand-panel-line)}.overview .day.selected .dbar i{background:var(--accent)}.overview .day.selected .dkcal{color:var(--brand-on-panel-muted);font-weight:var(--dash-weight-medium)}.overview .day.today:not(.selected){background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.overview .day.today:not(.selected) .dow,.overview .day.today:not(.selected) .dkcal{color:var(--muted)}.overview .day.today:not(.selected) .dbar{background:var(--line-2)}.overview .day.today:not(.selected) .dbar i{background:var(--ink-2)}.overview .day.over .dbar i{background:var(--accent)}.overview .day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel.dark.overview-balance{border-color:var(--brand-panel-line);color:var(--brand-on-panel);background:#1a1a18}.panel.overview-balance-light{background:var(--paper);border-color:var(--line);color:var(--ink);box-shadow:0 1px #1a18140a}.panel.overview-balance-light .panel-eyebrow{color:var(--muted)}.panel.overview-balance-light .ring-track{stroke:var(--line-2)}.panel.overview-balance-light .ring-center .pct{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);color:var(--ink)}.panel.overview-balance-light .ring-center .pct-unit{font-size:var(--dash-text-2xl);color:var(--muted);font-weight:var(--dash-weight-semibold)}.panel.overview-balance-light .ring-center .ctx{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-medium);letter-spacing:var(--dash-tracking-wide);margin-top:4px}.panel.overview-balance-light .macros-row{gap:10px;width:100%;margin-top:4px}.panel.overview-balance-light .macro{background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:10px 9px}.panel.overview-balance-light .macro .mlabel{color:var(--muted);font-weight:var(--dash-weight-semibold)}.panel.overview-balance-light .macro .mval{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--ink)}.panel.overview-balance-light .macro .mval small{color:var(--muted);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium)}.panel.overview-balance-light .macro svg circle:first-of-type{stroke:var(--line-2)}.panel.overview-balance-light .overview-macro-foot{width:100%;font-size:var(--dash-text-sm);color:var(--muted);border-top:1px dashed var(--line);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);font-variant-numeric:tabular-nums lining-nums;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;display:flex}.panel.dark.overview-balance .panel-eyebrow{color:var(--brand-on-panel-soft)}.panel.dark.overview-balance .ring-track{stroke:var(--brand-panel-line)}.overview .overview-trend{font-weight:var(--dash-weight-semibold);font-size:var(--dash-text-sm);font-variant-numeric:tabular-nums lining-nums}.overview .overview-trend.is-good{color:var(--good)}.overview .overview-trend.is-warm{color:var(--accent)}.overview .overview-trend.is-muted{color:var(--muted)}.panel.overview-balance-light .ring-wrap{width:220px;height:220px;margin:4px auto 0}.overview .ring-wrap{width:240px;height:240px;margin:6px auto 2px}.panel.dark.overview-balance .ring-center .pct{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);color:var(--brand-on-panel)}.panel.dark.overview-balance .ring-center .pct-unit{font-size:var(--dash-text-2xl);color:var(--brand-on-panel-soft);font-weight:var(--dash-weight-semibold)}.panel.dark.overview-balance .ring-center .ctx{font-size:var(--dash-text-sm);color:var(--brand-on-panel-soft);font-weight:var(--dash-weight-medium);letter-spacing:var(--dash-tracking-wide);margin-top:4px}.panel.dark.overview-balance .macros-row{gap:10px;width:100%;margin-top:4px}.panel.dark.overview-balance .macro{border:1px solid var(--brand-panel-line);background:#ffffff0a;border-radius:10px;padding:10px 9px}.panel.dark.overview-balance .macro .mlabel{color:var(--brand-on-panel-soft);font-weight:var(--dash-weight-semibold)}.panel.dark.overview-balance .macro .mval{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--brand-on-panel)}.panel.dark.overview-balance .macro .mval small{color:var(--brand-on-panel-soft);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium)}.panel.dark.overview-balance .macro svg circle:first-of-type{stroke:var(--brand-panel-line)}.panel.dark.overview-balance .macro-fill-p{stroke:var(--pro)}.panel.dark.overview-balance .macro-fill-c{stroke:var(--carb)}.panel.dark.overview-balance .macro-fill-f{stroke:var(--fat)}.panel.dark.overview-balance .macro-fill{opacity:1}.panel.dark.overview-balance .overview-micro-stats{width:100%;font-size:var(--dash-text-sm);color:var(--brand-on-panel-soft);border-top:1px dashed var(--brand-panel-line);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;padding:8px 2px 0;display:flex}.overview .meal .kcal{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold)}.overview .next .ph{background:var(--brand-gradient)}.overview .next .ph:after{display:block}.overview .next .add{background:var(--accent)}.overview-suggest{color:var(--accent);font-weight:var(--dash-weight-semibold)}.overview-week-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:8px;display:flex}.overview-week-avg{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);color:var(--ink)}.overview-week-unit{font-size:var(--dash-text-lg);color:var(--muted);font-weight:var(--dash-weight-regular)}.overview-week-delta{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold)}.overview-week-delta.is-good{color:var(--good)}.overview-week-meta{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-regular);line-height:var(--dash-leading-snug)}.overview .bar{appearance:none;font:inherit;background:0 0;border:0;padding:0}.overview .bar.selected .col .fill{background:var(--accent)}.overview .bar.today:not(.selected) .col .fill{background:var(--ink)}.overview .bar.selected .lbl,.overview .bar.today .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.overview .bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.overview .legend i.accent{background:var(--accent)}.overview .insight .ico{background:var(--bg-2);border-color:var(--line-2)}.overview .insight .body .t{font-weight:var(--dash-weight-semibold);color:var(--ink);font-size:var(--dash-text-base)}.overview .insight .body .d b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.overview .add-meal{font-weight:var(--dash-weight-semibold);color:var(--ink-2)}.overview .add-meal:hover{color:var(--accent);background:var(--bg-2)}.overview .meals-head .h2{font-size:var(--dash-text-3xl)}.overview .sk{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.15s ease-in-out infinite overview-skeleton-shimmer}.overview-meal-skeleton-row{cursor:default;pointer-events:none;animation:.34s cubic-bezier(.22,1,.36,1) both overview-skeleton-row-in;animation-delay:var(--sk-delay,0s)}.overview-meal-skeleton-row .sk-time{width:44px;height:12px}.overview-meal-skeleton-row .sk-stripe{background:var(--line-2);border-radius:3px;width:3px;height:38px;animation:none}.overview-meal-skeleton-row .sk-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.overview-meal-skeleton-row .sk-title{width:min(72%,280px);height:14px}.overview-meal-skeleton-row .sk-desc{opacity:.85;width:min(48%,180px);height:12px}.overview-meal-skeleton-row .sk-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.overview-meal-skeleton-row .sk-kcal{width:64px;height:18px}.overview-meal-skeleton-row .sk-macros{opacity:.85;width:72px;height:10px}.overview-day-pending .hero-readout .readout-primary .big,.overview-day-pending .hero-readout .readout-secondary .big,.overview-day-pending .ring-center .pct{opacity:.88}@keyframes overview-skeleton-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes overview-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.overview-panel-pending .overview-day-skeleton{pointer-events:none;border-color:var(--line);background:var(--paper)}.overview-panel-pending .sk-dow{width:72%;height:10px;margin:0 auto}.overview-panel-pending .sk-dnum{width:40%;height:18px;margin:4px auto 0}.overview-panel-pending .sk-dbar{border-radius:3px;width:100%;height:3px;margin-top:8px}.overview-panel-pending .sk-crumb{vertical-align:middle;width:56px;height:12px;display:inline-block}.overview-panel-pending .sk-crumb-wide{width:132px}.overview-panel-pending .sk-eyebrow{width:min(68%,320px);height:12px;margin-bottom:14px}.overview-panel-pending .sk-greeting{width:min(88%,480px);height:34px;margin-bottom:12px}.overview-panel-pending .sk-subline{width:min(72%,380px);height:14px}.overview-panel-pending .sk-label{width:72px;height:10px;margin-bottom:10px}.overview-panel-pending .sk-big{width:min(100%,220px);height:52px}.overview-panel-pending .sk-big-short{width:min(100%,160px);height:36px}.overview-panel-pending .sk-ring{border-radius:50%;width:200px;height:200px;margin:12px auto}.overview-panel-pending .sk-mring{border-radius:50%;flex-shrink:0;width:34px;height:34px}.overview-panel-pending .sk-mval{flex:1;height:28px}.overview-panel-pending .sk-h2{width:min(72%,280px);height:28px}.overview-panel-pending .sk-chart{border-radius:12px;width:100%;height:180px}.diary-panel .miniyear.is-pending .my-grid{opacity:.72}.diary-panel .miniyear.is-pending .my-day.is-loading:after{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;width:4px;height:4px;animation:1.15s ease-in-out infinite overview-skeleton-shimmer}.diary-panel .sidestats.is-pending{opacity:.72}.diary-panel .sidestats.is-pending .v{color:var(--muted)}@media (prefers-reduced-motion:reduce){.overview-meal-skeleton-row,.overview .sk,.diary-panel .miniyear.is-pending .my-day.is-loading:after{animation:none}}.dashboard-panel-slot[hidden]{display:none!important}.dashboard-panel-region[aria-busy=true]{min-height:40vh}.reveal{opacity:0;transition:opacity .42s var(--ease-out-quint),transform .42s var(--ease-out-quint);transform:translateY(10px)}.reveal.reveal-in{opacity:1;transform:none}.reveal.reveal-in.reveal-instant{transition:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.overview .ring-progress,.overview .macro-ring-progress{transition:stroke-dashoffset .9s var(--ease-out-expo)}.overview.overview-ring-settled .ring-progress,.overview.overview-ring-settled .macro-ring-progress{transition-duration:.45s}.overview .ring-center .ring-readout{transition:opacity .55s var(--ease-out-quint) .35s,transform .55s var(--ease-out-quint) .35s;transform-origin:50%}.overview:not(.overview-animate-ring) .ring-center .ring-readout{opacity:.55;transform:scale(.97)}.overview .ring-center .pct{transition:none}.overview .readout-primary .big{transition:opacity .25s var(--ease-out-quint)}.overview .readout-primary .big.is-updating{opacity:.72}.overview .btn,.overview .iconbtn,.overview .add-meal,.overview .next .add{transition:background .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),color .18s var(--ease-out-quart),transform .12s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart)}.overview .btn:active:not(:disabled),.overview .iconbtn:active,.overview .add-meal:active,.overview .next .add:active{transform:scale(.97)}.overview .btn.primary:hover{box-shadow:var(--brand-glow)}.overview .day{transition:background .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),transform .18s var(--ease-out-quart)}.overview .day:hover{transform:translateY(-1px)}.overview .day .dbar i{transition:transform .78s var(--ease-out-expo),background .12s var(--ease-out-quart);transform-origin:0;transform:scaleX(0)}.overview.overview-animate-days .day .dbar i{transform:scaleX(1)}.overview.overview-days-settled .day .dbar i{transition:background .12s var(--ease-out-quart);transform:scaleX(1)}.overview .bar .col .fill{transition:transform .72s var(--ease-out-expo),background .18s var(--ease-out-quart);transform-origin:bottom;transform:scaleY(0)}.overview.overview-animate-week .bar .col .fill{transform:scaleY(1)}.overview .bar:hover .col .fill{transform:scaleY(1)scaleX(1.04)}.overview-quickadd{animation:overview-slide-in .32s var(--ease-out-quint) both;transform-origin:top}@keyframes overview-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.overview .meal.is-new{animation:overview-meal-in .34s var(--ease-out-quint) both}@keyframes overview-meal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.overview .meal .actions button{transition:background .15s var(--ease-out-quart),transform .12s var(--ease-out-quart)}.overview .meal .actions button:active{transform:scale(.94)}.next{border:1px dashed var(--line);background:var(--bg-2);border-radius:12px;align-items:center;gap:14px;margin-top:14px;padding:14px;display:flex}.next .ph{background:var(--brand-gradient);border-radius:10px;flex-shrink:0;width:54px;height:54px;position:relative;overflow:hidden}.next .ph:after{content:"";background:#ffffff1f;border-radius:6px;position:absolute;inset:6px}.next .body{flex:1;min-width:0}.next .body .t{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.next .body .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.next .body .meta{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:4px}.next .add{background:var(--ink);width:32px;height:32px;color:var(--brand-on-panel);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.next .add svg{stroke-width:2px;width:14px;height:14px}.diary{grid-template-columns:300px 1fr;align-items:start;gap:24px;width:100%;display:grid}.sidecal{position:sticky;top:24px}.miniyear{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px}.my-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.my-head .m{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.my-head .navbtns{gap:4px;display:flex}.my-head button{border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.my-head svg{stroke-width:2px;width:11px;height:11px}.my-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.my-dow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;color:var(--muted);text-align:center;line-height:var(--dash-leading-snug);padding:2px 0 4px}.my-day{aspect-ratio:1;font-size:var(--dash-text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;cursor:pointer;font:inherit;line-height:var(--dash-leading-snug);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:relative}.my-day.muted{color:var(--muted-2)}.my-day.has{background:#2d2a200d}.my-day.has.over{color:var(--accent);background:#c5301e1f}.my-day.has.under{color:#2f6b3a;background:#2f6b3a1a}.my-day.today{background:var(--ink);color:var(--brand-paper);font-weight:600}.my-day.sel{outline:1.5px solid var(--ink);outline-offset:1px}.my-day:after{content:"";border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px}.my-day.has:after{background:#2d2a2066}.my-day.today:after{background:var(--brand-paper)}.my-legend{font-size:var(--dash-text-caption);color:var(--muted);border-top:1px dashed var(--line);line-height:var(--dash-leading-snug);gap:10px;margin-top:10px;padding-top:10px;display:flex}.my-legend i{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.sidestats{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:14px}.stat-row{border-top:1px solid var(--line-2);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);justify-content:space-between;padding:7px 0;display:flex}.stat-row:first-of-type{border-top:0}.stat-row .v{font-variant-numeric:tabular-nums;font-weight:500}.stat-row .m{color:var(--muted)}.diary-feed{flex-direction:column;gap:24px;min-width:0;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.diary-search{border:1px solid var(--line);background:var(--paper);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:240px;padding:8px 12px;display:flex}.diary-search svg{stroke-width:1.7px;width:14px;height:14px;color:var(--muted);flex-shrink:0}.diary-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.diary-search input::placeholder{color:var(--muted-2)}.day-entry{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.day-head{border-bottom:1px solid var(--line-2);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:18px 22px;display:grid}.day-head .date{align-items:baseline;gap:10px;display:flex}.day-head .date .num{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.day-head .date .mo{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--muted);line-height:var(--dash-leading-tight)}.day-head .date .dow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);margin-top:4px;display:block}.macsplit{align-items:center;gap:10px;min-width:0;display:flex}.macsplit .splitbar{background:var(--line-2);border-radius:4px;flex:1;max-width:260px;height:8px;display:flex;overflow:hidden}.macsplit .splitbar i{height:100%;display:block}.macsplit .splitbar i.p{background:var(--pro)}.macsplit .splitbar i.c{background:var(--carb)}.macsplit .splitbar i.f{background:var(--fat)}.macsplit .mac-legend{font-size:var(--dash-text-caption);color:var(--muted);font-family:var(--dash-font-mono);line-height:var(--dash-leading-snug);flex-shrink:0;gap:8px;display:flex}.macsplit .mac-legend b{color:var(--ink);font-weight:var(--dash-weight-medium)}.day-totals{text-align:right;flex-shrink:0}.day-totals .kcal{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.day-totals .kcal .of{color:var(--muted);font-size:var(--dash-text-lg);font-weight:var(--dash-weight-medium)}.day-totals .day-delta{font-size:var(--dash-text-sm);font-family:var(--dash-font-mono);line-height:var(--dash-leading-snug);margin-top:2px}.day-delta.under{color:var(--good)}.day-delta.over{color:var(--accent)}.day-delta.on{color:var(--ink-2)}.meals-list .meal{border-top:1px solid var(--line-2);cursor:pointer;grid-template-columns:60px 12px 1fr auto;align-items:center;gap:14px;padding:12px 22px;display:grid;position:relative}.meals-list .meal:first-child{border-top:0}.meals-list .meal:hover{background:#fff}.meals-list .meal .time{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.meals-list .meal .stripe{background:var(--accent);border-radius:3px;width:3px;height:32px}.meals-list .meal.breakfast .stripe{background:#e0a93a}.meals-list .meal.coffee .stripe{background:#6f4a2a}.meals-list .meal.lunch .stripe{background:#2f6b3a}.meals-list .meal.snack .stripe{background:var(--brand-gold)}.meals-list .meal.dinner .stripe{background:#7e4cc4}.meals-list .title{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.meals-list .desc{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:1px}.meals-list .right{text-align:right}.meals-list .kcal{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.meals-list .kcal .unit{font-size:var(--dash-text-caption);color:var(--muted);font-weight:var(--dash-weight-regular);margin-left:2px}.meals-list .macros{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:3px}.meals-list .macros .p{color:var(--pro)}.meals-list .macros .c{color:var(--carb)}.meals-list .macros .f{color:var(--fat)}.day-note{background:var(--bg-2);border-top:1px dashed var(--line);font-size:var(--dash-text-sm);color:var(--muted-2);font-style:italic;line-height:var(--dash-leading-relaxed);align-items:flex-start;gap:10px;padding:12px 22px;display:flex}.day-note svg{width:14px;height:14px;color:var(--muted);flex-shrink:0;margin-top:2px}.day-note span{color:var(--ink-2);font-style:normal;font-weight:var(--dash-weight-medium)}.day-foot{font-size:var(--dash-text-sm);color:var(--muted);background:var(--bg-2);line-height:var(--dash-leading-snug);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 22px;display:flex}.day-foot .acts{flex-wrap:wrap;gap:4px;display:flex}.month-divider{color:var(--muted);font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);align-items:center;gap:14px;margin:8px 0 -4px;display:flex}.month-divider:after{content:"";background:var(--line);flex:1;height:1px}.diary-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.diary-panel .pagehead .eyebrow{color:var(--accent)}.diary-panel .diary-head-muted{font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);color:var(--muted);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-relaxed);margin-top:8px;display:block}.diary-panel .pagehead .sub{max-width:52ch}.diary-panel .pagehead-meta{font-size:var(--dash-text-sm);color:var(--muted);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.diary-panel .pagehead-note{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.diary-panel .pagehead-note b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.diary-stat-pill{color:var(--ink-2);font-weight:var(--dash-weight-semibold);background:var(--bg-2);border-color:var(--line)}.diary-stat-pill .dot{background:var(--good)}.diary-panel .seg-quiet button.on{background:var(--ink);color:var(--brand-paper)}.diary-panel .miniyear{border-color:var(--brand-panel-line);color:var(--brand-on-panel);background:#1a1a18}.diary-panel .miniyear .my-head .m{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--brand-on-panel);line-height:var(--dash-leading-tight)}.diary-panel .miniyear .my-head button{background:var(--brand-panel-line);border-color:var(--brand-panel-line);color:var(--brand-on-panel-muted)}.diary-panel .miniyear .my-head button:hover{background:var(--brand-panel-line)}.diary-panel .miniyear .my-dow{color:var(--brand-on-panel-soft)}.diary-panel .miniyear .my-day{color:var(--brand-on-panel-muted)}.diary-panel .miniyear .my-day.muted{color:var(--brand-on-panel-soft)}.diary-panel .miniyear .my-day.has{background:#ffffff0f}.diary-panel .miniyear .my-day.has.over{background:color-mix(in oklch, var(--brand-gold) 18%, transparent);color:#e8d878}.diary-panel .miniyear .my-day.has.under{color:#b8d4be;background:#7cb88a24}.diary-panel .miniyear .my-day.today{background:var(--paper);color:var(--ink);font-weight:var(--dash-weight-bold);box-shadow:none}.diary-panel .miniyear .my-day.today:after{background:var(--accent)}.diary-panel .miniyear .my-day.sel{outline:2px solid var(--accent);outline-offset:1px}.diary-panel .miniyear .my-legend{color:var(--brand-on-panel-soft);border-top-color:var(--brand-panel-line)}.diary-panel .miniyear .my-legend .leg-under{background:#7cb88a8c}.diary-panel .miniyear .my-legend .leg-on{background:#ffffff38}.diary-panel .miniyear .my-legend .leg-over{background:color-mix(in oklch, var(--brand-gold) 55%, transparent)}.diary-panel .sidestats .stat-row .v{font-weight:var(--dash-weight-semibold);color:var(--ink)}.diary-panel .toolbar .chip.on{background:var(--ink);border-color:var(--ink);color:var(--brand-paper)}.diary-panel .day-entry.is-today{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.diary-panel .day-entry.is-today .diary-day-head{background:var(--bg-2)}.diary-panel .diary-day-head{border-bottom:1px solid var(--line-2);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:22px 28px;display:flex;overflow-x:auto}.diary-panel .diary-day-head-stat{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.diary-panel .diary-day-head-date{min-width:0}.diary-panel .diary-day-head-remaining{border-left:1px solid var(--line-2);flex:none;padding-left:20px}.diary-panel .diary-day-head-icon{background:var(--bg-2);border:1px solid var(--line-2);width:42px;height:42px;color:var(--ink);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.diary-panel .diary-day-head-icon svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.diary-panel .diary-day-head-copy{flex-direction:column;gap:0;min-width:0;line-height:1.15;display:flex}.diary-panel .diary-day-head-value{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;line-height:1.15}.diary-panel .diary-day-head-date .diary-day-head-value{white-space:normal}.diary-panel .diary-day-head-label{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-regular);color:var(--muted);margin-top:1px;line-height:1.15}.diary-panel .diary-day-head-macros{flex:none;align-items:center;gap:12px;min-width:0;display:flex}.diary-panel .diary-macro-ring{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.diary-panel .diary-macro-ring-svg{flex-shrink:0;width:42px;height:42px;display:block}.diary-panel .diary-macro-ring-svg circle{stroke-width:2.5px}.diary-panel .diary-macro-ring-track{stroke:currentColor;opacity:.28}.diary-panel .diary-macro-ring-fill{stroke:currentColor;opacity:1;transition:stroke-dashoffset .45s cubic-bezier(.22,1,.36,1)}.diary-panel .diary-macro-ring-letter{font-size:12px;font-weight:var(--dash-weight-semibold);fill:currentColor;font-family:var(--dash-font-mono)}.diary-panel .diary-macro-ring-p .diary-macro-ring-svg{color:#4f7fd4}.diary-panel .diary-macro-ring-c .diary-macro-ring-svg{color:#3d9b63}.diary-panel .diary-macro-ring-f .diary-macro-ring-svg{color:#e8a23a}.diary-panel .diary-day-head.is-skeleton .sk-icon{border-radius:11px;flex-shrink:0;width:42px;height:42px}.diary-panel .diary-day-head.is-skeleton .sk-title{border-radius:6px;width:112px;height:14px}.diary-panel .diary-day-head.is-skeleton .sk-sub{border-radius:5px;width:84px;height:10px;margin-top:2px}.diary-panel .diary-day-head.is-skeleton .diary-day-head-date .sk-title{width:148px;height:16px}.diary-panel .diary-day-head.is-skeleton .diary-day-head-date .sk-sub{width:96px}.diary-panel .diary-macro-ring-skeleton{flex:none;align-items:center;gap:10px;display:flex}.diary-panel .diary-macro-ring-skeleton .sk-ring{border-radius:50%;flex-shrink:0;width:42px;height:42px}.diary-panel .diary-macro-ring-skeleton .sk-mac-val{border-radius:6px;width:42px;height:14px}.diary-panel .diary-macro-ring-skeleton .sk-mac-pct{border-radius:5px;width:28px;height:10px;margin-top:4px}.diary-panel .day-entry.is-revealing .diary-day-head{animation:.36s cubic-bezier(.22,1,.36,1) both diary-head-in}.diary-panel .month-divider{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);margin:12px 0 0}.diary-panel .meals-list .title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold)}.diary-panel .meals-list .kcal{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold)}.diary-panel .meals-list .chip.bad{color:var(--accent);font-size:var(--dash-text-caption);font-weight:var(--dash-weight-medium);background:#fbeee7;border-color:#f0d1c1;padding:2px 6px}.diary-panel .day-note{color:var(--muted);font-style:normal}.diary-panel .day-note span{color:var(--ink);font-weight:var(--dash-weight-semibold)}.diary-panel .diary-feed{gap:22px;min-height:100%}.diary-panel .diary{align-items:stretch}.diary-panel .sidecal{flex-direction:column;display:flex}.diary-panel .diary-feed-slot{flex-direction:column;flex:1;min-height:100%;animation:.42s cubic-bezier(.22,1,.36,1) both diary-day-enter;display:flex}.diary-panel .diary-feed-card,.diary-panel .day-entry{flex-direction:column;flex:1;min-height:100%;display:flex}.diary-panel .day-entry .meals-list{flex-direction:column;flex:1;display:flex}.diary-panel .day-entry-empty{text-align:center;color:var(--muted);border-top:0;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:28px 22px 40px;display:flex}.diary-panel .day-entry-empty.is-revealing{animation:.36s cubic-bezier(.22,1,.36,1) both diary-head-in}.diary-panel .day-entry-empty-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);margin:0}.diary-panel .day-entry-empty-title{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);color:var(--ink);line-height:var(--dash-leading-snug);margin:8px 0 0}.diary-panel .day-entry-empty-copy{max-width:36ch;font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:8px 0 0}.diary-panel .day-entry-empty-actions{margin-top:16px}.diary-panel .diary-feed-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;justify-content:center}.diary-panel .day-entry{border-radius:14px}.diary-panel .day-entry.is-pending .diary-day-head .date{opacity:1}.diary-panel .day-entry.is-revealing .meals-list.is-revealing .diary-meal-reveal{animation:.38s cubic-bezier(.22,1,.36,1) both diary-meal-in;animation-delay:var(--meal-delay,0s)}.diary-panel .day-entry .diary-photo-body{flex-direction:column;flex:1;min-height:0;display:flex}.diary-panel .diary-photo-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(128px,auto);gap:10px;padding:14px 16px 18px;display:grid}.diary-panel .diary-photo-card{background:color-mix(in oklch,var(--ink) 8%,var(--paper));isolation:isolate;border-radius:14px;min-height:128px;position:relative;overflow:hidden}.diary-panel .diary-photo-card.span-tall{grid-row:span 2}.diary-panel .diary-photo-card.span-wide{grid-column:span 2}.diary-panel .diary-photo-media{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0;transform:translateZ(0)}.diary-panel .diary-photo-media-fallback{background:radial-gradient(120% 80% at 20% 10%,color-mix(in oklch,var(--accent) 18%,transparent),transparent 55%), linear-gradient(145deg,color-mix(in oklch,var(--ink) 12%,var(--bg-2)),var(--bg-2))}.diary-panel .diary-photo-scrim{background:linear-gradient(to top,color-mix(in oklch,var(--ink) 78%,transparent) 0%,color-mix(in oklch,var(--ink) 18%,transparent) 42%,transparent 68%);pointer-events:none;position:absolute;inset:0}.diary-panel .diary-photo-badge{z-index:2;background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(10px);color:color-mix(in oklch,var(--paper) 96%,var(--ink));font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);border-radius:999px;align-items:center;gap:5px;padding:5px 10px 5px 8px;line-height:1;display:inline-flex;position:absolute;top:10px;left:10px}.diary-panel .diary-photo-badge svg{width:13px;height:13px;color:color-mix(in oklch,var(--paper) 82%,var(--ink));flex-shrink:0}.diary-panel .diary-photo-menu{z-index:2;background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(10px);width:32px;height:32px;color:color-mix(in oklch,var(--paper) 96%,var(--ink));cursor:pointer;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.diary-panel .diary-photo-menu svg{width:16px;height:16px}.diary-panel .diary-photo-menu:hover{background:color-mix(in oklch,var(--ink) 64%,transparent)}.diary-panel .diary-photo-foot{z-index:2;color:color-mix(in oklch,var(--paper) 96%,var(--ink));justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 12px 13px;display:flex;position:absolute;bottom:0;left:0;right:0}.diary-panel .diary-photo-copy{flex:1;min-width:0}.diary-panel .diary-photo-slot{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;line-height:var(--dash-leading-snug)}.diary-panel .diary-photo-name{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.diary-panel .diary-photo-portion{font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);color:color-mix(in oklch,var(--paper) 72%,var(--ink));white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.diary-panel .diary-photo-stats{text-align:right;flex-shrink:0}.diary-panel .diary-photo-kcal{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.diary-panel .diary-photo-kcal .unit{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-regular);opacity:.82;margin-left:2px}.diary-panel .diary-photo-macros{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);justify-content:flex-end;gap:8px;margin-top:3px;display:flex}.diary-panel .diary-photo-macros .p{color:color-mix(in oklch,var(--pro) 88%,var(--paper))}.diary-panel .diary-photo-macros .c{color:color-mix(in oklch,var(--carb) 88%,var(--paper))}.diary-panel .diary-photo-macros .f{color:color-mix(in oklch,var(--fat) 88%,var(--paper))}.diary-panel .diary-photo-card-skeleton{background:linear-gradient(110deg,var(--bg-2) 8%,color-mix(in oklch,var(--paper) 70%,var(--bg-2)) 18%,var(--bg-2) 33%);background-size:200% 100%;animation:1.15s ease-in-out infinite diary-skeleton-shimmer}.diary-panel .diary-photo-empty{border-top:0;padding-top:36px;padding-bottom:44px}.diary-panel .day-entry.is-revealing .diary-photo-body.is-revealing .diary-photo-reveal{animation:.42s cubic-bezier(.22,1,.36,1) both diary-photo-in;animation-delay:var(--photo-delay,0s)}@keyframes diary-photo-in{0%{opacity:0;transform:scale(.985)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.diary-panel .sk{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.15s ease-in-out infinite diary-skeleton-shimmer}.diary-meal-skeleton-row{cursor:default;pointer-events:none}.diary-meal-skeleton-row .sk-time{width:44px;height:12px}.diary-meal-skeleton-row .sk-stripe{background:var(--line-2);border-radius:3px;width:3px;height:32px;animation:none}.diary-meal-skeleton-row .sk-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.diary-meal-skeleton-row .sk-title{width:min(72%,280px);height:14px}.diary-meal-skeleton-row .sk-desc{opacity:.85;width:min(48%,180px);height:12px}.diary-meal-skeleton-row .sk-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.diary-meal-skeleton-row .sk-kcal{width:64px;height:18px}.diary-meal-skeleton-row .sk-macros{opacity:.85;width:72px;height:10px}.diary-meal-skeleton-row{animation:.34s cubic-bezier(.22,1,.36,1) both diary-skeleton-row-in;animation-delay:var(--sk-delay,0s)}@keyframes diary-day-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-head-in{0%{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-meal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-skeleton-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.diary-panel .diary-feed-slot,.diary-panel .day-entry.is-revealing .diary-day-head,.diary-panel .day-entry .meals-list.is-revealing .diary-meal-reveal,.diary-panel .day-entry.is-revealing .diary-photo-body.is-revealing .diary-photo-reveal,.diary-meal-skeleton-row,.diary-panel .sk,.diary-panel .diary-macro-ring-fill{transition:none;animation:none}}.diary-panel .macsplit .mac-legend b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.diary-load-more{justify-content:center;padding:8px 0 24px;display:flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;width:100%;margin-bottom:22px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px}.stat .k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.stat .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums;margin:8px 0 4px}.stat .v small{font-size:var(--dash-text-lg);color:var(--muted);font-weight:var(--dash-weight-medium)}.stat .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stat .d .arrow{font-family:var(--dash-font-mono);font-weight:var(--dash-weight-semibold)}.stat.up .arrow{color:var(--accent)}.stat.down .arrow{color:var(--good)}.stat .spark{width:100%;height:36px;margin-top:10px;display:block}.grid2{grid-template-columns:2fr 1fr;align-items:start;gap:18px;width:100%;margin-bottom:18px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:18px;width:100%;margin-bottom:18px;display:grid}.grid12{grid-template-columns:1.2fr 1fr;align-items:start;gap:18px;width:100%;margin-bottom:18px;display:grid}.chartwrap{margin-top:10px;position:relative}.chartwrap svg{width:100%;height:auto;display:block}.chartwrap .tooltip{background:var(--ink);color:var(--brand-paper);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);pointer-events:none;opacity:0;visibility:hidden;min-width:170px;transition:left 80ms ease,opacity .15s var(--ease-out-quint),visibility .15s var(--ease-out-quint);z-index:2;border-radius:10px;padding:10px 12px;position:absolute;top:18px;transform:translate(-50%)}.chartwrap.is-hovering .tooltip{opacity:1;visibility:visible}.chartwrap .tooltip.tooltip-action{pointer-events:auto;cursor:pointer;text-align:left;transition:left 80ms ease,opacity .15s var(--ease-out-quint),visibility .15s var(--ease-out-quint),transform .15s var(--ease-out-quint);border:0}.chartwrap .tooltip.tooltip-action:hover{transform:translate(-50%)translateY(-1px)}.chartwrap .tooltip.tooltip-action:active{transform:translate(-50%)translateY(0)}.chartwrap .tooltip.tooltip-action:disabled{cursor:default}.chartwrap .tooltip .tt-link{font-size:var(--dash-text-sm);color:var(--accent);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.chartwrap .tooltip .tt-link svg{stroke:currentColor;stroke-width:2.25px;flex-shrink:0;width:14px;height:14px}.chartwrap .tooltip.tooltip-action:hover .tt-link,.chartwrap .tooltip.tooltip-action:focus-visible .tt-link{color:#f06a5c}.chartwrap.is-actionable svg rect[style]{cursor:pointer}.log-panel-full{flex-direction:column;flex:1;min-height:0;display:flex}.meal-log-chat{background:var(--bg);min-height:0;color:var(--ink);flex-direction:column;flex:1;display:flex}.meal-log-chat-toolbar{border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.meal-log-chat-toolbar-brand{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-tight);color:var(--ink);align-items:center;gap:10px;display:inline-flex}.meal-log-chat-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meal-log-chat-toolbar-btn{touch-action:manipulation;flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.meal-log-chat-toolbar-btn-label{white-space:nowrap}.meal-log-chat-connect-nudge-footer{width:min(48rem,100%);margin:0 auto 10px}.meal-log-chat-toolbar-connect{font-weight:var(--dash-weight-semibold)}.meal-log-chat-connect-nudge-anchor{z-index:2;background:linear-gradient(to top, var(--bg) 72%, color-mix(in oklch,var(--bg) 0%, transparent));margin-top:12px;padding-top:8px;position:sticky;bottom:0}.meal-log-chat-connect-nudge{background:var(--accent);width:100%;color:color-mix(in oklch,#fff 96%, var(--accent));box-shadow:0 10px 28px color-mix(in oklch,var(--accent) 34%, transparent);transform-origin:bottom;opacity:0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;margin:0;padding:14px 14px 14px 16px;display:flex;transform:translateY(10px)scale(.985)}.meal-log-chat-connect-nudge.is-entering{animation:none}.meal-log-chat-connect-nudge:not(.is-entering):not(.is-closing){animation:.28s cubic-bezier(.16,1,.3,1) both meal-log-connect-nudge-in}.meal-log-chat-connect-nudge.is-closing{pointer-events:none;animation:.22s cubic-bezier(.4,0,1,1) both meal-log-connect-nudge-out}@keyframes meal-log-connect-nudge-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes meal-log-connect-nudge-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.985)}}.meal-log-chat-connect-nudge-copy{flex:1;min-width:0}.meal-log-chat-connect-nudge-title{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);margin:0}.meal-log-chat-connect-nudge-desc{max-width:42ch;font-size:var(--dash-text-caption);line-height:var(--dash-leading-relaxed);color:color-mix(in oklch,#fff 82%, var(--accent));margin:4px 0 0}.meal-log-chat-connect-nudge-actions{flex-shrink:0;align-items:flex-start;gap:6px;display:flex}.meal-log-chat-connect-nudge-cta{appearance:none;font:inherit;font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);color:var(--accent);background:color-mix(in oklch,#fff 96%, var(--accent));cursor:pointer;white-space:nowrap;border:1px solid #ffffff47;border:1px solid lab(100% 0 0/.28);border-color:oklch(100% 5.96046e-8 none/.28) oklch(100% 5.96046e-8 none/.28) oklch(100% 5.96046e-8 none/.28) oklch(100% 5.96046e-8 none/.28);border-radius:8px;padding:7px 12px;line-height:1;transition:background .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.meal-log-chat-connect-nudge-cta:hover{background:#fff}.meal-log-chat-connect-nudge-cta:active{transform:scale(.98)}.meal-log-chat-connect-nudge-cta:focus-visible{outline:2px solid color-mix(in oklch,#fff 70%, var(--accent));outline-offset:2px}.meal-log-chat-connect-nudge-close{appearance:none;width:28px;height:28px;color:color-mix(in oklch,#fff 88%, var(--accent));cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:background .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1);display:grid}.meal-log-chat-connect-nudge-close:hover{color:#fff;background:#ffffff24;background:lab(100% 0 0/.14)}.meal-log-chat-connect-nudge-close:focus-visible{outline:2px solid color-mix(in oklch,#fff 70%, var(--accent));outline-offset:2px}.meal-log-chat-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.meal-log-chat-thread{flex-direction:column;gap:20px;width:min(48rem,100%);min-height:100%;margin:0 auto;padding:28px 20px 32px;display:flex}.meal-log-chat-thread.has-messages{justify-content:flex-end}.meal-log-chat-thread.has-connect-nudge{padding-bottom:12px}.meal-log-chat-bottom{pointer-events:none;flex-shrink:0;height:1px}.meal-log-chat-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:min(520px,100dvh - 220px);padding:48px 12px 64px;display:flex}.meal-log-chat-empty-mark{background:color-mix(in oklch,var(--accent) 8%, var(--paper));border:1px solid color-mix(in oklch,var(--accent) 18%, var(--line));border-radius:20px;place-items:center;width:72px;height:72px;margin-bottom:18px;display:grid}.meal-log-chat-empty-title{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-snug);color:var(--ink);margin:0}.meal-log-chat-empty-copy{max-width:34ch;font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);color:var(--muted);margin:10px 0 0}.meal-log-chat-empty-actions{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:280px;margin-top:22px;display:flex}.meal-log-chat-empty-cta{justify-content:center;width:100%}.meal-log-chat-empty-connect{width:100%;color:var(--ink-2);border-color:var(--line);background:var(--paper);justify-content:center;align-items:center;gap:8px;display:inline-flex}.meal-log-chat-empty-connect:hover{color:var(--ink);border-color:color-mix(in oklch,var(--accent) 24%, var(--line));background:color-mix(in oklch,var(--accent) 4%, var(--paper))}.meal-log-chat-loading{justify-content:center;align-items:center;min-height:12rem;padding:32px 12px 48px;display:flex}.meal-log-chat-loading p{font-size:var(--dash-text-sm);color:var(--muted);margin:0}.meal-log-chat-skeleton-thread{flex-direction:column;justify-content:flex-end;gap:20px;width:100%;display:flex}.meal-log-chat-skeleton-row{pointer-events:none;animation:.34s cubic-bezier(.22,1,.36,1) both meal-log-skeleton-row-in;animation-delay:var(--sk-delay,0s)}.meal-log-chat .sk{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;border-radius:6px;animation:1.15s ease-in-out infinite meal-log-skeleton-shimmer;display:block}.meal-log-chat-skeleton-photo{aspect-ratio:4/3;border-radius:14px;width:12rem;max-width:100%}.meal-log-chat-skeleton-avatar{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);border:1px solid var(--line);background-size:200% 100%;animation:1.15s ease-in-out infinite meal-log-skeleton-shimmer}.meal-log-chat-skeleton-bubble{width:fit-content;max-width:min(20rem,100% - 44px);box-shadow:none;flex-direction:column;gap:0;display:flex}.meal-log-chat-skeleton-line.is-title{border-radius:6px;width:10.5rem;height:1.125rem}.meal-log-chat-skeleton-line.is-kcal{opacity:.92;border-radius:5px;width:7.5rem;height:.875rem;margin-top:8px}.meal-log-chat-skeleton-line.is-macros{opacity:.88;border-radius:5px;width:9.75rem;height:.75rem;margin-top:6px}@keyframes meal-log-skeleton-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes meal-log-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.meal-log-chat-skeleton-row,.meal-log-chat .sk{animation:none}}.meal-log-chat-row{align-items:flex-start;gap:12px;max-width:100%;display:flex}.meal-log-chat-row.is-user{justify-content:flex-end}.meal-log-chat-avatar{background:color-mix(in oklch,var(--accent) 10%, var(--paper));border:1px solid color-mix(in oklch,var(--accent) 20%, var(--line));border-radius:999px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.meal-log-chat-bubble{min-width:0;max-width:min(36rem,100% - 44px);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);overflow-wrap:anywhere}.meal-log-chat-bubble.is-user.is-photo{border:1px solid var(--line);background:var(--paper);box-shadow:0 1px 2px color-mix(in oklch,var(--ink) 6%, transparent);border-radius:18px;padding:4px}.meal-log-chat-bubble.is-user.is-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:14px;width:100%;max-width:18rem;display:block}.meal-log-chat-bubble.is-assistant{border:1px solid var(--line);background:var(--paper);color:var(--ink-2);box-shadow:0 1px 2px color-mix(in oklch,var(--ink) 5%, transparent);border-radius:18px;padding:14px 16px}.meal-log-chat-bubble.is-assistant.is-analyzing{flex-direction:column;gap:8px;width:fit-content;min-width:12rem;display:flex}.meal-log-chat-analyze-label{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);color:var(--muted);margin:0}.meal-log-chat-analyze-progress{--analyze-progress:.1;background:var(--line);border-radius:999px;width:100%;height:3px;position:relative}.meal-log-chat-analyze-fill{border-radius:inherit;background:var(--brand-gradient);transform:scaleX(var(--analyze-progress));transform-origin:0;box-shadow:var(--brand-glow-soft);transition:transform .52s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.meal-log-chat-meal-name{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);color:var(--ink);margin:0}.meal-log-chat-meal-kcal{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--ink);margin:8px 0 0}.meal-log-chat-meal-macros{font-size:var(--dash-text-sm);color:var(--muted);margin:8px 0 0}.meal-log-chat-meal-note{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--muted);margin:10px 0 0}.meal-log-chat-meal-actions{margin-top:14px}.meal-log-chat-bubble.is-error{border-color:color-mix(in oklch,var(--accent) 28%, var(--line));background:color-mix(in oklch,var(--accent) 6%, var(--paper));color:color-mix(in oklch,var(--accent) 70%, var(--ink))}.meal-log-chat-footer{padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:color-mix(in oklch,var(--paper) 92%, var(--bg));flex-shrink:0}.meal-log-chat-composer{width:min(48rem,100%);margin:0 auto}.meal-log-chat-composer-shell{border:1px solid var(--line);background:var(--paper);box-shadow:0 8px 24px color-mix(in oklch,var(--ink) 8%, transparent);border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 8px;display:flex}.meal-log-chat-composer-attach,.meal-log-chat-composer-send{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;place-items:center;transition:background .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1);display:grid}.meal-log-chat-composer-attach:hover,.meal-log-chat-composer-send:hover{background:color-mix(in oklch,var(--ink) 5%, var(--paper));color:var(--ink)}.meal-log-chat-composer-attach:disabled,.meal-log-chat-composer-send:disabled,.meal-log-chat-composer-input:disabled{opacity:.55;cursor:not-allowed}.meal-log-chat-composer-attach:focus-visible,.meal-log-chat-composer-send:focus-visible,.meal-log-chat-composer-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.meal-log-chat-composer-input{text-align:left;min-width:0;font:inherit;font-size:var(--dash-text-base);color:var(--muted);cursor:pointer;background:0 0;border:0;flex:1;padding:8px 4px}.meal-log-chat-composer-hint{font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);color:var(--muted);text-align:center;margin:8px 4px 0}.dash-meal-chat{border:1px solid var(--brand-panel-line);background:var(--brand-panel);color:var(--brand-on-panel);border-radius:16px;flex-direction:column;gap:12px;min-height:22rem;padding:14px;display:flex;box-shadow:0 10px 28px #1111101f}.dash-meal-chat-head{border-bottom:1px solid var(--brand-panel-line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.dash-meal-chat-brand{align-items:center;gap:8px;min-width:0;display:inline-flex}.dash-meal-chat-name{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-normal)}.dash-meal-chat-status{font-size:var(--dash-text-caption);color:var(--brand-on-panel-soft);text-transform:lowercase}.dash-meal-chat-status:before{content:"";vertical-align:.05em;background:#6ee7a8;border-radius:999px;width:6px;height:6px;margin-right:6px;display:inline-block}.dash-meal-chat-thread{flex-direction:column;flex:auto;gap:10px;min-height:8rem;padding:4px 0;display:flex}.dash-meal-chat-msg{max-width:88%;font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);overflow-wrap:anywhere;border-radius:16px;min-width:0;padding:10px 12px}.dash-meal-chat-msg.is-bot{background:var(--brand-panel-hover);border:1px solid var(--brand-panel-line);color:var(--brand-on-panel);border-bottom-left-radius:4px;align-self:flex-start}.dash-meal-chat-msg.is-user{background:var(--accent);color:#fffaf8;border-bottom-right-radius:4px;align-self:flex-end}.dash-meal-chat-msg.is-user.is-photo{background:var(--brand-panel-hover);border:1px solid var(--brand-panel-line);padding:4px}.dash-meal-chat-photo{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;max-width:14rem;display:block}.dash-meal-chat-photo-delete{border:1px solid var(--brand-panel-line);width:28px;height:28px;color:var(--brand-on-panel);cursor:pointer;background:#111110d1;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.dash-meal-chat-msg.is-user.is-photo{position:relative}.dash-meal-chat-msg.is-bot.is-analyzing{flex-direction:column;gap:7px;width:fit-content;min-width:76px;display:flex}.dash-meal-analyze-label{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);color:#b8b0a0;margin:0}.dash-meal-analyze-progress{--analyze-progress:.1;background:var(--brand-panel-line);border-radius:999px;width:100%;height:3px;position:relative}.dash-meal-analyze-progress-fill{border-radius:inherit;background:var(--accent);transform:scaleX(var(--analyze-progress));transform-origin:0;transition:transform .52s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.dash-meal-chat-msg.is-bot.is-reply{padding:12px 14px}.dash-meal-chat-meal{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);color:var(--brand-on-panel)}.dash-meal-chat-kcal{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-bold);color:#fff5f2;margin-top:6px}.dash-meal-chat-macros{font-size:var(--dash-text-sm);color:#a39b8c;margin:8px 0 0}.dash-meal-chat-note{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--brand-on-panel-soft);margin:8px 0 0}.dash-meal-chat-msg.is-bot.is-error{border-color:color-mix(in oklch,var(--accent) 35%, var(--brand-panel-line));color:#ffd8d2}.dash-meal-composer{margin-top:2px}.dash-meal-composer-btn{background:var(--brand-panel-hover);width:100%;color:var(--brand-on-panel);text-align:left;cursor:pointer;border:1px dashed #4a463c;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .16s cubic-bezier(.16,1,.3,1),background .16s cubic-bezier(.16,1,.3,1);display:flex}.dash-meal-composer-btn:hover{border-color:var(--brand-on-panel-soft);background:var(--brand-panel-hover)}.dash-meal-composer-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dash-meal-composer-attach{background:var(--brand-panel);border:1px solid var(--brand-panel-line);width:36px;height:36px;color:var(--brand-on-panel-muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-meal-composer-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-meal-composer-label{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);color:var(--brand-on-panel)}.dash-meal-composer-hint{font-size:var(--dash-text-caption);color:var(--brand-on-panel-soft);line-height:var(--dash-leading-snug)}.dash-meal-chat-sent-hint{font-size:var(--dash-text-sm);color:var(--brand-on-panel-soft);margin:0}.analytics-panel .analytics-chart-hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:0 0 8px}.analytics-panel .analytics-chart-hint-accent{color:var(--accent);font-weight:var(--dash-weight-semibold)}.chartwrap:not(.is-hovering) .tooltip{transform:translate(-50%)}.chartwrap .tooltip .tt-date{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--brand-on-panel-soft);line-height:var(--dash-leading-snug);margin-bottom:4px}.chartwrap .tooltip .tt-val{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.chartwrap .tooltip .tt-mac{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--brand-on-panel-muted);line-height:var(--dash-leading-snug);margin-top:6px}.chartwrap .tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--ink);width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.chartwrap.weight-chart .tooltip{min-width:130px;font-size:var(--dash-text-sm);top:auto;bottom:calc(100% + 8px)}.chartwrap.weight-chart .tooltip .tt-val{font-size:var(--dash-text-xl)}.chartwrap.weight-chart .tooltip:after{border-top-color:var(--ink);border-right-color:#0000;top:auto;bottom:-6px}.stack-col.is-active .stack-bar{outline:2px solid var(--ink);outline-offset:2px}.stack-col.is-active .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.heat .cell:not(.empty){cursor:help}.tod .h{cursor:crosshair;transition:transform .1s}.tod .h.is-active{transform-origin:bottom;transform:scaleY(1.03)}.tod .h.is-active i{background:var(--accent)}.tod-tip{font-size:var(--dash-text-sm);color:var(--ink-2);font-family:var(--dash-font-mono);line-height:var(--dash-leading-snug);margin-top:8px}.stack-chart{align-items:flex-end;gap:10px;height:200px;margin-top:14px;display:flex}.stack-col{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.stack-bar{background:var(--line-2);border-radius:6px;flex-direction:column-reverse;width:100%;display:flex;overflow:hidden}.stack-bar i{width:100%;display:block}.stack-bar .p{background:var(--pro)}.stack-bar .c{background:var(--carb)}.stack-bar .f{background:var(--fat)}.stack-col .lbl{font-size:var(--dash-text-caption);color:var(--muted);letter-spacing:var(--dash-tracking-wide);text-align:center;line-height:var(--dash-leading-snug)}.stack-foot{border-top:1px dashed var(--line);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.stack-leg{flex-wrap:wrap;gap:14px;display:flex}.stack-leg i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.heat{grid-template-columns:60px repeat(7,1fr);gap:4px;margin-top:14px;display:grid}.heat .hd{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);place-items:center;display:grid}.heat .hr{font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);align-items:center;display:flex}.heat .cell{aspect-ratio:1.4;font-size:var(--dash-text-caption);font-variant-numeric:tabular-nums;color:var(--ink-2);cursor:default;line-height:var(--dash-leading-snug);border-radius:6px;place-items:center;display:grid}.heat .cell.empty{background:repeating-linear-gradient(45deg,var(--line-2),var(--line-2) 3px,var(--paper) 3px,var(--paper) 6px);color:var(--muted-2)}.heat .cell.l1{color:var(--ink-2);background:#eef0e7}.heat .cell.l2{background:#d8dec3}.heat .cell.l3{color:#fff;background:#a8b685}.heat .cell.l4{color:#fff;background:#6f8146}.heat .cell.l5{color:#fff;background:#3f5022}.heat .cell.over{background:var(--accent);color:#fff}.heat .cell.today{outline:2px solid var(--ink);outline-offset:1px}.heat-leg{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;display:flex}.heat-leg i{border-radius:4px;width:14px;height:14px;display:inline-block}.tfoods .food-row{border-top:1px solid var(--line-2);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);grid-template-columns:30px 1fr auto 80px;align-items:center;gap:12px;padding:11px 0;display:grid}.tfoods .food-row:first-of-type{border-top:0;padding-top:0}.tfoods .food-row .rank{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--muted);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.tfoods .food-row .name b{font-weight:var(--dash-weight-medium);display:block}.tfoods .food-row .name span{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.tfoods .food-row .count{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.tfoods .food-row .bar{background:var(--line-2);border-radius:3px;height:6px;overflow:hidden}.tfoods .food-row .bar i{background:var(--ink-2);border-radius:3px;height:100%;display:block}.tod{align-items:flex-end;gap:3px;height:120px;margin-top:14px;display:flex}.tod .h{background:var(--line-2);border-radius:3px;flex:1;min-height:4px;position:relative}.tod .h i{background:var(--ink-2);border-radius:3px;position:absolute;bottom:0;left:0;right:0}.tod .h.peak i{background:var(--accent)}.tod-labels{font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);justify-content:space-between;margin-top:6px;padding:0 2px;display:flex}.wlegend{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-wrap:wrap;gap:14px;display:flex}.wlegend i{vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.wlegend i.actual{background:var(--ink)}.wlegend i.trend{background:var(--accent)}.insight-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;gap:14px;padding:16px;display:flex}.insight-card .ico{border-radius:9px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.insight-card .ico svg{stroke-width:1.7px;width:18px;height:18px}.insight-card h4{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);margin:0 0 4px}.insight-card p{color:var(--muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);margin:0}.insight-card p b{color:var(--ink);font-weight:var(--dash-weight-medium)}.analytics-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);text-wrap:balance}.analytics-panel .pagehead .sub{text-wrap:pretty}.analytics-panel .panel-eyebrow,.analytics-panel .stat .k,.analytics-panel .analytics-weekend-k{text-transform:none;letter-spacing:var(--dash-tracking-normal);font-size:var(--dash-text-sm)}.analytics-panel .analytics-pagehead .sub{margin-top:8px}.analytics-panel .analytics-load-error{margin-top:12px}.analytics-topbar .analytics-range-seg{max-width:100%}.analytics-range-pending .stat-grid,.analytics-range-pending .analytics-chart-row,.analytics-range-pending .grid3{opacity:.72;pointer-events:none;transition:opacity .2s var(--ease-out-quint)}.analytics-panel .stat.stat-focus{background:var(--paper);border-color:color-mix(in oklch, var(--accent) 20%, transparent);box-shadow:inset 0 3px 0 var(--accent);color:var(--ink)}.analytics-panel .stat.stat-focus .k{color:var(--muted)}.analytics-panel .stat.stat-focus .v{color:var(--ink)}.analytics-panel .stat.stat-focus .v small,.analytics-panel .stat.stat-focus .d{color:var(--muted)}.analytics-panel .stat.stat-focus .d b{color:var(--ink)}.analytics-panel .stat.stat-focus .arrow{color:var(--good)}.analytics-kpi-empty{grid-column:1/-1}.analytics-panel-empty{padding:8px 0 4px}.analytics-empty-title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);color:var(--ink);margin:0 0 6px}.analytics-panel-pending .sk{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.15s ease-in-out infinite overview-skeleton-shimmer}.analytics-panel-pending .analytics-stat-skeleton{pointer-events:none}.analytics-panel-pending .sk-label{width:72%;height:10px;margin-bottom:10px}.analytics-panel-pending .sk-desc{opacity:.85;width:55%;height:10px;margin-top:10px}.analytics-panel-pending .sk-chart{border-radius:14px;min-height:220px}.analytics-panel .pagehead .eyebrow{color:var(--accent)}.analytics-panel .analytics-head-muted{font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);color:var(--muted);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-relaxed);margin-top:8px;display:block}.analytics-panel .pagehead .sub{max-width:52ch}.analytics-panel .pagehead-meta{font-size:var(--dash-text-sm);color:var(--muted);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.analytics-panel .analytics-adherence{font-family:var(--dash-font-mono);color:var(--ink);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-semibold)}.analytics-stat-pill{color:var(--ink-2);font-weight:var(--dash-weight-semibold);background:var(--bg-2);border-color:var(--line)}.analytics-panel .seg-quiet button.on{background:var(--ink);color:var(--brand-paper)}.analytics-panel .stat{padding:18px}.analytics-panel .stat .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .stat.stat-focus .v{font-size:var(--dash-text-display)}.analytics-panel .stat .v small{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-semibold)}.analytics-panel .stat.down .arrow{color:var(--good);font-weight:var(--dash-weight-bold)}.analytics-panel .stat.up .arrow{color:var(--accent);font-weight:var(--dash-weight-bold)}.analytics-panel .stat .d b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .chip.good.analytics-chip{color:var(--good);font-weight:var(--dash-weight-semibold);background:#eef5ef;border-color:#cfe2cf}.analytics-panel .chip.warn.analytics-chip{color:var(--warn);font-weight:var(--dash-weight-semibold);background:#fff3df;border-color:#f1dca4}.analytics-panel .analytics-weight-foot{border-top:1px dashed var(--line);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--muted);flex-direction:column;align-items:flex-start;gap:4px;margin-top:10px;padding-top:10px}.analytics-panel .analytics-weekend-split{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}.analytics-panel .analytics-weekend-k{font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-normal);text-transform:none;color:var(--muted);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug)}.analytics-panel .analytics-weekend-v{font-family:var(--dash-font);font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin-top:4px}.analytics-panel .analytics-sidebar{flex-direction:column;gap:18px;display:flex}.analytics-panel .analytics-chart-row{align-items:stretch}.analytics-panel .analytics-chart-row>.panel,.analytics-panel .analytics-chart-row>.analytics-sidebar{flex-direction:column;min-height:0;display:flex}.analytics-panel .analytics-chart-row .analytics-calories-panel,.analytics-panel .analytics-chart-row .analytics-weight-panel{flex-direction:column;flex:1;height:100%;display:flex}.analytics-panel .analytics-chart-row .chartwrap{touch-action:none;flex-direction:column;flex:1;min-height:0;margin-top:10px;display:flex}.analytics-panel .analytics-chart-row .chartwrap svg{flex:none;width:100%;height:auto;display:block}.analytics-panel .analytics-chart-row .chartwrap.calorie-chart svg{aspect-ratio:600/220}.analytics-panel .analytics-chart-row .chartwrap.weight-chart svg{aspect-ratio:240/100}.analytics-panel .analytics-chart-row .analytics-calories-panel>.stack-foot,.analytics-panel .analytics-weight-log{margin:0 0 12px}.analytics-panel .analytics-weight-log-label{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);color:var(--ink-2);line-height:var(--dash-leading-snug);margin-bottom:6px;display:block}.analytics-panel .analytics-weight-log-row{align-items:center;gap:8px;display:flex}.analytics-panel .analytics-weight-log-input{border:1px solid var(--line);background:var(--paper);min-width:0;font-size:var(--dash-text-base);font-variant-numeric:tabular-nums lining-nums;border-radius:8px;flex:1;padding:8px 10px}.analytics-panel .analytics-weight-log-input:focus{outline:2px solid color-mix(in oklch, var(--accent) 35%, transparent);outline-offset:1px;border-color:color-mix(in oklch, var(--accent) 35%, transparent)}.analytics-panel .analytics-weight-log-hint{font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:6px 0 0}.analytics-panel .analytics-weight-log-error{margin-top:8px}.analytics-panel .analytics-chart-row .analytics-weight-panel>.wlegend{margin-top:auto}.analytics-panel .analytics-metric-row{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.analytics-panel .analytics-metric-val{font-family:var(--dash-font);font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .analytics-metric-val-lg{font-size:var(--dash-text-display)}.analytics-panel .analytics-metric-unit{color:var(--muted);font-size:var(--dash-text-lg);font-weight:var(--dash-weight-medium)}.analytics-panel .stack-foot b,.analytics-panel .analytics-heat-note b,.analytics-panel .analytics-tod-meta b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .analytics-macro-stat{font-family:var(--dash-font);font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .analytics-macro-unit{color:var(--muted);font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);margin-left:4px}.analytics-panel .analytics-heat-note{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:4px 0 0}.analytics-panel .tfoods .food-row .rank{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--muted)}.analytics-panel .tfoods .food-row .bar i.is-over{background:var(--accent)}.analytics-panel .analytics-projection-goal{font-family:var(--dash-font);font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .analytics-projection-label{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.analytics-panel .analytics-projection-k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-semibold)}.analytics-panel .analytics-projection-v{font-family:var(--dash-font);font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin-top:4px}.analytics-panel .analytics-projection-foot{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed)}.analytics-panel .heat-leg .heat-l1{background:#eef0e7}.analytics-panel .heat-leg .heat-l2{background:#d8dec3}.analytics-panel .heat-leg .heat-l3{background:#a8b685}.analytics-panel .heat-leg .heat-l4{background:#6f8146}.analytics-panel .heat-leg .heat-l5{background:#3f5022}.analytics-panel .heat-leg .heat-over{background:var(--accent)}.analytics-panel .heat-over-label{margin-left:8px}.analytics-panel .stack-leg .leg-intake{background:var(--ink)}.analytics-panel .stack-leg .leg-trend{background:var(--accent);opacity:.75}.analytics-panel .stack-leg .leg-goal{border-top:1px dashed var(--muted-2);background:0 0;border-radius:0;width:10px;height:0}.analytics-panel .analytics-macro-summary{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.analytics-panel .stack-col.is-current .lbl{color:var(--accent);font-weight:var(--dash-weight-semibold)}.analytics-panel .stack-col.is-active .stack-bar{outline:2px solid var(--ink);outline-offset:1px}.analytics-panel .stack-col.is-active .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .tod .h.peak i,.analytics-panel .tod .h.is-active i{background:var(--accent)}.analytics-panel .analytics-tod-meta{color:var(--muted);border-top:1px dashed var(--line);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;display:flex}.analytics-panel .tfoods .food-row .bar i{background:var(--ink-2)}.analytics-panel .wlegend i.trend{background:var(--accent)}.analytics-panel .wlegend i.actual{background:var(--ink)}.analytics-panel .insight-card .ico{background:var(--bg-2);border:1px solid var(--line-2)}.analytics-panel .insight-card h4{font-weight:var(--dash-weight-semibold);color:var(--ink);font-size:var(--dash-text-base)}.analytics-panel .insight-card p b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .analytics-projection{flex-direction:column;gap:14px;margin-top:6px;display:flex}.analytics-panel .analytics-projection-divider{background:var(--line-2);height:1px}.analytics-panel .analytics-projection-row{justify-content:space-between;gap:12px;display:flex}.analytics-panel .analytics-projection-right{text-align:right}.analytics-panel .analytics-progress{background:var(--line-2);border-radius:4px;height:8px;overflow:hidden}.analytics-panel .analytics-progress-fill{background:var(--accent);border-radius:4px;height:100%}.analytics-panel .analytics-projection-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.analytics-panel .analytics-projection-btn{justify-content:center}.seg.sm button{font-size:var(--dash-text-sm);padding:5px 10px}.settings-layout{grid-template-columns:220px 1fr;align-items:start;gap:32px;width:100%;display:grid}.settings-toc{flex-direction:column;gap:2px;display:flex;position:sticky;top:24px}.settings-toc a,.settings-toc .toc-item{font-size:var(--dash-text-sm);color:var(--muted);cursor:pointer;font:inherit;text-align:left;width:100%;line-height:var(--dash-leading-snug);white-space:nowrap;font-weight:var(--dash-weight-regular);background:0 0;border:0;border-radius:8px;padding:8px 12px;display:block;position:relative}.settings-toc a:hover,.settings-toc .toc-item:hover{color:var(--ink);background:var(--bg-2)}.settings-toc a.active,.settings-toc .toc-item.active{color:var(--ink);background:var(--bg-2);font-weight:var(--dash-weight-medium)}.settings-toc a.active:before,.settings-toc .toc-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:8px;bottom:8px;left:0}.settings-toc .group{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);padding:14px 12px 6px}.settings-sec{margin-bottom:32px;scroll-margin-top:24px}.settings-panel .settings-main{min-width:0}.settings-panel .settings-sec-active{outline:none;margin-bottom:0}.settings-panel .settings-sec-active:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.settings-sec-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;padding-bottom:14px;display:flex}.settings-sec-head h2{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight);margin:0}.settings-sec-head .desc{color:var(--muted);font-size:var(--dash-text-sm);max-width:48ch;line-height:var(--dash-leading-relaxed)}.set-card{background:var(--paper);border:1px solid var(--line);border-radius:14px}.set-card+.set-card{margin-top:14px}.set-card-section{border-top:1px solid var(--line-2);padding:18px 22px}.set-card-section:first-child{border-top:0}.set-card-section h3{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);margin:0 0 4px}.set-card-section .p{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:0}.set-row{grid-template-columns:1fr auto;align-items:center;gap:18px;display:grid}.set-row .right{align-items:center;gap:10px;display:flex}.set-row+.set-row{margin-top:14px}.set-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.set-grid-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.set-grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.profile-head{flex-wrap:wrap;align-items:center;gap:18px;padding:22px;display:flex}.big-avatar{background:var(--brand-gradient);width:72px;height:72px;color:var(--brand-ink);font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.big-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.big-avatar .badge{background:var(--ink);width:24px;height:24px;color:var(--brand-paper);border:2px solid var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.big-avatar .badge svg{stroke-width:2px;width:11px;height:11px}.profile-head .name{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight)}.profile-head .em{color:var(--muted);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);margin-top:4px}.profile-head .meta{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.profile-head .meta b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.goal-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex}.goal-card.selected{border-color:var(--ink);outline:1.5px solid var(--ink);outline-offset:-1px}.goal-card .k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.goal-card.selected .k{color:var(--accent)}.goal-card .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.goal-card .v small{font-size:var(--dash-text-lg);color:var(--muted);font-weight:var(--dash-weight-medium)}.goal-card .edit{border-top:1px dashed var(--line);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;display:flex}.goal-card .edit button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.macro-split{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.macro-split .splitbar{background:var(--line-2);border-radius:7px;flex:1;min-width:160px;height:14px;display:flex;overflow:hidden}.macro-split .splitbar i{height:100%;display:block}.macro-split .splitbar i.p{background:var(--pro)}.macro-split .splitbar i.c{background:var(--carb)}.macro-split .splitbar i.f{background:var(--fat)}.macro-split .nums{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);flex-wrap:wrap;gap:14px;display:flex}.macro-split .nums b{font-size:var(--dash-text-lg);color:var(--ink);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums;font-family:inherit;display:block}.macro-split .nums span{color:var(--muted)}.set-notif{border-top:1px solid var(--line-2);align-items:center;gap:14px;padding:14px 0;display:flex}.set-notif:first-child{border-top:0;padding-top:0}.set-notif .ico{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.set-notif .ico svg{stroke-width:1.6px;width:14px;height:14px}.set-notif .body{flex:1;min-width:0}.set-notif .body .t{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.set-notif .body .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.set-notif .switch{margin-left:auto}.set-card.danger{background:#fbeee7;border-color:#f0d1c1}.set-card.danger h3{color:var(--brand-danger)}.btn.danger-btn{background:var(--brand-danger);color:#fff;border-color:var(--brand-danger)}.btn.danger-btn:hover{background:var(--brand-danger-hover)}.act-card{cursor:pointer;font:inherit;text-align:left;border:0;width:100%}.act-card input[type=radio]{float:right;accent-color:var(--accent)}.swatch{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:22px;height:22px;padding:0}.swatch.on{border:2px solid var(--ink);outline:2px solid var(--ink);outline-offset:2px}.inline-input{text-align:right;border:1px solid var(--line);width:64px;font:inherit;background:#fff;border-radius:9px;padding:7px 10px}.inline-input.wide{width:80px}.settings-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.settings-panel .pagehead h1 em{color:var(--accent);font-style:normal;font-weight:var(--dash-weight-bold)}.settings-panel .pagehead .sub{max-width:48ch;font-size:var(--dash-text-base);color:var(--ink-2)}.settings-panel .pagehead .eyebrow{color:var(--accent);letter-spacing:var(--dash-tracking-caps);font-weight:var(--dash-weight-semibold)}.settings-panel .pagehead-meta{font-size:var(--dash-text-sm);color:var(--muted);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.settings-panel .settings-status-pill{margin-left:14px}.settings-panel .settings-status-dot{background:var(--good)}.settings-panel .settings-status{font-weight:var(--dash-weight-medium);color:var(--good)}.settings-panel .settings-toc .toc-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;color:var(--ink)}.settings-panel .settings-toc .toc-item.active:before{background:var(--accent);width:3px}.settings-panel .settings-toc .toc-item.active{font-weight:var(--dash-weight-semibold);color:var(--ink);background:var(--accent-2)}.settings-panel .settings-sec-head h2{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);color:var(--ink);line-height:var(--dash-leading-tight)}.settings-panel .settings-sec-head .desc{max-width:48ch;font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.settings-panel .settings-sec{margin-bottom:28px}.settings-panel .settings-sec-active.settings-sec-enter{animation:settings-panel-in .22s var(--ease-out-quint) both}@keyframes settings-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.settings-panel .set-card-section h3{font-weight:var(--dash-weight-semibold);color:var(--ink)}.settings-panel .settings-profile-meta{flex:1;min-width:0}.settings-panel .settings-profile-hero{border-color:var(--brand-panel-line);color:var(--brand-on-panel);background:#1a1a18;position:relative;overflow:hidden}.settings-panel .settings-profile-hero-glow{pointer-events:none;background:radial-gradient(ellipse 75% 55% at 100% 0%, color-mix(in oklch, var(--accent) 22%, transparent), transparent 68%);position:absolute;inset:0}.settings-panel .settings-profile-hero .profile-head{z-index:1;padding:18px 20px 16px;position:relative}.settings-panel .settings-profile-hero .big-avatar{width:68px;height:68px;font-size:var(--dash-text-2xl);background:var(--brand-gradient);color:var(--brand-ink);border:2px solid var(--brand-panel-line);box-shadow:var(--brand-glow);transition:transform .28s var(--ease-out-quart), box-shadow .28s var(--ease-out-quart)}.settings-panel .settings-profile-hero .big-avatar:hover{box-shadow:var(--brand-glow), var(--brand-glow-soft);transform:scale(1.03)}.settings-panel .settings-profile-hero .big-avatar .badge{background:var(--brand-panel-line);color:var(--brand-on-panel);border-color:#1a1a18}.settings-panel .settings-profile-eyebrow{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--brand-accent-soft);margin:0 0 6px}.settings-panel .settings-profile-hero .profile-head .name{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);color:var(--brand-on-panel)}.settings-panel .settings-profile-greeting{max-width:36ch;font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);color:#a39b8c;margin:4px 0 0}.settings-panel .settings-profile-hero .profile-head .em{color:var(--brand-on-panel-soft);font-size:var(--dash-text-sm);margin-top:6px}.settings-panel .settings-profile-chips{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.settings-panel .settings-profile-chip{border:1px solid var(--brand-panel-line);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);color:#b8b0a0;background:#ffffff0d;border-radius:999px;align-items:center;gap:.3em;padding:7px 12px;display:inline-flex}.settings-panel .settings-profile-chip b{color:var(--brand-on-panel);font-weight:var(--dash-weight-semibold)}.settings-panel .settings-profile-chip--accent{border-color:color-mix(in oklch, var(--accent) 45%, var(--brand-panel-line));background:color-mix(in oklch, var(--accent) 14%, transparent);color:var(--brand-on-panel)}.settings-panel .settings-profile-chip--good{border-color:color-mix(in oklch, var(--good) 35%, var(--brand-panel-line));background:color-mix(in oklch, var(--good) 10%, transparent)}.settings-panel .settings-profile-chip--warm{border-color:color-mix(in oklch, var(--warn) 35%, var(--brand-panel-line));background:color-mix(in oklch, var(--warn) 10%, transparent)}.settings-panel .settings-profile-chip--muted{background:#ffffff08;border-color:#40403a}.settings-panel .settings-profile-hero .set-card-section{z-index:1;border-top-color:var(--brand-panel-line);background:#ffffff05;padding:14px 20px;position:relative}.settings-panel .settings-body-stats-title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);color:var(--brand-on-panel);margin:0 0 4px}.settings-panel .settings-body-stats-desc{color:var(--brand-on-panel-soft);margin:0 0 12px}.settings-panel .settings-body-stats-grid{margin-top:0}.settings-panel .settings-body-stats-head{margin-bottom:12px}.settings-panel .settings-body-metrics{margin-top:14px}.settings-panel .settings-body-metrics-hint{margin-top:8px}.settings-panel .body-metrics-unit-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.settings-panel .body-metrics-unit-option{border:1px solid var(--brand-panel-line);color:#a39b8c;text-align:left;cursor:pointer;background:#ffffff08;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 14px;transition:border-color .16s cubic-bezier(.16,1,.3,1),background .16s cubic-bezier(.16,1,.3,1);display:flex}.settings-panel .body-metrics-unit-option:hover{background:#ffffff0d;border-color:#4a463c}.settings-panel .body-metrics-unit-option:focus-visible{outline:2px solid color-mix(in oklch,var(--accent) 70%, transparent);outline-offset:2px}.settings-panel .body-metrics-unit-option.is-selected{border-color:color-mix(in oklch,var(--accent) 48%, var(--brand-panel-line));background:color-mix(in oklch,var(--accent) 12%, transparent);color:#d8d2c8}.settings-panel .body-metrics-unit-option-label{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);color:var(--brand-on-panel);letter-spacing:var(--dash-tracking-normal);text-transform:none}.settings-panel .body-metrics-unit-option-detail{font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);color:inherit}.settings-panel .body-metrics-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-panel .body-metrics-field-unit{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);letter-spacing:var(--dash-tracking-normal);text-transform:none;color:var(--brand-on-panel-soft);margin-left:6px}.settings-panel .body-metrics-imperial-group{border:1px solid var(--brand-panel-line);background:#0000002e;border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.settings-panel .body-metrics-imperial-group input{min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;flex:1}.settings-panel .body-metrics-imperial-group input:focus{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--accent) 55%, transparent);border:none}.settings-panel .body-metrics-imperial-unit{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;color:var(--brand-on-panel-soft);border-left:1px solid var(--brand-panel-line);background:#ffffff05;flex-shrink:0;align-items:center;padding:0 10px;display:flex}.body-metrics-units{margin-bottom:12px}.body-metrics-unit-seg{max-width:22rem;margin-top:8px}.body-metrics-imperial-height{align-items:center;gap:8px;display:flex}.body-metrics-imperial-height input{flex:1;min-width:0}.body-metrics-imperial-sep{font-size:var(--dash-text-sm,.875rem);color:var(--muted,#807a6e);flex-shrink:0}.settings-panel .settings-save-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.settings-panel .settings-save-btn.is-saving{opacity:.88;cursor:wait}@media (max-width:46.5rem){.settings-panel .settings-profile-hero .profile-head{flex-direction:column;align-items:flex-start;gap:12px}.settings-panel .settings-profile-hero .big-avatar{width:68px;height:68px}.settings-panel .settings-profile-greeting{max-width:none}.settings-panel .body-metrics-unit-picker,.settings-panel .body-metrics-fields-grid,.settings-panel .settings-body-stats-grid{grid-template-columns:1fr}.settings-panel .settings-save-row .btn{width:100%}}@media (prefers-reduced-motion:reduce){.settings-panel .settings-profile-hero .big-avatar,.settings-panel .settings-profile-hero .big-avatar:hover{transition:none;transform:none}.settings-panel .body-metrics-unit-option{transition:none}}.settings-panel .settings-profile-hero .field label{color:var(--brand-on-panel-muted);font-weight:var(--dash-weight-medium)}.settings-panel .settings-profile-hero .field input,.settings-panel .settings-profile-hero .field select{border-color:var(--brand-panel-line);color:var(--brand-on-panel);background:#141412}.settings-panel .settings-profile-hero .field input:focus-visible,.settings-panel .settings-profile-hero .field select:focus-visible{border-color:var(--accent);outline-color:var(--accent)}.settings-panel .settings-profile-hero .field input[readonly]{opacity:.72}.settings-panel .settings-profile-hero .hint{color:var(--brand-on-panel-soft)}.settings-panel .settings-goals-grid{margin-bottom:16px}.settings-panel .goal-card{border-radius:14px;padding:18px}.settings-panel .goal-card .k{font-weight:var(--dash-weight-semibold)}.settings-panel .goal-card .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);color:var(--ink)}.settings-panel .goal-card .v.v-sm{font-size:var(--dash-text-2xl)}.settings-panel .goal-card .v.v-act{font-size:var(--dash-text-3xl);color:var(--accent)}.settings-panel .goal-card .v small{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-medium)}.settings-panel .goal-card-hero{border-color:var(--brand-panel-line);color:var(--brand-on-panel);background:#1a1a18;grid-column:span 1}.settings-panel .goal-card-hero .k{color:var(--brand-on-panel-soft)}.settings-panel .goal-card-hero .v{font-size:var(--dash-text-5xl);color:var(--brand-on-panel)}.settings-panel .goal-card-hero .v small,.settings-panel .goal-card-hero .goal-card-detail{color:var(--brand-on-panel-soft)}.settings-panel .goal-card.selected{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-2)}.settings-panel .goal-card.selected .k{color:var(--accent)}.settings-panel .goal-card.selected .v{color:var(--ink)}.settings-panel .goal-card-detail{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.settings-panel .settings-macro-split{margin-top:16px}.settings-panel .macro-split .splitbar i{transition:width .35s var(--ease-out-expo)}.settings-panel .macro-split .splitbar{border-radius:7px;height:14px}.settings-panel .macro-split .nums b{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--ink)}.settings-panel .settings-macro-presets{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.settings-panel .settings-macro-presets .btn.primary{background:var(--brand-whatsapp);border-color:var(--brand-whatsapp);color:#fafcfb;color:lab(98.8808% -.925571 .473833)}.settings-panel .settings-macro-presets .btn.primary:hover{background:var(--brand-whatsapp-hover);border-color:var(--brand-whatsapp-hover)}.settings-panel .settings-activity-grid{gap:12px}.settings-panel .act-card:focus-visible,.settings-panel .act-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.settings-panel .act-card input[type=radio]{accent-color:var(--accent)}.settings-panel .set-row-copy{min-width:0}.settings-panel .set-row-control{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.settings-panel .settings-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-panel .set-notif .body .t{font-weight:var(--dash-weight-semibold);color:var(--ink)}.settings-panel .set-notif-plain.is-on{background:var(--accent-2);border-top-color:#0000;border-radius:10px;margin:2px 0;padding:12px 14px}.settings-panel .set-notif-plain.is-on+.set-notif{border-top-color:#0000}.settings-panel .set-notif-plain.is-on .body .t{color:var(--ink)}.settings-panel .settings-shortcut-card .settings-shortcut-lead{max-width:52ch;margin:0 0 16px}.settings-panel .settings-shortcut-actions{flex-wrap:wrap;gap:10px;display:flex}.settings-panel .settings-shortcut-note{max-width:52ch;margin:14px 0 0}.settings-panel .settings-footnote{color:var(--muted);justify-content:flex-start}.settings-panel .switch{min-width:34px;min-height:20px}.settings-panel .switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-panel .switch.on{background:var(--accent)}.settings-panel .settings-lang-field{min-width:200px}.settings-panel .seg.sm button.on{background:var(--ink);color:var(--paper);font-weight:var(--dash-weight-semibold)}.settings-panel .seg.sm button:focus-visible,.settings-panel .settings-macro-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-panel .set-card.danger{background:var(--accent-2);border-color:#f0d1c1}.settings-panel .set-card.danger h3{color:var(--brand-danger);font-weight:var(--dash-weight-semibold)}.settings-panel .btn.danger-btn{background:var(--brand-danger);color:#f9f5f1;border-color:var(--brand-danger);font-weight:var(--dash-weight-semibold)}.settings-panel .btn.danger-btn:hover{background:var(--brand-danger-hover);border-color:var(--brand-danger-hover)}@media (min-width:900px){.settings-panel .goal-card-hero{grid-column:span 1}}@media (max-width:720px){.settings-panel .set-row{grid-template-columns:1fr;align-items:start;gap:10px}.settings-panel .set-row-control,.settings-panel .settings-row-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.settings-panel .settings-sec-active.settings-sec-enter{animation:none}.settings-panel .macro-split .splitbar i{transition:none}}.settings-panel .settings-plan-pill{background:var(--accent-2);color:var(--accent);font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);letter-spacing:var(--dash-tracking-normal);border:1px solid #f0d1c1;border-radius:999px;align-items:center;padding:6px 12px;display:inline-flex}.connections-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-tight)}.connections-panel .pagehead .sub{max-width:52ch}.connections-panel .pagehead .eyebrow{color:var(--muted);letter-spacing:var(--dash-tracking-caps)}.connections-panel .conn-channels{flex-direction:column;gap:14px;max-width:760px;margin-top:24px;display:flex}.connections-panel .conn-ch{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0;transition:border-color .2s,box-shadow .2s;display:block;position:relative;overflow:hidden}.connections-panel .conn-ch.is-expanded{border-color:var(--ink-2);box-shadow:0 10px 28px #1c19120f}.connections-panel .conn-ch.live.is-collapsed{background:linear-gradient(180deg,#fbfdfb 0%,var(--paper) 100%);border-color:#d8e8dc}.connections-panel .conn-ch-toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:16px;padding:18px 20px;display:flex}.connections-panel .conn-ch.featured .conn-ch-toggle{padding:22px 22px 20px}.connections-panel .conn-ch-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.connections-panel .conn-ch-toggle-icon{color:var(--muted);flex-shrink:0;place-items:center;margin-left:auto;display:grid}.connections-panel .conn-chevron{transition:transform .2s}.connections-panel .conn-chevron.is-open{transform:rotate(180deg)}.connections-panel .conn-ch-panel{border-top:1px solid var(--line)}.connections-panel .conn-ch-panel-inner{flex-direction:column;gap:20px;padding:20px 22px 22px;display:flex}.connections-panel .conn-ch:not(.featured) .conn-ch-panel-inner{padding:20px}.connections-panel .conn-ch-top-inline{padding-top:0}.connections-panel .conn-cta-inline{flex-shrink:0;margin-left:auto}.connections-panel .conn-cta-split{flex-wrap:wrap;justify-content:flex-start;width:100%}.connections-panel .conn-cta-split .btn{flex:160px;justify-content:center}.connections-panel .conn-linked-summary{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;display:flex}.connections-panel .conn-linked-handle{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);line-height:var(--dash-leading-snug);border-radius:999px;padding:2px 9px}.connections-panel .conn-linked-date{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.connections-panel .conn-linked-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%, color-mix(in oklch, var(--bg-2) 65%, var(--paper)) 100%);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #1c19120a}.connections-panel .conn-linked-body{padding:16px 18px 18px}.connections-panel .conn-linked-card-main{flex:1;min-width:min(100%,240px)}.connections-panel .conn-linked-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.connections-panel .conn-linked-card-kicker{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted)}.connections-panel .conn-linked-identity{margin-top:10px}.connections-panel .conn-linked-name{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);color:var(--ink);line-height:var(--dash-leading-tight)}.connections-panel .conn-linked-username{font-size:var(--dash-text-sm);color:var(--muted);font-family:var(--dash-font-mono);margin-top:2px}.connections-panel .conn-linked-meta{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:12px;display:flex}.connections-panel .conn-linked-meta-label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted)}.connections-panel .conn-linked-meta-value{font-size:var(--dash-text-sm);color:var(--ink-2)}.connections-panel .conn-linked-hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);max-width:48ch;margin:12px 0 0}.connections-panel .conn-linked-hint .mono{font-family:var(--dash-font-mono)}.connections-panel .conn-linked-foot{border-top:1px solid var(--line);background:color-mix(in oklch, var(--bg-2) 80%, var(--paper));flex-direction:column;align-items:stretch;gap:10px;padding:12px;display:flex}.connections-panel .conn-linked-foot-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.connections-panel .conn-linked-foot-actions .btn{flex:160px;justify-content:center}.connections-panel .conn-unpair{flex-direction:column;gap:6px;display:flex}.connections-panel .conn-unpair-btn{width:100%;color:var(--accent);border-color:color-mix(in oklch, var(--accent) 28%, var(--line));background:color-mix(in oklch, var(--accent-2) 45%, var(--paper));justify-content:center}.connections-panel .conn-unpair-btn:hover:not(:disabled){background:color-mix(in oklch, var(--accent-2) 70%, var(--paper));border-color:color-mix(in oklch, var(--accent) 40%, var(--line));color:var(--brand-accent-hover)}.connections-panel .conn-unpair-btn:disabled{opacity:.7;cursor:wait}.connections-panel .conn-unpair-error{font-size:var(--dash-text-sm);color:var(--accent);text-align:center;line-height:var(--dash-leading-snug);margin:0}.connections-panel .conn-setup-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:0;display:flex}.connections-panel .conn-setup-copy{flex:1;min-width:min(100%,220px)}.connections-panel .conn-logo{color:#f9f5f1;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.connections-panel .conn-logo svg{width:22px;height:22px}.connections-panel .conn-logo.tg{background:linear-gradient(135deg,#37aee2,#08c)}.connections-panel .conn-logo.dc{background:linear-gradient(135deg,#5865f2,#3b46c4)}.connections-panel .conn-logo.wa{background:linear-gradient(135deg,#25d366,#128c7e)}.connections-panel .conn-info{flex:1;min-width:0}.connections-panel .conn-title{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.connections-panel .conn-badge{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--accent);background:var(--accent-2);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);border:1px solid #f0d1c1;border-radius:999px;padding:2px 7px}.connections-panel .conn-badge.warn{color:var(--warn);background:#fff3df;border-color:#f1dca4}.connections-panel .conn-badge.locked{color:var(--muted);background:var(--bg-2);border-color:var(--line)}.connections-panel .conn-desc{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:5px}.connections-panel .conn-desc b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-oauth-note{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:8px 0 0}.connections-panel .conn-oauth-note b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-cta{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.connections-panel .conn-status{font-size:var(--dash-text-sm);color:var(--muted);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.connections-panel .conn-status:before{content:"";background:var(--muted-2);border-radius:50%;flex-shrink:0;width:7px;height:7px}.connections-panel .conn-ch.live .conn-status,.connections-panel .conn-status.is-live{color:var(--good)}.connections-panel .conn-ch.live .conn-status:before,.connections-panel .conn-status.is-live:before{background:var(--good);box-shadow:0 0 0 4px #2f6b3a1f}.connections-panel .conn-ch.featured{gap:0}.connections-panel .conn-ch-top{align-items:flex-start;gap:16px;display:flex}.connections-panel .conn-ch-top .conn-info{flex:1}.connections-panel .conn-ch-top .conn-cta{align-self:flex-start;padding-top:4px}.connections-panel .conn-steps{border-top:1px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0;padding:20px 0 0;display:grid}.connections-panel .conn-ch-panel-inner>.conn-steps:first-child{border-top:0;padding-top:0}.connections-panel .conn-step{flex-direction:column;gap:8px;display:flex}.connections-panel .conn-step-n{border:1px solid var(--line);width:24px;height:24px;font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);background:var(--bg-2);border-radius:50%;place-items:center;display:grid}.connections-panel .conn-step-what{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);color:var(--ink);line-height:var(--dash-leading-snug);margin-top:2px}.connections-panel .conn-step-what b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-step-how{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.connections-panel .conn-step-how b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-pairing-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%, color-mix(in oklch, var(--bg-2) 65%, var(--paper)) 100%);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #1c19120a}.connections-panel .conn-pairing-card.is-locked{background:var(--bg-2)}.connections-panel .conn-pairing-body{padding:16px 18px 18px}.connections-panel .conn-code-label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted)}.connections-panel .conn-code-empty{font-size:var(--dash-text-base);color:var(--muted);line-height:var(--dash-leading-relaxed);max-width:42ch;margin-top:8px}.connections-panel .conn-code-well{border:1px dashed color-mix(in oklch, var(--line) 85%, var(--accent));background:color-mix(in oklch, var(--accent-2) 55%, var(--paper));text-align:center;border-radius:11px;margin-top:12px;padding:14px 16px}.connections-panel .conn-pairing-card.is-locked .conn-code-well{background:var(--paper);border-style:solid;border-color:var(--line)}.connections-panel .conn-code-error{font-size:var(--dash-text-sm);color:var(--accent);margin-top:8px}.connections-panel .conn-code-hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:10px}.connections-panel .conn-code-linked .conn-code-val-status{font-family:var(--dash-font);letter-spacing:var(--dash-tracking-normal);font-size:var(--dash-text-xl)}.connections-panel .conn-code-val{font-family:var(--dash-font-mono);letter-spacing:.12em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.15;animation:.35s cubic-bezier(.22,1,.36,1) conn-code-in}.connections-panel .conn-pairing-foot{border-top:1px solid var(--line);background:color-mix(in oklch, var(--bg-2) 80%, var(--paper));flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.connections-panel .conn-pairing-card.has-code .conn-pairing-foot{padding:10px 12px}.connections-panel .conn-generate-cta{width:100%;min-height:46px;font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);box-shadow:none;border-radius:10px;justify-content:center;gap:8px;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s cubic-bezier(.22,1,.36,1)}.connections-panel .conn-generate-cta:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.connections-panel .conn-generate-cta:active:not(:disabled){filter:none;transform:translateY(0)}.connections-panel .conn-generate-cta:disabled{opacity:.62;cursor:not-allowed}.connections-panel .conn-copy-btn{flex:180px;justify-content:center;min-height:44px}.connections-panel .conn-code-new{flex:none;min-height:44px}.connections-panel .conn-copy-btn svg{flex-shrink:0;width:14px;height:14px}@keyframes conn-code-in{0%{opacity:0;letter-spacing:.06em;transform:translateY(6px)}to{opacity:1;letter-spacing:.12em;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.connections-panel .conn-code-val{animation:none}.connections-panel .conn-generate-cta{transition:none}.connections-panel .conn-generate-cta:hover:not(:disabled),.connections-panel .conn-generate-cta:active:not(:disabled){filter:none;transform:none}}.connections-panel .conn-footnote{max-width:760px}.connections-panel .conn-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.connections-panel .conn-link:hover{color:var(--ink-2)}.connections-panel .conn-inline-link{color:var(--ink-2);font-weight:var(--dash-weight-medium);text-underline-offset:2px;text-decoration:underline}.connections-panel .conn-inline-link:hover{color:var(--ink)}.connections-panel .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:780px){.connections-panel .conn-steps{grid-template-columns:1fr}.connections-panel .conn-ch-toggle{flex-wrap:wrap;align-items:flex-start}.connections-panel .conn-ch-toggle-icon{margin-top:2px;margin-left:0}.connections-panel .conn-cta,.connections-panel .conn-cta-inline{justify-content:space-between;width:100%}.connections-panel .conn-ch-top{flex-direction:column}.connections-panel .conn-ch-top .conn-cta{align-self:stretch;padding-top:0}.connections-panel .conn-ch-top .conn-cta .btn{justify-content:center;width:100%}.connections-panel .conn-linked-foot-actions{flex-direction:column;align-items:stretch}.connections-panel .conn-linked-foot-actions .btn{width:100%}.connections-panel .conn-setup-row{flex-direction:column}.connections-panel .conn-pairing-foot{flex-direction:column;align-items:stretch}.connections-panel .conn-copy-btn,.connections-panel .conn-code-new{width:100%}.connections-panel .conn-ch-panel-inner{gap:16px;padding:16px}}@media (max-width:1080px){.settings-layout{grid-template-columns:1fr}.settings-toc{flex-flow:row;padding-bottom:4px;position:relative;top:auto;overflow-x:auto}.settings-toc a,.settings-toc .toc-item{flex-shrink:0;width:auto}.settings-toc .group{display:none}.settings-panel .settings-toc .toc-item{align-items:center;min-height:44px;padding-top:10px;padding-bottom:10px;display:inline-flex}.set-grid-2,.set-grid-3,.set-grid-4{grid-template-columns:1fr 1fr}}@media (max-width:1180px){.main{padding:24px 28px}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid2,.grid3,.grid12{grid-template-columns:1fr}}@media (max-width:1080px){.diary{grid-template-columns:1fr}.sidecal{position:relative;top:auto}}@media (max-width:820px){:is(html:has(.app),body:has(.app)){overflow-x:clip}.app{flex-direction:column;width:100%;max-width:100vw;min-height:100dvh;display:flex}.nav-desktop{display:none}.dash-mobile-header{z-index:40;display:flex;position:sticky;top:0}.dash-bottom-nav{display:flex}.main{padding:16px 20px calc(20px + 64px + env(safe-area-inset-bottom,0px));flex:1;min-width:0;overflow-x:clip}.topbar{flex-wrap:wrap;gap:12px;margin-bottom:14px}.crumbs{flex-wrap:wrap;row-gap:4px}.crumbs .date-pill{margin-top:4px;margin-left:0}.top-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.pagehead{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:14px}.pagehead h1{font-size:var(--dash-text-3xl)}.pagehead-meta{align-items:flex-start;width:100%}.pagehead .sub{font-size:var(--dash-text-sm)}.overview .greeting{font-size:var(--dash-text-3xl)}.overview .hero-left{min-height:auto}.overview .hero-readout{flex-direction:column;align-items:flex-start;gap:14px;margin-top:18px}.overview .hero-readout-past{grid-template-columns:1fr;gap:18px}.overview .readout-past-gap{align-items:flex-start}.overview .readout-past-amount{font-size:var(--dash-text-4xl)}.overview-hero-foot{flex-direction:column;align-items:flex-start;gap:8px}.overview .readout-primary .big{font-size:var(--dash-text-4xl)}.overview .readout-secondary{text-align:left;width:100%;margin-left:0}.overview .ring-wrap{aspect-ratio:1;width:min(240px,100%);height:auto}.overview-week-avg{font-size:var(--dash-text-3xl)}.daystrip{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-right:-20px;padding-right:20px;overflow-x:auto}.daystrip::-webkit-scrollbar{display:none}.day{flex:none;min-width:72px}.meal,.meals-list .meal{grid-template-columns:48px 1fr auto;gap:8px 10px;padding:12px 14px}.meal .stripe,.meals-list .meal .stripe{display:none}.meal .actions,.meals-list .meal .actions{grid-area:1/3/span 2;align-self:center;display:flex;position:static;transform:none}.meal:hover .right,.meals-list .meal:hover .right{visibility:visible}.meal .title,.meals-list .title{font-size:var(--dash-text-sm);text-overflow:ellipsis;overflow:hidden}.meal .kcal,.meals-list .kcal{font-size:var(--dash-text-xl)}.day-head,.diary-panel .diary-day-head{flex-flow:column wrap;justify-content:flex-start;align-items:flex-start;gap:24px;padding:20px 22px;overflow-x:visible}.diary-panel .diary-day-head-macros{gap:12px;width:auto}.diary-panel .diary-day-head-remaining{border-left:0;border-top:1px solid var(--line-2);width:100%;padding-top:10px;padding-left:0}.diary-panel .diary-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(120px,auto);gap:8px;padding:12px 14px 16px}.diary-panel .diary-photo-card.span-wide{grid-column:span 2}.day-head .macsplit{flex-wrap:wrap;width:100%}.macsplit .splitbar{flex:100%;max-width:none}.day-totals{text-align:left}.day-totals .kcal{font-size:var(--dash-text-3xl)}.diary-search{flex:100%;min-width:0}.toolbar{width:100%}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.set-grid-2,.set-grid-3,.set-grid-4{grid-template-columns:1fr}.heat{-webkit-overflow-scrolling:touch;min-width:0;padding-bottom:4px;overflow-x:auto}.seg{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.seg button{white-space:nowrap;flex-shrink:0}.settings-panel .pagehead h1,.diary-panel .pagehead h1,.analytics-panel .pagehead h1,.connections-panel .pagehead h1{font-size:var(--dash-text-3xl)}.settings-panel .pagehead-meta,.diary-panel .pagehead-meta,.analytics-panel .pagehead-meta{align-items:flex-start}.settings-panel .settings-status-pill{margin-top:8px;margin-left:0}.analytics-panel .stat.stat-focus .v{font-size:var(--dash-text-4xl)}.tfoods .food-row{grid-template-columns:24px 1fr auto;gap:8px;padding:10px 0}.connections-panel .conn-channels{max-width:none}.analytics-panel .analytics-hero-kpi{font-size:var(--dash-text-4xl)}.main.main-is-log{flex-direction:column;flex:1;height:auto;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.main.main-is-log .dashboard-panel-region,.main.main-is-log .dashboard-panel-slot:not([hidden]),.main.main-is-log .log-panel-full,.main.main-is-log .meal-log-chat{flex:1;min-height:0}.meal-log-chat.is-compact .meal-log-chat-toolbar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));justify-content:flex-end}.meal-log-chat.is-compact .meal-log-chat-toolbar-brand{display:none}.meal-log-chat.is-compact .meal-log-chat-toolbar-actions{justify-content:flex-end;gap:6px;width:100%}.meal-log-chat.is-compact .meal-log-chat-toolbar-btn{min-height:44px;padding-inline:12px}.meal-log-chat-connect-nudge-footer{width:100%;margin:0 0 10px}.meal-log-chat-connect-nudge{flex-direction:column;align-items:stretch;padding:14px 14px 12px}.meal-log-chat-connect-nudge-actions{justify-content:space-between;align-items:center;gap:8px}.meal-log-chat-connect-nudge-cta{min-height:44px;font-size:var(--dash-text-sm);flex:1;justify-content:center;align-items:center;display:inline-flex}.meal-log-chat-connect-nudge-close{border-radius:10px;width:44px;height:44px}.meal-log-chat-thread{gap:16px;padding:16px 12px 20px}.meal-log-chat-empty{min-height:min(420px,100svh - 320px);padding:28px 12px 36px}.meal-log-chat-empty-title{font-size:var(--dash-text-xl)}.meal-log-chat-empty-copy{font-size:var(--dash-text-sm)}.meal-log-chat-empty-actions{max-width:none;padding-inline:4px}.meal-log-chat-footer{padding:8px 12px calc(10px + 58px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:color-mix(in oklch,var(--paper) 96%, var(--bg))}.meal-log-chat-composer-shell{min-height:48px;box-shadow:0 4px 16px color-mix(in oklch,var(--ink) 6%, transparent);padding:6px 8px 6px 6px}.meal-log-chat-composer-attach,.meal-log-chat-composer-send{touch-action:manipulation;width:44px;height:44px}.meal-log-chat-composer-input{font-size:var(--dash-text-base);padding:10px 4px}.meal-log-chat-composer-hint{display:none}.meal-log-chat-meal-macros{font-size:var(--dash-text-sm)}.meal-log-chat-row.is-user .meal-log-chat-bubble{max-width:min(20rem,88%)}.meal-log-chat-row.is-assistant .meal-log-chat-bubble{max-width:min(28rem,94%)}.meal-log-chat-bubble.is-user.is-photo img{max-width:min(16rem,100%)}.meal-log-chat-skeleton-photo{width:min(11rem,100%)}.meal-log-chat-skeleton-bubble{max-width:min(17rem,100% - 44px)}.meal-log-chat-skeleton-line.is-title{width:9rem}.meal-log-chat-skeleton-line.is-kcal{width:6.75rem}.meal-log-chat-skeleton-line.is-macros{width:8.5rem}.meal-log-chat-meal-actions .btn{min-height:44px;padding-inline:14px}@media (orientation:landscape){.meal-log-chat-empty{min-height:auto;padding:24px 12px 28px}.meal-log-chat-empty-mark{width:60px;height:60px;margin-bottom:12px}.meal-log-chat-empty-title{font-size:var(--dash-text-xl)}}.iconbtn{min-width:40px;min-height:40px}.btn{min-height:40px}.panel{padding:16px}}@media (min-width:821px) and (max-width:1080px){.main.main-is-log .meal-log-chat-thread{width:min(42rem,100%);padding-inline:24px}.main.main-is-log .meal-log-chat-composer,.main.main-is-log .meal-log-chat-connect-nudge-footer{width:min(42rem,100%)}}@media (max-width:480px){.main{padding:14px 16px calc(18px + 64px + env(safe-area-inset-bottom,0px))}.main.main-is-log{padding:0}.meal-log-chat.is-compact .meal-log-chat-toolbar-btn-label{display:none}.meal-log-chat.is-compact .meal-log-chat-toolbar-clear{min-width:44px;padding-inline:10px}.meal-log-chat-empty{min-height:min(320px,100svh - 300px)}.meal-log-chat-connect-nudge-title{font-size:var(--dash-text-base)}.stat-grid{grid-template-columns:1fr}.meal,.meals-list .meal{grid-template-rows:auto auto auto;grid-template-columns:1fr auto}.meal .time,.meals-list .meal .time{font-size:var(--dash-text-caption);grid-area:1/1}.meal>div:nth-child(3),.meals-list .meal>div:nth-child(3){grid-area:2/1/auto/-1}.meal .right,.meals-list .right{grid-area:1/2;align-items:flex-end}.meal .actions,.meals-list .meal .actions{grid-area:3/1/auto/-1;justify-content:flex-end;width:100%}.dash-bottom-nav button span{font-size:.625rem}.pagehead h1{font-size:var(--dash-text-2xl)}.overview .readout-primary .big{font-size:var(--dash-text-3xl)}}.dash-skip-link{z-index:100;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);border-radius:8px;padding:10px 14px;position:absolute;top:-100px;left:12px;box-shadow:0 8px 24px #1c16141f}.dash-skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;top:12px}.dash-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-panel-region:focus{outline:none}.dash-activation-backdrop{z-index:200;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.dash-activation-scrim{background:color-mix(in oklch, var(--ink) 32%, transparent);cursor:pointer;pointer-events:auto;border:0;animation:.24s cubic-bezier(.16,1,.3,1) both dash-activation-scrim-in;position:absolute;inset:0}@keyframes dash-activation-scrim-in{0%{opacity:0}to{opacity:1}}.dash-activation-dialog{z-index:1;border:1px solid var(--line);background:var(--paper);width:min(100%,24rem);max-height:min(92dvh,36rem);box-shadow:0 28px 56px -32px color-mix(in oklch, var(--ink) 50%, transparent);pointer-events:auto;border-radius:16px;padding:1.125rem 1.25rem;animation:.32s cubic-bezier(.16,1,.3,1) 40ms both dash-activation-in;position:relative;overflow:auto}@keyframes dash-activation-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.dash-activation-preview{border:1px solid color-mix(in oklch, var(--ink) 10%, var(--line));background:var(--color-panel,#111);color:var(--color-on-dark,var(--brand-on-panel));border-radius:12px;margin-bottom:14px;padding:.625rem .75rem;animation:.48s cubic-bezier(.16,1,.3,1) .12s both dash-activation-preview-in}@keyframes dash-activation-preview-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash-activation-preview-head{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:.02em;color:color-mix(in oklch, var(--color-on-dark,white) 72%, transparent);align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.dash-activation-preview-time{font-size:.6875rem;font-weight:var(--dash-weight-medium);color:color-mix(in oklch, var(--color-on-dark,white) 52%, transparent);text-transform:lowercase;margin-left:auto}.dash-activation-preview-time:before{content:"";vertical-align:.05em;background:#80dba2;background:lab(80.6998% -37.842 19.4584);border-radius:999px;width:.35rem;height:.35rem;margin-right:.3rem;display:inline-block}.dash-activation-preview-bubble{background:var(--color-panel-strong,#1a1a18);border-radius:.75rem .75rem .75rem .25rem;flex-direction:column;gap:.2rem;padding:.5rem .625rem;display:flex}.dash-activation-preview-status{font-size:.625rem;font-weight:var(--dash-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklch, #80dba2 88%, var(--color-on-dark,white))}@supports (color:lab(0% 0 0)){.dash-activation-preview-status{color:color-mix(in oklch, lab(80.6998% -37.842 19.4584) 88%, var(--color-on-dark,white))}}.dash-activation-preview-meal{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);color:var(--color-on-dark,var(--brand-on-panel));line-height:1.35}.dash-activation-preview-kcal{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-bold);color:var(--accent)}.dash-activation-close{border-color:var(--line);background:var(--bg-2);width:32px;height:32px;padding:0;position:absolute;top:10px;right:10px}.dash-activation-close svg{width:16px;height:16px}.dash-activation-kicker{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--accent);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);align-items:center;gap:.4rem;margin:0;display:inline-flex}.dash-activation-kicker.is-ready{color:color-mix(in oklch, #80dba2 82%, var(--ink))}@supports (color:lab(0% 0 0)){.dash-activation-kicker.is-ready{color:color-mix(in oklch, lab(80.6998% -37.842 19.4584) 82%, var(--ink))}}.dash-activation-kicker-dot{background:#80dba2;background:lab(80.6998% -37.842 19.4584);border-radius:999px;flex-shrink:0;width:.4rem;height:.4rem}.dash-activation-kicker-dot.is-live{animation:1.8s ease-in-out infinite dash-activation-pulse}@keyframes dash-activation-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.dash-activation-reveal{animation:.42s cubic-bezier(.16,1,.3,1) both dash-activation-rise}.dash-activation-reveal.is-delay-1{animation-delay:.18s}.dash-activation-reveal.is-delay-2{animation-delay:.26s}.dash-activation-reveal.is-delay-3{animation-delay:.34s}.dash-activation-reveal.is-delay-4{animation-delay:.4s}.dash-activation-reveal.is-delay-5{animation-delay:.46s}.dash-activation-reveal.is-delay-6{animation-delay:.52s}@keyframes dash-activation-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash-activation-title{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);color:var(--ink);margin:6px 0 0;padding-right:1.75rem}.dash-activation-lead{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--muted);margin:8px 0 0}.dash-activation-steps{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.dash-activation-step{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--ink-2);align-items:flex-start;gap:.625rem;display:flex}.dash-activation-step-n{background:color-mix(in oklch, var(--accent) 14%, var(--bg-2));width:1.25rem;height:1.25rem;color:var(--accent);font-size:.6875rem;font-weight:var(--dash-weight-bold);border-radius:999px;flex-shrink:0;place-items:center;line-height:1;display:grid}.dash-activation-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.dash-activation-actions .btn{justify-content:center;width:100%}.dash-activation-connect{align-items:center;gap:.5rem;display:inline-flex}.dash-activation-connect-icon{flex-shrink:0;width:1rem!important;height:1rem!important}.dash-activation-connect:active:not(:disabled){transform:translateY(1px)}.dash-empty{border:1px dashed var(--line);background:var(--bg-2);border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;max-width:52ch;padding:28px 24px;display:flex}.dash-empty-inline{width:100%;max-width:none;margin:4px 0 8px}.dash-empty-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);margin:0}.dash-empty-title{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-tight);color:var(--ink);margin:0}.dash-empty-copy{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);max-width:48ch;margin:0}.dash-empty-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.dash-error{border-style:solid;border-color:var(--line);background:var(--paper);justify-content:center;min-height:240px;margin-top:8px}.app :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app button:focus:not(:focus-visible),.app a:focus:not(:focus-visible){outline:none}.app input:focus-visible,.app textarea:focus-visible,.app select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.toast-viewport{top:max(1rem, env(safe-area-inset-top,0px));right:max(1rem, env(safe-area-inset-right,0px));z-index:500;pointer-events:none;justify-content:flex-end;width:min(22rem,100vw - 2rem);max-width:100%;display:flex;position:fixed;bottom:auto;left:auto}.toast{border:1px solid var(--line);background:var(--paper);width:100%;font-family:var(--dash-font,var(--font-cereal), ui-sans-serif, system-ui, sans-serif);font-size:var(--dash-text-base,1rem);line-height:var(--dash-leading-snug,1.35);color:var(--ink);opacity:0;transition:opacity .28s var(--ease-out-quart), transform .28s var(--ease-out-quart);pointer-events:auto;border-radius:12px;align-items:flex-start;gap:.625rem;padding:1rem 1rem 1rem .875rem;display:flex;transform:translate(1.25rem);box-shadow:0 4px 6px #1c16140a,0 16px 40px #1c161424}.toast.is-visible{opacity:1;transform:translate(0)}.toast-lead{background:var(--ink);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.45rem}.toast--success{border-color:var(--line-2)}.toast--success .toast-lead{background:var(--good)}.toast--error{border-color:color-mix(in oklch, var(--accent) 55%, var(--line));background:var(--accent-2)}.toast--error .toast-lead{background:var(--accent)}.toast-message{font-weight:var(--dash-weight-bold,700);letter-spacing:var(--dash-tracking-tight,-.015em);flex:1;margin:0}.toast-dismiss{width:2rem;height:2rem;font-size:1.375rem;font-weight:var(--dash-weight-medium,500);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin:-.25rem -.25rem 0 0;padding:0;line-height:1;display:grid}.toast-dismiss:hover{color:var(--ink);background:color-mix(in oklch, var(--ink) 6%, transparent)}.toast-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:46.5rem){.toast-viewport{top:max(.75rem, env(safe-area-inset-top,0px));right:max(.75rem, env(safe-area-inset-right,0px));left:max(.75rem, env(safe-area-inset-left,0px));width:auto}.toast{font-size:var(--dash-text-lg,1.125rem);padding:1.125rem 1rem 1.125rem .875rem;box-shadow:0 2px 4px #1c16140f,0 12px 32px #1c161429}.toast-dismiss{width:2.75rem;height:2.75rem;margin:-.375rem -.375rem 0 0;font-size:1.5rem}}@media (prefers-reduced-motion:reduce){.toast{transition:opacity .15s var(--ease-out-quart);transform:none}.toast.is-visible{transform:none}.app *,.app :before,.app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.overview .ring-progress,.overview .macro-ring-progress,.overview .bar .fill,.overview .day .dbar i{transition:none!important}}.locale-switcher{position:relative}.locale-switcher-trigger{border-radius:var(--radius-sm,.25rem);letter-spacing:.04em;border:1px solid #0000;align-items:center;gap:.375rem;min-height:2.75rem;padding:0 .625rem;font-size:.8125rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.locale-switcher-trigger.is-dark{color:#f4f5f6;background:#ffffff0a;border-color:#ffffff24}.locale-switcher-trigger.is-dark:hover{background:#ffffff1a}.locale-switcher-trigger.is-light{color:var(--color-ink,#1c1614);border-color:var(--color-hairline,#e8e2dc);background:var(--color-surface-soft,#faf7f4)}.locale-switcher-trigger.is-light:hover{background:var(--color-canvas,#fff)}.locale-switcher-menu{z-index:60;border-radius:var(--radius-sm,.25rem);border:1px solid var(--color-hairline,#e8e2dc);min-width:11rem;box-shadow:var(--shadow-elevation-strong,0 12px 40px #0000001f);padding:.5rem;position:absolute;top:calc(100% + .375rem);right:0}.locale-switcher-menu.is-dark{background:#1c1614;border-color:#ffffff1f}.locale-switcher-menu.is-light{background:var(--color-canvas,#fff)}.locale-switcher-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted,#6e6360);margin:0 0 .375rem;padding:.25rem .5rem 0;font-size:.6875rem;font-weight:700}.locale-switcher-menu.is-dark .locale-switcher-heading{color:#ffffff8c}.locale-switcher-menu ul{margin:0;padding:0;list-style:none}.locale-switcher-option{border-radius:calc(var(--radius-sm,.25rem) - 1px);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;width:100%;min-height:2.5rem;padding:0 .625rem;font-size:.9375rem;font-weight:500;display:flex}.locale-switcher-menu.is-dark .locale-switcher-option{color:#f4f5f6}.locale-switcher-menu.is-light .locale-switcher-option{color:var(--color-ink,#1c1614)}.locale-switcher-option:hover,.locale-switcher-option:focus-visible{background:var(--color-surface-soft,#faf7f4);outline:none}.locale-switcher-menu.is-dark .locale-switcher-option:hover,.locale-switcher-menu.is-dark .locale-switcher-option:focus-visible{background:#ffffff14}.locale-switcher-option.is-active{color:var(--color-primary,#25d366);font-weight:700}.calstats-admin{max-width:1180px;margin:0 auto;padding:24px 20px 56px}.calstats-body{flex-direction:column;gap:20px;display:flex}.calstats-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:4px;display:flex}.calstats-head.panel{background:color-mix(in oklch, var(--paper) 92%, var(--bg));padding:20px 22px}.calstats-head-copy{min-width:0}.calstats-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-semibold);margin:0 0 8px}.calstats-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calstats-head h1{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:-.02em;margin:0}.calstats-live-chip{color:var(--good);background:color-mix(in oklch, var(--good) 10%, var(--paper));border-color:color-mix(in oklch, var(--good) 24%, var(--line));font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;font-weight:var(--dash-weight-semibold)}.calstats-sub{color:var(--muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);margin:10px 0 0}.calstats-email{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:var(--dash-weight-medium)}.calstats-back{flex-shrink:0}.calstats-error{border-color:color-mix(in oklch, var(--accent) 28%, var(--line));background:var(--accent-2);color:var(--ink);font-size:var(--dash-text-sm)}.calstats-panel.panel{border-radius:16px;padding:18px 20px 20px}.calstats-panel--wide{grid-column:1/-1}.calstats-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.calstats-panel-head h2{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);margin:0}.calstats-panel-meta{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-semibold);flex-shrink:0;padding-top:2px}.calstats-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.calstats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calstats-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.calstats-stat{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;transition:background .16s ease-out,border-color .16s ease-out}.calstats-stat--featured{background:color-mix(in oklch, var(--accent) 5%, var(--bg-2));border-color:color-mix(in oklch, var(--accent) 18%, var(--line))}.calstats-stat-label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-semibold)}.calstats-stat-value{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);font-variant-numeric:tabular-nums lining-nums;color:var(--ink);line-height:var(--dash-leading-tight);margin-top:5px}.calstats-stat--featured .calstats-stat-value{color:color-mix(in oklch, var(--accent) 55%, var(--ink))}.calstats-stat-hint{font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:5px}.calstats-chips{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;display:flex}.calstats-source-chip{background:var(--bg-2);gap:8px;padding:5px 10px}.calstats-source-name{text-transform:capitalize;color:var(--ink);font-weight:var(--dash-weight-medium)}.calstats-source-count{font-variant-numeric:tabular-nums lining-nums;color:var(--muted);font-weight:var(--dash-weight-semibold)}.calstats-chip{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:.01em;text-transform:none;padding:3px 8px}.calstats-muted{color:var(--muted)}.calstats-activity{flex-direction:column;gap:16px;display:flex}.calstats-activity-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.calstats-table-wrap{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;overflow:auto}.calstats-table{border-collapse:collapse;width:100%;font-size:var(--dash-text-sm)}.calstats-table th,.calstats-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.calstats-table th{z-index:1;font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-semibold);background:color-mix(in oklch, var(--paper) 88%, var(--bg-2));position:sticky;top:0}.calstats-table tbody tr{transition:background .16s ease-out}.calstats-table tbody tr:hover td{background:color-mix(in oklch, var(--accent) 4%, var(--paper))}.calstats-table tr:last-child td{border-bottom:0}.calstats-meal-label{max-width:220px;font-weight:var(--dash-weight-medium);color:var(--ink)}.calstats-event{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--dash-text-caption);color:var(--ink)}.calstats-num,.calstats-date{font-variant-numeric:tabular-nums lining-nums;color:var(--muted);white-space:nowrap}.calstats-row-action{white-space:nowrap;text-align:right;width:1%}.calstats-empty{color:var(--muted);text-align:center;padding:28px 14px!important}.calstats-grant{border-color:color-mix(in oklch, var(--accent) 22%, var(--line));background:color-mix(in oklch, var(--accent) 3%, var(--paper))}.calstats-grant-sub{color:var(--muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);max-width:52ch;margin:5px 0 0}.calstats-grant-form{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(110px,1fr)) auto;align-items:end;gap:12px;margin-top:4px;display:grid}.calstats-grant-field{flex-direction:column;gap:6px;min-width:0;display:flex}.calstats-grant-field span{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-semibold)}.calstats-grant-field input,.calstats-grant-field select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px;transition:border-color .16s ease-out,box-shadow .16s ease-out}.calstats-grant-field input:focus,.calstats-grant-field select:focus{border-color:color-mix(in oklch, var(--accent) 45%, var(--line));box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 14%, transparent);outline:none}.calstats-grant-actions{align-self:end}.calstats-grant-lookup,.calstats-grant-feedback{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);border-radius:10px;margin:14px 0 0;padding:10px 12px}.calstats-grant-lookup{color:var(--muted);background:var(--bg-2);border:1px solid var(--line)}.calstats-grant-lookup--error,.calstats-grant-feedback--error{color:var(--accent);background:color-mix(in oklch, var(--accent) 8%, var(--paper));border:1px solid color-mix(in oklch, var(--accent) 22%, var(--line))}.calstats-grant-feedback--ok{color:color-mix(in oklch, var(--good) 70%, var(--ink));background:color-mix(in oklch, var(--good) 10%, var(--paper));border:1px solid color-mix(in oklch, var(--good) 24%, var(--line))}@media (max-width:1040px){.calstats-metrics,.calstats-activity-split{grid-template-columns:1fr}}@media (max-width:900px){.calstats-grant-form{grid-template-columns:1fr 1fr}.calstats-grant-field--wide,.calstats-grant-actions{grid-column:1/-1}}@media (max-width:720px){.calstats-head{flex-direction:column;align-items:stretch}.calstats-grant-form,.calstats-grid{grid-template-columns:1fr}.calstats-panel-head{flex-direction:column;align-items:flex-start}}
