body.login-page {
  background-color: #f0f2f5;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.login-container {
  width: 100%;
  max-width: 400px;
}

.login-card {
  border-radius: 12px;
  border: none;
}

.login-footer {
  width: 100%;
  max-width: 400px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.85em;
}

.custom-input-group .form-control {
  border: 1px solid #ced4da;
  border-left: none;
  padding-left: 0.75rem;
  box-shadow: none !important;
  height: calc(1.5em + 0.75rem + 2px);
}

.custom-input-group .input-group-text {
  background-color: #ced4da;
  border: 1px solid #ced4da;
  border-right: none;
  padding: 0.375rem 0.6rem;
}

.custom-input-group .input-group-text i {
  color: #6c757d;
}

.custom-input-group input:-webkit-autofill,
.custom-input-group input:-webkit-autofill:hover,
.custom-input-group input:-webkit-autofill:focus,
.custom-input-group input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
  box-shadow: 0 0 0 30px white inset !important;
  -webkit-text-fill-color: #212529 !important;
}

.login-divider {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 2px solid rgb(97, 93, 89);
}

.login-title {
  color: #e05a00;
}

.login-subtitle {
  font-size: 0.85em;
  color: #6c757d !important;
}

.login-logo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: rgb(255, 95, 0);
  padding: 0;
}

.btn-toggle-password {
  border-color: #ced4da;
  border-left-width: 1px;
}

.alert .btn-close {
  padding: 0.5rem;
}

.brand-footer {
  font-size: 0.8em;
  color: #6c757d;
}

.brand-link {
  text-decoration: none;
}

.brand-f1-orange {
  color: rgb(255, 95, 0);
}

.brand-f1-dark {
  color: #343a40;
}

.form-label-compact {
  font-weight: 500;
  font-size: 0.9em;
  color: #495057;
}
