/* FontAwesome Icons - Minimal Implementation */
/* This provides basic icon support without external dependencies */

.fas, .far, .fab {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
    font-weight: 900;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

.far {
    font-weight: 400;
}

.fab {
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
}

/* Common Icons - Using Unicode characters */
.fa-user::before { content: "👤"; }
.fa-users::before { content: "👥"; }
.fa-envelope::before { content: "✉️"; }
.fa-phone::before { content: "📞"; }
.fa-lock::before { content: "🔒"; }
.fa-eye::before { content: "👁️"; }
.fa-eye-slash::before { content: "🙈"; }
.fa-edit::before { content: "✏️"; }
.fa-trash::before { content: "🗑️"; }
.fa-plus::before { content: "+"; }
.fa-minus::before { content: "-"; }
.fa-check::before { content: "✓"; }
.fa-times::before { content: "✕"; }
.fa-search::before { content: "🔍"; }
.fa-home::before { content: "🏠"; }
.fa-dashboard::before, .fa-tachometer-alt::before { content: "📊"; }
.fa-file-alt::before { content: "📄"; }
.fa-scroll::before { content: "📜"; }
.fa-shield-alt::before { content: "🛡️"; }
.fa-heart::before { content: "❤️"; }
.fa-star::before { content: "⭐"; }
.fa-clock::before { content: "🕐"; }
.fa-calendar::before { content: "📅"; }
.fa-download::before { content: "⬇️"; }
.fa-upload::before { content: "⬆️"; }
.fa-save::before { content: "💾"; }
.fa-cog::before { content: "⚙️"; }
.fa-bell::before { content: "🔔"; }
.fa-info-circle::before { content: "ℹ️"; }
.fa-exclamation-triangle::before { content: "⚠️"; }
.fa-check-circle::before { content: "✅"; }
.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before { content: "↓"; }
.fa-arrow-left::before { content: "←"; }
.fa-arrow-right::before { content: "→"; }
.fa-chevron-up::before { content: "▲"; }
.fa-chevron-down::before { content: "▼"; }
.fa-chevron-left::before { content: "◀"; }
.fa-chevron-right::before { content: "▶"; }
.fa-spinner::before { content: "⟳"; }
.fa-rocket::before { content: "🚀"; }
.fa-play::before { content: "▶️"; }
.fa-pause::before { content: "⏸️"; }
.fa-stop::before { content: "⏹️"; }

/* Spinning animation for spinner */
.fa-spin {
    animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Size modifiers */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -0.0667em; }
.fa-xl { font-size: 1.5em; line-height: 0.6667em; vertical-align: -0.075em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }

/* Color utilities */
.text-primary { color: var(--primary-color, #007bff); }
.text-secondary { color: var(--secondary-color, #6c757d); }
.text-success { color: var(--success-color, #28a745); }
.text-danger { color: var(--danger-color, #dc3545); }
.text-warning { color: var(--warning-color, #ffc107); }
.text-info { color: var(--info-color, #17a2b8); }
.text-light { color: var(--light-color, #f8f9fa); }
.text-dark { color: var(--dark-color, #343a40); }
.text-muted { color: #6c757d; }