:root{color-scheme:light;--bg:#fcf9f5;--surface:#fcf9f5;--surface-raised:#ffffff;--surface-sunken:#f2f0eb;--border:#e2dfd8;--border-strong:#c8c4bc;--ink:#1a1a1a;--ink-soft:rgba(0,0,0,0.58);--ink-faint:rgba(0,0,0,0.38);--primary:#000000;--on-primary:#ffffff;--shadow:0 1px 2px rgba(0,0,0,0.055),0 4px 12px rgba(0,0,0,0.075),0 8px 22px rgba(0,0,0,0.05);--shadow-hover:0 1px 3px rgba(0,0,0,0.07),0 8px 20px rgba(0,0,0,0.1),0 16px 38px rgba(0,0,0,0.07);--radius-card:16px;--radius-inner:11px;--radius-btn:10px;--radius-pill:999px;--gutter:clamp(1rem,1.6vw,2rem);--gap:1.35rem;--rail-w:232px;--protein:#007aff;--protein-bg:#e1f0ff;--carbs:#ff4d52;--fat:#ffc233;--kcal:#000000;--kcal-bg:#eeece8;--favorite:#e79c1c;--status-green:#3f9c43;--status-orange:#e07c00;--status-red:#e0342a}*{box-sizing:border-box}html{scrollbar-gutter:stable}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1{font-size:1.4rem;font-weight:700;letter-spacing:-.022em;margin:0 0 .35rem}h2{font-size:1rem;font-weight:650;letter-spacing:-.01em;margin:0 0 .4rem}.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.02rem;letter-spacing:-.015em}.brand img{display:block}.brand .brand-sub{font-weight:500;color:var(--ink-soft)}.lang-wrap{position:relative}.lang-btn{padding:.38rem .6rem;gap:.4rem}.lang-chevron{width:13px;height:13px;color:var(--ink-soft)}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface-raised);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-hover);padding:.3rem;min-width:150px;display:grid;grid-gap:2px;gap:2px;z-index:40}.lang-menu.up{top:auto;bottom:calc(100% + 6px);left:0;right:0}.lang-option{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;border:none;background:none;border-radius:9px;font:inherit;font-size:.85rem;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}.lang-option:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.lang-option-label{flex:1 1}.lang-check{width:14px;height:14px;color:var(--protein);flex-shrink:0}.page{width:100%;max-width:980px;margin:0 auto;padding:1.4rem var(--gutter) 3rem}.page-wide{max-width:1560px}.page-diary{max-width:1760px}.page-narrow{max-width:400px;margin:8vh auto 0;padding:0 var(--gutter) 4rem}.page-signin{min-height:100vh;display:flex;padding:2rem var(--gutter)}.signin-stack{margin:auto;width:100%;max-width:400px;display:grid;grid-gap:1.1rem;gap:1.1rem;justify-items:center}.signin-brand{font-size:1.15rem}.signin-card{width:100%;padding:1.35rem 1.4rem 1.5rem}.signin-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem .75rem;width:100%;padding:0 .15rem}.signin-foot .lang-wrap{margin-left:auto}.signin-foot .btn{padding:.38rem .7rem;font-size:.85rem}.signin-foot .lang-menu.up{left:auto;right:0}.signin-demo{margin:0}.signin-demo a{font-weight:600;text-decoration:underline;text-underline-offset:2px}.signin-demo a:hover{color:var(--protein)}.link-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-btn:hover{color:var(--protein)}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.muted{color:var(--ink-soft)}.small{font-size:.84rem}.card{background:var(--surface);border:0;border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1rem 1.15rem;position:relative;transition:box-shadow .15s ease}.stack{display:grid;grid-gap:var(--gap);gap:var(--gap)}.input{width:100%;padding:.7rem .95rem;border:1px solid var(--border-strong);border-radius:var(--radius-btn);background:var(--surface-raised);color:var(--ink);font:inherit;outline:none}.input:focus{border-color:var(--primary)}.input::placeholder{color:var(--ink-faint)}@media (pointer:coarse){input,input[class],select,textarea{font-size:16px}input.cal-input{width:8rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-btn);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;transition:transform .1s ease,opacity .15s ease,background .15s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-primary,.contact-pill{background:var(--primary);color:var(--on-primary)}.contact-pill{display:flex;align-items:center;padding:10px 20px;border-radius:999px;font-size:15px;font-weight:600;line-height:1.25;text-decoration:none;cursor:pointer;transition:transform .18s ease}.contact-pill:hover{transform:scale(1.05)}.contact-pill:active{transform:scale(.96)}.pill-wipe{overflow:hidden;white-space:nowrap;transition:width .32s cubic-bezier(.3,.7,.25,1)}.pill-wipe-in{display:inline-block;white-space:nowrap}.pill-icon{display:flex;margin-left:8px}.pill-copy svg,.pill-icon svg{width:16px;height:16px}.pill-copy{display:flex;margin:-6px -10px -6px 8px;padding:6px;border-radius:999px;transition:background .2s ease}.pill-copy:hover{background:rgba(255,255,255,.18)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--ink)}.btn-ghost:hover{background:color-mix(in srgb,var(--ink) 5%,transparent)}.btn-block{width:100%}.error-text{color:var(--status-red);font-size:.9rem;margin:0}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .6rem;border-radius:var(--radius-pill);font-size:.76rem;font-weight:600;white-space:nowrap}.chip-active{background:rgba(63,156,67,.14);color:var(--status-green)}.chip-pending{background:rgba(224,124,0,.14);color:var(--status-orange)}.chip-mock{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-soft);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;padding:.08rem .45rem;margin-left:.45rem;vertical-align:middle}.mock-notice{display:flex;align-items:center;gap:.55rem;padding:.5rem .8rem;border-radius:var(--radius-inner);background:color-mix(in srgb,var(--status-orange) 12%,var(--surface-raised));border:1px solid color-mix(in srgb,var(--status-orange) 32%,var(--border));color:var(--ink);font-size:.82rem;line-height:1.4}.page-diary>.mock-notice{margin-bottom:var(--gap)}.mock-notice svg{width:16px;height:16px;flex-shrink:0;color:var(--status-orange)}.demo-loading{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;text-align:center}.demo-spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(53,140,235,.18);border-top-color:#2469c6;animation:demo-spin .9s linear infinite}@keyframes demo-spin{to{transform:rotate(1turn)}}.chip-carbs,.chip-fat,.chip-kcal,.chip-nutrient,.chip-protein{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip-kcal{font-weight:700}.chip-carbs:before,.chip-fat:before,.chip-protein:before{content:"";width:7px;height:7px;border-radius:50%;flex:none}.chip-protein:before{background:var(--protein)}.chip-carbs:before{background:var(--carbs)}.chip-fat:before{background:var(--fat)}.app-shell{display:flex;min-height:100vh}.app-main{flex:1 1;min-width:0}.sidebar~.app-main{margin-left:var(--rail-w)}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:30;width:var(--rail-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.8rem .65rem;overflow-y:auto;overscroll-behavior:contain}.side-head{gap:.3rem;padding:.3rem .15rem .9rem}.side-brand,.side-head{display:flex;align-items:center}.side-brand{gap:.55rem;flex:1 1;min-width:0;padding:0 .4rem;font-weight:700;font-size:1.02rem;letter-spacing:-.015em}.side-brand img{display:block;flex-shrink:0}.side-rail-toggle{color:var(--ink-faint)}.side-nav{display:grid;grid-gap:2px;gap:2px}.side-link{display:flex;align-items:center;gap:.65rem;padding:.5rem .6rem;border-radius:var(--radius-btn);color:var(--ink-soft);font-size:.89rem;font-weight:600;white-space:nowrap;transition:background .15s ease,color .15s ease}.side-link svg{width:18px;height:18px;flex:0 0 18px}.side-link:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.side-link.active{background:var(--protein-bg);color:var(--protein)}.side-foot{margin-top:auto;display:grid;grid-gap:.4rem;gap:.4rem;padding-top:.7rem;border-top:1px solid var(--border)}.side-user{font-size:.78rem;color:var(--ink-soft);padding:0 .6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-practice{display:block;padding:.35rem .6rem;border-radius:var(--radius-inner);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink-soft);font-size:.74rem;font-weight:600;line-height:1.35}.side-foot .btn,.side-foot .lang-wrap{width:100%}.side-foot .btn{justify-content:flex-start;padding:.45rem .6rem;font-size:.85rem;border-color:transparent;color:var(--ink-soft)}.side-foot .btn:hover{color:var(--ink)}.side-foot .lang-btn{justify-content:space-between}.lang-globe,.side-btn svg{width:17px;height:17px;flex:0 0 17px}.lang-globe{display:none}@media (min-width:1024px){html[data-rail="1"]{--rail-w:64px}html[data-rail="1"] .sidebar{padding-left:.55rem;padding-right:.55rem}html[data-rail="1"] .side-head{padding:.3rem 0 .9rem}html[data-rail="1"] .side-brand{justify-content:center;padding:0}html[data-rail="1"] .lang-chevron,html[data-rail="1"] .side-brand>span,html[data-rail="1"] .side-label,html[data-rail="1"] .side-practice,html[data-rail="1"] .side-user{display:none}html[data-rail="1"] .lang-globe{display:block}html[data-rail="1"] .side-foot .btn,html[data-rail="1"] .side-link{justify-content:center;padding-left:0;padding-right:0;gap:0}html[data-rail="1"] .lang-menu.up{right:auto}html[data-rail="1"] .sidebar{overflow:visible}}@media (max-width:1023px){:root{--rail-w:0px}.app-shell{display:block}.sidebar{position:-webkit-sticky;position:sticky;inset:0 auto auto 0;width:auto;height:auto;overflow:visible;flex-direction:row;align-items:center;gap:.4rem;padding:.45rem var(--gutter);border-right:none;border-bottom:1px solid var(--border)}.side-head{padding:0 .35rem 0 0}.side-brand{padding:0}.sidebar .lang-chevron,.sidebar .side-brand>span,.sidebar .side-label{display:none}.sidebar .lang-globe{display:block}.side-foot .btn,.side-link{padding-left:.6rem;padding-right:.6rem;gap:0}.side-nav{grid-auto-flow:column}.side-foot{margin:0 0 0 auto;display:flex;align-items:center;gap:.2rem;padding-top:0;border-top:none}.side-practice,.side-user{display:none}.side-foot .btn,.side-foot .lang-wrap{width:auto}.side-rail-toggle{display:none}.side-foot .lang-menu.up{top:calc(100% + 6px);bottom:auto;left:auto;right:0}}.statbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;overflow:hidden}.stat{padding:.8rem 1.05rem .85rem;border-left:1px solid var(--border);min-width:0}.stat:first-child{border-left:none}.statbar-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.statbar{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(odd){border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--border)}}@media (min-width:1024px) and (max-width:1180px){html:not([data-rail="1"]) .statbar:not(.statbar-3){grid-template-columns:repeat(2,minmax(0,1fr))}html:not([data-rail="1"]) .statbar:not(.statbar-3) .stat:nth-child(odd){border-left:none}html:not([data-rail="1"]) .statbar:not(.statbar-3) .stat:nth-child(n+3){border-top:1px solid var(--border)}}@media (max-width:600px){.statbar{grid-template-columns:minmax(0,1fr)}.stat{border-left:none}.stat+.stat{border-top:1px solid var(--border)}}.tile-head{gap:.45rem;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);overflow-wrap:anywhere}.tile-head,.tile-icon{display:flex;align-items:center}.tile-icon{width:22px;height:22px;border-radius:7px;justify-content:center;flex-shrink:0}.tile-icon svg{width:13px;height:13px}.tile-value{font-size:1.65rem;font-weight:700;letter-spacing:-.03em;margin:.3rem 0 .1rem;line-height:1.1}.tile-value-text{overflow-wrap:anywhere}.tile-delta{font-size:.78rem;color:var(--ink-soft);line-height:1.3}.delta-good{color:var(--status-green);font-weight:600}.delta-bad{color:var(--status-red);font-weight:600}.delta-flag{color:var(--status-orange);font-weight:600}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--gap);gap:var(--gap);align-items:start}@media (min-width:1560px){.dash-grid.has-rail{grid-template-columns:minmax(0,1fr) 340px}}@media (min-width:1400px){html[data-rail="1"] .dash-grid.has-rail{grid-template-columns:minmax(0,1fr) 340px}}.dash-col{display:grid;grid-gap:var(--gap);gap:var(--gap);min-width:0}.panel{padding:0;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-sunken);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}.panel-head .panel-note{text-transform:none;letter-spacing:0;font-weight:500;font-size:.78rem}.panel-body{padding:.9rem 1.05rem 1rem}.panel-row{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;row-gap:.35rem;padding:.6rem 1rem;border-bottom:1px solid var(--border)}.panel-row .pcell-patient{flex:1 1 13rem}.panel-row:last-child{border-bottom:none}a .panel-row{transition:background .12s ease}a:hover .panel-row{background:color-mix(in srgb,var(--ink) 3.5%,transparent)}.invite-card{display:flex;align-items:center;gap:.75rem 1rem;flex-wrap:wrap}.invite-id{flex:1 1 auto}.invite-foot{flex:1 1 100%}.invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.3rem;font-weight:700;letter-spacing:.12em}.invite-note{margin:.8rem 0 0;padding-top:.75rem;border-top:1px solid var(--border);line-height:1.45}.patient-row{display:flex;align-items:center;gap:.85rem}.patient-link{display:block}.patient-link:hover .card,a.card:hover{box-shadow:var(--shadow-hover);z-index:1}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;letter-spacing:.01em;flex-shrink:0}.avatar-lg{width:44px;height:44px;font-size:1rem}.avatar-photo{overflow:hidden}.avatar-photo img{width:100%;height:100%;object-fit:cover}.profile-facts{margin:.6rem 0 0}.card-disclosure{display:flex;align-items:center;gap:.4rem;width:100%;flex:none;padding:.45rem 0 0;border:0;border-top:1px solid var(--border);background:none;font:inherit;font-size:.82rem;font-weight:600;color:var(--ink-soft);text-align:left;cursor:pointer}.card-disclosure:hover{color:var(--protein)}.card-disclosure:focus-visible{outline:2px solid var(--protein);outline-offset:2px;border-radius:6px}.card-disclosure .caret{width:.95rem;height:.95rem;flex:none;margin-right:0}.patient-identity .profile-facts{width:100%;margin:0}.profile-fact{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--border)}.profile-fact:first-child{border-top:0;padding-top:0}.profile-fact:last-child{padding-bottom:0}.profile-fact dt{color:var(--ink-soft);font-size:.85rem}.profile-fact dd{margin:0;font-weight:600;font-size:.9rem;text-align:right}.export-launch{margin-top:.9rem}.export-modal{max-width:440px;max-height:calc(100vh - 2.5rem);overflow-y:auto}.export-intro{margin:.35rem 0 .9rem}.export-seg{display:flex}.export-seg button{flex:1 1}.export-hint{margin:.5rem 0 .9rem;min-height:2.1em}.export-range-label{display:block;font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-bottom:.35rem}.export-cal{margin-bottom:.9rem}.export-cal>.card{box-shadow:none;background:var(--surface-sunken)}.export-generating{display:flex;align-items:center;gap:.6rem;margin-top:1.15rem}.export-spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid color-mix(in srgb,var(--ink) 15%,transparent);border-top-color:var(--ink);animation:demo-spin .9s linear infinite;flex-shrink:0}.export-formats{display:flex;gap:1.2rem}.export-check{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;cursor:pointer}.export-check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.export-error{margin:.6rem 0 0;color:var(--status-red)}.patient-main{flex:1 1;min-width:0}.patient-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptable{overflow:hidden}.card.panel,.card.ptable,.card.statbar,.ptable{padding:0}.ptable-scroll{overflow-x:auto;background:linear-gradient(to right,var(--surface) 40%,transparent) 0 0 /22px 100% no-repeat local,linear-gradient(to left,var(--surface) 40%,transparent) 100% 0 /22px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,color-mix(in srgb,var(--ink) 13%,transparent),transparent) 0 0 /11px 100% no-repeat,radial-gradient(farthest-side at 100% 50%,color-mix(in srgb,var(--ink) 13%,transparent),transparent) 100% 0 /11px 100% no-repeat}.ptable-grid{min-width:900px}.ptable-head,.ptable-row{display:grid;grid-template-columns:minmax(170px,1.4fr) 118px minmax(140px,.9fr) 118px 116px 104px;--tgap:0.85rem;grid-gap:var(--tgap);gap:var(--tgap);align-items:center;padding:.55rem 1.05rem}.ptable-head{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface-sunken);padding-top:.6rem;padding-bottom:.6rem}.ptable-head,.ptable-row{border-bottom:1px solid var(--border)}.ptable-row{transition:background .12s ease}.ptable-grid>.ptable-row:last-child,.ptable-grid>a:last-child .ptable-row{border-bottom:none}.ptable-row:hover{background:color-mix(in srgb,var(--ink) 3.5%,transparent)}.ctable-grid{--act:108px;min-width:calc(612px + var(--act))}.ctable-grid.ctable-noactions{--act:0px}.ctable-noactions .ptable-head>:last-child,.ctable-noactions .ptable-row>:last-child{display:none}.ctable-grid .ptable-head,.ctable-grid .ptable-row{grid-template-columns:minmax(190px,1.5fr) minmax(120px,.9fr) 110px 118px var(--act)}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.row-actions .btn{padding:.32rem .7rem;font-size:.82rem}.panel-row .row-actions{margin-left:auto}.pcell-patient{display:flex;align-items:center;flex-wrap:wrap;row-gap:1px;gap:.6rem;min-width:0}.pcell-patient .patient-name{flex:1 1;min-width:9rem}.pcell-patient .chip-mock{margin-left:0}.pcell-num{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pcol-status{display:flex;justify-content:flex-end}.ctable-noactions .pcol-status{margin-right:calc(-1 * var(--tgap))}.abar-cell{display:flex;align-items:center;gap:.55rem}.abar{flex:1 1;height:6px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}.abar,.abar-fill{border-radius:999px}.abar-fill{height:100%}.abar-pct{font-weight:700;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right}.wstrip{display:flex;align-items:flex-end;gap:3px;height:22px}.wstrip span{flex:1 1;min-height:2px;border-radius:2px;background:var(--wcolor,var(--ink-faint))}.wstrip span.empty{background:color-mix(in srgb,var(--ink) 10%,transparent);height:2px}.chip-ontrack{background:rgba(63,156,67,.14);color:var(--status-green)}.chip-monitor{background:rgba(224,124,0,.14);color:var(--status-orange)}.chip-review{background:rgba(224,52,42,.12);color:var(--status-red)}.diary-split{grid-template-columns:1fr;align-items:start}.diary-cal,.diary-split{display:grid;grid-gap:var(--gap);gap:var(--gap)}.diary-cal{align-content:start}@media (max-width:1179px){.diary-cal{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}}.diary-feed{min-width:0}.diary-feed>.statbar{margin-bottom:var(--gap)}.diary-feed:before{content:"";display:block;position:-webkit-sticky;position:sticky;top:0;z-index:1;height:1rem;margin-bottom:-1rem;background:var(--bg)}.diary-feed .chart-head{position:relative;z-index:2}@media (min-width:1180px){.diary-split{grid-template-columns:minmax(0,420px) minmax(0,940px)}.diary-split>.diary-cal{--bleed:1.35rem;position:-webkit-sticky;position:sticky;top:calc(1rem - var(--bleed));max-height:calc(100vh - 1.5rem + var(--bleed) * 2);overflow-y:auto;padding:var(--bleed);margin:calc(var(--bleed) * -1);scrollbar-width:thin}}.day-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);margin:1.3rem 0 .5rem .15rem}.day-header:first-of-type{margin-top:.25rem}.day-strip{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.55rem .9rem;margin:0 0 .6rem;background:var(--bg);color:var(--ink)}.day-strip .day-header,.day-strip .day-header:first-of-type{margin:0;font-size:.95rem;font-weight:650;letter-spacing:-.01em;text-transform:none;color:var(--ink)}.day-strip .day-header:first-letter{text-transform:uppercase}.day-strip .macro-row{margin-top:0}.day-strip-sticky{position:-webkit-sticky;position:sticky;top:1rem;z-index:2}.diary-feed section+section{margin-top:1.5rem}.meal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.meal-name{font-weight:600;font-size:.98rem}.meal-time{font-size:.8rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.macro-row{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.5rem}.meal-body{display:flex;align-items:flex-start;gap:1.25rem;margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--border)}.meal-body .item-col{flex:1 1;min-width:0}.meal-body .item-list{margin:0;padding:0;border-top:none}.meal-body .meal-photo{flex:0 0 auto;width:150px;margin-top:0}@media (max-width:700px){.meal-body{display:block}.meal-body .meal-photo{width:100%;max-width:220px;margin-bottom:.75rem}}.item-list{list-style:none;margin:.65rem 0 0;padding:.55rem 0 0;border-top:1px solid var(--border);display:grid;grid-gap:.2rem;gap:.2rem}.item-list li{font-size:.86rem}.item-row,.item-toggle{display:flex;justify-content:space-between;gap:.75rem}.item-row.expandable{display:block}.item-toggle{width:100%;padding:.12rem 0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:8px}.item-toggle:hover{color:var(--protein)}.item-toggle:focus-visible{outline:2px solid var(--protein);outline-offset:2px}.item-vals{display:inline-flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;min-width:0}.item-favs{font-size:.78rem;text-align:right}.item-favs,.item-kcal{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.item-kcal{color:var(--ink-soft);white-space:nowrap}.caret{width:.7em;height:.7em;margin-right:.4em;vertical-align:baseline;transition:transform .15s ease}.caret.open{transform:rotate(90deg)}.block-head{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}.block-count{font-weight:600;letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.meal-nutrients-toggle{display:flex;align-items:center;margin-top:.8rem;padding:.45rem .7rem;background:none;border:1px solid var(--border);border-radius:var(--radius-inner);width:100%;font:inherit;font-size:.8rem;font-weight:700;color:var(--ink);cursor:pointer}.meal-nutrients-toggle:hover{color:var(--protein);border-color:var(--protein)}.meal-nutrients-toggle:focus-visible{outline:2px solid var(--protein);outline-offset:2px;border-radius:8px}.item-detail,.meal-detail{margin-top:.5rem;padding:.6rem .8rem .8rem;border-radius:var(--radius-inner);background:color-mix(in srgb,var(--ink) 4%,transparent)}.item-detail{margin:.35rem 0 .6rem 1.1rem}.meal-nutrients-toggle[aria-expanded=true]{border-radius:var(--radius-inner) var(--radius-inner) 0 0}.meal-detail{margin-top:-1px;border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-inner) var(--radius-inner);background:color-mix(in srgb,var(--ink) 3%,transparent)}.detail-head{font-size:.73rem;color:var(--ink-soft);margin-bottom:.1rem}.nutrient-panel.compact .nutrient-row{font-size:.8rem;padding:.18rem 0}.nutrient-panel.compact .nutrient-group-head{margin:.45rem 0 .1rem;padding:.22rem 0}.nutrient-panel.compact .nutrient-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:0 1.5rem}.meal-photo{margin-top:.75rem;max-width:220px;width:100%;border-radius:var(--radius-inner);border:1px solid var(--border);display:block}.center-note{text-align:center;color:var(--ink-soft);padding:2rem 0}.divider{display:flex;align-items:center;gap:.75rem;color:var(--ink-faint);font-size:.8rem;margin:1rem 0}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.back-link{display:inline-flex;align-items:center;gap:.3rem;margin:0 0 .7rem;color:var(--ink);font-size:.84rem;font-weight:700;line-height:1.2}.back-link svg{width:15px;height:15px;transition:transform .15s ease}.back-link:hover{text-decoration:underline;text-underline-offset:3px}.back-link:hover svg{transform:translateX(-2px)}.back-link:focus-visible{outline:2px solid var(--protein);outline-offset:3px;border-radius:4px}.patient-identity{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;min-width:0}.patient-idrow{gap:.85rem;min-width:0;max-width:100%}.chart-head,.patient-idrow{display:flex;align-items:center}.chart-head{justify-content:space-between;gap:1rem;margin-bottom:.5rem}.chart-headline{font-size:.85rem;color:var(--ink-soft)}.chart-headline strong{font-size:1.05rem;color:var(--ink);letter-spacing:-.01em}.chart-wrap{position:relative}.chart-plot{height:170px}.chart-tip{position:absolute;transform:translateY(-115%);background:var(--ink);color:#fff;font-size:.76rem;font-weight:600;line-height:1.35;padding:.28rem .55rem;border-radius:7px;pointer-events:none;width:max-content;max-width:100%;z-index:3}.chart-x-labels{display:flex;justify-content:space-between;font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:.3rem .2rem 0;text-transform:uppercase}.chart-x-slots{display:grid}.chart-x-slots span{text-align:center;white-space:nowrap}.split-head{margin:.8rem 0 .4rem}.split-head:first-child{margin-top:0}.split-bar{display:flex;height:9px;border-radius:var(--radius-pill);overflow:hidden;background:color-mix(in srgb,var(--ink) 7%,transparent)}.split-seg{display:block;height:100%}.split-p{background:var(--protein)}.split-c{background:var(--carbs)}.split-f{background:var(--fat)}.meal-split{display:grid;grid-gap:.25rem;gap:.25rem}.meal-split-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.28rem .5rem;border-radius:7px;font-size:.83rem;overflow:hidden}.meal-split-fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--protein) 13%,transparent);border-radius:7px}.meal-split-name{overflow:hidden;text-overflow:ellipsis}.meal-split-kcal,.meal-split-name{position:relative;white-space:nowrap}.meal-split-kcal{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.conn-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.row-muted{opacity:.55}.chip-revoked{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink-soft)}.btn-danger{background:transparent;border-color:var(--status-red);color:var(--status-red)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:50}.modal{max-width:420px;width:100%;box-shadow:var(--shadow-hover)}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.15rem}.nutrient-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:.25rem 0 .5rem}.nutrient-panel.compact .nutrient-toolbar{margin:0 0 .2rem}.nutrient-filter{margin:0;flex:1 1 200px;max-width:320px;padding:.5rem .85rem;font-size:.88rem}.nutrient-bulk{display:flex;gap:1rem;margin-left:auto}.link-button{padding:0;border:0;background:none;font:inherit;font-size:.78rem;font-weight:600;color:var(--protein);cursor:pointer}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--ink-soft);opacity:.55;cursor:default}.link-button:focus-visible{outline:2px solid var(--protein);outline-offset:2px;border-radius:4px}.nutrient-group-head{display:flex;align-items:center;gap:.15rem;width:100%;padding:.3rem 0;margin:.6rem 0 .15rem;border:0;border-bottom:1px solid var(--border);background:none;text-align:left;cursor:pointer;font:inherit;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}.nutrient-group-head:hover{color:var(--protein)}.nutrient-group-head:focus-visible{outline:2px solid var(--protein);outline-offset:2px;border-radius:6px}.nutrient-group-head .caret{width:.95rem;height:.95rem;flex:none;margin-right:.4rem}.nutrient-group-count{margin-left:auto;letter-spacing:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-soft);opacity:.75}.nutrient-card-head{display:flex;align-items:center;gap:.75rem}.card-title{margin:0;font-size:1rem}.nutrient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:0 2rem;gap:0 2rem}.nutrient-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.85rem;padding:.25rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 6%,transparent)}.nutrient-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrient-val{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.nutrient-fav{display:inline-flex;align-items:center;flex:none;align-self:center;padding:.1rem;border:0;background:none;color:var(--ink-faint);cursor:pointer}.nutrient-fav:hover,.nutrient-fav[aria-pressed=true]{color:var(--favorite)}.nutrient-fav:focus-visible{outline:2px solid var(--protein);outline-offset:1px;border-radius:4px}.nutrient-fav svg{display:block;width:.9rem;height:.9rem}.nutrient-favrows{margin-top:.15rem}.nutrient-fav-hint{margin:.55rem 0 0}.nutrient-card .card-disclosure{margin-top:.7rem}.card-disclosure .dialog-icon{width:.85rem;height:.85rem;flex:none}.nutrient-modal{max-width:820px;max-height:calc(100vh - 2.5rem);overflow-y:auto}.stats-seg{margin:.85rem 0 .9rem}.stat-widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.7rem;gap:.7rem}.stat-widget{background:color-mix(in srgb,var(--ink) 3%,transparent);border-radius:var(--radius-inner);padding:.6rem .75rem .7rem}.stat-widget-name{font-size:.72rem;font-weight:600;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-widget-value{margin-top:.15rem;font-size:1.15rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-widget-unit{font-size:.78rem;font-weight:600;color:var(--ink-soft)}.stat-widget-sub{margin-left:.4rem;font-size:.7rem;font-weight:500;color:var(--ink-faint)}.stat-widget-bars{position:relative;display:flex;align-items:flex-end;gap:2px;height:52px;margin-top:.5rem}.stat-bar{flex:1 1;min-height:2px;border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--ink) 45%,transparent)}.stat-bar.empty{background:color-mix(in srgb,var(--ink) 10%,transparent)}.stat-avg-line{position:absolute;left:0;right:0;border-top:1.5px dashed var(--ink-soft);pointer-events:none}.cal-head{display:flex;align-items:center;gap:.35rem;margin:0 0 .45rem}.cal-month{flex:1 1;font-weight:700;font-size:.92rem;letter-spacing:-.01em}.cal-today-pill{display:inline-flex;padding:.22rem .65rem;border:none;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font:inherit;font-size:.71rem;font-weight:600}.cal-nav,.cal-today-pill{align-items:center;cursor:pointer}.cal-nav{display:flex;justify-content:center;padding:.28rem;border:none;border-radius:8px;background:none;color:var(--ink-soft)}.cal-nav:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.cal-controls{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin:0 0 .7rem}.cal-seg{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 6%,transparent)}.cal-seg button{border:none;background:transparent;border-radius:var(--radius-pill);padding:.26rem .75rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--ink-soft);cursor:pointer}.cal-seg button.on{background:var(--primary);color:var(--on-primary)}.cal-fields{display:flex;align-items:center;gap:.35rem}.cal-input{width:6.8rem;padding:.32rem .55rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-raised);color:var(--ink);font:inherit;font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;outline:none}.cal-input:focus{border-color:var(--primary)}.cal-input.invalid{border-color:var(--status-red);color:var(--status-red)}.cal-input::placeholder{color:var(--ink-faint)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px 2px;gap:3px 2px}.cal-cell{width:100%;height:36px;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:none;border-radius:9px;background:transparent;font:inherit;color:var(--ink);cursor:pointer}.cal-cell:not(:disabled):not(.sel):hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.cal-cell:disabled{opacity:.3;cursor:default}.cal-cell.today{background:color-mix(in srgb,var(--primary) 8%,transparent)}.cal-cell.in-range{background:color-mix(in srgb,var(--primary) 12%,transparent)}.cal-cell.sel{background:var(--primary);color:var(--on-primary)}.cal-num{font-size:.86rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-dot{width:4px;height:4px;border-radius:50%;background:var(--protein);opacity:0}.cal-dot.on{opacity:1}.cal-cell.sel .cal-dot{background:var(--on-primary)}.cal-grid-dow{text-align:center;font-size:.66rem;font-weight:600;color:var(--ink-faint);padding-bottom:2px}.skel{display:block;position:relative;overflow:hidden;flex-shrink:0;background:color-mix(in srgb,var(--ink) 7%,transparent);border-radius:6px}.skel:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 5%,transparent),transparent);animation:skel-sweep 1.3s ease-in-out infinite}@keyframes skel-sweep{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skel:after{animation:none}}.skel-bars{display:flex;align-items:flex-end;gap:1.1%;height:170px}.skel-bars>.skel{flex:1 1;border-radius:6px 6px 2px 2px}.ptable-row .skel{min-height:8px}@media (max-width:720px){.sidebar{gap:.3rem;padding-left:.75rem;padding-right:.75rem}.side-foot .btn,.side-link{padding-left:.55rem;padding-right:.55rem}.side-foot{gap:.15rem}}@media (max-width:1180px){.ptable-grid{min-width:760px}.ctable-grid{--act:100px;min-width:calc(580px + var(--act))}.ptable-head,.ptable-row{grid-template-columns:minmax(0,1.4fr) 80px minmax(64px,.9fr) 106px 92px 86px;--tgap:0.6rem}.ctable-grid .ptable-head,.ctable-grid .ptable-row{grid-template-columns:minmax(0,1fr) minmax(78px,.8fr) 88px 92px var(--act)}}@media (max-width:760px){.ptable-head>.pcol-meals,.ptable-head>.pcol-shared,.ptable-head>.pcol-strip,.ptable-row>.pcol-meals,.ptable-row>.pcol-shared,.ptable-row>.pcol-strip{display:none}.ptable-grid{min-width:570px}.ctable-grid{--act:100px;min-width:calc(475px + var(--act))}.ptable-head,.ptable-row{grid-template-columns:minmax(0,1.5fr) minmax(70px,1fr) 96px 88px}.ctable-grid .ptable-head,.ctable-grid .ptable-row{grid-template-columns:minmax(0,1fr) 92px 88px var(--act)}.page-title-row{flex-wrap:wrap;gap:.35rem}.card{padding:.85rem .9rem}.stat{padding:.7rem .9rem .75rem}}@media (max-width:620px){.ptable-head{display:none}}@media (max-width:470px){.ptable-head>.pcol-since,.ptable-head>.pcol-sync,.ptable-row>.pcol-since,.ptable-row>.pcol-sync{display:none}.ptable-grid{min-width:440px}.ctable-grid{--act:84px;min-width:calc(351px + var(--act))}.ptable-head,.ptable-row{grid-template-columns:minmax(0,1.4fr) minmax(58px,1fr) 84px;--tgap:0.45rem;padding-left:.75rem;padding-right:.75rem}.ctable-grid .ptable-head,.ctable-grid .ptable-row{grid-template-columns:minmax(0,1fr) 76px var(--act)}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}