/* Font Awesome 6.4.0 Essential Icons - Fallback */
/* Base styles */
.fa, .fas, .far, .fal, .fab {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 6 Brands", "Font Awesome 5 Free", "Font Awesome 5 Pro", "Font Awesome 5 Brands", sans-serif;
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

/* Common icons using Unicode fallbacks */
.fa-home::before, .fas.fa-home::before { content: "🏠"; }
.fa-user::before, .fas.fa-user::before { content: "👤"; }
.fa-users::before, .fas.fa-users::before { content: "👥"; }
.fa-envelope::before, .fas.fa-envelope::before { content: "✉️"; }
.fa-phone::before, .fas.fa-phone::before { content: "📞"; }
.fa-download::before, .fas.fa-download::before { content: "⬇️"; }
.fa-upload::before, .fas.fa-upload::before { content: "⬆️"; }
.fa-search::before, .fas.fa-search::before { content: "🔍"; }
.fa-edit::before, .fas.fa-edit::before { content: "✏️"; }
.fa-trash::before, .fas.fa-trash::before { content: "🗑️"; }
.fa-plus::before, .fas.fa-plus::before { content: "+"; }
.fa-minus::before, .fas.fa-minus::before { content: "-"; }
.fa-check::before, .fas.fa-check::before { content: "✓"; }
.fa-times::before, .fas.fa-times::before { content: "✕"; }
.fa-arrow-left::before, .fas.fa-arrow-left::before { content: "←"; }
.fa-arrow-right::before, .fas.fa-arrow-right::before { content: "→"; }
.fa-arrow-up::before, .fas.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before, .fas.fa-arrow-down::before { content: "↓"; }
.fa-calendar::before, .fas.fa-calendar::before { content: "📅"; }
.fa-clock::before, .fas.fa-clock::before { content: "🕐"; }
.fa-file::before, .fas.fa-file::before { content: "📄"; }
.fa-folder::before, .fas.fa-folder::before { content: "📁"; }
.fa-image::before, .fas.fa-image::before { content: "🖼️"; }
.fa-video::before, .fas.fa-video::before { content: "🎥"; }
.fa-music::before, .fas.fa-music::before { content: "🎵"; }
.fa-star::before, .fas.fa-star::before { content: "⭐"; }
.fa-heart::before, .fas.fa-heart::before { content: "❤️"; }
.fa-thumbs-up::before, .fas.fa-thumbs-up::before { content: "👍"; }
.fa-thumbs-down::before, .fas.fa-thumbs-down::before { content: "👎"; }
.fa-share::before, .fas.fa-share::before { content: "📤"; }
.fa-print::before, .fas.fa-print::before { content: "🖨️"; }
.fa-save::before, .fas.fa-save::before { content: "💾"; }
.fa-copy::before, .fas.fa-copy::before { content: "📋"; }
.fa-cut::before, .fas.fa-cut::before { content: "✂️"; }
.fa-paste::before, .fas.fa-paste::before { content: "📋"; }
.fa-undo::before, .fas.fa-undo::before { content: "↶"; }
.fa-redo::before, .fas.fa-redo::before { content: "↷"; }
.fa-refresh::before, .fas.fa-refresh::before { content: "🔄"; }
.fa-sync::before, .fas.fa-sync::before { content: "🔄"; }
.fa-lock::before, .fas.fa-lock::before { content: "🔒"; }
.fa-unlock::before, .fas.fa-unlock::before { content: "🔓"; }
.fa-key::before, .fas.fa-key::before { content: "🔑"; }
.fa-shield::before, .fas.fa-shield::before { content: "🛡️"; }
.fa-warning::before, .fas.fa-warning::before { content: "⚠️"; }
.fa-info::before, .fas.fa-info::before { content: "ℹ️"; }
.fa-question::before, .fas.fa-question::before { content: "❓"; }
.fa-exclamation::before, .fas.fa-exclamation::before { content: "❗"; }
.fa-bell::before, .fas.fa-bell::before { content: "🔔"; }
.fa-comment::before, .fas.fa-comment::before { content: "💬"; }
.fa-comments::before, .fas.fa-comments::before { content: "💬"; }
.fa-message::before, .fas.fa-message::before { content: "💬"; }
.fa-inbox::before, .fas.fa-inbox::before { content: "📥"; }
.fa-outbox::before, .fas.fa-outbox::before { content: "📤"; }
.fa-send::before, .fas.fa-send::before { content: "📤"; }
.fa-reply::before, .fas.fa-reply::before { content: "↩️"; }
.fa-forward::before, .fas.fa-forward::before { content: "↪️"; }
.fa-link::before, .fas.fa-link::before { content: "🔗"; }
.fa-external-link::before, .fas.fa-external-link::before { content: "🔗"; }
.fa-globe::before, .fas.fa-globe::before { content: "🌐"; }
.fa-map::before, .fas.fa-map::before { content: "🗺️"; }
.fa-location::before, .fas.fa-location::before { content: "📍"; }
.fa-building::before, .fas.fa-building::before { content: "🏢"; }
.fa-school::before, .fas.fa-school::before { content: "🏫"; }
.fa-graduation-cap::before, .fas.fa-graduation-cap::before { content: "🎓"; }
.fa-book::before, .fas.fa-book::before { content: "📚"; }
.fa-newspaper::before, .fas.fa-newspaper::before { content: "📰"; }
.fa-chart-bar::before, .fas.fa-chart-bar::before { content: "📊"; }
.fa-chart-line::before, .fas.fa-chart-line::before { content: "📈"; }
.fa-chart-pie::before, .fas.fa-chart-pie::before { content: "📊"; }
.fa-dashboard::before, .fas.fa-dashboard::before { content: "📊"; }
.fa-tachometer::before, .fas.fa-tachometer::before { content: "📊"; }
.fa-cog::before, .fas.fa-cog::before { content: "⚙️"; }
.fa-cogs::before, .fas.fa-cogs::before { content: "⚙️"; }
.fa-settings::before, .fas.fa-settings::before { content: "⚙️"; }
.fa-tools::before, .fas.fa-tools::before { content: "🔧"; }
.fa-wrench::before, .fas.fa-wrench::before { content: "🔧"; }
.fa-hammer::before, .fas.fa-hammer::before { content: "🔨"; }
.fa-screwdriver::before, .fas.fa-screwdriver::before { content: "🪛"; }

/* Social Media Icons */
.fab.fa-facebook::before { content: "📘"; }
.fab.fa-twitter::before { content: "🐦"; }
.fab.fa-instagram::before { content: "📷"; }
.fab.fa-youtube::before { content: "📺"; }
.fab.fa-linkedin::before { content: "💼"; }
.fab.fa-whatsapp::before { content: "💬"; }
.fab.fa-telegram::before { content: "✈️"; }

/* Navigation Icons */
.fa-bars::before, .fas.fa-bars::before { content: "☰"; }
.fa-menu::before, .fas.fa-menu::before { content: "☰"; }
.fa-hamburger::before, .fas.fa-hamburger::before { content: "☰"; }
.fa-chevron-left::before, .fas.fa-chevron-left::before { content: "‹"; }
.fa-chevron-right::before, .fas.fa-chevron-right::before { content: "›"; }
.fa-chevron-up::before, .fas.fa-chevron-up::before { content: "⌃"; }
.fa-chevron-down::before, .fas.fa-chevron-down::before { content: "⌄"; }
.fa-angle-left::before, .fas.fa-angle-left::before { content: "‹"; }
.fa-angle-right::before, .fas.fa-angle-right::before { content: "›"; }
.fa-angle-up::before, .fas.fa-angle-up::before { content: "⌃"; }
.fa-angle-down::before, .fas.fa-angle-down::before { content: "⌄"; }

/* Status Icons */
.fa-circle::before, .fas.fa-circle::before { content: "●"; }
.fa-dot-circle::before, .fas.fa-dot-circle::before { content: "◉"; }
.fa-square::before, .fas.fa-square::before { content: "■"; }
.fa-check-circle::before, .fas.fa-check-circle::before { content: "✅"; }
.fa-times-circle::before, .fas.fa-times-circle::before { content: "❌"; }
.fa-exclamation-circle::before, .fas.fa-exclamation-circle::before { content: "⚠️"; }
.fa-info-circle::before, .fas.fa-info-circle::before { content: "ℹ️"; }
.fa-question-circle::before, .fas.fa-question-circle::before { content: "❓"; }

/* Utility classes */
.fa-fw { width: 1.25em; text-align: center; }
.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -0.0667em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-spin { animation: fa-spin 2s infinite linear; }

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