.qr-tool-section{margin:18px 0}.qr-tool-section h3{margin-bottom:8px}.qr-generated{text-align:center;margin-top:18px}.qr-generated img{display:block;width:min(100%,520px);height:auto;margin:0 auto;border:1px solid #dce3eb;border-radius:10px}.qr-drop-zone{display:flex;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:18px;border:2px dashed #8ca0b5;border-radius:12px;text-align:center;background:#f7fafc;cursor:pointer}.qr-drop-zone.dragover{border-color:#1769aa;background:#e8f3fb}.qr-drop-zone input{width:auto;min-height:0;border:0;padding:8px;max-width:100%}.qr-drop-zone span{font-size:.9rem;color:#5b6674}.qr-source-preview{display:block;max-width:100%;max-height:55vh;margin:16px auto;border-radius:10px}.qr-source-preview[hidden]{display:none!important}.qr-result{margin-top:16px}.qr-result textarea{word-break:break-all}.qrcode-tool-link{margin:12px 0}
.qr-camera-controls{margin:12px 0}.qr-camera-stage{position:relative;margin:12px auto;overflow:hidden;border-radius:12px;background:#111}.qr-camera-stage video{display:block;width:100%;max-height:65vh;object-fit:cover}
.qr-admin-helper{margin:8px 0 18px}.qr-admin-helper summary{font-weight:700;color:#1769aa;cursor:pointer;padding:8px 0}.qr-admin-helper[open] summary{margin-bottom:8px}
