/* 
 * DSGVO-konforme lokale Font-Lösung
 * Ersetzt Google Fonts und FontAwesome
 * Keine externen Server-Aufrufe
 */

/* System-Fonts statt Inter (DSGVO-konform) */
body, .inter-font {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Icon-Ersetzungen mit Unicode-Zeichen (keine externen Fonts) */
.fa, .fas, .far, .fab {
  font-family: inherit;
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

/* Wichtige Icon-Ersetzungen */
.fa-eye::before { content: "👁"; }
.fa-eye-slash::before { content: "🚫"; }
.fa-lock::before { content: "🔒"; }
.fa-unlock::before { content: "🔓"; }
.fa-user::before { content: "👤"; }
.fa-users::before { content: "👥"; }
.fa-search::before { content: "🔍"; }
.fa-magnifying-glass::before { content: "🔍"; }
.fa-home::before, .fa-house::before { content: "🏠"; }
.fa-settings::before, .fa-cog::before, .fa-gear::before { content: "⚙️"; }
.fa-check::before { content: "✓"; }
.fa-times::before, .fa-xmark::before { content: "✕"; }
.fa-plus::before { content: "+"; }
.fa-minus::before { content: "−"; }
.fa-edit::before, .fa-pen::before { content: "✏️"; }
.fa-trash::before { content: "🗑️"; }
.fa-save::before { content: "💾"; }
.fa-download::before { content: "⬇️"; }
.fa-upload::before { content: "⬆️"; }
.fa-arrow-left::before { content: "←"; }
.fa-arrow-right::before { content: "→"; }
.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before { content: "↓"; }
.fa-calendar::before { content: "📅"; }
.fa-clock::before { content: "🕐"; }
.fa-bell::before { content: "🔔"; }
.fa-envelope::before { content: "✉️"; }
.fa-phone::before { content: "📞"; }
.fa-info::before, .fa-info-circle::before { content: "ℹ️"; }
.fa-warning::before, .fa-exclamation-triangle::before { content: "⚠️"; }
.fa-shield::before { content: "🛡️"; }
.fa-shield-alt::before { content: "🛡️"; }
.fa-key::before { content: "🔑"; }
.fa-sync::before, .fa-refresh::before { content: "🔄"; }
.fa-bars::before { content: "☰"; }
.fa-ellipsis::before { content: "⋯"; }
.fa-heart::before { content: "❤️"; }
.fa-star::before { content: "⭐"; }
.fa-bookmark::before { content: "🔖"; }
.fa-share::before { content: "📤"; }
.fa-link::before { content: "🔗"; }
.fa-external-link::before { content: "↗️"; }
.fa-print::before { content: "🖨️"; }
.fa-file::before { content: "📄"; }
.fa-folder::before { content: "📁"; }
.fa-image::before { content: "🖼️"; }
.fa-video::before { content: "🎥"; }
.fa-music::before { content: "🎵"; }
.fa-comment::before { content: "💬"; }
.fa-comments::before { content: "💬"; }

/* Admin-spezifische Icons */
.fa-dashboard::before, .fa-tachometer::before { content: "📊"; }
.fa-chart-bar::before { content: "📊"; }
.fa-chart-line::before { content: "📈"; }
.fa-database::before { content: "🗄️"; }
.fa-server::before { content: "🖥️"; }
.fa-code::before { content: "💻"; }
.fa-bug::before { content: "🐛"; }
.fa-wrench::before { content: "🔧"; }
.fa-tools::before { content: "🛠️"; }

/* 2FA Icons */
.fa-qrcode::before { content: "📱"; }
.fa-mobile::before { content: "📱"; }
.fa-smartphone::before { content: "📱"; }

/* Status Icons */
.fa-check-circle::before, .fa-circle-check::before { content: "✅"; }
.fa-times-circle::before, .fa-circle-xmark::before { content: "❌"; }
.fa-exclamation-circle::before, .fa-circle-exclamation::before { content: "⚠️"; }

/* Pfeile und Navigation */
.fa-chevron-left::before { content: "‹"; }
.fa-chevron-right::before { content: "›"; }
.fa-chevron-up::before { content: "‹"; transform: rotate(90deg); }
.fa-chevron-down::before { content: "›"; transform: rotate(90deg); }

/* Größen-Klassen */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.25em; }
.fa-xl { font-size: 1.5em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }

/* Margin-Klassen */
.fa { margin-right: 0.3em; }
.fa-fw { width: 1.25em; text-align: center; }

/* Hover-Effekte */
.fa:hover {
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

/* 
 * Fallback für nicht definierte Icons
 * Zeigt ein neutrales Symbol
 */
[class*="fa-"]:not([class*="fa-"]):before {
  content: "•";
  color: #6b7280;
}

/* 
 * Dark Mode Unterstützung
 */
@media (prefers-color-scheme: dark) {
  [class*="fa-"] {
    filter: brightness(0.9);
  }
}

/* 
 * Performance-Optimierung
 */
.fa, .fas, .far, .fab {
  will-change: transform;
  backface-visibility: hidden;
} 