/**
 * 自定义图标样式
 * 使用Material Icons替代Font Awesome
 */

/* 替换常用的Font Awesome图标 */
.fa-home:before,
.fa-dashboard:before,
.fa-tachometer:before,
.fa-tachometer-alt:before {
    font-family: 'Material Icons';
    content: "dashboard";
}

.fa-cutlery:before,
.fa-utensils:before {
    font-family: 'Material Icons';
    content: "restaurant";
}

.fa-shopping-cart:before,
.fa-cart-shopping:before {
    font-family: 'Material Icons';
    content: "shopping_cart";
}

.fa-user:before {
    font-family: 'Material Icons';
    content: "person";
}

.fa-users:before {
    font-family: 'Material Icons';
    content: "people";
}

.fa-cog:before,
.fa-gear:before {
    font-family: 'Material Icons';
    content: "settings";
}

.fa-calendar:before {
    font-family: 'Material Icons';
    content: "calendar_today";
}

.fa-list:before {
    font-family: 'Material Icons';
    content: "list";
}

.fa-plus:before {
    font-family: 'Material Icons';
    content: "add";
}

.fa-pencil:before,
.fa-edit:before,
.fa-pen-to-square:before {
    font-family: 'Material Icons';
    content: "edit";
}

.fa-trash:before,
.fa-trash-can:before {
    font-family: 'Material Icons';
    content: "delete";
}

.fa-check:before {
    font-family: 'Material Icons';
    content: "check";
}

.fa-times:before,
.fa-xmark:before {
    font-family: 'Material Icons';
    content: "close";
}

.fa-search:before {
    font-family: 'Material Icons';
    content: "search";
}

.fa-envelope:before {
    font-family: 'Material Icons';
    content: "email";
}

.fa-phone:before {
    font-family: 'Material Icons';
    content: "phone";
}

.fa-map-marker:before,
.fa-location-dot:before {
    font-family: 'Material Icons';
    content: "location_on";
}

.fa-clock:before,
.fa-clock-o:before {
    font-family: 'Material Icons';
    content: "access_time";
}

.fa-star:before {
    font-family: 'Material Icons';
    content: "star";
}

/* 添加更多常用图标 */
.fa-bars:before,
.fa-navicon:before {
    font-family: 'Material Icons';
    content: "menu";
}

.fa-sign-out:before,
.fa-sign-out-alt:before {
    font-family: 'Material Icons';
    content: "logout";
}

.fa-sign-in:before,
.fa-sign-in-alt:before {
    font-family: 'Material Icons';
    content: "login";
}

.fa-lock:before {
    font-family: 'Material Icons';
    content: "lock";
}

.fa-unlock:before {
    font-family: 'Material Icons';
    content: "lock_open";
}

.fa-bell:before {
    font-family: 'Material Icons';
    content: "notifications";
}

.fa-info-circle:before {
    font-family: 'Material Icons';
    content: "info";
}

.fa-exclamation-circle:before {
    font-family: 'Material Icons';
    content: "error";
}

.fa-question-circle:before {
    font-family: 'Material Icons';
    content: "help";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
    font-family: 'Material Icons';
    content: "warning";
}

.fa-refresh:before,
.fa-sync:before {
    font-family: 'Material Icons';
    content: "refresh";
}

.fa-download:before {
    font-family: 'Material Icons';
    content: "download";
}

.fa-upload:before {
    font-family: 'Material Icons';
    content: "upload";
}

.fa-print:before {
    font-family: 'Material Icons';
    content: "print";
}

.fa-save:before,
.fa-floppy-disk:before {
    font-family: 'Material Icons';
    content: "save";
}

.fa-credit-card:before {
    font-family: 'Material Icons';
    content: "credit_card";
}

.fa-money:before,
.fa-money-bill:before {
    font-family: 'Material Icons';
    content: "payments";
}

/* 添加TastyIgniter特定图标 */
.fa-paint-brush:before {
    font-family: 'Material Icons';
    content: "brush";
}

.fa-globe:before {
    font-family: 'Material Icons';
    content: "language";
}

.fa-wrench:before {
    font-family: 'Material Icons';
    content: "build";
}

.fa-desktop:before,
.fa-computer:before {
    font-family: 'Material Icons';
    content: "computer";
}

.fa-gem:before {
    font-family: 'Material Icons';
    content: "diamond";
}

.fa-diamond:before {
    font-family: 'Material Icons';
    content: "diamond";
}

.fa-file:before {
    font-family: 'Material Icons';
    content: "description";
}

.fa-file-text:before,
.fa-file-alt:before {
    font-family: 'Material Icons';
    content: "description";
}

