@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.dashboard{padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding:24px 28px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;color:#fff}.dashboard-header h1{font-size:26px;font-weight:700;margin-bottom:4px;background:linear-gradient(135deg,#fff,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header p{color:#fff9;font-size:14px}.dashboard-actions{display:flex;gap:12px}.action-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.action-btn.secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.action-btn.secondary:hover{background:#fff3}.stats-row{margin-bottom:8px}.stat-card{border:none!important;border-radius:20px!important;overflow:hidden;box-shadow:0 4px 20px #0000000f!important;transition:all .3s ease!important}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #667eea26!important}.stat-card .ant-card-body{padding:0!important}.stat-card-inner{display:flex;align-items:center;padding:20px;gap:16px}.stat-icon-wrapper{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:16px;font-size:24px;color:#fff}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-title{font-size:12px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:26px;font-weight:700;color:#fff;line-height:1.2}.stat-trend{font-size:12px;padding:2px 8px;border-radius:10px;display:inline-block;width:fit-content}.stat-trend.up{background:#fff3;color:#fff}.stat-trend.down{background:#ff4d4f33;color:#ff6b6b}.content-card{border:none!important;border-radius:20px!important;box-shadow:0 4px 20px #0000000f!important;transition:all .3s ease!important}.content-card:hover{box-shadow:0 8px 30px #0000001a!important}.content-card .ant-card-head{border-bottom:1px solid rgba(0,0,0,.04)!important;padding:20px 24px!important;min-height:auto!important}.content-card .ant-card-head-title{font-size:16px!important;font-weight:600!important}.content-card .ant-card-body{padding:20px 24px!important}.card-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1a1a2e}.view-all-btn{background:none;border:none;color:#667eea;font-size:13px;cursor:pointer;padding:6px 12px;border-radius:8px;transition:all .2s ease}.view-all-btn:hover{background:#667eea1a}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-item{display:flex;align-items:center;gap:14px;padding:16px;background:linear-gradient(135deg,#f8f9fc,#fff);border:1px solid rgba(0,0,0,.04);border-radius:16px;cursor:pointer;transition:all .3s ease;text-align:left}.quick-action-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014;border-color:#667eea33}.quick-action-icon{font-size:24px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea1a,#764ba21a);border-radius:12px}.quick-action-text{display:flex;flex-direction:column;gap:2px}.quick-action-title{font-size:14px;font-weight:600;color:#1a1a2e}.quick-action-desc{font-size:12px;color:#999}.custom-table .ant-table{background:transparent!important}.custom-table .ant-table-thead>tr>th{background:#f8f9fc!important;font-weight:600!important;font-size:13px!important;color:#666!important;border-bottom:none!important;padding:14px 16px!important}.custom-table .ant-table-tbody>tr>td{padding:16px!important;border-bottom:1px solid rgba(0,0,0,.04)!important;vertical-align:middle}.custom-table .ant-table-tbody>tr:hover>td{background:#667eea05!important}.order-id,.sku{font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;color:#667eea;background:#667eea1a;padding:4px 10px;border-radius:6px}.amount,.price{font-weight:600;color:#1a1a2e}.bottom-stats{margin-top:8px}.mini-stat-card{border:none!important;border-radius:16px!important;box-shadow:0 4px 20px #0000000a!important;transition:all .3s ease!important}.mini-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014!important}.mini-stat-card .ant-card-body{display:flex;align-items:center;gap:16px;padding:20px!important}.mini-stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;font-size:22px}.mini-stat-content{display:flex;flex-direction:column;gap:2px}.mini-stat-value{font-size:24px;font-weight:700;color:#1a1a2e;line-height:1.2}.mini-stat-label{font-size:13px;color:#999}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:20px;text-align:center;padding:20px}.dashboard-actions{width:100%;justify-content:center}.quick-actions{grid-template-columns:1fr}.stat-card-inner{padding:16px}.stat-value{font-size:22px}}.oe-catalog{padding:0}.oe-catalog .page-header{margin-bottom:20px}.oe-catalog .filter-card{background:#fafafa;border-radius:8px}.filter-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .3s}.filter-btn.primary{background:#1976d2;color:#fff}.filter-btn.primary:hover{background:#1565c0}.filter-btn.secondary{background:#f5f5f5;color:#666;border:1px solid #d9d9d9}.filter-btn.secondary:hover{border-color:#1976d2;color:#1976d2}.product-card{border-radius:8px;transition:all .3s}.product-card:hover{box-shadow:0 4px 12px #0000001a}.product-image-wrapper{display:flex;align-items:center;justify-content:center;height:120px;overflow:hidden}.no-image{width:120px;height:120px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:4px;color:#999;font-size:12px}.product-info{padding:0 8px}.product-header{margin-bottom:8px}.product-meta{margin-top:4px}.oe-numbers{padding:8px;background:#f9f9f9;border-radius:4px}.suppliers-section{margin-top:12px;padding-top:12px;border-top:1px dashed #e8e8e8}.suppliers-header{font-size:14px;color:#333}.supplier-table{margin-top:8px}.supplier-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600;font-size:12px}.supplier-table .ant-table-tbody>tr>td{padding:8px;font-size:13px}.stats-card{background:#fafafa;border-radius:8px}.stat-item{text-align:center;padding:16px}.stat-value{font-size:28px;font-weight:700;color:#1976d2;margin-bottom:4px}.stat-label{font-size:13px;color:#666}@media (max-width: 768px){.product-image-wrapper{margin-bottom:12px}.stat-value{font-size:22px}}.price-management{padding:0}.price-management .page-header{margin-bottom:20px}.step-card{background:#fafafa}.steps-indicator{display:flex;align-items:center;justify-content:center;padding:16px 0}.step{display:flex;align-items:center;gap:8px}.step-number{width:32px;height:32px;border-radius:50%;background:#d9d9d9;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.step.active .step-number{background:#1890ff}.step.completed .step-number{background:#52c41a}.step-text{font-size:14px;color:#999}.step.active .step-text{color:#1890ff;font-weight:500}.step.completed .step-text{color:#52c41a}.step-line{width:80px;height:2px;background:#d9d9d9;margin:0 16px}.upload-card{height:100%}.stat-box{padding:16px;text-align:center;background:#f5f5f5;border-radius:8px}.stat-box.success{background:#52c41a1a}.stat-box.error{background:#ff4d4f1a}.stat-box .stat-value{font-size:28px;font-weight:700;color:#333}.stat-box.success .stat-value{color:#52c41a}.stat-box.error .stat-value{color:#ff4d4f}.stat-box .stat-label{font-size:12px;color:#666;margin-top:4px}.result-summary{text-align:center;padding:32px}.result-icon{width:80px;height:80px;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:40px}.result-icon.success{background:#52c41a1a;color:#52c41a}.result-stat{padding:16px;border-radius:8px;background:#f5f5f5}.result-stat.success{background:#52c41a1a}.result-stat.error{background:#ff4d4f1a}.result-stat .result-value{font-size:32px;font-weight:700;color:#333}.result-stat.success .result-value{color:#52c41a}.result-stat.error .result-value{color:#ff4d4f}.result-stat .result-label{font-size:14px;color:#666;margin-top:4px}@media (max-width: 768px){.steps-indicator{flex-direction:column;gap:8px}.step-line{width:2px;height:20px;margin:4px 0}.step{flex-direction:row}}.internal-tools{padding:0}.internal-tools .page-header{margin-bottom:16px}.internal-tools .page-header h3{margin-bottom:4px!important}.internal-tools .ant-table-cell{padding:8px!important}.internal-tools .supplier-detail-item{padding:4px 0;border-bottom:1px solid #f0f0f0;font-size:12px}.internal-tools .supplier-detail-item:last-child{border-bottom:none}.internal-tools .price-highlight{color:#f60;font-weight:600}.internal-tools .ant-tabs-tab+.ant-tabs-tab{margin-left:16px}:root{--primary-color: #1890ff;--primary-dark: #096dd9;--primary-light: #e6f7ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--text-primary: #262626;--text-secondary: #8c8c8c;--bg-primary: #f5f5f5;--bg-white: #ffffff;--border-color: #f0f0f0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.internal-tools-mobile{min-height:100vh;background:var(--bg-primary);padding-top:env(safe-area-inset-top,0);padding-top:constant(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:constant(safe-area-inset-bottom,0)}.pwa-prompt{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,12px));display:flex;justify-content:space-between;align-items:center;z-index:10000;box-shadow:var(--shadow-md);animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.pwa-prompt-content{display:flex;align-items:center;gap:12px}.pwa-prompt-icon{width:36px;height:36px;background:#fff3;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px}.pwa-prompt-text.ant-typography{color:#fff!important;margin:0!important}.pwa-prompt-actions{display:flex;gap:8px}.pwa-prompt-actions .ant-btn{border:none;font-size:14px;font-weight:500;padding:6px 16px;border-radius:20px;cursor:pointer;transition:all .3s ease}.pwa-prompt-actions .ant-btn-default{background:#fff3;color:#fff}.pwa-prompt-actions .ant-btn-default:hover{background:#ffffff4d}.pwa-prompt-actions .ant-btn-primary{background:#fff;color:var(--primary-color)}.pwa-prompt-actions .ant-btn-primary:hover{background:#f0f0f0}.mobile-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:16px;position:sticky;top:0;z-index:100;box-shadow:0 4px 12px #1890ff4d}.pwa-prompt~.mobile-header{padding-top:70px}.header-content{display:flex;justify-content:space-between;align-items:center}.logo-section{display:flex;align-items:center;gap:12px}.logo-icon{width:40px;height:40px;background:#fff3;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff;letter-spacing:1px}.logo-text{color:#fff!important;font-size:20px!important;font-weight:700!important;margin:0!important;letter-spacing:.5px}.header-actions{display:flex;align-items:center;gap:16px;font-size:20px;cursor:pointer}.tab-nav{display:flex;background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:68px;z-index:99;box-shadow:0 2px 8px #0000000a}.pwa-prompt~.mobile-header~.tab-nav{top:120px}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;font-size:20px;color:var(--text-secondary);gap:4px}.tab-item span{font-size:11px;font-weight:500}.tab-item.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--primary-light)}.tab-item:hover{background:#fafafa}.content-area{padding:16px;max-width:800px;margin:0 auto}.tab-content{animation:fadeIn .3s ease-out}.search-section{margin-bottom:16px}.search-box{display:flex;gap:8px}.search-input{flex:1}.search-input .ant-input{border-radius:var(--radius-md)!important;height:44px;font-size:15px;border:2px solid var(--border-color);transition:all .3s ease}.search-input .ant-input:focus,.search-input .ant-input-focused{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #1890ff1a!important}.search-btn,.add-btn{height:44px!important;border-radius:var(--radius-md)!important;font-weight:600!important;font-size:14px!important;padding:0 20px!important}.search-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%)!important;border:none!important;box-shadow:0 4px 12px #1890ff4d!important}.search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1890ff66!important}.result-stats{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.result-stats .ant-tag{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;border:none}.oe-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.oe-tabs::-webkit-scrollbar{display:none}.oe-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .3s ease;border:2px solid var(--border-color);font-size:13px}.oe-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #1890ff4d}.oe-number{font-weight:600}.oe-count{background:#0000001a;padding:2px 8px;border-radius:10px;font-size:11px}.oe-tab.active .oe-count{background:#ffffff4d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-container p{color:var(--text-secondary);font-size:14px}.empty-state{padding:60px 20px;text-align:center}.empty-state .ant-empty-image{height:120px}.empty-state .ant-empty-description{color:var(--text-secondary);font-size:14px}.price-results{display:flex;flex-direction:column;gap:16px}.oe-group{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease}.oe-group:hover{box-shadow:var(--shadow-md)}.oe-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:14px}.oe-label{flex:1}.oe-group-header .ant-tag{background:#fff3;border:none;color:#fff;border-radius:12px;font-weight:600}.product-image-container{padding:16px;display:flex;justify-content:center;background:#fafafa;cursor:pointer}.product-main-image{max-width:100%;max-height:200px;object-fit:contain;border-radius:var(--radius-sm)}.price-cards{padding:12px;display:flex;flex-direction:column;gap:10px}.price-card{padding:14px;background:#fafafa;border-radius:var(--radius-md);border:2px solid transparent;transition:all .3s ease;cursor:pointer}.price-card:hover{transform:translate(4px)}.price-card.best-price{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-color:#ff9800;box-shadow:0 4px 12px #ff980033}.price-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.supplier-info{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary)}.supplier-name{font-weight:600}.best-tag{border-radius:10px!important;font-weight:700!important;font-size:10px!important;padding:2px 8px!important;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.price-value{font-size:22px;font-weight:700;color:var(--error-color);display:flex;align-items:center;gap:6px}.best-price .price-value{color:#ff6b00}.trophy-icon{color:gold;font-size:18px;animation:rotate360 3s linear infinite}@keyframes rotate360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.price-card-body{display:flex;flex-direction:column;gap:6px}.product-name{font-size:13px;color:var(--text-primary);font-weight:500;line-height:1.4}.name-en{display:block;font-size:11px;color:var(--text-secondary);font-weight:400}.price-details{display:flex;gap:6px;flex-wrap:wrap}.price-details .ant-tag{border-radius:10px;font-size:11px;padding:2px 8px;border:none}.supplier-contact{display:flex;gap:12px;font-size:12px;color:var(--text-secondary);margin-top:4px}.supplier-contact span{display:flex;align-items:center;gap:4px}.product-list{display:flex;flex-direction:column;gap:12px}.product-card{display:flex;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease;cursor:pointer}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card-image{width:100px;min-height:100px;background:#fafafa;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.product-image{width:100%;height:100%;object-fit:cover;cursor:pointer}.product-image-placeholder{font-size:32px;color:#d9d9d9}.category-tag{position:absolute;top:8px;left:8px;border-radius:10px!important;font-size:10px!important;padding:2px 8px!important;border:none!important}.product-card-body{flex:1;padding:12px;display:flex;flex-direction:column;gap:6px;min-width:0}.product-title{display:flex;flex-direction:column;gap:2px}.product-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-name-en{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oe-numbers{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.oe-numbers .ant-tag{border-radius:8px;font-size:10px;padding:1px 6px;margin:2px}.vehicle-model{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.vehicle-model span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-prices{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.supplier-count{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.price-tags{display:flex;gap:4px;flex-wrap:wrap}.price-tags .ant-tag{border-radius:8px;font-size:10px;padding:1px 6px;margin:0}.product-specs{display:flex;gap:6px;flex-wrap:wrap}.product-specs .ant-tag{border-radius:8px;font-size:10px;padding:1px 6px;margin:0}.load-more{padding:16px 0}.load-more .ant-btn{height:44px;border-radius:var(--radius-md);font-size:14px;font-weight:500;border:2px dashed var(--border-color);color:var(--text-secondary)}.load-more .ant-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.add-product-section{max-width:600px;margin:0 auto}.add-product-card{border-radius:var(--radius-lg)!important;overflow:hidden;box-shadow:var(--shadow-md)!important;border:none!important}.add-product-card .ant-card-body{padding:24px!important}.card-header{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.card-header span{font-size:18px}.product-form .ant-form-item-label>label{font-weight:600;color:var(--text-primary);font-size:14px}.product-form .ant-input,.product-form .ant-input-number,.product-form .ant-select-selector{border-radius:var(--radius-sm)!important;height:44px!important;font-size:14px!important;border:2px solid var(--border-color)!important;transition:all .3s ease!important}.product-form .ant-input:focus,.product-form .ant-input-focused,.product-form .ant-input-number:focus,.product-form .ant-input-number-focused,.product-form .ant-select-focused .ant-select-selector{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #1890ff1a!important}.product-form .ant-input-number{width:100%}.image-upload-section{margin-bottom:16px}.section-title{font-weight:600;color:var(--text-primary);font-size:14px;margin-bottom:12px}.upload-btn{height:44px!important;border-radius:var(--radius-sm)!important;font-size:14px!important;font-weight:500!important;border:2px dashed var(--border-color)!important;color:var(--text-secondary)!important;background:#fafafa!important;width:100%;margin-bottom:12px}.upload-btn:hover{border-color:var(--primary-color)!important;color:var(--primary-color)!important}.uploaded-images{display:flex;gap:8px;flex-wrap:wrap}.image-preview-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:2px solid var(--border-color)}.remove-image-btn{position:absolute!important;top:2px;right:2px;width:24px!important;height:24px!important;border-radius:50%!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;background:#00000080!important;color:#fff!important;border:none!important}.remove-image-btn:hover{background:var(--error-color)!important}.supplier-list{display:flex;flex-direction:column;gap:12px}.supplier-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease}.supplier-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.supplier-card-header{display:flex;align-items:center;padding:14px;gap:12px}.supplier-avatar{width:44px;height:44px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.supplier-info{flex:1;min-width:0}.supplier-name{font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.supplier-name .ant-tag{border-radius:10px;font-size:10px;padding:1px 8px;border:none}.supplier-contact-info{font-size:12px;color:var(--text-secondary);margin-top:4px;display:flex;align-items:center;gap:6px}.supplier-actions{display:flex;gap:4px}.supplier-actions .ant-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px}.supplier-card-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:8px}.contact-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.contact-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-card-footer{padding:12px 14px;border-top:1px solid var(--border-color);display:flex;gap:8px}.supplier-card-footer .ant-btn{flex:1;border-radius:var(--radius-sm);font-size:13px;font-weight:500;height:36px}.supplier-drawer .ant-drawer-content{background:var(--bg-primary)}.drawer-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.supplier-detail{display:flex;flex-direction:column;gap:16px}.supplier-info-card{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;border:none!important}.info-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-color);font-size:14px}.info-row:last-child{border-bottom:none}.info-row .label{color:var(--text-secondary);font-weight:500;min-width:80px}.supplier-products-section{background:#fff;border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700}.section-header .ant-btn{border-radius:var(--radius-sm);font-weight:500}.supplier-products-list{display:flex;flex-direction:column;gap:12px}.supplier-product-item{display:flex;gap:12px;padding:12px;background:#fafafa;border-radius:var(--radius-md);transition:all .3s ease}.supplier-product-item:hover{background:var(--primary-light)}.product-item-image{width:60px;height:60px;background:#fff;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border-color);cursor:pointer}.product-item-image .ant-image{width:100%;height:100%}.product-item-image img{width:100%;height:100%;object-fit:cover}.product-item-image .anticon{font-size:24px;color:#d9d9d9}.product-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.product-item-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.product-item-oe{display:flex;gap:4px;flex-wrap:wrap}.product-item-oe .ant-tag{border-radius:6px;font-size:10px;padding:0 4px;margin:0}.product-item-price{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--error-color);font-weight:600}.product-item-price span{font-size:11px;color:var(--text-secondary);font-weight:400}.form-modal .ant-modal-content{border-radius:var(--radius-lg)!important;overflow:hidden;padding:0!important}.form-modal .ant-modal-header{padding:20px 24px!important;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-bottom:none!important}.form-modal .ant-modal-title{color:#fff!important;font-weight:700!important;font-size:18px!important}.form-modal .ant-modal-close{color:#fff!important;top:20px!important}.form-modal .ant-modal-body{padding:24px!important;max-height:70vh;overflow-y:auto}.form-modal .ant-form-item-label>label{font-weight:600;color:var(--text-primary)}.form-modal .ant-input,.form-modal .ant-input-number,.form-modal .ant-select-selector{border-radius:var(--radius-sm)!important;height:44px!important;border:2px solid var(--border-color)!important}.form-modal .ant-btn-primary{height:44px!important;border-radius:var(--radius-sm)!important;font-weight:600!important;font-size:15px!important;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%)!important;border:none!important;box-shadow:0 4px 12px #1890ff4d!important}.form-modal .ant-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1890ff66!important}.image-preview-modal .ant-modal-content{background:#000000e6!important;padding:0!important}.image-preview-modal .ant-modal-body{padding:0!important;display:flex;align-items:center;justify-content:center}.image-preview-modal img{max-width:100%;max-height:80vh;object-fit:contain}@media (min-width: 768px){.content-area{padding:24px}.tab-nav{top:72px}.tab-item{padding:14px 16px;font-size:22px}.tab-item span{font-size:12px}.product-card-image{width:120px;min-height:120px}.supplier-card-header{padding:16px}.supplier-avatar{width:48px;height:48px}}@media (min-width: 1024px){.internal-tools-mobile{max-width:420px;margin:0 auto;box-shadow:var(--shadow-lg)}}@media (prefers-color-scheme: dark){:root{--text-primary: #ffffff;--text-secondary: #a0a0a0;--bg-primary: #141414;--bg-white: #1f1f1f;--border-color: #303030}.price-card{background:#1f1f1f}.price-card.best-price{background:linear-gradient(135deg,#3d2e0a,#4a3510)}.product-card,.supplier-card{background:#1f1f1f}.supplier-product-item{background:#141414}.supplier-product-item:hover{background:#1a2a4a}.form-modal .ant-modal-content{background:#1f1f1f}.form-modal .ant-modal-header{background:linear-gradient(135deg,#1a3a6a,#0d47a1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.price-card,.product-card,.supplier-card{animation:slideUp .3s ease-out;animation-fill-mode:both}.price-card:nth-child(1){animation-delay:.05s}.price-card:nth-child(2){animation-delay:.1s}.price-card:nth-child(3){animation-delay:.15s}.product-card:nth-child(1){animation-delay:.05s}.product-card:nth-child(2){animation-delay:.1s}.product-card:nth-child(3){animation-delay:.15s}.supplier-card:nth-child(1){animation-delay:.05s}.supplier-card:nth-child(2){animation-delay:.1s}.supplier-card:nth-child(3){animation-delay:.15s}@media print{.mobile-header,.tab-nav,.search-section,.pwa-prompt{display:none!important}.internal-tools-mobile{background:#fff}.price-card,.product-card,.supplier-card{break-inside:avoid;box-shadow:none;border:1px solid #d9d9d9}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}@supports (padding: env(safe-area-inset-bottom)){.internal-tools-mobile{padding-bottom:env(safe-area-inset-bottom)}}button,.ant-btn,.tab-item,.price-card,.product-card,.supplier-card{-webkit-tap-highlight-color:transparent;touch-action:manipulation}::selection{background:var(--primary-color);color:#fff}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0a1a0f,#0d2818,#0a1f12);position:relative;overflow:hidden}.login-articles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(76,175,80,.3) 0%,transparent 70%);animation:floatParticle 15s ease-in-out infinite}.particle:nth-child(1){width:300px;height:300px;top:10%;left:10%;animation-delay:0s}.particle:nth-child(2){width:200px;height:200px;top:60%;right:15%;animation-delay:3s;background:radial-gradient(circle,rgba(76,175,80,.2) 0%,transparent 70%)}.particle:nth-child(3){width:250px;height:250px;bottom:10%;left:30%;animation-delay:6s;background:radial-gradient(circle,rgba(76,175,80,.25) 0%,transparent 70%)}.particle:nth-child(4){width:180px;height:180px;top:20%;right:30%;animation-delay:9s;background:radial-gradient(circle,rgba(76,175,80,.2) 0%,transparent 70%)}.particle:nth-child(5){width:220px;height:220px;top:40%;left:50%;animation-delay:12s;background:radial-gradient(circle,rgba(76,175,80,.15) 0%,transparent 70%)}@keyframes floatParticle{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.1)}50%{transform:translate(-20px,20px) scale(.9)}75%{transform:translate(20px,30px) scale(1.05)}}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(76,175,80,.05) 1px,transparent 1px);background-size:60px 60px;animation:moveGrid 30s linear infinite;z-index:0}@keyframes moveGrid{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.login-card{width:440px;background:#ffffff14;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(76,175,80,.2);border-radius:28px;padding:48px 44px;box-shadow:0 25px 50px -12px #00000080,inset 0 1px #4caf504d,0 0 80px #4caf501a;position:relative;z-index:1;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-logo{width:100px;height:100px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;animation:logoPulse 3s ease-in-out infinite}.login-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 20px rgba(76,175,80,.5))}@keyframes logoPulse{0%,to{filter:drop-shadow(0 0 20px rgba(76,175,80,.5))}50%{filter:drop-shadow(0 0 35px rgba(76,175,80,.8))}}.login-header h1{font-size:26px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:3px;text-shadow:0 2px 10px rgba(76,175,80,.4)}.login-header p{color:#4caf50cc;font-size:14px;letter-spacing:4px;text-transform:uppercase}.login-card .ant-form-item{margin-bottom:24px}.login-card .ant-input-affix-wrapper{background:#ffffff14!important;border:1px solid rgba(76,175,80,.3)!important;border-radius:14px!important;padding:12px 16px!important;transition:all .3s ease!important;color:#fff!important}.login-card .ant-input-affix-wrapper:hover,.login-card .ant-input-affix-wrapper:focus,.login-card .ant-input-affix-wrapper-focused{border-color:#4caf50!important;box-shadow:0 0 0 3px #4caf5026!important;background:#ffffff1f!important}.login-card .ant-input{background:transparent!important;color:#fff!important;font-size:15px}.login-card .ant-input::placeholder{color:#fff6!important}.login-card .ant-input-prefix{color:#4caf50cc!important;margin-right:12px}.login-card .ant-btn-primary{width:100%;height:52px;background:linear-gradient(135deg,#4caf50,#2e7d32)!important;border:none!important;border-radius:14px!important;font-size:16px;font-weight:600;letter-spacing:2px;transition:all .3s ease!important;box-shadow:0 4px 15px #4caf5066!important}.login-card .ant-btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px #4caf5080!important;background:linear-gradient(135deg,#5cbf60,#3e8d42)!important}.login-card .ant-btn-primary:active{transform:translateY(0)!important}.login-card .ant-btn-primary.loading{background:linear-gradient(135deg,#4caf50,#2e7d32)!important}.login-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid rgba(76,175,80,.2)}.login-footer p{color:#ffffff80;font-size:12px;letter-spacing:1px}.login-card .ant-checkbox-wrapper{color:#ffffffb3}.login-card .ant-checkbox .ant-checkbox-inner{background:#ffffff1a;border-color:#4caf5080}.login-card .ant-checkbox-checked .ant-checkbox-inner{background:#4caf50;border-color:#4caf50}@media (max-width: 480px){.login-card{width:calc(100% - 40px);padding:36px 28px;margin:20px}.login-logo{width:80px;height:80px}.login-header h1{font-size:22px}}.logo{height:72px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4caf5026,#2e7d3226);border-bottom:1px solid rgba(76,175,80,.2);position:relative;overflow:hidden}.logo:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#4caf50,#2e7d32,transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.logo-img{height:42px;width:auto;object-fit:contain;filter:drop-shadow(0 0 8px rgba(76,175,80,.5));transition:filter .3s ease}.logo:hover .logo-img{filter:drop-shadow(0 0 16px rgba(76,175,80,.8))}.logo h1{color:#fff;font-size:16px;font-weight:600;margin:0 0 0 12px;letter-spacing:2px;background:linear-gradient(135deg,#4caf50,#2e7d32);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ant-layout-sider{background:linear-gradient(180deg,#0c1f0e,#0a1a0c)!important;box-shadow:4px 0 25px #0006;border-right:1px solid rgba(76,175,80,.1)}.ant-layout-sider .ant-layout-sider-children{display:flex;flex-direction:column}.ant-layout-sider .ant-layout-sider-trigger{background:#4caf501a!important;border-top:1px solid rgba(76,175,80,.15);height:44px;color:#4caf50cc!important}.ant-layout-sider .ant-layout-sider-trigger:hover{background:#4caf5033!important}.ant-menu{background:transparent!important;border-right:none!important;padding:12px 0}.ant-menu-item{margin:4px 12px!important;border-radius:12px!important;height:48px!important;line-height:48px!important;color:#ffffffb3!important;transition:all .3s ease!important}.ant-menu-item:hover{color:#fff!important;background:#4caf501f!important}.ant-menu-item-selected{background:linear-gradient(135deg,#4caf5040,#2e7d3240)!important;color:#4caf50!important;box-shadow:0 4px 15px #4caf5026}.ant-menu-item-selected:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:28px;background:linear-gradient(180deg,#4caf50,#2e7d32);border-radius:0 4px 4px 0;box-shadow:0 0 8px #4caf5080}.ant-menu-item .anticon{font-size:16px!important;transition:transform .3s ease}.ant-menu-item:hover .anticon{transform:scale(1.15)}.ant-menu-item-selected .anticon{color:#4caf50!important}.site-header{background:#fffffff5!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 32px!important;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(76,175,80,.08);position:sticky;top:0;z-index:100;box-shadow:0 2px 16px #0000000a}.header-left{display:flex;align-items:center;gap:16px}.header-left h2{margin:0;font-size:20px;font-weight:600;color:#1b5e20;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:24px}.header-action{position:relative;cursor:pointer;padding:8px;border-radius:12px;transition:all .3s ease;color:#666}.header-action:hover{background:#4caf5014;color:#4caf50}.header-action .ant-badge-count{background:linear-gradient(135deg,#4caf50,#2e7d32)!important;border:none!important;box-shadow:0 2px 8px #4caf5066!important}.user-info{display:flex;align-items:center;gap:12px;padding:6px 16px 6px 6px;border-radius:30px;cursor:pointer;transition:all .3s ease;background:#4caf500d;border:1px solid rgba(76,175,80,.1)}.user-info:hover{background:#4caf501a;box-shadow:0 2px 10px #4caf501a}.user-info .ant-avatar{background:linear-gradient(135deg,#4caf50,#2e7d32)!important;box-shadow:0 2px 8px #4caf504d!important}.user-info span{font-size:14px;font-weight:500;color:#1b5e20}.ant-dropdown-menu{background:#fffffffa!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px!important;box-shadow:0 20px 50px #0000001f!important;padding:8px!important;border:1px solid rgba(0,0,0,.06)}.ant-dropdown-menu-item{border-radius:10px!important;padding:10px 16px!important;color:#333!important;transition:all .2s ease!important}.ant-dropdown-menu-item:hover{background:#4caf5014!important;color:#4caf50!important}.ant-dropdown-menu-item-danger:hover{background:#ff4d4f14!important;color:#ff4d4f!important}.site-content{margin:24px!important;padding:28px!important;background:#f0f4f0!important;min-height:calc(100vh - 120px);border-radius:20px;box-shadow:inset 0 2px 10px #00000005}::-webkit-scrollbar-track{background:#4caf500d;border-radius:4px}::-webkit-scrollbar-thumb{background:#4caf504d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4caf5080}@media (max-width: 768px){.site-header{padding:0 16px!important}.header-left h2{font-size:16px}.site-content{margin:16px!important;padding:20px!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f4f0}#root{min-height:100vh}:root{--primary-color: #4caf50;--primary-gradient: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);--primary-light: rgba(76, 175, 80, .08);--primary-medium: rgba(76, 175, 80, .15);--primary-shadow: 0 4px 15px rgba(76, 175, 80, .3);--primary-shadow-lg: 0 8px 30px rgba(76, 175, 80, .2);--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--info-color: #2196f3;--text-primary: #1b5e20;--text-secondary: #555;--text-tertiary: #888;--bg-white: #ffffff;--bg-gray: #f0f4f0;--bg-dark: #0c1f0e;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .07);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(76, 175, 80, .25);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 24px}.ant-btn{border-radius:var(--radius-md)!important;font-weight:500!important;transition:all .3s ease!important}.ant-btn-primary{background:var(--primary-gradient)!important;border:none!important;box-shadow:var(--primary-shadow)!important}.ant-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--primary-shadow-lg)!important;filter:brightness(1.08)}.ant-btn-default:hover{border-color:var(--primary-color)!important;color:var(--primary-color)!important;background:var(--primary-light)!important}.ant-btn-link{color:var(--primary-color)!important}.ant-card{border-radius:var(--radius-lg)!important;border:1px solid rgba(76,175,80,.08)!important;box-shadow:var(--shadow-sm)!important;transition:all .3s ease!important}.ant-card:hover{box-shadow:var(--shadow-md)!important}.ant-card-head{border-bottom:1px solid rgba(76,175,80,.08)!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important}.ant-card-head-title{font-weight:600!important;color:var(--text-primary)!important}.ant-table{border-radius:var(--radius-lg)!important;overflow:hidden!important}.ant-table-thead>tr>th{background:linear-gradient(135deg,#4caf500f,#2e7d320f)!important;font-weight:600!important;color:var(--text-primary)!important;border-bottom:2px solid rgba(76,175,80,.1)!important}.ant-table-tbody>tr:hover>td{background:#4caf500a!important}.ant-table-tbody>tr>td{border-bottom:1px solid rgba(0,0,0,.04)!important;transition:background .2s ease!important}.ant-form-item-label>label{font-weight:500!important;color:var(--text-primary)!important}.ant-input:focus,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #4caf501a!important}.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-radius:var(--radius-md)!important;border-color:#0000001a!important;transition:all .3s ease!important}.ant-tabs-nav:before{border-bottom-color:#4caf5014!important}.ant-tabs-tab{font-weight:500!important;padding:12px 0!important;color:var(--text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary-color)!important}.ant-tabs-ink-bar{background:var(--primary-gradient)!important;height:3px!important;border-radius:3px 3px 0 0!important}.ant-badge-status-dot{width:8px!important;height:8px!important}.ant-tag{border-radius:var(--radius-sm)!important;padding:2px 10px!important;font-weight:500!important}.ant-tag-green{background:#4caf501a!important;border-color:#4caf5033!important;color:#2e7d32!important}.ant-modal-content{border-radius:var(--radius-xl)!important;overflow:hidden!important}.ant-modal-header{border-radius:var(--radius-xl) var(--radius-xl) 0 0!important;background:linear-gradient(135deg,#4caf500a,#2e7d320a)!important}.ant-modal-footer{border-top:1px solid rgba(76,175,80,.08)!important}.ant-drawer-content{border-radius:var(--radius-xl) 0 0 var(--radius-xl)!important}.ant-drawer-header{background:linear-gradient(135deg,#4caf500a,#2e7d320a)!important}.ant-message-notice-content{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.ant-pagination-item{border-radius:var(--radius-sm)!important;border:1px solid rgba(76,175,80,.15)!important}.ant-pagination-item-active{background:var(--primary-gradient)!important;border-color:transparent!important}.ant-pagination-item-active a{color:#fff!important}.ant-pagination-item:hover{border-color:var(--primary-color)!important}.ant-progress-bg,.ant-switch-checked{background:var(--primary-gradient)!important}.ant-checkbox-checked .ant-checkbox-inner{background:var(--primary-gradient)!important;border-color:var(--primary-color)!important}.ant-radio-checked .ant-radio-inner{border-color:var(--primary-color)!important}.ant-radio-checked .ant-radio-inner:after{background:var(--primary-color)!important}.ant-select-dropdown{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background:#4caf501a!important;color:var(--primary-color)!important;font-weight:600!important}.ant-picker-dropdown{border-radius:var(--radius-md)!important}.ant-picker-cell-selected .ant-picker-cell-inner{background:var(--primary-gradient)!important}.ant-notification-notice{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.ant-empty-description{color:var(--text-tertiary)!important}.ant-tooltip-inner{border-radius:var(--radius-sm)!important}.gradient-bg{background:var(--primary-gradient)!important}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform .3s ease,box-shadow .3s ease!important}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)!important}.glow-effect{box-shadow:var(--shadow-glow)!important}.gradient-border{position:relative;background:#fff}.gradient-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:2px;background:var(--primary-gradient);border-radius:inherit;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#4caf500a;border-radius:4px}::-webkit-scrollbar-thumb{background:#4caf5040;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4caf5066}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}a{color:var(--primary-color);transition:color .2s ease}a:hover{color:#2e7d32}::selection{background:#4caf5033;color:var(--text-primary)}
