body {
  background: #f7f8fa;
}

.navbar .container {
  max-width: 100%;
}

.navbar .nav-link,
.navbar .navbar-brand,
.navbar .navbar-text,
.navbar .dropdown-item {
  white-space: nowrap;
}

.navbar .nav-link {
  padding-left: 0.55rem;
  padding-right: 0.55rem;
}

.auth-panel {
  max-width: 420px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 24px;
}

.admin-form {
  max-width: 560px;
}

#calendar,
.trainer-box,
.exercise-card,
.exercise-view {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
}

.exercise-card {
  margin-bottom: 16px;
}

.set-row {
  margin-bottom: 12px;
}

.fc .fc-toolbar-title {
  font-size: 1.25rem;
}

.catalog-mobile-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 14px;
}

.chart-box,
.filter-panel,
.stat-box {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
}

.stat-box span {
  color: #6c757d;
  display: block;
  font-size: 0.85rem;
}

.stat-box strong {
  display: block;
  font-size: 1.6rem;
  line-height: 1.2;
}

@media (max-width: 575.98px) {
  main.container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .auth-panel,
  #calendar,
  .trainer-box,
  .exercise-card,
  .exercise-view {
    padding: 14px;
  }

  .page-actions {
    align-items: stretch !important;
    flex-direction: column;
    gap: 12px;
  }

  .page-actions .btn,
  .action-buttons .btn,
  .form-actions .btn,
  .trainer-accept-form .btn {
    width: 100%;
  }

  .action-buttons,
  .form-actions,
  .trainer-accept-form {
    flex-direction: column;
  }

  .navbar-text {
    display: block;
    margin: 8px 0 12px;
  }

  .fc .fc-toolbar.fc-header-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .fc .fc-toolbar-chunk {
    display: flex;
    justify-content: center;
  }

  .fc .fc-toolbar-title {
    font-size: 1.05rem;
    text-align: center;
  }

  .fc .fc-button {
    padding: 0.32rem 0.48rem;
  }

  .fc .fc-daygrid-day-number {
    font-size: 0.82rem;
    padding: 3px;
  }

  .fc .fc-col-header-cell-cushion {
    font-size: 0.78rem;
    padding: 4px 2px;
  }

  .set-row .remove-set {
    width: 100%;
  }

  .template-list-row {
    flex-direction: column;
  }
}
