/* Login-only surface: never changes the live dashboard or trading controls. */
body.login-page {
  min-height: 100vh;
  min-height: 100svh;
  padding: 40px 20px;
  background:
    radial-gradient(ellipse at 50% 17%, rgba(252, 213, 53, .065), transparent 48%),
    linear-gradient(90deg, transparent calc(50% - 340px), rgba(255, 255, 255, .025) calc(50% - 340px), rgba(255, 255, 255, .025) calc(50% - 339px), transparent calc(50% - 339px), transparent calc(50% + 339px), rgba(255, 255, 255, .025) calc(50% + 339px), rgba(255, 255, 255, .025) calc(50% + 340px), transparent calc(50% + 340px)),
    #0b0e11;
}
.login-page .login-shell { width: min(100%, 420px); }
.login-page .login-card {
  padding: 46px 38px 22px;
  border: 1px solid #2b2d30;
  border-radius: 28px;
  background: linear-gradient(155deg, #1b1e23, #13161b 75%);
  box-shadow: 0 32px 90px #0005, inset 0 1px 0 #ffffff05;
}
.login-page .login-card::before {
  left: 28%; right: 28%; height: 1px;
  background: linear-gradient(90deg, transparent, #fcd53580, transparent);
}
.login-page .login-emblem { display: flex; justify-content: center; margin-bottom: 40px; }
.login-page .login-emblem img {
  display: block; width: 80px; height: 80px;
  filter: drop-shadow(0 10px 20px #f0b90b19);
}
.login-page .login-form { margin: 0; gap: 24px; }
.login-page .login-form label { gap: 10px; color: #c4c9d1; font-size: 14px; font-weight: 500; }
.login-page .login-input { position: relative; display: block; }
.login-page .login-input svg {
  position: absolute; z-index: 1; top: 50%; left: 16px;
  width: 19px; height: 19px; transform: translateY(-50%);
  fill: none; stroke: #7c8593; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
  pointer-events: none;
}
.login-page .login-input:focus-within svg { stroke: #fcd535; }
.login-page .login-input input {
  min-height: 56px; padding: 16px 16px 16px 46px;
  border: 1px solid #30353d; border-radius: 12px;
  background: #0e1116; color: #f1f3f5; font-size: 16px; line-height: 1.4;
}
.login-page .login-input input::placeholder { color: #727c8a; font-size: 14px; font-weight: 400; }
.login-page .login-input input:hover { border-color: #59616b; }
.login-page .login-input input:focus { border-color: #fcd535; box-shadow: 0 0 0 3px #fcd53512; }
.login-page .login-input input:-webkit-autofill {
  -webkit-text-fill-color: #f1f3f5;
  box-shadow: 0 0 0 1000px #0e1116 inset;
  caret-color: #f1f3f5;
}
.login-page .login-form .primary {
  position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 56px; margin-top: 8px; padding: 15px 48px;
  border: 1px solid #fcd535; border-radius: 12px;
  background: #fcd535; color: #15181e;
  font-size: 16px; font-weight: 700; letter-spacing: .08em;
  box-shadow: 0 6px 20px #f0b90b0d;
}
.login-page .login-form .primary svg {
  position: absolute; right: 19px; width: 20px; height: 20px;
  fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.login-page .login-form .primary:not(:disabled):hover { background: #ffe066; border-color: #ffe066; box-shadow: 0 8px 24px #f0b90b1c; }
.login-page .login-form .primary:focus-visible { outline: 2px solid #fcd535; outline-offset: 5px; }
.login-page .login-form .primary:disabled { opacity: .65; cursor: wait; }
.login-page .form-error { min-height: 20px; margin-top: -8px; font-size: 14px; line-height: 1.5; text-align: center; overflow-wrap: anywhere; }
@media (max-width: 480px) {
  body.login-page { padding: 28px 18px; }
  .login-page .login-card { padding: 38px 26px 18px; border-radius: 24px; }
  .login-page .login-emblem { margin-bottom: 34px; }
  .login-page .login-emblem img { width: 72px; height: 72px; }
}
@media (max-height: 600px) {
  body.login-page { padding-top: 18px; padding-bottom: 18px; }
  .login-page .login-card { padding-top: 26px; }
  .login-page .login-emblem { margin-bottom: 24px; }
  .login-page .login-emblem img { width: 56px; height: 56px; }
  .login-page .login-form { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .login-page button, .login-page input { transition: none; }
}
