* { margin:0; padding:0; box-sizing:border-box; }
html, body { height:100%; }
body {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:#0a0a0c; color:#e0e0e0;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.login-bg {
  position:fixed; inset:0; z-index:0;
  background-image:
    radial-gradient(ellipse 600px 400px at 10% 20%, rgba(74,108,247,.18), transparent),
    radial-gradient(ellipse 500px 500px at 85% 15%, rgba(168,85,247,.14), transparent),
    radial-gradient(ellipse 400px 300px at 50% 80%, rgba(59,130,246,.12), transparent);
}
.login-card {
  position:relative; z-index:1;
  background:rgba(20,20,24,.7); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08); border-radius:16px;
  padding:2.5rem 2.5rem 2rem;
  width:340px; max-width:90vw;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  text-align:center;
}
.login-logo {
  font-size:1.8rem; font-weight:800;
  background:linear-gradient(135deg,#4a6cf7,#a855f7);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
  letter-spacing:-.02em;
}
.login-tagline {
  font-size:.8rem; color:#666; margin-top:.2rem; margin-bottom:1.8rem;
  letter-spacing:.05em; text-transform:uppercase;
}
#login-form { display:flex; flex-direction:column; gap:.8rem; }
input[type=password] {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
  border-radius:8px; padding:.7rem .9rem;
  color:#e0e0e0; font-family:inherit; font-size:.95rem;
  outline:none; transition:all .15s;
}
input[type=password]:focus { border-color:rgba(74,108,247,.5); background:rgba(255,255,255,.06); }

button {
  background:linear-gradient(135deg,#4a6cf7,#a855f7);
  border:none; border-radius:8px; padding:.7rem 1rem;
  color:#fff; font-family:inherit; font-size:.95rem; font-weight:700;
  cursor:pointer; transition:filter .15s;
}
button:hover { filter:brightness(1.15); }
button:disabled { opacity:.5; cursor:not-allowed; }

.login-error {
  margin-top:1rem; min-height:1.2rem;
  font-size:.82rem; color:#e74c3c;
}
