/* 图标伪元素实现 - Font Awesome 替代方案 */

/* 基础图标样式 */
.icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  font-weight: light;
  font-size: 0.525em;
  transition: transform 0.3s ease;
  transform-origin: center;
}

.icon::before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* 箭头相关图标 */
.icon-chevron-down::before {
  content: '▼';
  font-size: 0.7em;
  font-weight: light;
}

.icon-chevron-left::before {
  content: '◀';
  font-size: 0.7em;
  font-weight: light;
}

.icon-chevron-right::before {
  content: '▶';
  font-size: 0.7em;
  font-weight: light;
}

.icon-angle-left::before {
  content: '←';
  font-weight: light;
}

.icon-angle-right::before {
  content: '→';
  font-weight: light;
}

/* 导航相关图标 */
.icon-dashboard::before {
  content: '📊';
  font-weight: light;
}

.icon-calendar::before {
  content: '📅';
  font-weight: light;
}

.icon-shopping-bag::before {
  content: '🛍️';
  font-weight: light;
}

.icon-bar-chart::before {
  content: '📈';
  font-weight: light;
}

.icon-user-circle::before {
  content: '👥';
  font-weight: light;
}

.icon-cog::before {
  content: '⚙️';
  font-weight: light;
}

/* 用户相关图标 */
.icon-user::before {
  content: '👤';
  font-size: 0.63em;
  font-weight: light;
}

/* 功能相关图标 */
.icon-cog::before {
  content: '⚙️';
  font-weight: light;
}

.icon-sign-out::before {
  content: '🚪';
  font-size: 0.63em;
  font-weight: light;
}

.icon-bell-o::before {
  content: '🔔';
  font-weight: light;
}

.icon-question-circle::before {
  content: '❓';
  font-weight: light;
}

.icon-bars::before {
  content: '☰';
  font-weight: light;
}

.icon-search::before {
  content: '🔍';
  font-size: 0.63em;
  font-weight: light;
}

/* 操作相关图标 */
.icon-plus::before {
  content: '+';
  font-weight: light;
  font-size: 0.84em;
}

.icon-minus::before {
  content: '−';
  font-weight: light;
  font-size: 0.84em;
}

.icon-times::before {
  content: '×';
  font-weight: light;
  font-size: 0.84em;
}

.icon-check::before {
  content: '✓';
  color: #4CAF50;
  font-weight: light;
}

.icon-check-circle::before {
  content: '✓';
  color: #4CAF50;
  font-weight: light;
}

/* 业务相关图标 */
.icon-shopping-cart::before {
  content: '🛒';
  font-weight: light;
}

.icon-line-chart::before {
  content: '📈';
  font-weight: light;
}

.icon-university::before {
  content: '🏫';
  font-weight: light;
}

.icon-share-alt::before {
  content: '🔗';
  font-weight: light;
}

.icon-list::before {
  content: '📋';
  font-weight: light;
}

.icon-bar-chart::before {
  content: '📊';
  font-weight: light;
}

.icon-lightbulb-o::before {
  content: '💡';
  font-weight: light;
}

.icon-file-text-o::before {
  content: '📄';
  font-weight: light;
}

.icon-users::before {
  content: '👥';
  font-weight: light;
}

.icon-key::before {
  content: '🔑';
  font-weight: light;
}

.icon-sitemap::before {
  content: '📊';
  font-weight: light;
}

.icon-building-o::before {
  content: '🏢';
  font-weight: light;
}

.icon-edit::before {
  content: '✏️';
  font-weight: light;
}

.icon-eye::before {
  content: '👁️';
  font-weight: light;
}

.icon-eye-slash::before {
  content: '👁️‍🗨️';
  font-weight: light;
}

.icon-exchange::before {
  content: '🔄';
  font-weight: light;
}

.icon-refresh::before {
  content: '🔄';
  font-weight: light;
}

.icon-download::before {
  content: '📥';
  font-weight: light;
}

.icon-clock-o::before {
  content: '🕐';
  font-weight: light;
}

.icon-arrow-up::before {
  content: '↑';
  color: #4CAF50;
  font-weight: light;
}

.icon-arrow-down::before {
  content: '↓';
  color: #F44336;
  font-weight: light;
}

.icon-shield::before {
  content: '🛡️';
  font-weight: light;
}

.icon-lock::before {
  content: '🔒';
  font-weight: light;
}

.icon-unlock::before {
  content: '🔓';
  font-weight: light;
}

.icon-info-circle::before {
  content: 'ℹ️';
  font-weight: light;
}

