:root{color:#1d241f;background:#f7f8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root{--app-bg: #f6f8f5;--surface: #ffffff;--surface-soft: #f0f6f1;--border: #dfe7dd;--text: #18211b;--muted: #667267;--green: #24986d;--green-dark: #187a58;--green-soft: #e7f4ed;--teal: #168a8a;--amber: #b98217;--amber-soft: #fff6df;--red: #c94d4d;--red-soft: #fff0f0;--radius: 8px}html,body,#root{min-height:100%;background:var(--app-bg)}body{color:var(--text);overflow-x:hidden}button,input,select,textarea{letter-spacing:0}.app-shell.app-frame{width:min(100%,1440px);min-height:100vh;margin:0 auto;padding:10px 10px calc(84px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.brand-lockup h1,.app-topbar h1{margin:0;color:var(--text);font-size:clamp(21px,4.8vw,30px);line-height:1.08;letter-spacing:0}.eyebrow{display:block;margin:0 0 3px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}.app-sync-summary.state-error .sync-dot,.app-sync-summary.state-auth .sync-dot{background:var(--amber)}.app-sync-summary strong,.app-sync-summary span{display:block;min-width:0}.app-sync-summary strong{color:var(--text);font-size:13px}.app-sync-summary span{color:var(--muted);font-size:12px;line-height:1.35}.app-top-actions{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:8px;align-items:end}.active-page-chip{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid var(--border);border-radius:var(--radius);color:var(--green-dark);background:var(--surface);font-size:13px;font-weight:800}.app-date-picker,.date-picker{min-width:0}.app-date-picker span,.date-picker span{margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.app-date-picker input,.date-picker input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px}.status-bar{border:1px solid #cfe2d6;border-radius:var(--radius);background:var(--green-soft);color:var(--green-dark);box-shadow:none}.status-bar.is-error{border-color:#f0cccc;background:var(--red-soft);color:var(--red)}.icon-button,.report-actions button,.report-actions a,.soft-button,.quiet-action{border-radius:var(--radius);box-shadow:none}.icon-button.primary,.report-actions button:not(:disabled){background:var(--green);color:#fff}.icon-button.primary:hover,.report-actions button:not(:disabled):hover{background:var(--green-dark)}.icon-button.soft,.soft-button{border-color:#cfe0d2;color:var(--green-dark);background:var(--green-soft)}.app-nav.tabbar button{min-width:0;min-height:55px;border-radius:var(--radius);color:#4d594f;font-size:10px;font-weight:700}.tab-badge{top:5px;right:5px;background:var(--red)}.panel,.subpanel,.home-card,.report-nutrition-panel,.report-micro-panel,.micro-panel,.report-group,.inventory-task-section,.inventory-all-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:none}.panel{min-width:0;padding:12px}.home-panel.unified-home-panel,.reports-panel,.inventory-workspace-panel{border:0;background:transparent;padding:0}.dashboard-sync-strip,.install-banner,.dashboard-head{display:none}.page-heading-row,.reports-topbar,.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0 0 10px;padding:0;border:0;background:transparent}.page-heading-row h2,.reports-topbar h2,.panel-title h2,.section-head h2{margin:0;font-size:22px;line-height:1.12;letter-spacing:0}.page-heading-row span,.reports-title-block span,.panel-subtitle,.section-head span{color:var(--muted);font-size:12px}.section-head{min-width:0;align-items:center;margin:0 0 10px}.section-head strong{color:var(--text);font-size:15px}.dashboard-main-stack,.home-side-stack{display:grid;gap:10px;min-width:0}.nutrition-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nutrition-kpis div{border:1px solid #e8eee6;border-radius:var(--radius);background:#fbfcfb;padding:10px}.nutrition-kpis span{color:var(--muted)}.nutrition-kpis strong{color:var(--text);font-size:18px;overflow-wrap:anywhere}.macro-row{grid-template-columns:minmax(70px,.46fr) minmax(94px,1fr) 40px;gap:8px;align-items:center}.macro-row strong{font-size:13px}.macro-row span,.macro-row small{color:var(--muted);font-size:11px}.macro-track,.micro-track{height:7px;overflow:hidden;border-radius:999px;background:#e8eee6}.macro-track span,.micro-ok .micro-track span{background:var(--green)}.micro-watch .micro-track span,.micro-high .micro-track span{background:var(--amber)}.micro-low .micro-track span{background:var(--red)}.micro-panel-compact,.report-micro-panel{padding:12px;background:#fbfcfb}.micro-list{gap:8px}.micro-row{grid-template-columns:minmax(86px,.64fr) minmax(80px,1fr) 42px;gap:8px}.micro-row strong,.micro-row span,.micro-row em{font-size:12px}.micro-note{color:var(--muted)}.urgent-food-list,.home-recommendation-list,.inventory-task-list,.report-list{display:grid;gap:8px}.urgent-food-row,.inventory-task-row,.report-row,.shopping-list-row,.operation-row,.job-row,.draft-row{border:1px solid #e8eee6;border-radius:var(--radius);background:#fbfcfb;box-shadow:none}.urgent-food-row{grid-template-columns:40px minmax(0,1fr) auto;padding:9px}.urgent-food-row strong,.inventory-task-main strong,.report-row strong{color:var(--text)}.urgent-food-row span,.inventory-task-main span,.report-row span{color:var(--muted)}.unified-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.unified-actions button{min-height:52px;border:1px solid #dfe8dd;border-radius:var(--radius);color:var(--text);background:#fbfcfb}.unified-actions button:hover{border-color:#bdd9c9;color:var(--green-dark);background:var(--green-soft)}.reports-title-block span{display:inline-flex;align-items:center;gap:6px}.reports-title-block i{width:7px;height:7px;display:inline-block;border-radius:999px;background:var(--green)}.report-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.report-summary-strip>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px}.report-summary-strip span{color:var(--muted);font-size:12px}.report-summary-strip strong{color:var(--text);font-size:22px}.report-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.report-sidebar{display:grid;gap:10px;min-width:0}.report-type-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.report-type-tabs button{min-height:38px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-weight:800}.report-type-tabs button.active{color:#fff;background:var(--green)}.report-nutrition-panel{padding:12px}.report-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.report-row.is-selected{border-color:#aacfb7;background:var(--green-soft)}.report-actions{display:flex;flex-wrap:wrap;gap:6px}.report-actions button,.report-actions a,.report-reader-actions a{min-height:31px;padding:5px 8px;border:1px solid #d6e2d7;font-size:12px;text-decoration:none}.report-actions a,.report-reader-actions a{color:var(--green-dark);background:var(--surface)}.report-reader{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.report-reader-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:#fbfcfb}.report-reader-head strong,.report-reader-head span{display:block}.report-reader-head span{color:var(--muted);font-size:12px}.report-reader iframe{width:100%;min-height:min(620px,70vh);border:0;background:#fff}.category-tabs{display:flex;gap:8px;margin:0 0 10px;padding:2px 0 8px;overflow-x:auto;scrollbar-width:none}.category-tabs button{min-width:96px;flex:0 0 auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.category-tabs button.active{border-color:#afd4be;background:var(--green-soft)}.inventory-task-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.inventory-task-column{display:grid;gap:10px;min-width:0}.inventory-task-section,.inventory-all-panel{padding:12px}.inventory-task-main{min-width:0;padding:0;border:0;text-align:left;background:transparent}.inventory-task-main strong,.inventory-task-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-task-main span{margin-top:2px;font-size:12px}.freshness-chip{min-height:28px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;color:var(--muted);background:#eef3ed;font-size:12px;font-weight:800}.freshness-chip.level-expired,.freshness-chip.level-today{color:var(--red);background:var(--red-soft)}.freshness-chip.level-soon,.freshness-chip.level-review{color:var(--amber);background:var(--amber-soft)}.inventory-inline-editor{border:1px solid #d7e4d7;border-radius:var(--radius);background:var(--surface);padding:10px}.inventory-card{border-radius:var(--radius);box-shadow:none}.inventory-card .food-thumb.large{min-height:118px}.inventory-card-body{gap:3px}.food-thumb,.food-thumb-wrap,.food-thumb img{border-radius:var(--radius)}.settings-install-panel p{margin:0 0 12px;color:var(--muted);font-size:13px}@media(min-width:760px){.app-shell.app-frame{padding:16px 16px 22px}.app-topbar{grid-template-columns:minmax(260px,.85fr) minmax(260px,1fr) auto;align-items:center}.app-top-actions{grid-template-columns:auto minmax(184px,220px) auto}.unified-home-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:12px}.nutrition-kpis,.report-nutrition-kpis,.report-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.report-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.inventory-task-row{grid-template-columns:42px minmax(0,1fr) auto;align-items:center}.inventory-task-actions{grid-column:auto;justify-content:flex-end}}@media(min-width:980px){.app-shell.app-frame{grid-template-columns:164px minmax(0,1fr);grid-template-areas:"nav top" "nav status" "nav content";align-items:start;gap:14px}.app-topbar{grid-area:top;position:sticky;top:16px}.status-bar{grid-area:status}.app-content{grid-area:content}.app-nav.tabbar{grid-area:nav;position:sticky;inset:16px auto auto;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:164px;min-height:calc(100vh - 32px);padding:8px;border-radius:var(--radius);box-shadow:none}.app-nav.tabbar button{min-height:46px;flex-direction:row;justify-content:flex-start;gap:9px;padding:0 10px;font-size:14px}.app-nav.tabbar button span{display:inline}.tab-badge{position:static;margin-left:auto}.report-workspace{grid-template-columns:minmax(330px,420px) minmax(0,1fr);align-items:start}.report-reader{position:sticky;top:104px}.report-reader iframe{min-height:calc(100vh - 190px)}.inventory-task-layout{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start}.inventory-all-panel{position:sticky;top:104px}}@media(max-width:420px){.app-shell.app-frame{padding-inline:8px}.app-topbar{padding:9px}.brand-mark{width:34px;height:34px}.app-top-actions{grid-template-columns:auto minmax(0,1fr) auto}.active-page-chip{width:42px;padding:0;overflow:hidden}.active-page-chip svg{flex:0 0 auto}.active-page-chip{font-size:0}.app-nav.tabbar{left:8px;right:8px;bottom:8px;padding:6px}.app-nav.tabbar button{min-height:54px}.panel{padding:10px}.home-card,.report-nutrition-panel,.report-micro-panel,.micro-panel,.report-group-flat,.inventory-task-section,.inventory-all-panel{padding:11px}.inventory-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:760px){.health-status-strip{padding:12px 14px}.health-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-chart-card.is-wide{grid-column:span 2}.period-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-summary-card:nth-last-child(-n+2){padding-bottom:0;border-bottom:0}}@media(min-width:1160px){.health-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-chart-card.is-wide{grid-column:span 2}.health-period-context.is-wide{grid-column:span 3}.period-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.period-summary-card{padding:0 10px 0 0;border-right:1px solid #edf2eb;border-bottom:0}.period-summary-card:last-child{padding-right:0;border-right:0}}@media(max-width:620px){.health-status-strip{display:grid;align-items:stretch}.health-chart-card{padding:11px}.health-chart-card>header{gap:8px}.health-chart-value{min-width:72px}.health-chart-value b{font-size:18px}.dual-line-chart svg{height:146px}.line-trend-chart svg,.target-bar-chart svg{height:124px}.energy-range-chart svg{height:150px}.macro-progress{grid-template-columns:minmax(36px,.45fr) minmax(54px,.6fr) minmax(68px,1fr) 34px;gap:6px}.period-summary-card>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:759px){.app-shell.app-frame{min-height:0;align-content:start;align-items:start;grid-auto-rows:auto}.app-content{align-self:start}.app-topbar{grid-template-rows:28px 34px;align-content:start;align-self:start;gap:6px;padding:7px}.app-sync-summary{display:none}.brand-lockup{height:28px;align-self:start}.brand-mark{width:28px;height:28px}.brand-lockup h1{font-size:16px;line-height:1.05}.app-top-actions{grid-template-columns:minmax(0,1fr) auto;gap:6px}.active-page-chip{display:none}.app-date-picker input{height:34px;min-height:34px;padding:0 7px;font-size:13px;line-height:34px}.app-top-actions .icon-button{height:34px;min-height:34px;padding-inline:8px}}.health-scope-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:-2px 0 10px;padding:3px;border:1px solid #dfe8dd;border-radius:var(--radius);background:#f4f7f2}.health-scope-control button{min-width:0;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:850}.health-scope-control button.is-active,.health-scope-control button[aria-selected=true]{background:var(--surface);color:var(--green-dark);box-shadow:inset 0 0 0 1px #cfe0d2}.health-scope-note{display:block;margin-top:-2px;color:var(--muted);font-size:11px;line-height:1.35}.micro-panel .section-head,.report-micro-panel .section-head{align-items:flex-start}.micro-panel .section-head>div,.report-micro-panel .section-head>div{min-width:0;display:grid;gap:2px}.micro-toggle-button{min-height:30px;padding-inline:8px}.app-topbar{gap:7px;padding:8px}.brand-lockup{gap:8px}.brand-mark{width:30px;height:30px}.brand-lockup h1{font-size:18px;line-height:1.05}.app-sync-summary{min-height:34px;padding:6px 8px}.app-sync-summary strong{font-size:12px}.app-sync-summary span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-top-actions{align-items:center}.app-date-picker span{display:none}.app-date-picker input{min-height:36px;font-size:14px;padding-inline:8px}.active-page-chip,.app-top-actions .icon-button{min-height:36px}@media(min-width:760px){.app-topbar{gap:10px;padding:9px}.brand-mark{width:34px;height:34px}.brand-lockup h1{font-size:22px}.app-date-picker input{min-height:38px}}@media(max-width:759px){.app-topbar{grid-template-rows:28px 34px;align-content:start;gap:6px;padding:7px}.app-sync-summary{display:none}.brand-lockup{height:28px;align-self:start}.brand-mark{width:28px;height:28px}.brand-lockup h1{font-size:16px}.app-top-actions{grid-template-columns:minmax(0,1fr) auto;gap:6px}.active-page-chip{display:none}.app-date-picker input{height:34px;min-height:34px;padding:0 7px;font-size:13px;line-height:34px}.app-top-actions .icon-button{height:34px;min-height:34px;padding-inline:8px}}.app-nav.tabbar{grid-template-columns:repeat(8,minmax(0,1fr))}.inventory-merged-layout{grid-template-columns:minmax(0,1fr);align-items:start}.inventory-consume-panel,.inventory-side-panel,.merged-eat-input,.inventory-consume-draft{min-width:0}.inventory-consume-panel{display:grid;gap:10px}.inventory-priority-strip{margin-top:2px}.inventory-consume-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-consume-grid .eat-card{grid-template-rows:auto minmax(54px,auto) auto auto}.inventory-consume-grid .eat-card .inventory-card-body{min-height:54px}.inventory-consume-grid .compact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-selected-bar{bottom:92px}.merged-eat-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.merged-eat-input textarea{min-height:96px}.inventory-side-panel{align-content:start}@media(min-width:720px){.inventory-consume-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}}@media(min-width:980px){.app-nav.tabbar{grid-template-columns:minmax(0,1fr)}.inventory-merged-layout{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.inventory-consume-panel{position:sticky;top:104px}.inventory-selected-bar{bottom:16px}}@media(max-width:420px){.app-nav.tabbar button{font-size:9px}.inventory-consume-grid{gap:8px}.inventory-consume-grid .eat-card{padding:8px}}.health-panel .section-head>div{min-width:0;display:grid;gap:2px}.section-mini-action{min-height:32px;border:1px solid #cfe0d2;border-radius:var(--radius);background:var(--green-soft);color:var(--green-dark);padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:800;white-space:nowrap}.health-dashboard-panel{border:0;background:transparent;padding:0;display:grid;gap:12px}.health-dashboard-title{margin:0}.health-dashboard-title .button-row{justify-content:flex-end}.health-dashboard-title .soft-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800}.health-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}.health-kpi-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.health-kpi-card,.health-status-card,.health-detail-card,.health-period-card,.health-trend-tile,.health-assumption-section,.health-period-section,.health-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:none}.health-kpi-card{min-width:0;min-height:112px;display:grid;grid-template-rows:auto 1fr auto;gap:7px;padding:11px;border-left:4px solid var(--green)}.health-kpi-card.tone-teal{border-left-color:var(--teal)}.health-kpi-card.tone-amber{border-left-color:var(--amber)}.health-kpi-card.tone-red{border-left-color:var(--red)}.health-kpi-card>div{min-width:0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.health-kpi-card>div svg{flex:0 0 auto}.health-kpi-header span{min-width:0;overflow:hidden;text-overflow:ellipsis}.health-kpi-action{min-width:0;min-height:26px;margin-left:auto;padding:0 7px;border:1px solid #cfe0d2;border-radius:var(--radius);background:var(--green-soft);color:var(--green-dark);display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}.health-kpi-action svg{width:13px;height:13px}.health-kpi-action:focus-visible{outline:2px solid rgba(36,152,109,.28);outline-offset:2px}.health-kpi-card strong{align-self:end;color:var(--text);font-size:22px;line-height:1.05;overflow-wrap:anywhere}.health-kpi-card small{min-height:16px;color:var(--muted);font-size:11px;line-height:1.25;overflow-wrap:anywhere}.health-status-card{min-width:0;display:grid;gap:12px;padding:12px;align-content:start}.health-status-top{min-width:0;display:flex;align-items:center;gap:9px}.health-status-top>svg{flex:0 0 auto;color:var(--green-dark)}.health-status-top>div{min-width:0;display:grid;gap:2px}.health-status-top strong{color:var(--text);font-size:15px;overflow-wrap:anywhere}.health-status-top span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.health-quality-chips{display:flex;flex-wrap:wrap;gap:6px}.health-quality-chips span{min-height:27px;border:1px solid #e1e8df;border-radius:var(--radius);background:#fbfcfb;color:var(--muted);padding:5px 8px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800}.health-quality-chips span.is-ok{color:var(--green-dark);background:var(--green-soft);border-color:#cfe0d2}.health-quality-chips i{width:6px;height:6px;border-radius:999px;background:currentColor}.health-quality-chips small{color:inherit;font-size:10px;opacity:.82}.health-macro-mini{display:grid;gap:8px}.health-macro-mini p{min-width:0;display:grid;grid-template-columns:minmax(48px,.55fr) minmax(64px,.65fr) minmax(70px,1fr) 38px;gap:7px;align-items:center;margin:0}.health-macro-mini span,.health-macro-mini small{color:var(--muted);font-size:11px}.health-macro-mini b{color:var(--text);font-size:12px;overflow-wrap:anywhere}.health-macro-mini i{height:7px;overflow:hidden;border-radius:999px;background:#e8eee6}.health-macro-mini em{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--green)}.health-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.health-detail-card{min-width:0;display:grid;gap:10px;padding:12px;align-content:start}.health-detail-card header{min-width:0;display:flex;align-items:flex-start;gap:8px}.health-detail-card header svg{flex:0 0 auto;color:var(--green-dark);margin-top:1px}.health-detail-card header div{min-width:0;display:grid;gap:2px}.health-detail-card header strong{color:var(--text);font-size:14px}.health-detail-card header span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.health-detail-card>div{display:grid;gap:7px}.health-detail-card p,.health-period-card p,.health-assumption-list p{margin:0}.health-detail-card p{min-width:0;display:grid;grid-template-columns:minmax(84px,.7fr) minmax(76px,.65fr);gap:8px;align-items:start;padding:7px 0;border-top:1px solid #eef2ec}.health-detail-card p:first-child{border-top:0}.health-detail-card p span{color:var(--muted);font-size:12px}.health-detail-card p b{color:var(--text);font-size:13px;text-align:right;overflow-wrap:anywhere}.health-detail-card p small{grid-column:1 / -1;color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.health-section{min-width:0;display:grid;gap:10px;padding:12px}.health-period-grid,.health-trend-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.health-period-card{min-width:0;display:grid;gap:8px;padding:11px;background:#fbfcfb}.health-period-card>strong{color:var(--text);font-size:14px}.health-period-card>span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.health-period-card>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.health-period-card p{min-width:0;display:grid;gap:2px;padding:8px;border:1px solid #edf1eb;border-radius:var(--radius);background:#fff}.health-period-card p span,.health-period-card p small{color:var(--muted);font-size:10px}.health-period-card p b{color:var(--text);font-size:13px;overflow-wrap:anywhere}.health-trend-tile{min-width:0;min-height:118px;display:grid;gap:7px;padding:10px;background:#fbfcfb}.health-trend-tile>div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.health-trend-tile span,.health-trend-tile small{color:var(--muted);font-size:11px}.health-trend-tile strong{color:var(--text);font-size:14px;text-align:right;overflow-wrap:anywhere}.health-trend-tile svg{width:100%;height:42px;display:block}.health-trend-tile line{stroke:#e1e8df;stroke-width:2}.health-trend-tile polyline{fill:none;stroke:var(--teal);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.health-trend-empty{min-height:42px;display:grid;place-items:center;color:var(--muted);font-size:12px}.health-chart-dashboard{gap:12px}.health-status-strip{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.health-chart-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.health-chart-card{--chart-primary: var(--green);--chart-soft: var(--green-soft);min-width:0;display:grid;gap:11px;align-content:start;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:none}.health-chart-card.tone-teal{--chart-primary: var(--teal);--chart-soft: #e3f2f2}.health-chart-card.tone-amber{--chart-primary: var(--amber);--chart-soft: var(--amber-soft)}.health-chart-card.tone-red{--chart-primary: var(--red);--chart-soft: var(--red-soft)}.health-chart-card>header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.health-chart-title{min-width:0;display:flex;align-items:flex-start;gap:8px}.health-chart-title>svg{flex:0 0 auto;margin-top:2px;color:var(--chart-primary)}.health-chart-title>div{min-width:0;display:grid;gap:2px}.health-chart-title strong{color:var(--text);font-size:14px;line-height:1.2}.health-chart-title span{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.health-chart-value{min-width:82px;display:grid;gap:2px;justify-items:end;text-align:right}.health-chart-value b{color:var(--text);font-size:20px;line-height:1.05;overflow-wrap:anywhere}.health-chart-value small{color:var(--muted);font-size:10px;line-height:1.25;overflow-wrap:anywhere}.health-chart-body{min-width:0}.health-chart-card>footer{min-width:0;padding-top:8px;border-top:1px solid #edf2eb}.health-chart-wrap{min-width:0;display:grid;gap:5px}.health-chart-wrap svg{width:100%;display:block;overflow:visible}.body-composition-chart{min-width:0;display:grid;gap:9px}.metric-trend-lane{--chart-primary: var(--green);min-width:0;display:grid;gap:4px;padding:8px;border:1px solid #edf2eb;border-radius:var(--radius);background:#fbfcfb}.metric-trend-lane.tone-teal{--chart-primary: var(--teal)}.metric-trend-lane.tone-amber{--chart-primary: var(--amber)}.metric-trend-lane.tone-red{--chart-primary: var(--red)}.metric-trend-lane-head{min-width:0;display:grid;grid-template-columns:minmax(44px,.5fr) minmax(72px,.7fr) minmax(70px,auto);align-items:baseline;gap:8px}.metric-trend-lane-head span,.metric-trend-lane-head small{color:var(--muted);font-size:10px;line-height:1.25}.metric-trend-lane-head b{color:var(--text);font-size:13px;line-height:1.2;overflow-wrap:anywhere}.metric-trend-lane-head small{text-align:right;font-weight:800}.metric-trend-lane svg{width:100%;height:76px;display:block;overflow:visible}.metric-lane-empty{min-height:68px;display:grid;place-items:center;color:var(--muted);font-size:11px;font-weight:800}.dual-line-chart svg{height:164px}.line-trend-chart svg,.target-bar-chart svg{height:136px}.energy-range-chart svg{height:168px}.chart-grid-line{stroke:#e7eee5;stroke-width:1}.chart-target-line{stroke:#9aa89c;stroke-width:1.5;stroke-dasharray:5 5}.chart-range-band{fill:#b9821724}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line-primary{stroke:var(--chart-primary)}.chart-line-secondary{stroke:var(--teal)}.chart-point-primary{fill:var(--surface);stroke:var(--chart-primary);stroke-width:3}.chart-point-secondary{fill:var(--surface);stroke:var(--teal);stroke-width:3}.chart-bar{fill:var(--chart-primary);opacity:.72}.chart-bar.is-on-target{opacity:1}.chart-bar-secondary{fill:var(--teal);opacity:.45}.chart-axis-row{min-height:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;line-height:1.2}.chart-axis-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.health-chart-empty{min-height:120px;display:grid;place-items:center;border:1px dashed #dce7da;border-radius:var(--radius);background:#fbfcfb;color:var(--muted);font-size:12px;font-weight:700;text-align:center}.chart-legend-row,.metric-footnote-grid{min-width:0;display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:11px;line-height:1.35}.chart-legend-row span,.metric-footnote-grid span{min-width:0}.chart-legend-row span:before{content:"";width:8px;height:8px;margin-right:5px;display:inline-block;border-radius:999px;background:#9aa89c}.chart-legend-row .legend-green:before{background:var(--green)}.chart-legend-row .legend-teal:before{background:var(--teal)}.metric-footnote-grid b{color:var(--text);font-weight:800}.sleep-chart-stack{min-width:0;display:grid;gap:10px}.sleep-window-chart{display:grid;gap:6px;padding:8px 0 2px}.sleep-window-track{position:relative;height:9px;border-radius:999px;background:#e9efe8;overflow:hidden}.sleep-window-fill{position:absolute;top:0;bottom:0;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--green))}.sleep-window-labels{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px}.sleep-window-labels b{color:var(--text);font-size:11px}.stacked-ratio{display:grid;gap:6px}.stacked-ratio-bar{height:10px;display:flex;overflow:hidden;border-radius:999px;background:#e9efe8}.stacked-ratio-bar span{min-width:4px;height:100%}.stacked-ratio .tone-green{background:var(--green)}.stacked-ratio .tone-teal{background:var(--teal)}.stacked-ratio .tone-amber{background:var(--amber)}.stacked-ratio .tone-red{background:var(--red)}.stacked-ratio-legend{display:flex;flex-wrap:wrap;gap:5px 9px}.stacked-ratio-legend small{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;line-height:1.2}.stacked-ratio-legend i{width:7px;height:7px;border-radius:999px}.macro-progress-list{display:grid;gap:8px}.macro-progress{--macro-color: var(--green);min-width:0;display:grid;grid-template-columns:minmax(42px,.45fr) minmax(66px,.65fr) minmax(88px,1fr) 42px;gap:7px;align-items:center;margin:0}.macro-progress.tone-teal{--macro-color: var(--teal)}.macro-progress.tone-amber{--macro-color: var(--amber)}.macro-progress.tone-red{--macro-color: var(--red)}.macro-progress span,.macro-progress small{color:var(--muted);font-size:11px}.macro-progress b{color:var(--text);font-size:12px;overflow-wrap:anywhere}.macro-progress i{height:7px;overflow:hidden;border-radius:999px;background:#e8eee6}.macro-progress em{display:block;height:100%;max-width:100%;border-radius:inherit;background:var(--macro-color)}.period-summary-grid{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.period-summary-card{min-width:0;display:grid;gap:6px;padding:0 0 8px;border-bottom:1px solid #edf2eb}.period-summary-card:last-child{padding-bottom:0;border-bottom:0}.period-summary-card>strong{color:var(--text);font-size:13px}.period-summary-card>span{color:var(--muted);font-size:10px}.period-summary-card>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.period-summary-card p{min-width:0;display:grid;gap:1px;margin:0}.period-summary-card small,.period-summary-card em{color:var(--muted);font-size:10px;font-style:normal}.period-summary-card b{color:var(--text);font-size:13px;overflow-wrap:anywhere}.health-assumption-strip{min-width:0;display:grid;gap:6px;padding:10px 12px;border:1px solid #efdcb6;border-radius:var(--radius);background:var(--amber-soft)}.health-assumption-strip>div{display:flex;align-items:center;gap:7px;color:#7b560d}.health-assumption-strip strong{font-size:13px}.health-assumption-strip p{margin:0;color:#7b560d;font-size:12px;line-height:1.45}.weight-calendar-section{gap:12px}.weight-calendar-head{margin-bottom:0}.weight-calendar-head>div{min-width:0;display:grid;gap:2px}.weight-calendar-head small{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800}.weight-calendar-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.weight-calendar-summary p{min-width:0;margin:0;display:grid;gap:3px;padding:10px;border:1px solid #e5ece2;border-radius:var(--radius);background:#fbfcfb}.weight-calendar-summary span,.weight-calendar-summary small{color:var(--muted);font-size:11px}.weight-calendar-summary b{color:var(--text);font-size:16px;overflow-wrap:anywhere}.weight-scenario-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weight-scenario-grid p{min-width:0;margin:0;display:grid;gap:3px;padding:9px;border:1px solid #e5ece2;border-radius:var(--radius);background:#fff}.weight-scenario-grid span,.weight-scenario-grid small{color:var(--muted);font-size:10px;line-height:1.25}.weight-scenario-grid b{color:var(--text);font-size:14px;overflow-wrap:anywhere}.weight-gap-callout{min-width:0;padding:9px 10px;border:1px solid #d6e7dc;border-radius:var(--radius);background:var(--green-soft);color:var(--text);font-size:12px;line-height:1.35}.weight-gap-callout b{color:var(--green);white-space:nowrap}.weight-calendar-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}.weight-calendar-monthbar{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;gap:6px;align-items:center}.weight-calendar-monthbar>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #dfe9e3;border-radius:var(--radius);background:#fff;color:var(--text)}.weight-calendar-monthbar>button:disabled{color:#b8c5bd;background:#f7f9f7}.weight-calendar-monthbar>strong{min-width:0;color:var(--text);font-size:14px;text-align:center}.weight-calendar-monthbar>div{grid-column:1 / -1;min-width:0;display:flex;gap:6px;overflow-x:auto;padding-bottom:1px}.weight-calendar-monthbar>div>button{flex:0 0 auto;min-width:76px;height:30px;border:1px solid #dfe9e3;border-radius:var(--radius);background:#fff;color:var(--muted);font-size:12px;font-weight:800}.weight-calendar-monthbar>div>button.is-active{border-color:var(--green);background:#eaf7f0;color:var(--green)}.weight-calendar-grid{min-width:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weight-calendar-weekday,.weight-calendar-pad{min-height:22px}.weight-calendar-weekday{display:grid;place-items:center;color:var(--muted);font-size:10px;font-weight:800}.weight-calendar-day{min-width:0;min-height:76px;display:grid;grid-template-rows:auto 1fr auto auto;gap:3px;align-items:center;border:1px solid #e2e9df;border-radius:var(--radius);background:#fff;color:var(--text);padding:6px 4px;text-align:center}.weight-calendar-day.is-actual{border-color:#cfe0d2;background:var(--green-soft)}.weight-calendar-day.is-predicted{border-color:#c9e2e2;background:#e9f6f6}.weight-calendar-day.is-missing{color:var(--muted);background:#f7f8f4}.weight-calendar-day.is-selected{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.weight-calendar-day span{color:var(--muted);font-size:10px;font-weight:800}.weight-calendar-day strong{color:var(--text);font-size:12px;line-height:1.1;overflow-wrap:anywhere}.weight-calendar-day em{color:var(--teal);font-size:9px;font-style:normal;font-weight:800;line-height:1.1;overflow-wrap:anywhere}.weight-calendar-day small{color:var(--muted);font-size:9px;font-weight:800}.weight-calendar-detail{min-width:0;display:grid;gap:10px;padding:11px;border:1px solid #e1e8df;border-radius:var(--radius);background:#fbfcfb}.weight-calendar-detail header{min-width:0;display:flex;align-items:flex-start;gap:8px}.weight-calendar-detail header svg{flex:0 0 auto;color:var(--teal)}.weight-calendar-detail header div{min-width:0;display:grid;gap:2px}.weight-calendar-detail header strong{color:var(--text);font-size:14px}.weight-calendar-detail header span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.weight-contributor-list{display:grid;gap:7px}.weight-checklist-context{color:#49655b;font-size:11px;line-height:1.35;padding:7px 8px;border:1px solid #dce9e2;border-radius:var(--radius);background:#f4faf7}.weight-contributor{min-width:0;margin:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px;border:1px solid #edf1eb;border-radius:var(--radius);background:#fff}.weight-contributor svg{color:var(--amber)}.weight-contributor.direction-down svg{color:var(--teal)}.weight-contributor.direction-flat svg{color:var(--muted)}.weight-checklist-item.tone-risk{border-color:#f5d7a5;background:#fffaf1}.weight-checklist-item.tone-bad{border-color:#f1c2bd;background:#fff7f5}.weight-checklist-item.tone-good{border-color:#cfe9df;background:#f8fffb}.weight-checklist-item{align-items:start}.weight-checklist-title{min-width:0;display:flex;gap:6px;align-items:baseline;justify-content:space-between}.weight-checklist-title small{flex:0 0 auto;color:var(--muted);font-size:10px}.weight-goal-progress{--goal-progress: 0%;position:relative;display:block;width:100%;height:11px;overflow:hidden;border-radius:999px;background:#e9efec}.weight-goal-progress i{display:block;width:var(--goal-progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#49b98d)}.weight-checklist-item.tone-risk .weight-goal-progress i,.weight-checklist-item.tone-bad .weight-goal-progress i{background:linear-gradient(90deg,#d99a2b,#f0c15a)}.weight-goal-progress.is-over i{background:linear-gradient(90deg,#c85f54,#e0927d)}.weight-goal-progress em{position:absolute;inset:0;display:grid;place-items:center;color:#22322d;font-size:9px;font-style:normal;font-weight:700;line-height:1}.weight-contributor span{min-width:0;display:grid;gap:4px}.weight-contributor b{color:var(--text);font-size:12px}.weight-contributor small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.weight-contributor strong{color:var(--text);font-size:12px;text-align:right;white-space:nowrap}.weight-calendar-note,.weight-calendar-warning{color:var(--muted);font-size:11px;line-height:1.35}.weight-calendar-warning{color:#7b560d}.weight-page-panel{border:0;background:transparent;padding:0;display:grid;gap:12px}.weight-page-title{margin:0}.weight-page-title .button-row{justify-content:flex-end}.weight-page-title .soft-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800}.weight-page-summary{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weight-milestone-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weight-milestone-card{min-width:0;display:grid;gap:6px;align-content:start;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:11px}.weight-milestone-card span,.weight-milestone-card small,.weight-milestone-card em{color:var(--muted);font-size:11px;line-height:1.3}.weight-milestone-card span{color:var(--green-dark);font-weight:900}.weight-milestone-card strong{color:var(--text);font-size:21px;line-height:1.05}.weight-milestone-card div{min-width:0;display:grid;gap:3px;border-top:1px solid #eef2ec;padding-top:7px}.weight-milestone-card b{color:var(--text);font-size:11px;font-weight:800;overflow-wrap:anywhere}.weight-milestone-card em{font-style:normal;font-weight:800}.weight-summary-card,.weight-model-panel,.weight-chart-panel,.weight-data-panel,.weight-warning-panel,.weight-model-note,.weight-page-calendar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:none}.weight-summary-card{min-width:0;min-height:108px;display:grid;grid-template-rows:auto auto 1fr auto;gap:6px;padding:11px;border-left:4px solid var(--green)}.weight-summary-card svg{color:var(--green-dark)}.weight-summary-card span,.weight-summary-card small{color:var(--muted);font-size:11px;line-height:1.25}.weight-summary-card span{font-weight:800}.weight-summary-card strong{align-self:end;color:var(--text);font-size:21px;line-height:1.05;overflow-wrap:anywhere}.weight-analysis-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}.weight-analysis-main,.weight-analysis-side{min-width:0;display:grid;gap:10px;align-content:start}.weight-model-panel,.weight-chart-panel,.weight-data-panel,.weight-warning-panel,.weight-model-note,.weight-page-calendar{min-width:0;display:grid;gap:10px;padding:12px}.weight-model-panel .section-head small,.weight-chart-panel .section-head small{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:800}.weight-model-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}.weight-model-row{min-width:0;margin:0;display:grid;grid-template-columns:minmax(80px,.75fr) minmax(72px,.7fr);gap:7px;align-items:start;padding:8px 0;border-top:1px solid #eef2ec}.weight-model-row:first-child{border-top:0}.weight-model-row span{color:var(--muted);font-size:12px;font-weight:800}.weight-model-row b{color:var(--text);font-size:14px;text-align:right}.weight-model-row small{grid-column:1 / -1;color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.weight-interval-strip{min-width:0;display:flex;gap:8px;align-items:flex-start;border:1px solid #d6e7dc;border-radius:var(--radius);background:var(--green-soft);padding:9px}.weight-interval-strip svg{flex:0 0 auto;color:var(--green-dark)}.weight-interval-strip div{min-width:0;display:grid;gap:3px}.weight-interval-strip strong{color:var(--text);font-size:13px;overflow-wrap:anywhere}.weight-interval-strip span{color:var(--muted);font-size:11px;line-height:1.35}.weight-trend-chart{min-width:0;display:grid;gap:9px;padding:2px 0 0}.weight-trend-scroll{min-width:0;overflow:hidden;border:1px solid #edf2ed;border-radius:var(--radius);background:linear-gradient(180deg,#fff,#fbfcfb);touch-action:pan-y;cursor:grab}.weight-trend-scroll:focus-visible{outline:2px solid rgba(37,141,140,.35);outline-offset:2px}.weight-trend-scroll:active{cursor:grabbing}.weight-trend-chart svg{width:100%;max-width:100%;height:auto;aspect-ratio:560 / 270;display:block;overflow:hidden;background:transparent}.weight-trend-chart text{fill:var(--muted);font-size:14px;font-weight:800}.weight-trend-chart .forecast-zone{fill:#f3faf8}.weight-trend-chart .chart-grid-row line{stroke:#e7eee8;stroke-width:1}.weight-trend-chart .chart-grid-row:first-of-type line{stroke:#dce7df}.weight-trend-chart .axis{stroke:#cfdcd3;stroke-width:2}.weight-trend-chart .selected-marker{stroke:#c89a31;stroke-width:2;stroke-dasharray:4 5}.weight-trend-chart .forecast-marker{stroke:#b7d7d2;stroke-width:1.5;stroke-dasharray:3 6}.weight-trend-chart .milestone-marker line{stroke:#22817659;stroke-width:1;stroke-dasharray:2 7}.weight-trend-chart .milestone-marker text{fill:#3f726b;font-size:11px;font-weight:900}.weight-trend-chart .confidence-band{fill:#2563eb14;stroke:#2563eb29;stroke-width:1}.weight-trend-chart polyline{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.weight-trend-chart polyline.actual{stroke:#202725}.weight-trend-chart polyline.realistic{stroke:#2563eb}.weight-trend-chart polyline.adherence{stroke:#159947;stroke-dasharray:9 7}.weight-trend-chart .actual-dot{fill:var(--surface);stroke:var(--text);stroke-width:2}.weight-trend-chart .selected-dot{fill:#fff;stroke:#c89a31;stroke-width:3}.weight-trend-chart .selected-tooltip rect{fill:#fffffff5;stroke:#d8e4dc;stroke-width:1;filter:drop-shadow(0 8px 16px rgba(24,33,27,.12))}.weight-trend-chart .selected-tooltip text:first-of-type{fill:var(--muted);font-size:13px}.weight-trend-chart .selected-tooltip text:last-of-type{fill:var(--text);font-size:18px;font-weight:900}.weight-trend-chart .selected-tooltip .tooltip-realistic{fill:#2563eb;font-size:14px;font-weight:900}.weight-trend-chart .selected-tooltip .tooltip-adherence{fill:#159947;font-size:14px;font-weight:900}.weight-trend-chart .line-end-label{paint-order:stroke;stroke:#ffffffe6;stroke-width:4px;font-size:12px;font-weight:900}.weight-trend-chart .line-end-label.actual{fill:#202725}.weight-trend-chart .line-end-label.realistic{fill:#2563eb}.weight-trend-chart .line-end-label.adherence{fill:#159947}.weight-trend-chart .forecast-label,.weight-trend-chart .x-label{fill:#6c7a70;font-size:12px}.weight-chart-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.weight-chart-legend{min-width:0;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:8px}.weight-chart-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.weight-chart-legend i{width:14px;height:3px;border-radius:999px;background:currentColor}.weight-chart-legend .confidence{color:#637fb8}.weight-chart-legend .confidence i{width:18px;height:9px;border:1px solid rgba(37,99,235,.2);background:#2563eb14}.weight-chart-legend .actual{color:#202725}.weight-chart-legend .realistic{color:#2563eb}.weight-chart-legend .adherence{color:#159947}.weight-chart-nav{display:inline-flex;flex:0 0 auto;gap:6px}.weight-chart-nav button{width:34px;height:30px;display:inline-grid;place-items:center;border:1px solid #dbe6de;border-radius:var(--radius);background:#fff;color:var(--text)}.weight-chart-nav button:active{transform:translateY(1px)}.weight-chart-readout,.weight-chart-empty{color:var(--muted);font-size:11px;line-height:1.35}.weight-chart-readout{display:flex;flex-wrap:wrap;gap:7px}.weight-chart-readout span{min-height:24px;display:inline-flex;align-items:center;border:1px solid #e4ece6;border-radius:var(--radius);background:#fbfcfb;padding:3px 7px;font-weight:800}.weight-chart-empty{min-height:160px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:var(--radius);background:#fbfcfb}.weight-calendar-main{min-width:0;display:grid;gap:10px}.weight-warning-panel p,.weight-model-note{min-width:0;margin:0;display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:1.4}.weight-warning-panel p svg{flex:0 0 auto;color:var(--amber);margin-top:1px}.weight-warning-panel.is-muted,.weight-model-note{color:var(--muted);background:#fbfcfb}.weight-warning-panel.is-muted svg,.weight-model-note svg{flex:0 0 auto;color:var(--teal);margin-top:1px}.health-assumption-list{display:grid;gap:7px}.health-assumption-list p{min-width:0;display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:12px;line-height:1.4}.health-assumption-list svg{flex:0 0 auto;color:var(--amber);margin-top:1px}.health-missing-banner{min-width:0;display:flex;align-items:center;gap:8px;border:1px solid #efdcb6;border-radius:var(--radius);background:var(--amber-soft);color:#7b560d;padding:10px 12px;font-size:13px;font-weight:700}.health-missing-banner svg{flex:0 0 auto}@media(min-width:760px){.health-dashboard-hero{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.health-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.health-detail-grid,.health-period-grid,.health-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-page-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.weight-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.weight-calendar-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}}@media(min-width:980px){.weight-analysis-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.weight-analysis-side{position:sticky;top:104px}}@media(min-width:1160px){.health-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.health-trend-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:520px){.health-dashboard-title{align-items:stretch}.health-dashboard-title .button-row{width:100%}.health-dashboard-title .button-row button{flex:1 1 0}.health-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.health-kpi-card{min-height:106px;padding:10px}.health-kpi-card strong{font-size:19px}.weight-milestone-grid{display:flex;grid-template-columns:none;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:4px;scrollbar-width:thin}.weight-milestone-card{min-width:226px;scroll-snap-align:start}.health-macro-mini p{grid-template-columns:minmax(42px,.55fr) minmax(54px,.65fr) minmax(58px,1fr) 34px}.health-period-card>div{grid-template-columns:minmax(0,1fr)}.weight-calendar-day{min-height:72px}.weight-calendar-day strong{font-size:11px}.weight-scenario-grid{grid-template-columns:minmax(0,1fr)}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f7f8f4}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1280px,100%);margin:0 auto;padding:18px 18px 96px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.eyebrow{margin:0 0 3px;color:#526256;font-size:13px}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.15}h2{font-size:18px;line-height:1.25}h3{font-size:14px;color:#526256}.date-picker,.field{min-width:0;display:grid;gap:6px;color:#526256;font-size:12px}input,textarea,select{width:100%;min-width:0;min-height:46px;border:1px solid #cfd7ce;border-radius:8px;background:#fff;color:#1d241f;padding:11px 12px;outline:none}textarea{width:100%;min-height:128px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#2e8b68;box-shadow:0 0 0 3px #2e8b6826}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;align-items:stretch;margin-bottom:12px}.summary-strip.unified-summary-strip{grid-template-columns:repeat(8,minmax(112px,1fr)) auto;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px}.summary-strip.unified-summary-strip>button{grid-column:auto;min-width:82px}.summary-strip>div,.summary-strip>button{min-height:58px}.summary-strip>div{display:grid;align-content:center;gap:2px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:10px 12px}.summary-strip span{color:#657167;font-size:12px}.summary-strip strong{font-size:20px}.summary-strip small{color:#657167;font-size:11px;overflow-wrap:anywhere}.unified-metric{border-left:3px solid #cfd7ce!important}.unified-metric.tone-energy,.unified-metric.tone-protein,.unified-metric.tone-fiber,.unified-metric.tone-ok,.unified-metric.tone-inventory{border-left-color:#2e8b68!important}.unified-metric.tone-motion,.unified-metric.tone-sleep{border-left-color:#2f7f9f!important}.unified-metric.tone-warn,.unified-metric.tone-tasks{border-left-color:#d89024!important}.tabbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:12px 0 18px;padding:6px;border:1px solid #dfe4db;border-radius:8px;background:#f7f8f4f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabbar button,.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:1px solid transparent;border-radius:8px;color:#344037;background:transparent;padding:9px 10px;white-space:nowrap}.tabbar button{min-width:0}.tabbar button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.tabbar button.active{color:#fff;background:#2e8b68}.tab-badge{position:absolute;top:3px;right:4px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#b9443f;color:#fff;font-size:11px;font-style:normal;line-height:1;padding:0 5px;box-shadow:0 0 0 2px #fff}.tabbar button.active .tab-badge{box-shadow:0 0 0 2px #2e8b68}.icon-button{border-color:#dfe4db;background:#fff}.icon-button.primary{color:#fff;background:#2e8b68;border-color:#2e8b68}.icon-button.danger{color:#b42318;border-color:#f3c6c1;background:#fff8f7}.icon-button.soft{color:#184e77;border-color:#cfe0ec;background:#f4f9fc}.quiet-action{width:fit-content;min-height:42px;border:1px solid #dfe7dc;border-radius:8px;background:#fbfcf8;color:#26342b;padding:9px 11px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.quiet-action.full{width:100%}.quiet-action small{color:#657167;font-size:12px;margin-left:auto}.panel{display:grid;gap:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-subtitle{display:block;margin-top:3px;color:#657167;font-size:12px}.home-panel{gap:14px}.dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:14px}.dashboard-head>div:first-child{display:grid;gap:4px;min-width:0}.dashboard-head span{color:#657167;font-size:13px;overflow-wrap:anywhere}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #cbd9ce;border-radius:8px;background:#eff8f1;padding:14px}.home-hero>div{display:grid;gap:4px;min-width:0}.home-hero span{color:#526256;font-size:14px;overflow-wrap:anywhere}.home-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;align-items:start}.unified-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;align-items:start}.dashboard-main-stack{display:grid;gap:12px;min-width:0}.home-card,.home-side-stack>.task-workspace,.unified-home-panel>.task-workspace{display:grid;gap:12px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:14px}.home-eat-card{align-content:start}.home-side-stack{display:grid;gap:12px}.macro-list{display:grid;gap:9px}.macro-row{display:grid;grid-template-columns:minmax(116px,.36fr) minmax(120px,1fr) 44px;gap:10px;align-items:center}.macro-row>div:first-child{display:grid;gap:2px;min-width:0}.macro-row strong,.macro-row span{overflow-wrap:anywhere}.macro-row span,.macro-row small{color:#657167;font-size:12px}.macro-track{height:9px;overflow:hidden;border-radius:999px;background:#e9efe7}.macro-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e8b68,#2f9f94)}.advice-list,.urgent-food-list,.home-recommendation-list,.report-list{display:grid;gap:8px}.advice-row,.urgent-food-row,.home-recommendation-list article,.report-row{min-width:0;border:1px solid #eef1ec;border-radius:8px;background:#fbfcf8;padding:10px}.advice-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:start}.advice-row>span{display:inline-flex;justify-content:center;border-radius:999px;background:#eaf4ee;color:#2e6f52;padding:4px 7px;font-size:12px;font-weight:700}.advice-row strong,.advice-row small,.urgent-food-row strong,.urgent-food-row span,.home-recommendation-list strong,.home-recommendation-list span,.report-row strong,.report-row span{overflow-wrap:anywhere}.advice-row small,.home-recommendation-list span,.report-row span{grid-column:2;color:#657167;font-size:12px}.report-advice-panel{gap:10px}.report-advice-groups{display:grid;gap:9px}.report-advice-group{display:grid;gap:7px;min-width:0;border:1px solid #eef1ec;border-radius:var(--radius);background:#fbfcf8;padding:10px}.report-advice-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.report-advice-group-head strong{color:var(--text);font-size:13px}.report-advice-group-head span{min-width:0;color:var(--muted);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-advice-list{display:grid;gap:6px}.report-advice-list.compact{gap:8px}.report-advice-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;min-width:0;border-top:1px solid #edf2ea;padding-top:7px}.report-advice-row:first-child{border-top:0;padding-top:0}.report-advice-row-tags,.report-advice-row-body{display:grid;gap:4px;min-width:0}.report-advice-row-tags span{width:fit-content;max-width:100%;border-radius:999px;background:var(--green-soft);color:var(--green-dark);padding:3px 7px;font-size:11px;font-weight:850;line-height:1.2;overflow-wrap:anywhere}.report-advice-row-tags .priority-p1{color:var(--red);background:var(--red-soft)}.report-advice-row-tags .priority-p2{color:var(--amber);background:var(--amber-soft)}.report-advice-row-body strong{color:var(--text);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.report-advice-row-body span,.report-advice-row-body small{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.report-advice-panel-compact .report-advice-row{grid-template-columns:minmax(0,1fr);border:1px solid #edf2ea;border-radius:var(--radius);padding:9px;background:#fbfcfb}.report-advice-panel-compact .report-advice-row:first-child{border-top:1px solid #edf2ea;padding-top:9px}.report-advice-panel-compact .report-advice-row-tags{display:flex;flex-wrap:wrap;gap:5px}.report-advice-more{width:100%;min-height:36px}.urgent-food-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.urgent-food-row.freshness-expired,.urgent-food-row.freshness-today{border-color:#e5b15f;background:#fff9eb}.urgent-food-row.freshness-soon{border-color:#d8ca76;background:#fffdf1}.urgent-food-row>div{display:grid;gap:2px;min-width:0}.urgent-food-row span{color:#657167;font-size:12px}.urgent-food-row button{min-height:34px;border:1px solid #2e8b68;border-radius:8px;background:#fff;color:#2e6f52;padding:6px 10px}.unified-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.unified-actions button{min-height:56px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#344037;padding:10px;text-align:left}.unified-actions button span{overflow-wrap:anywhere}.home-recommendation-list article{display:grid;gap:3px}.reports-panel{align-items:start}.reports-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.reports-title-block{display:grid;gap:5px;min-width:0}.reports-title-block span{display:inline-flex;align-items:center;gap:7px;color:#657167;font-size:13px;overflow-wrap:anywhere}.reports-title-block i{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:#13945f}.report-workspace{display:grid;grid-template-columns:minmax(310px,.34fr) minmax(0,1fr);gap:14px;align-items:start}.report-sidebar{display:grid;gap:12px;min-width:0}.report-type-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:6px}.report-reader-shortcut{min-width:0;display:grid;gap:9px;border:1px solid #cfe0d2;border-radius:var(--radius);background:var(--green-soft);padding:10px}.report-reader-shortcut>div:first-child{min-width:0;display:grid;gap:2px}.report-reader-shortcut strong{color:var(--green-dark);font-size:14px}.report-reader-shortcut span{color:var(--muted);font-size:11px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-reader-shortcut-actions{display:flex;flex-wrap:wrap;gap:7px}.report-reader-shortcut-actions button,.report-reader-shortcut-actions a{min-height:34px;border:1px solid #bcd7c6;border-radius:var(--radius);background:#fff;color:var(--green-dark);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;font-size:12px;font-weight:850;text-decoration:none}.report-reader-shortcut-actions button:disabled{opacity:.55}.report-type-tabs button{min-height:38px;border:1px solid transparent;border-radius:8px;background:transparent;color:#344037}.report-type-tabs button.active{border-color:#2e8b68;color:#1f7454;background:#eff8f1;font-weight:700}.report-group{display:grid;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:14px}.report-group-flat{padding:12px}.report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.report-row.is-selected{border-color:#9fd6bb;background:#f3fbf6}.report-row>div:first-child{display:grid;gap:3px;min-width:0}.report-actions{display:flex;gap:6px}.report-actions a,.report-actions button,.report-reader-actions a{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #cfe0ec;border-radius:8px;background:#f4f9fc;color:#184e77;padding:6px 10px;text-decoration:none;font-size:13px}.report-actions button{border-color:#b8dfca;background:#fff;color:#1f7454}.report-actions button:disabled{border-color:#e2e8df;color:#9aa59b}.report-reader{min-width:0;display:grid;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:12px}.report-reader-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.report-reader-head>div:first-child{display:grid;gap:3px;min-width:0}.report-reader-head span{color:#657167;font-size:12px;overflow-wrap:anywhere}.report-reader-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.report-reader iframe{width:100%;height:min(760px,calc(100vh - 210px));min-height:560px;border:1px solid #cfd7ce;border-radius:8px;background:#fff}.report-reader-empty{min-height:280px}.report-nutrition-panel{display:grid;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:12px}.report-nutrition-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.micro-panel,.report-micro-panel{display:grid;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:12px}.micro-panel-compact{border-color:#eef1ec;background:#fbfcfa}.micro-list{display:grid;gap:9px}.micro-row{display:grid;grid-template-columns:minmax(70px,.34fr) minmax(92px,1fr) 44px;gap:9px;align-items:center}.micro-row>div:first-child{display:grid;gap:2px;min-width:0}.micro-row strong,.micro-row span{overflow-wrap:anywhere}.micro-row span,.micro-note{color:#657167;font-size:12px}.micro-row em{justify-self:end;color:#344037;font-size:12px;font-style:normal;font-weight:700}.micro-track{height:8px;overflow:hidden;border-radius:999px;background:#e7ece5}.micro-track span{display:block;height:100%;max-width:100%;border-radius:inherit;background:#13945f}.micro-low .micro-track span{background:#d5342b}.micro-watch .micro-track span,.micro-high .micro-track span{background:#e2a21b}.micro-ok .micro-track span{background:#13945f}.home-photo-actions .file-drop{min-height:104px}.home-stat-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #eef1ec;border-radius:8px;background:#fbfcf8;padding:10px 12px}.home-stat-row span{color:#657167;font-size:13px}.home-stat-row strong{font-size:20px}.time-pill{min-height:36px;display:inline-flex;align-items:center;border:1px solid #dfe4db;border-radius:999px;background:#fff;color:#526256;padding:6px 12px;font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#344037}.section-head span{color:#657167;font-size:13px}.section-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.subpanel{display:grid;align-content:start;gap:14px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.status-bar{position:sticky;top:8px;z-index:12;margin:8px 0 10px;border:1px solid #bdd7c5;border-radius:8px;background:#eff8f1;color:#205a35;padding:10px 12px;font-size:14px}.status-bar.is-error{border-color:#f0b9b0;background:#fff3f1;color:#9b271f}.install-banner,.task-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 0 10px;border:1px solid #cfe0ec;border-radius:8px;background:#f4f9fc;padding:10px 12px}.install-banner>div{display:grid;gap:2px;min-width:0}.install-banner span,.task-strip span{color:#526256;font-size:13px}.task-strip{grid-template-columns:auto minmax(0,1fr);color:#184e77}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px}.quick-action{min-height:74px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#1d241f;padding:12px;text-align:left}.quick-action span{display:grid;gap:3px;min-width:0}.quick-action strong,.quick-action small{overflow-wrap:anywhere}.quick-action small{color:#657167;font-size:12px}.quick-file-action{position:relative;cursor:pointer}.shop-panel{align-items:start}.shop-title{margin-bottom:2px}.shop-action-strip{min-width:0;display:flex;flex-wrap:wrap;gap:8px}.shop-action-strip .icon-button{min-height:38px;padding:8px 11px}.shop-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.shop-summary-grid>div{min-height:64px;display:grid;align-content:center;gap:3px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:10px 12px}.shop-summary-grid span,.gap-strip span{color:#657167;font-size:12px}.shop-summary-grid strong{font-size:20px}.gap-strip{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.gap-strip::-webkit-scrollbar{display:none}.gap-strip span{flex:0 0 auto;border:1px solid #d8e0d7;border-radius:999px;background:#fff;padding:7px 10px}.shop-priority-strip{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:7px;border:1px solid #cfe0d2;border-radius:var(--radius);background:var(--green-soft);color:var(--green-dark);padding:9px 11px}.shop-priority-strip.is-muted{border-color:#dfe4db;background:#fbfcfb;color:var(--muted)}.shop-priority-strip strong{color:var(--text);font-size:13px}.shop-priority-strip span{min-height:24px;display:inline-flex;align-items:center;border:1px solid rgba(36,152,109,.16);border-radius:999px;background:#fff;padding:3px 8px;font-size:11px;font-weight:800}.shop-priority-strip small{flex:1 1 100%;color:var(--muted);font-size:11px;line-height:1.35}.shop-cache-banner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:10px 12px}.shop-cache-banner.stale{border-color:#e9c16b;background:#fff9e8}.shop-cache-banner div{display:grid;gap:2px}.shop-cache-banner small{color:#657167;overflow-wrap:anywhere}.soft-button{min-height:38px;flex:0 0 auto;border:1px solid #cfe0ec;border-radius:8px;background:#f4f9fc;color:#184e77;padding:8px 12px}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);gap:14px;align-items:start}.shop-recommendations,.shopping-list-panel{display:grid;gap:12px}.shop-controls{display:grid;grid-template-columns:minmax(160px,1fr) 180px auto auto;gap:10px;align-items:end}.shop-controls .toggle-line{min-height:42px;align-self:end;justify-content:center;border:1px solid #dfe4db;border-radius:var(--radius);background:#fff;padding:8px 10px}.shop-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.shop-load-more{width:100%;min-height:54px;border:1px solid #cfe0d2;border-radius:var(--radius);background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;gap:2px;padding:9px 12px;font-size:14px;font-weight:850}.shop-load-more small{color:var(--muted);font-size:11px;font-weight:700}.shop-card{position:relative;min-width:0;display:grid;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:12px 12px 58px}.shop-card.score-strong{border-color:#2e8b68;background:#f4fbf6}.shop-card.score-good{border-color:#7aae64}.shop-card.score-optional{border-color:#d7d0b4}.shop-card-main{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}.shop-card-title{display:flex;justify-content:space-between;gap:8px;min-width:0}.shop-card-title strong,.shop-card-main small,.penalty-line{overflow-wrap:anywhere}.shop-card-title span{flex:0 0 auto;color:#2e8b68;font-size:12px;font-weight:700}.shop-card-main small{color:#657167;font-size:12px}.profile-line{display:block;margin-top:2px;color:#4a6b58!important}.score-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.score-pill,.discount-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.score-pill.strong,.score-pill.good{color:#fff;background:#2e8b68}.score-pill.optional{color:#5f4816;background:#fff2bf}.score-pill.low{color:#526256;background:#eef4ed}.discount-pill{color:#8a3b00;background:#fff0df}.reason-chips,.nutrition-mini{display:flex;flex-wrap:wrap;gap:6px}.reason-chips span,.nutrition-mini span{border:1px solid #dfe4db;border-radius:999px;background:#f8faf6;color:#344037;padding:5px 8px;font-size:12px}.nutrition-mini span{color:#657167}.score-reason-line,.penalty-line{color:#8a5b20;font-size:12px}.score-reason-line{color:#526256}.add-shop-button{position:absolute;right:12px;bottom:12px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #2e8b68;border-radius:999px;background:#2e8b68;color:#fff}.shopping-list-panel{position:sticky;top:86px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:12px}.shopping-list-items{display:grid;gap:8px}.shopping-list-row{display:grid;gap:8px;border:1px solid #e4e9e1;border-radius:8px;background:#fbfcf8;padding:10px}.shopping-list-row.is-checked{opacity:.72}.shopping-list-row label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:8px}.shopping-list-row input[type=checkbox]{width:18px;min-height:18px;margin-top:3px}.shopping-list-row span{display:grid;gap:3px;min-width:0}.shopping-list-row strong,.shopping-list-row small{overflow-wrap:anywhere}.shopping-list-row small{color:#657167;font-size:12px}.shopping-list-actions{display:grid;grid-template-columns:38px minmax(0,1fr) 38px 38px;gap:5px}.shopping-list-actions button{width:38px;height:40px;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#344037}.shopping-list-actions input{min-width:0;min-height:40px;padding:6px;text-align:center}.shopping-list-footer{display:grid;gap:9px;border-top:1px solid #eef1ec;padding-top:10px}.quick-file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}.quick-file-action.is-disabled{opacity:.55;pointer-events:none}.inventory-group,.food-group{display:grid;gap:8px}.food-group-header{width:100%;min-height:56px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #cfd7ce;border-radius:8px;background:#fff;color:#1d241f;padding:10px 12px;text-align:left}.food-group-header svg{color:#2e8b68}.food-group-heading{min-width:0;display:grid;gap:3px}.food-group-heading strong,.food-group-heading small{overflow-wrap:anywhere}.food-group-heading small{color:#657167;font-size:13px}.group-thumb-strip{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;max-width:148px;overflow:hidden}.group-thumb-strip .food-thumb.compact{width:32px;height:32px;flex:0 0 auto;border-radius:6px}.group-thumb-more{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#eef4ed;color:#516052;font-size:12px;font-weight:700}.category-tabs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 1px 6px}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{flex:0 0 auto;min-width:138px;min-height:56px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;border:1px solid #d8e0d7;border-radius:8px;background:#fff;color:#344037;padding:8px 10px;text-align:left}.category-tabs button.active{border-color:#2e8b68;background:#2e8b68;color:#fff}.category-tabs .food-thumb.compact{width:38px;height:38px;border-radius:8px;background:#eef4ed}.category-tab-text{min-width:0;display:grid;gap:2px}.category-tab-text strong,.category-tab-text span{overflow-wrap:anywhere}.category-tab-text span{font-size:12px;opacity:.78}.inventory-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;align-items:start}.inventory-image-grid>.inventory-edit-panel{grid-column:1 / -1}.inventory-card{min-width:0;display:grid;grid-template-rows:auto minmax(78px,1fr) auto;gap:10px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:10px}.inventory-card.freshness-expired{border-color:#e08b82;background:#fff8f7}.inventory-card.freshness-today{border-color:#e6a23c;background:#fffaf0}.inventory-card.freshness-soon{border-color:#e0bf55;background:#fffdf3}.inventory-card.freshness-review{border-color:#b9c2b6;background:#fbfcf8}.inventory-card.is-selected,.inventory-card.is-editing,.eat-card.is-selected{border-color:#2e8b68;box-shadow:0 0 0 3px #2e8b6821}.food-thumb.large{width:100%;height:auto;aspect-ratio:1;border-radius:8px}.food-thumb-wrap{position:relative;min-width:0}.freshness-badge{position:absolute;left:7px;top:7px;max-width:calc(100% - 14px);display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 7px;color:#fff;background:#526256;font-size:12px;font-weight:700;line-height:1.15;box-shadow:0 2px 8px #1d241f29;pointer-events:none;white-space:nowrap;overflow:hidden}.freshness-badge small{color:inherit;font-size:10px;font-weight:600;opacity:.9}.freshness-badge.freshness-expired{background:#b42318}.freshness-badge.freshness-today{background:#b25e09}.freshness-badge.freshness-soon{background:#886400}.freshness-badge.freshness-ok{background:#2e8b68}.freshness-badge.freshness-review{background:#5a6472}.freshness-badge.freshness-shelf{background:#526256}.freshness-hint{display:block;color:#657167;font-size:12px}.freshness-hint.freshness-expired,.freshness-hint.freshness-today{color:#9c2f24;font-weight:700}.freshness-hint.freshness-soon{color:#7d5b00;font-weight:700}.inventory-card-body{min-width:0;display:grid;gap:4px}.inventory-card-body strong,.inventory-card-body span,.inventory-card-body small{overflow-wrap:anywhere}.inventory-card-body span{color:#344037;font-size:13px}.inventory-card-body small{color:#657167;font-size:12px}.inventory-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.inventory-card-actions button{min-height:42px;border:1px solid #dfe4db;border-radius:8px;background:#f8faf6;color:#344037}.eat-card-image{display:block;border:0;background:transparent;padding:0}.eat-card{grid-template-rows:auto minmax(56px,auto) auto}.eat-card .food-thumb.large{width:112px;height:88px;aspect-ratio:auto;justify-self:center}.eat-card .food-thumb-wrap{width:112px;justify-self:center}.card-stepper{width:100%;grid-template-columns:40px minmax(0,1fr) 40px;gap:5px}.card-stepper button{width:40px;height:42px}.card-stepper input{width:100%;min-width:0;min-height:42px;padding:6px}.eat-priority-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none}.eat-priority-strip::-webkit-scrollbar{display:none}.eat-priority-strip>strong{flex:0 0 auto;align-self:center;color:#344037;font-size:13px}.eat-priority-strip button{flex:0 0 auto;min-width:132px;min-height:48px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:2px 8px;border:1px solid #e4dfc9;border-radius:8px;background:#fffdf3;color:#344037;padding:7px 9px;text-align:left}.eat-priority-strip .food-thumb.compact{grid-row:1 / span 2;width:34px;height:34px}.eat-priority-strip span,.eat-priority-strip small{min-width:0;overflow-wrap:anywhere}.eat-priority-strip small{color:#7d5b00;font-size:11px}.eat-food-group{gap:7px}.inventory-list,.draft-list{display:grid;gap:8px}.draft-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.draft-overview-strip span{min-width:0;border:1px solid #dfe8dc;border-radius:var(--radius);background:#fbfcfb;color:var(--muted);padding:9px 10px;font-size:12px;font-weight:750}.draft-overview-strip b{color:var(--text);font-size:16px}.draft-history{min-width:0;border:1px solid #dfe8dc;border-radius:var(--radius);background:#fbfcfb;padding:10px}.draft-history summary{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:var(--text);font-size:14px;font-weight:850}.draft-history summary small{color:var(--muted);font-size:11px;font-weight:750}.draft-history .draft-list,.operation-history .operation-list{margin-top:10px}.draft-empty-state{min-width:0;display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe8dc;border-radius:var(--radius);background:#fbfcfb;color:var(--muted);padding:12px}.draft-empty-state>svg{flex:0 0 auto;color:var(--green-dark);margin-top:1px}.draft-empty-state>div{min-width:0;display:grid;gap:3px}.draft-empty-state strong{color:var(--text);font-size:14px}.draft-empty-state span{color:var(--muted);font-size:12px;line-height:1.45}.inventory-row,.draft-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#1d241f;padding:12px;text-align:left}.inventory-row{grid-template-columns:56px minmax(0,1fr) auto}.food-thumb{position:relative;width:56px;height:56px;display:grid;place-items:center;overflow:hidden;border:1px solid #dfe4db;border-radius:8px;background:#eef4ed;color:#657167}.food-thumb.compact{width:48px;height:48px}.food-thumb img{width:100%;height:100%;object-fit:cover}.thumb-badge{position:absolute;right:3px;bottom:3px;border-radius:6px;background:#205a35e0;color:#fff;font-size:10px;line-height:1;padding:3px 4px}.draft-row-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:0;background:transparent;color:inherit;text-align:left;padding:0}.item-main,.draft-row-main>div{display:grid;gap:4px;min-width:0}.item-main strong,.draft-row strong{overflow-wrap:anywhere}.item-main span,.draft-row span{color:#657167;font-size:13px;overflow-wrap:anywhere}.draft-row.is-active{border-color:#2e8b68;box-shadow:0 0 0 3px #2e8b6821}.draft-row.is-failed{border-color:#efc7bf;background:snow}.inventory-row.is-editing{border-color:#2e8b68;box-shadow:0 0 0 3px #2e8b6821}.draft-row-action{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:5px;color:#205a35;font-size:13px}.draft-row-action span{color:inherit;font-size:inherit}.draft-row-buttons{display:flex;justify-content:end;gap:6px}.item-actions{display:grid;grid-template-columns:repeat(3,42px);gap:6px}.item-actions button{width:42px;height:42px;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#344037}.file-drop{position:relative;display:grid;place-items:center;gap:8px;min-height:120px;border:1px dashed #aab8aa;border-radius:8px;background:#fbfcf8;color:#344037}.file-drop.is-disabled{opacity:.55;pointer-events:none}.inventory-edit-panel{display:grid;gap:12px;border:1px solid #2e8b68;border-radius:8px;background:#fbfffc;padding:12px}.inventory-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inventory-image-editor{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #dfeadf;border-radius:8px;background:#fff;padding:10px}.inventory-image-editor>div:nth-child(2){display:grid;gap:3px;min-width:0}.inventory-image-editor span{color:#657167;font-size:12px;overflow-wrap:anywhere}.image-editor-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:6px}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-drop small{color:#657167;font-size:12px;text-align:center}.file-drop.wide{min-height:150px}.photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upload-status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:48px;border:1px solid #cbd9ce;border-radius:8px;background:#eff8f1;color:#205a35;padding:10px 12px}.upload-status span{overflow-wrap:anywhere}.draft-editor,.consume-draft,.eat-input{display:grid;gap:10px}.draft-section{display:grid;gap:8px;border-top:1px solid #eef1ec;padding-top:10px}.eat-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}.inventory-picker{display:grid;gap:9px}.eat-pick-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:10px}.eat-pick-row.is-selected{border-color:#2e8b68;box-shadow:0 0 0 3px #2e8b6821}.eat-pick-main{min-width:0;min-height:58px;display:grid;gap:5px;justify-items:start;align-content:center;border:0;background:transparent;color:#1d241f;text-align:left;padding:0}.eat-pick-main strong{overflow-wrap:anywhere}.eat-pick-main span{color:#657167;font-size:13px;overflow-wrap:anywhere}.qty-stepper{display:grid;grid-template-columns:48px 74px 48px;gap:6px;align-items:center}.qty-stepper button{width:48px;height:48px;border:1px solid #cfd7ce;border-radius:8px;background:#f7fbf8;color:#205a35}.qty-stepper input{width:74px;min-height:48px;padding:8px;text-align:center}.selected-bar{position:sticky;bottom:88px;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #cbd9ce;border-radius:8px;background:#fffffff5;box-shadow:0 10px 26px #1d241f1f;padding:10px}.selected-bar span{min-width:0;color:#344037;font-size:14px;overflow-wrap:anywhere}.selected-draft-editor{display:grid;gap:12px;border:1px solid #cbd9ce;border-radius:8px;background:#fff;padding:12px}.draft-summary{border:1px solid #cbd9ce;border-radius:8px;background:#eff8f1;color:#205a35;padding:10px 12px;font-size:14px;overflow-wrap:anywhere}.draft-warning{border:1px solid #f2d3a0;border-radius:8px;background:#fff8e8;color:#7a4b08;padding:10px 12px;font-size:14px;overflow-wrap:anywhere}.recent-inventory-strip{display:grid;gap:10px}.recent-inventory-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.recent-inventory-list button{min-width:148px;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#263128;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"thumb name" "thumb meta";align-items:center;gap:4px 8px;text-align:left}.recent-inventory-list .food-thumb{grid-area:thumb}.recent-inventory-list span{grid-area:name;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-inventory-list small{grid-area:meta;color:#657167}.vision-failure-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #efc7bf;border-radius:8px;background:#fff7f5;color:#7a2e24;padding:10px 12px}.vision-failure-panel>div:first-child{display:grid;gap:4px;min-width:0}.vision-failure-panel span{color:#8b5a52;font-size:13px;overflow-wrap:anywhere}.draft-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.draft-head-actions{display:flex;align-items:center;justify-content:end;gap:8px}.draft-head-actions>button:not(.icon-button){width:36px;height:36px;border:1px solid #dfe4db;border-radius:8px;background:#fff}.receipt-line{display:grid;grid-template-columns:minmax(120px,1fr) 78px 78px 92px;gap:8px}.photo-line{display:grid;grid-template-columns:minmax(120px,1fr) 86px 76px 110px 110px 126px;gap:8px}.price-line{display:grid;grid-template-columns:minmax(120px,1fr) 72px 72px 92px 92px 92px;gap:8px}.inventory-weight-line{display:grid;grid-template-columns:98px minmax(130px,1fr) 86px 90px 110px 110px 126px;gap:8px}.receipt-line.with-action{grid-template-columns:minmax(120px,1fr) 78px 78px 92px 44px}.photo-line.with-action{grid-template-columns:minmax(120px,1fr) 86px 76px 110px 110px 126px 44px}.price-line.with-action{grid-template-columns:minmax(120px,1fr) 72px 72px 92px 92px 92px 44px}.inventory-weight-line.with-action{grid-template-columns:98px minmax(130px,1fr) 86px 90px 110px 110px 126px minmax(112px,.7fr) 44px}.vision-review-line{display:grid;grid-template-columns:116px minmax(150px,1fr) 92px 82px 90px 104px 104px 126px 88px 88px;gap:8px}.vision-review-line.with-action{grid-template-columns:116px minmax(150px,1fr) 92px 82px 90px 104px 104px 126px 88px 88px 44px}.review-toggles{min-height:46px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.review-toggles label{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#526256;font-size:12px}.review-toggles input{width:16px;height:16px}.image-status-chip{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfe4db;border-radius:8px;background:#fff;color:#526256;font-size:12px;text-align:center;padding:8px;overflow-wrap:anywhere}.receipt-line.with-action button,.photo-line.with-action button,.price-line.with-action button,.inventory-weight-line.with-action button,.vision-review-line.with-action>button{width:44px;height:46px;border:1px solid #f0b9b0;border-radius:8px;background:#fff8f7;color:#9b271f}.consume-line{display:grid;grid-template-columns:minmax(130px,1fr) 86px 86px;gap:8px}.consume-line.with-action{grid-template-columns:minmax(130px,1fr) 86px 86px 44px}.consume-line.with-action button{width:44px;height:46px;border:1px solid #f0b9b0;border-radius:8px;background:#fff8f7;color:#9b271f}.button-row{display:flex;flex-wrap:wrap;gap:8px}.segmented{display:inline-grid;grid-template-columns:repeat(4,42px);border:1px solid #dfe4db;border-radius:8px;overflow:hidden}.segmented button{height:38px;border:0;border-right:1px solid #dfe4db;background:#fff}.segmented button:last-child{border-right:0}.segmented button.active{color:#fff;background:#184e77}.toggle-line,.nutrition-preview{display:flex;align-items:center;gap:9px;min-height:42px}.toggle-line input{width:18px;min-height:18px}.nutrition-preview{border:1px solid #d7d0b4;border-radius:8px;background:#fffaf0;color:#5f4816;padding:9px 10px}.preference-list{display:flex;flex-wrap:wrap;gap:6px}.preference-list span{border:1px solid #dfe4db;border-radius:999px;background:#f7f8f4;padding:6px 9px;font-size:12px}.job-list,.operation-list{display:grid;gap:8px}.job-list.compact{gap:6px}.job-row,.operation-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;border:1px solid #dfe4db;border-radius:8px;background:#fff;padding:10px 12px}.job-row.is-failed{grid-template-columns:auto minmax(0,1fr) auto;border-color:#efc7bf;background:snow}.job-row .icon-button{justify-self:end}.operation-row{grid-template-columns:minmax(0,1fr) auto}.job-row div,.operation-row div{display:grid;gap:3px;min-width:0}.job-row span,.operation-row span{color:#657167;font-size:13px;overflow-wrap:anywhere}.empty{min-height:96px;display:grid;place-items:center;border:1px dashed #ccd4ca;border-radius:8px;color:#657167}.empty.small{min-height:54px;font-size:13px}@media(max-width:780px),(any-pointer:coarse){body{font-size:16px}.app-shell{padding:14px 12px 118px}.topbar{align-items:start}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-strip.unified-summary-strip{grid-template-columns:repeat(8,minmax(132px,1fr)) auto}.summary-strip>button{grid-column:1 / -1}.shop-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-action-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.shop-action-strip .icon-button{width:100%;min-height:40px;padding:7px 8px}.shop-action-strip .icon-button span{display:inline}.shop-cache-banner{align-items:stretch;flex-direction:column}.shop-cache-banner .soft-button{width:100%}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action{min-height:86px;padding:14px}.home-hero{grid-template-columns:1fr;align-items:stretch}.home-hero .icon-button{width:100%}.home-card,.home-side-stack>.task-workspace,.unified-home-panel>.task-workspace{padding:12px}.dashboard-head{align-items:stretch;flex-direction:column}.home-photo-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.home-photo-actions .file-drop{min-height:112px;padding:10px}.install-banner{position:sticky;top:8px;z-index:11;box-shadow:0 8px 22px #1d241f1a}.two-col,.home-grid,.unified-home-grid,.form-grid,.receipt-line,.receipt-line.with-action,.photo-line,.photo-line.with-action,.price-line,.price-line.with-action,.inventory-weight-line,.inventory-weight-line.with-action,.vision-review-line,.vision-review-line.with-action,.inventory-edit-grid,.photo-actions,.shop-layout,.consume-line,.consume-line.with-action,.eat-layout,.selected-bar{grid-template-columns:1fr}.macro-row{grid-template-columns:minmax(100px,.48fr) minmax(96px,1fr) 42px}.unified-actions{grid-template-columns:1fr}.reports-topbar,.report-reader-head{align-items:stretch;flex-direction:column}.reports-topbar .icon-button,.report-reader-actions{width:100%}.report-reader-actions a{flex:1 1 0}.report-workspace,.report-row,.vision-failure-panel,.job-row.is-failed{grid-template-columns:1fr}.vision-failure-panel .button-row,.job-row.is-failed .icon-button{width:100%}.report-actions{justify-content:stretch}.report-actions a,.report-actions button{flex:1 1 0;justify-content:center}.report-reader{padding:10px}.report-reader iframe{height:68vh;min-height:480px}.shop-controls{grid-template-columns:minmax(0,1fr) minmax(108px,.48fr);gap:8px;align-items:end}.shop-controls .toggle-line{min-height:38px;padding:7px 8px;font-size:12px}.shop-priority-strip{gap:6px}.micro-row{grid-template-columns:minmax(62px,.36fr) minmax(82px,1fr) 40px}input,textarea,select{min-height:54px;font-size:16px;padding:13px 14px}textarea{min-height:150px}.icon-button{min-height:54px;padding:12px 14px}.category-tabs{margin-inline:-2px;padding-bottom:8px}.category-tabs button{min-width:144px;min-height:58px;padding:9px 11px}.shopping-list-panel{position:static}.shop-card-grid{grid-template-columns:1fr}.inventory-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.inventory-card{padding:9px}.eat-card .food-thumb.large{width:92px;height:74px}.eat-card .food-thumb-wrap{width:92px}.eat-card .inventory-card-body{min-height:58px}.inventory-card-actions button{min-height:48px}.card-stepper{grid-template-columns:38px minmax(0,1fr) 38px;gap:4px}.card-stepper button{width:38px;height:44px}.card-stepper input{min-height:44px}.summary-strip>div,.summary-strip>button{min-height:66px}.inventory-row,.draft-row{min-height:82px;padding:14px}.inventory-row{grid-template-columns:56px minmax(0,1fr)}.inventory-row .item-actions{grid-column:1 / -1;justify-content:stretch}.inventory-image-editor{grid-template-columns:56px minmax(0,1fr)}.image-editor-actions{grid-column:1 / -1;justify-content:stretch}.food-group-header{grid-template-columns:24px minmax(0,1fr);min-height:66px;padding:14px}.group-thumb-strip{grid-column:2;justify-self:start;max-width:100%}.food-group-heading small{font-size:14px}.item-actions{grid-template-columns:repeat(3,50px)}.item-actions button{width:50px;height:50px}.receipt-line.with-action button,.photo-line.with-action button,.price-line.with-action button,.inventory-weight-line.with-action button,.vision-review-line.with-action>button,.consume-line.with-action button{width:100%;height:54px}.draft-editor .receipt-line,.draft-editor .photo-line,.draft-editor .price-line,.draft-editor .inventory-weight-line,.draft-editor .vision-review-line{border:1px solid #e4e9e1;border-radius:8px;background:#fbfcf8;padding:10px}.draft-editor .receipt-line input,.draft-editor .photo-line input,.draft-editor .price-line input,.draft-editor .inventory-weight-line input,.draft-editor .vision-review-line input{background:#fff}.eat-pick-row{grid-template-columns:48px minmax(0,1fr);min-height:118px;padding:14px}.eat-pick-row .qty-stepper{grid-column:1 / -1}.eat-pick-main{min-height:48px}.qty-stepper{grid-template-columns:58px minmax(90px,1fr) 58px}.qty-stepper button{width:58px;height:58px}.qty-stepper input{width:100%;min-height:58px;font-size:18px}.eat-card .card-stepper{grid-template-columns:38px minmax(0,1fr) 38px;gap:4px}.eat-card .card-stepper button{width:38px;height:44px}.eat-card .card-stepper input{min-width:0;min-height:44px;font-size:16px;padding:6px}.selected-bar{bottom:92px}.tabbar{position:fixed;inset:auto 10px 10px;margin:0;box-shadow:0 10px 28px #1d241f29}.tabbar button{min-height:64px;padding:8px 2px;flex-direction:column;gap:4px;font-size:10px}.icon-button span{white-space:normal}}@media(max-width:420px){h1{font-size:24px}h2{font-size:20px}.summary-strip strong{font-size:17px}.summary-strip>div{padding:8px}.summary-strip span,.item-main span,.draft-row span,.eat-pick-main span{font-size:14px}}.app-shell{max-width:1120px;padding:12px 12px 104px}.topbar{align-items:start;gap:12px;margin-bottom:10px}.eyebrow{display:none}.date-picker input{min-width:138px;min-height:42px}.dashboard-sync-strip{display:grid;gap:9px;align-items:center;margin:10px 0 12px;border:1px solid #dde5dc;border-left:4px solid #2e8b68;border-radius:8px;background:#fff;padding:12px}.dashboard-sync-strip.state-loading,.dashboard-sync-strip.state-idle{border-left-color:#2f7f9f}.dashboard-sync-strip.state-refreshing{border-left-color:#d89024}.dashboard-sync-strip.state-error{border-left-color:#c75146}.dashboard-sync-strip>div:first-child{display:grid;gap:3px;min-width:0}.dashboard-sync-strip strong{font-size:15px}.dashboard-sync-strip span,.sync-loading{color:#657167;font-size:12px;overflow-wrap:anywhere}.sync-metrics{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain}.sync-metrics span{flex:0 0 auto;border:1px solid #e2e8df;border-radius:999px;background:#f8faf7;padding:6px 9px;color:#344037;font-weight:650}.dashboard-sync-strip .icon-button{justify-self:stretch;min-height:40px}.tabbar{position:fixed;inset:auto 10px 10px;margin:0;box-shadow:0 10px 28px #1d241f29}.tabbar button{min-height:62px;flex-direction:column;gap:4px;padding:7px 2px;font-size:10px}.unified-home-grid{grid-template-columns:minmax(0,1fr)}.dashboard-head{border:0;background:transparent;padding:2px 0 4px}.dashboard-head .button-row{flex-shrink:0}.home-card,.home-side-stack>.task-workspace,.unified-home-panel>.task-workspace,.report-group{border-color:#e5ebe3;box-shadow:none}.nutrition-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nutrition-kpis div{display:grid;gap:3px;min-width:0;border:1px solid #edf1eb;border-radius:8px;background:#fbfcfa;padding:9px}.nutrition-kpis span{color:#657167;font-size:11px}.nutrition-kpis strong{overflow-wrap:anywhere;font-size:17px}.macro-row{grid-template-columns:minmax(74px,.4fr) minmax(90px,1fr) 36px;gap:8px}.urgent-food-row{grid-template-columns:38px minmax(0,1fr) auto;padding:9px}.unified-actions button{min-height:50px;border-color:#e3e9e0;background:#fbfcfa}.dashboard-skeleton{display:grid;gap:14px;border:1px solid #e2e8df;border-radius:8px;background:#fff;padding:16px}.skeleton-line,.skeleton-grid span,.skeleton-list span{display:block;min-height:18px;border-radius:999px;background:linear-gradient(90deg,#edf1eb,#f8faf7,#edf1eb);background-size:180% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-line.short{width:42%}.skeleton-line.wide{width:78%}.skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.skeleton-grid span{min-height:68px;border-radius:8px}.skeleton-list{display:grid;gap:8px}.skeleton-list span{min-height:48px;border-radius:8px}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.report-summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-summary-strip>div{display:grid;gap:3px;border:1px solid #e4eae2;border-radius:8px;background:#fbfcfa;padding:10px}.report-summary-strip span{color:#657167;font-size:12px}.report-summary-strip strong{font-size:20px}.report-row{padding:10px}.report-actions a{min-height:30px;padding:5px 8px;font-size:12px}.auth-panel{display:grid;gap:16px;border-color:#eadfc4;background:#fffdf8}.auth-panel h2{margin:0 0 4px}.auth-panel span{color:#657167}.auth-form{display:grid;gap:12px}.auth-form .field input{font-size:16px}@media(min-width:760px){.app-shell{padding:18px 18px 80px}.eyebrow{display:block}.dashboard-sync-strip{grid-template-columns:minmax(0,1fr) auto auto;padding:12px 14px}.dashboard-sync-strip .icon-button{justify-self:end;min-width:92px}.tabbar{position:sticky;inset:0 auto auto;margin:12px 0 18px;box-shadow:none}.tabbar button{min-height:46px;flex-direction:row;gap:7px;padding:9px 10px;font-size:14px}.unified-home-grid{grid-template-columns:minmax(0,1fr) 320px}.dashboard-head{display:flex;align-items:center}.report-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.auth-panel{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center}}.app-shell.app-frame{width:min(100%,1440px);min-height:100vh;margin:0 auto;padding:10px 10px calc(84px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr);gap:10px;background:var(--app-bg)}.app-content{min-width:0;display:grid;gap:12px}.dashboard-head,.dashboard-sync-strip,.install-banner{display:none!important}.home-panel.unified-home-panel,.reports-panel,.inventory-workspace-panel{border:0;background:transparent;padding:0;box-shadow:none}.panel{min-width:0;border-radius:var(--radius)}.app-topbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px;border:1px solid rgba(223,231,221,.88);border-radius:var(--radius);background:#f6f8f5f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-lockup{min-width:0;display:flex;align-items:center;gap:10px}.brand-mark{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cfe3d5;border-radius:var(--radius);color:var(--green-dark);background:var(--green-soft)}.brand-lockup h1{margin:0;color:var(--text);font-size:clamp(21px,4.8vw,30px);line-height:1.08;letter-spacing:0}.app-sync-summary{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid #dbe8dc;border-radius:var(--radius);background:var(--surface-soft)}.app-sync-summary .sync-dot{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:var(--green)}.app-top-actions{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end}.app-date-picker input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px}.settings-install-panel{align-content:start}.settings-install-panel small{display:block;color:var(--muted);font-size:12px;line-height:1.45}.install-status{width:fit-content;display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border:1px solid #cfe3d5;border-radius:var(--radius);color:var(--green-dark);background:var(--green-soft);font-size:13px;font-weight:800}.app-nav.tabbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:35;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;margin:0;padding:7px;border:1px solid rgba(213,222,211,.95);border-radius:var(--radius);background:#fffffff5;box-shadow:0 10px 28px #18211b24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-nav.tabbar button{min-width:0;min-height:55px;flex-direction:column;border-radius:var(--radius);color:#4d594f;font-size:10px;font-weight:700}.app-nav.tabbar button.active{color:#fff;background:var(--green)}.unified-home-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.dashboard-main-stack,.home-side-stack,.report-sidebar,.inventory-task-column{display:grid;gap:10px;min-width:0}.home-card,.report-nutrition-panel,.report-micro-panel,.micro-panel,.report-group,.inventory-task-section,.inventory-all-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:none}.home-card{padding:13px}.nutrition-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nutrition-kpis div{min-width:0;border:1px solid #e8eee6;border-radius:var(--radius);background:#fbfcfb;padding:10px}.macro-row{grid-template-columns:minmax(70px,.46fr) minmax(94px,1fr) 40px}.unified-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.report-workspace,.inventory-task-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.report-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-reader,.report-reader iframe{min-width:0}.report-reader iframe{width:100%;min-height:min(620px,70vh)}.inventory-task-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;padding:9px}.inventory-task-actions{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.inventory-compact-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.section-count{flex-shrink:0;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.today-consumption-panel{display:grid;gap:10px}.consumption-timeline{display:grid;gap:7px;min-width:0}.consumption-record-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;min-width:0;border:1px solid #e8eee6;border-radius:var(--radius);background:#fbfcfb;padding:8px}.consumption-record-time{display:grid;align-content:start;gap:2px;min-width:0}.consumption-record-time strong{color:var(--text);font-size:13px;line-height:1.1}.consumption-record-time span{color:var(--muted);font-size:10px;font-weight:700}.consumption-record-items{display:flex;flex-wrap:wrap;gap:5px;min-width:0}.consumption-item-chip,.consumption-item-card{max-width:100%;min-width:0;overflow-wrap:anywhere;border:1px solid #dfe8dd;border-radius:7px;color:#25332a;background:#fff;padding:4px 7px;font-size:11px;font-weight:700;line-height:1.25}.consumption-item-card{flex:1 1 172px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:7px;min-height:74px;padding:5px 7px 5px 5px}.consumption-item-card .food-thumb.compact{width:38px;height:38px;border-radius:7px}.consumption-item-meta{display:grid;gap:5px;min-width:0}.consumption-item-title{display:grid;gap:1px;min-width:0}.consumption-item-card strong,.consumption-item-card small{min-width:0;overflow-wrap:anywhere}.consumption-item-card strong{color:var(--text);font-size:11px;line-height:1.2}.consumption-item-card small{color:var(--muted);font-size:10px;font-weight:700;line-height:1.1}.consumption-nutrition-mini{display:grid;gap:3px;min-width:0}.consumption-nutrient-row{display:grid;grid-template-columns:28px minmax(34px,1fr) 34px;align-items:center;gap:4px;min-width:0;color:#4f5d55;font-size:9px;font-weight:800;line-height:1}.consumption-nutrient-label,.consumption-nutrient-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consumption-nutrient-value{text-align:right;color:#243229;font-variant-numeric:tabular-nums}.consumption-nutrient-track{display:block;height:4px;min-width:0;overflow:hidden;border-radius:999px;background:#edf2ed}.consumption-nutrient-track i{display:block;height:100%;min-width:2px;border-radius:inherit;background:#7b8a82}.consumption-nutrient-row.nutrient-calories .consumption-nutrient-track i{background:#5f6f68}.consumption-nutrient-row.nutrient-protein .consumption-nutrient-track i,.consumption-nutrient-row.nutrient-fiber .consumption-nutrient-track i{background:var(--green)}.consumption-nutrient-row.nutrient-carbs .consumption-nutrient-track i{background:var(--teal)}.consumption-nutrient-row.nutrient-fat .consumption-nutrient-track i{background:var(--amber)}.consumption-nutrition-missing{color:var(--muted);font-size:9px;font-weight:700;line-height:1.2}.consumption-item-chip.muted{color:var(--muted);font-weight:600}.consumption-item-card.muted{display:inline-flex;flex:0 1 auto;color:var(--muted);font-weight:600}.health-core-panel{gap:10px}.nutrition-core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}.nutrition-core-metric{display:grid;gap:5px;min-width:0;border:1px solid #e7eee5;border-radius:var(--radius);background:#fbfcfb;padding:9px}.nutrition-core-metric span,.nutrition-core-metric small{color:var(--muted);font-size:10px;font-weight:750;line-height:1.25}.nutrition-core-metric strong{color:var(--text);font-size:17px;line-height:1.1;overflow-wrap:anywhere}.nutrition-core-track{height:5px;overflow:hidden;border-radius:999px;background:#e8eee6}.nutrition-core-track i{display:block;height:100%;min-width:2px;max-width:100%;border-radius:inherit;background:var(--green)}.nutrition-analysis-page{display:grid;gap:10px}.nutrition-analysis-header{display:flex;align-items:start;justify-content:space-between;gap:10px}.nutrition-analysis-header>div{display:grid;gap:3px;min-width:0}.nutrition-analysis-header h2{margin:0;color:var(--text);font-size:25px;line-height:1.08}.nutrition-analysis-header small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.eyebrow-line{display:inline-flex;align-items:center;gap:5px;width:fit-content;color:var(--green-dark);font-size:12px;font-weight:850}.nutrition-date-strip{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px}.nutrition-date-strip>span{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfb;color:var(--text);font-size:14px;font-weight:800}.nutrition-date-strip>span[aria-hidden=true]{color:var(--muted);font-size:24px;font-weight:500}.nutrition-scope-control{margin:0}.nutrition-analysis-card{display:grid;gap:11px;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px}.nutrition-overall-pill{align-self:start;padding:5px 8px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}.nutrition-overall-pill.low,.nutrition-overall-pill.high{color:var(--red);background:var(--red-soft)}.nutrition-overall-pill.watch{color:var(--amber);background:var(--amber-soft)}.nutrition-hero-layout{display:grid;gap:10px;min-width:0}.nutrition-radar{position:relative;display:grid;place-items:center;min-height:206px;border:1px solid #e8eee6;border-radius:var(--radius);background:linear-gradient(180deg,#fbfcfb,#fff)}.nutrition-radar>svg:first-child{position:absolute;top:10px;left:10px;color:var(--green)}.nutrition-radar svg[role=img]{width:min(100%,246px);height:206px}.radar-grid{fill:none;stroke:#cde1d5;stroke-width:1}.radar-axis{stroke:#e0e9e2;stroke-width:1}.radar-fill{fill:#24986d2e;stroke:none}.radar-line{fill:none;stroke:var(--green);stroke-width:2.5}.nutrition-radar text{fill:#526158;font-size:10px;font-weight:800;text-anchor:middle;dominant-baseline:middle}.nutrition-hero-list,.nutrition-structure-list,.nutrition-micro-table,.nutrition-advice-list{display:grid;gap:0;min-width:0}.nutrition-hero-row,.nutrition-structure-row,.nutrition-micro-row,.nutrition-advice-row{min-width:0;border-bottom:1px solid #edf2ea}.nutrition-hero-row:last-child,.nutrition-structure-row:last-child,.nutrition-micro-row:last-child,.nutrition-advice-row:last-child{border-bottom:0}.nutrition-hero-row{display:grid;grid-template-columns:22px minmax(62px,.78fr) minmax(92px,1fr) 42px;align-items:center;gap:8px;padding:10px 0}.nutrition-hero-row svg,.nutrition-structure-row svg{color:var(--green)}.nutrition-hero-row.status-low svg,.nutrition-structure-row.status-low svg,.nutrition-hero-row.status-high svg,.nutrition-structure-row.status-high svg{color:var(--red)}.nutrition-hero-row.status-watch svg,.nutrition-structure-row.status-watch svg{color:var(--amber)}.nutrition-hero-row strong,.nutrition-structure-row strong,.nutrition-micro-row strong{min-width:0;color:var(--text);font-size:13px;line-height:1.2}.nutrition-hero-row span,.nutrition-structure-row span,.nutrition-micro-row span{min-width:0;color:var(--muted);font-size:12px;font-weight:700;overflow-wrap:anywhere}.nutrition-hero-row em,.nutrition-structure-row em,.nutrition-micro-row em{color:var(--green-dark);font-size:13px;font-style:normal;font-weight:900;text-align:right}.nutrition-hero-row.status-low em,.nutrition-hero-row.status-high em,.nutrition-structure-row.status-low em,.nutrition-structure-row.status-high em,.nutrition-micro-row.status-low em,.nutrition-micro-row.status-high em{color:var(--red)}.nutrition-hero-row.status-watch em,.nutrition-structure-row.status-watch em,.nutrition-micro-row.status-watch em{color:var(--amber)}.nutrition-structure-row{display:grid;grid-template-columns:22px minmax(62px,.75fr) minmax(92px,1fr);align-items:center;gap:8px;padding:10px 0}.nutrition-structure-track{grid-column:1 / -1;height:7px;overflow:hidden;border-radius:999px;background:#e9eee8}.nutrition-structure-track i{display:block;height:100%;min-width:2px;max-width:100%;border-radius:inherit;background:var(--green)}.status-low .nutrition-structure-track i,.status-high .nutrition-structure-track i{background:var(--red)}.status-watch .nutrition-structure-track i{background:var(--amber)}.nutrition-structure-row em,.nutrition-structure-row small{grid-row:2}.nutrition-structure-row em{grid-column:2;text-align:left}.nutrition-structure-row small{grid-column:3;justify-self:end;padding:3px 7px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px;font-weight:850}.nutrition-structure-row.status-low small,.nutrition-structure-row.status-high small{color:var(--red);background:var(--red-soft)}.nutrition-structure-row.status-watch small{color:var(--amber);background:var(--amber-soft)}.nutrition-micro-row{display:grid;grid-template-columns:minmax(70px,.8fr) minmax(94px,1fr) 44px;align-items:center;gap:7px;padding:9px 0}.nutrition-micro-row .nutrition-structure-track{grid-column:1 / -1;grid-row:2}.nutrition-micro-row em{text-align:right}.nutrition-micro-row small{grid-column:3;justify-self:end;padding:3px 7px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:11px;font-weight:850;white-space:nowrap}.nutrition-micro-row.status-low small,.nutrition-micro-row.status-high small{color:var(--red);background:var(--red-soft)}.nutrition-micro-row.status-watch small{color:var(--amber);background:var(--amber-soft)}.nutrition-food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:7px;min-width:0}.nutrition-food-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;min-width:0;border:1px solid #e8eee6;border-radius:var(--radius);background:#fbfcfb;padding:7px}.nutrition-food-card .food-thumb.compact{width:42px;height:42px}.nutrition-food-card>div{display:grid;gap:3px;min-width:0}.nutrition-food-card strong{color:var(--text);font-size:12px;line-height:1.2}.nutrition-food-card span{color:var(--muted);font-size:11px;font-weight:750}.nutrition-food-card p{display:flex;flex-wrap:wrap;gap:4px;margin:0}.nutrition-food-card em{padding:2px 6px;border-radius:999px;color:var(--green-dark);background:var(--green-soft);font-size:10px;font-style:normal;font-weight:850}.nutrition-advice-row{display:grid;grid-template-columns:24px minmax(78px,.8fr) minmax(0,1fr) 16px;align-items:center;gap:8px;padding:11px 0}.nutrition-advice-row svg{color:var(--amber)}.nutrition-advice-row.tone-red svg{color:var(--red)}.nutrition-advice-row.tone-green svg{color:var(--green)}.nutrition-advice-row strong{color:var(--text);font-size:13px}.nutrition-advice-row span{min-width:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.nutrition-analysis-disclaimer{color:var(--muted);font-size:11px;font-weight:700;line-height:1.4}.app-nav.tabbar{grid-template-columns:repeat(9,minmax(0,1fr))}.app-nav.tabbar button{font-size:9px}@media(min-width:760px){.app-shell.app-frame{padding:16px 16px 22px}.app-topbar{grid-template-columns:minmax(260px,.85fr) minmax(260px,1fr) auto;align-items:center}.app-top-actions{grid-template-columns:auto auto minmax(184px,220px) auto}.unified-home-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:12px}.nutrition-kpis,.report-nutrition-kpis,.report-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.nutrition-analysis-page{gap:12px}.nutrition-analysis-header,.nutrition-date-strip,.nutrition-scope-control{max-width:1040px}.nutrition-hero-layout{grid-template-columns:minmax(260px,.75fr) minmax(360px,1fr);align-items:center}.nutrition-structure-row{grid-template-columns:24px minmax(110px,.62fr) minmax(136px,.8fr) minmax(180px,1fr) 48px 62px}.nutrition-structure-row .nutrition-structure-track{grid-column:4;grid-row:auto}.nutrition-structure-row em,.nutrition-structure-row small{grid-row:auto}.nutrition-structure-row em{grid-column:5;text-align:right}.nutrition-structure-row small{grid-column:6}.nutrition-micro-row{grid-template-columns:minmax(120px,.8fr) minmax(160px,1fr) minmax(180px,1fr) 52px 64px}.nutrition-micro-row .nutrition-structure-track{grid-column:3;grid-row:auto}.nutrition-micro-row small{grid-column:5}.nutrition-advice-row{grid-template-columns:24px minmax(130px,.5fr) minmax(0,1fr) 16px}.inventory-task-row{grid-template-columns:42px minmax(0,1fr) auto;align-items:center}.inventory-task-actions{grid-column:auto;justify-content:flex-end}}@media(min-width:980px){.app-shell.app-frame{grid-template-columns:164px minmax(0,1fr);grid-template-areas:"nav top" "nav status" "nav content";align-items:start;gap:14px}.app-topbar{grid-area:top;top:16px}.status-bar{grid-area:status}.app-content{grid-area:content}.app-nav.tabbar{grid-area:nav;position:sticky;inset:16px auto auto;grid-template-columns:minmax(0,1fr);gap:6px;width:164px;min-height:calc(100vh - 32px);padding:8px;box-shadow:none}.app-nav.tabbar button{min-height:46px;flex-direction:row;justify-content:flex-start;gap:9px;padding:0 10px;font-size:14px}.report-workspace{grid-template-columns:minmax(330px,420px) minmax(0,1fr);align-items:start}.report-reader{position:sticky;top:104px}.report-reader iframe{min-height:calc(100vh - 190px)}.inventory-task-layout{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start}}@media(max-width:420px){.app-shell.app-frame{padding-inline:8px}.app-top-actions{grid-template-columns:auto minmax(0,1fr) auto}.active-page-chip{display:none}.inventory-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:759px){.app-topbar{gap:6px;padding:7px}.app-sync-summary{display:none}.brand-mark{width:28px;height:28px}.brand-lockup h1{font-size:16px;line-height:1.05}.app-top-actions{grid-template-columns:auto minmax(0,1fr) auto;height:34px;align-self:start;align-items:stretch;gap:6px}.active-page-chip{display:none}.app-date-picker input{height:34px;min-height:34px;padding:0 7px;font-size:13px;line-height:34px}.app-top-actions .icon-button{height:34px;min-height:34px;padding-inline:8px}.app-top-actions>.icon-button.soft span{display:none}.inventory-heading{align-items:flex-start;gap:8px;margin-bottom:8px}.inventory-heading h2{font-size:20px}.inventory-heading span{display:block;max-width:240px;line-height:1.35}.inventory-heading .icon-button{min-height:38px;padding:8px 10px}.inventory-priority-strip{gap:6px;padding-bottom:5px}.eat-priority-strip>strong{font-size:12px}.inventory-priority-strip button{min-width:118px;min-height:42px;grid-template-columns:30px minmax(0,1fr);padding:6px 8px}.inventory-priority-strip .food-thumb.compact{width:30px;height:30px}.inventory-priority-strip span{font-size:12px}.inventory-priority-strip small{font-size:10px}.inventory-workspace-panel .category-tabs{position:sticky;top:88px;z-index:7;margin-inline:-4px;padding:4px 4px 6px;background:linear-gradient(180deg,var(--bg) 82%,rgba(247,250,246,0))}.inventory-workspace-panel .category-tabs button{min-width:122px;min-height:46px;grid-template-columns:30px minmax(0,1fr);gap:7px;padding:6px 8px}.inventory-workspace-panel .category-tabs .food-thumb.compact{width:30px;height:30px}.inventory-task-layout.inventory-merged-layout{gap:8px}.inventory-consume-panel .section-head{margin-bottom:4px}.inventory-consume-grid{grid-template-columns:minmax(0,1fr);gap:8px}.inventory-consume-grid .eat-card{grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:6px 10px;padding:8px}.inventory-consume-grid .eat-card-image{grid-row:1 / span 2;align-self:center;width:72px}.inventory-consume-grid .eat-card .food-thumb.large,.inventory-consume-grid .eat-card .food-thumb-wrap{width:72px;height:72px;min-height:0}.inventory-consume-grid .eat-card .food-thumb.large{object-fit:cover}.inventory-consume-grid .freshness-badge{left:4px;top:4px;max-width:calc(100% - 8px);padding:3px 5px;font-size:10px}.inventory-consume-grid .freshness-badge small{display:none}.inventory-consume-grid .eat-card .inventory-card-body{grid-column:2;grid-row:1;min-height:0;gap:2px;padding-right:72px}.inventory-consume-grid .inventory-card-body strong{font-size:14px;line-height:1.2}.inventory-consume-grid .inventory-card-body span,.inventory-consume-grid .freshness-hint{font-size:12px;line-height:1.25}.inventory-consume-grid .eat-card .card-stepper{grid-column:2;grid-row:2;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.inventory-consume-grid .eat-card .card-stepper button{width:36px;height:38px}.inventory-consume-grid .eat-card .card-stepper input{min-height:38px;font-size:15px}.inventory-consume-grid .compact-actions{grid-column:2;grid-row:1;justify-self:end;align-self:start;display:flex;gap:4px}.inventory-consume-grid .compact-actions button{width:32px;height:32px;min-height:32px;padding:0}}
