/* ============================================
   CUSTOM BUTTON STYLES - ICON ONLY
   ============================================ */

/* Action Group Buttons - Icon Only */
.action-group .btn {
    padding: 0.375rem 0.5rem !important;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.action-group .btn i {
    margin: 0 !important;
    font-size: 1rem;
}

/* Hide text on all screen sizes, show only icons */
.action-group .btn span,
.action-group .btn .d-none,
.action-group .btn .d-md-inline {
    display: none !important;
}

/* Ensure tooltips work properly */
.action-group .btn[data-bs-toggle="tooltip"],
.action-group .btn[title] {
    cursor: pointer;
}

/* Button spacing in action groups */
.action-group {
    display: inline-flex !important;
    gap: 0.25rem;
    flex-wrap: nowrap !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .action-group .btn {
        padding: 0.25rem 0.4rem !important;
        min-width: 28px;
        font-size: 0.875rem;
    }
    
    .action-group .btn i {
        font-size: 0.875rem;
    }
}

/* Filter buttons - keep text on desktop, icon only on mobile */
.filter-buttons .btn {
    white-space: nowrap;
}

@media (max-width: 576px) {
    .filter-buttons .btn span:not(.menu-icon) {
        display: none !important;
    }
    
    .filter-buttons .btn {
        padding: 0.375rem 0.5rem !important;
    }
}

/* DataTable action buttons */
table .action-group {
    justify-content: center;
}

/* Ensure consistent button heights */
.btn-xs {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    line-height: 1.5;
}

/* Icon-only button variants */
.btn-icon-only {
    padding: 0.375rem 0.5rem !important;
    min-width: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-icon-only i {
    margin: 0 !important;
}

.btn-icon-only span {
    display: none !important;
}
