.qr-workspace { max-width: 76rem; margin:auto; }
.qr-workspace .qr-eyebrow { letter-spacing: .14em; text-transform: uppercase; font-size: .8rem; font-weight: 700; }
.qr-workspace h1 { font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1.08; }
.qr-workspace .qr-notice { padding: 1rem 1.25rem; border: 1px solid #b45309; border-radius: .75rem; background: #fff7ed; color: #7c2d12; }
.qr-columns { display:grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap:2rem; margin-block:2rem; align-items:start; }
.qr-workspace fieldset { border:1px solid #cbd5e1; border-radius:12px; margin:1rem 0; padding:1rem; min-width:0; }
.qr-workspace label { display:block; margin-top:.8rem; font-weight:600; }
.qr-workspace input:not([type=checkbox]), .qr-workspace textarea, .qr-workspace select { width:100%; box-sizing:border-box; padding:.75rem; border:1px solid #94a3b8; border-radius:6px; background:white; color:#172033; font:inherit; }
.qr-workspace [hidden] { display:none; }
.qr-workspace .qr-check { display:flex; gap:.6rem; align-items:center; }
.qr-workspace .qr-help { font-size:.9rem; color:#475569; }
.qr-buttons { display:flex; flex-wrap:wrap; gap:.6rem; }
.qr-buttons button { padding:.8rem 1rem; border:1px solid #172033; border-radius:8px; background:#172033; color:white; font:inherit; cursor:pointer; }
.qr-workspace :focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.qr-result { padding:1.2rem; border-radius:16px; background:#f1f5f9; }
.qr-result img { display:block; max-width:100%; height:auto; margin:auto; }
@media(max-width:700px) { .qr-columns { grid-template-columns:1fr; } }
