*{box-sizing:border-box}
:root{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark;
  background:#0b0d12;
  color:#f5f7fb;
}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at top right,rgba(70,110,255,.18),transparent 35%),
    radial-gradient(circle at bottom left,rgba(31,208,170,.10),transparent 30%),
    #0b0d12;
}
.shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
}
.card{
  width:min(100%,680px);
  background:rgba(20,23,32,.94);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:28px;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
}
.brand{
  display:flex;
  gap:14px;
  align-items:center;
  margin-bottom:26px;
}
.logo{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  font-weight:800;font-size:18px;
  background:linear-gradient(135deg,#4776ff,#26d0ce);
  color:white;
}
h1,h2,p{margin-top:0}
h1{margin-bottom:3px;font-size:26px}
h2{margin-bottom:8px}
.muted{color:#99a1b2;margin:0}
.status{
  padding:13px 14px;border-radius:14px;margin-bottom:20px;
  border:1px solid rgba(255,255,255,.08);
}
.status.info{background:#171c28;color:#cbd5e1}
.status.error{background:#2a171b;color:#ffb4bd;border-color:#5a252d}
.status.ok{background:#14251f;color:#a9f0d2;border-color:#285441}
label{display:block;margin-bottom:16px}
label span{display:block;font-size:13px;color:#aab2c2;margin-bottom:7px}
label em{font-style:normal;color:#737d91}
input,select{
  width:100%;
  border:1px solid #303747;
  background:#11151d;
  color:#f5f7fb;
  border-radius:12px;
  padding:13px 14px;
  outline:none;
  font-size:15px;
}
input:focus,select:focus{border-color:#6d8cff;box-shadow:0 0 0 3px rgba(109,140,255,.14)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.primary{
  width:100%;border:0;border-radius:13px;
  padding:14px 18px;font-weight:700;font-size:15px;
  cursor:pointer;color:white;
  background:linear-gradient(135deg,#4776ff,#3b61e8);
}
.primary:disabled{opacity:.55;cursor:not-allowed}
.security-note{
  font-size:13px;
  line-height:1.55;
  color:#8f99aa;
  margin:4px 0 18px;
}
.success-panel{text-align:center;padding:28px 0 10px}
.success-icon{
  margin:0 auto 16px;
  width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;
  background:#173d31;color:#80efc1;font-size:28px;font-weight:800;
}
footer{
  border-top:1px solid rgba(255,255,255,.07);
  margin-top:24px;padding-top:18px;
  color:#717a8d;font-size:12px;line-height:1.5;
}
@media(max-width:620px){
  .shell{padding:14px}
  .card{padding:20px;border-radius:18px}
  .grid{grid-template-columns:1fr;gap:0}
}
