#customizationModal .modal-content.module{border-radius:16px;height:auto;max-height:unset;max-width:75vw}.customization-preview{border-radius:0 0 12px 12px;overflow:hidden}.customization-preview .customization-title{color:#333;font-size:1.5rem;margin-bottom:20px}.canvas-toolbar{background:var(--main-color);box-shadow:0 2px 8px rgba(0,0,0,.1);padding:16px 24px;position:relative;z-index:10}.toolbar-section{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.toolbar-label{align-items:center;color:#fff;display:flex;font-size:.95rem;font-weight:600;gap:8px;white-space:nowrap}.canvas-toolbar-bottom{align-items:center;border-radius:0 0 12px 12px;display:flex;justify-content:space-between}.toolbar-add-dropdown{position:relative}.toolbar-btn-add{align-items:center;background:#fff;border:none;border-radius:8px;color:var(--main-color);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 20px;transition:all .2s}.toolbar-btn-add:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-2px)}.toolbar-btn-add svg:last-child{transition:transform .2s}.toolbar-add-dropdown.show .toolbar-btn-add svg:last-child{transform:rotate(180deg)}.toolbar-section .dropdown-menu{background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);left:0;min-width:220px;opacity:0;position:absolute;top:calc(100% + 8px);transform:translateY(-10px);transition:all .2s;visibility:hidden;z-index:1000}.toolbar-section .dropdown-menu.show{opacity:1;transform:translateY(0);visibility:visible}.toolbar-section .dropdown-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:.95rem;gap:12px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.toolbar-section .dropdown-item:first-child{border-radius:8px 8px 0 0}.toolbar-section .dropdown-item:last-child{border-radius:0 0 8px 8px}.toolbar-section .dropdown-item:hover{background:#f0f0f0}.toolbar-section .dropdown-item svg{color:var(--main-color)}.toolbar-separator{background:hsla(0,0%,100%,.6);height:30px;width:1px}.bg-color-picker-dropdown,.color-picker-dropdown{position:relative}.color-picker-button{align-items:center;background:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:4px 12px;transition:all .2s}.color-picker-button:hover{background:#fff;border-color:#fff}.color-preview{border:1px solid rgba(0,0,0,.1);border-radius:6px;display:block;height:32px;width:32px}.color-swatch-menu{background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;flex-direction:column;left:0;opacity:0;padding:12px;position:absolute;top:calc(100% + 8px);transform:translateY(-10px);transition:all .2s;visibility:hidden;z-index:1000}.color-swatch-menu.show{opacity:1;transform:translateY(0);visibility:visible}.color-swatch-title{border-bottom:1px solid #e9ecef;color:#333;font-size:.9rem;font-weight:600;margin-bottom:8px;padding-bottom:8px;text-align:center}.color-swatches-grid{display:grid;gap:8px;grid-template-columns:repeat(6,36px)}.color-swatch{border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;height:36px;transition:all .2s;width:36px}.color-swatch:hover{box-shadow:0 4px 8px rgba(0,0,0,.2);transform:translateY(-2px) scale(1.1)}.color-swatch.active{border:3px solid var(--main-color);box-shadow:0 0 0 3px rgba(102,126,234,.2)}.color-swatch-advanced{align-items:center;background:#fff;background-clip:padding-box,border-box;background-image:linear-gradient(#fff,#fff),conic-gradient(from 0deg,red,#f80,#ff0,#0f0,#08f,#80f,red);background-origin:border-box;border:3px solid transparent;display:flex;justify-content:center}.color-swatch-advanced svg{display:block}.toolbar-input{background:hsla(0,0%,100%,.9);border:2px solid hsla(0,0%,100%,.3);border-radius:6px;flex:1;min-width:200px;padding:6px 12px;transition:all .2s}.toolbar-input:focus{background:#fff;border-color:#fff;outline:none}.toolbar-select{background:hsla(0,0%,100%,.9);border:2px solid hsla(0,0%,100%,.3);border-radius:6px;cursor:pointer;padding:7px 12px;transition:all .2s}.toolbar-select:focus{background:#fff;border-color:#fff;outline:none}.toolbar-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s;white-space:nowrap}.toolbar-btn-danger{background:#dc3545;color:#fff}.toolbar-btn-danger:hover{background:#c82333;box-shadow:0 4px 8px rgba(220,53,69,.3);transform:translateY(-2px)}.toolbar-options-dropdown{margin-left:auto;position:relative}#optionsDropdownMenu.dropdown-menu.show{left:auto;right:0}.toolbar-btn-options{align-items:center;background:#fff;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.toolbar-btn-options:hover{transform:translateY(-2px)}.dropdown-divider{background:#e9ecef;height:1px;margin:4px 0}.customization-preview .canvas-wrapper{background:#f8f9fa;border:1px solid var(--main-color);box-shadow:0 4px 6px rgba(0,0,0,.1);opacity:0;overflow:hidden;position:relative;transition:opacity .2s ease;width:100%}.customization-preview .canvas-wrapper.zoom-initialized{opacity:1}.customization-preview .canvas-wrapper .canvas-scroll-zone{overflow:hidden;position:relative}.customization-preview .canvas-wrapper canvas{border-radius:8px;height:auto!important;max-width:none}.toolbar-btn-toggle{align-items:center;background:#fff;border:none;border-radius:8px;color:var(--main-color);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.toolbar-btn-toggle:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-2px)}.toolbar-btn-toggle svg{transition:transform .3s ease}.toolbar-btn-toggle.open svg{transform:rotate(90deg)}.customization-controls{background:#fff;border-radius:0 0 12px 0;box-shadow:-4px 0 12px rgba(0,0,0,.15);display:none;flex-direction:column;height:100%;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:380px;z-index:1}.customization-controls.sidebar-open{display:flex;transform:translateX(0)}.tabs-container{display:flex;flex:1;flex-direction:column;height:100%;overflow:hidden;position:relative}.tabs-header{background:#f8f9fa;display:flex}.tab-btn{align-items:center;background:none;border:none;border-bottom:3px solid transparent;color:#6c757d;cursor:pointer;display:flex;flex:1;font-size:.85rem;font-weight:600;gap:6px;justify-content:center;padding:14px 8px;transition:all .2s}.tab-btn:hover{background:rgba(102,126,234,.05);color:var(--accent-color)}.tab-btn.active{background:#fff;border-bottom-color:var(--main-color);color:var(--main-color)}.tab-btn svg{flex-shrink:0}.tabs-content{flex:1;overflow-y:auto}.tab-panel{display:none;padding:20px}.tab-panel.active{display:block}.tab-panel-empty{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.tab-panel-empty svg{margin-bottom:16px;opacity:.3}.tab-panel-empty p{font-size:1rem;margin:0}.layers-list{background:#fafafa;border:1px solid #e9ecef;border-radius:8px;list-style:none;margin:0;overflow:hidden;padding:0}.layers-list:empty{min-height:100px}.layer-item{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:0;padding:12px;transition:all .2s}.layer-item:last-child{border-bottom:none}.layer-item:hover{background:#f0f0f0}.layer-item.active{background:#e3f2fd;border-left:3px solid var(--accent-color);padding-left:9px}.layer-label{color:#333;cursor:pointer;flex:1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap}.layer-item.active .layer-label{color:var(--accent-color);font-weight:600}.layer-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.layer-action-btn{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;opacity:.5;padding:4px;transition:all .2s ease}.layer-action-btn:hover{background:rgba(102,126,234,.1);color:var(--accent-color);opacity:1}.layer-action-delete:hover{background:#ffebee;color:#d32f2f}.layer-item.active .layer-action-btn{opacity:.7}.layer-drag-handle{align-items:center;cursor:grab;display:flex;flex-shrink:0;justify-content:center;margin-right:8px;opacity:.4;padding:4px;transition:opacity .2s ease}.layer-drag-handle:hover{opacity:.8}.layer-drag-handle:active{cursor:grabbing}.layer-drag-handle svg{pointer-events:none}.layer-item-ghost{background:#e3f2fd!important;border:2px dashed var(--accent-color)!important;opacity:.4}.layer-item-dragging{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:grabbing!important;opacity:.8;transform:rotate(2deg)}.layer-delete-btn{background:transparent;border:none;border-radius:6px;cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;opacity:.6;padding:6px 10px;transition:all .2s ease}.layer-delete-btn:hover{background:#ffebee;opacity:1;transform:scale(1.1)}.layer-delete-btn:active{transform:scale(.95)}.help-text{background:#f8f9fa;border-radius:6px;color:#6c757d;font-size:.85rem;line-height:1.4;margin-top:12px;padding:8px 12px}.properties-content{min-height:200px}.properties-empty{align-items:center;color:#999;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.properties-empty svg{margin-bottom:16px;opacity:.3}.properties-empty p{font-size:.95rem;margin:0}.property-section{border-bottom:1px solid #e9ecef;margin-bottom:24px;padding-bottom:20px}.property-section:last-child{border-bottom:none;margin-bottom:0}.property-section-title{align-items:center;color:var(--accent-color);display:flex;font-size:.85rem;font-weight:600;gap:8px;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.property-section-title svg{flex-shrink:0}.property-row{margin-bottom:12px}.property-label{color:#495057;display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}.property-input,.property-select,.property-textarea{border:2px solid #e9ecef;border-radius:6px;font-size:.85rem;padding:8px 10px;transition:border-color .2s;width:100%}.property-input:focus,.property-select:focus,.property-textarea:focus{border-color:var(--accent-color);outline:none}.property-input[type=number]{width:80px}.property-group{align-items:flex-end;display:flex;gap:12px;margin-bottom:12px}.property-group .property-row{flex:1;margin-bottom:0}.property-buttons{display:flex;flex-wrap:wrap;gap:8px}.property-buttons.actions{justify-content:flex-start}.property-btn{background:#fff;border:2px solid #e9ecef;border-radius:6px;color:#495057;cursor:pointer;flex:1;font-size:.8rem;font-weight:600;min-width:60px;padding:8px 12px;transition:all .2s}.property-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.property-btn#propDelete:hover{border-color:#dc3545;color:#dc3545}.property-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.property-btn-icon{align-items:center;display:flex;justify-content:center;min-width:auto;padding:10px}.property-slider-container{align-items:center;display:flex;gap:12px}.property-slider{appearance:none;-webkit-appearance:none;background:#e9ecef;border-radius:3px;flex:1;height:6px;outline:none}.property-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-color);border-radius:50%;cursor:pointer;height:18px;transition:transform .2s;width:18px}.property-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.property-slider::-moz-range-thumb{background:var(--accent-color);border:none;border-radius:50%;cursor:pointer;height:18px;width:18px}.property-slider-value{color:var(--accent-color);font-size:.85rem;font-weight:600;min-width:45px;text-align:right}.action-buttons{display:flex;gap:12px}.btn svg{flex-shrink:0}.btn-primary{background:var(--accent-color);color:#fff}.btn-primary:hover{background:#6b86ff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.btn-danger:hover,.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}.btn-full{width:100%}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.modal-content{background:#fff;border-radius:16px!important;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.modal-small{max-width:400px}.modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#333;font-size:1.25rem;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;padding:4px;transition:all .2s}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{overflow-y:auto;padding:24px}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-input{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:10px 12px;transition:border-color .2s;width:100%}.form-input:focus{border-color:var(--accent-color);outline:none}.form-select{border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-size:.95rem;padding:10px 12px;transition:border-color .2s;width:100%}.form-select:focus{border-color:var(--accent-color);outline:none}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.preset-images-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));max-height:400px;overflow-y:auto}.preset-image-item{align-items:center;aspect-ratio:1;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;justify-content:center;overflow:hidden;transition:all .2s}.preset-image-item:hover{border-color:var(--accent-color);box-shadow:0 4px 12px rgba(102,126,234,.2);transform:translateY(-2px)}.preset-image-item img{height:100%;object-fit:contain;padding:8px;width:100%}.no-images{color:#999;grid-column:1/-1;padding:60px 20px;text-align:center}.templates-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.template-card{cursor:pointer;transition:all .2s}.template-card:hover{border-color:var(--accent-color)!important;box-shadow:0 4px 12px rgba(102,126,234,.2);transform:translateY(-2px)}.template-card-preview{padding:12px 8px}.template-card-preview img{filter:drop-shadow(0 1px 3px rgba(0,0,0,.2));width:100%}.preset-images-grid::-webkit-scrollbar,.tabs-content::-webkit-scrollbar{width:6px}.preset-images-grid::-webkit-scrollbar-track,.tabs-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.preset-images-grid::-webkit-scrollbar-thumb,.tabs-content::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.preset-images-grid::-webkit-scrollbar-thumb:hover,.tabs-content::-webkit-scrollbar-thumb:hover{background:#555}.toolbar-btn-style{align-items:center;background:hsla(0,0%,100%,.9);border:2px solid hsla(0,0%,100%,.3);border-radius:6px;color:#333;cursor:pointer;display:flex;justify-content:center;padding:10px;transition:all .2s}.toolbar-btn-style:hover{background:#fff;border-color:#fff;transform:translateY(-1px)}.toolbar-btn-style.active{background:var(--main-color);border-color:#fff;color:#fff}.toolbar-btn-style svg{flex-shrink:0}.manipulation-tooltip{background:rgba(0,0,0,.8);border-radius:6px;color:#fff;display:none;font-family:monospace;font-size:12px;padding:8px 12px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}#fullscreenModal .modal-content{height:100%;max-height:none;max-width:none;padding:0}#fullscreenContent{height:100%}#fullscreenContent .customization-preview .canvas-scroll-zone{max-width:100%}#fullscreenContent .customization-preview .canvas-container{width:100%!important}#fullscreenContent .customization-preview .canvas-wrapper canvas{height:auto!important}@media (max-width:768px){.customization-controls{width:100%}.toolbar-section{align-items:stretch;flex-direction:column}.toolbar-input{min-width:auto}.toolbar-separator{display:none}.toolbar-label{justify-content:center}.form-row{grid-template-columns:1fr}.preset-images-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.canvas-toolbar{padding:12px 16px}}@media (max-width:480px){.toolbar-btn-add{font-size:.85rem;padding:8px 16px}.tab-btn{flex-direction:column;font-size:.75rem;gap:4px;padding:12px 4px}.tab-btn svg{height:14px;width:14px}.modal-content{max-width:95%}}.temporary-panel{animation:temporaryPanelSlideIn .2s ease-out;background:#fff;bottom:0;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:0;z-index:10}@keyframes temporaryPanelSlideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.temporary-panel-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px 20px}.temporary-panel-header h4{align-items:center;color:var(--main-color);display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0}.temporary-panel-body{flex:1;overflow-y:auto;padding:20px}.temporary-panel-content{display:flex;flex-direction:column;gap:16px}#addTextPanel .form-group{margin-bottom:0}#addTextPanel .btn-primary{margin-top:8px}#presetImagesPanel .preset-images-grid{max-height:none}#fullscreenModal .modal-content{display:flex;flex-direction:column;height:100vh}#fullscreenModal .fullscreen-modal-body{display:flex;flex:1;flex-direction:column;overflow:hidden;padding:0}#fullscreenModal .fullscreen-modal-body .customization-preview{display:flex;flex:1;flex-direction:column;height:100%}#fullscreenModal .fullscreen-modal-body .customization-main{flex:1;height:100%}#fullscreenModal .fullscreen-modal-body .canvas-scroll-zone,#fullscreenModal .fullscreen-modal-body .canvas-wrapper{height:100%}.toolbar-btn-select-qty{background:#fff;padding:12px}.toolbar-btn-select-qty:hover{background-color:var(--main-color);-webkit-box-shadow:inset 0 0 0 1px #fff;-moz-box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px #fff}.toolbar-btn-select-qty:hover svg{color:#fff}.toolbar-btn-select-qty svg{color:var(--main-color);height:16px;width:16px}.toolbar-btn-add-to-cart:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);color:var(--main-color);transform:translateY(-2px)}.toolbar-btn-fullscreen{min-width:auto;padding:11px}.zoom-controls{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;gap:8px;padding:4px 8px}.zoom-controls.zoom-controls-floating{bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.15);position:absolute;right:12px;z-index:1}.zoom-btn{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:var(--main-color);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.zoom-btn:hover:not(.disabled){border-color:var(--main-color)}.zoom-btn:active:not(.disabled){transform:scale(.95)}.zoom-btn.disabled{cursor:not-allowed;opacity:.4}.zoom-btn svg{pointer-events:none}.zoom-reset-btn{color:#fff;margin-right:4px}.zoom-reset-btn,.zoom-reset-btn:hover{background:var(--main-color);border-color:var(--main-color)}.zoom-input-wrapper{align-items:center;display:flex;position:relative}.zoom-input{border:1px solid #e0e0e0;border-radius:6px;color:#333;font-size:.9rem;font-weight:600;height:32px;outline:none;padding:4px 24px 4px 8px;text-align:center;transition:all .2s;width:60px}.zoom-input:focus{border-color:var(--main-color);box-shadow:0 0 0 3px rgba(0,123,255,.1)}.zoom-unit{color:#666;font-size:.85rem;font-weight:500;pointer-events:none;position:absolute;right:8px}@media (max-width:992px){.zoom-controls{gap:4px;padding:4px 6px}.zoom-btn{height:28px;width:28px}.zoom-input{font-size:.85rem;height:28px;width:50px}.zoom-controls.zoom-controls-floating{display:none}}.module-quantity-group{width:auto}.module-quantity-group .form-control{min-width:80px;width:80px}.gradient-picker-wrapper{width:100%}.gradient-picker-wrapper>div:first-child{border-radius:16px 16px 4px 4px}.gradient-picker-wrapper #rbgcp-square-canvas-dark{border-radius:0;width:100%}.customization-wrapper{position:relative}.notification-container{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:9999}.notification{align-items:center;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;gap:12px;left:50%;max-width:500px;opacity:0;padding:16px;pointer-events:auto;position:absolute;top:20px;transform:translateX(-50%);transition:opacity .3s ease,transform .3s ease;width:calc(100% - 40px)}.notification.show{opacity:1}.notification-info{background:#cff4fc;border-left-color:#0dcaf0}.notification-success{background:#d1e7dd;border-left-color:#198754}.notification-warning{background:#fff3cd;border-left-color:#ffc107}.notification-error{background:#f8d7da;border-left-color:#dc3545}.notification-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.notification-info .notification-icon{color:#055160}.notification-success .notification-icon{color:#0a3622}.notification-warning .notification-icon{color:#664d03}.notification-error .notification-icon{color:#58151c}.notification-content{flex:1}.notification-message{color:#333;font-size:14px;line-height:1.5}.notification-close{align-items:center;background:transparent;border:none;color:#666;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:24px}.notification-close:hover{color:#000}.notification-backdrop{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:auto;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:10000}.notification-backdrop.show{opacity:1}.notification-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.2);margin:20px;max-width:500px;opacity:0;transform:scale(.9);transition:transform .3s ease,opacity .3s ease;width:90%}.notification-backdrop.show .notification-modal{opacity:1;transform:scale(1)}.notification-modal-content{padding:24px}.notification-modal-title{color:#333;font-size:18px;font-weight:600;margin-bottom:16px}.notification-modal-body{display:flex;gap:16px;margin-bottom:24px}.notification-modal-icon{flex-shrink:0}.notification-modal-info .notification-modal-icon{color:#0dcaf0}.notification-modal-warning .notification-modal-icon{color:#ffc107}.notification-modal-danger .notification-modal-icon{color:#dc3545}.notification-modal-message{color:#555;flex:1;font-size:14px;line-height:1.6}.notification-modal-footer{display:flex;gap:12px;justify-content:flex-end}.notification-modal .btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.notification-modal .btn-cancel{background:#e9ecef;color:#495057}.notification-modal .btn-cancel:hover{background:#dee2e6}.notification-modal .btn-confirm{color:#fff}.notification-modal .btn-info{background:#0dcaf0}.notification-modal .btn-info:hover{background:#0ab6d7}.notification-modal .btn-warning{background:#ffc107;color:#000}.notification-modal .btn-warning:hover{background:#e0a800}.notification-modal .btn-danger{background:#dc3545}.notification-modal .btn-danger:hover{background:#bb2d3b}.ruler{background:#fff;pointer-events:none;position:absolute;z-index:1}.ruler-horizontal{height:30px;left:30px;overflow:hidden;right:0;top:0}.ruler-vertical{bottom:0;left:0;overflow:hidden;top:30px;width:30px}.ruler-mark{background:#333;position:absolute}.ruler-horizontal .ruler-mark{height:5px;top:0;width:1px}.ruler-horizontal .ruler-mark.ruler-mark-minor{height:8px}.ruler-horizontal .ruler-mark.ruler-mark-major{background:#000;height:12px;width:2px}.ruler-vertical .ruler-mark{height:1px;left:0;width:5px}.ruler-vertical .ruler-mark.ruler-mark-minor{width:8px}.ruler-vertical .ruler-mark.ruler-mark-major{background:#000;height:2px;width:12px}.ruler-label{color:#333;font-family:monospace;font-size:10px;font-weight:500;position:absolute}.ruler-horizontal .ruler-label{bottom:2px;transform:translateX(-50%)}.ruler-vertical .ruler-label{right:5px;transform:translateY(-50%) rotate(-90deg);transform-origin:right center;white-space:nowrap}.ruler-crosshair{background:var(--main-color);display:none;pointer-events:none;position:absolute;z-index:1}.ruler-crosshair-horizontal{height:30px;top:0;width:2px}.ruler-crosshair-vertical{height:2px;left:0;width:30px}.canvas-wrapper:before{background:#fff;content:"";height:30px;left:0;position:absolute;top:0;width:30px}.canvas-wrapper{position:relative}.canvas-scroll-zone{padding-left:30px;padding-top:30px}