/* Dashboard: single-viewport layout */
.page-dashboard {
  padding-top: var(--spacing-sm);
}

.dashboard-content .container {
  position: relative;
}

/* Main dashboard grid: chart takes ~60%, calendar beside it */
.dashboard-main {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: var(--spacing-md);
  align-items: start;
}

.dashboard-main .chart-container {
  min-width: 0;
  min-height: 0;
}

.dashboard-main .chart-container canvas {
  width: 100% !important;
  height: auto !important;
}

.dashboard-main .calendar-section {
  margin-bottom: 0;
  min-width: 0;
  overflow: hidden;
}

/* Fixed-size calendar cells so they never blow up */
.dashboard-main .calendar-grid {
  grid-template-columns: repeat(10, 22px);
  grid-auto-rows: 22px;
  gap: 3px;
  justify-content: center;
}

.dashboard-main .calendar-day {
  aspect-ratio: auto;
  width: 22px;
  height: 22px;
  font-size: 0.5rem;
}

.dashboard-main .calendar-day .day-number {
  font-size: 0.5rem;
  line-height: 1;
}

.dashboard-main .calendar-day .day-games {
  font-size: 0.4rem;
  line-height: 1;
}

/* Calendar detail: contained with scroll */
.calendar-detail {
  max-height: 260px;
  overflow-y: auto;
}

/* Responsive stat cards on dashboard */
@media (max-width: 1024px) {
  .dashboard-main {
    grid-template-columns: 1fr;
  }

  .dashboard-main .calendar-grid {
    grid-template-columns: repeat(10, 28px);
    grid-auto-rows: 28px;
  }

  .dashboard-main .calendar-day {
    width: 28px;
    height: 28px;
    font-size: 0.6rem;
  }

  .dashboard-main .calendar-day .day-number {
    font-size: 0.6rem;
  }

  .dashboard-main .calendar-day .day-games {
    font-size: 0.45rem;
  }

  .stat-cards {
    flex-wrap: wrap;
  }

  .stat-card {
    flex: 1 1 calc(50% - var(--spacing-md));
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .stat-cards {
    flex-direction: column;
  }

  .stat-card {
    flex: 1 1 100%;
  }

  .dashboard-main .calendar-grid {
    grid-template-columns: repeat(10, 24px);
    grid-auto-rows: 24px;
  }

  .dashboard-main .calendar-day {
    width: 24px;
    height: 24px;
    font-size: 0.55rem;
  }

  .dashboard-main .calendar-day .day-number {
    font-size: 0.55rem;
  }

  .dashboard-main .calendar-day .day-games {
    font-size: 0.4rem;
  }

  .header-actions {
    flex-wrap: wrap;
  }
}

/* Inline edit mode inputs */
.user-info input[type="text"],
.user-info input[type="date"] {
  padding: var(--spacing-xs) var(--spacing-sm);
  background: var(--bg-input);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-size: 0.85rem;
}
.user-info input:focus {
  outline: none;
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 2px var(--accent-highlight);
}
