.qr-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;max-width:1180px;align-items:start}
.qr-card{min-width:0;padding:clamp(22px,3vw,36px)}
.qr-card h2{font-size:24px;line-height:1.25;margin:18px 0 12px;letter-spacing:-.6px}
.qr-card p{color:var(--muted,#596b84);line-height:1.65}
.qr-editor form{display:block;margin:28px 0 0}
.qr-editor fieldset{display:block;border:0;padding:0;margin:0;min-width:0}
.qr-editor label{display:block;font-weight:700;margin-bottom:10px}
.qr-editor input{display:block;box-sizing:border-box;width:100%;min-height:52px;font-size:16px}
.qr-editor input[aria-invalid="true"]{border-color:#b42318}
.qr-help{font-size:13px;margin:10px 0 20px}
.qr-editor .qr-generate{display:inline-flex;justify-content:center;gap:24px;min-height:48px;margin:0}
.qr-note{margin-top:30px;border-top:1px solid #e2e5ee;padding-top:22px}
.qr-note h3{font-size:15px;margin:0 0 7px}
.qr-note p{font-size:14px;margin:0 0 10px}
.qr-result{text-align:center;background:linear-gradient(155deg,#fff2f5 0%,#fff 45%)}
.qr-result h2{margin:8px 0 22px}
.qr-preview{width:100%;max-width:320px;aspect-ratio:1;box-sizing:border-box;margin:0 auto;background:white;border-radius:16px;display:grid;place-items:center;overflow:hidden}
.qr-preview svg{display:block;max-width:100%;height:auto}
.qr-placeholder{margin:18px;padding:32px 20px;border:2px dashed #dce0e9;border-radius:12px}
.qr-placeholder span{font-size:42px;color:#f12b54}
.qr-placeholder p{font-size:14px}
.qr-status{font-size:14px;margin:18px 0 8px;min-height:24px}
.qr-destination{font-size:13px;overflow-wrap:anywhere;word-break:break-word;margin:6px 0 18px}
.qr-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.qr-downloads .button{min-height:46px;box-sizing:border-box;align-items:center;justify-content:center}
.qr-downloads small{flex-basis:100%;font-size:12px;color:#596b84;margin-top:4px}
.qr-print-tip{border-top:1px solid #e2e5ee;padding-top:20px;font-size:12px;margin:24px 0 0}
.qr-error{color:#a22c25!important;background:#fff0ed;padding:12px 14px;border-radius:8px;font-size:14px}
.qr-layout [hidden]{display:none!important}
@media(max-width:760px){.qr-layout{grid-template-columns:minmax(0,1fr);gap:18px}.qr-card{padding:22px}.qr-card h2{font-size:22px}.qr-editor .qr-generate{width:100%}.qr-downloads .button{flex:1 1 140px}.qr-preview{max-width:300px}}
