/* ==========================================================
   FacturaPro - Auth (v2, editorial)
   ========================================================== */
.auth-page{ min-height:100vh; display:flex; background: var(--color-bg); }
.auth-visual{
  flex: 1.1; background: var(--color-ink);
  color:#fff; display:flex; flex-direction:column; justify-content:space-between;
  padding: var(--space-8); position:relative; overflow:hidden;
}
.auth-visual::after{
  content:''; position:absolute; inset: auto -160px -160px auto; width: 420px; height:420px;
  background: radial-gradient(circle, var(--color-accent) 0%, transparent 70%); opacity:.25;
}
.auth-visual .brand{ display:flex; align-items:center; gap:10px; font-family: var(--font-display); font-weight:400; font-size:21px; position:relative; z-index:1; border-bottom:none; }
.auth-visual .brand .logo-mark{
  width:34px; height:34px; border-radius: var(--radius-sm); background: rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center; font-family: var(--font-display); font-weight:400;
}
.auth-visual .pitch{ max-width: 420px; position:relative; z-index:1; }
.auth-visual .pitch h2{ color:#fff; font-size:38px; margin-bottom: var(--space-3); font-style: italic; }
.auth-visual .pitch p{ color: rgba(255,255,255,.7); font-size:15px; }
.auth-visual .quote{ font-size:12.5px; color: rgba(255,255,255,.45); position:relative; z-index:1; font-family: var(--font-mono); }

.auth-form-wrap{ flex:1; display:flex; align-items:center; justify-content:center; padding: var(--space-6); }
.auth-form{ width:100%; max-width: 380px; }
.auth-form h1{ font-size:32px; margin-bottom:6px; }
.auth-form .sub{ margin-bottom: var(--space-6); }
.auth-form .form-footer{ text-align:center; margin-top: var(--space-5); font-size:14px; color: var(--color-text-soft); }
.auth-error{ background: var(--color-danger-bg); color: var(--color-danger); font-size:13px; font-weight:600; padding: 10px 14px; border-radius: var(--radius-sm); margin-bottom: var(--space-4); }
.auth-success{ background: var(--color-success-bg); color: var(--color-success); font-size:13px; font-weight:600; padding: 10px 14px; border-radius: var(--radius-sm); margin-bottom: var(--space-4); }

@media (max-width: 900px){ .auth-visual{ display:none; } }
