/* FontAwesome 대체 아이콘 CSS */
/* CDN 로드 실패 시 사용할 기본 아이콘들 */

.fa, .fas, .far, .fab, .fal, .fad {
  font-family: Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
}

/* 자주 사용되는 아이콘들을 유니코드 문자로 대체 */
.fa-home::before { content: "🏠"; }
.fa-user::before { content: "👤"; }
.fa-phone::before { content: "📞"; }
.fa-envelope::before { content: "✉️"; }
.fa-search::before { content: "🔍"; }
.fa-bars::before { content: "☰"; }
.fa-times::before { content: "✕"; }
.fa-plus::before { content: "+"; }
.fa-minus::before { content: "-"; }
.fa-edit::before { content: "✏️"; }
.fa-trash::before { content: "🗑️"; }
.fa-save::before { content: "💾"; }
.fa-download::before { content: "⬇️"; }
.fa-upload::before { content: "⬆️"; }
.fa-print::before { content: "🖨️"; }
.fa-cog::before { content: "⚙️"; }
.fa-settings::before { content: "⚙️"; }
.fa-bell::before { content: "🔔"; }
.fa-calendar::before { content: "📅"; }
.fa-clock::before { content: "🕐"; }
.fa-star::before { content: "⭐"; }
.fa-heart::before { content: "❤️"; }
.fa-check::before { content: "✓"; }
.fa-arrow-left::before { content: "←"; }
.fa-arrow-right::before { content: "→"; }
.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before { content: "↓"; }
.fa-chevron-left::before { content: "‹"; }
.fa-chevron-right::before { content: "›"; }
.fa-chevron-up::before { content: "^"; }
.fa-chevron-down::before { content: "v"; }
.fa-info::before { content: "ℹ️"; }
.fa-warning::before { content: "⚠️"; }
.fa-exclamation::before { content: "❗"; }
.fa-question::before { content: "❓"; }
.fa-lock::before { content: "🔒"; }
.fa-unlock::before { content: "🔓"; }
.fa-eye::before { content: "👁️"; }
.fa-eye-slash::before { content: "🙈"; }
.fa-folder::before { content: "📁"; }
.fa-file::before { content: "📄"; }
.fa-copy::before { content: "📋"; }
.fa-paste::before { content: "📄"; }
.fa-cut::before { content: "✂️"; }
.fa-link::before { content: "🔗"; }
.fa-external-link::before { content: "🔗"; }
.fa-refresh::before { content: "🔄"; }
.fa-sync::before { content: "🔄"; }
.fa-spinner::before { content: "⏳"; }
.fa-loading::before { content: "⏳"; }

/* 추가: 페이지에서 사용 중인 아이콘들 */
.fa-list-alt::before { content: "📋"; }
.fa-reply::before { content: "↩"; }
.fa-headset::before { content: "🎧"; }
.fa-paper-plane::before { content: "📨"; }

/* 크기 조정 */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.33333em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }

/* 회전 및 애니메이션 */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}

.fa-pulse {
  animation: fa-pulse 1s infinite steps(8);
}

@keyframes fa-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

/* 색상 */
.text-primary { color: #007bff; }
.text-secondary { color: #6c757d; }
.text-success { color: #28a745; }
.text-danger { color: #dc3545; }
.text-warning { color: #ffc107; }
.text-info { color: #17a2b8; }
.text-light { color: #f8f9fa; }
.text-dark { color: #343a40; }
.text-muted { color: #6c757d; }

/* Nucleo 아이콘 간단 폴백 */
.ni { font-family: Arial, sans-serif; display: inline-block; width: 1em; text-align: center; }
.ni-chat-round::before { content: "💬"; }