.qr-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;margin-top:16px}@media(max-width:860px){.qr-grid{grid-template-columns:1fr}}.qr-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:12px}.qr-tab{background:transparent;border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease}.qr-tab:hover{background:#ffffff0d}.qr-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.qr-form-group{margin-bottom:16px}.qr-form-group label{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px}.qr-input,.qr-select{width:100%;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:6px;font-size:14px;box-sizing:border-box}.qr-input:focus,.qr-select:focus{outline:none;border-color:var(--accent)}textarea.qr-input{min-height:100px;resize:vertical}.qr-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qr-color-picker{display:flex;align-items:center;gap:10px}.qr-color-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:42px;padding:0;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:var(--bg-elev-2);transition:all .2s ease}.qr-color-input:hover{border-color:var(--accent);background:var(--bg-elev)}.qr-color-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #6366f133}.qr-color-input::-webkit-color-swatch-wrapper{padding:4px}.qr-color-input::-webkit-color-swatch{border:1px solid rgba(255,255,255,.1);border-radius:4px}.qr-color-input::-moz-color-swatch{border:1px solid rgba(255,255,255,.1);border-radius:4px}.qr-preview-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center}.qr-canvas-container{background:#fff;padding:16px;border-radius:12px;box-shadow:0 8px 24px #00000040;margin-bottom:20px;display:flex;align-items:center;justify-content:center}.qr-canvas-container canvas{max-width:100%;height:auto!important;display:block}.qr-actions{display:flex;flex-direction:column;gap:10px;width:100%}.qr-actions .btn{width:100%;justify-content:center}.qr-preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.qr-preset{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:999px;font-size:13px;cursor:pointer;transition:all .15s ease}.qr-preset:hover{border-color:var(--accent)}.qr-preset.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}#gradAngleWrap[hidden],.qr-file-input{display:none}.qr-file-drop{border:1px dashed var(--border);border-radius:8px;padding:12px;background:var(--bg-elev-2);transition:border-color .15s ease,background .15s ease}.qr-file-drop.is-dragover{border-color:var(--accent);background:var(--bg-elev)}.qr-file-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.qr-file-name{font-size:13px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.qr-file-hint{margin:8px 0 0;font-size:12px;color:var(--text-dim);text-align:center;pointer-events:none}.lightbox{position:fixed;inset:0;z-index:200;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.lightbox__img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;border-radius:6px;cursor:zoom-in}.lightbox.is-actual{align-items:flex-start;justify-content:flex-start}.lightbox.is-actual .lightbox__img{max-width:none;max-height:none;cursor:zoom-out}.lightbox__close{position:fixed;top:14px;right:18px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);font-size:15px;line-height:1;cursor:pointer}.lightbox__hint{position:fixed;left:50%;bottom:14px;transform:translate(-50%);margin:0;padding:6px 12px;border-radius:var(--radius-sm);background:var(--bg-elev-2);color:var(--text-dim);font-size:12px;white-space:nowrap;pointer-events:none}body.is-lightbox-open{overflow:hidden}@media(pointer:coarse){.qr-preset{min-height:44px}}
