.ph-login-root,
.ph-login-page {
  height: 100%;
}

.ph-login-page {
  background: linear-gradient(140deg, #f7fcfb 0%, #d9f5ef 52%, #c8efe8 100%);
  color: var(--ph-color-text-default);
}

.ph-login-shell,
.ph-login-shell-row {
  height: 100%;
}

.ph-login-panel-row {
  padding-top: clamp(40px, 10vh, 120px);
}

.ph-login-page .bg-white-2 {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--ph-color-border);
  border-radius: var(--ph-radius-xl);
  box-shadow: 0 18px 40px rgba(13, 148, 136, 0.12);
}

.ph-login-logo {
  max-width: 110px;
}

.ph-login-page hr {
  border-top-color: #d7ece9;
}

.ph-login-page .form-control {
  border: 1px solid var(--ph-color-border-strong);
  border-radius: var(--ph-radius-md);
  min-height: 44px;
}

.ph-login-page .form-control:focus {
  border-color: var(--ph-color-primary);
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.16);
}

.ph-login-page .btn-info,
.ph-login-page .btn-info:focus,
.ph-login-page .btn-info:active {
  background: var(--ph-color-primary);
  border-color: var(--ph-color-primary);
  color: #fff;
}

.ph-login-page .btn-info:hover {
  background: var(--ph-color-primary-strong);
  border-color: var(--ph-color-primary-strong);
  color: #fff;
}

.ph-login-page .btn-outline-info,
.ph-login-page .btn-outline-info:focus {
  border-color: var(--ph-color-primary);
  color: var(--ph-color-primary);
}

.ph-login-page .btn-outline-info:hover {
  background: #e8f7f5;
  border-color: var(--ph-color-primary-strong);
  color: var(--ph-color-primary-strong);
}

.ph-login-page .text-info,
.ph-login-page .text-info:hover {
  color: var(--ph-color-primary) !important;
}

.ph-login-page .alert {
  border-radius: var(--ph-radius-md);
}

.ph-login-alert-icon {
  margin-right: 10px;
}

.ph-login-page .ph-form-hidden {
  display: none;
}
