:root{--brand:#0057b8;--muted:#5b6674;--bg:#f5f7fa;--card:#fff;}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#111;}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
.wrap{max-width:980px;margin:0 auto;padding:28px 18px;}
.card{background:var(--card);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:22px;}
.btn{display:inline-block;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer}
.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.15);font-size:16px;}
.topbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
h1{font-size:22px;margin:0} h2{font-size:16px;margin:18px 0 10px}
.muted{color:var(--muted);}
.spinner{width:28px;height:28px;border:4px solid rgba(0,0,0,.14);border-top:4px solid var(--brand);border-radius:50%;animation:spin .9s linear infinite;}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.step{display:flex;align-items:center;gap:10px;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.65);margin-top:10px}
.dot{width:10px;height:10px;border-radius:999px;background:rgba(0,0,0,.2);}
.step.active .dot{background:var(--brand);box-shadow:0 0 0 4px rgba(0,87,184,.15);}
.step.done .dot{background:#16a34a;}
