* {
  margin: 0;
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  width: 100%;
  height: 100%;
}

body {
  overflow-x: hidden;
  font-size: 16px;
}

uni-app,
uni-page,
uni-page-wrapper,
uni-page-body {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

uni-page-wrapper {
  position: relative;
}

#app,
uni-app,
uni-page,
uni-page-wrapper {
  height: 100%;
}

/* toast,modal,actionSheet,picker,layout */
.uni-mask {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* toast,modal,actionSheet,picker */
.uni-fade-enter-active,
.uni-fade-leave-active {
  transition-duration: 0.25s;
  transition-property: opacity;
  transition-timing-function: ease;
}

.uni-fade-enter-from,
.uni-fade-leave-active {
  opacity: 0;
}

.uni-loading,
uni-button[loading]:before {
  background-color: transparent;
  background-image: url('data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=');
  background-repeat: no-repeat;
}

.uni-loading {
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
  animation: uni-loading 1s steps(12, end) infinite;
  background-size: 100%;
}

@keyframes uni-loading {
  0% {
    transform: rotate3d(0, 0, 1, 0deg);
  }

  100% {
    transform: rotate3d(0, 0, 1, 360deg);
  }
}

html {
  /* --UI-BG-0: #ededed; */
  --primary-color: #007aff;
  --UI-BG: #fff;
  --UI-BG-1: #f7f7f7;
  --UI-BG-2: #fff;
  --UI-BG-3: #f7f7f7;
  --UI-BG-4: #4c4c4c;
  --UI-BG-5: #fff;
  --UI-FG: #000;
  --UI-FG-0: rgba(0, 0, 0, 0.9);
  --UI-FG-HALF: rgba(0, 0, 0, 0.9);
  --UI-FG-1: rgba(0, 0, 0, 0.5);
  --UI-FG-2: rgba(0, 0, 0, 0.3);
  --UI-FG-3: rgba(0, 0, 0, 0.1);
}

uni-page[data-type] uni-page-body {
  background-color: transparent;
}
body::after {
  position: fixed;
  content: '';
  left: -1000px;
  top: -1000px;
  animation: shadow-preload 0.1s;
  animation-delay: 3s;
}

@keyframes shadow-preload {
  0% {
    background-image: url(https://cdn.dcloud.net.cn/img/shadow-grey.png);
  }
  100% {
    background-image: url(https://cdn.dcloud.net.cn/img/shadow-grey.png);
  }
}
.uni-async-error {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  color: #999;
  padding: 100px 10px;
  text-align: center;
}
.uni-async-loading {
  box-sizing: border-box;
  width: 100%;
  padding: 50px;
  text-align: center;
}

.uni-async-loading .uni-loading {
  width: 30px;
  height: 30px;
}

/*每个页面公共css */
/* NewSand v4 主样式文件 */

/* 基础样式 */

:root {
  /* ===== 颜色系统 ===== */
  
  /* 主色调 - 与导航栏渐变协调 */
  --primary-color: #667eea;
  --primary-light: #8a7dda;
  --primary-dark: #5a6fd8;
  --secondary-color: #764ba2;
  --primary-color-rgb: 102, 126, 234;
  
  /* 中性色 */
  --dark-text: #1D2129;
  --light-text: #4E5969;
  --gray-text: #86909C;
  --light-bg: #F5F7FA;
  --white: #FFFFFF;
  --white-rgb: 255, 255, 255;
  
  /* 背景色 */
  --bg-primary: #FFFFFF;
  --bg-primary-rgb: 255, 255, 255;
  --bg-secondary: #F2F3F5;
  --bg-tertiary: #F7F8FA;
  
  /* 语义化颜色变量 - 用于组件开发 */
  --color-background: #F2F3F5;
  --color-background-secondary: #F7F8FA;
  --color-surface: #FFFFFF;
  --color-surface-hover: #F8F9FA;
  --color-surface-active: #F0F2FF;
  --color-surface-disabled: #F0F0F0;
  --color-text-primary: #1D2129;
  --color-text-secondary: #4E5969;
  --color-text-muted: #86909C;
  --color-text-disabled: #999999;
  --color-border: #E5E6EB;
  --color-border-light: #F2F3F5;
  --color-border-divider: #E5E6EB;
  --color-border-disabled: #D3D3D3;
  --color-primary: #667eea;
  --color-primary-hover: #5a6fd8;
  --color-primary-light: #8a7dda;
  --color-primary-dark: #5a6fd8;
  --color-primary-active: #4f5bd5;
  --color-secondary: #764ba2;
  --secondary-hover: #6a4190;
  --color-success: #00B42A;
  --color-success-light: #3CD556;
  --color-success-dark: #009A29;
  --color-warning: #FF7D00;
  --color-warning-light: #FFA940;
  --color-warning-dark: #D46B08;
  --color-danger: #F53F3F;
  --color-danger-light: #F76560;
  --color-danger-dark: #D84A4A;
  --color-info: #86909C;
  --color-info-light: #A9AEB8;
  --color-info-dark: #6B7785;
  --color-disabled: #C9CDD4;
  --color-overlay: rgba(0, 0, 0, 0.5);
  
  /* 基础颜色变量 */
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-gray: #86909C;
  --color-gray-light: #A9AEB8;
  --color-gray-dark: #6B7785;
  
  /* ===== 阴影系统 ===== */
  
  /* 阴影 */
  --shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  
  /* ===== 边框系统 ===== */
  
  /* 边框 */
  --border-color: #E5E6EB;
  --border-light: #F2F3F5;
  --border-radius: 8px;
  --border-radius-lg: 12px;
  --border-radius-md: 10px;
  --border-radius-sm: 6px;
  --border-radius-xs: 4px;
  
  /* ===== 字体系统 ===== */
  
  /* 字体 - 系统字体优先，轻量级方案 */
  --font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --font-size-xxs: 10px;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 28px;
  
  /* 字体权重 */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* 移动端字体缩放系数 */
  --mobile-scale: 0.9;
  
  /* ===== 间距系统 ===== */
  
  /* 间距 */
  --spacing-xxs: 4px;
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 16px;
  --spacing-lg: 24px;  
  --spacing-xl: 32px;
  --spacing-2xl: 40px;
  
  /* 导航栏高度 */
  --navbar-height: 60px;
  
  /* ===== 动画与变换 ===== */
  
  /* 过渡动画 */
  --transition-fast: 0.2s ease;
  --transition-normal: 0.3s ease;
  --transition-base: all 0.2s ease;
  
  /* 变换效果 */
  --transform-scale-hover: scale(1.05);
  --transform-scale-active: scale(0.95);
  --transform-active: scale(0.98);
  --transform-translate-small: translateX(4px);
  
  /* ===== 渐变色彩 ===== */
  
  /* 渐变色彩 - 与导航栏保持一致 */
  --primary-gradient-start: #667eea;
  --primary-gradient-end: #764ba2;
  
  /* 游戏专用对抗渐变色 - 代表理性和策略的深蓝色 */
  --secondary-gradient-start: #096dd9; 
  --secondary-gradient-end: #1890ff;   
  
  /* 游戏页面协调色系 */
  --color-game-primary: #096dd9;           /* 主色调 - 深蓝色 */
  --color-game-primary-light: #40a9ff;     /* 浅色 - 亮蓝 */
  --color-game-primary-dark: #0050b3;      /* 深色 - 深蓝 */
  --color-game-secondary: #1890ff;         /* 次要色 - 标准蓝 */
  --color-game-accent: #69c0ff;            /* 强调色 - 浅蓝 */
  --color-game-success: #52c41a;           /* 成功色 - 绿色协调 */
  --color-game-warning: #faad14;           /* 警告色 - 橙色协调 */
  --color-game-danger: #ff4d4f;            /* 危险色 - 红色协调 */
  --color-game-text-primary: #096dd9;      /* 文本主色 */
  --color-game-text-secondary: #1890ff;    /* 文本次要色 */
  --color-game-border: #91d5ff;            /* 边框色 - 浅蓝 */
  --color-game-background: #f0f9ff;        /* 背景色 - 极浅蓝 */
  
  /* ===== 透明度变量 ===== */
  
  /* 透明度变量 */
  --opacity-full: 1;
  --opacity-semi-transparent: 0.7;
  --opacity-disabled: 0.4;
  --opacity-light: 0.15;
  --opacity-medium: 0.25;
  --opacity-dark: 0.3;
  --opacity-overlay: 0.5;
  
  /* ===== 业务专用色彩 ===== */
  
  /* 沙盘周期色 */
  --phase-prepare: #E8F3FF;
  --phase-battle: #FFF7E8;
  --phase-review: #F0F7FF;
  
  /* 商机阶段色 - 6级灰度渐变 */
  --opportunity-stage1: #F8F9FA;
  --opportunity-stage2: #E2E6EA;
  --opportunity-stage3: #CCCFD2;
  --opportunity-stage4: #A1A5A9;
  --opportunity-stage5: #878B90;
  --opportunity-stage6: #6B7280;
  
  /* 竞争热度色 */
  --competition-low: #00FF7F;
  --competition-medium: #FFFACD;
  --competition-high: #FF6B00;
  
  /* 滑杆颜色 */
  --gray-track: #D1D5DB;
  --gray-thumb: #6B7280;
  
  /* ===== 禁用状态颜色 ===== */
  
  /* 禁用状态颜色 - 用于按钮等组件 */
  --disabled-color: #D3D3D3; /* 浅灰色背景 */
  --disabled-text-color: #999999; /* 灰色文字 */
  
  /* ===== Tooltip样式变量 ===== */
  
  /* Tooltip样式变量 - 统一消息提示样式 */
  
  /* ===== z-index 层级系统 ===== */
  
  /* z-index 层级管理 - 避免层级冲突 */
  --z-index-dropdown: 1000;
  --z-index-navbar: 1010;
  --z-index-modal: 2000;
  --z-index-skip-link: 10000;
  --color-tooltip-bg: rgba(0, 0, 0, 0.7); /* 半透明黑色背景 */
  --color-tooltip-bg-dark: rgba(0, 0, 0, 0.8); /* 深色背景 */
  --color-tooltip-text: #FFFFFF; /* 白色文字 */
  --color-tooltip-border: rgba(255, 255, 255, 0.1); /* 轻微白色边框 */
}

/* 全局重置样式 */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family-base);
  background-color: var(--color-background);
  color: var(--color-text-primary);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 链接样式 */

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-primary-hover);
  text-decoration: underline;
}

/* 图片响应式 */

img {
  max-width: 100%;
  height: auto;
}

/* 按钮重置 */

uni-button {
  cursor: pointer;
  border: none;
  outline: none;
  font-family: inherit;
}

uni-button:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* 输入框重置 */

uni-input, uni-textarea, select {
  font-family: inherit;
  font-size: inherit;
  outline: none;
}

uni-input:focus, uni-textarea:focus, select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(22, 93, 255, 0.1);
}

/* 列表重置 */

ul, ol {
  list-style: none;
}

/* 表格重置 */

table {
  border-collapse: collapse;
  width: 100%;
}

th, td {
  text-align: left;
  vertical-align: middle;
}

/* 隐藏类 */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 布局工具类 */

.d-none { display: none !important; }

.d-block { display: block !important; }

.d-flex { display: flex !important; }

.d-inline-flex { display: inline-flex !important; }

.d-grid { display: grid !important; }

/* Flexbox工具类 */

.flex-row { flex-direction: row !important; }

.flex-column { flex-direction: column !important; }

.justify-content-start { justify-content: flex-start !important; }

.justify-content-center { justify-content: center !important; }

.justify-content-end { justify-content: flex-end !important; }

.justify-content-between { justify-content: space-between !important; }

.align-items-start { align-items: flex-start !important; }

.align-items-center { align-items: center !important; }

.align-items-end { align-items: flex-end !important; }

.flex-wrap { flex-wrap: wrap !important; }

.flex-nowrap { flex-wrap: nowrap !important; }

/* 间距工具类 */

.m-0 { margin: 0 !important; }

.m-1 { margin: var(--spacing-xs) !important; }

.m-2 { margin: var(--spacing-sm) !important; }

.m-3 { margin: var(--spacing-md) !important; }

.m-4 { margin: var(--spacing-lg) !important; }

.m-5 { margin: var(--spacing-xl) !important; }

.mt-0 { margin-top: 0 !important; }

.mt-1 { margin-top: var(--spacing-xs) !important; }

.mt-2 { margin-top: var(--spacing-sm) !important; }

.mt-3 { margin-top: var(--spacing-md) !important; }

.mt-4 { margin-top: var(--spacing-lg) !important; }

.mt-5 { margin-top: var(--spacing-xl) !important; }

.mb-0 { margin-bottom: 0 !important; }

.mb-1 { margin-bottom: var(--spacing-xs) !important; }

.mb-2 { margin-bottom: var(--spacing-sm) !important; }

.mb-3 { margin-bottom: var(--spacing-md) !important; }

.mb-4 { margin-bottom: var(--spacing-lg) !important; }

.mb-5 { margin-bottom: var(--spacing-xl) !important; }

.ml-0 { margin-left: 0 !important; }

.ml-1 { margin-left: var(--spacing-xs) !important; }

.ml-2 { margin-left: var(--spacing-sm) !important; }

.ml-3 { margin-left: var(--spacing-md) !important; }

.ml-4 { margin-left: var(--spacing-lg) !important; }

.ml-5 { margin-left: var(--spacing-xl) !important; }

.mr-0 { margin-right: 0 !important; }

.mr-1 { margin-right: var(--spacing-xs) !important; }

.mr-2 { margin-right: var(--spacing-sm) !important; }

.mr-3 { margin-right: var(--spacing-md) !important; }

.mr-4 { margin-right: var(--spacing-lg) !important; }

.mr-5 { margin-right: var(--spacing-xl) !important; }

.p-0 { padding: 0 !important; }

.p-1 { padding: var(--spacing-xs) !important; }

.p-2 { padding: var(--spacing-sm) !important; }

.p-3 { padding: var(--spacing-md) !important; }

.p-4 { padding: var(--spacing-lg) !important; }

.p-5 { padding: var(--spacing-xl) !important; }

.px-1 { padding-left: var(--spacing-xs) !important; padding-right: var(--spacing-xs) !important; }

.px-2 { padding-left: var(--spacing-sm) !important; padding-right: var(--spacing-sm) !important; }

.px-3 { padding-left: var(--spacing-md) !important; padding-right: var(--spacing-md) !important; }

.py-1 { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important; }

.py-2 { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important; }

.py-3 { padding-top: var(--spacing-md) !important; padding-bottom: var(--spacing-md) !important; }

/* 文本工具类 */

.text-center { text-align: center !important; }

.text-left { text-align: left !important; }

.text-right { text-align: right !important; }

.text-truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }

.text-primary { color: var(--color-primary) !important; }

.text-secondary { color: var(--color-text-secondary) !important; }

.text-dark { color: var(--color-text-primary) !important; }

.text-success { color: var(--color-success) !important; }

.text-warning { color: var(--color-warning) !important; }

.text-danger { color: var(--color-danger) !important; }

.text-info { color: var(--color-info) !important; }

.text-muted { color: var(--color-text-muted) !important; }

.text-white { color: var(--color-white) !important; }

.font-weight-bold { font-weight: bold !important; }

.font-weight-normal { font-weight: normal !important; }

.font-weight-medium { font-weight: 500 !important; }

.font-weight-light { font-weight: 300 !important; }

.text-xs { font-size: var(--font-size-xs) !important; }

.text-sm { font-size: var(--font-size-sm) !important; }

.text-base { font-size: var(--font-size-base) !important; }

.text-lg { font-size: var(--font-size-lg) !important; }

.text-xl { font-size: var(--font-size-xl) !important; }

/* 背景工具类 */

.bg-primary { background-color: var(--color-primary) !important; }

.bg-secondary { background-color: var(--color-background-secondary) !important; }

.bg-success { background-color: var(--color-success) !important; }

.bg-warning { background-color: var(--color-warning) !important; }

.bg-danger { background-color: var(--color-danger) !important; }

.bg-light { background-color: var(--color-background) !important; }

.bg-white { background-color: var(--color-white) !important; }

/* 边框工具类 */

.border { border: 1px solid var(--color-border) !important; }

.border-0 { border: 0 !important; }

.rounded { border-radius: var(--border-radius) !important; }

.rounded-lg { border-radius: var(--border-radius-lg) !important; }

.rounded-sm { border-radius: var(--border-radius-sm) !important; }

.rounded-pill { border-radius: 50rem !important; }

/* 分隔线工具类 */

.divider-line { height: 1px !important; background: #e5e5e5 !important; }

/* 阴影工具类 */

.shadow { box-shadow: var(--shadow) !important; }

.shadow-hover:hover { box-shadow: var(--shadow-hover) !important; }

/* 响应式工具类 */

.mobile-only { display: none !important; }

.desktop-only { display: block !important; }

@media (max-width: 575.98px) {
  .mobile-only { display: block !important; }
  .desktop-only { display: none !important; }
}

@media (min-width: 576px) {
  .mobile-only { display: none !important; }
  .desktop-only { display: block !important; }
}

/* 动画工具类 */

.transition { transition: all 0.3s ease !important; }

.transform-hover:hover { transform: translateY(-5px) !important; }

/* 宽高工具类 */

.w-25 { width: 25% !important; }

.w-50 { width: 50% !important; }

.w-75 { width: 75% !important; }

.w-100 { width: 100% !important; }

.h-100 { height: 100% !important; }

/* 弹性布局工具类 */

.flex-grow-1 { flex-grow: 1 !important; }

/* 鼠标样式工具类 */

.cursor-pointer { cursor: pointer !important; }

/* 悬停效果工具类 */

.hover\:bg-surface-hover:hover { background-color: var(--color-surface-hover) !important; }

/* 溢出工具类 */

.overflow-hidden { overflow: hidden !important; }

.overflow-auto { overflow: auto !important; }

/* 定位工具类 */

.fixed { position: fixed !important; }

.relative { position: relative !important; }

.absolute { position: absolute !important; }

/* 定位工具类 - 全屏 */

.inset-0 { top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }

/* 层级工具类 */

.z-1000 { z-index: 1000 !important; }

/* 高度工具类 */

.max-h-80vh { max-height: 80vh !important; }

/* 背景遮罩工具类 */

.bg-overlay { background-color: rgba(0, 0, 0, 0.5) !important; }

/* 背景表面工具类 */

.bg-surface { background-color: var(--color-surface) !important; }

/* 阴影工具类 */

.shadow-lg { box-shadow: var(--shadow-lg) !important; }

:root {
  /* z-index 层级管理规范 */
  --z-index-dropdown: 1000;     /* 下拉菜单 */
  --z-index-sticky: 1020;       /* 粘性定位 */
  --z-index-fixed: 1030;        /* 固定定位 */
  --z-index-modal-backdrop: 1040; /* 模态框背景 */
  --z-index-modal: 1050;        /* 模态框 */
  --z-index-popover: 1060;      /* 弹出框 */
  --z-index-tooltip: 1070;      /* 工具提示 */
}

/*
 * 全局页面容器样式 - 统一宽度限制
 * 适配uni-app架构，确保所有页面内容在桌面端(>1200px)时限制在1200px宽度内并居中显示
 */

/* 移动端优先：默认100%宽度 */

html, body,
.page-container,
.page-wrapper,
.main-container,
.content-container,
.container,
.uni-page-body,
.uni-page-wrapper,
uni-page-body,
uni-page-wrapper,
#app > uni-view:first-child,
#app > div:first-child,
uni-page-body > uni-view:first-child,
uni-page-wrapper > uni-view:first-child {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 桌面端：1200px宽度限制 - 导航栏保持全宽 */

@media screen and (min-width: 1200px) {
  /* 主要内容区域限制1200px - 由responsive.css处理 */
  .page-content,
  .main-content,
  .content-main,
  .page-main {
    max-width: 1200px ;
    margin: 0 auto ;
    width: 100% ;
    padding: 0 16px ;
    box-sizing: border-box ;
  }
}

/* 平板端适配 */

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .container,
  .page-container,
  .page-wrapper,
  .main-container,
  .content-container {
    max-width: 100% ;
    padding: 0 24px ;
  }
}

/* 特殊场景处理 */

@media screen and (max-width: 480px) {
  .container,
  .page-container,
  .page-wrapper,
  .main-container,
  .content-container {
    padding: 0 12px ;
  }
}

/* 全宽场景 */

.container-fluid,
.page-fluid,
.content-fluid {
  width: 100% ;
  max-width: none ;
  padding: 0 ;
  margin: 0 ;
}

/* 居中工具类 */

.center-container {
  margin-left: auto ;
  margin-right: auto ;
}

.width-limit {
  max-width: 1200px ;
  width: 100% ;
}

/* 确保背景色继承 */

.page-container,
.main-container,
.content-container {
  background-color: inherit;
}

/* 修复可能的margin冲突 */

.page-container:first-child,
.main-container:first-child {
  margin-top: 0 ;
}

.page-container:last-child,
.main-container:last-child {
  margin-bottom: 0 ;
}

/* ===========================================
   模态框定位修复样式
   =========================================== */

/* 修复子组件中模态框被父容器限制的问题 */

.modal-teleport-wrapper {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: var(--z-index-modal-backdrop) !important;
  pointer-events: none !important;
  
  /* 确保在最顶层 */
  isolation: isolate !important;
}

.modal-teleport-content {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: var(--z-index-modal) !important;
  pointer-events: auto !important;
  
  /* 防止transform导致的模糊 */
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  -webkit-font-smoothing: antialiased !important;
}

/* 修复移动端模态框被遮挡的问题 */

@media screen and (max-width: 768px) {
  .modal-teleport-wrapper {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: var(--z-index-modal-backdrop) !important;
  }
  
  .modal-teleport-content {
    width: 95% !important;
    max-width: 400px !important;
    max-height: 90vh !important;
    margin: 0 auto !important;
  }
}

/* 防止父容器的overflow影响 */

.account-cards,
.account-card,
.benefit-card,
.binding-section {
  /* 确保这些容器不会裁剪模态框 */
  overflow: visible !important;
  position: relative !important;
}

/* 修复transform导致的定位问题 */

.account-cards > * {
  transform: none !important;
}

/* 确保模态框不被其他元素覆盖 */

.modal-overlay {
  /* 使用CSS变量确保层级正确 */
  z-index: var(--z-index-modal-backdrop) !important;
  
  /* 防止transform导致的模糊 */
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  
  /* 防止其他transform影响 */
  will-change: opacity !important;
}

.modal-container {
  z-index: var(--z-index-modal) !important;
  
  /* 防止transform导致的模糊 */
  transform: none !important;
  -webkit-transform: none !important;
  
  /* 防止其他transform影响 */
  will-change: auto !important;
}

/* 修复点击穿透问题 */

.modal-overlay {
  pointer-events: auto !important;
}

.modal-container {
  pointer-events: auto !important;
}

/* 修复移动端键盘弹出时的定位问题 */

@media screen and (max-width: 768px) {
  .modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    
    /* 确保在软键盘弹出时也能正确显示 */
    height: 100vh !important;
    height: 100dvh !important; /* 动态视口高度 */
  }
}

/* 修复iOS Safari的100vh问题 */

@supports (height: 100dvh) {
  .modal-overlay {
    height: 100dvh !important;
  }
}

/* 图标样式 - 全局导入避免重复导入 */

/* Font Awesome 免费图标库技术规范样式 */

/*!
 * Font Awesome Free 7.0.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2025 Fonticons, Inc.
 */

.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}

:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}

@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}

.fa-1x{font-size:1em}

.fa-2x{font-size:2em}

.fa-3x{font-size:3em}

.fa-4x{font-size:4em}

.fa-5x{font-size:5em}

.fa-6x{font-size:6em}

.fa-7x{font-size:7em}

.fa-8x{font-size:8em}

.fa-9x{font-size:9em}

.fa-10x{font-size:10em}

.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}

.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}

.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}

.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}

.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}

.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}

.fa-width-auto{--fa-width:auto}

.fa-fw,.fa-width-fixed{--fa-width:1.25em}

.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}

.fa-ul>li{position:relative}

.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}

.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}

.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}

.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}

.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}

.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}

.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}

.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}

.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}

.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}

.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}

.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}

.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}

.fa-spin-reverse{--fa-animation-direction:reverse}

.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}

