:root {
  --preto: #000;
  --amarelo: #f4c73e;
  --card: #0a0a0a;
  --campo: #111;
  --borda: #2a2a2a;
}

body {
  background: var(--preto);
  color: #fff;
}

.card-form {
  background: var(--card);
  border-radius: 22px;
  border: 1px solid #222;
  box-shadow: 0 10px 45px rgba(244, 199, 62, 0.08);
  overflow: hidden;
}

.header {
  background: var(--amarelo);
  color: #000;
  padding: 24px;
  font-weight: 800;
}

.nav-tabs {
  border-bottom: 1px solid #222;
  gap: 8px;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  padding-bottom: 8px;
}

.nav-tabs .nav-link {
  color: #bbb;
  background: #111;
  border: 1px solid #222;
  border-radius: 14px;
  white-space: nowrap !important;
  padding: 12px 18px;
  font-weight: 600;
}

.nav-tabs .nav-link.active {
  background: var(--amarelo);
  color: #000;
  border-color: var(--amarelo);
}

.form-label {
  color: #e5e5e5;
  font-weight: 600;
  margin-bottom: 7px;
}

.required::after {
  content: " *";
  color: var(--amarelo);
}

.form-control,
.form-select {
  background: var(--campo);
  border: 1px solid var(--borda);
  color: #fff;
  min-height: 58px;
  border-radius: 14px;
  padding: 14px 16px;
}

.form-control::placeholder {
  color: #aaa;
  opacity: 1;
}

.form-control:focus,
.form-select:focus {
  background: #111;
  color: #fff;
  border-color: var(--amarelo);
  box-shadow: 0 0 0 0.22rem rgba(244, 199, 62, 0.25);
}

.form-select option {
  background: #111;
  color: #fff;
}

.section-title {
  color: var(--amarelo);
  font-weight: 800;
  margin-bottom: 20px;
  font-size: 1.05rem;
}

.alert-member {
  background: rgba(244, 199, 62, 0.12);
  color: #f4c73e;
  border: 1px solid rgba(244, 199, 62, 0.35);
  border-radius: 16px;
  padding: 16px;
  font-weight: 600;
}

.btn-save {
  background: var(--amarelo);
  color: #000;
  border: none;
  font-weight: 800;
  border-radius: 14px;
  min-height: 54px;
  padding: 0 30px;
}

.btn-save:hover {
  background: #ddb42f;
  color: #000;
}

.btn-clear {
  border-color: #444;
  color: #fff;
  border-radius: 14px;
  min-height: 54px;
}

.btn-clear:hover {
  background: #191919;
  color: #fff;
}

.is-invalid {
  border-color: #dc3545 !important;
}

.invalid-feedback {
  color: #ff6b6b;
  font-size: 0.85rem;
  margin-top: 6px;
}

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

  .header {
    padding: 20px 16px;
    text-align: center;
  }

  .form-area {
    padding: 18px !important;
  }

  .nav-tabs .nav-link {
    padding: 10px 14px;
    font-size: 0.9rem;
  }

  .form-control,
  .form-select {
    min-height: 56px;
    font-size: 0.95rem;
  }

  .actions {
    flex-direction: column;
  }

  .actions button {
    width: 100%;
  }
}
