
:root{
  --bg:#0f1115;
  --surface:#171a21;
  --text:#eef2ff;
  --muted:#a9b1c6;
  --primary-grad: linear-gradient(45deg,#ff6ec4,#7873f5);
  --danger:#ff5252;
  --ok:#38d39f;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  display:grid;
  place-items:center;
}
.container{width:100%;max-width:840px;padding:20px}
.grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
@media(max-width:820px){.grid{grid-template-columns:1fr}}
.card{
  background:var(--surface);
  border-radius:16px;
  padding:28px;
  box-shadow:0 10px 35px rgba(0,0,0,.35);
}
h1{margin:0 0 6px 0;font-size:22px;letter-spacing:.2px}
.sub{margin:0 0 18px 0;color:var(--muted);font-size:14px}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tab{
  appearance:none;border:0;border-radius:10px;
  padding:10px 14px;font-weight:700;cursor:pointer;color:#fff;
  background:#23293a;transition:transform .1s,filter .2s
}
.tab[aria-selected="true"]{background:linear-gradient(45deg,#00d2ff,#ff5aa5)}
.form .field{display:block;margin-bottom:14px}
.field span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
input, select{
  width:100%;padding:12px 12px;border:1px solid transparent;border-radius:10px;
  background:#1f2330;color:var(--text);outline:none;transition:border-color .2s, box-shadow .2s;
}
input:focus, select:focus{border-color:#6d6dff88;box-shadow:0 0 0 4px #6d6dff22}
button{
  width:100%;padding:12px 14px;border:0;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;
  background:var(--primary-grad);transition:opacity .2s, transform .02s;
}
button:active{ transform:scale(.995) }
button:disabled{ opacity:.6; cursor:not-allowed }
.ghost{width:auto;margin-top:8px;background:transparent;color:var(--muted);border:1px solid #2b3347;padding:10px 12px;border-radius:10px;text-decoration:none}
.msg{min-height:20px;margin-top:10px;font-size:13px}
.msg.error{ color:var(--danger) }
.msg.ok{ color:var(--ok) }
.footer{margin-top:8px;display:flex;justify-content:flex-end;gap:10px}
.footer a{ color:var(--text) }
.small{font-size:12px;color:var(--muted)}
.right{display:flex;flex-direction:column;gap:18px}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.brand .logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(45deg,#00d2ff,#ff5aa5);display:inline-block}
.brand strong{font-size:18px}
.notice{font-size:13px;color:var(--muted)}
.help-links{display:flex;gap:10px;flex-wrap:wrap}
.sep{height:1px;background:#2b3347;margin:12px 0}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#23293a;color:#fff;font-size:12px}