@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}

@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}

@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}

@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}

@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}

@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}

@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}

@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

.fa-rotate-90{transform:rotate(90deg)}

.fa-rotate-180{transform:rotate(180deg)}

.fa-rotate-270{transform:rotate(270deg)}

.fa-flip-horizontal{transform:scaleX(-1)}

.fa-flip-vertical{transform:scaleY(-1)}

.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}

.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}

.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}

.fa-stack-1x,.fa-stack-2x{--fa-width:100%;inset:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}

.fa-stack-1x{line-height:inherit}

.fa-stack-2x{font-size:2em}

.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0{--fa:"\30 "}

.fa-1{--fa:"\31 "}

.fa-2{--fa:"\32 "}

.fa-3{--fa:"\33 "}

.fa-4{--fa:"\34 "}

.fa-5{--fa:"\35 "}

.fa-6{--fa:"\36 "}

.fa-7{--fa:"\37 "}

.fa-8{--fa:"\38 "}

.fa-9{--fa:"\39 "}

.fa-exclamation{--fa:"\!"}

.fa-hashtag{--fa:"\#"}

.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\$"}

.fa-percent,.fa-percentage{--fa:"\%"}

.fa-asterisk{--fa:"\*"}

.fa-add,.fa-plus{--fa:"\+"}

.fa-less-than{--fa:"\<"}

.fa-equals{--fa:"\="}

.fa-greater-than{--fa:"\>"}

.fa-question{--fa:"\?"}

.fa-at{--fa:"\@"}

.fa-a{--fa:"A"}

.fa-b{--fa:"B"}

.fa-c{--fa:"C"}

.fa-d{--fa:"D"}

.fa-e{--fa:"E"}

.fa-f{--fa:"F"}

.fa-g{--fa:"G"}

.fa-h{--fa:"H"}

.fa-i{--fa:"I"}

.fa-j{--fa:"J"}

.fa-k{--fa:"K"}

.fa-l{--fa:"L"}

.fa-m{--fa:"M"}

.fa-n{--fa:"N"}

.fa-o{--fa:"O"}

.fa-p{--fa:"P"}

.fa-q{--fa:"Q"}

.fa-r{--fa:"R"}

.fa-s{--fa:"S"}

.fa-t{--fa:"T"}

.fa-u{--fa:"U"}

.fa-v{--fa:"V"}

.fa-w{--fa:"W"}

.fa-x{--fa:"X"}

.fa-y{--fa:"Y"}

.fa-z{--fa:"Z"}

.fa-faucet{--fa:"\e005"}

.fa-faucet-drip{--fa:"\e006"}

.fa-house-chimney-window{--fa:"\e00d"}

.fa-house-signal{--fa:"\e012"}

.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}

.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}

.fa-trailer{--fa:"\e041"}

.fa-bacteria{--fa:"\e059"}

.fa-bacterium{--fa:"\e05a"}

.fa-box-tissue{--fa:"\e05b"}

.fa-hand-holding-medical{--fa:"\e05c"}

.fa-hand-sparkles{--fa:"\e05d"}

.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}

.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:"\e060"}

.fa-head-side-cough{--fa:"\e061"}

.fa-head-side-cough-slash{--fa:"\e062"}

.fa-head-side-mask{--fa:"\e063"}

.fa-head-side-virus{--fa:"\e064"}

.fa-house-chimney-user{--fa:"\e065"}

.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}

.fa-lungs-virus{--fa:"\e067"}

.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}

.fa-plane-slash{--fa:"\e069"}

.fa-pump-medical{--fa:"\e06a"}

.fa-pump-soap{--fa:"\e06b"}

.fa-shield-virus{--fa:"\e06c"}

.fa-sink{--fa:"\e06d"}

.fa-soap{--fa:"\e06e"}

.fa-stopwatch-20{--fa:"\e06f"}

.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}

.fa-store-slash{--fa:"\e071"}

.fa-toilet-paper-slash{--fa:"\e072"}

.fa-users-slash{--fa:"\e073"}

.fa-virus{--fa:"\e074"}

.fa-virus-slash{--fa:"\e075"}

.fa-viruses{--fa:"\e076"}

.fa-vest{--fa:"\e085"}

.fa-vest-patches{--fa:"\e086"}

.fa-arrow-trend-down{--fa:"\e097"}

.fa-arrow-trend-up{--fa:"\e098"}

.fa-arrow-up-from-bracket{--fa:"\e09a"}

.fa-austral-sign{--fa:"\e0a9"}

.fa-baht-sign{--fa:"\e0ac"}

.fa-bitcoin-sign{--fa:"\e0b4"}

.fa-bolt-lightning{--fa:"\e0b7"}

.fa-book-bookmark{--fa:"\e0bb"}

.fa-camera-rotate{--fa:"\e0d8"}

.fa-cedi-sign{--fa:"\e0df"}

.fa-chart-column{--fa:"\e0e3"}

.fa-chart-gantt{--fa:"\e0e4"}

.fa-clapperboard{--fa:"\e131"}

.fa-clover{--fa:"\e139"}

.fa-code-compare{--fa:"\e13a"}

.fa-code-fork{--fa:"\e13b"}

.fa-code-pull-request{--fa:"\e13c"}

.fa-colon-sign{--fa:"\e140"}

.fa-cruzeiro-sign{--fa:"\e152"}

.fa-display{--fa:"\e163"}

.fa-dong-sign{--fa:"\e169"}

.fa-elevator{--fa:"\e16d"}

.fa-filter-circle-xmark{--fa:"\e17b"}

.fa-florin-sign{--fa:"\e184"}

.fa-folder-closed{--fa:"\e185"}

.fa-franc-sign{--fa:"\e18f"}

.fa-guarani-sign{--fa:"\e19a"}

.fa-gun{--fa:"\e19b"}

.fa-hands-clapping{--fa:"\e1a8"}

.fa-home-user,.fa-house-user{--fa:"\e1b0"}

.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}

.fa-kip-sign{--fa:"\e1c4"}

.fa-lari-sign{--fa:"\e1c8"}

.fa-litecoin-sign{--fa:"\e1d3"}

.fa-manat-sign{--fa:"\e1d5"}

.fa-mask-face{--fa:"\e1d7"}

.fa-mill-sign{--fa:"\e1ed"}

.fa-money-bills{--fa:"\e1f3"}

.fa-naira-sign{--fa:"\e1f6"}

.fa-notdef{--fa:"\e1fe"}

.fa-panorama{--fa:"\e209"}

.fa-peseta-sign{--fa:"\e221"}

.fa-peso-sign{--fa:"\e222"}

.fa-plane-up{--fa:"\e22d"}

.fa-rupiah-sign{--fa:"\e23d"}

.fa-stairs{--fa:"\e289"}

.fa-timeline{--fa:"\e29c"}

.fa-truck-front{--fa:"\e2b7"}

.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}

.fa-vault{--fa:"\e2c5"}

.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}

.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}

.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}

.fa-bangladeshi-taka-sign{--fa:"\e2e6"}

.fa-bowl-rice{--fa:"\e2eb"}

.fa-person-pregnant{--fa:"\e31e"}

.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}

.fa-house-crack{--fa:"\e3b1"}

.fa-house-medical{--fa:"\e3b2"}

.fa-cent-sign{--fa:"\e3f5"}

.fa-plus-minus{--fa:"\e43c"}

.fa-sailboat{--fa:"\e445"}

.fa-section{--fa:"\e447"}

.fa-shrimp{--fa:"\e448"}

.fa-brazilian-real-sign{--fa:"\e46c"}

.fa-chart-simple{--fa:"\e473"}

.fa-diagram-next{--fa:"\e476"}

.fa-diagram-predecessor{--fa:"\e477"}

.fa-diagram-successor{--fa:"\e47a"}

.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}

.fa-bug-slash{--fa:"\e490"}

.fa-file-circle-plus{--fa:"\e494"}

.fa-shop-lock{--fa:"\e4a5"}

.fa-virus-covid{--fa:"\e4a8"}

.fa-virus-covid-slash{--fa:"\e4a9"}

.fa-anchor-circle-check{--fa:"\e4aa"}

.fa-anchor-circle-exclamation{--fa:"\e4ab"}

.fa-anchor-circle-xmark{--fa:"\e4ac"}

.fa-anchor-lock{--fa:"\e4ad"}

.fa-arrow-down-up-across-line{--fa:"\e4af"}

.fa-arrow-down-up-lock{--fa:"\e4b0"}

.fa-arrow-right-to-city{--fa:"\e4b3"}

.fa-arrow-up-from-ground-water{--fa:"\e4b5"}

.fa-arrow-up-from-water-pump{--fa:"\e4b6"}

.fa-arrow-up-right-dots{--fa:"\e4b7"}

.fa-arrows-down-to-line{--fa:"\e4b8"}

.fa-arrows-down-to-people{--fa:"\e4b9"}

.fa-arrows-left-right-to-line{--fa:"\e4ba"}

.fa-arrows-spin{--fa:"\e4bb"}

.fa-arrows-split-up-and-left{--fa:"\e4bc"}

.fa-arrows-to-circle{--fa:"\e4bd"}

.fa-arrows-to-dot{--fa:"\e4be"}

.fa-arrows-to-eye{--fa:"\e4bf"}

.fa-arrows-turn-right{--fa:"\e4c0"}

.fa-arrows-turn-to-dots{--fa:"\e4c1"}

.fa-arrows-up-to-line{--fa:"\e4c2"}

.fa-bore-hole{--fa:"\e4c3"}

.fa-bottle-droplet{--fa:"\e4c4"}

.fa-bottle-water{--fa:"\e4c5"}

.fa-bowl-food{--fa:"\e4c6"}

.fa-boxes-packing{--fa:"\e4c7"}

.fa-bridge{--fa:"\e4c8"}

.fa-bridge-circle-check{--fa:"\e4c9"}

.fa-bridge-circle-exclamation{--fa:"\e4ca"}

.fa-bridge-circle-xmark{--fa:"\e4cb"}

.fa-bridge-lock{--fa:"\e4cc"}

.fa-bridge-water{--fa:"\e4ce"}

.fa-bucket{--fa:"\e4cf"}

.fa-bugs{--fa:"\e4d0"}

.fa-building-circle-arrow-right{--fa:"\e4d1"}

.fa-building-circle-check{--fa:"\e4d2"}

.fa-building-circle-exclamation{--fa:"\e4d3"}

.fa-building-circle-xmark{--fa:"\e4d4"}

.fa-building-flag{--fa:"\e4d5"}

.fa-building-lock{--fa:"\e4d6"}

.fa-building-ngo{--fa:"\e4d7"}

.fa-building-shield{--fa:"\e4d8"}

.fa-building-un{--fa:"\e4d9"}

.fa-building-user{--fa:"\e4da"}

.fa-building-wheat{--fa:"\e4db"}

.fa-burst{--fa:"\e4dc"}

.fa-car-on{--fa:"\e4dd"}

.fa-car-tunnel{--fa:"\e4de"}

.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}

.fa-children{--fa:"\e4e1"}

.fa-circle-nodes{--fa:"\e4e2"}

.fa-clipboard-question{--fa:"\e4e3"}

.fa-cloud-showers-water{--fa:"\e4e4"}

.fa-computer{--fa:"\e4e5"}

.fa-cubes-stacked{--fa:"\e4e6"}

.fa-envelope-circle-check{--fa:"\e4e8"}

.fa-explosion{--fa:"\e4e9"}

.fa-ferry{--fa:"\e4ea"}

.fa-file-circle-exclamation{--fa:"\e4eb"}

.fa-file-circle-minus{--fa:"\e4ed"}

.fa-file-circle-question{--fa:"\e4ef"}

.fa-file-shield{--fa:"\e4f0"}

.fa-fire-burner{--fa:"\e4f1"}

.fa-fish-fins{--fa:"\e4f2"}

.fa-flask-vial{--fa:"\e4f3"}

.fa-glass-water{--fa:"\e4f4"}

.fa-glass-water-droplet{--fa:"\e4f5"}

.fa-group-arrows-rotate{--fa:"\e4f6"}

.fa-hand-holding-hand{--fa:"\e4f7"}

.fa-handcuffs{--fa:"\e4f8"}

.fa-hands-bound{--fa:"\e4f9"}

.fa-hands-holding-child{--fa:"\e4fa"}

.fa-hands-holding-circle{--fa:"\e4fb"}

.fa-heart-circle-bolt{--fa:"\e4fc"}

.fa-heart-circle-check{--fa:"\e4fd"}

.fa-heart-circle-exclamation{--fa:"\e4fe"}

.fa-heart-circle-minus{--fa:"\e4ff"}

.fa-heart-circle-plus{--fa:"\e500"}

.fa-heart-circle-xmark{--fa:"\e501"}

.fa-helicopter-symbol{--fa:"\e502"}

.fa-helmet-un{--fa:"\e503"}

.fa-hill-avalanche{--fa:"\e507"}

.fa-hill-rockslide{--fa:"\e508"}

.fa-house-circle-check{--fa:"\e509"}

.fa-house-circle-exclamation{--fa:"\e50a"}

.fa-house-circle-xmark{--fa:"\e50b"}

.fa-house-fire{--fa:"\e50c"}

.fa-house-flag{--fa:"\e50d"}

.fa-house-flood-water{--fa:"\e50e"}

.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}

.fa-house-lock{--fa:"\e510"}

.fa-house-medical-circle-check{--fa:"\e511"}

.fa-house-medical-circle-exclamation{--fa:"\e512"}

.fa-house-medical-circle-xmark{--fa:"\e513"}

.fa-house-medical-flag{--fa:"\e514"}

.fa-house-tsunami{--fa:"\e515"}

.fa-jar{--fa:"\e516"}

.fa-jar-wheat{--fa:"\e517"}

.fa-jet-fighter-up{--fa:"\e518"}

.fa-jug-detergent{--fa:"\e519"}

.fa-kitchen-set{--fa:"\e51a"}

.fa-land-mine-on{--fa:"\e51b"}

.fa-landmark-flag{--fa:"\e51c"}

.fa-laptop-file{--fa:"\e51d"}

.fa-lines-leaning{--fa:"\e51e"}

.fa-location-pin-lock{--fa:"\e51f"}

.fa-locust{--fa:"\e520"}

.fa-magnifying-glass-arrow-right{--fa:"\e521"}

.fa-magnifying-glass-chart{--fa:"\e522"}

.fa-mars-and-venus-burst{--fa:"\e523"}

.fa-mask-ventilator{--fa:"\e524"}

.fa-mattress-pillow{--fa:"\e525"}

.fa-mobile-retro{--fa:"\e527"}

.fa-money-bill-transfer{--fa:"\e528"}

.fa-money-bill-trend-up{--fa:"\e529"}

.fa-money-bill-wheat{--fa:"\e52a"}

.fa-mosquito{--fa:"\e52b"}

.fa-mosquito-net{--fa:"\e52c"}

.fa-mound{--fa:"\e52d"}

.fa-mountain-city{--fa:"\e52e"}

.fa-mountain-sun{--fa:"\e52f"}

.fa-oil-well{--fa:"\e532"}

.fa-people-group{--fa:"\e533"}

.fa-people-line{--fa:"\e534"}

.fa-people-pulling{--fa:"\e535"}

.fa-people-robbery{--fa:"\e536"}

.fa-people-roof{--fa:"\e537"}

.fa-person-arrow-down-to-line{--fa:"\e538"}

.fa-person-arrow-up-from-line{--fa:"\e539"}

.fa-person-breastfeeding{--fa:"\e53a"}

.fa-person-burst{--fa:"\e53b"}

.fa-person-cane{--fa:"\e53c"}

.fa-person-chalkboard{--fa:"\e53d"}

.fa-person-circle-check{--fa:"\e53e"}

.fa-person-circle-exclamation{--fa:"\e53f"}

.fa-person-circle-minus{--fa:"\e540"}

.fa-person-circle-plus{--fa:"\e541"}

.fa-person-circle-question{--fa:"\e542"}

.fa-person-circle-xmark{--fa:"\e543"}

.fa-person-dress-burst{--fa:"\e544"}

.fa-person-drowning{--fa:"\e545"}

.fa-person-falling{--fa:"\e546"}

.fa-person-falling-burst{--fa:"\e547"}

.fa-person-half-dress{--fa:"\e548"}

.fa-person-harassing{--fa:"\e549"}

.fa-person-military-pointing{--fa:"\e54a"}

.fa-person-military-rifle{--fa:"\e54b"}

.fa-person-military-to-person{--fa:"\e54c"}

.fa-person-rays{--fa:"\e54d"}

.fa-person-rifle{--fa:"\e54e"}

.fa-person-shelter{--fa:"\e54f"}

.fa-person-walking-arrow-loop-left{--fa:"\e551"}

.fa-person-walking-arrow-right{--fa:"\e552"}

.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}

.fa-person-walking-luggage{--fa:"\e554"}

.fa-plane-circle-check{--fa:"\e555"}

.fa-plane-circle-exclamation{--fa:"\e556"}

.fa-plane-circle-xmark{--fa:"\e557"}

.fa-plane-lock{--fa:"\e558"}

.fa-plate-wheat{--fa:"\e55a"}

.fa-plug-circle-bolt{--fa:"\e55b"}

.fa-plug-circle-check{--fa:"\e55c"}

.fa-plug-circle-exclamation{--fa:"\e55d"}

.fa-plug-circle-minus{--fa:"\e55e"}

.fa-plug-circle-plus{--fa:"\e55f"}

.fa-plug-circle-xmark{--fa:"\e560"}

.fa-ranking-star{--fa:"\e561"}

.fa-road-barrier{--fa:"\e562"}

.fa-road-bridge{--fa:"\e563"}

.fa-road-circle-check{--fa:"\e564"}

.fa-road-circle-exclamation{--fa:"\e565"}

.fa-road-circle-xmark{--fa:"\e566"}

.fa-road-lock{--fa:"\e567"}

.fa-road-spikes{--fa:"\e568"}

.fa-rug{--fa:"\e569"}

.fa-sack-xmark{--fa:"\e56a"}

.fa-school-circle-check{--fa:"\e56b"}

.fa-school-circle-exclamation{--fa:"\e56c"}

.fa-school-circle-xmark{--fa:"\e56d"}

.fa-school-flag{--fa:"\e56e"}

.fa-school-lock{--fa:"\e56f"}

.fa-sheet-plastic{--fa:"\e571"}

.fa-shield-cat{--fa:"\e572"}

.fa-shield-dog{--fa:"\e573"}

.fa-shield-heart{--fa:"\e574"}

.fa-square-nfi{--fa:"\e576"}

.fa-square-person-confined{--fa:"\e577"}

.fa-square-virus{--fa:"\e578"}

.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}

.fa-sun-plant-wilt{--fa:"\e57a"}

.fa-tarp{--fa:"\e57b"}

.fa-tarp-droplet{--fa:"\e57c"}

.fa-tent{--fa:"\e57d"}

.fa-tent-arrow-down-to-line{--fa:"\e57e"}

.fa-tent-arrow-left-right{--fa:"\e57f"}

.fa-tent-arrow-turn-left{--fa:"\e580"}

.fa-tent-arrows-down{--fa:"\e581"}

.fa-tents{--fa:"\e582"}

.fa-toilet-portable{--fa:"\e583"}

.fa-toilets-portable{--fa:"\e584"}

.fa-tower-cell{--fa:"\e585"}

.fa-tower-observation{--fa:"\e586"}

.fa-tree-city{--fa:"\e587"}

.fa-trowel{--fa:"\e589"}

.fa-trowel-bricks{--fa:"\e58a"}

.fa-truck-arrow-right{--fa:"\e58b"}

.fa-truck-droplet{--fa:"\e58c"}

.fa-truck-field{--fa:"\e58d"}

.fa-truck-field-un{--fa:"\e58e"}

.fa-truck-plane{--fa:"\e58f"}

.fa-users-between-lines{--fa:"\e591"}

.fa-users-line{--fa:"\e592"}

.fa-users-rays{--fa:"\e593"}

.fa-users-rectangle{--fa:"\e594"}

.fa-users-viewfinder{--fa:"\e595"}

.fa-vial-circle-check{--fa:"\e596"}

.fa-vial-virus{--fa:"\e597"}

.fa-wheat-awn-circle-exclamation{--fa:"\e598"}

.fa-worm{--fa:"\e599"}

.fa-xmarks-lines{--fa:"\e59a"}

.fa-child-dress{--fa:"\e59c"}

.fa-child-reaching{--fa:"\e59d"}

.fa-file-circle-check{--fa:"\e5a0"}

.fa-file-circle-xmark{--fa:"\e5a1"}

.fa-person-through-window{--fa:"\e5a9"}

.fa-plant-wilt{--fa:"\e5aa"}

.fa-stapler{--fa:"\e5af"}

.fa-train-tram{--fa:"\e5b4"}

.fa-table-cells-column-lock{--fa:"\e678"}

.fa-table-cells-row-lock{--fa:"\e67a"}

.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}

.fa-table-cells-row-unlock{--fa:"\e691"}

.fa-chart-diagram{--fa:"\e695"}

.fa-comment-nodes{--fa:"\e696"}

.fa-file-fragment{--fa:"\e697"}

.fa-file-half-dashed{--fa:"\e698"}

.fa-hexagon-nodes{--fa:"\e699"}

.fa-hexagon-nodes-bolt{--fa:"\e69a"}

.fa-square-binary{--fa:"\e69b"}

.fa-pentagon{--fa:"\e790"}

.fa-non-binary{--fa:"\e807"}

.fa-spiral{--fa:"\e80a"}

.fa-mobile-vibrate{--fa:"\e816"}

.fa-single-quote-left{--fa:"\e81b"}

.fa-single-quote-right{--fa:"\e81c"}

.fa-bus-side{--fa:"\e81d"}

.fa-heptagon,.fa-septagon{--fa:"\e820"}

.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}

.fa-music{--fa:"\f001"}

.fa-magnifying-glass,.fa-search{--fa:"\f002"}

.fa-heart{--fa:"\f004"}

.fa-star{--fa:"\f005"}

.fa-user,.fa-user-alt,.fa-user-large{--fa:"\f007"}

.fa-film,.fa-film-alt,.fa-film-simple{--fa:"\f008"}

.fa-table-cells-large,.fa-th-large{--fa:"\f009"}

.fa-table-cells,.fa-th{--fa:"\f00a"}

.fa-table-list,.fa-th-list{--fa:"\f00b"}

.fa-check{--fa:"\f00c"}

.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}

.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}

.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}

.fa-power-off{--fa:"\f011"}

.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}

.fa-cog,.fa-gear{--fa:"\f013"}

.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}

.fa-clock,.fa-clock-four{--fa:"\f017"}

.fa-road{--fa:"\f018"}

.fa-download{--fa:"\f019"}

.fa-inbox{--fa:"\f01c"}

.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}

.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}

.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}

.fa-lock{--fa:"\f023"}

.fa-flag{--fa:"\f024"}

.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:"\f025"}

.fa-volume-off{--fa:"\f026"}

.fa-volume-down,.fa-volume-low{--fa:"\f027"}

.fa-volume-high,.fa-volume-up{--fa:"\f028"}

.fa-qrcode{--fa:"\f029"}

.fa-barcode{--fa:"\f02a"}

.fa-tag{--fa:"\f02b"}

.fa-tags{--fa:"\f02c"}

.fa-book{--fa:"\f02d"}

.fa-bookmark{--fa:"\f02e"}

.fa-print{--fa:"\f02f"}

.fa-camera,.fa-camera-alt{--fa:"\f030"}

.fa-font{--fa:"\f031"}

.fa-bold{--fa:"\f032"}

.fa-italic{--fa:"\f033"}

.fa-text-height{--fa:"\f034"}

.fa-text-width{--fa:"\f035"}

.fa-align-left{--fa:"\f036"}

.fa-align-center{--fa:"\f037"}

.fa-align-right{--fa:"\f038"}

.fa-align-justify{--fa:"\f039"}

.fa-list,.fa-list-squares{--fa:"\f03a"}

.fa-dedent,.fa-outdent{--fa:"\f03b"}

.fa-indent{--fa:"\f03c"}

.fa-video,.fa-video-camera{--fa:"\f03d"}

.fa-image{--fa:"\f03e"}

.fa-location-pin,.fa-map-marker{--fa:"\f041"}

