/* Health Tracker v0.7.37 compatibility and responsive refinements. */
/* ===== polish-v0_7_5.css ===== */
/* v0.7.4：细节排版优化、窄屏密度优化、缺口达标逻辑对应的视觉调整。 */

/* 1) 文字对齐：说明性内容默认左对齐，只保留数字型指标居中。 */
.overview-emoji-copy,
.overview-tip-card,
.overview-tip-card .overview-tip,
.overview-visual-grid .ring-card > div:last-child,
.quick-actions.low-priority .quick-card,
.converter-copy,
.converter-note,
body[data-page="body"] .sync-status-item,
body[data-page="body"] .sync-status-item span,
body[data-page="body"] .sync-status-item strong,
body[data-page="body"] .sync-status-item em,
.weekly-text,
.ai-weekly-content {
  text-align: left !important;
}

.overview-status-row,
.quick-actions.low-priority .quick-card {
  justify-content: flex-start !important;
}

.quick-actions.low-priority .quick-card {
  align-items: flex-start !important;
  min-height: 96px;
}

.quick-actions.low-priority .quick-card em {
  max-width: 18em;
  margin-inline: 0;
}

.overview-visual-grid .ring-card {
  justify-items: stretch;
}

/* 数字型卡片继续居中，避免“平均摄入/平均缺口”这类短数据显得飘。 */
.metric.card,
.weekly-grid > div:not(.weekly-text) {
  text-align: center;
}

/* 2) 首页首段限制阅读宽度：宽屏不再把“今日概览”拉得过长。 */
body[data-page="dashboard"] .hero-dashboard.daily-overview-card {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

body[data-page="dashboard"] .daily-overview-shell {
  max-width: 100%;
}

body[data-page="dashboard"] .overview-title-wrap h2 {
  max-width: 16em;
}

body[data-page="dashboard"] .overview-main-grid {
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
}

body[data-page="dashboard"] .overview-emoji-copy em,
body[data-page="dashboard"] .overview-tip-card .overview-tip {
  max-width: 34em;
}

/* 3) 常用换算默认收起，但按钮在电脑和手机都显示。 */
.converter-card .converter-collapse-toggle {
  display: inline-flex !important;
}

.converter-card.mobile-collapsed {
  padding-bottom: 16px;
}

.converter-card .section-title {
  align-items: center !important;
}

/* 4) 窄屏密度：短指标尽量多列展示，不让一行只有一个很短内容。 */
@media (max-width: 920px) {
  .summary-grid,
  .dashboard-summary-grid,
  .weekly-grid,
  body[data-page="body"] .sync-status-grid {
    grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)) !important;
  }

  .metric.card,
  .weekly-grid > div:not(.weekly-text),
  body[data-page="body"] .sync-status-item {
    min-height: 96px !important;
    padding: 13px !important;
  }

  .metric.card strong {
    font-size: clamp(22px, 6vw, 30px) !important;
  }
}

@media (max-width: 720px) {
  /* 顶部操作按钮不再强行均分整行，减少“回到今天 / 夜间模式”之间的大空白。 */
  body[data-page="dashboard"] .header-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 7px !important;
  }

  body[data-page="dashboard"] .header-actions #todayBtn,
  body[data-page="dashboard"] .header-actions .theme-toggle {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 88px !important;
    max-width: max-content !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  body[data-page="dashboard"] .header-actions .readonly-pill {
    flex: 1 1 100% !important;
  }

  body[data-page="dashboard"] .hero-dashboard.daily-overview-card {
    max-width: none;
  }

  body[data-page="dashboard"] .overview-topbar {
    align-items: stretch !important;
  }

  body[data-page="dashboard"] .overview-main-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .overview-summary-panel {
    grid-template-rows: auto auto auto !important;
  }

  body[data-page="dashboard"] .overview-title-wrap h2 {
    max-width: 100%;
  }

  body[data-page="dashboard"] .overview-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="dashboard"] .overview-visual-grid .ring-card {
    grid-template-columns: 54px minmax(0, 1fr) !important;
    min-height: 92px !important;
    align-items: center !important;
  }

  body[data-page="dashboard"] .overview-visual-grid .ring-card > div:last-child {
    min-width: 0;
  }

  body[data-page="dashboard"] .overview-visual-grid .ring-card strong {
    font-size: 16px !important;
    white-space: nowrap;
  }

  body[data-page="dashboard"] .overview-status-row {
    justify-content: flex-start !important;
  }

  body[data-page="dashboard"] .overview-status-panel .chip {
    flex: 0 1 auto;
    width: auto !important;
    max-width: 100%;
  }

  .quick-actions.low-priority .quick-card {
    min-height: 64px !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .summary-grid,
  .dashboard-summary-grid,
  .weekly-grid,
  body[data-page="body"] .sync-status-grid {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
    gap: 8px !important;
  }

  .metric.card,
  .weekly-grid > div:not(.weekly-text),
  body[data-page="body"] .sync-status-item {
    min-height: 82px !important;
    padding: 10px !important;
  }

  .metric.card span,
  .weekly-grid span,
  body[data-page="body"] .sync-status-item span {
    font-size: 11.5px !important;
  }

  .metric.card strong,
  .weekly-grid strong {
    font-size: 21px !important;
    margin-top: 5px !important;
  }

  .metric.card em,
  .weekly-grid em {
    font-size: 11px !important;
  }

  .converter-grid {
    gap: 10px !important;
  }

  .converter-box {
    padding: 12px !important;
  }

  .converter-copy h3 {
    font-size: 15px !important;
  }

  .converter-copy p {
    font-size: 12px !important;
  }
}

@media (max-width: 380px) {
  body[data-page="dashboard"] .header-actions {
    display: flex !important;
  }

  body[data-page="dashboard"] .header-actions #todayBtn,
  body[data-page="dashboard"] .header-actions .theme-toggle {
    min-width: 84px !important;
  }

  body[data-page="dashboard"] .overview-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="dashboard"] .overview-visual-grid .ring-card {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .summary-grid,
  .dashboard-summary-grid,
  .weekly-grid,
  body[data-page="body"] .sync-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* v0.7.4：修复中等宽度顶部卡片被 flex-basis 撑高、首页概览宽度内凹。 */
body[data-page="dashboard"] .hero-dashboard.daily-overview-card {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 电脑窄一点/浏览器缩放时，顶部从横排变为紧凑上下排，避免标题区出现大面积空白。 */
@media (max-width: 1240px) and (min-width: 721px) {
  .app-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 14px !important;
    padding: 18px 20px !important;
  }

  .header-copy {
    flex: 0 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .header-copy h1 {
    margin-bottom: 8px !important;
  }

  .header-copy .sub {
    max-width: 680px !important;
  }

  .header-right {
    flex: 0 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .header-right .nav-tabs {
    flex: 0 1 auto !important;
    max-width: calc(100% - 260px) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  .header-right .nav-tabs::-webkit-scrollbar {
    display: none !important;
  }

  .header-actions {
    flex: 0 0 auto !important;
    width: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .header-actions > * {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: none !important;
  }
}

@media (max-width: 980px) and (min-width: 721px) {
  .header-right {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .header-right .nav-tabs {
    max-width: 100% !important;
    width: 100% !important;
  }

  .header-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* v0.7.5：手机端顶部动作、记录页模板行、最近记录卡片完整显示修复。 */
@media (max-width: 720px) {
  /* 顶部右侧动作统一保持一行靠右：仪表盘是“回到今天 / 夜间模式”，其他页是“返回仪表盘 / 夜间模式”。 */
  .app-header .header-actions,
  body[data-page="dashboard"] .header-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    align-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .app-header .header-actions > a.ghost,
  .app-header .header-actions > button.ghost,
  body[data-page="dashboard"] .header-actions #todayBtn,
  body[data-page="dashboard"] .header-actions .theme-toggle {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 86px !important;
    max-width: none !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 6px 11px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    justify-content: center !important;
  }

  .app-header .header-actions .theme-toggle {
    min-width: 92px !important;
  }

  .app-header .header-actions .header-readonly,
  body[data-page="dashboard"] .header-actions .readonly-pill {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    order: 2 !important;
    justify-content: flex-end !important;
  }

  /* 最近饮食/运动记录在手机端是真正的卡片宽度，不再继承桌面表格的 540px 最小宽度。 */
  .dashboard-record-card .compact-table.record-card-table,
  .records-recent-card .compact-table.record-card-table,
  .dashboard-record-scroll .compact-table.record-card-table,
  .records-recent-scroll .compact-table.record-card-table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  .dashboard-record-card .compact-table.record-card-table tbody,
  .records-recent-card .compact-table.record-card-table tbody,
  .dashboard-record-scroll .compact-table.record-card-table tbody,
  .records-recent-scroll .compact-table.record-card-table tbody {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
  }

  .dashboard-record-card .record-card-table tr,
  .records-recent-card .record-card-table tr,
  .dashboard-record-scroll .record-card-table tr,
  .records-recent-scroll .record-card-table tr {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .dashboard-record-card .record-card-table td,
  .records-recent-card .record-card-table td,
  .dashboard-record-scroll .record-card-table td,
  .records-recent-scroll .record-card-table td {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }

  .dashboard-record-card .table-wrap,
  .records-recent-card .table-wrap,
  .dashboard-record-scroll,
  .records-recent-scroll {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }

  .dashboard-record-card .record-card-table td.actions-cell,
  .records-recent-card .record-card-table td.actions-cell {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 380px) {
  .app-header .header-actions,
  body[data-page="dashboard"] .header-actions {
    grid-template-columns: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  .app-header .header-actions > a.ghost,
  .app-header .header-actions > button.ghost,
  body[data-page="dashboard"] .header-actions #todayBtn,
  body[data-page="dashboard"] .header-actions .theme-toggle {
    min-width: 78px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: 11.5px !important;
  }
}

/* 记录页“保存为常用模板 / 模板名称”同一行时，让两个可见输入框底部对齐。 */
body[data-page="records"] #foodForm .check-field,
body[data-page="records"] #exerciseForm .check-field {
  align-self: end !important;
}

/* ===== polish-v0_7_6.css ===== */
/* v0.7.6：只针对手机端的密度优化。电脑端保持 v0.7.5 布局。 */

@media (max-width: 720px) {
  /* 1) 首页 / 新增记录页：最近饮食、最近运动记录更紧凑，操作按钮固定同一行。 */
  .dashboard-record-card,
  .records-recent-card {
    padding: 11px !important;
  }

  .dashboard-record-card .section-title,
  .records-recent-card .section-title {
    margin-bottom: 7px !important;
  }

  .dashboard-record-card .section-title h2,
  .records-recent-card .section-title h2 {
    font-size: 16px !important;
  }

  .dashboard-record-card .section-title p {
    margin-top: 2px !important;
    line-height: 1.3 !important;
  }

  .dashboard-record-card .record-card-table tbody,
  .records-recent-card .record-card-table tbody,
  .dashboard-record-scroll .record-card-table tbody,
  .records-recent-scroll .record-card-table tbody {
    gap: 7px !important;
  }

  .dashboard-record-card .record-card-table tr,
  .records-recent-card .record-card-table tr,
  .dashboard-record-scroll .record-card-table tr,
  .records-recent-scroll .record-card-table tr {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 5px 7px !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
  }

  .dashboard-record-card .record-card-table td,
  .records-recent-card .record-card-table td,
  .dashboard-record-scroll .record-card-table td,
  .records-recent-scroll .record-card-table td {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }

  .dashboard-record-card .record-card-table td[data-label="日期"],
  .records-recent-card .record-card-table td[data-label="日期"],
  .dashboard-record-scroll .record-card-table td[data-label="日期"],
  .records-recent-scroll .record-card-table td[data-label="日期"] {
    grid-column: span 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.1 !important;
    align-self: center !important;
  }

  .dashboard-record-card .record-card-table td[data-label="餐次"],
  .records-recent-card .record-card-table td[data-label="餐次"],
  .dashboard-record-scroll .record-card-table td[data-label="餐次"],
  .records-recent-scroll .record-card-table td[data-label="餐次"] {
    grid-column: span 3 !important;
  }

  .dashboard-record-card .record-card-table td[data-label="食物"],
  .records-recent-card .record-card-table td[data-label="食物"],
  .dashboard-record-scroll .record-card-table td[data-label="食物"],
  .records-recent-scroll .record-card-table td[data-label="食物"],
  .dashboard-record-card .record-card-table td[data-label="类型"],
  .records-recent-card .record-card-table td[data-label="类型"],
  .dashboard-record-scroll .record-card-table td[data-label="类型"],
  .records-recent-scroll .record-card-table td[data-label="类型"] {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  .dashboard-record-card .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell),
  .records-recent-card .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell),
  .dashboard-record-scroll .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell),
  .records-recent-scroll .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell) {
    grid-column: span 2 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5px !important;
    min-height: 27px !important;
    padding: 5px 7px !important;
    border-radius: 10px !important;
  }

  .dashboard-record-card .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell)::before,
  .records-recent-card .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell)::before,
  .dashboard-record-scroll .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell)::before,
  .records-recent-scroll .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not(.actions-cell)::before {
    display: inline !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
  }

  .dashboard-record-card .record-card-table td.actions-cell,
  .records-recent-card .record-card-table td.actions-cell,
  .dashboard-record-scroll .record-card-table td.actions-cell,
  .records-recent-scroll .record-card-table td.actions-cell {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    align-items: center !important;
    justify-content: stretch !important;
    padding: 2px 0 0 !important;
  }

  .dashboard-record-card .record-card-table td.actions-cell::before,
  .records-recent-card .record-card-table td.actions-cell::before,
  .dashboard-record-scroll .record-card-table td.actions-cell::before,
  .records-recent-scroll .record-card-table td.actions-cell::before {
    display: none !important;
  }

  .dashboard-record-card .record-card-table td.actions-cell .small-btn,
  .records-recent-card .record-card-table td.actions-cell .small-btn,
  .dashboard-record-scroll .record-card-table td.actions-cell .small-btn,
  .records-recent-scroll .record-card-table td.actions-cell .small-btn,
  .dashboard-record-card .record-card-table td.actions-cell .danger,
  .records-recent-card .record-card-table td.actions-cell .danger,
  .dashboard-record-scroll .record-card-table td.actions-cell .danger,
  .records-recent-scroll .record-card-table td.actions-cell .danger {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 29px !important;
    height: 29px !important;
    padding: 4px 6px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* 空状态不要被压成奇怪网格。 */
  .record-card-table tr.empty-row,
  .record-card-table tr.empty-row td.empty {
    display: block !important;
    grid-column: 1 / -1 !important;
    text-align: center !important;
  }

  /* 2) 趋势分析页：日期筛选区从 4 行压成 2 行。 */
  body[data-page="analysis"] .toolbar.card {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    align-items: end !important;
    padding: 12px !important;
  }

  body[data-page="analysis"] .toolbar .field,
  body[data-page="analysis"] .toolbar button,
  body[data-page="analysis"] .toolbar input,
  body[data-page="analysis"] .toolbar select {
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="analysis"] .toolbar .field {
    gap: 5px !important;
  }

  body[data-page="analysis"] .toolbar label {
    font-size: 12px !important;
    line-height: 1.1 !important;
  }

  body[data-page="analysis"] .toolbar input,
  body[data-page="analysis"] .toolbar select,
  body[data-page="analysis"] .toolbar button {
    min-height: 38px !important;
    height: 38px !important;
    padding: 7px 10px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }

  body[data-page="analysis"] .toolbar #rangeQuick {
    font-size: 13px !important;
  }

  body[data-page="analysis"] .toolbar #refreshBtn {
    align-self: end !important;
  }

  /* 3) AI 建议按钮从上下两行大按钮改成同一行紧凑按钮。 */
  .ai-weekly-box {
    padding: 12px !important;
    border-radius: 17px !important;
  }

  .ai-weekly-head {
    gap: 9px !important;
    margin-bottom: 9px !important;
  }

  .ai-weekly-head h3 {
    margin: 6px 0 2px !important;
    font-size: 17px !important;
  }

  .ai-weekly-head p {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .ai-weekly-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: stretch !important;
  }

  .ai-weekly-actions button,
  .ai-weekly-actions .readonly-pill {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 7px 10px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    justify-content: center !important;
  }

  .ai-weekly-actions button[hidden] {
    display: none !important;
  }

  .ai-weekly-actions:has(button[hidden]) {
    grid-template-columns: 1fr !important;
  }

  .ai-weekly-content {
    padding: 11px 12px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 380px) {
  body[data-page="analysis"] .toolbar.card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="analysis"] .toolbar input,
  body[data-page="analysis"] .toolbar select,
  body[data-page="analysis"] .toolbar button {
    font-size: 12.5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .ai-weekly-actions button,
  .ai-weekly-actions .readonly-pill {
    font-size: 12.5px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===== polish-v0_7_7.css ===== */
/* v0.7.7 功能增强样式：复用现有卡片视觉，不改变整体 UI 风格。 */
#todayActionAdvice {
  white-space: pre-line;
}

.dashboard-integrity-card {
  margin-top: 14px;
}

.compact-weekly-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sync-action-row {
  margin-top: 12px;
  justify-content: flex-start;
}

#fitnessSyncPayload {
  word-break: break-word;
}

@media (max-width: 900px) {
  .compact-weekly-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .dashboard-integrity-card {
    margin-top: 10px;
  }
  .compact-weekly-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .compact-weekly-grid .weekly-text {
    grid-column: 1 / -1;
  }
  .sync-action-row button {
    width: 100%;
    min-height: 44px;
  }
}

/* ===== polish-v0_7_8.css ===== */
/* v0.7.8：仅修正卡片排版和对齐，不改变原有 UI 视觉风格。 */

/* 首页：记录完整性短指标垂直/水平居中。 */
body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 104px !important;
  gap: 4px !important;
}
body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) span,
body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) strong,
body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) em {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  line-height: 1.25 !important;
}
body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) strong {
  margin-top: 3px !important;
  margin-bottom: 1px !important;
}

/* 趋势分析：每周总结第一行放 3 个短指标，第二行放 规则建议/数据完整性/体重解释。 */
body[data-page="analysis"] .weekly-panel .weekly-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 14px !important;
}
body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 110px !important;
  gap: 4px !important;
}
body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) span,
body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) strong,
body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) em {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  line-height: 1.25 !important;
}
body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text {
  grid-column: auto !important;
  min-height: 126px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text strong {
  line-height: 1.45 !important;
}

/* 身体页：每日数据表单单独占一整行，两个同步状态卡片在下一行并排。 */
body[data-page="body"] .body-data-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
body[data-page="body"] #bodyFormCard {
  grid-column: 1 / -1 !important;
}
body[data-page="body"] #appleHealthSyncStatus,
body[data-page="body"] #fitnessSyncStatus {
  grid-column: auto !important;
}
body[data-page="body"] #bodyFormCard .section-title {
  min-height: 0 !important;
}

/* 中等屏：同步卡仍尽量并排，手机端再纵向堆叠。 */
@media (max-width: 1080px) and (min-width: 821px) {
  body[data-page="body"] .body-data-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body[data-page="body"] .body-data-grid {
    grid-template-columns: 1fr !important;
  }
  body[data-page="body"] #appleHealthSyncStatus,
  body[data-page="body"] #fitnessSyncStatus {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text),
  body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) {
    min-height: 86px !important;
  }
  body[data-page="analysis"] .weekly-panel .weekly-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
  }
}

@media (max-width: 420px) {
  body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) strong {
    font-size: 19px !important;
  }
  body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) span,
  body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) em {
    font-size: 10.5px !important;
  }
}

/* ===== polish-v0_7_9.css ===== */
/* v0.7.9：微调身体页顺序和手机端记录完整性布局，不改变整体视觉风格。 */

/* 身体页：最近每日数据放到两个同步状态之前，并保持整行展示。 */
body[data-page="body"] .body-data-grid > .body-recent-data-card {
  grid-column: 1 / -1 !important;
}

/* 手机端：记录完整性前三个短指标保持同一行，补录建议单独换行。 */
@media (max-width: 720px) {
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid .weekly-text {
    grid-column: 1 / -1 !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) {
    min-height: 82px !important;
    padding: 10px 6px !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) strong {
    font-size: 18px !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) span,
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) em {
    font-size: 10.5px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid {
    gap: 6px !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) strong {
    font-size: 16px !important;
  }
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) span,
  body[data-page="dashboard"] .dashboard-integrity-card .compact-weekly-grid > div:not(.weekly-text) em {
    font-size: 10px !important;
  }
}

/* ===== polish-v0_7_10.css ===== */
/* v0.7.10：记录页字段增强的轻量补丁，不改变整体 UI。 */
body[data-page="records"] #foodForm .food-confidence-field label,
body[data-page="records"] #exerciseForm [name="avg_heart_rate"] + small {
  white-space: nowrap;
}

/* ===== polish-v0_7_12.css ===== */
/* v0.7.12：活动能量系数设置、今日概览右对齐、总结卡片横排、模板区重排。 */

/* 今日概览：标题和切换日期分开，避免标题被挤到换行。 */
body[data-page="dashboard"] .overview-topbar {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px 24px !important;
}

body[data-page="dashboard"] .overview-title-wrap {
  flex: 1 1 auto !important;
  min-width: 250px !important;
}

body[data-page="dashboard"] .overview-title-wrap h2 {
  white-space: nowrap !important;
  line-height: 1.12 !important;
}

body[data-page="dashboard"] .overview-date-fold {
  flex: 0 1 620px !important;
  margin-left: auto !important;
  max-width: min(620px, 100%) !important;
}

body[data-page="dashboard"] .overview-date-fold > summary {
  text-align: right !important;
}

body[data-page="dashboard"] .overview-date-control {
  justify-content: flex-end !important;
}

body[data-page="dashboard"] .overview-fold-formula {
  display: grid !important;
  gap: 3px !important;
  line-height: 1.55 !important;
  text-align: left !important;
  word-break: normal !important;
}

body[data-page="dashboard"] .overview-fold-formula span {
  display: block !important;
}

body[data-page="dashboard"] .overview-aligned-topbar {
  display: grid !important;
  grid-template-columns: minmax(360px, 0.92fr) minmax(420px, 1.08fr) !important;
  align-items: start !important;
  gap: 14px !important;
}

body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  justify-self: stretch !important;
}

body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold > summary {
  text-align: right !important;
}

body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control {
  justify-content: flex-end !important;
}

body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
  margin-left: auto !important;
}

.inline-help-tip {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  margin-left: 6px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  cursor: help !important;
  position: relative !important;
}

.inline-help-tip:hover::after,
.inline-help-tip:focus-visible::after {
  content: attr(data-tip) !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(100% + 8px) !important;
  transform: translateX(-50%) !important;
  width: min(280px, 72vw) !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: #0f172a !important;
  background: #fff !important;
  border: 1px solid rgba(148, 163, 184, 0.4) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12) !important;
  z-index: 30 !important;
  white-space: normal !important;
}

body[data-page="records"] .food-template-list,
body[data-page="records"] .exercise-template-list {
  align-items: stretch !important;
}

body[data-page="records"] .food-template-list {
  grid-auto-rows: 1fr !important;
}

body[data-page="records"] .template-item {
  height: 100% !important;
}

body[data-page="records"] .template-main {
  display: flex !important;
  flex-direction: column !important;
}

body[data-page="records"] .template-stats {
  margin-top: auto !important;
  padding-top: 6px !important;
}

body[data-page="records"] .confidence-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

body[data-page="records"] .confidence-A {
  color: #166534 !important;
  background: rgba(34, 197, 94, 0.12) !important;
  border: 1px solid rgba(34, 197, 94, 0.24) !important;
}

body[data-page="records"] .confidence-B {
  color: #92400e !important;
  background: rgba(245, 158, 11, 0.13) !important;
  border: 1px solid rgba(245, 158, 11, 0.24) !important;
}

body[data-page="records"] .confidence-C {
  color: #b91c1c !important;
  background: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.24) !important;
}

