/* v3.7.9 density and responsive polish
   Goal: higher information density, tighter vertical rhythm, stable mobile wrapping,
   and a cleaner account/settings interaction area. */

:root {
  --density-gap: 12px;
  --density-gap-sm: 8px;
  --density-card-pad: 20px;
  --density-card-pad-sm: 14px;
}

/* Overall rhythm: reduce the “one block per row” feeling without changing logic. */
.main.container {
  padding-top: 14px !important;
}

.app-header-system,
.app-header {
  margin-bottom: 14px !important;
}

.page-head,
.card,
.form-card,
.trend-card,
.records-card,
.history-day,
.template-card,
.analysis-summary-card,
.analysis-trend-card,
.analysis-history-card,
.analysis-card,
.training-mode-card,
.compact-week-card,
.dashboard-meta-card,
.joint-health-card,
.sync-detail-card,
.home-primary-card,
.home-advice-card,
.home-section-card,
.train-hero-card {
  padding: var(--density-card-pad) !important;
  margin-bottom: var(--density-gap) !important;
}

.home-hero-grid,
.home-week-grid,
.content-grid,
.template-admin-grid,
.plan-admin-grid,
.analysis-grid,
.professional-analysis-grid,
.library-grid {
  gap: var(--density-gap) !important;
}

.section-title,
.trend-title-row,
.home-section-title,
.home-card-head,
.history-head,
.template-card-head,
.plan-card-head,
.exercise-library-head,
.train-topbar {
  gap: 10px !important;
  margin-bottom: 12px !important;
}

.section-title h2,
.trend-title-row h2,
.home-section-title h2,
.home-advice-card h2,
.home-entry-card h2,
.card h2,
.exercise-library-head h2 {
  font-size: clamp(21px, 2.2vw, 26px) !important;
  line-height: 1.12 !important;
  margin-bottom: 4px !important;
}

.section-title p,
.home-section-title p,
.trend-title-row span,
.page-head p,
.home-lead,
.analysis-chart-note,
.exercise-info p,
.exercise-info small {
  line-height: 1.52 !important;
}

/* Header menus: compact, same-row mobile layout, and the popover looks like one control. */
.system-header-actions,
.header-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

.user-menu,
.settings-menu {
  position: relative !important;
  min-width: 0 !important;
}

.user-pill,
.settings-menu > summary.ghost-btn {
  min-height: 38px !important;
  padding-inline: 13px !important;
}

.user-pill {
  max-width: min(220px, 34vw) !important;
}

.settings-popover {
  min-width: 150px !important;
  padding: 8px !important;
  z-index: 50 !important;
}

.settings-popover .ghost-btn,
.settings-popover form,
.settings-popover button {
  min-height: 36px !important;
  border-radius: 12px !important;
}

/* Home: denser hero, KPI and list rows. */
body[data-page="/"] .home-hero-grid {
  grid-template-columns: minmax(0, 1.68fr) minmax(280px, .72fr) !important;
  margin-bottom: var(--density-gap) !important;
}

.home-primary-card,
.home-advice-card {
  min-height: 0 !important;
}

.home-primary-card h1,
.day-summary-card h1,
.train-hero-card h1 {
  margin: 14px 0 7px !important;
  font-size: clamp(30px, 4.2vw, 48px) !important;
  line-height: 1.03 !important;
}

.home-lead,
.home-advice-card > p,
.train-hero-card p {
  font-size: 15px !important;
}

.home-advice-card > p {
  margin-top: 10px !important;
  line-height: 1.58 !important;
}

.home-sync-note {
  margin-top: 12px !important;
  padding: 11px 12px !important;
}

.home-sync-note small {
  margin-top: 3px !important;
}

.home-kpi-row,
.home-kpi-row.three,
.week-summary-grid,
.status-kpi-grid,
.analysis-stat-chips,
.personal-stat-grid,
.pr-strip,
.plan-stat-grid,
.backup-status-grid,
.compact-week-grid {
  gap: 8px !important;
}

