*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #3b82f6;--primary-dark: #2563eb;--primary-light: #93c5fd;--secondary: #64748b;--success: #10b981;--warning: #f59e0b;--warning-dark: #d97706;--danger: #ef4444;--info: #06b6d4;--gray-50: #ffffff;--gray-100: #f8fafc;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow: 0 1px 3px 0 rgb(0 0 0 / .05), 0 1px 2px -1px rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .05), 0 8px 10px -6px rgb(0 0 0 / .05);--radius-sm: .375rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#fff,#f8fafc);color:var(--gray-900);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.group-title{font-weight:600;color:var(--gray-700);margin:16px 0 20px;font-size:1.1rem;position:relative;padding-bottom:8px;display:flex;align-items:center;gap:12px}.group-title:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:1px}.group-title svg{color:var(--primary)}label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-600);margin:16px 0 8px;transition:var(--transition);display:flex;align-items:center;gap:8px}label:hover{color:var(--gray-700)}label svg{color:var(--primary)}input[type=file],input[type=text],input[type=number]{width:100%;padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:.875rem;transition:var(--transition);background:#fff;color:var(--gray-900)}input[type=file]:focus,input[type=text]:focus,input[type=number]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;transform:translateY(-1px)}input[type=file]:hover,input[type=text]:hover,input[type=number]:hover{border-color:var(--gray-300)}input[type=file]{position:relative;cursor:pointer;background:linear-gradient(135deg,var(--gray-50),white)}input[type=file]::file-selector-button{background:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-sm);margin-right:16px;cursor:pointer;font-weight:600;transition:var(--transition)}input[type=file]::file-selector-button:hover{background:var(--primary-dark);transform:translateY(-1px)}button{background:var(--primary);color:#fff;border:none;border-radius:var(--radius);padding:12px 20px;cursor:pointer;font-weight:500;font-size:.875rem;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;justify-content:center;min-height:44px;position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:var(--transition-slow)}button:hover:before{left:100%}button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}button:active{transform:translateY(0)}button.secondary{background:var(--gray-500)}button.secondary:hover{background:var(--gray-600)}button.danger{background:#f87171}button.danger:hover{background:#ef4444}button.warning{background:#fbbf24}button.warning:hover{background:#f59e0b}button.success{background:#34d399}button.success:hover{background:#10b981}button:disabled{background:var(--gray-400);cursor:not-allowed;transform:none;box-shadow:none}button:disabled:before{display:none}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;border-radius:var(--radius-sm)}.stamp-list{max-height:300px;overflow-y:auto;border:2px solid var(--gray-200);border-radius:var(--radius);background:var(--gray-50);margin-top:16px;scrollbar-width:thin;scrollbar-color:var(--gray-300) var(--gray-100)}.stamp-list::-webkit-scrollbar{width:8px}.stamp-list::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-sm)}.stamp-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-sm)}.stamp-list::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.stamp-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.stamp-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.stamp-item.selected{border-color:var(--primary);background:var(--primary-50)}.stamp-controls{display:flex;align-items:center;gap:8px}.stamp-checkbox{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.stamp-checkbox input[type=checkbox]{margin:0;width:16px;height:16px}.stamp-page-select{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.875rem;cursor:pointer}.stamp-page-select:hover{border-color:var(--primary)}.stamp-item:last-child{border-bottom:none}.stamp-item span:first-child{background:var(--primary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.stamp-name{font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stamp-page{font-size:.8rem;color:var(--gray-600);font-weight:500;text-align:center;background:var(--gray-100);padding:6px 12px;border-radius:var(--radius-sm);white-space:nowrap}.canvas-wrap{display:flex;flex-direction:column;gap:16px}.preview{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);display:inline-block;position:relative;box-shadow:var(--shadow-lg);overflow:hidden;transition:var(--transition)}.preview:hover{border-color:var(--gray-300);box-shadow:var(--shadow-xl)}.pdf-preview-image{transition:var(--transition);-webkit-user-select:none;user-select:none}.scale-indicator{position:absolute;top:16px;right:16px;background:#ffffffe6;color:var(--gray-700);padding:8px 12px;border-radius:var(--radius);font-size:.875rem;font-weight:500;border:1px solid var(--gray-200);z-index:100;transition:var(--transition);box-shadow:var(--shadow-sm)}.scale-indicator:hover{background:#fff;transform:scale(1.02);box-shadow:var(--shadow-md)}.overlay-stamp{position:absolute;outline:2px dashed var(--primary);cursor:move;-webkit-user-select:none;user-select:none;transition:outline-color .2s ease,filter .2s ease,transform .2s ease;border-radius:var(--radius-sm);filter:drop-shadow(0 2px 4px rgb(0 0 0 / .05))}.overlay-stamp:hover{outline-color:var(--primary-dark);transform:scale(1.01)}.overlay-stamp.selected{outline:2px solid var(--danger);outline-offset:1px;filter:drop-shadow(0 4px 8px rgb(0 0 0 / .1))}.overlay-stamp.dragging{outline:2px solid var(--warning);outline-offset:1px;filter:drop-shadow(0 6px 12px rgb(0 0 0 / .1));transform:scale(1.02);z-index:1000;transition:none}.resize-handle{position:absolute;background:var(--primary);border:2px solid white;box-sizing:border-box;border-radius:50%;box-shadow:var(--shadow-sm);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;z-index:10}.resize-handle:hover{background:var(--primary-dark);transform:scale(1.1);box-shadow:var(--shadow-md)}.resize-handle.resizing{background:var(--warning);border-color:var(--warning-dark);transform:scale(1.2);box-shadow:var(--shadow-lg);z-index:1000;transition:none}.hint{color:var(--gray-600);font-size:.875rem;font-style:italic;margin-top:8px;padding:12px;background:var(--gray-100);border-radius:var(--radius);border-left:4px solid var(--primary);display:flex;align-items:center;gap:8px}.hint svg{color:var(--primary);flex-shrink:0}.nav-button{background:var(--gray-100);color:var(--gray-700);border:2px solid var(--gray-200);padding:10px 16px;font-size:.875rem;transition:var(--transition)}.nav-button:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-300);color:var(--gray-800)}.nav-button:disabled{background:var(--gray-100);color:var(--gray-400);border-color:var(--gray-200);cursor:not-allowed}.page-counter{background:var(--gray-100);padding:12px 20px;border-radius:var(--radius);font-weight:600;color:var(--gray-700);border:2px solid var(--gray-200);min-width:120px;text-align:center}.landing{min-height:100vh;background:linear-gradient(135deg,#fff,#f8fafc,#fff);overflow-x:hidden}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(226,232,240,.3);transition:var(--transition)}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px}.nav-brand{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--gray-900)}.nav-logo{font-size:1.5rem}.nav-title{font-size:1.25rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:70px 2rem 0;position:relative;margin-top:16px}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at top,rgba(59,130,246,.05) 0%,transparent 70%);pointer-events:none}.hero-container{max-width:1200px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:2}.hero-content{display:flex;flex-direction:column;gap:2rem}.hero-badge{display:inline-flex;align-self:flex-start}.badge-text{background:linear-gradient(135deg,#3b82f61a,#93c5fd1a);color:var(--primary-dark);padding:8px 16px;border-radius:50px;font-size:.875rem;font-weight:500;border:1px solid rgba(59,130,246,.2)}.hero-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.1;color:var(--gray-900);margin:0}.title-accent{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;line-height:1.6;color:var(--gray-600);margin:0}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-hero{padding:16px 32px;font-size:1rem;font-weight:600;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;box-shadow:0 4px 12px #3b82f64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.btn-ghost{background:transparent;color:var(--gray-700);border:2px solid var(--gray-200)}.btn-ghost:hover{background:var(--gray-50);border-color:var(--gray-300);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.hero-stats{display:flex;align-items:center;gap:2rem;margin-top:1rem}.stat{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-number{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.stat-label{font-size:.875rem;color:var(--gray-600);margin-top:4px}.stat-divider{width:1px;height:40px;background:var(--gray-200)}.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}.visual-container{position:relative;width:400px;height:400px}.floating-card{position:absolute;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:16px;border:1px solid var(--gray-200);transition:all .3s ease}.floating-card:hover{transform:scale(1.05);box-shadow:0 12px 48px #00000026}.card-1{width:200px;height:140px;top:20px;left:50px;animation:float-1 6s ease-in-out infinite}.card-2{width:160px;height:100px;top:200px;right:20px;animation:float-2 6s ease-in-out infinite 2s}.card-3{width:180px;height:120px;bottom:60px;left:20px;animation:float-3 6s ease-in-out infinite 4s}@keyframes float-1{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(1deg)}}@keyframes float-2{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(-1deg)}}@keyframes float-3{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(.5deg)}}.card-header{font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:12px;display:flex;align-items:center;gap:8px}.card-content{display:flex;flex-direction:column;gap:8px}.doc-line{height:8px;background:var(--gray-200);border-radius:4px;width:100%}.doc-line.short{width:60%}.stamp-placeholder{font-size:1.5rem;text-align:right;margin-top:8px;opacity:.8}.signature-placeholder{font-size:1.2rem;text-align:right;margin-top:8px;opacity:.8}.progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden;margin-top:16px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--success) 100%);border-radius:4px;width:80%;animation:progress 2s ease-in-out infinite alternate}@keyframes progress{0%{width:60%}to{width:90%}}.process{padding:6rem 0;background:#fff;position:relative}.process:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gray-200),transparent)}.process-container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;color:var(--gray-900);margin-bottom:1rem}.section-subtitle{font-size:1.125rem;color:var(--gray-600);max-width:600px;margin:0 auto}.process-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:2rem;align-items:center}.process-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;background:linear-gradient(135deg,var(--gray-50) 0%,white 100%);border-radius:20px;border:1px solid var(--gray-200);transition:all .3s ease;position:relative;overflow:hidden}.process-step:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#3b82f605,#93c5fd05);opacity:0;transition:opacity .3s ease}.process-step:hover:before{opacity:1}.process-step:hover{transform:translateY(-8px);box-shadow:0 16px 40px #0000001a;border-color:var(--primary-light)}.step-visual{position:relative;margin-bottom:1.5rem}.step-icon{font-size:3rem;margin-bottom:1rem}.step-number{position:absolute;top:-8px;right:-8px;width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;box-shadow:0 4px 12px #3b82f64d}.step-content{flex:1}.step-title{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.step-description{color:var(--gray-600);line-height:1.6;font-size:.875rem}.process-arrow{color:var(--primary);font-size:1.5rem;opacity:.6}.features{padding:6rem 0;background:linear-gradient(135deg,var(--gray-50) 0%,white 50%,var(--gray-50) 100%);position:relative}.features-container{max-width:1200px;margin:0 auto;padding:0 2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card{background:#fff;padding:2rem;border-radius:16px;border:1px solid var(--gray-200);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#3b82f605,#93c5fd05);opacity:0;transition:opacity .3s ease}.feature-card:hover:before{opacity:1}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001a;border-color:var(--primary-light)}.feature-icon{font-size:2.5rem;margin-bottom:1.5rem;display:block}.feature-content{position:relative;z-index:2}.feature-title{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin-bottom:.75rem}.feature-description{color:var(--gray-600);line-height:1.6;font-size:.875rem}.cta{padding:6rem 0;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="rgba(255,255,255,0.05)" fill-opacity="0.1"><circle cx="30" cy="30" r="4"/></g></svg>') repeat;opacity:.3}.cta-container{max-width:800px;margin:0 auto;padding:0 2rem;text-align:center;position:relative;z-index:2}.cta-content{display:flex;flex-direction:column;align-items:center;gap:2rem}.cta-title{font-size:2.5rem;font-weight:700;margin:0}.cta-subtitle{font-size:1.125rem;opacity:.9;margin:0;line-height:1.6}.btn-cta{background:#fff;color:var(--primary);padding:16px 32px;font-size:1rem;font-weight:600;border-radius:12px;border:none;box-shadow:0 4px 12px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026;background:var(--gray-50)}.footer{background:var(--gray-900);color:var(--gray-300);padding:3rem 0 2rem}.footer-container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer-content{margin-bottom:2rem}.footer-brand{max-width:400px}.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.footer-logo-icon{font-size:1.5rem}.footer-logo-text{font-size:1.25rem;font-weight:700;color:#fff}.footer-description{line-height:1.6;opacity:.8;font-size:.875rem}.footer-bottom{border-top:1px solid var(--gray-700);padding-top:2rem;text-align:center;opacity:.6;font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:var(--transition);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.reveal{opacity:0;transform:translateY(16px);filter:blur(6px);transition:opacity .6s ease,transform .6s ease,filter .6s ease}.reveal.visible{opacity:1;transform:none;filter:none}.reveal-up{transform:translateY(16px)}.reveal-left{transform:translate(-24px)}.reveal-right{transform:translate(24px)}.reveal.visible.reveal-left,.reveal.visible.reveal-right,.reveal.visible.reveal-up{transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.tilt{transform:perspective(800px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .2s ease;will-change:transform}.tilt:hover{box-shadow:0 14px 46px #0000002e}.btn,.btn-hero,.btn-cta{position:relative;overflow:hidden}.btn:after,.btn-hero:after,.btn-cta:after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.35) 10%,transparent 60%);transform:translate(-50%,-50%);opacity:0;transition:width .45s ease,height .45s ease,opacity .6s ease;pointer-events:none}.btn:active:after,.btn-hero:active:after,.btn-cta:active:after{width:220%;height:220%;opacity:1;transition:0s}.grad-text-animated{background:linear-gradient(90deg,var(--primary),#8b5cf6,#06b6d4,var(--primary));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-shapes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.shape{position:absolute;filter:blur(10px);opacity:.25}.shape.blob{width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#6366f199,#0ea5e959);animation:floatBlob 12s ease-in-out infinite}.shape.ring{width:260px;height:260px;border-radius:50%;box-shadow:0 0 0 18px #6366f126 inset;animation:spinRing 20s linear infinite}.shape.blob.b1{top:5%;left:-60px}.shape.blob.b2{bottom:8%;right:-80px;animation-delay:3s}.shape.ring.r1{top:20%;right:-100px}.shape.ring.r2{bottom:15%;left:-120px;animation-direction:reverse}@keyframes floatBlob{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.feature-card:hover,.process-step:hover{transform:translateY(-6px) rotateX(1deg)}.glass{background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(226,232,240,.6)}.nav{animation:navDrop .5s ease both}@keyframes navDrop{0%{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}.editor-container{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#fff,#f8fafc)}.editor-container.loading:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffff80;z-index:9999;pointer-events:none}.editor-top-bar{display:flex;align-items:center;padding:.75rem 1.5rem;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;min-height:60px}.btn-back-compact{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--gray-300);background:#fff;color:var(--gray-600);border-radius:var(--radius);font-size:1.3rem;font-weight:700;cursor:pointer;transition:var(--transition);margin-right:1rem;position:relative;overflow:hidden}.btn-back-compact:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:var(--primary-light);border-radius:50%;transition:all .3s ease;transform:translate(-50%,-50%);z-index:-1}.btn-back-compact:hover:before{width:100%;height:100%}.btn-back-compact:hover{background:transparent;border-color:var(--primary);color:var(--primary);transform:translate(-3px);box-shadow:var(--shadow-md)}.btn-back-compact:active{transform:translate(-1px) scale(.95)}.editor-title{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0}.editor-spacer{flex:1}.editor-main{flex:1;display:grid;grid-template-columns:400px 1fr;gap:24px;padding:24px;max-width:1400px;margin:0 auto;width:100%}.container{max-width:1400px;margin:0 auto;padding:24px;display:grid;grid-template-columns:400px 1fr;gap:24px;min-height:100vh}.editor-header{display:none}@media (max-width: 1024px){.editor-main{grid-template-columns:1fr;padding:16px;gap:16px}.editor-top-bar{padding:.5rem 1rem}.editor-title{font-size:1.1rem}}@media (max-width: 768px){.btn-back-compact{width:32px;height:32px;font-size:1rem;margin-right:.75rem}.editor-title{font-size:1rem}}.loading{opacity:.6;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--gray-300);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}button:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.error-banner{position:fixed;top:24px;left:50%;transform:translate(-50%);background:#fef2f2;color:#991b1b;padding:16px 24px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;max-width:90vw;width:max-content;border:1px solid #fecaca}.error-content{display:flex;align-items:center;gap:12px}.error-icon{font-size:1.2rem;flex-shrink:0}.error-message{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-close{background:transparent;color:#991b1b;border:1px solid #fca5a5;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:1.2rem;line-height:1;min-height:auto;transition:var(--transition)}.error-close:hover{background:#fecaca;border-color:#f87171;transform:none}.empty-state{text-align:center;padding:60px 20px;color:var(--gray-600)}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.6}.empty-state h3{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin-bottom:8px}.empty-state p{font-size:1rem;line-height:1.6}.loading-state{text-align:center;padding:60px 20px;color:var(--gray-600)}.loading-spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-state p{font-size:1rem;font-weight:600}.container.loading{opacity:.7;pointer-events:none}.container.loading:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffff80;z-index:9999;pointer-events:none}.editor-main .card:first-child{max-height:calc(100vh - 120px);overflow-y:auto;position:sticky;top:84px}.editor-main .card{padding:20px}.editor-main .group-title{margin:12px 0 16px;font-size:1rem}.editor-main label{margin:12px 0 6px;font-size:.8rem}.editor-main input[type=file],.editor-main input[type=text],.editor-main input[type=number]{padding:10px 12px;font-size:.8rem}.editor-main .btn{padding:8px 12px;font-size:.8rem}.editor-main .btn-large{padding:10px 16px;font-size:.85rem}.editor-main .stamp-item{padding:12px;margin-bottom:8px}.editor-main .nav-controls{gap:8px}.editor-main .nav-controls .btn{min-width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.editor-main .export-section{margin-top:16px}.canvas-wrap{height:calc(100vh - 120px);overflow:hidden;display:flex;flex-direction:column}.canvas-wrap .group-title{margin-bottom:16px;flex-shrink:0}.canvas-wrap>*:last-child{flex:1;overflow:auto}.empty-state,.loading-state{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin-bottom:.5rem;color:var(--gray-700)}.empty-state p{color:var(--gray-500);font-size:.9rem}.editor-main .card:first-child::-webkit-scrollbar{width:6px}.editor-main .card:first-child::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.editor-main .card:first-child::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.editor-main .card:first-child::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 1024px){.editor-main .card:first-child{max-height:none;position:static}.canvas-wrap{height:60vh;min-height:400px}}@media (max-width: 768px){.editor-main{padding:12px}.editor-main .card{padding:16px}.canvas-wrap{height:50vh;min-height:300px}}