/* 趋势页：每周总结改成 4 + 4 横向卡片，填满空位。 */
body[data-page="analysis"] .weekly-panel .weekly-grid {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

body[data-page="analysis"] .weekly-panel .weekly-grid > div {
  min-height: 132px !important;
}

body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text {
  grid-column: auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 148px !important;
}

body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text strong {
  font-size: clamp(16px, 1.35vw, 18px) !important;
  line-height: 1.45 !important;
}

body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text em {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

@media (min-width: 720px) and (max-width: 1119px) {
  body[data-page="analysis"] .weekly-panel .weekly-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 身体与目标：活动系数说明更像一个算法设置，不和目标生效日混淆。 */
body[data-page="body"] .active-factor-field {
  border: 1px solid rgba(34, 197, 94, 0.28) !important;
  background: linear-gradient(180deg, rgba(240, 253, 244, 0.9), rgba(255, 255, 255, 0.96)) !important;
  border-radius: 18px !important;
  padding: 12px !important;
}

body.theme-dark[data-page="body"] .active-factor-field {
  background: rgba(34, 197, 94, 0.08) !important;
  border-color: rgba(74, 222, 128, 0.24) !important;
}

body[data-page="body"] .active-factor-field .field-help,
body[data-page="body"] .active-factor-field small {
  display: block !important;
  margin-top: 7px !important;
  line-height: 1.55 !important;
}

/* 新增记录：常用食物与常用运动分成上下两行；运动默认收起。 */
body[data-page="records"] .records-template-rows {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body[data-page="records"] .records-template-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body[data-page="records"] .records-template-card .section-title {
  gap: 12px !important;
}

body[data-page="records"] .food-template-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important;
  gap: 10px !important;
  max-height: 348px !important;
  overflow: auto !important;
  padding-right: 2px !important;
}

body[data-page="records"] .exercise-template-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 10px !important;
  max-height: 230px !important;
  overflow: auto !important;
  padding-right: 2px !important;
}

body[data-page="records"] .exercise-template-card.mobile-collapsed {
  padding-bottom: 12px !important;
}

body[data-page="records"] .exercise-template-card.mobile-collapsed .collapsible-body {
  display: none !important;
}

body[data-page="records"] .template-item {
  align-items: stretch !important;
  gap: 12px !important;
}

body[data-page="records"] .template-item-compact {
  grid-template-columns: minmax(0, 1fr) 86px !important;
}

body[data-page="records"] .template-main {
  min-width: 0 !important;
}

body[data-page="records"] .template-main strong {
  font-size: 15px !important;
  line-height: 1.35 !important;
}

body[data-page="records"] .template-subline,
body[data-page="records"] .template-stats {
  display: block !important;
  color: var(--muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  margin-top: 4px !important;
}

body[data-page="records"] .template-actions {
  justify-content: flex-end !important;
}

body[data-page="records"] .template-actions-vertical {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

body[data-page="records"] .template-actions-vertical > button,
body[data-page="records"] .template-actions-vertical > span {
  width: 100% !important;
  justify-content: center !important;
}

@media (min-width: 1180px) {
  body[data-page="records"] .food-template-list {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  }
}

@media (max-width: 1240px) {
  body[data-page="dashboard"] .overview-aligned-topbar {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 960px) {
  body[data-page="dashboard"] .overview-title-wrap h2 {
    white-space: normal !important;
    font-size: clamp(28px, 6vw, 42px) !important;
  }

  body[data-page="dashboard"] .overview-date-fold {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body[data-page="dashboard"] .overview-date-fold > summary {
    text-align: left !important;
  }

  body[data-page="dashboard"] .overview-date-control {
    justify-content: flex-start !important;
  }
}

@media (max-width: 720px) {
  body[data-page="dashboard"] .overview-aligned-topbar {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body[data-page="dashboard"] .overview-date-fold {
    order: 2 !important;
  }

  body[data-page="dashboard"] .overview-date-fold > summary {
    display: none !important;
  }

  body[data-page="dashboard"] .overview-date-control {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    align-items: end !important;
  }

  body[data-page="dashboard"] .overview-date-field {
    grid-column: 1 / -1 !important;
  }

  body[data-page="dashboard"] #overviewDateBtn {
    grid-column: 1 / -1 !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    justify-content: stretch !important;
    text-align: left !important;
  }

  body[data-page="analysis"] .weekly-panel .weekly-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text {
    grid-column: auto !important;
    min-height: 132px !important;
  }

  body[data-page="records"] .food-template-list,
  body[data-page="records"] .exercise-template-list {
    grid-template-columns: 1fr !important;
    max-height: 276px !important;
  }

  body[data-page="records"] .food-template-list {
    grid-auto-rows: auto !important;
  }

  body[data-page="records"] .template-item {
    grid-template-columns: 1fr !important;
  }

  body[data-page="records"] .template-actions,
  body[data-page="records"] .template-actions-vertical {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  body[data-page="records"] .template-actions-vertical > button,
  body[data-page="records"] .template-actions-vertical > span {
    width: auto !important;
  }
}

@media (max-width: 430px) {
  body[data-page="analysis"] .weekly-panel .weekly-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="analysis"] .weekly-panel .weekly-grid .weekly-text {
    min-height: 0 !important;
  }
}

body[data-page="records"] .exercise-template-card .mobile-collapse-toggle {
  display: inline-flex !important;
}

body.theme-dark .inline-help-tip:hover::after,
body.theme-dark .inline-help-tip:focus-visible::after {
  background: #0f172a !important;
  color: #e2e8f0 !important;
  border-color: rgba(148, 163, 184, 0.26) !important;
}

body.theme-dark[data-page="records"] .confidence-A { color: #86efac !important; }
body.theme-dark[data-page="records"] .confidence-B { color: #fcd34d !important; }
body.theme-dark[data-page="records"] .confidence-C { color: #fca5a5 !important; }


/* v0.7.15：校准缺口合适规则改为短标签，不再显示长 tooltip。 */
.rule-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  height: 20px !important;
  margin-left: 6px !important;
  padding: 0 7px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.theme-dark .rule-badge {
  color: #93c5fd !important;
  background: rgba(59, 130, 246, 0.14) !important;
  border-color: rgba(147, 197, 253, 0.22) !important;
}

@media (max-width: 720px) {
  body[data-page="dashboard"] .overview-date-control {
    grid-template-columns: 1fr 1fr 1.15fr !important;
    gap: 7px !important;
  }

  body[data-page="dashboard"] .overview-date-field {
    grid-column: 1 / -1 !important;
  }

  body[data-page="dashboard"] #overviewDateBtn {
    grid-column: 3 !important;
  }

  body[data-page="dashboard"] #overviewPrevDayBtn,
  body[data-page="dashboard"] #overviewNextDayBtn,
  body[data-page="dashboard"] #overviewDateBtn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  body[data-page="dashboard"] .overview-date-field {
    margin-bottom: 0 !important;
  }

  body[data-page="dashboard"] .overview-date-field label {
    margin-bottom: 4px !important;
    font-size: 12px !important;
  }

  body[data-page="dashboard"] .overview-date-field input {
    min-height: 38px !important;
    height: 38px !important;
    padding: 7px 10px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
  }

  body[data-page="dashboard"] .overview-fold-formula {
    gap: 1px !important;
    margin-top: 2px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 430px) {
  body[data-page="dashboard"] .overview-date-control {
    grid-template-columns: 1fr 1fr !important;
  }

  body[data-page="dashboard"] #overviewDateBtn {
    grid-column: 1 / -1 !important;
  }
}

/* ===== polish-v0_7_16.css ===== */
/* v0.7.16：饮食记录状态、可信度区间、可调偏激进阈值与手机端信息收纳。 */

.daily-record-status-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 15px 16px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.96));
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.daily-record-status-copy {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
}

.daily-record-status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  font-size: 20px;
  font-weight: 900;
  color: #475569;
  background: rgba(148, 163, 184, 0.14);
}

.daily-record-status-copy strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  line-height: 1.35;
}

.daily-record-status-copy p,
.daily-record-status-copy em {
  display: block;
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  font-style: normal;
}

.daily-record-status-copy em {
  color: #475569;
  font-weight: 700;
}

.daily-record-status-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 7px;
  padding: 4px;
  border-radius: 13px;
  background: rgba(148, 163, 184, 0.10);
}

.status-choice {
  min-height: 34px;
  padding: 7px 11px;
  border: 0;
  border-radius: 10px;
  color: #64748b;
  background: transparent;
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.status-choice:hover,
.status-choice.active {
  color: #0f172a;
  background: #fff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.09);
}

.daily-record-status-card.status-complete {
  border-color: rgba(22, 163, 74, 0.22);
  background: linear-gradient(135deg, rgba(240, 253, 244, 0.96), rgba(255, 255, 255, 0.98));
}
.daily-record-status-card.status-complete .daily-record-status-icon {
  color: #15803d;
  background: rgba(34, 197, 94, 0.14);
}
.daily-record-status-card.status-possibly-incomplete {
  border-color: rgba(217, 119, 6, 0.26);
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.98));
}
.daily-record-status-card.status-possibly-incomplete .daily-record-status-icon {
  color: #b45309;
  background: rgba(245, 158, 11, 0.16);
}

.mini-chip.status-complete {
  color: #15803d !important;
  border-color: rgba(22, 163, 74, 0.20) !important;
  background: rgba(34, 197, 94, 0.10) !important;
}
.mini-chip.status-recording {
  color: #475569 !important;
  border-color: rgba(100, 116, 139, 0.20) !important;
  background: rgba(148, 163, 184, 0.10) !important;
}
.mini-chip.status-possibly-incomplete,
.mini-chip.confidence-C {
  color: #b45309 !important;
  border-color: rgba(217, 119, 6, 0.22) !important;
  background: rgba(245, 158, 11, 0.12) !important;
}
.mini-chip.confidence-A {
  color: #15803d !important;
  border-color: rgba(22, 163, 74, 0.20) !important;
  background: rgba(34, 197, 94, 0.10) !important;
}
.mini-chip.confidence-B {
  color: #1d4ed8 !important;
  border-color: rgba(37, 99, 235, 0.20) !important;
  background: rgba(59, 130, 246, 0.10) !important;
}

.daily-food-status-field select,
.target-settings-form [name="daily_aggressive_deficit_threshold"] {
  font-weight: 750;
}

.template-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.template-search-row input {
  min-height: 40px;
  width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  background: var(--input-bg, #fff);
}
.template-count {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

body.theme-dark .daily-record-status-card {
  border-color: rgba(148, 163, 184, 0.20);
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.94));
}
body.theme-dark .daily-record-status-copy em { color: #cbd5e1; }
body.theme-dark .daily-record-status-actions { background: rgba(148, 163, 184, 0.10); }
body.theme-dark .status-choice { color: #94a3b8; }
body.theme-dark .status-choice:hover,
body.theme-dark .status-choice.active {
  color: #f8fafc;
  background: rgba(51, 65, 85, 0.95);
}
body.theme-dark .daily-record-status-card.status-complete {
  border-color: rgba(74, 222, 128, 0.22);
  background: linear-gradient(135deg, rgba(20, 83, 45, 0.28), rgba(15, 23, 42, 0.94));
}
body.theme-dark .daily-record-status-card.status-possibly-incomplete {
  border-color: rgba(251, 191, 36, 0.24);
  background: linear-gradient(135deg, rgba(120, 53, 15, 0.25), rgba(15, 23, 42, 0.94));
}

@media (max-width: 720px) {
  body[data-page="dashboard"] .hero-dashboard {
    padding: 14px !important;
  }

  body[data-page="dashboard"] .overview-main-grid {
    gap: 12px !important;
  }

  body[data-page="dashboard"] .overview-progress-grid {
    display: none !important;
  }

  body[data-page="dashboard"] .daily-record-status-card {
    align-items: stretch;
    flex-direction: column;
    gap: 11px;
    margin-top: 12px;
    padding: 13px;
    border-radius: 15px;
  }

  body[data-page="dashboard"] .daily-record-status-copy {
    align-items: flex-start;
  }

  body[data-page="dashboard"] .daily-record-status-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    font-size: 17px;
  }

  body[data-page="dashboard"] .daily-record-status-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  body[data-page="dashboard"] .status-choice {
    min-width: 0;
    padding-inline: 5px;
    font-size: 12px;
  }

  body[data-page="dashboard"] .dashboard-integrity-card {
    padding: 14px !important;
  }

  body[data-page="dashboard"] .dashboard-integrity-card .weekly-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="dashboard"] .dashboard-integrity-card .weekly-text {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
  }

  body[data-page="dashboard"] .quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  body[data-page="dashboard"] .quick-card {
    min-height: 84px !important;
    padding: 12px !important;
  }

  body[data-page="dashboard"] .quick-card em {
    display: none !important;
  }

  body[data-page="dashboard"] .dashboard-daily-summary,
  body[data-page="dashboard"] .dashboard-record-card {
    padding: 14px !important;
  }

  body[data-page="dashboard"] .mobile-collapsed > .section-title {
    margin-bottom: 0 !important;
  }

  body[data-page="records"] .form-page-grid {
    gap: 12px !important;
  }

  body[data-page="records"] .food-compact-form,
  body[data-page="records"] .exercise-compact-form {
    gap: 10px !important;
  }

  body[data-page="records"] .gpt-paste-box textarea {
    min-height: 82px !important;
  }

  body[data-page="records"] .records-template-card,
  body[data-page="records"] .records-recent-card,
  body[data-page="records"] .converter-card {
    padding: 14px !important;
  }

  body[data-page="records"] .food-template-list {
    max-height: 318px !important;
  }

  body[data-page="records"] .template-search-row {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 2px 0 8px;
    background: var(--card-bg, #fff);
  }

  body[data-page="body"] .body-target-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="body"] .body-target-form .active-factor-field,
  body[data-page="body"] .body-target-form .target-effective-field {
    grid-column: 1 / -1 !important;
  }

  body[data-page="body"] .daily-food-status-field {
    grid-column: 1 / -1 !important;
  }

  body[data-page="analysis"] .weekly-panel .weekly-grid > div:not(.weekly-text) strong {
    font-size: 17px !important;
  }
}

@media (max-width: 430px) {
  body[data-page="body"] .body-target-form {
    grid-template-columns: 1fr !important;
  }
  body[data-page="body"] .body-target-form > * {
    grid-column: 1 !important;
  }
}

/* ===== polish-v0_7_17.css ===== */
/* v0.7.17：桌面/手机端排版微调与周总结重排。 */

body[data-page="dashboard"] .dashboard-integrity-card {
  overflow: hidden;
}

body[data-page="dashboard"] .dashboard-integrity-grid {
  grid-template-columns: minmax(180px, 0.95fr) minmax(140px, 0.8fr) minmax(140px, 0.8fr) minmax(280px, 1.25fr);
  gap: 14px;
  align-items: stretch;
}

body[data-page="dashboard"] .dashboard-integrity-grid > div {
  min-height: 142px;
}

body[data-page="dashboard"] .integrity-stat-card,
body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card,
body[data-page="analysis"] .weekly-grid-v2 > .weekly-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px 18px 17px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
}

body[data-page="dashboard"] .integrity-score-card {
  background: linear-gradient(145deg, rgba(239,246,255,.96), rgba(255,255,255,.98));
}

body[data-page="dashboard"] .integrity-note-card {
  background: linear-gradient(145deg, rgba(248,250,252,.98), rgba(255,255,255,.98));
}

body[data-page="dashboard"] .dashboard-integrity-grid .integrity-note-card strong,
body[data-page="analysis"] .weekly-grid-v2 > .weekly-text strong {
  font-size: 17px;
  line-height: 1.55;
}

body[data-page="dashboard"] .dashboard-integrity-grid .integrity-note-card em,
body[data-page="analysis"] .weekly-grid-v2 > .weekly-text em {
  margin-top: 10px;
}

body[data-page="analysis"] .weekly-grid-v2 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card strong {
  font-size: 28px;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card em {
  margin-top: 8px;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
  grid-column: span 2;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-text {
  min-height: 178px;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-deficit-card {
  background: linear-gradient(145deg, rgba(238,242,255,.96), rgba(255,255,255,.98));
}

body[data-page="analysis"] .weekly-panel .section-title {
  margin-bottom: 18px;
}

body[data-page="records"] .form-page-grid {
  align-items: stretch;
}

body[data-page="records"] .record-form-card {
  display: flex;
  flex-direction: column;
}

body[data-page="records"] .record-form-card > form {
  flex: 1;
}

body[data-page="records"] .record-form-tip {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 13px 14px;
  border: 1px dashed rgba(59, 130, 246, 0.28);
  border-radius: 14px;
  background: rgba(239, 246, 255, 0.66);
}

body[data-page="records"] .record-form-tip strong {
  font-size: 13px;
  color: #1d4ed8;
}

body[data-page="records"] .record-form-tip em {
  font-style: normal;
  color: var(--muted);
  line-height: 1.55;
}

body[data-page="records"] #foodFormCard,
body[data-page="records"] #exerciseFormCard {
  min-height: 100%;
}

body[data-page="records"] .food-compact-form,
body[data-page="records"] .exercise-compact-form {
  align-content: start;
}

body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control {
  align-items: end;
}

body[data-page="dashboard"] .overview-date-control .overview-date-field {
  min-width: 158px;
}

body[data-page="body"] .body-recent-data-card .table-wrap,
body[data-page="dashboard"] .dashboard-record-scroll,
body[data-page="dashboard"] .dashboard-daily-summary .table-wrap,
body[data-page="records"] .records-recent-scroll {
  overflow-x: auto;
}

body.theme-dark[data-page="dashboard"] .integrity-stat-card,
body.theme-dark[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card,
body.theme-dark[data-page="analysis"] .weekly-grid-v2 > .weekly-text {
  border-color: rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(30,41,59,.92), rgba(15,23,42,.96));
}

body.theme-dark[data-page="dashboard"] .integrity-score-card,
body.theme-dark[data-page="analysis"] .weekly-grid-v2 > .weekly-deficit-card {
  background: linear-gradient(145deg, rgba(30,64,175,.18), rgba(15,23,42,.96));
}

body.theme-dark[data-page="records"] .record-form-tip {
  border-color: rgba(96, 165, 250, 0.25);
  background: rgba(30, 64, 175, 0.15);
}

@media (max-width: 1120px) {
  body[data-page="dashboard"] .dashboard-integrity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="dashboard"] .integrity-note-card {
    grid-column: 1 / -1;
  }

  body[data-page="analysis"] .weekly-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  body[data-page="dashboard"] .overview-date-control {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
  }

  body[data-page="dashboard"] .overview-date-control .overview-date-field {
    grid-column: 1 / -1;
    min-width: 0;
  }

  body[data-page="dashboard"] .overview-date-control #overviewPrevDayBtn,
  body[data-page="dashboard"] .overview-date-control #overviewNextDayBtn {
    width: 100%;
  }

  body[data-page="dashboard"] .overview-date-control #overviewDateBtn {
    grid-column: 1 / -1;
    width: 100%;
  }

  body[data-page="dashboard"] .dashboard-integrity-grid,
  body[data-page="analysis"] .weekly-grid-v2 {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .dashboard-integrity-grid > div,
  body[data-page="analysis"] .weekly-grid-v2 > div {
    min-height: 0;
  }

  body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
    grid-column: auto;
  }

  body[data-page="records"] .record-form-card {
    min-height: 0;
  }

  body[data-page="dashboard"] .daily-card-table tbody,
  body[data-page="dashboard"] .record-card-table tbody,
  body[data-page="records"] .record-card-table tbody,
  body[data-page="body"] .body-card-table tbody {
    display: grid;
    gap: 10px;
  }

  body[data-page="dashboard"] .daily-card-table tr,
  body[data-page="dashboard"] .record-card-table tr,
  body[data-page="records"] .record-card-table tr,
  body[data-page="body"] .body-card-table tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 10px;
    padding: 11px 12px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 16px;
    background: rgba(255,255,255,0.96);
  }

  body.theme-dark[data-page="dashboard"] .daily-card-table tr,
  body.theme-dark[data-page="dashboard"] .record-card-table tr,
  body.theme-dark[data-page="records"] .record-card-table tr,
  body.theme-dark[data-page="body"] .body-card-table tr {
    background: rgba(15,23,42,0.92);
  }

  body[data-page="dashboard"] .daily-card-table td,
  body[data-page="dashboard"] .record-card-table td,
  body[data-page="records"] .record-card-table td,
  body[data-page="body"] .body-card-table td {
    padding: 0 !important;
    border: 0 !important;
    min-width: 0;
  }

  body[data-page="dashboard"] .daily-card-table td[data-label="日期"],
  body[data-page="dashboard"] .daily-card-table td[data-label="完成情况"],
  body[data-page="dashboard"] .daily-card-table td[data-label="状态"],
  body[data-page="dashboard"] .record-card-table td[data-label="日期"],
  body[data-page="dashboard"] .record-card-table td[data-label="食物"],
  body[data-page="dashboard"] .record-card-table td[data-label="类型"],
  body[data-page="dashboard"] .record-card-table td.actions-cell,
  body[data-page="records"] .record-card-table td[data-label="日期"],
  body[data-page="records"] .record-card-table td[data-label="食物"],
  body[data-page="records"] .record-card-table td[data-label="类型"],
  body[data-page="records"] .record-card-table td.actions-cell,
  body[data-page="body"] .body-card-table td[data-label="日期"],
  body[data-page="body"] .body-card-table td[data-label="备注"],
  body[data-page="body"] .body-card-table td[data-label="操作"] {
    grid-column: 1 / -1;
  }

  body[data-page="dashboard"] .record-card-table td.actions-cell,
  body[data-page="records"] .record-card-table td.actions-cell,
  body[data-page="body"] .body-card-table td[data-label="操作"] {
    display: flex !important;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
  }

  body[data-page="dashboard"] .record-card-table td::before,
  body[data-page="records"] .record-card-table td::before,
  body[data-page="body"] .body-card-table td::before,
  body[data-page="dashboard"] .daily-card-table td::before {
    margin-bottom: 2px;
    font-size: 11px;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="食物"],
  body[data-page="records"] .record-card-table td[data-label="食物"],
  body[data-page="dashboard"] .record-card-table td[data-label="类型"],
  body[data-page="records"] .record-card-table td[data-label="类型"],
  body[data-page="body"] .body-card-table td[data-label="备注"] {
    margin-bottom: 2px;
  }

  body[data-page="body"] .body-recent-data-card,
  body[data-page="dashboard"] .dashboard-record-card,
  body[data-page="dashboard"] .dashboard-daily-summary,
  body[data-page="records"] .records-recent-card {
    padding: 14px !important;
  }
}

/* ===== polish-v0_7_18.css ===== */
/* v0.7.18：进一步压缩移动端信息卡，修正日期切换布局，并优化桌面端对齐。 */

body[data-page="dashboard"] .overview-title-wrap {
  min-width: 0;
}

@media (min-width: 1241px) {
  body[data-page="dashboard"] .overview-aligned-topbar {
    grid-template-columns: minmax(0, 1fr) minmax(640px, 760px) !important;
    gap: 26px !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold {
    justify-self: end !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold > summary {
    max-width: 760px !important;
    margin-left: auto !important;
  }
}

body[data-page="records"] #foodForm .food-confidence-field {
  grid-column: span 2 !important;
}

body[data-page="records"] #foodForm .food-confidence-field .field-help {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: block !important;
  font-size: 12px !important;
}

