.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:var(--admin-text-muted);gap:var(--space-4)}.spinner{width:40px;height:40px;border:3px solid var(--admin-border);border-top-color:var(--admin-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5);flex-wrap:wrap}.toolbar-left{flex:1;min-width:200px}.toolbar-right{display:flex;gap:var(--space-3)}.search-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--admin-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:var(--color-white)}.search-input:focus{border-color:var(--admin-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.filter-select{padding:var(--space-2) var(--space-3);border:1px solid var(--admin-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:var(--color-white);cursor:pointer}.btn{border:none;cursor:pointer;font-family:inherit;text-decoration:none;transition:all var(--transition-fast)}.btn-primary{background:var(--admin-primary);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.btn-primary:hover{background:var(--admin-primary-dark);box-shadow:var(--shadow-primary)}.card{background:var(--admin-card);border-radius:var(--radius-lg);border:1px solid var(--admin-border);overflow:hidden}.empty-state{text-align:center;padding:var(--space-12) var(--space-6)}.empty-icon{font-size:3rem;margin-bottom:var(--space-4)}.empty-state h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.empty-state p{font-size:var(--text-sm);color:var(--admin-text-muted)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--admin-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--admin-border);background:var(--admin-bg)}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--admin-border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-gray-50)}.product-img{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover;background:var(--color-gray-100)}.product-img-placeholder{width:44px;height:44px;background:var(--color-gray-100);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg)}.product-name{font-weight:500}.product-slug{font-size:var(--text-xs);color:var(--admin-text-muted)}.status-dot{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm)}.status-dot:before{content:"";width:8px;height:8px;border-radius:var(--radius-full)}.status-active:before{background:var(--admin-success)}.status-inactive:before{background:var(--admin-text-muted)}.status-out-of-stock:before{background:var(--admin-danger)}.price-cell{font-weight:600;color:var(--admin-primary)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.status-badge.status-active{background:#e8f5e9;color:#2e7d32}.status-badge.status-inactive{background:#f3f4f6;color:#6b7280}.status-badge .status-dot:before{width:7px;height:7px}.status-badge.status-active .status-dot:before{background:var(--admin-success)}.status-badge.status-inactive .status-dot:before{background:var(--admin-text-muted)}.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:inherit;opacity:.7;cursor:help;padding:0}.info-tip:hover,.info-tip:focus{opacity:1;outline:none}.info-tip .tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#1f2937;color:#f9fafb;font-size:11px;font-weight:400;line-height:1.4;padding:8px 10px;border-radius:8px;width:230px;text-align:left;white-space:normal;box-shadow:0 6px 16px #0003;opacity:0;pointer-events:none;transition:all .15s ease;z-index:20}.info-tip .tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2937}.info-tip:hover .tooltip,.info-tip:focus .tooltip{opacity:1;transform:translate(-50%) translateY(0)}.mini-toggle{position:relative;display:inline-flex;width:34px;height:19px;flex-shrink:0;cursor:pointer;vertical-align:middle}.mini-toggle input{opacity:0;width:0;height:0;position:absolute}.mini-slider{position:absolute;inset:0;background:var(--color-gray-300);border-radius:10px;transition:all var(--transition-fast)}.mini-slider:before{content:"";position:absolute;left:2px;top:2px;width:15px;height:15px;background:#fff;border-radius:50%;transition:all var(--transition-fast);box-shadow:0 1px 2px #0003}.mini-toggle input:checked+.mini-slider{background:var(--admin-primary)}.mini-toggle input:checked+.mini-slider:before{transform:translate(15px)}.mini-toggle input:disabled+.mini-slider{opacity:.5;cursor:not-allowed}.actions-cell{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.action-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--admin-border);border-radius:var(--radius-md);background:transparent;font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);color:var(--admin-text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:4px}.action-btn:hover{border-color:var(--admin-primary);color:var(--admin-primary);background:var(--color-primary-50)}.action-btn.danger:hover{border-color:var(--admin-danger);color:var(--admin-danger);background:#fef2f2}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--admin-border);flex-wrap:wrap}.table-footer-left{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--admin-text-muted)}.per-page-select{padding:var(--space-1) var(--space-2);border:1px solid var(--admin-border);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:inherit;background:var(--color-white);cursor:pointer}.table-footer-right{display:flex;align-items:center;gap:var(--space-3)}.page-info{font-size:var(--text-xs);color:var(--admin-text-muted)}.pagination{display:flex;align-items:center;gap:var(--space-1)}.page-btn{min-width:30px;height:30px;border:1px solid var(--admin-border);border-radius:var(--radius-md);background:var(--color-white);color:var(--admin-text);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.page-btn:hover:not(:disabled){border-color:var(--admin-primary);color:var(--admin-primary);background:var(--color-primary-50)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-current{font-size:var(--text-sm);font-weight:600;color:var(--admin-text);padding:0 var(--space-1)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--space-4)}.modal{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--space-6);max-width:420px;width:100%;box-shadow:0 25px 50px #0003}.modal h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-2)}.modal p{font-size:var(--text-sm);color:var(--admin-text-muted);margin-bottom:var(--space-2)}.modal-warning{color:var(--admin-danger)!important}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);font-family:inherit}.btn-secondary{background:transparent;border-color:var(--admin-border);color:var(--admin-text-muted)}.btn-secondary:hover{border-color:var(--admin-text-muted);color:var(--admin-text)}.btn-danger{background:var(--admin-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.6;cursor:not-allowed}
