/* Elite IA Pro — login final
   Single-card authentication layout. Auth contract remains unchanged. */
body.login-page {
  min-height:100dvh !important;
  margin:0 !important;
  display:grid !important;
  place-items:center !important;
  padding:24px !important;
  overflow:auto !important;
  background:
    radial-gradient(circle at 18% 16%, rgba(207,255,0,.12), transparent 34%),
    radial-gradient(circle at 84% 82%, rgba(72,217,154,.10), transparent 36%),
    #080a08 !important;
  color:#f6f3ed !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
body.login-page .login-page-bg {
  position:fixed !important;
  inset:0 !important;
  background:linear-gradient(135deg,rgba(7,16,23,.18),rgba(3,7,11,.76)) !important;
  pointer-events:none;
}
body.login-page .login-page-bg::before {
  opacity:.22;
  background-image:
    linear-gradient(rgba(207,255,0,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(207,255,0,.07) 1px,transparent 1px) !important;
  background-size:48px 48px !important;
}
body.login-page .login-container {
  position:relative !important;
  z-index:2 !important;
  width:min(100%,460px) !important;
  max-width:460px !important;
  padding:0 !important;
}
body.login-page .login-card {
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:460px !important;
  margin:0 auto !important;
  padding:34px 42px 28px !important;
  gap:0 !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,rgba(16,29,37,.97),rgba(7,16,23,.97)) !important;
  border:1px solid rgba(207,255,0,.20) !important;
  border-radius:20px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.035) !important;
}
body.login-page .login-card::before { display:none !important; }
body.login-page .login-card::after {
  content:"";
  position:absolute;
  top:0; left:13%; right:13%; height:2px;
  background:linear-gradient(90deg,transparent,#cfff00,#cfff00,transparent);
  opacity:.9;
}
body.login-page .login-card > .login-icon {
  order:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 18px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  font-size:0 !important;
  color:transparent !important;
}
body.login-page .login-card > .login-icon::before,
body.login-page .login-card > .login-icon::after { display:none !important; }
body.login-page .login-card > .login-icon img {
  display:block !important;
  width:78px !important;
  height:78px !important;
  object-fit:contain !important;
  margin:0 !important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.32));
}
body.login-page .login-title {
  order:1 !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  color:#f6f3ed !important;
  font:500 30px/1.08 Georgia,"Times New Roman",serif !important;
  letter-spacing:-.035em !important;
}
body.login-page .login-subtitle {
  order:2 !important;
  width:100% !important;
  margin:10px 0 26px !important;
  text-align:center !important;
  color:#8fa1aa !important;
  font-size:12px !important;
  line-height:1.5 !important;
}
body.login-page .login-card form {
  order:3 !important;
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.login-page .login-card form > div { width:100% !important; margin-bottom:16px !important; }
body.login-page .login-card form > div:nth-child(2) { margin-bottom:20px !important; }
body.login-page .login-card label {
  display:block !important;
  width:100% !important;
  margin:0 0 7px !important;
  color:#8fa1aa !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.10em !important;
  text-align:left !important;
  text-transform:uppercase !important;
}
body.login-page .login-input {
  display:block !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  padding:12px 14px !important;
  box-sizing:border-box !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px !important;
  outline:none !important;
  background:#101310 !important;
  color:#f6f3ed !important;
  font-size:13px !important;
  text-align:left !important;
}
body.login-page .login-input::placeholder { color:#536772 !important; opacity:1 !important; }
body.login-page .login-input:focus {
  border-color:#cfff00 !important;
  box-shadow:0 0 0 3px rgba(207,255,0,.13),inset 0 1px 0 rgba(255,255,255,.035) !important;
}
body.login-page button.login-btn,
body.login-page button.login-btn:not(.tab-btn):not(.conv-item):not(.skill-card):not(.toast button) {
  order:4 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
  border:1px solid rgba(72,217,154,.40) !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#cfff00,#e0ff66) !important;
  color:#03110b !important;
  font-size:13px !important;
  font-weight:800 !important;
  box-shadow:0 12px 28px rgba(72,217,154,.14) !important;
}
body.login-page button.login-btn:hover { background:linear-gradient(135deg,#66e4aa,#9bf3c8) !important; transform:translateY(-1px); }
body.login-page button.login-btn:active { transform:translateY(0) !important; }
body.login-page .login-error {
  width:100% !important;
  box-sizing:border-box !important;
  margin:13px 0 0 !important;
  border-radius:9px !important;
  color:#f58f8f !important;
  background:rgba(245,143,143,.08) !important;
  border:1px solid rgba(245,143,143,.24) !important;
  text-align:center !important;
}
body.login-page .hint {
  order:4 !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:18px 0 0 !important;
  padding:12px 14px !important;
  border:1px solid rgba(207,255,0,.16) !important;
  border-radius:10px !important;
  background:rgba(207,255,0,.05) !important;
  color:#8fa1aa !important;
  font-size:11px !important;
  line-height:1.6 !important;
  text-align:left !important;
}
body.login-page .hint strong { color:#cfff00 !important; }
body.login-page .login-footer {
  order:5 !important;
  width:100% !important;
  margin:20px 0 0 !important;
  color:#61727c !important;
  font-size:10px !important;
  text-align:center !important;
  letter-spacing:.04em;
}
@media (max-width:520px) {
  body.login-page { padding:16px !important; }
  body.login-page .login-card { padding:30px 22px 24px !important; border-radius:16px !important; }
  body.login-page .login-card > .login-icon img { width:68px !important; height:68px !important; }
  body.login-page .login-title { font-size:27px !important; }
}
