/* ────────── Login page redesign ────────── */
body { margin: 0; font-family: system-ui, sans-serif; }
.login-pg {
  min-height: 100vh;
  background: #080e1a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: hidden;
  position: relative;
  margin: 0;
  box-sizing: border-box;
}
.bg-glow { position: fixed; border-radius: 50%; filter: blur(120px); pointer-events: none; z-index: 0; }
.bg-glow.g1 { width: 600px; height: 600px; background: radial-gradient(circle, rgba(79,70,229,0.45), transparent 70%); top: -200px; left: -200px; }
.bg-glow.g2 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(6,182,212,0.35), transparent 70%); bottom: -150px; right: -150px; }
.lc { position: relative; z-index: 1; width: 100%; max-width: 420px; margin: auto; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 28px; padding: 48px 40px 44px; backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); box-shadow: 0 24px 64px rgba(0,0,0,0.55); box-sizing: border-box; }
.lc-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; }
.lc-icon { width: 44px; height: 44px; background: linear-gradient(135deg, #4f46e5, #06b6d4); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #fff; box-shadow: 0 6px 20px rgba(79,70,229,0.45); }
.lc-logo strong { font-size: 1.2rem; font-weight: 800; color: #fff; letter-spacing: -0.02em; }
.lc-title { margin: 0 0 6px; font-size: 2rem; font-weight: 800; color: #fff; letter-spacing: -0.04em; }
.lc-sub { margin: 0 0 28px; color: rgba(255,255,255,0.42); font-size: 0.95rem; }
.lc-alert { padding: 14px 18px; border-radius: 12px; background: rgba(239,68,68,0.12); border: 1px solid rgba(239,68,68,0.25); color: #fca5a5; font-size: 0.9rem; margin-bottom: 20px; }
.lc-google { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 14px; border-radius: 14px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); color: #fff; font-weight: 600; font-size: 0.97rem; text-decoration: none; transition: all 0.2s; box-sizing: border-box; }
.lc-google:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.22); transform: translateY(-1px); }
.lc-naver { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 14px; border-radius: 14px; background: #03C75A; border: 1px solid #03C75A; color: #fff; font-weight: 600; font-size: 0.97rem; text-decoration: none; transition: all 0.2s; box-sizing: border-box; margin-top: 10px; }
.lc-naver:hover { background: #02b350; border-color: #02b350; transform: translateY(-1px); }
.lc-or { display: flex; align-items: center; gap: 12px; margin: 24px 0; color: rgba(255,255,255,0.25); font-size: 0.83rem; }
.lc-or::before, .lc-or::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,0.08); }
.lc-form { display: flex; flex-direction: column; }
.lc-label { display: block; color: rgba(255,255,255,0.58); font-size: 0.875rem; font-weight: 600; margin-top: 16px; margin-bottom: 8px; }
.lc-form .lc-label:first-child { margin-top: 0; }
.lc-input { width: 100%; padding: 14px 16px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; color: #fff; font-size: 1rem; transition: all 0.2s; box-sizing: border-box; }
.lc-input::placeholder { color: rgba(255,255,255,0.2); }
.lc-input:focus { outline: none; border-color: #4f46e5; background: rgba(79,70,229,0.1); box-shadow: 0 0 0 4px rgba(79,70,229,0.15); }
.lc-foot { text-align: center; margin: 28px 0 0; color: rgba(255,255,255,0.38); font-size: 0.9rem; }
.lc-foot a { color: #818cf8; font-weight: 700; text-decoration: none; }
.lc-foot a:hover { color: #a5b4fc; }
@media (max-width: 480px) { .lc { padding: 36px 24px 32px; } .lc-title { font-size: 1.7rem; } }

/* Anti-flicker for Android */
html.is-android .g_id_signin { display: none !important; }
html.is-android #android-google-btn { display: flex !important; }

.g_id_signin { min-height: 44px; display: flex; justify-content: center; margin-top: 10px; }
