/* 本地化图标字体 - 替代Font Awesome */
/* 使用Unicode字符和CSS创建图标，无需外部字体文件 */

/* 图标基础样式 */
.fas, .fa, .far, .fab {
    font-family: var(--font-family-primary, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Microsoft YaHei', '微软雅黑', sans-serif);
    font-weight: 600;
    font-style: normal;
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    width: 1em;
    font-size: 1em;
    text-align: center;
    line-height: 1;
    vertical-align: middle;
}

/* 项目实际使用的图标 */
.fa-plus::before { content: "+"; }
.fa-trash-alt::before { content: "🗑"; }
.fa-chart-bar::before { content: "📊"; }
.fa-file-alt::before { content: "📄"; }
.fa-chart-line::before { content: "📈"; }
.fa-database::before { content: "💾"; }
.fa-download::before { content: "⬇"; }
.fa-upload::before { content: "⬆"; }
.fa-cog::before { content: "⚙"; }
.fa-sun::before { content: "☀"; }
.fa-moon::before { content: "🌙"; }
.fa-palette::before { content: "🎨"; }
.fa-times::before { content: "✕"; }
.fa-edit::before { content: "✏"; }
.fa-save::before { content: "💾"; }
.fa-calendar::before { content: "📅"; }
.fa-clock::before { content: "🕐"; }
.fa-tag::before { content: "🏷"; }
.fa-sticky-note::before { content: "📝"; }
.fa-chevron-left::before { content: "◀"; }
.fa-chevron-right::before { content: "▶"; }
.fa-chevron-up::before { content: "▲"; }
.fa-chevron-down::before { content: "▼"; }
.fa-check::before { content: "✓"; }
.fa-exclamation-triangle::before { content: "⚠"; }
.fa-info-circle::before { content: "ℹ"; }
.fa-question-circle::before { content: "?"; }
.fa-home::before { content: "🏠"; }
.fa-user::before { content: "👤"; }
.fa-envelope::before { content: "✉"; }
.fa-phone::before { content: "📞"; }
.fa-map-marker-alt::before { content: "📍"; }
.fa-link::before { content: "🔗"; }
.fa-external-link-alt::before { content: "↗"; }
.fa-copy::before { content: "📋"; }
.fa-paste::before { content: "📋"; }
.fa-cut::before { content: "✂"; }
.fa-undo::before { content: "↶"; }
.fa-redo::before { content: "↷"; }
.fa-search::before { content: "🔍"; }
.fa-filter::before { content: "🔽"; }
.fa-sort::before { content: "⇅"; }
.fa-sort-up::before { content: "↑"; }
.fa-sort-down::before { content: "↓"; }
.fa-list::before { content: "☰"; }
.fa-th::before { content: "⊞"; }
.fa-th-list::before { content: "☰"; }
.fa-bars::before { content: "☰"; }
.fa-ellipsis-h::before { content: "⋯"; }
.fa-ellipsis-v::before { content: "⋮"; }
.fa-angle-left::before { content: "‹"; }
.fa-angle-right::before { content: "›"; }
.fa-angle-up::before { content: "⌃"; }
.fa-angle-down::before { content: "⌄"; }
.fa-arrow-left::before { content: "←"; }
.fa-arrow-right::before { content: "→"; }
.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before { content: "↓"; }
.fa-play::before { content: "▶"; }
.fa-pause::before { content: "⏸"; }
.fa-stop::before { content: "⏹"; }
.fa-forward::before { content: "⏩"; }
.fa-backward::before { content: "⏪"; }
.fa-volume-up::before { content: "🔊"; }
.fa-volume-down::before { content: "🔉"; }
.fa-volume-mute::before { content: "🔇"; }
.fa-music::before { content: "🎵"; }
.fa-video::before { content: "🎥"; }
.fa-image::before { content: "🖼"; }
.fa-camera::before { content: "📷"; }
.fa-microphone::before { content: "🎤"; }
.fa-microphone-slash::before { content: "🎤"; }
.fa-headphones::before { content: "🎧"; }
.fa-desktop::before { content: "🖥"; }
.fa-laptop::before { content: "💻"; }
.fa-tablet-alt::before { content: "📱"; }
.fa-mobile-alt::before { content: "📱"; }
.fa-keyboard::before { content: "⌨"; }
.fa-mouse::before { content: "🖱"; }
.fa-print::before { content: "🖨"; }
.fa-fax::before { content: "📠"; }
.fa-wifi::before { content: "📶"; }
.fa-bluetooth::before { content: "📶"; }
.fa-usb::before { content: "🔌"; }
.fa-hdd::before { content: "💽"; }
.fa-memory::before { content: "💾"; }
.fa-microchip::before { content: "🔧"; }
.fa-server::before { content: "🖥"; }
.fa-cloud::before { content: "☁"; }
.fa-cloud-upload-alt::before { content: "☁"; }
.fa-cloud-download-alt::before { content: "☁"; }
.fa-sync::before { content: "🔄"; }
.fa-sync-alt::before { content: "🔄"; }
.fa-refresh::before { content: "🔄"; }
.fa-spinner::before { content: "⏳"; }
.fa-circle-notch::before { content: "⏳"; }
.fa-wrench::before { content: "🔧"; }
.fa-tools::before { content: "🛠"; }
.fa-hammer::before { content: "🔨"; }
.fa-screwdriver::before { content: "🔧"; }
.fa-key::before { content: "🔑"; }
.fa-lock::before { content: "🔒"; }
.fa-unlock::before { content: "🔓"; }
.fa-shield-alt::before { content: "💾"; }
.fa-user-shield::before { content: "👤"; }
.fa-user-lock::before { content: "👤"; }
.fa-user-secret::before { content: "👤"; }
.fa-eye::before { content: "👁"; }
.fa-eye-slash::before { content: "👁"; }
.fa-bell::before { content: "🔔"; }
.fa-bell-slash::before { content: "🔕"; }
.fa-exclamation::before { content: "!"; }
.fa-exclamation-circle::before { content: "⚠"; }
.fa-question::before { content: "?"; }
.fa-info::before { content: "ℹ"; }
.fa-check-circle::before { content: "✓"; }
.fa-times-circle::before { content: "✕"; }
.fa-ban::before { content: "🚫"; }
.fa-minus::before { content: "−"; }
.fa-plus-circle::before { content: "⚡"; }
.fa-minus-circle::before { content: "⊖"; }
.fa-broom::before { content: "🗑"; }
.fa-file-export::before { content: "📤"; }
.fa-calendar-day::before { content: "📅"; }
.fa-chart-pie::before { content: "📊"; }
.fa-file-csv::before { content: "📄"; }
.fa-file-import::before { content: "📥"; }
.fa-sliders-h::before { content: "⚙"; }
.fa-trash::before { content: "🗑"; }
.fa-check-square::before { content: "☑"; }
.fa-square::before { content: "☐"; }
.fa-circle::before { content: "○"; }
.fa-dot-circle::before { content: "●"; }
.fa-star::before { content: "★"; }
.fa-star-half::before { content: "☆"; }
.fa-heart::before { content: "♥"; }
.fa-heart-broken::before { content: "💔"; }
.fa-thumbs-up::before { content: "👍"; }
.fa-thumbs-down::before { content: "👎"; }
.fa-smile::before { content: "😊"; }
.fa-frown::before { content: "☹"; }
.fa-meh::before { content: "😐"; }
.fa-grin::before { content: "😁"; }
.fa-grin-beam::before { content: "😁"; }
.fa-grin-beam-sweat::before { content: "😅"; }
.fa-grin-hearts::before { content: "😍"; }
.fa-grin-squint::before { content: "😆"; }
.fa-grin-squint-tears::before { content: "😂"; }
.fa-grin-stars::before { content: "🤩"; }
.fa-grin-tears::before { content: "😂"; }
.fa-grin-tongue::before { content: "😛"; }
.fa-grin-tongue-squint::before { content: "😜"; }
.fa-grin-tongue-wink::before { content: "😝"; }
.fa-grin-wink::before { content: "😉"; }
.fa-kiss::before { content: "😘"; }
.fa-kiss-beam::before { content: "😘"; }
.fa-kiss-wink-heart::before { content: "😘"; }
.fa-laugh::before { content: "😄"; }
.fa-laugh-beam::before { content: "😄"; }
.fa-laugh-squint::before { content: "😆"; }
.fa-laugh-wink::before { content: "😉"; }
.fa-sad-cry::before { content: "😢"; }
.fa-sad-tear::before { content: "😢"; }
.fa-surprise::before { content: "😮"; }
.fa-tired::before { content: "😴"; }
.fa-angry::before { content: "😠"; }
.fa-dizzy::before { content: "😵"; }
.fa-flushed::before { content: "😳"; }
.fa-grimace::before { content: "😬"; }
.fa-grin-alt::before { content: "😁"; }
.fa-mask::before { content: "😷"; }
.fa-poo::before { content: "💩"; }
.fa-skull::before { content: "💀"; }
.fa-skull-crossbones::before { content: "☠"; }
.fa-ghost::before { content: "👻"; }
.fa-robot::before { content: "🤖"; }
.fa-alien::before { content: "👽"; }
.fa-rocket::before { content: "🚀"; }
.fa-satellite::before { content: "🛰"; }
.fa-satellite-dish::before { content: "📡"; }
.fa-shuttle-van::before { content: "🚐"; }
.fa-space-shuttle::before { content: "🚀"; }
.fa-subway::before { content: "🚇"; }
.fa-taxi::before { content: "🚕"; }
.fa-train::before { content: "🚂"; }
.fa-tram::before { content: "🚊"; }
.fa-truck::before { content: "🚚"; }
.fa-truck-loading::before { content: "🚚"; }
.fa-truck-monster::before { content: "🚚"; }
.fa-truck-moving::before { content: "🚚"; }
.fa-truck-pickup::before { content: "🚚"; }
.fa-ambulance::before { content: "🚑"; }
.fa-baby-carriage::before { content: "👶"; }
.fa-bicycle::before { content: "🚲"; }
.fa-bus::before { content: "🚌"; }
.fa-bus-alt::before { content: "🚌"; }
.fa-car::before { content: "🚗"; }
.fa-car-alt::before { content: "🚗"; }
.fa-car-battery::before { content: "🔋"; }
.fa-car-crash::before { content: "💥"; }
.fa-car-side::before { content: "🚗"; }
.fa-car-wash::before { content: "🚗"; }
.fa-helicopter::before { content: "🚁"; }
.fa-motorcycle::before { content: "🏍"; }
.fa-plane::before { content: "✈"; }
.fa-plane-arrival::before { content: "✈"; }
.fa-plane-departure::before { content: "✈"; }
.fa-ship::before { content: "🚢"; }
.fa-shopping-cart::before { content: "🛒"; }
.fa-shopping-bag::before { content: "🛍"; }
.fa-shopping-basket::before { content: "🛒"; }
.fa-store::before { content: "🏪"; }
.fa-store-alt::before { content: "🏪"; }
.fa-cash-register::before { content: "💰"; }
.fa-credit-card::before { content: "💳"; }
.fa-money-bill::before { content: "💵"; }
.fa-money-bill-alt::before { content: "💵"; }
.fa-money-bill-wave::before { content: "💵"; }
.fa-money-bill-wave-alt::before { content: "💵"; }
.fa-money-check::before { content: "💵"; }
.fa-money-check-alt::before { content: "💵"; }
.fa-coins::before { content: "🪙"; }
.fa-piggy-bank::before { content: "🐷"; }
.fa-wallet::before { content: "👛"; }
.fa-hand-holding-usd::before { content: "💰"; }
.fa-hand-holding-heart::before { content: "💝"; }
.fa-hand-holding-water::before { content: "💧"; }
.fa-hands-helping::before { content: "🤝"; }
.fa-handshake::before { content: "🤝"; }
.fa-gift::before { content: "🎁"; }
.fa-gifts::before { content: "🎁"; }
.fa-birthday-cake::before { content: "🎂"; }
.fa-cake-candles::before { content: "🎂"; }
.fa-cookie::before { content: "🍪"; }
.fa-cookie-bite::before { content: "🍪"; }
.fa-ice-cream::before { content: "🍦"; }
.fa-lollipop::before { content: "🍭"; }
.fa-candy-cane::before { content: "🍭"; }
.fa-apple-alt::before { content: "🍎"; }
.fa-carrot::before { content: "🥕"; }
.fa-lemon::before { content: "🍋"; }
.fa-pepper-hot::before { content: "🌶"; }
.fa-pizza-slice::before { content: "🍕"; }
.fa-hamburger::before { content: "🍔"; }
.fa-hotdog::before { content: "🌭"; }
.fa-bacon::before { content: "🥓"; }
.fa-drumstick-bite::before { content: "🍗"; }
.fa-fish::before { content: "🐟"; }
.fa-shrimp::before { content: "🦐"; }
.fa-egg::before { content: "🥚"; }
.fa-cheese::before { content: "🧀"; }
.fa-bread-slice::before { content: "🍞"; }
.fa-croissant::before { content: "🥐"; }
.fa-pretzel::before { content: "🥨"; }
.fa-bagel::before { content: "🥯"; }
.fa-waffle::before { content: "🧇"; }
.fa-pancake::before { content: "🥞"; }
.fa-donut::before { content: "🍩"; }
.fa-muffin::before { content: "🧁"; }
.fa-cupcake::before { content: "🧁"; }
.fa-pie::before { content: "🥧"; }
.fa-tart::before { content: "🥧"; }
.fa-candy::before { content: "🍬"; }
.fa-chocolate::before { content: "🍫"; }
.fa-gumdrop::before { content: "🍬"; }
.fa-jelly-bean::before { content: "🍬"; }
.fa-marshmallow::before { content: "🍬"; }
.fa-nougat::before { content: "🍬"; }
.fa-toffee::before { content: "🍬"; }
.fa-truffle::before { content: "🍬"; }
.fa-wafer::before { content: "🍬"; }
.fa-cotton-candy::before { content: "🍬"; }
.fa-popcorn::before { content: "🍿"; }
.fa-nachos::before { content: "🌮"; }
.fa-taco::before { content: "🌮"; }
.fa-burrito::before { content: "🌯"; }
.fa-quesadilla::before { content: "🌮"; }
.fa-enchilada::before { content: "🌮"; }
.fa-fajita::before { content: "🌮"; }
.fa-guacamole::before { content: "🥑"; }
.fa-salsa::before { content: "🌶"; }
.fa-sour-cream::before { content: "🥛"; }
.fa-cheddar::before { content: "🧀"; }
.fa-mozzarella::before { content: "🧀"; }
.fa-parmesan::before { content: "🧀"; }
.fa-ricotta::before { content: "🧀"; }
.fa-swiss::before { content: "🧀"; }
.fa-gouda::before { content: "🧀"; }
.fa-brie::before { content: "🧀"; }
.fa-camembert::before { content: "🧀"; }
.fa-feta::before { content: "🧀"; }
.fa-goat::before { content: "🧀"; }
.fa-blue::before { content: "🧀"; }
.fa-colby::before { content: "🧀"; }
.fa-monterey::before { content: "🧀"; }
.fa-pepper-jack::before { content: "🧀"; }
.fa-provolone::before { content: "🧀"; }
.fa-romano::before { content: "🧀"; }
.fa-asiago::before { content: "🧀"; }
.fa-fontina::before { content: "🧀"; }
.fa-gruyere::before { content: "🧀"; }
.fa-havarti::before { content: "🧀"; }
.fa-jarlsberg::before { content: "🧀"; }
.fa-manchego::before { content: "🧀"; }
.fa-muenster::before { content: "🧀"; }
.fa-neufchatel::before { content: "🧀"; }
.fa-pecorino::before { content: "🧀"; }
.fa-queso::before { content: "🧀"; }
.fa-tilsit::before { content: "🧀"; }
.fa-tomme::before { content: "🧀"; }
.fa-wensleydale::before { content: "🧀"; }
.fa-yellow::before { content: "🧀"; }
.fa-zamorano::before { content: "🧀"; }
.fa-beaufort::before { content: "🧀"; }
.fa-comte::before { content: "🧀"; }
.fa-emmental::before { content: "🧀"; }
.fa-leerdammer::before { content: "🧀"; }
.fa-maasdam::before { content: "🧀"; }