/* Auth page orange overrides — beats any old purple cached styles */
.auth-page {
  background: #0a0a0a !important;
  background-image: radial-gradient(
    ellipse at 50% -10%,
    rgba(232, 117, 10, 0.22) 0%,
    transparent 55%
  ) !important;
}

.auth-card {
  background: #161616 !important;
  border: 1px solid rgba(232, 117, 10, 0.35) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45) !important;
}

.auth-logo-wrap h1,
.auth-card h1,
.auth-brand-title {
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #ff8c00 !important;
  color: #ff8c00 !important;
}

.auth-logo-icon {
  background: #e8750a !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.auth-page .subtitle,
.auth-page label {
  color: #999999 !important;
}

.auth-page .rhino-input,
.auth-page .rhino-textarea {
  background: #111111 !important;
  border-color: rgba(232, 117, 10, 0.2) !important;
  color: #eeeeee !important;
}

.auth-page .rhino-input:focus,
.auth-page .rhino-textarea:focus {
  border-color: #e8750a !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(232, 117, 10, 0.25) !important;
}

.auth-page .rhino-btn-primary,
.auth-page .auth-submit {
  background: #e8750a !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
}

.auth-page .rhino-btn-primary:hover,
.auth-page .auth-submit:hover {
  background: #cc6600 !important;
}

.auth-footer a,
.auth-signup-link {
  color: #ff8c00 !important;
}

.auth-page .input-icon {
  color: #e8750a !important;
}

.auth-page .flash-info,
.auth-page .flash-success,
.auth-page .flash-warning,
.auth-page .flash-danger {
  background: rgba(232, 117, 10, 0.12) !important;
  color: #ff8c00 !important;
}

/* Password strength meter */
.password-field-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.password-strength-track {
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.password-strength-bar {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  transition: width 0.25s ease, background 0.25s ease;
}

.password-strength-bar.is-weak { width: 25%; background: #d64545; }
.password-strength-bar.is-fair { width: 50%; background: #e8a020; }
.password-strength-bar.is-good { width: 75%; background: #7cb342; }
.password-strength-bar.is-strong { width: 100%; background: #2e9e5e; }

.password-strength-label {
  margin: 6px 0 0;
  font-size: 0.78rem;
  font-weight: 600;
  color: #aaaaaa;
}

.password-strength-meter.is-weak .password-strength-label { color: #e07070; }
.password-strength-meter.is-fair .password-strength-label { color: #e8a020; }
.password-strength-meter.is-good .password-strength-label { color: #9ccc65; }
.password-strength-meter.is-strong .password-strength-label { color: #66bb6a; }

.password-requirements {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.password-requirements li {
  font-size: 0.76rem;
  color: #777777;
  padding-left: 1.35rem;
  position: relative;
  line-height: 1.35;
}

.password-requirements li::before {
  content: '○';
  position: absolute;
  left: 0;
  color: #555555;
}

.password-requirements li.is-met {
  color: #9ccc65;
}

.password-requirements li.is-met::before {
  content: '✓';
  color: #7cb342;
  font-weight: 700;
}

.password-requirements li.is-unmet::before {
  content: '○';
  color: #c06060;
}

.password-match-hint {
  display: block;
  margin-top: 6px;
  font-size: 0.76rem;
  min-height: 1.1em;
}

.password-match-hint.is-ok { color: #7cb342; }
.password-match-hint.is-bad { color: #e07070; }

.auth-page .auth-submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