.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}

.fa-droplet,.fa-tint{--fa:"\f043"}

.fa-edit,.fa-pen-to-square{--fa:"\f044"}

.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}

.fa-backward-step,.fa-step-backward{--fa:"\f048"}

.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}

.fa-backward{--fa:"\f04a"}

.fa-play{--fa:"\f04b"}

.fa-pause{--fa:"\f04c"}

.fa-stop{--fa:"\f04d"}

.fa-forward{--fa:"\f04e"}

.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}

.fa-forward-step,.fa-step-forward{--fa:"\f051"}

.fa-eject{--fa:"\f052"}

.fa-chevron-left{--fa:"\f053"}

.fa-chevron-right{--fa:"\f054"}

.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}

.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}

.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}

.fa-check-circle,.fa-circle-check{--fa:"\f058"}

.fa-circle-question,.fa-question-circle{--fa:"\f059"}

.fa-circle-info,.fa-info-circle{--fa:"\f05a"}

.fa-crosshairs{--fa:"\f05b"}

.fa-ban,.fa-cancel{--fa:"\f05e"}

.fa-arrow-left{--fa:"\f060"}

.fa-arrow-right{--fa:"\f061"}

.fa-arrow-up{--fa:"\f062"}

.fa-arrow-down{--fa:"\f063"}

.fa-mail-forward,.fa-share{--fa:"\f064"}

.fa-expand{--fa:"\f065"}

.fa-compress{--fa:"\f066"}

.fa-minus,.fa-subtract{--fa:"\f068"}

.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}

.fa-gift{--fa:"\f06b"}

.fa-leaf{--fa:"\f06c"}

.fa-fire{--fa:"\f06d"}

.fa-eye{--fa:"\f06e"}

.fa-eye-slash{--fa:"\f070"}

.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}

.fa-plane{--fa:"\f072"}

.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}

.fa-random,.fa-shuffle{--fa:"\f074"}

.fa-comment{--fa:"\f075"}

.fa-magnet{--fa:"\f076"}

.fa-chevron-up{--fa:"\f077"}

.fa-chevron-down{--fa:"\f078"}

.fa-retweet{--fa:"\f079"}

.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}

.fa-folder,.fa-folder-blank{--fa:"\f07b"}

.fa-folder-open{--fa:"\f07c"}

.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}

.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}

.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}

.fa-camera-retro{--fa:"\f083"}

.fa-key{--fa:"\f084"}

.fa-cogs,.fa-gears{--fa:"\f085"}

.fa-comments{--fa:"\f086"}

.fa-star-half{--fa:"\f089"}

.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}

.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}

.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}

.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}

.fa-trophy{--fa:"\f091"}

.fa-upload{--fa:"\f093"}

.fa-lemon{--fa:"\f094"}

.fa-phone{--fa:"\f095"}

.fa-phone-square,.fa-square-phone{--fa:"\f098"}

.fa-unlock{--fa:"\f09c"}

.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}

.fa-feed,.fa-rss{--fa:"\f09e"}

.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}

.fa-bullhorn{--fa:"\f0a1"}

.fa-certificate{--fa:"\f0a3"}

.fa-hand-point-right{--fa:"\f0a4"}

.fa-hand-point-left{--fa:"\f0a5"}

.fa-hand-point-up{--fa:"\f0a6"}

.fa-hand-point-down{--fa:"\f0a7"}

.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}

.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}

.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}

.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}

.fa-globe{--fa:"\f0ac"}

.fa-wrench{--fa:"\f0ad"}

.fa-list-check,.fa-tasks{--fa:"\f0ae"}

.fa-filter{--fa:"\f0b0"}

.fa-briefcase{--fa:"\f0b1"}

.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}

.fa-users{--fa:"\f0c0"}

.fa-chain,.fa-link{--fa:"\f0c1"}

.fa-cloud{--fa:"\f0c2"}

.fa-flask{--fa:"\f0c3"}

.fa-cut,.fa-scissors{--fa:"\f0c4"}

.fa-copy{--fa:"\f0c5"}

.fa-paperclip{--fa:"\f0c6"}

.fa-floppy-disk,.fa-save{--fa:"\f0c7"}

.fa-square{--fa:"\f0c8"}

.fa-bars,.fa-navicon{--fa:"\f0c9"}

.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}

.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}

.fa-strikethrough{--fa:"\f0cc"}

.fa-underline{--fa:"\f0cd"}

.fa-table{--fa:"\f0ce"}

.fa-magic,.fa-wand-magic{--fa:"\f0d0"}

.fa-truck{--fa:"\f0d1"}

.fa-money-bill{--fa:"\f0d6"}

.fa-caret-down{--fa:"\f0d7"}

.fa-caret-up{--fa:"\f0d8"}

.fa-caret-left{--fa:"\f0d9"}

.fa-caret-right{--fa:"\f0da"}

.fa-columns,.fa-table-columns{--fa:"\f0db"}

.fa-sort,.fa-unsorted{--fa:"\f0dc"}

.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}

.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}

.fa-envelope{--fa:"\f0e0"}

.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}

.fa-gavel,.fa-legal{--fa:"\f0e3"}

.fa-bolt,.fa-zap{--fa:"\f0e7"}

.fa-sitemap{--fa:"\f0e8"}

.fa-umbrella{--fa:"\f0e9"}

.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}

.fa-lightbulb{--fa:"\f0eb"}

.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}

.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}

.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}

.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}

.fa-stethoscope{--fa:"\f0f1"}

.fa-suitcase{--fa:"\f0f2"}

.fa-bell{--fa:"\f0f3"}

.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}

.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}

.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}

.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}

.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}

.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}

.fa-h-square,.fa-square-h{--fa:"\f0fd"}

.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}

.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}

.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}

.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}

.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}

.fa-angle-left{--fa:"\f104"}

.fa-angle-right{--fa:"\f105"}

.fa-angle-up{--fa:"\f106"}

.fa-angle-down{--fa:"\f107"}

.fa-laptop{--fa:"\f109"}

.fa-tablet-button{--fa:"\f10a"}

.fa-mobile-button{--fa:"\f10b"}

.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}

.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}

.fa-spinner{--fa:"\f110"}

.fa-circle{--fa:"\f111"}

.fa-face-smile,.fa-smile{--fa:"\f118"}

.fa-face-frown,.fa-frown{--fa:"\f119"}

.fa-face-meh,.fa-meh{--fa:"\f11a"}

.fa-gamepad{--fa:"\f11b"}

.fa-keyboard{--fa:"\f11c"}

.fa-flag-checkered{--fa:"\f11e"}

.fa-terminal{--fa:"\f120"}

.fa-code{--fa:"\f121"}

.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}

.fa-location-arrow{--fa:"\f124"}

.fa-crop{--fa:"\f125"}

.fa-code-branch{--fa:"\f126"}

.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}

.fa-info{--fa:"\f129"}

.fa-superscript{--fa:"\f12b"}

.fa-subscript{--fa:"\f12c"}

.fa-eraser{--fa:"\f12d"}

.fa-puzzle-piece{--fa:"\f12e"}

.fa-microphone{--fa:"\f130"}

.fa-microphone-slash{--fa:"\f131"}

.fa-shield,.fa-shield-blank{--fa:"\f132"}

.fa-calendar{--fa:"\f133"}

.fa-fire-extinguisher{--fa:"\f134"}

.fa-rocket{--fa:"\f135"}

.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}

.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}

.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}

.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}

.fa-anchor{--fa:"\f13d"}

.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}

.fa-bullseye{--fa:"\f140"}

.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}

.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}

.fa-rss-square,.fa-square-rss{--fa:"\f143"}

.fa-circle-play,.fa-play-circle{--fa:"\f144"}

.fa-ticket{--fa:"\f145"}

.fa-minus-square,.fa-square-minus{--fa:"\f146"}

.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}

.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}

.fa-check-square,.fa-square-check{--fa:"\f14a"}

.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}

.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}

.fa-share-from-square,.fa-share-square{--fa:"\f14d"}

.fa-compass{--fa:"\f14e"}

.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}

.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}

.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}

.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}

.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}

.fa-rupee,.fa-rupee-sign{--fa:"\f156"}

.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}

.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}

.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}

.fa-file{--fa:"\f15b"}

.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}

.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}

.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}

.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}

.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}

.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}

.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}

.fa-thumbs-up{--fa:"\f164"}

.fa-thumbs-down{--fa:"\f165"}

.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}

.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}

.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}

.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}

.fa-female,.fa-person-dress{--fa:"\f182"}

.fa-male,.fa-person{--fa:"\f183"}

.fa-sun{--fa:"\f185"}

.fa-moon{--fa:"\f186"}

.fa-archive,.fa-box-archive{--fa:"\f187"}

.fa-bug{--fa:"\f188"}

.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}

.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}

.fa-wheelchair{--fa:"\f193"}

.fa-lira-sign{--fa:"\f195"}

.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}

.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}

.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}

.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}

.fa-language{--fa:"\f1ab"}

.fa-fax{--fa:"\f1ac"}

.fa-building{--fa:"\f1ad"}

.fa-child{--fa:"\f1ae"}

.fa-paw{--fa:"\f1b0"}

.fa-cube{--fa:"\f1b2"}

.fa-cubes{--fa:"\f1b3"}

.fa-recycle{--fa:"\f1b8"}

.fa-automobile,.fa-car{--fa:"\f1b9"}

.fa-cab,.fa-taxi{--fa:"\f1ba"}

.fa-tree{--fa:"\f1bb"}

.fa-database{--fa:"\f1c0"}

.fa-file-pdf{--fa:"\f1c1"}

.fa-file-word{--fa:"\f1c2"}

.fa-file-excel{--fa:"\f1c3"}

.fa-file-powerpoint{--fa:"\f1c4"}

.fa-file-image{--fa:"\f1c5"}

.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}

.fa-file-audio{--fa:"\f1c7"}

.fa-file-video{--fa:"\f1c8"}

.fa-file-code{--fa:"\f1c9"}

.fa-life-ring{--fa:"\f1cd"}

.fa-circle-notch{--fa:"\f1ce"}

.fa-paper-plane{--fa:"\f1d8"}

.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}

.fa-header,.fa-heading{--fa:"\f1dc"}

.fa-paragraph{--fa:"\f1dd"}

.fa-sliders,.fa-sliders-h{--fa:"\f1de"}

.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}

.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}

.fa-bomb{--fa:"\f1e2"}

.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}

.fa-teletype,.fa-tty{--fa:"\f1e4"}

.fa-binoculars{--fa:"\f1e5"}

.fa-plug{--fa:"\f1e6"}

.fa-newspaper{--fa:"\f1ea"}

.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}

.fa-calculator{--fa:"\f1ec"}

.fa-bell-slash{--fa:"\f1f6"}

.fa-trash{--fa:"\f1f8"}

.fa-copyright{--fa:"\f1f9"}

.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}

.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}

.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}

.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}

.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}

.fa-chart-line,.fa-line-chart{--fa:"\f201"}

.fa-toggle-off{--fa:"\f204"}

.fa-toggle-on{--fa:"\f205"}

.fa-bicycle{--fa:"\f206"}

.fa-bus{--fa:"\f207"}

.fa-closed-captioning{--fa:"\f20a"}

.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}

.fa-cart-plus{--fa:"\f217"}

.fa-cart-arrow-down{--fa:"\f218"}

.fa-diamond{--fa:"\f219"}

.fa-ship{--fa:"\f21a"}

.fa-user-secret{--fa:"\f21b"}

.fa-motorcycle{--fa:"\f21c"}

.fa-street-view{--fa:"\f21d"}

.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}

.fa-venus{--fa:"\f221"}

.fa-mars{--fa:"\f222"}

.fa-mercury{--fa:"\f223"}

.fa-mars-and-venus{--fa:"\f224"}

.fa-transgender,.fa-transgender-alt{--fa:"\f225"}

.fa-venus-double{--fa:"\f226"}

.fa-mars-double{--fa:"\f227"}

.fa-venus-mars{--fa:"\f228"}

.fa-mars-stroke{--fa:"\f229"}

.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}

.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}

.fa-neuter{--fa:"\f22c"}

.fa-genderless{--fa:"\f22d"}

.fa-server{--fa:"\f233"}

.fa-user-plus{--fa:"\f234"}

.fa-user-times,.fa-user-xmark{--fa:"\f235"}

.fa-bed{--fa:"\f236"}

.fa-train{--fa:"\f238"}

.fa-subway,.fa-train-subway{--fa:"\f239"}

.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}

.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}

.fa-battery-3,.fa-battery-half{--fa:"\f242"}

.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}

.fa-battery-0,.fa-battery-empty{--fa:"\f244"}

.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}

.fa-i-cursor{--fa:"\f246"}

.fa-object-group{--fa:"\f247"}

.fa-object-ungroup{--fa:"\f248"}

.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}

.fa-clone{--fa:"\f24d"}

.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}

.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}

.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}

.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}

.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}

.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}

.fa-hand,.fa-hand-paper{--fa:"\f256"}

.fa-hand-scissors{--fa:"\f257"}

.fa-hand-lizard{--fa:"\f258"}

.fa-hand-spock{--fa:"\f259"}

.fa-hand-pointer{--fa:"\f25a"}

.fa-hand-peace{--fa:"\f25b"}

.fa-trademark{--fa:"\f25c"}

.fa-registered{--fa:"\f25d"}

.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}

.fa-calendar-plus{--fa:"\f271"}

.fa-calendar-minus{--fa:"\f272"}

.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}

.fa-calendar-check{--fa:"\f274"}

.fa-industry{--fa:"\f275"}

.fa-map-pin{--fa:"\f276"}

.fa-map-signs,.fa-signs-post{--fa:"\f277"}

.fa-map{--fa:"\f279"}

.fa-comment-alt,.fa-message{--fa:"\f27a"}

.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}

.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}

.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}

.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}

.fa-universal-access{--fa:"\f29a"}

.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}

.fa-audio-description{--fa:"\f29e"}

.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}

.fa-braille{--fa:"\f2a1"}

.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}

.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}

.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}

.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}

.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}

.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:"\f2b5"}

.fa-envelope-open{--fa:"\f2b6"}

.fa-address-book,.fa-contact-book{--fa:"\f2b9"}

.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}

.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}

.fa-id-badge{--fa:"\f2c1"}

.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}

.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}

.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}

.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}

.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}

.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}

.fa-shower{--fa:"\f2cc"}

.fa-bath,.fa-bathtub{--fa:"\f2cd"}

.fa-podcast{--fa:"\f2ce"}

.fa-window-maximize{--fa:"\f2d0"}

.fa-window-minimize{--fa:"\f2d1"}

.fa-window-restore{--fa:"\f2d2"}

.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}

.fa-microchip{--fa:"\f2db"}

.fa-snowflake{--fa:"\f2dc"}

.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}

.fa-cutlery,.fa-utensils{--fa:"\f2e7"}

.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}

.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}

.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}

.fa-stopwatch{--fa:"\f2f2"}

.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}

.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}

.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}

.fa-poo{--fa:"\f2fe"}

.fa-images{--fa:"\f302"}

.fa-pencil,.fa-pencil-alt{--fa:"\f303"}

.fa-pen{--fa:"\f304"}

.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}

.fa-octagon{--fa:"\f306"}

.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}

.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}

.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}

.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}

.fa-hexagon{--fa:"\f312"}

.fa-file-edit,.fa-file-pen{--fa:"\f31c"}

.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}

.fa-clipboard{--fa:"\f328"}

.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}

.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}

.fa-alarm-clock{--fa:"\f34e"}

.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}

.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}

.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}

.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}

.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}

.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}

.fa-exchange-alt,.fa-right-left{--fa:"\f362"}

.fa-repeat{--fa:"\f363"}

.fa-code-commit{--fa:"\f386"}

.fa-code-merge{--fa:"\f387"}

.fa-desktop,.fa-desktop-alt{--fa:"\f390"}

.fa-gem{--fa:"\f3a5"}

.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}

.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}

.fa-lock-open{--fa:"\f3c1"}

.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}

.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}

.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}

.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}

.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}

.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}

.fa-phone-slash{--fa:"\f3dd"}

.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}

.fa-mail-reply,.fa-reply{--fa:"\f3e5"}

.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}

.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}

.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}

.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}

.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}

.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}

.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}

.fa-baseball-bat-ball{--fa:"\f432"}

.fa-baseball,.fa-baseball-ball{--fa:"\f433"}

.fa-basketball,.fa-basketball-ball{--fa:"\f434"}

.fa-bowling-ball{--fa:"\f436"}

.fa-chess{--fa:"\f439"}

.fa-chess-bishop{--fa:"\f43a"}

.fa-chess-board{--fa:"\f43c"}

.fa-chess-king{--fa:"\f43f"}

.fa-chess-knight{--fa:"\f441"}

.fa-chess-pawn{--fa:"\f443"}

.fa-chess-queen{--fa:"\f445"}

.fa-chess-rook{--fa:"\f447"}

.fa-dumbbell{--fa:"\f44b"}

.fa-football,.fa-football-ball{--fa:"\f44e"}

.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}

.fa-hockey-puck{--fa:"\f453"}

.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}

.fa-square-full{--fa:"\f45c"}

.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}

.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}

.fa-allergies,.fa-hand-dots{--fa:"\f461"}

.fa-band-aid,.fa-bandage{--fa:"\f462"}

.fa-box{--fa:"\f466"}

.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}

.fa-briefcase-medical{--fa:"\f469"}

.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}

.fa-capsules{--fa:"\f46b"}

.fa-clipboard-check{--fa:"\f46c"}

.fa-clipboard-list{--fa:"\f46d"}

.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}

.fa-dna{--fa:"\f471"}

.fa-dolly,.fa-dolly-box{--fa:"\f472"}

.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}

.fa-file-medical{--fa:"\f477"}

.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}

.fa-first-aid,.fa-kit-medical{--fa:"\f479"}

.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}

.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}

.fa-notes-medical{--fa:"\f481"}

.fa-pallet{--fa:"\f482"}

.fa-pills{--fa:"\f484"}

.fa-prescription-bottle{--fa:"\f485"}

.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}

.fa-bed-pulse,.fa-procedures{--fa:"\f487"}

.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}

.fa-smoking{--fa:"\f48d"}

.fa-syringe{--fa:"\f48e"}

.fa-tablets{--fa:"\f490"}

.fa-thermometer{--fa:"\f491"}

.fa-vial{--fa:"\f492"}

.fa-vials{--fa:"\f493"}

.fa-warehouse{--fa:"\f494"}

.fa-weight,.fa-weight-scale{--fa:"\f496"}

.fa-x-ray{--fa:"\f497"}

.fa-box-open{--fa:"\f49e"}

.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}

.fa-comment-slash{--fa:"\f4b3"}

.fa-couch{--fa:"\f4b8"}

.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}

.fa-dove{--fa:"\f4ba"}

.fa-hand-holding{--fa:"\f4bd"}

.fa-hand-holding-heart{--fa:"\f4be"}

.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}

.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}

.fa-hands-holding{--fa:"\f4c2"}

.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}

.fa-parachute-box{--fa:"\f4cd"}

.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}

.fa-piggy-bank{--fa:"\f4d3"}

.fa-ribbon{--fa:"\f4d6"}

.fa-route{--fa:"\f4d7"}

.fa-seedling,.fa-sprout{--fa:"\f4d8"}

.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}

.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}

.fa-tape{--fa:"\f4db"}

.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}

.fa-truck-moving{--fa:"\f4df"}

.fa-video-slash{--fa:"\f4e2"}

.fa-wine-glass{--fa:"\f4e3"}

.fa-user-astronaut{--fa:"\f4fb"}

.fa-user-check{--fa:"\f4fc"}

.fa-user-clock{--fa:"\f4fd"}

.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}

.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}

.fa-user-friends,.fa-user-group{--fa:"\f500"}

.fa-user-graduate{--fa:"\f501"}

.fa-user-lock{--fa:"\f502"}

.fa-user-minus{--fa:"\f503"}

.fa-user-ninja{--fa:"\f504"}

.fa-user-shield{--fa:"\f505"}

.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:"\f506"}

.fa-user-tag{--fa:"\f507"}

.fa-user-tie{--fa:"\f508"}

.fa-users-cog,.fa-users-gear{--fa:"\f509"}

.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}

.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}

.fa-blender{--fa:"\f517"}

.fa-book-open{--fa:"\f518"}

.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}

.fa-broom{--fa:"\f51a"}

.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}

.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}

.fa-church{--fa:"\f51d"}

.fa-coins{--fa:"\f51e"}

.fa-compact-disc{--fa:"\f51f"}

.fa-crow{--fa:"\f520"}

.fa-crown{--fa:"\f521"}

.fa-dice{--fa:"\f522"}

.fa-dice-five{--fa:"\f523"}

.fa-dice-four{--fa:"\f524"}

.fa-dice-one{--fa:"\f525"}

.fa-dice-six{--fa:"\f526"}

.fa-dice-three{--fa:"\f527"}

.fa-dice-two{--fa:"\f528"}

.fa-divide{--fa:"\f529"}

.fa-door-closed{--fa:"\f52a"}

.fa-door-open{--fa:"\f52b"}

.fa-feather{--fa:"\f52d"}

.fa-frog{--fa:"\f52e"}

.fa-gas-pump{--fa:"\f52f"}

.fa-glasses{--fa:"\f530"}

.fa-greater-than-equal{--fa:"\f532"}

.fa-helicopter{--fa:"\f533"}

.fa-infinity{--fa:"\f534"}

.fa-kiwi-bird{--fa:"\f535"}

.fa-less-than-equal{--fa:"\f537"}

.fa-memory{--fa:"\f538"}

.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}

.fa-money-bill-wave{--fa:"\f53a"}

.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}

.fa-money-check{--fa:"\f53c"}

.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}

.fa-not-equal{--fa:"\f53e"}

.fa-palette{--fa:"\f53f"}

.fa-parking,.fa-square-parking{--fa:"\f540"}

.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}

.fa-receipt{--fa:"\f543"}

.fa-robot{--fa:"\f544"}

.fa-ruler{--fa:"\f545"}

.fa-ruler-combined{--fa:"\f546"}

.fa-ruler-horizontal{--fa:"\f547"}

.fa-ruler-vertical{--fa:"\f548"}

.fa-school{--fa:"\f549"}

.fa-screwdriver{--fa:"\f54a"}

.fa-shoe-prints{--fa:"\f54b"}

.fa-skull{--fa:"\f54c"}

.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}

.fa-store{--fa:"\f54e"}

.fa-shop,.fa-store-alt{--fa:"\f54f"}

.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}

.fa-stroopwafel{--fa:"\f551"}

.fa-toolbox{--fa:"\f552"}

.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}

.fa-person-walking,.fa-walking{--fa:"\f554"}

.fa-wallet{--fa:"\f555"}

.fa-angry,.fa-face-angry{--fa:"\f556"}

.fa-archway{--fa:"\f557"}

.fa-atlas,.fa-book-atlas{--fa:"\f558"}

.fa-award{--fa:"\f559"}

.fa-backspace,.fa-delete-left{--fa:"\f55a"}

.fa-bezier-curve{--fa:"\f55b"}

.fa-bong{--fa:"\f55c"}

.fa-brush{--fa:"\f55d"}

.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}

.fa-cannabis{--fa:"\f55f"}

.fa-check-double{--fa:"\f560"}

.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}

.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}

.fa-cookie{--fa:"\f563"}

.fa-cookie-bite{--fa:"\f564"}

.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}

.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}

.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}

.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}

.fa-drum{--fa:"\f569"}

.fa-drum-steelpan{--fa:"\f56a"}

.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}

.fa-file-contract{--fa:"\f56c"}

.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}

.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}

.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}

.fa-file-invoice{--fa:"\f570"}

.fa-file-invoice-dollar{--fa:"\f571"}

.fa-file-prescription{--fa:"\f572"}

.fa-file-signature{--fa:"\f573"}

.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}

.fa-fill{--fa:"\f575"}

.fa-fill-drip{--fa:"\f576"}

.fa-fingerprint{--fa:"\f577"}

.fa-fish{--fa:"\f578"}

.fa-face-flushed,.fa-flushed{--fa:"\f579"}

.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}

.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}

.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}

.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}

.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}

.fa-face-grimace,.fa-grimace{--fa:"\f57f"}

