.toast-container{display:flex;flex-direction:column;gap:12px;position:fixed;right:20px;top:20px;z-index:9999}.toast{align-items:center;animation:slideIn .3s ease-out;border-radius:6px;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;min-width:300px;padding:12px 16px}.toast-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.toast-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.toast-warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.toast-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.toast button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;margin-left:12px;opacity:.7;padding:0}.toast button:hover{opacity:1}@media (max-width:768px){.toast-container{left:20px;right:20px}.toast{min-width:auto}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background-color:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header img{border-radius:12px;height:60px;margin-bottom:16px;width:60px}.login-header h1{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.login-header p{color:#666;font-size:14px}.login-form,.login-form .form-group{margin-bottom:20px}.login-form label{color:#333;display:block;font-weight:500;margin-bottom:6px}.login-form input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.login-form input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.login-button{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s ease;width:100%}.login-button:hover:not(:disabled){background-color:#0056b3}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #eee;padding-top:20px;text-align:center}.login-footer p{background-color:#f8f9fa;border-radius:4px;color:#666;font-size:12px;margin:0;padding:8px 12px}.login-form select{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px 16px;transition:border-color .2s ease;width:100%}.login-form select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{padding-right:45px}.password-toggle-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .2s ease,background-color .2s ease}.password-toggle-btn:hover:not(:disabled){background-color:#007bff1a;color:#007bff}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.password-toggle-btn svg{height:18px;width:18px}.sidebar{background-color:#2c3e50;color:#fff;height:100vh;left:0;overflow-x:hidden;position:fixed;top:0;transition:width .3s ease;width:250px;z-index:100}.sidebar.collapsed{width:70px}.sidebar-header{border-bottom:1px solid #34495e;padding:20px}.logo,.sidebar-header{align-items:center;display:flex;gap:12px}.logo img{border-radius:8px;height:40px;width:40px}.logo-text{font-size:18px;font-weight:600;white-space:nowrap}.sidebar.collapsed .logo-text{display:none}.sidebar-nav{padding:20px 0}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin-bottom:4px}.nav-link{align-items:center;background:none;border:none;color:#bdc3c7;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 20px;text-decoration:none;transition:all .2s ease;width:100%}.nav-link:hover{background-color:#34495e;color:#fff}.nav-item.active .nav-link{background-color:#3498db;color:#fff}.nav-icon{flex-shrink:0;font-size:18px;text-align:center;width:20px}.nav-label{white-space:nowrap}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:12px}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}}.header{background-color:#fff;border-bottom:1px solid #eee;box-shadow:0 2px 4px #0000001a;height:60px;justify-content:space-between;padding:0 20px}.header,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:20px}.sidebar-toggle{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;flex-shrink:0;font-size:18px;padding:8px}.sidebar-toggle:hover{background-color:#f5f5f5}.search-container{flex:1 1;max-width:800px;z-index:1001}body.modal-open .search-container,body.modal-open .search-results{z-index:1001}.search-input-wrapper{position:relative;width:100%}.search-input{height:49px;padding:4px 16px 2px 48px}.search-input:focus{box-shadow:0 0 0 2px #007bff40}.search-icon{width:20px}.search-results{background-color:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 8px 32px #00000026;filter:none!important;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1001}.search-result-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background-color .2s ease}.search-result-item:hover{background-color:#f8f9fa}.search-result-item:active{background-color:#e9ecef}.result-image img{border-radius:4px;height:40px;object-fit:cover;width:40px}.result-info{flex:1 1}.result-name{color:#333;font-weight:500;margin-bottom:4px}.result-details{color:#666;font-size:12px}.search-see-all{background-color:#f8f9fa;border-top:1px solid #eee;padding:12px 16px;text-align:center}.search-see-all button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.search-see-all button:hover{background:#0056b3}.search-active:before{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000004d;bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:999}.search-input:focus{background-color:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff40,0 4px 16px #0000001a;transform:scale(1.02)}.header-right{flex-shrink:0;gap:16px}.user-menu{position:relative}.user-menu-trigger{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:background-color .2s ease}.user-menu-trigger:hover{background-color:#f5f5f5}.user-avatar{font-size:14px;height:32px;width:32px}.user-name{color:#333;font-size:14px;font-weight:500}.dropdown-arrow{font-size:10px}.user-menu-dropdown{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 6px #0000001a;margin-top:4px;min-width:180px;position:absolute;right:0;top:100%;z-index:1000}.user-info{border-bottom:1px solid #eee;padding:12px 16px}.user-info .user-name{font-weight:600;margin-bottom:4px}.user-role{color:#666;font-size:12px;text-transform:capitalize}.menu-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:10px 16px;text-align:left;transition:background-color .2s ease;width:100%}.menu-item:hover{background-color:#f8f9fa}.menu-item.logout{color:#dc3545}.menu-item.logout:hover{background-color:#f8f9fa}@media (max-width:768px){.header-left{gap:10px}.search-container{max-width:none}.user-name{display:none}}.layout{display:flex;min-height:100vh}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:250px;max-width:87%;transition:margin-left .3s ease}.main-content.sidebar-collapsed{margin-left:50px}.content{background-color:#f5f5f5;flex:1 1;overflow-y:auto;padding:20px;width:100%}@media (max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0}}.dashboard{background:linear-gradient(135deg,#f8fafc,#e2e8f0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1700px;min-height:100vh;padding:24px}.dashboard-loading{align-items:center;display:flex;justify-content:center;min-height:60vh}.loading-spinner{text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;margin:0 auto 16px;width:40px}.loading-spinner p{color:#64748b;font-size:14px;font-weight:500}.dashboard-error{align-items:center;display:flex;justify-content:center;min-height:60vh}.error-content{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:40px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-content h3{color:#1e293b;font-size:20px;font-weight:600;margin-bottom:8px}.error-content p{color:#64748b;margin-bottom:24px}.retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.retry-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.dashboard-header{margin-bottom:32px}.header-content{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 12px #00000014;display:flex;justify-content:space-between;padding:24px}.welcome-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:28px;font-weight:700;margin-bottom:8px}.welcome-section p{color:#64748b;font-size:16px;font-weight:500}.header-actions{gap:12px}.refresh-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.refresh-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stat-card{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 12px #00000014;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:var(--card-gradient);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.stat-card:hover{box-shadow:0 8px 25px #00000026}.stat-card:hover:before{opacity:1}.stat-icon{box-shadow:0 4px 12px #00000026;color:#fff;flex-shrink:0;height:56px;width:56px}.stat-content span{color:#64748b;font-size:16px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.stat-number{color:#1e293b;font-size:10px;font-weight:800;line-height:1}.dashboard-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.dashboard-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.dashboard-section:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-2px)}.section-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.section-header h2{color:#1e293b;font-size:16px;font-weight:700;margin:0}.section-count{background:#f1f5f9;border-radius:6px;color:#64748b;font-size:10px;font-weight:600;padding:4px 8px}.vendor-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;overflow:hidden;padding:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.vendor-item:hover{border-color:#667eea4d;box-shadow:0 4px 16px #667eea26;transform:translateX(4px)}.vendor-rank{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;flex-shrink:0;font-size:16px;font-weight:800;min-width:40px;padding:8px 12px;text-align:center}.vendor-info{min-width:0}.vendor-name{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vendor-count{color:#64748b;font-size:11px;font-weight:500}.vendor-progress{flex-shrink:0;width:80px}.progress-bar{background:#e2e8f0;border-radius:3px;height:6px}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px;transition:width .6s cubic-bezier(.4,0,.2,1)}.recent-products{display:flex;flex-direction:column;gap:12px}.product-item{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.product-item:hover{border-color:#667eea4d;box-shadow:0 4px 16px #667eea26;transform:translateX(4px)}.product-image img{border:2px solid #667eea33;border-radius:8px;box-shadow:0 2px 8px #0000001a;height:48px;object-fit:cover;width:48px}.product-info{flex:1 1;min-width:0}.product-name{color:#1e293b;font-size:13px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-meta{gap:12px;margin-bottom:4px}.product-sku,.product-vendor{color:#64748b;font-size:10px;font-weight:500}.product-price{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#667eea;font-size:14px;font-weight:700}.product-status{flex-shrink:0}.status-badge{border-radius:4px;font-size:9px;padding:3px 6px}.status-badge.in-stock{background:#dcfce7;color:#166534}.status-badge.out-of-stock{background:#fef2f2;color:#dc2626}@media (max-width:1024px){.dashboard-content{gap:20px;grid-template-columns:1fr}.header-content{align-items:flex-start;flex-direction:column;gap:16px}}@media (max-width:768px){.dashboard{padding:16px}.stats-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{padding:20px}.stat-icon{font-size:20px;height:48px;width:48px}.stat-number{font-size:28px}.welcome-section h1{font-size:24px}.dashboard-section{padding:20px}.product-item,.vendor-item{padding:12px}.vendor-rank{font-size:14px;min-width:36px;padding:6px 10px}.product-image img{height:40px;width:40px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.product-item,.stat-card,.vendor-item{flex-direction:column;gap:12px;text-align:center}.vendor-progress{width:100%}.product-status{align-self:center}}.product-modal{width:800px}.product-form{padding:20px}.form-grid{grid-gap:16px;gap:16px}.form-group.category-field{grid-column:1/-1}.form-group.checkbox-group{align-items:center;display:flex}.form-group.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px;margin-bottom:0}.form-group.checkbox-group input[type=checkbox]{margin:0;width:auto}.hierarchical-option{padding:6px 12px}.hierarchical-option:hover{background:#e3f2fd}.connection-line{background-color:#ddd;position:absolute;z-index:1}.category-level,.category-type{border-radius:3px;font-size:10px;margin-left:4px;padding:2px 4px}.category-type{background-color:#f3f4f6;color:#6b7280}.hierarchical-category-option .dropdown-option:hover{border-left:3px solid #007bff}@media (max-width:768px){.product-modal{width:95vw}.form-grid{grid-template-columns:1fr}.custom-dropdown-button{font-size:13px;padding:6px 10px}.dropdown-option{font-size:12px;padding:6px 10px}.hierarchical-option{font-size:11px}}.bulk-edit-modal{max-height:90vh;max-width:90vw;overflow-y:auto;width:800px}.bulk-edit-notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:14px;margin:20px;padding:12px 16px}.bulk-edit-form{padding:0 20px 20px}.form-grid{grid-template-columns:1fr 1fr;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-group input,.form-group select{border-radius:4px;padding:8px 12px}.custom-dropdown-container{position:relative;width:100%}.custom-dropdown-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:8px 12px;text-align:left;transition:border-color .2s;width:100%}.custom-dropdown-button:hover{border-color:#007bff}.dropdown-arrow{color:#666;font-size:12px;transition:transform .2s}.custom-dropdown-menu{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;left:0;max-height:400px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.dropdown-search-container{background:#f8f9fa;border-bottom:1px solid #f0f0f0;padding:8px 12px}.dropdown-search-input{background:#fff;border:1px solid #ddd;border-radius:3px;font-size:13px;outline:none;padding:6px 8px;width:100%}.dropdown-search-input:focus{border-color:#007bff}.dropdown-options{max-height:350px;overflow-y:auto;scrollbar-color:#c1c1c1 #f1f1f1;scrollbar-width:thin}.dropdown-options::-webkit-scrollbar{width:6px}.dropdown-options::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.dropdown-options::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.dropdown-option{border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:13px;padding:8px 12px;transition:background .2s}.dropdown-option:hover{background:#f8f9fa}.dropdown-option:last-child{border-bottom:none}.expand-button{align-items:center;background:none;border:none;border-radius:2px;color:#666;cursor:pointer;display:inline-flex;font-size:10px;height:16px;justify-content:center;margin-right:4px;min-width:16px;padding:2px 4px;transition:all .2s}.expand-button:hover{background-color:#e3f2fd;color:#1976d2}.hierarchical-option{align-items:center;border-radius:4px;color:#333;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;gap:8px;line-height:1.5;margin:1px 0;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.hierarchical-option:hover{background:#f8f9fa;color:#1976d2}.category-icon{font-size:14px}.category-name{transition:color .2s}.category-name:hover{color:#1976d2}.product-count{background-color:#d1fae5}.product-count,.subcategory-count{font-size:10px;font-weight:500;margin-left:4px}.subcategory-count{background-color:#f3f4f6;color:#6b7280}.hierarchical-category-option{position:relative}.hierarchical-category-option .dropdown-option{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.hierarchical-category-option .dropdown-option:hover{background-color:#f8f9fa}.hierarchical-category-option .dropdown-option:last-child{border-bottom:none}.hierarchical-category-option .hierarchical-category-option{border-left:1px solid #e5e7eb;margin-left:16px;padding-left:8px;position:relative}.hierarchical-category-option .hierarchical-category-option .hierarchical-option{background-color:#fafafa;border-radius:4px;margin:2px 0;position:relative}.hierarchical-category-option .hierarchical-category-option .hierarchical-option:hover{background-color:#f0f8ff}.hierarchical-category-option .hierarchical-category-option .hierarchical-category-option{border-left:1px solid #e5e7eb;margin-left:16px;padding-left:8px}@media (max-width:768px){.bulk-edit-modal{width:95vw}.form-grid{grid-template-columns:1fr}.custom-dropdown-button{font-size:13px;padding:6px 10px}.dropdown-option{font-size:12px;padding:6px 10px}.hierarchical-option{font-size:11px}}.csv-import-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.csv-import-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;position:relative;width:90%}.modal-header{background:#f9fafb}.modal-header h2{color:#111827;font-size:1.5rem}.close-btn{color:#6b7280;transition:color .2s}.close-btn:hover{color:#374151}.modal-body{flex:1 1;overflow-y:auto}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.error-banner .error-close{background:none;border:none;color:#dc2626;cursor:pointer;font-size:18px;margin-left:12px;padding:0}.error-banner .error-close:hover{color:#b91c1c}.upload-step{padding:40px 20px;text-align:center}.upload-step h3{color:#111827;font-size:1.25rem;margin-bottom:12px}.upload-step p{color:#6b7280;margin-bottom:24px}.file-input{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:12px;transition:border-color .2s;width:100%}.file-input:hover{border-color:#3b82f6}.template-download{margin-bottom:20px;text-align:center}.template-download .btn-outline{background:#0000;border:1px solid #3b82f6;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.template-download .btn-outline:hover{background:#3b82f6;color:#fff}.template-info{color:#6b7280;font-size:12px;margin-top:8px}.mapping-step h3{color:#111827;font-size:1.25rem;margin-bottom:12px}.mapping-step p{color:#6b7280;margin-bottom:24px}.field-mapping-container{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;max-height:400px;overflow-y:auto;padding:16px}.field-mapping-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:16px;margin-bottom:8px;padding:12px}.field-mapping-row:last-child{margin-bottom:0}.csv-header{color:#374151;flex:1 1;font-weight:500;min-width:150px}.mapping-arrow{color:#6b7280;font-size:18px;font-weight:700}.db-field-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:2 1;font-size:14px;min-width:250px;padding:8px 12px}.db-field-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.mapping-summary{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-bottom:20px;padding:16px}.mapping-summary h4{color:#0c4a6e;font-size:1rem;margin:0 0 12px}.summary-grid{grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.summary-item{align-items:center;background:#fff;border-radius:4px;display:flex;font-size:14px;gap:8px;padding:6px 8px}.summary-item .csv-col{color:#374151}.summary-item .arrow{color:#6b7280}.summary-item .db-field{color:#059669}.preview-step h3{color:#111827;font-size:1.25rem;margin-bottom:12px}.preview-step p{color:#6b7280;margin-bottom:24px}.preview-info{background:#f3f4f6;border-radius:8px;margin-bottom:20px;padding:16px}.preview-info p{color:#374151;margin:4px 0}.preview-table{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;max-height:300px;overflow-y:auto}.preview-table table{font-size:14px}.preview-table td,.preview-table th{border-bottom:1px solid #e5e7eb;padding:12px}.preview-table th{background:#f9fafb;color:#374151;position:-webkit-sticky;position:sticky;top:0}.preview-table td{color:#6b7280}.preview-table tr:hover{background:#f9fafb}.results-step h3{color:#111827;font-size:1.25rem;margin-bottom:12px}.import-results{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-bottom:20px;padding:20px}.result-item{color:#0c4a6e;margin-bottom:12px}.result-item:last-child{margin-bottom:0}.error-list{color:#dc2626;margin:8px 0 0;padding-left:20px}.error-list li{font-size:14px;margin-bottom:4px}.results-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.result-card{align-items:center;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;padding:20px;transition:transform .2s}.result-card:hover{transform:translateY(-2px)}.result-card.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981}.result-card.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.result-card.error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #ef4444}.result-icon{font-size:24px;margin-right:15px}.result-content{flex:1 1}.result-number{color:#1f2937;font-size:24px;font-weight:700;margin-bottom:4px}.result-label{color:#6b7280;font-size:14px;font-weight:500}.results-details{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.results-details h4{color:#374151;font-size:16px;margin:0 0 15px}.detail-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:10px 0}.detail-item:last-child{border-bottom:none}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#1f2937;font-weight:600}.detail-value.success{color:#059669}.detail-value.info{color:#3b82f6}.error-details{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:20px}.error-details h4{color:#dc2626;font-size:16px;margin:0 0 15px}.error-list{max-height:200px;overflow-y:auto}.error-item{align-items:flex-start;border-bottom:1px solid #fecaca;display:flex;padding:8px 0}.error-item:last-child{border-bottom:none}.error-icon{font-size:14px;margin-right:8px}.error-text{color:#dc2626;font-size:14px;line-height:1.4}.success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.success-message p{color:#065f46;font-weight:500;margin:0 0 10px}.success-message p:last-child{color:#047857;font-size:14px;margin-bottom:0}.import-progress-overlay{align-items:center;background:#fffffff2;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.import-progress-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:500px;padding:30px;width:90%}.import-progress-modal h3{color:#1f2937;font-size:20px;margin-bottom:25px;text-align:center}.progress-container{margin-bottom:25px}.progress-bar{background:#e5e7eb;border-radius:6px;height:12px;margin-bottom:10px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:6px;height:100%;transition:width .3s ease}.progress-text{color:#374151;font-size:16px;font-weight:600;text-align:center}.progress-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.stat-item{background:#f8f9fa;border-radius:6px;justify-content:space-between;padding:10px}.stat-label{color:#6b7280;font-size:14px}.stat-value{color:#1f2937;font-weight:600}.stat-value.success{color:#059669}.stat-value.warning{color:#d97706}.stat-value.error{color:#dc2626}.stat-value.info{color:#3b82f6}.progress-message{color:#6b7280;font-size:14px;font-style:italic;margin-top:16px;text-align:center}.current-product{background:#f3f4f6;border-left:4px solid #3b82f6;border-radius:6px;display:flex;flex-direction:column;gap:4px;margin-top:16px;padding:12px 16px}.current-product-label{color:#6b7280;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.current-product-name{color:#111827;font-size:14px;font-weight:600;word-break:break-word}.import-mode-selection{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:24px 0;padding:20px}.import-mode-selection h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 16px}.import-mode-options{display:flex;flex-direction:column;gap:12px}.import-mode-option{align-items:flex-start;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;padding:16px;transition:all .2s ease}.import-mode-option:hover{background:#f0f9ff;border-color:#3b82f6}.import-mode-option input[type=radio]{accent-color:#3b82f6;margin-right:12px;margin-top:2px}.import-mode-option input[type=radio]:checked+.mode-content{color:#1e40af}.mode-content{flex:1 1}.mode-title{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:4px}.mode-description{color:#64748b;font-size:.875rem;line-height:1.4}.import-mode-option:has(input[type=radio]:checked){background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.import-estimate{margin-bottom:24px}.estimate-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;padding:16px}.estimate-card,.estimate-icon{align-items:center;display:flex}.estimate-icon{background:#fff3;border-radius:50%;font-size:24px;height:48px;justify-content:center;margin-right:16px;width:48px}.estimate-content{flex:1 1}.estimate-title{font-size:14px;margin-bottom:4px;opacity:.9}.estimate-time{font-size:24px;font-weight:700;margin-bottom:4px}.estimate-performance{font-size:12px;line-height:1.3;opacity:.8}.performance-warning{align-items:flex-start;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;color:#92400e;display:flex;margin-top:12px;padding:12px}.warning-icon{font-size:18px;margin-right:12px;margin-top:2px}.warning-content{flex:1 1}.warning-title{font-size:14px;font-weight:600;margin-bottom:4px}.warning-message{font-size:13px;line-height:1.4}.warning-message strong{color:#d97706}.step-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:20px;padding-top:20px}.btn{transition:all .2s}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}@media (max-width:768px){.csv-import-modal{margin:20px;width:95%}.field-mapping-row{align-items:flex-start;flex-direction:column;gap:8px}.csv-header{min-width:auto}.db-field-select{min-width:auto;width:100%}.mapping-arrow{align-self:center}.summary-grid{grid-template-columns:1fr}.step-actions{flex-direction:column;gap:12px}.step-actions .btn{width:100%}.progress-stats{gap:8px;grid-template-columns:1fr}.current-product{margin-top:12px;padding:10px 12px}.current-product-name{font-size:13px}.import-progress-modal{padding:24px}}.field-mapping-container::-webkit-scrollbar,.preview-table::-webkit-scrollbar{width:6px}.field-mapping-container::-webkit-scrollbar-track,.preview-table::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.field-mapping-container::-webkit-scrollbar-thumb,.preview-table::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.field-mapping-container::-webkit-scrollbar-thumb:hover,.preview-table::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.import-options{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.import-options h4{color:#333;font-size:16px;font-weight:600;margin:0 0 16px}.option-group{margin-bottom:20px}.option-group:last-child{margin-bottom:0}.option-label{align-items:center;cursor:pointer;display:flex;gap:12px;margin-bottom:8px}.option-checkbox{cursor:pointer;height:18px;width:18px}.option-text{color:#333;font-weight:500}.option-description{color:#666;font-size:14px;line-height:1.4;margin:0 0 0 30px}.vendor-select-container{align-items:center;display:flex;gap:8px}.vendor-select{background:#fff;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px;padding:8px 12px;transition:all .2s ease}.vendor-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.vendor-select.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.add-vendor-btn{align-items:center;background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:36px;justify-content:center;min-width:36px;padding:8px 12px;transition:all .2s ease}.add-vendor-btn:hover{background:#059669;transform:scale(1.05)}.add-vendor-btn:active{transform:scale(.95)}.option-text.required{color:#dc2626;font-weight:600}.error-message{align-items:center;color:#dc2626;display:flex;font-size:13px;font-weight:500;gap:4px;margin:8px 0 0 30px}.category-cell{background-color:#f8f9fa;border-left:3px solid #667eea}.category-path{font-size:12px;line-height:1.3}.category-path strong{color:#667eea;font-weight:600}.subcategory-cell{background-color:#f8f9fa;color:#666;font-size:11px}.preview-table table{border-collapse:collapse;font-size:12px;width:100%}.preview-table td,.preview-table th{border:1px solid #ddd;padding:8px;text-align:left;vertical-align:top}.preview-table th{background-color:#f5f5f5;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.preview-table tr:nth-child(2n){background-color:#fafafa}.preview-table tr:hover{background-color:#f0f8ff}.summary-item.category-field{background-color:#f0f8ff;border-left:3px solid #667eea;padding-left:12px}.category-field-name{color:#667eea;font-weight:600}.summary-grid{grid-gap:12px;align-items:center;background:#fafafa;border:1px solid #e9ecef;border-radius:6px;display:grid;gap:12px;grid-template-columns:1fr auto 1fr;max-height:300px;overflow-y:auto;padding:12px}.summary-item{display:contents}.summary-item .csv-col{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-weight:500;padding:4px 8px}.summary-item .arrow{color:#667eea;font-weight:700;text-align:center}.summary-item .db-field{background:#fff;border:1px solid #ddd;border-radius:4px;color:#555;font-weight:500;padding:4px 8px}.vendor-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.vendor-modal{animation:slideIn .3s ease;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:450px;width:90%}.vendor-modal-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.vendor-modal-header h3{color:#1a1a1a;font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.vendor-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.vendor-modal-close:hover{background:#dc35451a;color:#dc3545;transform:scale(1.1)}.vendor-modal-body{padding:24px}.vendor-modal-body .form-group{margin-bottom:20px}.vendor-modal-body .form-group label{color:#495057;display:block;font-size:14px;font-weight:600;letter-spacing:-.1px;margin-bottom:8px}.vendor-name-input{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.vendor-name-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none;transform:translateY(-1px)}.vendor-modal-body .form-help{color:#6c757d;display:block;font-size:12px;font-style:italic;line-height:1.4;margin-top:6px}.vendor-modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.vendor-modal-actions .btn{align-items:center;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease}.vendor-modal-actions .btn:hover:not(:disabled){box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.vendor-modal-actions .btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.vendor-modal{margin:20px;width:95%}.vendor-modal-body{padding:20px}.vendor-modal-actions{flex-direction:column;gap:8px}.vendor-modal-actions .btn{justify-content:center;width:100%}.vendor-select-container{align-items:stretch;flex-direction:column;gap:8px}.vendor-select{min-width:auto;width:100%}.add-vendor-btn{align-self:flex-start}}.modal-content{box-shadow:0 4px 20px #00000026}.export-modal{max-width:600px;width:90%}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:18px}.close-button{border-radius:4px;transition:background .2s}.close-button:hover{background:#f0f0f0}.modal-body{padding:20px}.modal-body p{color:#333;font-weight:500;margin-bottom:15px}.export-options{margin:20px 0}.export-option{align-items:flex-start;border:2px solid #e1e5e9;border-radius:8px;display:flex;margin-bottom:20px;padding:15px;transition:border-color .2s ease}.export-option:hover{border-color:#007bff}.export-option input[type=radio]{margin-right:15px;margin-top:3px;transform:scale(1.2)}.export-option label{cursor:pointer;flex:1 1;margin:0}.export-option label strong{color:#333;display:block;font-size:16px;margin-bottom:8px}.export-option label p{color:#666;font-size:14px;line-height:1.4;margin:5px 0}.export-option input[type=radio]:checked+label{color:#007bff}.export-option input[type=radio]:checked{accent-color:#007bff}.modal-footer{border-top:1px solid #e0e0e0;gap:10px}.btn{transition:background-color .2s}.btn-primary:hover{background-color:#0056b3}.btn-secondary:hover{background-color:#545b62}

/*!
 * 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{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.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:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.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-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.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 .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .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-stroke.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{fill:#444}.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,.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-stroke.ql-thin,.ql-snow .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{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.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;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[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-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[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-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[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-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[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-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[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 #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.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:0}.ql-snow .ql-tooltip{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]{border:1px solid #ccc;display:none;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:0;padding-right:0}.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}.hierarchical-category-select{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;isolation:isolate;position:relative;width:100%;z-index:1}.select-trigger{align-items:center;background:linear-gradient(135deg,#fff,#fafafa);border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;justify-content:space-between;min-height:40px;overflow:hidden;padding:8px 12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.select-trigger:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.select-trigger:hover:before{left:100%}.select-trigger:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}.select-trigger:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a,0 4px 12px #3b82f626;outline:none}.selected-value{color:#1f2937;flex:1 1;font-size:14px;font-weight:500;letter-spacing:.025em}.select-arrow{align-items:center;background:#6b72801a;border-radius:50%;color:#6b7280;display:flex;font-size:16px;height:24px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.hierarchical-category-select.open .select-arrow{background:#3b82f61a;color:#3b82f6;transform:rotate(180deg)}.select-dropdown{animation:dropdownSlideIn .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fff,#fafafa);border:1px solid #fff3;border-radius:16px;box-shadow:0 25px 50px -12px #00000026,0 10px 20px -5px #0000001a;display:flex;flex-direction:column;height:auto;margin-top:8px;max-height:320px;overflow:hidden;transform:translateZ(0)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.search-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px 16px 0 0;padding:12px 16px}.search-input{border:2px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 4px #0000000d;font-size:13px;padding:8px 12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-input:focus{box-shadow:0 0 0 4px #3b82f61a,0 4px 12px #3b82f626;transform:translateY(-1px)}.options-container{max-height:260px;overflow-y:auto;padding:6px 0}.category-option{align-items:center;border:1px solid #0000;border-radius:10px;color:#374151;cursor:pointer;display:flex;flex-direction:column;font-size:13px;justify-content:center;margin:2px 6px;min-height:36px;overflow:visible;padding:8px 12px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.category-option:before{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease;z-index:-1}.category-option:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e2e8f0;box-shadow:0 4px 12px #00000014;transform:translateX(3px)}.category-option.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;box-shadow:0 4px 12px #3b82f626;color:#1e40af;font-weight:600;transform:translateX(2px)}.category-option.selected:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd);box-shadow:0 6px 16px #3b82f633;color:#1e3a8a}.tree-lines{align-items:center;display:flex;height:100%;left:-16px;pointer-events:none;position:absolute;top:0;z-index:0}.tree-line{height:100%;margin-right:8px;width:1px}.tree-line,.tree-line-continue{background-color:#d1d5db}.tree-line-last{background-color:initial}.tree-connector{color:#6b7280;font-family:Courier New,monospace;font-size:14px;font-weight:700;line-height:1;margin-right:4px}.tree-connector-continue,.tree-connector-last{color:#6b7280}.category-content{align-items:center;justify-content:space-between;position:relative;width:100%;z-index:1}.category-name{color:inherit;cursor:pointer;flex:1 1;font-size:13px;letter-spacing:.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-option:hover .category-name{color:#3b82f6;transform:translateX(1px)}.category-option.selected .category-name{color:#1e40af;font-weight:600}.product-count{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #0000000d;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#6b7280;font-size:11px;min-width:24px;padding:3px 8px;text-align:center;transition:all .2s ease}.category-option:hover .product-count{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#4f46e533;color:#4f46e5}.category-option.selected .product-count{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #1e40af4d;box-shadow:0 2px 4px #1e40af1a;color:#1e40af}.category-path{border-radius:6px;margin-top:2px;padding:2px 6px;position:relative;z-index:1}.category-option.selected .category-path{background:#3b82f61a;border-left-color:#3b82f6;color:#6b7280}.no-options{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #e2e8f0;border-radius:8px;color:#6b7280;font-size:12px;font-style:italic;margin:4px;padding:12px;text-align:center}.options-container::-webkit-scrollbar{width:8px}.options-container::-webkit-scrollbar-track{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:10px;margin:4px}.options-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);background-clip:content-box;border:2px solid #0000;border-radius:10px}.options-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}@media (max-width:768px){.select-dropdown{max-height:280px}.options-container{max-height:220px}.category-option{margin:1px 4px;padding:8px 12px}.category-path{font-size:10px;padding:2px 6px}.search-input{font-size:13px;padding:8px 12px}.select-trigger{min-height:40px;padding:8px 12px}}.category-tree-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:99999}.category-tree-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:80vh;max-width:90vw;min-height:500px;overflow:hidden;width:800px}.category-trigger-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-size:13px;justify-content:space-between;min-height:36px;padding:8px 12px;transition:all .2s ease;width:100%}.category-trigger-button:hover{background:#f9fafb;border-color:#9ca3af}.category-trigger-button:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.category-trigger-content{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;min-width:0}.category-trigger-name{color:#1f2937;font-weight:500}.category-trigger-name,.category-trigger-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.category-trigger-path{color:#6b7280;font-size:11px}.category-trigger-placeholder{color:#9ca3af;font-style:italic}.category-trigger-arrow{color:#6b7280;flex-shrink:0;font-size:14px;margin-left:8px;transition:transform .2s ease}.category-trigger-button:hover .category-trigger-arrow{transform:translateY(1px)}.hierarchical-category-tree{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:12px;height:100%;max-height:100%;overflow:hidden}.tree-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 12px}.tree-title{color:#1e293b;font-size:13px;font-weight:600;margin:0}.tree-actions{gap:4px}.collapse-all-btn,.expand-all-btn{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:11px;font-weight:500;padding:4px 8px;transition:all .2s ease}.collapse-all-btn:hover,.expand-all-btn:hover{background:#f3f4f6;border-color:#9ca3af}.close-modal-btn{background:#fff;border:1px solid #ef4444;border-radius:4px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:600;margin-left:4px;padding:4px 8px;transition:all .2s ease}.close-modal-btn:hover{background:#ef4444;color:#fff}.current-selection{align-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-bottom:1px solid #e2e8f0;display:flex;font-size:11px;gap:8px;padding:8px 12px}.current-selection-label{color:#1e40af;flex-shrink:0;font-weight:600}.current-selection-content{flex:1 1;min-width:0}.current-category-name{color:#1e40af;font-weight:600;margin-bottom:2px}.current-category-path{color:#6b7280;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-selection .clear-selection-btn{background:#fff;border:1px solid #3b82f6;border-radius:3px;color:#3b82f6;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px;transition:all .2s ease}.current-selection .clear-selection-btn:hover{background:#3b82f6;color:#fff}.search-container{background:#fafafa;border-bottom:1px solid #f1f5f9;padding:8px 12px}.search-input{background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:11px;outline:none;padding:6px 8px;transition:all .2s ease}.search-input:focus{box-shadow:0 0 0 2px #3b82f61a}.search-input::placeholder{color:#9ca3af;font-style:italic}.tree-container{flex:1 1;min-height:200px;overflow-y:auto;padding:4px 0;scrollbar-color:#c1c1c1 #f1f1f1;scrollbar-width:thin}.tree-container::-webkit-scrollbar{width:8px}.tree-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tree-container::-webkit-scrollbar-thumb{background:#888;border:1px solid #f1f1f1;border-radius:4px}.tree-container::-webkit-scrollbar-thumb:hover{background:#555}.category-tree-item{position:relative}.category-row{align-items:flex-start;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;min-height:40px;padding:8px 12px;transition:all .2s ease}.category-row:hover{background:#f8fafc}.category-row.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.chevron{align-items:center;border-radius:3px;color:#6b7280;cursor:pointer;display:flex;height:16px;justify-content:center;margin-right:6px;transition:all .2s ease;width:16px}.chevron:hover{background:#6b72801a;color:#374151}.chevron.expanded{color:#3b82f6;transform:rotate(90deg)}.chevron svg{transition:transform .2s ease}.category-checkbox{margin-right:8px}.category-checkbox input[type=checkbox]{border:2px solid #d1d5db;border-radius:3px;cursor:pointer;height:14px;transition:all .2s ease;width:14px}.category-checkbox input[type=checkbox]:checked{background:#3b82f6;border-color:#3b82f6}.category-checkbox input[type=checkbox]:focus{box-shadow:0 0 0 2px #3b82f61a;outline:none}.category-content{align-items:flex-start;display:flex;flex:1 1;gap:8px;min-width:0}.category-icon{align-items:center;display:flex;flex-shrink:0;height:16px;justify-content:center;width:16px}.category-icon.folder{color:#f59e0b}.category-icon.document{color:#6b7280}.category-info{flex:1 1;min-width:0;overflow:hidden}.category-name{word-wrap:break-word;font-size:12px;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;margin-bottom:1px;overflow-wrap:break-word}.category-stats{color:#6b7280;font-size:10px;gap:8px}.product-count{background:#0596691a;border-radius:3px;color:#059669;padding:1px 4px}.subcategory-count{background:#3b82f61a;border-radius:3px;color:#3b82f6;font-weight:600;padding:1px 4px}.category-path{background:#9ca3af1a;border-left:2px solid #3b82f6;color:#9ca3af;font-size:10px;margin:0 12px 2px 0;overflow:hidden;padding:2px 12px 4px 36px;text-overflow:ellipsis;white-space:nowrap}.category-children{background:#fafafa;border-left:1px solid #e5e7eb;margin-left:16px}.category-children .category-row{background:#fafafa}.category-children .category-row:hover{background:#f1f5f9}.category-children .category-row.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.no-categories{align-items:center;color:#6b7280;display:flex;justify-content:center;padding:20px 12px;text-align:center}.no-categories-text{font-size:11px;font-weight:500}.tree-container::-webkit-scrollbar{width:4px}.tree-container::-webkit-scrollbar-track{background:#f1f5f9}.tree-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.tree-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:768px){.category-tree-modal{height:90vh;margin:10px;max-width:95vw;min-height:400px;width:95vw}.tree-header{padding:6px 10px}.tree-title{font-size:12px}.collapse-all-btn,.expand-all-btn{font-size:10px;padding:3px 6px}.current-selection,.search-container{padding:6px 10px}.category-row{padding:3px 10px}.category-content{gap:6px}.category-stats{flex-direction:column;gap:2px}}.category-children{animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.category-row:focus-within{outline:1px solid #3b82f6;outline-offset:-1px}.chevron:focus{outline:1px solid #3b82f6;outline-offset:1px}.product-detail{background-color:#f8f9fa;margin:0;min-height:100vh;padding:10px;width:100%}.product-detail-header{align-items:flex-start;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:15px;padding:20px}.product-header-info{align-items:flex-start;display:flex;gap:24px;width:85%}.product-image{flex-shrink:0}.product-main-image{border:3px solid #eee;border-radius:16px;box-shadow:0 8px 25px #0003;height:250px!important;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease;width:250px!important}.product-main-image:hover{box-shadow:0 6px 20px #0003;transform:scale(1.05)}.product-header-text{flex:1 1;min-width:0}.header-left h1{color:#333;font-size:24px;font-weight:600;margin:8px 0 6px}.product-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.product-id,.product-sku{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;color:#666;font-family:Courier New,monospace;font-size:12px;font-weight:500;padding:2px 6px}.header-actions{flex-shrink:0;gap:8px}.action-buttons-group{display:flex;flex-direction:column;gap:8px}.product-tabs{background-color:#fff;border-radius:8px 8px 0 0;box-shadow:0 2px 4px #0000001a;display:flex;margin-bottom:0;overflow-x:auto}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:12px 20px;text-align:center;transition:all .3s ease;white-space:nowrap}.tab-button.active,.tab-button:hover{background-color:#f8f9fa;color:#667eea}.tab-button.active{border-bottom-color:#667eea}.product-detail-content{background-color:#fff;border-radius:0 0 8px 8px;box-shadow:0 2px 4px #0000001a;overflow:visible}.tab-content{padding:0}.product-sections{display:flex;flex-direction:column;gap:0}.product-section{border-bottom:1px solid #eee;padding:20px;transition:background-color .2s ease}.product-section:hover{background-color:#fafafa}.product-section:last-child{border-bottom:none}.product-section h2{border-bottom:2px solid #667eea;color:#333;display:inline-block;font-size:18px;font-weight:600;margin:0 0 15px;padding-bottom:8px}.form-group{gap:6px;position:relative}.form-input,.form-select,.form-textarea{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-textarea{font-family:inherit;min-height:80px;resize:vertical}.form-display{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#333;display:flex;font-size:14px;min-height:20px;padding:10px 12px}.rich-text-editor-container{border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.rich-text-editor-container:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.rich-text-editor-container.view-mode{background-color:#fafafa;border-color:#d1d5db}.rich-text-editor-container.view-mode:focus-within{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.editor-toolbar.view-mode{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-bottom:1px solid #d1d5db}.view-mode .mode-tab.active{background:linear-gradient(135deg,#6b7280,#4b5563);border-color:#6b7280;box-shadow:0 2px 8px #6b72804d}.editor-toolbar{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:12px}.editor-mode-tabs{display:flex;gap:6px}.mode-tab{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:8px 16px;transition:all .3s ease}.mode-tab:hover{background-color:#f0f0f0;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.mode-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 2px 8px #667eea4d;color:#fff}.editor-info{align-items:center;display:flex}.editor-tip{color:#666;font-size:12px;font-style:italic}.rich-text-editor{min-height:250px}.rich-text-editor .ql-editor{font-size:14px;line-height:1.6;min-height:220px;padding:16px}.rich-text-editor .ql-toolbar{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #ddd;border-left:none;border-right:none;padding:8px}.rich-text-editor .ql-container{border:none;font-family:inherit}.rich-text-editor.view-mode{min-height:200px}.rich-text-editor.view-mode .ql-editor{background-color:#fafafa;color:#374151;font-size:14px;line-height:1.6;min-height:180px;padding:16px}.rich-text-editor.view-mode .ql-toolbar{display:none}.rich-text-editor.view-mode .ql-container{background-color:#fafafa;border:none}.rich-text-editor.view-mode .ql-editor:empty:before{color:#9ca3af;content:"No description available";font-style:italic}.ql-snow .ql-toolbar{border-color:#ddd}.ql-snow .ql-toolbar button{color:#333}.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:hover{color:#667eea}.ql-snow .ql-toolbar .ql-stroke{stroke:currentColor}.ql-snow .ql-toolbar .ql-fill{fill:currentColor}.code-editor{background-color:#f8f9fa;border:none;border-radius:0;color:#333;font-family:Courier New,Monaco,Menlo,monospace;font-size:13px;line-height:1.6;min-height:250px;padding:16px;resize:vertical;transition:all .3s ease;width:100%}.code-editor:focus{background-color:#fff;box-shadow:inset 0 0 0 2px #667eea;outline:none}.code-editor::placeholder{color:#999;font-style:italic}.rich-text-display{background-color:#fafafa;border:1px solid #e9ecef;border-radius:6px;line-height:1.6;min-height:120px;padding:16px}.rich-text-display:empty:before{color:#999;content:"No description available";font-style:italic}.rich-text-display h1,.rich-text-display h2,.rich-text-display h3,.rich-text-display h4,.rich-text-display h5,.rich-text-display h6{color:#333;font-weight:600;margin:16px 0 8px}.rich-text-display h1{font-size:24px}.rich-text-display h2{font-size:20px}.rich-text-display h3{font-size:18px}.rich-text-display h4{font-size:16px}.rich-text-display h5{font-size:14px}.rich-text-display h6{font-size:12px}.rich-text-display p{color:#444;margin:12px 0}.rich-text-display ol,.rich-text-display ul{margin:12px 0;padding-left:24px}.rich-text-display li{color:#444;margin:6px 0}.rich-text-display a{color:#667eea;text-decoration:underline;transition:color .3s ease}.rich-text-display a:hover{color:#5a67d8}.rich-text-display img{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:auto;margin:12px 0;max-width:100%}.rich-text-display blockquote{background-color:#f8f9fa;border-left:4px solid #667eea;color:#666;font-style:italic;margin:16px 0;padding:12px 16px}.rich-text-display code{background-color:#f1f3f4;border-radius:4px;color:#d73a49;font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.rich-text-display pre{background-color:#f6f8fa;border:1px solid #e1e4e8;border-radius:6px;margin:16px 0;overflow-x:auto;padding:16px}.rich-text-display pre code{background:none;color:#333;padding:0}.status-badge{display:inline-block;font-size:11px}.status-badge.published{background-color:#e8f5e8;color:#2e7d32}.status-badge.draft{background-color:#fff3e0;color:#f57c00}.featured-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.featured-badge.featured{background-color:#fff3e0;color:#f57c00}.featured-badge.not-featured{background-color:#f5f5f5;color:#666}.stock-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stock-badge.in-stock{background-color:#e8f5e8;color:#2e7d32}.stock-badge.out-of-stock{background-color:#ffebee;color:#c62828}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #667eea4d}.btn-primary:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background-color:#f8f9fa;border:1px solid #ddd;color:#333}.btn-secondary:hover{background-color:#e9ecef;border-color:#adb5bd}.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 2px 4px #ff6b6b4d}.btn-danger:hover{box-shadow:0 4px 8px #ff6b6b66;transform:translateY(-2px)}.loading-container{gap:16px;height:200px}.loading-spinner{border:4px solid #f3f3f3}@media (max-width:1024px){.product-main-image{height:500px;width:500px}.form-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.product-section{padding:15px}}@media (max-width:768px){.product-detail{padding:8px}.product-detail-header{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.product-header-info{align-items:center;flex-direction:column;text-align:center;width:100%}.product-main-image{height:300px;margin-bottom:16px;width:300px}.header-actions{justify-content:center}.product-meta{align-items:center;flex-direction:column;gap:4px}.product-tabs{flex-wrap:nowrap;overflow-x:auto}.tab-button{font-size:12px;min-width:80px;padding:10px 12px}.form-grid{gap:12px;grid-template-columns:1fr}.product-section{padding:12px}.product-section h2{font-size:16px}.rich-text-editor{min-height:200px}.rich-text-editor .ql-editor{min-height:180px;padding:12px}.rich-text-editor.view-mode .ql-editor{min-height:160px;padding:12px}.editor-toolbar{align-items:stretch;flex-direction:column;gap:8px}.editor-info{justify-content:center}.code-editor{min-height:200px;padding:12px}}@media (max-width:480px){.header-left h1{font-size:20px}.product-main-image{height:200px;width:200px}.product-section{padding:10px}.form-input,.form-select,.form-textarea{font-size:13px;padding:8px 10px}.tab-button{font-size:11px;min-width:70px;padding:8px 10px}}*{transition:all .2s ease}.form-group:focus-within label{color:#667eea}.form-display:empty:before{color:#999;content:"N/A";font-style:italic}.product-section{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.product-section:hover h2{color:#667eea}.form-display:hover{background-color:#f0f0f0}.code-editor::-webkit-scrollbar,.form-textarea::-webkit-scrollbar{width:8px}.code-editor::-webkit-scrollbar-track,.form-textarea::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.code-editor::-webkit-scrollbar-thumb,.form-textarea::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.code-editor::-webkit-scrollbar-thumb:hover,.form-textarea::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 8px #0000001a}.ql-snow .ql-tooltip a{color:#667eea}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{color:#667eea;content:"Save"}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip:before{content:"Shortcuts:"}.tab-content{animation:fadeIn .3s ease}.form-group label:has(+.form-input[required]):after,.form-group label:has(+.form-select[required]):after{color:#dc3545;content:" *"}.code-editor:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.code-editor::placeholder,.form-input::placeholder,.form-textarea::placeholder{color:#999;font-style:italic}.form-group.full-width .hierarchical-category-tree{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-top:8px}.form-group.full-width .hierarchical-category-tree .tree-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:12px 16px}.form-group.full-width .hierarchical-category-tree .tree-title{color:#1e293b;font-size:14px;font-weight:600}.form-group.full-width .hierarchical-category-tree .tree-container{max-height:250px}.form-group.full-width .hierarchical-category-tree .category-row{min-height:40px;padding:6px 16px}.form-group.full-width .hierarchical-category-tree .category-name{font-size:13px}.form-group.full-width .hierarchical-category-tree .category-stats{font-size:11px}.form-group.full-width .hierarchical-category-tree .selection-summary{padding:8px 16px}@media (max-width:768px){.form-group.full-width .hierarchical-category-tree .tree-container{max-height:200px}.form-group.full-width .hierarchical-category-tree .category-row{padding:8px 12px}.form-group.full-width .hierarchical-category-tree .category-stats{flex-direction:column;gap:2px}}.category-modal{max-width:90vw;width:500px}.category-form{padding:20px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.modal-footer{background:#f8f9fa}.btn{border-radius:6px}.btn-primary{background:#007bff}.btn-primary:hover{background:#0056b3}.btn-secondary:hover{background:#545b62}@media (max-width:768px){.category-modal{width:95vw}.modal-footer{flex-direction:column}.btn{width:100%}}.modal-overlay{background:#00000080}.merge-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{padding:24px 24px 16px}.modal-header h2{font-weight:600}.close-btn{border-radius:4px;padding:4px}.close-btn:hover{background:#f8f9fa;color:#495057}.modal-body{padding:24px}.merge-description{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:24px;padding:16px}.merge-description p{color:#495057;font-size:14px;line-height:1.5;margin:0}.category-selection{align-items:center;display:flex;gap:16px;margin-bottom:24px}.category-option{flex:1 1}.category-option input[type=radio]{display:none}.category-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;display:block;padding:20px;position:relative;transition:all .3s ease}.category-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26}.category-option input[type=radio]:checked+.category-card{background:linear-gradient(135deg,#f8f9ff,#e3f2fd);border-color:#007bff;box-shadow:0 8px 24px #007bff33}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.category-name{font-size:18px}.category-type{background:#e3f2fd;font-size:12px}.category-details{display:flex;flex-direction:column;gap:6px}.category-path{color:#6c757d;font-size:13px;font-style:italic}.category-products{color:#28a745;font-size:14px;font-weight:600}.selected-indicator{background:#28a745;border-radius:12px;box-shadow:0 2px 8px #28a7454d;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;position:absolute;right:-8px;top:-8px}.merge-arrow{color:#6c757d;font-size:24px;font-weight:700;padding:0 8px}.merge-summary{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:20px;padding:16px}.merge-summary h4{color:#856404;font-size:14px;font-weight:600;margin:0 0 12px}.merge-summary ul{color:#856404;font-size:13px;margin:0;padding-left:20px}.merge-summary li{margin-bottom:4px}.modal-actions{gap:12px;padding:16px 24px 24px}.btn{min-width:100px;padding:10px 20px}.btn-secondary{background:#6c757d}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-danger{background:#dc3545}.btn-danger:hover:not(:disabled){background:#c82333}@media (max-width:768px){.merge-modal{margin:20px;width:95%}.category-selection{flex-direction:column;gap:12px}.merge-arrow{transform:rotate(90deg)}.modal-actions{flex-direction:column}.btn{width:100%}}.categories-container{background:#f8f9fa;margin:0 auto;max-width:1800px;min-height:100vh;padding:24px}.categories-header{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;margin-bottom:32px;padding:28px 32px}.header-left h1{font-size:28px;letter-spacing:-.5px}.header-left p{color:#6c757d;font-size:15px;line-height:1.5;margin:0 0 20px}.category-stats{display:flex;gap:24px;margin-top:20px}.stat-item{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;display:flex;flex-direction:column;min-width:120px;padding:16px 20px;transition:all .3s ease}.stat-item:hover{border-color:#007bff;box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));margin-bottom:8px}.stat-value{color:#1a1a1a;font-size:24px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}.stat-label{color:#6c757d;font-weight:600;text-align:center}.header-right{align-items:center;display:flex;gap:12px}.header-right .btn{align-items:center;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s ease}.header-right .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.bulk-actions{align-items:center;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #f39c12;border-radius:12px;box-shadow:0 4px 12px #f39c1226;display:flex;justify-content:space-between;margin-bottom:24px;overflow:hidden;padding:20px 24px;position:relative}.bulk-actions:before{background:linear-gradient(90deg,#f39c12,#e67e22);content:"";height:3px;left:0;position:absolute;right:0;top:0}.bulk-info{gap:10px}.bulk-info,.selected-count{align-items:center;display:flex}.selected-count{color:#856404;font-size:15px;font-weight:700;gap:8px}.selected-count:before{content:"📋";font-size:16px}.bulk-warning{align-items:center;background:#dc35451a;border:1px solid #dc354533;border-radius:8px;color:#721c24;display:flex;font-size:13px;font-weight:600;gap:6px;margin-left:20px;padding:8px 12px}.bulk-warning:before{content:"⚠️";font-size:14px}.selected-categories-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.selected-category-tag{background:linear-gradient(135deg,#007bff,#0056b3);border:1px solid #0056b3;border-radius:16px;box-shadow:0 2px 4px #007bff33;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;transition:all .2s ease}.selected-category-tag:hover{box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.bulk-buttons{align-items:center;display:flex;gap:12px}.bulk-buttons .btn{align-items:center;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .2s ease}.bulk-buttons .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.category-checkbox,.select-all-checkbox{accent-color:#007bff;cursor:pointer;height:16px;margin-right:8px;width:16px}.category-checkbox:focus,.select-all-checkbox:focus{outline:2px solid #007bff;outline-offset:2px}.category-row.selected{background:#e3f2fd!important;border-left:3px solid #007bff}.category-row.selected:hover{background:#bbdefb!important}.filters-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #00000014;gap:24px;margin-bottom:24px;padding:24px}.filter-group,.filters-section{align-items:center;display:flex;flex-wrap:wrap}.filter-group{gap:10px}.filter-group label{color:#495057;font-size:14px;font-weight:600;min-width:70px;white-space:nowrap}.filter-group input,.filter-group select{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:14px;min-width:160px;padding:10px 14px;transition:all .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.filter-group input{min-width:220px}.filter-group .btn{align-items:center;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 16px;transition:all .2s ease}.filter-group .btn:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.tree-container{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.tree-view{padding:24px}.tree-item{margin-bottom:4px}.tree-node{background:#fff;border:1px solid #e9ecef;border-radius:10px;margin-bottom:8px;transition:all .3s ease}.tree-node:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-1px)}.tree-node.selected{background:#e3f2fd!important;border-color:#007bff!important;border-left:3px solid #007bff;box-shadow:0 2px 8px #007bff33}.tree-node.selected:hover{background:#bbdefb!important;box-shadow:0 2px 12px #007bff4d}.tree-content{justify-content:space-between;padding:16px 20px}.tree-content,.tree-left{align-items:center;display:flex}.tree-left{flex:1 1;flex-wrap:wrap;gap:12px}.folder-icon{color:#007bff;filter:drop-shadow(0 1px 2px rgba(0,123,255,.2));font-size:18px}.category-name{color:#1a1a1a;font-size:15px;letter-spacing:-.2px}.product-count{color:#666;font-size:12px;margin-left:8px}.category-type{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #bbdefb;border-radius:12px;box-shadow:0 1px 3px #007bff1a;color:#007bff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.category-level{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#6c757d;padding:4px 8px}.tree-actions{display:flex;gap:6px;opacity:.8;transition:all .3s ease}.tree-node:hover .tree-actions{opacity:1;transform:scale(1.05)}.vendor-label{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:4px;box-shadow:0 1px 3px #0003;color:#fff;font-size:10px;font-weight:600;letter-spacing:.3px;margin-right:4px;max-width:80px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}.vendorData{color:#6c757d;font-size:13px;font-weight:500;padding-left:10px}.tree-children{border-left:3px solid #e9ecef;margin-left:32px;margin-top:8px;padding-left:20px;position:relative}.tree-children:before{background:linear-gradient(180deg,#007bff,#e9ecef);border-radius:2px;bottom:0;content:"";left:-3px;position:absolute;top:0;width:3px}.table-container{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.categories-table{border-collapse:collapse;font-size:14px;width:100%}.categories-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #dee2e6;color:#495057;font-size:14px;font-weight:700;letter-spacing:-.2px;padding:16px 20px;text-align:left}.categories-table td{border-bottom:1px solid #f8f9fa;padding:16px 20px;transition:background .2s ease;vertical-align:middle}.categories-table tr:hover{background:linear-gradient(135deg,#f8f9fa,#e3f2fd)}.category-name-cell{align-items:center;display:flex;gap:8px}.expand-btn{border-radius:3px;color:#666;padding:2px;transition:color .2s}.expand-btn:hover{background:#f0f0f0;color:#333}.category-name{color:#333;font-weight:500}.status-badge{border:1px solid #0000;border-radius:16px;box-shadow:0 2px 4px #0000001a;text-transform:capitalize}.status-badge.active{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb;color:#155724}.status-badge.inactive{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb;color:#721c24}.action-buttons{gap:6px}.btn{box-shadow:0 2px 4px #0000001a;font-size:13px;font-weight:600;gap:4px;justify-content:center;overflow:hidden;padding:8px 14px;position:relative;transition:all .3s ease}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn-sm{padding:6px 10px}.btn-xs{font-size:11px;height:24px;min-width:24px;padding:4px 8px}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);border:1px solid #0056b3}.btn-primary:hover{background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#6c757d,#545b62);border:1px solid #545b62}.btn-secondary:hover{background:linear-gradient(135deg,#545b62,#495057);box-shadow:0 4px 8px #6c757d4d;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);border:1px solid #c82333}.btn-danger:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 4px 8px #dc35454d;transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,#ffc107,#e0a800);border:1px solid #e0a800;color:#212529}.btn-warning:hover{background:linear-gradient(135deg,#e0a800,#d39e00);box-shadow:0 4px 8px #ffc1074d;transform:translateY(-1px)}.btn-info{background:linear-gradient(135deg,#17a2b8,#138496);border:1px solid #138496;color:#fff}.btn-info:hover{background:linear-gradient(135deg,#138496,#117a8b);box-shadow:0 4px 8px #17a2b84d;transform:translateY(-1px)}.empty-state{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:12px;color:#6c757d;margin:20px 0;padding:60px 40px}.empty-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));margin-bottom:20px;opacity:.6}.empty-state h3{color:#495057;font-size:20px;letter-spacing:-.3px;margin:0 0 12px}.empty-state p{color:#6c757d;font-size:15px;line-height:1.5;margin:0 0 24px}.loading-container{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 12px #00000014;color:#6c757d;margin:20px 0}.loading-spinner{border:4px solid #e9ecef;border-top-color:#007bff;box-shadow:0 4px 8px #007bff33;height:48px;margin-bottom:20px;width:48px}.modal-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal{animation:slideIn .3s ease;background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:550px;overflow-y:auto;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #e9ecef;border-radius:16px 16px 0 0;padding:24px 28px}.modal-header h2{font-size:20px;letter-spacing:-.3px}.close-btn{border-radius:8px;color:#6c757d;font-size:24px;height:36px;padding:0;transition:all .2s ease;width:36px}.close-btn:hover{background:#dc35451a;color:#dc3545}.modal-body{padding:28px}.form-group{margin-bottom:24px}.form-group label{color:#495057;letter-spacing:-.1px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #007bff1a}.disabled-input{background-color:#f8f9fa!important;border-color:#dee2e6!important;color:#6c757d!important;cursor:not-allowed!important}.form-help{color:#6c757d;display:block;font-size:12px;font-style:italic;margin-top:4px}.modal-actions{border-top:1px solid #e9ecef}.inline-edit-container{align-items:center;display:flex;gap:8px;margin:4px 0}.inline-edit-input{border:2px solid #007bff;border-radius:4px;flex:1 1;font-size:14px;min-width:150px;padding:6px 10px}.inline-edit-input:focus{border-color:#0056b3;box-shadow:0 0 0 2px #007bff40;outline:none}.category-name{transition:all .2s ease}.category-name:hover{color:#007bff;text-decoration:underline}.btn-success{background:linear-gradient(135deg,#28a745,#20c997);border:1px solid #20c997;color:#fff}.btn-success:hover{background:linear-gradient(135deg,#20c997,#1ea085);box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}@media (max-width:768px){.categories-container{padding:16px}.categories-header{align-items:flex-start;flex-direction:column;gap:20px;padding:20px}.category-stats{flex-direction:column;gap:12px;width:100%}.stat-item{align-items:center;flex-direction:row;justify-content:space-between;min-width:auto;padding:12px 16px}.stat-icon{margin-bottom:0;margin-right:12px}.stat-value{font-size:20px;margin-bottom:0}.header-right{flex-direction:column;gap:8px;width:100%}.header-right .btn{justify-content:center;width:100%}.filters-section{flex-direction:column;gap:16px;padding:20px}.filter-group{align-items:flex-start;flex-direction:column;gap:6px;width:100%}.filter-group input,.filter-group select{min-width:auto;width:100%}.bulk-actions{align-items:flex-start;flex-direction:column;gap:16px}.bulk-info{flex-direction:column;gap:12px;width:100%}.bulk-warning{margin-left:0}.bulk-buttons{justify-content:space-between;width:100%}.categories-table{font-size:12px}.categories-table td,.categories-table th{padding:8px 12px}.action-buttons{flex-direction:column;gap:4px}.tree-content{align-items:flex-start;flex-direction:column;gap:12px}.tree-actions{align-self:flex-end;opacity:1}.tree-left{align-items:flex-start;flex-direction:column;gap:6px}.modal{margin:20px;width:95%}.modal-body{padding:20px}.modal-actions{flex-direction:column;gap:12px}.modal-actions .btn{justify-content:center;width:100%}.inline-edit-container{align-items:stretch;flex-direction:column}.inline-edit-input{min-width:auto}}.category-tree-container{margin:0 auto;max-width:1200px;padding:20px}.category-tree-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.category-tree-header h1{color:#1f2937;font-size:2rem;font-weight:700;margin:0}.header-actions{align-items:center;display:flex;gap:15px}.search-container{align-items:center;display:flex;position:relative}.search-input{border:2px solid #d1d5db;border-radius:8px;padding:10px 15px;transition:border-color .2s ease;width:300px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.clear-search-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:16px;padding:2px;position:absolute;right:10px;transition:color .2s ease}.clear-search-btn:hover{color:#374151}.category-tree-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow:hidden}.category-tree{padding:0}.category-tree-item{border-bottom:1px solid #f3f4f6}.category-tree-item:last-child{border-bottom:none}.category-tree-node{padding:12px 16px;transition:background-color .2s ease}.category-tree-node:hover{background-color:#f9fafb}.category-tree-content{align-items:center;display:flex;gap:15px;justify-content:space-between}.category-tree-left{align-items:center;display:flex;flex:1 1;gap:8px}.expand-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:12px;min-width:20px;padding:4px;text-align:center;transition:color .2s ease}.expand-btn:hover{background-color:#f3f4f6;color:#374151}.expand-placeholder{color:#d1d5db;font-size:12px;min-width:20px;text-align:center}.folder-icon{font-size:16px;margin-right:8px}.category-info{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.category-name{color:#1f2937;font-size:14px;font-weight:600}.category-description{background-color:#f3f4f6;border-radius:4px;color:#6b7280;font-size:12px;padding:2px 6px}.category-level{background-color:#d1fae5;border-radius:4px;color:#059669;font-size:11px;font-weight:600;padding:2px 6px}.category-count{color:#6b7280;font-size:12px}.category-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.category-tree-node:hover .category-actions{opacity:1}.action-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px;transition:all .2s ease}.add-btn:hover{background-color:#dbeafe;color:#1d4ed8}.edit-btn:hover{background-color:#fef3c7;color:#d97706}.delete-btn:hover{background-color:#fee2e2;color:#dc2626}.category-tree-children{background-color:#fafafa;border-left:2px solid #e5e7eb;margin-left:24px}.empty-state{color:#6b7280;padding:60px 20px}.empty-icon{font-size:48px}.empty-state h3{color:#374151;font-size:18px}.empty-state p{font-size:14px;margin:0 0 20px}.modal-overlay{z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:500px;width:90%}.modal-header{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.parent-info{color:#6b7280;font-weight:400}.modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:18px;padding:4px;transition:color .2s ease}.modal-close:hover{color:#374151}.category-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#374151;margin-bottom:6px}.form-group input,.form-group select{border:2px solid #d1d5db;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.btn{border-radius:8px;gap:6px;padding:10px 16px}.btn-primary{background-color:#3b82f6}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover{background-color:#e5e7eb}.loading-spinner{border:4px solid #f3f4f6;border-top-color:#3b82f6}.loading-text{color:#6b7280;font-size:14px}@media (max-width:768px){.category-tree-container{padding:15px}.category-tree-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{flex-direction:column;gap:10px}.search-input{width:100%}.category-tree-content{align-items:stretch;flex-direction:column;gap:10px}.category-info{align-items:flex-start;flex-direction:column;gap:4px}.category-actions{opacity:1}.modal-content{margin:20px;width:95%}}.vendor-modal{background:#fff;border-radius:20px;box-shadow:0 25px 80px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:95%}.modal-header{border-bottom:1px solid #f0f0f0;margin-bottom:24px;padding:24px 32px 0}.modal-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a1a1a;font-size:24px;font-weight:700}.close-btn{align-items:center;background:none;border:none;border-radius:10px;color:#666;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;padding:8px;transition:all .3s ease;width:40px}.close-btn:hover{background:#f0f0f0;color:#333;transform:scale(1.1)}.modal-body{padding:0 32px 32px}.form-sections{display:flex;flex-direction:column;gap:32px}.form-section{background:#fafbff;border:1px solid #e8ecff;border-radius:16px;padding:24px}.section-title{align-items:center;color:#1a1a1a;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 20px}.section-title:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:20px;width:4px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{align-items:center;color:#1a1a1a;display:flex;font-size:14px;font-weight:600;gap:4px;margin-bottom:8px}.form-group label:after{background:#667eea;border-radius:50%;content:"";height:4px;opacity:0;transition:opacity .3s ease;width:4px}.form-group:has(input:focus) label:after,.form-group:has(select:focus) label:after,.form-group:has(textarea:focus) label:after{opacity:1}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e8ecff;border-radius:12px;color:#333;font-family:inherit;padding:12px 16px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-group input::placeholder,.form-group textarea::placeholder{color:#999;font-style:italic}.form-group textarea{line-height:1.5;min-height:80px;resize:vertical}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;cursor:pointer;padding-right:40px}.form-group select option{font-size:14px;padding:8px}.form-group:has(input[required]) label:before{color:#ef4444;content:"*";font-weight:700;margin-right:4px}.modal-actions{border-top:1px solid #f0f0f0;display:flex;gap:16px;justify-content:flex-end;margin-top:32px;padding-top:24px}.modal-actions .btn{border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .3s ease}.modal-actions .btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.modal-actions .btn-secondary{background:#f3f4f6;border:2px solid #e5e7eb;color:#374151}.modal-actions .btn-secondary:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db;transform:translateY(-2px)}.modal-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff}.modal-actions .btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.modal-actions .btn-primary:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:none}@media (max-width:768px){.vendor-modal{margin:10px;max-height:95vh;width:98%}.modal-header{padding:20px 24px 0}.modal-header h2{font-size:20px}.modal-body{padding:0 24px 24px}.form-sections{gap:24px}.form-section{padding:20px}.form-grid{gap:16px;grid-template-columns:1fr}.modal-actions{flex-direction:column;gap:12px}.modal-actions .btn{min-width:auto;width:100%}}@media (max-width:480px){.vendor-modal{border-radius:16px}.modal-header{padding:16px 20px 0}.modal-header h2{font-size:18px}.close-btn{font-size:24px;height:36px;width:36px}.modal-body{padding:0 20px 20px}.form-section{padding:16px}.section-title{font-size:16px;margin-bottom:16px}.form-group input,.form-group select,.form-group textarea{font-size:14px;padding:10px 14px}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.vendor-modal{animation:modalSlideIn .3s ease-out}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:2px solid #667eea;outline-offset:2px}.vendor-modal::-webkit-scrollbar{width:8px}.vendor-modal::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.vendor-modal::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.vendor-modal::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.vendors-container{margin:0 auto;max-width:1700px;padding:20px}.vendors-header{align-items:flex-start;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.header-left h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 8px}.subtitle{color:#666;font-size:16px;font-weight:400;margin:0}.header-right .btn-large{border-radius:12px;box-shadow:0 4px 12px #667eea4d;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.header-right .btn-large:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-icon{font-size:18px;margin-right:8px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.stat-card{align-items:center;background:linear-gradient(135deg,#fff,#f8f9ff);border:1px solid #e8ecff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:16px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.stat-icon.total{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-icon.active{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.stat-icon.products{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.stat-icon.categories{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.stat-content h3{color:#1a1a1a;font-size:28px;font-weight:700;margin:0 0 4px}.stat-content p{color:#666;font-size:14px;font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.vendors-controls{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 2px 12px #0000000f;flex-wrap:wrap;justify-content:space-between;margin-bottom:24px;padding:24px}.controls-left,.vendors-controls{align-items:center;display:flex;gap:16px}.controls-left{flex:1 1;min-width:300px}.search-box{flex:1 1;min-width:250px;position:relative}.search-input{background:#fafbff;border:2px solid #e8ecff;border-radius:12px;font-size:14px;padding:12px 16px 12px 48px;transition:all .3s ease;width:100%}.search-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.search-icon{color:#999;font-size:16px;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.filter-select{background:#fafbff;border:2px solid #e8ecff;border-radius:12px;color:#333;cursor:pointer;font-size:14px;padding:12px 16px;transition:all .3s ease}.filter-select:focus{background:#fff;border-color:#667eea;outline:none}.controls-right{align-items:center;display:flex;gap:16px}.view-controls{background:#f8f9ff;border-radius:8px;display:flex;padding:4px}.view-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:16px;padding:8px 12px;transition:all .3s ease}.view-btn.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#667eea}.view-btn:hover:not(.active){background:#667eea1a;color:#667eea}.sort-controls{align-items:center;display:flex;gap:8px}.sort-select{color:#333}.sort-btn,.sort-select{background:#fff;border:2px solid #e8ecff;border-radius:8px;font-size:14px;padding:8px 12px}.sort-btn{color:#666;cursor:pointer;transition:all .3s ease}.sort-btn:hover{border-color:#667eea;color:#667eea}.vendors-display{min-height:400px}.vendors-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.vendor-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.vendor-card:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.vendor-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.vendor-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.vendor-info{flex:1 1}.vendor-name{color:#1a1a1a;cursor:pointer;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 8px;transition:all .3s ease}.vendor-name:hover{color:#667eea}.inline-edit-input{background:#fff;border:2px solid #667eea;border-radius:8px;font-size:1.1rem;font-weight:600;margin-bottom:8px;outline:none;padding:8px 12px;width:100%}.inline-edit-input:focus{box-shadow:0 0 0 3px #667eea1a}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.success{background:#e8f5e8;color:#2d5a2d}.status-badge.danger{background:#ffe8e8;color:#5a2d2d}.status-badge.warning{background:#fff8e8;color:#5a4a2d}.status-badge.secondary{background:#f0f0f0;color:#666}.status-icon{font-size:10px}.vendor-actions{display:flex;gap:8px}.vendor-details{margin-bottom:20px}.detail-item{align-items:center;display:flex;font-size:14px;margin-bottom:8px}.detail-label{color:#666;font-weight:600;margin-right:8px;min-width:80px}.detail-value{color:#333;flex:1 1}.detail-link{color:#667eea;text-decoration:none;word-break:break-all}.detail-link:hover{text-decoration:underline}.vendor-stats{border-bottom:1px solid #f0f0f0;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px 0}.stat{flex:1 1;text-align:center}.stat-number{color:#1a1a1a;display:block;font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{color:#666;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.vendor-footer{align-items:center;color:#999;display:flex;font-size:12px;justify-content:space-between}.location-text{font-weight:500}.vendors-list{display:flex;flex-direction:column;gap:12px}.vendor-list-item{align-items:center;background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 12px #0000000f;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.vendor-list-item:hover{box-shadow:0 4px 20px #0000001a;transform:translateX(4px)}.list-item-main{align-items:center;display:flex;flex:1 1;gap:24px}.vendor-basic-info{align-items:center;display:flex;gap:12px;min-width:200px}.vendor-contact{display:flex;flex-direction:column;gap:4px;min-width:200px}.contact-item,.vendor-stats-inline{color:#666;font-size:14px}.vendor-stats-inline{display:flex;gap:16px}.stat-inline{font-weight:500}.location-inline{color:#999}.list-item-actions{display:flex;gap:8px}.vendors-table-container{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.vendors-table{border-collapse:collapse;width:100%}.vendors-table th{background:#f8f9ff;border-bottom:2px solid #e8ecff;color:#1a1a1a;font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-align:left;text-transform:uppercase}.vendors-table td{border-bottom:1px solid #f0f0f0;color:#333;font-size:14px;padding:16px 20px}.vendors-table tr:hover{background:#fafbff}.vendor-cell h4{color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 4px}.website-link{color:#667eea;font-size:12px;text-decoration:none;word-break:break-all}.website-link:hover{text-decoration:underline}.contact-cell{display:flex;flex-direction:column;gap:2px}.contact-person{color:#1a1a1a;font-weight:500}.no-location{color:#999;font-style:italic}.products-cell{display:flex;flex-direction:column;gap:4px}.product-count{color:#1a1a1a;font-size:16px;font-weight:600}.stock-info{color:#666;font-size:12px}.table-actions{display:flex;gap:8px}.empty-state{padding:80px 20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 8px}.empty-state p{color:#666;font-size:16px;margin:0 auto 24px;max-width:400px}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%!important;border-top-color:#667eea;box-sizing:border-box;display:block;flex-shrink:0;height:40px;margin-bottom:16px;width:40px}@media (max-width:1200px){.vendors-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:768px){.vendors-container{padding:16px}.vendors-header{align-items:stretch;flex-direction:column;gap:16px}.header-left h1{font-size:24px}.stats-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{padding:20px}.vendors-controls{align-items:stretch;flex-direction:column}.controls-left{flex-direction:column;min-width:auto}.controls-right{justify-content:center}.vendors-grid{grid-template-columns:1fr}.vendor-list-item{align-items:stretch;flex-direction:column;gap:16px}.list-item-main{flex-direction:column;gap:12px}.vendor-basic-info,.vendor-contact{min-width:auto}.vendor-stats-inline{flex-wrap:wrap}.vendors-table-container{overflow-x:auto}.vendors-table{min-width:600px}}@media (max-width:480px){.stat-card{padding:16px}.stat-icon{font-size:20px;height:50px;width:50px}.stat-content h3{font-size:24px}.vendor-card{padding:20px}.vendor-stats{flex-direction:column;gap:12px}.stat{text-align:left}}.user-modal{width:500px}.user-form{padding:20px}.permissions-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.permission-item{align-items:center;cursor:pointer;display:flex;gap:8px}.permission-item input[type=checkbox]{margin:0;width:auto}@media (max-width:768px){.user-modal{width:95vw}}.users{margin:0 auto;max-width:1700px}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.users-header h1{color:#333;font-size:28px;font-weight:600}.access-denied{padding:60px 20px;text-align:center}.access-denied h2{color:#dc3545;font-size:24px;margin-bottom:16px}.access-denied p{color:#666;font-size:16px}.users-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:16px;text-align:left}.users-table th{color:#333;font-weight:600}.users-table tbody tr:hover,.users-table th{background-color:#f8f9fa}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background-color:#007bff;border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.role-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.role-badge.admin{background-color:#f8d7da;color:#721c24}.role-badge.shop_manager{background-color:#d4edda;color:#155724}.action-buttons{display:flex;gap:8px}.empty-state{color:#666;padding:40px;text-align:center}@media (max-width:768px){.users-table-container{overflow-x:auto}}.settings{margin:0 auto;max-width:800px}.settings-header{margin-bottom:30px}.settings-header h1{color:#333;font-size:28px;font-weight:600;margin-bottom:8px}.settings-header p{color:#666;font-size:16px}.settings-content{display:flex;flex-direction:column;gap:30px}.settings-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.settings-section h2{color:#333;font-size:20px;font-weight:600;margin-bottom:20px}.settings-form{display:flex;flex-direction:column;gap:20px}.logo-preview{margin-top:16px}.logo-preview label{color:#333;display:block;font-weight:500;margin-bottom:8px}.logo-preview-image{border:1px solid #ddd;border-radius:4px;max-height:100px;max-width:200px;object-fit:contain;padding:8px}.system-info{display:flex;flex-direction:column;gap:12px}.system-info .info-item{align-items:center;display:flex;gap:12px}.system-info .label{color:#666;font-weight:500;min-width:120px}@media (max-width:768px){.settings{margin:0 10px}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-16{right:4rem}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.z-50{z-index:50}.z-\[9999999\]{z-index:9999999}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-\[80vh\]{max-height:80vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-t-blue-600{--tw-border-opacity:1;border-top-color:#2563eb;border-top-color:rgb(37 99 235/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:#000;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:#9ca3af;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-200{--tw-bg-opacity:1;background-color:#fef08a;background-color:rgb(254 240 138/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.object-cover{object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-10{padding-left:2.5rem}.pr-10{padding-right:2.5rem}.pr-20{padding-right:5rem}.pr-4{padding-right:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:#1e3a8a;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.opacity-30{opacity:.3}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}:root{--background:oklch(1 0 0);--foreground:oklch(0.145 0 0);--card:oklch(1 0 0);--card-foreground:oklch(0.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(0.145 0 0);--primary:oklch(0.205 0 0);--primary-foreground:oklch(0.985 0 0);--secondary:oklch(0.97 0 0);--secondary-foreground:oklch(0.205 0 0);--muted:oklch(0.97 0 0);--muted-foreground:oklch(0.556 0 0);--accent:oklch(0.97 0 0);--accent-foreground:oklch(0.205 0 0);--destructive:oklch(0.577 0.245 27.325);--destructive-foreground:oklch(0.577 0.245 27.325);--border:oklch(0.922 0 0);--input:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--chart-1:oklch(0.646 0.222 41.116);--chart-2:oklch(0.6 0.118 184.704);--chart-3:oklch(0.398 0.07 227.392);--chart-4:oklch(0.828 0.189 84.429);--chart-5:oklch(0.769 0.188 70.08);--radius:0.625rem;--sidebar:oklch(0.985 0 0);--sidebar-foreground:oklch(0.145 0 0);--sidebar-primary:oklch(0.205 0 0);--sidebar-primary-foreground:oklch(0.985 0 0);--sidebar-accent:oklch(0.97 0 0);--sidebar-accent-foreground:oklch(0.205 0 0);--sidebar-border:oklch(0.922 0 0);--sidebar-ring:oklch(0.708 0 0)}.dark{--background:oklch(0.145 0 0);--foreground:oklch(0.985 0 0);--card:oklch(0.145 0 0);--card-foreground:oklch(0.985 0 0);--popover:oklch(0.145 0 0);--popover-foreground:oklch(0.985 0 0);--primary:oklch(0.985 0 0);--primary-foreground:oklch(0.205 0 0);--secondary:oklch(0.269 0 0);--secondary-foreground:oklch(0.985 0 0);--muted:oklch(0.269 0 0);--muted-foreground:oklch(0.708 0 0);--accent:oklch(0.269 0 0);--accent-foreground:oklch(0.985 0 0);--destructive:oklch(0.396 0.141 25.723);--destructive-foreground:oklch(0.637 0.237 25.331);--border:oklch(0.269 0 0);--input:oklch(0.269 0 0);--ring:oklch(0.439 0 0);--chart-1:oklch(0.488 0.243 264.376);--chart-2:oklch(0.696 0.17 162.48);--chart-3:oklch(0.769 0.188 70.08);--chart-4:oklch(0.627 0.265 303.9);--chart-5:oklch(0.645 0.246 16.439);--sidebar:oklch(0.205 0 0);--sidebar-foreground:oklch(0.985 0 0);--sidebar-primary:oklch(0.488 0.243 264.376);--sidebar-primary-foreground:oklch(0.985 0 0);--sidebar-accent:oklch(0.269 0 0);--sidebar-accent-foreground:oklch(0.985 0 0);--sidebar-border:oklch(0.269 0 0);--sidebar-ring:oklch(0.439 0 0)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading-screen{align-items:center;background-color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-container{align-items:center!important;color:#666;display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:200px;padding:60px 20px}.loading-text{color:#666;font-size:16px;font-weight:500;margin-top:16px;text-align:center}.loading-spinner{position:relative;z-index:1}.loading-container{position:relative;z-index:1000}.categories .loading-spinner,.category-tree .loading-spinner,.loading-spinner,.product-detail .loading-spinner,.products .loading-spinner,.vendors .loading-spinner{animation:spin 1s linear infinite!important;border:4px solid #f3f3f3!important;border-radius:50%!important;border-top-color:#007bff!important;box-sizing:border-box!important;display:block!important;flex-shrink:0;height:40px!important;margin-bottom:20px!important;opacity:1!important;overflow:hidden;position:relative;transform:translateZ(0);visibility:visible!important;width:40px!important;will-change:transform}.loading-spinner:before{background:#0000;border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.loading-spinner:after{background:#fff;border-radius:50%;bottom:2px;content:"";left:2px;position:absolute;right:2px;top:2px;z-index:-1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading{color:#666;display:flex;font-size:16px;justify-content:center;padding:40px}.btn,.loading{align-items:center}.btn{border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c82333}.btn-sm{font-size:12px;padding:4px 8px}.form-group{margin-bottom:16px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid #eee;padding:12px;text-align:left}.table th{color:#333;font-weight:600}.table tbody tr:hover,.table th{background-color:#f8f9fa}.badge,.stock-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px}.stock-badge.in-stock{background-color:#d4edda;color:#155724}.stock-badge.out-of-stock{background-color:#f8d7da;color:#721c24}.status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.published{background-color:#d4edda;color:#155724}.status-badge.draft{background-color:#fff3cd;color:#856404}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999999}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:90vw;overflow-y:auto}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;margin:0}.close-button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-button:hover{color:#333}.modal-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:20px}*{border-color:#e5e7eb}body{background-color:#fff;color:#111827}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:#9ca3af;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:#bfdbfe;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:#60a5fa;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#1d4ed8;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:#bbf7d0;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:#fecaca;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:#b91c1c;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:#3b82f6;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/*# sourceMappingURL=main.b995cb8d.css.map*/