/* Shared auth theme: clean white + orange, with matching dark mode */
:root {
  --auth-primary: var(--primary-color, #f97316);
  --auth-primary-strong: #ea580c;
  --auth-primary-soft: #ffedd5;
  --auth-surface: #ffffff;
  --auth-surface-soft: #fff7ed;
  --auth-border: #fed7aa;
  --auth-text: #171717;
  --auth-text-muted: #4b5563;
  --auth-shadow: 0 26px 70px rgba(249, 115, 22, 0.18);
}

.login-container,
.register-container,
.forgot-container,
.reset-container {
  background: #ffffff !important;
}

.login-container::before,
.register-container::before,
.forgot-container::before {
  background: rgba(249, 115, 22, 0.12) !important;
}

.login-container::after,
.register-container::after,
.forgot-container::after {
  background: rgba(249, 115, 22, 0.08) !important;
}

.login-left,
.register-side,
.forgot-side {
  color: var(--auth-text) !important;
}

.login-eyebrow,
.register-eyebrow,
.forgot-eyebrow {
  color: #f97316 !important;
}

.login-left-phrase,
.register-side-title,
.forgot-side-title {
  color: var(--auth-text) !important;
}

.login-left-phrase span,
.register-side-title span,
.forgot-side-title span {
  background: none !important;
  color: #ea580c !important;
}

.login-left-sub,
.register-side-subtitle,
.forgot-side-subtitle {
  color: var(--auth-text-muted) !important;
}

.login-kpi,
.register-kpi,
.forgot-side-list li,
.register-side-card,
.login-highlight {
  border-color: #fed7aa !important;
  background: rgba(255, 255, 255, 0.86) !important;
  color: #9a3412 !important;
}

.login-kpi strong,
.register-kpi strong,
.login-highlight strong,
.register-side-card strong {
  color: #9a3412 !important;
}

.login-highlight p,
.register-side-card p {
  color: #4b5563 !important;
}

.login-highlight i,
.forgot-side-list i {
  color: #f97316 !important;
}

.login-version,
.register-version,
.forgot-version {
  color: #6b7280 !important;
}

.login-card,
.register-card,
.forgot-card,
.reset-card {
  background: var(--auth-surface) !important;
  border: 1px solid var(--auth-border) !important;
  box-shadow: var(--auth-shadow) !important;
  color: var(--auth-text) !important;
}

.login-logo img,
.register-logo img,
.forgot-logo img,
.reset-logo img {
  filter: none !important;
}

.login-badge,
.register-badge,
.forgot-badge {
  color: #c2410c !important;
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
}

.login-title,
.register-title,
.forgot-title,
.reset-title {
  color: var(--auth-text) !important;
}

.login-subtitle,
.register-subtitle,
.forgot-subtitle,
.reset-subtitle,
.reset-hint,
.form-hint {
  color: var(--auth-text-muted) !important;
}

.login-form .form-label,
.register-form .form-label,
.forgot-form .form-label,
.reset-form .form-label {
  color: #9a3412 !important;
}

.login-form .form-input,
.register-form .form-input,
.forgot-form .form-input,
.reset-form .form-input {
  background: var(--auth-surface-soft) !important;
  border: 1px solid #fed7aa !important;
  color: #171717 !important;
}

.login-form .form-input::placeholder,
.register-form .form-input::placeholder,
.forgot-form .form-input::placeholder,
.reset-form .form-input::placeholder {
  color: #6b7280 !important;
}

.login-form .form-input:focus,
.register-form .form-input:focus,
.forgot-form .form-input:focus,
.reset-form .form-input:focus {
  background: #ffffff !important;
  border-color: var(--auth-primary) !important;
  box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.14) !important;
}

.password-toggle {
  color: #6b7280 !important;
}

.password-toggle:hover {
  color: #c2410c !important;
}

.terms-checkbox {
  accent-color: var(--auth-primary) !important;
}

.forgot-link,
.login-footer a,
.register-footer a,
.forgot-footer a,
.reset-footer a,
.terms-label a {
  color: var(--auth-primary-strong) !important;
}

.login-submit,
.register-submit,
.forgot-submit,
.reset-submit {
  background: #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 16px 32px rgba(249, 115, 22, 0.28) !important;
}

.login-submit:hover,
.register-submit:hover,
.forgot-submit:hover,
.reset-submit:hover {
  box-shadow: 0 20px 38px rgba(249, 115, 22, 0.34) !important;
}

.login-alert.success,
.forgot-alert.success {
  border-color: #fed7aa !important;
  background: #fff7ed !important;
}

.login-alert.success i,
.login-alert.success span,
.forgot-alert.success i,
.forgot-alert.success span {
  color: #c2410c !important;
}

.reset-icon.success,
.reset-icon.form-icon {
  background: rgba(249, 115, 22, 0.15) !important;
}

.reset-icon.success svg,
.reset-icon.success i,
.reset-icon.form-icon svg,
.reset-icon.form-icon i {
  color: var(--auth-primary) !important;
}

html.dark .login-container,
html.dark .register-container,
html.dark .forgot-container,
html.dark .reset-container {
  background: #0a0a0a !important;
}