.fa-face-grin,.fa-grin{--fa:"\f580"}

.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}

.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}

.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}

.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}

.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}

.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}

.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}

.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}

.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}

.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}

.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}

.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}

.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}

.fa-grid-vertical,.fa-grip-vertical{--fa:"\f58e"}

.fa-headset{--fa:"\f590"}

.fa-highlighter{--fa:"\f591"}

.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}

.fa-hotel{--fa:"\f594"}

.fa-joint{--fa:"\f595"}

.fa-face-kiss,.fa-kiss{--fa:"\f596"}

.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}

.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}

.fa-face-laugh,.fa-laugh{--fa:"\f599"}

.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}

.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}

.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}

.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}

.fa-map-location,.fa-map-marked{--fa:"\f59f"}

.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}

.fa-marker{--fa:"\f5a1"}

.fa-medal{--fa:"\f5a2"}

.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}

.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}

.fa-monument{--fa:"\f5a6"}

.fa-mortar-pestle{--fa:"\f5a7"}

.fa-paint-roller{--fa:"\f5aa"}

.fa-passport{--fa:"\f5ab"}

.fa-pen-fancy{--fa:"\f5ac"}

.fa-pen-nib{--fa:"\f5ad"}

.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}

.fa-plane-arrival{--fa:"\f5af"}

.fa-plane-departure{--fa:"\f5b0"}

.fa-prescription{--fa:"\f5b1"}

.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}

.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}

.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}

.fa-signature{--fa:"\f5b7"}

.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}

.fa-solar-panel{--fa:"\f5ba"}

.fa-spa{--fa:"\f5bb"}

.fa-splotch{--fa:"\f5bc"}

.fa-spray-can{--fa:"\f5bd"}

.fa-stamp{--fa:"\f5bf"}

.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}

.fa-suitcase-rolling{--fa:"\f5c1"}

.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}

.fa-swatchbook{--fa:"\f5c3"}

.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}

.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}

.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}

.fa-face-tired,.fa-tired{--fa:"\f5c8"}

.fa-tooth{--fa:"\f5c9"}

.fa-umbrella-beach{--fa:"\f5ca"}

.fa-weight-hanging{--fa:"\f5cd"}

.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}

.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}

.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}

.fa-atom{--fa:"\f5d2"}

.fa-bone{--fa:"\f5d7"}

.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}

.fa-brain{--fa:"\f5dc"}

.fa-car-alt,.fa-car-rear{--fa:"\f5de"}

.fa-battery-car,.fa-car-battery{--fa:"\f5df"}

.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}

.fa-car-side{--fa:"\f5e4"}

.fa-charging-station{--fa:"\f5e7"}

.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}

.fa-draw-polygon,.fa-vector-polygon{--fa:"\f5ee"}

.fa-laptop-code{--fa:"\f5fc"}

.fa-layer-group{--fa:"\f5fd"}

.fa-location,.fa-location-crosshairs{--fa:"\f601"}

.fa-lungs{--fa:"\f604"}

.fa-microscope{--fa:"\f610"}

.fa-oil-can{--fa:"\f613"}

.fa-poop{--fa:"\f619"}

.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}

.fa-star-of-life{--fa:"\f621"}

.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}

.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}

.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}

.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}

.fa-teeth{--fa:"\f62e"}

.fa-teeth-open{--fa:"\f62f"}

.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}

.fa-traffic-light{--fa:"\f637"}

.fa-truck-monster{--fa:"\f63b"}

.fa-truck-pickup{--fa:"\f63c"}

.fa-ad,.fa-rectangle-ad{--fa:"\f641"}

.fa-ankh{--fa:"\f644"}

.fa-bible,.fa-book-bible{--fa:"\f647"}

.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}

.fa-city{--fa:"\f64f"}

.fa-comment-dollar{--fa:"\f651"}

.fa-comments-dollar{--fa:"\f653"}

.fa-cross{--fa:"\f654"}

.fa-dharmachakra{--fa:"\f655"}

.fa-envelope-open-text{--fa:"\f658"}

.fa-folder-minus{--fa:"\f65d"}

.fa-folder-plus{--fa:"\f65e"}

.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}

.fa-gopuram{--fa:"\f664"}

.fa-hamsa{--fa:"\f665"}

.fa-bahai,.fa-haykal{--fa:"\f666"}

.fa-jedi{--fa:"\f669"}

.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}

.fa-kaaba{--fa:"\f66b"}

.fa-khanda{--fa:"\f66d"}

.fa-landmark{--fa:"\f66f"}

.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}

.fa-menorah{--fa:"\f676"}

.fa-mosque{--fa:"\f678"}

.fa-om{--fa:"\f679"}

.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}

.fa-peace{--fa:"\f67c"}

.fa-place-of-worship{--fa:"\f67f"}

.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}

.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}

.fa-person-praying,.fa-pray{--fa:"\f683"}

.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}

.fa-book-quran,.fa-quran{--fa:"\f687"}

.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}

.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}

.fa-socks{--fa:"\f696"}

.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}

.fa-star-and-crescent{--fa:"\f699"}

.fa-star-of-david{--fa:"\f69a"}

.fa-synagogue{--fa:"\f69b"}

.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}

.fa-torii-gate{--fa:"\f6a1"}

.fa-vihara{--fa:"\f6a7"}

.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}

.fa-yin-yang{--fa:"\f6ad"}

.fa-blender-phone{--fa:"\f6b6"}

.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}

.fa-campground{--fa:"\f6bb"}

.fa-cat{--fa:"\f6be"}

.fa-chair{--fa:"\f6c0"}

.fa-cloud-moon{--fa:"\f6c3"}

.fa-cloud-sun{--fa:"\f6c4"}

.fa-cow{--fa:"\f6c8"}

.fa-dice-d20{--fa:"\f6cf"}

.fa-dice-d6{--fa:"\f6d1"}

.fa-dog{--fa:"\f6d3"}

.fa-dragon{--fa:"\f6d5"}

.fa-drumstick-bite{--fa:"\f6d7"}

.fa-dungeon{--fa:"\f6d9"}

.fa-file-csv{--fa:"\f6dd"}

.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}

.fa-ghost{--fa:"\f6e2"}

.fa-hammer{--fa:"\f6e3"}

.fa-hanukiah{--fa:"\f6e6"}

.fa-hat-wizard{--fa:"\f6e8"}

.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}

.fa-hippo{--fa:"\f6ed"}

.fa-horse{--fa:"\f6f0"}

.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}

.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}

.fa-mask{--fa:"\f6fa"}

.fa-mountain{--fa:"\f6fc"}

.fa-network-wired{--fa:"\f6ff"}

.fa-otter{--fa:"\f700"}

.fa-ring{--fa:"\f70b"}

.fa-person-running,.fa-running{--fa:"\f70c"}

.fa-scroll{--fa:"\f70e"}

.fa-skull-crossbones{--fa:"\f714"}

.fa-slash{--fa:"\f715"}

.fa-spider{--fa:"\f717"}

.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:"\f71e"}

.fa-tractor{--fa:"\f722"}

.fa-user-injured{--fa:"\f728"}

.fa-vr-cardboard{--fa:"\f729"}

.fa-wand-sparkles{--fa:"\f72b"}

.fa-wind{--fa:"\f72e"}

.fa-wine-bottle{--fa:"\f72f"}

.fa-cloud-meatball{--fa:"\f73b"}

.fa-cloud-moon-rain{--fa:"\f73c"}

.fa-cloud-rain{--fa:"\f73d"}

.fa-cloud-showers-heavy{--fa:"\f740"}

.fa-cloud-sun-rain{--fa:"\f743"}

.fa-democrat{--fa:"\f747"}

.fa-flag-usa{--fa:"\f74d"}

.fa-hurricane{--fa:"\f751"}

.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}

.fa-meteor{--fa:"\f753"}

.fa-person-booth{--fa:"\f756"}

.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}

.fa-rainbow{--fa:"\f75b"}

.fa-republican{--fa:"\f75e"}

.fa-smog{--fa:"\f75f"}

.fa-temperature-high{--fa:"\f769"}

.fa-temperature-low{--fa:"\f76b"}

.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}

.fa-tornado{--fa:"\f76f"}

.fa-volcano{--fa:"\f770"}

.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}

.fa-water{--fa:"\f773"}

.fa-baby{--fa:"\f77c"}

.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}

.fa-biohazard{--fa:"\f780"}

.fa-blog{--fa:"\f781"}

.fa-calendar-day{--fa:"\f783"}

.fa-calendar-week{--fa:"\f784"}

.fa-candy-cane{--fa:"\f786"}

.fa-carrot{--fa:"\f787"}

.fa-cash-register{--fa:"\f788"}

.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}

.fa-dumpster{--fa:"\f793"}

.fa-dumpster-fire{--fa:"\f794"}

.fa-ethernet{--fa:"\f796"}

.fa-gifts{--fa:"\f79c"}

.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}

.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}

.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}

.fa-grip-lines{--fa:"\f7a4"}

.fa-grip-lines-vertical{--fa:"\f7a5"}

.fa-guitar{--fa:"\f7a6"}

.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}

.fa-holly-berry{--fa:"\f7aa"}

.fa-horse-head{--fa:"\f7ab"}

.fa-icicles{--fa:"\f7ad"}

.fa-igloo{--fa:"\f7ae"}

.fa-mitten{--fa:"\f7b5"}

.fa-mug-hot{--fa:"\f7b6"}

.fa-radiation{--fa:"\f7b9"}

.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}

.fa-restroom{--fa:"\f7bd"}

.fa-satellite{--fa:"\f7bf"}

.fa-satellite-dish{--fa:"\f7c0"}

.fa-sd-card{--fa:"\f7c2"}

.fa-sim-card{--fa:"\f7c4"}

.fa-person-skating,.fa-skating{--fa:"\f7c5"}

.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}

.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}

.fa-sleigh{--fa:"\f7cc"}

.fa-comment-sms,.fa-sms{--fa:"\f7cd"}

.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}

.fa-snowman{--fa:"\f7d0"}

.fa-snowplow{--fa:"\f7d2"}

.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}

.fa-toilet{--fa:"\f7d8"}

.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}

.fa-cable-car,.fa-tram{--fa:"\f7da"}

.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}

.fa-bacon{--fa:"\f7e5"}

.fa-book-medical{--fa:"\f7e6"}

.fa-bread-slice{--fa:"\f7ec"}

.fa-cheese{--fa:"\f7ef"}

.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}

.fa-clipboard-user{--fa:"\f7f3"}

.fa-comment-medical{--fa:"\f7f5"}

.fa-crutch{--fa:"\f7f7"}

.fa-disease{--fa:"\f7fa"}

.fa-egg{--fa:"\f7fb"}

.fa-folder-tree{--fa:"\f802"}

.fa-burger,.fa-hamburger{--fa:"\f805"}

.fa-hand-middle-finger{--fa:"\f806"}

.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}

.fa-hospital-user{--fa:"\f80d"}

.fa-hotdog{--fa:"\f80f"}

.fa-ice-cream{--fa:"\f810"}

.fa-laptop-medical{--fa:"\f812"}

.fa-pager{--fa:"\f815"}

.fa-pepper-hot{--fa:"\f816"}

.fa-pizza-slice{--fa:"\f818"}

.fa-sack-dollar{--fa:"\f81d"}

.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}

.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}

.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}

.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}

.fa-user-nurse{--fa:"\f82f"}

.fa-wave-square{--fa:"\f83e"}

.fa-biking,.fa-person-biking{--fa:"\f84a"}

.fa-border-all{--fa:"\f84c"}

.fa-border-none{--fa:"\f850"}

.fa-border-style,.fa-border-top-left{--fa:"\f853"}

.fa-digging,.fa-person-digging{--fa:"\f85e"}

.fa-fan{--fa:"\f863"}

.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}

.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}

.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}

.fa-photo-film,.fa-photo-video{--fa:"\f87c"}

.fa-remove-format,.fa-text-slash{--fa:"\f87d"}

.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}

.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}

.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}

.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}

.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}

.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}

.fa-spell-check{--fa:"\f891"}

.fa-voicemail{--fa:"\f897"}

.fa-hat-cowboy{--fa:"\f8c0"}

.fa-hat-cowboy-side{--fa:"\f8c1"}

.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}

.fa-radio{--fa:"\f8d7"}

.fa-record-vinyl{--fa:"\f8d9"}

.fa-walkie-talkie{--fa:"\f8ef"}

.fa-caravan{--fa:"\f8ff"}

:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}

@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/static/fa-brands-400-BdzBFuGj.woff2)}

.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}

.fa-firefox-browser{--fa:"\e007"}

.fa-ideal{--fa:"\e013"}

.fa-microblog{--fa:"\e01a"}

.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}

.fa-unity{--fa:"\e049"}

.fa-dailymotion{--fa:"\e052"}

.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}

.fa-mixer{--fa:"\e056"}

.fa-shopify{--fa:"\e057"}

.fa-deezer{--fa:"\e077"}

.fa-edge-legacy{--fa:"\e078"}

.fa-google-pay{--fa:"\e079"}

.fa-rust{--fa:"\e07a"}

.fa-tiktok{--fa:"\e07b"}

.fa-unsplash{--fa:"\e07c"}

.fa-cloudflare{--fa:"\e07d"}

.fa-guilded{--fa:"\e07e"}

.fa-hive{--fa:"\e07f"}

.fa-42-group,.fa-innosoft{--fa:"\e080"}

.fa-instalod{--fa:"\e081"}

.fa-octopus-deploy{--fa:"\e082"}

.fa-perbyte{--fa:"\e083"}

.fa-uncharted{--fa:"\e084"}

.fa-watchman-monitoring{--fa:"\e087"}

.fa-wodu{--fa:"\e088"}

.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}

.fa-bots{--fa:"\e340"}

.fa-cmplid{--fa:"\e360"}

.fa-bilibili{--fa:"\e3d9"}

.fa-golang{--fa:"\e40f"}

.fa-pix{--fa:"\e43a"}

.fa-sitrox{--fa:"\e44a"}

.fa-hashnode{--fa:"\e499"}

.fa-meta{--fa:"\e49b"}

.fa-padlet{--fa:"\e4a0"}

.fa-nfc-directional{--fa:"\e530"}

.fa-nfc-symbol{--fa:"\e531"}

.fa-screenpal{--fa:"\e570"}

.fa-space-awesome{--fa:"\e5ac"}

.fa-square-font-awesome{--fa:"\e5ad"}

.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}

.fa-odysee{--fa:"\e5c6"}

.fa-stubber{--fa:"\e5c7"}

.fa-debian{--fa:"\e60b"}

.fa-shoelace{--fa:"\e60c"}

.fa-threads{--fa:"\e618"}

.fa-square-threads{--fa:"\e619"}

.fa-square-x-twitter{--fa:"\e61a"}

.fa-x-twitter{--fa:"\e61b"}

.fa-opensuse{--fa:"\e62b"}

.fa-letterboxd{--fa:"\e62d"}

.fa-square-letterboxd{--fa:"\e62e"}

.fa-mintbit{--fa:"\e62f"}

.fa-google-scholar{--fa:"\e63b"}

.fa-brave{--fa:"\e63c"}

.fa-brave-reverse{--fa:"\e63d"}

.fa-pixiv{--fa:"\e640"}

.fa-upwork{--fa:"\e641"}

.fa-webflow{--fa:"\e65c"}

.fa-signal-messenger{--fa:"\e663"}

.fa-bluesky{--fa:"\e671"}

.fa-jxl{--fa:"\e67b"}

.fa-square-upwork{--fa:"\e67c"}

.fa-web-awesome{--fa:"\e682"}

.fa-square-web-awesome{--fa:"\e683"}

.fa-square-web-awesome-stroke{--fa:"\e684"}

.fa-dart-lang{--fa:"\e693"}

.fa-flutter{--fa:"\e694"}

.fa-files-pinwheel{--fa:"\e69f"}

.fa-css{--fa:"\e6a2"}

.fa-square-bluesky{--fa:"\e6a3"}

.fa-openai{--fa:"\e7cf"}

.fa-square-linkedin{--fa:"\e7d0"}

.fa-cash-app{--fa:"\e7d4"}

.fa-disqus{--fa:"\e7d5"}

.fa-11ty,.fa-eleventy{--fa:"\e7d6"}

.fa-kakao-talk{--fa:"\e7d7"}

.fa-linktree{--fa:"\e7d8"}

.fa-notion{--fa:"\e7d9"}

.fa-pandora{--fa:"\e7da"}

.fa-pixelfed{--fa:"\e7db"}

.fa-tidal{--fa:"\e7dc"}

.fa-vsco{--fa:"\e7dd"}

.fa-w3c{--fa:"\e7de"}

.fa-lumon{--fa:"\e7e2"}

.fa-lumon-drop{--fa:"\e7e3"}

.fa-square-figma{--fa:"\e7e4"}

.fa-tex{--fa:"\e7ff"}

.fa-duolingo{--fa:"\e812"}

.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}

.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}

.fa-linkedin{--fa:"\f08c"}

.fa-github-square,.fa-square-github{--fa:"\f092"}

.fa-twitter{--fa:"\f099"}

.fa-facebook{--fa:"\f09a"}

.fa-github{--fa:"\f09b"}

.fa-pinterest{--fa:"\f0d2"}

.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}

.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}

.fa-google-plus-g{--fa:"\f0d5"}

.fa-linkedin-in{--fa:"\f0e1"}

.fa-github-alt{--fa:"\f113"}

.fa-maxcdn{--fa:"\f136"}

.fa-html5{--fa:"\f13b"}

.fa-css3{--fa:"\f13c"}

.fa-btc{--fa:"\f15a"}

.fa-youtube{--fa:"\f167"}

.fa-xing{--fa:"\f168"}

.fa-square-xing,.fa-xing-square{--fa:"\f169"}

.fa-dropbox{--fa:"\f16b"}

.fa-stack-overflow{--fa:"\f16c"}

.fa-instagram{--fa:"\f16d"}

.fa-flickr{--fa:"\f16e"}

.fa-adn{--fa:"\f170"}

.fa-bitbucket{--fa:"\f171"}

.fa-tumblr{--fa:"\f173"}

.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}

.fa-apple{--fa:"\f179"}

.fa-windows{--fa:"\f17a"}

.fa-android{--fa:"\f17b"}

.fa-linux{--fa:"\f17c"}

.fa-dribbble{--fa:"\f17d"}

.fa-skype{--fa:"\f17e"}

.fa-foursquare{--fa:"\f180"}

.fa-trello{--fa:"\f181"}

.fa-gratipay{--fa:"\f184"}

.fa-vk{--fa:"\f189"}

.fa-weibo{--fa:"\f18a"}

.fa-renren{--fa:"\f18b"}

.fa-pagelines{--fa:"\f18c"}

.fa-stack-exchange{--fa:"\f18d"}

.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}

.fa-slack,.fa-slack-hash{--fa:"\f198"}

.fa-wordpress{--fa:"\f19a"}

.fa-openid{--fa:"\f19b"}

.fa-yahoo{--fa:"\f19e"}

.fa-google{--fa:"\f1a0"}

.fa-reddit{--fa:"\f1a1"}

.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}

.fa-stumbleupon-circle{--fa:"\f1a3"}

.fa-stumbleupon{--fa:"\f1a4"}

.fa-delicious{--fa:"\f1a5"}

.fa-digg{--fa:"\f1a6"}

.fa-pied-piper-pp{--fa:"\f1a7"}

.fa-pied-piper-alt{--fa:"\f1a8"}

.fa-drupal{--fa:"\f1a9"}

.fa-joomla{--fa:"\f1aa"}

.fa-behance{--fa:"\f1b4"}

.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}

.fa-steam{--fa:"\f1b6"}

.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}

.fa-spotify{--fa:"\f1bc"}

.fa-deviantart{--fa:"\f1bd"}

.fa-soundcloud{--fa:"\f1be"}

.fa-vine{--fa:"\f1ca"}

.fa-codepen{--fa:"\f1cb"}

.fa-jsfiddle{--fa:"\f1cc"}

.fa-rebel{--fa:"\f1d0"}

.fa-empire{--fa:"\f1d1"}

.fa-git-square,.fa-square-git{--fa:"\f1d2"}

.fa-git{--fa:"\f1d3"}

.fa-hacker-news{--fa:"\f1d4"}

.fa-tencent-weibo{--fa:"\f1d5"}

.fa-qq{--fa:"\f1d6"}

.fa-weixin{--fa:"\f1d7"}

.fa-slideshare{--fa:"\f1e7"}

.fa-twitch{--fa:"\f1e8"}

.fa-yelp{--fa:"\f1e9"}

.fa-paypal{--fa:"\f1ed"}

.fa-google-wallet{--fa:"\f1ee"}

.fa-cc-visa{--fa:"\f1f0"}

.fa-cc-mastercard{--fa:"\f1f1"}

.fa-cc-discover{--fa:"\f1f2"}

.fa-cc-amex{--fa:"\f1f3"}

.fa-cc-paypal{--fa:"\f1f4"}

.fa-cc-stripe{--fa:"\f1f5"}

.fa-lastfm{--fa:"\f202"}

.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}

.fa-ioxhost{--fa:"\f208"}

.fa-angellist{--fa:"\f209"}

.fa-buysellads{--fa:"\f20d"}

.fa-connectdevelop{--fa:"\f20e"}

.fa-dashcube{--fa:"\f210"}

.fa-forumbee{--fa:"\f211"}

.fa-leanpub{--fa:"\f212"}

.fa-sellsy{--fa:"\f213"}

.fa-shirtsinbulk{--fa:"\f214"}

.fa-simplybuilt{--fa:"\f215"}

.fa-skyatlas{--fa:"\f216"}

.fa-pinterest-p{--fa:"\f231"}

.fa-whatsapp{--fa:"\f232"}

.fa-viacoin{--fa:"\f237"}

.fa-medium,.fa-medium-m{--fa:"\f23a"}

.fa-y-combinator{--fa:"\f23b"}

.fa-optin-monster{--fa:"\f23c"}

.fa-opencart{--fa:"\f23d"}

.fa-expeditedssl{--fa:"\f23e"}

.fa-cc-jcb{--fa:"\f24b"}

.fa-cc-diners-club{--fa:"\f24c"}

.fa-creative-commons{--fa:"\f25e"}

.fa-gg{--fa:"\f260"}

.fa-gg-circle{--fa:"\f261"}

.fa-odnoklassniki{--fa:"\f263"}

.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}

.fa-get-pocket{--fa:"\f265"}

.fa-wikipedia-w{--fa:"\f266"}

.fa-safari{--fa:"\f267"}

.fa-chrome{--fa:"\f268"}

.fa-firefox{--fa:"\f269"}

.fa-opera{--fa:"\f26a"}

.fa-internet-explorer{--fa:"\f26b"}

.fa-contao{--fa:"\f26d"}

.fa-500px{--fa:"\f26e"}

.fa-amazon{--fa:"\f270"}

.fa-houzz{--fa:"\f27c"}

.fa-vimeo-v{--fa:"\f27d"}

.fa-black-tie{--fa:"\f27e"}

.fa-fonticons{--fa:"\f280"}

.fa-reddit-alien{--fa:"\f281"}

.fa-edge{--fa:"\f282"}

.fa-codiepie{--fa:"\f284"}

.fa-modx{--fa:"\f285"}

.fa-fort-awesome{--fa:"\f286"}

.fa-usb{--fa:"\f287"}

.fa-product-hunt{--fa:"\f288"}

.fa-mixcloud{--fa:"\f289"}

.fa-scribd{--fa:"\f28a"}

.fa-bluetooth{--fa:"\f293"}

.fa-bluetooth-b{--fa:"\f294"}

.fa-gitlab{--fa:"\f296"}

.fa-wpbeginner{--fa:"\f297"}

.fa-wpforms{--fa:"\f298"}

.fa-envira{--fa:"\f299"}

.fa-glide{--fa:"\f2a5"}

.fa-glide-g{--fa:"\f2a6"}

.fa-viadeo{--fa:"\f2a9"}

.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}

.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}

.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}

.fa-pied-piper{--fa:"\f2ae"}

.fa-first-order{--fa:"\f2b0"}

.fa-yoast{--fa:"\f2b1"}

.fa-themeisle{--fa:"\f2b2"}

.fa-google-plus{--fa:"\f2b3"}

