@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap);:root{--font-main:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;--primary:#4361ee;--primary-hover:#3a56d4;--primary-light:#818cf8;--secondary:#eef2ff;--accent:#06b6d4;--success:#10b981;--warning:#f59e0b;--bg-app:#f8fafc;--bg-panel:#fff;--bg-gradient:linear-gradient(135deg,#667eea,#764ba2);--bg-gradient-light:linear-gradient(135deg,#f5f7fa,#c3cfe2);--text-main:#1e293b;--text-muted:#64748b;--text-primary:var(--text-main);--text-secondary:var(--text-muted);--bg-primary:var(--bg-panel);--bg-secondary:var(--secondary);--border-color:var(--border);--shadow-md:var(--shadow);--border:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-glow:0 0 20px #4361ee4d;--radius:16px;--radius-sm:8px;--radius-lg:24px}.dark{--primary:#818cf8;--primary-hover:#6366f1;--primary-light:#a5b4fc;--secondary:#1e293b;--accent:#22d3ee;--success:#34d399;--warning:#fbbf24;--bg-app:#0f172a;--bg-panel:#1e293b;--bg-gradient:linear-gradient(135deg,#667eea,#764ba2);--bg-gradient-light:linear-gradient(135deg,#1e293b,#334155);--text-main:#f1f5f9;--text-muted:#94a3b8;--text-primary:var(--text-main);--text-secondary:var(--text-muted);--bg-primary:var(--bg-panel);--bg-secondary:var(--secondary);--border-color:var(--border);--shadow-md:var(--shadow);--border:#334155;--shadow-sm:0 1px 2px 0 #00000080;--shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009,0 10px 10px -5px #00000080;--shadow-glow:0 0 30px #818cf866}body,html{-webkit-font-smoothing:antialiased;background-color:#f8fafc;background-color:var(--bg-app);color:#1e293b;color:var(--text-main);font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-main);height:100%;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{grid-gap:2rem;align-items:start;box-sizing:border-box;display:grid;flex:1 1;gap:2rem;grid-template-columns:1fr;margin:0 auto;max-width:1100px;padding:2rem;width:100%}@media (min-width:900px){.main-content{grid-template-columns:400px 1fr;padding-top:3rem}}@media (max-width:480px){.main-content{gap:1.5rem;padding:1rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--bg-app)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.dark ::-webkit-scrollbar-thumb{background:#475569}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.main-content{animation:fadeIn .5s ease-out}*{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}:focus-visible{border-radius:4px;outline:3px solid #4361ee;outline:3px solid var(--primary);outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #4361ee33;outline:3px solid #4361ee;outline:3px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.main-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,var(--bg-panel) 0,#fffffff2 100%);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;transition:all .3s ease;z-index:100}.dark .main-header{background:linear-gradient(135deg,#1e293bf2,#1e293bcc);border-bottom:1px solid #ffffff1a}.brand{align-items:center;display:flex;gap:1rem}.brand-icon{animation:pulse 3s ease-in-out infinite;color:var(--primary);filter:drop-shadow(0 2px 8px rgba(67,97,238,.4));transition:transform .3s ease,filter .3s ease}.brand:hover .brand-icon{filter:drop-shadow(0 4px 12px rgba(67,97,238,.6));transform:scale(1.1) rotate(5deg)}.brand-text{display:flex;flex-direction:column}.brand h1{color:var(--text-main);font-size:1.25rem;font-weight:800;letter-spacing:-.5px;margin:0}.brand .subtitle{color:var(--text-muted);font-size:.75rem;font-weight:500;margin-top:2px}.header-actions{gap:1rem}.header-actions,.theme-toggle{align-items:center;display:flex}.theme-toggle{background:var(--bg-app);border:2px solid var(--border);border-radius:12px;cursor:pointer;flex-shrink:0;font-size:1.3rem;height:48px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px}.theme-toggle:before{background:var(--primary);border-radius:50%;content:"";height:0;left:50%;opacity:.2;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease;width:0}.theme-toggle:hover:before{height:100px;width:100px}.theme-toggle:hover{background-color:var(--secondary);border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-2px) scale(1.05)}.theme-toggle:active{transform:translateY(0) scale(.95)}.theme-toggle .icon{position:relative;transition:transform .3s ease;z-index:1}.theme-toggle:hover .icon{transform:rotate(20deg) scale(1.1)}@media (max-width:600px){.main-header{padding:1rem}.brand .subtitle{display:none}}.main-footer{background:linear-gradient(to top,var(--bg-panel),var(--bg-app));border-top:2px solid var(--border);color:var(--text-muted);font-size:.95rem;margin-top:auto;overflow:hidden;padding:2.5rem;position:relative;text-align:center}.main-footer:before{animation:shimmer 3s infinite;background:linear-gradient(90deg,#0000,var(--primary),#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.main-footer p{font-weight:500;margin:0 0 .75rem;transition:color .3s ease}.main-footer:hover p{color:var(--text-main)}.footer-links{display:flex;gap:1.5rem;justify-content:center;margin-top:.75rem}.footer-links a{border-radius:8px;color:var(--primary);font-weight:600;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.footer-links a:before{background:var(--primary);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s ease;width:0}.footer-links a:hover{background:var(--secondary);color:var(--primary-hover);transform:translateY(-2px)}.footer-links a:hover:before{width:80%}.toast-container{animation:slideUpFade .5s cubic-bezier(.175,.885,.32,1.275) forwards;bottom:2rem;left:50%;position:fixed;transform:translateX(-50%);z-index:9999}.toast-content{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1e1ef2;border:1px solid #ffffff26;border-radius:50px;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003,0 0 30px #4ade8033;color:#fff;display:flex;gap:.875rem;justify-content:space-between;max-width:90vw;min-width:300px;overflow:hidden;padding:1rem 1.5rem;position:relative}.toast-content:before{animation:shimmer 2s infinite;background:linear-gradient(45deg,#0000,#4ade801a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);width:200%}.dark .toast-content{background:#0f172af2;border-color:#818cf84d;box-shadow:0 10px 25px -5px #00000080,0 0 40px #818cf833}.toast-icon{animation:iconPop .5s cubic-bezier(.175,.885,.32,1.275);color:#4ade80;filter:drop-shadow(0 2px 8px rgba(74,222,128,.5));flex-shrink:0;position:relative;z-index:1}.toast-content.error{box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003,0 0 30px #f8717140}.toast-content.error .toast-icon{color:#f87171;filter:drop-shadow(0 2px 8px rgba(248,113,113,.5))}.toast-content.error:before{background:linear-gradient(45deg,#0000,#f871711a,#0000)}@keyframes iconPop{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.toast-message{flex-grow:1;font-size:.95rem;font-weight:500;text-align:left}.toast-close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:6px;position:relative;transition:all .3s ease;z-index:1}.toast-close-btn:hover{background-color:#ffffff26;color:#fff;transform:scale(1.1) rotate(90deg)}.toast-close-btn:active{transform:scale(.9) rotate(90deg)}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,120%) scale(.8)}50%{transform:translate(-50%,-10px) scale(1.02)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes shimmer{0%{transform:rotate(45deg) translateX(-100%)}to{transform:rotate(45deg) translateX(100%)}}@media (max-width:600px){.toast-container{bottom:1.5rem;width:90%}.toast-content{min-width:auto;width:100%}}.export-options{position:relative;width:100%}.btn-export{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98166;font-size:1rem;padding:1rem;width:100%}.btn-export:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 20px #10b98180,0 0 30px #10b9814d}.export-dropdown{animation:slideDown .3s ease-out;background:var(--bg-panel);border:2px solid var(--border);border-radius:16px;box-shadow:var(--shadow-xl);left:0;padding:1.5rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.export-section{margin-bottom:1.5rem}.export-section:last-of-type{margin-bottom:1rem}.export-label{align-items:center;color:var(--text-main);display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.format-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.format-btn{align-items:center;background:var(--bg-app);border:2px solid var(--border);border-radius:10px;color:var(--text-main);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.25rem;justify-content:center;padding:.75rem;transition:all .3s ease}.format-btn:hover{background:#4361ee1f;border-color:var(--primary);transform:translateY(-2px)}.format-btn.active{background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);border-color:var(--primary);box-shadow:0 4px 12px #4361ee4d;color:#fff}.checkbox-label-export{align-items:center;background:var(--bg-app);border:2px dashed var(--border);border-radius:12px;cursor:pointer;display:flex;gap:.75rem;padding:1rem;transition:all .3s ease}.checkbox-label-export:hover{background:var(--secondary);border-color:var(--primary)}.checkbox-label-export input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-label-export span{color:var(--text-main);flex:1 1;font-weight:600}.export-hint{color:var(--text-muted);font-size:.8rem;margin-top:.5rem;padding-left:.5rem}.btn-download-confirm{font-size:1rem;font-weight:700;width:100%}@media (max-width:600px){.export-dropdown{padding:1rem}.format-buttons{grid-template-columns:repeat(2,1fr)}}.preview-section{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:2rem}.preview-card{align-items:center;background:var(--bg-panel);border:2px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;justify-content:center;min-height:320px;overflow:hidden;padding:2.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.preview-card:before{animation:pulse 4s ease-in-out infinite;background:radial-gradient(circle,#4361ee0d 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}.preview-card:not(.barcode-card){background-color:var(--bg-panel);background-image:linear-gradient(45deg,#f0f0f0 25%,#0000 0),linear-gradient(-45deg,#f0f0f0 25%,#0000 0),linear-gradient(45deg,#0000 75%,#f0f0f0 0),linear-gradient(-45deg,#0000 75%,#f0f0f0 0);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.dark .preview-card:not(.barcode-card){background-image:linear-gradient(45deg,#ffffff08 25%,#0000 0),linear-gradient(-45deg,#ffffff08 25%,#0000 0),linear-gradient(45deg,#0000 75%,#ffffff08 0),linear-gradient(-45deg,#0000 75%,#ffffff08 0)}.preview-card:hover{border-color:var(--primary);box-shadow:var(--shadow-xl),0 0 40px #4361ee26;transform:translateY(-4px) scale(1.02)}.barcode-card{background:var(--bg-panel);overflow-x:auto}.barcode-card svg{height:auto;max-width:100%}.error-message{animation:shake .5s ease-in-out;padding:2.5rem;text-align:center}.error-message p{color:#ef4444;font-size:1.2rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px #ef444433}.error-message small{color:var(--text-muted);display:block;font-size:.9rem;margin-top:.5rem}.error-suggestion{background:#4361ee1a;border-left:4px solid var(--primary);border-radius:8px;margin-top:1rem;padding:1rem}.error-suggestion p{color:var(--text-primary)!important;font-size:.95rem!important;font-weight:500!important;margin-bottom:.5rem}.error-suggestion strong{color:var(--primary)}.btn-small{font-size:.85rem!important;gap:.3rem;padding:.5rem 1rem!important}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.action-buttons-grid{grid-gap:1rem;align-items:stretch;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.action-buttons-grid>*{min-height:56px}.btn{align-items:center;border:none;border-radius:14px;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;overflow:hidden;padding:1rem 1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.btn:hover:before{height:300px;width:300px}.btn:hover{transform:translateY(-2px) scale(1.02)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn:disabled:before{display:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0,var(--primary-hover) 100%);box-shadow:0 4px 12px #4361ee66;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #4361ee80,0 0 30px #4361ee4d}.btn-secondary{background-color:var(--bg-panel);border:2px solid var(--border);box-shadow:var(--shadow);color:var(--text-main)}.btn-secondary:hover:not(:disabled){background-color:var(--secondary);border-color:var(--primary);box-shadow:var(--shadow-lg)}@media (max-width:600px){.preview-section{position:static}.preview-card{padding:1.5rem}.action-buttons-grid{grid-template-columns:1fr}}.color-picker-advanced{display:flex;flex-direction:column;gap:8px;position:relative}.color-label{align-items:center;color:var(--text-primary);display:flex;font-size:14px;font-weight:500;gap:6px}.color-preview-container{position:relative}.color-preview-button{align-items:center;border:2px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;height:48px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.color-preview-button:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.color-preview-button:active{transform:translateY(0)}.color-value{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffffe6;border:1px solid #0000001f;border-radius:6px;box-shadow:0 2px 8px #00000026;color:#333;font-size:13px;font-weight:600;padding:4px 12px;text-transform:uppercase}.color-picker-overlay{animation:fadeIn .2s ease;background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.color-picker-popover{animation:slideIn .3s cubic-bezier(.34,1.56,.64,1);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px #00000026;left:0;min-width:280px;padding:16px;position:absolute;top:calc(100% + 8px);z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.color-picker-header{align-items:center;border-bottom:1px solid var(--border-color);color:var(--text-primary);display:flex;font-weight:600;gap:8px;margin-bottom:16px;padding-bottom:12px}.color-picker-header svg{color:var(--primary);font-size:20px}.color-picker-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;margin-left:auto;padding:4px;transition:all .2s ease}.color-picker-close:hover{background:var(--bg-primary);color:var(--primary)}.color-picker-content .react-colorful{border-radius:12px;height:180px;overflow:hidden;width:100%}.color-picker-content .react-colorful__saturation{border-bottom:none;border-radius:12px 12px 0 0}.color-picker-content .react-colorful__hue{border-radius:0 0 12px 12px;height:20px;margin-top:2px}.color-picker-content .react-colorful__pointer{border:3px solid #fff;box-shadow:0 2px 8px #0000004d;height:24px;width:24px}.color-input-group{margin-bottom:16px;margin-top:16px}.color-hex-input{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;padding:10px 12px;text-transform:uppercase;transition:all .2s ease;width:100%}.color-hex-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.color-presets{display:flex;flex-direction:column;gap:10px}.presets-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.presets-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(8,1fr)}.preset-button{border:2px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-sm);cursor:pointer;height:28px;padding:0;transition:all .2s ease;width:28px}.preset-button:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:scale(1.15);z-index:1}.preset-button:active{transform:scale(1.05)}@media (max-width:768px){.color-picker-popover{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);left:50%;max-width:320px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.presets-grid{grid-template-columns:repeat(6,1fr)}}.dark .color-picker-popover{box-shadow:0 12px 40px #0000008c}.controls-section{display:flex;flex-direction:column;gap:1.5rem}.control-group{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:1.5rem;transition:transform .2s ease,box-shadow .3s ease,border-color .3s ease}.control-group:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.group-header{align-items:center;border-bottom:1px solid var(--border);color:var(--primary);display:flex;font-size:1.1rem;font-weight:700;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem}.type-selector{background:linear-gradient(135deg,var(--primary) 0,#5b75f0 100%);border:none;color:#fff;overflow:hidden;position:relative}.type-selector:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);width:200%}.type-selector:hover{box-shadow:var(--shadow-xl),0 0 30px #4361ee66;transform:translateY(-2px)}.type-selector .group-header{border-bottom:1px solid #fff3;color:#fff}.mode-selector{grid-column:1/-1}.type-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.type-buttons{grid-template-columns:1fr}}.type-btn{align-items:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.95rem;font-weight:600;gap:.5rem;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.type-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.type-btn:hover:before{height:300px;width:300px}.type-btn:hover{background:#fff3;box-shadow:0 8px 16px #0003;transform:translateY(-4px) scale(1.02)}.type-btn.active{background:#fff;border-color:#fff;box-shadow:0 8px 20px #0000004d;color:var(--primary);transform:scale(1.05)}.type-btn.active:before{display:none}.barcode-format-select{border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.95rem;padding:.6rem}.barcode-format-select,.input-text{background-color:var(--bg-app);color:var(--text-main);outline:none;width:100%}.input-text{border:2px solid var(--border);border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.875rem;resize:vertical;transition:all .3s ease}.input-text:hover{border-color:var(--primary-light)}.input-text:focus{background-color:var(--bg-panel);border-color:var(--primary);box-shadow:0 0 0 4px #4361ee26,var(--shadow-glow);transform:translateY(-1px)}.control-row{display:flex;gap:1rem;margin-bottom:1rem}.control-item{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.control-item.full-width{width:100%}.control-item label{color:var(--text-muted);font-size:.85rem;font-weight:600}select{background-color:var(--bg-app);border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;font-size:.95rem;outline:none;padding:.6rem;width:100%}input[type=range]{-webkit-appearance:none;appearance:none;background:linear-gradient(to right,var(--primary) 0,var(--primary-light) 100%);border-radius:5px;height:8px;outline:none;position:relative;transition:all .3s ease;width:100%}input[type=range]:hover{box-shadow:0 2px 8px #4361ee4d;height:10px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid var(--primary);border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:22px;-webkit-transition:all .3s ease;transition:all .3s ease;width:22px}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 4px 12px #4361ee66,0 0 20px #4361ee4d;transform:scale(1.3)}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.15)}input[type=range]::-moz-range-thumb{background:#fff;border:3px solid var(--primary);border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:22px;-moz-transition:all .3s ease;transition:all .3s ease;width:22px}input[type=range]::-moz-range-thumb:hover{box-shadow:0 4px 12px #4361ee66,0 0 20px #4361ee4d;transform:scale(1.3)}.share-row{flex-wrap:wrap;margin-top:1rem}.btn-icon,.share-row{display:flex;gap:.5rem}.btn-icon{align-items:center;background:var(--bg-panel);border:2px solid var(--border);border-radius:12px;color:var(--text-main);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;justify-content:center;min-width:110px;overflow:hidden;padding:.75rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-icon:before{background:var(--primary);border-radius:50%;content:"";height:0;left:50%;opacity:.1;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .5s ease,height .5s ease;width:0}.btn-icon:hover:before{height:200px;width:200px}.btn-icon:hover{background:var(--secondary);border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.btn-icon:active{transform:translateY(-1px) scale(.98)}.btn-icon.whatsapp:hover{border-color:#25d366;color:#25d366}.btn-icon.whatsapp:hover:before{background:#25d366}.btn-icon.facebook:hover{border-color:#1877f2;color:#1877f2}.btn-icon.facebook:hover:before{background:#1877f2}.color-pickers{display:flex;gap:2rem;justify-content:flex-start}.color-pickers-advanced{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.color-item{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;position:relative}.color-item label{color:var(--text-main);font-size:.875rem;font-weight:600}input[type=color]{background:none;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;height:60px;overflow:hidden;padding:0;position:relative;transition:all .3s ease;width:60px}input[type=color]:before{background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;bottom:-3px;content:"";left:-3px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:3px;position:absolute;right:-3px;top:-3px;transition:opacity .3s ease}input[type=color]:hover{box-shadow:0 8px 20px #00000040;transform:scale(1.15)}input[type=color]:hover:before{opacity:1}.file-upload{background:linear-gradient(135deg,#0000 0,var(--secondary) 100%);border:2px dashed var(--border);border-radius:16px;color:var(--text-muted);cursor:pointer;display:block;font-weight:600;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.file-upload:before{content:"📁";font-size:3rem;left:50%;opacity:.1;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease}.file-upload:hover{background:linear-gradient(135deg,var(--secondary) 0,var(--primary) 2%,var(--secondary) 100%);border-color:var(--primary);box-shadow:var(--shadow-lg);color:var(--primary);transform:translateY(-2px)}.file-upload:hover:before{font-size:4rem;opacity:.2;transform:translate(-50%,-50%) scale(1.2)}.file-upload input{display:none}.logo-settings{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding-top:1rem}.logo-settings .control-item.full-width{width:100%}.logo-settings label{color:var(--text-main);display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.logo-settings select{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;font-size:.9rem;padding:.75rem;transition:all .3s ease;width:100%}.logo-settings select:hover{border-color:var(--primary)}.logo-settings select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none}.logo-settings input[type=range]{background:linear-gradient(to right,var(--primary) 0,var(--primary) 50%,var(--border) 50%,var(--border) 100%);background:linear-gradient(to right,var(--primary) 0,var(--primary) var(--range-progress,50%),var(--border) var(--range-progress,50%),var(--border) 100%);border-radius:3px;height:6px;outline:none;transition:all .3s ease;width:100%}.logo-settings input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary);border-radius:50%;box-shadow:0 2px 8px #4f46e54d;cursor:pointer;height:20px;-webkit-transition:all .3s ease;transition:all .3s ease;width:20px}.logo-settings input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 4px 12px #4f46e580;transform:scale(1.2)}.logo-settings input[type=range]::-moz-range-thumb{background:var(--primary);border:none;border-radius:50%;box-shadow:0 2px 8px #4f46e54d;cursor:pointer;height:20px;-moz-transition:all .3s ease;transition:all .3s ease;width:20px}.logo-settings input[type=range]::-moz-range-thumb:hover{box-shadow:0 4px 12px #4f46e580;transform:scale(1.2)}.checkbox-label{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;margin-top:1rem}.fade-in{animation:fadeIn .3s ease-in}.templates-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.template-btn{border-radius:12px;box-shadow:var(--shadow);cursor:pointer;font-size:.85rem;font-weight:600;overflow:hidden;padding:.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.template-btn:before{content:"✓";font-size:2rem;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:all .3s ease}.template-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px) scale(1.05)}.template-btn:active:before{opacity:.3;transform:translate(-50%,-50%) scale(1)}@media (max-width:768px){.control-group{padding:1.25rem}.type-buttons{gap:.75rem}.type-btn{font-size:.875rem;padding:1rem}.templates-grid{grid-template-columns:repeat(2,1fr)}.color-pickers{gap:1.5rem}input[type=color]{height:50px;width:50px}.share-row{flex-direction:column}.btn-icon{min-width:100%}.control-item label{font-size:.8rem}}@media (max-width:480px){.control-group{padding:1rem}.group-header{font-size:1rem}.type-btn{gap:.375rem;padding:.875rem}.templates-grid{gap:.5rem;grid-template-columns:1fr 1fr}.template-btn{font-size:.75rem;padding:.5rem}.input-text{font-size:.9rem;padding:.625rem}}.scanner-section{display:flex;flex-direction:column;gap:1.25rem;grid-column:1/-1;margin:0 auto;max-width:640px;width:100%}.scanner-card{align-items:center;background:var(--bg-panel);border:2px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;justify-content:center;min-height:320px;overflow:hidden;position:relative}.scanner-reader{width:100%}.scanner-reader:not(.active){display:none}.scanner-reader video{border-radius:16px;display:block;width:100%!important}.scanner-reader img{max-width:100%}.scanner-placeholder{color:var(--text-muted);padding:2.5rem 1.5rem;text-align:center}.scanner-placeholder-icon{color:var(--primary);font-size:4rem;margin-bottom:.5rem;opacity:.8}.scanner-placeholder-title{color:var(--text-main);font-size:1.25rem;font-weight:700;margin:.25rem 0}.scanner-placeholder-text{font-size:.95rem;line-height:1.5;margin:0 auto;max-width:380px}.scanner-error{align-items:center;background:#ef44441f;border:1px solid #ef444466;border-radius:12px;bottom:1rem;color:#ef4444;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;left:1rem;padding:.75rem 1rem;position:absolute;right:1rem}.scanner-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.scanner-file-btn{cursor:pointer}.scan-result{background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:1.5rem}.scan-result-header{border-bottom:1px solid var(--border);color:var(--primary);font-weight:700;margin-bottom:1rem;padding-bottom:.75rem}.scan-result-text{background:var(--bg-app);border:1px solid var(--border);border-radius:10px;color:var(--text-main);font-size:.95rem;line-height:1.5;padding:.9rem;word-break:break-all}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.nfe-badge{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.nfe-badge strong{color:var(--text-main);font-size:1rem}.nfe-dv{border-radius:999px;font-size:.78rem;font-weight:600;padding:.25rem .6rem}.nfe-dv.ok{background:#10b98126;color:var(--success)}.nfe-dv.warn{background:#f59e0b2e;color:var(--warning)}.nfe-grid{grid-gap:.75rem 1.25rem;display:grid;gap:.75rem 1.25rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.nfe-grid div{display:flex;flex-direction:column;gap:.15rem}.nfe-grid dt{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.nfe-grid dd{color:var(--text-main);font-size:.95rem;margin:0;word-break:break-word}.scan-result-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.scan-result-actions .btn-icon{flex:1 1 auto;min-width:120px;text-decoration:none}@media (max-width:600px){.scanner-actions{grid-template-columns:1fr}}.btn-history{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#5b75f0 100%);border:none;border-radius:12px;box-shadow:0 4px 12px #6773f04d;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.btn-history:hover{box-shadow:0 6px 20px #6773f080;transform:translateY(-2px)}.btn-history:active{transform:translateY(0)}.btn-history svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.history-badge{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border:2px solid #fff;border-radius:10px;box-shadow:0 2px 8px #ef444480;color:#fff;display:flex;font-size:.65rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:.25rem .5rem;position:absolute;right:-6px;top:-6px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.history-panel-overlay{animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.history-panel{animation:slideInRight .4s cubic-bezier(.34,1.56,.64,1);background:var(--bg-panel);bottom:0;box-shadow:-4px 0 24px #0003;display:flex;flex-direction:column;max-width:480px;position:fixed;right:0;top:0;width:100%;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.history-header{align-items:center;background:linear-gradient(135deg,var(--primary-light) 0,#0000 100%);border-bottom:2px solid var(--border);display:flex;justify-content:space-between;padding:2rem 1.5rem}.history-header h3{align-items:center;color:var(--text-main);display:flex;font-size:1.5rem;font-weight:700;gap:.75rem;margin:0}.history-header h3 svg{color:var(--primary);font-size:1.75rem}.history-actions{display:flex;gap:.75rem}.btn-icon-small{align-items:center;background:var(--bg-app);border:2px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #0000001a;color:var(--text-main);cursor:pointer;display:flex;font-size:1.1rem;height:40px;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:40px}.btn-icon-small:hover{background:var(--secondary);border-color:var(--primary);box-shadow:0 4px 12px #6773f04d;transform:scale(1.15) rotate(5deg)}.btn-icon-small.btn-delete:hover{background:#ef444426;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d;color:#ef4444;transform:scale(1.15) rotate(-5deg)}.btn-icon-small.btn-load:hover{background:#10b98126;border-color:#10b981;box-shadow:0 4px 12px #10b9814d;color:#10b981;transform:scale(1.15) rotate(180deg)}.btn-icon-small:active{transform:scale(.95)}.history-content{background:var(--bg-app);flex:1 1;overflow-y:auto;padding:1.5rem}.history-content::-webkit-scrollbar{width:10px}.history-content::-webkit-scrollbar-track{background:var(--bg-panel);border-radius:10px}.history-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary) 0,#5b75f0 100%);border:2px solid var(--bg-panel);border-radius:10px}.history-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5b75f0 0,var(--primary) 100%)}.history-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:4rem 2rem;text-align:center}.history-empty svg{animation:float 3s ease-in-out infinite;color:var(--primary);margin-bottom:1.5rem;opacity:.2}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.history-empty p{color:var(--text-main);font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.history-empty small{font-size:.95rem;opacity:.7}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{align-items:center;background:var(--bg-panel);border:2px solid var(--border);border-radius:16px;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.history-item:before{background:linear-gradient(135deg,var(--primary) 0,#5b75f0 100%);content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(0);transition:transform .3s ease;width:4px}.history-item:hover{border-color:var(--primary);box-shadow:0 8px 24px #6773f026;transform:translateX(8px)}.history-item:hover:before{transform:scaleY(1)}.history-item-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.history-item-type{align-items:center;background:#6366f126;border-radius:20px;color:var(--primary);display:inline-flex;font-size:.9rem;font-weight:700;gap:.25rem;padding:.25rem .75rem;width:fit-content}.history-item-text{color:var(--text-main);font-size:1rem;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-date{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;font-weight:500;gap:.25rem}.history-item-date:before{content:"🕐";font-size:.9rem}.history-item-actions{display:flex;flex-shrink:0;gap:.5rem}.preview-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1.5rem;position:fixed;right:0;top:0;z-index:10001}.preview-modal{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);background:var(--bg-panel);border:2px solid var(--border);border-radius:24px;box-shadow:0 24px 48px #0000004d;max-width:550px;padding:2.5rem;position:relative;width:100%}@keyframes scaleIn{0%{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.preview-close{align-items:center;background:var(--bg-app);border:2px solid var(--border);border-radius:50%;color:var(--text-main);cursor:pointer;display:flex;font-size:1.2rem;height:44px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:44px;z-index:1}.preview-close:hover{background:#ef444426;border-color:#ef4444;box-shadow:0 4px 12px #ef44444d;color:#ef4444;transform:rotate(90deg) scale(1.1)}.preview-modal h4{color:var(--text-main);font-size:1.75rem;font-weight:700;margin:0 0 2rem;padding-right:3rem}.preview-details{background:var(--bg-app);border:2px solid var(--border);border-radius:16px;margin-bottom:2rem;padding:1.5rem}.preview-details p{align-items:center;color:var(--text-main);display:flex;font-size:1rem;gap:.75rem;margin:1rem 0}.preview-details p:first-child{margin-top:0}.preview-details p:last-child{margin-bottom:0}.preview-details strong{color:var(--text-muted);font-weight:600;min-width:100px}.color-preview{border:3px solid var(--border);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;height:32px;transition:transform .2s ease;width:32px}.color-preview:hover{transform:scale(1.2)}@media (max-width:768px){.btn-history{font-size:.9rem;padding:.7rem 1.3rem}.history-panel{border-radius:0;max-width:100%}.history-header{padding:1.5rem 1rem}.history-header h3{font-size:1.25rem}.history-content{padding:1rem}.history-item{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1rem}.history-item-actions{justify-content:flex-end;width:100%}.preview-modal{border-radius:20px;padding:2rem 1.5rem}.preview-modal h4{font-size:1.5rem}.preview-details p{align-items:flex-start;flex-direction:column;gap:.5rem}.preview-details strong{min-width:0;min-width:auto}}@media (max-width:480px){.btn-history{font-size:.9rem;padding:.65rem 1.25rem}.history-header{padding:1.25rem 1rem}.history-header h3{font-size:1.1rem}.btn-icon-small{height:36px;width:36px}.history-item-type{font-size:.8rem}.history-item-text{font-size:.9rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.btn-icon-small,.color-preview,.history-item,.history-panel,.preview-modal{animation:none!important;transition:none!important}.history-empty svg{animation:none!important}}.dark .history-panel,.dark .preview-modal{box-shadow:0 24px 48px #0009}.dark .history-item:hover{box-shadow:0 8px 24px #6773f040}