.fa-file-pdf:before {
    font-family: 'Material Icons';
    content: "picture_as_pdf";
}

.fa-file-word:before {
    font-family: 'Material Icons';
    content: "description";
}

.fa-file-excel:before {
    font-family: 'Material Icons';
    content: "table_chart";
}

.fa-file-image:before {
    font-family: 'Material Icons';
    content: "image";
}

.fa-file-video:before {
    font-family: 'Material Icons';
    content: "movie";
}

.fa-file-audio:before {
    font-family: 'Material Icons';
    content: "audio_file";
}

.fa-file-code:before {
    font-family: 'Material Icons';
    content: "code";
}

.fa-file-archive:before {
    font-family: 'Material Icons';
    content: "folder_zip";
}

.fa-folder:before {
    font-family: 'Material Icons';
    content: "folder";
}

.fa-folder-open:before {
    font-family: 'Material Icons';
    content: "folder_open";
}

.fa-tag:before {
    font-family: 'Material Icons';
    content: "tag";
}

.fa-tags:before {
    font-family: 'Material Icons';
    content: "sell";
}

.fa-chart-bar:before,
.fa-bar-chart:before {
    font-family: 'Material Icons';
    content: "bar_chart";
}

.fa-chart-line:before {
    font-family: 'Material Icons';
    content: "show_chart";
}

.fa-chart-pie:before {
    font-family: 'Material Icons';
    content: "pie_chart";
}

.fa-chart-area:before {
    font-family: 'Material Icons';
    content: "area_chart";
}

.fa-table:before {
    font-family: 'Material Icons';
    content: "table_chart";
}

.fa-th:before,
.fa-th-large:before {
    font-family: 'Material Icons';
    content: "grid_view";
}

.fa-th-list:before {
    font-family: 'Material Icons';
    content: "view_list";
}

.fa-filter:before {
    font-family: 'Material Icons';
    content: "filter_list";
}

.fa-sort:before {
    font-family: 'Material Icons';
    content: "sort";
}

.fa-sort-up:before,
.fa-sort-asc:before {
    font-family: 'Material Icons';
    content: "arrow_upward";
}

.fa-sort-down:before,
.fa-sort-desc:before {
    font-family: 'Material Icons';
    content: "arrow_downward";
}

.fa-arrow-up:before {
    font-family: 'Material Icons';
    content: "arrow_upward";
}

.fa-arrow-down:before {
    font-family: 'Material Icons';
    content: "arrow_downward";
}

.fa-arrow-left:before {
    font-family: 'Material Icons';
    content: "arrow_back";
}

.fa-arrow-right:before {
    font-family: 'Material Icons';
    content: "arrow_forward";
}

/* 侧边栏特定图标 */
.fa-cube:before {
    font-family: 'Material Icons';
    content: "view_in_ar";
}

.fa-cubes:before {
    font-family: 'Material Icons';
    content: "view_comfy";
}

.fa-puzzle-piece:before {
    font-family: 'Material Icons';
    content: "extension";
}

.fa-language:before {
    font-family: 'Material Icons';
    content: "translate";
}

.fa-tools:before {
    font-family: 'Material Icons';
    content: "handyman";
}

.fa-database:before {
    font-family: 'Material Icons';
    content: "storage";
}

.fa-server:before {
    font-family: 'Material Icons';
    content: "dns";
}

.fa-shield:before,
.fa-shield-alt:before {
    font-family: 'Material Icons';
    content: "security";
}

.fa-key:before {
    font-family: 'Material Icons';
    content: "key";
}

.fa-plug:before {
    font-family: 'Material Icons';
    content: "power";
}

.fa-sliders:before,
.fa-sliders-h:before {
    font-family: 'Material Icons';
    content: "tune";
}

/* 通用样式调整 */
.material-icons {
    font-size: inherit;
    line-height: inherit;
    vertical-align: middle;
}

/* 修复图标对齐问题 */
i.fa, i.fas, i.far, i.fab {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: normal;
    display: inline-block;
    vertical-align: middle;
}

/* 通用图标类 - 捕获所有未明确定义的图标 */
[class^="fa-"]:before,
[class*=" fa-"]:before {
    font-family: 'Material Icons';
    content: "widgets";
}

/* 修复特定元素中的图标 */
.btn i, .nav-item i, .nav-link i, .sidebar-item i {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: normal;
    display: inline-block;
    vertical-align: middle;
}

/* 确保所有图标容器都有足够的空间 */
i {
    min-width: 1em;
    min-height: 1em;
    display: inline-block;
}