/* Component overrides */
.card-header .btn { padding: 5px 15px; font-size: 12px; }
.card-header .card-header-action { display: flex; gap: 5px; }
.empty-state { text-align: center; padding: 40px; }
.empty-state .empty-state-icon { font-size: 40px; color: #ccc; margin-bottom: 15px; }

/* DataTable */
.dataTables_wrapper .dataTables_filter input { border-radius: 3px; border: 1px solid #e4e6fc; padding: 5px 10px; }
.dataTables_wrapper .dataTables_length select { border-radius: 3px; border: 1px solid #e4e6fc; padding: 3px 8px; }
.dataTables_info, .dataTables_paginate { margin-top: 15px !important; }

/* Product image thumbnail */
.product-thumb { width: 50px; height: 50px; object-fit: cover; border-radius: 3px; }

/* Stock status */
.stock-low { color: #fc544b; font-weight: 700; }
.stock-ok { color: #47c363; }

/* Price display */
.price-tag { font-weight: 700; color: #6777ef; }
.cost-tag { color: #98a6ad; font-size: 12px; }

/* Action buttons group */
.action-btns .btn { padding: 4px 8px; font-size: 12px; margin: 1px; }

/* Loading overlay */
.loading-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(255,255,255,0.7); z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
.loading-overlay .spinner-border { width: 3rem; height: 3rem; }
