body { font-family: system-ui, sans-serif; background: #f8f9fa; }

a { color: #1b4b8c; }
a:hover { color: #163d73; }

/* Karten */
.bg-white.rounded.shadow-sm {
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
}

/* Buttons */
.btn-primary {
  background-color: #1b4b8c !important;
  border-color: #1b4b8c !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #163d73 !important;
  border-color: #163d73 !important;
}
.btn-outline-primary {
  color: #1b4b8c !important;
  border-color: #1b4b8c !important;
}
.btn-outline-primary:hover {
  background-color: #1b4b8c !important;
  color: #fff !important;
}
.btn-success {
  background-color: #3cb34a !important;
  border-color: #3cb34a !important;
  color: #fff !important;
}
.btn-success:hover, .btn-success:focus, .btn-success:active {
  background-color: #2f9a3d !important;
  border-color: #2f9a3d !important;
}
.btn-danger {
  background-color: #c0392b !important;
  border-color: #c0392b !important;
  color: #fff !important;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
  background-color: #a93226 !important;
  border-color: #a93226 !important;
}

/* Form-Focus */
.form-control:focus, .form-select:focus {
  border-color: #7a9cc4 !important;
  box-shadow: 0 0 0 .25rem rgba(27,75,140,.25) !important;
}

/* Alerts */
.alert-success {
  background-color: #e7f5ea !important;
  border-color: #3cb34a !important;
  color: #1e6f2a !important;
}
.alert-warning {
  background-color: #fef3d8 !important;
  border-color: #e09b20 !important;
  color: #7a4f00 !important;
}
.alert-danger {
  background-color: #fff5f5 !important;
  border-color: #f5c6cb !important;
  color: #842029 !important;
}

/* Stepper */
#stepper .step {
  font-size: 0.85rem;
  color: #6c757d;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #dee2e6;
}
#stepper .step.active {
  background: #1b4b8c;
  color: #fff;
  border-color: #1b4b8c;
}
#stepper .step.done {
  background: #3cb34a;
  color: #fff;
  border-color: #3cb34a;
}

/* Zusammenfassung */
#summary-list dt { font-weight: 600; color: #495057; }
#summary-list dd { margin-bottom: 0.35rem; }

/* Footer */
footer { background: #fff; }
