.carers-form {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
  border: 1px solid #d7d7d7;
  border-radius: 10px;
  background: #fff;
}

.carers-step {
  display: none;
}

.carers-step.active {
  display: block;
}

.carers-step h3 {
  margin-top: 0;
}

.carers-form label,
.carers-form fieldset {
  display: block;
  margin-bottom: 14px;
}

.carers-form input[type="text"],
.carers-form input[type="email"],
.carers-form input[type="tel"],
.carers-form input[type="file"],
.carers-form textarea,
.carers-form select {
  width: 100%;
  margin-top: 6px;
  padding: 9px 10px;
  border: 1px solid #bfbfbf;
  border-radius: 6px;
  box-sizing: border-box;
}

.carers-inline-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-bottom: 14px;
}

.carers-inline-group span {
  width: 100%;
  font-weight: 600;
}

.carers-reference-grid {
  border: 1px solid #efefef;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 14px;
}

.carers-reference-grid h4 {
  margin: 0 0 10px 0;
}

.carers-step-indicator {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.carers-step-indicator span {
  font-size: 12px;
  background: #f1f1f1;
  padding: 8px;
  border-radius: 6px;
  text-align: center;
}

.carers-step-indicator span.active {
  background: #0073aa;
  color: #fff;
}

.carers-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.carers-submit {
  display: none;
}

.carers-form-alert {
  max-width: 900px;
  margin: 0 auto 15px;
  padding: 10px 12px;
  border-radius: 8px;
}

.carers-form-alert.success {
  background: #ecfaef;
  border: 1px solid #9dd8a8;
  color: #24592b;
}

.carers-form-alert.error {
  background: #fff0f0;
  border: 1px solid #efb1b1;
  color: #8f2323;
}

@media (max-width: 768px) {
  .carers-step-indicator {
    grid-template-columns: 1fr;
  }

  .carers-form {
    padding: 14px;
  }
}