body[data-page="analysis"] .weekly-grid-v2 {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card,
body[data-page="analysis"] .weekly-grid-v2 > .weekly-text {
  grid-column: span 3;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
  grid-column: span 3 !important;
}

body[data-page="analysis"] .weekly-grid-v2 > :nth-child(9),
body[data-page="analysis"] .weekly-grid-v2 > :nth-child(10) {
  grid-column: span 6;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-text {
  min-height: 168px;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card strong {
  letter-spacing: -0.02em;
}

@media (max-width: 1120px) {
  body[data-page="analysis"] .weekly-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card,
  body[data-page="analysis"] .weekly-grid-v2 > .weekly-text,
  body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card,
  body[data-page="analysis"] .weekly-grid-v2 > :nth-child(9),
  body[data-page="analysis"] .weekly-grid-v2 > :nth-child(10) {
    grid-column: auto !important;
  }

  body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body[data-page="dashboard"] .overview-date-control {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  body[data-page="dashboard"] .overview-date-control .overview-date-field {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
  }

  body[data-page="dashboard"] .overview-date-control #overviewPrevDayBtn,
  body[data-page="dashboard"] .overview-date-control #overviewDateBtn,
  body[data-page="dashboard"] .overview-date-control #overviewNextDayBtn {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 13px !important;
  }

  body[data-page="dashboard"] .overview-date-control #overviewNextDayBtn {
    display: inline-flex !important;
  }

  body[data-page="records"] #foodForm .food-confidence-field .field-help {
    font-size: 11px !important;
  }

  body[data-page="dashboard"] .dashboard-record-card,
  body[data-page="records"] .records-recent-card,
  body[data-page="body"] .body-recent-data-card {
    padding: 12px !important;
  }

  body[data-page="dashboard"] .dashboard-record-card .section-title,
  body[data-page="records"] .records-recent-card .section-title,
  body[data-page="body"] .body-recent-data-card .section-title {
    margin-bottom: 10px !important;
  }

  body[data-page="dashboard"] .dashboard-record-scroll,
  body[data-page="records"] .records-recent-scroll,
  body[data-page="body"] .body-recent-data-card .table-wrap {
    overflow: visible !important;
    max-height: none !important;
  }

  body[data-page="dashboard"] .record-card-table tbody,
  body[data-page="records"] .record-card-table tbody,
  body[data-page="body"] .body-card-table tbody {
    gap: 8px !important;
  }

  body[data-page="dashboard"] .record-card-table tr,
  body[data-page="records"] .record-card-table tr,
  body[data-page="body"] .body-card-table tr {
    gap: 5px 8px !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }

  body[data-page="dashboard"] .record-card-table td,
  body[data-page="records"] .record-card-table td,
  body[data-page="body"] .body-card-table td {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  body[data-page="dashboard"] .record-card-table td::before,
  body[data-page="records"] .record-card-table td::before,
  body[data-page="body"] .body-card-table td::before {
    font-size: 10px !important;
    margin-bottom: 1px !important;
    letter-spacing: 0 !important;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="日期"],
  body[data-page="records"] .record-card-table td[data-label="日期"] {
    grid-column: 1 / 2 !important;
    margin-bottom: 0 !important;
    font-size: 11px !important;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="餐次"],
  body[data-page="records"] .record-card-table td[data-label="餐次"] {
    grid-column: 2 / 3 !important;
    justify-self: end !important;
    align-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 8px !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    border-radius: 999px !important;
    background: rgba(248, 250, 252, 0.9) !important;
    color: var(--muted) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.theme-dark[data-page="dashboard"] .record-card-table td[data-label="餐次"],
  body.theme-dark[data-page="records"] .record-card-table td[data-label="餐次"] {
    background: rgba(30, 41, 59, 0.92) !important;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="食物"],
  body[data-page="records"] .record-card-table td[data-label="食物"],
  body[data-page="dashboard"] .record-card-table td[data-label="类型"],
  body[data-page="records"] .record-card-table td[data-label="类型"] {
    margin-bottom: 0 !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
  }

  body[data-page="dashboard"] .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not([data-label="餐次"]):not(.actions-cell),
  body[data-page="records"] .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not([data-label="餐次"]):not(.actions-cell) {
    gap: 2px !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
  }

  body[data-page="dashboard"] .record-card-table td.actions-cell,
  body[data-page="records"] .record-card-table td.actions-cell,
  body[data-page="body"] .body-card-table td[data-label="操作"] {
    justify-content: flex-start !important;
    gap: 6px !important;
    margin-top: 2px !important;
  }

  body[data-page="dashboard"] .record-card-table td.actions-cell .small-btn,
  body[data-page="dashboard"] .record-card-table td.actions-cell .danger,
  body[data-page="records"] .record-card-table td.actions-cell .small-btn,
  body[data-page="records"] .record-card-table td.actions-cell .danger,
  body[data-page="body"] .body-card-table td[data-label="操作"] .small-btn,
  body[data-page="body"] .body-card-table td[data-label="操作"] .danger {
    min-height: 28px !important;
    min-width: 0 !important;
    padding: 5px 10px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    flex: 0 0 auto !important;
  }

  body[data-page="body"] .body-card-table tr {
    gap: 5px 8px !important;
    padding: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="body"] .body-card-table td[data-label="日期"] {
    margin-bottom: 0 !important;
    font-size: 11px !important;
  }

  body[data-page="body"] .body-card-table td[data-label="体重 斤"],
  body[data-page="body"] .body-card-table td[data-label="体脂率 %"],
  body[data-page="body"] .body-card-table td[data-label="睡眠"],
  body[data-page="body"] .body-card-table td[data-label="步数"],
  body[data-page="body"] .body-card-table td[data-label="饮食状态"] {
    padding: 0 !important;
  }

  body[data-page="body"] .body-card-table td[data-label="备注"] {
    margin-bottom: 0 !important;
    line-height: 1.35 !important;
  }

  body[data-page="body"] .body-card-table td[data-label="饮食状态"] .mini-chip {
    padding: 5px 8px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 420px) {
  body[data-page="dashboard"] .overview-date-control #overviewPrevDayBtn,
  body[data-page="dashboard"] .overview-date-control #overviewDateBtn,
  body[data-page="dashboard"] .overview-date-control #overviewNextDayBtn {
    font-size: 12px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  body[data-page="dashboard"] .overview-date-control .overview-date-field label {
    font-size: 12px !important;
  }

  body[data-page="records"] #foodForm .food-confidence-field .field-help {
    font-size: 10.5px !important;
  }
}

/* ===== polish-v0_7_19.css ===== */
/* v0.7.19：修正概览公式对齐，恢复每周总结旧版布局，继续压缩手机端记录卡。 */

@media (min-width: 1241px) {
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin-left: auto !important;
    justify-self: end !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold > summary {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    margin-top: 8px !important;
  }
}

body[data-page="analysis"] .weekly-grid-v2 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-stat-card,
body[data-page="analysis"] .weekly-grid-v2 > .weekly-text {
  grid-column: auto !important;
}

body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
  grid-column: span 2 !important;
}

body[data-page="analysis"] .weekly-grid-v2 > :nth-child(9),
body[data-page="analysis"] .weekly-grid-v2 > :nth-child(10) {
  grid-column: auto !important;
}

body[data-page="records"] .food-photo-note-field {
  min-width: 0 !important;
}

body[data-page="records"] .food-confidence-field {
  min-width: 0 !important;
}

body[data-page="records"] .food-confidence-field .field-help {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.35 !important;
  font-size: 11.5px !important;
  margin-top: 6px !important;
}

@media (min-width: 721px) {
  body[data-page="records"] .food-compact-form {
    grid-template-columns: minmax(112px, 0.92fr) minmax(112px, 0.92fr) repeat(3, minmax(70px, 0.58fr)) !important;
  }

  body[data-page="records"] .food-photo-note-field {
    max-width: 300px !important;
  }
}

@media (max-width: 1120px) {
  body[data-page="analysis"] .weekly-grid-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  body[data-page="analysis"] .weekly-grid-v2 {
    grid-template-columns: 1fr !important;
  }

  body[data-page="analysis"] .weekly-grid-v2 > .weekly-wide-card {
    grid-column: auto !important;
  }

  body[data-page="records"] .food-confidence-field .field-help {
    font-size: 11px !important;
  }

  body[data-page="dashboard"] .record-card-table tbody,
  body[data-page="records"] .record-card-table tbody {
    gap: 8px !important;
  }

  body[data-page="dashboard"] .record-card-table tr,
  body[data-page="records"] .record-card-table tr {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px 10px !important;
    padding: 10px !important;
    align-items: start !important;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="日期"],
  body[data-page="records"] .record-card-table td[data-label="日期"] {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="餐次"],
  body[data-page="records"] .record-card-table td[data-label="餐次"] {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
    max-width: 100px !important;
  }

  body[data-page="dashboard"] .record-card-table td[data-label="食物"],
  body[data-page="records"] .record-card-table td[data-label="食物"],
  body[data-page="dashboard"] .record-card-table td[data-label="类型"],
  body[data-page="records"] .record-card-table td[data-label="类型"] {
    grid-column: 1 / 2 !important;
    margin-bottom: 0 !important;
    font-size: 15px !important;
    line-height: 1.24 !important;
    padding-right: 6px !important;
  }

  body[data-page="dashboard"] .record-card-table td.actions-cell,
  body[data-page="records"] .record-card-table td.actions-cell {
    grid-column: 2 / 3 !important;
    grid-row: 2 / span 4 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 6px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    min-width: 74px !important;
  }

  body[data-page="dashboard"] .record-card-table td.actions-cell .small-btn,
  body[data-page="dashboard"] .record-card-table td.actions-cell .danger,
  body[data-page="records"] .record-card-table td.actions-cell .small-btn,
  body[data-page="records"] .record-card-table td.actions-cell .danger {
    width: 100% !important;
    min-height: 28px !important;
    min-width: 0 !important;
    padding: 5px 8px !important;
    font-size: 12px !important;
  }

  body[data-page="dashboard"] .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not([data-label="餐次"]):not(.actions-cell),
  body[data-page="records"] .record-card-table td:not([data-label="日期"]):not([data-label="食物"]):not([data-label="类型"]):not([data-label="餐次"]):not(.actions-cell) {
    grid-column: 1 / 2 !important;
    gap: 2px !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
    width: fit-content !important;
    min-width: 98px !important;
  }

  body[data-page="body"] .body-card-table tbody {
    gap: 8px !important;
  }

  body[data-page="body"] .body-card-table tr {
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto !important;
    gap: 6px 10px !important;
    padding: 10px !important;
    align-items: start !important;
  }

  body[data-page="body"] .body-card-table td[data-label="日期"] {
    grid-column: 1 / span 2 !important;
    grid-row: 1 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  body[data-page="body"] .body-card-table td[data-label="操作"] {
    grid-column: 3 / 4 !important;
    grid-row: 1 / span 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 0 !important;
    margin-top: 0 !important;
    min-width: 72px !important;
  }

  body[data-page="body"] .body-card-table td[data-label="操作"] .small-btn,
  body[data-page="body"] .body-card-table td[data-label="操作"] .danger {
    width: 100% !important;
    min-height: 28px !important;
    padding: 5px 8px !important;
    font-size: 12px !important;
  }

  body[data-page="body"] .body-card-table td[data-label="体重 斤"],
  body[data-page="body"] .body-card-table td[data-label="体脂率 %"],
  body[data-page="body"] .body-card-table td[data-label="睡眠"],
  body[data-page="body"] .body-card-table td[data-label="步数"],
  body[data-page="body"] .body-card-table td[data-label="饮食状态"] {
    padding: 6px 8px !important;
    border: 1px solid rgba(37, 99, 235, 0.10) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.72) !important;
  }

  body.theme-dark[data-page="body"] .body-card-table td[data-label="体重 斤"],
  body.theme-dark[data-page="body"] .body-card-table td[data-label="体脂率 %"],
  body.theme-dark[data-page="body"] .body-card-table td[data-label="睡眠"],
  body.theme-dark[data-page="body"] .body-card-table td[data-label="步数"],
  body.theme-dark[data-page="body"] .body-card-table td[data-label="饮食状态"] {
    background: rgba(30, 41, 59, 0.92) !important;
  }

  body[data-page="body"] .body-card-table td[data-label="备注"] {
    grid-column: 1 / span 2 !important;
    line-height: 1.35 !important;
    margin-top: 2px !important;
  }
}

/* ===== polish-v0_7_20.css ===== */
/* v0.7.20：修复单日概览标题与日期区重叠、可信度说明越界，并强化常用食物模板搜索框。 */

/* 电脑端：给标题保留足够宽度，同时限制日期区，避免标题和公式互相覆盖。 */
@media (min-width: 1241px) {
  body[data-page="dashboard"] .overview-aligned-topbar {
    grid-template-columns: minmax(0, 1fr) minmax(620px, 700px) !important;
    gap: 26px !important;
    align-items: start !important;
  }

  body[data-page="dashboard"] .overview-title-wrap {
    min-width: 0 !important;
    overflow: visible !important;
  }

  body[data-page="dashboard"] .overview-title-wrap h2 {
    max-width: 100% !important;
    font-size: clamp(40px, 3.2vw, 48px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    white-space: nowrap !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold {
    width: 100% !important;
    max-width: 700px !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    justify-self: end !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control {
    width: 100% !important;
    max-width: 700px !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(220px, 1fr) auto auto !important;
    gap: 12px !important;
    align-items: end !important;
  }

  body[data-page="dashboard"] .overview-date-control .overview-date-field {
    min-width: 0 !important;
  }

  body[data-page="dashboard"] .overview-date-control input[type="date"] {
    min-width: 0 !important;
    width: 100% !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    width: 100% !important;
    max-width: 700px !important;
    min-width: 0 !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
    position: relative !important;
    z-index: 1 !important;
  }
}

/* 饮食可信度说明：允许在当前字段内自然换行，禁止越出表单卡片。 */
body[data-page="records"] #foodForm .food-confidence-field {
  min-width: 0 !important;
}

body[data-page="records"] #foodForm .food-confidence-field .field-help {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 6px !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  text-overflow: clip !important;
  line-height: 1.4 !important;
  font-size: 11.5px !important;
}

/* 常用食物模板搜索框：增加清晰边框及聚焦反馈。 */
body[data-page="records"] #foodTemplateSearch {
  border: 1.5px solid var(--line) !important;
  border-radius: 12px !important;
  background: var(--input-bg, #fff) !important;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.08) !important;
}

body[data-page="records"] #foodTemplateSearch:hover {
  border-color: rgba(37, 99, 235, 0.42) !important;
}

body[data-page="records"] #foodTemplateSearch:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

@media (max-width: 720px) {
  body[data-page="records"] #foodForm .food-confidence-field .field-help {
    font-size: 11px !important;
    line-height: 1.38 !important;
  }
}

/* ===== polish-v0_7_21.css ===== */
/* v0.7.21：进一步拉开单日概览标题与日期控制区的距离，放大日期输入框；
   同时压缩“照片/估算说明”宽度，放大“饮食可信度”宽度，确保说明文字一行显示且不越界。 */

/* 电脑端首页：右侧日期切换整体右移，标题与说明区之间留出更明显的呼吸感。 */
@media (min-width: 1241px) {
  body[data-page="dashboard"] .overview-aligned-topbar {
    grid-template-columns: minmax(0, 1fr) minmax(700px, 820px) !important;
    gap: 40px !important;
    align-items: start !important;
  }

  body[data-page="dashboard"] .overview-title-wrap {
    min-width: 0 !important;
    padding-right: 10px !important;
  }

  body[data-page="dashboard"] .overview-title-wrap h2 {
    max-width: 100% !important;
    font-size: clamp(36px, 2.9vw, 44px) !important;
    line-height: 1.10 !important;
    letter-spacing: -0.032em !important;
    white-space: nowrap !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold {
    width: 100% !important;
    max-width: 820px !important;
    min-width: 0 !important;
    justify-self: end !important;
    padding-left: 8px !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold > summary,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    max-width: 820px !important;
    margin-left: auto !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: auto minmax(320px, 1fr) auto auto !important;
    gap: 12px !important;
    align-items: end !important;
  }

  body[data-page="dashboard"] .overview-date-control .overview-date-field {
    min-width: 0 !important;
  }

  body[data-page="dashboard"] .overview-date-control input[type="date"] {
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    width: 100% !important;
    margin-top: 10px !important;
    padding-left: 0 !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere !important;
  }
}

/* 记录页：缩短“照片/估算说明”，拉宽“饮食可信度”，让说明文字单行显示。 */
body[data-page="records"] #foodForm .food-photo-note-field {
  grid-column: span 2 !important;
}

body[data-page="records"] #foodForm .food-confidence-field {
  grid-column: span 4 !important;
  min-width: 0 !important;
}

body[data-page="records"] #foodForm .food-confidence-field .field-help {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 6px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  line-height: 1.32 !important;
  font-size: 11.2px !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 720px) {
  body[data-page="records"] #foodForm .food-photo-note-field {
    grid-column: span 2 !important;
  }

  body[data-page="records"] #foodForm .food-confidence-field {
    grid-column: span 4 !important;
  }

  body[data-page="records"] #foodForm .food-confidence-field .field-help {
    font-size: 10.6px !important;
    line-height: 1.28 !important;
  }
}

/* ===== polish-v0_7_22.css ===== */
/* v0.7.22：收紧首页日期输入框，继续右移“前一天”按钮与公式说明，
   保证它们和“今日概览”标题之间有更稳定的安全间距。 */

@media (min-width: 1241px) {
  /* 让标题区获得更多横向空间，避免与右侧控件视觉打架。 */
  body[data-page="dashboard"] .overview-aligned-topbar {
    grid-template-columns: minmax(0, 1fr) minmax(560px, 650px) !important;
    gap: 46px !important;
    align-items: start !important;
  }

  body[data-page="dashboard"] .overview-title-wrap {
    min-width: 0 !important;
    padding-right: 0 !important;
  }

  body[data-page="dashboard"] .overview-title-wrap h2 {
    font-size: clamp(34px, 2.75vw, 40px) !important;
    line-height: 1.10 !important;
    letter-spacing: -0.03em !important;
    white-space: nowrap !important;
  }

  /* 整个右侧日期模块更靠右，和标题拉开距离。 */
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold {
    width: 100% !important;
    max-width: 650px !important;
    min-width: 0 !important;
    justify-self: end !important;
  }

  /* “查看日期”这一行也和下面内容保持统一右侧基线。 */
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-fold > summary,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control,
  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    width: calc(100% - 44px) !important;
    max-width: 606px !important;
    margin-left: auto !important;
  }

  /* 日期控制区：日期框缩短，只保留合理宽度；整体右对齐。 */
  body[data-page="dashboard"] .overview-aligned-topbar .overview-date-control {
    display: grid !important;
    grid-template-columns: auto 220px auto auto !important;
    gap: 12px !important;
    align-items: end !important;
    justify-content: end !important;
  }

  body[data-page="dashboard"] .overview-date-control .overview-date-field {
    min-width: 0 !important;
    width: 220px !important;
  }

  body[data-page="dashboard"] .overview-date-control input[type="date"] {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }

  /* 前一天与后一天按钮尽量不被拉伸。 */
  body[data-page="dashboard"] .overview-date-control #overviewPrevDayBtn,
  body[data-page="dashboard"] .overview-date-control #overviewDateBtn,
  body[data-page="dashboard"] .overview-date-control #overviewNextDayBtn {
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  /* 公式说明与前一天按钮统一向右，和标题区拉开。 */
  body[data-page="dashboard"] .overview-aligned-topbar .overview-fold-formula {
    margin-top: 10px !important;
    padding-left: 0 !important;
    line-height: 1.58 !important;
    overflow-wrap: anywhere !important;
  }
}

/* ===== polish-v0_7_23.css ===== */
/* v0.7.23：首页按新版视觉稿重构。仅作用于 dashboard，保留原有数据与交互。 */

body[data-page="dashboard"] {
  background:
    radial-gradient(circle at 27% 0%, rgba(191, 210, 255, .42) 0 38px, transparent 39px),
    radial-gradient(circle at 65% 8%, rgba(211, 222, 255, .36) 0 26px, transparent 27px),
    linear-gradient(180deg, #f5f8ff 0%, #f9fbff 46%, #f4f7fd 100%);
  color: #101a3b;
}

body[data-page="dashboard"] .app-header,
body[data-page="dashboard"] .container {
  width: min(1440px, calc(100% - 36px));
}

body[data-page="dashboard"] .dashboard-header {
  padding: 20px 0 14px;
  align-items: center;
}

body[data-page="dashboard"] .dashboard-header .header-copy {
  max-width: 760px;
}

body[data-page="dashboard"] .dashboard-header h1 {
  margin: 0 0 6px;
  color: #0d1d46;
  font-size: clamp(34px, 3vw, 48px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.05;
}

body[data-page="dashboard"] .dashboard-header .sub {
  color: #66718c;
  font-size: 15px;
  line-height: 1.5;
}

body[data-page="dashboard"] .dashboard-header .header-right {
  gap: 0;
}

body[data-page="dashboard"] .dashboard-header .header-actions {
  flex-wrap: nowrap;
  align-items: center;
}

body[data-page="dashboard"] .dashboard-header button {
  min-height: 42px;
  border-radius: 10px;
  padding: 9px 16px;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 5px 16px rgba(44, 73, 150, .11);
}

body[data-page="dashboard"] .dashboard-header .today-return-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #275fee;
  background: rgba(255, 255, 255, .9);
  border-color: #dbe4f6;
}

body[data-page="dashboard"] .dashboard-header .today-return-btn img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}

body[data-page="dashboard"] .dashboard-header .theme-toggle {
  min-width: 132px;
  color: #fff;
  border-color: #112763;
  background: linear-gradient(135deg, #183b97 0%, #071b55 100%);
}

body[data-page="dashboard"] .card {
  border-color: rgba(215, 223, 240, .86);
  box-shadow: 0 14px 34px rgba(48, 73, 127, .075);
}

body[data-page="dashboard"] .overview-redesign {
  margin-bottom: 12px;
  padding: 18px 20px 14px;
  border-radius: 19px;
  background: rgba(255, 255, 255, .94);
  overflow: visible;
}

body[data-page="dashboard"] .overview-redesign .daily-overview-shell {
  gap: 14px;
}

body[data-page="dashboard"] .overview-redesign .overview-topbar {
  display: grid !important;
  grid-template-columns: minmax(330px, .82fr) minmax(600px, 1.65fr) !important;
  gap: 28px !important;
  align-items: start !important;
}

body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
  min-width: 0;
  padding: 2px 28px 4px 2px;
  border-right: 1px solid #dfe5f1;
}

body[data-page="dashboard"] .overview-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #4c63e9;
  font-size: 14px;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-kicker img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
  margin: 11px 0 0 !important;
  color: #10172f;
  font-size: clamp(35px, 3.1vw, 50px) !important;
  font-weight: 900;
  letter-spacing: -.04em !important;
  line-height: 1.04 !important;
  white-space: nowrap;
}

body[data-page="dashboard"] .overview-redesign .overview-date-fold {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  margin: 0 !important;
  padding-top: 4px;
  border: 0;
  background: transparent;
}

body[data-page="dashboard"] .overview-redesign .overview-date-fold > summary {
  display: none !important;
}

