.custom-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(17, 24, 39, 0.35);
  backdrop-filter: blur(3px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.custom-modal {
  background: white;
  width: 520px;
  border-radius: 20px;
  padding: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  animation: fadeIn 0.2s ease-out;
}

.modal-header-custom {
  padding: 24px 28px 10px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-title-custom {
  font-size: 22px;
  font-weight: 600;
  margin: 0;
}

.close-btn-custom {
  border: none;
  background: transparent;
  font-size: 26px;
  cursor: pointer;
  opacity: 0.7;
}

.modal-body-custom {
  padding: 10px 28px 20px 28px;
}

.label-block {
  margin-bottom: 12px;
}

.label-title {
  font-size: 15px;
  font-weight: 600;
}

.label-subtext {
  font-size: 13px;
  margin-top: 6px;
  opacity: 0.6;
}

.role-pill {
  display: inline-block;
  background: #eef2ff;
  color: #3a4ac2;
  padding: 6px 14px;
  border-radius: 12px;
  font-size: 13px;
  margin-top: 6px;
}

.custom-select select {
  width: 100%;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  font-size: 14px;
  appearance: none;
  background: #f9fafb;
}

.info-text {
  font-size: 13px;
  margin-top: 12px;
  opacity: 0.6;
}

.modal-footer-custom {
  padding: 20px 28px 28px 28px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.btn-cancel {
  padding: 10px 22px;
  border-radius: 12px;
  background: white;
  border: 1px solid #cfd4dd;
  font-size: 14px;
  cursor: pointer;
}

.btn-save {
  padding: 10px 22px;
  border-radius: 12px;
  background: #0c274b;
  color: white;
  font-size: 14px;
  border: none;
  cursor: pointer;
}

.mt-20 {
  margin-top: 20px;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
