.form-container {
  max-width: 40rem;
  margin: 0 auto;
}

.form-container--wide {
  max-width: 80rem;
}

.form-container--full {
  max-width: none;
}

.form {
  display: flex;
  flex-direction: column;
}

.form-section {
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  background-color: var(--c-base-bg);
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  transition: all 0.2s ease;
}

.form-section--valid {
  background-color: rgba(34, 197, 94, 0.05);
  border-color: var(--c-success);
}

.form-section--invalid {
  background-color: rgba(239, 68, 68, 0.1);
  border-color: transparent;
  border-radius: 0.75rem;
  overflow: hidden;
}

.form-section__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-base-text);
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--c-border);
}

.form-section--valid .form-section__title {
  border-bottom-color: rgba(34, 197, 94, 0.3);
}

.form-section--invalid .form-section__title {
  border-bottom-color: rgba(239, 68, 68, 0.3);
}

.form-section__error {
  display: none;
}

.form-section--invalid .form-section__error {
  display: block;
  margin: 1.5rem -1.5rem -1.5rem -1.5rem;
  padding: 0;
  background-color: var(--c-error);
}

.form-section__error-line {
  display: block;
  padding: 0.35rem 1.5rem;
  color: white;
  font-size: 0.8125rem;
  font-weight: 500;
}

.form-section__error-line:first-child {
  padding-top: 0.5rem;
}

.form-section__error-line:last-child {
  padding-bottom: 0.5rem;
}

.form-divider {
  border: none;
  border-top: 1px solid var(--c-border);
  margin: 1.5rem 0;
}

.form-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

.form-actions--spread {
  justify-content: space-between;
}

.page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}

.page-header-actions {
  display: flex;
  gap: 0.75rem;
}

.page-subtitle {
  color: var(--c-base-subtitle-text);
  margin-top: 0.25rem;
}

.schedule-config {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background-color: var(--c-border);
  border-radius: 0.5rem;
}
