/* Hoy: captura primero; detalle visible y controles de un toque. */
.capture-stack .cardio-card label { position:static; width:auto; height:auto; padding:0; overflow:visible; clip:auto; white-space:normal; }
.capture-stack .cardio-card .quick-title { display:flex; flex-direction:row; align-items:center; gap:10px; text-align:left; }
.capture-stack .cardio-card .quick-title strong { font-size:15px; }
.capture-stack .cardio-card .quick-title small { font-size:11px; }
.capture-stack .cardio-main-fields { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:12px; margin-top:14px; }
.capture-stack .cardio-main-fields > label { margin:0; display:grid; gap:9px; font-size:13px; color:#53675d; }
.capture-stack .cardio-number { display:flex; align-items:center; padding-right:12px; border:1px solid #dae5df; border-radius:14px; background:#fff; }
.capture-stack .cardio-distance .cardio-number { background:#f1f8f4; border-color:#bbd9c7; }
.capture-stack .cardio-number:focus-within { border-color:#258058; box-shadow:0 0 0 3px #27805814; }
.capture-stack .cardio-number input { width:100%; min-width:0; min-height:62px; padding:12px; border:0; background:transparent; box-shadow:none; outline:none; color:#214b37; font-size:28px; font-weight:650; letter-spacing:-1px; }
.capture-stack .cardio-number > span { font-size:14px; color:#60746a; font-weight:400; }
.cardio-preview { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px 2px; color:#83918a; }
.cardio-preview > span { display:grid; gap:4px; }
.cardio-preview small { font-size:11px; }
.cardio-preview strong { font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.cardio-preview[data-ready="true"] { color:#285e42; }
.capture-stack .cardio-card .quick-details { margin-top:0; border-top:1px solid #e1e9e4; }
.cardio-incline { display:flex; align-items:center; gap:16px; padding:8px 0 14px; }
.cardio-incline label { flex:1; margin:0; font-size:13px; }
.cardio-incline small { display:block; margin-top:5px; color:#6b7e72; font-size:11px; font-weight:400; }
.capture-stack .cardio-incline input { width:95px; min-height:46px; text-align:center; font-size:18px; }
.cardio-save { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:8px; }
.cardio-save > small { max-width:150px; font-size:11px; line-height:1.5; color:#60746a; }
.capture-stack .cardio-save .button { min-height:46px; padding:11px 16px; font-size:13px; gap:8px; white-space:nowrap; }
.cardio-save svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cardio-message:empty { display:none; }
.entry-cardio-metrics { display:flex; flex-wrap:wrap; gap:6px 12px; margin:7px 0 3px; font-size:12px; color:#436651; font-variant-numeric:tabular-nums; }
.visual-heading { display:flex; align-items:center; gap:8px; }
.section-icon { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#page-hoy .top-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-areas:"capture overview" "reading overview"; grid-template-rows:auto 1fr; gap:16px; align-items:start; }
.capture-stack { grid-area:capture; min-width:0; display:grid; gap:12px; }
.capture-stack .composer-card { padding:18px; }
.capture-stack .composer-card > label { font-size:18px; line-height:1.4; margin-bottom:12px; }
.composer-input { display:flex; align-items:flex-start; gap:8px; border:1px solid #cadbd1; border-radius:14px; background:#f9fcfa; padding:4px; }
.composer-input:focus-within { border-color:#19855b; box-shadow:0 0 0 3px #19855b12; }
#entryText { min-width:0; flex:1; min-height:72px; padding:12px; border:0; background:transparent; box-shadow:none; font-size:16px; line-height:1.5; resize:vertical; }
#entryText:focus { outline:none; box-shadow:none; }
.dictation-button { flex:none; width:44px; height:44px; display:grid; place-items:center; margin:4px; border:0; border-radius:11px; background:#e6f5ec; color:#14744d; cursor:pointer; }
.dictation-button svg { width:21px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.dictation-button[aria-pressed="true"] { background:#b93838; color:#fff; box-shadow:0 0 0 4px #b9383814; }
.dictation-button:disabled { opacity:.45; cursor:default; }
.dictation-status { margin:8px 0 0; color:#52685b; font-size:12px; line-height:1.5; }
.dictation-status:empty { display:none; }
.capture-stack .composer-footer { margin-top:10px; align-items:center; justify-content:flex-end; gap:12px; }
.capture-stack .composer-footer > span { font-size:12px; line-height:1.4; }
.capture-stack .composer-footer .button { min-height:44px; padding:10px 20px; }
.capture-stack .entry-digest { margin-top:12px; padding-top:12px; }
.capture-stack .form-message:empty { display:none; }
.capture-stack .quick-launch { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0; }
.capture-stack .quick-launch button { min-width:0; display:flex; align-items:center; justify-content:center; flex-direction:row; gap:6px; min-height:48px; padding:8px 4px; background:#fff; color:#52685b; border:1px solid #dfe8e2; border-radius:14px; font-size:12px; font-weight:650; }
.capture-stack .quick-launch svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.capture-stack .quick-launch button:hover, .capture-stack .quick-launch button.is-active { border-color:#72b99a; color:#10794f; background:#eaf7ef; }
.capture-stack .quick-section { margin:0; padding:0; }
.capture-stack .quick-section .compact-heading { display:none; }
.capture-stack .quick-grid { max-width:none; }
.capture-stack .quick-card { padding:18px; }
#page-hoy .today-overview-card { grid-area:overview; display:block; align-self:start; min-width:0; min-height:0; padding:0; color:#193829; background:#fff; border:1px solid #dce7df; border-radius:24px; box-shadow:0 12px 36px #143c200a; overflow:hidden; font-variant-numeric:tabular-nums; }
#page-hoy .today-overview-card::before, #page-hoy .today-overview-card::after { display:none; }
#page-hoy .today-energy { padding:18px 20px 12px; color:#f5fcf8; background:radial-gradient(ellipse at 110% 0,#315d4e,transparent 65%),#153e30; }
#page-hoy .today-overview-heading { align-items:flex-start; margin:0 0 12px; gap:12px; }
#page-hoy .today-overview-heading h2 { color:#f5fcf8; font-size:22px; font-weight:600; letter-spacing:-.6px; margin:0; }
#page-hoy .today-overview-heading > div:first-child { min-width:0; }
#page-hoy .today-overview-actions { margin-left:auto; flex:none; }
#page-hoy .day-state-inline { justify-content:flex-start; margin-top:6px; gap:6px; }
#page-hoy #dayStateLabel { display:flex; align-items:center; gap:7px; color:#b9d8c9; font-size:12px; font-weight:500; line-height:1.4; }
#page-hoy #dayStateLabel::before { content:""; width:6px; height:6px; flex:none; border-radius:50%; background:#9cdbb8; }
#page-hoy .day-state-inline[data-state="closed"] #dayStateLabel::before { background:#c6d5ce; }
#page-hoy .target-edit-button { display:flex; align-items:center; gap:6px; width:auto; min-height:44px; padding:0 12px; color:#e1f1e8; border:1px solid #ffffff26; border-radius:12px; background:#ffffff0a; font-size:12px; font-weight:600; }
#page-hoy .target-edit-button svg, #page-hoy .today-stat-label svg, #page-hoy .today-more summary svg { width:19px; height:19px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#page-hoy .target-edit-button:hover { background:#ffffff16; }
#page-hoy .calorie-heading { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; align-items:end; margin:0 0 12px; }
#page-hoy .metric-label { display:block; color:#b9d8c9; font-size:13px; margin:0 0 7px; text-transform:none; letter-spacing:0; }
#page-hoy .calorie-value { font-size:40px; font-weight:600; line-height:1.1; color:#f7fff9; margin:0; letter-spacing:-2px; white-space:normal; overflow-wrap:anywhere; }
#page-hoy .calorie-value small { color:#bad3c6; font-size:14px; font-weight:500; letter-spacing:0; }
#page-hoy .calorie-score { gap:2px; align-items:end; text-align:right; padding-bottom:3px; }
#page-hoy #caloriePercent { font-size:24px; color:#e0f2e7; font-weight:550; letter-spacing:-.5px; }
#page-hoy .calorie-score > span { color:#b9d8c9; font-size:11px; }
#page-hoy .today-overview-card[data-tone="empty"] .calorie-score > span { display:none; }
#page-hoy .today-overview-card[data-tone="empty"] #caloriePercent { font-size:14px; letter-spacing:0; }
#page-hoy .metric-progress { display:block; height:8px; border-radius:8px; color:var(--metric-fill,#acdca6); background:var(--metric-track,#ffffff20); }
#page-hoy .metric-progress::-webkit-progress-bar { background:var(--metric-track,#ffffff20); }
#page-hoy .metric-progress::-webkit-progress-value { background:var(--metric-fill,#acdca6); }
#page-hoy .metric-progress::-moz-progress-bar { background:var(--metric-fill,#acdca6); }
#page-hoy .calorie-progress { margin:0; }
#page-hoy .today-overview-card[data-tone="near"] .today-energy { --metric-fill:#f0cf85; }
#page-hoy .today-overview-card[data-tone="over"] .today-energy { --metric-fill:#f4ba87; }
#page-hoy .energy-target-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 8px; }
#page-hoy .calorie-target.target-link { justify-content:flex-start; color:#d1e6d9; font-size:12px; font-weight:500; line-height:1.4; min-height:44px; margin:0; padding:0; border:0; }
#page-hoy .energy-target-row .pending-pill { font-size:11px; font-weight:550; min-height:26px; }
#page-hoy .pending-pill::before { animation:none; }
#page-hoy .compact-calorie-details { display:flex; align-items:flex-start; flex-direction:column; gap:2px; margin:0; padding-top:10px; border-top:1px solid #ffffff1a; }
#page-hoy .compact-calorie-details p { color:#bed8ca; font-size:12px !important; line-height:1.5; margin:0; white-space:normal; text-align:left; }
#page-hoy .compact-calorie-details p::before { content:none; }
#page-hoy .compact-calorie-details #caloriePosition { color:#e0eddf; font-weight:550; }
#page-hoy .today-overview-card[data-tone="near"] #caloriePosition { color:#f0cf85; }
#page-hoy .today-overview-card[data-tone="over"] #caloriePosition { color:#f4ba87; }
#page-hoy .today-overview-body { padding:14px 16px 10px; }
#page-hoy .compact-today-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; background:none; border:0; border-radius:0; overflow:visible; }
#page-hoy .today-stat { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; min-height:0; padding:0; border:0; background:none; }
#page-hoy .compact-today-metrics .today-stat { padding:10px 12px 0; border:1px solid #e7eae5; border-radius:16px; background:#f8f9f5; --metric-fill:#998452; --metric-track:#e9e6db; }
#page-hoy .compact-today-metrics .today-stat-steps { background:#f3f8f7; border-color:#e2ebe7; --metric-fill:#408879; --metric-track:#ddebe6; }
#page-hoy .today-stat > span { color:#526b60; font-size:13px; line-height:1.35; font-weight:500; white-space:normal; overflow:visible; }
#page-hoy .today-stat .today-stat-label { display:flex; align-items:center; gap:6px; }
#page-hoy .today-stat-protein .today-stat-label svg { color:#8a7546; }
#page-hoy .today-stat-steps .today-stat-label svg { color:#408879; }
#page-hoy .today-stat > strong { color:#244638; font-size:21px; font-weight:600; line-height:1.3; letter-spacing:-.6px; white-space:normal; overflow-wrap:anywhere; overflow:visible; }
#page-hoy .compact-today-metrics .today-stat > strong { font-size:25px; }
#page-hoy .today-stat > small, #page-hoy .today-stat > .quality-badge, #page-hoy .today-stat > .target-link { position:static; color:#596e62; font-size:12px; font-weight:500; line-height:1.4; padding:0; border:0; background:none; white-space:normal; min-height:0; overflow:visible; }
#page-hoy .today-stat > .target-link { min-height:44px; margin-top:-2px; }
#page-hoy .today-stat .edit-pencil { width:12px; height:12px; }
#page-hoy .today-stat .metric-progress { margin:3px 0 0; width:100%; height:5px; }
#page-hoy .today-overview-card .target-copy { white-space:normal; overflow:visible; }
#page-hoy .today-activity { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; padding:14px 0 12px; }
#page-hoy .today-activity .today-stat + .today-stat { border-left:1px solid #e6ede7; padding-left:12px; }
#page-hoy .today-more { border-top:1px solid #e5ece6; }
#page-hoy .today-more summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; color:#576e60; font-size:12px; cursor:pointer; list-style:none; }
#page-hoy .today-more summary::-webkit-details-marker { display:none; }
#page-hoy .today-more[open] summary svg { transform:rotate(180deg); }
#page-hoy .today-more-content { padding:0 0 10px; }
#page-hoy .today-extra-metric { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#536a5c; font-size:12px; }
#page-hoy .today-extra-metric .target-link { min-height:44px; margin-left:auto; font-size:12px; border:0; }
#page-hoy .today-day-footer { display:flex; align-items:center; gap:12px; padding-top:10px; border-top:1px solid #e5ece6; }
#page-hoy .day-status-note { flex:1; color:#607266; font-size:12px; line-height:1.5; margin:0; }
#page-hoy .today-overview-card .day-state-button { flex:none; min-height:44px; padding:0 12px; color:#3c6450; border:1px solid #dfe8e1; background:#f6f9f5; border-radius:11px; font-size:12px; font-weight:600; }
#page-hoy .today-overview-card .day-state-button:hover { background:#eaf3eb; }
#page-hoy .today-overview-card :is(button,summary):focus-visible { outline:3px solid #268a64; outline-offset:3px; }
#page-hoy .today-energy button:focus-visible { outline-color:#c8eca7; }
#page-hoy .dashboard-grid-report { grid-area:reading; display:block; min-width:0; margin:0; }
#page-hoy .report-card { padding:0; overflow:hidden; color:#244b35; background:#fff; border:1px solid #dce7df; }
#page-hoy .report-mark { display:none; }
#page-hoy .next-action-block { padding:16px 18px; background:#eaf5ee; border-bottom:1px solid #dceadf; }
#page-hoy .next-action-block .eyebrow { display:flex; align-items:center; justify-content:space-between; color:#33805a; font-size:12px; letter-spacing:.6px; text-transform:none; margin:0; }
#page-hoy .next-action-block .eyebrow span { display:grid; place-items:center; width:28px; height:28px; border:1px solid #bfd8c7; border-radius:50%; font-size:16px; }
#page-hoy .report-card h2 { color:#214d35; font-size:18px; line-height:1.4; margin:6px 0 0; }
#page-hoy .report-card .action-reason { color:#526f5c; font-size:13px; line-height:1.5; margin:5px 0 0; }
#page-hoy .report-card .latest-analysis { margin:0; border:0; border-radius:0; padding:14px 18px 0; background:none; }
#page-hoy .latest-analysis h3 { margin:0 0 8px; color:#234633; font-size:14px; }
#page-hoy #reportSummary { margin:0; color:#365941; font-size:15px; line-height:1.65; font-weight:400; }
#page-hoy .report-actions { margin:10px 0 0; }
#page-hoy .report-actions:empty { display:none; }
#page-hoy .report-actions li { color:#496852; font-size:14px; line-height:1.6; }
#page-hoy .report-meta { margin:12px 0 0; padding:0 18px 14px; color:#65756a; font-size:12px; line-height:1.5; border:0; }
.progress-history { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:0; margin-top:18px; border:1px solid #dce7df; border-radius:20px; background:#fff; overflow:hidden; scroll-margin-top:90px; }
.progress-history > .trend-card { margin:0; border:0; border-radius:0; box-shadow:none; background:transparent; padding:20px; min-width:0; }
.progress-history > .entries-section { margin:0; padding:20px; min-width:0; border-left:1px solid #e7ede9; }
.progress-history .trend-header { gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.progress-history .trend-header h2, .progress-history .entries-section h2 { font-size:20px; line-height:1.4; margin:0; letter-spacing:-.4px; }
.progress-history .trend-header .eyebrow { font-size:12px; text-transform:none; letter-spacing:0; margin:0 0 5px; }
.progress-history .segmented { gap:2px; padding:3px; border-radius:12px; }
.progress-history .segment-button { min-height:44px; font-size:12px; padding:8px 12px; border-radius:9px; }
.progress-history .metric-tabs { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:16px; }
.progress-history .metric-tab { flex:1 1 auto; min-height:44px; padding:7px 9px; font-size:12px; }
.progress-history .chart-insight-row { gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.progress-history #chartSummary { font-size:15px; line-height:1.5; }
.progress-history .coverage-pill { font-size:11px; }
.progress-history .chart-legend { font-size:12px; line-height:1.5; }
.progress-history .chart-wrap { min-height:0; margin:12px 0; }
.progress-history .trend-chart { min-width:0; }
.chart-history-hint { font-size:12px; color:#66796b; margin:8px 0 0; }
.progress-history .section-heading { margin-bottom:16px; gap:12px; }
.history-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.history-toolbar button, .history-more, .history-toolbar input, .history-toolbar select { min-width:0; min-height:44px; border:1px solid #dce6de; border-radius:10px; padding:8px 10px; background:#f7faf8; color:#42614d; font:inherit; font-size:13px; }
.history-toolbar button, .history-more { cursor:pointer; font-weight:600; }
.history-toolbar input, .history-toolbar select { max-width:100%; background:#fff; }
.history-date-label { min-width:0; }
.history-toolbar .history-type { min-width:0; margin-left:auto; }
.history-toolbar .history-edit { color:#137950; background:#eaf6ee; border-color:#c7e2d1; }
.history-status { font-size:13px; line-height:1.5; margin:0 0 12px; color:#637569; }
.history-status:empty { display:none; }
.history-day { display:grid; width:100%; grid-template-columns:minmax(0,1fr) 16px; gap:4px 12px; padding:15px 0; border:0; border-bottom:1px solid #edf1ee; background:transparent; text-align:left; cursor:pointer; font:inherit; }
.history-day:first-child { padding-top:4px; }
.history-day:last-child { border:0; }
.history-day-date { color:#284333; font-size:14px; font-weight:650; }
.history-day-summary { color:#65766b; font-size:13px; line-height:1.5; }
.history-day-arrow { grid-column:2; grid-row:1 / 3; align-self:center; color:#698d78; font-size:24px; }
.history-day:hover .history-day-date { color:#168052; }
.history-more { width:100%; margin-top:12px; }
.progress-history .entry-list { gap:0; }
.progress-history .entry-item { grid-template-columns:28px minmax(0,1fr); gap:10px; margin:0; padding:16px 0; border:0; border-bottom:1px solid #edf1ee; border-radius:0; background:transparent; box-shadow:none; }
.progress-history .entry-item:last-child { border:0; }
.progress-history .entry-icon { width:28px; height:28px; border-radius:9px; }
.progress-history .entry-icon svg { width:17px; height:17px; }
.progress-history .entry-topline { gap:6px; flex-wrap:wrap; }
.progress-history .entry-title { font-size:14px; line-height:1.5; font-weight:600; }
.progress-history .entry-time { font-size:12px; }
.progress-history .entry-impact { grid-column:2; flex-direction:row; justify-content:flex-start; gap:10px; flex-wrap:wrap; align-items:center; text-align:left; }
.progress-history .entry-impact-kcal { font-size:14px; }
.progress-history .entry-impact-share, .progress-history .entry-points { font-size:11px; }
.entry-more > summary { width:fit-content; min-height:44px; display:flex; align-items:center; gap:6px; color:#536f5d; font-size:12px; cursor:pointer; list-style:none; }
.entry-more > summary::-webkit-details-marker { display:none; }
.entry-more > summary::after { content:"+"; font-size:16px; }
.entry-more[open] > summary::after { content:"−"; }
.progress-history .entry-analysis, .progress-history .entry-details { font-size:13px; line-height:1.6; margin:0 0 10px; }
.progress-history .entry-footer { margin:8px 0; }
.progress-history .entry-action { min-height:44px; font-size:12px; padding:8px 10px; }
.progress-history .empty-state { padding:24px 4px; font-size:14px; line-height:1.5; border:0; }
.strength-details { margin-top:20px; border:1px solid #dce7df; border-radius:16px; background:#fff; overflow:hidden; }
.strength-details > summary { padding:18px 20px; font-size:15px; font-weight:600; color:#375e47; cursor:pointer; }
.strength-details .strength-progress { margin:0; padding-top:0; }
#settingsDialog .points-guide { order:initial; display:block; padding:14px; margin-top:20px; }
#settingsDialog .points-guide summary { min-height:24px; cursor:pointer; font-size:14px; font-weight:600; }
#settingsDialog .points-guide strong, #settingsDialog .points-guide small { display:block; margin-top:10px; line-height:1.6; }
#settingsDialog .profile-privacy { margin:18px 0; font-size:13px; line-height:1.5; }
#settingsDialog { width:min(460px,calc(100vw - 24px)); padding:24px; border-radius:22px; }
#settingsDialog .dialog-heading { align-items:flex-start; margin-bottom:12px; }
#settingsDialog .dialog-heading h2 { font-size:24px; letter-spacing:-.6px; font-weight:600; }
#settingsDialog .goals-subtitle { margin:5px 0 0; color:#64776c; font-size:13px; }
#accountPanelGoals .goals-list { display:grid; gap:0; }
#accountPanelGoals .goal-row { display:grid; grid-template-columns:minmax(0,1fr) 158px; gap:16px; align-items:center; padding:9px 0; margin:0; border-bottom:1px solid #e6ede8; }
#accountPanelGoals .goal-label { color:#244d37; font-size:15px; font-weight:600; }
#accountPanelGoals .goal-label small { display:block; margin-top:4px; font-size:12px; font-weight:400; color:#60746a; }
#accountPanelGoals .goal-input { display:flex; align-items:center; gap:6px; padding-right:10px; border:1px solid #dce7df; border-radius:12px; background:#f5f9f6; }
#accountPanelGoals .goal-input:focus-within { border-color:#278058; box-shadow:0 0 0 3px #27805812; }
#accountPanelGoals .goal-input input { width:100%; min-width:0; min-height:48px; padding:10px 2px 10px 12px; font-size:18px; font-weight:600; text-align:right; border:0; border-radius:12px; background:none; color:#234a35; box-shadow:none; }
#accountPanelGoals .goal-input input:focus { outline:none; }
#accountPanelGoals .goal-input > span { font-size:12px; color:#60746a; white-space:nowrap; font-weight:400; }
#settingsDialog .settings-extra > summary, #settingsDialog .settings-account > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; font-size:13px; color:#385d47; cursor:pointer; }
#settingsDialog .settings-extra > summary span { font-size:12px; color:#6d7e72; font-weight:400; }
#settingsDialog .settings-extra .settings-grid { margin-top:6px; padding:14px; border-radius:12px; background:#f5f8f4; }
#settingsDialog .settings-grid input, #settingsDialog .settings-grid select { min-height:44px; font-size:16px; }
#accountPanelGoals .goals-actions { position:sticky; bottom:-24px; z-index:1; display:grid; grid-template-columns:auto 1fr; margin:4px -2px 0; padding:12px 2px; background:#fff; border-top:1px solid #e6ede8; }
#accountPanelGoals .goals-actions .button { min-height:48px; padding:10px 14px; font-size:14px; }
#settingsDialog .settings-account { margin-top:6px; }
#settingsDialog .points-guide { margin-top:0; }
#accountPanelGoals .form-message:empty { display:none; }
@media(max-width:380px) {
  #settingsDialog { padding:18px; }
  #accountPanelGoals .goal-row { grid-template-columns:minmax(0,1fr) 139px; gap:10px; }
  #accountPanelGoals .goal-input input { font-size:16px; padding-left:8px; }
  #settingsDialog .settings-extra > summary span { font-size:11px; }
  #accountPanelGoals .goals-actions { bottom:-18px; }
}
@media(max-width:1000px) {
  .progress-history { grid-template-columns:minmax(0,1fr); }
  .progress-history > .entries-section { border-left:0; border-top:1px solid #e7ede9; }
}
@media(max-width:900px) {
  #page-hoy .top-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"capture" "reading" "overview"; gap:12px; }
}
@media(max-width:560px) {
  .capture-stack .composer-card { padding:16px; }
  .capture-stack .composer-card > label { font-size:17px; }
  .capture-stack .composer-card > label svg { display:block; width:19px; height:19px; flex:none; }
  .capture-stack .composer-footer > span { max-width:145px; font-size:12px; }
  .capture-stack .quick-launch { gap:6px; }
  .capture-stack .quick-launch button { min-height:56px; flex-direction:column; gap:4px; padding:6px 3px; font-size:12px; }
  #page-hoy .today-overview-card { padding:0; border-radius:20px; }
  #page-hoy .today-energy { padding:16px; }
  #page-hoy .today-overview-body { padding:14px 16px 12px; }
  #page-hoy .compact-today-metrics { gap:10px; }
  #page-hoy .compact-today-metrics .today-stat { padding:10px 10px 0; }
  #page-hoy .today-activity { gap:10px; }
  #page-hoy .today-activity .today-stat + .today-stat { padding-left:10px; }
  #page-hoy .report-card { padding:0; }
  #page-hoy .next-action-block { padding:16px; }
  #page-hoy .report-card .latest-analysis { padding:18px 16px 0; }
  #page-hoy .report-meta { padding:0 16px 16px; }
  .progress-history { margin-top:20px; border-radius:16px; }
  .progress-history > .trend-card, .progress-history > .entries-section { padding:18px 16px; }
  .progress-history .trend-header { display:grid; }
  .progress-history .segmented { width:fit-content; }
  .progress-history .metric-tabs { gap:2px; }
  .progress-history .metric-tab { padding:7px 6px; font-size:11px; }
  .progress-history .chart-legend { gap:6px 12px; }
  .history-toolbar .history-type { margin-left:0; }
  #page-hoy .today-overview-heading h2 { font-size:21px; }
  #page-hoy .calorie-value { font-size:38px; }
  #page-hoy .today-stat > strong { font-size:19px; }
  #page-hoy .compact-today-metrics .today-stat > strong { font-size:25px; }
  #page-hoy .report-card h2 { font-size:18px; }
}

/* Compact layout: remove duplicate spacing, preserve labels and touch targets. */
#settingsDialog > #settingsForm { padding:0; }
#page-hoy .today-overview-card[data-tone="empty"] .compact-calorie-details { display:none; }
.capture-stack .quick-card .quick-title { display:flex; flex-direction:row; align-items:center; gap:10px; text-align:left; }
.capture-stack .quick-card .quick-title strong { font-size:15px; }
.capture-stack .quick-card > label { position:static; width:auto; height:auto; padding:0; overflow:visible; clip:auto; white-space:normal; margin:10px 0 6px; font-size:13px; }
.capture-stack .quick-input-row { margin-top:0; }
.capture-stack .quick-card { padding:14px 16px; }
.capture-stack .cardio-main-fields { gap:10px; margin-top:10px; }
.capture-stack .cardio-number input { min-height:54px; padding:10px; font-size:25px; }
.cardio-preview { padding:10px 2px; }
.capture-stack .cardio-card .quick-title small { font-size:12px; }

/* Food-first capture and clear daily reading. */
.capture-stack { grid-template-columns:minmax(0,1fr); }
.capture-stack > * { min-width:0; max-width:100%; }
.composer-help { margin:7px 0 12px; color:#536b60; font-size:13px; line-height:1.5; }
.capture-stack .quick-launch { grid-template-columns:repeat(4,minmax(0,1fr)); }
.capture-stack .quick-launch button { min-height:48px; }
.capture-close { margin-left:auto; width:44px; height:44px; flex:none; border:0; border-radius:10px; background:#f1f6f2; color:#4c6e5b; font-size:25px; cursor:pointer; }
.quick-helper { margin:3px 0 9px; font-size:12px; color:#536b60; line-height:1.45; }
.weight-quality-help { display:block; font-size:12px; line-height:1.45; color:#536b60; max-width:260px; margin-top:5px; }
.capture-stack #weightQuality { width:100%; max-width:100%; min-height:44px; font-size:16px; }
.capture-stack .weight-quality-control { min-width:0; }
.capture-stack .quick-card .weight-quality-inline { width:100%; min-width:0; height:auto; margin-top:8px; }
.capture-stack .quick-card .weight-quality-inline select { padding:8px 30px 8px 10px; font-weight:500; }
.capture-stack .quick-card .weight-quality-help { max-width:none; font-weight:400; }
.capture-stack .quick-input-row .button { padding-inline:12px; white-space:normal; min-height:48px; }
.capture-stack .quick-input-row { grid-template-columns:minmax(0,1fr) auto; }
.capture-stack .quick-input-row .button span { display:inline; position:static; width:auto; height:auto; overflow:visible; clip:auto; font-size:12px; }
.capture-stack .quick-input-row .button { width:auto; gap:5px; }
.cardio-preview[hidden] { display:none; }
#page-hoy .calorie-score { display:none; }
#page-hoy .compact-calorie-details { padding-top:0; }
.compact-calorie-details > summary { min-height:44px; display:flex; align-items:center; gap:6px; cursor:pointer; color:#c0d8cc; font-size:12px; }
.compact-calorie-details > summary::after { content:'+'; }
.compact-calorie-details[open] > summary::after { content:'−'; }
.compact-calorie-details > summary::-webkit-details-marker { display:none; }
.today-extra-metric:has(#anchorsValue) { display:none; }
.cardio-today-time { display:block; margin-top:3px; font-size:12px; color:#577363; }
.cardio-today-time:empty { display:none; }
.day-options { position:relative; }
.day-options > summary { min-height:44px; display:flex; align-items:center; padding:0 10px; color:#536b60; font-size:12px; cursor:pointer; }
.day-options[open] { display:grid; gap:4px; }
#page-hoy .report-card .latest-analysis { padding-top:14px; }
#page-hoy .report-meta { margin-top:9px; }
.entry-advice { padding-left:18px; margin:8px 0 12px; font-size:13px; line-height:1.5; color:#536b60; }
.history-date-name { display:block; font-size:12px; margin-bottom:5px; color:#536b60; }
.history-toolbar { align-items:end; }
.history-day-date { display:flex; align-items:center; gap:10px; }
.history-day-activity { display:inline-flex; gap:5px; }
.history-activity-badge { display:inline-flex; color:#4f8067; }
.history-activity-badge svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.goals-period { margin:0 0 3px; color:#526b5d; font-size:12px; font-weight:600; }
#accountPanelGoals .goals-actions { grid-template-columns:auto 1fr; }
#accountForm { padding:0; }
#accountHub h2 { margin:0; font-size:24px; }
.account-profile { margin:6px 0; font-size:16px; font-weight:650; }
.account-progress { margin:0 0 18px; color:#536b60; font-size:13px; line-height:1.6; }
.account-preferences { margin:0 0 16px; }
.account-preferences select { min-height:48px; font-size:16px; }
.account-tools { margin-top:16px; padding-top:8px; border-top:1px solid #e2eae4; }
.account-tools .points-guide { display:block; margin:0; padding:0; background:none; border:0; }
.account-tools summary,.account-sync > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-size:13px; color:#385d47; }
.account-tools .points-guide strong,.account-tools .points-guide small { display:block; margin:8px 0; font-size:12px; line-height:1.6; }
.account-tools .profile-privacy,.account-sync p { font-size:12px; line-height:1.6; color:#536b60; }
.account-tools .button { font-size:13px; min-height:44px; }
.account-tools .settings-session { margin-top:8px; }
#accountForm .form-message:empty { display:none; }
.password-field { display:flex; align-items:center; gap:8px; }
.password-field input { min-width:0; flex:1; }
.password-field button { min-width:54px; min-height:44px; cursor:pointer; color:#25774f; }
@media(max-width:560px) {
  .capture-stack .composer-card > label { font-size:17px; line-height:1.3; align-items:flex-start; }
  .capture-stack .composer-card > label svg { margin-top:2px; }
  .capture-stack .quick-launch button { flex-direction:row; gap:6px; font-size:12px; }
  .progress-history .metric-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
  .progress-history .metric-tab { min-height:44px; font-size:13px; padding:7px; }
}
/* Saved records use brand green; selection remains a separate outline. */
.capture-stack .quick-launch button { position:relative; }
.capture-stack .quick-launch button[data-recorded="true"] { background:#177c54; border-color:#177c54; color:#fff; }
.capture-stack .quick-launch button[data-recorded="true"]::after { content:""; position:absolute; top:6px; right:6px; width:5px; height:8px; border:solid #c4f4d8; border-width:0 2px 2px 0; transform:rotate(45deg); }
.capture-stack .quick-launch button[data-recorded="true"][aria-pressed="true"] { outline:3px solid #a5d5bd; outline-offset:2px; }
#page-hoy .today-overview-body { padding-bottom:16px; }
#page-hoy .today-activity { grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); padding:12px 0 0; gap:8px; }
#page-hoy .today-activity .today-stat { padding:12px 10px; border:1px solid #cfe3d7; border-radius:13px; background:#edf7f1; min-width:0; }
#page-hoy .today-activity .today-stat + .today-stat { padding-left:10px; border-left:1px solid #cfe3d7; }
#page-hoy .today-activity .today-stat-label { color:#267553; }
#page-hoy .today-activity .today-stat > strong { color:#166b48; font-size:23px; }
#page-hoy .today-activity .quality-badge { white-space:normal; }
.day-title-row { display:flex; align-items:center; gap:8px; position:relative; }
.day-title-row h1 { margin:0; }
.day-tools { border:0; padding:0; margin:0; z-index:10; }
.day-tools > summary { list-style:none; width:44px; height:44px; display:grid; place-items:center; border:1px solid #d7e5dc; border-radius:12px; background:#fff; cursor:pointer; color:#38674f; }
.day-tools > summary::-webkit-details-marker { display:none; }
.day-tools > summary svg { width:22px; height:22px; fill:currentColor; stroke:currentColor; stroke-width:1.5; }
.day-tools-panel { position:absolute; top:50px; left:0; width:min(286px,calc(100vw - 32px)); padding:16px; border-radius:16px; background:#fff; border:1px solid #d6e5db; box-shadow:0 12px 30px #153a2526; }
.day-tools-panel .today-extra-metric { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:13px; }
.day-tools-panel .target-link { min-height:44px; margin-left:auto; color:#20734d; }
.day-tools-panel .today-day-footer { border-top:1px solid #e0e9e3; margin-top:8px; padding-top:12px; }
.day-tools-panel .day-status-note { font-size:12px; line-height:1.5; color:#647669; margin:0 0 8px; }
.day-tools-panel .day-state-button { width:100%; min-height:44px; font-size:13px; }
.day-tools summary:focus-visible { outline:3px solid #24845c; outline-offset:2px; }
/* Dates are cards; editing is visible and details retain secondary actions. */
.history-days { display:grid; gap:8px; }
.history-day, .history-day:first-child, .history-day:last-child { grid-template-columns:34px minmax(0,1fr) 14px; padding:12px; border:1px solid #dfebe3; border-radius:14px; background:#f7faf8; gap:4px 10px; }
.history-day:hover { background:#edf7f1; border-color:#aed5bf; }
.history-day-mark { grid-row:1 / 3; align-self:center; display:grid; place-items:center; width:34px; height:38px; border-radius:10px; background:#e2f0e8; color:#307c56; }
.history-day-mark svg,.history-back svg,.history-edit svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.history-day-date { grid-column:2; font-size:13px; }
.history-day-summary { grid-column:2; display:flex; flex-wrap:wrap; gap:3px 8px; font-size:12px; font-variant-numeric:tabular-nums; }
.history-value-chip { color:#4e6a59; }
.history-day-arrow { grid-column:3; }
.history-toolbar :is(.history-back,.history-edit) { width:44px; min-width:44px; padding:0; display:grid; place-items:center; }
.progress-history .entry-item { padding:14px 0; }
.progress-history .entry-main { position:relative; min-width:0; }
.progress-history .entry-topline { display:block; padding-right:88px; min-height:44px; }
.progress-history .entry-title { margin:0; font-size:13px; }
.progress-history .entry-time { display:block; margin-top:4px; font-size:11px; }
.progress-history .entry-icon-action,.entry-detail-toggle { display:inline-grid; place-items:center; width:44px; min-width:44px; min-height:44px; padding:0; border-radius:11px; }
.progress-history .entry-icon-action svg,.entry-detail-toggle svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.progress-history .entry-edit-direct { position:absolute; top:0; right:44px; color:#167b52; border:0; background:#eaf5ee; }
.entry-more > .entry-detail-toggle { position:absolute; right:0; top:0; display:grid; width:44px; padding:0; }
.entry-more > .entry-detail-toggle::after { content:none; }
.entry-more[open] > .entry-detail-toggle svg { transform:rotate(180deg); }
.entry-more[open] { margin-top:12px; padding-top:12px; border-top:1px solid #e4ede7; }
.progress-history .entry-impact { margin-top:7px; display:flex; gap:8px; }
.progress-history .entry-impact-kcal { font-size:16px; color:#25533c; }
.progress-history .entry-impact-share { display:none; }
.progress-history .entry-actions { display:inline-flex; width:auto; margin:0; gap:6px; }
.progress-history .entry-repeat { margin:0 0 0 6px; vertical-align:top; }
.progress-history .entry-icon-action:focus-visible,.history-day:focus-visible { outline:3px solid #25845c; outline-offset:2px; }
@media(max-width:560px) { #page-hoy .today-activity .today-stat > strong { font-size:21px; } .progress-history .entry-title { font-size:13px; } }

/* Flow V3: one daily module, one active composer. */
#page-hoy .top-grid { grid-template-areas:"capture overview"; grid-template-rows:auto; gap:16px; }
.capture-stack { gap:10px; }
.capture-stack .composer-card { padding:16px; }
.capture-stack .composer-card > label { margin-bottom:4px; font-size:18px; }
.capture-stack .composer-help { margin:0 0 10px; font-size:14px; color:#52685b; }
.capture-stack #entryText { min-height:64px; padding:10px; }
.capture-stack .composer-footer { margin-top:8px; }
.capture-stack .quick-launch { grid-template-columns:repeat(4,minmax(0,1fr)); }
.capture-stack .quick-launch button { min-height:44px; font-size:13px; }
.capture-stack .entry-digest { margin:0; padding:0 12px; border:1px solid #dbe6de; border-radius:12px; background:#fff; }
.recent-records > summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; color:#345943; }
.recent-records > summary::after { content:"⌄"; margin-left:auto; }
.recent-records > summary strong { font-size:13px; }
.recent-records > summary small { font-size:12px; }
.recent-records[open] { padding-bottom:12px; }
.recent-records > a { display:inline-flex; min-height:44px; align-items:center; color:#176f4a; font-size:14px; }
#page-hoy .today-overview-card { padding:16px; background:#fff; border:1px solid #d5e6da; box-shadow:0 8px 24px #174a2e09; }
#page-hoy .today-overview-heading { margin:0 0 14px; }
#page-hoy .today-overview-heading > div { display:flex; width:100%; justify-content:space-between; align-items:center; gap:10px; }
#page-hoy .today-overview-heading h2 { color:#194632; font-size:21px; }
#page-hoy .day-state-inline { margin:0; color:#52725e; font-size:12px; }
.today-core-grid { display:grid; grid-template-columns:1.16fr 1fr 1fr; gap:10px; align-items:stretch; }
#page-hoy .today-core-grid > * { min-width:0; padding:12px 10px; border:1px solid #dfebe3; border-radius:12px; background:#f5f9f6; color:#254d39; }
#page-hoy .today-core-grid .today-energy { background:#edf5f0; color:#254d39; }
#page-hoy .today-core-grid .today-stat-protein { background:#f8f8f2; }
#page-hoy .today-core-grid .today-stat-total-activity { background:#eff7f6; }
#page-hoy .calorie-heading { margin:0; }
#page-hoy .today-core-grid .metric-label,#page-hoy .today-core-grid .today-stat-label { font-size:13px; margin:0 0 8px; color:#436451; display:block; }
#page-hoy .today-core-grid .today-stat-label svg { display:none; }
#page-hoy .calorie-value { margin:0; font-size:25px; line-height:1.3; letter-spacing:-.7px; color:#1b553b; white-space:normal; }
#page-hoy .calorie-value small { display:block; margin:0; font-size:12px; color:#486554; font-weight:400; letter-spacing:0; }
#page-hoy .today-core-grid .today-stat > strong { display:block; font-size:24px; line-height:1.3; letter-spacing:-.5px; color:#22543d; overflow-wrap:anywhere; }
#page-hoy .today-core-grid #activityTotalValue { font-size:21px; }
#page-hoy .today-core-grid .metric-progress { height:4px; margin:8px 0 0; --metric-fill:#4c8561; }
#page-hoy .energy-target-row { display:block; margin:0; }
#page-hoy .today-core-grid .target-link { min-height:44px; font-size:12px; padding:4px 0 0; color:#476451; }
#page-hoy .today-core-grid .edit-pencil { width:12px; height:12px; }
.activity-total-detail { display:block; margin-top:10px; font-size:12px; color:#436859; }
#page-hoy .pending-pill { display:block; margin-top:4px; font-size:12px; }
#page-hoy .today-overview-body { padding:0; }
#page-hoy .today-activity { display:flex; flex-wrap:wrap; gap:8px 16px; padding-top:12px; }
#page-hoy .today-activity .today-stat,#page-hoy .today-activity .today-stat + .today-stat { flex:1 1 100px; min-width:0; padding:0; border:0; border-radius:0; background:none; }
#page-hoy .today-activity .today-stat-label { font-size:13px; }
#page-hoy .today-activity .today-stat > strong { font-size:18px; }
#page-hoy .today-activity .target-link { font-size:12px; min-height:44px; }
#page-hoy .today-activity .metric-progress { display:none; }
#page-hoy .today-activity .quality-badge,#page-hoy .cardio-today-time { font-size:12px; }
#page-hoy .dashboard-grid-report { display:block; margin:14px 0 0; }
#page-hoy .report-card { padding:14px 0 0; border:0; border-top:1px solid #dce7df; border-radius:0; background:none; box-shadow:none; }
#page-hoy .next-action-block { padding:0; background:none; border:0; }
#page-hoy .next-action-block .eyebrow { font-size:12px; }
#page-hoy .report-card h2 { margin-top:6px; font-size:16px; line-height:1.4; }
#page-hoy #todayActionReason,#page-hoy .latest-analysis h3 { display:none; }
#page-hoy .report-card .latest-analysis { padding:0; }
#page-hoy #reportSummary { font-size:14px; line-height:1.45; margin:6px 0 0; color:#476653; }
#page-hoy #reportMeta { margin:8px 0 0; padding:0; font-size:12px; color:#526b5c; }
#page-hoy .compact-calorie-details { margin-top:6px; color:#43614e; }
#page-hoy .compact-calorie-details > summary { min-height:44px; padding:8px 0 0; color:#43614e; font-size:13px; }
#page-hoy .compact-calorie-details p { font-size:14px; line-height:1.5; color:#43614e; }
.capture-stack .quick-title small,.capture-stack .quick-helper,.capture-stack .cardio-save > small,.cardio-preview small { font-size:13px; }
.capture-stack .quick-title strong { font-size:16px; }
.capture-stack .quick-card input,.capture-stack .quick-card select { font-size:16px; }
.capture-stack .cardio-number input { font-size:26px; }
@media(max-width:1000px) { #page-hoy .top-grid { grid-template-columns:1fr; grid-template-areas:"capture" "overview"; } }
@media(max-width:560px) {
  #page-hoy .today-overview-card,.capture-stack .composer-card { padding:14px; }
  #page-hoy .today-core-grid { gap:6px; }
  #page-hoy .today-core-grid > * { padding:10px 7px; }
  #page-hoy .today-core-grid .target-link { font-size:11px; }
  #page-hoy .calorie-value,#page-hoy .today-core-grid .today-stat > strong { font-size:22px; }
  #page-hoy .today-core-grid #activityTotalValue { font-size:19px; }
  #page-hoy .today-core-grid .metric-label,#page-hoy .today-core-grid .today-stat-label { font-size:12px; }
  .capture-stack .composer-help { font-size:13px; }
  .capture-stack .composer-card > label { font-size:17px; }
}
@media(max-width:350px) { #page-hoy .today-core-grid { gap:4px; } #page-hoy .today-core-grid > * { padding:10px 5px; } #page-hoy .today-core-grid .edit-pencil { display:none; } #page-hoy .today-core-grid #activityTotalValue { font-size:17px; } }

#page-hoy .calorie-value small { display:inline; margin-left:3px; }
#page-hoy #dayStateLabel { color:#486454; }
#page-hoy .today-overview-card > .compact-calorie-details { border-top:1px solid #e0eae3; margin-top:10px; }
#page-hoy .today-overview-card > .compact-calorie-details > summary { padding-top:8px; }
#page-hoy .today-overview-body { margin-top:4px; }

/* The dark calorie hero and its goal remain the visual priority. */
#page-hoy .today-overview-card { padding:0; overflow:hidden; }
#page-hoy .today-energy { padding:18px 20px 14px; color:#f5fcf8; background:radial-gradient(ellipse at 110% 0,#315d4e,transparent 65%),#153e30; }
#page-hoy .today-overview-heading { margin-bottom:12px; }
#page-hoy .today-overview-heading h2 { color:#f5fcf8; font-size:22px; }
#page-hoy .today-energy #dayStateLabel { color:#c9e4d4; }
#page-hoy .today-energy .metric-label { color:#d1e6d9; font-size:13px; margin:0 0 4px; }
#page-hoy .calorie-value { color:#fff; font-size:46px; font-weight:650; line-height:1.15; margin:0; }
#page-hoy .calorie-value small { color:#d2e6da; font-size:14px; }
#page-hoy .today-energy .calorie-progress { height:7px; margin:12px 0 0; --metric-fill:#a9d99f; }
#page-hoy .today-energy .energy-target-row { margin:2px 0 0; }
#page-hoy .today-energy .calorie-target { min-height:44px; color:#ecf7ed; font-size:14px; }
#page-hoy .today-core-grid { grid-template-columns:1fr 1fr; margin:14px 16px 0; gap:10px; }
#page-hoy .today-core-grid > * { padding:10px 12px; }
#page-hoy .today-core-grid .today-stat > strong { font-size:24px; }
#page-hoy .today-core-grid #activityTotalValue { font-size:23px; }
#page-hoy .today-core-grid .today-stat-label { font-size:13px; }
#page-hoy .dashboard-grid-report { margin:12px 16px 0; }
#page-hoy .today-overview-body { margin:0 16px; }
#page-hoy .today-overview-card > .compact-calorie-details { margin:8px 16px 12px; }
@media(max-width:560px) { #page-hoy .today-energy { padding:16px; } #page-hoy .calorie-value { font-size:44px; } #page-hoy .today-core-grid { margin-inline:14px; } #page-hoy .dashboard-grid-report { margin-inline:14px; } }

.today-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); background:radial-gradient(ellipse at 110% 0,#315d4e,transparent 65%),#153e30; }
#page-hoy .today-hero .today-energy { background:none; padding:18px 12px 14px 18px; }
#page-hoy .today-hero .today-core-grid { grid-template-columns:1fr; margin:0; padding:14px 14px 14px 0; gap:8px; }
#page-hoy .today-hero .today-core-grid > * { padding:8px 10px; min-height:0; background:#ffffff0a; border-color:#ffffff18; }
#page-hoy .today-hero .today-core-grid .today-stat-label { margin:0 0 3px; color:#cce3d6; font-size:13px; }
#page-hoy .today-hero .today-core-grid .today-stat > strong { color:#f2fbf5; font-size:23px; }
#page-hoy .today-hero .today-core-grid .target-link,#page-hoy .today-hero .activity-total-detail { color:#cce3d6; }
#page-hoy .today-hero .activity-total-detail { margin-top:4px; }
#page-hoy .today-hero .today-overview-heading > div { display:block; }
#page-hoy .today-hero .day-state-inline { margin-top:5px; }
#page-hoy .today-hero .today-core-grid .metric-progress { margin-top:5px; --metric-fill:#a9d99f; }
@media(max-width:350px) { #page-hoy .today-hero .calorie-value { font-size:39px; } #page-hoy .today-hero .today-core-grid { padding-right:10px; } #page-hoy .today-hero .today-core-grid #activityTotalValue { font-size:20px; } #page-hoy .today-hero .today-energy { padding-left:14px; } }

.history-days { gap:0; }
.history-day,.history-day:first-child,.history-day:last-child { border:0; border-bottom:1px solid #e1eae4; border-radius:0; background:none; padding:12px 0; grid-template-columns:42px minmax(0,1fr) 14px; }
.history-day:last-child { border-bottom:0; }
.history-day-mark { width:40px; height:46px; gap:0; padding:4px; border-radius:10px; background:#edf4ef; }
.history-day-mark strong { font-size:18px; line-height:1.2; }
.history-day-mark small { font-size:11px; line-height:1.2; text-transform:uppercase; }
.history-day-date,.progress-history .entry-title { font-size:14px; }
.history-day-summary,.progress-history .entry-time { font-size:13px; }
.account-data > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-size:14px; color:#385d47; }
#accountHub .account-profile { margin-bottom:4px; }
#accountHub .account-progress { font-size:13px; }

.app-shell input::placeholder,.app-shell textarea::placeholder,.training-search input::placeholder { color:#607468; opacity:1; }

.capture-stack .entry-digest { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:start; padding-right:4px; }
.entry-digest > a { min-width:44px; min-height:44px; display:grid; place-items:center; color:#216a45; font-size:20px; text-decoration:none; }

/* Named shortcuts remain touch-sized. */
.dictation-button { width:55px; height:60px; gap:2px; align-content:center; font:inherit; font-size:12px; }
.dictation-button span { line-height:1.2; }
.entry-revisions { margin-top:14px; border-top:1px solid #dfe8e2; }
.entry-revisions > summary { min-height:44px; display:flex; align-items:center; gap:7px; font-size:14px; color:#526d5a; cursor:pointer; }
.entry-revisions > summary::before { content:'▸'; }
.entry-revisions[open] > summary::before { content:'▾'; }

/* Receipts stay where the user pressed Save; the next record is intentional. */
.save-receipt{margin:8px 0 0;padding:8px 12px;background:#e8f6ed;border:1px solid #96caaa;border-radius:12px;color:#184f32;font-size:14px;line-height:1.45}.save-receipt strong{font-weight:750}.quick-card[data-saved=true] button[type=submit]{background:#287147!important;color:#fff!important;opacity:1!important}.entry-examples{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:4px 0}.entry-examples>span{font-size:12px;color:#657b6c}.entry-examples button{border:1px solid #cee0d4;border-radius:9px;min-height:44px;padding:6px 10px;background:#f5faf6;color:#255d40;font:inherit;font-size:13px}.entry-examples button:disabled{opacity:.45}.quick-message:empty{display:none}.workout-card[data-saved=true]{border-color:#96caaa;background:#eff9f1}.workout-card[data-saved=true] .workout-help{color:#185131;font-weight:650}

.training-review-session{display:block;min-height:44px;margin-top:8px;padding:8px 14px;border:1px solid #abcbb8;border-radius:10px;background:#eef8f1;color:#185131;font:inherit;font-weight:600}.trend-card,.entries-section,#myWorkout{scroll-margin-top:125px}@media(min-width:900px){.trend-card,.entries-section,#myWorkout{scroll-margin-top:90px}}

/* Compact registration: optional help shares one row, inputs retain readable sizing. */
.composer-tools { display:flex; flex-wrap:wrap; gap:0 12px; margin-top:4px; }
.composer-tools > details { flex:1 1 auto; min-width:0; margin:0; }
.composer-tools > details[open] { flex-basis:100%; }
.composer-tools > details > summary { display:flex; align-items:center; gap:6px; min-height:44px; padding:4px 0; cursor:pointer; list-style:none; color:#34664a; font-size:14px; }
.composer-tools > details > summary::before { content:'+'; }
.composer-tools > details[open] > summary::before { content:'−'; }
.composer-tools > details > summary::-webkit-details-marker { display:none; }
.composer-tools .entry-examples { margin:0 0 8px; flex-wrap:wrap; }
.capture-stack .entry-new-only { margin:4px 0 0; font-size:12px; line-height:1.4; }
.ai-quota-details { min-width:0; color:#526b5b; font-size:13px; }
.ai-quota-details > .ai-quota { font-size:13px; }
.ai-quota-details > summary { display:flex; align-items:center; min-height:44px; cursor:pointer; gap:6px; list-style:none; padding:0 4px; }
.ai-quota-details > summary::after { content:'ⓘ'; }
.ai-quota-details > summary::-webkit-details-marker { display:none; }
.ai-quota-details p { margin:0 0 8px; max-width:35ch; line-height:1.5; font-size:13px; }
.composer-footer:has(.ai-quota-details[open]) { align-items:flex-end; flex-wrap:wrap; }
.composer-footer:has(.ai-quota-details[open]) .ai-quota-details { flex-basis:100%; }
#page-hoy .report-card.is-empty .next-action-block .eyebrow { display:none; }
#page-hoy .report-card.is-empty h2 { margin:0; color:#476653; font-size:14px; font-weight:500; }

/* Saved totals stay accessible while a short visual layer counts to the confirmed result. */
.metric-number-shell { position:relative; display:inline-block; font:inherit; letter-spacing:inherit; font-variant-numeric:tabular-nums; white-space:nowrap; }
.metric-number-visual { display:none; position:absolute; inset:0; white-space:nowrap; font:inherit; letter-spacing:inherit; pointer-events:none; }
.metric-number-animating > .metric-number-final { opacity:0; }
.metric-number-animating > .metric-number-visual { display:block; }
.today-overview-card .today-hero { position:relative; overflow:hidden; }
.today-overview-card.metrics-calculating .today-hero::after { content:''; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,transparent,#d4efb8,transparent); transform:translateX(-100%); animation:metric-calculating 1.8s ease-in-out infinite; pointer-events:none; }
.today-overview-card.metrics-updated .today-energy { animation:metric-result .76s ease-out; }
@keyframes metric-calculating { to { transform:translateX(100%); } }
@keyframes metric-result { 30% { box-shadow:inset 0 0 22px #c8edaa18; } }
@media(prefers-reduced-motion:reduce) { .today-overview-card.metrics-calculating .today-hero::after,.today-overview-card.metrics-updated .today-energy { animation:none; }.metric-number-animating > .metric-number-final { opacity:1; }.metric-number-animating > .metric-number-visual { display:none; } }

.quick-receipt-host:empty { display:none; }
.composer-tools > details > summary::before,.composer-tools > details[open] > summary::before { content:none; }
.composer-tools > details > summary svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.composer-tools > details > summary small { color:#627569; font-size:12px; margin-left:2px; }
.quick-card input { color:#173e2a; font-weight:550; }
.quick-card input::placeholder { color:#687b6e; opacity:1; font-size:16px; font-weight:400; font-style:italic; letter-spacing:0; }
.metric-value-arrived { animation:metric-arrival .76s ease-out; }
@keyframes metric-arrival { 35% { filter:brightness(1.2); transform:translateY(-2px); } }
@media(prefers-reduced-motion:reduce) { .metric-value-arrived { animation:none; } }
@media(max-width:350px) { #page-hoy .today-hero #calorieValue { font-size:34px; } }
.save-receipt{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px}
.save-receipt>strong,.save-receipt>span{grid-column:1}
.save-receipt-undo{grid-column:2;grid-row:1 / 3;align-self:center;min-height:44px;padding:4px 8px;border:0;background:transparent;color:inherit;font:inherit;font-weight:650;text-decoration:underline;cursor:pointer}
.save-receipt-undo:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.save-receipt .save-receipt-status{grid-column:1 / -1}
.save-receipt-status:empty{display:none}
.save-receipt-status[data-tone=error]{color:#912c26}
