:root {
  color-scheme: dark;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  background: #030303;
  color: #f5f5f5;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% -10%, #174f2b 0, transparent 36%),
    linear-gradient(145deg, #020202, #0b0b0b 60%, #030303);
}
.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.login-card {
  width: min(100%, 420px);
  padding: 38px;
  background: #0d0d0df2;
  border: 1px solid #303030;
  border-radius: 14px;
  box-shadow: 0 24px 80px #000c, 0 0 50px #39d35312;
}
.brand-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  color: #55e578;
  background: #151515;
  border: 1px solid #39d353;
  border-radius: 13px;
  font-size: 28px;
  box-shadow: 0 0 24px #39d35330;
}
.eyebrow {
  margin: 24px 0 8px;
  color: #39d353;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}
h1 { margin: 0; font-size: 30px; }
.intro { margin: 10px 0 28px; color: #969696; line-height: 1.5; }
label {
  display: block;
  margin: 16px 0 7px;
  color: #d8d8d8;
  font-size: 13px;
  font-weight: 650;
}
input {
  width: 100%;
  padding: 12px 13px;
  color: #fff;
  background: #080808;
  border: 1px solid #3a3a3a;
  border-radius: 7px;
  outline: 0;
  font: inherit;
}
input:focus {
  border-color: #39d353;
  box-shadow: 0 0 0 3px #39d35324;
}
button {
  width: 100%;
  margin-top: 10px;
  padding: 12px 16px;
  color: #000;
  background: #39d353;
  border: 1px solid #55e578;
  border-radius: 7px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
button:hover { background: #55e578; }
button:disabled { opacity: .6; cursor: wait; }
.error {
  min-height: 20px;
  margin: 12px 0 0;
  color: #f4f4f4;
  font-size: 13px;
}
@media (max-width: 520px) {
  .login-card { padding: 28px 22px; }
}