:root {
  --ag-brand-primary: #0866ff;
  --ag-brand-primary-dark: #0548b5;
  color-scheme: light;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background: #eef1f6;
  color: #1f2937;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

.ag-login-page {
  min-height: 100vh;
  padding-inline: 1.5rem;
  background: linear-gradient(180deg, #f9fafb 0%, #eef1f6 100%);
}

.login-box {
  margin-inline: auto;
}

.ag-login-card {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: .75rem;
}

.login-card-body {
  padding: 1.5rem;
}

.login-box-msg {
  margin-bottom: 1rem;
}

.ag-login-card .input-group-text {
  min-width: 2.25rem;
  justify-content: center;
}

.ag-login-card .form-text {
  font-size: .75rem;
}

.ag-login-card .btn-primary {
  padding-block: .5rem;
  font-weight: 600;
}

.password-toggle-group [data-password-toggle] {
  min-width: 5rem;
}

.fa-user::before { content: "U"; font-weight: 700; }
.fa-lock::before { content: "•"; font-weight: 700; }
.fa-user-circle::before { content: "U"; font-weight: 700; }
.fa-shield-alt::before { content: "✓"; font-weight: 700; }
.fa-key::before { content: "•"; font-weight: 700; }
.fa-exclamation-triangle::before { content: "!"; font-weight: 700; }

.ag-password-guidelines {
  padding: 1rem;
  border: 1px solid #dce5f2;
  border-radius: .65rem;
  background: #f8fbff;
}

.ag-password-progress {
  height: .4rem;
}

.ag-password-requirements li {
  margin-top: .3rem;
}

.ag-password-requirements li.is-valid {
  color: #17754c;
}

.ag-password-requirements li.is-invalid {
  color: #b42318;
}

@media (max-width: 575.98px) {
  .ag-login-page {
    padding-inline: 1rem;
  }

  .login-card-body {
    padding: 1.25rem;
  }
}
