:root{color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#080808;--color-surface:#171717;--color-surface-raised:#1e1e1e;--color-divider:#242424;--color-text:#f5f5f5;--color-text-secondary:#b8b8b8;--color-text-muted:#858585;--color-accent:#f47a20;--color-accent-hover:#ff8c3a;--color-accent-pressed:#d65f0d;--color-on-accent:#080808;--color-danger:#ff3b30;--color-focus:#ffb067;--color-accent-soft:#f47a2024;--color-danger-soft:#ff3b301f;--color-overlay:#080808e0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:.5rem;--radius-field:.75rem;--radius-card:1rem;--radius-pill:999px;--touch-target:2.75rem;--content-text:70ch;--motion-duration:.16s;--type-display-size:clamp(2.5rem, 8vw, 3rem);--type-h1-size:clamp(1.75rem, 6vw, 2rem);--type-h2-size:clamp(1.25rem, 4vw, 1.375rem);--type-h3-size:clamp(1.0625rem, 3vw, 1.125rem);--type-body-size:1rem;--type-label-size:.875rem;--type-caption-size:.8125rem;--ink:var(--color-text);--muted:var(--color-text-secondary);--surface:var(--color-surface);--surface-strong:var(--color-surface-raised);--line:var(--color-divider);--accent:var(--color-accent);--accent-strong:var(--color-accent-hover);--accent-soft:var(--color-accent-soft);--warm:var(--color-accent);--shadow:0 18px 60px #00000057;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-bg);min-width:0}body{background:radial-gradient(circle at 12% 0%, #f47a2014, transparent 28rem), var(--color-bg);min-width:0;min-height:100vh;color:var(--color-text);font-size:var(--type-body-size);margin:0;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(100%,72rem);min-height:100vh;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));grid-template-rows:auto 1fr auto;gap:1.25rem;margin:0 auto;display:grid}.app-shell--client{padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.skip-link{z-index:100;top:max(var(--space-2), env(safe-area-inset-top));left:max(var(--space-2), env(safe-area-inset-left));padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-on-accent);background:var(--color-accent);font-size:var(--type-label-size);transition:transform var(--motion-duration) ease;font-weight:700;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{transform:none}.site-header{border:1px solid var(--color-divider);border-radius:var(--radius-card);background:var(--color-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:1rem;padding:.75rem;display:grid;box-shadow:0 8px 30px #0000003d}.site-header__identity{place-items:center start;gap:var(--space-3);min-width:0;display:grid}.brand-block{min-width:0;min-height:var(--touch-target);align-items:center;text-decoration:none;display:flex}.brand-block img{object-fit:contain;object-position:left center;width:min(12rem,48vw);height:2.4rem}.user-context{width:100%;min-width:0;padding-top:var(--space-3);border-top:1px solid var(--color-divider);justify-items:start;line-height:1.25;display:grid}.user-context strong,.user-context span{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.user-context strong{font-size:var(--type-label-size)}.user-context span{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.primary-nav{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.35rem;padding:.15rem;display:grid}.primary-nav--client{z-index:20;min-height:calc(4rem + env(safe-area-inset-bottom));padding:var(--space-2) max(var(--space-2), env(safe-area-inset-right)) max(var(--space-2), env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));border-top:1px solid var(--color-divider);background:var(--color-overlay);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(auto-fit,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000047}.nav-link{min-height:var(--touch-target);min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--type-label-size);text-align:center;border-radius:.8rem;padding:.65rem .55rem;font-weight:650;text-decoration:none;display:flex}.primary-nav--client .nav-link{font-size:var(--type-caption-size);flex-direction:column;gap:.15rem;padding:.35rem .2rem;line-height:1.2}.nav-label--narrow{display:none}@media (width<=22rem){.primary-nav--client .nav-link{letter-spacing:-.015em;padding-inline:.1rem;font-size:.65rem}.primary-nav--client .nav-label:not(.nav-label--narrow){display:none}.primary-nav--client .nav-label--narrow{display:inline}}.nav-icon{flex:none;width:1.5rem;height:1.5rem}.nav-link:hover{color:var(--ink);background:var(--color-surface-raised)}.nav-link--active{color:var(--accent-strong);background:var(--accent-soft)}.site-main{min-width:0;scroll-margin-top:var(--space-4);align-items:center;display:grid}.hero{gap:1rem;display:grid}.auth-layout{gap:1rem;min-width:0;display:grid}.public-hero__actions .button{width:100%}.public-principle{gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.public-principle__mark{border:.38rem solid var(--color-accent);border-top-width:0;border-left-width:0;border-radius:.18rem;width:2rem;height:2rem;display:block;transform:rotate(45deg)translate(-.15rem,.15rem)}.public-principle h2{margin-bottom:var(--space-2);font-size:var(--type-h3-size)}.public-principle p{color:var(--color-text-secondary);font-size:var(--type-label-size);margin-bottom:0;line-height:1.55}.brand-visual{border:1px solid var(--color-divider);background:var(--color-surface);min-width:0;min-height:20rem;box-shadow:var(--shadow);isolation:isolate;border-radius:clamp(1.5rem,5vw,2.5rem);margin:0;position:relative;overflow:hidden}.brand-visual:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0000,#080808f0);position:absolute;inset:35% 0 0}.brand-visual__photo{object-fit:cover;object-position:58% center;width:100%;height:100%;display:block;position:absolute}.brand-visual__caption{z-index:2;gap:var(--space-3);padding:clamp(1.25rem,5vw,2rem);display:grid;position:absolute;bottom:0;left:0;right:0}.brand-visual__wordmark{width:min(100%,17rem);height:auto;display:block}.brand-visual__caption p{max-width:28rem;color:var(--color-text-secondary);font-size:var(--type-label-size);margin:0}.brand-visual--compact{min-height:14rem}.brand-visual--compact .brand-visual__photo{object-position:55% 48%}.brand-visual--compact .brand-visual__wordmark{width:min(100%,14rem)}.hero-copy,.page-card,.principle-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.hero-copy,.page-card{border-radius:clamp(1.5rem,5vw,2.5rem);padding:clamp(1.4rem,5vw,3.5rem)}.page-card{width:min(100%,48rem);margin-inline:auto}.auth-card,.status-card{width:min(100%,38rem)}.badge,.page-eyebrow{width:fit-content;color:var(--accent-strong);letter-spacing:.09em;text-transform:uppercase;align-items:center;font-size:.74rem;font-weight:800;display:inline-flex}.badge{background:var(--accent-soft);border-radius:999px;padding:.45rem .65rem}h1,h2,h3,p{margin-top:0}h1{max-width:13ch;font-size:var(--type-h1-size);letter-spacing:-.025em;margin-bottom:1rem;line-height:1.15}h2{font-size:var(--type-h2-size);line-height:1.25}h3{font-size:var(--type-h3-size);line-height:1.35}.hero-copy h1{font-size:var(--type-display-size);letter-spacing:-.04em;line-height:1.05}.page-card h1{max-width:17ch;font-size:var(--type-h1-size);margin-top:.75rem}.lead{max-width:42rem;color:var(--muted);margin-bottom:0;font-size:clamp(1rem,3vw,1.18rem);line-height:1.65}.action-row{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.button{min-height:var(--touch-target);border-radius:var(--radius-field);cursor:pointer;font-weight:750;font-size:var(--type-label-size);text-align:center;transition:background-color var(--motion-duration) ease, border-color var(--motion-duration) ease, color var(--motion-duration) ease;border:1px solid #0000;justify-content:center;align-items:center;padding:.8rem 1rem;line-height:1.4;text-decoration:none;display:inline-flex;position:relative}.button:disabled{cursor:not-allowed;opacity:.58}.button[aria-busy=true]:disabled{cursor:wait}.button--primary{color:var(--color-on-accent);background:var(--accent)}.button--primary:hover{background:var(--color-accent-hover)}.button--primary:active{background:var(--color-accent-pressed)}.button--secondary{border-color:var(--line);background:var(--surface-strong)}.button--secondary:hover{border-color:var(--color-text-muted);background:var(--color-surface)}.button--danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.button--danger:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}.button--tertiary{color:var(--color-text);background:0 0}.button--tertiary:hover{background:var(--color-surface-raised)}.button__label--loading{visibility:hidden}.button__loading{justify-content:center;align-items:center;gap:var(--space-2);padding-inline:var(--space-3);white-space:nowrap;display:inline-flex;position:absolute;inset:0}.loading-indicator{border:2px solid;border-inline-start-color:#0000;border-radius:50%;flex:none;width:1rem;height:1rem;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-card{padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-card);background:var(--color-surface)}.principle-card{border-radius:1.5rem;grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1.25rem;display:grid}.principle-icon{width:2.5rem;height:2.5rem;color:var(--accent-strong);background:var(--warm);border-radius:50%;place-items:center;font-weight:900;display:grid}.principle-card h2{margin-bottom:.45rem;font-size:1.05rem}.principle-card p{color:var(--muted);margin-bottom:0;line-height:1.55}.form-stack{gap:1rem;margin-top:1.75rem;display:grid}.field{min-width:0;color:var(--ink);font-size:var(--type-label-size);gap:.45rem;font-weight:720;display:grid}.field__label{width:fit-content}.field input:disabled,.field select:disabled,.field textarea:disabled{cursor:not-allowed;opacity:.58}.field--error input,.field--error select,.field--error textarea{border-color:var(--color-danger)}.field__message--error{color:var(--color-text)}.field__message--error>span{color:var(--color-danger);font-weight:800}.field input{border:1px solid var(--color-divider);border-radius:var(--radius-field);width:100%;min-height:3rem;color:var(--ink);background:var(--surface-strong);padding:.72rem .85rem}.field select{border:1px solid var(--color-divider);border-radius:var(--radius-field);width:100%;min-height:3rem;color:var(--ink);background:var(--surface-strong);padding:.72rem 2.3rem .72rem .85rem}.field textarea{resize:vertical;border:1px solid var(--color-divider);border-radius:var(--radius-field);width:100%;min-height:6rem;color:var(--ink);background:var(--surface-strong);padding:.72rem .85rem}.field textarea:focus,.field select:focus{border-color:var(--accent);outline:2px solid var(--color-focus);outline-offset:2px}.field input:hover{border-color:var(--color-text-muted)}.field input:focus{border-color:var(--accent);outline:2px solid var(--color-focus);outline-offset:2px}.field small{color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.45}.alert{border-radius:var(--radius-field);border:1px solid;margin:1.25rem 0 0;padding:.9rem 1rem;font-size:.9rem;line-height:1.5}.alert--error{border-color:var(--color-danger);color:var(--color-text);background:var(--color-danger-soft)}.alert--success{border-color:var(--color-divider);color:var(--color-text);background:var(--color-surface-raised)}.status-message,.loading-state{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-field);color:var(--color-text);background:var(--color-surface-raised);line-height:1.5;display:flex}.status-message--error{border-color:var(--color-danger);background:var(--color-danger-soft)}.status-message__marker{width:1.25rem;height:1.25rem;color:var(--color-text-secondary);font-size:var(--type-caption-size);border:1px solid;border-radius:50%;flex:none;place-items:center;font-weight:800;line-height:1;display:inline-grid}.status-message--error .status-message__marker{color:var(--color-danger)}.loading-state{color:var(--color-text-secondary);align-items:center}.text-link{width:fit-content;color:var(--accent-strong);text-underline-offset:.2em;margin-top:1.25rem;font-weight:700;display:inline-block}.form-action,.status-card .button{width:100%;margin-top:1.75rem}.profile-page{gap:var(--space-4);width:min(100%,58rem);min-width:0;margin-inline:auto;display:grid}.profile-hero{gap:var(--space-5);width:100%;display:grid}.profile-hero__copy{min-width:0}.profile-identity{gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.profile-identity__icon{width:2.75rem;height:2.75rem;color:var(--color-on-accent);background:var(--accent);border-radius:50%;place-items:center;display:grid}.profile-identity__icon .nav-icon{width:1.4rem;height:1.4rem}.profile-summary{gap:.75rem;margin:0;display:grid}.profile-summary>div{border-bottom:1px solid var(--line);min-width:0;padding-bottom:.75rem}.profile-summary>div:last-child{border-bottom:0;padding-bottom:0}.profile-summary dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.25rem;font-size:.74rem;font-weight:800}.profile-summary dd{overflow-wrap:anywhere;margin:0;font-weight:700}.profile-role{width:fit-content;color:var(--accent-strong);background:var(--color-accent-soft);border-radius:999px;padding:.2rem .55rem;display:inline-flex}.profile-settings-grid{gap:var(--space-4);min-width:0;display:grid}.profile-settings-card{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.profile-settings-card__heading h2{font-size:var(--type-h2-size);margin:.4rem 0 0}.profile-settings-card__heading p,.profile-danger-action p{color:var(--muted);margin:.5rem 0 0;line-height:1.55}.profile-settings-card>.button{width:100%;margin-top:auto}.profile-session-actions{gap:.75rem;margin-top:auto;display:grid}.profile-session-actions>.button,.profile-danger-action .button{width:100%}.profile-danger-action{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);display:grid}.profile-danger-action p{font-size:var(--type-caption-size);margin-top:0}.site-footer{color:var(--muted);text-align:center;padding:.75rem .25rem;font-size:.78rem}.today-page,.add-page{gap:1rem;width:min(100%,58rem);min-width:0;margin-inline:auto;display:grid}.add-heading{gap:var(--space-4);min-width:0;padding:var(--space-2);display:grid}.add-heading h1{max-width:15ch;margin:var(--space-1) 0 var(--space-3);font-size:clamp(2.25rem,11vw,4rem)}.add-heading p,.add-ai-disabled p{max-width:var(--content-text);color:var(--color-text-secondary);margin:0}.add-heading .button{width:100%}.add-methods{gap:var(--space-2);padding:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.add-methods a{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-pill);color:var(--color-text-secondary);background:var(--color-surface);font-size:var(--type-label-size);text-align:center;place-items:center;font-weight:750;text-decoration:none;display:grid}.add-methods a:hover{border-color:var(--color-text-muted);color:var(--color-text)}.add-method{min-width:0;scroll-margin-top:var(--space-4);gap:1rem;display:grid}.add-method:focus{outline:none}.add-method:focus-visible>:first-child{outline:2px solid var(--color-focus);outline-offset:3px}.add-ai-disabled{padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-card);background:var(--color-surface)}.add-ai-disabled p{margin-top:var(--space-2);font-size:var(--type-label-size)}.text-link--inline{margin-top:0}.today-summary,.today-quick-actions{border:1px solid var(--color-divider);background:var(--color-surface);min-width:0;box-shadow:var(--shadow);border-radius:1.4rem;padding:1.15rem}.today-summary{gap:var(--space-6);display:grid}.today-summary__heading{gap:var(--space-3);display:grid}.today-summary__heading h2,.today-quick-actions h2{margin:var(--space-1) 0 0}.today-summary__heading>p{width:fit-content;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--color-accent-hover);background:var(--color-accent-soft);font-size:var(--type-caption-size);margin:0;font-weight:750}.today-summary__body{gap:var(--space-6);align-items:center;min-width:0;display:grid}.calorie-ring{--progress:0;aspect-ratio:1;background:conic-gradient(var(--color-accent) calc(var(--progress) * 1%), var(--color-divider) 0);border-radius:50%;justify-self:center;width:min(11.5rem,72vw);padding:.75rem;display:grid;box-shadow:0 0 2.5rem #f47a201f}.calorie-ring--without-target{background:var(--color-divider)}.calorie-ring__center{background:var(--color-surface-raised);text-align:center;border-radius:50%;place-content:center;justify-items:center;min-width:0;display:grid}.calorie-ring__center strong{letter-spacing:-.06em;text-overflow:ellipsis;max-width:7ch;font-size:clamp(2rem,10vw,2.8rem);line-height:1;overflow:hidden}.calorie-ring__center span,.calorie-ring__center small{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.calorie-ring__center small{margin-top:var(--space-1)}.today-macros{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0;display:grid}.today-macro{min-width:0;padding:var(--space-3) var(--space-2);border-top:.2rem solid var(--color-accent);border-radius:var(--radius-field);background:var(--color-surface-raised)}.today-macro dt{color:var(--color-text-secondary);text-overflow:ellipsis;text-transform:uppercase;font-size:.66rem;font-weight:750;overflow:hidden}.today-macro dd{gap:var(--space-1);min-width:0;margin:var(--space-2) 0 0;display:grid}.today-macro strong{overflow-wrap:anywhere;font-size:clamp(.9rem,4vw,1.1rem)}.today-macro span{color:var(--color-text-muted);font-size:.66rem;line-height:1.35}.today-nutrients{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.today-nutrients>div{min-width:0;padding:var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-field);background:color-mix(in srgb, var(--color-surface-raised) 72%, transparent)}.today-nutrients dt{color:var(--color-text-secondary);font-size:var(--type-caption-size)}.today-nutrients dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-weight:800}.today-summary__note,.today-quick-actions p,.meal-list__semantics{color:var(--color-text-secondary);font-size:var(--type-label-size);margin:0;line-height:1.55}.today-summary__note{padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.today-quick-actions{gap:var(--space-4);display:grid}.today-quick-actions>div:first-child,.today-quick-actions__buttons{gap:var(--space-2);display:grid}.trainer-page,.admin-page,.operations-page{gap:1rem;width:min(100%,64rem);min-width:0;margin-inline:auto;display:grid}.usage-page{gap:1rem;width:min(100%,68rem);min-width:0;margin-inline:auto;display:grid}.usage-panel{gap:1rem;min-width:0;display:grid}.usage-panel h2,.usage-panel p,.usage-panel dl{margin:0}.usage-filter-grid,.usage-limit-form{gap:.8rem;display:grid}.usage-filter-grid .button,.usage-limit-form .button{width:100%}.usage-overview{gap:var(--space-5);width:100%;display:grid}.usage-overview h1{max-width:none}.usage-overview__facts{gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised);display:grid}.usage-overview__facts span,.usage-overview__facts small{color:var(--muted)}.usage-overview__facts strong{overflow-wrap:anywhere;color:var(--accent-strong)}.usage-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.usage-kpis>div{background:var(--color-surface-raised);border-radius:.85rem;min-width:0;padding:.75rem}.usage-kpis dt{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:800}.usage-kpis dd{overflow-wrap:anywhere;color:var(--accent-strong);margin:.25rem 0 0;font-size:1.05rem;font-weight:850}.usage-kpi--unknown{border:1px solid var(--color-danger);background:var(--color-danger-soft)!important}.usage-kpi--unknown dd{color:var(--color-danger)}.usage-legend,.usage-thresholds{flex-wrap:wrap;gap:.4rem;display:flex}.usage-summary-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.usage-summary-actions .button{min-height:2.25rem;padding:.45rem .7rem;font-size:.72rem}.usage-legend span,.usage-thresholds span{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:.35rem .5rem;font-size:.7rem;font-weight:750}.usage-thresholds .usage-threshold--blocked{color:var(--color-danger);background:var(--color-danger-soft)}.usage-chart,.usage-request-list,.usage-limit-list,.usage-limit-meters{gap:.7rem;display:grid}.usage-chart-row{grid-template-columns:minmax(6rem,.8fr) minmax(5rem,1.2fr) auto;align-items:center;gap:.55rem;min-width:0;font-size:.76rem;display:grid}.usage-chart-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-chart-track{background:var(--color-divider);border-radius:999px;height:.7rem;display:flex;overflow:hidden}.usage-chart-track i,.usage-chart-track b{height:100%;display:block}.usage-chart-track i{background:var(--accent)}.usage-chart-track b{background:var(--warm)}.usage-table-wrap{contain:inline-size;border-radius:var(--radius-field);scrollbar-color:var(--color-text-muted) transparent;width:100%;min-width:0;max-width:100%;display:none;overflow-x:auto}.usage-mobile-list{gap:var(--space-3);display:grid}.usage-mobile-list article{gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised);display:grid}.usage-mobile-list article>div:first-child{gap:var(--space-1);min-width:0;display:grid}.usage-mobile-list article>div:first-child span{overflow-wrap:anywhere;color:var(--muted);font-size:var(--type-caption-size)}.usage-mobile-list dl{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.usage-mobile-list dl>div{min-width:0}.usage-mobile-list dt{color:var(--muted);font-size:var(--type-caption-size)}.usage-mobile-list dd{overflow-wrap:anywhere;margin:var(--space-1) 0 0;font-weight:800}.usage-mobile-list .button{width:100%}.usage-table-wrap:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.usage-table{border-collapse:collapse;width:100%;min-width:48rem;font-size:.78rem}.usage-table caption{padding:0 0 var(--space-3);color:var(--color-text-secondary);text-align:left;font-weight:750}.usage-table th,.usage-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.65rem}.usage-table th{color:var(--muted);text-transform:uppercase;font-size:.66rem}.usage-table .button{min-height:2.2rem;padding:.45rem .65rem;font-size:.72rem}.usage-request-list article,.usage-limit-list>article{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:.9rem;gap:.5rem;min-width:0;padding:.85rem;display:grid}.usage-request-list article>div,.usage-limit-list .section-heading>div,.usage-limit-meter>div:first-child{justify-content:space-between;align-items:start;gap:.65rem;min-width:0;display:flex}.usage-request-list article>span,.usage-request-list time,.usage-limit-list .section-heading span,.usage-limit-meter small{overflow-wrap:anywhere;color:var(--muted);font-size:.74rem}.usage-limit-meter{background:var(--color-surface-raised);border-radius:.8rem;gap:.4rem;min-width:0;padding:.7rem;display:grid}.usage-limit-track{background:var(--color-divider);border-radius:999px;height:.55rem;overflow:hidden}.usage-limit-track span{border-radius:inherit;background:var(--warm);height:100%;display:block}.usage-limit-track .usage-limit-fill--blocked{background:var(--color-danger)}.usage-limit-confirm{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-field);background:var(--color-danger-soft);display:grid}.usage-limit-confirm p{color:var(--color-text-secondary);line-height:1.5}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.operations-panel{gap:1rem;min-width:0;display:grid}.operations-overview,.operations-grid{gap:var(--space-4);min-width:0;display:grid}.operations-overview h1{max-width:none}.operations-scope{gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised);display:grid}.operations-scope>span{color:var(--accent-strong);font-weight:800}.operations-scope dl{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.operations-scope dl>div{min-width:0;padding:var(--space-3);border-radius:var(--radius-field);background:var(--surface)}.operations-scope dt,.operations-scope small{color:var(--muted)}.operations-scope dt{font-size:var(--type-caption-size);text-transform:uppercase;font-weight:800}.operations-scope dd{margin:var(--space-1) 0 0;color:var(--accent-strong);font-size:1.45rem;font-weight:850}.operations-panel h2,.operations-list p{margin:0}.operations-filter{max-width:18rem}.operations-list{gap:.7rem;display:grid}.operations-list article{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:.9rem;gap:.35rem;min-width:0;padding:.85rem;display:grid}.operations-list article>span,.operations-list time{overflow-wrap:anywhere;color:var(--muted);font-size:.78rem}.operations-row-heading{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.job-status{background:var(--color-surface-raised);border-radius:999px;padding:.3rem .5rem;font-size:.7rem;font-weight:750}.job-status--failed{color:var(--color-danger);background:var(--color-danger-soft)}.job-status--succeeded{color:var(--accent-strong);background:var(--color-surface-raised)}.job-safe-error{border:1px solid var(--color-accent);color:var(--color-text);background:var(--color-accent-soft);overflow-wrap:anywhere;border-radius:.7rem;padding:.65rem}.admin-panel{gap:1rem;min-width:0;display:grid}.admin-panel h2{margin:0}.admin-create-form,.assignment-form,.admin-search{gap:.85rem;display:grid}.admin-create-form .button,.assignment-form .button,.admin-search .button{width:100%}.admin-overview{gap:var(--space-5);width:100%;display:grid}.admin-overview h1{max-width:none}.admin-overview__metrics{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;display:grid}.admin-overview__metrics>div{min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised)}.admin-overview__metrics dt{color:var(--muted);font-size:var(--type-caption-size);letter-spacing:.05em;text-transform:uppercase;font-weight:800}.admin-overview__metrics dd{margin:var(--space-1) 0 0;color:var(--accent-strong);font-size:clamp(1.7rem,8vw,2.75rem);font-weight:850;line-height:1}.admin-management-grid{gap:var(--space-4);min-width:0;display:grid}.assignment-list,.admin-user-list{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.assignment-list li,.admin-user-list article{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:.9rem;gap:.65rem;min-width:0;padding:.85rem;display:grid}.assignment-list li span,.admin-user-list article>div{gap:.2rem;min-width:0;display:grid}.admin-user-list article span,.admin-user-list article small{overflow-wrap:anywhere;color:var(--muted)}.admin-role-field{min-width:0}.admin-status{border-radius:999px;width:fit-content;padding:.15rem .45rem;font-weight:800;display:inline-flex}.admin-status[data-status=active]{color:var(--accent-strong);background:var(--color-accent-soft)}.admin-status[data-status=invited]{color:var(--color-text-secondary);background:var(--color-overlay)}.admin-status[data-status=blocked]{color:var(--color-danger);background:var(--color-danger-soft)}.admin-danger-confirm{gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-field);background:var(--color-danger-soft);display:grid}.admin-danger-confirm p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);line-height:1.5}.trainer-heading{justify-content:space-between;align-items:end;gap:.75rem;min-width:0;padding:.5rem .25rem;display:flex}.trainer-heading h1{overflow-wrap:anywhere;margin:.3rem 0 0;font-size:clamp(2.4rem,12vw,4.5rem)}.trainer-overview{gap:var(--space-5);width:100%;display:grid}.trainer-overview h1{max-width:none}.trainer-overview__metric{min-width:8.5rem;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised);margin:0}.trainer-overview__metric dt,.trainer-overview__metric span{color:var(--muted);font-size:var(--type-caption-size)}.trainer-overview__metric dt{letter-spacing:.06em;text-transform:uppercase;font-weight:800}.trainer-overview__metric dd{color:var(--accent-strong);margin:.15rem 0;font-size:clamp(2rem,8vw,3.25rem);font-weight:850;line-height:1}.trainer-history,.trainer-target{min-width:0}.trainer-search,.trainer-range,.target-form{gap:.85rem;display:grid}.trainer-search .button{width:100%}.trainer-results-heading{justify-content:space-between;align-items:end;gap:var(--space-3);min-width:0;padding:var(--space-2) var(--space-1) 0;display:flex}.trainer-results-heading h2{margin:.3rem 0 0}.trainer-client-grid{gap:.8rem;display:grid}.trainer-client-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:1.1rem;gap:.7rem;padding:1rem;text-decoration:none;display:grid}.trainer-client-card:hover{border-color:var(--color-text-muted);transform:translateY(-1px)}.trainer-client-card h3,.trainer-client-card p,.trainer-client-card dl,.trainer-target h2,.trainer-day-heading h2{margin:0}.trainer-client-card__identity{gap:var(--space-2);min-width:0;display:grid}.trainer-client-card__identity>div{min-width:0}.trainer-client-card__identity .timezone-chip{text-overflow:ellipsis;width:fit-content;max-width:100%;overflow:hidden}.trainer-client-card p{overflow-wrap:anywhere;color:var(--muted);font-size:.85rem}.trainer-client-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.trainer-client-card dl>div{background:var(--color-surface-raised);border-radius:.75rem;min-width:0;padding:.65rem}.trainer-client-card dt{color:var(--muted);text-transform:uppercase;font-size:.65rem;font-weight:750}.trainer-client-card dd{text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 0;font-size:.82rem;font-weight:800;overflow:hidden}.trainer-card-flags{flex-wrap:wrap;gap:.4rem;display:flex}.trainer-card-flags span{color:var(--color-text);background:var(--color-accent-soft);border-radius:999px;padding:.35rem .5rem;font-size:.7rem;font-weight:750}.trainer-card-flags span[data-tone=attention]{color:var(--accent-strong);background:var(--color-accent-soft)}.trainer-card-flags span[data-tone=neutral]{color:var(--color-text-secondary);background:var(--color-surface-raised)}.trainer-card-flags span[data-tone=ready]{color:var(--accent-strong)}.trainer-client-card__action{padding-top:var(--space-2);border-top:1px solid var(--line);color:var(--accent-strong);font-size:var(--type-label-size);font-weight:800}.trainer-pagination{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.trainer-pagination span{color:var(--muted);text-align:center;font-size:.78rem}.trainer-history,.trainer-target{gap:1rem;display:grid}.trainer-range{border-top:1px solid var(--line);padding-top:.9rem}.trainer-day-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.trainer-day{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--color-surface-raised);cursor:pointer;text-align:left;border-radius:.85rem;gap:.25rem;padding:.7rem;display:grid}.trainer-day[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.trainer-day--empty{background:var(--color-surface-raised);border-style:dashed}.trainer-day--exceeded{border-color:var(--color-accent);background:var(--color-accent-soft)}.trainer-day time,.trainer-day small{color:var(--muted);font-size:.68rem}.trainer-day strong{text-overflow:ellipsis;overflow:hidden}.target-form .button{width:100%}.trainer-day-heading{justify-content:space-between;align-items:end;gap:var(--space-3);min-width:0;padding:.7rem .25rem 0;display:flex}.trainer-client-overview{gap:var(--space-4);width:100%;display:grid}.trainer-client-overview__identity{gap:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;display:grid}.trainer-client-overview__identity h1{overflow-wrap:anywhere;max-width:none;margin-top:var(--space-2);font-size:clamp(1.85rem,9vw,3.5rem)}.trainer-client-overview__identity p{overflow-wrap:anywhere;margin:var(--space-2) 0 0;color:var(--muted)}.trainer-client-overview__icon{width:3rem;height:3rem;color:var(--color-on-accent);background:var(--accent);border-radius:50%;place-items:center;display:grid}.trainer-client-overview__icon .nav-icon{width:1.5rem;height:1.5rem}.trainer-client-overview__meta{gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-surface-raised);color:var(--muted);font-size:var(--type-caption-size);align-content:center;display:grid}.trainer-client-overview__meta strong{color:var(--color-text)}.trainer-client-overview__meta .timezone-chip{width:fit-content;max-width:100%}.today-heading{justify-content:space-between;align-items:end;gap:.75rem;min-width:0;padding:.5rem .25rem;display:flex}.today-heading h1{margin:.3rem 0 0;font-size:clamp(2.4rem,13vw,4.5rem)}.timezone-chip,.meal-count{max-width:48%;color:var(--muted);background:var(--color-overlay);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.45rem .65rem;font-size:.72rem;font-weight:750;overflow:hidden}.summary-card,.trainer-comments,.voice-card,.photo-card,.manual-card,.meal-list,.history-picker,.diary-state,.trainer-comments{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:1.4rem;padding:1.15rem}.comment-form,.comment-edit{gap:.85rem;margin-top:1rem;display:grid}.comment-form .button{width:100%}.comment-list{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.comment-list>li{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:.9rem;min-width:0;padding:.85rem}.comment-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.65rem 0 0;line-height:1.5}.comment-meta{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.comment-meta span{color:var(--muted);text-align:right;font-size:.72rem}.comment-edit-button{color:var(--accent-strong);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;margin-top:.65rem;padding:0;font-size:.78rem;font-weight:750;text-decoration:underline}.section-heading,.meal-card__header{justify-content:space-between;align-items:start;gap:.75rem;min-width:0;display:flex}.section-heading h2,.voice-card h2,.photo-card h2,.manual-card h2,.meal-card h3,.pending-edit h4,.diary-state h2{margin:.25rem 0 0}.calorie-total{color:var(--accent-strong);letter-spacing:-.04em;flex:none;font-size:1.6rem}.calorie-total small{letter-spacing:0;font-size:.72rem}.progress-track{background:var(--color-divider);border-radius:999px;height:.7rem;margin-top:1.1rem;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--color-accent), var(--color-accent-hover));min-width:0;height:100%;display:block}.progress-caption,.section-description,.diary-state p,.history-picker p,.empty-meals p,.pending-edit>p{color:var(--muted);margin:.65rem 0 0;font-size:.86rem;line-height:1.5}.nutrition-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0 0;display:grid}.nutrition-line>div{background:var(--color-surface-raised);border-radius:.8rem;min-width:0;padding:.65rem}.nutrition-line dt{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:750}.nutrition-line dd{text-overflow:ellipsis;white-space:nowrap;margin:.18rem 0 0;font-size:.86rem;font-weight:800;overflow:hidden}.voice-actions,.voice-selection{gap:.65rem;margin-top:1rem;display:grid}.voice-actions .button,.voice-selection .button{width:100%}.voice-file-button{position:relative;overflow:hidden}.voice-file-button input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.voice-file-button:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.voice-selection{background:var(--color-surface-raised);border-radius:.9rem;align-items:center;padding:.8rem}.voice-selection span{overflow-wrap:anywhere;font-weight:750}.voice-selection small{color:var(--muted)}.upload-progress{background:var(--color-divider);border-radius:999px;height:.55rem;margin-top:.75rem;overflow:hidden}.upload-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .12s ease-out;display:block}.voice-processing,.voice-processing-hint{border:1px solid var(--color-accent);background:var(--color-accent-soft);border-radius:1rem;margin:0;padding:.9rem}.voice-processing{gap:.75rem;display:grid}.voice-processing h3,.voice-processing p{margin:.25rem 0 0}.voice-processing p,.voice-processing-hint{color:var(--muted);font-size:.86rem;line-height:1.45}.photo-card form{gap:.8rem;margin-top:1rem;display:grid}.photo-file-button{position:relative;overflow:hidden}.photo-file-button input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.photo-file-button:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.photo-preview{background:var(--color-surface-raised);border-radius:1rem;gap:.45rem;padding:.7rem;display:grid}.photo-preview img{object-fit:contain;border-radius:.7rem;width:100%;max-height:18rem}.photo-preview span{overflow-wrap:anywhere;color:var(--muted);font-size:.78rem}.photo-processing,.estimate-note{border:1px solid var(--color-accent);background:var(--color-accent-soft);border-radius:.9rem;gap:.45rem;margin-top:.85rem;padding:.8rem;display:grid}.photo-processing p,.estimate-note p,.estimate-note ul{color:var(--muted);margin:0;font-size:.84rem;line-height:1.45}.estimate-note ul{padding-left:1.2rem}.barcode-scanner{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:1rem;gap:.75rem;margin-top:1rem;padding:.85rem;display:grid}.barcode-scanner__heading{gap:.75rem;display:grid}.barcode-scanner__actions{gap:.5rem;display:grid}.barcode-scanner__heading h3,.barcode-scanner__heading p,.scanner-message,.barcode-candidate span{margin:0}.barcode-scanner__heading p,.scanner-message,.barcode-candidate span{color:var(--muted);font-size:.86rem;line-height:1.45}.barcode-video{aspect-ratio:4/3;background:var(--color-bg);object-fit:cover;border-radius:.85rem;width:100%;max-height:24rem}.barcode-video[hidden]{display:none}.barcode-candidate{background:var(--color-surface-raised);border-radius:.8rem;gap:.45rem;padding:.75rem;display:grid}.barcode-candidate .button,.barcode-scanner__actions .button{width:100%}.food-search,.manual-form,.meal-edit-form{gap:.85rem;margin-top:1rem;display:grid}.food-search .button{width:100%}.food-results,.meal-items{margin:.85rem 0 0;padding:0;list-style:none}.food-results{gap:.5rem;display:grid}.food-results button{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--color-surface-raised);cursor:pointer;text-align:left;border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem;display:flex}.food-results button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.food-results small{color:var(--muted);flex:none}.selected-food{background:var(--accent-soft);border-radius:.8rem;margin:0;padding:.75rem}.form-grid{gap:.85rem;min-width:0;display:grid}.meal-list{gap:1rem;display:grid}.meal-list__semantics{padding:var(--space-3);border-radius:var(--radius-field);background:var(--color-surface-raised)}.meal-count{min-width:2rem;color:var(--accent-strong);background:var(--accent-soft);text-align:center}.meal-cards{gap:.8rem;display:grid}.meal-card,.empty-meals{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:1.05rem;min-width:0;padding:1rem}.meal-card__header time{color:var(--muted);flex:none;font-size:.9rem;font-weight:800}.history-picker{gap:1rem;display:grid}.history-picker h2,.history-picker p,.meal-summary-note,.history-picker .field{margin:0}.meal-summary-note{color:var(--muted);background:var(--color-surface-raised);border-radius:.75rem;margin-top:.85rem;padding:.65rem .75rem;font-size:.78rem;line-height:1.45}.status-pill{color:var(--color-text-secondary);background:var(--color-accent-soft);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;margin-bottom:.15rem;padding:.3rem .48rem;font-size:.63rem;font-weight:850;display:inline-flex}.status-pill--confirmed{color:var(--accent-strong);background:var(--accent-soft)}.status-pill--needs_review,.status-pill--failed{color:var(--color-danger);background:var(--color-danger-soft)}.meal-items{gap:.1rem;display:grid}.meal-items li{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:start;gap:.75rem;min-width:0;padding:.65rem 0;font-size:.86rem;display:flex}.meal-items li>span:first-child{gap:.2rem;min-width:0;display:grid}.meal-items small{color:var(--muted)}.meal-items li>span:last-child{flex:none;font-weight:750}.meal-actions,.compact-actions{gap:.55rem;margin-top:1rem;display:grid}.meal-actions .button,.compact-actions .button{width:100%;min-height:2.6rem;padding-block:.62rem;font-size:.82rem}.pending-edit{border:1px solid var(--color-accent);background:var(--color-accent-soft);border-radius:.9rem;margin-top:1rem;padding:.9rem}.empty-meals{text-align:center}.empty-meals h3{margin:0}.diary-state .button{width:100%;margin-top:1rem}.progress-page{gap:1rem;width:min(100%,68rem);min-width:0;margin-inline:auto;display:grid}.progress-achievements-link{width:fit-content}.achievements-page{gap:var(--space-4);width:min(100%,64rem);min-width:0;margin-inline:auto;display:grid}.achievement-stats,.achievement-grid{gap:var(--space-3);min-width:0;display:grid}.achievement-stats article,.achievement-card{min-width:0;padding:var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow)}.achievement-stats article{gap:var(--space-2);display:grid}.achievement-stats span,.achievement-stats small,.achievement-card p{color:var(--color-text-secondary)}.achievement-stats strong{font-size:clamp(1.8rem,8vw,2.8rem)}.achievement-card{gap:var(--space-4);display:grid}.achievement-card__heading{align-items:start;gap:var(--space-3);display:flex}.achievement-card__heading>span{width:2.5rem;height:2.5rem;color:var(--color-text);background:var(--color-surface-raised);border-radius:50%;flex:none;place-items:center;font-weight:850;display:grid}.achievement-card[data-achieved=true] .achievement-card__heading>span{color:var(--color-background);background:var(--color-accent)}.achievement-card h3,.achievement-card p{margin:0}.achievement-card p{margin-top:var(--space-1);line-height:1.5}.achievement-card progress{width:100%;height:.7rem;accent-color:var(--color-accent)}@media (width>=48rem){.profile-hero{grid-template-columns:minmax(0,1.1fr) minmax(17rem,.9fr);align-items:center}.profile-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.trainer-overview{grid-template-columns:minmax(0,1fr) auto;align-items:center}.trainer-client-card__identity{grid-template-columns:minmax(0,1fr) auto;align-items:start}.trainer-client-overview{grid-template-columns:minmax(0,1fr) minmax(15rem,.42fr);align-items:center}.admin-overview{grid-template-columns:minmax(0,1fr) minmax(14rem,.38fr);align-items:center}.admin-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create-form .button{width:fit-content}.admin-search{grid-template-columns:minmax(12rem,1fr) repeat(2,minmax(9rem,.45fr)) auto;align-items:end}.admin-search .button{width:auto}.admin-user-list article{grid-template-columns:minmax(0,1fr) minmax(10rem,.38fr) auto;align-items:end}.admin-danger-confirm{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-danger-confirm .compact-actions{justify-content:end}.usage-overview{grid-template-columns:minmax(0,1fr) minmax(17rem,.42fr);align-items:center}.achievement-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-grid .section-heading{grid-column:1/-1}}.progress-heading{justify-content:space-between;align-items:end;gap:var(--space-3);min-width:0;padding:var(--space-2);display:flex}.progress-heading h1{margin:var(--space-1) 0 var(--space-2);font-size:clamp(2.4rem,13vw,4.5rem)}.progress-heading p{max-width:var(--content-text);color:var(--color-text-secondary);margin:0;line-height:1.55}.period-switcher{gap:var(--space-1);width:fit-content;padding:var(--space-1);border:1px solid var(--color-divider);border-radius:var(--radius-pill);background:var(--color-surface);grid-template-columns:repeat(2,minmax(7rem,1fr));display:grid}.period-switcher button{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);color:var(--color-text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;font-weight:750}.period-switcher button[aria-pressed=true]{color:var(--color-accent-hover);background:var(--color-accent-soft)}.progress-period,.progress-data-note{min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-divider);border-radius:var(--radius-field);background:var(--color-surface-raised)}.progress-period{justify-content:space-between;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.progress-period span,.progress-data-note{color:var(--color-text-secondary);font-size:var(--type-label-size);line-height:1.55}.progress-charts{gap:1rem;min-width:0;display:grid}.progress-chart,.progress-table-card{border:1px solid var(--color-divider);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow);padding:1.15rem}.progress-chart__heading{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.progress-chart__heading h2{margin:var(--space-1) 0 0}.progress-chart__legend{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text-muted);font-size:var(--type-caption-size);flex:0 auto;display:inline-flex}.progress-chart__legend i{background:var(--color-text-muted);border-radius:.2rem;width:.75rem;height:.75rem}.progress-chart--primary .progress-chart__legend i{background:var(--color-accent)}.progress-chart__viewport{min-width:0;margin-top:var(--space-4);padding:var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-field);scrollbar-color:var(--color-text-muted) transparent;overflow-x:auto}.progress-chart__plot{align-items:end;gap:.2rem;min-width:100%;height:13.5rem;display:grid}.progress-point{align-items:end;gap:var(--space-1);min-width:1.25rem;height:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;grid-template-rows:minmax(0,1fr) auto;padding:0;display:grid;position:relative}.progress-point__track{border-bottom:1px solid var(--color-divider);align-items:end;width:100%;height:100%;display:flex}.progress-point__track i{background:var(--color-text-muted);border-radius:.25rem .25rem 0 0;width:100%;min-height:.18rem;display:block}.progress-chart--primary .progress-point__track i{background:linear-gradient(var(--color-accent), var(--color-accent-hover))}.progress-point[data-state=missing] .progress-point__track{border-bottom-style:dashed}.progress-point[data-state=missing] .progress-point__track i,.progress-point[data-state=unknown] .progress-point__track i{min-height:0;height:0!important}.progress-point[data-state=unknown] .progress-point__track:after{content:"?";width:100%;color:var(--color-text-muted);font-size:var(--type-caption-size);text-align:center}.progress-point small{text-align:center;text-overflow:clip;white-space:nowrap;width:100%;font-size:.58rem;overflow:hidden}.progress-point__tooltip{z-index:4;bottom:calc(100% + var(--space-2));width:max-content;max-width:14rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-divider);border-radius:var(--radius-field);color:var(--color-text);background:var(--color-overlay);box-shadow:var(--shadow);font-size:var(--type-caption-size);text-align:left;display:none;position:absolute;left:50%;transform:translate(-50%)}.progress-point:hover .progress-point__tooltip,.progress-point:focus-visible .progress-point__tooltip{display:block}.progress-data-note strong{color:var(--color-text)}.progress-table-card{gap:var(--space-4);display:grid;overflow:hidden}.progress-table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto}.progress-table{border-collapse:collapse;width:100%;min-width:38rem;font-size:var(--type-label-size)}.progress-table th,.progress-table td{padding:var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left}.progress-table thead th{color:var(--color-text-secondary);background:var(--color-surface-raised)}.progress-table tbody th{white-space:nowrap}.progress-table td{color:var(--color-text-secondary)}.measurements-panel{gap:var(--space-4);min-width:0;margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-divider);display:grid}.measurements-panel__heading{justify-content:space-between;align-items:start;gap:var(--space-3);padding-inline:var(--space-2);display:flex}.measurements-panel__heading h2{margin:var(--space-1) 0 var(--space-2)}.measurements-panel__heading p{max-width:var(--content-text);color:var(--color-text-secondary);margin:0;line-height:1.55}.measurement-form,.measurement-state,.measurement-chart,.measurement-table-wrap{border:1px solid var(--color-divider);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow);padding:1.15rem}.measurement-form{gap:var(--space-4);display:grid}.measurement-form h3,.measurement-state p{margin:0}.measurement-form__grid{gap:var(--space-3);display:grid}.measurement-form .button{width:100%}.measurement-limits,.measurement-chart__empty,.measurement-state{color:var(--color-text-secondary);font-size:var(--type-label-size);line-height:1.55}.measurement-limits,.measurement-chart__empty{margin:0}.measurement-state{gap:var(--space-2);display:grid}.measurement-state strong{color:var(--color-text)}.measurement-state .button{width:fit-content}.measurement-charts{gap:var(--space-4);min-width:0;display:grid}.measurement-chart{gap:var(--space-3);display:grid}.measurement-chart .progress-chart__legend i{background:var(--color-accent)}.measurement-chart__viewport{min-width:0;padding:var(--space-2) var(--space-1) var(--space-3);border-radius:var(--radius-field);scrollbar-color:var(--color-text-muted) transparent;overflow-x:auto}.measurement-chart__plot{align-items:end;gap:var(--space-2);min-width:100%;height:14rem;display:grid}.measurement-point{align-items:end;gap:var(--space-1);min-width:3rem;height:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;grid-template-rows:auto minmax(0,1fr) auto;padding:0;display:grid;position:relative}.measurement-point__value{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden}.measurement-point__track{border-bottom:1px solid var(--color-divider);align-items:end;width:100%;height:100%;display:flex}.measurement-point__track i{background:linear-gradient(var(--color-accent), var(--color-accent-hover));border-radius:.25rem .25rem 0 0;width:100%;display:block}.measurement-point small{text-align:center;width:100%;font-size:.65rem}.measurement-point:hover .progress-point__tooltip,.measurement-point:focus-visible .progress-point__tooltip{display:block}.measurement-table-wrap{overflow-x:auto}.measurement-table{border-collapse:collapse;width:100%;min-width:44rem;font-size:var(--type-label-size)}.measurement-table caption{padding:0 0 var(--space-3);color:var(--color-text-secondary);text-align:left;font-weight:750}.measurement-table th,.measurement-table td{padding:var(--space-3);border-bottom:1px solid var(--color-divider);text-align:left;vertical-align:top}.measurement-table thead th{color:var(--color-text-secondary);background:var(--color-surface-raised)}.measurement-table tbody th small{margin-top:var(--space-1);color:var(--color-text-muted);font-weight:500;display:block}.measurement-table td{color:var(--color-text-secondary)}.measurement-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.measurement-actions .button{width:auto;min-height:2.6rem;padding:var(--space-2) var(--space-3)}.measurement-form--edit{border-color:var(--color-accent)}@media (width>=30rem){.site-header__identity{justify-content:space-between;justify-items:normal;display:flex}.user-context{border-top:0;justify-items:end;width:auto;padding-top:0}.trainer-client-overview__identity{grid-template-columns:auto minmax(0,1fr)}.app-shell--client{padding-bottom:max(1rem, env(safe-area-inset-bottom))}.primary-nav--client{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:0;padding:.15rem;position:static}.primary-nav--client .nav-link{gap:var(--space-2);font-size:var(--type-label-size);flex-direction:row;padding:.65rem .55rem}}@media (width>=40rem){.app-shell{gap:1.5rem;padding:1.5rem}.site-header{grid-template-columns:auto 1fr;align-items:center}.primary-nav{flex-wrap:wrap;justify-content:flex-end;display:flex}.nav-link{flex:none;padding-inline:.8rem}.action-row{flex-direction:row}.button{width:auto}.today-summary,.today-quick-actions{padding:1.5rem}.today-summary__heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.today-summary__body{grid-template-columns:minmax(11.5rem,.7fr) minmax(0,1.3fr)}.today-quick-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center}.today-quick-actions__buttons{grid-template-columns:repeat(2,max-content)}.add-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end}.add-heading .button,.public-hero__actions .button{width:auto}.summary-card,.trainer-comments,.voice-card,.manual-card,.meal-list,.history-picker,.diary-state{padding:1.5rem}.comment-form{grid-template-columns:minmax(12rem,.6fr) minmax(0,1.4fr) auto;align-items:end}.comment-form .button{width:auto}.nutrition-line{grid-template-columns:repeat(4,minmax(0,1fr))}.voice-actions{grid-template-columns:repeat(2,minmax(0,max-content))}.voice-actions .button,.voice-selection .button{width:auto}.voice-selection{grid-template-columns:minmax(0,1fr) auto auto}.history-picker{grid-template-columns:minmax(0,1fr) minmax(12rem,16rem);align-items:end}.trainer-search{grid-template-columns:minmax(0,1fr) auto;align-items:end}.trainer-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-range{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.trainer-day-strip{grid-template-columns:repeat(7,minmax(0,1fr))}.target-form .button{justify-self:start;width:auto}.barcode-scanner__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.barcode-scanner__actions .button,.barcode-candidate .button{justify-self:start;width:auto}.barcode-scanner__actions{flex-wrap:wrap;justify-content:flex-end;display:flex}.food-search{grid-template-columns:minmax(0,1fr) auto;align-items:end}.food-search .button{width:auto}.form-grid,.measurement-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-form .button{width:fit-content}.usage-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.usage-filter-grid .button,.usage-limit-form .button{justify-self:start;width:auto}.usage-limit-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.usage-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-limit-meters{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-actions,.compact-actions{flex-wrap:wrap;display:flex}.meal-actions .button,.compact-actions .button{width:auto}}@media (width>=58rem){.hero{grid-template-columns:minmax(0,1.65fr) minmax(16rem,.75fr);align-items:end}.public-hero{grid-template-columns:minmax(0,1.05fr) minmax(26rem,.95fr);align-items:stretch}.public-hero .hero-copy{flex-direction:column;justify-content:center;display:flex}.public-hero .brand-visual{min-height:38rem}.auth-layout{grid-template-columns:minmax(25rem,1fr) minmax(20rem,.78fr);align-items:stretch}.auth-layout .auth-card{width:100%;margin-inline:0}.auth-layout .brand-visual--compact{min-height:34rem}.principle-card{margin-bottom:1rem}}@media (width>=64rem){.operations-overview{grid-template-columns:minmax(0,1.25fr) minmax(17rem,.75fr);align-items:center}.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.usage-mobile-list{display:none}.usage-table-wrap{display:block}.admin-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.app-shell--trainer,.app-shell--admin{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(15rem,17rem) minmax(0,1fr);align-items:start;width:min(100%,80rem)}.app-shell--trainer .site-header,.app-shell--admin .site-header{top:max(1.5rem, env(safe-area-inset-top));grid-row:1/-1;grid-template-columns:minmax(0,1fr);align-items:stretch;position:sticky}.app-shell--trainer .site-header__identity,.app-shell--admin .site-header__identity{justify-items:start;display:grid}.app-shell--trainer .user-context,.app-shell--admin .user-context{width:100%;padding-top:var(--space-3);border-top:1px solid var(--color-divider);justify-items:start}.app-shell--trainer .primary-nav,.app-shell--admin .primary-nav{flex-direction:column;align-items:stretch}.app-shell--trainer .nav-link,.app-shell--admin .nav-link{text-align:left;justify-content:flex-start}.app-shell--trainer .site-main,.app-shell--admin .site-main,.app-shell--trainer .site-footer,.app-shell--admin .site-footer{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.loading-indicator{border-inline-start-color:currentColor;border-style:dotted;transform:none}}
