*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Plus Jakarta Sans', -apple-system, sans-serif; -webkit-font-smoothing: antialiased; }

@keyframes pulseDot {
  0%,100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.6); opacity: 0.4; }
}
@keyframes floatCard {
  0%,100% { transform: translateY(0px); }
  50%      { transform: translateY(-8px); }
}
@keyframes floatCard2 {
  0%,100% { transform: translateY(0px); }
  50%      { transform: translateY(-5px); }
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 100px white inset !important;
  -webkit-text-fill-color: #0d0d1a !important;
}

.auth-input:focus {
  border-color: #6C5CE7 !important;
  box-shadow: 0 0 0 3px rgba(108,92,231,0.1);
}

@media (max-width: 860px) {
  .auth-shell { grid-template-columns: 1fr !important; }
  .auth-left-panel { display: none !important; }
  .auth-right-panel {
    padding: 88px 24px 48px !important;
    min-height: 100vh;
  }
  .auth-right-panel .auth-top-link {
    top: 20px !important;
    right: 20px !important;
  }
}
