/* Authentication pages styling */

.auth-section {
  padding-top: 100px !important;
  margin-top: 0 !important;
}

/* Ensure auth form is properly positioned regardless of how it's loaded */
section.add-url-form-card.auth-section {
  margin-top: 0 !important;
  padding-top: 100px !important;
}

/* Handle different auth form loading contexts */
.container > section.add-url-form-card.auth-section {
  margin-top: 0 !important;
  padding-top: 100px !important;
}

/* Form elements */
.auth-form {
  width: 100%;
}

/* Ensure forms have proper spacing */
.form-group {
  margin-bottom: 1.5rem;
}

/* Dark mode adjustments */
html[data-theme="dark"] .auth-section {
  background: var(--surface-2-dark) !important;
  border-color: var(--border-2-dark) !important;
}

.password-policy-helper {
  margin-top: 0.75rem;
  font-size: 0.9rem;
  color: var(--text-2, #4a5568);
}

.password-policy-helper .form-helper-text {
  margin-bottom: 0.5rem;
  color: inherit;
}

.password-policy-checklist {
  margin: 0.5rem 0 0.5rem 1.25rem;
  padding: 0;
  list-style: disc;
}

.password-policy-checklist li {
  margin-bottom: 0.25rem;
  transition: color 0.2s ease;
}

.password-policy-checklist li.policy-pass {
  color: var(--success-600, #15803d);
}

.password-policy-checklist li.policy-fail {
  color: var(--danger-600, #b91c1c);
}

.password-strength {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  font-size: 0.85rem;
}

.password-strength-track {
  flex: 1;
  height: 6px;
  background: var(--border-1, #e2e8f0);
  border-radius: 999px;
  overflow: hidden;
}

.password-strength-bar {
  height: 100%;
  width: 0%;
  background: var(--primary-500, #0ea5e9);
  transition: width 0.25s ease, background 0.25s ease;
}

.password-strength-label {
  min-width: 110px;
  color: var(--text-1, #1f2933);
}

.password-policy-message {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: var(--danger-600, #b91c1c);
  min-height: 1rem;
}

.password-policy-message[data-valid="true"] {
  color: var(--success-600, #15803d);
}
