*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}.app{flex-direction:column;min-height:100vh;display:flex}.loading-screen{color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.header{background:#fffffff2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 32px;display:flex;box-shadow:0 2px 10px #0000001a}.header h1{color:#333;font-size:1.5rem}.status-badges{flex-wrap:wrap;gap:8px;display:flex}.badge{border-radius:20px;padding:6px 12px;font-size:.85rem;font-weight:500}.badge.ok{color:#155724;background:#d4edda}.badge.error{color:#721c24;background:#f8d7da}.badge.warning{color:#856404;background:#fff3cd}.badge.idle{color:#383d41;background:#e2e3e5}.main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px;display:grid}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 15px #0000001a}.card h2{color:#333;align-items:center;gap:8px;margin-bottom:16px;font-size:1.1rem;display:flex}.button-group{flex-wrap:wrap;gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn.secondary{color:#333;background:#f0f0f0}.btn.secondary:hover:not(:disabled){background:#e0e0e0}.btn.warning{color:#fff;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.btn.warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.btn-icon{cursor:pointer;color:#666;background:0 0;border:none;margin-left:auto;padding:4px;transition:color .2s}.btn-icon:hover{color:#333}.log-section{margin-top:20px}.log-container{background:#1e1e1e;border-radius:8px;max-height:300px;padding:16px;font-family:Consolas,Monaco,monospace;font-size:.85rem;overflow-y:auto}.log-line{color:#d4d4d4;border-bottom:1px solid #333;padding:4px 0}.log-line:last-child{border-bottom:none}.log-empty{color:#666;text-align:center;padding:20px}.footer{color:#fff;text-align:center;background:#0003;padding:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.text-green-500{color:#22c55e}.text-red-500{color:#ef4444}.tab-nav{background:#fffffff2;border-bottom:1px solid #e0e0e0;gap:4px;padding:0 24px;display:flex}.tab-btn{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:12px 20px;font-size:.95rem;transition:all .2s;display:flex}.tab-btn:hover{color:#333;background:#667eea0d}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.wholesale-container{flex-direction:column;gap:20px;display:flex}.wholesale-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;box-shadow:0 4px 15px #0000001a}.wholesale-header h2{color:#333;align-items:center;gap:8px;margin:0;font-size:1.2rem;display:flex}.table-container{overflow-x:auto}.wholesale-table{border-collapse:collapse;width:100%;font-size:.9rem}.wholesale-table th,.wholesale-table td{text-align:left;border-bottom:1px solid #eee;padding:12px 16px}.wholesale-table th{color:#333;white-space:nowrap;background:#f8f9fa;font-weight:600}.wholesale-table tr:hover{background:#f8f9fa}.wholesale-table .url-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.wholesale-table a{color:#667eea;text-decoration:none}.wholesale-table a:hover{text-decoration:underline}.empty-row{text-align:center;color:#999;padding:40px!important}.toggle-btn{cursor:pointer;color:#666;background:#e0e0e0;border:none;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.toggle-btn.active{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%)}.toggle-btn:hover{transform:scale(1.05)}.btn-icon.danger{color:#ef4444}.btn-icon.danger:hover{color:#dc2626}.card h3{color:#333;align-items:center;gap:8px;margin-bottom:16px;font-size:1rem;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:#333;font-size:.9rem;font-weight:500}.input-group input{border:1px solid #ddd;border-radius:8px;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.input-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.status-summary{background:#f8f9fa;border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:12px 16px;display:flex}.status-summary span{color:#666;font-size:.9rem}.status-summary span.running{color:#667eea;align-items:center;gap:6px;font-weight:500;display:flex}.session-list{flex-direction:column;gap:8px;display:flex}.session-item{background:#f8f9fa;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;display:flex}.session-item.completed{border-left:4px solid #22c55e}.session-item.in_progress{border-left:4px solid #667eea}.session-item.failed{border-left:4px solid #ef4444}.session-item.pending{border-left:4px solid #e0e0e0}.session-item .site-name{color:#333;font-weight:500}.session-item .item-count{color:#666}.session-item .status-badge{color:#666;background:#e0e0e0;border-radius:4px;padding:4px 8px;font-size:.8rem;font-weight:500}.session-item.completed .status-badge{color:#155724;background:#d4edda}.session-item.in_progress .status-badge{color:#004085;background:#cce5ff}.session-item.failed .status-badge{color:#721c24;background:#f8d7da}.text-gray-400{color:#9ca3af}.text-green{color:#22c55e}.text-orange{color:#f97316}.text-gray{color:#9ca3af;font-size:.85rem}.manual-items-section{border-left:4px solid #f97316}.section-desc{color:#666;margin-bottom:16px;font-size:.9rem}.priority-badge{border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-block}.priority-badge.urgent{color:#991b1b;background:#fef2f2}.priority-badge.high{color:#92400e;background:#fef3c7}.priority-badge.medium{color:#0369a1;background:#e0f2fe}.priority-badge.low{color:#166534;background:#f0fdf4}.price-check-priority-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.price-check-priority-label{color:#6b7280;white-space:nowrap;margin-right:2px;font-size:.75rem;font-weight:600}.priority-chip{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.priority-chip:hover:not(:disabled){filter:brightness(.97)}.priority-chip:disabled{cursor:not-allowed;opacity:.6}.priority-chip-count{text-align:center;background:#00000014;border-radius:999px;min-width:18px;padding:0 5px;font-size:.7rem;font-weight:600;line-height:16px;display:inline-block}.priority-chip.urgent.selected{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.priority-chip.urgent.selected .priority-chip-count{background:#fecaca}.priority-chip.high.selected{color:#92400e;background:#fef3c7;border-color:#fcd34d}.priority-chip.high.selected .priority-chip-count{background:#fde68a}.priority-chip.medium.selected{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}.priority-chip.medium.selected .priority-chip-count{background:#bae6fd}.priority-chip.low.selected{color:#166534;background:#f0fdf4;border-color:#86efac}.priority-chip.low.selected .priority-chip-count{background:#bbf7d0}.inventory-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0 12px;display:flex}.inventory-search-wrap{flex:1;min-width:200px;max-width:360px;position:relative}.inventory-search-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.inventory-search-input{border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:7px 32px 7px 34px;font-size:.85rem;transition:border-color .15s}.inventory-search-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.inventory-search-input::placeholder{color:#9ca3af}.inventory-search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.inventory-search-clear:hover{color:#4b5563;background:#f3f4f6}.supplier-type-chips{gap:6px;display:flex}.supplier-type-chip{cursor:pointer;color:#6b7280;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:16px;align-items:center;gap:4px;padding:5px 10px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.supplier-type-chip:hover{background:#f9fafb;border-color:#9ca3af}.supplier-type-chip.selected.wholesale{color:#166534;background:#dcfce7;border-color:#86efac}.supplier-type-chip.selected.manufacturer{color:#9a3412;background:#fed7aa;border-color:#fdba74}.supplier-type-chip.selected.other{color:#4b5563;background:#f3f4f6;border-color:#9ca3af}.chip-count{background:#00000014;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:600;display:inline-flex}.supplier-type-chip.selected .chip-count{background:#0000001a}.filter-result-info{align-items:center;gap:8px;margin-left:auto;display:flex}.filter-result-count{color:#6b7280;white-space:nowrap;font-size:.8rem}.filter-clear-btn{color:#6b7280;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:4px;align-items:center;gap:3px;padding:4px 8px;font-size:.75rem;display:flex}.filter-clear-btn:hover{color:#374151;background:#f3f4f6}.empty-row{text-align:center;color:#9ca3af;font-size:.9rem;padding:40px 20px!important}.supplier-badge{vertical-align:middle;border-radius:3px;margin-left:4px;padding:2px 6px;font-size:.7rem;font-weight:500;display:inline-block}.supplier-badge.wholesale{color:#166534;background:#dcfce7}.supplier-badge.manufacturer{color:#9a3412;background:#fed7aa}.supplier-badge.kakao{color:#92400e;background:#fef3c7}.supplier-badge.fax{color:#3730a3;background:#e0e7ff}.supplier-badge.email{color:#115e59;background:#ccfbf1}.supplier-badge.other{color:#4b5563;background:#f3f4f6}.insurance-code-cell{min-width:100px}.insurance-code-value{cursor:pointer;border-radius:3px;padding:2px 4px}.insurance-code-value:hover{background:#f3f4f6}.insurance-code-value.empty{color:#9ca3af}.insurance-code-input{border:1px solid #3b82f6;border-radius:3px;outline:none;width:100px;padding:2px 4px;font-size:.85rem}.supplier-cell{min-width:120px}.supplier-value{cursor:pointer;border-radius:3px;padding:2px 4px}.supplier-value:hover{background:#f3f4f6}.supplier-select{border:1px solid #3b82f6;border-radius:3px;outline:none;width:140px;padding:2px 4px;font-size:.8rem}.btn-exclude{cursor:pointer;color:#9ca3af;opacity:0;vertical-align:middle;background:0 0;border:none;border-radius:3px;margin-left:4px;padding:2px;transition:opacity .15s,color .15s}tr:hover .btn-exclude{opacity:1}.btn-exclude:hover{color:#dc2626;background:#fee2e2}.btn-exclude.restore{opacity:1;color:#16a34a}.btn-exclude.restore:hover{background:#dcfce7}tr.excluded-row{opacity:.45}tr.excluded-row td{color:#9ca3af;text-decoration:line-through}tr.excluded-row:hover{opacity:.7}.status-icon.excluded{color:#9ca3af}tr.priority-urgent{background:#fef2f24d}tr.priority-high{background:#fef3c74d}.session-list h5{color:#666;margin-bottom:8px;font-size:.9rem}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 40px #0003}.login-header{text-align:center;margin-bottom:32px}.login-header h1{color:#667eea;margin-bottom:8px;font-size:1.8rem}.login-header h2{color:#666;font-size:1rem;font-weight:400}.login-form{flex-direction:column;gap:20px;display:flex}.form-group input{border:1px solid #ddd;border-radius:8px;padding:12px 16px;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.btn.full-width{justify-content:center;width:100%;padding:14px 20px}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;display:flex}.login-footer{text-align:center;color:#666;margin-top:24px;font-size:.9rem}.link-btn{color:#667eea;cursor:pointer;background:0 0;border:none;font-weight:500;text-decoration:underline}.link-btn:hover{color:#764ba2}.user-menu{align-items:center;gap:12px;display:flex}.user-info{color:#333;align-items:center;gap:8px;font-size:.9rem;display:flex}.user-name{font-weight:500}.btn.outline{color:#666;background:0 0;border:1px solid #ddd}.btn.outline:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}.status-icon{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:all .2s;display:inline-flex}.status-icon.pending{color:#9ca3af;background:#f3f4f6}.status-icon.searching{color:#3b82f6;background:#dbeafe}.status-icon.in_cart{color:#f59e0b;background:#fef3c7}.status-icon.in_cart:hover{background:#fde68a;transform:scale(1.1)}.status-icon.checked{color:#10b981;background:#d1fae5}.status-icon.checked:hover{background:#a7f3d0;transform:scale(1.1)}.status-icon.not_found{color:#ef4444;background:#fee2e2}.status-icon.ordered{color:#6366f1;background:#e0e7ff}.checker-info{color:#666;align-items:center;gap:4px;font-size:.85rem;display:flex}.checker-info .checker-name{color:#333;font-weight:500}.inventory-table{border-collapse:collapse;width:100%;font-size:.9rem}.inventory-table th,.inventory-table td{text-align:left;border-bottom:1px solid #eee;padding:12px 16px}.inventory-table th{color:#333;white-space:nowrap;z-index:1;background:#f8f9fa;font-weight:600;position:sticky;top:0}.inventory-table tbody tr:hover{background:#f8f9fa}.inventory-table .status-cell{text-align:center}.inventory-table .checker-cell{min-width:120px}.realtime-indicator{color:#22c55e;align-items:center;gap:6px;font-size:.8rem;display:flex}.realtime-dot{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.spin{animation:1s linear infinite spin}.session-info{flex-wrap:wrap;gap:24px;display:flex}.session-info p{color:#333;margin:0;font-size:.95rem}.session-info strong{color:#666}.empty-state{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-state svg{color:#ccc;margin-bottom:16px}.empty-state p{margin:4px 0}.loading-indicator{color:#666;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.inventory-table-container{width:100%}.inventory-table-container .table-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.inventory-table-container .table-header h3{color:#333;margin:0;font-size:1rem}@media (max-width:768px){.header{padding:16px}.header h1{font-size:1.2rem}.main{padding:16px}.button-group{flex-direction:column}.btn{justify-content:center;width:100%}.login-card{padding:24px}.user-info{display:none}}.sync-section{border-left:4px solid #667eea}.sync-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.sync-header h2{margin:0}.sync-description{color:#666;margin-top:8px;font-size:.9rem}.inventory-header{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.inventory-header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.inventory-header-top h2{margin:0}.inventory-header-controls{background:#f8f9fa;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.session-selector{align-items:center;gap:8px;display:flex}.session-selector label{color:#555;white-space:nowrap;align-items:center;gap:4px;font-size:.85rem;font-weight:500;display:flex}.session-select{color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;min-width:280px;padding:6px 10px;font-size:.85rem}.session-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.session-select:disabled{cursor:not-allowed;color:#999;background:#f5f5f5}.session-selector-loading{color:#999;font-size:.85rem}.status-label{border-radius:4px;padding:2px 8px;font-size:.85rem;font-weight:500;display:inline-block}.status-label.active{color:#155724;background:#d4edda}.status-label.completed,.badge.neutral{color:#383d41;background:#e2e3e5}.order-result{border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.order-result.success{color:#155724;background:#d4edda;border:1px solid #c3e6cb}.order-result.success p{margin:0}.order-result.success .sites-used{color:#1e7e34;font-size:.8rem}.order-result.error{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb}.order-result.warning{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.stock-warning-panel{background:#fefce8;border:1px solid #fde68a;border-radius:8px;max-width:480px;padding:12px;font-size:.85rem}.stock-warning-header{color:#b45309;align-items:center;gap:6px;margin-bottom:10px;font-size:.9rem;display:flex}.stock-warning-section{margin-bottom:10px}.stock-warning-section .stock-warning-label{margin:0 0 6px;font-size:.8rem;font-weight:600}.stock-warning-section.changeable .stock-warning-label{color:#dc2626}.stock-warning-section.insufficient .stock-warning-label{color:#92400e}.stock-issue-list{margin:0;padding:0;list-style:none}.stock-issue-item{border-radius:4px;flex-direction:column;margin-bottom:3px;padding:4px 8px;font-size:.8rem;display:flex}.stock-issue-item.changeable{background:#fee2e2;border:1px solid #fecaca}.stock-issue-item.insufficient{background:#fef3c7;border:1px solid #fde68a}.stock-issue-name{color:#1f2937;font-weight:600}.stock-issue-detail{color:#6b7280;font-size:.75rem}.stock-warning-actions{gap:8px;margin-top:10px;display:flex}.stock-warning-actions .btn{padding:5px 12px;font-size:.8rem}.btn.success{color:#fff;background:#28a745;border:none}.btn.success:hover{background:#218838}.wholesale-list{flex-direction:column;gap:20px;display:flex}.wholesale-actions{gap:8px;display:flex}.wholesale-stats{background:#fff;border-radius:12px;flex-wrap:wrap;gap:16px;padding:16px 24px;display:flex;box-shadow:0 4px 15px #0000001a}.stat-item{flex-direction:column;align-items:center;min-width:80px;padding:8px 16px;display:flex}.stat-label{color:#666;margin-bottom:4px;font-size:.8rem}.stat-value{color:#333;font-size:1.5rem;font-weight:600}.stat-item.ok .stat-value{color:#22c55e}.stat-item.error .stat-value{color:#ef4444}.account-badge{border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:600;display:inline-flex}.account-badge.has-account{color:#059669;background:#d1fae5}.account-badge.no-account{color:#9ca3af;background:#f3f4f6}.account-cell{justify-content:center;align-items:center;gap:4px;display:flex}.site-url a{color:#667eea;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;max-width:180px;text-decoration:none;display:inline-flex;overflow:hidden}.site-url a:hover{text-decoration:underline}.status-badge{border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-block}.status-badge.status-ok{color:#059669;background:#d1fae5}.status-badge.status-error{color:#dc2626;background:#fee2e2}.status-badge.status-unknown{color:#6b7280;background:#f3f4f6}.status-badge.status-partial{color:#d97706;background:#fef3c7}.step-icons{justify-content:center;align-items:center;gap:6px;display:flex}.step-icon{align-items:center;gap:1px;display:inline-flex}.status-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.stat-item.partial .stat-value{color:#d97706}.wholesale-table th.center,.wholesale-table td.center{text-align:center}.last-verified{color:#666;font-size:.85rem}.csv-upload-container{flex-direction:column;gap:8px;display:flex}.upload-info{color:#666;align-items:center;gap:6px;font-size:.85rem;display:flex}.upload-info .file-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.upload-status{border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;display:flex}.upload-status.uploading,.upload-status.processing{color:#0369a1;background:#e0f2fe}.upload-status.success{color:#059669;background:#d1fae5}.upload-status.error{color:#dc2626;background:#fee2e2}.upload-note{color:#9ca3af;margin:0;font-size:.75rem}.row-disabled{opacity:.5}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.hospital-modal{max-width:440px}.hospital-modal .modal-body{gap:16px}.hospital-select-row{align-items:center;gap:12px;padding:8px 0;display:flex}.hospital-site-label{color:#374151;min-width:80px;font-size:.95rem;font-weight:600}.hospital-options{flex-wrap:wrap;gap:8px;display:flex}.hospital-option-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;padding:8px 16px;font-size:.9rem;transition:all .15s}.hospital-option-btn:hover{background:#eff6ff;border-color:#2563eb}.hospital-option-btn.selected{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:600}.modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.form-section{flex-direction:column;gap:12px;display:flex}.form-section h4{color:#374151;border-bottom:1px solid #f3f4f6;margin:0;padding-bottom:8px;font-size:.95rem;font-weight:600}.form-group{flex-direction:column;gap:4px;display:flex}.form-group label{color:#555;font-size:.85rem;font-weight:500}.form-group input[type=text],.form-group input[type=password]{border:1px solid #d1d5db;border-radius:8px;outline:none;padding:8px 12px;font-size:.9rem;transition:border-color .2s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.form-row{flex-wrap:wrap;gap:16px;display:flex}.checkbox-label{color:#555;cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:flex}.checkbox-label input[type=checkbox]{accent-color:#667eea;width:16px;height:16px}.form-hint{color:#9ca3af;margin:0;font-size:.8rem;line-height:1.4}.credential-group{background:#f9fafb;border-radius:8px;padding:12px}.credential-header{align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:500;display:flex}.credential-status{color:#6b7280;font-size:.8rem;font-weight:400}.credential-inputs{align-items:center;gap:8px;display:flex}.credential-inputs input{border:1px solid #d1d5db;border-radius:6px;outline:none;flex:1;padding:6px 10px;font-size:.85rem}.credential-inputs input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.btn-sm{white-space:nowrap;gap:4px!important;padding:6px 12px!important;font-size:.8rem!important}.sub-tab-nav{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:16px;display:flex}.sub-tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 24px;font-size:.9rem;transition:all .2s}.sub-tab-btn:hover{color:#374151}.sub-tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.company-tab-nav{gap:8px;margin-bottom:16px;display:flex}.company-tab-btn{color:#4b5563;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:8px;padding:10px 28px;font-size:.95rem;font-weight:500;transition:all .2s}.company-tab-btn:hover{color:#667eea;background:#f0f0ff;border-color:#667eea}.company-tab-btn.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#0000;font-weight:600;box-shadow:0 2px 8px #667eea4d}.min-order-cell{color:#6b7280;white-space:nowrap;font-size:.82rem}.min-order-warning{color:#f59e0b;vertical-align:middle;align-items:center;gap:2px;margin-left:6px;font-size:.72rem;display:inline-flex}.min-order-text{font-weight:500}.stock-warning{color:#dc2626;vertical-align:middle;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;align-items:center;gap:3px;margin-left:6px;padding:2px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.stock-warning-text{white-space:nowrap}.site-remark{color:#f59e0b;cursor:help;margin-left:3px;font-weight:700}.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.9rem}.form-group select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.form-group textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-family:inherit;font-size:.9rem}.form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.csv-upload-row{align-items:center;gap:8px;display:flex}.csv-type-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 10px;font-size:.85rem}.csv-type-select:focus{border-color:#667eea;outline:none}.user-management{flex-direction:column;gap:20px;display:flex}.user-management-header{justify-content:space-between;align-items:center;display:flex}.user-management-header h2{margin:0}.role-badge{border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-block}.role-badge.admin{color:#4338ca;background:#e0e7ff}.role-badge.staff{color:#6b7280;background:#f3f4f6}.invite-status{border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-block}.invite-status.active{color:#059669;background:#d1fae5}.invite-status.invited{color:#d97706;background:#fef3c7}.current-user-badge{color:#6b7280;font-size:.75rem;font-weight:400}.role-select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:.85rem}.role-select:focus{border-color:#667eea;outline:none}.action-buttons{justify-content:center;gap:6px;display:flex}.btn-action{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:inline-flex}.btn-action:hover:not(:disabled){color:#374151;background:#f3f4f6;border-color:#9ca3af}.btn-action.danger:hover:not(:disabled){color:#dc2626;background:#fef2f2;border-color:#fca5a5}.btn-action:disabled{opacity:.5;cursor:not-allowed}.notification{border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:.9rem;animation:.3s slideDown;display:flex}.notification.success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.notification.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.notification-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;margin-left:auto;padding:2px}.notification-close:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:480px;animation:.2s scaleIn;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.org-switcher{display:inline-block;position:relative}.org-switcher-trigger{cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;transition:all .15s;display:inline-flex}.org-switcher-trigger:hover{background:#ffffff26;border-color:#fff3}.org-chevron{transition:transform .2s}.org-chevron.open{transform:rotate(180deg)}.org-dropdown{z-index:1100;background:#fff;border-radius:12px;min-width:300px;animation:.15s scaleIn;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 12px 40px #0003}.org-search-container{color:#9ca3af;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:12px 16px;display:flex}.org-search{color:#111827;background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.org-search::placeholder{color:#9ca3af}.org-search-clear{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:2px;display:flex}.org-search-clear:hover{color:#374151}.org-list{max-height:280px;padding:4px 0;overflow-y:auto}.org-item{cursor:pointer;text-align:left;color:#374151;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.9rem;transition:background .1s;display:flex}.org-item:hover{background:#f3f4f6}.org-item.active{color:#4338ca;background:#eef2ff;font-weight:500}.org-item-name{flex:1}.org-item-slug{color:#9ca3af;font-size:.75rem}.org-empty{text-align:center;color:#9ca3af;padding:16px;font-size:.85rem}.org-divider{background:#e5e7eb;height:1px;margin:0}.org-add-btn{cursor:pointer;color:#667eea;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.9rem;font-weight:500;transition:background .1s;display:flex}.org-add-btn:hover{background:#f9fafb}.org-management{flex-direction:column;gap:16px;display:flex}.org-management-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.org-search-box{color:#9ca3af;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:1;align-items:center;gap:8px;max-width:400px;padding:8px 14px;transition:border-color .15s;display:flex}.org-search-box:focus-within{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.org-search-box input{color:#111827;background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.org-search-box input::placeholder{color:#9ca3af}.org-search-clear-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:2px;display:flex}.org-search-clear-btn:hover{color:#374151}.org-card-list{flex-direction:column;gap:8px;display:flex}.org-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:border-color .15s,box-shadow .15s;overflow:hidden}.org-card:hover{border-color:#d1d5db}.org-card.expanded{border-color:#667eea;box-shadow:0 2px 12px #667eea14}.org-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:14px 18px;transition:background .1s;display:flex}.org-card-header:hover{background:#f9fafb}.org-card-toggle{color:#9ca3af;align-items:center;transition:color .15s;display:flex}.org-card.expanded .org-card-toggle{color:#667eea}.org-card-info{flex:1;align-items:baseline;gap:10px;display:flex}.org-card-name{color:#111827;font-size:.95rem;font-weight:600}.org-card-slug{color:#9ca3af;font-family:monospace;font-size:.8rem}.org-card-meta{align-items:center;gap:12px;display:flex}.org-card-count{color:#6b7280;align-items:center;gap:4px;font-size:.82rem;display:flex}.org-card-body{background:#fafbfc;border-top:1px solid #e5e7eb}.org-card-body .table-container,.org-card-body .wholesale-table{margin:0}.org-card-body .wholesale-table th{background:#f3f4f6;font-size:.8rem}.org-card-body .wholesale-table td{font-size:.85rem}.org-card-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;padding:10px 18px;display:flex}.price-clickable{cursor:pointer;color:#4f46e5;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.price-clickable:hover{color:#3730a3;background:#eef2ff}.price-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.price-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:1100px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.price-modal-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.price-modal-header h3{margin-bottom:6px;font-size:1.15rem}.price-modal-product{flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.price-modal-product strong{font-size:1rem}.spec-badge,.qty-badge{background:#ffffff40;border-radius:12px;padding:2px 8px;font-size:.8rem}.qty-clickable{cursor:pointer;align-items:center;gap:4px;transition:background .15s;display:inline-flex}.qty-clickable:hover{background:#fff6}.qty-editing{align-items:center;gap:4px;display:inline-flex}.qty-input{width:60px;color:inherit;text-align:center;background:#fff3;border:1px solid #ffffff80;border-radius:4px;outline:none;padding:1px 4px;font-size:.8rem}.qty-input:focus{background:#ffffff4d;border-color:#fff}.price-modal-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.price-modal-close:hover{background:#ffffff59}.price-modal-body{flex:1;padding:0;overflow-y:auto}.price-modal-loading,.price-modal-empty{text-align:center;color:#6b7280;padding:40px 24px}.price-details-table{border-collapse:collapse;width:100%;font-size:.88rem}.price-details-table thead th{text-align:left;color:#374151;z-index:1;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:10px 12px;font-weight:600;position:sticky;top:0}.price-details-table thead th.right{text-align:right}.price-details-table tbody td{border-bottom:1px solid #f3f4f6;padding:10px 12px}.price-details-table tbody td.right{text-align:right}.price-details-table tbody td.price{color:#111827;font-weight:600}.price-details-table tbody tr:hover{background:#f9fafb}.price-details-table tbody tr.selectable{cursor:pointer;transition:background .12s}.price-details-table tbody tr.selectable:hover{background:#eef2ff}.price-details-table tbody tr.changing{opacity:.5;pointer-events:none}.price-details-table .best-price-row{cursor:default;background:#fef3c7}.price-details-table .best-price-row:hover{background:#fde68a}.price-details-table .best-price-row td.price{color:#b45309}.price-modal-hint{color:#ffffffd9;margin-top:6px;font-size:.78rem;font-style:italic}.price-details-table .best-cell{text-align:center;width:32px}.price-details-table .best-icon{color:#f59e0b}.price-details-table .site-name{color:#1f2937;font-weight:500}.price-modal-footer{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.price-modal-footer .result-count{color:#6b7280;font-size:.85rem}.price-modal-footer .btn-close{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:8px 18px;font-size:.88rem;transition:background .15s}.price-modal-footer .btn-close:hover{background:#4338ca}.price-details-table .site-link{color:#4338ca;align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.price-details-table .site-link:hover{text-decoration:underline}.price-details-table .site-link svg{opacity:.6}.price-modal-no-results{text-align:center;color:#6b7280;background:#fafafa;padding:24px;font-size:.88rem}.price-modal-missing-section{border-top:1px solid #e5e7eb}.price-modal-expand-btn{cursor:pointer;color:#4b5563;background:#f9fafb;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 16px;font-size:.85rem;font-weight:500;transition:background .12s;display:flex}.price-modal-expand-btn:hover{color:#111827;background:#f3f4f6}.price-details-table.missing-table{background:#fafafa}.price-details-table.missing-table tbody tr.missing-row{color:#6b7280}.price-details-table.missing-table tbody tr.missing-row:hover{background:#f3f4f6}.price-details-table .status-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.price-details-table .status-badge.out-of-stock{color:#991b1b;background:#fee2e2}.price-details-table .status-badge.not-found{color:#4b5563;background:#e5e7eb}.price-check-modal .price-modal{max-width:500px}.cart-confirm-modal .price-modal{max-width:650px}.cart-modal-header{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)!important}.stock-summary-line{color:#374151;background:#f9fafb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;padding:12px 16px;font-size:.9rem;display:flex}.stock-tag{border-radius:12px;align-items:center;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.stock-tag.ready{color:#065f46;background:#d1fae5}.stock-tag.changeable{color:#991b1b;background:#fee2e2}.stock-tag.insufficient{color:#92400e;background:#fef3c7}.price-modal-close-btn{color:#fff;cursor:pointer;background:#6b7280;border:none;border-radius:6px;padding:8px 18px;font-size:.88rem;transition:background .15s}.price-modal-close-btn:hover{background:#4b5563}.command-history{flex-direction:column;gap:16px;display:flex}.command-history-header{justify-content:space-between;align-items:center;display:flex}.command-history-header h2{margin:0}.cmd-running-banner{color:#1e40af;background:#dbeafe;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:500;display:flex}.cmd-status-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.cmd-status-pending{color:#6b7280;background:#f3f4f6}.cmd-status-running{color:#1e40af;background:#dbeafe}.cmd-status-completed{color:#065f46;background:#d1fae5}.cmd-status-failed{color:#991b1b;background:#fee2e2}.cmd-time-cell{color:#6b7280;white-space:nowrap;font-size:.85rem}.cmd-result-cell{color:#374151;text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:.85rem;overflow:hidden}.cmd-header-right{align-items:center;gap:10px;display:flex}.cmd-user-search{position:relative}.cmd-search-input-wrap{align-items:center;display:flex;position:relative}.cmd-search-icon{color:#9ca3af;pointer-events:none;position:absolute;left:9px}.cmd-search-input{border:1px solid #d1d5db;border-radius:6px;outline:none;width:180px;padding:6px 28px 6px 30px;font-size:.85rem;transition:border-color .15s}.cmd-search-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.cmd-search-input::placeholder{color:#9ca3af}.cmd-search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px;display:flex;position:absolute;right:5px}.cmd-search-clear:hover{color:#4b5563;background:#f3f4f6}.cmd-search-dropdown{z-index:100;background:#fff;border:1px solid #d1d5db;border-radius:8px;max-height:200px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.cmd-search-option{text-align:left;color:#374151;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 14px;font-size:.88rem;transition:background .1s;display:block}.cmd-search-option:hover{background:#f3f4f6}.cmd-pagination{justify-content:space-between;align-items:center;padding:12px 0 4px;display:flex}.cmd-page-info{color:#6b7280;font-size:.85rem}.cmd-page-buttons{align-items:center;gap:4px;display:flex}.cmd-page-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-size:.85rem;transition:all .15s;display:inline-flex}.cmd-page-btn:hover:not(:disabled):not(.active){background:#f3f4f6;border-color:#9ca3af}.cmd-page-btn.active{color:#fff;background:#667eea;border-color:#667eea;font-weight:600}.cmd-page-btn:disabled{opacity:.4;cursor:not-allowed}.cmd-page-dots{color:#9ca3af;padding:0 4px;font-size:.85rem}
