/* Self-hosted icon system - replaces Font Awesome CDN */
/* Using system emoji + CSS pseudo-elements for zero network cost */

/* Base icon style */
[class^="icon-"], [class*=" icon-"] {
  display: inline-block;
  font-style: normal;
  line-height: 1;
  vertical-align: middle;
}

/* Navigation / UI */
.icon-bars::before         { content: "☰"; }
.icon-building::before     { content: "🏢"; font-size: .9em; }
.icon-search::before       { content: "🔍"; font-size: .85em; }
.icon-phone::before        { content: "📞"; font-size: .85em; }
.icon-envelope::before     { content: "✉"; }
.icon-map::before          { content: "📍"; font-size: .85em; }
.icon-arrow-right::before  { content: "→"; font-weight: 700; }
.icon-arrow-left::before   { content: "←"; font-weight: 700; }
.icon-check::before        { content: "✓"; font-weight: 700; }
.icon-times::before        { content: "✕"; }
.icon-sign-in::before      { content: "→"; font-weight: 700; }
.icon-sign-out::before     { content: "⏻"; }
.icon-user::before         { content: "👤"; font-size: .85em; }
.icon-user-circle::before  { content: "👤"; font-size: .85em; }
.icon-users::before        { content: "👥"; font-size: .85em; }
.icon-star::before         { content: "★"; color: var(--accent); }
.icon-door-open::before    { content: "🚪"; font-size: .85em; }
.icon-door-closed::before  { content: "🚪"; font-size: .85em; opacity: .5; }
.icon-home::before         { content: "🏠"; font-size: .85em; }
.icon-plus::before         { content: "+"; font-weight: 700; font-size: 1.1em; }
.icon-edit::before         { content: "✏"; }
.icon-trash::before        { content: "🗑"; font-size: .85em; }
.icon-save::before         { content: "💾"; font-size: .85em; }
.icon-eye::before          { content: "👁"; font-size: .85em; }
.icon-ban::before          { content: "⊘"; }
.icon-redo::before         { content: "↺"; font-weight: 700; }
.icon-toggle::before       { content: "⇄"; font-weight: 700; }
.icon-bell::before         { content: "🔔"; font-size: .85em; }
.icon-clock::before        { content: "⏱"; font-size: .85em; }
.icon-check-circle::before { content: "✅"; font-size: .85em; }
.icon-exclamation::before  { content: "⚠"; color: currentColor; }
.icon-info::before         { content: "ℹ"; }
.icon-tachometer::before   { content: "📊"; font-size: .85em; }
.icon-images::before       { content: "🖼"; font-size: .85em; }
.icon-video::before        { content: "🎬"; font-size: .85em; }
.icon-play::before         { content: "▶"; }
.icon-file-video::before   { content: "📹"; font-size: .85em; }
.icon-image::before        { content: "🖼"; font-size: .85em; }
.icon-user-check::before   { content: "✔"; font-weight:700; }
.icon-user-times::before   { content: "✕"; font-weight:700; }
.icon-user-clock::before   { content: "⏰"; font-size: .85em; }

/* Font Awesome class compatibility shim (fa- classes used inline) */
.fas, .far, .fab { display: inline-block; font-style: normal; }
.fa-bars::before         { content: "☰"; }
.fa-building::before     { content: "🏢"; }
.fa-search::before       { content: "🔍"; }
.fa-phone::before        { content: "📞"; }
.fa-envelope::before     { content: "✉"; }
.fa-map-marker-alt::before { content: "📍"; }
.fa-arrow-right::before  { content: " →"; }
.fa-arrow-left::before   { content: "← "; }
.fa-check::before        { content: "✓"; font-weight:700; }
.fa-times::before        { content: "✕"; }
.fa-sign-in-alt::before  { content: "→"; font-weight:700; }
.fa-sign-out-alt::before { content: "⏻"; }
.fa-user::before         { content: "👤"; }
.fa-user-circle::before  { content: "👤"; }
.fa-users::before        { content: "👥"; }
.fa-star::before         { content: "★"; }
.fa-door-open::before    { content: "🚪"; }
.fa-door-closed::before  { content: "🚪"; opacity:.5; }
.fa-home::before         { content: "🏠"; }
.fa-plus::before         { content: "+"; font-weight:700; }
.fa-edit::before         { content: "✏"; }
.fa-trash::before        { content: "🗑"; }
.fa-save::before         { content: "💾"; }
.fa-eye::before          { content: "👁"; }
.fa-ban::before          { content: "⊘"; }
.fa-redo::before         { content: "↺"; font-weight:700; }
.fa-toggle-on::before    { content: "⇄"; font-weight:700; }
.fa-bell::before         { content: "🔔"; }
.fa-check-circle::before { content: "✅"; }
.fa-exclamation-circle::before { content: "⚠"; }
.fa-info-circle::before  { content: "ℹ"; }
.fa-tachometer-alt::before { content: "📊"; }
.fa-images::before       { content: "🖼"; }
.fa-video::before        { content: "🎬"; }
.fa-play-circle::before  { content: "▶"; }
.fa-file-video::before   { content: "📹"; }
.fa-image::before        { content: "🖼"; }
.fa-user-check::before   { content: "✔"; font-weight:700; }
.fa-user-times::before   { content: "✕"; font-weight:700; }
.fa-user-clock::before   { content: "⏰"; }
.fa-user-plus::before    { content: "➕"; }
.fa-user-minus::before   { content: "➖"; }
