:root{--color-primary: #7b5cbe;--color-primary-hover: #6a4fa6;--color-primary-contrast: #ffffff;--color-bg: #f7f6fb;--color-surface: #ffffff;--color-border: #e4e1ee;--color-text: #1f1b2e;--color-text-muted: #6b6580;--color-text-subtle: #9a94ab;--color-am: #3b82f6;--color-pm: #f59e0b;--color-trend-down: #16a34a;--color-trend-up: #dc2626;--color-trend-flat: #9a94ab;--color-confidence-muted: #9a94ab;--color-confidence-amber: #f59e0b;--color-confidence-red: #dc2626;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--shadow-sm: 0 1px 2px rgba(31, 27, 46, .06);--shadow-md: 0 4px 12px rgba(31, 27, 46, .1);--navbar-height: 56px;--content-max-width: 960px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 var(--space-3);line-height:1.2}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-navbar{background-color:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-sm)}.app-navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:var(--navbar-height);max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-4)}.app-navbar__brand{font-size:var(--font-size-lg);font-weight:600;letter-spacing:.01em}.app-navbar__actions{display:flex;align-items:center;gap:var(--space-3)}.app-navbar__email{font-size:var(--font-size-sm);opacity:.85;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-body{flex:1;width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--space-5) var(--space-4);display:flex;gap:var(--space-5);align-items:flex-start}.app-main{flex:1;min-width:0}.page{display:flex;flex-direction:column;gap:var(--space-3)}.muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-4)}.sidebar__section{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar__title{margin:0;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.sidebar__muted{margin:0;font-size:var(--font-size-sm);color:var(--color-text-subtle)}.sidebar__error{margin:0;font-size:var(--font-size-sm);color:var(--color-confidence-red)}.person-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.person-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left}.person-item:hover{background-color:var(--color-surface);border-color:var(--color-border)}.person-item.is-active{background-color:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.person-item__unit{font-size:var(--font-size-sm);color:var(--color-text-subtle);text-transform:uppercase}.person-item.is-active .person-item__unit{color:var(--color-primary)}.sidebar-person{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-person__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.sidebar-person__name{font-weight:600}.unit-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;width:fit-content}.unit-toggle__btn{padding:var(--space-1) var(--space-3);font-family:inherit;font-size:var(--font-size-sm);text-transform:uppercase;background-color:var(--color-surface);color:var(--color-text-muted);border:none;cursor:pointer}.unit-toggle__btn.is-active{background-color:var(--color-primary);color:var(--color-primary-contrast)}.sidebar-form{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-form input{padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sidebar-form input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.sidebar-form__row{display:flex;align-items:center;gap:var(--space-2)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.btn-link--danger{color:var(--color-confidence-red);align-self:flex-start}@media (max-width: 720px){.app-body{flex-direction:column;gap:var(--space-4)}.sidebar{width:100%}}.log-entry{display:flex;flex-direction:column;gap:var(--space-5)}.log-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.log-form__field{display:flex;flex-direction:column;gap:var(--space-1);min-width:140px}.log-form__field label,.log-form__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted)}.log-form__field input{padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.log-form__field input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.log-form__saved{margin:0;align-self:center;color:var(--color-trend-down);font-size:var(--font-size-sm)}.segment{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.segment__btn{padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--font-size-sm);background-color:var(--color-surface);color:var(--color-text-muted);border:none;cursor:pointer}.segment__btn.is-active{background-color:var(--color-primary);color:var(--color-primary-contrast)}.recent{display:flex;flex-direction:column;gap:var(--space-2)}.recent__title{margin:0;font-size:var(--font-size-lg)}.recent__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.recent__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.recent__date{min-width:4.5rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.recent__half{font-size:var(--font-size-sm);font-weight:600}.recent__half--am{color:var(--color-am)}.recent__half--pm{color:var(--color-pm)}.recent__weight{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}.verdict{padding:var(--space-4);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.verdict__toggle{display:inline-flex;align-self:flex-start;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.verdict__tab{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--font-size-sm);background-color:var(--color-surface);color:var(--color-text-muted);border:none;cursor:pointer}.verdict__tab.is-active{background-color:var(--color-primary);color:var(--color-primary-contrast)}.verdict__icon{font-size:var(--font-size-base);line-height:1}.verdict__body{display:flex;flex-direction:column;gap:var(--space-2)}.verdict__label{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.verdict__avg{margin:0;font-size:var(--font-size-xl);font-weight:700;font-variant-numeric:tabular-nums}.verdict__trend{margin:0;display:flex;align-items:center;gap:var(--space-2);font-weight:600}.verdict__arrow{font-size:var(--font-size-lg);line-height:1}.verdict__delta{font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.verdict__trend--down{color:var(--color-trend-down)}.verdict__trend--up{color:var(--color-trend-up)}.verdict__trend--flat{color:var(--color-trend-flat)}.verdict__kcal{margin:0;font-size:var(--font-size-sm);font-weight:600}.verdict__kcal--down{color:var(--color-trend-down)}.verdict__kcal--up{color:var(--color-trend-up)}.verdict__insufficient{margin:0;color:var(--color-text-subtle);font-size:var(--font-size-sm)}.confidence-badge{align-self:flex-start;display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-bg);font-size:var(--font-size-sm);font-weight:600}.confidence-badge--muted{color:var(--color-confidence-muted)}.confidence-badge--amber{color:var(--color-confidence-amber);border-color:var(--color-confidence-amber)}.confidence-badge--red{color:var(--color-confidence-red);border-color:var(--color-confidence-red)}.confidence-badge--insufficient{color:var(--color-text-subtle)}.app-nav{display:flex;align-items:center;gap:var(--space-1)}.app-nav__link{padding:var(--space-1) var(--space-3);color:var(--color-primary-contrast);opacity:.85;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500}.app-nav__link:hover{opacity:1;text-decoration:none;background-color:var(--color-primary-hover)}.app-nav__link.is-active{opacity:1;background-color:var(--color-primary-hover)}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.chart-check{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.chart-card{padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.history-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.history-item__info{display:flex;align-items:center;gap:var(--space-3);min-width:10rem}.history-item__date{min-width:4.5rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.history-item__half{font-size:var(--font-size-sm);font-weight:600}.history-item__half--am{color:var(--color-am)}.history-item__half--pm{color:var(--color-pm)}.history-item__actions{display:flex;align-items:center;gap:var(--space-3)}.history-item__weight{font-variant-numeric:tabular-nums;font-weight:600}.history-item__edit{display:flex;align-items:center;gap:var(--space-2)}.history-item__edit input{width:6rem;padding:var(--space-1) var(--space-2);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.history-item__edit input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}@media (max-width: 640px){.app-navbar__inner{flex-wrap:wrap;height:auto;min-height:var(--navbar-height);padding-top:var(--space-2);padding-bottom:var(--space-2);row-gap:var(--space-2)}.app-navbar__brand{flex:1}.app-navbar__email{display:none}.app-navbar__actions{order:2}.app-nav{order:3;width:100%;justify-content:center}.app-nav__link{padding:var(--space-1) var(--space-2)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--font-size-base);font-weight:500;line-height:1.2;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background-color:var(--color-primary);color:var(--color-primary-contrast)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn--ghost-light{background-color:transparent;color:var(--color-primary-contrast);border-color:var(--color-primary-contrast)}.btn--ghost-light:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-link{padding:0;border:none;background:none;color:var(--color-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.btn-link:hover{text-decoration:underline}.auth-page{display:flex;justify-content:center;align-items:flex-start;padding-top:var(--space-6)}.auth-card{width:100%;max-width:380px;padding:var(--space-6) var(--space-5);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.auth-card h1{font-size:var(--font-size-xl)}.auth-subtitle{margin:0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--space-2)}.auth-form label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted)}.auth-form input{padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.auth-form input:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.auth-form .btn{margin-top:var(--space-2)}.auth-error{margin:var(--space-2) 0 0;color:var(--color-confidence-red);font-size:var(--font-size-sm)}.auth-status{align-items:center;color:var(--color-text-muted)}@media (max-width: 480px){.app-navbar__email{display:none}}
