.album-editor{display:flex;flex-direction:column;height:100%;min-height:700px;background:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-light);flex-wrap:wrap;gap:8px}.toolbar-section{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.toolbar-label{font-size:13px;color:var(--text-muted);margin-right:4px}.toolbar-color{width:32px;height:28px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-secondary)}.toolbar-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:500;font-family:inherit;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);white-space:nowrap}.toolbar-btn:hover:not(:disabled){background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.danger:hover:not(:disabled){background:var(--error-light);border-color:var(--error);color:var(--error)}.toolbar-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-btn.accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.toolbar-btn svg{width:14px;height:14px}.editor-body{display:flex;flex:1;overflow:hidden}.editor-panel{width:220px;min-width:220px;background:var(--bg-secondary);border-right:1px solid var(--border-light);padding:16px;overflow-y:auto}.panel-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.panel-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.panel-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.panel-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.panel-row:last-child{margin-bottom:0}.panel-row label{font-size:12px;color:var(--text-secondary);white-space:nowrap}.panel-select{width:110px;padding:6px 8px;font-size:12px;font-family:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.panel-select:focus{outline:none;border-color:var(--accent)}.panel-color{width:36px;height:28px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-tertiary)}.panel-range{width:70px;accent-color:var(--accent)}.range-value{font-size:11px;color:var(--text-muted);min-width:35px;text-align:right}.panel-hint{text-align:center;padding:20px 10px}.panel-hint p{font-size:12px;color:var(--text-muted);line-height:1.5}.align-buttons{display:flex;gap:3px}.align-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:var(--transition)}.align-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.align-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.align-btn svg{width:14px;height:14px}.toggle-switch.small{width:36px;height:20px}.toggle-switch.small .toggle-slider:before{width:14px;height:14px;left:3px;bottom:3px}.toggle-switch.small input:checked+.toggle-slider:before{transform:translate(16px)}.editor-canvas-area{flex:1;padding:24px;overflow:auto;background:#0a0a0a;display:flex;align-items:flex-start;justify-content:center}.editor-canvas-wrapper{display:flex;align-items:center;justify-content:center}.editor-canvas{position:relative;box-shadow:0 20px 60px #00000080;overflow:hidden}.editor-canvas.dragover{outline:3px dashed var(--accent);outline-offset:-3px}.canvas-drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff6;cursor:pointer;transition:var(--transition)}.canvas-drop-hint:hover{color:#fff9}.canvas-drop-hint svg{width:64px;height:64px;opacity:.5}.canvas-drop-hint p{font-size:16px;font-weight:500}.canvas-element{position:absolute;cursor:move;-webkit-user-select:none;user-select:none}.canvas-element.selected{outline:2px solid var(--accent);outline-offset:2px}.canvas-element.selected .resize-handle{display:block}.photo-element{overflow:hidden}.photo-element img{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}.text-element{display:flex;align-items:center;min-height:30px}.text-element .text-content{width:100%;outline:none;cursor:text;word-wrap:break-word;white-space:pre-wrap}.text-element .text-content:focus{background:#ffffff0d;border-radius:4px}.resize-handle{position:absolute;width:10px;height:10px;background:var(--accent);border:2px solid white;border-radius:50%;display:none;z-index:10}.resize-handle.nw{top:-5px;left:-5px;cursor:nw-resize}.resize-handle.ne{top:-5px;right:-5px;cursor:ne-resize}.resize-handle.sw{bottom:-5px;left:-5px;cursor:sw-resize}.resize-handle.se{bottom:-5px;right:-5px;cursor:se-resize}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-tertiary);border-top:1px solid var(--border-light)}.page-info{font-size:12px;color:var(--text-muted)}.export-buttons{display:flex;gap:8px}.export-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.export-btn svg{width:14px;height:14px}.export-btn.primary{background:var(--accent);color:#fff}.export-btn.primary:hover{background:var(--accent-hover)}.export-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.export-btn.secondary:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}@media (max-width: 900px){.editor-body{flex-direction:column}.editor-panel{width:100%;min-width:auto;border-right:none;border-bottom:1px solid var(--border-light);max-height:200px;display:flex;flex-wrap:wrap;gap:12px;padding:12px}.panel-section{flex:1;min-width:180px;margin-bottom:0;padding-bottom:0;border-bottom:none}.editor-canvas-area{min-height:500px}}@media (max-width: 600px){.editor-toolbar{padding:8px 12px}.toolbar-btn{padding:5px 8px;font-size:11px}.toolbar-btn svg{width:12px;height:12px}.toolbar-btn span{display:none}.editor-footer{flex-direction:column;gap:10px}.export-buttons{width:100%}.export-btn{flex:1;justify-content:center}.editor-panel{max-height:150px}}.panel-divider{height:1px;background:var(--border-light);margin:12px 0}.crop-size-row{display:flex;align-items:center;gap:6px}.panel-input-small{width:55px;padding:6px 8px;font-size:12px;font-family:inherit;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.panel-input-small:focus{outline:none;border-color:var(--accent)}.size-x{font-size:12px;color:var(--text-muted)}.size-unit{font-size:11px;color:var(--text-muted)}.crop-presets{display:flex;gap:4px;justify-content:flex-start}.crop-preset-btn{padding:5px 10px;font-size:11px;font-weight:500;font-family:inherit;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.crop-preset-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.crop-preset-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.panel-btn{width:100%;padding:8px 12px;margin-top:8px;font-size:12px;font-weight:600;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.panel-btn.primary{background:var(--accent);color:#fff}.panel-btn.primary:hover{background:var(--accent-hover)}.panel-btn svg{width:14px;height:14px}.crop-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.crop-modal-content{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.crop-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-light)}.crop-modal-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.crop-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition)}.crop-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.crop-modal-close svg{width:18px;height:18px}.crop-modal-body{padding:20px;overflow:auto;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.crop-preview-container{position:relative;display:inline-block}.crop-preview-image{display:block;max-width:100%;opacity:.5}.crop-selection{position:absolute;border:2px solid var(--accent);background:transparent;cursor:move;box-shadow:0 0 0 9999px #00000080,inset 0 0 0 1px #fff3}.crop-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--accent);border-radius:50%}.crop-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.crop-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.crop-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.crop-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border-light)}.crop-info{font-size:13px;color:var(--text-muted)}.crop-actions{display:flex;gap:10px}.crop-btn{padding:10px 20px;font-size:14px;font-weight:600;font-family:inherit;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.crop-btn.primary{background:var(--accent);color:#fff}.crop-btn.primary:hover{background:var(--accent-hover)}.crop-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.crop-btn.secondary:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.book-creator{display:flex;flex-direction:column;height:100%;min-height:700px;background:var(--surface);border-radius:12px;overflow:hidden}.book-creator-header{padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.book-creator-header h2{font-size:1.5rem;font-weight:600;margin:0 0 4px;color:var(--text)}.book-creator-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.book-creator-body{display:grid;grid-template-columns:280px 1fr 300px;flex:1;overflow:hidden}.book-settings-panel{padding:16px;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg)}.panel-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}.panel-section:last-child{border-bottom:none}.panel-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 12px}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text);margin-bottom:4px}.form-group input,.form-group select{width:100%;padding:8px 10px;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);transition:border-color .15s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-row{display:flex;gap:10px}.form-row .form-group{flex:1}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--text);margin-bottom:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.book-content-panel{display:flex;flex-direction:column;overflow:hidden;background:var(--surface)}.chapters-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.chapters-header h3{font-size:.875rem;font-weight:600;margin:0;color:var(--text)}.btn-add-chapter{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:6px;cursor:pointer;transition:background .15s}.btn-add-chapter:hover{background:var(--accent-hover)}.btn-add-chapter svg{width:14px;height:14px}.chapters-list{flex:1;overflow-y:auto;padding:12px}.empty-chapters{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--text-secondary);text-align:center}.empty-chapters svg{width:48px;height:48px;margin-bottom:12px;opacity:.3}.empty-chapters p{font-size:1rem;font-weight:500;margin:0 0 4px;color:var(--text)}.empty-chapters span{font-size:.8125rem}.chapter-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.chapter-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000d}.chapter-drag-handle{color:var(--text-secondary);opacity:.5;cursor:grab}.chapter-drag-handle svg{width:16px;height:16px}.chapter-info{flex:1;min-width:0}.chapter-number{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:2px}.chapter-title{display:block;font-size:.9375rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-words{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:2px}.chapter-delete{padding:6px;color:var(--text-secondary);background:none;border:none;border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.chapter-delete:hover{color:var(--error);background:var(--error-light)}.chapter-delete svg{width:16px;height:16px}.chapter-editor{flex:1;display:flex;flex-direction:column;padding:20px}.chapter-editor-header{display:flex;gap:12px;margin-bottom:16px}.chapter-editor-header input{flex:1;padding:12px 16px;font-size:1.125rem;font-weight:500;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text)}.chapter-editor-header input:focus{outline:none;border-color:var(--accent)}.btn-back{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}.btn-back:hover{border-color:var(--text-secondary)}.btn-back svg{width:16px;height:16px}.chapter-editor textarea{flex:1;padding:16px;font-family:Georgia,serif;font-size:1rem;line-height:1.7;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);resize:none}.chapter-editor textarea:focus{outline:none;border-color:var(--accent)}.chapter-editor textarea::placeholder{color:var(--text-secondary);opacity:.7}.book-preview-panel{display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg)}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.preview-header h3{font-size:.8125rem;font-weight:600;margin:0;color:var(--text-secondary)}.preview-page-nav{display:flex;align-items:center;gap:8px}.preview-page-nav button{padding:4px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:background .15s,color .15s}.preview-page-nav button:hover:not(:disabled){background:var(--surface);color:var(--text)}.preview-page-nav button:disabled{opacity:.3;cursor:not-allowed}.preview-page-nav button svg{width:16px;height:16px}#pageIndicator{font-size:.75rem;color:var(--text-secondary);min-width:80px;text-align:center}.book-preview-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:#f0f0f0}.book-page-preview{background:#fff;box-shadow:0 4px 20px #00000026;padding:8%;overflow:hidden}.preview-content{height:100%;overflow:hidden}.preview-half-title,.preview-title-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.preview-title-page h1{font-size:1.5em;font-weight:700;margin:0 0 .3em;color:#000}.preview-title-page h2{font-size:1em;font-weight:400;font-style:italic;color:#666;margin:0 0 2em}.preview-title-page .author{font-size:.9em;margin:0}.preview-title-page .publisher{font-size:.7em;color:#888;margin-top:auto}.preview-copyright-page{font-size:.7em;color:#666;line-height:1.8}.preview-copyright-page p{margin:0 0 .5em}.preview-toc h2{font-size:1.2em;text-align:center;margin-bottom:1.5em}.toc-item{display:flex;align-items:baseline;font-size:.85em;margin-bottom:.5em}.toc-item .dots{flex:1;border-bottom:1px dotted #ccc;margin:0 8px 4px}.preview-chapter .chapter-header{margin-bottom:1.5em}.preview-chapter .chapter-label{font-size:.7em;color:#888;text-transform:uppercase;letter-spacing:.1em}.preview-chapter h2{font-size:1.3em;margin:.3em 0 0}.preview-chapter .chapter-text{font-size:.85em;line-height:1.6}.preview-chapter .chapter-text p{margin:0 0 .8em;text-indent:1.5em}.preview-chapter .chapter-text p:first-child{text-indent:0}.preview-chapter .chapter-text .placeholder{color:#aaa;font-style:italic;text-indent:0}.preview-chapter .chapter-text blockquote{margin:1em 1.5em;font-style:italic;color:#555}.book-export-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg)}.export-info{font-size:.8125rem;color:var(--text-secondary)}.export-actions{display:flex;gap:10px}.btn-secondary,.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s}.btn-secondary{color:var(--text);background:var(--surface);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{color:#fff;background:var(--accent);border:none}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary svg,.btn-primary svg{width:16px;height:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--surface);border-radius:12px;width:90%;max-width:500px;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:1rem;font-weight:600;margin:0}.modal-close{font-size:1.5rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;line-height:1}.modal-body{padding:20px}.import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.import-dropzone:hover,.import-dropzone.dragover{border-color:var(--accent);background:var(--accent-light)}.import-dropzone svg{width:48px;height:48px;color:var(--text-secondary);margin-bottom:12px}.import-dropzone p{font-size:1rem;font-weight:500;color:var(--text);margin:0 0 4px}.import-dropzone span{font-size:.8125rem;color:var(--text-secondary)}@media (max-width: 1024px){.book-creator-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.book-settings-panel{border-right:none;border-bottom:1px solid var(--border);max-height:300px}.book-preview-panel{display:none}}.signature-tool{display:flex;flex-direction:column;height:100%;min-height:600px;background:var(--surface);border-radius:12px;overflow:hidden}.signature-header{padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.signature-header h2{font-size:1.5rem;font-weight:600;margin:0 0 4px}.signature-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.signature-body{display:grid;grid-template-columns:420px 1fr;flex:1;overflow:hidden}.signature-panel{padding:20px;border-right:1px solid var(--border);overflow-y:auto;background:var(--bg)}.panel-tabs{display:flex;gap:8px;margin-bottom:20px}.panel-tab{flex:1;padding:10px;font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.panel-tab:hover{border-color:var(--accent)}.panel-tab.active{color:#fff;background:var(--accent);border-color:var(--accent)}.tab-content{display:none}.tab-content.active{display:block}.signature-canvas-container{position:relative;margin-bottom:16px}#signatureCanvas{width:100%;height:150px;border:2px dashed var(--border);border-radius:8px;background:#fff;cursor:crosshair}.clear-canvas-btn{position:absolute;top:8px;right:8px;padding:4px 10px;font-size:.75rem;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer}.clear-canvas-btn:hover{border-color:var(--error);color:var(--error)}.color-picker,.font-picker{margin-bottom:16px}.color-picker label,.font-picker label{display:block;font-size:.8125rem;font-weight:500;color:var(--text);margin-bottom:8px}.color-options{display:flex;gap:8px}.color-btn{width:32px;height:32px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:transform .15s,border-color .15s}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.type-signature{margin-bottom:16px}.signature-input{width:100%;padding:12px;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);margin-bottom:12px}.signature-input:focus{outline:none;border-color:var(--accent)}.signature-preview{padding:20px;font-size:2rem;text-align:center;background:#fff;border:2px dashed var(--border);border-radius:8px;color:navy;min-height:80px;display:flex;align-items:center;justify-content:center}.font-picker select{width:100%;padding:8px 10px;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.signature-fields{padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:16px}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text);margin-bottom:8px;cursor:pointer}.checkbox-field input{width:16px;height:16px;accent-color:var(--accent)}.field-input{width:100%;padding:8px 10px;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);margin-bottom:12px}.field-input:focus{outline:none;border-color:var(--accent)}.signature-actions{margin-top:16px}.btn-save-sig{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;font-size:.9375rem;font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s}.btn-save-sig:hover{background:var(--accent-hover)}.btn-save-sig svg{width:18px;height:18px}.pdf-preview-panel{display:flex;flex-direction:column;background:var(--surface);overflow:hidden}.pdf-upload-zone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;cursor:pointer;transition:background .15s}.pdf-upload-zone:hover,.pdf-upload-zone.dragover{background:var(--accent-light)}.loaded-pdfs-section{width:100%;margin-bottom:20px}.loaded-pdfs-header{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--accent);font-size:.875rem;font-weight:600;margin-bottom:12px}.loaded-pdfs-list{display:flex;flex-direction:column;gap:8px;max-width:300px;margin:0 auto}.loaded-pdf-btn{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.loaded-pdf-btn:hover{background:var(--accent-light);border-color:var(--accent)}.loaded-pdf-btn svg{color:var(--accent);flex-shrink:0}.loaded-pdf-btn .pdf-name{flex:1;font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loaded-pdf-btn .pdf-pages{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.loaded-pdfs-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:.75rem}.loaded-pdfs-divider:before,.loaded-pdfs-divider:after{content:"";flex:1;height:1px;background:var(--border)}.upload-section{display:flex;flex-direction:column;align-items:center}.upload-section svg{width:48px;height:48px;color:var(--text-secondary);margin-bottom:12px;opacity:.5}.upload-section p{font-size:1rem;font-weight:500;color:var(--text);margin:0 0 4px}.upload-section span{font-size:.8rem;color:var(--text-secondary)}.pdf-upload-zone svg{width:64px;height:64px;color:var(--text-secondary);margin-bottom:16px;opacity:.5}.pdf-upload-zone p{font-size:1.125rem;font-weight:500;color:var(--text);margin:0 0 4px}.pdf-upload-zone span{font-size:.875rem;color:var(--text-secondary)}.pdf-viewer{flex:1;display:flex;flex-direction:column}.pdf-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.page-nav{display:flex;align-items:center;gap:8px}.page-nav button{padding:6px;background:none;border:none;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:background .15s}.page-nav button:hover:not(:disabled){background:var(--surface);color:var(--text)}.page-nav button:disabled{opacity:.3;cursor:not-allowed}.page-nav button svg{width:18px;height:18px}#pageIndicator{font-size:.875rem;color:var(--text-secondary);min-width:60px;text-align:center}.btn-change-pdf{padding:6px 12px;font-size:.8125rem;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer}.btn-change-pdf:hover{border-color:var(--accent);color:var(--accent)}.pdf-canvas-container{flex:1;overflow:auto;background:#e0e0e0;display:flex;align-items:flex-start;justify-content:center;padding:20px}.pdf-canvas-wrapper{position:relative;display:inline-block}#pdfCanvas{box-shadow:0 4px 20px #00000026;background:#fff;display:block}.signature-placeholder{position:absolute;border:2px dashed var(--accent);background:#c964421a;border-radius:4px;cursor:move;padding:8px}.sig-content{display:flex;flex-direction:column;align-items:flex-start}.sig-content img{max-width:100%;max-height:60px;object-fit:contain}.sig-details{margin-top:4px}.sig-details span{display:block;font-size:10px;color:#333}.sig-resize-handle{position:absolute;bottom:0;right:0;width:12px;height:12px;background:var(--accent);border-radius:2px;cursor:se-resize}.pdf-actions{display:flex;gap:12px;padding:16px;border-top:1px solid var(--border);background:var(--bg)}.pdf-actions .btn-secondary,.pdf-actions .btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s}.pdf-actions .btn-secondary{color:var(--text);background:var(--surface);border:1px solid var(--border)}.pdf-actions .btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pdf-actions .btn-primary{color:#fff;background:var(--accent);border:none}.pdf-actions .btn-primary:hover:not(:disabled){background:var(--accent-hover)}.pdf-actions button:disabled{opacity:.5;cursor:not-allowed}.pdf-actions svg{width:18px;height:18px}.sig-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);padding:12px 24px;background:#333;color:#fff;border-radius:8px;font-size:.875rem;z-index:1000;opacity:0;transition:all .3s}.sig-toast.show{transform:translate(-50%) translateY(0);opacity:1}@media (max-width: 900px){.signature-body{grid-template-columns:1fr}.signature-panel{border-right:none;border-bottom:1px solid var(--border)}}.toolbar-btn.accent{background:var(--gradient-accent);color:#fff;border-color:transparent}.toolbar-btn.accent:hover{opacity:.9;transform:translateY(-1px)}.pdf-text-editor-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:1000;display:flex;flex-direction:column}.text-editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.text-editor-header h3{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary)}.text-editor-nav{display:flex;align-items:center;gap:12px}.text-editor-nav button{padding:8px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:var(--transition)}.text-editor-nav button:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent)}.text-editor-nav button:disabled{opacity:.4;cursor:not-allowed}.text-editor-nav button svg{width:20px;height:20px}#textEditorPageNum{font-size:.875rem;color:var(--text-secondary);min-width:100px;text-align:center}.text-editor-close{font-size:1.75rem;color:var(--text-muted);background:none;border:none;cursor:pointer;line-height:1;padding:4px;transition:var(--transition)}.text-editor-close:hover{color:var(--error)}.text-editor-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;overflow:auto;background:var(--bg-tertiary)}.text-editor-canvas-container{position:relative;box-shadow:0 8px 32px #0006;background:#fff;border-radius:var(--radius-sm);overflow:hidden}#textEditorCanvas{display:block}.text-editor-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.text-region{position:absolute;cursor:text;pointer-events:auto;border:1px solid transparent;border-radius:3px;transition:all .15s}.text-region:hover{background:#6366f126;border-color:var(--accent)}.text-region.selected{background:#6366f140;border-color:var(--accent);border-width:2px}.text-region.edited{background:#22c55e33;border-color:var(--success)}.text-editor-hint{margin-top:16px;font-size:.8125rem;color:var(--text-muted);text-align:center}.text-editor-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-secondary)}.text-edit-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:90vw;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:0 24px 80px #00000080;border:1px solid var(--border);z-index:1100;overflow:hidden}.text-edit-popup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.text-edit-popup-header span{font-weight:600;color:var(--text-primary)}.popup-close{font-size:1.5rem;color:var(--text-muted);background:none;border:none;cursor:pointer;line-height:1;transition:var(--transition)}.popup-close:hover{color:var(--error)}.text-edit-popup-body{padding:20px}#textEditInput{width:100%;min-height:100px;padding:14px;font-family:inherit;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);resize:vertical;margin-bottom:16px;transition:var(--transition)}#textEditInput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.text-edit-options{display:flex;gap:16px}.option-group{flex:1}.option-group label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.option-group select,.option-group input[type=color]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-family:inherit;transition:var(--transition)}.option-group select:hover,.option-group input[type=color]:hover{border-color:var(--accent)}.option-group input[type=color]{height:42px;cursor:pointer;padding:4px}.text-edit-popup-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.btn-sm{padding:10px 18px;font-size:.875rem}.text-edit-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050}.btn-secondary,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:.875rem;font-weight:600;font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.btn-secondary{color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-elevated);border-color:#ffffff26}.btn-primary{color:#fff;background:var(--gradient-accent);border:none;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.canva-editor{display:flex;flex-direction:column;height:calc(100vh - 180px);min-height:600px;background:var(--bg-tertiary);border-radius:0 0 var(--radius-xl) var(--radius-xl);overflow:hidden}.canva-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap}.toolbar-section{display:flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:28px;background:var(--border);margin:0 6px}.toolbar-spacer{flex:1}.canva-tool{width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition)}.canva-tool:hover{background:#ffffff14;color:var(--text-primary)}.canva-tool.active{background:var(--accent);color:#fff}.canva-tool.danger:hover{background:var(--error-light);color:var(--error)}.canva-tool svg{width:18px;height:18px}.toolbar-options{gap:10px}.toolbar-options input[type=color]{width:32px;height:32px;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:transparent;padding:2px}.toolbar-options input[type=color]::-webkit-color-swatch-wrapper{padding:0}.toolbar-options input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.toolbar-options select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer}.toolbar-options select:hover{border-color:var(--accent)}.canva-layout{display:flex;flex:1;overflow:hidden}.canva-sidebar{width:130px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.page-badge{background:var(--bg-tertiary);padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text-muted)}.thumbnail-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.thumbnail-item{position:relative;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;transition:var(--transition)}.thumbnail-item:hover{border-color:#fff3}.thumbnail-item.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.thumbnail-item canvas{width:100%;height:auto;display:block;background:#fff}.thumbnail-number{position:absolute;bottom:4px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;font-size:10px;padding:2px 8px;border-radius:10px}.canva-workspace{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;position:relative;background:linear-gradient(45deg,#1a1a1c 25%,transparent 25%),linear-gradient(-45deg,#1a1a1c 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1c 75%),linear-gradient(-45deg,transparent 75%,#1a1a1c 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#151517}.canvas-wrapper #pdfRenderCanvas{position:absolute;box-shadow:0 4px 20px #0006;border-radius:2px}.canvas-wrapper #fabricEditCanvas{position:absolute}.canvas-wrapper .canvas-container{position:absolute!important;box-shadow:0 4px 20px #0006}.canva-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.nav-btn{width:36px;height:36px;border:1px solid var(--border);background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition)}.nav-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn svg{width:18px;height:18px}.page-indicator{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.page-indicator input{width:45px;padding:6px 8px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-family:inherit}.page-indicator input:focus{outline:none;border-color:var(--accent)}.zoom-group{display:flex;align-items:center;gap:8px;margin-left:20px;padding-left:20px;border-left:1px solid var(--border)}.zoom-level{font-size:13px;color:var(--text-muted);min-width:50px;text-align:center}.zoom-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer}.zoom-select:hover{border-color:var(--accent)}.canva-properties{width:200px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column}.properties-header{padding:12px 16px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.properties-body{flex:1;overflow-y:auto;padding:12px}.properties-empty{text-align:center;padding:30px 10px;color:var(--text-muted);font-size:13px}.prop-group{margin-bottom:16px}.prop-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.prop-row{display:flex;gap:8px}.prop-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-family:inherit}.prop-input:focus{outline:none;border-color:var(--accent)}.prop-btn{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:var(--transition)}.prop-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.prop-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.canva-actions{display:flex;gap:12px;padding:14px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition)}.action-btn svg{width:18px;height:18px}.action-btn.primary{background:var(--gradient-accent);color:#fff;border:none;box-shadow:0 4px 16px #6366f14d}.action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.action-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.action-btn.secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 900px){.canva-sidebar{width:100px}.canva-properties{display:none}}@media (max-width: 640px){.canva-sidebar,.toolbar-divider,.toolbar-spacer{display:none}.canva-toolbar{justify-content:center}.zoom-group{display:none}}.fullscreen-editor{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:var(--bg-primary);display:none;flex-direction:column;opacity:0;transform:scale(.98);transition:opacity .3s ease,transform .3s ease}.fullscreen-editor.active{display:flex;opacity:1;transform:scale(1)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.editor-header-left{display:flex;align-items:center;gap:16px}.editor-back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-family:inherit;cursor:pointer;transition:var(--transition)}.editor-back-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent)}.editor-back-btn svg{width:18px;height:18px}.editor-title{font-size:18px;font-weight:600;color:var(--text-primary)}.editor-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px}.editor-header-center{display:flex;align-items:center;gap:8px}.editor-header-right{display:flex;align-items:center;gap:12px}.editor-body{flex:1;display:flex;overflow:hidden;background:var(--bg-primary);min-height:0}.editor-sidebar{width:200px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.editor-sidebar-header{padding:16px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.editor-sidebar-content{flex:1;overflow-y:auto;padding:12px}.editor-canvas-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.editor-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.editor-workspace{flex:1;display:flex;align-items:flex-start;justify-content:flex-start;padding:24px;overflow:auto;background:linear-gradient(45deg,#1a1a1c 25%,transparent 25%),linear-gradient(-45deg,#1a1a1c 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1c 75%),linear-gradient(-45deg,transparent 75%,#1a1a1c 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#151517}.canvas-stack{position:relative;box-shadow:0 8px 40px #00000080;margin:auto;flex-shrink:0;border-radius:4px;background:#fff}.canvas-stack #pdfRenderCanvas{display:block;border-radius:4px}.canvas-stack>#fabricEditCanvas{display:none}.canvas-stack .canvas-container{position:absolute!important;top:0!important;left:0!important;z-index:10}.canvas-stack .canvas-container canvas{background:transparent!important}.editor-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}.editor-footer-left{display:flex;align-items:center;gap:16px}.editor-footer-center,.editor-footer-right{display:flex;align-items:center;gap:12px}.editor-status{font-size:13px;color:var(--text-muted)}.editor-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition)}.editor-btn svg{width:18px;height:18px}.editor-btn.primary{background:var(--gradient-accent);color:#fff;border:none;box-shadow:0 4px 16px #6366f14d}.editor-btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.editor-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.editor-btn.secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.shared-viewer-area{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.toolbar-label{font-size:12px;color:var(--text-secondary);margin-right:4px}.editor-input{padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px}.text-edit-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:15}.text-edit-overlay.active{pointer-events:auto}.pages-grid-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:20;overflow:auto;padding:20px}.pages-grid-content{max-width:1200px;margin:0 auto}.pages-hint{text-align:center;color:var(--text-muted);font-size:13px;margin-bottom:20px}.pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.page-thumb-item{position:relative;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s}.page-thumb-item:hover{border-color:var(--accent)}.page-thumb-item.selected{border-color:var(--accent);box-shadow:0 0 0 3px #6366f14d}.page-thumb-item canvas{width:100%;display:block}.page-thumb-number{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:2px 8px;border-radius:4px;font-size:12px}.quick-actions-dropdown{position:relative}.quick-actions-trigger{display:flex;align-items:center;gap:6px}.quick-actions-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #0006;padding:8px;z-index:100}.quick-actions-dropdown.open .quick-actions-menu{display:block}.quick-action-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s;text-align:left}.quick-action-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.quick-action-item svg{color:var(--accent);flex-shrink:0}.editor-properties{width:260px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.editor-properties-header{padding:16px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.editor-properties-content{flex:1;overflow-y:auto;padding:16px}.editor-page-nav{display:flex;align-items:center;gap:12px}.editor-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.editor-nav-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent)}.editor-nav-btn:disabled{opacity:.4;cursor:not-allowed}.editor-nav-btn svg{width:18px;height:18px}.editor-page-indicator{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.editor-page-indicator input{width:50px;padding:6px 8px;text-align:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:inherit}.editor-page-indicator input:focus{outline:none;border-color:var(--accent)}.editor-zoom-controls{display:flex;align-items:center;gap:8px;padding-left:16px;margin-left:16px;border-left:1px solid var(--border)}.editor-zoom-select{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer}.editor-zoom-select:hover{border-color:var(--accent)}.editor-tool{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.editor-tool:hover{background:#ffffff14;color:var(--text-primary)}.editor-tool.active{background:var(--accent);color:#fff}.editor-tool svg{width:20px;height:20px}.editor-tool-divider{width:1px;height:28px;background:var(--border);margin:0 8px}.editor-thumbnails{display:flex;flex-direction:column;gap:12px}.editor-thumbnail{position:relative;cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;transition:var(--transition)}.editor-thumbnail:hover{border-color:#fff3}.editor-thumbnail.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.editor-thumbnail img,.editor-thumbnail canvas{width:100%;height:auto;display:block;background:#fff}.editor-thumbnail-number{position:absolute;bottom:6px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;font-size:11px;padding:2px 10px;border-radius:10px}.editor-color-input{width:36px;height:36px;border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:transparent;padding:3px}.editor-color-input::-webkit-color-swatch-wrapper{padding:0}.editor-color-input::-webkit-color-swatch{border:none;border-radius:4px}.editor-select{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;cursor:pointer}.editor-select:hover{border-color:var(--accent)}@media (max-width: 1024px){.editor-properties{display:none}.editor-sidebar{width:150px}}@media (max-width: 768px){.editor-sidebar{display:none}.editor-header{padding:10px 16px}.editor-title{font-size:16px}.editor-subtitle,.editor-zoom-controls{display:none}}.editor-mode-tabs{display:flex;gap:4px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.editor-mode-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition)}.editor-mode-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.editor-mode-tab.active{color:var(--accent);background:#6366f11a;border-color:var(--accent)}.editor-mode-tab svg{width:16px;height:16px;flex-shrink:0}.editor-mode-content{display:none;flex-direction:column;flex:1;overflow:auto;min-height:0}.editor-mode-content.active{display:flex}.pages-manager{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.pages-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.pages-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition)}.pages-btn:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent)}.pages-btn.danger{color:var(--error)}.pages-btn.danger:hover{background:#ef44441a;border-color:var(--error)}.pages-btn.secondary{opacity:.8}.pages-btn svg{width:16px;height:16px}.pages-btn-divider{width:1px;height:28px;background:var(--border);margin:0 4px}.pages-grid{flex:1;padding:20px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:16px;align-content:flex-start;background:var(--bg-tertiary)}.pages-hint{width:100%;text-align:center;color:var(--text-muted);font-size:13px;padding:40px}.page-item{width:120px;background:var(--bg-secondary);border:2px solid transparent;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:all .2s}.page-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.page-item.selected{border-color:var(--success);box-shadow:0 0 0 3px #22c55e33}.page-item.dragging{opacity:.5}.page-item-thumb{width:100%;aspect-ratio:.7;background:#fff;display:flex;align-items:center;justify-content:center}.page-item-thumb img{width:100%;height:100%;object-fit:contain}.page-item-info{padding:8px;text-align:center;font-size:11px;color:var(--text-secondary);border-top:1px solid var(--border)}.page-item-number{font-weight:600;color:var(--text-primary)}.page-item-rotation{font-size:10px;color:var(--warning);margin-left:4px}#textImageEditorContainer{flex:1;display:flex;min-height:0;height:100%}.text-image-editor{display:flex;flex:1;height:100%;gap:0;background:var(--bg-primary);min-height:0}.tie-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.tie-canvas-wrapper{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;padding:20px;background:var(--bg-tertiary)}.tie-page-wrapper{position:relative;background:#fff;box-shadow:0 4px 20px #0000004d;border-radius:4px;margin:auto;flex-shrink:0}#tieCanvas{display:block}.tie-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.tie-text-region{position:absolute;border:2px solid transparent;cursor:pointer;pointer-events:auto;transition:all .15s;border-radius:2px}.tie-text-region:hover{background:#6366f133;border-color:var(--accent)}.tie-text-region.selected{background:#22c55e33;border-color:var(--success)}.tie-text-region.edited{background:#f59e0b26;border-color:var(--warning)}.tie-text-overlay{position:absolute;pointer-events:auto;cursor:pointer;z-index:10;border:none;outline:none}.tie-text-overlay:hover{outline:2px dashed rgba(99,102,241,.6);outline-offset:1px}.tie-text-overlay.selected{outline:2px solid var(--success);outline-offset:1px}.tie-image-region{position:absolute;border:2px dashed transparent;cursor:pointer;pointer-events:auto;transition:all .15s}.tie-image-region:hover{background:#ec489933;border-color:#ec4899}.tie-image-region.selected{background:#ec489940;border-color:#ec4899;border-style:solid}.tie-image-region.edited{background:#ec489926;border-color:#f472b6}.tie-image-label{position:absolute;top:-20px;left:0;background:#ec4899;color:#fff;font-size:9px;padding:2px 6px;border-radius:3px;white-space:nowrap}.tie-image-overlay{position:absolute;pointer-events:auto;cursor:pointer;z-index:10}.tie-image-deleted{position:absolute;pointer-events:auto;z-index:10}.tie-side-panel{width:320px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.tie-controls{padding:12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.tie-panel-section{padding:12px;border-bottom:1px solid var(--border)}.tie-panel-section h4{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.tie-muted{color:var(--text-muted);font-size:12px}.tie-btn{padding:8px 14px;font-size:12px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.tie-btn.primary{background:var(--gradient-accent);color:#fff}.tie-btn.primary:hover{opacity:.9}.tie-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.tie-btn.secondary:hover{background:var(--bg-elevated)}.tie-btn.danger{background:var(--error);color:#fff}.tie-btn.small{padding:4px 8px;font-size:11px}.tie-btn:disabled{opacity:.5;cursor:not-allowed}.tie-edit-tools{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tie-hint{font-size:10px;color:var(--text-muted)}#tieEditTextarea{width:100%;min-height:60px;padding:10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;resize:vertical;margin-bottom:10px}#tieEditTextarea:focus{outline:none;border-color:var(--accent)}#tieEditTextarea:disabled{opacity:.6}.tie-control-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tie-control-row label{font-size:11px;color:var(--text-muted);min-width:50px}.tie-control-row input[type=text],.tie-control-row input[type=number],.tie-control-row select{flex:1;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px}.tie-control-row input:focus,.tie-control-row select:focus{outline:none;border-color:var(--accent)}.tie-control-row input[type=range]{flex:1;accent-color:var(--accent)}.tie-checkbox{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer}.tie-checkbox input{accent-color:var(--accent)}.tie-align-btns{display:flex;gap:2px}.tie-align-btn{width:28px;height:26px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:12px}.tie-align-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.tie-align-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.tie-font-controls,.tie-color-controls,.tie-size-controls{margin-bottom:10px}.tie-actions{display:flex;gap:8px;margin-bottom:10px}.tie-actions .tie-btn{flex:1}.tie-adjust-controls{display:none;padding:10px;background:var(--bg-tertiary);border-radius:6px;margin-top:10px}.tie-adjust-controls label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:8px}.tie-arrow-grid{display:grid;grid-template-columns:repeat(3,28px);grid-template-rows:repeat(2,28px);gap:2px;justify-content:center;margin-bottom:10px}.tie-arrow-btn{width:28px;height:28px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:14px}.tie-arrow-btn:hover{background:var(--bg-elevated)}.tie-arrow-btn.center{background:transparent;border:none;cursor:default}.tie-offset-inputs{display:flex;gap:12px;justify-content:center}.tie-offset-inputs label{display:flex;align-items:center;gap:4px;font-size:11px}.tie-offset-inputs input{width:50px;padding:4px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:11px;text-align:center}.tie-image-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tie-image-actions .tie-btn{flex:1;min-width:80px}.tie-delete-color-controls{background:var(--bg-tertiary);padding:10px;border-radius:6px;margin-bottom:10px}.tie-delete-color-controls>label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:6px}.tie-color-presets{display:flex;gap:4px;margin-top:8px}.tie-color-preset{width:24px;height:24px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.tie-color-preset:hover{transform:scale(1.1)}#tieImagePreview{background:var(--bg-tertiary);padding:10px;border-radius:6px}#tieImagePreview>label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:6px}#tieNewImagePreview{max-width:100%;max-height:100px;border-radius:4px}.tie-regions-list{max-height:200px;overflow-y:auto}.tie-region-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-tertiary);border-radius:4px;margin-bottom:4px;cursor:pointer;transition:background .15s}.tie-region-item:hover{background:var(--bg-elevated)}.tie-region-item.edited{border-left:3px solid var(--warning)}.tie-region-index{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);padding:2px 6px;border-radius:3px}.tie-region-text{flex:1;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tie-edited-badge{color:var(--success);font-size:12px}.unified-workspace{position:fixed;top:0;left:0;right:0;bottom:0;display:none;flex-direction:column;background:var(--bg-primary);z-index:9999;isolation:isolate;contain:layout style paint}.unified-workspace.active{display:flex}body:has(.unified-workspace.active) .app-container{display:none!important}.uw-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.uw-header-left{display:flex;align-items:center;gap:16px}.uw-logo{display:flex;align-items:center;gap:10px}.uw-logo img{height:36px;width:auto;object-fit:contain}.uw-logo-text{font-size:18px;font-weight:600;color:var(--text-primary)}.uw-file-info{display:flex;flex-direction:column;margin-left:16px;padding-left:16px;border-left:1px solid var(--border)}.uw-file-name{font-size:14px;font-weight:500;color:var(--text-primary)}.uw-file-meta{font-size:12px;color:var(--text-muted)}.uw-header-right{display:flex;align-items:center;gap:12px}.uw-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.uw-btn svg{width:18px;height:18px}.uw-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.uw-btn.secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.uw-btn.primary{background:var(--gradient-accent);border:none;color:#fff}.uw-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.uw-btn.primary.disabled,.uw-btn.primary[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}.uw-tool-tabs-container{display:flex;flex-direction:column;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.uw-tool-tabs-row{display:flex;align-items:center;gap:8px;padding:6px 16px;overflow-x:auto}.uw-tool-tabs-row:first-child{border-bottom:1px solid var(--border-light, rgba(255,255,255,.05))}.uw-tool-group{display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--bg-tertiary);border-radius:8px;position:relative}.uw-tool-group-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:0 8px 0 4px;letter-spacing:.5px;white-space:nowrap}.uw-tool-tabs{display:flex;align-items:center;gap:4px;padding:8px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.uw-tool-tab{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.uw-tool-tab svg{width:14px;height:14px;flex-shrink:0}.uw-tool-tab:hover{background:#ffffff1a;color:var(--text-primary)}.uw-tool-tab.active{background:var(--accent);color:#fff}.uw-tool-group .uw-tool-tab.active{box-shadow:0 2px 8px #8b5cf64d}.uw-body{display:flex;flex:1 1 0;min-height:0;overflow:hidden;position:relative}.uw-files-panel{width:200px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.uw-files-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.uw-files-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.uw-files-count{font-size:12px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.uw-files-list{flex:1;overflow-y:auto;padding:8px}.uw-file-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:2px solid transparent;border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all .2s}.uw-file-item:hover{background:var(--bg-elevated)}.uw-file-item.active{border-color:var(--accent);background:var(--accent-light)}.uw-file-thumb{width:40px;height:50px;background:#fff;border-radius:4px;overflow:hidden;flex-shrink:0}.uw-file-thumb canvas,.uw-file-thumb img{width:100%;height:100%;object-fit:cover}.uw-file-details{flex:1;min-width:0}.uw-file-item-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uw-file-item-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px}.uw-file-type-badge{font-size:9px;font-weight:600;color:#fff;padding:1px 4px;border-radius:3px;text-transform:uppercase}.uw-file-type-icon{width:40px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:18px;color:#fff}.uw-file-item.dragging{opacity:.5;background:var(--bg-secondary)}.uw-file-item.drag-over{border:2px dashed var(--accent);background:#6366f11a}.uw-file-item[draggable=true]{cursor:grab}.uw-file-item[draggable=true]:active{cursor:grabbing}.uw-file-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.uw-file-remove,.uw-file-download-input{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .2s;flex-shrink:0}.uw-file-item:hover .uw-file-remove,.uw-file-item:hover .uw-file-download-input{opacity:1}.uw-file-remove:hover{background:var(--error-light);color:var(--error);opacity:1}.uw-file-download-input:hover{background:var(--success-light, rgba(16, 185, 129, .1));color:var(--success);opacity:1}.uw-panel-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.uw-doc-preview{width:100%;height:100%;overflow:auto;background:#fff;padding:20px;box-sizing:border-box}.uw-doc-content{max-width:800px;margin:0 auto;font-family:Segoe UI,sans-serif;font-size:14px;line-height:1.6;color:#333}.uw-doc-content h1{font-size:2em;margin:.67em 0;border-bottom:1px solid #eee;padding-bottom:.3em}.uw-doc-content h2{font-size:1.5em;margin:.83em 0;border-bottom:1px solid #eee;padding-bottom:.3em}.uw-doc-content h3{font-size:1.17em;margin:1em 0}.uw-doc-content p{margin:1em 0}.uw-doc-content pre{background:#f6f8fa;padding:16px;border-radius:6px;overflow-x:auto}.uw-doc-content code{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-family:monospace}.uw-doc-content pre code{background:none;padding:0}.uw-doc-content blockquote{border-left:4px solid #ddd;margin:1em 0;padding-left:1em;color:#666}.uw-doc-content table{border-collapse:collapse;width:100%;margin:1em 0}.uw-doc-content th,.uw-doc-content td{border:1px solid #ddd;padding:8px 12px;text-align:left}.uw-doc-content th{background:#f6f8fa;font-weight:600}.uw-doc-content tr:nth-child(2n){background:#f9f9f9}.uw-doc-content ul,.uw-doc-content ol{margin:1em 0;padding-left:2em}.uw-doc-content li{margin:.25em 0}.uw-doc-content img{max-width:100%;height:auto}.uw-doc-content a{color:var(--accent)}.uw-doc-content.image-preview{display:flex;align-items:center;justify-content:center;min-height:100%;padding:20px}.uw-doc-content.image-preview img{max-width:100%;max-height:calc(100vh - 200px);object-fit:contain;box-shadow:0 2px 10px #0000001a;border-radius:4px}.uw-doc-content.table-preview{overflow-x:auto;max-height:calc(100vh - 200px)}.uw-doc-content.table-preview table{font-size:13px;width:auto;min-width:100%;table-layout:auto}.uw-doc-content.table-preview td,.uw-doc-content.table-preview th{white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.uw-doc-content.text-preview{white-space:pre-wrap;font-family:Consolas,Monaco,monospace;font-size:13px;background:#fafafa;padding:20px;border-radius:8px}.uw-doc-content h1,.uw-doc-content h2,.uw-doc-content h3{color:#333}.uw-doc-content p{text-align:justify}.uw-doc-content .chapter-title{text-align:center;margin:2em 0}.uw-files-section-header{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 4px 4px;margin-top:8px}.uw-files-section-header:first-child{margin-top:0}.uw-file-item.output{border-color:var(--success);background:#10b9810d}.uw-file-item.output:hover{background:#10b9811a}.uw-output-icon{display:flex;align-items:center;justify-content:center;width:40px;height:50px}.uw-file-download{padding:4px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .2s}.uw-file-item:hover .uw-file-download{opacity:1}.uw-file-download:hover{background:var(--success-light, rgba(16, 185, 129, .1));color:var(--success)}.uw-add-file-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:transparent;border:2px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.uw-add-file-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.uw-viewer{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-primary);overflow:hidden}.uw-viewer-toolbar{display:flex;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:8px;flex-shrink:0}.uw-toolbar-group{display:flex;align-items:center;gap:8px}.uw-toolbar-group .editor-tool{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.uw-toolbar-group .editor-tool:hover{background:var(--bg-tertiary);color:var(--text-primary)}.uw-toolbar-group .editor-tool.active{background:var(--accent-light);color:var(--accent)}.uw-toolbar-group .editor-tool svg{width:18px;height:18px}.uw-toolbar-group .editor-tool-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.uw-toolbar-group .editor-color-input{width:32px;height:32px;padding:0;border:2px solid var(--border);border-radius:6px;cursor:pointer;background:transparent}.uw-toolbar-group .editor-select{padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:12px;cursor:pointer}.uw-viewer-content{flex:1;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:20px;min-height:0;background:linear-gradient(45deg,#1a1a1c 25%,transparent 25%),linear-gradient(-45deg,#1a1a1c 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1a1c 75%),linear-gradient(-45deg,transparent 75%,#1a1a1c 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;background-color:#151517}.uw-canvas-stack{position:relative;background:#fff;box-shadow:0 8px 40px #00000080;border-radius:4px;margin:auto}.uw-canvas-stack canvas{display:block}.uw-canvas-stack .canvas-container{position:absolute!important;top:0;left:0}.uw-overlay-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.uw-overlay-layer.active{pointer-events:auto}.uw-text-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.uw-text-layer>*{pointer-events:auto}.uw-text-region{position:absolute;border:2px solid transparent;cursor:pointer;transition:all .15s}.uw-text-region:hover{border-color:var(--accent);background:#6366f10d}.uw-text-region.selected{border-color:var(--accent);background:#6366f11a}.uw-text-region.edited{border-color:var(--success)}.uw-text-overlay{position:absolute;cursor:pointer;transition:box-shadow .15s}.uw-text-overlay:hover,.uw-text-overlay.selected{box-shadow:0 0 0 2px var(--accent)}.uw-image-region{position:absolute;border:2px dashed rgba(99,102,241,.5);cursor:pointer;transition:all .15s}.uw-image-region:hover{border-color:var(--accent);background:#6366f10d}.uw-image-region.selected{border-color:var(--accent);background:#6366f11a}.uw-image-region.edited{border-color:var(--success)}.uw-image-overlay{position:absolute;cursor:pointer}.uw-image-deleted{position:absolute}.uw-viewer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px}.uw-viewer-empty svg{width:64px;height:64px;margin-bottom:16px;opacity:.5}.uw-viewer-empty h3{font-size:18px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.uw-viewer-empty p{font-size:14px}.uw-tool-panel{width:320px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.uw-tool-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.uw-tool-panel-title{font-size:14px;font-weight:600;color:var(--text-primary)}.uw-tool-panel-content{flex:1;overflow-y:auto;padding:16px}.uw-panel-section{margin-bottom:20px}.uw-panel-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.uw-panel-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.uw-panel-row label{font-size:13px;color:var(--text-secondary);min-width:80px}.uw-panel-input,.uw-panel-select{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px}.uw-panel-btn{width:100%;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.uw-panel-btn.primary{background:var(--gradient-accent);border:none;color:#fff}.uw-panel-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.uw-panel-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.uw-panel-btn.secondary:hover{background:var(--bg-elevated);color:var(--text-primary)}.uw-panel-btn.danger{background:var(--error-light);border:1px solid var(--error);color:var(--error)}.uw-panel-btn.danger:hover{background:var(--error);color:#fff}.uw-panel-btn:disabled,.uw-panel-btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.uw-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0;min-height:48px;z-index:10}.uw-footer-left{display:flex;align-items:center;gap:16px}.uw-footer-links{display:flex;align-items:center;gap:12px;margin-left:8px;padding-left:12px;border-left:1px solid var(--border)}.uw-footer-links a{color:var(--text-muted);text-decoration:none;font-size:12px;transition:color .2s}.uw-footer-links a:hover{color:var(--accent)}.uw-footer-center,.uw-footer-right{display:flex;align-items:center;gap:12px}.uw-page-nav{display:flex;align-items:center;gap:8px}.uw-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.uw-nav-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.uw-nav-btn:disabled{opacity:.5;cursor:not-allowed}.uw-page-input{width:50px;padding:6px 8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);text-align:center;font-size:13px}.uw-page-total{font-size:13px;color:var(--text-secondary)}.uw-zoom-control{display:flex;align-items:center;gap:8px}.uw-zoom-select{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px}.uw-status{font-size:13px;color:var(--text-muted)}@media (max-width: 1024px){.uw-files-panel{width:160px}.uw-tool-panel{width:280px}}@media (max-width: 768px){.uw-files-panel{display:none}.uw-tool-panel{position:absolute;right:0;top:0;bottom:0;width:300px;transform:translate(100%);transition:transform .3s;z-index:100}.uw-tool-panel.open{transform:translate(0)}}.logo-size-presets{display:flex;flex-direction:column;gap:6px}.logo-preset-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.logo-preset-item:hover{background:var(--bg-elevated);border-color:var(--primary)}.logo-preset-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.logo-preset-item .preset-label{display:flex;flex-direction:column;flex:1}.logo-preset-item .preset-name{font-size:13px;font-weight:500;color:var(--text-primary)}.logo-preset-item .preset-size{font-size:11px;color:var(--text-muted)}.logo-preview-container{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:8px}.logo-preview-mockup{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;overflow:hidden}.logo-preview-mockup-header{padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.logo-preview-mockup-content{padding:16px;display:flex;align-items:center;justify-content:center;min-height:60px}.logo-preview-mockup-content.header-preview{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:12px 24px;justify-content:flex-start}.logo-preview-mockup-content.footer-preview{background:#f5f5f5;padding:16px 24px;justify-content:flex-start}.logo-preview-mockup-content.favicon-preview{background:#fff;gap:12px}.logo-preview-mockup-content.grey-preview{background:#fff;filter:grayscale(100%)}.favicon-tab-mock{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border-radius:6px 6px 0 0;border:1px solid var(--border);border-bottom:none}.favicon-tab-mock span{font-size:11px;color:var(--text-secondary)}.logo-preview-img{max-width:100%;height:auto;object-fit:contain}.custom-size-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-secondary);margin:2px}.custom-size-tag button{background:none;border:none;color:var(--error);cursor:pointer;padding:0;line-height:1;font-size:14px}
