/**
 * Icon Fix CSS
 * 
 * This file contains fixes for Bootstrap Icons display issues
 */

/* Fix for missing icons */
.bi {
    display: inline-block;
    vertical-align: -0.125em;
    width: 1em;
    height: 1em;
    font-size: inherit;
    line-height: 1;
}

/* Ensure icons are properly loaded */
@font-face {
    font-family: "bootstrap-icons";
    src: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/fonts/bootstrap-icons.woff2") format("woff2"),
         url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/fonts/bootstrap-icons.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}

/* Fix for dashboard stats icons */
.dashboard-stat-icon {
    font-size: 2rem;
    margin-right: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Fix for Total Records icon specifically */
.dashboard-stat-card:first-child .dashboard-stat-icon {
    color: #0d6efd;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for card icons */
.card-header i.bi {
    margin-right: 0.5rem;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for button icons */
.btn i.bi {
    margin-right: 0.25rem;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for nav icons */
.nav-link i.bi {
    margin-right: 0.25rem;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for dropdown menu icons */
.dropdown-item i.bi {
    margin-right: 0.5rem;
    width: 1.25em;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for alert icons */
.alert i.bi {
    margin-right: 0.5rem;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for table action icons */
.table .action-icons i.bi {
    margin: 0 0.25rem;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for form icons */
.input-group-text i.bi {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for icon buttons */
.btn-icon {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.btn-icon i.bi {
    margin-right: 0;
    font-size: 1.25rem;
}

/* Fix for icon opacity issues in Firefox */
@-moz-document url-prefix() {
    .bi {
        opacity: 1 !important;
    }
}

/* Fix for icon visibility issues in Safari */
@media not all and (min-resolution:.001dpcm) {
    @supports (-webkit-appearance:none) {
        .bi {
            visibility: visible !important;
        }
    }
}