.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}

.fa-linode{--fa:"\f2b8"}

.fa-quora{--fa:"\f2c4"}

.fa-free-code-camp{--fa:"\f2c5"}

.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}

.fa-bandcamp{--fa:"\f2d5"}

.fa-grav{--fa:"\f2d6"}

.fa-etsy{--fa:"\f2d7"}

.fa-imdb{--fa:"\f2d8"}

.fa-ravelry{--fa:"\f2d9"}

.fa-sellcast{--fa:"\f2da"}

.fa-superpowers{--fa:"\f2dd"}

.fa-wpexplorer{--fa:"\f2de"}

.fa-meetup{--fa:"\f2e0"}

.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}

.fa-accessible-icon{--fa:"\f368"}

.fa-accusoft{--fa:"\f369"}

.fa-adversal{--fa:"\f36a"}

.fa-affiliatetheme{--fa:"\f36b"}

.fa-algolia{--fa:"\f36c"}

.fa-amilia{--fa:"\f36d"}

.fa-angrycreative{--fa:"\f36e"}

.fa-app-store{--fa:"\f36f"}

.fa-app-store-ios{--fa:"\f370"}

.fa-apper{--fa:"\f371"}

.fa-asymmetrik{--fa:"\f372"}

.fa-audible{--fa:"\f373"}

.fa-avianex{--fa:"\f374"}

.fa-aws{--fa:"\f375"}

.fa-bimobject{--fa:"\f378"}

.fa-bitcoin{--fa:"\f379"}

.fa-bity{--fa:"\f37a"}

.fa-blackberry{--fa:"\f37b"}

.fa-blogger{--fa:"\f37c"}

.fa-blogger-b{--fa:"\f37d"}

.fa-buromobelexperte{--fa:"\f37f"}

.fa-centercode{--fa:"\f380"}

.fa-cloudscale{--fa:"\f383"}

.fa-cloudsmith{--fa:"\f384"}

.fa-cloudversify{--fa:"\f385"}

.fa-cpanel{--fa:"\f388"}

.fa-css3-alt{--fa:"\f38b"}

.fa-cuttlefish{--fa:"\f38c"}

.fa-d-and-d{--fa:"\f38d"}

.fa-deploydog{--fa:"\f38e"}

.fa-deskpro{--fa:"\f38f"}

.fa-digital-ocean{--fa:"\f391"}

.fa-discord{--fa:"\f392"}

.fa-discourse{--fa:"\f393"}

.fa-dochub{--fa:"\f394"}

.fa-docker{--fa:"\f395"}

.fa-draft2digital{--fa:"\f396"}

.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}

.fa-dyalog{--fa:"\f399"}

.fa-earlybirds{--fa:"\f39a"}

.fa-erlang{--fa:"\f39d"}

.fa-facebook-f{--fa:"\f39e"}

.fa-facebook-messenger{--fa:"\f39f"}

.fa-firstdraft{--fa:"\f3a1"}

.fa-fonticons-fi{--fa:"\f3a2"}

.fa-fort-awesome-alt{--fa:"\f3a3"}

.fa-freebsd{--fa:"\f3a4"}

.fa-gitkraken{--fa:"\f3a6"}

.fa-gofore{--fa:"\f3a7"}

.fa-goodreads{--fa:"\f3a8"}

.fa-goodreads-g{--fa:"\f3a9"}

.fa-google-drive{--fa:"\f3aa"}

.fa-google-play{--fa:"\f3ab"}

.fa-gripfire{--fa:"\f3ac"}

.fa-grunt{--fa:"\f3ad"}

.fa-gulp{--fa:"\f3ae"}

.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}

.fa-hire-a-helper{--fa:"\f3b0"}

.fa-hotjar{--fa:"\f3b1"}

.fa-hubspot{--fa:"\f3b2"}

.fa-itunes{--fa:"\f3b4"}

.fa-itunes-note{--fa:"\f3b5"}

.fa-jenkins{--fa:"\f3b6"}

.fa-joget{--fa:"\f3b7"}

.fa-js{--fa:"\f3b8"}

.fa-js-square,.fa-square-js{--fa:"\f3b9"}

.fa-keycdn{--fa:"\f3ba"}

.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}

.fa-kickstarter-k{--fa:"\f3bc"}

.fa-laravel{--fa:"\f3bd"}

.fa-line{--fa:"\f3c0"}

.fa-lyft{--fa:"\f3c3"}

.fa-magento{--fa:"\f3c4"}

.fa-medapps{--fa:"\f3c6"}

.fa-medrt{--fa:"\f3c8"}

.fa-microsoft{--fa:"\f3ca"}

.fa-mix{--fa:"\f3cb"}

.fa-mizuni{--fa:"\f3cc"}

.fa-monero{--fa:"\f3d0"}

.fa-napster{--fa:"\f3d2"}

.fa-node-js{--fa:"\f3d3"}

.fa-npm{--fa:"\f3d4"}

.fa-ns8{--fa:"\f3d5"}

.fa-nutritionix{--fa:"\f3d6"}

.fa-page4{--fa:"\f3d7"}

.fa-palfed{--fa:"\f3d8"}

.fa-patreon{--fa:"\f3d9"}

.fa-periscope{--fa:"\f3da"}

.fa-phabricator{--fa:"\f3db"}

.fa-phoenix-framework{--fa:"\f3dc"}

.fa-playstation{--fa:"\f3df"}

.fa-pushed{--fa:"\f3e1"}

.fa-python{--fa:"\f3e2"}

.fa-red-river{--fa:"\f3e3"}

.fa-rendact,.fa-wpressr{--fa:"\f3e4"}

.fa-replyd{--fa:"\f3e6"}

.fa-resolving{--fa:"\f3e7"}

.fa-rocketchat{--fa:"\f3e8"}

.fa-rockrms{--fa:"\f3e9"}

.fa-schlix{--fa:"\f3ea"}

.fa-searchengin{--fa:"\f3eb"}

.fa-servicestack{--fa:"\f3ec"}

.fa-sistrix{--fa:"\f3ee"}

.fa-speakap{--fa:"\f3f3"}

.fa-staylinked{--fa:"\f3f5"}

.fa-steam-symbol{--fa:"\f3f6"}

.fa-sticker-mule{--fa:"\f3f7"}

.fa-studiovinari{--fa:"\f3f8"}

.fa-supple{--fa:"\f3f9"}

.fa-uber{--fa:"\f402"}

.fa-uikit{--fa:"\f403"}

.fa-uniregistry{--fa:"\f404"}

.fa-untappd{--fa:"\f405"}

.fa-ussunnah{--fa:"\f407"}

.fa-vaadin{--fa:"\f408"}

.fa-viber{--fa:"\f409"}

.fa-vimeo{--fa:"\f40a"}

.fa-vnv{--fa:"\f40b"}

.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}

.fa-whmcs{--fa:"\f40d"}

.fa-wordpress-simple{--fa:"\f411"}

.fa-xbox{--fa:"\f412"}

.fa-yandex{--fa:"\f413"}

.fa-yandex-international{--fa:"\f414"}

.fa-apple-pay{--fa:"\f415"}

.fa-cc-apple-pay{--fa:"\f416"}

.fa-fly{--fa:"\f417"}

.fa-node{--fa:"\f419"}

.fa-osi{--fa:"\f41a"}

.fa-react{--fa:"\f41b"}

.fa-autoprefixer{--fa:"\f41c"}

.fa-less{--fa:"\f41d"}

.fa-sass{--fa:"\f41e"}

.fa-vuejs{--fa:"\f41f"}

.fa-angular{--fa:"\f420"}

.fa-aviato{--fa:"\f421"}

.fa-ember{--fa:"\f423"}

.fa-gitter{--fa:"\f426"}

.fa-hooli{--fa:"\f427"}

.fa-strava{--fa:"\f428"}

.fa-stripe{--fa:"\f429"}

.fa-stripe-s{--fa:"\f42a"}

.fa-typo3{--fa:"\f42b"}

.fa-amazon-pay{--fa:"\f42c"}

.fa-cc-amazon-pay{--fa:"\f42d"}

.fa-ethereum{--fa:"\f42e"}

.fa-korvue{--fa:"\f42f"}

.fa-elementor{--fa:"\f430"}

.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}

.fa-flipboard{--fa:"\f44d"}

.fa-hips{--fa:"\f452"}

.fa-php{--fa:"\f457"}

.fa-quinscape{--fa:"\f459"}

.fa-readme{--fa:"\f4d5"}

.fa-java{--fa:"\f4e4"}

.fa-pied-piper-hat{--fa:"\f4e5"}

.fa-creative-commons-by{--fa:"\f4e7"}

.fa-creative-commons-nc{--fa:"\f4e8"}

.fa-creative-commons-nc-eu{--fa:"\f4e9"}

.fa-creative-commons-nc-jp{--fa:"\f4ea"}

.fa-creative-commons-nd{--fa:"\f4eb"}

.fa-creative-commons-pd{--fa:"\f4ec"}

.fa-creative-commons-pd-alt{--fa:"\f4ed"}

.fa-creative-commons-remix{--fa:"\f4ee"}

.fa-creative-commons-sa{--fa:"\f4ef"}

.fa-creative-commons-sampling{--fa:"\f4f0"}

.fa-creative-commons-sampling-plus{--fa:"\f4f1"}

.fa-creative-commons-share{--fa:"\f4f2"}

.fa-creative-commons-zero{--fa:"\f4f3"}

.fa-ebay{--fa:"\f4f4"}

.fa-keybase{--fa:"\f4f5"}

.fa-mastodon{--fa:"\f4f6"}

.fa-r-project{--fa:"\f4f7"}

.fa-researchgate{--fa:"\f4f8"}

.fa-teamspeak{--fa:"\f4f9"}

.fa-first-order-alt{--fa:"\f50a"}

.fa-fulcrum{--fa:"\f50b"}

.fa-galactic-republic{--fa:"\f50c"}

.fa-galactic-senate{--fa:"\f50d"}

.fa-jedi-order{--fa:"\f50e"}

.fa-mandalorian{--fa:"\f50f"}

.fa-old-republic{--fa:"\f510"}

.fa-phoenix-squadron{--fa:"\f511"}

.fa-sith{--fa:"\f512"}

.fa-trade-federation{--fa:"\f513"}

.fa-wolf-pack-battalion{--fa:"\f514"}

.fa-hornbill{--fa:"\f592"}

.fa-mailchimp{--fa:"\f59e"}

.fa-megaport{--fa:"\f5a3"}

.fa-nimblr{--fa:"\f5a8"}

.fa-rev{--fa:"\f5b2"}

.fa-shopware{--fa:"\f5b5"}

.fa-squarespace{--fa:"\f5be"}

.fa-themeco{--fa:"\f5c6"}

.fa-weebly{--fa:"\f5cc"}

.fa-wix{--fa:"\f5cf"}

.fa-ello{--fa:"\f5f1"}

.fa-hackerrank{--fa:"\f5f7"}

.fa-kaggle{--fa:"\f5fa"}

.fa-markdown{--fa:"\f60f"}

.fa-neos{--fa:"\f612"}

.fa-zhihu{--fa:"\f63f"}

.fa-alipay{--fa:"\f642"}

.fa-the-red-yeti{--fa:"\f69d"}

.fa-critical-role{--fa:"\f6c9"}

.fa-d-and-d-beyond{--fa:"\f6ca"}

.fa-dev{--fa:"\f6cc"}

.fa-fantasy-flight-games{--fa:"\f6dc"}

.fa-wizards-of-the-coast{--fa:"\f730"}

.fa-think-peaks{--fa:"\f731"}

.fa-reacteurope{--fa:"\f75d"}

.fa-artstation{--fa:"\f77a"}

.fa-atlassian{--fa:"\f77b"}

.fa-canadian-maple-leaf{--fa:"\f785"}

.fa-centos{--fa:"\f789"}

.fa-confluence{--fa:"\f78d"}

.fa-dhl{--fa:"\f790"}

.fa-diaspora{--fa:"\f791"}

.fa-fedex{--fa:"\f797"}

.fa-fedora{--fa:"\f798"}

.fa-figma{--fa:"\f799"}

.fa-intercom{--fa:"\f7af"}

.fa-invision{--fa:"\f7b0"}

.fa-jira{--fa:"\f7b1"}

.fa-mendeley{--fa:"\f7b3"}

.fa-raspberry-pi{--fa:"\f7bb"}

.fa-redhat{--fa:"\f7bc"}

.fa-sketch{--fa:"\f7c6"}

.fa-sourcetree{--fa:"\f7d3"}

.fa-suse{--fa:"\f7d6"}

.fa-ubuntu{--fa:"\f7df"}

.fa-ups{--fa:"\f7e0"}

.fa-usps{--fa:"\f7e1"}

.fa-yarn{--fa:"\f7e3"}

.fa-airbnb{--fa:"\f834"}

.fa-battle-net{--fa:"\f835"}

.fa-bootstrap{--fa:"\f836"}

.fa-buffer{--fa:"\f837"}

.fa-chromecast{--fa:"\f838"}

.fa-evernote{--fa:"\f839"}

.fa-itch-io{--fa:"\f83a"}

.fa-salesforce{--fa:"\f83b"}

.fa-speaker-deck{--fa:"\f83c"}

.fa-symfony{--fa:"\f83d"}

.fa-waze{--fa:"\f83f"}

.fa-yammer{--fa:"\f840"}

.fa-git-alt{--fa:"\f841"}

.fa-stackpath{--fa:"\f842"}

.fa-cotton-bureau{--fa:"\f89e"}

.fa-buy-n-large{--fa:"\f8a6"}

.fa-mdb{--fa:"\f8ca"}

.fa-orcid{--fa:"\f8d2"}

.fa-swift{--fa:"\f8e1"}

.fa-umbraco{--fa:"\f8e8"}

:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}

@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(/static/fa-regular-400-DQuI-phE.woff2)}

.far{--fa-family:var(--fa-family-classic)}

.fa-regular,.far{--fa-style:400}

:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}

@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(/static/fa-solid-900-BLm1ImsD.woff2)}

.fas{--fa-style:900}

.fa-classic,.fas{--fa-family:var(--fa-family-classic)}

.fa-solid{--fa-style:900}

@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/static/fa-brands-400-BdzBFuGj.woff2) format("woff2")}

@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/static/fa-solid-900-BLm1ImsD.woff2) format("woff2")}

@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/static/fa-regular-400-DQuI-phE.woff2) format("woff2")}

@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/fa-solid-900-BLm1ImsD.woff2) format("woff2")}

@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/fa-brands-400-BdzBFuGj.woff2) format("woff2")}

@font-face{font-family:"FontAwesome";font-display:block;src:url(/static/fa-regular-400-DQuI-phE.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}

@font-face{font-family:"FontAwesome";font-display:block;src:url(data:font/woff2;base64,d09GMk9UVE8AAA/YAAkAAAAAIi4AAA+RA4ADAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYCJAQGBmADgRwFiH0AghwHIA22GYUWERHVtBQB/lDAjSF4mNUVixqVeMWiFAU/1kvL7sahfqITS+CMT52eZYgl/esIcCLid+DLCElmeQj2c+9uIoq0VSxPQgOPpGQ5/hbQRmgM1WmbiypMoWTabFqnmkLeE0J2ziw0R7wI7+8sKNz2gCIK/M0SbNFWDbEYirq52YT/YizFFyCVHxlFoKKYFFczGrEFRaBqqwgUkMy5Arrodndmz+rfmeXg3bEO+I9AoV1OvEeoALGCYFg9Y9xrltdeCpECxD5i/wVIBzyqGjd8vPz//O9PMHSp6KQDxAilQ7xlY49PtrNs/9gnFbJiVP/faW/onXMBGUyCErYsaD9KqS6SZcvzxpLV7d87StAWmr9fM+3fw1wxKUv8M5GtcIxOZF/zd/PnH+0B7+UmOSDeu5ktICoCR4AO2AGBJ1dhIytr5Bnd8dVtmFOSDp3yOuE2hmbmr2nwREWEdu+OQJXeE0XhuZf7UjXPkR93seL1mv+vLUvCK1FHsqFARfEX5F7U/y+D0JIPlg3q+lVKXtwP3aqwjdHZ/jVECVqYtYXxGTAiq/sgazg8tdRxjl9Fm5CaIfLRPrKIR09Tru/PnZl8Y/8aEAn/Io2wze4dXgvPZBLo2X4imGQmE8EWZngwT6OxdOSliPc4hHmCk1AuLonzC5dJWXFFik24KgKFm+KV4JYARN1Pw35g4rpL2Vm+ioMT5sjOH7gfj1iJuQaUgjBPdXIxnyonYoHSkGIXg2ITdiXLFbXXZOcNX4gXVDRW3QKGHIM+EOuW8AOziv1PmkFjY2AcN7gSIjfmvxwcUxHV6iFDNzp6qxr/l4/Q3Kcw6rEMYko4BsFUHWGJP0AWlISrnB4aNDHSn0Fml+qOncvKaspqa6qefRXVSBaQDWts/DuWvZZi+dlhCWAbbVfOygIrMpZaa4aa47gxkJJLoI2cEainuJGJR8x4CZp5MVqjmZQ5qA1TN54jUEunRaFoSjFgGn2B+9JQKNPJqYEqUCGKiSDPZq2xmS0NgT4O0lMiU8hh6j2VZ6jKKa5RK5cZue0/GQcM5rJ/4b5FEHJG8Y5plS3xdNOg9ymfg2WU70wDnIfcSs9rTKYs6YzAJMknzXCa6SytrMrKZ0kkmu0s48LJBlFM/mylZFQJXBE9hEqSccQ4ex0vnK6WLYhH9FekgsYU00BcUrPNttrpK3ex3uT6UXLn31XVNqARyVM2roU5n4KeCScYvaY22d7FsZIb1czo340UHGIV85jLZCYyATujGMkwChikj3ZqPD553Pc1X/FpH/FhH/JGdzre9e6bFR46vUQv8MoUZwAlegtID0D+hehHaIiwGKIU4qHlXEf0u6ylR7jJp2Vi0cfZYmE9TFScsbi8rJKqHddq9KgT2kpEn8GdHigXbeu4lUVLSdCdz8i2tvujuAkpfnBSd0fXIuVURr1a/lvZCcnyJ1EPl9YmSzhaneKsjJlxO2nTb97dcXxOyYVJXObL9XlX9WqTPbm/s8xXGMIKHX345Ydjjzz4yIZH44/NaxqqT9X2xF/+U82NT9U9PVbe+sz7mfT5ra56MGVrNeA17Oy9oQoL8ixnSUnAGV3JOiIIpEeNMgnCIe6B8tZbG6w9O7ti0G6jdTj9yH2ghMDMT5Pe5lhvFsanukbOv0LhJKPFwr8vfvxrq/6v7dc6nr8H7JpuKdm1Tp/XKiwcfCLdXGLkWk3MvNmK21t+Brbu3b4zJyHa0zsw6TZ6FhTaFDXyXrPsa2oapKGrOSDpK9nCsEBQhQoBi5CXpZ7pS3qdCPLD8nlli0dBIysXXWbkkqHwAlhkT0hP7kWQZY3LYlxMp2R534mW8qVfwDTN2hsQUwfP5HvDjmvSoecNoZSwrCZG8g3n8nxSL9QKSPPnFHpK3qzhCtBJnZGVPI8S5gKx6EWkOZdCb4IR0ZtZvp9MpoGhhNCQ4XbqPMbtRGWlkPI7pxG6BWnyQYy4dInnYgTSY7IRCTO4xODSIhHTJryIMy8A0SDrQrQwE2n0HXaOo+adMs0DjgKWTqbk7yJFZaWQvU0HpnYQCEupWobi1EadTHOfnMs219pprVACku3Gg8RhbiZPX4mbK/Nap5lUbUP+4Izmkp2xi3ekOHFrsncws2apIU57R+k2aPu5zpiL4H5qBvBttGquZquRTGKGcHVIVVEBIDaBRas7EtqwrnyEZPpaqE2Naq/OaXu4UVVhyEpLIctELW8BfNtYBBc/Zdu6HjEoyxetyIcilD6r5uswcl62tWdphhP5ruukLLBtsuZihC1XqNkDGkEEt2HNYepFP91MZFCkBXtlkD2rN0nkK9JykMjvKbNA+i4yHBpEU6JzjsTbi34D9BJezbxkIHw1ohfy41EgXUD6s8CIxo/QSmD8izpgC9VmbG6nxbhF+PQoToeXyDT5QEQw7TSBdDuJATKsJLeASzBPMYG6kqCb9mxypSEeX98UDCeihhlOk/cgjAR+62WqaCJHOTVgAO7/0ulKS8CAX/f/S0bplCKrjgTG7Su0NwqVzJWwMAiZqI2+oeraWp8zcELK8PqsfGH9f6sk8wR6n0Zmx2UuiGLDezNJ2Pfy8ptRrMe8LgiJrmPBMKluDRE9E95z7FuxGO8YLoGR79/uRCYiUJEICr0t38g0S9QojS0qfwEcx+Nf/H/BRR6/f3xamqVQipMbkQuYbhOFbV88RmA95GQCpOcSaPsVz0NgK+HYycn/qm7Bsg1b4ArciXdrmc9iyFv9U8Qo+gTA6+JzoJyidm2aSqlg0IGxEpRB0E5h47T8So1kCYwn+I0c1Zs8fV2oG/YtTsjY4Bz2H6BUygQOwFaNdJK7QEhIoxyWtCCc0I4dkE9pYWwF5ZASFyA1usFiwXLWdsaZZyA5zdaitRX0tKZHP8yIYGDNaI+u2unOPU78qrBVPvy4ZSCqdN/D40EwqFl1mpRsNSiO6WywQ0OSV4KSygwo3IUjMNzu8aZImELj8GophcJXEGtZ6IjClE60W7xl6y+mKh0L77aNaBHzoJkvHurSzJe8LUQoiQjD+DBe2yTKpHSi3EBdndiflBS85Lt20S91ou4a6thd8gv0Qd4cN0tEW7OIrm8JGFPXyo3V/cIvaOzaA2NrBRIyqMTovYr1cloVRH2ZaMeO76B1qv2FXZZ0II39X3zcRU704fkmV/2k1YBUnWzA1PpWbpeuTtShXSc9PaUhImIK1zKUbbQ8rGqeQNvdFI9OmjUQGbXeYoIb7gmIRjISo3ZA09bAvR0TmhFpGA0bID4Zs8P2Zmo2qSEOiYEDHncaHD+rFYPpyHxKRaxiBQQHpTQGz8d8SJEgJAZWb7XD/CMYvALB+CCtG0lZ5wyOrKAVRyiegsRAwcEo0Fdu1sU28C96mE6rEXkIEntGUSZgG26A+qGREhUV4qW/+H8vk85kmxklVJSIVvhK/pLCK3IFfj9bYvRtzHYBo/bAnxkyZ6CnUPBQCg6QjSkzwc6MdIAJO1Qmgi26oRIwQczQExfs1TvewVX/3cWOWP/iH/3hRv5e/VE1M7sNDhESc+OMQ6AE7MADwtM/jKJQwpAE4WMia3KLDZHzDzYCfyQyhgLjszxEjpuHavrl0Xl9iyiojKEUzzPDTCFEREG7lPEN5+e3Bi/E2QVWOVQ9hOAGMLyMI0xoGBRurY8iJ2JtRIylFCNiw2DJ+BIBaMnMU0CMuuDn0JBssZIK06zzbaP/221R+23G1yQmmRvW2tGXcn3R4AMWsxRbHj2C8XfRhgTMLqb7ckXS8acvFkZFUJw2P2LOLc0R+eWJHpvj6pROcICw9fb2OWWQ197lkq8EwKS96D1u8CREBbvoHQCRIi+vcQSCpwS9eTcrQaDd7pv6VmItx83jtAUIfBrV7k2n1+kmXjG+HkDL/T9cDK1CGTkLhoTsB4l3mIbRSWS0U1ogIo1wCiRIIbMZEZVGhB7pUNoGC6ILED1JJpx2fkYmaeI2YjYhSOBC0qkp6oiI2TmxA6P74l2iGc5cgbfzyiCWkw8N6TGoGWVXIZ97It3gZ+Ox5XMc4u0CbWfLJxQP+D5sQd7nKSsToZCWU4dl7MMrR4XCSQ78S4GdJwtXH+YfxBcdhsNftMXzoT6Ecf7s2RbzfRy+0SagkfZxwu0SccIaZrxRSGe38qJG+dwJLzUIJMA0TOXQ+NaZ66NhNGXFe1Mdg1RdWEQHxg15RCz4TvnNEhMIOEjLd02uEQQrelgImS9vbCdFnAMlg63vyPHilctMnRwQSHJVnW873wYvq7iwz4VNCdR7HsDWSfTxx5CSv8cUq+eQKQ84RnzxBVWxF66ZcMEZMGA8QlsSWrBqhU/6bL1NXDHfhGhbUAZzD3s2o9G/jNH97eV2RpK2iibDfG6XMDyf62UiY0fUZ/p1XpHIl7gyimAb7s7TIzjTKQ/K52x9oMwihvX3xRvTVWeZFZr4Ri6XIyC7ihxJ9S/gmlkEOmfHmzgrr1lLZETzmE/To1zaAe8iHdsV106keOddHNU6fQVyEfX9dwzi7oYk79SomIjMkm76PaPbb312gEATVUAEPORf8iVfBC7JFMf+AEVCpBqzL4wccucaTK96YsFu7AIt2AVlG7UVjKpmtUOq3Sm7R3do9565fkevZWWnr7qWnisYyKZsqTpUQuuwGa0txi3ENpPVoTz/BL5ivscGApQKo+KoOCpflUcbEdutUbDXKtdGU7LDe73AzzWso355z3fA3G5cW47WYLg/ly7RnS1P0oqzt9S8iTNAjHtirL9sIa5WJji33AKqaJEDnvVdhGMUXEqLg7NYHiLYEo8PZxxqoWwijVFBYZuHDehJxNZb9+m0x3TPRftJveFiVicC7AiFUcW7s+6QSl+Gi1h1rtlmCh9EgpPSVcW6Ws56v9i7K6MmOJfcqPqi/KNK9pGKZc/Dcun6zppIYmfgQkioli8wksj9gcgnFmlrJLzS1xU5ZA8YvhFVjX3S1fVknM63H0cIaV33pUz7g+fzKn9vuoN7XqjkDweVMjsAb9j7akE4H5ZisbORcGCTzwWAgt8bERb1UuvPmAQmmlCErWDOokYG/kLp7XA75lp6nkVygAnw6R6vWZJ0msua3FnElJTkUBDTif01/7SRnkSF8sJNl/rF5RtwiYGMJ8x7o4L8TPT5iSPsLf4BqDwHBcgt/O+QCNC7pr64eE75bsOTkhAKKd0xAlCmn8GTnODP8OIjiOfxJFLeBgbNMsrAD1aVUK42LbdVl0EhcnjjUoT9b/Mg01BgdadOWVLKwGr0P754fMSQTiIkd43vkPbnMVmQy2theZ7zV5bUoWxQjZSmw4YfGI1s63qnRAluQSxpcrbLAAMA) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}

/* 自定义字体路径 - 指向本地webfonts目录 */

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url('/static/fa-solid-900-tLH6XCuf.woff2') format('woff2'),
       url('/static/fa-solid-900-f4MajOib.ttf') format('truetype');
}

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/static/fa-regular-400-TCCU0xbi.woff2') format('woff2'),
       url('/static/fa-regular-400-BSSd-Tma.ttf') format('truetype');
}

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/static/fa-brands-400-C-jaCRNI.woff2') format('woff2'),
       url('/static/fa-brands-400-D7HcTrzQ.ttf') format('truetype');
}

