/* Bootstrap Icons - 项目使用的图标 */
@font-face {
  font-family: "bootstrap-icons";
  src: url("../fonts/bootstrap-icons.woff2?v=1.11.0") format("woff2");
  font-display: block;
}

[class^="bi-"]::before,
[class*=" bi-"]::before {
  display: inline-block;
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: inherit;
  text-rendering: auto;
}

.bi {
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-size: inherit;
  text-rendering: auto;
}

/* 常用图标 */
.bi-house-door-fill::before { content: "\f4c8"; }
.bi-speedometer2::before { content: "\f679"; }
.bi-grid-3x3-gap::before { content: "\f474"; }
.bi-box-seam::before { content: "\f1b8"; }
.bi-chat-dots::before { content: "\f1f9"; }
.bi-gear::before { content: "\f3e2"; }
.bi-people::before { content: "\f5b0"; }
.bi-person-circle::before { content: "\f5b1"; }
.bi-clock::before { content: "\f292"; }
.bi-box-arrow-right::before { content: "\f1ad"; }
.bi-plus-circle::before { content: "\f5c3"; }
.bi-search::before { content: "\f61f"; }
.bi-arrow-clockwise::before { content: "\f13e"; }
.bi-trash::before { content: "\f6de"; }
.bi-pencil::before { content: "\f5a8"; }
.bi-check-circle::before { content: "\f26e"; }
.bi-check-circle-fill::before { content: "\f26f"; }
.bi-exclamation-circle::before { content: "\f33a"; }
.bi-exclamation-circle-fill::before { content: "\f33b"; }
.bi-info-circle::before { content: "\f431"; }
.bi-images::before { content: "\f43e"; }
.bi-image::before { content: "\f43d"; }
.bi-upload::before { content: "\f6f7"; }
.bi-cloud-upload::before { content: "\f2a2"; }
.bi-download::before { content: "\f2f2"; }
.bi-list-ul::before { content: "\f4c0"; }
.bi-inbox::before { content: "\f429"; }
.bi-x::before { content: "\f715"; }
.bi-check2-all::before { content: "\f26a"; }
.bi-star::before { content: "\f67f"; }
.bi-bar-chart::before { content: "\f17c"; }
.bi-moon-fill::before { content: "\f4f9"; }
.bi-sun-fill::before { content: "\f6a6"; }
.bi-person::before { content: "\f5a9"; }
.bi-person-lines-fill::before { content: "\f5b3"; }
.bi-people-fill::before { content: "\f5af"; }
.bi-person-plus-fill::before { content: "\f5b7"; }
.bi-person-check-fill::before { content: "\f5b2"; }
.bi-calendar-plus-fill::before { content: "\f1e4"; }
.bi-lock::before { content: "\f4b9"; }
.bi-box-arrow-in-right::before { content: "\f1a6"; }
.bi-shield-exclamation::before { content: "\f637"; }
.bi-arrow-left::before { content: "\f12f"; }
.bi-link-45deg::before { content: "\f4b3"; }
.bi-shield-check::before { content: "\f635"; }
.bi-telephone::before { content: "\f6a2"; }
.bi-sliders::before { content: "\f65e"; }
.bi-spinner-border::before { content: "\f678"; }
.bi-gear-fill::before { content: "\f3e3"; }
.bi-x-circle::before { content: "\f711"; }
.bi-person-x::before { content: "\f5b9"; }
.bi-eye::before { content: "\f34b"; }
.bi-key::before { content: "\f465"; }
.bi-chat::before { content: "\f1f8"; }
.bi-shield::before { content: "\f634"; }
.bi-person-gear::before { content: "\f5b5"; }
.bi-house-heart::before { content: "\f4c6"; }
.bi-sun::before { content: "\f6a5"; }
.bi-chat-left-text::before { content: "\f1f5"; }
.bi-arrow-right::before { content: "\f13a"; }
.bi-pencil-square::before { content: "\f466"; }
.bi-trash3::before { content: "\f5ee"; }
.bi-clock-history::before { content: "\f293"; }
.bi-reply::before { content: "\f5fd"; }

/* 旋转动画 */
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
  animation: spinner-border 0.75s linear infinite;
}

@keyframes spinner-border {
  to { transform: rotate(360deg); }
}

/* 短信设置页面需要的图标 */
.bi-phone::before { content: "\f4e7"; }
.bi-key-fill::before { content: "\f44e"; }
.bi-eye-slash::before { content: "\f340"; }
.bi-tools::before { content: "\f5db"; }
.bi-send::before { content: "\f6c0"; }
.bi-exclamation-triangle::before { content: "\f33a"; }
.bi-phone-fill::before { content: "\f4e2"; }
.bi-gear-wide::before { content: "\f3e4"; }
.bi-gear-wide-connected::before { content: "\f3e5"; }
.bi-toggles::before { content: "\f5d9"; }
.bi-toggles2::before { content: "\f5da"; }
.bi-wrench::before { content: "\f621"; }
.bi-wrench-adjustable::before { content: "\f706"; }
.bi-wrench-adjustable-circle::before { content: "\f707"; }
.bi-wrench-adjustable-circle-fill::before { content: "\f708"; }

/* 其他管理页面需要的图标 */
.bi-chat-left-text::before { content: "\f252"; }
.bi-pencil-square::before { content: "\f4ca"; }
.bi-trash3::before { content: "\f5de"; }
.bi-spinner-border::before { content: "\f678"; }
.bi-clock-history::before { content: "\f292"; }
.bi-envelope::before { content: "\f32f"; }
.bi-envelope-fill::before { content: "\f330"; }
.bi-telephone-fill::before { content: "\f5b4"; }
.bi-wechat::before { content: "\f6ff"; }
.bi-qq::before { content: "\f5d9"; }
.bi-globe::before { content: "\f3e8"; }
.bi-globe2::before { content: "\f3e9"; }
.bi-building::before { content: "\f1dd"; }
.bi-building-fill::before { content: "\f1c5"; }
.bi-card-text::before { content: "\f228"; }
.bi-textarea::before { content: "\f5cc"; }
.bi-textarea-resize::before { content: "\f5ca"; }
.bi-textarea-t::before { content: "\f5cb"; }

/* 补充可能缺失的图标 */
.bi-shield-exclamation::before { content: "\f637"; }
.bi-shield-fill-exclamation::before { content: "\f638"; }
.bi-shield-fill-check::before { content: "\f635"; }
.bi-shield-fill-minus::before { content: "\f639"; }
.bi-shield-fill-plus::before { content: "\f63a"; }
.bi-shield-fill-x::before { content: "\f63b"; }
.bi-shield-minus::before { content: "\f63c"; }
.bi-shield-plus::before { content: "\f63d"; }
.bi-shield-slash::before { content: "\f63e"; }
.bi-shield-slash-fill::before { content: "\f63f"; }
.bi-shield-x::before { content: "\f640"; } 