/* ═══════════════════════════════════════════════════════ */
/* Auth — Login Screen (Light Theme)                      */
/* ═══════════════════════════════════════════════════════ */

.login-screen {
  position: fixed; inset: 0; z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #eef2ff 0%, #faf5ff 30%, #fff1f2 60%, #ecfdf5 100%);
  overflow: hidden;
}

/* Animated Background Orbs */
.login-bg-orbs { position: absolute; inset: 0; overflow: hidden; }
.orb {
  position: absolute; border-radius: 50%;
  filter: blur(80px); opacity: 0.35;
}
.orb-1 { width: 400px; height: 400px; background: #818cf8; top: -100px; right: -100px; animation: float 8s ease-in-out infinite; }
.orb-2 { width: 300px; height: 300px; background: #c084fc; bottom: -50px; left: -50px; animation: float 10s ease-in-out infinite reverse; }
.orb-3 { width: 250px; height: 250px; background: #34d399; top: 50%; left: 50%; transform: translate(-50%, -50%); animation: float 12s ease-in-out infinite 2s; }
.orb-4 { width: 200px; height: 200px; background: #fb7185; bottom: 20%; right: 20%; animation: float 9s ease-in-out infinite 1s; }

/* Login Card */
.login-card {
  position: relative; z-index: 1;
  background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(20px);
  border: 1px solid rgba(226, 232, 240, 0.8);
  border-radius: var(--radius-xl); padding: 2.5rem;
  max-width: 420px; width: 100%;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.1), 0 0 0 1px rgba(255,255,255,0.5) inset;
  animation: slideUp 0.5s ease;
}

.login-logo { text-align: center; margin-bottom: 2rem; }
.login-logo-icon { font-size: 3rem; display: block; margin-bottom: 0.75rem; }
.login-title { font-size: 1.5rem; font-weight: 800; background: linear-gradient(135deg, #4f46e5, #7c3aed); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 0.25rem; }
.login-subtitle { font-size: 0.875rem; color: #64748b; }

.login-form .input-group { margin-bottom: 1.25rem; }
.login-form .input-group label { font-size: 0.8125rem; font-weight: 500; color: #475569; }
.login-form .input-group input {
  background: #ffffff; border: 1px solid #e2e8f0;
  padding: 0.75rem 1rem; font-size: 0.9375rem; color: #0f172a;
}
.login-form .input-group input:focus {
  border-color: #4f46e5;
  box-shadow: 0 0 0 3px rgba(79,70,229,0.12);
}

.btn-login {
  width: 100%; padding: 0.875rem;
  font-size: 1rem; font-weight: 600;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  color: #fff; border: none; border-radius: var(--radius-md);
  cursor: pointer; transition: all var(--transition-normal);
  box-shadow: 0 4px 14px rgba(79,70,229,0.3);
}
.btn-login:hover { box-shadow: 0 6px 20px rgba(79,70,229,0.4); transform: translateY(-2px); }
.btn-login:disabled { opacity: 0.7; cursor: not-allowed; transform: none; }

.login-error {
  padding: 0.75rem 1rem; border-radius: var(--radius-md);
  background: rgba(244,63,94,0.06); border: 1px solid rgba(244,63,94,0.2);
  color: #e11d48; font-size: 0.8125rem; margin-bottom: 1rem;
}
.login-error.shake { animation: shake 0.5s ease; }

.login-footer { text-align: center; margin-top: 1.5rem; }
.login-footer p { font-size: 0.75rem; color: #94a3b8; }