body[data-page="dashboard"] .overview-redesign .overview-date-control {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto auto !important;
  gap: 12px !important;
  align-items: end !important;
  justify-content: stretch !important;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field {
  width: 100% !important;
  min-width: 0 !important;
  display: grid;
  grid-template-columns: auto minmax(210px, 1fr);
  align-items: center;
  gap: 14px;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field label {
  color: #1f2945;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px;
  border-radius: 11px;
  border-color: #dce3f0;
  padding: 9px 14px;
  font-weight: 700;
  color: #25314d;
  background: #fff;
}

body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
  width: auto !important;
  min-width: 0 !important;
  height: 44px;
  border-radius: 10px;
  padding: 9px 18px;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 850;
}

body[data-page="dashboard"] .overview-redesign .overview-confirm-btn {
  color: #fff;
  border-color: #315ff1;
  background: linear-gradient(135deg, #356cf6, #3153e6);
  box-shadow: 0 7px 15px rgba(51, 95, 239, .2);
}

body[data-page="dashboard"] .overview-redesign .overview-next-btn {
  color: #5670ed;
  background: #f7f9ff;
  border-color: #e4e9f7;
}

body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  color: #68728b;
  font-size: 12.5px;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}

body[data-page="dashboard"] .overview-redesign .overview-fold-formula span {
  display: block;
}

body[data-page="dashboard"] .overview-redesign .overview-main-grid {
  display: grid !important;
  grid-template-columns: minmax(330px, .86fr) minmax(640px, 1.62fr) !important;
  gap: 16px !important;
  align-items: stretch;
}

body[data-page="dashboard"] .overview-redesign .overview-summary-panel {
  display: block;
  min-width: 0;
}

body[data-page="dashboard"] .overview-redesign .overview-status-card {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  min-height: 236px;
  height: 100%;
  padding: 17px 18px !important;
  border: 1px solid #dfe5ef;
  border-radius: 17px;
  background: linear-gradient(145deg, #fbfcff 0%, #f7f9fd 100%);
  box-shadow: none;
}

body[data-page="dashboard"] .overview-redesign .overview-status-head {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

body[data-page="dashboard"] .overview-redesign .overview-state-emoji {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 13px;
  font-size: 29px !important;
  line-height: 1;
  background: #fff;
  border: 1px solid #e3e8f2;
  box-shadow: 0 5px 12px rgba(40, 61, 105, .08);
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong {
  display: block;
  color: #17203a;
  font-size: 17px !important;
  line-height: 1.3;
  font-weight: 850;
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong b {
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy em {
  display: block;
  margin-top: 5px;
  color: #5e6982;
  font-size: 13px !important;
  line-height: 1.45;
  font-style: normal;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card {
  margin-top: 13px;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #e5e9f2 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card .advice-title {
  display: block;
  margin-bottom: 6px;
  color: #202944;
  font-size: 13px;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card .overview-tip {
  min-height: 0;
  white-space: pre-line;
  color: #56627a;
  font-size: 12.5px;
  line-height: 1.55;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel {
  margin-top: auto;
  padding: 12px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .overview-status-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
  min-width: 0;
  padding: 6px 7px;
  border-radius: 7px;
  font-size: 11.5px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page="dashboard"] .overview-redesign .overview-metrics-panel,
body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
  min-width: 0;
  height: 100%;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 13px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
  --accent: #6794ff;
  --accent-soft: #eef4ff;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: flex-start;
  gap: 0 !important;
  min-width: 0;
  min-height: 236px !important;
  height: 100%;
  padding: 15px 13px 14px !important;
  border-radius: 17px !important;
  border: 1px solid #dfe5ef;
  background: linear-gradient(180deg, #fff 0%, #fbfcff 100%);
  box-shadow: none;
  text-align: center;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card.accent-green { --accent: #22a963; --accent-soft: #eaf8ef; }
body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card.accent-orange { --accent: #ff921f; --accent-soft: #fff3e5; }
body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card.accent-purple { --accent: #7047ed; --accent-soft: #f1edff; }

body[data-page="dashboard"] .overview-redesign .metric-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 29px;
  color: #28324b;
  font-size: 13.5px;
  font-weight: 850;
}

body[data-page="dashboard"] .overview-redesign .metric-heading img {
  width: 23px;
  height: 23px;
  object-fit: contain;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
  position: relative;
  flex: 0 0 auto;
  width: 88px !important;
  height: 88px !important;
  margin: 10px 0 9px;
  border-radius: 50%;
  background: conic-gradient(var(--accent) calc(var(--percent, 0) * 1%), #e6e9f0 0) !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
  width: 66px !important;
  height: 66px !important;
  background: #fff;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring span {
  z-index: 1;
  color: #11182d;
  font-size: 17px !important;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong {
  display: block;
  max-width: 100%;
  margin: 0 !important;
  color: #11182d;
  font-size: clamp(20px, 1.7vw, 25px) !important;
  line-height: 1.18 !important;
  font-weight: 900;
  overflow-wrap: anywhere;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > em {
  display: block;
  max-width: 100%;
  margin-top: 7px !important;
  color: #667089;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  font-style: normal;
  overflow-wrap: anywhere;
}

body[data-page="dashboard"] .overview-redesign .overview-record-strip {
  display: grid !important;
  grid-template-columns: minmax(340px, 1.2fr) auto minmax(210px, .42fr);
  gap: 16px;
  align-items: center;
  min-height: 72px;
  padding: 11px 14px !important;
  border: 1px solid #e0e5ee;
  border-radius: 15px;
  background: #fff;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #eef3ff;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon img {
  width: 31px;
  height: 31px;
  object-fit: contain;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon i {
  position: absolute;
  right: -2px;
  bottom: -3px;
  display: grid;
  place-items: center;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  color: #fff;
  background: #ff9224;
  border: 2px solid #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy strong {
  display: block;
  color: #1f2943;
  font-size: 14px;
  line-height: 1.3;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy p {
  margin: 3px 0 0;
  color: #59657d;
  font-size: 11.5px;
  line-height: 1.35;
}

body[data-page="dashboard"] .overview-redesign #dailyConfidenceHint {
  display: block;
  margin-top: 2px;
  color: #6d7890;
  font-size: 10.5px;
  line-height: 1.3;
  font-style: normal;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions {
  display: inline-grid;
  grid-template-columns: repeat(3, auto);
  gap: 0;
  padding: 2px;
  border: 1px solid #e2e7f1;
  border-radius: 10px;
  background: #f8f9fd;
  overflow: hidden;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice {
  min-height: 36px;
  padding: 7px 14px;
  border: 0;
  border-radius: 8px;
  color: #7a8498;
  background: transparent;
  font-size: 11.5px;
  font-weight: 800;
  box-shadow: none;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice.active {
  color: #315eee;
  background: #fff;
  box-shadow: 0 3px 9px rgba(59, 82, 145, .09);
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice.active::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  vertical-align: 1px;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: linear-gradient(135deg, #fff9e9, #fff4da);
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card strong,
body[data-page="dashboard"] .overview-redesign .daily-confidence-card span {
  display: block;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card strong {
  color: #34374b;
  font-size: 12px;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card span {
  margin-top: 2px;
  color: #8a7a58;
  font-size: 10px;
  line-height: 1.3;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid #e1e6ef;
  border-radius: 15px;
  background: #fff;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
  min-height: 70px !important;
  padding: 11px 15px 10px !important;
  border: 0 !important;
  border-right: 1px solid #e7eaf1 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line:last-child {
  border-right: 0 !important;
}

body[data-page="dashboard"] .overview-redesign .progress-title {
  display: flex !important;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  margin-bottom: 9px !important;
}

body[data-page="dashboard"] .overview-redesign .progress-title > span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: #28334c;
  font-size: 11.5px;
  font-weight: 850;
  white-space: nowrap;
}

body[data-page="dashboard"] .overview-redesign .progress-title img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

body[data-page="dashboard"] .overview-redesign .progress-title em {
  color: #5f6980 !important;
  font-size: 10.5px !important;
  line-height: 1.2;
  white-space: nowrap;
}

body[data-page="dashboard"] .overview-redesign .progress-bar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  gap: 8px;
  align-items: center;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .bar {
  width: 100%;
  height: 10px !important;
  margin: 0 !important;
  border-radius: 999px;
  background: #e7e9f0;
  overflow: hidden;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

body[data-page="dashboard"] .overview-redesign .progress-calories .bar i { background: #ff765d; }
body[data-page="dashboard"] .overview-redesign .progress-protein .bar i { background: #21ae65; }
body[data-page="dashboard"] .overview-redesign .progress-active .bar i { background: #ff9828; }
body[data-page="dashboard"] .overview-redesign .progress-deficit .bar i { background: #7449ef; }

body[data-page="dashboard"] .overview-redesign .progress-bar-row > strong {
  color: #566178;
  font-size: 10.5px;
  text-align: right;
}

body[data-page="dashboard"] .overview-redesign .progress-deficit .progress-bar-row > strong { color: #7047ed; }

body[data-page="dashboard"] .integrity-redesign {
  margin-bottom: 12px;
  padding: 12px 20px 13px;
  border-radius: 17px;
  background: rgba(255, 255, 255, .92);
}

body[data-page="dashboard"] .integrity-redesign .section-title {
  margin-bottom: 10px;
}

body[data-page="dashboard"] .integrity-redesign .section-title > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

body[data-page="dashboard"] .integrity-redesign .section-title h2 {
  margin: 0;
  color: #18213a;
  font-size: 15px;
}

body[data-page="dashboard"] .integrity-redesign .section-title p {
  color: #69748b;
  font-size: 11px;
}

body[data-page="dashboard"] .integrity-redesign .mini-link {
  padding: 6px 10px;
  border-radius: 8px;
  color: #4265e9;
  background: #f5f7ff;
  border-color: #e6eafb;
  font-size: 11px;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, .7fr)) minmax(350px, 1.45fr) !important;
  gap: 16px !important;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div {
  min-width: 0;
  min-height: 75px;
  display: grid;
  grid-template-columns: 47px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 9px 14px !important;
  border: 1px solid #e3e7f0;
  border-radius: 12px;
  background: #fbfcff;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div > img {
  width: 43px;
  height: 43px;
  object-fit: contain;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid span,
body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid strong,
body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid em {
  display: block;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid span {
  color: #4e5970;
  font-size: 11px;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid strong {
  margin-top: 1px;
  color: #121b33;
  font-size: 25px;
  line-height: 1.05;
  font-weight: 900;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid em {
  margin-top: 3px;
  color: #69748a;
  font-size: 10px;
  line-height: 1.3;
  font-style: normal;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card {
  border-color: #cfdcff !important;
  background: linear-gradient(135deg, #f9fbff, #f3f7ff) !important;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card strong {
  font-size: 12px;
  line-height: 1.35;
}

body[data-page="dashboard"] .dashboard-quick-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card {
  min-width: 0;
  min-height: 82px !important;
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) 36px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px !important;
  border-radius: 13px;
  background: linear-gradient(135deg, #f8faff, #f2f6ff);
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card:nth-child(2) {
  background: linear-gradient(135deg, #f8fffb, #effaf4);
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card:nth-child(3) {
  background: linear-gradient(135deg, #fbfaff, #f5f1ff);
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card strong {
  display: block;
  margin: 0 !important;
  color: #1b2542;
  font-size: 14px !important;
  line-height: 1.25;
  font-weight: 900;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card em {
  display: block;
  margin-top: 5px !important;
  color: #657088;
  font-size: 10.5px;
  line-height: 1.3;
  font-style: normal;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card > b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #d9e1f5;
  border-radius: 50%;
  color: #4a6cec;
  background: rgba(255, 255, 255, .86);
  font-size: 18px;
  font-weight: 700;
}

body[data-page="dashboard"] .dashboard-daily-summary,
body[data-page="dashboard"] .details-grid {
  margin-top: 0;
}

/* 夜间模式 */
body.theme-dark[data-page="dashboard"] {
  background:
    radial-gradient(circle at 25% 0%, rgba(61, 85, 162, .26) 0 42px, transparent 43px),
    linear-gradient(180deg, #0a1120 0%, #0c1323 100%);
  color: #edf2ff;
}

body.theme-dark[data-page="dashboard"] .dashboard-header h1,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-title-wrap h2,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong,
body.theme-dark[data-page="dashboard"] .overview-redesign .metric-heading,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong,
body.theme-dark[data-page="dashboard"] .integrity-redesign .section-title h2,
body.theme-dark[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid strong,
body.theme-dark[data-page="dashboard"] .dashboard-quick-actions .quick-card strong {
  color: #f4f7ff !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign,
body.theme-dark[data-page="dashboard"] .integrity-redesign,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-record-strip,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-progress-grid {
  background: rgba(18, 27, 48, .94) !important;
  border-color: #2a3651 !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-title-wrap {
  border-color: #33405b;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-status-card,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card,
body.theme-dark[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div,
body.theme-dark[data-page="dashboard"] .dashboard-quick-actions .quick-card {
  background: linear-gradient(145deg, #151f34, #111a2d) !important;
  border-color: #303b54 !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
  background: #151f34;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-state-emoji,
body.theme-dark[data-page="dashboard"] .overview-redesign .daily-record-status-actions,
body.theme-dark[data-page="dashboard"] .dashboard-quick-actions .quick-card > b {
  background: #1b263d !important;
  border-color: #33415e !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .daily-confidence-card {
  background: linear-gradient(135deg, #302a1d, #252216) !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
  background: #111a2d;
  border-color: #33405a;
  color: #eef3ff;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
  border-color: #303950 !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-tip-card {
  border-top-color: #303950 !important;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-status-panel .chip.muted,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
  background: #222d44;
  color: #c7d0e5;
}

/* 中等宽度：指标仍优先保持四列，标题与日期区上下排列。 */
@media (max-width: 1180px) {
  body[data-page="dashboard"] .overview-redesign .overview-topbar {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
    padding-right: 0;
    padding-bottom: 12px;
    border-right: 0;
    border-bottom: 1px solid #e2e7f0;
  }

  body[data-page="dashboard"] .overview-redesign .overview-main-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card {
    min-height: 0;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    grid-template-columns: minmax(280px, 1fr) auto;
  }

  body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
    grid-column: 1 / -1;
  }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body[data-page="dashboard"] .integrity-redesign .integrity-note-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 880px) {
  body[data-page="dashboard"] .app-header,
  body[data-page="dashboard"] .container {
    width: min(100% - 24px, 760px);
  }

  body[data-page="dashboard"] .dashboard-header {
    align-items: flex-start;
    gap: 12px;
  }

  body[data-page="dashboard"] .dashboard-header h1 {
    font-size: 34px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-fold > summary {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    color: #53617c;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-fold > summary::after {
    content: "展开";
    color: #4d68e7;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-fold[open] > summary::after {
    content: "收起";
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    grid-template-columns: 1fr auto auto !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
    min-height: 212px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line:nth-child(2) {
    border-right: 0 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line:nth-child(-n+2) {
    border-bottom: 1px solid #e7eaf1 !important;
  }

  body[data-page="dashboard"] .dashboard-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body[data-page="dashboard"] {
    background: linear-gradient(180deg, #f5f8ff, #f8faff);
  }

  body[data-page="dashboard"] .app-header,
  body[data-page="dashboard"] .container {
    width: min(100% - 20px, 560px);
  }

  body[data-page="dashboard"] .dashboard-header {
    padding: 16px 0 12px;
    flex-direction: column;
  }

  body[data-page="dashboard"] .dashboard-header .header-right,
  body[data-page="dashboard"] .dashboard-header .header-actions {
    width: 100%;
  }

  body[data-page="dashboard"] .dashboard-header .header-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body[data-page="dashboard"] .dashboard-header button {
    width: 100%;
    justify-content: center;
  }

  body[data-page="dashboard"] .dashboard-header h1 {
    font-size: 30px;
  }

  body[data-page="dashboard"] .dashboard-header .sub {
    font-size: 13px;
  }

  body[data-page="dashboard"] .overview-redesign {
    padding: 14px 12px 12px;
    border-radius: 16px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
    font-size: 27px !important;
    white-space: normal;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    grid-template-columns: 1fr 1fr !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    grid-column: 1 / -1;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
    width: 100% !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
    font-size: 11.5px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card {
    padding: 14px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
    font-size: 10.5px;
    white-space: normal;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
    gap: 9px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
    min-height: 194px !important;
    padding: 12px 9px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
    width: 72px !important;
    height: 72px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
    width: 54px !important;
    height: 54px !important;
  }

  body[data-page="dashboard"] .overview-redesign .metric-heading {
    font-size: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .metric-heading img {
    width: 20px;
    height: 20px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong {
    font-size: 19px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-actions {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice {
    padding-inline: 5px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
    grid-column: auto;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
    padding: 10px !important;
  }

  body[data-page="dashboard"] .overview-redesign .progress-title {
    display: grid !important;
    gap: 4px;
  }

  body[data-page="dashboard"] .overview-redesign .progress-title em {
    padding-left: 27px;
  }

  body[data-page="dashboard"] .integrity-redesign {
    padding: 12px;
  }

  body[data-page="dashboard"] .integrity-redesign .section-title > div {
    display: block;
  }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 9px !important;
  }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div > img {
    width: 35px;
    height: 35px;
  }

  body[data-page="dashboard"] .integrity-redesign .integrity-note-card {
    grid-column: 1 / -1;
  }

  body[data-page="dashboard"] .dashboard-quick-actions {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 380px) {
  body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
    border-right: 0 !important;
    border-bottom: 1px solid #e7eaf1 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line:last-child {
    border-bottom: 0 !important;
  }
}

/* dashboard 页头保持视觉稿中的轻量背景，不做独立白色卡片。 */
body[data-page="dashboard"] .dashboard-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body[data-page="dashboard"] .dashboard-header::before {
  display: none !important;
}

/* ===== polish-v0_7_24.css ===== */
/* v0.7.24：恢复全站主导航、统一视觉风格，并放大首页概览区字号与控件。 */

/* ========== 全站统一视觉语言 ========== */
body {
  background:
    radial-gradient(circle at 24% 0%, rgba(191, 210, 255, .38) 0 40px, transparent 41px),
    radial-gradient(circle at 72% 8%, rgba(213, 224, 255, .30) 0 27px, transparent 28px),
    linear-gradient(180deg, #f5f8ff 0%, #fafcff 48%, #f4f7fd 100%);
  color: #101a3b;
}

.app-header,
.container,
.narrow-container {
  width: min(1440px, calc(100% - 36px));
}

.app-header {
  padding: 20px 0 15px;
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.app-header::before { display: none !important; }

.app-header .header-copy { max-width: 610px; }

.app-header h1 {
  margin-bottom: 7px;
  color: #0d1d46;
  font-size: clamp(34px, 3.2vw, 48px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.06;
}

.app-header .sub {
  color: #66718c;
  font-size: 15px;
  line-height: 1.55;
}

.app-header .eyebrow {
  margin-bottom: 6px;
  color: #4967ef;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .11em;
}

.header-right { gap: 10px; }

.nav-tabs {
  gap: 4px;
  padding: 5px;
  border: 1px solid #dce4f4;
  border-radius: 14px;
  background: rgba(255, 255, 255, .93);
  box-shadow: 0 7px 20px rgba(44, 73, 150, .08);
}

.nav-tabs a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 10px;
  color: #66728d;
  font-size: 14px;
  font-weight: 850;
}

.nav-tabs a:hover {
  color: #315eee;
  background: #f1f5ff;
}

.nav-tabs a.active {
  color: #fff;
  background: linear-gradient(135deg, #3b70f6, #3154e7);
  box-shadow: 0 5px 13px rgba(51, 94, 235, .22);
}

.header-actions .ghost,
.header-actions button.ghost {
  min-height: 41px;
  padding: 8px 15px;
  border: 1px solid #dce4f4;
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  color: #315eee;
  font-size: 14px;
  font-weight: 850;
  box-shadow: 0 5px 16px rgba(44, 73, 150, .09);
}

.header-actions .theme-toggle {
  color: #fff !important;
  border-color: #102863 !important;
  background: linear-gradient(135deg, #183b97 0%, #071b55 100%) !important;
}

.card {
  border-color: rgba(215, 223, 240, .88);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(48, 73, 127, .075);
}

.section-title h2 {
  color: #18213a;
  font-weight: 900;
}

.section-title p { color: #69748b; }

/* ========== 首页页头：恢复导航后仍保持足够间距 ========== */
body[data-page="dashboard"] .dashboard-header {
  align-items: flex-start;
  gap: 28px;
}

body[data-page="dashboard"] .dashboard-header .header-copy {
  flex: 0 1 520px;
  max-width: 520px;
  padding-top: 3px;
}

body[data-page="dashboard"] .dashboard-header .header-right {
  flex: 1 1 auto;
  min-width: 0;
  align-items: flex-end;
}

body[data-page="dashboard"] .dashboard-header .nav-tabs {
  max-width: 100%;
}

body[data-page="dashboard"] .dashboard-header .header-actions {
  flex-wrap: nowrap;
}

/* ========== 今日概览顶部：日期框缩短，补回前一天 ========== */
body[data-page="dashboard"] .overview-redesign {
  padding: 20px 22px 17px;
}

body[data-page="dashboard"] .overview-redesign .daily-overview-shell {
  gap: 16px;
}

body[data-page="dashboard"] .overview-redesign .overview-topbar {
  grid-template-columns: minmax(420px, .9fr) minmax(650px, 1.65fr) !important;
  gap: 36px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
  padding: 3px 34px 7px 2px;
}

body[data-page="dashboard"] .overview-kicker {
  font-size: 15px;
}

body[data-page="dashboard"] .overview-kicker img {
  width: 19px;
  height: 19px;
}

body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
  margin-top: 12px !important;
  font-size: clamp(39px, 3.35vw, 53px) !important;
}

body[data-page="dashboard"] .overview-redesign .overview-date-fold {
  padding-top: 5px;
}

body[data-page="dashboard"] .overview-redesign .overview-date-control {
  width: auto !important;
  grid-template-columns: 310px auto auto auto !important;
  justify-content: end !important;
  gap: 10px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field {
  width: 310px !important;
  grid-template-columns: 78px 220px;
  gap: 12px;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field label {
  font-size: 15px;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  height: 46px;
  padding: 9px 13px;
  font-size: 15px;
}

body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
  height: 46px;
  padding: 9px 15px;
  font-size: 14px;
}

body[data-page="dashboard"] .overview-redesign .overview-prev-btn,
body[data-page="dashboard"] .overview-redesign .overview-next-btn {
  color: #5670ed;
  background: #f7f9ff;
  border-color: #e1e7f6;
}

body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
  margin-top: 11px !important;
  font-size: 13.5px;
  line-height: 1.55 !important;
}

/* ========== 首页主概览：放大整体字体、卡片与圆环 ========== */
body[data-page="dashboard"] .overview-redesign .overview-main-grid {
  grid-template-columns: minmax(390px, .9fr) minmax(700px, 1.68fr) !important;
  gap: 18px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-card {
  min-height: 270px;
  padding: 20px 21px !important;
  border-radius: 18px;
}

body[data-page="dashboard"] .overview-redesign .overview-status-head {
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 14px;
}

body[data-page="dashboard"] .overview-redesign .overview-state-emoji {
  width: 54px;
  height: 54px;
  font-size: 32px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong {
  font-size: 19px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy em {
  margin-top: 6px;
  font-size: 14px !important;
  line-height: 1.5;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card {
  margin-top: 15px;
  padding-top: 14px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card .advice-title {
  margin-bottom: 7px;
  font-size: 15px;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card .overview-tip {
  font-size: 14px;
  line-height: 1.58;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel {
  padding-top: 14px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .overview-status-row {
  gap: 9px;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
  min-height: 32px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  justify-content: center;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
  gap: 15px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
  min-height: 270px !important;
  padding: 18px 14px 16px !important;
  border-radius: 18px !important;
}

body[data-page="dashboard"] .overview-redesign .metric-heading {
  min-height: 32px;
  gap: 9px;
  font-size: 15px;
}

body[data-page="dashboard"] .overview-redesign .metric-heading img {
  width: 25px;
  height: 25px;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
  width: 106px !important;
  height: 106px !important;
  margin: 12px 0 11px;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
  width: 80px !important;
  height: 80px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring span {
  font-size: 20px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong {
  font-size: clamp(24px, 1.9vw, 29px) !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > em {
  margin-top: 8px !important;
  font-size: 13px !important;
  line-height: 1.48 !important;
}

/* ========== 饮食状态与四项进度：字号与下方“每日汇总”层级一致 ========== */
body[data-page="dashboard"] .overview-redesign .overview-record-strip {
  min-height: 86px;
  padding: 13px 16px !important;
  grid-template-columns: minmax(390px, 1.25fr) auto minmax(235px, .45fr);
  gap: 18px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon {
  width: 46px;
  height: 46px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon img {
  width: 35px;
  height: 35px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy strong {
  font-size: 16px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy p {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.42;
}

body[data-page="dashboard"] .overview-redesign #dailyConfidenceHint {
  margin-top: 3px;
  font-size: 12px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice {
  min-height: 40px;
  padding: 8px 15px;
  font-size: 13px;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card img {
  width: 37px;
  height: 37px;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card strong {
  font-size: 13.5px;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card span {
  font-size: 11.5px;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
  min-height: 79px !important;
  padding: 13px 16px 12px !important;
}

body[data-page="dashboard"] .overview-redesign .progress-title {
  margin-bottom: 10px !important;
}

body[data-page="dashboard"] .overview-redesign .progress-title > span {
  gap: 8px;
  font-size: 13px;
}

body[data-page="dashboard"] .overview-redesign .progress-title img {
  width: 22px;
  height: 22px;
}

body[data-page="dashboard"] .overview-redesign .progress-title em {
  font-size: 12px !important;
}

body[data-page="dashboard"] .overview-redesign .progress-bar-row {
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 9px;
}

body[data-page="dashboard"] .overview-redesign .progress-bar-row > strong {
  font-size: 12px;
}

/* ========== 记录完整性与快捷入口同步放大 ========== */
body[data-page="dashboard"] .integrity-redesign {
  padding: 15px 22px 16px;
}

body[data-page="dashboard"] .integrity-redesign .section-title {
  margin-bottom: 12px;
}

body[data-page="dashboard"] .integrity-redesign .section-title h2 {
  font-size: 18px;
}

body[data-page="dashboard"] .integrity-redesign .section-title p {
  font-size: 13px;
}

body[data-page="dashboard"] .integrity-redesign .mini-link {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 12.5px;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div {
  min-height: 92px;
  grid-template-columns: 53px minmax(0, 1fr);
  gap: 13px;
  padding: 12px 16px !important;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div > img {
  width: 49px;
  height: 49px;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid span {
  font-size: 13px;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid strong {
  font-size: 29px;
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid em {
  font-size: 11.5px;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card strong {
  font-size: 14px;
}

body[data-page="dashboard"] .dashboard-quick-actions {
  gap: 14px !important;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card {
  min-height: 96px !important;
  grid-template-columns: 54px minmax(0, 1fr) 38px;
  gap: 14px;
  align-items: center !important;
  padding: 14px 16px !important;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card > img,
body[data-page="dashboard"] .dashboard-quick-actions .quick-card > div,
body[data-page="dashboard"] .dashboard-quick-actions .quick-card > b {
  align-self: center;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card > div {
  min-height: 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card img {
  width: 52px;
  height: 52px;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card strong {
  font-size: 16px !important;
  line-height: 1.3;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card em {
  margin-top: 5px !important;
  font-size: 12px;
  line-height: 1.35;
}

body[data-page="dashboard"] .dashboard-quick-actions .quick-card > b {
  width: 36px;
  height: 36px;
  font-size: 19px;
}

/* ========== 夜间模式 ========== */
body.theme-dark {
  background:
    radial-gradient(circle at 25% 0%, rgba(61, 85, 162, .24) 0 42px, transparent 43px),
    linear-gradient(180deg, #0a1120 0%, #0c1323 100%);
  color: #edf2ff;
}

body.theme-dark .app-header h1,
body.theme-dark .section-title h2 { color: #f4f7ff; }

body.theme-dark .nav-tabs {
  background: rgba(18, 27, 48, .94);
  border-color: #303c59;
}

body.theme-dark .nav-tabs a { color: #aeb9d2; }
body.theme-dark .nav-tabs a:hover { color: #eaf0ff; background: #202d48; }
body.theme-dark .nav-tabs a.active { color: #fff; background: linear-gradient(135deg, #456ff1, #314fcf); }

body.theme-dark .header-actions .ghost,
body.theme-dark .header-actions button.ghost {
  background: #151f34;
  border-color: #303c59;
  color: #d8e2ff;
}

/* ========== 响应式 ========== */
@media (max-width: 1240px) {
  .app-header {
    align-items: flex-start;
  }

  body[data-page="dashboard"] .dashboard-header {
    flex-direction: column;
    gap: 14px;
  }

  body[data-page="dashboard"] .dashboard-header .header-copy {
    max-width: 760px;
  }

  body[data-page="dashboard"] .dashboard-header .header-right {
    width: 100%;
    align-items: flex-start;
  }

  body[data-page="dashboard"] .overview-redesign .overview-topbar {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    justify-content: start !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-main-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card {
    min-height: 0;
  }
}

@media (max-width: 1020px) {
  .app-header,
  .container,
  .narrow-container {
    width: min(100% - 24px, 920px);
  }

  .app-header .header-right {
    width: 100%;
    align-items: flex-start;
  }

  .nav-tabs {
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
  }

  .header-actions { justify-content: flex-start; }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    grid-template-columns: 310px auto auto auto !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    grid-template-columns: minmax(320px, 1fr) auto;
  }

  body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .app-header,
  .container,
  .narrow-container {
    width: min(100% - 20px, 620px);
  }

  .app-header {
    padding-top: 15px;
    gap: 13px;
  }

  .app-header h1 { font-size: 30px; }
  .app-header .sub { font-size: 13.5px; }

  .nav-tabs a {
    min-height: 36px;
    padding: 7px 12px;
    font-size: 13px;
  }

  body[data-page="dashboard"] .dashboard-header .header-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  body[data-page="dashboard"] .overview-redesign {
    padding: 15px 12px 13px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
    font-size: 29px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    width: 100% !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "date date"
      "prev next"
      "confirm confirm";
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    grid-area: date;
    width: 100% !important;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-prev-btn { grid-area: prev; }
  body[data-page="dashboard"] .overview-redesign .overview-next-btn { grid-area: next; }
  body[data-page="dashboard"] .overview-redesign .overview-confirm-btn { grid-area: confirm; }

  body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
    width: 100% !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
    font-size: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card {
    padding: 16px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong {
    font-size: 17px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-emoji-copy em,
  body[data-page="dashboard"] .overview-redesign .overview-tip-card .overview-tip {
    font-size: 13px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
    font-size: 11.5px;
    white-space: normal;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
    min-height: 215px !important;
    padding: 14px 9px !important;
  }

  body[data-page="dashboard"] .overview-redesign .metric-heading { font-size: 13px; }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
    width: 82px !important;
    height: 82px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
    width: 62px !important;
    height: 62px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring span {
    font-size: 17px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong {
    font-size: 21px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > em {
    font-size: 11.5px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    grid-template-columns: 1fr;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-actions {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
    padding: 11px !important;
  }

  body[data-page="dashboard"] .overview-redesign .progress-title > span { font-size: 12px; }
  body[data-page="dashboard"] .overview-redesign .progress-title em { font-size: 11px !important; }

  body[data-page="dashboard"] .integrity-redesign {
    padding: 13px;
  }

  body[data-page="dashboard"] .integrity-redesign .section-title h2 { font-size: 16px; }
  body[data-page="dashboard"] .integrity-redesign .section-title p { font-size: 12px; }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div {
    min-height: 84px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 10px !important;
  }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid > div > img {
    width: 39px;
    height: 39px;
  }

  body[data-page="dashboard"] .dashboard-quick-actions .quick-card {
    min-height: 92px !important;
  }
}

/* 兼容旧版移动端日期布局规则：三个切换按钮保持同一行、等宽。 */
@media (max-width: 700px) {
  body[data-page="dashboard"] { overflow-x: hidden; }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-areas: none !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control .overview-date-field {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control #overviewPrevDayBtn {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control #overviewDateBtn {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control #overviewNextDayBtn {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }
}

/* ===== polish-v0_7_25.css ===== */
/* v0.7.25：圆角导航、首页概览对齐修复，以及趋势页每周总结重构。 */

/* ========== 全站顶部导航：恢复更柔和的胶囊形态 ========== */
.header-right {
  gap: 18px !important;
}

.nav-tabs {
  gap: 5px !important;
  padding: 6px !important;
  border-radius: 999px !important;
}

.nav-tabs a {
  padding: 9px 16px !important;
  border-radius: 999px !important;
}

body[data-page="dashboard"] .dashboard-header .header-actions {
  margin-top: 1px;
}

/* ========== 首页：今日概览标题、日期和说明文字重新对齐 ========== */
@media (min-width: 1241px) {
  body[data-page="dashboard"] .overview-redesign .overview-topbar {
    grid-template-columns: minmax(500px, 1.03fr) minmax(690px, 1.42fr) !important;
    gap: 42px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
    padding-right: 44px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-fold {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    justify-self: end !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    width: 100% !important;
    grid-template-columns: 300px auto auto auto !important;
    justify-content: stretch !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    width: 300px !important;
    grid-template-columns: 82px 206px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
    width: 206px !important;
    min-width: 206px !important;
    max-width: 206px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* 四个圆环卡片的内容整体在卡片内上下居中。 */
body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
  justify-content: center !important;
}

body[data-page="dashboard"] .overview-redesign .metric-heading {
  margin-bottom: 8px;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
  flex: 0 0 auto;
  margin: 0 0 10px !important;
}

/* ========== 趋势分析：每周总结新版 ========== */
body[data-page="analysis"] .weekly-panel-v3 {
  margin-top: 18px;
  padding: 26px;
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(126, 99, 255, .08), transparent 34%),
    rgba(255, 255, 255, .96);
}

.weekly-overview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.weekly-heading-group {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.weekly-heading-icon {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #7467ff, #8f45ee);
  box-shadow: 0 10px 24px rgba(111, 79, 234, .28);
}

.weekly-heading-icon img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.weekly-heading-group h2 {
  margin: 0 0 6px;
  color: #121a37;
  font-size: 27px;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: -.02em;
}

.weekly-heading-group p {
  margin: 0;
  color: #69758e;
  font-size: 14px;
  line-height: 1.55;
}

.weekly-range-pill {
  flex: 0 0 auto;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 17px;
  border: 1px solid #e0e5ef;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #252e49;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 5px 16px rgba(46, 65, 108, .06);
}

.weekly-range-pill img {
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.weekly-showcase-grid {
  display: grid;
  gap: 18px;
}

.weekly-primary-grid,
.weekly-secondary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.weekly-secondary-grid {
  margin-top: 18px;
}

.weekly-showcase-card,
.weekly-insight-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e5ee;
  border-radius: 19px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(250, 252, 255, .96));
  box-shadow: 0 8px 20px rgba(47, 66, 112, .055);
}

.weekly-showcase-card {
  min-height: 205px;
  display: flex;
  flex-direction: column;
  padding: 20px 21px;
}

.weekly-secondary-grid .weekly-showcase-card {
  min-height: 218px;
}

.weekly-card-title {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #202943;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
}

.weekly-card-title > img {
  flex: 0 0 auto;
  width: 27px;
  height: 27px;
  object-fit: contain;
}

.weekly-card-title > b {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #9aa6bc;
  border-radius: 50%;
  color: #7a879f;
  font-size: 11px;
  font-style: normal;
  cursor: help;
}

.weekly-main-value {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: auto;
}

.weekly-main-value strong {
  color: #1f9f71;
  font-size: clamp(38px, 3.4vw, 53px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.02;
}

.weekly-main-value span,
.weekly-showcase-card > em,
.weekly-main-value + em {
  color: #68748d;
  font-style: normal;
  font-size: 15px;
  line-height: 1.4;
}

.weekly-showcase-card > p {
  position: relative;
  z-index: 2;
  margin: 10px 0 0;
  color: #778198;
  font-size: 13px;
  line-height: 1.5;
}

.weekly-main-value.blue-value strong { color: #3765ee; }
.weekly-main-value.purple-value strong { color: #7a4cec; }

.weekly-weight-card > em {
  margin-top: 16px;
  color: #179d71;
  font-size: 14px;
  font-weight: 800;
}

.weekly-weight-card.trend-up .weekly-main-value strong,
.weekly-weight-card.trend-up > em { color: #e05e61; }

.weekly-weight-card.trend-flat .weekly-main-value strong,
.weekly-weight-card.trend-flat > em { color: #4f6ce8; }

.weekly-deficit-average-card > em {
  margin-top: 7px;
  color: #506078;
  font-size: 17px;
}

.weekly-protein-card .weekly-main-value {
  margin-top: 33px;
}

.weekly-progress-track {
  height: 13px;
  margin-top: auto;
  overflow: hidden;
  border-radius: 999px;
  background: #eef0f5;
}

.weekly-progress-track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8c4df1, #7043e7);
  transition: width .35s ease;
}

.weekly-protein-card > em {
  margin-top: 9px;
  font-size: 13px;
}

.weekly-goal-card {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #5385fa 0%, #6c66f4 56%, #9556ec 100%);
  box-shadow: 0 12px 28px rgba(82, 105, 239, .22);
}

.weekly-goal-card .weekly-card-title,
.weekly-goal-card .weekly-main-value strong,
.weekly-goal-card > em,
.weekly-goal-card > p {
  color: #fff;
}

.weekly-goal-card .weekly-main-value {
  margin-top: 34px;
}

.weekly-goal-card .weekly-main-value strong {
  font-size: clamp(40px, 3.6vw, 56px);
}

.weekly-goal-card > em {
  margin-top: 3px;
  font-size: 18px;
}

.weekly-goal-card > p {
  max-width: 78%;
  margin-top: auto;
  opacity: .94;
  font-size: 13px;
}

.weekly-card-watermark {
  position: absolute;
  right: 18px;
  top: 48px;
  width: 102px;
  height: 102px;
  object-fit: contain;
  opacity: .19;
  filter: brightness(0) invert(1);
}

.confidence-counts {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 43px;
  font-size: 31px;
  font-weight: 900;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.confidence-counts span {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
}

.confidence-counts strong {
  font: inherit;
}

.confidence-counts > i {
  width: 2px;
  height: 31px;
  border-radius: 99px;
  background: #25304a;
}

.confidence-a { color: #25a56e; }
.confidence-b { color: #3971ec; }
.confidence-c { color: #ef8b1e; }

.weekly-confidence-card-v3 > em {
  margin-top: 17px;
  color: #68758d;
  font-size: 13px;
}

.confidence-bars {
  display: flex;
  gap: 3px;
  height: 9px;
  margin-top: auto;
  overflow: hidden;
  border-radius: 999px;
  background: #edf0f5;
}

.confidence-bars i {
  flex: 0 1 0;
  width: auto;
  height: 100%;
  transition: flex-grow .35s ease;
}

.confidence-bars .bar-a { background: #2aae76; }
.confidence-bars .bar-b { background: #4c81ef; }
.confidence-bars .bar-c { background: #f29a2f; }

.weekly-status-card-v3 > strong,
.weekly-rule-card > strong,
.weekly-integrity-card-v3 > strong {
  position: relative;
  z-index: 2;
  display: block;
  margin-top: 34px;
  color: #131c37;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.45;
}

.weekly-status-card-v3 > em,
.weekly-rule-card > em,
.weekly-integrity-card-v3 > em {
  position: relative;
  z-index: 2;
  display: block;
  margin-top: 13px;
  padding-right: 38px;
  color: #67738a;
  font-size: 13px;
  line-height: 1.58;
  font-style: normal;
}

.weekly-corner-icon {
  position: absolute;
  right: 8px;
  bottom: -10px;
  width: 92px;
  height: 92px;
  object-fit: contain;
  opacity: .33;
}

.weekly-rule-card {
  border-color: #f0dfc7;
  background: linear-gradient(145deg, #fffdfa, #fffaf1);
}

.weekly-rule-card > strong {
  margin-top: 25px;
  padding-right: 45px;
}

.weekly-integrity-card-v3 {
  border-color: #cdddfa;
  background: linear-gradient(145deg, #fbfdff, #f4f8ff);
}

.weekly-insight-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 18px;
  margin-top: 18px;
}

.weekly-insight-card {
  min-height: 154px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  align-items: center;
  gap: 20px;
  padding: 21px 23px;
}

.weekly-weight-insight-card {
  border-color: #bfe4d7;
  background: linear-gradient(135deg, #f7fffb, #eefaf5);
}

.weekly-calibration-card {
  border-color: #bed5fa;
  background: linear-gradient(135deg, #f8fbff, #eef5ff);
}

.weekly-insight-copy {
  min-width: 0;
}

.weekly-insight-copy > strong {
  display: block;
  margin-top: 14px;
  color: #17213d;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.45;
}

.weekly-insight-copy > em {
  display: block;
  margin-top: 8px;
  color: #69768e;
  font-size: 13px;
  line-height: 1.55;
  font-style: normal;
}

.weekly-insight-visual {
  width: 128px;
  height: 92px;
  justify-self: end;
  object-fit: contain;
  opacity: .78;
}

body[data-page="analysis"] .weekly-panel-v3 .ai-weekly-box {
  margin-top: 20px;
  border-radius: 19px;
}

/* ========== 每周总结夜间模式 ========== */
body.theme-dark[data-page="analysis"] .weekly-panel-v3 {
  background:
    radial-gradient(circle at 100% 0%, rgba(112, 82, 235, .18), transparent 35%),
    rgba(15, 24, 42, .97);
}

body.theme-dark .weekly-heading-group h2,
body.theme-dark .weekly-card-title,
body.theme-dark .weekly-status-card-v3 > strong,
body.theme-dark .weekly-rule-card > strong,
body.theme-dark .weekly-integrity-card-v3 > strong,
body.theme-dark .weekly-insight-copy > strong {
  color: #f0f4ff;
}

body.theme-dark .weekly-heading-group p,
body.theme-dark .weekly-showcase-card > p,
body.theme-dark .weekly-showcase-card > em,
body.theme-dark .weekly-status-card-v3 > em,
body.theme-dark .weekly-rule-card > em,
body.theme-dark .weekly-integrity-card-v3 > em,
body.theme-dark .weekly-insight-copy > em {
  color: #aeb9d1;
}

body.theme-dark .weekly-range-pill {
  color: #e8eeff;
  border-color: #34415d;
  background: #151f34;
}

body.theme-dark .weekly-showcase-card,
body.theme-dark .weekly-insight-card {
  border-color: #33415d;
  background: linear-gradient(145deg, #18233a, #131d31);
}

body.theme-dark .weekly-rule-card { background: linear-gradient(145deg, #2c251b, #211d18); }
body.theme-dark .weekly-integrity-card-v3,
body.theme-dark .weekly-calibration-card { background: linear-gradient(145deg, #17253b, #142033); }
body.theme-dark .weekly-weight-insight-card { background: linear-gradient(145deg, #172a28, #142320); }
body.theme-dark .confidence-counts > i { background: #8090af; }
body.theme-dark .weekly-progress-track,
body.theme-dark .confidence-bars { background: #293650; }

/* ========== 每周总结响应式 ========== */
@media (max-width: 1180px) {
  .weekly-primary-grid,
  .weekly-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .weekly-showcase-card,
  .weekly-secondary-grid .weekly-showcase-card {
    min-height: 195px;
  }
}

@media (max-width: 760px) {
  .header-right { gap: 12px !important; }

  .nav-tabs {
    border-radius: 18px !important;
  }

  .nav-tabs a {
    padding: 8px 13px !important;
  }

  body[data-page="analysis"] .weekly-panel-v3 {
    padding: 15px;
    border-radius: 19px;
  }

  .weekly-overview-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 17px;
  }

  .weekly-heading-icon {
    width: 48px;
    height: 48px;
  }

  .weekly-heading-icon img {
    width: 27px;
    height: 27px;
  }

  .weekly-heading-group {
    gap: 12px;
  }

  .weekly-heading-group h2 { font-size: 22px; }
  .weekly-heading-group p { font-size: 12.5px; }

  .weekly-range-pill {
    width: 100%;
    min-height: 42px;
    justify-content: center;
    font-size: 13px;
  }

  .weekly-primary-grid,
  .weekly-secondary-grid,
  .weekly-insight-grid {
    grid-template-columns: 1fr;
  }

  .weekly-showcase-grid,
  .weekly-insight-grid {
    gap: 12px;
  }

  .weekly-secondary-grid,
  .weekly-insight-grid {
    margin-top: 12px;
  }

  .weekly-showcase-card,
  .weekly-secondary-grid .weekly-showcase-card {
    min-height: 176px;
    padding: 17px;
  }

  .weekly-main-value strong {
    font-size: 40px;
  }

  .weekly-goal-card .weekly-main-value strong {
    font-size: 43px;
  }

  .confidence-counts {
    margin-top: 28px;
    font-size: 28px;
  }

  .weekly-insight-card {
    min-height: 142px;
    grid-template-columns: minmax(0, 1fr) 88px;
    gap: 10px;
    padding: 17px;
  }

  .weekly-insight-visual {
    width: 82px;
    height: 70px;
  }

  .weekly-insight-copy > strong { font-size: 16px; }
}

/* ===== polish-v0_7_26.css ===== */
/* v0.7.26：统一页头操作框、放宽首页状态标签、优化完整性卡片与每周总结排版。 */

/* ========== 全站页头：操作区与主导航使用同一套胶囊外框 ========== */
@media (min-width: 761px) {
  .header-actions {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100%;
    align-self: flex-end !important;
    align-items: center;
    gap: 5px !important;
    flex-wrap: nowrap !important;
    padding: 6px !important;
    border: 1px solid #dce4f4;
    border-radius: 999px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 7px 20px rgba(44, 73, 150, .08);
  }

  .header-actions .ghost,
  .header-actions button.ghost {
    min-height: 38px;
    padding: 8px 14px;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent;
    box-shadow: none !important;
  }

  .header-actions .ghost:hover,
  .header-actions button.ghost:hover {
    background: #f1f5ff;
  }

  .header-actions .theme-toggle {
    min-height: 38px;
    border-radius: 999px !important;
  }

  body.theme-dark .header-actions {
    border-color: #303c59;
    background: rgba(18, 27, 48, .94);
  }

  body.theme-dark .header-actions .ghost:hover,
  body.theme-dark .header-actions button.ghost:hover {
    background: #202d48;
  }
}

/* ========== 首页状态标签：横向撑满，与上方说明文字等宽 ========== */
body[data-page="dashboard"] .overview-redesign .overview-status-panel,
body[data-page="dashboard"] .overview-redesign .overview-status-panel .overview-status-row {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .overview-status-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px;
  padding: 9px 12px !important;
  font-size: 13.5px;
  overflow: visible;
  text-overflow: clip;
}

/* ========== 首页记录完整性：小字保持一行，放大补录建议内容 ========== */
@media (min-width: 1101px) {
  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid {
    grid-template-columns: repeat(3, minmax(190px, .82fr)) minmax(420px, 1.55fr) !important;
  }
}

body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid em {
  font-size: 12.5px;
  line-height: 1.35;
  white-space: nowrap;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card {
  grid-template-columns: 56px minmax(0, 1fr) !important;
  gap: 15px !important;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card > img {
  width: 52px !important;
  height: 52px !important;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card span {
  font-size: 14px;
  font-weight: 850;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card strong {
  margin-top: 4px;
  font-size: 16px !important;
  line-height: 1.45;
}

body[data-page="dashboard"] .integrity-redesign .integrity-note-card em {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.45;
  white-space: normal;
}

/* ========== 每周总结：整体字号略收敛，四张主卡数值和单位统一对齐 ========== */
body[data-page="analysis"] .weekly-panel-v3 {
  padding: 23px;
}

.weekly-heading-icon {
  width: 54px;
  height: 54px;
}

.weekly-heading-icon img {
  width: 29px;
  height: 29px;
}

.weekly-heading-group h2 {
  font-size: 24px;
}

.weekly-heading-group p,
.weekly-range-pill {
  font-size: 13px;
}

.weekly-showcase-card {
  min-height: 198px;
  padding: 18px 19px;
}

.weekly-secondary-grid .weekly-showcase-card {
  min-height: 208px;
}

.weekly-card-title {
  font-size: 14px;
}

.weekly-card-title > img {
  width: 25px;
  height: 25px;
}

.weekly-primary-grid .weekly-card-title {
  min-height: 38px;
  align-items: flex-start;
}

.weekly-primary-grid .weekly-main-value,
.weekly-protein-card .weekly-main-value,
.weekly-goal-card .weekly-main-value {
  min-height: 56px;
  margin-top: 16px !important;
  align-items: flex-end;
}

.weekly-primary-grid .weekly-main-value strong,
.weekly-goal-card .weekly-main-value strong {
  font-size: clamp(36px, 3vw, 44px);
  line-height: .96;
}

.weekly-primary-grid .weekly-main-value span {
  align-self: flex-end;
  margin-bottom: 4px;
  color: #68748d;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.15;
  white-space: nowrap;
}

.weekly-goal-card .weekly-main-value span {
  color: #fff;
}

.weekly-weight-card > em {
  margin-top: auto;
  font-size: 13px;
}

.weekly-deficit-average-card > p,
.weekly-goal-card > p {
  margin-top: auto;
}

.weekly-progress-track {
  height: 11px;
  margin-top: auto;
}

.weekly-protein-card > em,
.weekly-showcase-card > p {
  font-size: 12.5px;
}

/* 第二行：饮食确认状态与左侧 A/B/C 数值严格同高同字号。 */
.weekly-secondary-grid .weekly-card-title {
  min-height: 27px;
}

.confidence-counts,
.weekly-status-card-v3 > strong {
  margin-top: 38px !important;
  font-size: 27px !important;
  line-height: 1.08;
  letter-spacing: -.02em;
}

.weekly-status-card-v3 > strong {
  white-space: nowrap;
}

.weekly-status-card-v3 > em,
.weekly-rule-card > em,
.weekly-integrity-card-v3 > em {
  font-size: 12.5px;
}

.weekly-rule-card > strong,
.weekly-integrity-card-v3 > strong {
  font-size: 17px;
}

.weekly-insight-copy > strong {
  font-size: 17px;
}

.weekly-insight-copy > em {
  font-size: 12.5px;
}

body.theme-dark .weekly-primary-grid .weekly-main-value span {
  color: #aeb9d1;
}

body.theme-dark .weekly-goal-card .weekly-main-value span {
  color: #fff;
}

@media (max-width: 760px) {
  body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
    min-height: 34px;
    font-size: 11.5px;
  }

  body[data-page="dashboard"] .integrity-redesign .dashboard-integrity-grid em {
    font-size: 10.5px;
    white-space: nowrap;
  }

  body[data-page="dashboard"] .integrity-redesign .integrity-note-card strong {
    font-size: 14px !important;
  }

  body[data-page="dashboard"] .integrity-redesign .integrity-note-card em {
    font-size: 11.5px;
    white-space: normal;
  }

  body[data-page="analysis"] .weekly-panel-v3 {
    padding: 15px;
  }

  .weekly-heading-group h2 {
    font-size: 21px;
  }

  .weekly-showcase-card,
  .weekly-secondary-grid .weekly-showcase-card {
    min-height: 172px;
  }

  .weekly-primary-grid .weekly-main-value strong,
  .weekly-goal-card .weekly-main-value strong {
    font-size: 38px;
  }

  .weekly-primary-grid .weekly-main-value span {
    margin-bottom: 3px;
    font-size: 12px;
  }

  .confidence-counts,
  .weekly-status-card-v3 > strong {
    margin-top: 28px !important;
    font-size: 23px !important;
  }

  .weekly-status-card-v3 > strong {
    white-space: normal;
  }
}

/* ===== polish-v0_7_27.css ===== */
/* v0.7.27：身体与目标页面参照新版设计重排。 */
body[data-page="body"] .body-dashboard-v027 {
  width: min(1320px, calc(100% - 40px));
  display: grid;
  gap: 20px;
  margin-bottom: 84px;
}

body[data-page="body"] .body-dashboard-v027 > .card,
body[data-page="body"] .body-status-grid > .card,
body[data-page="body"] .body-bottom-grid > .card {
  border-radius: 24px;
  border: 1px solid rgba(210, 219, 238, .82);
  box-shadow: 0 12px 34px rgba(46, 69, 118, .075);
  background: rgba(255, 255, 255, .93);
}

body[data-page="body"] .body-goal-panel,
body[data-page="body"] .body-weekly-panel,
body[data-page="body"] .body-entry-panel {
  padding: 24px;
}

body[data-page="body"] .body-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 22px;
}

body[data-page="body"] .body-panel-title {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

body[data-page="body"] .body-panel-title h2 {
  margin: 0 0 5px;
  color: #111b36;
  font-size: 22px;
  line-height: 1.2;
}

body[data-page="body"] .body-panel-title p {
  margin: 0;
  color: #74809a;
  font-size: 13px;
  line-height: 1.55;
}

body[data-page="body"] .body-panel-icon,
body[data-page="body"] .snapshot-icon,
body[data-page="body"] .metric-icon,
body[data-page="body"] .body-status-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 15px;
}

body[data-page="body"] .body-panel-icon {
  width: 44px;
  height: 44px;
}

body[data-page="body"] .body-panel-icon img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

body[data-page="body"] .icon-blue { background: linear-gradient(145deg, #edf4ff, #e3ecff); }
body[data-page="body"] .icon-purple { background: linear-gradient(145deg, #f1edff, #e7e2ff); }
body[data-page="body"] .icon-rose { background: linear-gradient(145deg, #fff0f3, #ffe5eb); }
body[data-page="body"] .icon-green { background: linear-gradient(145deg, #eafbf2, #dcf7e9); }
body[data-page="body"] .icon-orange { background: linear-gradient(145deg, #fff4e7, #ffe9cf); }

/* 目标设置 */
body[data-page="body"] .body-goal-form {
  display: grid;
  gap: 18px;
}

body[data-page="body"] .body-goal-fields {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px 18px;
}

body[data-page="body"] .body-goal-fields .field {
  min-width: 0;
  gap: 8px;
}

body[data-page="body"] .body-goal-fields label,
body[data-page="body"] .body-entry-form-v027 label {
  color: #4d5971;
  font-size: 13px;
  font-weight: 800;
}

body[data-page="body"] .body-goal-fields input,
body[data-page="body"] .body-goal-fields select,
body[data-page="body"] .body-entry-form-v027 input,
body[data-page="body"] .body-entry-form-v027 select {
  min-height: 46px;
  border-radius: 12px;
  border-color: #dce3f0;
  background: #fff;
  font-size: 15px;
}

body[data-page="body"] .body-static-field {
  min-height: 46px;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #dce3f0;
  border-radius: 12px;
  color: #66728a;
  background: #f8faff;
  font-size: 12px;
  line-height: 1.45;
}

body[data-page="body"] .body-goal-snapshots {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

body[data-page="body"] .body-goal-snapshots article {
  min-width: 0;
  min-height: 94px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid #edf0f7;
  border-radius: 17px;
  background: linear-gradient(145deg, #fbfcff, #f7f9ff);
}

body[data-page="body"] .snapshot-icon {
  width: 46px;
  height: 46px;
}

body[data-page="body"] .snapshot-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

body[data-page="body"] .body-goal-snapshots div {
  min-width: 0;
}

body[data-page="body"] .body-goal-snapshots small,
body[data-page="body"] .body-goal-snapshots strong,
body[data-page="body"] .body-goal-snapshots em {
  display: block;
}

body[data-page="body"] .body-goal-snapshots small {
  color: #65718a;
  font-size: 12px;
  font-weight: 800;
}

body[data-page="body"] .body-goal-snapshots strong {
  margin-top: 3px;
  color: #111b36;
  font-size: 22px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page="body"] .body-goal-snapshots em {
  margin-top: 4px;
  color: #8a94a8;
  font-size: 11px;
  font-style: normal;
}

body[data-page="body"] .body-goal-save,
body[data-page="body"] .body-entry-save {
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
  background: linear-gradient(90deg, #2468ed 0%, #277af3 48%, #12b8cf 100%);
  box-shadow: 0 10px 24px rgba(37, 112, 238, .18);
}

body[data-page="body"] .body-goal-save:hover,
body[data-page="body"] .body-entry-save:hover {
  filter: brightness(.97);
}

/* 每周总结 */
body[data-page="body"] .body-weekly-heading {
  align-items: center;
  margin-bottom: 18px;
}

body[data-page="body"] .body-date-range {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid #e0e6f1;
  border-radius: 999px;
  color: #536079;
  background: #fbfcff;
  font-size: 13px;
  font-weight: 800;
}

body[data-page="body"] .body-weekly-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

body[data-page="body"] .body-weekly-metric {
  min-width: 0;
  min-height: 105px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid #edf0f7;
  border-radius: 16px;
  background: #fafbff;
}

body[data-page="body"] .body-weekly-metric .metric-icon {
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 5px 15px rgba(65, 84, 128, .08);
}

body[data-page="body"] .body-weekly-metric .metric-icon img {
  width: 27px;
  height: 27px;
  object-fit: contain;
}

body[data-page="body"] .body-weekly-metric > div {
  min-width: 0;
}

body[data-page="body"] .body-weekly-metric small,
body[data-page="body"] .body-weekly-metric span {
  display: block;
}

body[data-page="body"] .body-weekly-metric small {
  color: #5e6a82;
  font-size: 13px;
  font-weight: 800;
}

body[data-page="body"] .body-weekly-metric p {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 5px 0 3px;
}

body[data-page="body"] .body-weekly-metric strong {
  color: #16203a;
  font-size: 26px;
  line-height: 1;
}

body[data-page="body"] .body-weekly-metric em {
  color: #59657c;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

body[data-page="body"] .body-weekly-metric span {
  color: #8a94a8;
  font-size: 11px;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page="body"] .metric-blue { background: linear-gradient(145deg, #f5f8ff, #f8faff); }
body[data-page="body"] .metric-cyan { background: linear-gradient(145deg, #f1fbff, #f8fdff); }
body[data-page="body"] .metric-green { background: linear-gradient(145deg, #f3fcf8, #f9fdfb); }
body[data-page="body"] .metric-purple { background: linear-gradient(145deg, #f7f4ff, #fbfaff); }

body[data-page="body"] .body-food-status-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #edf0f7;
  border-radius: 15px;
  background: #fafbff;
}

body[data-page="body"] .body-food-status-badge {
  display: grid;
  place-items: center;
  width: 66px;
  height: 48px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #5687f8, #7567ef);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .03em;
}

body[data-page="body"] .body-food-status-copy,
body[data-page="body"] .body-confidence-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 12px;
  align-items: baseline;
}

body[data-page="body"] .body-food-status-copy strong,
body[data-page="body"] .body-confidence-copy strong {
  grid-row: 1 / span 2;
  color: #2b3650;
  font-size: 13px;
}

body[data-page="body"] .body-food-status-copy span,
body[data-page="body"] .body-confidence-copy span {
  color: #16203a;
  font-size: 14px;
  font-weight: 900;
}

body[data-page="body"] .body-food-status-copy em,
body[data-page="body"] .body-confidence-copy em {
  color: #8a94a8;
  font-size: 11px;
  font-style: normal;
}

body[data-page="body"] .body-weekly-table-wrap {
  border-radius: 14px;
  border-color: #e6ebf4;
  box-shadow: none;
}

body[data-page="body"] .body-summary-table {
  min-width: 1080px;
}

body[data-page="body"] .body-summary-table th {
  padding: 11px 10px;
  color: #59657b;
  background: #f7f8fc;
  font-size: 12px;
}

body[data-page="body"] .body-summary-table td {
  padding: 10px;
  color: #34405a;
  font-size: 12px;
}

body[data-page="body"] .body-summary-table tbody tr:hover td {
  background: #fafcff;
}

body[data-page="body"] .body-summary-table .actions-cell {
  gap: 5px;
}

body[data-page="body"] .body-summary-table .small-btn,
body[data-page="body"] .body-summary-table .danger {
  width: 30px;
  min-width: 30px;
  min-height: 30px;
  height: 30px;
  padding: 0;
  border-radius: 9px;
  font-size: 0;
}

body[data-page="body"] .body-summary-table .small-btn::before {
  content: "✎";
  font-size: 14px;
}

body[data-page="body"] .body-summary-table .danger::before {
  content: "▱";
  font-size: 14px;
}

body[data-page="body"] .body-table-footnote {
  margin: 10px 2px 0;
  color: #8a94a8;
  font-size: 11px;
}

/* 同步与身体概览 */
body[data-page="body"] .body-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body[data-page="body"] .body-status-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 360px;
  padding: 20px;
}

body[data-page="body"] .body-status-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
}

body[data-page="body"] .status-apple::before { background: linear-gradient(90deg, #38c58b, #72dfa9); }
body[data-page="body"] .status-fitness::before { background: linear-gradient(90deg, #5b8df5, #79b8ff); }
body[data-page="body"] .status-overview::before { background: linear-gradient(90deg, #8a6bf0, #bd89ff); }

body[data-page="body"] .body-status-head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 15px;
}

body[data-page="body"] .body-status-icon {
  width: 40px;
  height: 40px;
  background: #f3f7ff;
}

body[data-page="body"] .body-status-icon img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}

body[data-page="body"] .body-status-head h2 {
  margin: 0 0 4px;
  color: #18223c;
  font-size: 18px;
}

body[data-page="body"] .body-status-head p {
  margin: 0;
  color: #8a94a8;
  font-size: 11px;
  line-height: 1.45;
}

body[data-page="body"] .body-status-head p strong,
body[data-page="body"] .body-status-head p span {
  color: #5f6c85;
}

body[data-page="body"] .body-status-list,
body[data-page="body"] .body-overview-list {
  display: grid;
  gap: 0;
  border: 1px solid #e8edf5;
  border-radius: 13px;
  overflow: hidden;
  background: rgba(255,255,255,.74);
}

body[data-page="body"] .body-status-list > div,
body[data-page="body"] .body-overview-list > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border-bottom: 1px solid #edf0f5;
}

body[data-page="body"] .body-status-list > div:last-child,
body[data-page="body"] .body-overview-list > div:last-child {
  border-bottom: 0;
}

body[data-page="body"] .body-status-list span,
body[data-page="body"] .body-overview-list span {
  color: #7d889d;
  font-size: 11px;
  font-weight: 700;
}

body[data-page="body"] .body-status-list strong,
body[data-page="body"] .body-overview-list strong {
  min-width: 0;
  color: #34405a;
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body[data-page="body"] .body-overview-list strong {
  text-align: right;
  color: #1a2440;
  font-size: 16px;
}

body[data-page="body"] .body-status-tip {
  margin: 11px 1px 0;
  color: #7c879b;
  font-size: 11px;
  line-height: 1.55;
}

body[data-page="body"] .body-status-action {
  width: 100%;
  min-height: 42px;
  margin-top: auto;
  padding: 10px 14px;
  border: 1px solid #dce5f6;
  border-radius: 11px;
  color: #2774df;
  background: #f5f8ff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
}

body[data-page="body"] .status-apple .body-status-action { color: #15906a; background: #effbf6; border-color: #d4f2e4; }
body[data-page="body"] .status-overview .body-status-action { color: #7156dc; background: #f6f3ff; border-color: #e6ddff; }
body[data-page="body"] .body-status-action.is-passive { cursor: default; }

/* 每日数据录入 */
body[data-page="body"] .body-entry-form-v027 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px 17px;
  align-items: end;
}

body[data-page="body"] .body-entry-form-v027 .field {
  min-width: 0;
}

body[data-page="body"] .body-entry-form-v027 .sleep-inputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body[data-page="body"] .body-entry-note {
  grid-column: span 4;
}

body[data-page="body"] .body-entry-help {
  grid-column: 1 / -1;
  padding: 11px 13px;
  border-radius: 11px;
  color: #68748b;
  background: #f6f8fc;
  font-size: 12px;
  line-height: 1.55;
}

body[data-page="body"] .body-entry-save {
  grid-column: 1 / -1;
}

/* 底部设置与数据管理 */
body[data-page="body"] .body-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

body[data-page="body"] .body-bottom-card {
  min-width: 0;
  padding: 20px;
}

body[data-page="body"] .compact-heading {
  margin-bottom: 15px;
}

body[data-page="body"] .account-summary-box {
  min-height: 74px;
  display: flex;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #e5eaf3;
  border-radius: 12px;
  color: #66728a;
  background: #fbfcff;
  font-size: 13px;
  line-height: 1.65;
}

body[data-page="body"] .body-account-actions,
body[data-page="body"] .body-data-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

body[data-page="body"] .body-data-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="body"] .body-account-actions > *,
body[data-page="body"] .body-data-actions > * {
  width: 100%;
  min-height: 44px;
  border-radius: 11px;
  font-size: 13px;
}

body[data-page="body"] .body-helper-tip {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 18px;
  border: 1px solid #d9e7ff;
  border-radius: 17px;
  color: #5e6d88;
  background: linear-gradient(90deg, #f0f7ff, #f6f9ff);
}

body[data-page="body"] .body-helper-tip > span {
  font-size: 20px;
}

body[data-page="body"] .body-helper-tip strong {
  display: block;
  margin-bottom: 3px;
  color: #2864c6;
  font-size: 13px;
}

body[data-page="body"] .body-helper-tip p {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
}

/* 暗色模式 */
body[data-page="body"].theme-dark .body-dashboard-v027 > .card,
body[data-page="body"].theme-dark .body-status-grid > .card,
body[data-page="body"].theme-dark .body-bottom-grid > .card {
  border-color: rgba(91, 108, 143, .42);
  background: rgba(25, 32, 48, .94);
}

body[data-page="body"].theme-dark .body-panel-title h2,
body[data-page="body"].theme-dark .body-goal-snapshots strong,
body[data-page="body"].theme-dark .body-weekly-metric strong,
body[data-page="body"].theme-dark .body-status-head h2,
body[data-page="body"].theme-dark .body-overview-list strong,
body[data-page="body"].theme-dark .body-food-status-copy span,
body[data-page="body"].theme-dark .body-confidence-copy span {
  color: #f1f5ff;
}

body[data-page="body"].theme-dark .body-panel-title p,
body[data-page="body"].theme-dark .body-goal-snapshots small,
body[data-page="body"].theme-dark .body-goal-snapshots em,
body[data-page="body"].theme-dark .body-weekly-metric small,
body[data-page="body"].theme-dark .body-weekly-metric span,
body[data-page="body"].theme-dark .body-status-head p,
body[data-page="body"].theme-dark .body-table-footnote {
  color: #aab5ca;
}

body[data-page="body"].theme-dark .body-goal-fields input,
body[data-page="body"].theme-dark .body-entry-form-v027 input,
body[data-page="body"].theme-dark .body-entry-form-v027 select,
body[data-page="body"].theme-dark .body-static-field,
body[data-page="body"].theme-dark .body-goal-snapshots article,
body[data-page="body"].theme-dark .body-weekly-metric,
body[data-page="body"].theme-dark .body-food-status-row,
body[data-page="body"].theme-dark .body-status-list,
body[data-page="body"].theme-dark .body-overview-list,
body[data-page="body"].theme-dark .account-summary-box {
  border-color: rgba(96, 112, 145, .42);
  background: rgba(31, 39, 57, .78);
  color: #d8deec;
}

body[data-page="body"].theme-dark .body-summary-table th { background: #222b3f; color: #bdc7d9; }
body[data-page="body"].theme-dark .body-summary-table td { background: #1d2537; color: #d5dceb; border-color: #303b53; }
body[data-page="body"].theme-dark .body-helper-tip { border-color: #35517b; background: linear-gradient(90deg, #1f304a, #232d43); color: #b8c5da; }

@media (max-width: 1180px) {
  body[data-page="body"] .body-goal-fields,
  body[data-page="body"] .body-entry-form-v027 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-page="body"] .body-goal-snapshots {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-page="body"] .body-entry-note {
    grid-column: span 2;
  }
  body[data-page="body"] .body-status-grid {
    grid-template-columns: 1fr 1fr;
  }
  body[data-page="body"] .body-status-grid > :last-child {
    grid-column: 1 / -1;
    min-height: 0;
  }
}

@media (max-width: 920px) {
  body[data-page="body"] .body-weekly-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="body"] .body-status-grid,
  body[data-page="body"] .body-bottom-grid {
    grid-template-columns: 1fr;
  }
  body[data-page="body"] .body-status-grid > :last-child {
    grid-column: auto;
  }
  body[data-page="body"] .body-status-card {
    min-height: 0;
  }
  body[data-page="body"] .body-status-action {
    margin-top: 16px;
  }
  body[data-page="body"] .body-food-status-row {
    grid-template-columns: auto 1fr;
  }
  body[data-page="body"] .body-confidence-copy {
    grid-column: 2;
  }
}

@media (max-width: 720px) {
  body[data-page="body"] .body-dashboard-v027 {
    width: min(100% - 18px, 1320px) !important;
    gap: 13px;
    margin-bottom: 100px;
  }

  body[data-page="body"] .body-dashboard-v027 > .card,
  body[data-page="body"] .body-status-grid > .card,
  body[data-page="body"] .body-bottom-grid > .card {
    border-radius: 18px;
  }

  body[data-page="body"] .body-goal-panel,
  body[data-page="body"] .body-weekly-panel,
  body[data-page="body"] .body-entry-panel,
  body[data-page="body"] .body-bottom-card,
  body[data-page="body"] .body-status-card {
    padding: 15px;
  }

  body[data-page="body"] .body-panel-heading {
    margin-bottom: 14px;
    gap: 10px;
  }

  body[data-page="body"] .body-panel-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  body[data-page="body"] .body-panel-icon img {
    width: 23px;
    height: 23px;
  }

  body[data-page="body"] .body-panel-title {
    gap: 10px;
  }

  body[data-page="body"] .body-panel-title h2 {
    font-size: 18px;
  }

  body[data-page="body"] .body-panel-title p {
    font-size: 11px;
  }

  body[data-page="body"] .body-goal-fields,
  body[data-page="body"] .body-entry-form-v027 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body[data-page="body"] .body-goal-note,
  body[data-page="body"] .body-entry-note,
  body[data-page="body"] .body-entry-help,
  body[data-page="body"] .body-entry-save {
    grid-column: 1 / -1;
  }

  body[data-page="body"] .body-goal-fields input,
  body[data-page="body"] .body-entry-form-v027 input,
  body[data-page="body"] .body-entry-form-v027 select,
  body[data-page="body"] .body-static-field {
    min-height: 42px;
    padding: 9px 10px;
    font-size: 13px;
  }

  body[data-page="body"] .body-goal-snapshots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body[data-page="body"] .body-goal-snapshots article {
    min-height: 78px;
    padding: 10px;
    gap: 8px;
  }

  body[data-page="body"] .snapshot-icon {
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }

  body[data-page="body"] .snapshot-icon img {
    width: 22px;
    height: 22px;
  }

  body[data-page="body"] .body-goal-snapshots strong {
    font-size: 17px;
  }

  body[data-page="body"] .body-date-range {
    display: none;
  }

  body[data-page="body"] .body-weekly-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body[data-page="body"] .body-weekly-metric {
    min-height: 94px;
    padding: 11px;
    gap: 8px;
  }

  body[data-page="body"] .body-weekly-metric .metric-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
  }

  body[data-page="body"] .body-weekly-metric .metric-icon img {
    width: 21px;
    height: 21px;
  }

  body[data-page="body"] .body-weekly-metric small {
    font-size: 11px;
  }

  body[data-page="body"] .body-weekly-metric strong {
    font-size: 21px;
  }

  body[data-page="body"] .body-weekly-metric span {
    font-size: 10px;
  }

  body[data-page="body"] .body-food-status-row {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
  }

  body[data-page="body"] .body-food-status-badge {
    width: 52px;
    height: 44px;
    font-size: 16px;
  }

  body[data-page="body"] .body-food-status-copy,
  body[data-page="body"] .body-confidence-copy {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  body[data-page="body"] .body-food-status-copy strong,
  body[data-page="body"] .body-confidence-copy strong {
    grid-row: auto;
    font-size: 11px;
  }

  body[data-page="body"] .body-food-status-copy span,
  body[data-page="body"] .body-confidence-copy span {
    font-size: 12px;
  }

  body[data-page="body"] .body-summary-table {
    min-width: 0 !important;
  }

  body[data-page="body"] .body-summary-table tbody tr {
    padding: 12px !important;
    border-radius: 15px !important;
  }

  body[data-page="body"] .body-summary-table td {
    font-size: 12px !important;
  }

  body[data-page="body"] .body-status-list > div,
  body[data-page="body"] .body-overview-list > div {
    grid-template-columns: 80px minmax(0, 1fr);
  }

  body[data-page="body"] .body-account-actions,
  body[data-page="body"] .body-data-actions {
    grid-template-columns: 1fr;
  }

  body[data-page="body"] .body-helper-tip {
    padding: 13px 14px;
  }
}

@media (max-width: 460px) {
  body[data-page="body"] .body-goal-fields,
  body[data-page="body"] .body-entry-form-v027 {
    grid-template-columns: 1fr;
  }

  body[data-page="body"] .body-goal-note,
  body[data-page="body"] .body-entry-note {
    grid-column: auto;
  }

  body[data-page="body"] .body-goal-snapshots {
    grid-template-columns: 1fr 1fr;
  }
}

/* ===== polish-v0_7_28.css ===== */
/* v0.7.28：首页今日概览按新版展示图重排，并统一身体与目标页面宽度。 */

/* ========== 首页页头：压缩“今天你吃对了吗”所占高度 ========== */
body[data-page="dashboard"] .dashboard-header {
  width: min(1440px, calc(100% - 36px));
  min-height: 0;
  align-items: center;
  gap: 24px;
  padding-top: 13px;
  padding-bottom: 10px;
}

body[data-page="dashboard"] .dashboard-header .header-copy {
  flex: 0 1 470px;
  max-width: 470px;
  padding-top: 0;
}

body[data-page="dashboard"] .dashboard-header h1 {
  margin: 0 0 4px;
  font-size: clamp(30px, 2.45vw, 38px);
  line-height: 1.04;
}

body[data-page="dashboard"] .dashboard-header .sub {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
}

body[data-page="dashboard"] .dashboard-header .header-right {
  justify-content: center;
  gap: 8px;
}

body[data-page="dashboard"] .dashboard-header .nav-tabs,
body[data-page="dashboard"] .dashboard-header .header-actions {
  min-height: 48px;
}

/* ========== 今日概览：参考展示图的留白、层级与卡片比例 ========== */
body[data-page="dashboard"] .overview-redesign {
  padding: 23px 23px 20px;
  border-radius: 24px;
  border-color: #dfe6f1;
  background:
    radial-gradient(circle at 95% 0%, rgba(91, 124, 242, .045), transparent 34%),
    rgba(255, 255, 255, .97);
  box-shadow: 0 12px 34px rgba(46, 69, 118, .07);
}

body[data-page="dashboard"] .overview-redesign .daily-overview-shell {
  gap: 17px;
}

body[data-page="dashboard"] .overview-redesign .overview-topbar {
  grid-template-columns: minmax(430px, .86fr) minmax(660px, 1.52fr) !important;
  align-items: start;
  gap: 30px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
  padding: 0 18px 2px 2px;
}

body[data-page="dashboard"] .overview-redesign .overview-kicker {
  gap: 8px;
  color: #3666e9;
  font-size: 15px;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .overview-kicker img {
  width: 20px;
  height: 20px;
}

body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
  margin-top: 12px !important;
  color: #07142e;
  font-size: clamp(42px, 3.55vw, 56px) !important;
  line-height: 1.02;
  letter-spacing: -.035em;
}

body[data-page="dashboard"] .overview-redesign .overview-date-fold {
  width: 100%;
  max-width: none;
  padding-top: 0;
}

body[data-page="dashboard"] .overview-redesign .overview-date-control {
  width: 100% !important;
  grid-template-columns: minmax(282px, 1fr) auto auto auto !important;
  justify-content: stretch !important;
  gap: 11px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field {
  width: 100% !important;
  grid-template-columns: 84px minmax(150px, 1fr) !important;
  gap: 8px;
  min-height: 48px;
  padding: 0 12px;
  border: 1px solid #dfe6f1;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 4px 13px rgba(53, 75, 121, .045);
}

body[data-page="dashboard"] .overview-redesign .overview-date-field label {
  font-size: 14px;
  white-space: nowrap;
}

body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 46px;
  padding: 8px 4px 8px 10px;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 15px;
  font-weight: 850;
}

body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
  min-width: 110px;
  height: 48px;
  padding: 9px 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 900;
}

body[data-page="dashboard"] .overview-redesign .overview-confirm-btn {
  min-width: 116px !important;
  color: #fff;
  border-color: #2f64ef;
  background: linear-gradient(135deg, #3972f5, #2459e8);
  box-shadow: 0 8px 19px rgba(43, 95, 236, .22);
}

body[data-page="dashboard"] .overview-redesign .overview-prev-btn,
body[data-page="dashboard"] .overview-redesign .overview-next-btn {
  color: #4168df;
  border-color: #dfe6f1;
  background: #fff;
  box-shadow: 0 4px 13px rgba(53, 75, 121, .04);
}

body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
  display: block;
  width: 100%;
  margin: 11px 0 0 !important;
  color: #5e6b84;
  font-size: 13px;
  line-height: 1.58 !important;
}

body[data-page="dashboard"] .overview-redesign .overview-fold-formula span {
  display: inline;
}

body[data-page="dashboard"] .overview-redesign .overview-fold-formula span + span::before {
  content: " ";
}

body[data-page="dashboard"] .overview-redesign .overview-main-grid {
  grid-template-columns: minmax(410px, .92fr) minmax(760px, 1.75fr) !important;
  align-items: stretch;
  gap: 18px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-summary-panel,
body[data-page="dashboard"] .overview-redesign .overview-metrics-panel {
  min-width: 0;
}

body[data-page="dashboard"] .overview-redesign .overview-status-card {
  min-height: 350px;
  padding: 20px 21px !important;
  border: 1px solid #dfe6f1;
  border-radius: 18px;
  background: linear-gradient(145deg, #fbfcff 0%, #f7f9fd 100%);
  box-shadow: 0 8px 22px rgba(48, 72, 121, .05);
}

body[data-page="dashboard"] .overview-redesign .overview-status-head {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
}

body[data-page="dashboard"] .overview-redesign .overview-state-emoji {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  font-size: 33px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong {
  color: #121c36;
  font-size: 19px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-emoji-copy em {
  margin-top: 5px;
  color: #63708a;
  font-size: 13px !important;
  line-height: 1.52;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card {
  margin-top: 16px;
  padding-top: 15px !important;
  border-top-color: #e1e7f1 !important;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card .advice-title {
  margin-bottom: 8px;
  color: #17213b;
  font-size: 15px;
}

body[data-page="dashboard"] .overview-redesign .overview-tip-card .overview-tip {
  color: #536079;
  font-size: 13px;
  line-height: 1.72;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel {
  padding-top: 16px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .overview-status-row {
  gap: 10px 12px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
  min-height: 40px;
  padding: 9px 12px !important;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 850;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
  gap: 14px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
  min-height: 350px !important;
  padding: 22px 14px 18px !important;
  border: 1px solid #dfe6f1;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fff 0%, #fcfdff 100%);
  box-shadow: 0 8px 22px rgba(48, 72, 121, .055);
  justify-content: flex-start !important;
}

body[data-page="dashboard"] .overview-redesign .metric-heading {
  min-height: 32px;
  margin-bottom: 8px;
  gap: 9px;
  color: #18213a;
  font-size: 15px;
}

body[data-page="dashboard"] .overview-redesign .metric-heading img {
  width: 25px;
  height: 25px;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
  width: 116px !important;
  height: 116px !important;
  margin: 7px 0 16px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
  width: 88px !important;
  height: 88px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring span {
  font-size: 21px !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d162c;
  font-size: clamp(25px, 2vw, 31px) !important;
  line-height: 1.12 !important;
}

body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > em {
  max-width: 185px;
  margin-top: 9px !important;
  color: #66728a;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

/* 饮食状态横条 */
body[data-page="dashboard"] .overview-redesign .overview-record-strip {
  min-height: 100px;
  grid-template-columns: minmax(420px, 1.2fr) auto minmax(260px, .46fr);
  gap: 22px;
  padding: 14px 17px !important;
  border: 1px solid #dfe6f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(48, 72, 121, .04);
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy {
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 13px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon {
  width: 50px;
  height: 50px;
  border-radius: 13px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-icon img {
  width: 38px;
  height: 38px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy strong {
  font-size: 16px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-copy p {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.45;
}

body[data-page="dashboard"] .overview-redesign #dailyConfidenceHint {
  margin-top: 3px;
  font-size: 12px;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions {
  padding: 5px;
  border: 1px solid #e1e7f1;
  border-radius: 13px;
  background: #f8faff;
}

body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice {
  min-height: 40px;
  padding: 8px 15px;
  border-radius: 9px;
  font-size: 13px;
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
  min-height: 66px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  padding: 11px 13px;
  border: 1px solid #f0e7ca;
  border-radius: 14px;
  background: linear-gradient(135deg, #fffdf5, #fff9e8);
}

body[data-page="dashboard"] .overview-redesign .daily-confidence-card img {
  width: 39px;
  height: 39px;
}

/* 底部四项进度整合成一张连续横条 */
body[data-page="dashboard"] .overview-redesign .overview-progress-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid #dfe6f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(48, 72, 121, .04);
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
  position: relative;
  min-height: 94px !important;
  padding: 15px 18px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line + .progress-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 17px;
  bottom: 17px;
  width: 1px;
  background: #e5eaf2;
}

body[data-page="dashboard"] .overview-redesign .progress-title {
  margin-bottom: 13px !important;
}

body[data-page="dashboard"] .overview-redesign .progress-title > span {
  color: #253049;
  font-size: 13px;
}

body[data-page="dashboard"] .overview-redesign .progress-title img {
  width: 22px;
  height: 22px;
}

body[data-page="dashboard"] .overview-redesign .progress-title em {
  color: #56637c;
  font-size: 12px !important;
  font-weight: 800;
}

body[data-page="dashboard"] .overview-redesign .progress-bar-row {
  gap: 13px;
}

body[data-page="dashboard"] .overview-redesign .progress-bar-row .bar {
  height: 10px;
}

body[data-page="dashboard"] .overview-redesign .progress-bar-row > strong {
  min-width: 34px;
  font-size: 12px;
}

/* ========== 身体与目标：宽度与首页、趋势分析、新增记录统一 ========== */
body[data-page="body"] .app-header,
body[data-page="body"] .body-page-shell.body-dashboard-v027 {
  width: min(1440px, calc(100% - 36px)) !important;
}

/* ========== 暗色模式 ========== */
body.theme-dark[data-page="dashboard"] .overview-redesign,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-record-strip,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-progress-grid,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-date-field {
  border-color: #303c59;
  background: rgba(19, 27, 43, .95);
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-status-card,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
  border-color: #303c59;
  background: linear-gradient(180deg, rgba(28, 36, 53, .98), rgba(23, 31, 47, .98));
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line + .progress-line::before {
  background: #34415d;
}

body.theme-dark[data-page="dashboard"] .overview-redesign .overview-title-wrap h2,
body.theme-dark[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong,
body.theme-dark[data-page="dashboard"] .overview-redesign .metric-heading,
body.theme-dark[data-page="dashboard"] .overview-redesign .progress-title > span {
  color: #f3f6ff;
}

/* ========== 中等屏幕 ========== */
@media (max-width: 1220px) {
  body[data-page="dashboard"] .overview-redesign .overview-topbar {
    grid-template-columns: minmax(350px, .8fr) minmax(590px, 1.45fr) !important;
    gap: 22px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    grid-template-columns: minmax(250px, 1fr) auto auto auto !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
    min-width: 95px;
    padding-inline: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-main-grid {
    grid-template-columns: minmax(360px, .82fr) minmax(650px, 1.55fr) !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card,
  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
    min-height: 330px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    grid-template-columns: minmax(350px, 1fr) auto minmax(225px, .46fr);
    gap: 14px;
  }
}

@media (max-width: 1040px) {
  body[data-page="dashboard"] .dashboard-header {
    align-items: flex-start;
  }

  body[data-page="dashboard"] .overview-redesign .overview-topbar,
  body[data-page="dashboard"] .overview-redesign .overview-main-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
    padding-right: 0;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
    font-size: 44px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card {
    min-height: 290px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
    min-height: 300px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    grid-template-columns: minmax(320px, 1fr) auto;
  }

  body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
    grid-column: 1 / -1;
  }
}

/* ========== 手机端 ========== */
@media (max-width: 760px) {
  body[data-page="dashboard"] .dashboard-header {
    width: min(100% - 18px, 1440px);
    gap: 10px;
    padding: 10px 0 8px;
  }

  body[data-page="dashboard"] .dashboard-header .header-copy {
    max-width: none;
  }

  body[data-page="dashboard"] .dashboard-header h1 {
    margin-bottom: 3px;
    font-size: 27px;
  }

  body[data-page="dashboard"] .dashboard-header .sub {
    max-width: 100%;
    font-size: 11.5px;
  }

  body[data-page="dashboard"] .dashboard-header .nav-tabs,
  body[data-page="dashboard"] .dashboard-header .header-actions {
    min-height: 0;
  }

  body[data-page="dashboard"] .overview-redesign {
    padding: 14px;
    border-radius: 19px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-overview-shell {
    gap: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-topbar {
    gap: 10px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
    padding: 0;
  }

  body[data-page="dashboard"] .overview-redesign .overview-kicker {
    font-size: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-kicker img {
    width: 17px;
    height: 17px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-title-wrap h2 {
    margin-top: 7px !important;
    font-size: 30px !important;
    line-height: 1.08;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-fold > summary {
    min-height: 39px;
    padding: 9px 11px;
    border: 1px solid #dfe6f1;
    border-radius: 11px;
    background: #f8faff;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "date date"
      "prev next"
      "confirm confirm";
    gap: 8px !important;
    margin-top: 8px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    grid-area: date;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    min-height: 43px;
    padding-inline: 9px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
    height: 41px;
    font-size: 13px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-prev-btn {
    grid-area: prev;
  }

  body[data-page="dashboard"] .overview-redesign .overview-next-btn {
    grid-area: next;
  }

  body[data-page="dashboard"] .overview-redesign .overview-confirm-btn {
    grid-area: confirm;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-control .small-btn {
    width: 100%;
    min-width: 0 !important;
    height: 42px;
    font-size: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
    margin-top: 9px !important;
    font-size: 11px;
    line-height: 1.55 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-main-grid {
    gap: 10px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-card {
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: 15px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-head {
    grid-template-columns: 47px minmax(0, 1fr);
    gap: 10px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-state-emoji {
    width: 45px;
    height: 45px;
    font-size: 27px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-emoji-copy strong {
    font-size: 15px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-emoji-copy em,
  body[data-page="dashboard"] .overview-redesign .overview-tip-card .overview-tip {
    font-size: 11.5px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-tip-card {
    margin-top: 11px;
    padding-top: 11px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-tip-card .advice-title {
    font-size: 13px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-status-panel .chip {
    min-height: 34px;
    padding: 7px 8px !important;
    font-size: 11px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card {
    min-height: 220px !important;
    padding: 13px 9px 12px !important;
    border-radius: 15px !important;
  }

  body[data-page="dashboard"] .overview-redesign .metric-heading {
    min-height: 26px;
    margin-bottom: 5px;
    gap: 6px;
    font-size: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .metric-heading img {
    width: 20px;
    height: 20px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring {
    width: 83px !important;
    height: 83px !important;
    margin: 4px 0 9px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring::after {
    width: 62px !important;
    height: 62px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .progress-ring span {
    font-size: 16px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > strong {
    min-height: 29px;
    font-size: 19px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-visual-grid .ring-card > em {
    margin-top: 5px !important;
    font-size: 10.5px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-record-strip {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px !important;
    border-radius: 15px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-copy {
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 9px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-icon {
    width: 42px;
    height: 42px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-icon img {
    width: 31px;
    height: 31px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-copy strong {
    font-size: 14px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-copy p,
  body[data-page="dashboard"] .overview-redesign #dailyConfidenceHint {
    font-size: 10.5px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-record-status-actions .status-choice {
    min-width: 0;
    min-height: 36px;
    padding: 6px 4px;
    font-size: 10.5px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-confidence-card {
    min-height: 58px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 9px 10px;
  }

  body[data-page="dashboard"] .overview-redesign .daily-confidence-card img {
    width: 33px;
    height: 33px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-radius: 15px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line {
    min-height: 78px !important;
    padding: 11px 10px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line + .progress-line::before {
    top: 12px;
    bottom: 12px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line:nth-child(3)::before {
    display: none;
  }

  body[data-page="dashboard"] .overview-redesign .overview-progress-grid .progress-line:nth-child(n + 3) {
    border-top: 1px solid #e5eaf2 !important;
  }

  body[data-page="dashboard"] .overview-redesign .progress-title {
    margin-bottom: 8px !important;
  }

  body[data-page="dashboard"] .overview-redesign .progress-title > span,
  body[data-page="dashboard"] .overview-redesign .progress-title em,
  body[data-page="dashboard"] .overview-redesign .progress-bar-row > strong {
    font-size: 10px !important;
  }

  body[data-page="dashboard"] .overview-redesign .progress-title img {
    width: 18px;
    height: 18px;
  }

  body[data-page="body"] .app-header,
  body[data-page="body"] .body-page-shell.body-dashboard-v027 {
    width: min(100% - 18px, 1440px) !important;
  }
}

/* ===== polish-v0_7_29.css ===== */
/* v0.7.29：首页页头字号、概览装饰条、身体页图标与全站字体修正。 */

/* ========== 首页页头：恢复为与其他页面一致的标题层级 ========== */
@media (min-width: 761px) {
  body[data-page="dashboard"] .dashboard-header h1 {
    margin-bottom: 7px;
    font-size: clamp(34px, 3.2vw, 48px);
    line-height: 1.06;
    letter-spacing: -.035em;
  }

  body[data-page="dashboard"] .dashboard-header .sub {
    font-size: 15px;
    line-height: 1.55;
  }
}

/* 新版今日概览不再使用旧版 hero 左侧渐变竖条，避免与卡片边框重合。 */
body[data-page="dashboard"] .overview-redesign.hero-dashboard::before {
  content: none !important;
  display: none !important;
}

/* ========== 身体与目标：每周总结图标始终居中 ========== */
body[data-page="body"] .body-weekly-metric > .metric-icon {
  display: grid !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  overflow: hidden;
  line-height: 0;
}

body[data-page="body"] .body-weekly-metric > .metric-icon > img {
  display: block !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

/* ========== 身体数据表：使用稳定的矢量编辑/删除图标 ========== */
body[data-page="body"] .body-summary-table .actions-cell {
  align-items: center;
}

body[data-page="body"] .body-summary-table .small-btn,
body[data-page="body"] .body-summary-table .danger {
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
}

body[data-page="body"] .body-summary-table .small-btn::before,
body[data-page="body"] .body-summary-table .danger::before {
  content: "" !important;
  display: block !important;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

body[data-page="body"] .body-summary-table .small-btn::before {
  -webkit-mask-image: url("../icons/ui-v0_7_29/edit.svg");
  mask-image: url("../icons/ui-v0_7_29/edit.svg");
}

body[data-page="body"] .body-summary-table .danger::before {
  -webkit-mask-image: url("../icons/ui-v0_7_29/trash.svg");
  mask-image: url("../icons/ui-v0_7_29/trash.svg");
}

/* ========== 全站字体兜底：所有页面与原生控件统一使用 MiSans 字体栈 ========== */
html,
body,
button,
input,
select,
textarea,
option,
summary,
table,
thead,
tbody,
tfoot,
th,
td,
a,
p,
span,
strong,
em,
small,
label,
div,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-body, MiSans, "Noto Sans SC", "Source Han Sans SC", "思源黑体", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

/* ===== polish-v0_7_30.css ===== */
/* v0.7.30：仅修正手机端首页日期/公式、趋势页每周总结密度，以及身体数据卡片重叠。 */

@media (max-width: 760px) {
  /* ========== 首页：日期控件完整显示，公式与边框留出呼吸空间 ========== */
  body[data-page="dashboard"] .overview-redesign .overview-date-control {
    width: 100% !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 50px !important;
    grid-template-columns: 76px minmax(160px, 1fr) !important;
    padding: 3px 9px 3px 12px !important;
    box-sizing: border-box;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field label {
    min-width: 0 !important;
    white-space: nowrap;
    font-size: 12.5px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-date-field input[type="date"] {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    padding: 0 9px !important;
    box-sizing: border-box;
    font-size: 14px !important;
    line-height: 44px !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula {
    margin: 10px 2px 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(218, 225, 238, .9);
    border-radius: 11px;
    background: rgba(247, 249, 253, .9);
    box-sizing: border-box;
    font-size: 11.5px !important;
    line-height: 1.62 !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula span {
    display: block !important;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula span + span {
    margin-top: 3px;
  }

  body[data-page="dashboard"] .overview-redesign .overview-fold-formula span + span::before {
    content: none !important;
  }

  /* ========== 趋势分析：每周总结改为高密度 2 列卡片 ========== */
  body[data-page="analysis"] .weekly-panel-v3 {
    padding: 13px !important;
  }

  body[data-page="analysis"] .weekly-overview-head {
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  body[data-page="analysis"] .weekly-heading-icon {
    width: 42px !important;
    height: 42px !important;
  }

  body[data-page="analysis"] .weekly-heading-icon img {
    width: 24px !important;
    height: 24px !important;
  }

  body[data-page="analysis"] .weekly-heading-group {
    gap: 10px !important;
  }

  body[data-page="analysis"] .weekly-heading-group h2 {
    font-size: 19px !important;
  }

  body[data-page="analysis"] .weekly-heading-group p {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
  }

  body[data-page="analysis"] .weekly-range-pill {
    min-height: 38px !important;
    padding: 7px 11px !important;
    font-size: 11.5px !important;
  }

  body[data-page="analysis"] .weekly-primary-grid,
  body[data-page="analysis"] .weekly-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  body[data-page="analysis"] .weekly-secondary-grid,
  body[data-page="analysis"] .weekly-insight-grid {
    margin-top: 9px !important;
  }

  body[data-page="analysis"] .weekly-showcase-card,
  body[data-page="analysis"] .weekly-secondary-grid .weekly-showcase-card {
    min-height: 126px !important;
    padding: 12px !important;
    border-radius: 15px !important;
  }

  body[data-page="analysis"] .weekly-card-title {
    min-height: 0 !important;
    gap: 6px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  body[data-page="analysis"] .weekly-card-title > img {
    width: 21px !important;
    height: 21px !important;
  }

  body[data-page="analysis"] .weekly-card-title > b {
    width: 15px !important;
    height: 15px !important;
    font-size: 9px !important;
  }

  body[data-page="analysis"] .weekly-primary-grid .weekly-main-value,
  body[data-page="analysis"] .weekly-protein-card .weekly-main-value,
  body[data-page="analysis"] .weekly-goal-card .weekly-main-value {
    min-height: 36px !important;
    margin-top: 10px !important;
    gap: 4px !important;
  }

  body[data-page="analysis"] .weekly-primary-grid .weekly-main-value strong,
  body[data-page="analysis"] .weekly-goal-card .weekly-main-value strong {
    font-size: 28px !important;
    line-height: 1 !important;
  }

  body[data-page="analysis"] .weekly-primary-grid .weekly-main-value span {
    margin-bottom: 2px !important;
    font-size: 10px !important;
    white-space: normal !important;
  }

  body[data-page="analysis"] .weekly-weight-card > em,
  body[data-page="analysis"] .weekly-protein-card > em,
  body[data-page="analysis"] .weekly-showcase-card > p {
    margin-top: auto !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }

  body[data-page="analysis"] .weekly-progress-track {
    height: 7px !important;
    margin-top: 8px !important;
  }

  body[data-page="analysis"] .confidence-counts,
  body[data-page="analysis"] .weekly-status-card-v3 > strong {
    margin-top: 17px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  body[data-page="analysis"] .confidence-counts {
    gap: 5px !important;
  }

  body[data-page="analysis"] .confidence-counts > i {
    width: 1px !important;
    height: 19px !important;
  }

  body[data-page="analysis"] .weekly-confidence-card-v3 > em,
  body[data-page="analysis"] .weekly-status-card-v3 > em {
    margin-top: 8px !important;
    padding-right: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }

  body[data-page="analysis"] .confidence-bars {
    height: 6px !important;
    margin-top: auto !important;
  }

  /* 规则建议和数据完整性含较长文字，仍保持整行，避免窄卡片挤压内容。 */
  body[data-page="analysis"] .weekly-rule-card,
  body[data-page="analysis"] .weekly-integrity-card-v3 {
    grid-column: 1 / -1 !important;
    min-height: 0 !important;
    padding: 13px 14px !important;
  }

  body[data-page="analysis"] .weekly-rule-card > strong,
  body[data-page="analysis"] .weekly-integrity-card-v3 > strong {
    margin-top: 10px !important;
    padding-right: 36px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body[data-page="analysis"] .weekly-rule-card > em,
  body[data-page="analysis"] .weekly-integrity-card-v3 > em {
    margin-top: 6px !important;
    padding-right: 34px !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  body[data-page="analysis"] .weekly-corner-icon {
    right: 5px !important;
    bottom: -5px !important;
    width: 62px !important;
    height: 62px !important;
  }

  body[data-page="analysis"] .weekly-insight-grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  body[data-page="analysis"] .weekly-insight-card {
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1fr) 58px !important;
    gap: 8px !important;
    padding: 13px 14px !important;
    border-radius: 15px !important;
  }

  body[data-page="analysis"] .weekly-insight-copy > strong {
    margin-top: 8px !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
  }

  body[data-page="analysis"] .weekly-insight-copy > em {
    margin-top: 5px !important;
    font-size: 10.5px !important;
    line-height: 1.45 !important;
  }

  body[data-page="analysis"] .weekly-insight-visual {
    width: 54px !important;
    height: 54px !important;
  }

  /* ========== 身体与目标：手机端身体数据改为清晰的指标卡片 ========== */
  body[data-page="body"] .body-weekly-table-wrap {
    overflow: visible !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body[data-page="body"] .body-summary-table,
  body[data-page="body"] .body-summary-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="body"] .body-summary-table tbody {
    display: grid !important;
    gap: 10px !important;
  }

  body[data-page="body"] .body-summary-table tbody tr {
    position: relative;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    border: 1px solid #e3e8f2 !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .98) !important;
    box-sizing: border-box;
    box-shadow: 0 5px 15px rgba(34, 55, 95, .045) !important;
  }

  body[data-page="body"] .body-summary-table td {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    justify-content: stretch !important;
    gap: 4px !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 52px;
    margin: 0 !important;
    padding: 8px 9px !important;
    overflow: hidden;
    border: 1px solid #edf0f6 !important;
    border-radius: 10px !important;
    background: #f8faff !important;
    color: #263451 !important;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
    font-size: 13px !important;
    font-weight: 760;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  body[data-page="body"] .body-summary-table td::before {
    content: attr(data-label) !important;
    display: block !important;
    flex: none !important;
    width: auto !important;
    margin: 0 !important;
    color: #7b879d !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
  }

  body[data-page="body"] .body-summary-table td[data-label="日期"] {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    min-height: 36px !important;
    padding: 0 136px 9px 1px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f6 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
  }

  body[data-page="body"] .body-summary-table td[data-label="日期"]::before {
    flex: 0 0 auto !important;
    font-size: 10.5px !important;
  }

  body[data-page="body"] .body-summary-table td[data-label="备注"] {
    grid-column: 1 / -1 !important;
    display: grid !important;
    min-height: 50px !important;
  }

  body[data-page="body"] .body-summary-table td[data-label="操作"] {
    position: absolute !important;
    top: 9px;
    right: 10px;
    z-index: 2;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  body[data-page="body"] .body-summary-table td[data-label="操作"]::before {
    display: none !important;
    content: none !important;
  }

  body[data-page="body"] .body-summary-table .actions-cell .small-btn,
  body[data-page="body"] .body-summary-table .actions-cell .danger {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 60px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 8px !important;
    border-radius: 9px !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap;
  }

  body[data-page="body"] .body-summary-table .actions-cell .small-btn::before,
  body[data-page="body"] .body-summary-table .actions-cell .danger::before {
    flex: 0 0 auto;
    width: 13px !important;
    height: 13px !important;
  }

  body[data-page="body"] .body-summary-table .mini-chip {
    justify-self: start;
    max-width: 100%;
    padding: 4px 7px;
    line-height: 1.2;
    white-space: normal;
  }

  body[data-page="body"] .body-summary-table .empty-row td,
  body[data-page="body"] .body-summary-table td.empty {
    grid-column: 1 / -1 !important;
    display: block !important;
    min-height: 0 !important;
    padding: 18px 12px !important;
    text-align: center !important;
  }

  body[data-page="body"] .body-summary-table .empty-row td::before,
  body[data-page="body"] .body-summary-table td.empty::before {
    display: none !important;
  }

  body[data-page="body"] .body-table-footnote {
    margin: 8px 2px 0 !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
  }

  body.theme-dark[data-page="dashboard"] .overview-redesign .overview-fold-formula {
    border-color: #344058;
    background: rgba(28, 36, 54, .92);
  }

  body.theme-dark[data-page="body"] .body-summary-table tbody tr {
    border-color: #364159 !important;
    background: rgba(20, 27, 42, .96) !important;
  }

  body.theme-dark[data-page="body"] .body-summary-table td {
    border-color: #303b52 !important;
    background: #202a3d !important;
    color: #e2e8f4 !important;
  }

  body.theme-dark[data-page="body"] .body-summary-table td[data-label="日期"] {
    border-bottom-color: #303b52 !important;
    background: transparent !important;
  }
}

@media (max-width: 360px) {
  body[data-page="dashboard"] .overview-redesign .overview-date-field {
    grid-template-columns: 70px minmax(145px, 1fr) !important;
  }

  body[data-page="analysis"] .weekly-showcase-card,
  body[data-page="analysis"] .weekly-secondary-grid .weekly-showcase-card {
    padding: 10px !important;
  }

  body[data-page="analysis"] .weekly-primary-grid .weekly-main-value strong,
  body[data-page="analysis"] .weekly-goal-card .weekly-main-value strong {
    font-size: 25px !important;
  }

  body[data-page="body"] .body-summary-table td[data-label="日期"] {
    padding-right: 122px !important;
  }

  body[data-page="body"] .body-summary-table .actions-cell .small-btn,
  body[data-page="body"] .body-summary-table .actions-cell .danger {
    min-width: 54px !important;
    padding-inline: 6px !important;
    font-size: 11px !important;
  }
}


/* v0.7.31 健身站同步修复：今天同步 + 最近 30 天补同步 */
.body-status-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}
.body-status-actions .body-status-action { margin: 0; }
.body-status-actions .body-status-action.secondary { opacity: .92; }
@media (max-width: 560px) {
  .body-status-actions { grid-template-columns: 1fr; }
}

/* ===== polish-v0_7_32_to_36.css ===== */
/* ===== v0.7.32 layout and visual system ===== */
:root {
  --v32-page-max: 1440px;
  --v32-section-gap: 22px;
  --v32-card-radius: 22px;
  --v32-soft-border: rgba(112, 126, 164, .16);
  --v32-soft-shadow: 0 12px 34px rgba(46, 58, 94, .08);
}

.container {
  width: min(var(--v32-page-max), calc(100% - 40px));
  margin-inline: auto;
}

body[data-page="dashboard"] .container,
body[data-page="analysis"] .container {
  display: grid;
  gap: var(--v32-section-gap);
}

body[data-page="dashboard"] .hero-dashboard,
body[data-page="analysis"] .weekly-panel,
body[data-page="analysis"] .more-charts,
body[data-page="analysis"] .chart-card {
  border-color: var(--v32-soft-border);
  box-shadow: var(--v32-soft-shadow);
}

/* 首页：把首屏控制在一个清晰的“结论 + 四指标 + 完整性”流程。 */
body[data-page="dashboard"] .daily-overview-card {
  padding: clamp(18px, 2vw, 28px);
}

body[data-page="dashboard"] .daily-overview-shell {
  display: grid;
  gap: 18px;
}

body[data-page="dashboard"] .overview-main-grid {
  align-items: stretch;
  gap: 18px;
}

body[data-page="dashboard"] .overview-summary-panel,
body[data-page="dashboard"] .overview-metrics-panel {
  min-width: 0;
}

body[data-page="dashboard"] .overview-status-card,
body[data-page="dashboard"] .ring-card {
  height: 100%;
}

body[data-page="dashboard"] .overview-visual-grid {
  gap: 12px;
}

body[data-page="dashboard"] .ring-card {
  min-height: 188px;
  padding: 16px 14px;
  border-radius: 18px;
}

body[data-page="dashboard"] .overview-record-strip {
  margin-top: 0;
  border-radius: 18px;
}

body[data-page="dashboard"] .dashboard-integrity-card,
body[data-page="dashboard"] .dashboard-daily-summary,
body[data-page="dashboard"] .details-grid {
  margin-top: 0;
}

body[data-page="dashboard"] .dashboard-quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

body[data-page="dashboard"] .quick-card {
  min-height: 92px;
  border-radius: 18px;
}

/* 趋势页：先总结，后解释，再看图。 */
.analysis-focus-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 2px 4px 0;
}

.analysis-focus-head h2 {
  margin: 5px 0 6px;
  font-size: clamp(22px, 2vw, 30px);
  letter-spacing: -.025em;
}

.analysis-focus-head p {
  margin: 0;
  color: var(--muted, #687086);
}

.analysis-sample-note {
  flex: 0 0 auto;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(96, 82, 236, .09);
  color: #5549c9;
  font-size: 13px;
  font-weight: 700;
}

.analysis-summary-v32 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.analysis-summary-v32 .metric {
  position: relative;
  min-height: 132px;
  padding: 18px;
  border-radius: 19px;
  overflow: hidden;
}

.analysis-summary-v32 .metric::after {
  content: "";
  position: absolute;
  width: 88px;
  height: 88px;
  right: -32px;
  bottom: -42px;
  border-radius: 50%;
  background: currentColor;
  opacity: .045;
}

.analysis-summary-v32 .metric strong {
  margin-top: 10px;
  font-size: clamp(25px, 2.2vw, 35px);
  line-height: 1;
}

.analysis-summary-v32 .metric em {
  margin-top: auto;
  padding-top: 12px;
  font-size: 12px;
  line-height: 1.35;
}

body[data-page="analysis"] .weekly-panel-v3 {
  padding: clamp(18px, 2vw, 28px);
  border-radius: var(--v32-card-radius);
}

body[data-page="analysis"] .weekly-primary-grid,
body[data-page="analysis"] .weekly-secondary-grid {
  gap: 12px;
}

body[data-page="analysis"] .weekly-showcase-card,
body[data-page="analysis"] .weekly-insight-card {
  border-radius: 18px;
}

.analysis-chart-section {
  display: grid;
  gap: 14px;
}

.chart-grid-primary,
.chart-grid-secondary {
  margin: 0;
  gap: 14px;
}

.chart-card-wide {
  grid-column: 1 / -1;
}

.more-charts {
  padding: 0;
  border-radius: var(--v32-card-radius);
  overflow: clip;
}

.more-charts > summary {
  list-style: none;
  cursor: pointer;
  min-height: 68px;
  padding: 17px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-weight: 800;
}

.more-charts > summary::-webkit-details-marker { display: none; }
.more-charts > summary::after {
  content: "＋";
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(96, 82, 236, .09);
  color: #5b50d6;
  font-size: 19px;
  transition: transform .2s ease;
}
.more-charts[open] > summary::after { transform: rotate(45deg); }
.more-charts > summary span { font-size: 17px; }
.more-charts > summary em {
  margin-left: auto;
  color: var(--muted, #687086);
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
}
.more-charts .chart-grid-secondary {
  padding: 0 14px 14px;
}

/* 同步队列状态更容易辨认。 */
#fitnessSyncStatus:not(.sync-complete):not(.sync-not-configured) .body-status-tip {
  background: rgba(94, 85, 226, .08);
  border-color: rgba(94, 85, 226, .18);
}

/* 暗色模式。 */
[data-theme="dark"] .analysis-sample-note {
  background: rgba(146, 136, 255, .15);
  color: #c0b9ff;
}
[data-theme="dark"] .more-charts > summary::after {
  background: rgba(146, 136, 255, .14);
  color: #c0b9ff;
}

@media (max-width: 1180px) {
  .analysis-summary-v32 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="dashboard"] .dashboard-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  :root { --v32-section-gap: 14px; }
  .container { width: min(100% - 20px, var(--v32-page-max)); }

  body[data-page="dashboard"] .daily-overview-card,
  body[data-page="analysis"] .weekly-panel-v3 {
    padding: 14px;
    border-radius: 19px;
  }

  body[data-page="dashboard"] .overview-topbar {
    gap: 10px;
  }

  body[data-page="dashboard"] .overview-main-grid {
    gap: 12px;
  }

  body[data-page="dashboard"] .overview-visual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body[data-page="dashboard"] .ring-card {
    min-height: 158px;
    padding: 13px 9px;
    border-radius: 16px;
  }

  body[data-page="dashboard"] .ring-card .metric-heading {
    font-size: 12px;
  }

  body[data-page="dashboard"] .ring-card .progress-ring {
    width: 70px;
    height: 70px;
  }

  body[data-page="dashboard"] .overview-record-strip {
    padding: 13px;
  }

  body[data-page="dashboard"] .dashboard-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body[data-page="dashboard"] .quick-card {
    min-height: 78px;
    padding: 12px;
  }

  body[data-page="dashboard"] .quick-card img {
    width: 32px;
    height: 32px;
  }

  .analysis-focus-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 0 2px;
  }

  .analysis-focus-head h2 { font-size: 23px; }
  .analysis-sample-note { padding: 7px 10px; }

  .analysis-summary-v32 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .analysis-summary-v32 .metric {
    min-height: 116px;
    padding: 14px;
    border-radius: 16px;
  }

  .analysis-summary-v32 .metric strong {
    font-size: 26px;
  }

  body[data-page="analysis"] .weekly-primary-grid,
  body[data-page="analysis"] .weekly-secondary-grid,
  body[data-page="analysis"] .weekly-insight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body[data-page="analysis"] .weekly-showcase-card,
  body[data-page="analysis"] .weekly-insight-card {
    min-width: 0;
    padding: 13px;
    border-radius: 16px;
  }

  body[data-page="analysis"] .weekly-main-value strong {
    font-size: 26px;
  }

  .chart-grid-primary,
  .chart-grid-secondary {
    grid-template-columns: 1fr;
  }

  .chart-card-wide { grid-column: auto; }

  .more-charts > summary {
    min-height: 62px;
    padding: 14px;
  }
  .more-charts > summary em { display: none; }
  .more-charts .chart-grid-secondary { padding: 0 9px 9px; }
}

@media (max-width: 430px) {
  .container { width: min(100% - 14px, var(--v32-page-max)); }
  body[data-page="dashboard"] .overview-visual-grid { gap: 7px; }
  body[data-page="dashboard"] .ring-card { min-height: 150px; }
  .analysis-summary-v32 { gap: 7px; }
  .analysis-summary-v32 .metric { min-height: 112px; padding: 12px; }
  body[data-page="analysis"] .weekly-primary-grid,
  body[data-page="analysis"] .weekly-secondary-grid,
  body[data-page="analysis"] .weekly-insight-grid { gap: 7px; }
}

/* v0.7.32 final mobile priority: two columns keep labels and sample counts readable. */
@media (max-width: 760px) {
  body[data-page="analysis"] .analysis-summary-grid.analysis-summary-v32 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ===== v0.7.33 layout refinement ===== */
:root {
  --v33-dashboard-max: 1200px;
  --v33-analysis-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* 首页正文恢复到与记录页、身体页一致的内容宽度。页头不缩窄，避免导航拥挤。 */
body[data-page="dashboard"] .container {
  width: min(var(--v33-dashboard-max), calc(100% - 40px));
}

/* 趋势页统一字体体系、字号层级和字重。 */
body[data-page="analysis"],
body[data-page="analysis"] button,
body[data-page="analysis"] input,
body[data-page="analysis"] select,
body[data-page="analysis"] summary,
body[data-page="analysis"] table {
  font-family: var(--v33-analysis-font) !important;
}

body[data-page="analysis"] .analysis-core-panel {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2vw, 26px);
  border: 1px solid var(--v32-soft-border);
  border-radius: var(--v32-card-radius);
  background: #fff !important;
  box-shadow: var(--v32-soft-shadow);
}

body[data-page="analysis"] .analysis-core-panel .analysis-focus-head {
  align-items: center;
  padding: 0;
}

body[data-page="analysis"] .analysis-focus-head h2,
body[data-page="analysis"] .weekly-heading-group h2 {
  margin-top: 5px;
  font-family: var(--v33-analysis-font) !important;
  font-size: clamp(21px, 1.8vw, 25px) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  letter-spacing: -.02em !important;
}

body[data-page="analysis"] .analysis-focus-head p,
body[data-page="analysis"] .weekly-heading-group p,
body[data-page="analysis"] .chart-hint,
body[data-page="analysis"] .ai-weekly-head p {
  font-family: var(--v33-analysis-font) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body[data-page="analysis"] .overview-kicker,
body[data-page="analysis"] .weekly-card-title,
body[data-page="analysis"] .metric > span,
body[data-page="analysis"] .chart-card h2 {
  font-family: var(--v33-analysis-font) !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

body[data-page="analysis"] .analysis-summary-v32 {
  margin: 0;
}

body[data-page="analysis"] .analysis-summary-v32 .metric {
  min-height: 126px;
  padding: 17px;
  border: 1px solid rgba(112, 126, 164, .13);
  box-shadow: none !important;
}

body[data-page="analysis"] .analysis-summary-v32 .metric > span {
  color: #55617a;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body[data-page="analysis"] .analysis-summary-v32 .metric > strong {
  font-family: var(--v33-analysis-font) !important;
  font-size: clamp(27px, 2.1vw, 33px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
}

body[data-page="analysis"] .analysis-summary-v32 .metric > em,
body[data-page="analysis"] .weekly-showcase-card > em,
body[data-page="analysis"] .weekly-showcase-card > p,
body[data-page="analysis"] .weekly-insight-copy > em {
  font-family: var(--v33-analysis-font) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

body[data-page="analysis"] .weekly-card-title {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body[data-page="analysis"] .weekly-primary-grid .weekly-main-value strong,
body[data-page="analysis"] .weekly-goal-card .weekly-main-value strong {
  font-family: var(--v33-analysis-font) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
}

body[data-page="analysis"] .weekly-status-card-v3 > strong,
body[data-page="analysis"] .weekly-rule-card > strong,
body[data-page="analysis"] .weekly-integrity-card-v3 > strong,
body[data-page="analysis"] .weekly-insight-copy > strong {
  font-family: var(--v33-analysis-font) !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

body[data-page="analysis"] .chart-card h2 {
  margin-bottom: 6px;
  font-size: 17px !important;
  line-height: 1.35 !important;
}

/* 关键趋势恢复为旧版：六张图全部直接展示，桌面端两列。 */
body[data-page="analysis"] .key-trends-grid {
  margin: 0;
  gap: 14px;
}

body[data-page="analysis"] .key-trends-grid .chart-card {
  min-width: 0;
}

body.theme-dark[data-page="analysis"] .analysis-core-panel,
body[data-theme="dark"][data-page="analysis"] .analysis-core-panel {
  background: rgba(19, 27, 46, .96) !important;
  border-color: rgba(148, 163, 184, .18);
}

body.theme-dark[data-page="analysis"] .analysis-summary-v32 .metric > span,
body[data-theme="dark"][data-page="analysis"] .analysis-summary-v32 .metric > span {
  color: #aeb9d1;
}

@media (max-width: 760px) {
  body[data-page="dashboard"] .container {
    width: min(100% - 20px, var(--v33-dashboard-max));
  }

  body[data-page="analysis"] .analysis-core-panel {
    gap: 14px;
    padding: 14px;
    border-radius: 19px;
  }

  body[data-page="analysis"] .analysis-core-panel .analysis-focus-head {
    gap: 9px;
  }

  body[data-page="analysis"] .analysis-focus-head h2,
  body[data-page="analysis"] .weekly-heading-group h2 {
    font-size: 20px !important;
  }

  body[data-page="analysis"] .analysis-focus-head p,
  body[data-page="analysis"] .weekly-heading-group p,
  body[data-page="analysis"] .chart-hint,
  body[data-page="analysis"] .ai-weekly-head p {
    font-size: 12px !important;
  }

  body[data-page="analysis"] .analysis-summary-v32 .metric {
    min-height: 112px;
    padding: 13px;
  }

  body[data-page="analysis"] .analysis-summary-v32 .metric > strong {
    font-size: 25px !important;
  }

  body[data-page="analysis"] .weekly-card-title {
    font-size: 11.5px !important;
  }

  body[data-page="analysis"] .key-trends-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 430px) {
  body[data-page="dashboard"] .container {
    width: min(100% - 14px, var(--v33-dashboard-max));
  }
}

/* ===== v0.7.34 centering and MiSans unification ===== */
:root {
  --font-body: MiSans, "Noto Sans SC", "Source Han Sans SC", "思源黑体", "PingFang SC", "Microsoft YaHei", sans-serif;
  --v33-analysis-font: var(--font-body);
  --v34-dashboard-max: 1200px;
}

/* 首页正文始终以页面中轴居中；所有直接模块占满同一内容轨道。 */
body[data-page="dashboard"] main.container {
  width: min(var(--v34-dashboard-max), calc(100% - 40px)) !important;
  max-width: var(--v34-dashboard-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-self: center !important;
}

body[data-page="dashboard"] main.container > * {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
}

/* 删除“今日概览”标题区右侧的浅色分隔线。 */
body[data-page="dashboard"] .overview-redesign .overview-title-wrap {
  border-right: 0 !important;
  border-inline-end: 0 !important;
}

/* 全站页面、原生控件、弹窗及伪元素统一使用 MiSans。 */
html,
body,
body *,
body *::before,
body *::after,
button,
input,
select,
textarea,
option,
summary,
table,
svg text {
  font-family: var(--font-body) !important;
}

@media (max-width: 760px) {
  body[data-page="dashboard"] main.container {
    width: min(var(--v34-dashboard-max), calc(100% - 20px)) !important;
  }
}

@media (max-width: 430px) {
  body[data-page="dashboard"] main.container {
    width: min(var(--v34-dashboard-max), calc(100% - 14px)) !important;
  }
}


/* 防止首页 Grid 自动列被内部日期控件的最小内容宽度撑大。 */
body[data-page="dashboard"] main.container {
  grid-template-columns: minmax(0, 1fr) !important;
}

body[data-page="dashboard"] main.container > * {
  min-width: 0 !important;
}

body[data-page="dashboard"] main.container > .hero-dashboard.daily-overview-card,
body[data-page="dashboard"] main.container > .dashboard-integrity-card,
body[data-page="dashboard"] main.container > .dashboard-quick-actions,
body[data-page="dashboard"] main.container > .dashboard-daily-summary,
body[data-page="dashboard"] main.container > .details-grid,
body[data-page="dashboard"] main.container > .dashboard-footer-link {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ===== v0.7.35 dashboard width alignment ===== */
:root {
  --v35-dashboard-max: var(--v32-page-max, 1440px);
}

/* 首页恢复到与趋势分析、新增记录、身体与目标相同的 1440px 内容轨道。 */
body[data-page="dashboard"] .dashboard-header,
body[data-page="dashboard"] main.container {
  width: min(var(--v35-dashboard-max), calc(100% - 36px)) !important;
  max-width: var(--v35-dashboard-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 首页下方所有模块完整占用统一内容轨道，避免再次被历史 max-width 规则缩窄。 */
body[data-page="dashboard"] main.container > .hero-dashboard,
body[data-page="dashboard"] main.container > .dashboard-integrity-card,
body[data-page="dashboard"] main.container > .dashboard-quick-actions,
body[data-page="dashboard"] main.container > .dashboard-daily-summary,
body[data-page="dashboard"] main.container > .details-grid,
body[data-page="dashboard"] main.container > .dashboard-footer-link {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
}

body[data-page="dashboard"] .daily-overview-shell,
body[data-page="dashboard"] .overview-topbar,
body[data-page="dashboard"] .overview-main-grid,
body[data-page="dashboard"] .overview-record-strip,
body[data-page="dashboard"] .dashboard-integrity-grid,
body[data-page="dashboard"] .dashboard-daily-summary .table-wrap,
body[data-page="dashboard"] .details-grid {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

@media (max-width: 760px) {
  body[data-page="dashboard"] .dashboard-header,
  body[data-page="dashboard"] main.container {
    width: min(var(--v35-dashboard-max), calc(100% - 20px)) !important;
  }
}

@media (max-width: 430px) {
  body[data-page="dashboard"] .dashboard-header,
  body[data-page="dashboard"] main.container {
    width: min(var(--v35-dashboard-max), calc(100% - 14px)) !important;
  }
}


/* ===== v0.7.36 maintainability, swimming fields and mobile stability ===== */
:root {
  --font-body: MiSans, "MiSans VF", "Noto Sans SC", "Source Han Sans SC", "思源黑体", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-title: var(--font-body);
}

html,
body,
button,
input,
select,
textarea,
table {
  font-family: var(--font-body) !important;
}

[data-exercise-hidden="true"],
.exercise-field-hidden {
  display: none !important;
}

.exercise-compact-form .swim-fields-note {
  grid-column: 1 / -1;
  margin: -2px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.exercise-compact-form .field input:disabled,
.exercise-compact-form .field select:disabled,
.modal-form .field input:disabled,
.modal-form .field select:disabled {
  opacity: .62;
  cursor: not-allowed;
}

@media (max-width: 760px) {
  body[data-page="records"] .exercise-compact-form [data-swim-only="true"] {
    min-width: 0;
  }

  body[data-page="records"] .exercise-compact-form [data-swim-only="true"] input,
  body[data-page="records"] .exercise-compact-form [data-swim-only="true"] select,
  .modal-form [data-swim-only="true"] input,
  .modal-form [data-swim-only="true"] select {
    width: 100%;
    min-width: 0;
  }

  .exercise-compact-form .swim-fields-note {
    font-size: 11px;
    line-height: 1.5;
  }
}

@media (max-width: 430px) {
  body[data-page="records"] .exercise-compact-form [data-swim-only="true"] {
    grid-column: auto;
  }

  body[data-page="records"] .exercise-compact-form .swim-fields-note {
    grid-column: 1 / -1;
  }
}