/* 基础图标样式重置 */

.fas, .far, .fab, uni-text[class*="fa-"], uni-text[class*="fa-"] {
  font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Brands';
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 图标权重定义 */

.fas, uni-text.fas, uni-text.fas {
  font-weight: 900;  /* Solid图标 */
}

.far, uni-text.far, uni-text.far {
  font-weight: 400;  /* Regular图标 */
}

.fab, uni-text.fab, uni-text.fab {
  font-weight: 400;  /* Brands图标 */
}

/* 图标容器基类 */

.icon {
  display: inline-block;
  text-align: center;
  vertical-align: baseline;
}

/* 图标大小规范 - 基于rpx单位，适配多端 */

.icon-xs { font-size: 0.75rem; }

/* 12px - 最小图标 */

.icon-sm { font-size: 0.875rem; }

/* 14px - 小图标 */

.icon-md { font-size: 1rem; }

/* 16px - 标准图标 */

.icon-lg { font-size: 1.125rem; }

/* 18px - 大图标 */

.icon-xl { font-size: 1.5rem; }

/* 24px - 超大图标 */

.icon-2xl { font-size: 1.75rem; }

/* 28px - 特大图标 */

/* 图标颜色规范 - 与UI规范色彩系统对应 */

.icon-primary { color: #165DFF; }

/* 品牌蓝 */

.icon-success { color: #00B42A; }

/* 成功绿 */

.icon-warning { color: #FF7D00; }

/* 警告橙 */

.icon-danger { color: #F53F3F; }

/* 危险红 */

.icon-info { color: #86909C; }

/* 中性灰 */

.icon-secondary { color: #4E5969; }

/* 次要文本 */

.icon-muted { color: #C9CDD4; }

/* 禁用状态 */

/* 图标状态样式 */

.icon-spin {
  animation: fa-spin 2s infinite linear;
}

.icon-pulse {
  animation: fa-spin 1s infinite steps(8);
}

@keyframes fa-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 图标旋转 */

.icon-rotate-90 { transform: rotate(90deg); }

.icon-rotate-180 { transform: rotate(180deg); }

.icon-rotate-270 { transform: rotate(270deg); }

/* 图标翻转 */

.icon-flip-horizontal { transform: scaleX(-1); }

.icon-flip-vertical { transform: scaleY(-1); }

/* 响应式图标适配 */

@media screen and (max-width: 768px) {
  /* 移动端图标适配 */
  .icon-nav { font-size: 0.875rem; }
  .icon-action { font-size: 1rem; }
  .icon-stat { font-size: 1.125rem; }
}

@media screen and (min-width: 769px) {
  /* 桌面端图标适配 */
  .icon-nav { font-size: 1rem; }
  .icon-action { font-size: 1.125rem; }
  .icon-stat { font-size: 1.25rem; }
}

/* 图标与文字组合间距 */

.icon-with-text {
  margin-right: 0.5rem;
}

.icon-with-text:last-child {
  margin-right: 0;
}

/* 图标按钮样式 */

.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-icon:hover {
  opacity: 0.8;
  transform: scale(1.05);
}

.btn-icon:active {
  opacity: 0.6;
  transform: scale(0.95);
}

/* 图标列表样式 */

.icon-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.icon-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.75rem;
  border-radius: 0.375rem;
  background: #FFFFFF;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.icon-list-item:hover {
  transform: translateY(-0.125rem);
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.15);
}

.icon-list-label {
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: #4E5969;
  text-align: center;
}

/* 无障碍支持 */

.icon[aria-label],
.icon[aria-hidden="true"] {
  speak: none;
}

/* 打印样式优化 */

@media print {
  .icon {
    color: #000000 !important;
  }
}

/* 深色模式适配 */

@media (prefers-color-scheme: dark) {
  .icon-primary { color: #4080FF; }
  .icon-success { color: #00D449; }
  .icon-warning { color: #FF9326; }
  .icon-danger { color: #FF5252; }
  .icon-info { color: #B3B3B3; }
  .icon-secondary { color: #B3B3B3; }
  .icon-muted { color: #666666; }
}

/* 通用样式 */

/*
 * NewBoleV16 通用样式文件
 * 基于CSS变量系统，遵循最佳实践
 * 包含布局、组件、工具类等通用样式
 */

/* ===== 布局系统 ===== */

/* 页面容器 - 响应式布局基础 */

.page-container {
  min-height: 100vh;
  background-color: var(--color-background);
  display: flex;
  flex-direction: column;
}

/* 内容区域 - 主内容包装器 */

.content-wrapper {
  flex: 1;
  padding: var(--spacing-xs) var(--spacing-md);
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* 全宽内容区域 */

.content-wrapper-full {
  flex: 1;
  padding: var(--spacing-md);
  width: 100%;
  box-sizing: border-box;
}

/* 响应式内容包装器 */

@media (max-width: 768px) {
  .content-wrapper {
    padding: var(--spacing-sm) var(--spacing-xs);
  }
}

/* ===== 网格系统 ===== */

/* 基础网格容器 */

.grid-container {
  display: grid;
  gap: var(--spacing-md);
  padding: var(--spacing-sm);
}

/* 响应式网格 - 自适应列数 */

.grid-responsive {
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min-width, 300px), 1fr));
}

/* 固定列数网格 */

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* 响应式列数调整 */

@media (max-width: 1024px) {
  .grid-cols-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .grid-cols-2,
  .grid-cols-3,
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
}

/* ===== 卡片系统 ===== */

/* 基础卡片 */

.card {
  background: var(--color-surface);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  padding: var(--spacing-md);
  transition: all var(--transition-fast);
  border: 1px solid var(--color-border);
  margin: var(--spacing-xs) 0;
}

/* 卡片悬停效果 */

.card:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

/* 性能优化版卡片 - 禁用悬停效果以提升性能 */

.card-performance {
  background: var(--color-surface);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  padding: var(--spacing-md);
  border: 1px solid var(--color-border);
  overflow: hidden;
}

/* 可选的悬停效果 - 通过额外的类名启用 */

.card-hover:hover {
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}

/* 卡片头部 */

.card-header {
  padding-bottom: var(--spacing-sm);
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 卡片标题 */

.card-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
}

/* 卡片内容 */

.card-content {
  padding: var(--spacing-sm) 0;
}

/* 内部容器布局 - 水平排列，左右靠边 */

.content-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}

/* 内部容器布局 - 垂直排列，居中 */

.content-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* 卡片操作区域 */

.card-actions {
  padding-top: var(--spacing-sm);
  border-top: 1px solid var(--color-border-light);
  display: flex;
  gap: var(--spacing-sm);
  justify-content: center;
}

/* ===== 按钮系统 ===== */

/* 按钮基础样式 - 在components/buttons.css中定义更详细 */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-sm) var(--spacing-md);
  border: none;
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
  text-decoration: none;
  white-space: nowrap;
}

/* 按钮状态 */

.btn:disabled {
  opacity: var(--opacity-disabled);
  cursor: not-allowed;
  background-color: var(--disabled-color);
  color: var(--disabled-text-color);
}

/* ===== 表单系统 ===== */

/* 表单基础样式 - 在components/forms.css中定义更详细 */

.form-group {
  margin: var(--spacing-sm) var(--spacing-md);
}

.form-label {
  display: block;
  margin-bottom: var(--spacing-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
}

.form-control {
  width: 100%;
  padding: var(--spacing-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-base);
  transition: border-color var(--transition-fast);
  box-sizing: border-box;
}

.form-control:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.2);
}

/* ===== 导航和菜单 ===== */

/* 导航栏 - 基础样式 */

.navbar {
  background: linear-gradient(135deg, var(--primary-gradient-start), var(--primary-gradient-end));
  height: var(--navbar-height);
  display: flex;
  align-items: center;
  padding: 0 var(--spacing-md);
  box-shadow: var(--shadow);
  position: sticky;
  top: 0;
  z-index: var(--z-index-navbar);
}

/* 导航栏品牌 */

.navbar-brand {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--white);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

/* 导航栏菜单 */

.navbar-nav {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--spacing-md);
  margin-left: auto;
}

/* 导航栏项 */

.nav-item {
  position: relative;
}

.nav-link {
  color: var(--white);
  text-decoration: none;
  padding: var(--spacing-sm) var(--spacing-md);
  border-radius: var(--border-radius-sm);
  transition: all var(--transition-fast);
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
}

.nav-link:hover,
.nav-link.active {
  background-color: rgba(var(--white-rgb), 0.1);
  color: var(--white);
}

/* 下拉菜单 */

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-sm);
  box-shadow: var(--shadow-lg);
  min-width: 200px;
  max-height: var(--dropdown-max-height, 320px);
  overflow-y: auto;
  z-index: var(--z-index-dropdown);
  display: none;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-item {
  display: block;
  padding: var(--spacing-sm) var(--spacing-md);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color var(--transition-fast);
}

.dropdown-item:hover {
  background-color: var(--color-surface-hover);
}

/* ===== 模态框系统 ===== */

/* 模态框遮罩 */

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-overlay);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: var(--z-index-modal);
}

.modal-overlay.show {
  display: flex;
}

/* 模态框容器 */

.modal-container {
  background: var(--color-surface);
  border-radius: var(--border-radius-lg);
  box-shadow: var(--shadow-lg);
  max-width: var(--modal-max-width, 600px);
  width: 90%;
  max-height: 90vh;
  overflow: hidden;
}

/* 模态框头部 */

.modal-header {
  padding: var(--spacing-md);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.modal-title {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin: 0;
}

/* 模态框内容 */

.modal-body {
  padding: var(--spacing-md);
  max-height: calc(90vh - 200px);
  overflow-y: auto;
}

/* 模态框底部 */

.modal-footer {
  padding: var(--spacing-md);
  border-top: 1px solid var(--color-border);
  display: flex;
  gap: var(--spacing-sm);
  justify-content: flex-end;
}

/* ===== 工具类 ===== */

/* 文本工具类 - 已移至 utilities.css */

/* 字体工具类 - 已移至 utilities.css */

/* 间距工具类 - 已移至 utilities.css */

/* 显示工具类 - 已移至 utilities.css */

/* Flexbox工具类 - 已移至 utilities.css */

/* 定位工具类 - 已移至 utilities.css */

/* 宽度工具类 - 已移至 utilities.css */

/* 高度工具类 - 已移至 utilities.css */

/* 边框工具类 - 已移至 utilities.css */

/* 阴影工具类 - 已移至 utilities.css */

/* 背景工具类 - 已移至 utilities.css */

/* 溢出工具类 - 已移至 utilities.css */

/* 文本截断 - 已移至 utilities.css */

/* ===== 状态类 ===== */

/* 加载状态 */

.loading {
  position: relative;
  pointer-events: none;
}

.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--spacing-lg);
  height: var(--spacing-lg);
  margin-left: calc(var(--spacing-lg) / -2);
  margin-top: calc(var(--spacing-lg) / -2);
  border: 2px solid var(--color-border);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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

/* 禁用状态 */

.disabled {
  opacity: var(--opacity-disabled);
  pointer-events: none;
}

/* 隐藏状态 */

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ===== 响应式工具类 ===== */

/* 移动端显示 */

.d-mobile-none { display: none; }

.d-mobile-block { display: block; }

.d-mobile-flex { display: flex; }

/* 桌面端显示 */

.d-desktop-none { display: none; }

.d-desktop-block { display: block; }

.d-desktop-flex { display: flex; }

/* 通用响应式工具类 */

@media (max-width: 768px) {
  .mobile-hide { display: none !important; }
  .mobile-show { display: block !important; }
  .mobile-text-center { text-align: center !important; }
  .mobile-text-left { text-align: left !important; }
  .mobile-text-right { text-align: right !important; }
  .mobile-full-width { width: 100% !important; }
  .mobile-half-width { width: 50% !important; }
  
  /* 平板端工具类 */
  .tablet-hide { display: none !important; }
  .tablet-show { display: block !important; }
}

/* 响应式工具类 - 基础工具类已移至 utilities.css */

/* ===== 主题变量 ===== */

/* 暗色主题覆盖 */

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: #1a1a1a;
    --color-surface: #2d2d2d;
    --color-text-primary: #ffffff;
    --color-text-secondary: #b3b3b3;
    --color-border: #404040;
  }
}

/* 高对比度模式 */

@media (prefers-contrast: high) {
  :root {
    --color-border: #000000;
    --shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
}

/* 减少动画模式 */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ===== 性能优化 ===== */

/* 包含性优化 */

.layout-contained {
  contain: layout style;
}

.paint-contained {
  contain: paint;
}

.size-contained {
  contain: size;
}

/* 合成层优化 */

/* ⚠️ 警告：will-change 属性会消耗额外的内存资源，仅在需要时使用，用完后及时移除 */

.will-change-transform {
  will-change: transform;
}

.will-change-opacity {
  will-change: opacity;
}

/* ===== 辅助功能 ===== */

/* 焦点样式 */

.focus-visible:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* 辅助功能 */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 跳过链接 - 用于键盘导航 */

.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: var(--color-primary);
  color: var(--color-white);
  padding: 8px;
  text-decoration: none;
  border-radius: 4px;
  z-index: var(--z-index-skip-link);
  transition: top 0.3s;
}

.skip-link:focus {
  top: 6px;
}

/* ===== 打印样式 ===== */

@media print {
  .navbar,
  .theme-toggle,
  .btn,
  .action-button {
    display: none !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
  
  .card {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    margin: 0 !important;
    padding: var(--spacing-sm) !important;
    border-radius: 4px !important;
  }
}

/* ===== text元素基础样式 ===== */

/* text元素默认样式 - PC端 */

uni-text {
  font-size: var(--font-size-md);
  line-height: 1.5;
  color: inherit;
}

/* 按钮内text元素样式 - 继承按钮字体大小 */

.btn uni-text {
  font-size: inherit;
  color: inherit;
}

/* 移动端text元素样式优化 */

@media (max-width: 768px) {
  uni-text {
    font-size: var(--font-size-sm);
  }
  
}

/* ===== 通用刷新按钮样式 ===== */

/* 刷新图标按钮 - 通用样式 */

.refresh-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  background: var(--color-primary);
  border: none;
  cursor: pointer;
  transition: all var(--transition-fast) ease;
  box-shadow: var(--shadow-sm);
}

.refresh-button:hover {
  background: var(--color-primary-dark);
  transform: rotate(90deg);
  box-shadow: var(--shadow-md);
}

.refresh-button:active {
  transform: scale(0.95) rotate(90deg);
}

.refresh-button .fas {
  font-size: 18px;
  color: var(--white);
}

.refresh-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.refresh-button:disabled:hover {
  transform: none;
  background: var(--color-primary);
}

/* ===== 通用组件容器样式 ===== */

/* 组件容器 - 通用样式 */

.component-container {
  background: transparent;
  border: none;
  border-radius: 0;
  margin: 10px 0px;
  padding: 10px 20px;
  box-shadow: none;
}

/* 移动端适配 */

@media (max-width: 768px) {
  .component-container {
    margin: 0px 0px;
    padding: 8px 4px;
  }
}

/* ===== 使用说明 ===== */

/*
 * 本文件包含项目的通用样式，遵循以下原则：
 * 
 * 1. 使用CSS变量 - 所有颜色、间距、尺寸都使用CSS变量
 * 2. 响应式设计 - 使用媒体查询适配不同屏幕尺寸
 * 3. 模块化组织 - 按功能分组，便于维护
 * 4. 避免硬编码 - 不使用具体的px数值，使用相对单位
 * 5. 语义化命名 - 使用描述性的类名，避免业务化命名
 * 
 * 使用建议：
 * - 优先使用工具类进行快速布局
 * - 复杂组件样式建议放在专门的组件文件中
 * - 业务相关的样式类应该放在业务相关的CSS文件中
 * - 保持样式的一致性和可维护性
 */

/* 组件样式 */

/******************************************************************************
 * 🔘 按钮组件系统 - 统一按钮样式 (从common.css迁移)
 * 
 * 🎯 架构原则：
 * 1. 基础层：提供可继承的默认样式
 * 2. 变体层：通过CSS变量差异化，不覆盖基础属性
 * 3. 工具层：提供尺寸、状态等工具类
 *******************************************************************************/

/* ===== 基础层 - 按钮核心样式 ===== */

.btn {
  /* 布局属性 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: var(--spacing-xxs) var(--spacing-sm);
  
  /* 尺寸属性 - 使用CSS变量实现可定制性 */
  --btn-height: 44px;
  --btn-padding-x: var(--spacing-lg);
  --btn-padding-y: var(--spacing-sm);
  --btn-border-radius: var(--border-radius-xs);
  --btn-font-size: var(--font-size-md);
  --btn-font-weight: var(--font-weight-medium);
  
  height: var(--btn-height);
  padding: var(--btn-padding-y) var(--btn-padding-x);
  border-radius: var(--btn-border-radius);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  
  /* 交互属性 */
  cursor: pointer;
  transition: var(--transition-base);
  text-decoration: none;
  box-sizing: border-box;
  
  /* 状态属性 */
  border: none;
  outline: none;
  
  /* 颜色属性 - 默认使用CSS变量 */
  background: var(--btn-bg, var(--color-surface));
  color: var(--btn-color, var(--color-text-primary));
  border: var(--btn-border, 1px solid var(--color-border));
}

/* ===== 变体层 - 按钮类型样式 ===== */

/* 🎯 主要按钮 */

.btn-primary {
  /* 使用CSS变量定义主题色，不覆盖基础尺寸 */
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-white);
  --btn-border: 2px solid var(--color-white);
  --btn-font-weight: var(--font-weight-semibold);
  
  /* 添加特有交互效果 */
  position: relative;
  overflow: hidden;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.btn-primary:hover {
  --btn-bg: var(--color-primary-hover);
  --btn-border: 2px solid var(--color-white);
  transform: var(--transform-scale-hover);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.btn-primary:active {
  --btn-bg: var(--color-primary-active);
  --btn-border: 2px solid var(--color-white);
  transform: var(--transform-active);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* 🎯 次要按钮 */

.btn-secondary {
  --btn-bg: var(--color-secondary);
  --btn-color: var(--color-white);
  --btn-border: 1px solid var(--color-border);
}

.btn-secondary:hover {
  --btn-bg: var(--color-secondary);
  --btn-border: 1px solid var(--color-primary);
  transform: var(--transform-scale-hover);
  box-shadow: var(--shadow-sm);
}

/* 🎯 取消按钮 */

.btn-cancel {
  --btn-bg: var(--color-surface);
  --btn-color: var(--color-text-secondary);
  --btn-border: 1px solid var(--color-border);
}

.btn-cancel:hover {
  --btn-bg: var(--color-surface-hover);
  --btn-color: var(--color-text-secondary);
  --btn-border: 1px solid var(--color-primary);
}

/* 🎯 确认按钮 */

.btn-confirm {
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-white);
  --btn-border: 1px solid var(--color-primary);
}

.btn-confirm:hover {
  --btn-bg: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* ===== 状态层 - 按钮状态样式 ===== */

/* ⚡ 禁用状态 */

.btn:disabled,
.btn.disabled {
  --btn-bg: var(--color-surface-disabled);
  --btn-color: var(--color-text-disabled);
  --btn-border: 1px solid var(--color-border-disabled);
  
  cursor: not-allowed;
  opacity: 0.6;
  transform: none;
  box-shadow: none;
}

.btn:disabled:hover,
.btn.disabled:hover {
  --btn-bg: var(--color-surface-disabled);
  --btn-border: 1px solid var(--color-border-disabled);
}

/* ===== 工具层 - 按钮尺寸工具类 ===== */

/* 📏 按钮尺寸 - 统一高度为44px */

.btn-sm {
  --btn-height: 40px;
  --btn-padding-x: var(--spacing-sm);
  --btn-padding-y: var(--spacing-xs);
  --btn-font-size: var(--font-size-xs);
  --btn-border-radius: var(--border-radius-xs);
}

.btn-lg {
  --btn-height: 44px;
  --btn-padding-x: var(--spacing-lg);
  --btn-padding-y: var(--spacing-md);
  --btn-font-size: var(--font-size-lg);
}

.btn-xl {
  --btn-height: 48px;
  --btn-padding-x: var(--spacing-xl);
  --btn-padding-y: var(--spacing-lg);
  --btn-font-size: var(--font-size-xl);
}

/* ===== 动画层 - 按钮交互效果 ===== */

/* 🌊 波纹效果 */

.btn-primary::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn-primary:active::before {
  width: 300px;
  height: 300px;
}

/* 🎯 加载状态 */

.btn-loading {
  position: relative;
  color: transparent !important;
}

.btn-loading::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 50%;
  margin-left: -8px;
  margin-top: -8px;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  border-top-color: transparent;
  animation: btn-spin 0.8s linear infinite;
}

@keyframes btn-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ===== 特殊按钮样式（向后兼容） ===== */

/* 🎯 关注按钮 */

.action-btn.follow-btn {
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-white);
  --btn-border: 1px solid var(--color-primary);
  --btn-font-weight: var(--font-weight-semibold);
}

.action-btn.follow-btn:hover {
  --btn-bg: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

/* 🎯 状态按钮 */

.action-btn.status-btn {
  --btn-bg: var(--color-secondary);
  --btn-color: var(--color-text-primary);
  --btn-border: 1px solid var(--color-border);
}

.action-btn.status-btn:hover {
  --btn-bg: var(--color-surface-hover);
  --btn-color: var(--color-text-primary);
  --btn-border: 1px solid var(--color-primary);
}

/* 🎯 绑定按钮 */

.binding-button.primary {
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-white);
  --btn-border: 1px solid var(--color-primary);
}

.binding-button.primary:hover {
  --btn-bg: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.binding-button.danger {
  --btn-bg: var(--color-secondary);
  --btn-color: var(--color-text-primary);
  --btn-border: 1px solid var(--color-border);
}

.binding-button.danger:hover {
  --btn-bg: var(--color-surface-hover);
  --btn-color: var(--color-text-primary);
  --btn-border: 1px solid var(--color-primary);
}

.binding-button.disabled {
  --btn-bg: var(--color-surface-disabled);
  --btn-color: var(--color-text-disabled);
  --btn-border: 1px solid var(--color-border-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}

.binding-button.disabled:hover {
  transform: none;
  box-shadow: none;
}

/* 🎯 其他功能按钮 */

.apply-coach-btn,
.send-code-btn {
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-white);
  --btn-border: 1px solid var(--color-primary);
  --btn-font-weight: var(--font-weight-semibold);
}

.apply-coach-btn:hover,
.send-code-btn:hover {
  --btn-bg: var(--color-primary-dark);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.refresh-btn,
.nav-btn {
  --btn-bg: var(--color-secondary);
  --btn-color: var(--color-text-primary);
  --btn-border: 1px solid var(--color-border);
}

.refresh-btn:hover,
.nav-btn:hover {
  --btn-bg: var(--color-surface-hover);
  --btn-color: var(--color-text-primary);
  --btn-border: 1px solid var(--color-primary);
}

.btn-primary:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  transform: var(--transform-scale-hover);
  box-shadow: var(--shadow-sm);
}

.btn-primary:active {
  background-color: var(--color-primary-active);
  border-color: var(--color-primary-active);
  transform: var(--transform-active);
  box-shadow: none;
}

.btn-primary:disabled {
  background-color: var(--color-surface-disabled);
  border-color: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: var(--opacity-disabled);
  transform: none;
  box-shadow: none;
  pointer-events: none;
}

/* 按钮波纹效果 */

.btn-primary::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(var(--white-rgb), 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}

.btn-primary:active::after {
  width: 300px;
  height: 300px;
}

.action-button {
  width: 280px;
  height: 160px;
  border-radius: var(--border-radius-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: var(--spacing-lg);
  background-color: var(--color-surface);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: var(--transition-normal);
  text-decoration: none;
  color: var(--color-text-primary);
  border: none;
}

.action-button:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-md);
}

.action-button:disabled {
  opacity: var(--opacity-semi-transparent);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
  pointer-events: none;
}

.action-button.primary {
  background-color: var(--color-primary);
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
}

.button-icon {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--spacing-md);
}

