:root{color:#17211b;letter-spacing:0;background:radial-gradient(circle at 0 0,#176b541f,#0000 30%),radial-gradient(circle at 100% 0,#e08f391a,#0000 24%),linear-gradient(#f4f7f4 0%,#eef3ef 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#176b54;border:0;border-radius:8px;min-height:42px;font-weight:700}button:disabled{cursor:not-allowed;opacity:.7}textarea{resize:vertical;background:#fff;border:1px solid #c7d2cb;border-radius:8px;min-height:110px;padding:10px}.shell{width:min(1520px,100% - 20px);margin:0 auto;padding:20px 0 64px}.page-nav{z-index:15;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f9f7f0;border:1px solid #d5ddd7;border-radius:18px;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:12px;display:flex;position:sticky;top:12px;box-shadow:0 14px 30px #17211b14}.page-nav a{color:#176b54;background:#fff;border:1px solid #c7d2cb;border-radius:999px;align-items:center;min-height:38px;padding:0 12px;font-weight:700;text-decoration:none;display:inline-flex}.page-nav a:hover{background:#eef4f0}.dashboard-stack{gap:12px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.topbar-copy{color:#5c6b61;max-width:72ch;margin:8px 0 0}.topbar-auth{color:#355246;margin:10px 0 0;font-weight:600}.topbar-statuses{justify-items:end;gap:8px;display:grid}.topbar-logout{min-width:160px}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fffffff5;border:1px solid #d5ddd7;border-radius:24px;gap:16px;width:min(100%,460px);padding:28px;display:grid;box-shadow:0 18px 38px #17211b1f}.auth-badge{color:#176b54;background:#e3f2ea;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-weight:700;display:inline-flex}.auth-copy{color:#5c6b61;margin:0}.auth-form{gap:14px;display:grid}.auth-field{color:#274336;gap:6px;font-weight:700;display:grid}.auth-field input{background:#fff;border:1px solid #c7d2cb;border-radius:10px;min-height:44px;padding:0 12px}.auth-error{color:#b84a4a;margin:0;font-weight:700}.auth-actions{align-items:center;gap:10px;display:flex}.layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:18px;display:grid}.sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3f6f4f5;border:1px solid #d5ddd7;border-radius:18px;gap:16px;padding:16px;display:grid;position:sticky;top:12px;box-shadow:0 12px 30px #17211b14}.nav-group{gap:10px;display:grid}.nav-group-label{color:#5c6b61;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.nav-links{gap:8px;display:grid}.nav-link{color:#274336;background:#fff;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-weight:700;text-decoration:none;display:flex}.nav-link:hover{background:#eef4f0}.nav-link.is-active{color:#176b54;background:#e3f2ea;border-color:#176b54}.nav-link-icon{background:#f3f6f4;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.sidebar-note{color:#5c6b61;border-top:1px solid #dbe4de;gap:8px;padding-top:10px;display:grid}.sidebar-note code{background:#eef4f0;border-radius:6px;padding:2px 6px}.sidebar-error{color:#b84a4a;margin:0;font-weight:700}.mobile-nav{background:#f3f6f4f5;border:1px solid #d5ddd7;border-radius:14px;padding:12px 14px;display:none}.mobile-nav summary{cursor:pointer;color:#176b54;font-weight:800}.mobile-nav-content{gap:14px;padding-top:12px;display:grid}.content{gap:18px;min-width:0;display:grid}.page-stack{gap:22px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:18px;padding:2px 0 4px;display:flex}.page-kicker{color:#5c6b61;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.8rem;font-weight:800}.page-title{margin:0;font-size:clamp(1.7rem,3vw,2.4rem)}.page-description{color:#5c6b61;max-width:72ch;margin:8px 0 0}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-head h3{margin-bottom:4px;font-size:1.05rem}.section-head p{color:#637169;margin-bottom:0}.metric-group,.chart-panel,.table-panel,.info-panel,.quick-links-panel,.selector-panel{background:#ffffffed;border:1px solid #d5ddd7;border-radius:22px;padding:20px;box-shadow:0 14px 32px #17211b0f}.chart-panel{gap:12px;min-width:0;display:grid}.page-grid{gap:18px;display:grid}.page-grid-two-col,.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-summary-grid>:first-child{grid-column:1/span 8}.dashboard-summary-grid>:nth-child(2){grid-column:span 4}.dashboard-chart-grid-wide{grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-chart-grid-wide>:first-child{grid-column:1/-1}.dashboard-chart-grid-wide>:nth-child(n+2){grid-column:span 4}.composition-groups-grid,.weight-insights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weight-insight-panel,.dashboard-connection-panel,.dashboard-daily-panel,.composition-cluster-panel{align-self:start}.reports-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-main-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1.18fr)}.reports-card{gap:16px;display:grid}.freshness-sources{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.freshness-source-card{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;gap:6px;padding:12px;display:grid}.freshness-source-card p{margin:0}.freshness-source-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.freshness-metric-card{background:#fbfcfb;border:1px solid #dbe4de;border-radius:16px;flex-direction:column;align-self:start;gap:12px;padding:14px;display:flex}.freshness-metric-card p{margin:0}.freshness-metric-card-open{background:#f5faf7;border-color:#8cb5a6}.summary-card-grid.freshness-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start;gap:16px}@media (width<=820px){.summary-card-grid.freshness-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.summary-card-grid.freshness-metrics-grid{grid-template-columns:minmax(0,1fr)}}.freshness-metric-head{gap:4px;display:grid}.freshness-metric-head strong{margin-bottom:0;display:block}.freshness-metric-status{color:#34433b;font-weight:600}.freshness-metric-body{color:#4d5d54;gap:6px;display:grid}.freshness-detail-toggle,.freshness-detail-close{color:#176b54;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-weight:600}.freshness-detail-toggle:hover,.freshness-detail-close:hover,.freshness-detail-close:focus-visible{text-decoration:underline}.freshness-detail-toggle:focus-visible,.freshness-detail-close:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #176b54;text-decoration:underline}.freshness-detail-region{width:100%;margin-top:16px}.freshness-detail-panel{overflow-wrap:anywhere;border-top:1px solid #dbe4de;gap:12px;width:100%;padding-top:12px;display:grid}.freshness-detail-head,.freshness-detail-month-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.freshness-detail-head p,.freshness-detail-month-head span{margin:4px 0 0}.freshness-detail-columns,.freshness-detail-months{gap:12px;display:grid}.freshness-detail-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.freshness-detail-month-card,.freshness-detail-list{background:#fff;border:1px solid #dbe4de;border-radius:14px;gap:8px;padding:12px;display:grid}.freshness-detail-list p,.freshness-detail-month-card p{margin:0}.reports-status-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.reports-status-panel{background:#f7f9f7;border:1px solid #dbe4de;border-radius:16px;gap:10px;padding:16px;display:grid}.reports-status-panel strong{font-size:1rem}.reports-status-panel-muted{background:#fbfcfb}.reports-bullet-list{color:#34433b;gap:8px;margin:0;padding-left:18px;display:grid}.reports-bullet-list li{line-height:1.45}.reports-weekly-card{gap:16px}.reports-weekly-head{align-items:flex-start}.reports-weekly-actions{flex-wrap:wrap;gap:8px;display:inline-flex}.reports-card-inner{gap:12px;padding-top:4px;display:grid}.summary-card-grid-tight{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.chart-shell{background:linear-gradient(#176b5408,#176b5403);border:1px solid #dbe4de;border-radius:14px;width:100%;min-width:0;min-height:180px;padding:10px 10px 4px}.chart-tooltip{color:#25342d;background:#fffffff7;border:1px solid #d5ddd7;border-radius:12px;gap:4px;min-width:140px;padding:10px 12px;display:grid;box-shadow:0 10px 24px #17211b14}.chart-tooltip strong{color:#17211b;display:block}.chart-tooltip span{color:#176b54;font-weight:700}.chart-tooltip small{color:#637169}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:12px;display:grid}.metric-card{min-height:120px;color:inherit;background:#f7f9f7;border:1px solid #dbe4de;border-radius:16px;gap:6px;padding:16px;text-decoration:none;display:grid}.metric-card-span-2{grid-column:span 2}.metric-card-span-3{grid-column:span 3}.metric-card-span-4{grid-column:span 4}.metric-card-linkable{transition:transform .12s,box-shadow .12s}.metric-card-linkable:hover{transform:translateY(-1px);box-shadow:0 8px 20px #17211b14}.metric-card-compact{gap:5px;min-height:96px;padding:12px 14px}.metric-card-compact .metric-card-value{font-size:1.16rem}.metric-card-compact .metric-card-detail{line-height:1.35}.metric-card-default{background:#f7f9f7}.metric-card-positive{background:#edf9f0;border-color:#c8e7d6}.metric-card-warning{background:#fff6ea;border-color:#f0d7a8}.metric-card-label{color:#637169;font-weight:700}.metric-card-value{font-size:1.35rem;line-height:1.2}.metric-card-detail{color:#5c6b61;font-size:.92rem}.metric-card-link{color:#176b54;align-items:center;gap:4px;font-weight:700;display:inline-flex}.mini-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.dashboard-chart-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.dashboard-top-stack{gap:12px;display:grid}.today-overview-panel{gap:14px;display:grid}.today-overview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.today-overview-toolbar-group{flex-wrap:wrap;gap:10px;display:flex}.today-overview-date-picker{color:#637169;gap:6px;font-size:.92rem;display:grid}.today-overview-date-picker input{min-width:170px}.today-overview-refresh-label{color:#637169;margin:6px 0 0;font-size:.92rem}.today-overview-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.today-overview-info-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.today-overview-subpanel{background:#f7f9f7;border:1px solid #dbe4de;border-radius:16px;gap:10px;min-width:0;padding:14px;display:grid}.today-overview-subpanel-wide{grid-column:1/-1}.today-overview-subpanel h4{margin:0}.today-overview-list{gap:8px;margin:0;padding-left:18px;display:grid}.today-overview-inline-note{color:#46544d}.dashboard-calendar-panel{gap:14px;display:grid}.dashboard-calendar-weekdays{color:#637169;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-size:.86rem;font-weight:700;display:grid}.dashboard-calendar-weekdays span{text-align:center}.dashboard-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.dashboard-calendar-day{color:#243029;text-align:left;background:#fff;border:1px solid #d5ddd7;border-radius:14px;align-content:start;gap:8px;min-height:112px;padding:10px;display:grid}.dashboard-calendar-day--outside{color:#8a958f;background:#f7f9f7;border-style:dashed}.dashboard-calendar-day--complete{background:#f7fbf8;border-color:#b9d9cb}.dashboard-calendar-day--partial{background:#fffaf2;border-color:#d8c6a7}.dashboard-calendar-day--no_data{background:#fbfcfb}.dashboard-calendar-day--today{box-shadow:inset 0 0 0 1px #176b54}.dashboard-calendar-day--selected{border-color:#176b54;box-shadow:0 0 0 2px #176b5429}.dashboard-calendar-day:disabled{cursor:not-allowed;opacity:.72}.dashboard-calendar-day-number{font-size:1rem;font-weight:700}.dashboard-calendar-day-status{color:#46544d;font-size:.86rem}.dashboard-calendar-day-indicators{flex-wrap:wrap;gap:6px;display:flex}.dashboard-calendar-indicator{border:1px solid #d5ddd7;border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.78rem;font-weight:700;display:inline-flex}.dashboard-calendar-indicator--active{color:#176b54;background:#edf6f1;border-color:#c6e1d5}.dashboard-calendar-indicator--inactive{color:#6f7c75;background:#f5f7f5}.dashboard-calendar-detail{color:#3f4b44;background:#f7f9f7;border:1px solid #dbe4de;border-radius:12px;margin:0;padding:12px 14px}.dashboard-calendar-day:focus-visible{outline-offset:2px;outline:3px solid #176b5447}.status-chip{color:#3f4b44;background:#f7f9f7;border:1px solid #c7d2cb;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-weight:700;display:inline-flex}.subtle-alert-panel{background:linear-gradient(#fff8ebf5,#fffffffa);border-style:dashed}.dashboard-secondary-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.grid-two>*,.dashboard-chart-grid>*,.health-grid>*,.page-grid>*,.page-grid-two-col>*,.dashboard-summary-grid>*,.dashboard-chart-grid-wide>*,.weight-insights-grid>*,.reports-summary-grid>*,.reports-main-grid>*{min-width:0}.quick-links-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.quick-link{color:inherit;text-align:left;background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.quick-link strong{margin-bottom:4px;display:block}.quick-link small{color:#637169;display:block}.selector-panel{gap:12px;display:grid}.helper-text{color:#637169;margin:0}.period-selector{flex-wrap:wrap;gap:8px;display:inline-flex}.period-button{color:#3f4b44;background:#fff;border:1px solid #c7d2cb;border-radius:999px;min-height:38px;padding:0 12px;font-weight:700}.period-button.is-active{color:#fff;background:#176b54;border-color:#176b54}.period-button:disabled{opacity:.85}.trend-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.trend-summary-chip{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;gap:4px;padding:12px;display:grid}.trend-summary-chip span{color:#637169;font-weight:700}.trend-summary-chip strong{font-size:1.15rem}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.pagination-button{color:#3f4b44;background:#fff;border:1px solid #c7d2cb;border-radius:999px;min-height:36px;padding:0 12px;font-weight:700}.pagination-button:disabled{opacity:.8}.pagination-status{color:#637169;font-weight:700}.source-badge{color:#176b54;background:#eef4f0;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.source-badge-empty{color:#637169;background:#f3f6f4}.table-scroll{border:1px solid #dbe4de;border-radius:14px;overflow:auto}.data-table{border-collapse:collapse;background:#fff;width:100%}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5ece7;padding:12px 14px}.data-table th{z-index:1;color:#4d5d54;background:#f7f9f7;font-size:.9rem;position:sticky;top:0}.data-table td{color:#25342d}.data-table tr:last-child td{border-bottom:0}.sleep-history-cell{gap:6px;display:grid}.sleep-extra-details{gap:6px;display:inline-grid}.sleep-extra-details summary{cursor:pointer;color:#176b54;font-weight:600}.sleep-extra-details summary:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #176b54}.sleep-extra-details-body{color:#4d5d54;gap:4px;padding-left:2px;display:grid}.sleep-extra-details-body p{margin:0}.state-panel{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;padding:16px}.state-panel strong{margin-bottom:4px;display:block}.state-panel p{color:#637169;margin-bottom:0}.state-error{background:#fef0f0;border-color:#f2c2c2}.state-empty{background:#f7f9f7}.script-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.script-card{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;padding:14px}.script-card p{color:#4d5d54;margin-bottom:0}.script-card code{background:#eef4f0;border-radius:6px;margin-top:6px;padding:2px 6px;display:inline-block}.grid-two .panel,.grid-two .metric-group,.grid-two .chart-panel,.grid-two .table-panel{height:100%}.eyebrow{color:#5c6b61;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2rem,4vw,3.2rem)}h2{align-items:center;gap:8px;font-size:1.1rem;display:flex}.status-pill,.metric,.panel,.verdict,.message{background:#fff;border:1px solid #d5ddd7;border-radius:8px;box-shadow:0 8px 24px #17211b0d}.status-pill{color:#176b54;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.status-pill-soft,.status-pill-default{background:#f3f6f4}.status-pill-positive{color:#176b54;background:#eaf7ef}.status-pill-warning{color:#a65d12;background:#fff4e6}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.metric{min-height:118px;padding:18px}.metric-icon{color:#176b54;background:#e1f3ec;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.metric span{color:#637169;margin-top:14px;display:block}.metric strong{margin-top:4px;font-size:1.5rem;display:block}.verdict,.message{margin-top:12px;padding:16px}.verdict{border-left:4px solid #176b54}.verdict p,.message{margin-bottom:0}.grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.panel{border-radius:12px;padding:18px;scroll-margin-top:86px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel-head p{color:#637169;margin-bottom:0}.goals{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.goal{background:#f3f6f4;border:1px solid #dbe4de;border-radius:10px;min-height:74px;padding:12px}.goal-reached{background:#eaf7ef;border:1px solid #c8e7d6}.goal span,.meal span,.hint{color:#637169}.goal strong{margin-top:8px;font-size:1.25rem;display:block}.trend-line{background:#f3f6f4;border-radius:8px;align-items:end;gap:10px;height:150px;padding:12px;display:flex}.trend-line span{background:#e08f39;border-radius:6px 6px 0 0;flex:1}.trend-chart{background:#f3f6f4;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.trend-chart-item{color:#4d5d54;justify-items:center;gap:8px;display:grid}.trend-chart-bar{background:linear-gradient(#176b540a,#176b5403);border:1px solid #dbe4de;border-radius:10px;justify-content:center;align-items:flex-end;width:100%;height:160px;padding:10px 12px 0;display:flex}.trend-chart-bar span{background:linear-gradient(#58a97d,#176b54);border-radius:8px 8px 0 0;width:100%;display:block}.trend-chart-item strong{font-size:1rem}.trend-chart-item span{text-transform:capitalize;font-size:.85rem}.form{gap:14px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.food-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;max-height:300px;display:grid;overflow:auto}.food-row{background:#f3f6f4;border-radius:10px;align-items:center;gap:8px;min-height:40px;padding:10px 12px;display:flex}.field{color:#4d5d54;gap:5px;font-weight:700;display:grid}.field input,.field select,.field textarea{background:#fbfcfb;border:1px solid #c7d2cb;border-radius:10px;min-height:40px;padding:8px 10px}.field textarea{min-height:110px}.field-full{grid-column:1/-1}.fitdays-import-panel{margin-top:12px}.fitdays-import-form{gap:12px;display:grid}.fitdays-import-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.fitdays-import-actions .hint{flex:280px}.fitdays-import-report{gap:12px;margin-top:16px;display:grid}.health-panel,.trends-panel,.dashboard-health-panel{margin-top:12px}.dashboard-verdict-panel{gap:10px;display:grid}.dashboard-verdict-text{color:#25342d;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:1.03rem;line-height:1.5;display:-webkit-box;overflow:hidden}.dashboard-verdict-meta{color:#637169;flex-wrap:wrap;gap:8px;font-size:.92rem;display:flex}.weight-goal-panel{margin-top:12px}.health-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:16px;display:grid}.dashboard-health-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.panel-readonly{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;padding:18px}.panel-readonly h3{margin-bottom:8px}.panel-readonly p{color:#637169;margin-bottom:0}.goal-progress-card{background:#f3f6f4;border:1px solid #dbe4de;border-radius:12px;gap:10px;margin-bottom:12px;padding:12px;display:grid}.goals-progress-stack{gap:12px;display:grid}.goals-management-stack{gap:16px;display:grid}.settings-goals-stack{align-content:start;gap:16px;display:grid}.goal-progress-bar{background:#dbe4de;border-radius:999px;height:16px;overflow:hidden}.goal-progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#176b54 0%,#58a97d 100%);height:100%;display:block}.goal-progress-meta{color:#4d5d54;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.goal-progress-meta strong{font-size:1.1rem}.goal-progress-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:10px;display:grid}.goal-form{border-top:1px solid #dbe4de;gap:12px;margin-top:16px;padding-top:16px;display:grid}.goal-form-actions,.form-actions,.item-actions,.goal-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goals-history-panel{margin-top:0}.goals-history-timeline{gap:14px;margin-top:16px;display:grid;position:relative}.goals-history-timeline:before{content:"";background:#dbe4de;width:2px;position:absolute;top:4px;bottom:4px;left:13px}.goal-history-item{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;gap:12px;padding:14px 14px 14px 34px;display:grid;position:relative}.goal-history-item:before{content:"";background:#176b54;border-radius:999px;width:12px;height:12px;position:absolute;top:18px;left:8px;box-shadow:0 0 0 3px #eef4f0}.goal-history-item-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:10px;display:flex}.goal-history-item-head h3{margin:0;font-size:1rem}.goal-history-item-head p{color:#5c6b61;margin:4px 0 0}.goal-history-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.goal-history-meta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0;display:grid}.goal-history-meta div{background:#fff;border:1px solid #dbe4de;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.goal-history-meta dt{color:#5c6b61;font-size:.82rem;font-weight:700}.goal-history-meta dd{color:#25342d;margin:0}.goal-history-events{gap:10px;display:grid}.goal-history-event{background:#fff;border:1px solid #dbe4de;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.goal-history-event-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.goal-history-event-head span{color:#5c6b61;font-size:.9rem}.goal-history-event p{color:#4d5d54;margin:0}.form-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.button-ghost{color:#176b54;background:#fff;border:1px solid #c7d2cb;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:700;display:inline-flex}.button-ghost:hover{background:#eef4f0}.button-ghost.danger{color:#b84a4a}.item-actions{margin:8px 0 10px}.backup-panel,.settings-panel{margin-top:12px}.backup-grid,.settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.backup-card,.settings-card{background:#f7f9f7;border:1px solid #dbe4de;border-radius:12px;padding:14px}.backup-card p,.settings-card p{color:#4d5d54;margin-bottom:0}.backup-card code{background:#eef4f0;border-radius:6px;margin-top:6px;padding:2px 6px;display:inline-block}.reporting-panel{gap:16px;display:grid}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.summary-card{background:#f7f9f7;border:1px solid #dbe4de;border-radius:12px;padding:16px}.summary-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.summary-card-head h3{margin-bottom:4px}.summary-card-head p,.history-head p{color:#637169;margin-bottom:0}.summary-card-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.summary-card-grid-tight{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.history-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.history-head h2,.history-head h3{margin-bottom:4px}.button-link{color:#176b54;background:#fff;border:1px solid #c7d2cb;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.button-link:hover{background:#eef4f0}.button-link:disabled{opacity:.6;cursor:not-allowed}.history-range{flex-wrap:wrap;gap:8px;display:inline-flex}.history-range-button{color:#3f4b44;background:#fff;border:1px solid #c7d2cb;border-radius:999px;min-height:38px;padding:0 12px;font-weight:700}.history-range-button.is-active{color:#fff;background:#176b54;border-color:#176b54}.history-range-button:disabled{opacity:.85}.print-report-shell{display:none}.print-report-document{max-width:980px;margin:0 auto}.print-report-header{justify-content:space-between;align-items:start;gap:24px;margin-bottom:18px;display:flex}.print-report-kicker{letter-spacing:.08em;text-transform:uppercase;color:#4f5e56;margin:0 0 6px;font-size:.82rem}.print-report-summary{color:#3f4b44;margin:6px 0 0}.print-report-meta,.print-report-table{margin:0}.print-report-row{border-bottom:1px solid #dbe4de;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:10px;padding:6px 0;display:grid}.print-report-row dt{color:#324039;margin:0;font-weight:700}.print-report-row dd{color:#111;overflow-wrap:anywhere;min-width:0;margin:0}.print-report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.print-report-card{break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px solid #ccd8d1;border-radius:12px;padding:14px 16px}.print-report-card h3{margin:0 0 10px;font-size:1rem}.print-report-list{margin:0;padding-left:18px}.print-report-list li+li{margin-top:6px}.print-report-empty{color:#4f5e56;margin:0}.print-report-inline-note{color:#243029;break-inside:avoid;page-break-inside:avoid;background:#f8fbf9;border:1px solid #ccd8d1;border-radius:10px;margin:0 0 10px;padding:9px 12px}.print-report-footer{color:#4f5e56;border-top:1px solid #ccd8d1;justify-content:space-between;gap:16px;margin-top:18px;padding-top:12px;font-size:.92rem;display:flex}.print-browser-hint{margin-top:4px}.print-report-header-daily{gap:18px;margin-bottom:10px}.print-report-meta-daily .print-report-row{grid-template-columns:minmax(102px,148px) minmax(0,1fr);padding:4px 0}.print-report-grid-daily{gap:8px 12px;margin-bottom:8px}.print-report-grid-daily .print-report-card{padding:10px 12px}.print-report-grid-daily .print-report-row{grid-template-columns:minmax(92px,128px) minmax(0,1fr);gap:8px;padding:4px 0}.print-report-grid-daily .print-report-card h3,.print-report-grid-daily-bottom .print-report-card h3{margin-bottom:8px;font-size:.98rem}.print-report-grid-daily-bottom{gap:8px 12px;margin-bottom:0}.print-report-grid-daily-bottom .print-report-card{padding:10px 12px}.print-report-grid-daily-bottom .print-report-list li+li{margin-top:4px}.print-report-shell--daily .print-report-document{max-width:100%}@page{size:A4 portrait;margin:10mm}@media print{html,body{color:#111;background:#fff}.topbar,.sidebar,.mobile-nav,.content>:not(.print-report-shell){display:none!important}.shell,.layout,.content{background:#fff!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.print-report-shell{display:block!important}.print-report-document{max-width:none;font-size:10.6pt;line-height:1.3}.print-report-header{break-inside:avoid;page-break-inside:avoid}.print-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.print-report-shell--daily .print-report-document{font-size:10.2pt;line-height:1.24}.print-report-shell--daily .print-report-footer{margin-top:8px;padding-top:6px;font-size:.85rem}.print-report-shell--daily .print-report-list{margin-top:0}.print-report-shell--daily .print-report-row,.print-report-shell--daily .print-report-card,.print-report-shell--daily .print-report-inline-note,.print-report-shell--daily .print-report-header,.print-report-shell--daily .print-report-footer{break-inside:avoid;page-break-inside:avoid}}.dashboard-health-meta{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px;display:grid}.key-value-compact{padding:8px 10px}.key-value-compact strong{font-size:.96rem}.health-summary,.history-item{background:#f3f6f4;border:1px solid #dbe4de;border-radius:8px;padding:14px}.health-summary{align-self:start}.health-summary h3,.health-form h3,.history h3{margin-bottom:12px}.summary-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.key-value{background:#fff;border:1px solid #dbe4de;border-radius:10px;padding:10px 12px}.key-value span{color:#637169;font-size:.9rem;display:block}.key-value strong{margin-top:4px;font-size:1rem;display:block}.measurement-notes{color:#4d5d54;margin:12px 0 0}.history{margin-top:16px}.trend-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.trend-grid-compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.trend-stat{background:#f3f6f4;border:1px solid #dbe4de;border-radius:10px;padding:12px}.trend-stat span{color:#637169;font-size:.9rem;display:block}.trend-stat strong{margin-top:4px;font-size:1.05rem;display:block}.trend-summary{color:#4d5d54;margin:12px 0 0;line-height:1.45}.history-list{gap:10px;display:grid}.history-list-compact{gap:8px}.weight-history-preview{margin-top:14px}.history-item{background:#fff;border:1px solid #dbe4de}.history-item-compact{padding:12px}.history-item-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.history-item-head span{color:#176b54;font-weight:700}.walk-form-intro{color:#5c6b61;margin:0 0 14px}.walk-history-title{gap:8px;display:grid}.walk-history-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.walk-history-time{color:#46668a;background:#eef4fb;border-radius:999px;align-items:center;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.history-item-meta{color:#637169;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;font-size:.92rem;display:grid}.walk-history-caption{color:#637169;margin:10px 0 0;font-size:.9rem}.walk-delete-confirmation{background:#fff6f6;border:1px solid #f2c7c7;border-radius:16px;gap:10px;margin-bottom:16px;padding:14px 16px;display:grid}.walk-delete-confirmation p{margin:0}.walk-delete-preview{color:#7a5252;font-size:.95rem}.walk-delete-actions{flex-wrap:wrap;gap:10px;display:flex}.empty{color:#637169;margin-bottom:0}.notice{border:1px solid #0000;border-left-width:4px;border-radius:8px;margin-top:12px;padding:14px 16px;font-weight:600;line-height:1.4}.notice-success{background:#edf9f0;border-color:#c8e7d6 #c8e7d6 #c8e7d6 #176b54}.notice-error{background:#fef0f0;border-color:#f2c2c2 #f2c2c2 #f2c2c2 #b84a4a}.notice-info{background:#eef4fb;border-color:#c9d8ef #c9d8ef #c9d8ef #4a6ea8}.notice-warning{background:#fff6ea;border-color:#f0d7a8 #f0d7a8 #f0d7a8 #b7791f}.meal-list{gap:12px;display:grid}.meals-panel,.meals-history-panel{gap:18px;display:grid}.meal-daily-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.meal-summary-card{background:#f7f9f7;border:1px solid #dbe4de;border-radius:14px;gap:4px;padding:14px;display:grid}.meal-summary-card span,.meal-summary-card small{color:#5c6b61}.meal-items-stack{gap:14px;display:grid}.meal-items-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meal-items-head h3{margin:0 0 4px}.meal-items-head p{color:#5c6b61;margin:0}.meal-item-editor{background:#f9fbfa;border:1px solid #dbe4de;border-radius:16px;gap:14px;padding:16px;display:grid}.meal-item-editor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.meal-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-card{background:#f3f6f4;border:1px solid #dbe4de;border-radius:14px;gap:12px;padding:14px;display:grid}.meal-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.meal-card-head>div{gap:4px;display:grid}.meal-card-head span{color:#5c6b61}.meal-card-lines,.meal-card-meta,.meal-history-summary{gap:8px;display:grid}.meal-card-line{border-bottom:1px solid #e2e9e4;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.meal-card-line:last-child{border-bottom:0;padding-bottom:0}.meal-card-line span,.meal-card-meta span,.meal-history-summary span{color:#5c6b61}.app-error-shell{background:radial-gradient(circle at top,#176b541f,#0000 32%),linear-gradient(#f6faf7 0%,#eef3ef 100%);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.app-error-card{background:#fff;border:1px solid #dbe4de;border-radius:20px;gap:16px;width:min(720px,100%);padding:28px;display:grid;box-shadow:0 18px 50px #1b2a221f}.app-error-card h1{margin:0;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.1}.app-error-card p{color:#5a685f;margin:0}.app-error-actions{flex-wrap:wrap;gap:10px;display:flex}.app-error-route{color:#6b786f;font-size:.95rem}.app-error-stack{color:#314039;background:#f3f6f4;border:1px solid #dbe4de;border-radius:12px;max-height:220px;margin:0;padding:14px;font-size:.86rem;overflow:auto}@media (width<=860px){.grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.health-grid,.layout{grid-template-columns:1fr}.sidebar{display:none}.mobile-nav{display:block}.grid-two{grid-template-columns:1fr}.meal-items-head,.meal-card-head,.meal-card-line{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.meal-item-grid,.page-grid-two-col,.dashboard-summary-grid,.dashboard-chart-grid-wide,.composition-groups-grid,.weight-insights-grid,.reports-summary-grid,.reports-main-grid{grid-template-columns:1fr}.dashboard-summary-grid>*,.dashboard-chart-grid-wide>*{grid-column:auto}.page-header{flex-direction:column}.topbar-statuses{justify-items:start}}@media (width<=560px){.shell{width:min(100% - 18px,1220px);padding-top:18px}.panel{padding:16px}.panel-head,.history-item-head{flex-direction:column;align-items:flex-start}.metrics{grid-template-columns:1fr}.page-nav{position:static}.goal-form-actions,.form-actions,.item-actions{align-items:stretch}.goal-history-item{padding-left:28px}.goal-history-meta{grid-template-columns:1fr}.goal-history-event-head{flex-direction:column;align-items:flex-start}.metric-grid,.dashboard-secondary-row,.dashboard-calendar-grid,.today-overview-grid,.today-overview-info-grid,.mini-grid,.quick-links-grid,.script-list,.dashboard-chart-grid,.composition-groups-grid,.trend-summary-grid,.weight-insights-grid,.reports-summary-grid,.reports-main-grid,.summary-card-grid-tight,.freshness-sources,.freshness-detail-columns{grid-template-columns:1fr}.today-overview-toolbar{align-items:stretch}.today-overview-date-picker,.today-overview-date-picker input{width:100%;min-width:0}.dashboard-calendar-weekdays{gap:4px;font-size:.78rem}.dashboard-calendar-grid{gap:6px}.dashboard-calendar-day{gap:6px;min-height:92px;padding:8px}.dashboard-calendar-indicator{min-height:22px;padding:0 6px;font-size:.72rem}.freshness-metric-head,.freshness-detail-head,.freshness-detail-month-head{flex-direction:column}.metric-card-span-2,.metric-card-span-3,.metric-card-span-4{grid-column:auto}.data-table th,.data-table td{padding:10px 12px}}.daily-journal-panel .daily-journal-field textarea{min-height:140px}.daily-journal-meta{flex-wrap:wrap;align-items:center;gap:6px 16px;display:flex}.daily-journal-counter,.daily-journal-loading{color:#5b6b62;font-size:.82rem}.daily-journal-error{color:#a13c3c;font-size:.82rem}.daily-journal-actions{margin-top:10px}.daily-journal-delete-confirmation{background:#fff6f6;border:1px solid #f2c7c7;border-radius:16px;gap:10px;margin-top:12px;padding:14px 16px;display:grid}.daily-journal-delete-confirmation p{margin:0}.journal-history-filters{grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end;gap:10px;margin-top:12px;display:grid}.journal-history-filter-actions{flex-wrap:wrap;margin-top:0}.journal-history-results-count,.journal-history-loading{color:#5b6b62;margin:10px 0 0;font-size:.85rem}.journal-history-error{color:#a13c3c;background:#fff6f6;border:1px solid #f2c7c7;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;padding:12px 14px;font-size:.9rem;display:flex}.journal-history-error p{flex:220px;margin:0}.journal-history-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.journal-history-item{border:1px solid #dbe5df;border-radius:14px;gap:8px;padding:12px 14px;display:grid}.journal-history-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.journal-history-item-head h5{margin:0;font-size:.98rem}.journal-history-content{white-space:pre-line;word-break:break-word;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.journal-history-modified{color:#5b6b62;margin:0;font-size:.8rem}.journal-history-more-actions{margin-top:12px}.journal-tag-toggle-group{border:0;min-width:0;margin:10px 0 0;padding:0}.journal-history-filters .journal-tag-toggle-group{grid-column:1/-1;margin-top:0}.journal-tag-toggle-group legend{color:#4d5d54;padding:0;font-size:.85rem;font-weight:700}.journal-tag-toggle-list{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.journal-tag-toggle{color:#33413a;background:#fff;border:1px solid #c7d2cb;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:6px 14px;font-size:.88rem;font-weight:400;display:inline-flex}.journal-tag-toggle--active{color:#14503e;background:#e4f1ea;border-color:#176b54;font-weight:700}.journal-tag-toggle-check{font-weight:700}.daily-journal-saved-tags{color:#5b6b62;margin:8px 0 0;font-size:.82rem}.journal-history-item-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.journal-history-item-tag{color:#4d5d54;background:#f2f7f3;border:1px solid #c7d2cb;border-radius:999px;padding:2px 10px;font-size:.78rem}.print-report-journal-tags{color:#444;margin:0 0 4px;font-size:.85em}@media (width<=640px){.journal-history-filters{grid-template-columns:1fr}.journal-history-filter-actions{align-items:stretch}.journal-tag-toggle{flex:calc(50% - 8px);justify-content:center}}.print-report-journal-content{white-space:pre-wrap;word-break:break-word;margin:0}.trends-controls{align-content:start;gap:12px;display:grid}.trends-custom-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.trends-coverage-banner{gap:6px;display:grid}.trends-coverage-banner p{margin:0}.trends-coverage-flag{color:#8a5a13;font-weight:600}.trends-chart-block{align-content:start;gap:8px;min-width:0;display:grid}.trends-comparison-list{gap:6px;margin:0;padding-left:18px;display:grid}
