/* ======================================================================== */
/* Login — animated aurora backdrop + glass card                            */
/* ======================================================================== */

.auth-screen{ min-height:100vh; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; background:var(--bg); }

.auth-aurora{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.auth-aurora span{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.35; animation:aurora-float 16s ease-in-out infinite; }
.auth-aurora span:nth-child(1){ width:480px; height:480px; background:#6D5EF0; top:-140px; left:-100px; }
.auth-aurora span:nth-child(2){ width:420px; height:420px; background:#F2A93B; bottom:-160px; right:-80px; animation-delay:-5s; }
.auth-aurora span:nth-child(3){ width:340px; height:340px; background:#2A9FE0; bottom:20%; left:35%; animation-delay:-10s; opacity:.22; }
@keyframes aurora-float{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(40px,-30px) scale(1.08); } }

.auth-card{
  position:relative; z-index:1; width:100%; max-width:390px; padding:2.25rem 2rem;
  background:color-mix(in srgb, var(--surface) 78%, transparent);
  backdrop-filter:blur(20px); border:1px solid var(--border); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg); animation:fade-in .4s var(--ease);
}
.auth-mark{ width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--accent),#9B8CFF); display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom:1.1rem; }
.auth-card h1{ font-size:1.35rem; margin-bottom:.2rem; }
.auth-card .sub{ color:var(--text-secondary); font-size:.85rem; margin-bottom:1.6rem; }
.auth-divider{ display:flex; align-items:center; gap:.7rem; color:var(--text-tertiary); font-size:.75rem; margin:1.1rem 0; }
.auth-divider::before,.auth-divider::after{ content:""; flex:1; height:1px; background:var(--border); }
.auth-footer-link{ text-align:center; font-size:.83rem; color:var(--text-secondary); margin-top:1.3rem; }
.auth-footer-link a{ color:var(--accent); font-weight:600; }

.btn-loading .btn-label{ visibility:hidden; }
.btn-loading{ position:relative; pointer-events:none; }
.btn-loading::after{
  content:""; position:absolute; width:16px; height:16px; top:50%; left:50%; margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:spin .6s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
