.qr-generator[data-v-21c5c3c5]{display:flex;flex-direction:column;gap:1.5rem}.input-section[data-v-21c5c3c5],.preview-section[data-v-21c5c3c5],.options-section[data-v-21c5c3c5]{display:flex;flex-direction:column;gap:.5rem}.input-section label[data-v-21c5c3c5],.preview-section label[data-v-21c5c3c5],.options-section label[data-v-21c5c3c5]{font-weight:500;color:var(--text);font-size:.9rem}.preview-section[data-v-21c5c3c5]{align-items:center}.qr-preview[data-v-21c5c3c5]{width:256px;height:256px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px dashed var(--border);border-radius:12px;overflow:hidden;position:relative}.qr-preview canvas[data-v-21c5c3c5]{max-width:100%;max-height:100%}.placeholder[data-v-21c5c3c5]{color:var(--text-muted);font-size:.9rem}.options-grid[data-v-21c5c3c5]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.option[data-v-21c5c3c5]{display:flex;flex-direction:column;gap:.25rem}.option span[data-v-21c5c3c5]{font-size:.8rem;color:var(--text-muted)}.option select[data-v-21c5c3c5],.option input[type=color][data-v-21c5c3c5]{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.option input[type=color][data-v-21c5c3c5]{height:40px;padding:2px;cursor:pointer}.export-buttons[data-v-21c5c3c5]{display:flex;gap:.5rem;margin-top:.5rem}.template-editor[data-v-6335eb7d]{display:flex;flex-direction:column;gap:1rem}.toolbar[data-v-6335eb7d]{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.toolbar-group[data-v-6335eb7d]{display:flex;gap:.5rem;align-items:center;padding:.25rem .5rem;background:var(--bg-secondary);border-radius:8px}.toolbar-label[data-v-6335eb7d]{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-right:.25rem}.toolbar-spacer[data-v-6335eb7d]{flex:1}.url-section[data-v-6335eb7d]{display:flex;gap:.5rem;align-items:center}.url-label[data-v-6335eb7d]{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.url-input[data-v-6335eb7d]{flex:1;padding:.5rem .75rem;font-size:.9rem}.editor-area[data-v-6335eb7d]{overflow:auto;max-height:60vh;display:flex;justify-content:center;align-items:center;background:var(--bg-secondary);border-radius:8px;padding:1rem;border:2px dashed var(--border);transition:all .2s}.editor-area.drag-over[data-v-6335eb7d]{border-color:var(--primary);background:#2563eb1a}.canvas-container[data-v-6335eb7d]{position:relative;background:#fff;box-shadow:0 4px 6px #0000001a;overflow:hidden;-webkit-user-select:none;user-select:none}.background_layer[data-v-6335eb7d]{width:100%;height:100%;object-fit:contain;pointer-events:none}.qr-container[data-v-6335eb7d]{cursor:grab;position:absolute}.qr-container.dragging[data-v-6335eb7d]{cursor:grabbing}.qr-container.selected[data-v-6335eb7d]{outline:2px solid var(--primary)}.qr-canvas[data-v-6335eb7d]{display:block;width:100%;height:100%}.handle[data-v-6335eb7d]{position:absolute;width:10px;height:10px;background:var(--primary);border:1px solid white;z-index:10}.handle-tl[data-v-6335eb7d]{top:-5px;left:-5px;cursor:nwse-resize}.handle-tr[data-v-6335eb7d]{top:-5px;right:-5px;cursor:nesw-resize}.handle-bl[data-v-6335eb7d]{bottom:-5px;left:-5px;cursor:nesw-resize}.handle-br[data-v-6335eb7d]{bottom:-5px;right:-5px;cursor:nwse-resize}.handle-rotate[data-v-6335eb7d]{position:absolute;top:-28px;left:50%;transform:translate(-50%);width:22px;height:22px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:grab;font-size:14px;font-weight:700;z-index:11}.empty-canvas[data-v-6335eb7d]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--text-muted)}.empty-canvas .hint[data-v-6335eb7d]{font-size:.8rem;opacity:.7}.controls[data-v-6335eb7d]{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1rem;background:var(--bg-secondary);border-radius:8px}.control-group[data-v-6335eb7d]{display:flex;align-items:center;gap:.5rem}.control-group label[data-v-6335eb7d]{font-size:.85rem;color:var(--text-muted)}.control-group input[type=number][data-v-6335eb7d]{width:60px;padding:.25rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.control-group input[type=range][data-v-6335eb7d]{width:100px}.app-container[data-v-3ea8bca5]{min-height:100vh;display:flex;flex-direction:column}.theme-toggle-fixed[data-v-3ea8bca5]{position:fixed;top:1rem;right:1rem;z-index:1000}.btn-icon[data-v-3ea8bca5]{width:36px;height:36px;border-radius:50%;font-size:1rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);transition:all .2s ease}.btn-icon[data-v-3ea8bca5]:hover{background:var(--bg-secondary);border-color:var(--primary)}.btn-icon span[data-v-3ea8bca5]{opacity:.7}.btn-icon:hover span[data-v-3ea8bca5]{opacity:1}.login-screen[data-v-3ea8bca5]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box[data-v-3ea8bca5]{background:var(--surface);padding:2.5rem;border-radius:16px;box-shadow:0 8px 32px #0000004d;text-align:center;width:100%;max-width:380px}.login-header[data-v-3ea8bca5]{margin-bottom:2rem}.login-header h1[data-v-3ea8bca5]{font-size:1.75rem;margin:.5rem 0 0;color:var(--primary)}.login-header .subtitle[data-v-3ea8bca5]{color:var(--text-muted);font-size:.9rem}.tux-logo[data-v-3ea8bca5]{width:72px;height:72px}.login-box form[data-v-3ea8bca5]{display:flex;flex-direction:column;gap:1.25rem}.input-group[data-v-3ea8bca5]{text-align:left}.input-group label[data-v-3ea8bca5]{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.login-box .input[data-v-3ea8bca5]{width:100%;padding:.875rem 1rem;font-size:1rem}.btn-block[data-v-3ea8bca5]{width:100%;padding:1rem;font-size:1rem;margin-top:.5rem}.app-main[data-v-3ea8bca5]{display:flex;flex-direction:column;min-height:100vh}header[data-v-3ea8bca5]{background:var(--surface);padding:1rem 2rem;box-shadow:0 1px 3px #0000001a}header h1[data-v-3ea8bca5]{font-size:1.5rem;margin:0;color:var(--primary)}main[data-v-3ea8bca5]{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.tabs[data-v-3ea8bca5]{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border);padding-bottom:0}.tab[data-v-3ea8bca5]{padding:.75rem 1.5rem;border:none;background:none;font-size:1rem;font-weight:500;color:var(--text-muted);cursor:pointer;position:relative;bottom:-2px}.tab.active[data-v-3ea8bca5]{color:var(--primary)}.tab.active[data-v-3ea8bca5]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary)}.panel[data-v-3ea8bca5]{background:var(--surface);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}footer[data-v-3ea8bca5]{text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem}.login-box .error[data-v-3ea8bca5]{color:var(--error);margin-top:.5rem}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--bg: #f8fafc;--bg-secondary: #f1f5f9;--surface: #ffffff;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--success: #22c55e;--error: #ef4444}:root.dark{--primary: #3b82f6;--primary-hover: #60a5fa;--bg: #0f172a;--bg-secondary: #1e293b;--surface: #1e293b;--text: #f1f5f9;--text-muted: #94a3b8;--border: #334155;--success: #22c55e;--error: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;transition:background .3s,color .3s}#app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-secondary)}.btn:disabled{opacity:.5;cursor:not-allowed}input,textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text);transition:border-color .2s ease}.input{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text)}input:focus,textarea:focus{outline:none;border-color:var(--primary)}.card{background:var(--surface);border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}h1,h2,h3{margin-bottom:1rem}