.button-title {
  font-size: var(--font-size-lg);
  font-weight: bold;
  margin-bottom: var(--spacing-sm);
}

.button-desc {
  font-size: var(--font-size-sm);
  margin-bottom: var(--spacing-md);
  opacity: 0.9;
}

.advance-btn {
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  padding: var(--spacing-sm) var(--spacing-md);
  border-radius: var(--border-radius-sm);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: var(--transition-normal);
}

.advance-btn:hover {
  background: var(--color-primary-hover);
  transform: var(--transform-translate-small);
}

.advance-btn:active {
  transform: translateY(0);
}

.advance-btn:disabled {
  background: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 社交登录按钮 */

.social-login {
  display: flex;
  justify-content: center;
  gap: var(--spacing-md);
  margin-top: var(--spacing-lg);
}

.social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-background);
  color: var(--color-text-secondary);
  border: none;
  transition: var(--transition-fast);
}

.social-btn:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
  transform: translateY(-2px);
}

.social-btn:disabled {
  background-color: var(--color-surface-disabled);
  color: var(--color-border);
  cursor: not-allowed;
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 按钮组 */

.main-buttons {
  display: flex;
  justify-content: center;
  gap: var(--spacing-xl);
  margin: var(--spacing-xl) 0;
  flex-wrap: wrap;
}

/* 表格操作按钮 - 小型按钮，高度降低25% */

.btn-table-action {
  padding: var(--spacing-xxs) 10px;
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--border-radius-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  cursor: pointer;
  transition: var(--transition-normal);
  height: 30px; /* 标准按钮高度40px降低25% */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
}

.btn-table-action:hover {
  background: var(--color-primary-dark, #5a6fd8);
  transform: var(--transform-translate-small);
}

.btn-table-action:active {
  transform: translateY(0);
}

.btn-table-action:disabled {
  background: var(--color-border);
  color: var(--color-text-disabled);
  cursor: not-allowed;
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 表格成功操作按钮 */

.btn-table-success {
  background: var(--color-success);
}

.btn-table-success:hover {
  background: var(--color-success-dark);
}

/* 表格危险操作按钮 */

.btn-table-danger {
  background: var(--color-danger);
}

.btn-table-danger:hover {
  background: var(--color-danger-dark);
}

/* 按钮组 */

.btn-group {
  display: flex;
  gap: var(--spacing-md);
  align-items: center;
}

.btn-group .btn {
  flex: 1;
  min-width: 0;
}

/* 按钮组 - 等宽 */

.btn-group-equal {
  display: flex;
  gap: var(--spacing-md);
}

.btn-group-equal .btn {
  flex: 1;
  min-width: 0;
}

/* 按钮组 - 紧凑 */

.btn-group-compact {
  display: flex;
  gap: var(--spacing-sm);
}

.btn-group-compact .btn {
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-sm);
}

/* 按钮组 - 垂直 */

.btn-group-vertical {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

.btn-group-vertical .btn {
  width: 100%;
}

/* 按钮组 - 响应式 */

@media (max-width: 768px) {
  .btn-group-responsive {
    flex-direction: column;
  }
  
  .btn-group-responsive .btn {
    width: 100%;
  }
}

/* 响应式按钮 */

@media (max-width: 768px) {
  /* 基础按钮移动端样式 */
  .btn {
    --btn-height: 40px;
    --btn-font-size: var(--font-size-sm);
    height: var(--btn-height);
    font-size: var(--btn-font-size);
  }
  
  .btn-responsive {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
  }
  
  .action-button {
    width: 100%;
    max-width: 300px;
  }
  
  .main-buttons {
    flex-direction: column;
    align-items: center;
  }
  
  .btn-table-action {
    padding: 3px 8px;
    font-size: 11px;
    height: 26px;
    min-width: 50px;
  }
}

/* 按钮加载状态 */

.btn-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
}

.btn-loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid var(--color-white);
  border-top-color: transparent;
  border-radius: 50%;
  animation: btn-spin 0.8s linear infinite;
}

/* 按钮图标 */

.btn-icon {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.btn-icon .icon {
  font-size: 16px;
}

/* 按钮图标 - 仅图标 */

.btn-icon-only {
  padding: 0;
  width: 40px;
  height: 40px;
  border-radius: var(--border-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-icon-only .icon {
  margin: 0;
  font-size: 18px;
}

/* 按钮图标 - 小型 */

.btn-icon-sm {
  padding: var(--spacing-sm);
  width: 32px;
  height: 40px;
}

.btn-icon-sm .icon {
  font-size: 14px;
}

/* 按钮图标 - 大型 */

.btn-icon-lg {
  padding: var(--spacing-md);
  width: 48px;
  height: 48px;
}

.btn-icon-lg .icon {
  font-size: 20px;
}

/* 按钮状态颜色 */

.btn-success {
  background-color: var(--color-success);
  color: var(--color-white);
}

.btn-success:hover {
  background-color: var(--color-success-dark);
}

.btn-warning {
  background-color: var(--color-warning);
  color: var(--color-white);
}

.btn-warning:hover {
  background-color: var(--color-warning-dark);
}

.btn-danger {
  background-color: var(--color-danger);
  color: var(--color-white);
}

.btn-danger:hover {
  background-color: var(--color-danger-dark);
}

.btn-info {
  background-color: var(--color-info);
  color: var(--color-white);
}

.btn-info:hover {
  background-color: var(--color-info-dark);
}

/* 按钮轮廓样式 */

.btn-outline {
  background-color: transparent;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
}

.btn-outline:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.btn-outline:disabled {
  background-color: transparent;
  border-color: var(--color-border);
  color: var(--color-border);
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 按钮轮廓 - 成功 */

.btn-outline-success {
  border-color: var(--color-success);
  color: var(--color-success);
}

.btn-outline-success:hover {
  background-color: var(--color-success);
}

/* 按钮轮廓 - 警告 */

.btn-outline-warning {
  border-color: var(--color-warning);
  color: var(--color-warning);
}

.btn-outline-warning:hover {
  background-color: var(--color-warning);
}

/* 按钮轮廓 - 危险 */

.btn-outline-danger {
  border-color: var(--color-danger);
  color: var(--color-danger);
}

.btn-outline-danger:hover {
  background-color: var(--color-danger);
}

/* 按钮轮廓 - 信息 */

.btn-outline-info {
  border-color: var(--color-info);
  color: var(--color-info);
}

.btn-outline-info:hover {
  background-color: var(--color-info);
}

/* 按钮幽灵样式 */

.btn-ghost {
  background-color: transparent;
  border: 1px solid transparent;
  color: var(--color-primary);
}

.btn-ghost:hover {
  background-color: rgba(var(--primary-color-rgb), 0.1);
  border-color: var(--color-primary);
}

.btn-ghost:disabled {
  background-color: transparent;
  border-color: transparent;
  color: var(--color-text-disabled);
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 按钮幽灵 - 成功 */

.btn-ghost-success {
  color: var(--color-success);
}

.btn-ghost-success:hover {
  background-color: rgba(var(--color-success-rgb), 0.1);
  border-color: var(--color-success);
}

/* 按钮幽灵 - 警告 */

.btn-ghost-warning {
  color: var(--color-warning);
}

.btn-ghost-warning:hover {
  background-color: rgba(var(--color-warning-rgb), 0.1);
  border-color: var(--color-warning);
}

/* 按钮幽灵 - 危险 */

.btn-ghost-danger {
  color: var(--color-danger);
}

.btn-ghost-danger:hover {
  background-color: rgba(var(--color-danger-rgb), 0.1);
  border-color: var(--color-danger);
}

/* 按钮幽灵 - 信息 */

.btn-ghost-info {
  color: var(--color-info);
}

.btn-ghost-info:hover {
  background-color: rgba(var(--color-info-rgb), 0.1);
  border-color: var(--color-info);
}

/* 按钮文本样式 */

.btn-text {
  background-color: transparent;
  border: none;
  color: var(--color-primary);
  padding: var(--spacing-sm) var(--spacing-md);
}

.btn-text:hover {
  background-color: rgba(var(--primary-color-rgb), 0.1);
}

.btn-text:disabled {
  background-color: transparent;
  color: var(--color-text-disabled);
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 按钮文本 - 成功 */

.btn-text-success {
  color: var(--color-success);
}

.btn-text-success:hover {
  background-color: rgba(var(--color-success-rgb), 0.1);
}

/* 按钮文本 - 警告 */

.btn-text-warning {
  color: var(--color-warning);
}

.btn-text-warning:hover {
  background-color: rgba(var(--color-warning-rgb), 0.1);
}

/* 按钮文本 - 危险 */

.btn-text-danger {
  color: var(--color-danger);
}

.btn-text-danger:hover {
  background-color: rgba(var(--color-danger-rgb), 0.1);
}

/* 按钮文本 - 信息 */

.btn-text-info {
  color: var(--color-info);
}

.btn-text-info:hover {
  background-color: rgba(var(--color-info-rgb), 0.1);
}

/* 按钮链接样式 */

.btn-link {
  background-color: transparent;
  border: none;
  color: var(--color-primary);
  text-decoration: underline;
  padding: var(--spacing-sm) var(--spacing-md);
}

.btn-link:hover {
  color: var(--color-primary-dark);
  text-decoration: none;
}

.btn-link:disabled {
  background-color: transparent;
  color: var(--color-text-disabled);
  text-decoration: none;
  opacity: var(--opacity-disabled);
  transform: none;
  pointer-events: none;
}

/* 按钮链接 - 成功 */

.btn-link-success {
  color: var(--color-success);
}

.btn-link-success:hover {
  color: var(--color-success-dark);
}

/* 按钮链接 - 警告 */

.btn-link-warning {
  color: var(--color-warning);
}

.btn-link-warning:hover {
  color: var(--color-warning-dark);
}

/* 按钮链接 - 危险 */

.btn-link-danger {
  color: var(--color-danger);
}

.btn-link-danger:hover {
  color: var(--color-danger-dark);
}

/* 按钮链接 - 信息 */

.btn-link-info {
  color: var(--color-info);
}

.btn-link-info:hover {
  color: var(--color-info-dark);
}

/* 按钮圆角样式 */

.btn-round {
  border-radius: 20px;
}

.btn-round.btn-sm {
  border-radius: 16px;
}

.btn-round.btn-lg {
  border-radius: 24px;
}

/* 按钮块级 */

.btn-block {
  display: block;
  width: 100%;
}

/* 按钮浮动 */

.btn-float {
  position: fixed;
  bottom: var(--spacing-lg);
  right: var(--spacing-lg);
  z-index: 1000;
  box-shadow: var(--shadow-md);
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-float:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.btn-float:active {
  transform: translateY(0);
}

/* 按钮浮动 - 小型 */

.btn-float-sm {
  width: 48px;
  height: 48px;
}

/* 按钮浮动 - 大型 */

.btn-float-lg {
  width: 64px;
  height: 64px;
}

/* 动画 */

@keyframes btn-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 卡片组件样式 */

.param-card {
  transition: all 0.3s ease;
  border-radius: var(--border-radius);
  background: var(--color-surface);
  box-shadow: var(--shadow);
}

.param-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-hover);
}

.param-card.active {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(22, 93, 255, 0.1);
}

.progress-container {
  background: var(--color-surface);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
}

.progress-table {
  background: var(--color-surface);
  border-radius: var(--border-radius);
  padding: var(--spacing-md);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-top: var(--spacing-sm);
  overflow-x: auto;
}

.progress-table h5 {
  margin-bottom: var(--spacing-md);
  color: var(--color-text-primary);
  font-weight: 600;
}

/* 阶段项目卡片 */

.phase-item {
  display: flex;
  align-items: center;
  padding: var(--spacing-md);
  margin: var(--spacing-md) var(--spacing-sm);
  border-radius: var(--border-radius-sm);
  background: var(--color-background-secondary);
  transition: all 0.3s ease;
}

.phase-item.active {
  background: var(--color-primary);
  color: white;
  transform: scale(1.02);
}

.phase-item.completed {
  background: var(--color-success);
  color: white;
}

.phase-icon {
  font-size: var(--font-size-lg);
  margin-right: var(--spacing-sm);
}

.phase-info {
  flex: 1;
}

.phase-timer {
  font-weight: bold;
  font-size: var(--font-size-lg);
}

/* 轮播卡片 */

.carousel-section {
  max-width: 800px;
  margin: var(--spacing-2xl) auto var(--spacing-md);
}

.carousel-item {
  height: 160px;
  background-color: var(--color-surface);
  border-radius: var(--border-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-xl);
  box-shadow: var(--shadow);
}

.carousel-caption {
  position: static;
  color: var(--color-text-primary);
  padding: var(--spacing-md);
}

/* 登录卡片 */

.login-container {
  width: 75%;
  max-width: 800px;
  background-color: var(--color-surface);
  border-radius: var(--border-radius-lg);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin: 20px 0;
}

.brand-section {
  background: linear-gradient(135deg, var(--primary-color) 0%, #0F48C9 100%);
  color: white;
  padding: var(--spacing-xl);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.brand-section h1 {
  font-size: var(--font-size-xl);
  font-weight: 500;
  margin-bottom: var(--spacing-lg);
}

.brand-section p {
  font-size: var(--font-size-sm);
  opacity: 0.9;
  max-width: 300px;
  margin: 0 auto var(--spacing-lg);
  text-align: center;
}

.login-form-section {
  padding: var(--spacing-xl);
}

.form-title {
  font-size: var(--font-size-xl);
  font-weight: 600;
  color: var(--dark-text);
  margin-bottom: var(--spacing-xl);
  text-align: center;
}

/* 响应式卡片 */

@media (max-width: 768px) {
  .login-container {
    flex-direction: column;
    max-width: 90%;
  }
  
  .brand-section {
    padding: var(--spacing-xl) var(--spacing-lg);
  }
  
  .carousel-section {
    margin: var(--spacing-lg) var(--spacing-sm);
  }
}

/* 表单组件样式 */

.form-label {
  font-weight: 500;
  color: var(--dark-text);
  margin-bottom: var(--spacing-xs);
  display: block;
}

.form-control {
  height: 44px;
  border-radius: var(--border-radius);
  border: 1px solid var(--color-border);
  padding: 0 var(--spacing-md);
  font-size: var(--font-size-sm);
  transition: all 0.2s ease;
}

.form-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(22, 93, 255, 0.1);
}

.form-text {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  margin-top: var(--spacing-xs);
}

.text-danger {
  color: var(--color-danger) !important;
  font-size: var(--font-size-xs);
  margin-top: var(--spacing-xs);
}

/* 验证表单 */

.verification-code {
  display: flex;
  gap: var(--spacing-sm);
}

.verification-code .form-control {
  flex: 1;
}

.verification-code .btn {
  width: 120px;
  white-space: nowrap;
}

/* 标签页样式 */

.nav-tabs {
  border-bottom: 1px solid var(--color-border);
}

.nav-tabs .nav-link {
  color: var(--gray-text);
  border: none;
  padding: 10px 20px;
  font-size: var(--font-size-base);
  font-weight: 500;
  background: none;
  cursor: pointer;
}

.nav-tabs .nav-link.active {
  color: var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
}

.tab-content {
  border: 1px solid var(--color-border);
  border-top: none;
  padding: var(--spacing-lg);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  background-color: var(--color-surface);
}

/* 自定义滑杆样式 */

.form-range {
  -webkit-appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--gray-track);
  outline: none;
  margin: var(--spacing-md) 0;
}

.form-range::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 3px;
  background-color: var(--gray-track);
}

.form-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--gray-thumb);
  border: none;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  margin-top: -6px;
  cursor: pointer;
}

.form-range::-moz-range-track {
  background-color: var(--gray-track);
  height: 6px;
  border-radius: 3px;
  border: none;
}

.form-range::-moz-range-thumb {
  background-color: var(--gray-thumb);
  border: none;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  cursor: pointer;
}

.form-range::-ms-track {
  background-color: var(--gray-track);
  height: 6px;
  border-radius: 3px;
  border: none;
  color: transparent;
}

.form-range::-ms-thumb {
  background-color: var(--gray-thumb);
  border: none;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  cursor: pointer;
}

/* 表格样式 */

.cycle-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-sm);
  min-width: 800px;
}

.cycle-table th,
.cycle-table td {
  padding: var(--spacing-sm);
  text-align: center;
  border: 1px solid var(--color-border);
  white-space: nowrap;
}

.cycle-table th {
  background: var(--color-background-secondary);
  font-weight: 600;
  color: var(--color-text-primary);
}

.cycle-table td {
  background: var(--color-surface);
}

.cycle-table uni-input {
  width: 60px;
  text-align: center;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 0.25rem;
  font-size: 0.85rem;
}

.cycle-table uni-input.current {
  border-color: var(--color-primary);
  background: #e3f2fd;
  font-weight: bold;
}

.cycle-table .battle-cell {
  background: #e3f2fd;
}

.cycle-table .think-cell {
  background: #f3e5f5;
}

.cycle-table .prep-cell {
  background: #fff3e0;
}

/* 贡献利润数据条 */

.contribution-profit-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm);
}

.contribution-profit-cell .progress {
  width: 50px;
  height: 8px;
  margin: 0;
}

.contribution-profit-cell .progress-bar {
  height: 100%;
  transition: width 0.3s ease;
}

.contribution-profit-cell .profit-value {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--dark-text);
  white-space: nowrap;
}

/* 响应式表单 */

@media (max-width: 576px) {
  .tab-content {
    padding: var(--spacing-md);
  }
  
  .verification-code {
    flex-direction: column;
  }
  
  .verification-code .btn {
    width: 100%;
    margin-top: var(--spacing-sm);
  }
}

/* 通用滚动条样式 */

/* 基础滚动条样式 - 参考memberhome沙盘教练模块样式 */

.scrollable {
  scrollbar-width: thin;
  scrollbar-color: #ddd #f5f5f5;
}

.scrollable::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.scrollable::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 4px;
  border: 1px solid #e8e8e8;
}

.scrollable::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 4px;
  border: 1px solid #ccc;
  min-height: 30px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.scrollable::-webkit-scrollbar-thumb:hover {
  background: #ccc;
  border-color: #bbb;
}

.scrollable::-webkit-scrollbar-thumb:active {
  background: #bbb;
  border-color: #aaa;
}

/* 高对比度滚动条 - 用于重要区域 */

.scrollable-contrast {
  scrollbar-width: thin;
  scrollbar-color: #bbb #e8e8e8;
}

.scrollable-contrast::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.scrollable-contrast::-webkit-scrollbar-track {
  background: #e8e8e8;
  border-radius: 5px;
  border: 1px solid #d5d5d5;
}

.scrollable-contrast::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 5px;
  border: 1px solid #aaa;
  min-height: 40px;
}

.scrollable-contrast::-webkit-scrollbar-thumb:hover {
  background: #999;
  border-color: #888;
}

/* 深色主题滚动条 */

[data-theme="dark"] .scrollable {
  scrollbar-color: #666 #2d2d2d;
}

[data-theme="dark"] .scrollable::-webkit-scrollbar-track {
  background: #2d2d2d;
  border-color: #404040;
}

[data-theme="dark"] .scrollable::-webkit-scrollbar-thumb {
  background: #666;
  border-color: #555;
}

[data-theme="dark"] .scrollable::-webkit-scrollbar-thumb:hover {
  background: #888;
}

[data-theme="dark"] .scrollable-contrast {
  scrollbar-color: #555 #1a1a1a;
}

[data-theme="dark"] .scrollable-contrast::-webkit-scrollbar-track {
  background: #1a1a1a;
  border-color: #333;
}

[data-theme="dark"] .scrollable-contrast::-webkit-scrollbar-thumb {
  background: #555;
  border-color: #444;
}

[data-theme="dark"] .scrollable-contrast::-webkit-scrollbar-thumb:hover {
  background: #777;
  border-color: #666;
}

/* 移动端优化 */

@media (max-width: 768px) {
  .scrollable::-webkit-scrollbar {
    width: 6px;
    height: 6px;
  }
  
  .scrollable-contrast::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
}

/* 强制滚动条显示 */

.always-show-scrollbar {
  overflow-y: scroll !important;
  overflow-x: scroll !important;
}

/* 滚动条容器样式 */

.scroll-container {
  position: relative;
}

.scroll-container::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.1), transparent);
  pointer-events: none;
}

/* 滚动提示动画 */

.scroll-indicator {
  position: relative;
}

.scroll-indicator::before {
  content: '';
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 30px;
  background: rgba(0,0,0,0.2);
  border-radius: 2px;
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.8; }
}

/* 公共输入框样式 */

.input-item {
  height: 40px;
  padding: 0 12px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif;
  box-sizing: border-box;
  margin-bottom: 0px;
  margin-left: 5px;
  text-align: center;
  line-height: 42px;
}

.input-item:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.input-item:disabled {
  background: #f8f9fa;
  border-color: #dee2e6;
  cursor: not-allowed;
  opacity: 0.7;
}

.input-item::-moz-placeholder {
  color: #6c757d;
  opacity: 0.8;
}

.input-item::placeholder {
  color: #6c757d;
  opacity: 0.8;
}

