:root{--color-brand-primary:#005061;--color-brand-primary-hover:#003f4c;--color-brand-primary-soft:#e8f3f4;--color-brand-accent:#fd7264;--color-brand-accent-hover:#e85f52;--color-brand-accent-soft:#fff0ed;--color-background:#f4f7f7;--color-surface:#fff;--color-surface-subtle:#eef4f4;--color-surface-raised:#fff;--color-text:#183238;--color-text-muted:#5d7074;--color-text-inverse:#fff;--color-border:#d6e1e2;--color-border-strong:#aabcc0;--color-focus-ring:#b7dde1;--color-positive:#28745a;--color-positive-background:#eaf7f1;--color-warning:#8a5a00;--color-warning-background:#fff5d9;--color-negative:#a83f36;--color-negative-background:#fff0ee;--color-information:#235f8a;--color-information-background:#edf6fc;--font-family-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-caption:.75rem;--font-size-small:.875rem;--font-size-body:1rem;--font-size-subheading:1.125rem;--font-size-section-heading:1.375rem;--font-size-page-heading:1.75rem;--font-size-summary:2rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-heading:1.3;--line-height-body:1.5;--line-height-small:1.4;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-small:.5rem;--radius-medium:.75rem;--radius-large:1rem;--radius-extra-large:1.5rem;--radius-pill:9999px;--border-width:1px;--focus-ring-width:3px;--shadow-card:0 8px 28px #12363c14;--shadow-floating:0 14px 36px #12363c29;--page-content-max-width:47.5rem;--page-margin-mobile:1rem;--page-margin-desktop:2rem;--control-min-height:3rem;--touch-target-min-size:2.75rem;font-family:var(--font-family-sans);font-size:16px;line-height:var(--line-height-body);font-weight:var(--font-weight-regular);color:var(--color-text);background:var(--color-background);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);min-width:20rem;min-height:100%}body{background:var(--color-background);min-width:20rem;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,summary{-webkit-tap-highlight-color:transparent}img,picture,svg{max-width:100%;display:block}h1,h2,h3,h4,p{margin-block-start:0}p{line-height:var(--line-height-body)}#root{min-height:100vh}::selection{background:var(--color-brand-primary-soft);color:var(--color-text)}.app{min-height:100vh;padding:var(--page-margin-desktop) var(--page-margin-mobile);background:var(--color-background);color:var(--color-text);justify-content:center;align-items:flex-start;display:flex}.card{width:100%;max-width:var(--page-content-max-width);padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-extra-large);background:var(--color-surface-raised);box-shadow:var(--shadow-card)}.brand-logo{width:min(100%,32.5rem);height:auto;margin:0 auto var(--space-5);object-fit:contain}.brand-logo--compact{width:min(100%,20rem);margin:0}.status-card .brand-logo--compact{width:min(100%,22.5rem);margin:0 auto}.dashboard-header{justify-items:center;gap:var(--space-1);margin-bottom:var(--space-4);display:grid}.dashboard-header .brand-logo--compact{width:min(100%,21.25rem);margin:0 0 calc(var(--space-1) * -1)}.dashboard-header .current-date{color:var(--color-text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-transform:capitalize;margin:0}.account-bar{justify-content:center;align-items:center;gap:var(--space-3);line-height:var(--line-height-tight);display:flex}.account-welcome{color:var(--color-text-muted);font-size:var(--font-size-small)}.account-signout{min-width:var(--touch-target-min-size);min-height:var(--touch-target-min-size);padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);color:var(--color-brand-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);background:0 0;border:0}.account-signout:hover{background:var(--color-brand-primary-soft);color:var(--color-brand-primary-hover)}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-family-sans)}h1{margin-bottom:var(--space-4);font-size:var(--font-size-page-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h2{margin:var(--space-6) 0 var(--space-2);font-size:var(--font-size-section-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-heading)}h3{font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading);margin:0}h4{font-size:var(--font-size-body);line-height:var(--line-height-heading)}.subtitle{margin-top:var(--space-1);color:var(--color-text-muted)}.current-date{margin-top:var(--space-1);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-transform:capitalize}.empty{color:var(--color-text-muted)}.weight-summary,.summary{gap:var(--space-3);margin:var(--space-6) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.weight-summary div,.summary div{min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);text-align:center}.weight-summary div{border-color:color-mix(in srgb, var(--color-positive) 24%, var(--color-border));background:var(--color-positive-background)}.summary div{background:var(--color-surface-subtle)}.weight-summary span,.summary span{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-small);display:block}.weight-summary strong,.summary strong{margin-top:var(--space-2);color:var(--color-text);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);display:block}.weight-summary strong{font-size:var(--font-size-section-heading)}.summary strong{font-size:var(--font-size-summary)}.summary-secondary{min-height:1.25rem;margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-small);display:block}.summary-secondary--warning{color:var(--color-warning)}.energy-summary-warning{margin:calc(var(--space-3) * -1) 0 var(--space-5);color:var(--color-warning);font-size:var(--font-size-small);line-height:var(--line-height-small);text-align:center}.form{gap:var(--space-4);margin:var(--space-6) 0;text-align:left;display:grid}.form h2{margin:0 0 var(--space-2);text-align:center}.form label{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);line-height:var(--line-height-small);text-align:left;display:block}input,select,textarea{width:100%;min-height:var(--control-min-height);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-medium);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-body);line-height:var(--line-height-body)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.85}input:hover,select:hover,textarea:hover{border-color:var(--color-brand-primary)}input:focus,select:focus,textarea:focus{border-color:var(--color-brand-primary);outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:0}button:focus-visible,summary:focus-visible,a:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:2px}#meal-type,#food-search,#portion-amount,#portion-unit{width:100%;font-size:var(--font-size-body)}.form-help,.form-error{font-size:var(--font-size-small);line-height:var(--line-height-small);margin:0}.form-help{color:var(--color-text-muted)}.form-error{padding:var(--space-3) var(--space-4);border:var(--border-width) solid color-mix(in srgb, var(--color-negative) 26%, var(--color-border));border-radius:var(--radius-medium);background:var(--color-negative-background);color:var(--color-negative);font-weight:var(--font-weight-medium);text-align:center}button{min-height:var(--touch-target-min-size);padding:var(--space-3) var(--space-4);border:var(--border-width) solid transparent;border-radius:var(--radius-medium);background:var(--color-brand-primary);color:var(--color-text-inverse);font-size:var(--font-size-body);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}button:hover{background:var(--color-brand-primary-hover)}button:disabled{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-muted);cursor:not-allowed;opacity:1}button:disabled:hover{border-color:var(--color-border);background:var(--color-surface-subtle)}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}.secondary-button{border-color:var(--color-border);background:var(--color-brand-primary-soft);color:var(--color-brand-primary-hover)}.secondary-button:hover{border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-brand-primary-soft) 72%, var(--color-surface))}.text-button{min-height:var(--touch-target-min-size);padding:var(--space-2);border-radius:var(--radius-small);color:var(--color-brand-primary);font-size:var(--font-size-small);text-underline-offset:.15em;background:0 0;border:0;text-decoration:underline}.text-button:hover{background:var(--color-brand-primary-soft);color:var(--color-brand-primary-hover)}.button-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.food-search-results{margin-top:calc(var(--space-2) * -1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);overflow:hidden;box-shadow:0 8px 18px #12363c14}.food-search-results ul{margin:0;padding:0;list-style:none}.food-search-results li+li{border-top:var(--border-width) solid var(--color-border)}.food-search-results button{align-items:flex-start;gap:var(--space-1);width:100%;min-height:var(--touch-target-min-size);padding:var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);text-align:left;border:0;border-radius:0;flex-direction:column;display:flex}.food-search-results button:hover,.food-search-results button:focus-visible{background:var(--color-brand-primary-soft)}.food-search-results small,.selected-food span{color:var(--color-text-muted);font-size:var(--font-size-caption)}.food-search-empty{padding:var(--space-4);color:var(--color-text-muted);margin:0}.selected-food{gap:var(--space-1);padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface-subtle);flex-direction:column;margin:0;display:flex}.entries,.meal ul{margin:0;padding:0;list-style:none}.meals{gap:var(--space-3);display:grid}.meal{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);overflow:hidden}.meal-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-subtle);display:flex}.meal-header strong{color:var(--color-brand-primary);white-space:nowrap}.entries li,.meal li{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border);display:flex}.meal li:last-child{border-bottom:0}.meal li span:last-child{white-space:nowrap}.entry-description{gap:var(--space-1);display:grid}.entry-description small{color:var(--color-text-muted);font-size:var(--font-size-small)}.status-card{gap:var(--space-4);text-align:center;display:grid}.auth-card{max-width:27.5rem}.auth-introduction{margin:var(--space-6) 0}.auth-introduction h2{margin-bottom:var(--space-2)}.auth-introduction p,.auth-code-sent{color:var(--color-text-muted)}.status-message{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:var(--border-width) solid color-mix(in srgb, var(--color-information) 24%, var(--color-border));border-radius:var(--radius-medium);background:var(--color-information-background);color:var(--color-information);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.food-registration-section{margin:var(--space-6) 0}.food-registration-heading,.form-section-heading{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.food-registration-heading h2,.form-section-heading h3{margin:0}.form-section-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-small)}.compact-button{min-height:var(--touch-target-min-size);padding:var(--space-2) var(--space-3);font-size:var(--font-size-small);flex:none}.own-foods{margin:var(--space-4) 0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface)}.own-foods summary{min-height:var(--touch-target-min-size);color:var(--color-brand-primary);font-weight:var(--font-weight-bold);cursor:pointer;align-items:center;display:flex}.own-foods ul{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.own-foods li{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:var(--border-width) solid var(--color-border);display:flex}.own-foods li:first-child{border-top:0;padding-top:0}.own-food-actions{gap:var(--space-2);display:flex}.danger-text-button{color:var(--color-negative)}.danger-text-button:hover{background:var(--color-negative-background);color:var(--color-negative)}.user-food-form{gap:var(--space-4);margin:var(--space-4) 0 var(--space-6);padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface-subtle);display:grid}.user-food-form label,.nutrition-values-section h4{color:var(--color-text);font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.user-food-form label{gap:var(--space-2);display:grid}.nutrition-values-section{min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);margin:0}.nutrition-values-section h4{margin:0 0 var(--space-4);text-align:center}.field-help{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-small)}.form-field-grid,.nutrition-field-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-notice{padding:var(--space-3) var(--space-4);border:var(--border-width) solid color-mix(in srgb, var(--color-warning) 24%, var(--color-border));border-radius:var(--radius-medium);background:var(--color-warning-background);color:var(--color-warning);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);margin:0}.food-property-details{padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-border)}.food-property-details summary{min-height:var(--touch-target-min-size);color:var(--color-brand-primary);font-weight:var(--font-weight-bold);cursor:pointer;align-items:center;display:flex}.food-property-details p{color:var(--color-text-muted);font-size:var(--font-size-small)}.personal-panel,.budget-status-panel{margin:var(--space-8) 0;padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface-subtle)}.personal-panel-heading h2,.budget-status-panel h2{margin:0}.personal-panel-heading p,.budget-status-panel p{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.personal-profile-form,.compact-personal-form{margin-bottom:0}.form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.status-message--warning{border-color:color-mix(in srgb, var(--color-warning) 24%, var(--color-border));background:var(--color-warning-background);color:var(--color-warning)}.weight-history-section{margin-top:var(--space-4)}.weight-history-toggle{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;text-align:left;display:flex}.weight-history-toggle:hover{border-color:color-mix(in srgb, var(--color-brand-primary) 28%, var(--color-border))}.weight-history-toggle:focus-visible{box-shadow:var(--focus-ring-shadow);outline:none}.weight-history-toggle__icon{color:var(--color-brand-primary);font-size:1.5rem;line-height:1}.weight-history-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.weight-history-list div{justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);display:flex}.budget-status-panel .button-row{margin-top:var(--space-4)}@media (width<=560px){.app{padding:var(--space-3) var(--space-2)}.card{padding:var(--space-5) var(--space-4);border-radius:var(--radius-large)}.dashboard-header{margin-bottom:var(--space-3);gap:0}.dashboard-header .brand-logo--compact{width:min(100%,17.875rem);margin-bottom:calc(var(--space-2) * -1)}.account-bar{gap:var(--space-2)}.account-welcome,.account-signout{font-size:var(--font-size-small)}.weight-summary,.summary{gap:var(--space-2);margin:var(--space-5) 0}.weight-summary div,.summary div{padding:var(--space-3)}.summary strong{font-size:1.75rem}.form{gap:var(--space-3);margin:var(--space-5) 0}.button-row{display:grid}.food-registration-heading,.form-section-heading{flex-direction:column;align-items:stretch}.compact-button{width:100%}.user-food-form{padding:var(--space-4)}.own-foods li{flex-direction:column;align-items:flex-start}.own-food-actions{justify-content:flex-end;width:100%}.form-field-grid,.nutrition-field-grid,.form-grid,.form-grid--two{grid-template-columns:1fr}}@media (width>=48rem){.app{padding-inline:var(--page-margin-desktop)}}@media (prefers-reduced-motion:reduce){button,.navigation-icon-frame,.navigation-icon__detail{transition:none}}.app.app--authenticated{min-height:100vh;padding:0;display:block}.application-shell{min-height:100vh}.desktop-sidebar,.desktop-navigation{display:none}.application-main{min-width:0;min-height:100vh;padding-bottom:calc(5.65rem + env(safe-area-inset-bottom))}.mobile-app-header{min-height:5.25rem;padding:var(--space-3) var(--page-margin-mobile);border-bottom:var(--border-width) solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 96%, transparent);justify-content:center;align-items:center;display:flex}.mobile-brand-logo{width:min(15.5rem,76vw);height:auto}.application-view{width:min(100%, var(--page-content-max-width));min-height:calc(100vh - 10.9rem);padding:var(--space-6) var(--page-margin-mobile) var(--space-10);background:var(--color-surface-raised);margin:0 auto}.view-header{margin-bottom:var(--space-6);text-align:center}.view-header h1{margin:0}.view-header .current-date,.view-subtitle{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.view-subtitle{line-height:var(--line-height-body)}.view-section{margin-top:var(--space-8)}.view-section>h2{margin-top:0}.mobile-bottom-navigation{z-index:20;min-height:calc(5.65rem + env(safe-area-inset-bottom));padding:var(--space-1) var(--space-2) env(safe-area-inset-bottom);border-top:var(--border-width) solid color-mix(in srgb, var(--color-border) 82%, transparent);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #12363c14}.navigation-link{min-width:0;min-height:var(--touch-target-min-size);justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-large);color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);text-align:center;-webkit-tap-highlight-color:transparent;flex-direction:column;text-decoration:none;display:flex}.navigation-icon-frame{border:var(--border-width) solid transparent;border-radius:var(--radius-large);place-items:center;width:3.35rem;height:3rem;transition:background-color .14s,border-color .14s,transform .14s;display:grid}.navigation-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.navigation-link:hover{color:var(--color-brand-primary)}.navigation-link:hover .navigation-icon-frame{background:var(--color-surface-subtle)}.navigation-link[aria-current=page]{color:var(--color-brand-primary);font-weight:var(--font-weight-bold)}.navigation-link[aria-current=page] .navigation-icon-frame{border-color:color-mix(in srgb, var(--color-brand-primary) 10%, var(--color-brand-primary-soft));background:var(--color-brand-primary-soft);box-shadow:inset 0 0 0 1px #00506108}.navigation-icon{flex:none;width:2.1rem;height:2.1rem;overflow:visible}.navigation-icon__detail{color:currentColor;transition:color .14s}.navigation-icon__detail--filled{fill:currentColor;stroke:currentColor}.navigation-link[aria-current=page] .navigation-icon__detail{color:var(--color-brand-accent)}.empty-view{justify-items:center;gap:var(--space-3);max-width:34rem;margin:var(--space-12) auto 0;padding:var(--space-8) var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface-subtle);text-align:center;display:grid}.empty-view h2,.empty-view p{margin:0}.empty-view p{color:var(--color-text-muted)}.empty-view-icon{background:var(--color-brand-primary-soft);width:3.5rem;height:3.5rem;color:var(--color-brand-primary);border-radius:50%;place-items:center;display:grid}.empty-view-icon svg{width:1.75rem;height:1.75rem}.mobile-account-panel{margin:var(--space-8) 0 0;padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface-subtle)}.mobile-account-panel h2{margin:0}.mobile-account-panel p{margin:var(--space-2) 0 var(--space-4);color:var(--color-text-muted)}@media (width<=22rem){.navigation-link{font-size:.6875rem}}@media (width>=48rem){.app.app--authenticated{padding:0}.application-shell{grid-template-columns:15rem minmax(0,1fr);display:grid}.desktop-sidebar{align-items:stretch;gap:var(--space-8);height:100vh;padding:var(--space-6) var(--space-4);border-right:var(--border-width) solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-brand-logo{width:100%;height:auto;padding:0 var(--space-2)}.desktop-navigation{gap:var(--space-2);display:grid}.desktop-navigation .navigation-link{justify-content:flex-start;gap:var(--space-3);min-height:3.5rem;padding:var(--space-2) var(--space-3);font-size:var(--font-size-body);text-align:left;flex-direction:row}.desktop-navigation .navigation-link:hover,.desktop-navigation .navigation-link[aria-current=page]{background:var(--color-brand-primary-soft)}.desktop-navigation .navigation-icon-frame{background:0 0;flex:none;width:2.5rem;height:2.5rem}.desktop-navigation .navigation-link:hover .navigation-icon-frame,.desktop-navigation .navigation-link[aria-current=page] .navigation-icon-frame{background:var(--color-surface);border-color:#0000}.desktop-navigation .navigation-icon{width:1.9rem;height:1.9rem}.sidebar-account{gap:var(--space-2);padding:var(--space-4);border-top:var(--border-width) solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-small);margin-top:auto;display:grid}.sidebar-account .account-signout{justify-self:start;padding-inline:0}.mobile-app-header,.mobile-bottom-navigation,.mobile-account-panel{display:none}.application-main{min-height:100vh;padding:var(--page-margin-desktop)}.application-view{min-height:calc(100vh - (2 * var(--page-margin-desktop)));padding:var(--space-8);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-extra-large);box-shadow:var(--shadow-card)}.view-header{text-align:left}}.food-registration-section--editing{padding:var(--space-5);border:var(--border-width) solid color-mix(in srgb, var(--color-brand-primary) 32%, var(--color-border));border-radius:var(--radius-large);background:var(--color-brand-primary-soft)}.edit-registration-introduction{margin:var(--space-2) 0 var(--space-4)}.registration-button-row>button{flex:11rem}.entry-value-actions{justify-items:end;gap:var(--space-1);display:grid;white-space:normal!important}.entry-value-actions>strong{color:var(--color-brand-primary);white-space:nowrap}.entry-actions{justify-content:flex-end;gap:var(--space-1);display:flex}.entry-actions .text-button{min-height:2.25rem;padding:var(--space-1) var(--space-2)}@media (width<=560px){.food-registration-section--editing{padding:var(--space-4)}.meal li{align-items:flex-start}.entry-actions{flex-direction:column;align-items:flex-end}}.diary-history-overview{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.diary-recent-overview{gap:var(--space-2);display:grid}.diary-overview-label{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);margin:0}.diary-recent-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.125rem;display:grid}.diary-day-status{min-width:0;min-height:var(--touch-target-min-size);border:var(--border-width) solid transparent;border-radius:var(--radius-medium);background:var(--color-surface-subtle);color:var(--color-text);align-content:center;justify-items:center;gap:.05rem;padding:.3rem .1rem .25rem;line-height:1.05;transition:background-color .12s,border-color .12s,box-shadow .12s;display:grid}.diary-day-status:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-text)}.diary-day-status span{color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;text-transform:capitalize;overflow:hidden}.diary-day-status strong{color:var(--color-text);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.diary-day-status small{color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.diary-day-status--within-budget{border-color:color-mix(in srgb, var(--color-positive) 28%, transparent);background:color-mix(in srgb, var(--color-positive) 9%, var(--color-surface-raised))}.diary-day-status--over-budget{border-color:color-mix(in srgb, var(--color-negative) 28%, transparent);background:color-mix(in srgb, var(--color-negative) 9%, var(--color-surface-raised))}.diary-day-status--in-progress{border-color:color-mix(in srgb, var(--color-brand-primary) 28%, transparent);background:var(--color-brand-primary-soft)}.diary-day-status--no-data,.diary-day-status--budget-unavailable{border-color:color-mix(in srgb, var(--color-border-strong) 38%, transparent);background:var(--color-surface-subtle)}.diary-day-status--future,.diary-day-status--future:disabled,.diary-day-status--future:disabled:hover{color:var(--color-text-muted);opacity:.34;background:0 0;border-color:#0000}.diary-day-status--selected{box-shadow:inset 0 0 0 2px var(--color-brand-primary)}.diary-month-disclosure{border-top:var(--border-width) solid var(--color-border);border-bottom:var(--border-width) solid var(--color-border)}.diary-month-toggle{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target-min-size);padding:var(--space-2) 0;color:var(--color-text);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);text-align:left;text-transform:capitalize;background:0 0;border:0;border-radius:0;grid-template-columns:1.25rem minmax(0,1fr) 1.25rem;display:grid}.diary-month-toggle:hover{background:var(--color-surface-subtle);color:var(--color-text)}.diary-month-toggle>svg{width:1.15rem;height:1.15rem;color:var(--color-brand-primary)}.diary-month-chevron{transition:transform .14s}.diary-month-chevron--expanded{transform:rotate(180deg)}.diary-month-overview{gap:var(--space-2);padding:var(--space-1) 0 var(--space-3);display:grid}.diary-month-heading{grid-template-columns:var(--touch-target-min-size) minmax(0, 1fr) var(--touch-target-min-size);align-items:center;gap:var(--space-1);display:grid}.diary-month-heading p{color:var(--color-text);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-align:center;text-transform:capitalize;margin:0}.diary-month-button,.diary-month-button:disabled,.diary-month-button:disabled:hover{width:var(--touch-target-min-size);min-width:var(--touch-target-min-size);min-height:var(--touch-target-min-size);color:var(--color-brand-primary);background:0 0;border:0;padding:0;font-size:1.55rem;line-height:1}.diary-month-button:hover:not(:disabled){background:var(--color-brand-primary-soft);color:var(--color-brand-primary-hover)}.diary-month-button:disabled{color:var(--color-text-muted);opacity:.32}.diary-calendar-weekdays,.diary-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.125rem;display:grid}.diary-calendar-weekdays span{color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-align:center;padding:.1rem 0}.diary-month-day{align-content:center;width:100%;min-height:2.5rem;padding:.2rem .1rem}.diary-month-day strong{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.diary-month-day--outside{opacity:.34}.diary-status-legend{justify-content:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-caption);flex-wrap:wrap;display:flex}.diary-status-legend span{align-items:center;gap:.3rem;display:inline-flex}.diary-legend-swatch{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-small);width:.8rem;height:.55rem;display:inline-block}.diary-legend-swatch--within{border-color:color-mix(in srgb, var(--color-positive) 32%, transparent);background:color-mix(in srgb, var(--color-positive) 10%, var(--color-surface-raised))}.diary-legend-swatch--over{border-color:color-mix(in srgb, var(--color-negative) 32%, transparent);background:color-mix(in srgb, var(--color-negative) 10%, var(--color-surface-raised))}.diary-legend-swatch--progress{border-color:color-mix(in srgb, var(--color-brand-primary) 32%, transparent);background:var(--color-brand-primary-soft)}.diary-legend-swatch--neutral{border-color:color-mix(in srgb, var(--color-border-strong) 38%, transparent);background:var(--color-surface-subtle)}.diary-selected-day{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.diary-selected-day p{color:var(--color-text);font-size:var(--font-size-subheading);font-weight:var(--font-weight-bold);text-transform:capitalize;margin:0}.diary-today-button{white-space:nowrap;min-height:2.5rem}.diary-total{--diary-total-accent:var(--color-brand-primary);gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);display:grid}.diary-total--within-budget{--diary-total-accent:var(--color-positive)}.diary-total--over-budget{--diary-total-accent:var(--color-negative)}.diary-total--in-progress{--diary-total-accent:var(--color-brand-primary)}.diary-total--neutral{--diary-total-accent:var(--color-text-muted)}.diary-total-main{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.diary-total-label{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.diary-total-values{justify-items:end;gap:var(--space-1);display:grid}.diary-total-values strong{color:var(--color-brand-primary);font-size:var(--font-size-section-heading);white-space:nowrap}.diary-total-values small{color:var(--color-text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap}.diary-total-progress{border-radius:var(--radius-pill);background:var(--color-surface-subtle);height:.4rem;overflow:hidden}.diary-total-progress-fill{border-radius:inherit;background:var(--diary-total-accent);height:100%;transition:width .18s;display:block}.diary-total-status{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-small);flex-wrap:wrap;display:flex}.diary-total-status-badge{min-height:1.65rem;padding:.15rem var(--space-2);border:var(--border-width) solid color-mix(in srgb, var(--diary-total-accent) 30%, var(--color-border));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--diary-total-accent) 8%, var(--color-surface));color:var(--diary-total-accent);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;display:inline-flex}.diary-total-status-detail{color:var(--color-text-muted);font-weight:var(--font-weight-semibold);text-align:right}.diary-energy-warning{margin-top:calc(var(--space-3) * -1);margin-bottom:var(--space-5)}.registration-date-context{margin:var(--space-2) 0 var(--space-4);color:var(--color-brand-primary);font-weight:var(--font-weight-semibold);text-transform:capitalize}.diary-meals-section{margin-top:var(--space-6)}.diary-meals{gap:var(--space-3);display:grid}.diary-meal{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);overflow:hidden}.diary-meal-toggle,.diary-meal-empty-row{align-items:center;gap:var(--space-3);width:100%;min-height:4.75rem;padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.diary-meal-toggle{background:var(--color-surface);color:var(--color-text);text-align:left;border:0;border-radius:0}.diary-meal-toggle:hover{background:var(--color-brand-primary-soft);color:var(--color-text)}.diary-meal-empty-row{background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto auto}.diary-meal-heading{gap:var(--space-1);min-width:0;display:grid}.diary-meal-name{color:var(--color-text);font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading)}.diary-meal-heading small{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-regular)}.diary-meal-totals{justify-items:end;gap:var(--space-1);display:grid}.diary-meal-totals strong{color:var(--color-brand-primary);white-space:nowrap}.diary-meal-totals small{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);white-space:nowrap}.diary-chevron{width:1.25rem;height:1.25rem;color:var(--color-text-muted);transition:transform .14s}.diary-chevron--expanded{transform:rotate(180deg)}.diary-meal-content{border-top:var(--border-width) solid var(--color-border)}.diary-meal-content ul{margin:0;padding:0;list-style:none}.diary-meal-content li{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border);display:flex}.diary-entry-values{justify-items:end;gap:var(--space-1);display:grid}.diary-entry-values strong{color:var(--color-brand-primary);white-space:nowrap}.diary-entry-values small{color:var(--color-text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);white-space:nowrap}.diary-add-meal-button{margin:var(--space-3) var(--space-4) var(--space-4)}.diary-add-empty-button{white-space:nowrap}@media (width<=560px){.diary-overview-section{padding:var(--space-3)}.diary-day-status{padding-inline:.1rem}.diary-status-legend{gap:var(--space-2) var(--space-3)}.diary-total{padding:var(--space-4)}.diary-meal-empty-row{grid-template-columns:minmax(0,1fr) auto}.diary-add-empty-button{grid-column:1/-1;width:100%}.diary-meal-content li{align-items:flex-start}}.form-grid>*,.form-field-grid>*,.nutrition-field-grid>*{min-width:0;min-inline-size:0}input[type=date]{width:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;display:block}.date-input-shell{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:var(--control-min-height);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-medium);background:var(--color-surface);display:flex;overflow:hidden}.date-input-shell:hover{border-color:var(--color-brand-primary)}.date-input-shell:focus-within{border-color:var(--color-brand-primary);box-shadow:0 0 0 var(--focus-ring-width) var(--color-focus-ring)}.date-input-shell input[type=date]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;max-inline-size:100%;padding:var(--space-3) var(--space-4);box-shadow:none;font:inherit;color:var(--color-text);appearance:none;background:0 0;border:0;border-radius:0;flex:1 1 0;margin:0;display:block;overflow:hidden}.date-input-shell input[type=date]:focus{box-shadow:none;border:0;outline:none}.date-input-shell input[type=date]::-webkit-date-and-time-value{text-align:center;min-width:0}.date-input-shell input[type=date]::-webkit-calendar-picker-indicator{flex:none}.progress-summary{gap:var(--space-3);margin:var(--space-6) 0 var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.progress-summary-card{min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface-subtle)}.progress-summary-card--bmi{grid-column:auto}.progress-summary-card span,.progress-summary-card small{color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-small);display:block}.progress-summary-card strong{margin-top:var(--space-2);color:var(--color-text);font-size:var(--font-size-section-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);display:block}.progress-summary-card small{margin-top:var(--space-1)}.progress-development{margin:var(--space-8) 0}.progress-development-heading{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.progress-development-heading h2{margin:0}.progress-development-heading p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-small)}.progress-range-selector{gap:var(--space-2);padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface-subtle);display:flex}.progress-range-button,.progress-range-button:hover{min-width:0;min-height:var(--touch-target-min-size);padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);color:var(--color-text-muted);font-size:var(--font-size-small);white-space:nowrap;background:0 0;border:0;flex:1 1 0}.progress-range-button:hover{background:var(--color-surface);color:var(--color-brand-primary)}.progress-range-button--active,.progress-range-button--active:hover{background:var(--color-surface);color:var(--color-brand-primary);box-shadow:0 1px 3px #12363c1a}.progress-chart-grid{gap:var(--space-4);display:grid}.progress-chart-card{min-width:0;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface)}.progress-chart-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.progress-chart-heading h3{margin:0}.progress-chart-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-small);line-height:var(--line-height-small)}.progress-chart-count{color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-small);white-space:nowrap;flex:none}.progress-chart-scroll{width:100%;overflow:hidden}.progress-line-chart{width:100%;height:auto;color:var(--color-brand-primary);display:block}.progress-line-chart__grid{stroke:var(--color-border);stroke-width:1px}.progress-line-chart__line{stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.progress-line-chart__point{fill:var(--color-surface);stroke:currentColor;stroke-width:3px}.progress-line-chart__reference{stroke:var(--color-brand-accent);stroke-width:2px;stroke-dasharray:7 5}.progress-line-chart__reference-label{fill:var(--color-brand-accent-hover);font-size:12px;font-weight:var(--font-weight-semibold)}.progress-line-chart__axis-label{fill:var(--color-text-muted);font-size:12px}.progress-chart-empty{margin:var(--space-5) 0 var(--space-2);padding:var(--space-5);border-radius:var(--radius-medium);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:var(--font-size-small);text-align:center}@media (width<=560px){.progress-summary{gap:var(--space-2);margin:var(--space-5) 0 var(--space-6)}.progress-summary-card,.progress-chart-card{padding:var(--space-3)}.progress-range-selector{gap:var(--space-1)}.progress-range-button,.progress-range-button:hover{padding-inline:var(--space-2)}.progress-chart-heading{gap:var(--space-1);display:grid}}.weight-history-toggle,.weight-history-toggle:hover,.weight-history-toggle:active,.weight-history-toggle[aria-expanded=true],.weight-history-toggle[aria-expanded=true]:hover,.weight-history-toggle[aria-expanded=true]:active{background:var(--color-brand-primary);color:var(--color-text-inverse);border-color:#0000}.weight-history-toggle:hover,.weight-history-toggle[aria-expanded=true]:hover{background:var(--color-brand-primary-hover)}.weight-history-toggle__icon,.weight-history-toggle:hover .weight-history-toggle__icon,.weight-history-toggle[aria-expanded=true] .weight-history-toggle__icon{color:var(--color-text-inverse)}