.icon-exclamation-triangle::before {
  content: '⚠️';
  font-weight: light;
}

.icon-exclamation-circle::before {
  content: '❗';
  font-weight: light;
}

.icon-bullhorn::before {
  content: '📢';
  font-weight: light;
}

.icon-calendar-check-o::before {
  content: '📅';
  font-weight: light;
}

.icon-trophy::before {
  content: '🏆';
  font-weight: light;
}

.icon-rocket::before {
  content: '🚀';
  font-weight: light;
}

.icon-diamond::before {
  content: '💎';
  font-weight: light;
}

.icon-thumbs-up::before {
  content: '👍';
  font-weight: light;
}

.icon-sort::before {
  content: '↕';
  font-weight: light;
}

.icon-paint-brush::before {
  content: '🎨';
  font-weight: light;
}

.icon-star::before {
  content: '★';
  color: #FFC107;
  font-weight: light;
}

.icon-star-o::before {
  content: '☆';
  color: #BDBDBD;
  font-weight: light;
}

.icon-star-half-o::before {
  content: '⯨';
  color: #FFC107;
  font-weight: light;
}

.icon-home::before {
  content: '🏠';
  font-weight: light;
}

.icon-baby::before {
  content: '👶';
  font-weight: light;
}

.icon-id-card::before {
  content: '🪪';
  font-weight: light;
}

.icon-id-card-o::before {
  content: '🪪';
  font-weight: light;
}

.icon-credit-card::before {
  content: '💳';
  font-weight: light;
}

.icon-pencil::before {
  content: '✏️';
  font-weight: light;
}

.icon-trash::before {
  content: '🗑️';
  font-weight: light;
}

.icon-camera::before {
  content: '📷';
  font-weight: light;
}

.icon-certificate::before {
  content: '🏅';
  font-weight: light;
}

.icon-copy::before {
  content: '📋';
  font-weight: light;
}

.icon-save::before {
  content: '💾';
  font-weight: light;
}

.icon-database::before {
  content: '🗄️';
  font-weight: light;
}

.icon-object-group::before {
  content: '🧩';
  font-weight: light;
}

.icon-pause::before {
  content: '⏸️';
  font-weight: light;
}

.icon-play::before {
  content: '▶️';
  font-weight: light;
}

.icon-handshake-o::before {
  content: '🤝';
  font-weight: light;
}

.icon-comment-o::before {
  content: '💬';
  font-weight: light;
}

.icon-play-circle::before {
  content: '▶️';
  font-size: 1.05em;
  font-weight: light;
}

.icon-check-square-o::before {
  content: '☑️';
  font-weight: light;
}

.icon-ban::before {
  content: '🚫';
  font-weight: light;
}

.icon-plus-square-o::before {
  content: '□';
  font-size: 0.84em;
  font-weight: light;
}

.icon-minus-square-o::before {
  content: '□';
  font-size: 0.84em;
  font-weight: light;
}

.icon-upload::before {
  content: '📤';
  font-weight: light;
}

.icon-briefcase::before {
  content: '💼';
  font-weight: light;
}

.icon-code::before {
  content: '💻';
  font-weight: light;
}

.icon-user-plus::before {
  content: '👤+';
  font-weight: light;
}

.icon-history::before {
  content: '📜';
  font-weight: light;
}

.icon-mobile::before {
  content: '📱';
  font-weight: light;
}

.icon-envelope::before {
  content: '✉️';
  font-weight: light;
}

/* 新增搜索加号图标 */
.icon-search-plus::before {
  content: '🔍+';
  font-size: 0.63em;
  font-weight: light;
}

/* 新增cogs图标（多齿轮） */
.icon-cogs::before {
  content: '⚙️⚙️';
  font-weight: light;
}

/* 新增th-large图标（网格视图） */
.icon-th-large::before {
  content: '📋';
  font-size: 0.63em;
  font-weight: light;
}

/* 社交平台图标 */
.icon-tiktok::before {
  content: '🎵';
  font-size: 0.63em;
  font-weight: light;
}

.icon-xiaohongshu::before {
  content: '📕';
  font-size: 0.63em;
  font-weight: light;
}

/* 动画效果 */
.icon-rotate-180::before {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}

.icon-spin::before {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* 响应式调整 */
.text-xs .icon::before {
  font-size: 0.8em;
}

.text-sm .icon::before {
  font-size: 0.9em;
}

.text-lg .icon::before {
  font-size: 1.1em;
}

.text-xl .icon::before {
  font-size: 1.2em;
}