.input-item:hover:not(:disabled) {
  border-color: #667eea;
}

/* 移动端适配 */

@media (max-width: 768px) {
  .input-item {
    padding: 0 4px;
    font-size: 16px;
    border-radius: 6px;
    height: 44px;
    line-height: 42px;
    width: 90%;
  }
}

/* 深色主题支持 */

@media (prefers-color-scheme: dark) {
  .input-item {
    background: #2d3748;
    border-color: #4a5568;
    color: #e2e8f0;
  }
  
  .input-item:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
  }
  
  .input-item:disabled {
    background: #4a5568;
    border-color: #718096;
  }
  
  .input-item::-moz-placeholder {
    color: #a0aec0;
  }
  
  .input-item::placeholder {
    color: #a0aec0;
  }
}

/* 页面样式 */

/* 页面样式已整合到组件和通用样式中 */

/* 主题样式 */

/* 默认主题样式 */

/* 注意：基础变量已在 base/variables.css 中定义，此处仅定义主题特定变量 */

/* ===== 浅色主题 (默认) ===== */

:root,
[data-theme="light"] {
  /* 主色调 - 与导航栏渐变协调 */
  --primary-color: #667eea;
  --primary-hover: #5a6fd8;
  --primary-active: #4f5bd5;
  --secondary-color: #764ba2;
  
  /* 文本颜色 */
  --dark-text: #1D2129;
  --light-text: #4E5969;
  --gray-text: #86909C;
  --muted-text: #A9AEB8;
  
  /* 背景色 */
  --white: #FFFFFF;
  --light-bg: #F5F7FA;
  --gray-bg: #F2F3F5;
  --dark-bg: #E5E6EB;
  
  /* 边框颜色 */
  --border-color: #E5E6EB;
  --border-light: #F2F3F5;
  --border-dark: #D1D5DB;
  
  /* 阴影效果 */
  --shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  --shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
  
  /* 组件专用颜色 */
  --color-surface: #FFFFFF;
  --color-surface-hover: #F8F9FA;
  --color-surface-active: #F0F2FF;
  --color-surface-disabled: #F0F0F0;
  --color-text-primary: #1D2129;
  --color-text-secondary: #4E5969;
  --color-text-muted: #86909C;
  --color-text-disabled: #999999;
  --color-border: #E5E6EB;
  --color-border-light: #F2F3F5;
  --color-border-divider: #E5E6EB;
  
  /* 状态颜色 */
  --color-success: #00B42A;
  --color-success-light: #3CD556;
  --color-success-dark: #009A29;
  --color-warning: #FF7D00;
  --color-warning-light: #FFA940;
  --color-warning-dark: #D46B08;
  --color-danger: #F53F3F;
  --color-danger-light: #F76560;
  --color-danger-dark: #D84A4A;
  --color-info: #86909C;
  --color-info-light: #A9AEB8;
  --color-info-dark: #6B7785;
  
  /* 滑杆颜色 */
  --gray-track: #D1D5DB;
  --gray-thumb: #6B7280;
  --primary-track: #E8F3FF;
  --primary-thumb: #667eea;
  
  /* 遮罩层 */
  --color-overlay: rgba(0, 0, 0, 0.5);
  
  /* 滚动条 */
  --scrollbar-track: #F2F3F5;
  --scrollbar-thumb: #C9CDD4;
  --scrollbar-thumb-hover: #A9AEB8;
}

/* ===== 深色主题 ===== */

[data-theme="dark"] {
  /* 主色调 - 降低饱和度适应暗色环境 */
  --primary-color: #4f8cff;
  --primary-hover: #5a96ff;
  --primary-active: #3d7cff;
  --secondary-color: #764ba2;
  
  /* 文本颜色 - 反色处理 */
  --dark-text: #ffffff;
  --light-text: #e8e8e8;
  --gray-text: #b0b0b0;
  --muted-text: #808080;
  
  /* 背景色 - 深色层级 */
  --white: #1a1a1a;
  --light-bg: #2d2d2d;
  --gray-bg: #404040;
  --dark-bg: #0f0f0f;
  
  /* 边框颜色 - 深色边框 */
  --border-color: #404040;
  --border-light: #505050;
  --border-dark: #808080;
  
  /* 阴影效果 - 增强对比度 */
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 4px 20px rgba(0, 0, 0, 0.4);
  --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.5);
  
  /* 组件专用颜色 - 深色适配 */
  --color-surface: #2d2d2d;
  --color-surface-hover: #3a3a3a;
  --color-surface-active: #1a3a5f;
  --color-surface-disabled: #404040;
  --color-text-primary: #ffffff;
  --color-text-secondary: #e8e8e8;
  --color-text-muted: #b0b0b0;
  --color-text-disabled: #808080;
  --color-border: #404040;
  --color-border-light: #505050;
  --color-border-divider: #404040;
  
  /* 状态颜色 - 调整亮度 */
  --color-success: #00B42A;
  --color-success-light: #3CD556;
  --color-success-dark: #009A29;
  --color-warning: #FF7D00;
  --color-warning-light: #FFA940;
  --color-warning-dark: #D46B08;
  --color-danger: #F53F3F;
  --color-danger-light: #F76560;
  --color-danger-dark: #D84A4A;
  --color-info: #86909C;
  --color-info-light: #A9AEB8;
  --color-info-dark: #6B7785;
  
  /* 滑杆颜色 - 深色适配 */
  --gray-track: #404040;
  --gray-thumb: #606060;
  --primary-track: #1a3a5f;
  --primary-thumb: #4f8cff;
  
  /* 遮罩层 - 增强不透明度 */
  --color-overlay: rgba(0, 0, 0, 0.7);
  
  /* 滚动条 - 深色样式 */
  --scrollbar-track: #404040;
  --scrollbar-thumb: #606060;
  --scrollbar-thumb-hover: #808080;
}

/* ===== 自动主题（跟随系统） ===== */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    /* 自动应用深色主题 */
    --primary-color: #4f8cff;
    --primary-hover: #5a96ff;
    --primary-active: #3d7cff;
    --secondary-color: #764ba2;
    
    --dark-text: #ffffff;
    --light-text: #e8e8e8;
    --gray-text: #b0b0b0;
    --muted-text: #808080;
    
    --white: #1a1a1a;
    --light-bg: #2d2d2d;
    --gray-bg: #404040;
    --dark-bg: #0f0f0f;
    
    --border-color: #404040;
    --border-light: #505050;
    --border-dark: #808080;
    
    --shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 4px 20px rgba(0, 0, 0, 0.4);
    --shadow-hover: 0 8px 30px rgba(0, 0, 0, 0.5);
    
    --color-surface: #2d2d2d;
    --color-surface-hover: #3a3a3a;
    --color-surface-active: #1a3a5f;
    --color-surface-disabled: #404040;
    --color-text-primary: #ffffff;
    --color-text-secondary: #e8e8e8;
    --color-text-muted: #b0b0b0;
    --color-text-disabled: #808080;
    --color-border: #404040;
    --color-border-light: #505050;
    --color-border-divider: #404040;
    
    --color-success: #00B42A;
    --color-success-light: #3CD556;
    --color-success-dark: #009A29;
    --color-warning: #FF7D00;
    --color-warning-light: #FFA940;
    --color-warning-dark: #D46B08;
    --color-danger: #F53F3F;
    --color-danger-light: #F76560;
    --color-danger-dark: #D84A4A;
    --color-info: #86909C;
    --color-info-light: #A9AEB8;
    --color-info-dark: #6B7785;
    
    --gray-track: #404040;
    --gray-thumb: #606060;
    --primary-track: #1a3a5f;
    --primary-thumb: #4f8cff;
    
    --color-overlay: rgba(0, 0, 0, 0.7);
    
    --scrollbar-track: #404040;
    --scrollbar-thumb: #606060;
    --scrollbar-thumb-hover: #808080;
  }
}

/* ===== 主题切换按钮 ===== */

.theme-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  background: var(--primary-color);
  color: var(--white);
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--shadow-lg);
  transition: all 0.3s ease;
}

.theme-toggle:hover {
  transform: scale(1.1);
  box-shadow: var(--shadow-hover);
}

.theme-toggle:active {
  transform: scale(0.95);
}

/* 主题图标 */

.theme-toggle::before {
  content: '🌙';
  font-size: 20px;
  transition: opacity 0.3s ease;
}

[data-theme="dark"] .theme-toggle::before {
  content: '☀️';
}

/* 主题切换按钮 - 移动端适配 */

@media (max-width: 768px) {
  .theme-toggle {
    width: 40px;
    height: 40px;
    top: 15px;
    right: 15px;
  }
  
  .theme-toggle::before {
    font-size: 18px;
  }
}

/* ===== 主题过渡效果 ===== */

* {
  transition: background-color 0.3s ease, 
              border-color 0.3s ease, 
              color 0.3s ease,
              box-shadow 0.3s ease;
}

/* 主题切换动画 */

@keyframes themeFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.theme-fade-in {
  animation: themeFadeIn 0.3s ease;
}

/* ===== 主题切换时的特殊处理 ===== */

/* 避免主题切换时的闪烁 */

.theme-switching {
  pointer-events: none;
}

.theme-switching * {
  transition-duration: 0s !important;
}

/* 主题切换完成后的恢复 */

.theme-switched {
  pointer-events: auto;
}

/* ===== 主题相关的组件样式 ===== */

/* 卡片主题适配 */

.card {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-sm);
  color: var(--text-primary);
}

.card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--border-hover);
}

/* 按钮主题适配 */

.btn-primary {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--white);
}

/* 输入框主题适配 */

.form-control {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

.form-control:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 0.2rem rgba(var(--primary-color-rgb), 0.25);
}

.form-control::-moz-placeholder {
  color: var(--text-tertiary);
}

.form-control::placeholder {
  color: var(--text-tertiary);
}

/* 模态框主题适配 */

.modal-content {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-lg);
}

.modal-header {
  border-bottom-color: var(--border-color);
}

.modal-footer {
  border-top-color: var(--border-color);
}

/* 导航栏主题适配 */

.navbar {
  background: var(--bg-primary);
  border-bottom: 1px solid var(--border-color);
}

.navbar-brand,
.navbar-nav .nav-link {
  color: var(--text-primary);
}

.navbar-nav .nav-link:hover {
  color: var(--primary-color);
}

/* 表格主题适配 */

.table {
  background: var(--bg-primary);
  color: var(--text-primary);
}

.table thead th {
  background: var(--bg-secondary);
  border-bottom-color: var(--border-color);
  color: var(--text-primary);
}

.table tbody tr:hover {
  background: var(--bg-hover);
}

/* 警告框主题适配 */

.alert {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

.alert-primary {
  background: rgba(var(--primary-color-rgb), 0.1);
  border-color: rgba(var(--primary-color-rgb), 0.3);
  color: var(--primary-color);
}

.alert-success {
  background: rgba(var(--success-color-rgb), 0.1);
  border-color: rgba(var(--success-color-rgb), 0.3);
  color: var(--success-color);
}

.alert-warning {
  background: rgba(var(--warning-color-rgb), 0.1);
  border-color: rgba(var(--warning-color-rgb), 0.3);
  color: var(--warning-color);
}

.alert-danger {
  background: rgba(var(--danger-color-rgb), 0.1);
  border-color: rgba(var(--danger-color-rgb), 0.3);
  color: var(--danger-color);
}

/* 分页主题适配 */

.page-link {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
}

.page-link:hover {
  background: var(--bg-hover);
  border-color: var(--border-hover);
  color: var(--text-primary);
}

.page-item.active .page-link {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--white);
}

/* 下拉菜单主题适配 */

.dropdown-menu {
  background: var(--bg-primary);
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-md);
}

.dropdown-item {
  color: var(--text-primary);
}

.dropdown-item:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.dropdown-divider {
  border-top-color: var(--border-color);
}

/* 标签页主题适配 */

.nav-tabs {
  border-bottom-color: var(--border-color);
}

.nav-tabs .nav-link {
  background: transparent;
  border-color: transparent;
  color: var(--text-secondary);
}

.nav-tabs .nav-link:hover {
  border-color: var(--border-color) var(--border-color) transparent;
  color: var(--text-primary);
}

.nav-tabs .nav-link.active {
  background: var(--bg-primary);
  border-color: var(--border-color) var(--border-color) var(--bg-primary);
  color: var(--primary-color);
}

/* 进度条主题适配 */

.progress {
  background: var(--bg-secondary);
}

.progress-bar {
  background: var(--primary-color);
}

/* 徽章主题适配 */

.badge {
  background: var(--primary-color);
  color: var(--white);
}

.badge-secondary {
  background: var(--secondary-color);
}

.badge-success {
  background: var(--success-color);
}

.badge-warning {
  background: var(--warning-color);
}

.badge-danger {
  background: var(--danger-color);
}

/* 面包屑主题适配 */

.breadcrumb {
  background: var(--bg-secondary);
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--text-tertiary);
}

.breadcrumb-item a {
  color: var(--primary-color);
}

.breadcrumb-item.active {
  color: var(--text-secondary);
}

/* ===== 主题切换时的特殊效果 ===== */

/* 主题切换按钮的旋转动画 */

.theme-toggle.rotating {
  animation: rotate 0.5s ease;
}

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

/* 主题切换时的渐变遮罩 */

.theme-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--bg-primary);
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  transition: opacity 0.3s ease;
}

.theme-overlay.active {
  opacity: 0.8;
  pointer-events: auto;
}

/* 响应式样式 */

/* 响应式样式 - 桌面端 */

@media screen and (min-width: 1200px) {
    /* 导航栏保持全宽 - 排除1200px限制 */
    .navbar,
    .header,
    .navbar-container,
    .header-container,
    .uni-navbar,
    .uni-header,
    .admin-container > .navbar:first-child,
    .profile-container > .navbar:first-child,
    .home-container > .navbar:first-child {
        max-width: none !important;
        margin: 0 !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    /* 主要内容区域限制1200px */
    .main-content,
    .content-area,
    .page-content,
    .dashboard-container,
    .game-container,
    .login-container,
    .register-container,
    .admin-container > .main-content,
    .profile-container > .main-content,
    .home-container > .main-content,
    .uni-page-body > uni-view:first-child > .main-content,
    .uni-page-wrapper > uni-view:first-child > .content-area,
    .page-container:not(.navbar-container):not(.header-container),
    .container:not(.navbar-container):not(.header-container) {
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
        padding: 0 var(--spacing-md);
        box-sizing: border-box;
    }
    
    /* 特殊处理：导航栏内部的内容可以限制1200px居中 */
    .navbar-container .navbar-content,
    .header-container .header-content {
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
        padding: 0 var(--spacing-md);
    }
}

/* 通用响应式规则 */

@media (max-width: 1200px) {
  .container {
    max-width: 100%;
    padding: 0 var(--spacing-md);
  }
}

@media (max-width: 992px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .content-grid {
    grid-template-columns: 1fr;
  }
  
  .content-sidebar {
    order: -1;
  }
}

@media (max-width: 768px) {
  /* 基础布局 - 移动端优化字号 */
  body {
    font-size: var(--font-size-base);
    line-height: 1.6; /* 移动端增加行高提高可读性 */
  }
  
  .container {
    padding: 0 var(--spacing-sm);
  }
  
  /* 导航栏 - 移动端优化 */
  .navbar {
    padding: var(--spacing-sm);
  }
  
  .navbar-brand img {
    height: 32px;
  }
  
  .navbar-brand .brand-text {
    font-size: var(--font-size-lg);
    font-weight: 600; /* 移动端品牌名加粗 */
  }
  
  .user-menu {
    position: static;
    margin-top: var(--spacing-sm);
  }
  
  .user-menu-item {
    padding: var(--spacing-sm);
    font-size: var(--font-size-sm);
  }
  
  /* 统计卡片 - 移动端优化 */
  .stats-grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }
  
  .stat-card {
    padding: var(--spacing-md);
  }
  
  .stat-icon {
    font-size: var(--font-size-xl);
  }
  
  .stat-number {
    font-size: var(--font-size-lg);
    font-weight: 700; /* 数字加粗突出 */
  }
  
  .stat-label {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
  }
  
  /* 卡片布局 - 移动端优化 */
  .card {
    margin: var(--spacing-xs) 0;
    border-radius: var(--border-radius-md); /* 移动端圆角稍小 */
    padding: var(--spacing-sm) 0; /* 减少内边距节省空间 */
    box-shadow: var(--shadow-sm); /* 适度的阴影效果 */
    font-size: var(--font-size-sm); /* 移动端文字稍小 */
    transition: all var(--transition-fast);
  }
  
  /* 卡片悬停效果 - 移动端优化 */
  .card:hover {
    transform: translateY(-1px); /* 悬停位移减少 */
    box-shadow: var(--shadow); /* 增强阴影 */
  }
  
  /* 卡片子元素移动端优化 */
  .card-title {
    font-size: var(--font-size-base); /* 移动端标题适中 */
    margin-bottom: var(--spacing-xs);
  }
  
  .card-content {
    font-size: var(--font-size-sm);
    line-height: 1.5;
  }
  
  .card-actions {
    padding-top: var(--spacing-sm);
    gap: var(--spacing-xs); /* 按钮间距减小 */
  }
  
  .param-card {
    padding: var(--spacing-md);
  }
  
  .card-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
  }
  
  .card-text {
    font-size: var(--font-size-base);
    line-height: 1.6;
  }
  
  /* 表格响应式 - 移动端优化 */
  .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: var(--spacing-sm) 0;
  }
  
  .cycle-table {
    min-width: 600px;
    font-size: var(--font-size-xs);
  }
  
  .cycle-table th,
  .cycle-table td {
    padding: var(--spacing-xs);
    line-height: 1.4; /* 表格行高优化 */
  }
  
  .cycle-table th {
    font-weight: 600; /* 表头加粗 */
  }
  
  .cycle-table uni-input {
    width: 45px;
    font-size: var(--font-size-xs);
    padding: 0.125rem 0.25rem; /* 输入框内边距优化 */
  }
  
  /* 进度表格 - 移动端优化 */
  .progress-table {
    margin-top: var(--spacing-sm);
    padding: var(--spacing-sm);
  }
  
  .progress-table h5 {
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-sm);
    font-weight: 600;
  }
  
  .progress-table .progress-label {
    font-size: var(--font-size-sm);
  }
  
  /* 阶段项目 - 移动端优化 */
  .phase-item {
    flex-direction: column;
    align-items: flex-start;
    padding: var(--spacing-md); /* 增加内边距 */
    margin: var(--spacing-sm) 0;
    border-radius: var(--border-radius-md);
  }
  
  .phase-icon {
    margin-bottom: var(--spacing-xs);
    margin-right: 0;
    font-size: var(--font-size-xl); /* 图标大小优化 */
  }
  
  .phase-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    margin-bottom: var(--spacing-xs);
  }
  
  .phase-description {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    line-height: 1.5;
  }
  
  .phase-timer {
    font-size: var(--font-size-sm);
    font-weight: 500;
  }
  
  /* 轮播 - 移动端优化 */
  .carousel-section {
    margin: var(--spacing-lg) var(--spacing-sm);
    padding: 0 var(--spacing-sm);
  }
  
  .carousel-item {
    height: auto;
    min-height: 120px;
    padding: var(--spacing-md);
  }
  
  .carousel-caption {
    padding: var(--spacing-sm);
  }
  
  .carousel-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
  }
  
  .carousel-text {
    font-size: var(--font-size-sm);
    line-height: 1.5;
  }
  
  /* 登录页面 - 移动端优化 */
  .login-wrapper {
    flex-direction: column;
    max-width: 92%; /* 稍微增加宽度 */
    margin: var(--spacing-md) auto;
    border-radius: var(--border-radius-lg);
  }
  
  .login-left,
  .login-right {
    padding: var(--spacing-lg);
  }
  
  .login-left h1,
  .login-title {
    font-size: var(--font-size-2xl);
    font-weight: 700;
    line-height: 1.3;
  }
  
  .login-subtitle {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-top: var(--spacing-xs);
  }
  
  /* 表单 - 移动端优化 */
  .form-control {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm);
    min-height: 48px; /* 移动端触摸友好高度 */
    border-radius: var(--border-radius-md);
  }
  
  .form-label {
    font-size: var(--font-size-sm);
    font-weight: 500;
    margin-bottom: var(--spacing-xs);
  }
  
  .form-text {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
  }
  
  .verification-code {
    flex-direction: column;
    gap: var(--spacing-sm);
  }
  
  .verification-code .btn {
    width: 100%;
    margin-top: 0; /* 移除margin-top，使用gap */
    font-size: var(--font-size-base);
    padding: var(--spacing-sm);
    min-height: 44px;
  }
  
  .btn {
    font-size: var(--font-size-base);
    padding: var(--spacing-sm) var(--spacing-md);
    min-height: 44px;
    border-radius: var(--border-radius-md);
  }
  
  .btn-lg {
    font-size: var(--font-size-lg);
    padding: var(--spacing-md) var(--spacing-lg);
    min-height: 48px;
  }
}

@media (max-width: 576px) {
  /* 超小屏幕 - 进一步优化 */
  :root {
    --font-size-xs: 0.625rem;    /* 10px - 极限小屏 */
    --font-size-sm: 0.6875rem;    /* 11px - 小屏次要文字 */
    --font-size-base: 0.75rem;  /* 12px - 小屏正文 */
    --font-size-lg: 0.8125rem;    /* 13px - 小屏标题 */
    --font-size-xl: 0.875rem;    /* 14px - 小屏大标题 */
  }
  
  .container {
    padding: 0 var(--spacing-xs);
  }
  
  .main-content {
    padding: var(--spacing-xs);
  }
  
  .stats-grid {
    gap: var(--spacing-sm);
  }
  
  .stat-card {
    padding: var(--spacing-sm);
  }
  
  .login-wrapper {
    max-width: 95%; /* 超小屏最大化利用宽度 */
    margin: var(--spacing-sm) auto;
  }
  
  .login-left,
  .login-right {
    padding: var(--spacing-md);
  }

  .progress-section,
  .activity-section {
    padding: var(--spacing-sm);
  }

  /* 登录页面全屏 */
  .login-page {
    padding: 0;
  }

  .login-wrapper {
    max-width: 100%;
    border-radius: 0;
    min-height: 100vh;
  }

  .login-left,
  .login-right {
    padding: var(--spacing-lg);
  }

  /* 按钮 */
  .btn {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-sm);
  }

  .action-button {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-xs);
  }

  /* 轮播 */
  .carousel-control-prev,
  .carousel-control-next {
    width: 30px;
    height: 30px;
  }

  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 480px) {
  /* 极小屏幕 */
  .navbar-brand .brand-text {
    display: none;
  }
  
  .stat-card {
    text-align: left;
    display: flex;
    align-items: center;
  }
  
  .stat-icon {
    margin-right: var(--spacing-sm);
    margin-bottom: 0;
  }
  
  .phase-item {
    padding: var(--spacing-xs);
  }
  
  .contribution-profit-cell {
    flex-direction: column;
    gap: var(--spacing-xs);
  }
  
  .contribution-profit-cell .progress {
    width: 100%;
    max-width: 80px;
  }
}

/* 横屏模式 */

@media (max-width: 768px) and (orientation: landscape) {
  .login-wrapper {
    flex-direction: row;
  }
  
  .login-left,
  .login-right {
    padding: var(--spacing-md);
  }
}

/* 高DPI屏幕优化 */

@media (min-resolution: 192dpi) {
  .navbar-brand img,
  .stat-icon {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* 打印样式 */

@media print {
  .navbar,
  .theme-toggle,
  .btn,
  .action-button,
  .carousel-control-prev,
  .carousel-control-next {
    display: none !important;
  }
  
  .card,
  .progress-container,
  .progress-table {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
  
  .phase-item {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}

/* 暗色模式响应式 */

@media (max-width: 768px) {
  [data-theme="dark"] {
    .shadow,
    .shadow-lg,
    .shadow-hover {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    }
  }
}

/* 打印样式 */

/* 注意：主要打印样式定义在 common.css 中，此处仅作为补充 */

/* 无障碍样式 */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* 高对比度模式 */

@media (prefers-contrast: high) {
  :root {
    --border-color: #000;
    --shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
  
  .btn,
  .form-control,
  .card {
    border: 2px solid var(--color-border);
  }
}