.home-kpi-row {
  margin-top: 14px !important;
}

.home-kpi-row > div,
.week-summary-grid div,
.status-kpi-grid div,
.analysis-stat-chips div,
.personal-stat-grid div,
.pr-strip div,
.plan-stat-grid div,
.backup-status-grid div,
.compact-week-grid div,
.joint-health-grid div,
.quality-card-list div {
  min-height: 68px !important;
  padding: 10px 11px !important;
}

.home-kpi-row strong,
.week-summary-grid strong,
.status-kpi-grid strong,
.analysis-stat-chips strong,
.personal-stat-grid strong,
.pr-strip strong,
.plan-stat-grid strong,
.backup-status-grid strong,
.compact-week-grid strong {
  font-size: clamp(21px, 2.5vw, 30px) !important;
  margin-block: 3px 1px !important;
}

.home-main-action {
  margin-top: 14px !important;
  gap: 9px !important;
}

.home-primary-cta,
.home-secondary-link,
.home-text-link,
.home-finish-link,
.primary-btn,
.neutral-btn,
.ghost-btn,
.danger-btn {
  min-height: 38px !important;
}

.home-list,
.compact-list,
.train-planned-list,
.analysis-history-list,
.home-entry-links,
.home-advice-list,
.template-help-list,
.plan-help-list {
  gap: 8px !important;
}

@media (min-width: 860px) {
  .home-list.compact-list,
  .train-planned-list,
  .analysis-history-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-entry-links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .home-advice-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .plan-items,
  .template-items-v3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

.home-list-item,
.train-template-item,
.template-help-list div,
.plan-help-list div,
.analysis-day-row,
.history-entry-card,
.template-item-row,
.plan-item-row {
  min-height: 0 !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
}

.home-list-item {
  grid-template-columns: 38px minmax(0, 1fr) minmax(58px, auto) !important;
  gap: 9px !important;
}

.home-list-item .mini-icon,
.template-item-row .mini-icon,
.history-entry-title .mini-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
}

.home-list-item .exercise-img,
.home-list-item svg,
.template-item-row .exercise-img,
.template-item-row svg {
  width: 28px !important;
  height: 28px !important;
}

.home-list-item strong,
.template-item-main strong,
.history-entry-title strong {
  font-size: 14.5px !important;
}

.home-list-item small,
.template-item-main small,
.history-entry-meta,
.analysis-day-row span {
  font-size: 12px !important;
  line-height: 1.38 !important;
}

.home-entry-links a {
  min-height: 0 !important;
  padding: 11px 30px 11px 12px !important;
  border-radius: 14px !important;
}

.home-entry-links a::after {
  right: 11px !important;
}

.home-entry-links strong {
  font-size: 14.5px !important;
}

.home-entry-links span {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* Train page: keep the live page compact but still finger-friendly. */
.train-shell {
  display: grid !important;
  gap: var(--density-gap) !important;
}

.train-topbar {
  margin-bottom: 0 !important;
}

.train-hero-card {
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto) !important;
  align-items: center !important;
}

