.sh-card{border:1px solid var(--line,#2a2f2c);border-radius:12px;padding:18px;margin:14px 0}
.sh-card h2{font-size:1.05rem;margin:0 0 .5rem}.sh label{display:block;font-weight:600;margin:.8rem 0 .3rem}
.sh input{width:100%;max-width:520px;padding:10px 12px;border-radius:8px;border:1px solid var(--line,#2a2f2c);background:transparent;color:inherit;font:inherit}
.sh-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.sh-qrbox{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:12px 0}
.sh-qr{width:180px;height:180px;background:#fff;padding:6px;border-radius:8px}.sh-qr svg{width:100%;height:100%}
.sh-key{font-family:ui-monospace,Menlo,monospace;font-size:1rem;letter-spacing:.04em;word-break:break-all;max-width:300px}
.sh-msg{min-height:1.2em;margin-top:10px}.sh-msg[data-kind=bad]{color:#e07070}.sh-msg[data-kind=ok]{color:#6fc98a}
.sh-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0}.sh-dl dt{opacity:.7}.sh-dl dd{margin:0;word-break:break-all}
.sh-card h3{font-size:.98rem;margin:1rem 0 .3rem}.sh-step{border-top:1px solid var(--line,#2a2f2c);margin-top:14px;padding-top:4px}
.sh-alert{border:1px solid #b5651d;border-left:4px solid #e0a040;border-radius:10px;padding:12px 14px;margin:14px 0}
.sh-alert b{display:block;margin-bottom:4px}.sh .btn[disabled]{opacity:.45;cursor:not-allowed}
.sh-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 14px;max-width:520px}
@media (max-width:520px){.sh-dl{grid-template-columns:1fr}.sh-dl dt{margin-top:6px}.sh-row .btn{flex:1 1 100%;text-align:center}}
