/* ── Auth interactivity — Tailwind v4.1 patterns mapped to portal tokens ── */

body.auth-page::before,
body.auth-page::after {
  pointer-events: none;
}

/* Caret & accent */
.auth-card input,
.auth-card textarea,
.auth-card select {
  caret-color: var(--primary);
  accent-color: var(--accent);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.auth-card input[type="checkbox"],
.auth-card input[type="radio"] {
  accent-color: var(--primary);
  cursor: pointer;
}

/* Touch & cursor */
.auth-card button[type="submit"],
.signin-link a,
.auth-back-link a,
.auth-aside-link {
  touch-action: manipulation;
  cursor: pointer;
}

.auth-card button[type="submit"]:active:not(:disabled) {
  transform: scale(0.98);
}

.auth-card button[type="submit"] {
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.auth-card button[type="submit"]:hover:not(:disabled) {
  box-shadow: 0 6px 20px color-mix(in oklab, var(--primary) 28%, transparent);
}

/* User select */
.auth-card .brand-row,
.auth-card h1,
.auth-card .sub,
.auth-card label,
.auth-card button[type="submit"],
.auth-aside-title,
.auth-aside-list {
  user-select: none;
}

#login-error,
#form-error,
.msg,
.auth-aside-lead {
  user-select: text;
}

@media (prefers-reduced-motion: reduce) {
  .auth-card,
  .auth-layout {
    animation: none !important;
  }

  .auth-card button[type="submit"]:active:not(:disabled) {
    transform: none;
  }
}
