.qr{margin:8px 0 28px}.qr-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.qr-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.qr-form,.qr-preview{background:var(--surface);border:1px solid var(--line);border-radius:16px}.qr-form{padding:18px}.qr-tabs{display:flex;gap:6px;padding:4px;margin-bottom:16px;border-radius:12px;background:color-mix(in srgb,var(--ink) 5%,transparent)}.qr-tab{flex:1 1;padding:9px 12px;border:0;border-radius:9px;font:inherit;font-weight:600;font-size:.93rem;cursor:pointer;color:var(--muted);background:transparent;transition:background .15s,color .15s}.qr-tab:hover{color:var(--ink)}.qr-tab[aria-selected=true]{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px rgba(15,26,34,.12)}.qr-panel{margin-bottom:18px}.qr-field{display:grid;grid-gap:6px;gap:6px}.qr-field>span,.qr-label{font-size:.88rem;font-weight:600;color:var(--ink)}.qr-field input,.qr-field textarea,.qr-selects select{width:100%;padding:10px 12px;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,box-shadow .15s}.qr-field textarea{resize:vertical;min-height:120px}.qr-field input:focus,.qr-field textarea:focus,.qr-selects select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.qr-field input[aria-invalid=true]{border-color:#dc2626}.qr-field small,.qr-form small,.qr-hint{font-size:.82rem;color:var(--muted)}.qr small.bad{color:#b91c1c}:root[data-theme=dark] .qr small.bad{color:#fca5a5}.qr-hint{margin:0 0 10px}.qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.qr-grid .wide{grid-column:1/-1}.qr-design{display:grid;grid-gap:14px;gap:14px;margin:0;padding:16px 0 0;border:0;border-top:1px solid var(--line)}.qr-design legend{float:left;width:100%;margin-bottom:4px;padding:0;font-weight:700;color:var(--ink)}.qr-row{display:flex;flex-wrap:wrap;gap:10px 16px}.qr-color,.qr-row{align-items:center}.qr-color{display:inline-flex;gap:8px;font-size:.9rem;color:var(--ink);cursor:pointer}.qr-color input{width:40px;height:32px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer}.qr-logo{display:grid;grid-gap:8px;gap:8px}.qr-logo-thumb{width:40px;height:40px;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:#fff}.qr-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.qr-selects label{display:grid;grid-gap:6px;gap:6px;font-size:.88rem;font-weight:600;color:var(--ink)}.qr-warn{margin:0;padding:8px 12px;border-radius:10px;font-size:.86rem;color:#92400e;background:color-mix(in srgb,#f59e0b 14%,var(--surface))}.qr-warn.bad{color:#991b1b;background:color-mix(in srgb,#ef4444 12%,var(--surface))}:root[data-theme=dark] .qr-warn{color:#fcd34d}:root[data-theme=dark] .qr-warn.bad{color:#fca5a5}.qr-side{position:-webkit-sticky;position:sticky;top:90px}.qr-preview,.qr-side{display:grid;grid-gap:12px;gap:12px}.qr-preview{padding:18px}.qr-image{display:grid;place-items:center;aspect-ratio:1;width:100%;max-width:360px;margin:0 auto;border-radius:12px;overflow:hidden}.qr-image svg{display:block;width:100%;height:100%}.qr-empty{padding:24px;font-size:.92rem;border:2px dashed var(--line);background:color-mix(in srgb,var(--ink) 3%,transparent)}.qr-empty,.qr-scans{text-align:center;color:var(--muted)}.qr-scans{margin:0;font-size:.85rem;overflow-wrap:anywhere}.qr-scans span{color:var(--ink)}.qr-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.qr-actions .btn,.qr-actions .btn-secondary{justify-content:center;text-align:center}.qr-side>.qr-hint{margin:0;text-align:center}@media (max-width:900px){.qr-layout{grid-template-columns:minmax(0,1fr)}.qr-side{position:static}}@media (max-width:560px){.qr-form,.qr-preview{padding:14px}.qr-grid,.qr-selects{grid-template-columns:minmax(0,1fr)}.qr-tab{padding:9px 6px;font-size:.88rem}}