.acct{min-height:calc(100vh - 340px);padding:48px 0}
.acct-box{max-width:480px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.acct-box form{display:grid;gap:14px;margin:16px 0}
.acct input[type=password],.acct input[type=text]{background:#161c1f;border:1.5px solid var(--line-strong);color:var(--text);border-radius:10px;padding:12px 14px;font:inherit;min-height:48px;width:100%}
.acct input[aria-invalid=true]{border-color:var(--err)}
.acct .banner{border-left:4px solid var(--accent);padding:8px 12px;background:var(--bg2);margin:0 0 16px}
.acct .banner.bad{border-color:var(--err)}
.acct .banner.good{border-color:var(--ok)}
.acct button.link{background:none;border:0;color:var(--accent-text);text-decoration:underline;cursor:pointer;font:inherit;padding:4px 0}
.acct .kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:16px 0}
.acct .kv dt{color:var(--muted)}
.acct .kv dd{margin:0;word-break:break-all}
.acct .qr{display:flex;justify-content:center;background:#fff;border-radius:12px;padding:12px;margin:12px 0;width:max-content;max-width:100%}
.acct .qr img{display:block;max-width:100%;height:auto}
.acct code{word-break:break-all}
.acct .steps{color:var(--muted);padding-left:20px}
.acct .cta-row{display:flex;gap:12px;flex-wrap:wrap}
.acct h1{font-size:1.8rem;margin:0 0 .5em}.acct section>p{margin:.4em 0}
