
:root{
  --bg:#0f172a; /* slate-900 */
  --panel:#111827; /* gray-900 */
  --muted:#94a3b8; /* slate-400 */
  --accent:#22d3ee; /* cyan-400 */
  --accent-2:#a78bfa; /* violet-400 */
  --good:#10b981;
  --bad:#ef4444;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:white;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(34,211,238,.25), transparent 70%),
    radial-gradient(800px 500px at 90% 10%, rgba(167,139,250,.2), transparent 70%),
    linear-gradient(180deg, #0b1020, #0f172a 40%);
  background-attachment: fixed;
}
a{color:var(--accent)}
.container{max-width:1080px;margin:0 auto;padding:20px}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;
}
.brand{display:flex;gap:10px;align-items:center}
.brand .logo{
  width:36px;height:36px;border-radius:12px;
  background: conic-gradient(from 180deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 30px rgba(167,139,250,.35);
}
.brand h1{font-size:18px;margin:0;letter-spacing:.3px}
.nav a{
  text-decoration:none;margin-left:18px;color:#e5e7eb;opacity:.9
}
.nav a.active{color:white;border-bottom:2px solid var(--accent);padding-bottom:6px}
.card{
  background: linear-gradient(180deg, #0b1225, #0e1630);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:24px;
  box-shadow: 0 10px 40px rgba(2,8,23,.45);
}
.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns: 1fr 1fr}
@media (max-width:900px){.grid.cols-2{grid-template-columns: 1fr}}

.hero{
  padding:64px 0 36px;
  display:grid;gap:28px;grid-template-columns: 1.2fr .8fr;align-items:center;
}
.hero h2{font-size:38px;margin:0 0 8px;line-height:1.1}
.hero p{color:var(--muted);margin:0 0 20px}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  color:black;
  padding:12px 16px;border-radius:12px;border:none;font-weight:600;
  cursor:pointer;text-decoration:none;
  box-shadow: 0 10px 30px rgba(34,211,238,.25), 0 10px 30px rgba(167,139,250,.15);
}
.btn.secondary{background:transparent;color:#e5e7eb;border:1px solid rgba(255,255,255,.12)}
h3{margin:0 0 14px}
.input{
  width:100%;background:#0b1225;border:1px solid rgba(255,255,255,.08);
  color:white;padding:12px 14px;border-radius:10px;outline:none;
}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:700px){.row{grid-template-columns:1fr}}
.label{font-size:12px;color:#cbd5e1;margin-bottom:6px}
.form-group{margin-bottom:14px}
.help{font-size:12px;color:var(--muted)}
.error{background: rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#fecaca;padding:10px;border-radius:10px;margin-bottom:12px}
.success{background: rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.35);color:#bbf7d0;padding:10px;border-radius:10px;margin-bottom:12px}
.footer{
  margin-top:40px;padding:24px 0;border-top:1px solid rgba(255,255,255,.08);
  position: center;
  color:#94a3b8;font-size:14px
}
.password-meter{height:8px;background:#0b1225;border-radius:4px;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.password-meter>div{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);width:10%}
.small{font-size:12px;color:#9ca3af}
.right{display:flex;justify-content:flex-end}
.link{color:#93c5fd;text-decoration:none}
.toast{position:fixed;right:18px;bottom:18px;background:#0b1225;border:1px solid rgba(255,255,255,.08);padding:12px 16px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.25s}
.toast.show{opacity:1;transform:none}


/* Polished UI upgrades */
.nav { border-bottom: 1px solid rgba(255,255,255,.06) }
.btn:hover { transform: translateY(-1px); filter: brightness(1.05); }
.input:focus { outline: 2px solid rgba(167,139,250,.4); border-color: rgba(167,139,250,.6) }
.card { transition: transform .2s ease, box-shadow .2s ease }
.card:hover { transform: translateY(-2px); box-shadow: 0 14px 48px rgba(2,8,23,.55) }
.hero { animation: fadeUp .5s ease both }
@keyframes fadeUp { from { opacity:0; transform: translateY(10px) } to { opacity:1; transform:none } }
a.link:hover { text-decoration: underline }



