:root{
  --bg-main:#11151d;
  --bg-card:#1a2030;
  --bg-card-2:#20283b;
  --bg-input:#0d1118;
  --border:#344056;
  --text:#f5f7fb;
  --text-sub:#97a4ba;
  --green:#7CF29C;
  --green-deep:#183225;
  --blue:#63b3ff;
  --red:#ff7d7d;
  --shadow:0 24px 80px rgba(0,0,0,.45);
  --font:'Segoe UI','Malgun Gothic',sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:
radial-gradient(circle at top left, rgba(99,179,255,.12), transparent 28%),
radial-gradient(circle at bottom right, rgba(124,242,156,.10), transparent 32%),
linear-gradient(180deg,#10141c 0%,#0d1118 100%);
color:var(--text);font-family:var(--font)}

body{display:flex;align-items:center;justify-content:center;padding:32px}

.auth-shell{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:rgba(10,14,20,.76);
  backdrop-filter: blur(18px);
}

.hero{
  padding:48px;
  background:
  linear-gradient(135deg, rgba(99,179,255,.10), transparent 40%),
  linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
  #151b27;
  border-right:1px solid rgba(255,255,255,.06);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
}

.brand{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand-mark{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,#7CF29C 0%,#63b3ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}

.brand-copy h1{
  margin:0;
  font-size:28px;
  letter-spacing:.04em;
}

.brand-copy p{
  margin:6px 0 0;
  color:var(--text-sub);
  font-size:14px;
}

.hero-copy h2{
  margin:0 0 12px;
  font-size:46px;
  line-height:1.05;
  letter-spacing:-.03em;
}

.hero-copy p{
  margin:0;
  color:#c1cad8;
  font-size:16px;
  line-height:1.8;
  max-width:520px;
}

.feature-list{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.feature{
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:18px;
  background:rgba(255,255,255,.03);
}

.feature strong{
  display:block;
  margin-bottom:6px;
  font-size:15px;
}

.feature span{
  color:var(--text-sub);
  font-size:13px;
  line-height:1.6;
}

.panel{
  padding:48px 40px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
}

.card{
  width:min(440px,100%);
}

.eyebrow{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(124,242,156,.10);
  border:1px solid rgba(124,242,156,.25);
  color:var(--green);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.card h3{
  margin:18px 0 10px;
  font-size:34px;
  letter-spacing:-.03em;
}

.card-sub{
  margin:0 0 28px;
  color:var(--text-sub);
  line-height:1.7;
  font-size:14px;
}

.field{
  margin-bottom:14px;
}

.field label{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  color:#d8dfeb;
  font-weight:700;
}

.field input{
  width:100%;
  height:48px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--bg-input);
  color:var(--text);
  outline:none;
  font-size:14px;
}

.field input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(99,179,255,.12);
}

.hint{
  margin:10px 0 0;
  color:var(--text-sub);
  font-size:12px;
  line-height:1.6;
}

.actions{
  display:flex;
  gap:10px;
  margin-top:20px;
  flex-wrap:wrap;
}

.btn{
  height:48px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#232c3e;
  color:var(--text);
  cursor:pointer;
  font-weight:700;
  font-size:14px;
}

.btn:hover{filter:brightness(1.05)}
.btn.primary{
  min-width:144px;
  border:none;
  color:#08120c;
  background:linear-gradient(135deg,#7CF29C 0%,#61dfa0 100%);
}
.btn.secondary{
  background:transparent;
  color:var(--text-sub);
}

.inline-links{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
}

.inline-links a{
  color:var(--blue);
  text-decoration:none;
  font-size:13px;
}

.status{
  display:none;
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  font-size:13px;
  line-height:1.7;
}

.status.show{display:block}
.status.success{background:rgba(124,242,156,.08); border-color:rgba(124,242,156,.25); color:#d7ffe3}
.status.error{background:rgba(255,125,125,.08); border-color:rgba(255,125,125,.25); color:#ffd7d7}

.footer-note{
  margin-top:24px;
  color:var(--text-sub);
  font-size:12px;
  line-height:1.6;
}

@media (max-width: 920px){
  body{padding:16px}
  .auth-shell{grid-template-columns:1fr}
  .hero{padding:32px;border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}
  .hero-copy h2{font-size:34px}
  .panel{padding:28px 20px}
}
