:root{--font-body: "IBM Plex Sans Thai Looped", "Noto Sans Thai Looped", "Sarabun", system-ui, sans-serif;--font-head: "IBM Plex Sans Thai", "IBM Plex Sans Thai Looped", system-ui, sans-serif;--font-num: "Barlow", "IBM Plex Sans Thai", system-ui, sans-serif;--bg: #f2f3f5;--surface: #ffffff;--surface-2: #f5f6f8;--surface-press: #eceef1;--text: #17181b;--text-2: #696d75;--text-3: #9b9fa7;--hairline: rgba(15, 20, 30, .07);--track: #eceef2;--accent: #0a59f7;--accent-soft: rgba(10, 89, 247, .1);--pos: #12a46d;--neg: #ef3e4a;--card-shadow: 0 1px 2px rgba(15, 20, 30, .04);--sheet-shadow: 0 -10px 40px rgba(15, 20, 30, .14);--radius-card: 18px;--radius-inner: 12px;--app-health: #ff3b5c;--app-finance: #12a46d;--app-growth: #7b5cff;--app-calendar: #ff8a00;--app-home: #2b2d33;--steps: #ff7a00;--energy: #ff5a36;--active: #ff3b5c;--exercise: #00b28f;--sleep: #6d5cff;--water: #1e9bff;--stand: #00a7d6;--zone1: #8e9bb0;--zone2: #2f8cff;--zone3: #00b28f;--zone4: #f28a00;--zone5: #ff3b5c;--weight: #00a8a0;--bodyfat: #f2a100;--waist: #b05cf0;--protein: #ff6a4d;--carbs: #f2a100;--fat: #2f8cff;font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html[data-theme=dark]{--bg: #000000;--surface: #16171a;--surface-2: #1f2024;--surface-press: #26272c;--text: #f1f2f4;--text-2: #a2a6ae;--text-3: #6d7179;--hairline: rgba(255, 255, 255, .08);--track: #2a2c31;--accent: #4d8dff;--accent-soft: rgba(77, 141, 255, .16);--pos: #34cf8f;--neg: #ff6670;--card-shadow: none;--sheet-shadow: 0 -10px 40px rgba(0, 0, 0, .6);--app-health: #ff5470;--app-finance: #2fc489;--app-growth: #9580ff;--app-calendar: #ff9d2e;--app-home: #3a3c43;--steps: #ff9330;--energy: #ff7556;--active: #ff5470;--exercise: #26cfa8;--sleep: #8c7fff;--water: #48b0ff;--stand: #35c8f0;--zone1: #a3afc2;--zone2: #5aa5ff;--zone3: #26cfa8;--zone4: #ffa333;--zone5: #ff5470;--weight: #2cc7bd;--bodyfat: #ffbb33;--waist: #c486ff;--protein: #ff8166;--carbs: #ffbb33;--fat: #5aa5ff}body{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg)}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.3}.spin{animation:lt-spin .9s linear infinite}@keyframes lt-spin{to{transform:rotate(360deg)}}.app-loading{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--text-2)}.brand-dot{width:14px;height:14px;border-radius:50%;background:conic-gradient(var(--app-health) 0 25%,var(--app-finance) 0 50%,var(--app-growth) 0 75%,var(--app-calendar) 0)}.app-loading .brand-dot{width:28px;height:28px;animation:lt-spin 1.4s linear infinite}.lt-shell{min-height:100vh;min-height:100dvh}.lt-main{max-width:1180px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 32px)}.lt-shell.has-tabs .lt-main{padding-bottom:calc(env(safe-area-inset-bottom) + 88px)}.side-nav{display:none}.app-icon{--size: 40px;width:var(--size);height:var(--size);flex:0 0 auto;border-radius:calc(var(--size) * .3);display:grid;place-items:center;color:#fff;background:var(--app-color, var(--app-home))}.app-icon svg{width:58%;height:58%}.app-icon.sm{--size: 28px}.app-icon.lg{--size: 52px}.app-health{--app-color: var(--app-health)}.app-finance{--app-color: var(--app-finance)}.app-growth{--app-color: var(--app-growth)}.app-calendar{--app-color: var(--app-calendar)}.app-home{--app-color: var(--app-home)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:#3d4250;font:600 15px/1 var(--font-head)}.avatar.large{width:52px;height:52px;font-size:21px}html[data-theme=dark] .avatar{background:#3a3f4d}.round-btn{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;color:var(--text);background:var(--surface);box-shadow:var(--card-shadow);transition:background .15s}.round-btn svg{width:19px;height:19px}.round-btn:active{background:var(--surface-press)}.round-btn:disabled{opacity:.5;cursor:default}.pill-btn{position:relative;z-index:2;min-height:32px;border:0;border-radius:99px;padding:0 12px;display:inline-flex;align-items:center;gap:4px;font:600 13px/1 var(--font-body);color:var(--tone, var(--accent));background:color-mix(in srgb,var(--tone, var(--accent)) 12%,transparent)}.pill-btn svg{width:14px;height:14px}.pill-btn:disabled{opacity:.6}.text-link{display:inline-flex;align-items:center;gap:2px;color:var(--text-2);font-size:13px;font-weight:500}.text-link svg{width:12px;height:12px}.app-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back title actions" "sub sub sub";align-items:center;column-gap:10px;padding:6px 0 14px}.header-back{grid-area:back;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--text);background:var(--surface);box-shadow:var(--card-shadow)}.header-back svg{width:19px;height:19px}.app-header-title{grid-area:title;min-width:0;display:flex;flex-direction:column}.app-header-app{font-size:12px;font-weight:500;line-height:1.3;color:var(--app-color, var(--text-2))}.app-header h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-actions{grid-area:actions;display:flex;align-items:center;gap:8px}.app-header-sub{grid-area:sub;margin:6px 0 0;color:var(--text-2);font-size:13px;line-height:1.5}.bottom-tabs{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-top:1px solid var(--hairline)}.bottom-tabs a{min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-3);font-size:11px;font-weight:500;line-height:1.3}.bottom-tabs a svg{width:25px;height:25px}.bottom-tabs a.active{color:var(--app-color)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#00000061;animation:lt-fade .18s ease}.sheet{width:100%;max-width:520px;max-height:88vh;overflow:auto;padding:8px 16px calc(env(safe-area-inset-bottom) + 20px);border-radius:24px 24px 0 0;background:var(--bg);box-shadow:var(--sheet-shadow);animation:lt-rise .24s cubic-bezier(.2,.8,.2,1)}.sheet-grabber{width:36px;height:5px;border-radius:9px;margin:2px auto 12px;background:var(--text-3);opacity:.5}@keyframes lt-fade{0%{opacity:0}}@keyframes lt-rise{0%{transform:translateY(40px);opacity:0}}.account-head{display:flex;align-items:center;gap:12px;padding:4px 4px 16px}.account-head>div{flex:1;min-width:0;display:flex;flex-direction:column}.account-head strong{font:600 18px/1.3 var(--font-head)}.account-head small{color:var(--text-2);font-size:13px;overflow:hidden;text-overflow:ellipsis}.list-group{margin-bottom:14px;overflow:hidden;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.list-row{width:100%;min-height:56px;border:0;padding:10px 14px;display:flex;align-items:center;gap:12px;color:var(--text);background:transparent;font:500 15px/1.45 var(--font-body);text-align:left}.list-row+.list-row{border-top:1px solid var(--hairline)}.list-row:not(.static):active{background:var(--surface-press)}.list-row>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.list-row small{color:var(--text-2);font-size:13px;font-weight:400}.list-row.danger{color:var(--neg)}.list-row.static{display:block}.row-icon{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--tone, var(--text-3))}.row-icon svg{width:17px;height:17px}.row-caret{width:14px;height:14px;color:var(--text-3)}.tone-steps{--tone: var(--steps)}.tone-energy{--tone: var(--energy)}.tone-active{--tone: var(--active)}.tone-exercise{--tone: var(--exercise)}.tone-stand{--tone: var(--stand)}.tone-sleep{--tone: var(--sleep)}.tone-water{--tone: var(--water)}.tone-weight{--tone: var(--weight)}.tone-bodyfat{--tone: var(--bodyfat)}.tone-waist{--tone: var(--waist)}.tone-protein{--tone: var(--protein)}.tone-carbs{--tone: var(--carbs)}.tone-fat{--tone: var(--fat)}.tone-blue{--tone: var(--accent)}.tone-gray{--tone: #8e939c}.tone-red{--tone: var(--neg)}.tone-finance{--tone: var(--app-finance)}.tone-calendar{--tone: var(--app-calendar)}.tone-growth{--tone: var(--app-growth)}.list-row.static .theme-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:none}.list-row.static .theme-picker-label{font-size:15px;font-weight:500;color:var(--text)}.list-row.static .theme-options{display:inline-flex;padding:3px;gap:2px;border-radius:10px;background:var(--surface-2)}.list-row.static .theme-options button{min-height:32px;padding:0 10px;border:0;border-radius:8px;display:inline-flex;align-items:center;gap:5px;color:var(--text-2);background:transparent;font:500 13px/1 var(--font-body)}.list-row.static .theme-options button.active{color:var(--text);background:var(--surface);box-shadow:0 1px 3px #0000001a}html[data-theme=dark] .list-row.static .theme-options button.active{background:var(--surface-press)}.card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);padding:16px}.card-title{margin:0;font:600 17px/1.35 var(--font-head)}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.muted-line{margin:4px 0;color:var(--text-2);font-size:14px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:22px 4px 10px}.section-title h2{margin:0;font-size:17px;font-weight:600}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.span-2{grid-column:span 2}.metric-card{position:relative;min-width:0;min-height:132px;padding:14px;display:flex;flex-direction:column;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow);color:var(--text);transition:transform .15s ease,background .15s}.metric-card:has(>.card-hit:active){transform:scale(.985);background:var(--surface-press)}.card-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.card-hit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.metric-head{display:flex;align-items:center;gap:6px;min-height:24px}.metric-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--tone)}.metric-icon svg{width:19px;height:19px}.metric-label{min-width:0;flex:1;font-size:14px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-label.strong{font:600 16px/1.35 var(--font-head)}.metric-meta{color:var(--text-3);font-size:12px;white-space:nowrap}.metric-caret{width:13px;height:13px;color:var(--text-3)}.metric-value{margin-top:10px;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:3px;line-height:1.05}.metric-value strong{font:600 30px/1.05 var(--font-num);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.metric-value em{margin-right:5px;color:var(--text-2);font-size:13px;font-style:normal;font-weight:500}.metric-sub{margin:5px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.45}.metric-viz{margin-top:auto;padding-top:12px}.metric-action{margin-top:10px}.metric-action+.metric-viz,.metric-viz+.metric-action{margin-top:10px}.metric-card.skeleton{min-height:150px;background:linear-gradient(100deg,var(--surface) 30%,var(--surface-2) 50%,var(--surface) 70%) 0 0 / 300% 100%;animation:lt-shimmer 1.3s linear infinite}@keyframes lt-shimmer{to{background-position:-150% 0}}.ring{position:relative;flex:0 0 auto}.ring svg{display:block}.ring circle{transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1)}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.spark-bars-plot,.spark-bars-labels{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.spark-bars-plot span{display:flex;align-items:flex-end;justify-content:center}.spark-bars-plot i{width:min(9px,70%);border-radius:9px;background:var(--bar-color);opacity:.3}.spark-bars-plot i.now{opacity:1}.spark-bars-plot i.empty{height:4px;opacity:1;background:var(--track)}.spark-bars-labels{margin-top:5px}.spark-bars-labels span{color:var(--text-3);font-size:10.5px;line-height:1.4;text-align:center}.sparkline{position:relative}.sparkline svg{display:block;width:100%;overflow:visible}.sparkline i{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;box-shadow:0 0 0 2px var(--surface)}.sparkline-empty{border-bottom:1px dashed var(--hairline)}.meter{height:6px;overflow:hidden;border-radius:9px;background:var(--track)}.meter i{display:block;height:100%;border-radius:inherit;transition:width .5s ease}.launcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 2px 20px}.launcher-head p{margin:0 0 2px;color:var(--text-2);font-size:14px}.launcher-head h1{margin:0;font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.01em}.avatar-button{border:0;padding:0;border-radius:50%;background:none}.avatar-button .avatar{width:40px;height:40px}.app-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-tile{position:relative;min-width:0;min-height:150px;padding:14px;display:flex;flex-direction:column;border-radius:22px;background:var(--surface);box-shadow:var(--card-shadow);transition:transform .15s ease,background .15s}.app-tile:active{transform:scale(.98);background:var(--surface-press)}.tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.tile-name{margin-top:10px;display:flex;align-items:center;gap:3px;font:600 16px/1.3 var(--font-head)}.tile-name svg{width:12px;height:12px;color:var(--text-3)}.tile-body{position:relative;margin-top:auto;padding-top:10px}.tile-figure{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;line-height:1.05}.tile-figure strong{font:600 25px/1.1 var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tile-figure em{color:var(--text-2);font-size:13px;font-style:normal;font-weight:500}.tile-body p{margin:4px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.45}.tile-body p.clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-body .meter{margin-top:10px}.pos{color:var(--pos);font-weight:600}.neg{color:var(--neg);font-weight:600}.launcher-columns{display:grid;gap:12px;margin-top:12px}.shortcuts .card-title{margin-bottom:12px}.shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.shortcut{min-width:0;border:0;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--text);background:none;font:500 12.5px/1.35 var(--font-body);text-align:center}.shortcut>span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,transparent)}.shortcut>span svg{width:24px;height:24px}.shortcut:active>span{transform:scale(.94)}.shortcut:disabled{opacity:.55}.shortcut-note{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--hairline);color:var(--text-2);font-size:13px}.agenda-list{list-style:none;margin:0;padding:0}.agenda-list li{display:grid;grid-template-columns:52px 4px minmax(0,1fr);align-items:start;gap:10px;padding:9px 0}.agenda-list li+li{border-top:1px solid var(--hairline)}.agenda-list time{font:600 15px/1.45 var(--font-num);font-variant-numeric:tabular-nums}.agenda-list li i{align-self:stretch;border-radius:4px;background:var(--ev, var(--accent))}.agenda-list span{display:flex;flex-direction:column;font-size:15px;font-weight:500;line-height:1.45}.agenda-list small{color:var(--text-2);font-size:12.5px;font-weight:400}.agenda-list li.past{opacity:.45}.ev-purple{--ev: var(--app-growth)}.ev-blue{--ev: var(--accent)}.ev-green{--ev: var(--app-finance)}.ev-amber{--ev: var(--app-calendar)}.ev-red{--ev: var(--app-health)}.activity-card{min-height:0}.activity-body{display:flex;align-items:center;gap:18px;margin:12px 0 14px}.activity-body .ring-center svg{width:20px;height:20px}.activity-body .ring-center strong{margin-top:2px;font:600 20px/1.1 var(--font-num)}.activity-stats{flex:1;min-width:0;margin:0;display:grid;gap:10px}.activity-stats>div{position:relative;min-width:0;border-radius:10px}.activity-stats>div:has(>.card-hit:active),.activity-link:active{transform:scale(.985)}.activity-link{display:block;border-radius:50%;color:inherit}.activity-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.activity-stats dt{display:flex;align-items:center;gap:5px;color:var(--text-2);font-size:12.5px;line-height:1.4}.activity-stats dt svg{width:14px;height:14px;color:var(--tone)}.activity-stats dd{margin:1px 0 0;display:flex;align-items:baseline;gap:3px}.activity-stats dd strong{color:var(--tone);font:600 22px/1.15 var(--font-num);font-variant-numeric:tabular-nums}.activity-stats dd em{color:var(--text-2);font-size:12.5px;font-style:normal}.macro-card-v2{min-height:0;gap:14px}.macro-line>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.macro-line span{font-size:14px;font-weight:500}.macro-line b{font:600 17px/1.2 var(--font-num);font-variant-numeric:tabular-nums}.macro-line b em{color:var(--text-2);font:400 12.5px/1 var(--font-body);font-style:normal}.edit-cards-btn{margin:22px auto 0;min-height:44px;border:0;border-radius:99px;padding:0 20px;display:flex;align-items:center;gap:7px;color:var(--accent);background:var(--surface);box-shadow:var(--card-shadow);font:600 14px/1 var(--font-body)}.edit-cards-btn svg{width:17px;height:17px}.profile-card{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:16px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.profile-card>div{min-width:0;display:flex;flex-direction:column}.profile-card strong{font:600 18px/1.3 var(--font-head)}.profile-card small{color:var(--text-2);font-size:13px;overflow:hidden;text-overflow:ellipsis}@media (min-width: 900px){.lt-shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.lt-main{width:100%;padding:28px 40px 56px}.lt-shell.has-tabs .lt-main{padding-bottom:56px}.bottom-tabs{display:none}.side-nav{position:sticky;top:0;height:100vh;padding:22px 14px 16px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--hairline);background:var(--surface)}html[data-theme=dark] .side-nav{background:#0b0b0d}.side-brand{display:flex;align-items:center;gap:10px;padding:2px 10px 18px;font:600 16px/1 var(--font-head)}.side-nav nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.side-link{min-height:44px;padding:7px 10px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--text)}.side-link:hover{background:var(--surface-2)}.side-link.active,.side-link.in-app{background:var(--surface-2);font-weight:600}.side-subnav{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 22px;padding-left:12px;border-left:1px solid var(--hairline)}.side-subnav a{min-height:38px;padding:6px 10px;border-radius:10px;display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:14px}.side-subnav a svg{width:18px;height:18px}.side-subnav a:hover{color:var(--text);background:var(--surface-2)}.side-subnav a.active{color:var(--app-color);font-weight:600}.side-account{margin-top:auto;border:0;padding:10px;border-radius:14px;display:flex;align-items:center;gap:10px;color:var(--text);background:transparent;text-align:left;font:inherit}.side-account:hover{background:var(--surface-2)}.side-account>span:last-child{min-width:0;display:flex;flex-direction:column}.side-account strong{font-size:14px;line-height:1.35}.side-account small{overflow:hidden;color:var(--text-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.app-header{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back title actions" "back sub actions";padding:4px 0 22px}.header-back:not(.always){display:none}.app-header h1{font-size:30px}.app-header-app{display:none}.sheet-backdrop{align-items:center}.sheet{border-radius:24px;max-width:440px;padding-bottom:16px}.sheet-grabber{display:none}.launcher{max-width:1040px}.launcher-head{padding-top:8px}.launcher-head h1{font-size:32px}.launcher .avatar-button{display:none}.app-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.app-tile{min-height:172px;padding:18px}.app-tile:hover{box-shadow:0 6px 24px #0f141e12}.tile-figure strong{font-size:28px}.launcher-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;margin-top:16px}.card{padding:20px}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{min-height:158px;padding:18px}.metric-card:hover{box-shadow:0 6px 24px #0f141e12}.metric-value strong{font-size:34px}.health-today .edit-cards-btn{margin-left:0}.health-me{max-width:640px}}@media (min-width: 1240px){.health-today .activity-card{grid-row:span 2}}@media (max-width: 360px){.lt-main{padding-left:12px;padding-right:12px}.card-grid,.app-tiles{gap:10px}.metric-value strong{font-size:26px}.tile-figure strong{font-size:22px}}.activity-rings{position:relative;flex:none}.activity-rings svg{display:block}.zone-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--track)}.zone-bar span{display:block;height:100%}.zone-list{display:grid;gap:8px;margin:10px 0 2px}.zone-row{display:grid;grid-template-columns:74px minmax(0,1fr) 56px;align-items:center;gap:8px;font-size:12.5px}.zone-row small{color:var(--text-2)}.zone-row b{font:600 13px/1.2 var(--font-num);text-align:right}.zone-track{height:8px;border-radius:4px;background:var(--track);overflow:hidden}.zone-track span{display:block;height:100%;border-radius:4px}.tg-app{max-width:560px;margin:0 auto;padding:16px 16px calc(env(safe-area-inset-bottom) + 28px);display:grid;gap:12px;background:var(--bg);min-height:100vh}.tg-center{place-content:center;justify-items:center;text-align:center;color:var(--text-2)}.tg-head h1{margin:0;font-size:26px}.tg-head p{margin:2px 0 0;color:var(--text-2);font-size:14px}.tg-error{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--active) 12%,transparent);color:var(--active);font-size:14px}.tg-card{padding:14px 16px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow-card, none);display:grid;gap:8px;min-width:0}.tg-card h2{margin:0;display:flex;align-items:center;gap:6px;font-size:15px}.tg-card h2 svg{width:16px;height:16px;color:var(--text-2)}.tg-card small{color:var(--text-2);font-size:12.5px}.tg-tips ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px;line-height:1.45}.tg-activity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px}.tg-activity dl{margin:0;display:grid;gap:6px}.tg-activity dt{display:flex;align-items:center;gap:4px;color:var(--text-2);font-size:12.5px}.tg-activity dt svg{width:13px;height:13px;color:var(--tone)}.tg-activity dd{margin:0;font:500 13px/1.3 var(--font-num);color:var(--text-2)}.tg-activity dd strong{color:var(--tone);font-size:19px;font-weight:600}.tg-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tg-row-head>span{font:500 14px/1.3 var(--font-num);color:var(--text-2)}.tg-row-head strong{color:var(--text);font-size:18px}.tg-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}.tg-macros>div{display:grid;gap:4px;min-width:0}.tg-macros b{font:600 16px/1.2 var(--font-num)}.tg-macros em{color:var(--text-2);font-size:12px;font-style:normal;font-weight:500}.tg-value{margin:0;font:500 14px/1.3 var(--font-num);color:var(--text-2)}.tg-value strong{color:var(--text);font-size:24px;font-weight:600}.tg-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tg-open{justify-self:center;margin-top:4px;padding:10px 18px;border:0;border-radius:999px;background:var(--surface);color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.insights-panel{padding:16px;border-radius:var(--radius-card, 18px);background:var(--surface);display:grid;gap:12px;min-width:0}.insights-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.insights-head h2{margin:0;font-size:16px}.insights-head small{color:var(--text-2);font-size:12.5px}.insights-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--sleep) 14%,transparent);color:var(--sleep)}.insights-icon svg{width:18px;height:18px}.insights-headline{margin:0;font-size:15px;line-height:1.5}.insights-focus{margin:0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:14px;line-height:1.5}.insights-focus b{display:block;color:var(--accent);font-size:12.5px}.insights-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.insight{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding-top:12px;border-top:1px solid var(--hairline)}.insight-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone)}.insight-icon svg{width:16px;height:16px}.insight.tone-good{--tone: var(--exercise)}.insight.tone-watch{--tone: var(--bodyfat)}.insight.tone-alert{--tone: var(--active)}.insight strong{font-size:14.5px}.insight p{margin:3px 0 0;font-size:14px;line-height:1.5}.insight small{display:block;margin-top:4px;color:var(--text-2);font-size:12.5px;line-height:1.45}.insight .insight-action{color:var(--tone);font-weight:500}.insights-facts{margin:0;padding-left:18px;display:grid;gap:5px;color:var(--text-2);font-size:13.5px;line-height:1.45}.insights-error{margin:0;color:var(--active);font-size:13.5px}.insights-more{justify-self:center}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}svg{flex:0 0 auto}img{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body.modal-open{position:fixed;width:100%;overflow:hidden}.button{min-height:44px;border:0;border-radius:99px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:600 14px/1.2 var(--font-body);white-space:nowrap;transition:background .15s,opacity .15s,transform .15s}.button svg{width:18px;height:18px}.button:active:not(:disabled){transform:scale(.97)}.button:disabled{opacity:.5}.button.primary{color:#fff;background:var(--accent)}.button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.button.secondary{color:var(--text);background:var(--surface-2)}.button.secondary.on-canvas{background:var(--surface);box-shadow:var(--card-shadow)}.button.secondary:hover:not(:disabled){background:var(--surface-press)}.button.ghost{color:var(--text-2);background:transparent}.button.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2)}.button.danger-text,.button.danger-subtle{color:var(--neg);background:color-mix(in srgb,var(--neg) 11%,transparent)}.button.soft-light{color:var(--accent);background:var(--accent-soft)}.button.small{min-height:36px;padding:0 14px;font-size:13px}.button.small svg{width:16px;height:16px}.button.wide{width:100%}.text-button{min-height:32px;border:0;padding:0 4px;display:inline-flex;align-items:center;gap:4px;color:var(--accent);background:transparent;font:600 14px/1.3 var(--font-body)}.text-button svg{width:16px;height:16px}.text-button.inline{min-height:0;padding:0;font-size:inherit;display:inline;text-decoration:underline;text-underline-offset:3px}.icon-btn{width:36px;height:36px;flex:0 0 auto;border:0;border-radius:50%;padding:0;display:grid;place-items:center;color:var(--text-2);background:var(--surface-2);transition:background .15s,color .15s}.icon-btn svg{width:18px;height:18px}.icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface-press)}.icon-btn:disabled{opacity:.45}.round-btn.accent{color:#fff;background:var(--accent)}.panel{min-width:0;padding:16px;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head>div{min-width:0}.panel-head h2{margin:0;font:600 17px/1.35 var(--font-head)}.panel-head p{margin:2px 0 0;color:var(--text-2);font-size:13px;line-height:1.45}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.field{min-width:0;display:flex;flex-direction:column;gap:6px}.field>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text-2);font-size:13px;font-weight:500;line-height:1.4}.field small{color:var(--text-3);font-size:12px;font-weight:400}.field input,.field select,.field textarea,.input{width:100%;min-height:46px;border:1px solid transparent;border-radius:var(--radius-inner);padding:10px 13px;color:var(--text);background:var(--surface-2);font:400 16px/1.4 var(--font-body);outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.field textarea{min-height:88px;resize:vertical;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.field input[readonly]{color:var(--text-2)}.field input::placeholder,.field textarea::placeholder,.input::placeholder{color:var(--text-3)}input[type=date],input[type=time],input[type=month]{min-width:0}.form-grid{display:grid;gap:12px}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section-title{margin:6px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font:600 15px/1.4 var(--font-head)}.form-section-title small{color:var(--text-2);font:400 12.5px/1.4 var(--font-body)}.check-field{min-height:56px;padding:10px 13px;border-radius:var(--radius-inner);display:flex;align-items:center;gap:12px;background:var(--surface-2)}.check-field>span{display:flex;flex-direction:column;font-size:14px;line-height:1.4}.check-field small{color:var(--text-2);font-size:12.5px}input[type=checkbox],input[type=radio]{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--accent)}.switch{position:relative;width:50px;height:30px;flex:0 0 auto}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:99px;background:var(--track);transition:background .2s;pointer-events:none}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch input:checked+i{background:var(--pos)}.switch input:checked+i:after{transform:translate(20px)}.segment-control,.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:12px;background:var(--surface-2)}.segment-control button,.segmented button{min-height:38px;border:0;border-radius:10px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text-2);background:transparent;font:500 14px/1.2 var(--font-body)}.segment-control button svg,.segmented button svg{width:17px;height:17px}.segment-control button.active,.segmented button.active{color:var(--text);background:var(--surface);box-shadow:0 1px 3px #0000001a;font-weight:600}html[data-theme=dark] .segment-control button.active,html[data-theme=dark] .segmented button.active{background:var(--surface-press)}.segmented.on-canvas{background:var(--track)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:#0006;animation:lt-fade .18s ease}.modal{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 24px);display:flex;flex-direction:column;overflow:hidden;border-radius:24px 24px 0 0;background:var(--surface);box-shadow:var(--sheet-shadow);animation:lt-rise .24s cubic-bezier(.2,.8,.2,1)}.modal>:not(.modal-head){overflow-y:auto;overscroll-behavior:contain}.modal-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 16px 12px;border-bottom:1px solid var(--hairline)}.modal-title-block{min-width:0;display:flex;align-items:flex-start;gap:10px}.modal-title-icon{width:36px;height:36px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft)}.modal-title-icon svg{width:20px;height:20px}.modal-head h2{margin:0;font:600 19px/1.35 var(--font-head)}.modal-head p{margin:3px 0 0;color:var(--text-2);font-size:13px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.modal-head-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.modal-head-submit{min-height:36px;padding:0 14px;font-size:13px}.modal-close{width:34px;height:34px}.modal-form{display:flex;flex-direction:column;gap:16px;padding:16px 16px calc(env(safe-area-inset-bottom) + 18px)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:4px}.modal-actions.split{justify-content:space-between}.modal-actions.split>div{display:flex;gap:8px}.error-banner,.success-banner,.info-banner{margin:0 0 12px;padding:11px 14px;border-radius:var(--radius-inner);display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5}.error-banner{justify-content:space-between;color:var(--neg);background:color-mix(in srgb,var(--neg) 10%,var(--surface))}.error-banner button{flex:0 0 auto;border:0;padding:4px;color:inherit;background:transparent;font-weight:600}.success-banner{color:var(--pos);background:color-mix(in srgb,var(--pos) 11%,var(--surface))}.success-banner svg{width:20px;height:20px}.info-banner{color:var(--text-2);background:var(--surface-2)}.info-banner svg{width:18px;height:18px;color:var(--accent)}.empty-state{min-height:150px;padding:20px;display:grid;place-content:center;justify-items:center;gap:4px;text-align:center;color:var(--text-2)}.empty-icon{width:48px;height:48px;margin-bottom:6px;border-radius:50%;display:grid;place-items:center;color:var(--text-3);background:var(--surface-2)}.empty-icon svg{width:22px;height:22px}.empty-state strong{color:var(--text);font-size:15px;font-weight:600}.empty-state p{max-width:300px;margin:0 0 10px;font-size:13px;line-height:1.5}.progress-track{height:6px;overflow:hidden;border-radius:9px;background:var(--track)}.progress-fill{height:100%;border-radius:inherit;transition:width .45s ease}.chip,.today-chip,.source-chip,.template-source-chip{min-height:26px;padding:0 10px;border-radius:99px;display:inline-flex;align-items:center;gap:5px;color:var(--text-2);background:var(--surface-2);font:500 12px/1 var(--font-body);white-space:nowrap}.chip svg,.today-chip svg{width:14px;height:14px}.today-chip{color:var(--pos);background:color-mix(in srgb,var(--pos) 12%,transparent)}.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.filter-row .field{width:180px}.date-navigator{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:99px;background:var(--surface);box-shadow:var(--card-shadow)}.date-step{width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;color:var(--text);background:transparent}.date-step svg{width:16px;height:16px}.date-step:disabled{opacity:.3}.date-step:hover:not(:disabled){background:var(--surface-2)}.date-picker-button{position:relative;min-height:36px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.date-picker-button svg{width:16px;height:16px;color:var(--accent)}.date-picker-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.row-list{display:flex;flex-direction:column}.row-list>*+*{border-top:1px solid var(--hairline)}@media (min-width: 640px){.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 900px){.panel{padding:20px}.modal-backdrop{align-items:center;padding:24px}.modal{width:min(600px,100%);max-height:calc(100vh - 48px);border-radius:24px}.modal.large{width:min(920px,100%)}.modal-head{padding:20px 24px 14px}.modal-head p{display:block}.modal-form{padding:20px 24px 24px}}.food-layout{display:grid;gap:0 20px}.food-main,.food-side{min-width:0}.energy-card{margin-bottom:12px}.energy-body{display:flex;align-items:center;gap:20px;margin:14px 0 12px}.energy-body .ring-center small{color:var(--text-2);font-size:12px;line-height:1.3}.energy-body .ring-center strong{font:600 26px/1.1 var(--font-num);font-variant-numeric:tabular-nums}.energy-equation{flex:1;min-width:0;margin:0;display:grid;gap:8px}.energy-equation div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.energy-equation dt{color:var(--text-2);font-size:13.5px}.energy-equation dd{margin:0;font:600 17px/1.2 var(--font-num);font-variant-numeric:tabular-nums}.energy-equation .total{padding-top:8px;border-top:1px solid var(--hairline)}.energy-equation .total dt{color:var(--text);font-weight:600}.energy-equation .total dd{color:var(--energy);font-size:20px}.energy-equation em{color:var(--text-2);font:400 12px/1 var(--font-body);font-style:normal}.energy-status{margin:0;font-size:14px;font-weight:500}.energy-breakdown{margin:2px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.5}.food-cards{margin-bottom:4px}.macro-stripe{height:10px;display:flex;gap:2px;overflow:hidden;border-radius:9px;background:var(--track)}.macro-stripe i{height:100%}.macro-stripe i.empty{width:100%;background:var(--track)}.macro-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;color:var(--text-2);font-size:12px}.macro-legend span{display:inline-flex;align-items:center;gap:5px}.macro-legend i{width:8px;height:8px;border-radius:50%}.macro-rings{min-height:0}.macro-rings-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.macro-rings-row>div{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.macro-rings-row .ring-center strong{font:600 16px/1 var(--font-num)}.macro-rings-row span{margin-top:8px;font-size:13px;font-weight:500}.macro-rings-row b{color:var(--tone);font:600 17px/1.25 var(--font-num);font-variant-numeric:tabular-nums}.macro-rings-row b em{color:var(--text-3);font-size:12px;font-style:normal;font-weight:500}.macro-rings-row small{color:var(--text-3);font-size:11.5px}.prediction-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prediction-values span{padding:10px 12px;border-radius:var(--radius-inner);display:flex;flex-direction:column;background:var(--surface-2)}.prediction-values small{color:var(--text-2);font-size:12px}.prediction-values strong{font:600 16px/1.3 var(--font-body)}.prediction-values .loss{color:var(--pos)}.prediction-values .gain{color:var(--energy)}.meal-list{display:grid;gap:10px}.meal-card{padding:6px 0}.meal-head{display:flex;align-items:center;gap:12px;padding:8px 14px}.meal-icon{width:36px;height:36px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,transparent)}.meal-icon svg{width:20px;height:20px}.meal-head>div{flex:1;min-width:0;display:flex;flex-direction:column}.meal-head strong{font:600 15.5px/1.35 var(--font-head)}.meal-head small{color:var(--text-3);font-size:12px}.meal-head>b{font:600 18px/1 var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}.meal-head>b em,.food-kcal em{color:var(--text-2);font:400 12px/1 var(--font-body);font-style:normal}.food-rows{margin:2px 0 0;border-top:1px solid var(--hairline)}.food-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"icon copy kcal" "icon copy actions";align-items:center;column-gap:10px;padding:10px 14px}.food-row+.food-row{border-top:1px solid var(--hairline)}.food-source{grid-area:icon;align-self:start;width:28px;height:28px;margin-top:2px;border-radius:8px;display:grid;place-items:center;color:var(--text-2);background:var(--surface-2)}.food-source svg{width:15px;height:15px}.food-row-copy{grid-area:copy;min-width:0;display:flex;flex-direction:column}.food-row-copy strong{font-size:15px;font-weight:500;line-height:1.45}.food-row-copy span{color:var(--text-2);font-size:12.5px;line-height:1.45}.food-row-copy .food-macros{color:var(--text-3)}.food-kcal{grid-area:kcal;justify-self:end;font:600 15px/1.2 var(--font-num);white-space:nowrap}.food-row-actions{grid-area:actions;justify-self:end;display:flex;gap:4px}.food-row-actions .icon-btn{width:30px;height:30px;background:transparent}.food-row-actions .icon-btn svg{width:16px;height:16px}.icon-btn.danger:hover:not(:disabled){color:var(--neg)}.vitals-grid{gap:10px}.vital-tile{min-width:0;min-height:84px;border:0;padding:12px 14px;border-radius:var(--radius-card);display:flex;flex-direction:column;justify-content:space-between;gap:6px;color:var(--text);background:var(--surface);box-shadow:var(--card-shadow);text-align:left}.vital-tile:active{background:var(--surface-press)}.vital-label{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:13px}.vital-label svg{width:16px;height:16px;color:var(--tone)}.vital-value{display:flex;align-items:baseline;gap:3px}.vital-value strong{font:600 22px/1.1 var(--font-num);font-variant-numeric:tabular-nums}.vital-value em{color:var(--text-2);font-size:12px;font-style:normal}.side-note{margin:10px 4px 0;color:var(--text-3);font-size:12px;line-height:1.5}.workout-card{padding:6px 14px}.workout-total{margin:8px 0 4px;color:var(--text-2);font-size:13px}.workout-total b{color:var(--exercise);font:600 17px/1 var(--font-num)}.workout-row{display:flex;align-items:center;gap:12px;padding:10px 0}.workout-row+.workout-row,.workout-total+.workout-row{border-top:1px solid var(--hairline)}.workout-row>div{flex:1;min-width:0;display:flex;flex-direction:column}.workout-row strong{font-size:15px;font-weight:500;line-height:1.4}.workout-row small{color:var(--text-2);font-size:12.5px}.workout-row>b{font:600 15px/1 var(--font-num);white-space:nowrap}.workout-row .icon-btn{width:30px;height:30px;background:transparent}.workout-card .empty-state{min-height:120px}.micro-card{padding:6px 14px}.micro-row{padding:10px 0}.micro-row+.micro-row{border-top:1px solid var(--hairline)}.micro-row>div{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.micro-row span{flex:1;font-size:14px}.micro-row b{font:600 15px/1 var(--font-num)}.micro-row b em{color:var(--text-2);font:400 12px/1 var(--font-body);font-style:normal}.micro-row small{width:40px;color:var(--text-3);font-size:12px;text-align:right}.food-lookup-panel{display:grid;gap:12px}.food-lookup-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border-radius:14px;background:var(--surface-2)}.food-lookup-tabs button{min-width:0;min-height:52px;border:0;padding:6px 10px;border-radius:11px;display:flex;align-items:center;gap:8px;color:var(--text-2);background:transparent;text-align:left}.food-lookup-tabs button>span{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:var(--track)}.food-lookup-tabs button>span svg{width:16px;height:16px}.food-lookup-tabs button div{min-width:0;display:flex;flex-direction:column}.food-lookup-tabs strong{font-size:14px;font-weight:600;line-height:1.35}.food-lookup-tabs small{overflow:hidden;color:var(--text-3);font-size:11.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.food-lookup-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 1px 3px #0000001a}.food-lookup-tabs button.active>span{color:#fff;background:var(--accent)}html[data-theme=dark] .food-lookup-tabs button.active{background:var(--surface-press)}.food-lookup-pane{display:grid;gap:10px}.food-search-heading{display:flex;gap:10px;color:var(--text-2);font-size:12.5px;line-height:1.5}.food-search-heading>div{display:flex;flex-direction:column}.food-search-heading strong{color:var(--text);font-size:14px}.food-search-icon{display:none}.food-search-controls{display:flex;gap:8px}.food-search-controls input{flex:1;min-width:0;min-height:46px;border:1px solid transparent;border-radius:99px;padding:0 16px;background:var(--surface-2);font-size:16px;outline:none}.food-search-controls input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.food-search-controls .button{flex:0 0 auto}.food-search-error,.food-search-partial{padding:9px 12px;border-radius:var(--radius-inner);font-size:13px}.food-search-error{color:var(--neg);background:color-mix(in srgb,var(--neg) 10%,transparent)}.food-search-partial{color:var(--text-2);background:var(--surface-2)}.food-search-results{overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-card)}.food-search-summary{padding:10px 14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;background:var(--surface-2);font-size:13px}.food-search-summary span{color:var(--text-2)}.food-search-result{width:100%;border:0;border-top:1px solid var(--hairline);padding:10px 14px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"icon copy kcal" "icon nutr nutr";align-items:center;gap:2px 10px;color:var(--text);background:var(--surface);text-align:left}.food-search-result:hover{background:var(--surface-2)}.food-result-database{grid-area:icon;align-self:start;width:32px;height:32px;margin-top:2px;border-radius:9px;display:grid;place-items:center;color:var(--text-2);background:var(--surface-2)}.food-result-database svg{width:16px;height:16px}.food-result-database.from-library{color:var(--bodyfat);background:color-mix(in srgb,var(--bodyfat) 14%,transparent)}.food-result-database.from-menu{color:var(--energy);background:color-mix(in srgb,var(--energy) 13%,transparent)}.food-result-copy{grid-area:copy;min-width:0;display:flex;flex-direction:column}.food-result-copy strong{font-size:14.5px;font-weight:500;line-height:1.45}.food-result-copy small{color:var(--text-2);font-size:12px;line-height:1.45}.food-result-nutrients{display:contents}.food-result-nutrients strong{grid-area:kcal;justify-self:end;font:600 15px/1.2 var(--font-num);white-space:nowrap}.food-result-nutrients small{grid-area:nutr;color:var(--text-3);font-size:12px}.food-result-action{display:none}.food-search-basis{margin:0;padding:10px 14px;border-top:1px solid var(--hairline);color:var(--text-3);font-size:12px;line-height:1.5}.barcode-lookup-visual{display:flex;align-items:center;gap:12px}.barcode-lookup-visual>span{width:44px;height:44px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft)}.barcode-lookup-visual>span svg{width:24px;height:24px}.barcode-lookup-visual strong{font-size:14.5px}.barcode-lookup-visual p{margin:0;color:var(--text-2);font-size:12.5px;line-height:1.5}.barcode-search-field{position:relative}.barcode-search-field svg{position:absolute;top:50%;left:14px;width:18px;height:18px;color:var(--text-3);transform:translateY(-50%)}.barcode-search-field input{width:100%;min-height:46px;border:1px solid transparent;border-radius:99px;padding:0 16px 0 42px;background:var(--surface-2);font:500 17px/1 var(--font-num);letter-spacing:.06em;outline:none}.barcode-search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.barcode-box-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.barcode-source-note{color:var(--text-3);font-size:12px;line-height:1.5}.source-notice{padding:10px 12px;border-radius:var(--radius-inner);display:flex;align-items:flex-start;gap:8px;color:var(--pos);background:color-mix(in srgb,var(--pos) 10%,transparent);font-size:13px;line-height:1.5}.source-notice svg{width:17px;height:17px;margin-top:2px}.food-nutrient-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.nutrient-edit-button{min-height:34px;padding:0 12px;font-size:13px}.source-nutrients-locked input{color:var(--text-2);background:var(--track)}.goals-banner{padding:12px 14px;border-radius:var(--radius-inner);display:flex;gap:10px;background:var(--surface-2)}.goals-banner svg{width:22px;height:22px;color:var(--energy)}.goals-banner div{display:flex;flex-direction:column}.goals-banner strong{font-size:14px}.goals-banner span{color:var(--text-2);font-size:12.5px;line-height:1.5}.nutrition-template-panel{padding:14px;border-radius:var(--radius-card);display:grid;gap:12px;border:1px solid var(--hairline)}.nutrition-template-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.nutrition-template-head div{display:flex;flex-direction:column}.nutrition-template-head strong{font:600 15px/1.4 var(--font-head)}.nutrition-template-head span:not(.template-source-chip){color:var(--text-2);font-size:12.5px;line-height:1.5}.template-source-chip{color:var(--accent);background:var(--accent-soft)}.tdee-calculator-result,.nutrition-template-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tdee-calculator-result span,.nutrition-template-preview span{min-width:0;padding:10px 12px;border-radius:var(--radius-inner);display:flex;flex-direction:column;background:var(--surface-2)}.tdee-calculator-result small,.nutrition-template-preview small{color:var(--text-2);font-size:12px}.tdee-calculator-result strong,.nutrition-template-preview strong{font:600 16px/1.35 var(--font-num)}.tdee-calculator-result.ready span:nth-child(2){color:#fff;background:var(--energy)}.tdee-calculator-result.ready span:nth-child(2) small{color:#ffffffd9}.tdee-calculator-result span:nth-child(3){grid-column:span 2}.tdee-calculator-result span:nth-child(3) strong{font:500 13.5px/1.4 var(--font-body)}.nutrition-template-preview .button{grid-column:span 2}.nutrition-template-note{margin:0;color:var(--text-3);font-size:12px;line-height:1.55}.menu-list,.menu-card{display:grid;gap:10px}.menu-card.skeleton{min-height:120px;background:linear-gradient(100deg,var(--surface) 30%,var(--surface-2) 50%,var(--surface) 70%) 0 0 / 300% 100%;animation:lt-shimmer 1.3s linear infinite}.menu-card-head{display:flex;align-items:center;gap:12px}.menu-card-head .row-icon{width:40px;height:40px;border-radius:12px}.menu-card-head .row-icon svg{width:22px;height:22px}.menu-card-head>div{flex:1;min-width:0;display:flex;flex-direction:column}.menu-card-head strong{font:600 16px/1.35 var(--font-head)}.menu-card-head small{color:var(--text-2);font-size:12.5px}.menu-card-head>b{display:flex;flex-direction:column;align-items:flex-end;font:600 20px/1.1 var(--font-num);white-space:nowrap}.menu-card-head>b em{color:var(--text-3);font:400 11.5px/1.3 var(--font-body);font-style:normal}.menu-card-macros{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--text-2);font-size:12.5px}.menu-card-macros span{display:inline-flex;align-items:center;gap:5px}.menu-card-macros i{width:8px;height:8px;border-radius:50%;background:var(--tone)}.menu-card-actions{display:flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--hairline)}.menu-card-actions>span{flex:1}.menu-log-preview{margin:0;font:600 22px/1.2 var(--font-num);color:var(--energy)}.ingredient-search-box{padding:12px;border-radius:var(--radius-card);display:grid;gap:12px;background:var(--surface-2)}.ingredient-source-tabs{display:flex;gap:6px;margin:0 -12px;padding:0 12px 2px;overflow-x:auto;scrollbar-width:none}.ingredient-source-tabs::-webkit-scrollbar{display:none}.ingredient-source-tabs button,.ingredient-search-kind button{flex:0 0 auto;min-height:36px;border:0;border-radius:99px;padding:0 14px;display:inline-flex;align-items:center;gap:5px;color:var(--text-2);background:var(--surface);font:500 13.5px/1 var(--font-body);white-space:nowrap}.ingredient-source-tabs button svg{width:14px;height:14px;color:var(--app-growth)}.ingredient-source-tabs button.active,.ingredient-search-kind button.active{color:#fff;background:var(--text)}.ingredient-source-tabs button.active svg{color:inherit}html[data-theme=dark] .ingredient-source-tabs button.active,html[data-theme=dark] .ingredient-search-kind button.active{color:#000}.ingredient-source-pane{display:grid;gap:10px}.ingredient-search-kind{display:flex;gap:6px}.ingredient-search-box .food-search-controls input,.ingredient-search-box .food-search-results{background:var(--surface)}.menu-ingredient-library{overflow:hidden;border-radius:var(--radius-inner);background:var(--surface)}.menu-ingredient-library button{width:100%;border:0;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);background:transparent;text-align:left}.menu-ingredient-library button+button{border-top:1px solid var(--hairline)}.menu-ingredient-library button>span{display:flex;align-items:center;gap:10px;min-width:0}.menu-ingredient-library button>span:last-child{flex-direction:column;align-items:flex-end;gap:0}.menu-ingredient-library svg{width:20px;height:20px;color:var(--energy)}.menu-ingredient-library span span{display:flex;flex-direction:column}.menu-ingredient-library strong{font-size:14px;font-weight:500}.menu-ingredient-library small{color:var(--text-2);font-size:12px}.menu-ingredient-library button>span:last-child small{color:var(--accent)}.ingredient-pane-empty{padding:20px;display:grid;justify-items:center;gap:4px;color:var(--text-2);font-size:13px;text-align:center}.ingredient-pane-empty svg{width:26px;height:26px;color:var(--text-3)}.ingredient-pane-empty strong{color:var(--text)}.barcode-ingredient-copy{display:flex;gap:10px}.barcode-ingredient-copy svg{width:24px;height:24px;color:var(--accent)}.barcode-ingredient-copy div{display:flex;flex-direction:column}.barcode-ingredient-copy strong{font-size:14px}.barcode-ingredient-copy span{color:var(--text-2);font-size:12.5px}.barcode-ingredient-pane .food-search-controls{flex-wrap:wrap}.barcode-ingredient-pane .food-search-controls input{flex-basis:100%}.barcode-ingredient-pane .food-search-controls .button{flex:1}.manual-nutrient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ingredient-search-box .field input,.ingredient-search-box .field select{background:var(--surface)}.manual-ingredient-add{justify-self:start}.ai-food-intro{display:flex;gap:10px}.ai-food-intro>span{width:36px;height:36px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--app-growth)}.ai-food-intro>span svg{width:19px;height:19px}.ai-food-intro div{display:flex;flex-direction:column}.ai-food-intro strong{font-size:14px}.ai-food-intro small{color:var(--text-2);font-size:12.5px;line-height:1.5}.ai-food-inputs{display:grid;gap:10px}.ai-photo-picker{padding:10px;border-radius:var(--radius-inner);display:flex;gap:12px;background:var(--surface)}.ai-photo-picker img,.ai-photo-placeholder{width:84px;height:84px;flex:0 0 auto;border-radius:10px;object-fit:cover}.ai-photo-placeholder{padding:24px;color:var(--text-3);background:var(--surface-2)}.ai-photo-picker-copy{min-width:0;display:flex;flex-direction:column;gap:8px}.ai-photo-picker-copy>span{display:flex;flex-direction:column}.ai-photo-picker-copy strong{font-size:14px}.ai-photo-picker-copy small{color:var(--text-2);font-size:12px;line-height:1.45}.ai-photo-source-actions{display:flex;flex-wrap:wrap;gap:6px}.ai-photo-source-button{position:relative;min-height:34px;padding:0 12px;border-radius:99px;display:inline-flex;align-items:center;gap:5px;color:var(--accent);background:var(--accent-soft);font-size:13px;font-weight:600;cursor:pointer}.ai-photo-source-button svg{width:15px;height:15px}.ai-photo-source-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.ai-analyze-button{justify-self:start}.ai-estimate-review{padding:12px;border-radius:var(--radius-inner);display:grid;gap:10px;background:var(--surface)}.ai-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-review-head div{display:flex;flex-direction:column}.ai-review-head strong{font-size:14px}.ai-review-head small{color:var(--text-2);font-size:12px}.ai-confidence{padding:4px 10px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap}.ai-confidence.high{color:var(--pos);background:color-mix(in srgb,var(--pos) 12%,transparent)}.ai-confidence.medium{color:var(--bodyfat);background:color-mix(in srgb,var(--bodyfat) 14%,transparent)}.ai-confidence.low{color:var(--neg);background:color-mix(in srgb,var(--neg) 11%,transparent)}.ai-portion-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.ai-estimate-review .field input{background:var(--surface-2)}.ai-assumptions{color:var(--text-2);font-size:12.5px}.ai-assumptions strong{color:var(--text);font-size:13px}.ai-assumptions ul{margin:4px 0 0;padding-left:18px}.ai-review-warning{padding:9px 12px;border-radius:10px;color:var(--bodyfat);background:color-mix(in srgb,var(--bodyfat) 11%,transparent);font-size:12.5px;line-height:1.5}.ai-confirm-button{justify-self:start}.ingredient-list{overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-card)}.ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 84px auto;grid-template-areas:"copy copy copy del" "qty unit kcal kcal";align-items:center;gap:6px 8px;padding:10px 12px}.ingredient-row+.ingredient-row{border-top:1px solid var(--hairline)}.ingredient-row-copy{grid-area:copy;min-width:0;display:flex;flex-direction:column}.ingredient-row-copy strong{font-size:14.5px;font-weight:500}.ingredient-row-copy small{color:var(--text-2);font-size:12px}.ingredient-row input{min-width:0;min-height:38px;border:1px solid transparent;border-radius:10px;padding:0 10px;background:var(--surface-2);font-size:16px;outline:none}.ingredient-row input:focus{border-color:var(--accent)}.ingredient-qty{grid-area:qty}.ingredient-unit{grid-area:unit}.ingredient-kcal{grid-area:kcal;display:flex;align-items:center;gap:6px}.ingredient-kcal input{width:86px}.ingredient-kcal small{color:var(--text-2);font-size:12px}.ingredient-row .icon-btn{grid-area:del;background:transparent}.menu-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-totals div,.menu-micronutrient-totals span{padding:10px 12px;border-radius:var(--radius-inner);display:flex;flex-direction:column;background:var(--surface-2)}.menu-totals div:first-child{grid-column:span 2;color:#fff;background:var(--energy)}.menu-totals div:first-child small{color:#ffffffd9}.menu-totals small,.menu-micronutrient-totals small{color:var(--text-2);font-size:12px}.menu-totals strong{font:600 17px/1.3 var(--font-num)}.menu-micronutrient-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.menu-micronutrient-totals strong{font:500 14px/1.3 var(--font-num)}.barcode-scanner{display:grid;gap:12px;padding:16px 16px calc(env(safe-area-inset-bottom) + 18px)}.barcode-scanner-tabs{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:12px;background:var(--surface-2)}.barcode-scanner-tabs button{min-height:38px;border:0;border-radius:10px;color:var(--text-2);background:transparent;font-weight:500}.barcode-scanner-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 1px 3px #0000001a;font-weight:600}.barcode-scanner-frame{position:relative;overflow:hidden;aspect-ratio:4 / 3;border-radius:var(--radius-card);background:#000}.barcode-scanner-frame video{width:100%;height:100%;object-fit:cover}.barcode-scanner-reticle{position:absolute;top:22%;right:12%;bottom:22%;left:12%;border:2px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 999px #00000059}.barcode-scanner-error{min-height:200px;padding:20px;border-radius:var(--radius-card);display:grid;place-content:center;justify-items:center;gap:6px;color:var(--text-2);background:var(--surface-2);text-align:center;font-size:13.5px}.barcode-upload-zone{position:relative;min-height:180px;padding:20px;border:1.5px dashed var(--text-3);border-radius:var(--radius-card);display:grid;place-content:center;justify-items:center;gap:6px;color:var(--text-2);text-align:center;cursor:pointer}.barcode-upload-zone strong{color:var(--text)}.barcode-upload-input{position:absolute;width:1px;height:1px;opacity:0}.barcode-upload-status{color:var(--accent);font-size:13px}.barcode-upload-error{margin:0;color:var(--neg);font-size:13px}.barcode-scanner-hint{margin:0;color:var(--text-3);font-size:12px;line-height:1.5}@media (min-width: 640px){.manual-nutrient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.menu-totals{grid-template-columns:repeat(5,minmax(0,1fr))}.menu-totals div:first-child{grid-column:auto}.menu-micronutrient-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.ingredient-row{grid-template-columns:minmax(0,1fr) 72px 110px 120px auto;grid-template-areas:"copy qty unit kcal del"}.tdee-calculator-result{grid-template-columns:repeat(3,minmax(0,1fr))}.tdee-calculator-result span:nth-child(3){grid-column:auto}.nutrition-template-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.nutrition-template-preview .button{grid-column:span 4;justify-self:start}}@media (min-width: 900px){.food-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.food-cards>*{grid-column:auto}.food-cards>:last-child{grid-column:span 2}.food-row{grid-template-columns:28px minmax(0,1fr) auto auto;grid-template-areas:"icon copy kcal actions"}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.menus-page{max-width:1040px}}@media (min-width: 1180px){.food-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr)}.food-side>.section-title:first-child{margin-top:0}.food-side .vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.food-lookup-panel,.food-lookup-pane,.ingredient-search-box,.ingredient-source-pane,.nutrition-template-panel,.ai-food-inputs,.ai-estimate-review,.barcode-scanner,.meal-list,.menu-card{grid-template-columns:minmax(0,1fr)}.health-dashboard-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.health-range-tabs{flex:1 1 260px}.health-source-group{margin-bottom:4px}.health-source-row{display:flex!important;align-items:flex-start}.health-source-row small.ok{color:var(--pos);font-weight:500}.banner-close{margin-left:auto;width:28px;height:28px;border:0;border-radius:50%;display:grid;place-items:center;color:inherit;background:transparent}.banner-close svg{width:14px;height:14px}.success-banner span{flex:1}.health-devices{display:grid;gap:10px;margin-top:10px}.health-device-card{padding:14px;border-radius:var(--radius-card);display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:4px 12px;background:var(--surface);box-shadow:var(--card-shadow)}.health-device-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--text-2);background:var(--surface-2)}.health-device-icon svg{width:21px;height:21px}.health-device-card>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.health-device-card small{color:var(--text-2);font-size:12px}.health-device-card strong{font-size:15px;font-weight:600}.health-device-card p{margin:0;color:var(--text-3);font-size:12px}.health-battery{display:flex;flex-direction:column;align-items:flex-end}.health-battery svg{width:20px;height:20px;color:var(--pos)}.health-battery strong{font:600 16px/1.2 var(--font-num)}.health-device-features{grid-column:1 / -1;color:var(--text-2);font-size:12.5px}.health-device-features summary{cursor:pointer;padding-top:6px}.health-device-features div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.health-device-features span{padding:3px 9px;border-radius:99px;background:var(--surface-2);font-size:11.5px;text-transform:lowercase}.health-metric-grid,.health-loading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.health-loading-grid{margin-top:22px}.health-metric-card{min-width:0;padding:14px;display:flex;flex-direction:column;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--card-shadow)}.health-metric-card .metric-value strong{font-size:26px}.health-metric-card .metric-sub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.health-metric-card .health-compact-chart{margin-top:auto;padding-top:10px}.health-card-expand{width:28px;height:28px;flex:0 0 auto;border:0;border-radius:50%;display:grid;place-items:center;color:var(--text-3);background:transparent}.health-card-expand svg{width:15px;height:15px}.health-card-expand:hover{color:var(--text);background:var(--surface-2)}.health-compact-chart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px}.health-compact-y{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:18px;color:var(--text-3);font:500 10px/1 var(--font-num);text-align:right}.health-compact-plot{min-width:0}.health-sparkline{display:block;width:100%;height:54px;overflow:visible}.health-sparkline-major{stroke:var(--hairline);stroke-width:1;vector-effect:non-scaling-stroke}.health-sparkline-major.vertical{stroke-dasharray:2 3}.health-sparkline-minor{stroke:var(--hairline);vector-effect:non-scaling-stroke}.health-sparkline polyline{vector-effect:non-scaling-stroke;stroke-width:2.25}.health-compact-x{display:flex;justify-content:space-between;margin-top:4px;color:var(--text-3);font-size:10px;line-height:1.4;white-space:nowrap}.health-compact-x span:not(:first-child):not(:last-child){display:none}.health-trend-panel .health-compact-x span{display:inline!important}.health-no-chart{color:var(--text-3);font-size:12px}.health-two-column{display:grid;gap:12px}.health-trend-title{display:flex;align-items:center;gap:10px}.health-trend-title>span{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,transparent)}.health-trend-title>span svg{width:19px;height:19px}.health-trend-panel-actions{display:flex;align-items:center;gap:8px}.health-trend-panel-actions strong{font:600 18px/1 var(--font-num);white-space:nowrap}.health-trend-panel .health-sparkline{height:90px}.health-sleep-panel{margin-bottom:12px}.health-section-head-actions{display:flex;align-items:center;gap:6px}.health-section-badge{min-height:26px;padding:0 10px;border-radius:99px;display:inline-flex;align-items:center;gap:5px;color:var(--text-2);background:var(--surface-2);font-size:12px;white-space:nowrap}.health-section-badge svg{width:14px;height:14px}.health-sleep-summary{display:grid;gap:14px}.health-sleep-total{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"icon label" "icon value" "note note";column-gap:12px}.health-sleep-total>span{grid-area:icon;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--sleep);background:color-mix(in srgb,var(--sleep) 13%,transparent)}.health-sleep-total>span svg{width:22px;height:22px}.health-sleep-total small{grid-area:label;color:var(--text-2);font-size:12.5px}.health-sleep-total strong{grid-area:value;font:600 24px/1.2 var(--font-num)}.health-sleep-total p{grid-area:note;margin:6px 0 0;color:var(--text-2);font-size:12.5px}.health-stage-bar{height:12px;display:flex;gap:2px;overflow:hidden;border-radius:9px;background:var(--track)}.health-stage-bar i{height:100%}.health-stage-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:10px;font-size:12.5px;color:var(--text-2)}.health-stage-legend span{display:flex;align-items:center;gap:6px}.health-stage-legend i{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.health-stage-legend strong{margin-left:auto;color:var(--text);font:600 13px/1 var(--font-num)}.health-stage-legend p{grid-column:1 / -1;margin:0;color:var(--text-3)}.health-sleep-trend small{color:var(--text-2);font-size:12.5px}.health-session-list{margin-top:12px}.health-session-list>div,.health-exercise-list>div{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--hairline)}.health-session-icon,.health-exercise-icon{width:32px;height:32px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center}.health-session-icon{color:var(--sleep);background:color-mix(in srgb,var(--sleep) 13%,transparent)}.health-exercise-icon{color:var(--exercise);background:color-mix(in srgb,var(--exercise) 13%,transparent)}.health-session-icon svg,.health-exercise-icon svg{width:17px;height:17px}.health-session-list>div>div,.health-exercise-list>div>div{flex:1;min-width:0;display:flex;flex-direction:column}.health-session-list strong,.health-exercise-list>div>div strong{font-size:14.5px;font-weight:500}.health-session-list small,.health-exercise-list small{color:var(--text-2);font-size:12px}.health-session-list>div>span:last-child{color:var(--text-3);font-size:12px}.health-exercise-list>div>span:not(.health-exercise-icon){min-width:0;display:flex;flex-direction:column}.health-exercise-list>div>span strong{font:600 14px/1.3 var(--font-num)}.health-exercise-list>div:not(.empty-state){display:grid;grid-template-columns:32px repeat(3,minmax(0,1fr));column-gap:12px;row-gap:6px}.health-exercise-list>div:not(.empty-state)>div{grid-column:2 / -1}.health-exercise-list>div>span:nth-of-type(2){grid-column:2}.health-exercise-list .empty-state{border-top:0}.apple-health-data-list{margin-top:12px}.apple-health-data-header,.apple-health-data-row{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr;gap:8px;padding:9px 0;font-size:13px}.apple-health-data-header{color:var(--text-3);font-size:12px}.apple-health-data-row{border-top:1px solid var(--hairline)}.apple-health-data-row span{font-family:var(--font-num)}.health-expanded-graph{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px 16px calc(env(safe-area-inset-bottom) + 20px)}.health-expanded-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.health-expanded-nav strong{font:600 15px/1.3 var(--font-num);text-align:center}.health-expanded-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.health-expanded-summary span{min-width:0;padding:10px 12px;border-radius:var(--radius-inner);display:flex;flex-direction:column;background:var(--surface-2)}.health-expanded-summary small{color:var(--text-2);font-size:12px}.health-expanded-summary strong{font:600 16px/1.3 var(--font-num)}.health-expanded-loading{height:230px;border-radius:var(--radius-card);background:linear-gradient(100deg,var(--surface-2) 30%,var(--track) 50%,var(--surface-2) 70%) 0 0 / 300% 100%;animation:lt-shimmer 1.3s linear infinite}.health-insight-chart{display:block;width:100%;height:auto;overflow:visible}.health-insight-chart text{fill:var(--text-3);font:500 21px var(--font-num)}.health-chart-major-grid{stroke:var(--hairline)}.health-chart-major-grid.vertical{stroke-dasharray:3 4}.health-chart-major-tick,.health-chart-minor-tick,.health-chart-axis{stroke:var(--text-3);stroke-opacity:.5}.health-chart-line{fill:none;stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round}.health-chart-line-shadow{fill:none;stroke:var(--surface);stroke-width:6}.health-chart-goal{stroke:var(--text-2);stroke-dasharray:5 5}.health-axis-caption{display:flex;justify-content:space-between;gap:10px;color:var(--text-3);font-size:11.5px}.health-cache-note{margin:0;color:var(--text-3);font-size:12px}.health-insight-empty{min-height:160px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-3);font-size:13px}.health-feature-settings{padding:8px 16px calc(env(safe-area-inset-bottom) + 18px);display:flex;flex-direction:column}.health-feature-settings label{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--hairline);cursor:pointer}.health-feature-settings label span{display:flex;flex-direction:column}.health-feature-settings strong{font-size:15px;font-weight:500}.health-feature-settings small{color:var(--text-2);font-size:12px}.health-feature-settings .modal-actions{padding-top:14px}.health-category-tabs{display:flex;gap:6px;margin:0 -16px 12px;padding:0 16px 2px;overflow-x:auto;scrollbar-width:none}.health-category-tabs::-webkit-scrollbar{display:none}.health-category-tabs button{flex:0 0 auto;min-height:34px;border:0;border-radius:99px;padding:0 14px;color:var(--text-2);background:var(--surface-2);font:500 13.5px/1 var(--font-body)}.health-category-tabs button.active{color:#fff;background:var(--text)}html[data-theme=dark] .health-category-tabs button.active{color:#000}.health-explorer-loading{min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-2);font-size:13.5px}.health-explorer-loading svg{width:18px;height:18px;color:var(--accent)}.health-data-header{display:none}.health-data-table details{border-top:1px solid var(--hairline)}.health-data-table summary{padding:11px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;list-style:none;cursor:pointer}.health-data-table summary::-webkit-details-marker{display:none}.health-data-table summary>span:first-child{display:flex;flex-direction:column;min-width:0}.health-data-table summary strong{font-size:14.5px;font-weight:500}.health-data-table summary small{overflow:hidden;color:var(--text-3);font-size:11.5px;text-overflow:ellipsis}.health-data-table summary>span:nth-child(3){grid-row:1;grid-column:2;align-self:center;font:600 15px/1 var(--font-num);white-space:nowrap}.health-data-table summary>span:nth-child(2),.health-data-table summary>span:nth-child(4),.health-data-table summary>span:nth-child(5){color:var(--text-2);font-size:12px}.health-data-table summary>span:nth-child(2){display:none}.health-data-table summary>span:nth-child(4):before{content:"จุดข้อมูล "}.health-data-table summary>span:nth-child(5){grid-column:2;text-align:right}.health-data-fields{padding:4px 0 12px;display:grid;gap:4px}.health-data-fields div{padding:7px 10px;border-radius:9px;display:flex;justify-content:space-between;gap:10px;background:var(--surface-2);font-size:12.5px}.health-data-fields span{color:var(--text-2);word-break:break-all}.health-data-fields strong{font-family:var(--font-num);text-align:right;word-break:break-all}.health-data-fields p{margin:0;color:var(--text-3);font-size:12.5px}@media (min-width: 900px){.health-dashboard-page,.health-explorer-page{max-width:1180px}.health-range-tabs{flex:0 0 360px}.health-source-group{max-width:760px}.health-devices{grid-template-columns:repeat(2,minmax(0,1fr))}.health-metric-grid,.health-loading-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.health-metric-card{padding:18px}.health-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.health-sleep-summary{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);align-items:start}.health-category-tabs{margin:0 0 12px;padding:0;flex-wrap:wrap}.health-exercise-list>div:not(.empty-state){grid-template-columns:32px minmax(0,1fr) repeat(3,110px)}.health-exercise-list>div:not(.empty-state)>div{grid-column:2}.health-exercise-list>div>span:nth-of-type(2){grid-column:3}.health-data-header{display:grid;grid-template-columns:minmax(0,2fr) 90px 1fr 90px 1fr;gap:10px;padding:8px 0;color:var(--text-3);font-size:12px}.health-data-table summary{grid-template-columns:minmax(0,2fr) 90px 1fr 90px 1fr;align-items:center}.health-data-table summary>span:nth-child(n){grid-row:auto;grid-column:auto;text-align:left}.health-data-table summary>span:nth-child(2){display:inline-flex;color:var(--pos);font-weight:500}.health-data-table summary>span:nth-child(4):before{content:none}.health-expanded-graph{padding:20px 24px 24px}.health-insight-chart text{font-size:11px}}.trend-chart{position:relative;width:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none}.trend-chart svg{display:block;width:100%;height:auto;overflow:visible}.trend-chart-empty{padding:28px 12px;text-align:center;color:var(--text-3);font-size:13px}.trend-grid line{stroke:var(--hairline);stroke-width:1}.trend-grid text,.trend-x{fill:var(--text-3);font:500 11px/1 var(--font-num)}.trend-chart.compact .trend-grid text,.trend-chart.compact .trend-x{font-size:10px}.trend-line{fill:none;stroke:var(--chart-color);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--surface);stroke:var(--chart-color);stroke-width:2}.trend-bar{fill:color-mix(in srgb,var(--chart-color) 55%,transparent)}.trend-bar.met{fill:var(--chart-color)}.trend-bar.active{fill:var(--chart-color);stroke:var(--text);stroke-width:1}.trend-goal line{stroke:var(--text-2);stroke-width:1.4;stroke-dasharray:5 4}.trend-goal text{fill:var(--text-2);font:600 11px/1 var(--font-num);paint-order:stroke;stroke:var(--surface);stroke-width:3px}.trend-extreme{fill:var(--text-2);font:600 10.5px/1 var(--font-num);paint-order:stroke;stroke:var(--surface);stroke-width:3px}.trend-cursor line{stroke:var(--text-3);stroke-width:1}.trend-cursor circle{fill:var(--chart-color);stroke:var(--surface);stroke-width:2}.trend-tooltip{position:absolute;top:0;transform:translate(-50%,-100%);padding:6px 10px;border-radius:10px;display:grid;gap:1px;text-align:center;white-space:nowrap;pointer-events:none;background:var(--text);color:var(--surface);box-shadow:var(--card-shadow);z-index:2}.trend-tooltip small{font-size:11px;opacity:.8}.trend-tooltip strong{font:700 15px/1.2 var(--font-num)}.trend-tooltip em{font-style:normal;font-weight:500;font-size:11px;opacity:.8}.hypnogram{display:block;width:100%;height:auto;margin:12px 0 4px}.hypnogram text{fill:var(--text-3);font:500 11px/1 var(--font-num)}.hypnogram-grid{stroke:var(--hairline)}.sleep-nights{--bar-area: 96px;position:relative;margin:14px 0 6px;height:calc(var(--bar-area) + 18px);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;align-items:end}.sleep-nights>span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.sleep-night-bar{width:100%;max-width:22px;max-height:var(--bar-area);border-radius:6px;overflow:hidden;display:flex;flex-direction:column-reverse}.sleep-night-bar i{display:block;min-height:2px}.sleep-nights small{font:500 10.5px/1 var(--font-num);color:var(--text-3);height:14px}.sleep-goal-line{position:absolute;left:0;right:0;height:0;border-top:1.4px dashed var(--text-2);pointer-events:none}.health-show-all{margin-top:10px}.health-trend-panel .panel-head{flex-wrap:wrap;row-gap:8px}.health-trend-panel .health-trend-title{min-width:0;flex:1 1 200px}.health-trend-panel-actions{margin-left:auto}.health-stage-legend span{white-space:nowrap}@media (max-width: 520px){.health-stage-legend{grid-template-columns:minmax(0,1fr)}}.app-sections{margin-bottom:14px}.finance-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.balance-hero,.wealth-card{padding:18px}.balance-hero>small,.wealth-card>small{color:var(--text-2);font-size:13.5px}.balance-figure{display:block;margin:2px 0;font:600 38px/1.15 var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.balance-figure.neg{color:var(--neg)}.balance-hero>p,.wealth-card>p{margin:0;color:var(--text-3);font-size:12.5px}.balance-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.balance-stats>div{min-width:0;padding:11px 12px;border-radius:var(--radius-inner);display:flex;flex-direction:column;background:var(--surface-2)}.balance-stats>div:last-child{grid-column:span 2;flex-direction:row;align-items:baseline;justify-content:space-between}.balance-stats span{display:flex;align-items:center;gap:4px;color:var(--text-2);font-size:12.5px}.balance-stats span svg{width:14px;height:14px;color:var(--tone)}.balance-stats b{font:600 19px/1.3 var(--font-num);font-variant-numeric:tabular-nums}.balance-stats small{color:var(--text-3);font-size:11.5px}.chart-legend{display:flex;gap:12px;color:var(--text-2);font-size:12px;white-space:nowrap}.chart-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i{width:8px;height:8px;border-radius:50%}.income-dot{background:var(--app-finance)}.expense-dot{background:var(--energy)}.bar-chart{height:170px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;gap:4px}.bar-group{height:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}.bars i{width:min(8px,40%);border-radius:9px 9px 3px 3px}.income-bar{background:var(--app-finance)}.expense-bar{background:var(--energy)}.bar-group:not(.current) .bars i{opacity:.45}.bar-group small{color:var(--text-3);font-size:11px;line-height:1.2}.bar-group.current small{color:var(--text);font-weight:600}.donut-layout{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:16px}.donut{position:relative;width:168px;height:168px;border-radius:50%;display:grid;place-items:center}.donut:before{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;border-radius:50%;background:var(--surface)}.donut span{position:relative;display:flex;flex-direction:column;align-items:center}.donut small{color:var(--text-2);font-size:12px}.donut strong{font:600 18px/1.2 var(--font-num)}.category-list{width:100%}.category-list>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto 44px;align-items:center;gap:10px;padding:8px 0;font-size:14px}.category-list>div+div{border-top:1px solid var(--hairline)}.category-list i{width:10px;height:10px;border-radius:3px}.category-list b{font:500 14px/1 var(--font-num)}.category-list strong{color:var(--text-2);font:500 13px/1 var(--font-num);text-align:right}.transaction-day h3{margin:16px 4px 8px;color:var(--text-2);font:500 13px/1.4 var(--font-body)}.transaction-day:first-child h3{margin-top:2px}.transaction-list{padding:0;overflow:hidden}.transaction-row{display:flex;align-items:center;padding-right:8px}.transaction-row+.transaction-row{border-top:1px solid var(--hairline)}.transaction-open{flex:1;min-width:0;border:0;padding:12px 6px 12px 14px;display:flex;align-items:center;gap:12px;color:var(--text);background:transparent;text-align:left}.transaction-open:active{background:var(--surface-press)}.transaction-icon{width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center}.transaction-icon svg{width:17px;height:17px}.transaction-icon.income{color:var(--pos);background:color-mix(in srgb,var(--pos) 13%,transparent)}.transaction-icon.expense{color:var(--energy);background:color-mix(in srgb,var(--energy) 13%,transparent)}.transaction-main{flex:1;min-width:0;display:flex;flex-direction:column}.transaction-main strong{overflow:hidden;font-size:15px;font-weight:500;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.transaction-main small{color:var(--text-2);font-size:12.5px}.transaction-main em{margin-left:6px;display:inline-flex;align-items:center;gap:2px;color:var(--accent);font-style:normal}.transaction-main em svg{width:11px;height:11px}.transaction-amount{font:600 16px/1 var(--font-num);white-space:nowrap}.transaction-amount.income{color:var(--pos)}.transaction-row .icon-btn{width:32px;height:32px;background:transparent}.segment-control button.active.expense{color:var(--energy)}.segment-control button.active.income{color:var(--pos)}.finance-debt{display:grid;grid-template-columns:minmax(0,1fr)}.wealth-toggle{margin-top:14px;padding:10px 12px;border-radius:var(--radius-inner);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);cursor:pointer}.wealth-toggle.disabled{opacity:.6;cursor:default}.wealth-toggle>span:first-child{display:flex;flex-direction:column}.wealth-toggle strong{font-size:14.5px;font-weight:500}.wealth-toggle small{color:var(--text-2);font-size:12px}.wealth-breakdown{margin:12px 0 0}.wealth-breakdown div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--hairline)}.wealth-breakdown dt{display:flex;flex-direction:column;color:var(--text-2);font-size:13.5px}.wealth-breakdown dt small{color:var(--text-3);font-size:11.5px}.wealth-breakdown dd{margin:0;font:600 16px/1.2 var(--font-num);white-space:nowrap}.section-title h2 small{margin-left:8px;color:var(--text-3);font:400 12.5px/1 var(--font-body)}.loan-card-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.loan-card{display:grid;gap:12px}.loan-card-head{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:6px 12px}.loan-card-head .loan-wealth-status{grid-column:2;justify-self:start}.loan-card-head .row-icon{width:38px;height:38px;border-radius:12px}.loan-card-head .row-icon svg{width:20px;height:20px}.loan-card-head>div{min-width:0;display:flex;flex-direction:column}.loan-card-head strong{font:600 15.5px/1.35 var(--font-head)}.loan-card-head small{color:var(--text-2);font-size:12.5px}.loan-wealth-status.included{color:var(--neg);background:color-mix(in srgb,var(--neg) 10%,transparent)}.loan-balance-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.loan-balance-row span{display:flex;flex-direction:column}.loan-balance-row span:last-child{align-items:flex-end}.loan-balance-row small{color:var(--text-2);font-size:12px}.loan-balance-row strong{font:600 24px/1.2 var(--font-num)}.loan-balance-row b{color:var(--pos);font:600 15px/1.2 var(--font-num)}.loan-card-meta{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.loan-card-meta div{min-width:0;padding:8px 10px;border-radius:10px;background:var(--surface-2)}.loan-card-meta dt{color:var(--text-2);font-size:11.5px}.loan-card-meta dd{margin:0;font:600 13.5px/1.35 var(--font-num);overflow-wrap:anywhere}.loan-card-actions{display:flex;align-items:center;justify-content:space-between}.loan-class-control button{min-height:60px;flex-direction:column;gap:1px}.loan-class-control button small{color:var(--text-3);font-size:11.5px;font-weight:400}.loan-class-control button.active.standard svg{color:var(--app-growth)}.loan-class-control button.active.large svg{color:var(--accent)}.loan-form-note{align-items:flex-start}.loan-form-note span{display:flex;flex-direction:column}.loan-form-note strong{color:var(--text);font-size:13.5px}.loan-form-note small{font-size:12.5px}.tax-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:16px 16px calc(env(safe-area-inset-bottom) + 20px)}.tax-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.tax-inputs h3{margin:4px 0 0;font:600 15px/1.4 var(--font-head)}.tax-disclaimer{margin:0;color:var(--text-3);font-size:12px;line-height:1.5}.tax-result{padding:14px;border-radius:var(--radius-card);background:var(--surface-2)}.tax-result-hero{display:flex;flex-direction:column;margin-bottom:12px}.tax-result-hero small{color:var(--text-2);font-size:13px}.tax-result-hero strong{font:600 32px/1.2 var(--font-num)}.tax-result-hero span{color:var(--accent);font-size:13px;font-weight:500}.tax-math div,.tax-bands div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--hairline);font-size:13.5px}.tax-math span,.tax-bands span{color:var(--text-2)}.tax-math strong,.tax-bands strong{font:600 14px/1.3 var(--font-num);white-space:nowrap}.tax-math .total span{color:var(--text);font-weight:600}.tax-bands h4{margin:14px 0 4px;font:600 14px/1.4 var(--font-head)}.tax-placeholder{min-height:200px;display:grid;place-content:center;justify-items:center;gap:4px;color:var(--text-2);text-align:center;font-size:13px}.tax-placeholder svg{width:30px;height:30px;color:var(--text-3)}.tax-placeholder strong{color:var(--text);font-size:14.5px}.tax-placeholder p{max-width:280px;margin:0;line-height:1.5}@media (min-width: 900px){.finance-page{max-width:1120px}.app-sections{max-width:420px}.finance-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.balance-hero{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"label stats" "figure stats" "note stats";align-content:center;column-gap:24px;padding:24px}.balance-hero>small{grid-area:label}.balance-hero .balance-figure{grid-area:figure;font-size:46px}.balance-hero>p{grid-area:note}.balance-stats{grid-area:stats;margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}.balance-stats>div:last-child{grid-column:auto;flex-direction:column}.donut-layout{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px}.transaction-panel{max-width:760px}.finance-debt{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:start}.finance-debt .wealth-card{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}.finance-debt .wealth-card>small,.finance-debt .wealth-card>strong,.finance-debt .wealth-card>p,.finance-debt .wealth-card>label{grid-column:1}.finance-debt .wealth-breakdown{grid-column:2;grid-row:1 / span 4;margin:0}.finance-debt .section-title,.finance-debt .loan-card-list{grid-column:span 2}.finance-debt .loan-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.loan-card-head{grid-template-columns:38px minmax(0,1fr) auto}.loan-card-head .loan-wealth-status{grid-column:3}.tax-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding:20px 24px 24px;align-items:start}}.project-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.project-thumbnail{width:100%;border:0;display:grid;gap:12px;color:var(--text);text-align:left}.project-thumbnail:active{background:var(--surface-press)}.project-thumbnail-top{display:flex;align-items:center;gap:12px}.project-icon{width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--project-color)}.project-icon svg{width:21px;height:21px}.project-thumbnail-copy{flex:1;min-width:0;display:flex;flex-direction:column}.project-thumbnail-copy strong{font:600 16px/1.35 var(--font-head)}.project-thumbnail-copy small{overflow:hidden;color:var(--text-2);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.project-mini-board{display:flex;flex-wrap:wrap;gap:6px}.project-mini-column{min-height:28px;padding:0 10px;border-radius:99px;display:inline-flex;align-items:center;gap:6px;color:var(--text-2);background:var(--surface-2);font-size:12.5px}.project-mini-column i{width:8px;height:8px;border-radius:50%}.project-mini-column b{color:var(--text);font:600 13px/1 var(--font-num)}.project-thumbnail-meta{display:grid;gap:6px}.project-thumbnail-meta>span{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:12.5px}.project-thumbnail-meta em{padding:2px 8px;border-radius:99px;color:var(--project-color);background:color-mix(in srgb,var(--project-color) 13%,transparent);font-size:11.5px;font-style:normal;font-weight:600}.project-thumbnail-new{min-height:120px;padding:16px;border:1.5px dashed color-mix(in srgb,var(--text-3) 60%,transparent);border-radius:var(--radius-card);display:grid;place-content:center;justify-items:center;gap:2px;color:var(--accent);background:transparent;text-align:center}.project-thumbnail-new svg{width:24px;height:24px;margin-bottom:4px}.project-thumbnail-new strong{font-size:15px}.project-thumbnail-new small{color:var(--text-2);font-size:12.5px}.growth-summary{margin-bottom:14px;display:grid;gap:12px}.growth-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.growth-counts span{display:flex;flex-direction:column;color:var(--text-2);font-size:12.5px}.growth-counts span+span{padding-left:14px;border-left:1px solid var(--hairline)}.growth-counts strong{color:var(--text);font:600 26px/1.15 var(--font-num)}.growth-counts .done strong{color:var(--project-color)}.kanban-board{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;margin:0 -16px;padding:0 16px 8px;overflow-x:auto;scroll-snap-type:x mandatory;align-items:start;scroll-padding:0 16px;scrollbar-width:none}.kanban-board::-webkit-scrollbar{display:none}.kanban-column{min-width:0;padding:12px;border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 55%,var(--bg));border:1px solid var(--hairline);scroll-snap-align:start;transition:background .15s,border-color .15s}.kanban-column.drag-over{border-color:var(--accent);background:var(--accent-soft)}.kanban-column-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.kanban-column-head>i{width:10px;height:10px;border-radius:50%}.kanban-column-head h2{margin:0;font:600 15px/1.35 var(--font-head)}.kanban-column-head>span{min-width:24px;padding:2px 7px;border-radius:99px;color:var(--text-2);background:var(--surface-2);font:600 12px/1.3 var(--font-num);text-align:center}.kanban-column-head .icon-btn{margin-left:auto;width:30px;height:30px;background:var(--surface)}.kanban-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.kanban-card{padding:12px;border-radius:14px;display:grid;gap:6px;background:var(--surface);box-shadow:var(--card-shadow);cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}.kanban-card:hover{box-shadow:0 4px 16px #0f141e14}.kanban-card.dragging{opacity:.45}.card-grip{display:flex;align-items:center;justify-content:space-between;color:var(--text-3)}.card-grip svg{width:16px;height:16px;cursor:grab}.priority{padding:2px 8px;border-radius:99px;font-size:11.5px;font-weight:600}.priority.low{color:var(--text-2);background:var(--surface-2)}.priority.medium{color:var(--bodyfat);background:color-mix(in srgb,var(--bodyfat) 14%,transparent)}.priority.high{color:var(--neg);background:color-mix(in srgb,var(--neg) 11%,transparent)}.kanban-card h3{margin:0;font:500 15px/1.45 var(--font-body)}.kanban-card p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--text-2);font-size:13px;line-height:1.5}.task-tags{display:flex;flex-wrap:wrap;gap:4px}.task-tags span{padding:2px 8px;border-radius:99px;display:inline-flex;align-items:center;gap:3px;color:var(--app-growth);background:color-mix(in srgb,var(--app-growth) 11%,transparent);font-size:11.5px}.task-tags svg{width:11px;height:11px}.task-foot{display:flex;align-items:center;justify-content:space-between;color:var(--text-3);font-size:12px}.task-foot span{display:inline-flex;align-items:center;gap:4px}.task-foot svg{width:15px;height:15px}.task-foot .overdue{color:var(--neg);font-weight:600}.task-foot .done-check{color:var(--pos)}.add-task-button{min-height:40px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--text-2);background:transparent;font:500 14px/1 var(--font-body)}.add-task-button:hover{color:var(--accent);background:var(--surface)}.add-task-button svg{width:16px;height:16px}.quick-task{padding:10px;border-radius:14px;display:grid;gap:8px;background:var(--surface)}.quick-task textarea{width:100%;min-height:70px;border:1px solid transparent;border-radius:10px;padding:8px 10px;background:var(--surface-2);font-size:16px;resize:vertical;outline:none}.quick-task textarea:focus{border-color:var(--accent)}.quick-task>div{display:flex;align-items:center;justify-content:space-between}.kanban-cards .empty-state{min-height:120px}.project-color-field{display:flex;align-items:center;gap:10px}.project-color-field input[type=color]{width:46px;height:46px;padding:3px;border:0;border-radius:12px;background:var(--surface-2);cursor:pointer}.project-color-field span{color:var(--project-color);font-size:13px;font-weight:500}@media (min-width: 640px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 900px){.growth-page{max-width:1240px}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.growth-summary{max-width:520px}.kanban-board{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;overflow:visible}}.calendar-page{--ev-purple: var(--app-growth);--ev-blue: var(--accent);--ev-green: var(--app-finance);--ev-amber: var(--app-calendar);--ev-red: var(--app-health)}.calendar-page .purple,.calendar-detail-icon.purple{--ev: var(--ev-purple)}.calendar-page .blue,.calendar-detail-icon.blue{--ev: var(--ev-blue)}.calendar-page .green,.calendar-detail-icon.green{--ev: var(--ev-green)}.calendar-page .amber,.calendar-detail-icon.amber{--ev: var(--ev-amber)}.calendar-page .red,.calendar-detail-icon.red{--ev: var(--ev-red)}.calendar-toolbar{display:grid;gap:10px;margin-bottom:12px}.calendar-navigation{display:flex;align-items:center;gap:4px}.calendar-navigation h2{flex:1;margin:0;font:600 20px/1.3 var(--font-head)}.calendar-today-button{min-height:34px;border:0;border-radius:99px;padding:0 14px;color:var(--app-calendar);background:color-mix(in srgb,var(--app-calendar) 13%,transparent);font:600 13.5px/1 var(--font-body)}.calendar-navigation .date-step{background:var(--surface);box-shadow:var(--card-shadow)}.calendar-filters{display:flex;gap:6px;margin:0 -16px;padding:0 16px 2px;overflow-x:auto;scrollbar-width:none}.calendar-filters::-webkit-scrollbar{display:none}.calendar-filter{position:relative;flex:0 0 auto;min-height:32px;padding:0 12px;border-radius:99px;display:inline-flex;align-items:center;gap:6px;color:var(--text-3);background:var(--surface);box-shadow:var(--card-shadow);font-size:13px;font-weight:500;cursor:pointer}.calendar-filter input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.calendar-filter i{width:8px;height:8px;border-radius:50%;background:var(--text-3)}.calendar-filter.on{color:var(--text)}.calendar-filter.on.local i{background:var(--app-growth)}.calendar-filter.on.google i{background:var(--accent)}.calendar-filter.on.growth i{background:var(--app-calendar)}.calendar-filter.on.workout i{background:var(--app-finance)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.calendar-board{padding:10px 8px 12px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{padding-bottom:6px;color:var(--text-3);font-size:12px;text-align:center}.calendar-day{position:relative;min-width:0;min-height:50px;display:flex;flex-direction:column;align-items:center;padding:3px 0}.calendar-day-number{width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;color:var(--text);background:transparent;font:500 15px/1 var(--font-num)}.calendar-day-number:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.calendar-day.outside .calendar-day-number{color:var(--text-3)}.calendar-day.today .calendar-day-number{color:var(--app-calendar);font-weight:700}.calendar-day.selected .calendar-day-number{color:#fff;background:var(--app-calendar);font-weight:600}.calendar-day-events{height:8px;display:flex;justify-content:center;gap:3px;pointer-events:none}.calendar-event-chip{width:5px;height:5px;border:0;padding:0;overflow:hidden;border-radius:50%;color:transparent;background:var(--ev, var(--text-3));font-size:0}.calendar-event-chip.growth,.calendar-event-chip.workout{border-radius:1px}.calendar-event-chip time,.calendar-event-chip span,.calendar-event-chip svg{display:none}.calendar-more{display:none}.calendar-agenda{padding:14px}.calendar-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.calendar-agenda-head>div{display:flex;align-items:center;gap:12px;min-width:0}.calendar-agenda-head>div>span{width:46px;height:46px;flex:0 0 auto;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--app-calendar);font:600 22px/1 var(--font-num)}.calendar-agenda-head>div>div{min-width:0;display:flex;flex-direction:column}.calendar-agenda-head strong{font:600 16px/1.35 var(--font-head)}.calendar-agenda-head small{color:var(--text-2);font-size:12.5px}.calendar-agenda-list{display:flex;flex-direction:column}.agenda-event{width:100%;border:0;padding:11px 2px;display:flex;align-items:center;gap:12px;color:var(--text);background:transparent;text-align:left;border-top:1px solid var(--hairline)}.agenda-event>i{width:4px;align-self:stretch;border-radius:4px;background:var(--ev, var(--accent))}.agenda-event>div{flex:1;min-width:0;display:flex;flex-direction:column}.agenda-event strong{font-size:15px;font-weight:500;line-height:1.45}.agenda-event span{color:var(--text-2);font-size:12.5px}.agenda-event>svg{width:15px;height:15px;color:var(--accent)}.calendar-loading{padding:18px 0;color:var(--text-3);font-size:13px;text-align:center}.calendar-agenda-summary{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid var(--hairline);color:var(--text-2);font-size:13px}.calendar-agenda-summary strong{color:var(--text);font-family:var(--font-num)}.calendar-all-day,.google-sync-choice{min-height:56px;padding:10px 13px;border-radius:var(--radius-inner);display:flex;align-items:center;gap:12px;background:var(--surface-2);cursor:pointer}.calendar-all-day{align-self:end}.calendar-all-day span,.google-sync-choice>span:last-child{display:flex;flex-direction:column}.calendar-all-day strong,.google-sync-choice strong{font-size:14px;font-weight:500}.calendar-all-day small,.google-sync-choice small{color:var(--text-2);font-size:12px}.google-sync-choice.disabled{opacity:.6;cursor:default}.google-sync-choice-icon{width:32px;height:32px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft)}.google-sync-choice-icon svg{width:17px;height:17px}.calendar-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 16px calc(env(safe-area-inset-bottom) + 18px)}.calendar-detail-time{display:flex;align-items:center;gap:12px}.calendar-detail-icon{width:42px;height:42px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;color:#fff;background:var(--ev, var(--accent))}.calendar-detail-icon svg{width:22px;height:22px}.calendar-detail-time div{display:flex;flex-direction:column}.calendar-detail-time strong{font-size:15px;font-weight:600}.calendar-detail-time span{color:var(--text-2);font-size:13px}.calendar-detail-row{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:14px}.calendar-detail-row svg{width:17px;height:17px;color:var(--app-health)}.calendar-detail-description{padding:12px;border-radius:var(--radius-inner);background:var(--surface-2);font-size:14px;line-height:1.6;white-space:pre-wrap}.calendar-detail-source{display:flex;align-items:center;gap:10px;color:var(--text-2)}.calendar-detail-source svg{width:20px;height:20px;color:var(--accent)}.calendar-detail-source span{display:flex;flex-direction:column}.calendar-detail-source strong{color:var(--text);font-size:14px;font-weight:500}.calendar-detail-source small{font-size:12px}@media (min-width: 900px){.calendar-page{max-width:1280px}.calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendar-filters{margin:0;padding:0}.calendar-layout{grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.calendar-board{padding:12px}.calendar-weekdays span{text-align:left;padding-left:8px}.calendar-grid{border-top:1px solid var(--hairline)}.calendar-day{min-height:112px;align-items:stretch;padding:4px;border-bottom:1px solid var(--hairline)}.calendar-day:not(:nth-child(7n)){border-right:1px solid var(--hairline)}.calendar-day-number{width:28px;height:28px;font-size:13.5px}.calendar-day-number:after{content:none}.calendar-day.outside{background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.calendar-day-events{height:auto;flex-direction:column;justify-content:flex-start;gap:2px;margin-top:2px;pointer-events:auto}.calendar-event-chip{width:100%;height:auto;min-height:22px;padding:2px 6px;border-radius:6px;display:flex;align-items:center;gap:4px;color:var(--text);background:color-mix(in srgb,var(--ev, var(--text-3)) 14%,transparent);font-size:11.5px;line-height:1.3;text-align:left}.calendar-event-chip.growth,.calendar-event-chip.workout{border-radius:6px}.calendar-event-chip time{display:inline;color:var(--ev, var(--text-2));font:600 11px/1 var(--font-num)}.calendar-event-chip span{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip svg{display:inline;width:11px;height:11px;margin-left:auto;color:var(--accent)}.calendar-more{display:block;border:0;padding:0 6px;color:var(--text-2);background:transparent;font-size:11.5px;text-align:left}.calendar-agenda{position:sticky;top:24px;padding:18px}}.login-page{position:relative;min-height:100vh;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 64px) 16px 32px;display:grid;place-items:start center;background:var(--bg)}.login-theme-wrap{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:16px}.login-card{width:min(400px,100%);padding:24px 20px;border-radius:24px;background:var(--surface);box-shadow:var(--card-shadow)}.login-logo{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:22px;text-align:center}.login-mark{display:grid;grid-template-columns:repeat(2,28px);gap:5px;margin-bottom:12px}.login-logo strong{font:600 20px/1.3 var(--font-head)}.login-logo small{color:var(--text-2);font-size:12.5px}.login-card h1{margin:0;font:700 24px/1.3 var(--font-head)}.login-intro{margin:2px 0 16px;color:var(--text-2);font-size:14px}.login-form{display:grid;gap:14px}.login-form .button{margin-top:4px;min-height:48px;font-size:15px}.login-note{display:flex;align-items:flex-start;gap:8px;margin-top:18px;color:var(--text-3);font-size:12px;line-height:1.5}.login-note svg{width:14px;height:14px;margin-top:2px}.theme-picker{display:flex;align-items:center;gap:8px}.theme-picker-label{color:var(--text-2);font-size:13px}.theme-picker.compact .theme-picker-label{display:none}.theme-options{display:inline-flex;gap:2px;padding:3px;border-radius:99px;background:var(--surface);box-shadow:var(--card-shadow)}.theme-options button{min-height:32px;border:0;border-radius:99px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;color:var(--text-2);background:transparent;font:500 13px/1 var(--font-body)}.theme-options button.active{color:var(--text);background:var(--surface-2)}.theme-picker.compact .theme-options button{width:34px;padding:0;justify-content:center}.theme-picker.compact .theme-options button span{display:none}@media (min-width: 900px){.login-page{place-items:center;padding-top:32px}.login-card{padding:32px 30px}}.integration-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 16px calc(env(safe-area-inset-bottom) + 18px)}.integration-settings-heading{display:flex;align-items:flex-start;gap:10px;margin-top:4px}.integration-settings-heading>span{display:none}.integration-settings-heading strong{font:600 15.5px/1.4 var(--font-head)}.integration-settings-heading p{margin:2px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.5}.integration-heading-secondary{margin-top:10px}.health-source-options{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.health-source-options button{min-height:64px;border:1.5px solid transparent;border-radius:var(--radius-card);padding:10px 14px;display:flex;align-items:center;gap:12px;color:var(--text);background:var(--surface-2);text-align:left;transition:border-color .15s,background .15s}.health-source-options button>svg{width:24px;height:24px;color:var(--text-2)}.health-source-options button>span{flex:1;min-width:0;display:flex;flex-direction:column}.health-source-options strong{font-size:15px;font-weight:600}.health-source-options small{color:var(--text-2);font-size:12.5px}.health-source-options i{width:22px;height:22px;flex:0 0 auto;border-radius:50%;border:2px solid var(--text-3)}.health-source-options button.active{border-color:var(--accent);background:var(--accent-soft)}.health-source-options button.active>svg{color:var(--accent)}.health-source-options button.active i{border:7px solid var(--accent)}.integration-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.integration-card{padding:14px;border-radius:var(--radius-card);display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px 12px;background:var(--surface-2)}.integration-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--text-2);background:var(--surface)}.integration-icon svg{width:22px;height:22px}.integration-icon.connected{color:#fff;background:var(--pos)}.integration-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.integration-copy>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.integration-copy h3{margin:0;font:600 15px/1.4 var(--font-head)}.integration-status{padding:2px 8px;border-radius:99px;color:var(--text-2);background:var(--surface);font-size:11.5px;font-weight:500}.integration-status.connected{color:var(--pos);background:color-mix(in srgb,var(--pos) 13%,transparent)}.integration-copy p{margin:2px 0 0;color:var(--text-2);font-size:13px;line-height:1.5}.integration-copy small{color:var(--text-3);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.integration-copy .integration-error{color:var(--neg)}.integration-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.integration-actions .button{min-height:38px;padding:0 14px;font-size:13.5px}.integration-actions .button.secondary{background:var(--surface)}.integration-privacy-note{color:var(--text-3);font-size:12px;line-height:1.5}.password-form .success-banner{margin:0}@media (min-width: 640px){.health-source-options{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-actions{grid-column:2}}@media (min-width: 900px){.integration-settings{padding:20px 24px 24px}}.push-token{margin-top:8px;padding:10px 12px;border-radius:var(--radius-inner);display:grid;gap:6px;justify-items:start;background:color-mix(in srgb,var(--bodyfat) 12%,var(--surface));font-size:12.5px}.push-token strong{color:var(--text);font-weight:600}.push-token code{width:100%;padding:8px 10px;border-radius:8px;background:var(--surface);font:500 12.5px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;-webkit-user-select:all;user-select:all}.push-steps{margin:8px 0 0;padding-left:1.3em;display:grid;gap:6px;color:var(--text-2);font-size:12.5px;line-height:1.55}.push-steps code{padding:1px 6px;border-radius:6px;background:var(--surface);color:var(--text);font:500 12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.push-steps .pill-btn,.push-token .pill-btn{min-height:28px;padding:0 10px;font-size:12px;vertical-align:middle}.coach-backend-options{margin-top:10px}.coach-backend-options button{width:100%;min-height:56px;background:var(--surface)}.coach-backend-options button:disabled:not(.active){opacity:.55;cursor:not-allowed}@media (min-width: 560px){.coach-backend-options{grid-template-columns:minmax(0,1fr)}}.push-captures{margin-top:10px;font-size:12.5px;color:var(--text-2)}.push-captures summary{cursor:pointer;color:var(--text);font-weight:600}.push-captures p{margin:6px 0;line-height:1.5}.push-captures ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.push-captures li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--radius-inner);background:var(--surface)}.push-captures li>span{min-width:0;display:grid;gap:2px}.push-captures li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3)}.push-captures .pill-btn{min-height:28px;padding:0 10px;font-size:12px;flex:0 0 auto}
