/* Elevated auth screens — login / register / verify / reset */
.bg-login,
.doctor-join-page {
  --mci-auth-blue: #147ED1;
  --mci-auth-aqua: #1AA5D2;
  --mci-auth-navy: #0B3B62;
  --mci-auth-deep: #071F36;
  --mci-auth-canvas: #EFF9FF;
  --mci-auth-line: rgba(20, 126, 209, 0.18);
  --mci-auth-muted: rgba(11, 59, 98, 0.62);
  font-family: "DM Sans", "Cairo", system-ui, sans-serif;
  color: var(--mci-auth-navy);
  min-height: calc(100vh - 120px);
  background:
    radial-gradient(900px 420px at 90% -10%, rgba(26, 165, 210, 0.22), transparent 55%),
    radial-gradient(700px 360px at -5% 40%, rgba(20, 126, 209, 0.16), transparent 50%),
    linear-gradient(165deg, #071F36 0%, #0B3B62 42%, #0a4a7a 72%, #147ED1 100%) !important;
  padding-block: clamp(2.5rem, 6vh, 4rem) !important;
}

html[dir="rtl"] .bg-login,
html[dir="rtl"] .doctor-join-page {
  font-family: "Cairo", "DM Sans", system-ui, sans-serif;
}

.bg-login > .container,
.doctor-join-page > .container {
  position: relative;
  z-index: 1;
}

.bg-login .card,
.doctor-join-page .card,
.doctor-join-page .doctor-join-card {
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 24px 60px rgba(7, 31, 54, 0.22) !important;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.bg-login .card-body,
.doctor-join-page .card-body {
  padding: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.bg-login h1,
.bg-login .h4,
.bg-login .card-body > h1,
.bg-login .card-body > .h4,
.doctor-join-page h1,
.doctor-join-page .h4 {
  font-family: "Fraunces", "DM Sans", Georgia, serif;
  font-weight: 600;
  color: var(--mci-auth-navy) !important;
  letter-spacing: -0.02em;
  font-size: clamp(1.35rem, 2.4vw, 1.65rem) !important;
}

html[dir="rtl"] .bg-login h1,
html[dir="rtl"] .bg-login .h4,
html[dir="rtl"] .doctor-join-page h1,
html[dir="rtl"] .doctor-join-page .h4 {
  font-family: "Cairo", "Fraunces", sans-serif;
  letter-spacing: 0;
}

.bg-login .text-muted,
.bg-login .card-body > p,
.doctor-join-page .text-muted {
  color: var(--mci-auth-muted) !important;
  line-height: 1.55;
}

.bg-login .form-label,
.doctor-join-page .form-label {
  font-weight: 600;
  color: var(--mci-auth-navy);
  font-size: 0.92rem;
  margin-bottom: 0.4rem;
}

.bg-login .form-control,
.bg-login .form-select,
.doctor-join-page .form-control,
.doctor-join-page .form-select {
  border-radius: 14px;
  border-color: rgba(20, 126, 209, 0.22);
  min-height: 2.85rem;
  padding: 0.65rem 0.95rem;
  color: var(--mci-auth-navy);
  background: #fff;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bg-login .form-control:focus,
.bg-login .form-select:focus,
.doctor-join-page .form-control:focus,
.doctor-join-page .form-select:focus {
  border-color: var(--mci-auth-blue);
  box-shadow: 0 0 0 0.22rem rgba(20, 126, 209, 0.18);
}

.bg-login .form-text,
.doctor-join-page .form-text {
  color: var(--mci-auth-muted);
}

.bg-login a:not(.btn):not(.nav-link),
.doctor-join-page a:not(.btn):not(.nav-link) {
  color: var(--mci-auth-blue);
  font-weight: 600;
}

.bg-login a:not(.btn):not(.nav-link):hover,
.doctor-join-page a:not(.btn):not(.nav-link):hover {
  color: #0f6fbc;
}

.bg-login .btn-primary,
.doctor-join-page .btn-primary {
  --bs-btn-bg: var(--mci-auth-blue);
  --bs-btn-border-color: var(--mci-auth-blue);
  --bs-btn-hover-bg: #0f6fbc;
  --bs-btn-hover-border-color: #0f6fbc;
  --bs-btn-active-bg: #0e64a8;
  --bs-btn-active-border-color: #0e64a8;
  border-radius: 999px !important;
  font-weight: 600;
  min-height: 2.95rem;
  box-shadow: 0 12px 28px rgba(20, 126, 209, 0.28);
  border: 0;
}

.bg-login .btn-outline-primary,
.doctor-join-page .btn-outline-primary {
  --bs-btn-color: var(--mci-auth-blue);
  --bs-btn-border-color: rgba(20, 126, 209, 0.35);
  --bs-btn-hover-bg: var(--mci-auth-blue);
  --bs-btn-hover-border-color: var(--mci-auth-blue);
  border-radius: 999px !important;
  font-weight: 600;
  min-height: 2.95rem;
}

.bg-login .btn-secondary,
.bg-login .btn-light,
.doctor-join-page .btn-secondary {
  border-radius: 999px !important;
  font-weight: 600;
}

.bg-login .nav-pills {
  gap: 0.45rem;
}

.bg-login .nav-pills .nav-link {
  border-radius: 999px !important;
  border: 1px solid var(--mci-auth-line);
  background: var(--mci-auth-canvas);
  color: var(--mci-auth-navy);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 0.55rem 0.85rem;
}

.bg-login .nav-pills .nav-link:hover {
  background: #e3f3fb;
  color: var(--mci-auth-blue);
}

.bg-login .nav-pills .nav-link.active {
  background: var(--mci-auth-blue) !important;
  border-color: var(--mci-auth-blue) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(20, 126, 209, 0.25);
}

.bg-login .mci-account-type-nav .nav-link {
  border-radius: 14px !important;
  border: 1px solid var(--mci-auth-line) !important;
  color: var(--mci-auth-navy) !important;
  background: var(--mci-auth-canvas) !important;
  font-weight: 600;
}

.bg-login .mci-account-type-nav .nav-link:hover,
.bg-login .mci-account-type-nav .nav-link.active {
  color: #fff !important;
  background: var(--mci-auth-blue) !important;
  border-color: var(--mci-auth-blue) !important;
}

.bg-login .alert {
  border-radius: 14px;
  border: 0;
}

.bg-login .alert-success {
  background: rgba(26, 165, 210, 0.12);
  color: var(--mci-auth-navy);
}

.bg-login .alert-danger,
.bg-login .invalid-feedback,
.bg-login .text-danger {
  color: #b42318 !important;
}

.bg-login .form-check-input:checked {
  background-color: var(--mci-auth-blue);
  border-color: var(--mci-auth-blue);
}

.bg-login .admin-corner-link {
  position: absolute;
  top: 0.85rem;
  inset-inline-end: 0.85rem;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mci-auth-canvas);
  color: var(--mci-auth-navy) !important;
  border: 1px solid var(--mci-auth-line);
  z-index: 2;
}

.bg-login .admin-corner-link:hover {
  background: var(--mci-auth-blue);
  color: #fff !important;
  border-color: var(--mci-auth-blue);
}

.bg-login .unified-login-card {
  overflow: visible;
}

/* Doctor join elevated header */
.doctor-join-page {
  background:
    radial-gradient(900px 420px at 90% -10%, rgba(26, 165, 210, 0.22), transparent 55%),
    radial-gradient(700px 360px at -5% 40%, rgba(20, 126, 209, 0.16), transparent 50%),
    linear-gradient(165deg, #071F36 0%, #0B3B62 42%, #0a4a7a 72%, #147ED1 100%) !important;
}

.doctor-join-page .doctor-join-card .card-header {
  background: linear-gradient(135deg, #071F36 0%, #0B3B62 48%, #147ED1 100%) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 1.4rem 1.6rem !important;
}

.doctor-join-page .doctor-join-card .card-header h1,
.doctor-join-page .doctor-join-card .card-header .h4,
.doctor-join-page .doctor-join-card .card-header * {
  color: #fff !important;
}

.doctor-join-page .doctor-join-rep {
  background: rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  color: #fff;
}

@media (max-width: 575.98px) {
  .bg-login .card,
  .doctor-join-page .card {
    border-radius: 18px !important;
  }
}