html.dark .login-left,
html.dark .register-side,
html.dark .forgot-side {
  color: #fafafa !important;
}

html.dark .login-eyebrow,
html.dark .register-eyebrow,
html.dark .forgot-eyebrow {
  color: #fdba74 !important;
}

html.dark .login-left-sub,
html.dark .register-side-subtitle,
html.dark .forgot-side-subtitle,
html.dark .login-highlight p,
html.dark .register-side-card p,
html.dark .login-version,
html.dark .register-version,
html.dark .forgot-version {
  color: #d4d4d8 !important;
}

html.dark .login-kpi,
html.dark .register-kpi,
html.dark .forgot-side-list li,
html.dark .register-side-card,
html.dark .login-highlight {
  background: rgba(249, 115, 22, 0.15) !important;
  border-color: #f97316 !important;
  color: #ffedd5 !important;
}

html.dark .login-card,
html.dark .register-card,
html.dark .forgot-card,
html.dark .reset-card {
  background: rgba(10, 10, 10, 0.92) !important;
  border-color: #f97316 !important;
  color: #fafafa !important;
}

html.dark .login-title,
html.dark .register-title,
html.dark .forgot-title,
html.dark .reset-title {
  color: #fafafa !important;
}

html.dark .login-subtitle,
html.dark .register-subtitle,
html.dark .forgot-subtitle,
html.dark .reset-subtitle,
html.dark .reset-hint,
html.dark .form-hint,
html.dark .login-form .form-label,
html.dark .register-form .form-label,
html.dark .forgot-form .form-label,
html.dark .reset-form .form-label {
  color: #d4d4d8 !important;
}

html.dark .login-form .form-input,
html.dark .register-form .form-input,
html.dark .forgot-form .form-input,
html.dark .reset-form .form-input {
  background: #171717 !important;
  border-color: #f97316 !important;
  color: #fafafa !important;
}

html.dark .login-form .form-input:focus,
html.dark .register-form .form-input:focus,
html.dark .forgot-form .form-input:focus,
html.dark .reset-form .form-input:focus {
  background: #0f0f10 !important;
  border-color: #f97316 !important;
  box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.24) !important;
}

html.dark .login-badge,
html.dark .register-badge,
html.dark .forgot-badge {
  color: #ffedd5 !important;
  background: rgba(249, 115, 22, 0.2) !important;
  border-color: #f97316 !important;
}

/* Preline refresh para telas de autenticação */
.login-card,
.register-card,
.forgot-card,
.reset-card,
.verify-card {
  border-radius: 18px !important;
  border-width: 1px !important;
  border-color: #e5e7eb !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16) !important;
}

.login-badge,
.register-badge,
.forgot-badge {
  border-radius: 999px !important;
  letter-spacing: 0.08em !important;
}

.login-form .form-input,
.register-form .form-input,
.forgot-form .form-input,
.reset-form .form-input {
  min-height: 44px !important;
  border-radius: 10px !important;
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
}

.login-submit,
.register-submit,
.forgot-submit,
.reset-submit,
.verify-btn {
  min-height: 46px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

.login-submit:hover,
.register-submit:hover,
.forgot-submit:hover,
.reset-submit:hover,
.verify-btn:hover {
  transform: translateY(-1px) !important;
}

html.dark .login-card,
html.dark .register-card,
html.dark .forgot-card,
html.dark .reset-card,
html.dark .verify-card {
  border-color: #3f3f46 !important;
  box-shadow: 0 20px 50px rgba(2, 6, 23, 0.5) !important;
}

html.dark .login-form .form-input,
html.dark .register-form .form-input,
html.dark .forgot-form .form-input,
html.dark .reset-form .form-input {
  border-color: #3f3f46 !important;
  background: #111111 !important;
}

/* Escopo final para padronização visual completa no fluxo auth */
body.page-auth-refined .login-card,
body.page-auth-refined .register-card,
body.page-auth-refined .forgot-card,
body.page-auth-refined .reset-card,
body.page-auth-refined .verify-card {
  border-radius: 18px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.17) !important;
}

body.page-auth-refined .login-submit,
body.page-auth-refined .register-submit,
body.page-auth-refined .forgot-submit,
body.page-auth-refined .reset-submit,
body.page-auth-refined .verify-btn,
body.page-auth-refined .login-submit-alt {
  min-height: 46px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

body.page-auth-refined .form-input,
body.page-auth-refined input.form-input,
body.page-auth-refined select.form-input {
  min-height: 44px !important;
  border-radius: 10px !important;
}

body.page-auth-refined .login-badge,
body.page-auth-refined .register-badge,
body.page-auth-refined .forgot-badge {
  border-radius: 999px !important;
  letter-spacing: 0.08em !important;
}

html.dark body.page-auth-refined .login-card,
html.dark body.page-auth-refined .register-card,
html.dark body.page-auth-refined .forgot-card,
html.dark body.page-auth-refined .reset-card,
html.dark body.page-auth-refined .verify-card {
  border-color: #3f3f46 !important;
  box-shadow: 0 24px 52px rgba(2, 6, 23, 0.55) !important;
}
