.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:500px;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.75rem;z-index:10000;animation:slideIn .3s ease-out;font-size:.95rem;font-weight:500}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{font-size:1.2rem;font-weight:700;flex-shrink:0}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s;flex-shrink:0;line-height:1}.toast-close:hover{opacity:1}.toast-success{background-color:#d4edda;color:#155724;border-left:4px solid #28a745}.toast-error{background-color:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.toast-warning{background-color:#fff3cd;color:#856404;border-left:4px solid #ffc107}.toast-info{background-color:#d1ecf1;color:#0c5460;border-left:4px solid #17a2b8}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast-container .toast{pointer-events:auto;position:relative;top:0;right:0}@media (max-width: 768px){.toast{min-width:unset;max-width:calc(100vw - 40px);right:20px;left:20px}.toast-container{right:20px;left:20px}}.tab-navigation{width:100%}.tab-list{display:flex;flex-direction:column;gap:1px;background:none;padding:0;border-radius:0;box-shadow:none;border:none}.tab-button{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;text-align:left}.tab-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-button.active{background:var(--primary-light);color:var(--primary-color);font-weight:600}.tab-icon{font-size:14px;flex-shrink:0}.tab-label{font-size:13px}.tab-active-indicator{display:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:200px;position:fixed;top:0;left:0;bottom:0;background:#fff;border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;overflow:hidden}.sidebar-header{padding:14px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-header h1{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:-.1px}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.sidebar-footer{padding:10px 12px;border-top:1px solid var(--border-color);flex-shrink:0}.sidebar-user{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px}.sidebar-footer .btn-logout{width:100%;text-align:left;padding:5px 8px;font-size:12px}.app-content{margin-left:200px;flex:1;min-height:100vh;background:var(--bg-color)}.media-library{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem}.media-library.loading{text-align:center;color:#666;padding:2rem}.media-library-header h3{font-size:1.25rem;margin-bottom:.25rem;color:#333}.media-library-header p{font-size:.9rem;color:#666;margin-bottom:1rem}.media-library-actions{margin-bottom:1rem}.btn-upload-logo{padding:.75rem 1.5rem;background-color:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:inline-block}.btn-upload-logo:hover:not(:disabled){background-color:#1d4ed8;transform:translateY(-1px)}.btn-upload-logo:disabled{opacity:.5;cursor:not-allowed}.upload-status,.error-status{padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.upload-status{background:#dbeafe;color:#1e40af}.error-status{background:#fee2e2;color:#dc2626}.empty-library{text-align:center;padding:2rem;background:#f9fafb;border-radius:8px;color:#666}.logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.logo-item{position:relative;aspect-ratio:1;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s;background:#fff}.logo-item:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb33;transform:translateY(-2px)}.logo-item.selected{border-color:#10b981;border-width:3px}.logo-item img{width:100%;height:100%;object-fit:contain;padding:1rem}.logo-item-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:.75rem .5rem .5rem;display:flex;justify-content:space-between;align-items:flex-end;opacity:0;transition:opacity .2s}.logo-item:hover .logo-item-overlay{opacity:1}.logo-name{color:#fff;font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.logo-actions{display:flex;gap:.25rem}.btn-edit-logo{background:#3b82f6e6;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1rem;cursor:pointer;transition:all .2s}.btn-edit-logo:hover{background:#2563eb;transform:scale(1.1)}.btn-delete-logo{background:#ef4444e6;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1rem;cursor:pointer;transition:all .2s}.btn-delete-logo:hover{background:#dc2626;transform:scale(1.1)}.logo-name-edit{display:flex;align-items:center;gap:.25rem;width:100%}.edit-name-input{flex:1;padding:.25rem .5rem;border:1px solid #fff;border-radius:4px;font-size:.8rem;background:#fffffff2;color:#333}.edit-name-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb4d}.btn-save-edit{background:#10b981e6;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1rem;cursor:pointer;transition:all .2s;color:#fff}.btn-save-edit:hover{background:#10b981;transform:scale(1.1)}.btn-cancel-edit{background:#6b7280e6;border:none;border-radius:4px;padding:.25rem .5rem;font-size:1rem;cursor:pointer;transition:all .2s;color:#fff}.btn-cancel-edit:hover{background:#6b7280;transform:scale(1.1)}.selected-badge{position:absolute;top:.5rem;right:.5rem;background:#10b981;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;box-shadow:0 2px 4px #0003}@media (max-width: 768px){.logo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.media-library{position:relative}.media-library.drag-over{border:3px dashed #2563eb;background-color:#2563eb0d}.drag-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#2563ebf2;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:12px;pointer-events:none}.drag-overlay-content{text-align:center;color:#fff;pointer-events:none}.drag-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s infinite}.drag-overlay p{font-size:1.5rem;font-weight:600;margin:0}.drag-hint{display:inline-block;margin-left:1rem;color:#666;font-size:.9rem;font-style:italic}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.media-search{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.media-search .search-input{flex:1;padding:.6rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .2s}.media-search .search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.media-search .btn-clear-search{background-color:#6b7280;color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s;font-weight:500}.media-search .btn-clear-search:hover{background-color:#4b5563}.load-more-container{display:flex;justify-content:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-load-more{padding:.75rem 2rem;background-color:#f3f4f6;color:#374151;border:2px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-load-more:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;font-size:2.5rem;font-weight:700}.logo-item.loading{pointer-events:none}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#2563eb;font-weight:500}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.rich-text-editor{margin-bottom:1.5rem}.rich-text-label{display:block;font-weight:600;margin-bottom:.5rem;color:#333;font-size:.95rem}.rich-text-editor .quill{background-color:#fff;border-radius:4px}.rich-text-editor .ql-container{min-height:200px;font-size:.95rem;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.rich-text-editor .ql-toolbar{border-top-left-radius:4px;border-top-right-radius:4px;background-color:#f8f9fa}.rich-text-editor .ql-editor{min-height:200px}.rich-text-editor .ql-editor.ql-blank:before{color:#adb5bd;font-style:normal}.import-preview-modal{max-width:700px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.import-preview-modal h2{margin:0 0 1.5rem;color:#333;text-align:center;font-size:1.5rem}.preview-summary{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.summary-item{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;border-radius:8px;min-width:120px}.summary-item.create{background-color:#d4edda;border:2px solid #28a745}.summary-item.update{background-color:#d1ecf1;border:2px solid #17a2b8}.summary-item.skip{background-color:#fff3cd;border:2px solid #ffc107}.summary-count{font-size:2rem;font-weight:700;color:#333}.summary-label{font-size:.85rem;color:#666;margin-top:.25rem}.preview-sections{flex:1;overflow-y:auto;margin-bottom:1.5rem;border:1px solid #dee2e6;border-radius:4px;padding:1rem;background-color:#f8f9fa}.preview-section{margin-bottom:1.5rem}.preview-section:last-child{margin-bottom:0}.preview-section h3{margin:0 0 .75rem;font-size:1.1rem;color:#333}.preview-list{display:flex;flex-direction:column;gap:.5rem}.preview-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:4px;font-size:.9rem}.preview-item.create-item{background-color:#d4edda;border-left:3px solid #28a745}.preview-item.update-item{background-color:#d1ecf1;border-left:3px solid #17a2b8}.preview-item.skip-item{background-color:#fff3cd;border-left:3px solid #ffc107}.item-sku{font-weight:600;color:#333;min-width:100px}.item-name{flex:1;color:#555}.item-match{font-size:.8rem;color:#666;background-color:#ffffffb3;padding:.25rem .5rem;border-radius:3px}.item-reason{font-size:.8rem;color:#856404;font-style:italic}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #dee2e6}.btn-cancel,.btn-confirm{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s;font-weight:500}.btn-cancel{background-color:#6c757d;color:#fff}.btn-cancel:hover{background-color:#5a6268}.btn-confirm{background-color:#007bff;color:#fff}.btn-confirm:hover{background-color:#0056b3}.batch-import{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:12px;margin-bottom:2rem;color:#fff}.batch-import-header h3{font-size:1.5rem;margin-bottom:.5rem;color:#fff}.batch-import-header p{font-size:.95rem;opacity:.9;margin-bottom:1.5rem}.batch-import-actions{display:flex;gap:1rem;margin-bottom:1rem}.btn-download-template,.btn-upload-file{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-download-template{background:#fff;color:#667eea;border:2px solid white}.btn-download-template:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-upload-file{background:#fff3;color:#fff;border:2px solid white;display:inline-block}.btn-upload-file:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-upload-file:disabled{opacity:.5;cursor:not-allowed}.import-status{padding:1rem;border-radius:8px;margin-bottom:1rem;font-weight:500}.import-status.importing{background:#fff3;display:flex;align-items:center;gap:.75rem}.import-status.error{background:#ef4444e6}.import-status.success{background:#22c55ee6}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.batch-import-info{margin-top:1.5rem}.batch-import-info details{background:#ffffff1a;padding:.75rem;border-radius:8px;cursor:pointer}.batch-import-info summary{font-weight:500;-webkit-user-select:none;user-select:none}.batch-import-info summary:hover{opacity:.9}.info-content{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.info-content ol{margin-left:1.5rem;margin-bottom:1rem}.info-content li{margin-bottom:.5rem;line-height:1.5}.info-content p{margin-top:1rem;padding:.75rem;background:#ffffff1a;border-radius:6px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 4px 20px #0000004d;max-width:500px;width:90%}.batch-download-modal h2{margin:0 0 1.5rem;color:#333;text-align:center}.progress-info{margin-bottom:1.5rem;text-align:center}.progress-text{font-size:1.1rem;font-weight:500;color:#333;margin:0 0 .5rem}.current-product{font-size:.9rem;color:#666;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-bar-container{position:relative;width:100%;height:40px;background-color:#e9ecef;border-radius:20px;overflow:hidden;margin-bottom:1rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.progress-percentage{color:#fff;font-weight:600;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.3);position:absolute;left:50%;transform:translate(-50%);z-index:1}.progress-details{display:flex;justify-content:space-between;font-size:.85rem;color:#666;margin-bottom:1.5rem}.btn-cancel-download{width:100%;padding:.75rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s;font-weight:500}.btn-cancel-download:hover{background-color:#c82333}.btn-cancel-download:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.image-gallery-modal{background:#fff;border-radius:8px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.btn-close-modal{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.5rem;line-height:1;transition:color .2s}.btn-close-modal:hover{color:#333}.gallery-tabs{display:flex;gap:0;padding:0 1.5rem;border-bottom:2px solid #e0e0e0;background-color:#f8f9fa}.tab-button{background:none;border:none;padding:1rem 1.5rem;font-size:.95rem;font-weight:500;color:#666;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;position:relative;top:2px}.tab-button:hover{color:#333;background-color:#00000008}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background-color:#fff}.gallery-content{flex:1;overflow-y:auto;padding:1.5rem}.gallery-content .media-library{height:100%}.gallery-content .media-library-header{margin-bottom:1rem}.gallery-content .logo-grid{max-height:none}.products-page-container{min-height:100vh;background:var(--bg-color)}.products-page{padding:20px;max-width:1400px;margin:0 auto}.products-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.products-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-right:4px;white-space:nowrap}.toolbar-search{flex:1;min-width:160px;padding:5px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;background:#fff;transition:border-color var(--transition-fast)}.toolbar-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1a}.toolbar-select{padding:5px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;background:#fff;cursor:pointer;color:var(--text-primary);min-width:120px}.toolbar-select:focus{outline:none;border-color:var(--primary-color)}.toolbar-btn{padding:5px 11px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:12px;font-weight:500;cursor:pointer;background:#fff;color:var(--text-primary);white-space:nowrap;transition:all var(--transition-fast)}.toolbar-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:#d1d5db}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.toolbar-btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.toolbar-btn-danger{background:#fff;color:var(--error-color);border-color:#fca5a5}.toolbar-btn-danger:hover:not(:disabled){background:#fef2f2;border-color:var(--error-color)}.toolbar-btn-active{background:var(--primary-light);color:var(--primary-color);border-color:var(--primary-color);font-weight:600}.toolbar-divider{width:1px;height:20px;background:var(--border-color);flex-shrink:0}.filter-bar{display:flex;align-items:center;gap:6px;margin-bottom:10px;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:12px;cursor:pointer;background:#fff;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:all var(--transition-fast)}.filter-chip:hover{border-color:#9ca3af;color:var(--text-primary)}.filter-chip.active{background:var(--primary-light);color:var(--primary-color);border-color:var(--primary-color);font-weight:500}.filter-chip input[type=checkbox]{display:none}.products-table-container{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.products-table{width:100%;border-collapse:collapse;font-size:13px}.products-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.products-table th{padding:8px 10px;text-align:left;font-weight:600;color:var(--text-secondary);white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.products-table td{padding:8px 10px;border-bottom:1px solid var(--border-light);vertical-align:middle}.products-table tbody tr:last-child td{border-bottom:none}.checkbox-cell{width:32px;text-align:center}.checkbox-cell input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--primary-color)}.products-table tbody tr:hover{background:var(--bg-tertiary)}.product-name{font-weight:500;color:var(--text-primary)}.status-badge{display:inline-block;padding:2px 7px;border-radius:var(--radius-full);font-size:11px;font-weight:500;white-space:nowrap}.status-badge.complete{background:#dcfce7;color:#166534}.status-badge.partial{background:#fef9c3;color:#854d0e}.status-badge.incomplete{background:#fee2e2;color:#991b1b}.overflow-warning{margin-top:3px;padding:2px 6px;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;border-radius:var(--radius-sm);font-size:11px;display:inline-block;cursor:help}.brand-badge{display:inline-block;padding:2px 7px;background:#eff6ff;color:#1d4ed8;border-radius:var(--radius-full);font-size:11px;font-weight:500}.completeness-bar{position:relative;width:80px;height:16px;background:var(--border-color);border-radius:8px;overflow:hidden}.completeness-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#ef4444,#eab308,#22c55e);transition:width .3s}.completeness-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:600;color:#1f2937}.missing-fields{color:var(--text-muted);font-size:12px;max-width:200px}.actions{display:flex;gap:4px;white-space:nowrap}.btn-edit,.btn-duplicate,.btn-delete{padding:3px 9px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;background:#fff;transition:all var(--transition-fast)}.btn-edit:hover{background:var(--primary-light);color:var(--primary-color);border-color:var(--primary-color)}.btn-duplicate:hover{background:#f0fdfa;color:#0f766e;border-color:#5eead4}.btn-delete:hover{background:#fef2f2;color:var(--error-color);border-color:#fca5a5}.btn-edit{color:var(--text-primary)}.btn-duplicate,.btn-delete{color:var(--text-secondary)}.pdf-status{font-size:12px}.pdf-ready-container{display:flex;align-items:center;gap:4px}.pdf-ready{display:flex;flex-direction:column;gap:1px}.pdf-ready span{color:var(--success-color);font-weight:500;font-size:12px}.pdf-ready small{color:var(--text-muted);font-size:11px}.pdf-not-generated{color:var(--text-muted);font-style:italic;font-size:12px}.pdf-generating-btn{background:#fff;color:var(--primary-color);border:1px solid var(--primary-color);padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.pdf-generating-btn:hover{background:var(--primary-color);color:#fff}.btn-view-pdf,.btn-download-pdf{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);text-decoration:none;font-size:14px;cursor:pointer;border:1px solid var(--border-color);background:#fff;transition:all var(--transition-fast)}.btn-view-pdf:hover{background:var(--primary-light);border-color:var(--primary-color)}.btn-download-pdf:hover{background:#f0fdf4;border-color:#86efac}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-secondary)}.pagination-buttons{display:flex;align-items:center;gap:6px}.btn-page-nav{padding:4px 10px;border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.btn-page-nav:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-page-nav:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.items-per-page-select{padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;background:#fff;cursor:pointer}.items-per-page-select:focus{outline:none;border-color:var(--primary-color)}.products-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.products-table th.sortable:hover{color:var(--text-primary)}.loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:13px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:var(--error-color);padding:8px 12px;border-radius:var(--radius-md);margin-bottom:10px;font-size:13px}.empty-state{text-align:center;padding:40px;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:16px}.empty-state p{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:var(--radius-lg);padding:20px;max-width:440px;width:90%;border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.modal-content h3{margin:0 0 8px;font-size:14px;font-weight:600}.modal-content p{color:var(--text-secondary);font-size:13px;margin:0}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:400}.import-drawer{position:fixed;top:0;right:0;bottom:0;width:580px;background:#fff;border-left:1px solid var(--border-color);z-index:401;overflow-y:auto;display:flex;flex-direction:column}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border-color);font-size:14px;font-weight:600;position:sticky;top:0;background:#fff;z-index:1}.drawer-header button{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:2px 6px;border-radius:var(--radius-sm);line-height:1}.drawer-header button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200;min-width:190px;padding:4px}.toolbar-dropdown button{display:block;width:100%;text-align:left;padding:7px 12px;font-size:13px;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);color:var(--text-primary)}.toolbar-dropdown button:hover{background:var(--bg-tertiary)}@media (max-width: 768px){.products-page{padding:12px}.products-toolbar{gap:6px}.products-table{font-size:12px}.products-table th,.products-table td{padding:6px}.completeness-bar{width:60px}.pagination-controls{flex-direction:column;align-items:flex-start}}.brands-page{min-height:100vh;background-color:#f5f5f5}.brands-container{max-width:1200px;margin:0 auto;padding:2rem}.brands-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.brands-header h2{font-size:1.8rem;color:#333;margin:0}.brands-list{display:grid;gap:1.5rem}.brand-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.brand-card:hover{box-shadow:0 4px 8px #00000026}.brand-info{display:flex;gap:1.5rem;align-items:center;flex:1}.brand-logo{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border-radius:8px;overflow:hidden}.brand-logo img{max-width:100%;max-height:100%;object-fit:contain}.logo-placeholder{font-size:2.5rem}.brand-details{flex:1}.brand-details h3{margin:0 0 .5rem;font-size:1.4rem;color:#333}.brand-details p{margin:.25rem 0;font-size:.9rem;color:#666}.status{padding:2px 8px;border-radius:4px;font-size:.85rem;font-weight:500}.status.active{background-color:#d4edda;color:#155724}.status.inactive{background-color:#f8d7da;color:#721c24}.brand-actions{display:flex;gap:.5rem}.btn-edit{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-edit:hover{background-color:#0056b3}.btn-delete{padding:.5rem 1rem;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-delete:hover{background-color:#c82333}.btn-primary:hover{background-color:#218838}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:8px;color:#666}.empty-state p{font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #dee2e6}.modal-header h3{margin:0;font-size:1.5rem;color:#333}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.btn-close:hover{color:#333}.modal-content form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.form-group small{display:block;margin-top:.25rem;color:#6c757d;font-size:.85rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:1rem;border-top:1px solid #dee2e6;margin-top:1rem}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem}.layouts-section{margin-top:3rem;padding-top:3rem;border-top:2px solid #e0e0e0}.layouts-list{display:grid;gap:1.5rem}.layout-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.layout-card:hover{box-shadow:0 4px 8px #00000026}.layout-info{flex:1}.layout-info h3{margin:0 0 .5rem;font-size:1.2rem;color:#333}.layout-description{margin:0 0 .75rem;color:#666;font-size:.9rem}.layout-meta{display:flex;gap:1rem;align-items:center}.layout-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;background-color:#e0e0e0;color:#666}.layout-badge.default{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.layout-usage{font-size:.85rem;color:#999}.layout-actions{display:flex;gap:.5rem}.layout-editor-page{min-height:100vh;background-color:#f5f5f5}.editor-container{max-width:1600px;margin:0 auto;padding:2rem}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.header-left{display:flex;align-items:center;gap:1rem}.header-left h2{margin:0;font-size:1.5rem;color:#333}.btn-back{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;text-decoration:none}.btn-back:hover{background-color:#5a6268}.header-actions{display:flex;gap:.5rem}.btn-nav{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-right:.5rem}.btn-nav:hover{background-color:#0056b3}.editor-layout{display:grid;grid-template-columns:400px 1fr;gap:2rem;min-height:calc(100vh - 200px)}.settings-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:fit-content;max-height:calc(100vh - 200px);overflow:hidden;display:flex;flex-direction:column}.settings-scroll{overflow-y:auto;padding:1.5rem}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{margin:0 0 1rem;font-size:1.2rem;color:#333;font-weight:600}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.9rem}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.form-group textarea{resize:vertical;font-family:inherit}.form-group small{display:block;margin-top:.25rem;color:#6c757d;font-size:.8rem}.color-input-group{display:flex;gap:.5rem;align-items:center}.color-input-group input[type=color]{width:50px;height:38px;border:1px solid #ced4da;border-radius:4px;cursor:pointer;padding:2px}.color-input-group input[type=text]{flex:1}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.preview-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:fit-content;max-height:calc(100vh - 200px)}.preview-header{padding:1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.preview-header h3{margin:0;font-size:1.2rem;color:#333}.preview-header small{color:#6c757d;font-style:italic}.preview-content{padding:1.5rem;flex:1;overflow-y:auto}.preview-placeholder{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:3rem 2rem;text-align:center;min-height:500px;display:flex;align-items:center;justify-content:center}.preview-info{max-width:500px}.preview-info p{margin:0 0 1rem;color:#666}.preview-info ul{list-style:none;padding:0;margin:1rem 0;text-align:left}.preview-info li{padding:.5rem;margin-bottom:.5rem;background:#fff;border-radius:4px;display:flex;align-items:center;gap:.5rem}.color-swatch{display:inline-block;width:20px;height:20px;border-radius:4px;border:1px solid #ddd;vertical-align:middle}.preview-note{margin-top:2rem;padding:1rem;background:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;font-size:.9rem;text-align:left}.btn-primary{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-primary:hover:not(:disabled){background-color:#218838}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.btn-secondary{padding:.75rem 1.5rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.btn-secondary:hover{background-color:#5a6268}.message{padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-weight:500}.message-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#666}@media (max-width: 1200px){.editor-layout{grid-template-columns:1fr}.preview-panel{max-height:600px}}.media-library-page{min-height:100vh;background:var(--bg-color, #f8fafc)}.media-page-content{max-width:1400px;margin:0 auto;padding:24px;position:relative}.media-page-content.drag-over{opacity:.7}.drag-overlay-fullpage{position:fixed;top:0;left:0;right:0;bottom:0;background:#2563ebe6;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.drag-icon-large{font-size:64px;margin-bottom:16px}.drag-overlay-fullpage p{color:#fff;font-size:24px;font-weight:600}.drag-overlay-fullpage .drag-overlay-content{text-align:center;color:#fff}.media-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.media-page-title h2{font-size:28px;font-weight:700;color:var(--text-primary, #0f172a);margin:0}.media-count{color:var(--text-secondary, #64748b);font-size:14px;margin-top:4px}.media-page-actions{display:flex;gap:12px;align-items:center}.btn-upload-batch{padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-upload-batch:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-upload-batch:disabled{opacity:.7;cursor:not-allowed}.btn-bulk-delete{padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-bulk-delete:hover{background:#dc2626}.media-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.media-filters{display:flex;gap:4px;background:#fff;border-radius:8px;padding:4px;box-shadow:0 1px 3px #0000001a}.filter-btn{padding:8px 16px;background:none;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f1f5f9}.filter-btn.active{background:#3b82f6;color:#fff}.media-search-bar{flex:1;min-width:200px;display:flex;gap:8px;align-items:center}.media-search-bar input{flex:1;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;transition:border-color .2s}.media-search-bar input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.media-search-bar .btn-clear-search{padding:8px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.view-toggle{display:flex;gap:4px;background:#fff;border-radius:8px;padding:4px;box-shadow:0 1px 3px #0000001a}.view-btn{padding:8px 14px;background:none;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.view-btn:hover{background:#f1f5f9}.view-btn.active{background:#3b82f6;color:#fff}.upload-progress-bar{position:relative;height:40px;background:#e2e8f0;border-radius:8px;margin-bottom:24px;overflow:hidden}.upload-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease;border-radius:8px}.upload-progress-bar span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:13px;font-weight:600;color:#1e293b;z-index:1}.media-loading,.media-empty{text-align:center;padding:80px 20px;color:var(--text-secondary, #64748b)}.empty-icon{font-size:64px;margin-bottom:16px}.media-empty h3{font-size:20px;color:var(--text-primary, #0f172a);margin-bottom:8px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.media-grid-item{background:#fff;border-radius:12px;overflow:hidden;border:2px solid transparent;transition:all .2s;box-shadow:0 1px 3px #0000001a;position:relative}.media-grid-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.media-grid-item.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.media-grid-checkbox{position:absolute;top:8px;left:8px;z-index:2}.media-grid-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.media-grid-image{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f8fafc;overflow:hidden}.media-grid-image img{max-width:100%;max-height:100%;object-fit:contain;padding:8px}.image-placeholder-large{width:60px;height:60px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#94a3b8}.media-grid-info{padding:12px;display:flex;flex-direction:column;gap:4px}.media-grid-name{font-size:13px;font-weight:600;color:var(--text-primary, #0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-grid-type{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #64748b)}.media-grid-date{font-size:11px;color:var(--text-secondary, #64748b)}.media-grid-actions{display:flex;gap:4px;padding:0 12px 12px}.btn-icon{padding:6px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.btn-icon:hover{background:#e2e8f0}.btn-icon.btn-danger{color:#ef4444}.btn-icon.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.inline-edit{display:flex;gap:4px;align-items:center}.inline-edit input{flex:1;padding:4px 8px;border:1px solid #3b82f6;border-radius:4px;font-size:13px}.inline-edit button{padding:4px 8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-size:12px;cursor:pointer}.media-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.media-list-header{display:grid;grid-template-columns:40px 60px 1fr 100px 80px 100px 140px;gap:12px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #64748b);align-items:center}.media-list-row{display:grid;grid-template-columns:40px 60px 1fr 100px 80px 100px 140px;gap:12px;padding:10px 16px;border-bottom:1px solid #f1f5f9;align-items:center;font-size:13px;transition:background .15s}.media-list-row:hover{background:#f8fafc}.media-list-row.selected{background:#eff6ff}.list-col-check input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.list-col-preview{width:48px;height:48px;border-radius:6px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center}.list-col-preview img{max-width:100%;max-height:100%;object-fit:contain}.list-placeholder{width:32px;height:32px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#94a3b8}.list-col-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.type-badge.logo{background:#dbeafe;color:#1d4ed8}.type-badge.image{background:#d1fae5;color:#065f46}.list-col-size,.list-col-date{color:var(--text-secondary, #64748b);font-size:12px}.list-col-actions{display:flex;gap:4px}.btn-icon-small{padding:4px 10px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;cursor:pointer;color:var(--text-secondary);transition:all .15s}.btn-icon-small:hover{background:#e2e8f0}.btn-icon-small.btn-danger{color:#ef4444}.btn-icon-small.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}.media-load-more{display:flex;justify-content:center;margin-top:24px}.media-load-more button{padding:12px 32px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.media-load-more button:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.media-sort-select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;background:#fff;color:var(--text-secondary, #64748b);cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:border-color .2s}.media-sort-select:focus{outline:none;border-color:#3b82f6}.btn-find-duplicates{padding:10px 20px;background:#fff;color:#d97706;border:2px solid #d97706;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-find-duplicates:hover:not(:disabled){background:#fffbeb}.btn-find-duplicates:disabled{opacity:.7;cursor:not-allowed}.media-list-header .sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.media-list-header .sortable:hover,.media-list-header .sortable.sorted{color:#3b82f6}.duplicates-panel{background:#fff;border:2px solid #f59e0b;border-radius:12px;margin-bottom:24px;overflow:hidden}.duplicates-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#fffbeb;border-bottom:1px solid #fde68a}.dup-panel-title{font-size:14px;font-weight:600;color:#92400e}.dup-panel-actions{display:flex;gap:8px}.duplicate-group{padding:16px 20px;border-top:1px solid #fef3c7}.duplicate-group:first-of-type{border-top:none}.dup-group-subtitle{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);margin-bottom:12px;text-transform:uppercase;letter-spacing:.4px}.dup-cards{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.dup-card{width:130px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:8px;gap:6px}.dup-card-thumb{width:110px;height:110px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:4px;overflow:hidden}.dup-card-thumb img{max-width:100%;max-height:100%;object-fit:contain}.dup-card-name{font-size:11px;font-weight:600;color:var(--text-primary, #0f172a);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.dup-card-date{font-size:10px;color:var(--text-secondary, #64748b)}.btn-ignore-pair{padding:6px 14px;background:none;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.btn-ignore-pair:hover{background:#f1f5f9;border-color:#94a3b8}@media (max-width: 768px){.media-page-header{flex-direction:column;gap:16px;align-items:flex-start}.media-toolbar{flex-direction:column}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.media-list-header,.media-list-row{grid-template-columns:40px 48px 1fr 80px}.list-col-size,.list-col-date,.list-col-type{display:none}}.pdfs-page-container{min-height:100vh;background:var(--bg-gradient);background-attachment:fixed}.pdfs-page{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn var(--transition-base) ease-out}.pdfs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.pdfs-header h2{margin:0 0 .25rem;font-size:2rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pdfs-count{font-size:.9rem;color:var(--text-muted)}.pdfs-header-actions{display:flex;gap:.75rem;align-items:center}.pdfs-search{padding:.6rem 1rem;border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:.95rem;background:var(--bg-primary);color:var(--text-primary);width:280px}.pdfs-search:focus{outline:none;border-color:var(--primary-color)}.btn-regenerate-all{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color);padding:.6rem 1.2rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-regenerate-all:hover:not(:disabled){opacity:.85}.btn-regenerate-all:disabled{opacity:.6;cursor:not-allowed}.btn-refresh{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-light);padding:.6rem 1.2rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-refresh:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.pdfs-loading,.pdfs-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1.1rem;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-light)}.pdfs-empty p{margin:.5rem 0}.pdfs-table-wrap{background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);overflow:hidden}.pdfs-table{width:100%;border-collapse:collapse;font-size:.95rem}.pdfs-table thead tr{background:var(--bg-tertiary, #f8f9fa);border-bottom:2px solid var(--border-light)}.pdfs-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.pdfs-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.pdfs-table th.sortable:hover{color:var(--primary-color)}.pdfs-table td{padding:.9rem 1.25rem;border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.pdfs-table tbody tr:last-child td{border-bottom:none}.pdfs-table tbody tr:hover{background:var(--bg-hover, rgba(0,0,0,.02))}.pdf-name{font-weight:500;max-width:300px}.pdf-sku{font-family:monospace;font-size:.9rem;color:var(--text-secondary)}.pdf-date{font-size:.88rem;color:var(--text-muted);white-space:nowrap}.pdf-actions{display:flex;gap:.5rem;white-space:nowrap}.btn-pdf-view,.btn-pdf-download{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all var(--transition-base)}.btn-pdf-view{background:var(--primary-gradient);color:#fff}.btn-pdf-view:hover{opacity:.88;transform:translateY(-1px)}.btn-pdf-download{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-light)}.btn-pdf-download:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--secondary-color: #6b7280;--success-color: #16a34a;--warning-color: #d97706;--error-color: #dc2626;--bg-color: #f9fafb;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--border-color: #e5e7eb;--border-light: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.07);--transition-fast: .12s ease;--transition-base: .2s ease;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-full: 9999px}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg-color);color:var(--text-primary);line-height:1.5;font-size:14px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.dashboard,.products-page-container,.auth-page{animation:fadeIn var(--transition-base) ease-out}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:14px;color:var(--text-secondary)}.loading-content{text-align:center;padding:32px}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg-color)}.auth-container{background:var(--bg-secondary);padding:32px;border-radius:var(--radius-lg);border:1px solid var(--border-color);max-width:400px;width:100%}.auth-header{margin-bottom:24px}.auth-header h1{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.auth-header p{color:var(--text-secondary);font-size:13px}.auth-form h2{margin-bottom:16px;font-size:16px;font-weight:600}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:4px;font-weight:500;font-size:13px;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:#fff;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1f}.form-group small{display:block;margin-top:3px;color:var(--text-muted);font-size:12px}.error-message{background:#fef2f2;color:var(--error-color);padding:8px 12px;border-radius:var(--radius-md);margin-bottom:14px;font-size:13px;border:1px solid #fecaca}.message{padding:8px 12px;border-radius:var(--radius-md);margin-bottom:14px;font-size:13px}.message-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.message-error{background:#fef2f2;color:var(--error-color);border:1px solid #fecaca}.auth-toggle{text-align:center;margin-top:14px;font-size:13px;color:var(--text-secondary)}.link-button{background:none;border:none;color:var(--primary-color);cursor:pointer;text-decoration:underline;font-size:13px}.link-button:hover{color:var(--primary-hover)}.btn-primary,.btn-secondary,.btn-logout,.btn-products,.btn-brands,.btn-database,.btn-users{padding:6px 14px;border:1px solid transparent;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:#fff;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.btn-products,.btn-brands,.btn-database,.btn-users{background:transparent;color:var(--text-secondary);border-color:transparent;padding:6px 12px}.btn-products:hover,.btn-brands:hover,.btn-database:hover,.btn-users:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn-products.active,.btn-brands.active,.btn-database.active,.btn-users.active{color:var(--primary-color);background:var(--primary-light);border-color:transparent;font-weight:600}.btn-logout{background:transparent;color:var(--text-secondary);border-color:var(--border-color)}.btn-logout:hover{color:var(--error-color);border-color:var(--error-color);background:#fef2f2}button:disabled{opacity:.45;cursor:not-allowed}.dashboard{min-height:100vh}.navbar{background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.nav-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:48px}.nav-content h1{font-size:15px;font-weight:600;color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:8px}.user-email{color:var(--text-secondary);font-size:13px}.pdf-builder{max-width:1400px;margin:0 auto;padding:20px}.builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.builder-header h1{font-size:18px;font-weight:600}.product-status-bar{display:flex;align-items:center;gap:10px;margin-top:4px}.status-label{font-size:12px;color:var(--text-secondary)}.completeness-bar-inline{position:relative;width:120px;height:16px;background:var(--border-color);border-radius:8px;overflow:hidden}.completeness-bar-inline .completeness-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#ef4444,#eab308,#22c55e);transition:width .3s}.completeness-bar-inline .completeness-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:600;color:#1f2937}.missing-fields-hint{font-size:12px;color:var(--error-color)}.header-actions{display:flex;gap:8px}.builder-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.sidebar{background:#fff;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border-color);height:fit-content;position:sticky;top:68px}.sidebar h3{margin-bottom:12px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary)}.empty-state{color:var(--text-muted);font-size:13px;text-align:center;padding:16px 0}.product-list{display:flex;flex-direction:column;gap:2px}.product-item{padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);font-size:13px;border:1px solid transparent}.product-item:hover{background:var(--bg-tertiary)}.product-item.active{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.product-item-content{display:flex;flex-direction:column;gap:2px}.product-sku{font-weight:600;font-size:12px}.product-name{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-item.active .product-name{color:var(--primary-color);opacity:.8}.product-date{font-size:11px;color:var(--text-muted)}.more-products-hint{text-align:center;padding:6px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:6px}.main-content{display:flex;flex-direction:column;gap:16px}.form-section{background:#fff;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--border-color)}.form-section h2{font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.image-uploader{display:flex;flex-direction:column;gap:16px}.image-field{display:flex;flex-direction:column;gap:6px}.image-field label{font-weight:500;font-size:13px}.image-input-group{display:flex;gap:6px;align-items:center}.file-input{flex:0 0 auto;font-size:12px}.url-input-wrapper{flex:1}.url-input{width:100%;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px}.btn-clear{padding:5px 10px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:12px}.btn-clear:hover{background:#b91c1c}.image-preview{margin-top:8px;padding:8px;background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:center}.image-preview img{max-width:100%;max-height:160px;border-radius:4px}.image-field-header{display:flex;flex-direction:column;gap:3px;margin-bottom:3px}.field-description{font-size:12px;color:var(--text-secondary)}.image-tip{font-size:12px;color:#0369a1;background:#e0f2fe;padding:6px 10px;border-radius:var(--radius-md);margin-top:6px}.image-section-divider{padding:12px 0;border-top:1px solid var(--border-color);margin:6px 0}.image-section-divider h4{font-size:13px;font-weight:600}.logo-section{margin:14px 0}.logo-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.logo-section-header h4{font-size:13px;font-weight:600}.image-field-buttons{display:flex;gap:6px}.btn-browse-library{padding:5px 10px;background:var(--success-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:12px;font-weight:500;cursor:pointer}.btn-browse-library:hover{background:#15803d}.btn-toggle-library{padding:5px 10px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer}.btn-toggle-library:hover{background:var(--primary-hover)}.length-table{display:flex;flex-direction:column;gap:6px}.length-table-header{display:grid;grid-template-columns:1fr 1fr 36px;gap:6px;font-weight:600;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.length-row{display:grid;grid-template-columns:1fr 1fr 36px;gap:6px;align-items:center}.length-input,.sku-input{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px}.length-input:focus,.sku-input:focus{outline:none;border-color:var(--primary-color)}.btn-add-length{padding:6px 14px;background:transparent;color:var(--primary-color);border:1px dashed var(--primary-color);border-radius:var(--radius-md);cursor:pointer;font-size:13px;margin-top:2px}.btn-add-length:hover{background:var(--primary-color);color:#fff;border-style:solid}.feature-builder{display:flex;flex-direction:column;gap:14px}.feature-section{padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.section-header{display:flex;gap:8px;margin-bottom:12px}.section-title-input{flex:1;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:500}.btn-remove{padding:6px 10px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px}.btn-remove:hover{background:#b91c1c}.feature-items{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.feature-item{display:flex;gap:6px;align-items:center}.bullet{font-size:16px;color:var(--text-muted)}.item-input{flex:1;padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px}.btn-remove-small{padding:3px 7px;background:transparent;color:var(--error-color);border:1px solid var(--error-color);border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.btn-remove-small:hover{background:var(--error-color);color:#fff}.btn-add-item,.btn-add-spec{padding:5px 12px;background:transparent;color:var(--primary-color);border:1px dashed var(--primary-color);border-radius:var(--radius-md);cursor:pointer;font-size:12px}.btn-add-item:hover,.btn-add-spec:hover{background:var(--primary-color);color:#fff;border-style:solid}.btn-add-section{padding:7px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:500}.btn-add-section:hover{background:var(--primary-hover)}.specification-builder{display:flex;flex-direction:column;gap:14px}.spec-section{padding:12px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.section-name-input{flex:1;padding:7px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.section-controls{display:flex;gap:4px}.btn-move{padding:5px 8px;background:var(--secondary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.btn-move:hover:not(:disabled){background:#4b5563}.btn-move:disabled{opacity:.3}.spec-table{margin:12px 0}.spec-table-header{display:grid;grid-template-columns:1fr 2fr 36px;gap:6px;margin-bottom:6px;font-weight:600;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.spec-row{display:grid;grid-template-columns:1fr 2fr 36px;gap:6px;margin-bottom:6px;align-items:start}.spec-name-input,.spec-value-input{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:12px;font-family:inherit}.spec-value-input{resize:vertical;min-height:36px}.csv-import{padding:14px;background:#eff6ff;border:1px dashed var(--primary-color);border-radius:var(--radius-lg);margin-bottom:16px}.csv-import h3{font-size:14px;margin-bottom:6px;color:var(--primary-color)}.csv-import-description{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.csv-import-actions{display:flex;gap:8px;margin-bottom:10px}.btn-download-template,.btn-upload-csv{padding:6px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer}.btn-download-template{background:#fff;border:1px solid var(--primary-color);color:var(--primary-color)}.btn-download-template:hover{background:var(--primary-color);color:#fff}.btn-upload-csv{background:var(--primary-color);color:#fff;border:none}.btn-upload-csv:hover{background:var(--primary-hover)}.file-upload-wrapper{position:relative}.csv-file-input{position:absolute;opacity:0;width:0;height:0}.csv-error{padding:8px;background:#fef2f2;color:var(--error-color);border-radius:var(--radius-md);font-size:12px;margin-top:8px}.csv-format-info{margin-top:12px}.csv-format-info summary{font-size:12px;color:var(--text-secondary);cursor:pointer;padding:6px;background:#fff;border-radius:var(--radius-sm)}.format-guide-content{padding:10px;margin-top:6px;background:#fff;border-radius:var(--radius-sm);font-size:12px}.format-guide-content pre{background:var(--bg-tertiary);padding:8px;border-radius:var(--radius-sm);overflow-x:auto;margin:6px 0}.format-guide-content ul{margin-left:16px;margin-top:6px}.format-guide-content li{margin-bottom:3px}.action-buttons{display:flex;gap:8px;justify-content:flex-end;padding:16px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-color)}@media (max-width: 1024px){.builder-layout{grid-template-columns:1fr}.sidebar{position:static}.form-row{grid-template-columns:1fr}}@media (max-width: 768px){.pdf-builder{padding:12px}.builder-header{flex-direction:column;align-items:flex-start;gap:12px}.nav-content{flex-direction:column;height:auto;padding:10px 16px;gap:8px}.spec-table-header,.spec-row{grid-template-columns:1fr}.spec-row .btn-remove-small{justify-self:start}}
