/* v3.7.10 desktop compact refinement
   Focus: tighter desktop rhythm, more balanced top spacing,
   denser but cleaner quick-record area, and less squeezed analysis / plan / library layouts.
*/

@media (min-width: 761px) {
  :root {
    --desktop-tight-gap: 10px;
    --desktop-tight-gap-lg: 12px;
  }

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

  .main.container > :first-child,
  .page-head,
  .home-datebar,
  .train-topbar,
  .exercise-library-head,
  .template-list,
  .exercise-library {
    margin-top: 0 !important;
  }

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

  .page-head,
  .analysis-head,
  .analysis-head-compact,
  .home-datebar,
  .train-shell,
  .day-shell,
  .home-hero-grid,
  .home-week-grid,
  .analysis-grid,
  .professional-analysis-grid,
  .content-grid,
  .library-grid,
  .template-admin-grid,
  .plan-admin-grid,
  .template-list,
  .exercise-library {
    gap: var(--desktop-tight-gap) !important;
  }

  .page-head,
  .home-datebar,
  .analysis-head,
  .analysis-head-compact,
  .train-topbar,
  .home-section-card,
  .train-hero-card,
  .analysis-summary-card,
  .analysis-trend-card,
  .analysis-history-card,
  .analysis-card,
  .template-card,
  .exercise-card,
  .card {
    margin-bottom: var(--desktop-tight-gap) !important;
  }

  .header-copy h1,
  .page-head h1 {
    margin-bottom: 4px !important;
  }

  .header-copy .sub,
  .page-head p {
    margin-bottom: 0 !important;
  }

  /* Unify date-switch rhythm and avoid unnecessary long white bars. */
  .home-datebar {
    display: flex !important;
    align-items: center !important;
  }

  .home-date-switcher {
    display: inline-grid !important;
    grid-template-columns: 42px auto 58px 42px 64px !important;
    align-items: center !important;
    justify-content: start !important;
    width: auto !important;
    max-width: none !important;
    gap: 8px !important;
  }

  .home-date-switcher label {
    display: grid !important;
    grid-template-columns: auto minmax(170px, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 300px !important;
    width: auto !important;
    padding: 0 12px !important;
  }

  .home-date-switcher label span {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: 12.5px !important;
  }

  .home-date-switcher input[type="date"] {
    min-width: 168px !important;
    width: 100% !important;
  }

  body[data-page="/train"] .train-topbar,
  body[data-page="/day"] .train-topbar {
    grid-template-columns: auto auto !important;
    justify-content: space-between !important;
    align-items: start !important;
    gap: 10px !important;
  }

  body[data-page="/train"] .home-date-switcher,
  body[data-page="/day"] .home-date-switcher {
    align-self: start !important;
  }

  .train-top-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  body[data-page="/train"] .train-top-actions {
    align-self: start !important;
  }

  /* Home page: more balanced "More" section and compact weekly row. */
  body[data-page="/"] .home-week-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr) !important;
  }

  body[data-page="/"] .home-entry-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="/"] .home-entry-links a:last-child {
    grid-column: 1 / -1 !important;
  }

  /* Analysis page: reduce whitespace and keep PR cards more compact. */
  body[data-page="/analysis"] .professional-analysis-grid {
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr) !important;
  }

  body[data-page="/analysis"] .training-quality-card .quality-card-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="/analysis"] .training-quality-card .quality-card-list > div {
    min-height: 0 !important;
  }

  body[data-page="/analysis"] .analysis-pr-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="/analysis"] .pr-card-mini {
    min-height: 0 !important;
    padding: 10px 12px !important;
  }

  /* Plan page: make stats easier to scan and reduce misalignment. */
  body[data-page="/templates"] .plan-stat-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body[data-page="/templates"] .plan-stat-grid > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    min-height: 76px !important;
    padding: 10px 11px !important;
  }

  body[data-page="/templates"] .plan-stat-grid > div:nth-child(4) strong,
  body[data-page="/templates"] .plan-stat-grid > div:nth-child(5) strong {
    font-size: 18px !important;
    white-space: nowrap !important;
  }

  body[data-page="/templates"] .plan-stat-grid > div:nth-child(4) small,
  body[data-page="/templates"] .plan-stat-grid > div:nth-child(5) small {
    white-space: nowrap !important;
  }

  body[data-page="/templates"] .plan-card-head {
    align-items: start !important;
    gap: 10px !important;
  }

  /* Exercise library: relax squeezed two-column cards. */
  body[data-page="/exercises"] .exercise-library {
    grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)) !important;
    gap: 12px !important;
  }

  body[data-page="/exercises"] .exercise-filter-bar {
    justify-content: flex-start !important;
    gap: 7px !important;
  }

  body[data-page="/exercises"] .filter-btn {
    white-space: nowrap !important;
  }

  body[data-page="/exercises"] .exercise-title-line {
    align-items: flex-start !important;
    gap: 6px !important;
  }
}

/* Keep the desktop-intended changes from forcing a cramped layout on smaller laptops. */
@media (min-width: 761px) and (max-width: 980px) {
  body[data-page="/train"] .train-topbar,
  body[data-page="/day"] .train-topbar,
  body[data-page="/analysis"] .professional-analysis-grid,
  body[data-page="/templates"] .plan-stat-grid,
  body[data-page="/analysis"] .analysis-pr-list {
    grid-template-columns: 1fr !important;
  }


  body[data-page="/exercises"] .exercise-library {
    grid-template-columns: 1fr !important;
  }
}