.train-mini-stats {
  grid-template-columns: repeat(3, minmax(82px, 1fr)) !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.train-mini-stats div {
  padding: 10px !important;
  border-radius: 14px !important;
}

.train-mini-stats strong {
  font-size: 24px !important;
}

.train-form {
  gap: 9px !important;
}

.train-form input,
.train-form select,
.train-form textarea,
.day-meta-form input,
.day-edit-form input,
.day-edit-form select,
.day-edit-form textarea,
.template-create-form input,
.template-create-form textarea,
.template-item-edit-form input,
.template-item-edit-form select,
.plan-add-action-form input,
.plan-add-action-form select,
.plan-add-action-form textarea,
.workout-form input,
.workout-form select,
.workout-form textarea {
  min-height: 40px !important;
  border-radius: 12px !important;
  font-size: 14.5px !important;
}

.train-steps {
  margin-bottom: 10px !important;
  gap: 6px !important;
}

.train-steps span {
  min-height: 30px !important;
  font-size: 12px !important;
}

.train-insight,
.train-timer-panel,
.train-set-panel,
.exercise-insight-box,
.rest-timer-panel,
.set-panel,
.quick-set-panel,
.live-set-panel {
  padding: 12px !important;
  border-radius: 14px !important;
}

.train-timer-panel,
.rest-timer-panel {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

#restTimerDisplay {
  font-size: 24px !important;
}

.set-panel-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.set-panel-head p {
  margin-top: 2px !important;
  font-size: 12px !important;
}

.segmented-actions,
.timer-actions,
.quick-bump-row,
.train-bump-row,
.train-row-actions {
  gap: 6px !important;
}

.segmented-actions .neutral-btn,
.timer-actions .neutral-btn,
.quick-bump-row .neutral-btn,
.train-row-actions .neutral-btn,
.train-row-actions .primary-btn {
  min-height: 34px !important;
  padding-inline: 9px !important;
  font-size: 12px !important;
}

.train-form .set-row,
.day-edit-form .set-row,
.set-row {
  min-height: 40px !important;
  gap: 6px !important;
}

.set-row input {
  min-height: 36px !important;
  padding: 6px !important;
}

.live-submit,
.sticky-submit {
  margin-top: 0 !important;
}

/* Day detail: records stay compact; destructive action does not occupy a full row unnecessarily. */
.day-summary-card {
  min-height: 0 !important;
}

.day-meta-form {
  gap: 9px !important;
}

.record-item,
.day-record-item {
  padding: 10px !important;
  gap: 10px !important;
  border-radius: 16px !important;
}

.record-top {
  gap: 10px !important;
}

.record-top h3 {
  font-size: 17px !important;
  margin-bottom: 3px !important;
}

.record-top p,
.record-tags span,
.set-detail-list span {
  font-size: 12.5px !important;
  line-height: 1.38 !important;
}

.record-volume {
  padding: 8px 10px !important;
  min-width: 76px !important;
  border-radius: 13px !important;
}

.set-detail-list,
.record-tags {
  gap: 6px !important;
  margin-top: 8px !important;
}

.day-edit-box {
  margin-top: 10px !important;
  padding-top: 8px !important;
}

.day-edit-form,
.template-item-edit-form,
.exercise-edit-form,
.plan-add-action-form,
.template-create-form {
  gap: 9px !important;
}

/* Analysis and plan pages: more blocks in the same row where there is safe width. */
.quality-card-list,
.joint-health-grid {
  gap: 8px !important;
}

.analysis-summary-grid.week-summary-grid-v3 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.analysis-trend-grid.two-only {
  gap: 10px !important;
}

.analysis-bar-chart {
  min-height: 210px !important;
}

.plan-stat-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.plan-card-head {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.template-edit-panel,
.template-item-edit,
.exercise-edit-panel {
  margin-top: 8px !important;
}

.template-item-edit-form {
  grid-template-columns: repeat(6, minmax(72px, 1fr)) !important;
}

.template-item-edit-form .wide {
  grid-column: span 4 !important;
}

.plan-add-action-form,
.template-add-action-form-v3 {
  grid-template-columns: minmax(220px, 1.35fr) repeat(5, minmax(78px, .65fr)) minmax(160px, 1fr) auto !important;
  align-items: end !important;
}

/* Exercise library: cards are visually shorter but still readable. */
.exercise-library {
  gap: 10px !important;
}

.exercise-card {
  grid-template-columns: 78px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  padding: 14px !important;
}

.exercise-art.large {
  width: 70px !important;
  height: 70px !important;
}

.exercise-title-line {
  gap: 6px !important;
}

.exercise-personal-panel,
.exercise-detail-panel,
.pr-strip {
  margin-top: 8px !important;
}

.personal-stat-grid,
.pr-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Tablet width: two-column density without overflow. */
@media (max-width: 1020px) {
  body[data-page="/"] .home-hero-grid,
  .train-hero-card,
  .professional-analysis-grid,
  .analysis-grid,
  .content-grid,
  .template-admin-grid,
  .library-grid {
    grid-template-columns: 1fr !important;
  }

  .analysis-summary-grid.week-summary-grid-v3,
  .plan-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .plan-add-action-form,
  .template-add-action-form-v3,
  .template-item-edit-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .template-item-edit-form .wide {
    grid-column: 1 / -1 !important;
  }

  .exercise-card {
    grid-template-columns: 70px minmax(0, 1fr) !important;
  }

  .exercise-card .exercise-edit-panel {
    grid-column: 1 / -1 !important;
  }
}

/* Mobile: closer to the recent health-site style—compact cards, stable buttons, fewer forced new lines. */
@media (max-width: 760px) {
  body {
    font-size: 14px !important;
    padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
  }

  .app-header-system,
  .app-header,
  .container {
    width: min(100% - 16px, 1200px) !important;
  }

  .app-header-system,
  .app-header {
    margin-top: 8px !important;
    padding: 12px !important;
    border-radius: 20px !important;
    gap: 9px !important;
  }

  .header-copy {
    padding-left: 42px !important;
  }

  .header-copy::before {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
  }

  .header-copy h1 {
    font-size: 23px !important;
    margin-bottom: 3px !important;
  }

  .header-copy .sub {
    font-size: 12px !important;
    line-height: 1.42 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .system-header-actions,
  .header-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 84px !important;
    width: 100% !important;
    gap: 6px !important;
  }

  .system-header-actions > *,
  .settings-menu > summary,
  .user-pill {
    width: 100% !important;
  }

  .user-pill,
  .settings-menu > summary.ghost-btn {
    min-height: 36px !important;
    padding-inline: 10px !important;
    font-size: 12px !important;
  }

  .settings-popover,
  .user-popover {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    top: calc(100% + 6px) !important;
    width: min(220px, calc(100vw - 24px)) !important;
    margin-top: 0 !important;
    box-shadow: 0 18px 36px rgba(15,23,42,.16) !important;
  }

  .user-popover {
    right: auto !important;
    left: 0 !important;
  }

  .main.container {
    padding-top: 8px !important;
  }

  .page-head,
  .card,
  .form-card,
  .trend-card,
  .records-card,
  .history-day,
  .template-card,
  .analysis-summary-card,
  .analysis-trend-card,
  .analysis-history-card,
  .analysis-card,
  .training-mode-card,
  .compact-week-card,
  .dashboard-meta-card,
  .joint-health-card,
  .sync-detail-card,
  .home-primary-card,
  .home-advice-card,
  .home-section-card,
  .train-hero-card {
    padding: var(--density-card-pad-sm) !important;
    margin-bottom: 10px !important;
    border-radius: 18px !important;
  }

  .home-datebar,
  .train-topbar {
    margin-bottom: 10px !important;
  }

  .home-date-switcher,
  .date-switcher.compact-date-switcher,
  .status-card .compact-date-switcher {
    display: grid !important;
    grid-template-columns: 34px minmax(112px, 1fr) 48px 34px 44px !important;
    gap: 4px !important;
    padding: 4px !important;
    border-radius: 16px !important;
    width: 100% !important;
  }

  .home-date-switcher label,
  .home-date-switcher .neutral-btn,
  .date-switcher .ghost-btn,
  .date-switcher .primary-btn {
    min-height: 34px !important;
    padding-inline: 6px !important;
    font-size: 12px !important;
    border-radius: 12px !important;
  }

  .home-date-switcher input[type="date"],
  .date-switcher input[type="date"] {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 12px !important;
  }

  .train-topbar,
  .page-head,
  .section-title,
  .trend-title-row,
  .history-head,
  .home-section-title {
    gap: 8px !important;
  }

  .train-top-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 5px !important;
  }

  .train-top-actions .neutral-btn,
  .train-top-actions .primary-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 4px !important;
    font-size: 11.5px !important;
  }

  .home-primary-card h1,
  .day-summary-card h1,
  .train-hero-card h1 {
    font-size: 29px !important;
    margin: 10px 0 5px !important;
  }

  .home-lead,
  .home-advice-card > p,
  .train-hero-card p,
  .home-section-title p,
  .section-title p,
  .page-head p {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  .home-card-head,
  .home-section-title {
    margin-bottom: 9px !important;
  }

  .home-state-pill,
  .muted-tag,
  .pill {
    min-height: 24px !important;
    padding-inline: 8px !important;
    font-size: 11px !important;
  }

  .home-kpi-row,
  .home-kpi-row.three,
  .week-summary-grid,
  .status-kpi-grid,
  .analysis-stat-chips,
  .personal-stat-grid,
  .pr-strip,
  .plan-stat-grid,
  .backup-status-grid,
  .compact-week-grid,
  .joint-health-grid,
  .quality-card-list,
  body[data-page="/analysis"] .training-quality-card .quality-card-list,
  body[data-page="/analysis"] .analysis-joint-card .joint-health-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .home-kpi-row > div,
  .week-summary-grid div,
  .status-kpi-grid div,
  .analysis-stat-chips div,
  .personal-stat-grid div,
  .pr-strip div,
  .plan-stat-grid div,
  .backup-status-grid div,
  .compact-week-grid div,
  .joint-health-grid div,
  .quality-card-list div {
    min-height: 58px !important;
    padding: 8px !important;
  }

  .home-kpi-row span,
  .home-kpi-row small,
  .week-summary-grid span,
  .week-summary-grid small,
  .analysis-stat-chips span,
  .analysis-stat-chips small,
  .plan-stat-grid span,
  .plan-stat-grid small,
  .personal-stat-grid span,
  .personal-stat-grid small,
  .pr-strip span,
  .pr-strip small {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  .home-kpi-row strong,
  .week-summary-grid strong,
  .analysis-stat-chips strong,
  .plan-stat-grid strong,
  .personal-stat-grid strong,
  .pr-strip strong {
    font-size: 20px !important;
  }

  .home-main-action {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
    gap: 6px !important;
    margin-top: 10px !important;
  }

  .home-primary-cta,
  .home-secondary-link,
  .primary-btn,
  .neutral-btn,
  .ghost-btn,
  .danger-btn {
    min-height: 36px !important;
    padding-inline: 10px !important;
    font-size: 12px !important;
  }

  .home-list-item {
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    padding: 8px !important;
    align-items: center !important;
  }

  .home-list-item .mini-icon,
  .template-item-row .mini-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 10px !important;
  }

  .home-list-item .muted-tag {
    grid-column: auto !important;
    justify-self: end !important;
    max-width: 82px !important;
    text-align: center !important;
    margin-top: 0 !important;
  }

  .home-list-item strong {
    font-size: 13.5px !important;
  }

  .home-list-item small {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  .home-advice-list,
  .home-entry-links,
  .train-template-strip,
  .plan-items,
  .template-items-v3,
  .analysis-history-list {
    grid-template-columns: 1fr !important;
  }

  .home-advice-list p,
  .home-entry-links a {
    padding: 9px 10px !important;
    border-radius: 13px !important;
  }

  .home-advice-list p {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .train-hero-card {
    grid-template-columns: 1fr !important;
  }

  .train-mini-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  .train-mini-stats div {
    padding: 8px !important;
  }

  .train-mini-stats strong {
    font-size: 20px !important;
  }

  .train-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .train-steps span {
    min-height: 28px !important;
    font-size: 11px !important;
  }

  .train-form,
  .day-edit-form,
  .day-meta-form,
  .template-create-form,
  .template-item-edit-form,
  .plan-add-action-form,
  .template-add-action-form-v3,
  .exercise-edit-form,
  .workout-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .train-form .wide,
  .day-edit-form .wide,
  .day-meta-form .wide,
  .template-create-form .wide,
  .template-item-edit-form .wide,
  .plan-add-action-form .wide,
  .exercise-edit-form .wide,
  .workout-form .wide,
  .compact-note-field,
  .rest-timer-panel,
  .set-panel {
    grid-column: 1 / -1 !important;
  }

  .train-form label,
  .day-edit-form label,
  .day-meta-form label,
  .workout-form label {
    font-size: 12px !important;
  }

  .train-form input,
  .train-form select,
  .train-form textarea,
  .day-meta-form input,
  .day-edit-form input,
  .day-edit-form select,
  .day-edit-form textarea,
  .workout-form input,
  .workout-form select,
  .workout-form textarea {
    min-height: 36px !important;
    font-size: 13px !important;
    padding: 7px 8px !important;
  }

  .train-insight,
  .train-timer-panel,
  .train-set-panel,
  .exercise-insight-box,
  .rest-timer-panel,
  .set-panel,
  .quick-set-panel,
  .live-set-panel {
    padding: 9px !important;
  }

  .set-panel-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .segmented-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  .segmented-actions .neutral-btn {
    min-width: 0 !important;
    width: 100% !important;
    padding-inline: 3px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
  }

  .quick-bump-row,
  .timer-actions,
  .train-bump-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  .quick-bump-row .neutral-btn,
  .timer-actions .neutral-btn {
    min-width: 0 !important;
    padding-inline: 3px !important;
    font-size: 10.5px !important;
  }

  .set-row,
  .train-form .set-row,
  .day-edit-form .set-row,
  .live-set-list .set-row:not(.set-head) {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr) minmax(0, .82fr) 28px !important;
    grid-template-areas: none !important;
    gap: 4px !important;
    min-height: 34px !important;
  }

  .set-row .set-index,
  .set-row input[name="set_weight"],
  .set-row input[name="set_reps"],
  .set-row input[name="set_rpe"],
  .set-row .remove-set {
    grid-area: auto !important;
  }

  .set-row input {
    min-height: 32px !important;
    font-size: 12px !important;
    padding: 4px !important;
  }

  .set-row .remove-set {
    min-height: 32px !important;
    width: 28px !important;
  }

  .record-item,
  .day-record-item {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .record-item .exercise-art,
  .day-record-item .exercise-art {
    width: 36px !important;
    height: 36px !important;
  }

  .record-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
  }

  .record-volume {
    min-width: 62px !important;
    padding: 6px 7px !important;
    font-size: 12px !important;
  }

  .record-volume span {
    font-size: 10px !important;
  }

  .day-record-item .delete-form {
    grid-column: 2 !important;
    justify-self: end !important;
    width: auto !important;
    margin-top: 0 !important;
  }

  .day-record-item .delete-form .danger-btn {
    width: auto !important;
    min-height: 32px !important;
    padding-inline: 10px !important;
  }

  .history-entry-meta {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  .history-entry-card {
    padding: 9px !important;
  }

  .plan-card-head,
  .template-card-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .plan-card-head form,
  .template-card-head form {
    justify-self: end !important;
  }

  .template-item-row,
  .plan-item-row {
    grid-template-columns: 34px minmax(0, 1fr) auto auto !important;
    gap: 6px !important;
  }

  .template-item-edit-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .template-item-edit-form .wide {
    grid-column: 1 / -1 !important;
  }

  .exercise-library-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .exercise-filter-bar {
    display: flex !important;
    gap: 5px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
  }

  .filter-btn {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding-inline: 9px !important;
    font-size: 11px !important;
  }

  .exercise-card {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    padding: 10px !important;
    gap: 8px !important;
  }

  .exercise-art.large {
    width: 50px !important;
    height: 50px !important;
  }

  .exercise-card .exercise-edit-panel {
    grid-column: 1 / -1 !important;
  }

  .personal-stat-grid,
  .pr-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .bottom-nav,
  .bottom-nav-v3 {
    left: 8px !important;
    right: 8px !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    padding: 6px !important;
    border-radius: 18px !important;
  }

  .bottom-nav a {
    min-height: 43px !important;
    font-size: 11px !important;
  }

  .mobile-fixed-cta {
    left: 14px !important;
    right: 14px !important;
    bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    min-height: 42px !important;
  }
}

@media (max-width: 420px) {
  .app-header-system,
  .app-header,
  .container {
    width: min(100% - 12px, 1200px) !important;
  }

  .home-date-switcher,
  .date-switcher.compact-date-switcher,
  .status-card .compact-date-switcher {
    grid-template-columns: 30px minmax(96px, 1fr) 42px 30px 38px !important;
    gap: 3px !important;
  }

  .home-date-switcher .neutral-btn,
  .date-switcher .ghost-btn,
  .date-switcher .primary-btn {
    font-size: 11px !important;
  }

  .home-kpi-row strong,
  .week-summary-grid strong,
  .analysis-stat-chips strong,
  .plan-stat-grid strong,
  .personal-stat-grid strong,
  .pr-strip strong {
    font-size: 18px !important;
  }

  .home-list-item {
    grid-template-columns: 32px minmax(0, 1fr) auto !important;
  }

  .home-list-item .muted-tag {
    max-width: 66px !important;
    padding-inline: 6px !important;
  }

  .home-main-action,
  .train-top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .train-finish-btn {
    grid-column: 1 / -1 !important;
  }

  .quick-bump-row,
  .timer-actions,
  .train-bump-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .segmented-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .segmented-actions .neutral-btn {
    font-size: 10px !important;
  }

  .record-top {
    grid-template-columns: 1fr !important;
  }

  .record-volume {
    justify-self: start !important;
  }

  .template-item-row,
  .plan-item-row {
    grid-template-columns: 32px minmax(0, 1fr) auto !important;
  }

  .template-item-row > form,
  .plan-item-row > form {
    grid-column: 3 !important;
  }

  .template-item-edit {
    grid-column: 2 / -1 !important;
    justify-self: start !important;
  }
}

@media (max-width: 360px) {
  .home-kpi-row,
  .home-kpi-row.three,
  .week-summary-grid,
  .status-kpi-grid,
  .analysis-stat-chips,
  .personal-stat-grid,
  .pr-strip,
  .plan-stat-grid,
  .backup-status-grid,
  .compact-week-grid,
  .joint-health-grid,
  .quality-card-list,
  body[data-page="/analysis"] .training-quality-card .quality-card-list,
  body[data-page="/analysis"] .analysis-joint-card .joint-health-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .home-list-item {
    grid-template-columns: 30px minmax(0, 1fr) !important;
  }

  .home-list-item .muted-tag {
    grid-column: 2 !important;
    justify-self: start !important;
    max-width: 100% !important;
    margin-top: 2px !important;
  }

  .train-form,
  .day-edit-form,
  .day-meta-form,
  .template-create-form,
  .template-item-edit-form,
  .plan-add-action-form,
  .template-add-action-form-v3,
  .exercise-edit-form,
  .workout-form {
    grid-template-columns: 1fr !important;
  }

  .segmented-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Final mobile corrections: keep frequent actions compact even on narrow phones. */
@media (max-width: 760px) {
  .plan-add-action-form .add-exercise-select,
  .template-add-action-form-v3 .add-exercise-select,
  .plan-add-action-form .add-note-field,
  .template-add-action-form-v3 .add-note-field {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 360px) {
  .segmented-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .segmented-actions .neutral-btn {
    font-size: 9.5px !important;
    letter-spacing: -0.03em !important;
  }
}
