/* Man hinh dang nhap. (Tach tu styles.css - nap theo DUNG thu tu trong index.html) */

/* =====================================================================
   Dang nhap
   ===================================================================== */
#login-screen {
  position: relative; overflow: hidden;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: linear-gradient(160deg, #f4f8ff 0%, #eaf0ff 50%, #f3efff 100%);
}
/* 3 dom mau mo troi nhe phia sau the dang nhap */
.login-bg span {
  position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55;
  animation: blob-float 14s ease-in-out infinite alternate;
}
.login-bg span:nth-child(1) { width: 460px; height: 460px; background: #5aa2ff; top: -120px; left: -100px; }
.login-bg span:nth-child(2) { width: 380px; height: 380px; background: #8b7bff; bottom: -120px; right: -60px; animation-delay: -5s; }
.login-bg span:nth-child(3) { width: 260px; height: 260px; background: #4fd1c5; bottom: 10%; left: 18%; opacity: .35; animation-delay: -9s; }
@keyframes blob-float {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(40px, 30px) scale(1.08); }
  100% { transform: translate(-30px, 20px) scale(.95); }
}

.login-box {
  position: relative; z-index: 1;
  background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(18px) saturate(1.4);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  padding: 40px 34px 30px;
  border-radius: 24px;
  box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255, 255, 255, .9);
  border: 1px solid rgba(255, 255, 255, .8);
  width: 400px; max-width: 100%;
  display: flex; flex-direction: column;
  animation: card-rise .5s var(--ease);
}
@keyframes card-rise { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
.login-box .brand-mark { margin: 0 auto 18px; animation: mark-bob 4s ease-in-out infinite; }
@keyframes mark-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.login-box h1 {
  font-size: 24px; font-weight: 700; margin: 0 0 4px; text-align: center; letter-spacing: -.02em;
  background: linear-gradient(135deg, #0f2a5c, #0068ff 60%, #5b5bf0);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.login-box > .muted { text-align: center; margin: 0 0 22px; }
.field-label { font-size: 13px; font-weight: 600; color: var(--text-2); margin: 12px 0 6px; }
.login-box input { width: 100%; padding: 12px 14px; background: rgba(255, 255, 255, .9); }
.login-box button {
  width: 100%; margin-top: 24px; padding: 13px;
  background: var(--grad); color: #fff; border: none; border-radius: var(--radius-sm);
  font-size: 15px; font-weight: 600; letter-spacing: .01em;
  box-shadow: var(--glow);
  transition: transform .2s var(--ease), box-shadow .2s, filter .2s;
}
.login-box button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0, 104, 255, .4); filter: brightness(1.05); }
.login-box button:active { transform: translateY(0); }
.login-box .error { margin-top: 12px; text-align: center; }
