uni-toast {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  display: block;
  box-sizing: border-box;
  pointer-events: none;
  font-size: 16px;
}

.uni-sample-toast {
  position: fixed;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  max-width: 80%;
}

.uni-simple-toast__text {
  display: inline-block;
  vertical-align: middle;
  color: #ffffff;
  background-color: rgba(17, 17, 17, 0.7);
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 13px;
  text-align: center;
  max-width: 100%;
  word-break: break-word;
  white-space: normal;
}

uni-toast .uni-mask {
  pointer-events: auto;
}

.uni-toast {
  position: fixed;
  z-index: 999;
  width: 8em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(17, 17, 17, 0.7);
  text-align: center;
  border-radius: 5px;
  color: #ffffff;
}

.uni-toast * {
  box-sizing: border-box;
}

.uni-toast__icon {
  margin: 20px 0 0;
  width: 38px!important;
  height: 38px!important;
  vertical-align: baseline!important;
}

.uni-icon_toast {
  margin: 15px 0 0;
}

.uni-icon_toast.uni-icon-success-no-circle:before {
  color: #ffffff;
  font-size: 55px;
}

.uni-icon_toast.uni-loading {
  margin: 20px 0 0;
  width: 38px;
  height: 38px;
  vertical-align: baseline;
}

.uni-toast__content {
  margin: 0 0 15px;
}* {
  margin: 0;
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  -webkit-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;
}
uni-page-head {
  display: block;
  box-sizing: border-box;
}

.uni-page-head {
  position: fixed;
  left: var(--window-left);
  right: var(--window-right);
  height: 44px;
  height: calc(44px + constant(safe-area-inset-top));
  height: calc(44px + env(safe-area-inset-top));
  padding: 7px 3px;
  padding-top: calc(7px + constant(safe-area-inset-top));
  padding-top: calc(7px + env(safe-area-inset-top));
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  box-sizing: border-box;
  z-index: 998;
  color: #fff;
  background-color: #000;
  transition-property: all;
}

.uni-page-head * {
  box-sizing: border-box;
}

.uni-page-head .uni-btn-icon {
  overflow: hidden;
  min-width: 1em;
  font-style: normal;
}

.uni-page-head-titlePenetrate,
.uni-page-head-titlePenetrate .uni-page-head-bd,
.uni-page-head-titlePenetrate .uni-page-head-bd * {
  pointer-events: none;
}

.uni-page-head-titlePenetrate * {
  pointer-events: auto;
}

.uni-page-head.uni-page-head-transparent .uni-page-head-ft > div {
  justify-content: center;
}

.uni-page-head ~ .uni-placeholder {
  width: 100%;
  height: 44px;
  height: calc(44px + constant(safe-area-inset-top));
  height: calc(44px + env(safe-area-inset-top));
}

.uni-placeholder-titlePenetrate {
  pointer-events: none;
}

.uni-page-head-hd {
  display: flex;
  align-items: center;
  font-size: 16px;
}

.uni-page-head-bd {
  position: absolute;
  left: 70px;
  right: 70px;
  min-width: 0;
  -webkit-user-select: auto;
          user-select: auto;
}

.uni-page-head-btn {
  position: relative;
  width: auto;
  margin: 0 2px;
  word-break: keep-all;
  white-space: pre;
  cursor: pointer;
  font-size: 0px;
}

/* .uni-page-head-btn svg {
} */

.uni-page-head-transparent .uni-page-head-btn {
  display: flex;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.5);
}

.uni-page-head-btn-red-dot::after {
  content: attr(badge-text);
  position: absolute;
  right: 0;
  top: 0;
  background-color: red;
  color: white;
  width: 18px;
  height: 18px;
  line-height: 18px;
  border-radius: 18px;
  overflow: hidden;
  transform: scale(0.5) translate(40%, -40%);
  transform-origin: 100% 0;
}

.uni-page-head-btn-red-dot[badge-text]::after {
  font-size: 12px;
  width: auto;
  min-width: 18px;
  max-width: 42px;
  text-align: center;
  padding: 0 3px;
  transform: scale(0.7) translate(40%, -40%);
}

.uni-page-head-btn-select svg {
  vertical-align: middle;
  margin-left: 2px;
  transform: rotate(270deg) scale(0.8);
}

.uni-page-head-search {
  position: relative;
  display: flex;
  flex: 1;
  margin: 0 2px;
  line-height: 30px;
  font-size: 15px;
}

.uni-page-head-search-input {
  width: 100%;
  height: 100%;
  padding-left: 34px;
  text-align: left;
}

.uni-page-head-search-input .uni-input-input:disabled {
  pointer-events: none;
}

.uni-page-head-search-placeholder {
  position: absolute;
  max-width: 100%;
  height: 100%;
  padding-left: 34px;
  overflow: hidden;
  word-break: keep-all;
  white-space: pre;
}

.uni-page-head-search-placeholder-right {
  right: 0;
}

.uni-page-head-search-placeholder-center {
  left: 50%;
  transform: translateX(-50%);
}

.uni-page-head-search-icon {
  position: absolute;
  top: 0;
  left: 2px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.uni-page-head-ft {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  font-size: 13px;
}

.uni-page-head__title {
  font-weight: bold;
  font-size: 16px;
  line-height: 30px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.uni-page-head__title .uni-loading {
  width: 16px;
  height: 16px;
  margin-top: -3px;
}

.uni-page-head__title .uni-page-head__title_image {
  width: auto;
  height: 26px;
  vertical-align: middle;
}

.uni-page-head-shadow {
  overflow: visible;
}

.uni-page-head-shadow::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 5px;
  background-size: 100% 100%;
}

uni-page-head[uni-page-head-type='default'] ~ uni-page-wrapper {
  height: calc(100% - 44px);
  height: calc(100% - 44px - constant(safe-area-inset-top));
  height: calc(100% - 44px - env(safe-area-inset-top));
}

.uni-page-head-shadow-grey::after {
  background-image: url('https://cdn.dcloud.net.cn/img/shadow-grey.png');
}

.uni-page-head-shadow-blue::after {
  background-image: url('https://cdn.dcloud.net.cn/img/shadow-blue.png');
}

.uni-page-head-shadow-green::after {
  background-image: url('https://cdn.dcloud.net.cn/img/shadow-green.png');
}

.uni-page-head-shadow-orange::after {
  background-image: url('https://cdn.dcloud.net.cn/img/shadow-orange.png');
}

.uni-page-head-shadow-red::after {
  background-image: url('https://cdn.dcloud.net.cn/img/shadow-red.png');
}

.uni-page-head-shadow-yellow::after {
  background-image: url('https://cdn.dcloud.net.cn/img/shadow-yellow.png');
}
            

	/*每个页面公共css */
	
	/* 引入线上环境样式修复 */
	
	/**
 * 线上环境样式修复
 * 解决开发环境和生产环境样式不一致的问题
 */
	
	/* ==================== 盒模型统一 ==================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}
	
	/* ==================== 输入框样式强制重置 ==================== */
uni-input,
uni-textarea,
.uni-input,
.uni-textarea,
.uni-easyinput__content-input {
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
	
	/* ==================== 行高修复 ==================== */
body,
uni-page-body {
  line-height: 1.5;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
	
	/* 防止行高被压缩 */
uni-text,
uni-view,
.uni-view {
  line-height: 1.5;
}
	
	/* ==================== 定位修复 ==================== */
	
	/* 确保相对定位上下文正确 */
uni-view,
.uni-view {
  position: relative;
}
	
	/* 绝对定位元素确保有参考上下文 */
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
	
	/* ==================== flex 布局修复 ==================== */
.flex {
  display: flex;
}
.flex-column {
  display: flex;
  flex-direction: column;
}
	
	/* 防止 flex 子项被压缩 */
.flex-shrink-0 {
  flex-shrink: 0;
}
.flex-1 {
  flex: 1;
  min-width: 0; /* 防止 flex 子项溢出 */
}
	
	/* ==================== 微信 H5 特殊修复 ==================== */
	
	/* 微信内置浏览器样式修复 */
.wechat-h5 {
  /* 输入框位置修复 */
uni-input,
  uni-textarea {
    position: static !important;
    transform: none !important;
}
  
  /* 行高修复 */
.uni-forms-item__content,
  .uni-easyinput__content {
    line-height: 1.5;
}
}
	
	/* ==================== rpx 单位兼容性修复 ==================== */
	
	/* 确保 rpx 单位正确转换 */
@media screen and (max-width: 750px) {
.rpx-fix {
    font-size: 0.4375rem;
}
}
	
	/* ==================== 组件库样式强制覆盖 ==================== */
	
	/* uni-forms 行高修复 */
.uni-forms-item {
  line-height: 1.5;
}
.uni-forms-item__content {
  line-height: 1.5;
}
	
	/* uni-easyinput 修复 */
.uni-easyinput {
  line-height: 1.5;
}
.uni-easyinput__content {
  line-height: normal;
}
.uni-easyinput__content-input {
  line-height: normal;
  height: auto;
  min-height: 36px;
}
	
	/* picker 修复 */
uni-picker {
  display: block;
}
.picker-value {
  line-height: 1.5;
}
	
	/* ==================== 滚动容器修复 ==================== */
uni-scroll-view,
.uni-scroll-view {
  box-sizing: border-box;
}
	
	/* ==================== 文本样式保护 ==================== */
	
	/* 防止文字被意外压缩 */
.text-normal {
  line-height: 1.5 !important;
  font-size: 14px !important;
}
	
	/* 防止文字重叠 */
.no-compress {
  white-space: normal;
  word-break: break-all;
}
	
	/* ==================== 全局基础样式 ==================== */
	
	/* 这些样式确保线上环境与开发环境一致 */
uni-page-body {
		font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
		line-height: 1.5;
		color: #333;
}
	
	/* ==================== 表单组件全局样式修复 ==================== */
	
	/* uni-forms 全局修复 */
uni-forms-item {
		display: flex;
		flex-direction: column;
		margin-bottom: 16px;
		line-height: 1.5;
}
uni-forms-item__label {
		display: flex;
		align-items: center;
		min-height: 32px;
		font-size: 14px;
		color: #333;
		margin-bottom: 8px;
		line-height: 1.5;
}
uni-forms-item__content {
		display: flex;
		flex-direction: column;
		min-height: 40px;
		line-height: 1.5;
}
	
	/* uni-easyinput 全局修复 - 使用 !important 确保线上环境生效 */
uni-easyinput,
	.uni-easyinput {
		display: block !important;
		width: 100% !important;
		line-height: 1.5 !important;
		visibility: visible !important;
		opacity: 1 !important;
}
uni-easyinput__content,
	.uni-easyinput__content {
		display: flex !important;
		align-items: center !important;
		min-height: 40px !important;
		height: 40px !important;
		background: #f5f5f5 !important;
		border-radius: 4px !important;
		padding: 0 12px !important;
		line-height: 40px !important;
		box-sizing: border-box !important;
		visibility: visible !important;
		opacity: 1 !important;
}
uni-easyinput__content-input,
	.uni-easyinput__content-input {
		display: block !important;
		flex: 1 !important;
		width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		line-height: 40px !important;
		font-size: 14px !important;
		color: #333 !important;
		background: transparent !important;
		border: none !important;
		outline: none !important;
		padding: 0 !important;
		margin: 0 !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		visibility: visible !important;
		opacity: 1 !important;
}
	
	/* picker 全局修复 */
uni-picker {
		display: block;
		width: 100%;
}
	
	/* ==================== 强制全局输入框样式 ==================== */
	
	/* 这些样式会被打包到 CSS 文件中 */
	
	/* 基础输入框样式 */
uni-input[type="text"],
	uni-input[type="number"],
	uni-input[type="email"],
	uni-input[type="password"],
	uni-textarea {
		font-size: 14px;
		-webkit-appearance: none;
		appearance: none;
		outline: none;
		border: 1px solid #ddd;
		background: #fff;
		padding: 8px 12px;
		border-radius: 4px;
}
	
	/* 微信H5快速检测样式 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
uni-input, uni-textarea, .uni-input, .uni-textarea {
			-webkit-appearance: none;
			appearance: none;
}
}
	
	/* uni-view 修复 */
uni-view {
		display: block;
		box-sizing: border-box;
}
	
	/* ==================== uni-easyinput 样式定义 ==================== */
	
	/* 线上构建时需要这些样式 */
.uni-easyinput {
		display: flex;
		flex-direction: column;
		width: 100%;
}
.uni-easyinput__content {
		display: flex;
		flex-direction: row;
		align-items: center;
		min-height: 36px;
		background-color: #f5f5f5;
		border-radius: 4px;
		padding: 0 12px;
		box-sizing: border-box;
}
.uni-easyinput__content-input {
		flex: 1;
		width: 100%;
		height: 36px;
		min-height: 36px;
		line-height: 36px;
		font-size: 14px;
		color: #333;
		background: transparent;
		border: none;
		outline: none;
		padding: 0;
		margin: 0;
		-webkit-appearance: none;
		appearance: none;
		pointer-events: auto;
		-webkit-user-select: text;
		        user-select: text;
		cursor: text;
}
	
	/* 禁用状态 */
.uni-easyinput--disabled .uni-easyinput__content {
		background-color: #e8e8e8;
}
.uni-easyinput--disabled .uni-easyinput__content-input {
		color: #999;
		cursor: not-allowed;
}
	
	/* Placeholder 样式 */
.uni-easyinput__content-input::-webkit-input-placeholder {
		color: #999;
}
.uni-easyinput__content-input::placeholder {
		color: #999;
}
	
	/* ==================== uni-forms 样式定义 ==================== */
.uni-forms-item {
		display: flex;
		flex-direction: column;
		margin-bottom: 16px;
}
.uni-forms-item__label {
		display: flex;
		align-items: center;
		height: 32px;
		font-size: 14px;
		color: #333;
		margin-bottom: 4px;
}
.uni-forms-item__content {
		display: flex;
		flex-direction: column;
}
	
	/* ==================== uni-data-select 样式定义 ==================== */
.uni-data-select {
		display: flex;
		flex-direction: column;
		width: 100%;
}
.uni-data-select__input-box {
		display: flex;
		align-items: center;
		min-height: 36px;
		background-color: #f5f5f5;
		border-radius: 4px;
		padding: 0 12px;
		box-sizing: border-box;
}
.uni-data-select__input-text {
		flex: 1;
		font-size: 14px;
		color: #333;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input, uni-textarea, .uni-input, .uni-textarea {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input:focus, uni-textarea:focus, .uni-input:focus, .uni-textarea:focus {
  border-color: #667eea;
  outline: none;
}
uni-input::-webkit-input-placeholder, uni-textarea::-webkit-input-placeholder, .uni-input::-webkit-input-placeholder, .uni-textarea::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input::placeholder, uni-textarea::placeholder, .uni-input::placeholder, .uni-textarea::placeholder {
  color: #999999;
  font-size: 16px;
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* 水平间距 */
/* 水平间距 */
/* 水平间距 */
.uni-border {
  border: 1px #F0F0F0 solid;
}
.uni-primary {
  color: #2979ff;
}
.uni-primary-bg {
  background-color: #2979ff;
}
.uni-primary-disable {
  color: #94bcff;
}
.uni-primary-disable-bg {
  background-color: #94bcff;
}
.uni-primary-light {
  color: #d4e4ff;
}
.uni-primary-light-bg {
  background-color: #d4e4ff;
}
.uni-success {
  color: #18bc37;
}
.uni-success-bg {
  background-color: #18bc37;
}
.uni-success-disable {
  color: #8cde9b;
}
.uni-success-disable-bg {
  background-color: #8cde9b;
}
.uni-success-light {
  color: #d1f2d7;
}
.uni-success-light-bg {
  background-color: #d1f2d7;
}
.uni-warning {
  color: #f3a73f;
}
.uni-warning-bg {
  background-color: #f3a73f;
}
.uni-warning-disable {
  color: #f9d39f;
}
.uni-warning-disable-bg {
  background-color: #f9d39f;
}
.uni-warning-light {
  color: #fdedd9;
}
.uni-warning-light-bg {
  background-color: #fdedd9;
}
.uni-error {
  color: #e43d33;
}
.uni-error-bg {
  background-color: #e43d33;
}
.uni-error-disable {
  color: #f29e99;
}
.uni-error-disable-bg {
  background-color: #f29e99;
}
.uni-error-light {
  color: #fad8d6;
}
.uni-error-light-bg {
  background-color: #fad8d6;
}
.uni-info {
  color: #8f939c;
}
.uni-info-bg {
  background-color: #8f939c;
}
.uni-info-disable {
  color: #c7c9ce;
}
.uni-info-disable-bg {
  background-color: #c7c9ce;
}
.uni-info-light {
  color: #e9e9eb;
}
.uni-info-light-bg {
  background-color: #e9e9eb;
}
.uni-main-color {
  color: #3a3a3a;
}
.uni-main-color-bg {
  background-color: #3a3a3a;
}
.uni-base-color {
  color: #6a6a6a;
}
.uni-base-color-bg {
  background-color: #6a6a6a;
}
.uni-secondary-color {
  color: #909399;
}
.uni-secondary-color-bg {
  background-color: #909399;
}
.uni-extra-color {
  color: #c7c7c7;
}
.uni-extra-color-bg {
  background-color: #c7c7c7;
}
.uni-bg-color {
  color: #f7f7f7;
}
.uni-bg-color-bg {
  background-color: #f7f7f7;
}
.uni-border-1 {
  color: #F0F0F0;
}
.uni-border-1-bg {
  background-color: #F0F0F0;
}
.uni-border-2 {
  color: #EDEDED;
}
.uni-border-2-bg {
  background-color: #EDEDED;
}
.uni-border-3 {
  color: #DCDCDC;
}
.uni-border-3-bg {
  background-color: #DCDCDC;
}
.uni-border-4 {
  color: #B9B9B9;
}
.uni-border-4-bg {
  background-color: #B9B9B9;
}
.uni-black {
  color: #000000;
}
.uni-black-bg {
  background-color: #000000;
}
.uni-white {
  color: #ffffff;
}
.uni-white-bg {
  background-color: #ffffff;
}
.uni-transparent {
  color: rgba(0, 0, 0, 0);
}
.uni-transparent-bg {
  background-color: rgba(0, 0, 0, 0);
}
.uni-shadow-sm {
  box-shadow: 0 0 5px rgba(216, 216, 216, 0.5);
}
.uni-shadow-base {
  box-shadow: 0 1px 8px 1px rgba(165, 165, 165, 0.2);
}
.uni-shadow-lg {
  box-shadow: 0px 1px 10px 2px rgba(165, 164, 164, 0.5);
}
.uni-mask {
  background-color: rgba(0, 0, 0, 0.4);
}
.uni-mt-0 {
  margin-top: 0px;
}
.uni-mt-n0 {
  margin-top: 0px;
}
.uni-mr-0 {
  margin-right: 0px;
}
.uni-mr-n0 {
  margin-right: 0px;
}
.uni-mb-0 {
  margin-bottom: 0px;
}
.uni-mb-n0 {
  margin-bottom: 0px;
}
.uni-ml-0 {
  margin-left: 0px;
}
.uni-ml-n0 {
  margin-left: 0px;
}
.uni-mx-0 {
  margin-left: 0px;
  margin-right: 0px;
}
.uni-mx-n0 {
  margin-left: 0px;
  margin-right: 0px;
}
.uni-my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.uni-my-n0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.uni-ma-0 {
  margin: 0px;
}
.uni-ma-n0 {
  margin: 0px;
}
.uni-mt-1 {
  margin-top: 2px;
}
.uni-mt-n1 {
  margin-top: -2px;
}
.uni-mr-1 {
  margin-right: 2px;
}
.uni-mr-n1 {
  margin-right: -2px;
}
.uni-mb-1 {
  margin-bottom: 2px;
}
.uni-mb-n1 {
  margin-bottom: -2px;
}
.uni-ml-1 {
  margin-left: 2px;
}
.uni-ml-n1 {
  margin-left: -2px;
}
.uni-mx-1 {
  margin-left: 2px;
  margin-right: 2px;
}
.uni-mx-n1 {
  margin-left: -2px;
  margin-right: -2px;
}
.uni-my-1 {
  margin-top: 2px;
  margin-bottom: 2px;
}
.uni-my-n1 {
  margin-top: -2px;
  margin-bottom: -2px;
}
.uni-ma-1 {
  margin: 2px;
}
.uni-ma-n1 {
  margin: -2px;
}
.uni-mt-2 {
  margin-top: 4px;
}
.uni-mt-n2 {
  margin-top: -4px;
}
.uni-mr-2 {
  margin-right: 4px;
}
.uni-mr-n2 {
  margin-right: -4px;
}
.uni-mb-2 {
  margin-bottom: 4px;
}
.uni-mb-n2 {
  margin-bottom: -4px;
}
.uni-ml-2 {
  margin-left: 4px;
}
.uni-ml-n2 {
  margin-left: -4px;
}
.uni-mx-2 {
  margin-left: 4px;
  margin-right: 4px;
}
.uni-mx-n2 {
  margin-left: -4px;
  margin-right: -4px;
}
.uni-my-2 {
  margin-top: 4px;
  margin-bottom: 4px;
}
.uni-my-n2 {
  margin-top: -4px;
  margin-bottom: -4px;
}
.uni-ma-2 {
  margin: 4px;
}
.uni-ma-n2 {
  margin: -4px;
}
.uni-mt-3 {
  margin-top: 6px;
}
.uni-mt-n3 {
  margin-top: -6px;
}
.uni-mr-3 {
  margin-right: 6px;
}
.uni-mr-n3 {
  margin-right: -6px;
}
.uni-mb-3 {
  margin-bottom: 6px;
}
.uni-mb-n3 {
  margin-bottom: -6px;
}
.uni-ml-3 {
  margin-left: 6px;
}
.uni-ml-n3 {
  margin-left: -6px;
}
.uni-mx-3 {
  margin-left: 6px;
  margin-right: 6px;
}
.uni-mx-n3 {
  margin-left: -6px;
  margin-right: -6px;
}
.uni-my-3 {
  margin-top: 6px;
  margin-bottom: 6px;
}
.uni-my-n3 {
  margin-top: -6px;
  margin-bottom: -6px;
}
.uni-ma-3 {
  margin: 6px;
}
.uni-ma-n3 {
  margin: -6px;
}
.uni-mt-4 {
  margin-top: 8px;
}
.uni-mt-n4 {
  margin-top: -8px;
}
.uni-mr-4 {
  margin-right: 8px;
}
.uni-mr-n4 {
  margin-right: -8px;
}
.uni-mb-4 {
  margin-bottom: 8px;
}
.uni-mb-n4 {
  margin-bottom: -8px;
}
.uni-ml-4 {
  margin-left: 8px;
}
.uni-ml-n4 {
  margin-left: -8px;
}
.uni-mx-4 {
  margin-left: 8px;
  margin-right: 8px;
}
.uni-mx-n4 {
  margin-left: -8px;
  margin-right: -8px;
}
.uni-my-4 {
  margin-top: 8px;
  margin-bottom: 8px;
}
.uni-my-n4 {
  margin-top: -8px;
  margin-bottom: -8px;
}
.uni-ma-4 {
  margin: 8px;
}
.uni-ma-n4 {
  margin: -8px;
}
.uni-mt-5 {
  margin-top: 10px;
}
.uni-mt-n5 {
  margin-top: -10px;
}
.uni-mr-5 {
  margin-right: 10px;
}
.uni-mr-n5 {
  margin-right: -10px;
}
.uni-mb-5 {
  margin-bottom: 10px;
}
.uni-mb-n5 {
  margin-bottom: -10px;
}
.uni-ml-5 {
  margin-left: 10px;
}
.uni-ml-n5 {
  margin-left: -10px;
}
.uni-mx-5 {
  margin-left: 10px;
  margin-right: 10px;
}
.uni-mx-n5 {
  margin-left: -10px;
  margin-right: -10px;
}
.uni-my-5 {
  margin-top: 10px;
  margin-bottom: 10px;
}
.uni-my-n5 {
  margin-top: -10px;
  margin-bottom: -10px;
}
.uni-ma-5 {
  margin: 10px;
}
.uni-ma-n5 {
  margin: -10px;
}
.uni-mt-6 {
  margin-top: 12px;
}
.uni-mt-n6 {
  margin-top: -12px;
}
.uni-mr-6 {
  margin-right: 12px;
}
.uni-mr-n6 {
  margin-right: -12px;
}
.uni-mb-6 {
  margin-bottom: 12px;
}
.uni-mb-n6 {
  margin-bottom: -12px;
}
.uni-ml-6 {
  margin-left: 12px;
}
.uni-ml-n6 {
  margin-left: -12px;
}
.uni-mx-6 {
  margin-left: 12px;
  margin-right: 12px;
}
.uni-mx-n6 {
  margin-left: -12px;
  margin-right: -12px;
}
.uni-my-6 {
  margin-top: 12px;
  margin-bottom: 12px;
}
.uni-my-n6 {
  margin-top: -12px;
  margin-bottom: -12px;
}
.uni-ma-6 {
  margin: 12px;
}
.uni-ma-n6 {
  margin: -12px;
}
.uni-mt-7 {
  margin-top: 14px;
}
.uni-mt-n7 {
  margin-top: -14px;
}
.uni-mr-7 {
  margin-right: 14px;
}
.uni-mr-n7 {
  margin-right: -14px;
}
.uni-mb-7 {
  margin-bottom: 14px;
}
.uni-mb-n7 {
  margin-bottom: -14px;
}
.uni-ml-7 {
  margin-left: 14px;
}
.uni-ml-n7 {
  margin-left: -14px;
}
.uni-mx-7 {
  margin-left: 14px;
  margin-right: 14px;
}
.uni-mx-n7 {
  margin-left: -14px;
  margin-right: -14px;
}
.uni-my-7 {
  margin-top: 14px;
  margin-bottom: 14px;
}
.uni-my-n7 {
  margin-top: -14px;
  margin-bottom: -14px;
}
.uni-ma-7 {
  margin: 14px;
}
.uni-ma-n7 {
  margin: -14px;
}
.uni-mt-8 {
  margin-top: 16px;
}
.uni-mt-n8 {
  margin-top: -16px;
}
.uni-mr-8 {
  margin-right: 16px;
}
.uni-mr-n8 {
  margin-right: -16px;
}
.uni-mb-8 {
  margin-bottom: 16px;
}
.uni-mb-n8 {
  margin-bottom: -16px;
}
.uni-ml-8 {
  margin-left: 16px;
}
.uni-ml-n8 {
  margin-left: -16px;
}
.uni-mx-8 {
  margin-left: 16px;
  margin-right: 16px;
}
.uni-mx-n8 {
  margin-left: -16px;
  margin-right: -16px;
}
.uni-my-8 {
  margin-top: 16px;
  margin-bottom: 16px;
}
.uni-my-n8 {
  margin-top: -16px;
  margin-bottom: -16px;
}
.uni-ma-8 {
  margin: 16px;
}
.uni-ma-n8 {
  margin: -16px;
}
.uni-mt-9 {
  margin-top: 18px;
}
.uni-mt-n9 {
  margin-top: -18px;
}
.uni-mr-9 {
  margin-right: 18px;
}
.uni-mr-n9 {
  margin-right: -18px;
}
.uni-mb-9 {
  margin-bottom: 18px;
}
.uni-mb-n9 {
  margin-bottom: -18px;
}
.uni-ml-9 {
  margin-left: 18px;
}
.uni-ml-n9 {
  margin-left: -18px;
}
.uni-mx-9 {
  margin-left: 18px;
  margin-right: 18px;
}
.uni-mx-n9 {
  margin-left: -18px;
  margin-right: -18px;
}
.uni-my-9 {
  margin-top: 18px;
  margin-bottom: 18px;
}
.uni-my-n9 {
  margin-top: -18px;
  margin-bottom: -18px;
}
.uni-ma-9 {
  margin: 18px;
}
.uni-ma-n9 {
  margin: -18px;
}
.uni-mt-10 {
  margin-top: 20px;
}
.uni-mt-n10 {
  margin-top: -20px;
}
.uni-mr-10 {
  margin-right: 20px;
}
.uni-mr-n10 {
  margin-right: -20px;
}
.uni-mb-10 {
  margin-bottom: 20px;
}
.uni-mb-n10 {
  margin-bottom: -20px;
}
.uni-ml-10 {
  margin-left: 20px;
}
.uni-ml-n10 {
  margin-left: -20px;
}
.uni-mx-10 {
  margin-left: 20px;
  margin-right: 20px;
}
.uni-mx-n10 {
  margin-left: -20px;
  margin-right: -20px;
}
.uni-my-10 {
  margin-top: 20px;
  margin-bottom: 20px;
}
.uni-my-n10 {
  margin-top: -20px;
  margin-bottom: -20px;
}
.uni-ma-10 {
  margin: 20px;
}
.uni-ma-n10 {
  margin: -20px;
}
.uni-mt-11 {
  margin-top: 22px;
}
.uni-mt-n11 {
  margin-top: -22px;
}
.uni-mr-11 {
  margin-right: 22px;
}
.uni-mr-n11 {
  margin-right: -22px;
}
.uni-mb-11 {
  margin-bottom: 22px;
}
.uni-mb-n11 {
  margin-bottom: -22px;
}
.uni-ml-11 {
  margin-left: 22px;
}
.uni-ml-n11 {
  margin-left: -22px;
}
.uni-mx-11 {
  margin-left: 22px;
  margin-right: 22px;
}
.uni-mx-n11 {
  margin-left: -22px;
  margin-right: -22px;
}
.uni-my-11 {
  margin-top: 22px;
  margin-bottom: 22px;
}
.uni-my-n11 {
  margin-top: -22px;
  margin-bottom: -22px;
}
.uni-ma-11 {
  margin: 22px;
}
.uni-ma-n11 {
  margin: -22px;
}
.uni-mt-12 {
  margin-top: 24px;
}
.uni-mt-n12 {
  margin-top: -24px;
}
.uni-mr-12 {
  margin-right: 24px;
}
.uni-mr-n12 {
  margin-right: -24px;
}
.uni-mb-12 {
  margin-bottom: 24px;
}
.uni-mb-n12 {
  margin-bottom: -24px;
}
.uni-ml-12 {
  margin-left: 24px;
}
.uni-ml-n12 {
  margin-left: -24px;
}
.uni-mx-12 {
  margin-left: 24px;
  margin-right: 24px;
}
.uni-mx-n12 {
  margin-left: -24px;
  margin-right: -24px;
}
.uni-my-12 {
  margin-top: 24px;
  margin-bottom: 24px;
}
.uni-my-n12 {
  margin-top: -24px;
  margin-bottom: -24px;
}
.uni-ma-12 {
  margin: 24px;
}
.uni-ma-n12 {
  margin: -24px;
}
.uni-mt-13 {
  margin-top: 26px;
}
.uni-mt-n13 {
  margin-top: -26px;
}
.uni-mr-13 {
  margin-right: 26px;
}
.uni-mr-n13 {
  margin-right: -26px;
}
.uni-mb-13 {
  margin-bottom: 26px;
}
.uni-mb-n13 {
  margin-bottom: -26px;
}
.uni-ml-13 {
  margin-left: 26px;
}
.uni-ml-n13 {
  margin-left: -26px;
}
.uni-mx-13 {
  margin-left: 26px;
  margin-right: 26px;
}
.uni-mx-n13 {
  margin-left: -26px;
  margin-right: -26px;
}
.uni-my-13 {
  margin-top: 26px;
  margin-bottom: 26px;
}
.uni-my-n13 {
  margin-top: -26px;
  margin-bottom: -26px;
}
.uni-ma-13 {
  margin: 26px;
}
.uni-ma-n13 {
  margin: -26px;
}
.uni-mt-14 {
  margin-top: 28px;
}
.uni-mt-n14 {
  margin-top: -28px;
}
.uni-mr-14 {
  margin-right: 28px;
}
.uni-mr-n14 {
  margin-right: -28px;
}
.uni-mb-14 {
  margin-bottom: 28px;
}
.uni-mb-n14 {
  margin-bottom: -28px;
}
.uni-ml-14 {
  margin-left: 28px;
}
.uni-ml-n14 {
  margin-left: -28px;
}
.uni-mx-14 {
  margin-left: 28px;
  margin-right: 28px;
}
.uni-mx-n14 {
  margin-left: -28px;
  margin-right: -28px;
}
.uni-my-14 {
  margin-top: 28px;
  margin-bottom: 28px;
}
.uni-my-n14 {
  margin-top: -28px;
  margin-bottom: -28px;
}
.uni-ma-14 {
  margin: 28px;
}
.uni-ma-n14 {
  margin: -28px;
}
.uni-mt-15 {
  margin-top: 30px;
}
.uni-mt-n15 {
  margin-top: -30px;
}
.uni-mr-15 {
  margin-right: 30px;
}
.uni-mr-n15 {
  margin-right: -30px;
}
.uni-mb-15 {
  margin-bottom: 30px;
}
.uni-mb-n15 {
  margin-bottom: -30px;
}
.uni-ml-15 {
  margin-left: 30px;
}
.uni-ml-n15 {
  margin-left: -30px;
}
.uni-mx-15 {
  margin-left: 30px;
  margin-right: 30px;
}
.uni-mx-n15 {
  margin-left: -30px;
  margin-right: -30px;
}
.uni-my-15 {
  margin-top: 30px;
  margin-bottom: 30px;
}
.uni-my-n15 {
  margin-top: -30px;
  margin-bottom: -30px;
}
.uni-ma-15 {
  margin: 30px;
}
.uni-ma-n15 {
  margin: -30px;
}
.uni-mt-16 {
  margin-top: 32px;
}
.uni-mt-n16 {
  margin-top: -32px;
}
.uni-mr-16 {
  margin-right: 32px;
}
.uni-mr-n16 {
  margin-right: -32px;
}
.uni-mb-16 {
  margin-bottom: 32px;
}
.uni-mb-n16 {
  margin-bottom: -32px;
}
.uni-ml-16 {
  margin-left: 32px;
}
.uni-ml-n16 {
  margin-left: -32px;
}
.uni-mx-16 {
  margin-left: 32px;
  margin-right: 32px;
}
.uni-mx-n16 {
  margin-left: -32px;
  margin-right: -32px;
}
.uni-my-16 {
  margin-top: 32px;
  margin-bottom: 32px;
}
.uni-my-n16 {
  margin-top: -32px;
  margin-bottom: -32px;
}
.uni-ma-16 {
  margin: 32px;
}
.uni-ma-n16 {
  margin: -32px;
}
.uni-pt-0 {
  padding-top: 0px;
}
.uni-pt-n0 {
  padding-top: 0px;
}
.uni-pr-0 {
  padding-right: 0px;
}
.uni-pr-n0 {
  padding-right: 0px;
}
.uni-pb-0 {
  padding-bottom: 0px;
}
.uni-pb-n0 {
  padding-bottom: 0px;
}
.uni-pl-0 {
  padding-left: 0px;
}
.uni-pl-n0 {
  padding-left: 0px;
}
.uni-px-0 {
  padding-left: 0px;
  padding-right: 0px;
}
.uni-px-n0 {
  padding-left: 0px;
  padding-right: 0px;
}
.uni-py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.uni-py-n0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.uni-pa-0 {
  padding: 0px;
}
.uni-pa-n0 {
  padding: 0px;
}
.uni-pt-1 {
  padding-top: 2px;
}
.uni-pt-n1 {
  padding-top: -2px;
}
.uni-pr-1 {
  padding-right: 2px;
}
.uni-pr-n1 {
  padding-right: -2px;
}
.uni-pb-1 {
  padding-bottom: 2px;
}
.uni-pb-n1 {
  padding-bottom: -2px;
}
.uni-pl-1 {
  padding-left: 2px;
}
.uni-pl-n1 {
  padding-left: -2px;
}
.uni-px-1 {
  padding-left: 2px;
  padding-right: 2px;
}
.uni-px-n1 {
  padding-left: -2px;
  padding-right: -2px;
}
.uni-py-1 {
  padding-top: 2px;
  padding-bottom: 2px;
}
.uni-py-n1 {
  padding-top: -2px;
  padding-bottom: -2px;
}
.uni-pa-1 {
  padding: 2px;
}
.uni-pa-n1 {
  padding: -2px;
}
.uni-pt-2 {
  padding-top: 4px;
}
.uni-pt-n2 {
  padding-top: -4px;
}
.uni-pr-2 {
  padding-right: 4px;
}
.uni-pr-n2 {
  padding-right: -4px;
}
.uni-pb-2 {
  padding-bottom: 4px;
}
.uni-pb-n2 {
  padding-bottom: -4px;
}
.uni-pl-2 {
  padding-left: 4px;
}
.uni-pl-n2 {
  padding-left: -4px;
}
.uni-px-2 {
  padding-left: 4px;
  padding-right: 4px;
}
.uni-px-n2 {
  padding-left: -4px;
  padding-right: -4px;
}
.uni-py-2 {
  padding-top: 4px;
  padding-bottom: 4px;
}
.uni-py-n2 {
  padding-top: -4px;
  padding-bottom: -4px;
}
.uni-pa-2 {
  padding: 4px;
}
.uni-pa-n2 {
  padding: -4px;
}
.uni-pt-3 {
  padding-top: 6px;
}
.uni-pt-n3 {
  padding-top: -6px;
}
.uni-pr-3 {
  padding-right: 6px;
}
.uni-pr-n3 {
  padding-right: -6px;
}
.uni-pb-3 {
  padding-bottom: 6px;
}
.uni-pb-n3 {
  padding-bottom: -6px;
}
.uni-pl-3 {
  padding-left: 6px;
}
.uni-pl-n3 {
  padding-left: -6px;
}
.uni-px-3 {
  padding-left: 6px;
  padding-right: 6px;
}
.uni-px-n3 {
  padding-left: -6px;
  padding-right: -6px;
}
.uni-py-3 {
  padding-top: 6px;
  padding-bottom: 6px;
}
.uni-py-n3 {
  padding-top: -6px;
  padding-bottom: -6px;
}
.uni-pa-3 {
  padding: 6px;
}
.uni-pa-n3 {
  padding: -6px;
}
.uni-pt-4 {
  padding-top: 8px;
}
.uni-pt-n4 {
  padding-top: -8px;
}
.uni-pr-4 {
  padding-right: 8px;
}
.uni-pr-n4 {
  padding-right: -8px;
}
.uni-pb-4 {
  padding-bottom: 8px;
}
.uni-pb-n4 {
  padding-bottom: -8px;
}
.uni-pl-4 {
  padding-left: 8px;
}
.uni-pl-n4 {
  padding-left: -8px;
}
.uni-px-4 {
  padding-left: 8px;
  padding-right: 8px;
}
.uni-px-n4 {
  padding-left: -8px;
  padding-right: -8px;
}
.uni-py-4 {
  padding-top: 8px;
  padding-bottom: 8px;
}
.uni-py-n4 {
  padding-top: -8px;
  padding-bottom: -8px;
}
.uni-pa-4 {
  padding: 8px;
}
.uni-pa-n4 {
  padding: -8px;
}
.uni-pt-5 {
  padding-top: 10px;
}
.uni-pt-n5 {
  padding-top: -10px;
}
.uni-pr-5 {
  padding-right: 10px;
}
.uni-pr-n5 {
  padding-right: -10px;
}
.uni-pb-5 {
  padding-bottom: 10px;
}
.uni-pb-n5 {
  padding-bottom: -10px;
}
.uni-pl-5 {
  padding-left: 10px;
}
.uni-pl-n5 {
  padding-left: -10px;
}
.uni-px-5 {
  padding-left: 10px;
  padding-right: 10px;
}
.uni-px-n5 {
  padding-left: -10px;
  padding-right: -10px;
}
.uni-py-5 {
  padding-top: 10px;
  padding-bottom: 10px;
}
.uni-py-n5 {
  padding-top: -10px;
  padding-bottom: -10px;
}
.uni-pa-5 {
  padding: 10px;
}
.uni-pa-n5 {
  padding: -10px;
}
.uni-pt-6 {
  padding-top: 12px;
}
.uni-pt-n6 {
  padding-top: -12px;
}
.uni-pr-6 {
  padding-right: 12px;
}
.uni-pr-n6 {
  padding-right: -12px;
}
.uni-pb-6 {
  padding-bottom: 12px;
}
.uni-pb-n6 {
  padding-bottom: -12px;
}
.uni-pl-6 {
  padding-left: 12px;
}
.uni-pl-n6 {
  padding-left: -12px;
}
.uni-px-6 {
  padding-left: 12px;
  padding-right: 12px;
}
.uni-px-n6 {
  padding-left: -12px;
  padding-right: -12px;
}
.uni-py-6 {
  padding-top: 12px;
  padding-bottom: 12px;
}
.uni-py-n6 {
  padding-top: -12px;
  padding-bottom: -12px;
}
.uni-pa-6 {
  padding: 12px;
}
.uni-pa-n6 {
  padding: -12px;
}
.uni-pt-7 {
  padding-top: 14px;
}
.uni-pt-n7 {
  padding-top: -14px;
}
.uni-pr-7 {
  padding-right: 14px;
}
.uni-pr-n7 {
  padding-right: -14px;
}
.uni-pb-7 {
  padding-bottom: 14px;
}
.uni-pb-n7 {
  padding-bottom: -14px;
}
.uni-pl-7 {
  padding-left: 14px;
}
.uni-pl-n7 {
  padding-left: -14px;
}
.uni-px-7 {
  padding-left: 14px;
  padding-right: 14px;
}
.uni-px-n7 {
  padding-left: -14px;
  padding-right: -14px;
}
.uni-py-7 {
  padding-top: 14px;
  padding-bottom: 14px;
}
.uni-py-n7 {
  padding-top: -14px;
  padding-bottom: -14px;
}
.uni-pa-7 {
  padding: 14px;
}
.uni-pa-n7 {
  padding: -14px;
}
.uni-pt-8 {
  padding-top: 16px;
}
.uni-pt-n8 {
  padding-top: -16px;
}
.uni-pr-8 {
  padding-right: 16px;
}
.uni-pr-n8 {
  padding-right: -16px;
}
.uni-pb-8 {
  padding-bottom: 16px;
}
.uni-pb-n8 {
  padding-bottom: -16px;
}
.uni-pl-8 {
  padding-left: 16px;
}
.uni-pl-n8 {
  padding-left: -16px;
}
.uni-px-8 {
  padding-left: 16px;
  padding-right: 16px;
}
.uni-px-n8 {
  padding-left: -16px;
  padding-right: -16px;
}
.uni-py-8 {
  padding-top: 16px;
  padding-bottom: 16px;
}
.uni-py-n8 {
  padding-top: -16px;
  padding-bottom: -16px;
}
.uni-pa-8 {
  padding: 16px;
}
.uni-pa-n8 {
  padding: -16px;
}
.uni-pt-9 {
  padding-top: 18px;
}
.uni-pt-n9 {
  padding-top: -18px;
}
.uni-pr-9 {
  padding-right: 18px;
}
.uni-pr-n9 {
  padding-right: -18px;
}
.uni-pb-9 {
  padding-bottom: 18px;
}
.uni-pb-n9 {
  padding-bottom: -18px;
}
.uni-pl-9 {
  padding-left: 18px;
}
.uni-pl-n9 {
  padding-left: -18px;
}
.uni-px-9 {
  padding-left: 18px;
  padding-right: 18px;
}
.uni-px-n9 {
  padding-left: -18px;
  padding-right: -18px;
}
.uni-py-9 {
  padding-top: 18px;
  padding-bottom: 18px;
}
.uni-py-n9 {
  padding-top: -18px;
  padding-bottom: -18px;
}
.uni-pa-9 {
  padding: 18px;
}
.uni-pa-n9 {
  padding: -18px;
}
.uni-pt-10 {
  padding-top: 20px;
}
.uni-pt-n10 {
  padding-top: -20px;
}
.uni-pr-10 {
  padding-right: 20px;
}
.uni-pr-n10 {
  padding-right: -20px;
}
.uni-pb-10 {
  padding-bottom: 20px;
}
.uni-pb-n10 {
  padding-bottom: -20px;
}
.uni-pl-10 {
  padding-left: 20px;
}
.uni-pl-n10 {
  padding-left: -20px;
}
.uni-px-10 {
  padding-left: 20px;
  padding-right: 20px;
}
.uni-px-n10 {
  padding-left: -20px;
  padding-right: -20px;
}
.uni-py-10 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.uni-py-n10 {
  padding-top: -20px;
  padding-bottom: -20px;
}
.uni-pa-10 {
  padding: 20px;
}
.uni-pa-n10 {
  padding: -20px;
}
.uni-pt-11 {
  padding-top: 22px;
}
.uni-pt-n11 {
  padding-top: -22px;
}
.uni-pr-11 {
  padding-right: 22px;
}
.uni-pr-n11 {
  padding-right: -22px;
}
.uni-pb-11 {
  padding-bottom: 22px;
}
.uni-pb-n11 {
  padding-bottom: -22px;
}
.uni-pl-11 {
  padding-left: 22px;
}
.uni-pl-n11 {
  padding-left: -22px;
}
.uni-px-11 {
  padding-left: 22px;
  padding-right: 22px;
}
.uni-px-n11 {
  padding-left: -22px;
  padding-right: -22px;
}
.uni-py-11 {
  padding-top: 22px;
  padding-bottom: 22px;
}
.uni-py-n11 {
  padding-top: -22px;
  padding-bottom: -22px;
}
.uni-pa-11 {
  padding: 22px;
}
.uni-pa-n11 {
  padding: -22px;
}
.uni-pt-12 {
  padding-top: 24px;
}
.uni-pt-n12 {
  padding-top: -24px;
}
.uni-pr-12 {
  padding-right: 24px;
}
.uni-pr-n12 {
  padding-right: -24px;
}
.uni-pb-12 {
  padding-bottom: 24px;
}
.uni-pb-n12 {
  padding-bottom: -24px;
}
.uni-pl-12 {
  padding-left: 24px;
}
.uni-pl-n12 {
  padding-left: -24px;
}
.uni-px-12 {
  padding-left: 24px;
  padding-right: 24px;
}
.uni-px-n12 {
  padding-left: -24px;
  padding-right: -24px;
}
.uni-py-12 {
  padding-top: 24px;
  padding-bottom: 24px;
}
.uni-py-n12 {
  padding-top: -24px;
  padding-bottom: -24px;
}
.uni-pa-12 {
  padding: 24px;
}
.uni-pa-n12 {
  padding: -24px;
}
.uni-pt-13 {
  padding-top: 26px;
}
.uni-pt-n13 {
  padding-top: -26px;
}
.uni-pr-13 {
  padding-right: 26px;
}
.uni-pr-n13 {
  padding-right: -26px;
}
.uni-pb-13 {
  padding-bottom: 26px;
}
.uni-pb-n13 {
  padding-bottom: -26px;
}
.uni-pl-13 {
  padding-left: 26px;
}
.uni-pl-n13 {
  padding-left: -26px;
}
.uni-px-13 {
  padding-left: 26px;
  padding-right: 26px;
}
.uni-px-n13 {
  padding-left: -26px;
  padding-right: -26px;
}
.uni-py-13 {
  padding-top: 26px;
  padding-bottom: 26px;
}
.uni-py-n13 {
  padding-top: -26px;
  padding-bottom: -26px;
}
.uni-pa-13 {
  padding: 26px;
}
.uni-pa-n13 {
  padding: -26px;
}
.uni-pt-14 {
  padding-top: 28px;
}
.uni-pt-n14 {
  padding-top: -28px;
}
.uni-pr-14 {
  padding-right: 28px;
}
.uni-pr-n14 {
  padding-right: -28px;
}
.uni-pb-14 {
  padding-bottom: 28px;
}
.uni-pb-n14 {
  padding-bottom: -28px;
}
.uni-pl-14 {
  padding-left: 28px;
}
.uni-pl-n14 {
  padding-left: -28px;
}
.uni-px-14 {
  padding-left: 28px;
  padding-right: 28px;
}
.uni-px-n14 {
  padding-left: -28px;
  padding-right: -28px;
}
.uni-py-14 {
  padding-top: 28px;
  padding-bottom: 28px;
}
.uni-py-n14 {
  padding-top: -28px;
  padding-bottom: -28px;
}
.uni-pa-14 {
  padding: 28px;
}
.uni-pa-n14 {
  padding: -28px;
}
.uni-pt-15 {
  padding-top: 30px;
}
.uni-pt-n15 {
  padding-top: -30px;
}
.uni-pr-15 {
  padding-right: 30px;
}
.uni-pr-n15 {
  padding-right: -30px;
}
.uni-pb-15 {
  padding-bottom: 30px;
}
.uni-pb-n15 {
  padding-bottom: -30px;
}
.uni-pl-15 {
  padding-left: 30px;
}
.uni-pl-n15 {
  padding-left: -30px;
}
.uni-px-15 {
  padding-left: 30px;
  padding-right: 30px;
}
.uni-px-n15 {
  padding-left: -30px;
  padding-right: -30px;
}
.uni-py-15 {
  padding-top: 30px;
  padding-bottom: 30px;
}
.uni-py-n15 {
  padding-top: -30px;
  padding-bottom: -30px;
}
.uni-pa-15 {
  padding: 30px;
}
.uni-pa-n15 {
  padding: -30px;
}
.uni-pt-16 {
  padding-top: 32px;
}
.uni-pt-n16 {
  padding-top: -32px;
}
.uni-pr-16 {
  padding-right: 32px;
}
.uni-pr-n16 {
  padding-right: -32px;
}
.uni-pb-16 {
  padding-bottom: 32px;
}
.uni-pb-n16 {
  padding-bottom: -32px;
}
.uni-pl-16 {
  padding-left: 32px;
}
.uni-pl-n16 {
  padding-left: -32px;
}
.uni-px-16 {
  padding-left: 32px;
  padding-right: 32px;
}
.uni-px-n16 {
  padding-left: -32px;
  padding-right: -32px;
}
.uni-py-16 {
  padding-top: 32px;
  padding-bottom: 32px;
}
.uni-py-n16 {
  padding-top: -32px;
  padding-bottom: -32px;
}
.uni-pa-16 {
  padding: 32px;
}
.uni-pa-n16 {
  padding: -32px;
}
.uni-radius-0 {
  border-radius: 0;
}
.uni-radius {
  border-radius: 5px;
}
.uni-radius-lg {
  border-radius: 10px;
}
.uni-radius-xl {
  border-radius: 30px;
}
.uni-radius-pill {
  border-radius: 9999px;
}
.uni-radius-circle {
  border-radius: 50%;
}
.uni-radius-t-0 {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.uni-radius-t {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.uni-radius-t-lg {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.uni-radius-t-xl {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}
.uni-radius-t-pill {
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}
.uni-radius-t-circle {
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
}
.uni-radius-r-0 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.uni-radius-r {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.uni-radius-r-lg {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.uni-radius-r-xl {
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}
.uni-radius-r-pill {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.uni-radius-r-circle {
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
}
.uni-radius-b-0 {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.uni-radius-b {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.uni-radius-b-lg {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.uni-radius-b-xl {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.uni-radius-b-pill {
  border-bottom-left-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.uni-radius-b-circle {
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
}
.uni-radius-l-0 {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.uni-radius-l {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.uni-radius-l-lg {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.uni-radius-l-xl {
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}
.uni-radius-l-pill {
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.uni-radius-l-circle {
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
}
.uni-radius-tl-0 {
  border-top-left-radius: 0;
}
.uni-radius-tl {
  border-top-left-radius: 5px;
}
.uni-radius-tl-lg {
  border-top-left-radius: 10px;
}
.uni-radius-tl-xl {
  border-top-left-radius: 30px;
}
.uni-radius-tl-pill {
  border-top-left-radius: 9999px;
}
.uni-radius-tl-circle {
  border-top-left-radius: 50%;
}
.uni-radius-tr-0 {
  border-top-right-radius: 0;
}
.uni-radius-tr {
  border-top-right-radius: 5px;
}
.uni-radius-tr-lg {
  border-top-right-radius: 10px;
}
.uni-radius-tr-xl {
  border-top-right-radius: 30px;
}
.uni-radius-tr-pill {
  border-top-right-radius: 9999px;
}
.uni-radius-tr-circle {
  border-top-right-radius: 50%;
}
.uni-radius-br-0 {
  border-bottom-right-radius: 0;
}
.uni-radius-br {
  border-bottom-right-radius: 5px;
}
.uni-radius-br-lg {
  border-bottom-right-radius: 10px;
}
.uni-radius-br-xl {
  border-bottom-right-radius: 30px;
}
.uni-radius-br-pill {
  border-bottom-right-radius: 9999px;
}
.uni-radius-br-circle {
  border-bottom-right-radius: 50%;
}
.uni-radius-bl-0 {
  border-bottom-left-radius: 0;
}
.uni-radius-bl {
  border-bottom-left-radius: 5px;
}
.uni-radius-bl-lg {
  border-bottom-left-radius: 10px;
}
.uni-radius-bl-xl {
  border-bottom-left-radius: 30px;
}
.uni-radius-bl-pill {
  border-bottom-left-radius: 9999px;
}
.uni-radius-bl-circle {
  border-bottom-left-radius: 50%;
}
.uni-h1 {
  font-size: 32px;
  font-weight: 300;
  line-height: 50px;
}
.uni-h2 {
  font-size: 28px;
  font-weight: 300;
  line-height: 40px;
}
.uni-h3 {
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
}
.uni-h4 {
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}
.uni-h5 {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}
.uni-h6 {
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
}
.uni-subtitle {
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}
.uni-body {
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
}
.uni-caption {
  font-size: 12px;
  font-weight: 400;
  line-height: 20px;
}
.uni-btn {
  margin: 5px;
  color: #393939;
  border: 1px solid #ccc;
  font-size: 16px;
  font-weight: 200;
  background-color: #F9F9F9;
  overflow: visible;
}
.uni-btn::after {
  border: none;
}
.uni-btn:not([type]), .uni-btn[type=default] {
  color: #999;
}
.uni-btn:not([type])[loading], .uni-btn[type=default][loading] {
  background: none;
}
.uni-btn:not([type])[loading]::before, .uni-btn[type=default][loading]::before {
  margin-right: 5px;
}
.uni-btn:not([type])[disabled], .uni-btn[type=default][disabled] {
  color: #d6d6d6;
}
.uni-btn:not([type])[disabled], .uni-btn:not([type])[disabled][loading], .uni-btn:not([type])[disabled]:active, .uni-btn[type=default][disabled], .uni-btn[type=default][disabled][loading], .uni-btn[type=default][disabled]:active {
  color: #d6d6d6;
  background-color: #fafafa;
  border-color: #f0f0f0;
}
.uni-btn:not([type])[plain], .uni-btn[type=default][plain] {
  color: #999;
  background: none;
  border-color: #F0F0F0;
}
.uni-btn:not([type])[plain]:not([hover-class]):active, .uni-btn[type=default][plain]:not([hover-class]):active {
  background: none;
  color: #cccccc;
  border-color: #e6e6e6;
  outline: none;
}
.uni-btn:not([type])[plain][disabled], .uni-btn:not([type])[plain][disabled][loading], .uni-btn:not([type])[plain][disabled]:active, .uni-btn[type=default][plain][disabled], .uni-btn[type=default][plain][disabled][loading], .uni-btn[type=default][plain][disabled]:active {
  background: none;
  color: #d6d6d6;
  border-color: #f0f0f0;
}
.uni-btn:not([hover-class]):active {
  color: gray;
}
.uni-btn[size=mini] {
  font-size: 16px;
  font-weight: 200;
  border-radius: 8px;
}
.uni-btn.uni-btn-small {
  font-size: 14px;
}
.uni-btn.uni-btn-mini {
  font-size: 12px;
}
.uni-btn.uni-btn-radius {
  border-radius: 999px;
}
.uni-btn[type=primary] {
  color: #fff;
  background-color: #2979ff;
  border-color: #266feb;
}
.uni-btn[type=primary]:not([hover-class]):active {
  background: #256de6;
  border-color: #2161cc;
  color: #fff;
  outline: none;
}
.uni-btn[type=primary][loading] {
  color: #fff;
  background-color: #2979ff;
  border-color: #266feb;
}
.uni-btn[type=primary][loading]:not([hover-class]):active {
  background: #256de6;
  border-color: #2161cc;
  color: #fff;
  outline: none;
}
.uni-btn[type=primary][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=primary][disabled], .uni-btn[type=primary][disabled][loading], .uni-btn[type=primary][disabled]:not([hover-class]):active {
  color: #fff;
  border-color: #80aefa;
  background-color: #94bcff;
}
.uni-btn[type=primary][plain] {
  color: #2979ff;
  background-color: #eaf2ff;
  border-color: #bfd7ff;
}
.uni-btn[type=primary][plain]:not([hover-class]):active {
  background: #d4e4ff;
  color: #2979ff;
  outline: none;
  border-color: #94bcff;
}
.uni-btn[type=primary][plain][loading] {
  color: #2979ff;
  background-color: #eaf2ff;
  border-color: #bfd7ff;
}
.uni-btn[type=primary][plain][loading]:not([hover-class]):active {
  background: #d4e4ff;
  color: #2979ff;
  outline: none;
  border-color: #94bcff;
}
.uni-btn[type=primary][plain][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=primary][plain][disabled], .uni-btn[type=primary][plain][disabled]:active {
  color: #7fafff;
  background-color: #eaf2ff;
  border-color: #d4e4ff;
}
.uni-btn[type=success] {
  color: #fff;
  background-color: #18bc37;
  border-color: #16ad33;
}
.uni-btn[type=success]:not([hover-class]):active {
  background: #16a932;
  border-color: #13962c;
  color: #fff;
  outline: none;
}
.uni-btn[type=success][loading] {
  color: #fff;
  background-color: #18bc37;
  border-color: #16ad33;
}
.uni-btn[type=success][loading]:not([hover-class]):active {
  background: #16a932;
  border-color: #13962c;
  color: #fff;
  outline: none;
}
.uni-btn[type=success][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=success][disabled], .uni-btn[type=success][disabled][loading], .uni-btn[type=success][disabled]:not([hover-class]):active {
  color: #fff;
  border-color: #89c795;
  background-color: #8cde9b;
}
.uni-btn[type=success][plain] {
  color: #18bc37;
  background-color: #e8f8eb;
  border-color: #baebc3;
}
.uni-btn[type=success][plain]:not([hover-class]):active {
  background: #d1f2d7;
  color: #18bc37;
  outline: none;
  border-color: #8cde9b;
}
.uni-btn[type=success][plain][loading] {
  color: #18bc37;
  background-color: #e8f8eb;
  border-color: #baebc3;
}
.uni-btn[type=success][plain][loading]:not([hover-class]):active {
  background: #d1f2d7;
  color: #18bc37;
  outline: none;
  border-color: #8cde9b;
}
.uni-btn[type=success][plain][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=success][plain][disabled], .uni-btn[type=success][plain][disabled]:active {
  color: #74d787;
  background-color: #e8f8eb;
  border-color: #d1f2d7;
}
.uni-btn[type=error] {
  color: #fff;
  background-color: #e43d33;
  border-color: #d2382f;
}
.uni-btn[type=error]:not([hover-class]):active {
  background: #cd372e;
  border-color: #b63129;
  color: #fff;
  outline: none;
}
.uni-btn[type=error][loading] {
  color: #fff;
  background-color: #e43d33;
  border-color: #d2382f;
}
.uni-btn[type=error][loading]:not([hover-class]):active {
  background: #cd372e;
  border-color: #b63129;
  color: #fff;
  outline: none;
}
.uni-btn[type=error][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=error][disabled], .uni-btn[type=error][disabled][loading], .uni-btn[type=error][disabled]:not([hover-class]):active {
  color: #fff;
  border-color: #e4928d;
  background-color: #f29e99;
}
.uni-btn[type=error][plain] {
  color: #e43d33;
  background-color: #fceceb;
  border-color: #f7c5c2;
}
.uni-btn[type=error][plain]:not([hover-class]):active {
  background: #fad8d6;
  color: #e43d33;
  outline: none;
  border-color: #f29e99;
}
.uni-btn[type=error][plain][loading] {
  color: #e43d33;
  background-color: #fceceb;
  border-color: #f7c5c2;
}
.uni-btn[type=error][plain][loading]:not([hover-class]):active {
  background: #fad8d6;
  color: #e43d33;
  outline: none;
  border-color: #f29e99;
}
.uni-btn[type=error][plain][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=error][plain][disabled], .uni-btn[type=error][plain][disabled]:active {
  color: #ef8b85;
  background-color: #fceceb;
  border-color: #fad8d6;
}
.uni-btn[type=warning] {
  color: #fff;
  background-color: #f3a73f;
  border-color: #e09a3a;
}
.uni-btn[type=warning]:not([hover-class]):active {
  background: #db9639;
  border-color: #c28632;
  color: #fff;
  outline: none;
}
.uni-btn[type=warning][loading] {
  color: #fff;
  background-color: #f3a73f;
  border-color: #e09a3a;
}
.uni-btn[type=warning][loading]:not([hover-class]):active {
  background: #db9639;
  border-color: #c28632;
  color: #fff;
  outline: none;
}
.uni-btn[type=warning][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=warning][disabled], .uni-btn[type=warning][disabled][loading], .uni-btn[type=warning][disabled]:not([hover-class]):active {
  color: #fff;
  border-color: #f8c887;
  background-color: #f9d39f;
}
.uni-btn[type=warning][plain] {
  color: #f3a73f;
  background-color: #fef6ec;
  border-color: #fbe5c5;
}
.uni-btn[type=warning][plain]:not([hover-class]):active {
  background: #fdedd9;
  color: #f3a73f;
  outline: none;
  border-color: #f9d39f;
}
.uni-btn[type=warning][plain][loading] {
  color: #f3a73f;
  background-color: #fef6ec;
  border-color: #fbe5c5;
}
.uni-btn[type=warning][plain][loading]:not([hover-class]):active {
  background: #fdedd9;
  color: #f3a73f;
  outline: none;
  border-color: #f9d39f;
}
.uni-btn[type=warning][plain][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=warning][plain][disabled], .uni-btn[type=warning][plain][disabled]:active {
  color: #f8ca8c;
  background-color: #fef6ec;
  border-color: #fdedd9;
}
.uni-btn[type=info] {
  color: #fff;
  background-color: #8f939c;
  border-color: #848790;
}
.uni-btn[type=info]:not([hover-class]):active {
  background: #81848c;
  border-color: #72767d;
  color: #fff;
  outline: none;
}
.uni-btn[type=info][loading] {
  color: #fff;
  background-color: #8f939c;
  border-color: #848790;
}
.uni-btn[type=info][loading]:not([hover-class]):active {
  background: #81848c;
  border-color: #72767d;
  color: #fff;
  outline: none;
}
.uni-btn[type=info][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=info][disabled], .uni-btn[type=info][disabled][loading], .uni-btn[type=info][disabled]:not([hover-class]):active {
  color: #fff;
  border-color: #babcc2;
  background-color: #c7c9ce;
}
.uni-btn[type=info][plain] {
  color: #8f939c;
  background-color: #f4f4f5;
  border-color: #dddfe1;
}
.uni-btn[type=info][plain]:not([hover-class]):active {
  background: #e9e9eb;
  color: #8f939c;
  outline: none;
  border-color: #c7c9ce;
}
.uni-btn[type=info][plain][loading] {
  color: #8f939c;
  background-color: #f4f4f5;
  border-color: #dddfe1;
}
.uni-btn[type=info][plain][loading]:not([hover-class]):active {
  background: #e9e9eb;
  color: #8f939c;
  outline: none;
  border-color: #c7c9ce;
}
.uni-btn[type=info][plain][loading]::before {
  margin-right: 5px;
}
.uni-btn[type=info][plain][disabled], .uni-btn[type=info][plain][disabled]:active {
  color: #bcbec4;
  background-color: #f4f4f5;
  border-color: #e9e9eb;
}/**
 * @description UniApp H5 端样式修复
 * @problem 解决 uni-view、uni-easyinput 等组件在本地和线上显示不一致的问题
 * @solution 强制覆盖线上环境被压缩的样式
 */

/* ==================== 基础重置 ==================== */
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==================== 行高修复 - 防止文本压缩 ==================== */
body {
  line-height: 1.5 !important;
}

* {
  line-height: inherit;
}

/* 强制文本元素行高 */
uni-text,
uni-view,
.uni-view,
uni-view,
.uni-text {
  line-height: 1.5;
}

/* ==================== 强制显示所有表单元素 ==================== */
uni-input[type="text"],
uni-input[type="number"],
uni-input[type="email"],
uni-input[type="password"],
uni-textarea {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
}

/* ==================== uni-view 修复 ==================== */
uni-view {
  display: block;
  box-sizing: border-box;
}

/* ==================== uni-easyinput 修复 ==================== */
.uni-easyinput {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  line-height: 1.5;
}

.uni-easyinput__content {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  min-height: 40px;
  background-color: #f5f5f5;
  border-radius: 4px;
  padding: 0 12px;
  line-height: 1.5;
}

.uni-easyinput__content-input {
  flex: 1;
  width: 100%;
  height: 40px;
  min-height: 40px;
  line-height: 40px;
  font-size: 14px;
  color: #333;
  background: transparent;
  border: none;
  outline: none;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  /* 防止输入框被压缩 */
  position: relative;
  z-index: 1;
}

.uni-easyinput__content-input::-webkit-input-placeholder {
  color: #999;
  line-height: 40px;
}

.uni-easyinput__content-input::placeholder {
  color: #999;
  line-height: 40px;
}

/* 禁用状态 */
.uni-easyinput--disabled .uni-easyinput__content {
  background-color: #e8e8e8;
}

.uni-easyinput--disabled .uni-easyinput__content-input {
  color: #999;
  cursor: not-allowed;
}

/* ==================== uni-forms 修复 - 行距问题 ==================== */
.uni-forms-item {
  display: flex !important;
  flex-direction: column;
  margin-bottom: 16px;
  line-height: 1.5;
}

.uni-forms-item__label {
  display: flex !important;
  align-items: center;
  min-height: 32px;
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.5;
  /* 防止标签被压缩 */
  white-space: nowrap;
}

.uni-forms-item__content {
  display: flex !important;
  flex-direction: column;
  min-height: 40px;
  line-height: 1.5;
}

/* ==================== picker 修复 - 点击问题 ==================== */
uni-picker {
  display: block;
  width: 100%;
  position: relative;
}

uni-picker .uni-picker-toggle {
  position: relative;
  z-index: 10;
}

/* picker 值显示区域 */
.picker-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 0 12px;
  background: #f5f5f5;
  border-radius: 4px;
  font-size: 14px;
  line-height: 40px;
  cursor: pointer;
  position: relative;
}

/* ==================== uni-data-select 修复 ==================== */
.uni-data-select {
  display: flex;
  flex-direction: column;
  width: 100%;
  line-height: 1.5;
}

.uni-data-select__input-box {
  display: flex;
  align-items: center;
  min-height: 40px;
  background-color: #f5f5f5;
  border-radius: 4px;
  padding: 0 12px;
  line-height: 1.5;
}

.uni-data-select__input-text {
  flex: 1;
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}

/* ==================== 输入框通用修复 ==================== */
uni-input,
uni-textarea,
.uni-input,
.uni-textarea {
  font-size: 14px;
  line-height: 1.5;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  background: transparent;
}

uni-input:focus,
uni-textarea:focus {
  outline: none;
}

/* ==================== 修复 scoped 样式深度选择器问题 ==================== */
/* 使用属性选择器确保样式优先级 */
[class*="uni-forms"] {
  line-height: 1.5;
}

[class*="uni-easyinput"] {
  line-height: 1.5;
}

/* ==================== 微信H5特殊修复 ==================== */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .uni-easyinput__content-input,
  .uni-input,
  uni-input[type="text"],
  uni-input[type="number"],
  uni-input[type="email"] {
    -webkit-appearance: none;
    appearance: none;
    line-height: normal;
    /* 修复 iOS 输入框定位问题 */
    position: relative;
    top: 0;
    left: 0;
  }
  
  /* 修复 iOS 行高问题 */
  body {
    line-height: 1.5 !important;
  }
}

/* ==================== PC端适配 ==================== */
@media screen and (min-width: 768px) {
  .uni-easyinput__content {
    min-height: 40px;
  }
  
  .uni-easyinput__content-input {
    height: 40px;
    min-height: 40px;
    line-height: 40px;
  }
  
  .uni-forms-item__label {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* ==================== 防止 CSS 被压缩的保险样式 ==================== */
/* 使用 !important 确保关键样式不被覆盖 */
.form-fix-line-height {
  line-height: 1.5 !important;
}

.form-fix-display {
  display: flex !important;
}

.form-fix-visible {
  visibility: visible !important;
  opacity: 1 !important;
}

/* 修复 flex 布局被压缩 */
.flex-fix {
  display: flex;
  flex-shrink: 0;
}

.flex-1-fix {
  flex: 1;
  min-width: 0;
  min-height: 0;
}
/**
 * @description 全局 rpx 样式修复 - H5 线上环境
 * @solution 覆盖所有 rpx 单位样式，确保线上与线下一致
 * @note 此文件在 main.js 中全局引入，无需修改各个页面
 */

/* ==================== rpx 转 px 的全局映射 ==================== */
/* 基于 750px 设计稿，1rpx = 0.5px (在标准 375px 设备上) */

/* 4rpx = 2px */
[style*="rpx"],
[class*="rpx"] {
  /* 确保 rpx 样式被正确处理 */
  box-sizing: border-box;
}

/* ==================== 常用 rpx 值强制映射 ==================== */

/* 间距类 - 修复 margin/padding */
[style*="margin:"][style*="rpx"],
[style*="margin-top:"][style*="rpx"],
[style*="margin-right:"][style*="rpx"],
[style*="margin-bottom:"][style*="rpx"],
[style*="margin-left:"][style*="rpx"] {
  /* 确保 margin 不被压缩 */
  display: block;
}

[style*="padding:"][style*="rpx"],
[style*="padding-top:"][style*="rpx"],
[style*="padding-right:"][style*="rpx"],
[style*="padding-bottom:"][style*="rpx"],
[style*="padding-left:"][style*="rpx"] {
  /* 确保 padding 不被压缩 */
  display: block;
}

/* ==================== 字体大小修复 ==================== */
/* 防止行距压缩的核心修复 */
* {
  line-height: 1.5;
}

/* 针对使用 rpx 的字体大小 */
[style*="font-size:"][style*="rpx"] {
  line-height: 1.5;
  /* 确保字体可见 */
  visibility: visible !important;
  opacity: 1 !important;
}

/* ==================== 高度修复 - 防止输入框问题 ==================== */
[style*="height:"][style*="rpx"] {
  /* 确保高度设置生效 */
  min-height: initial;
  box-sizing: border-box;
}

/* 修复行高 */
[style*="line-height:"][style*="rpx"] {
  /* 确保行高不被覆盖 */
  display: inline-block;
}

/* ==================== 表单元素全局修复 ==================== */
/* 所有输入框统一修复 */
uni-input,
uni-textarea,
.uni-input,
.uni-textarea,
.uni-easyinput__content-input {
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* ==================== 组件库样式强制覆盖 ==================== */

/* uni-forms 强制样式 */
uni-forms-item,
.uni-forms-item {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 16px !important;
  line-height: 1.5 !important;
}

uni-forms-item__label,
.uni-forms-item__label {
  display: flex !important;
  align-items: center !important;
  min-height: 32px !important;
  font-size: 14px !important;
  color: #333 !important;
  margin-bottom: 8px !important;
  line-height: 1.5 !important;
}

uni-forms-item__content,
.uni-forms-item__content {
  display: flex !important;
  flex-direction: column !important;
  min-height: 40px !important;
  line-height: 1.5 !important;
}

/* uni-easyinput 强制样式 */
uni-easyinput,
.uni-easyinput {
  display: block !important;
  width: 100% !important;
  line-height: 1.5 !important;
}

uni-easyinput__content,
.uni-easyinput__content {
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  background: #f5f5f5 !important;
  border-radius: 4px !important;
  padding: 0 12px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

uni-easyinput__content-input,
.uni-easyinput__content-input {
  flex: 1 !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
  font-size: 14px !important;
  color: #333 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  z-index: 1 !important;
}

/* picker 强制样式 */
uni-picker,
.uni-picker {
  display: block !important;
  width: 100% !important;
  position: relative !important;
}

/* ==================== 深度选择器修复 ==================== */
/* 确保 scoped 样式中的深度选择器生效 */
:deep(uni-forms-item),
:deep(.uni-forms-item) {
  line-height: 1.5 !important;
}

:deep(uni-easyinput),
:deep(.uni-easyinput) {
  line-height: 1.5 !important;
}

:deep(uni-easyinput__content-input),
:deep(.uni-easyinput__content-input) {
  line-height: 40px !important;
}

/* ==================== 通用组件样式修复 ==================== */

/* view 组件 */
uni-view,
.uni-view,
uni-view {
  display: block;
  box-sizing: border-box;
  line-height: 1.5;
}

/* text 组件 */
uni-text,
.uni-text,
uni-text {
  display: inline;
  line-height: 1.5;
}

/* button 组件 */
uni-button,
.uni-button,
uni-button {
  line-height: 1.5;
  font-size: 14px;
}

/* ==================== 布局修复 ==================== */
/* flex 布局 */
[style*="display: flex"][style*="rpx"],
[style*="display:flex"][style*="rpx"] {
  /* 确保 flex 布局正常 */
  display: flex !important;
}

/* grid 布局 */
[style*="display: grid"][style*="rpx"],
[style*="display:grid"][style*="rpx"] {
  display: grid !important;
}

/* ==================== 滚动容器修复 ==================== */
uni-scroll-view,
.uni-scroll-view,
[style*="overflow:"][style*="rpx"] {
  -webkit-overflow-scrolling: touch;
}

/* ==================== 边框修复 ==================== */
[style*="border:"][style*="rpx"],
[style*="border-top:"][style*="rpx"],
[style*="border-right:"][style*="rpx"],
[style*="border-bottom:"][style*="rpx"],
[style*="border-left:"][style*="rpx"] {
  box-sizing: border-box !important;
}

/* ==================== 圆角修复 ==================== */
[style*="border-radius:"][style*="rpx"] {
  /* 确保圆角生效 */
  overflow: hidden;
}

/* ==================== 阴影修复 ==================== */
[style*="box-shadow:"][style*="rpx"] {
  /* 确保阴影不被裁剪 */
  position: relative;
  z-index: 1;
}

/* ==================== 定位修复 ==================== */
[style*="position: absolute"][style*="rpx"],
[style*="position:absolute"][style*="rpx"],
[style*="position: fixed"][style*="rpx"],
[style*="position:fixed"][style*="rpx"] {
  /* 确保定位上下文正确 */
  will-change: transform;
}

/* ==================== 变换修复 ==================== */
[style*="transform:"][style*="rpx"] {
  /* 确保 transform 生效 */
  will-change: transform;
}

/* ==================== 过渡动画修复 ==================== */
[style*="transition:"][style*="rpx"] {
  /* 确保过渡动画平滑 */
  will-change: auto;
}

/* ==================== z-index 修复 ==================== */
[style*="z-index:"][style*="rpx"] {
  /* 确保层级正确 */
  position: relative;
}

/* ==================== 白色背景修复 - 防止透明 ==================== */
[style*="background: #fff"][style*="rpx"],
[style*="background:#fff"][style*="rpx"],
[style*="background: #ffffff"][style*="rpx"],
[style*="background:#ffffff"][style*="rpx"],
[style*="background-color: #fff"][style*="rpx"],
[style*="background-color:#fff"][style*="rpx"] {
  background-color: #ffffff !important;
}

/* ==================== 透明度修复 ==================== */
[style*="opacity:"][style*="rpx"] {
  /* 确保透明度生效 */
  visibility: visible;
}

/* ==================== 自定义表单样式修复 ==================== */
/* 修复使用 form-group/form-label 自定义结构的页面 */

.form-group {
  margin-bottom: 16px !important;
  line-height: 1.5 !important;
}

.form-label {
  display: block !important;
  font-size: 14px !important;
  color: #333 !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.form-label .required {
  color: #ff4d4f !important;
  margin-left: 4px !important;
}

.form-hint {
  display: block !important;
  font-size: 12px !important;
  color: #999 !important;
  margin-top: 4px !important;
  line-height: 1.5 !important;
}

/* 修复 form-group 内的 uni-easyinput */
.form-group uni-easyinput,
.form-group .uni-easyinput {
  display: block !important;
  width: 100% !important;
}

.form-group uni-easyinput__content,
.form-group .uni-easyinput__content {
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  background: #f5f5f5 !important;
  border-radius: 4px !important;
  padding: 0 12px !important;
  border: 1px solid transparent !important;
}

.form-group uni-easyinput__content-input,
.form-group .uni-easyinput__content-input {
  flex: 1 !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
  font-size: 14px !important;
  color: #333 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
}

/* ==================== 特殊组件修复 ==================== */

/* uni-number-box */
uni-number-box,
.uni-number-box {
  display: inline-flex !important;
  align-items: center !important;
}

/* uni-data-select */
uni-data-select,
.uni-data-select {
  display: block !important;
  width: 100% !important;
}

/* uni-easyinput 相关 */
.uni-easyinput__right {
  display: flex !important;
  align-items: center !important;
}

/* input type="color" 修复 */
uni-input[type="color"] {
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

/* ==================== 移动端特殊修复 ==================== */
@media screen and (max-width: 768px) {
  /* 移动端表单元素加大点击区域 */
  uni-picker,
  .uni-picker,
  uni-input,
  uni-button {
    min-height: 44px;
  }
}

/* ==================== PC端适配 ==================== */
@media screen and (min-width: 769px) {
  /* PC端保持一致的行高 */
  * {
    line-height: 1.5;
  }
}

/* ==================== 微信浏览器特殊修复 ==================== */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  /* 微信内置浏览器 */
  body {
    line-height: 1.5 !important;
    -webkit-font-smoothing: antialiased;
  }
  
  uni-input,
  uni-textarea {
    -webkit-appearance: none;
  }
}

/* ==================== 动画性能优化 ==================== */
[style*="animation:"][style*="rpx"] {
  will-change: transform, opacity;
}

/* ==================== 打印样式 ==================== */
@media print {
  [style*="rpx"] {
    /* 打印时使用标准单位 */
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}
/**
 * @description H5 原生输入框样式
 * @usage 在使用原生 input/textarea 的页面中引入
 */

/* 原生输入框样式 - 模拟 uni-easyinput 外观 */
.native-input {
  display: block;
  width: 100%;
  height: 40px;
  padding: 0 12px;
  background: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  color: #333;
  line-height: 40px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  transition: all 0.2s;
}

.native-input:focus {
  background: #ffffff;
  border-color: #667eea;
}

.native-input::-webkit-input-placeholder {
  color: #999;
}

.native-input::placeholder {
  color: #999;
}

.native-input:disabled {
  background: #e8e8e8;
  color: #999;
  cursor: not-allowed;
}

/* textarea 样式 */
.native-textarea {
  display: block;
  width: 100%;
  min-height: 80px;
  padding: 12px;
  background: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  color: #333;
  line-height: 1.5;
  resize: vertical;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  transition: all 0.2s;
}

.native-textarea:focus {
  background: #ffffff;
  border-color: #667eea;
}

.native-textarea::-webkit-input-placeholder {
  color: #999;
}

.native-textarea::placeholder {
  color: #999;
}

/* 密码输入框 */
.native-input[type="password"] {
  font-family: monospace;
  letter-spacing: 2px;
}

/* 数字输入框 */
.native-input[type="number"] {
  -moz-appearance: textfield;
}

.native-input[type="number"]::-webkit-outer-spin-button,
.native-input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* 搜索输入框 */
.native-input[type="search"]::-webkit-search-decoration,
.native-input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
uni-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  display: block;
  box-sizing: border-box;
}

.uni-modal {
  position: fixed;
  z-index: 999;
  width: 80%;
  max-width: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ffffff;
  text-align: center;
  border-radius: 3px;
  overflow: hidden;
}

.uni-modal * {
  box-sizing: border-box;
}

.uni-modal__hd {
  padding: 1em 1.6em 0.3em;
}

.uni-modal__title {
  font-weight: 400;
  font-size: 18px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: pre-wrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.uni-modal__bd {
  padding: 1.3em 1.6em 1.3em;
  min-height: 40px;
  font-size: 15px;
  line-height: 1.4;
  word-wrap: break-word;
  word-break: break-all;
  white-space: pre-wrap;
  color: #999999;
  max-height: 400px;
  overflow-x: hidden;
  overflow-y: auto;
}

.uni-modal__textarea {
  resize: none;
  border: 0;
  margin: 0;
  width: 90%;
  padding: 10px;
  font-size: 20px;
  outline: none;
  border: none;
  background-color: #eee;
  text-decoration: inherit;
  /* 解决单行中文内容会出现滚动条的问题 */
  line-height: 1.2;
}

.uni-modal__ft {
  position: relative;
  line-height: 48px;
  font-size: 18px;
  display: flex;
}

.uni-modal__ft:after {
  content: ' ';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid #d5d5d6;
  color: #d5d5d6;
  transform-origin: 0 0;
  transform: scaleY(0.5);
}

.uni-modal__btn {
  display: block;
  flex: 1;
  color: #3cc51f;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: relative;
  cursor: pointer;
}

.uni-modal__btn:active {
  background-color: #eeeeee;
}

.uni-modal__btn:after {
  content: ' ';
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  bottom: 0;
  border-left: 1px solid #d5d5d6;
  color: #d5d5d6;
  transform-origin: 0 0;
  transform: scaleX(0.5);
}

.uni-modal__btn:first-child:after {
  display: none;
}

.uni-modal__btn_default {
  color: #353535;
}

.uni-modal__btn_primary {
  color: #007aff;
}
uni-text[selectable] {
  cursor: auto;
  -webkit-user-select: text;
          user-select: text;
}

uni-text {
  white-space: pre-line;
}
uni-view {
  display: block;
}
uni-view[hidden] {
  display: none;
}
uni-input {
  display: block;
  font-size: 16px;
  line-height: 1.4em;
  height: 1.4em;
  min-height: 1.4em;
  overflow: hidden;
}

uni-input[hidden] {
  display: none;
}

.uni-input-wrapper,
.uni-input-placeholder,
.uni-input-form,
.uni-input-input {
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: inherit;
}

.uni-input-wrapper,
.uni-input-form {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  flex-direction: column;
  justify-content: center;
}

.uni-input-placeholder,
.uni-input-input {
  width: 100%;
}

.uni-input-placeholder {
  position: absolute;
  top: auto !important;
  left: 0;
  color: gray;
  overflow: hidden;
  text-overflow: clip;
  white-space: pre;
  word-break: keep-all;
  pointer-events: none;
  line-height: inherit;
}

.uni-input-input {
  position: relative;
  display: block;
  height: 100%;
  background: none;
  color: inherit;
  opacity: 1;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  text-indent: inherit;
  text-transform: inherit;
  text-shadow: inherit;
}

.uni-input-input[type='search']::-webkit-search-cancel-button,
.uni-input-input[type="search"]::-webkit-search-decoration {
  display: none;
}

.uni-input-input::-webkit-outer-spin-button,
.uni-input-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

.uni-input-input[type='number'] {
  -moz-appearance: textfield;
}

.uni-input-input:disabled {
  /* 用于重置iOS14以下禁用状态文字颜色 */
  -webkit-text-fill-color: currentcolor;
}
uni-button {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-left: 14px;
  padding-right: 14px;
  box-sizing: border-box;
  font-size: 18px;
  text-align: center;
  text-decoration: none;
  line-height: 2.55555556;
  border-radius: 5px;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  color: #000000;
  background-color: #f8f8f8;
  cursor: pointer;
}

uni-button[hidden] {
  display: none !important;
}

uni-button:after {
  content: ' ';
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  transform: scale(0.5);
  transform-origin: 0 0;
  box-sizing: border-box;
  border-radius: 10px;
}

uni-button[native] {
  padding-left: 0;
  padding-right: 0;
}

uni-button[native] .uni-button-cover-view-wrapper {
  border: inherit;
  border-color: inherit;
  border-radius: inherit;
  background-color: inherit;
}

uni-button[native] .uni-button-cover-view-inner {
  padding-left: 14px;
  padding-right: 14px;
}

uni-button uni-cover-view {
  line-height: inherit;
  white-space: inherit;
}

uni-button[type='default'] {
  color: #000000;
  background-color: #f8f8f8;
}

uni-button[type='primary'] {
  color: #ffffff;
  background-color: #007aff;
}

uni-button[type='warn'] {
  color: #ffffff;
  background-color: #e64340;
}

uni-button[disabled] {
  color: rgba(255, 255, 255, 0.6);
  cursor: not-allowed;
}

uni-button[disabled][type='default'],
uni-button[disabled]:not([type]) {
  color: rgba(0, 0, 0, 0.3);
  background-color: #f7f7f7;
}

uni-button[disabled][type='primary'] {
  background-color: rgba(0, 122, 255, 0.6);
}

uni-button[disabled][type='warn'] {
  background-color: #ec8b89;
}

uni-button[type='primary'][plain] {
  color: #007aff;
  border: 1px solid #007aff;
  background-color: transparent;
}

uni-button[type='primary'][plain][disabled] {
  color: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.2);
}

uni-button[type='primary'][plain]:after {
  border-width: 0;
}

uni-button[type='default'][plain] {
  color: #353535;
  border: 1px solid #353535;
  background-color: transparent;
}

uni-button[type='default'][plain][disabled] {
  color: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.2);
}

uni-button[type='default'][plain]:after {
  border-width: 0;
}

uni-button[plain] {
  color: #353535;
  border: 1px solid #353535;
  background-color: transparent;
}

uni-button[plain][disabled] {
  color: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.2);
}

uni-button[plain]:after {
  border-width: 0;
}

uni-button[plain][native] .uni-button-cover-view-inner {
  padding: 0;
}

uni-button[type='warn'][plain] {
  color: #e64340;
  border: 1px solid #e64340;
  background-color: transparent;
}

uni-button[type='warn'][plain][disabled] {
  color: rgba(0, 0, 0, 0.2);
  border-color: rgba(0, 0, 0, 0.2);
}

uni-button[type='warn'][plain]:after {
  border-width: 0;
}

uni-button[size='mini'] {
  display: inline-block;
  line-height: 2.3;
  font-size: 13px;
  padding: 0 1.34em;
}

uni-button[size='mini'][native] {
  padding: 0;
}

uni-button[size='mini'][native] .uni-button-cover-view-inner {
  padding: 0 1.34em;
}

uni-button[loading]:not([disabled]) {
  cursor: progress;
}

uni-button[loading]:before {
  content: ' ';
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  animation: uni-loading 1s steps(12, end) infinite;
  background-size: 100%;
}

uni-button[loading][type='primary'] {
  color: rgba(255, 255, 255, 0.6);
  background-color: #0062cc;
}

uni-button[loading][type='primary'][plain] {
  color: #007aff;
  background-color: transparent;
}

uni-button[loading][type='default'] {
  color: rgba(0, 0, 0, 0.6);
  background-color: #dedede;
}

uni-button[loading][type='default'][plain] {
  color: #353535;
  background-color: transparent;
}

uni-button[loading][type='warn'] {
  color: rgba(255, 255, 255, 0.6);
  background-color: #ce3c39;
}

uni-button[loading][type='warn'][plain] {
  color: #e64340;
  background-color: transparent;
}

uni-button[loading][native]:before {
  content: none;
}

.button-hover {
  color: rgba(0, 0, 0, 0.6);
  background-color: #dedede;
}

.button-hover[plain] {
  color: rgba(53, 53, 53, 0.6);
  border-color: rgba(53, 53, 53, 0.6);
  background-color: transparent;
}

.button-hover[type='primary'] {
  color: rgba(255, 255, 255, 0.6);
  background-color: #0062cc;
}

.button-hover[type='primary'][plain] {
  color: rgba(0, 122, 255, 0.6);
  border-color: rgba(0, 122, 255, 0.6);
  background-color: transparent;
}

.button-hover[type='default'] {
  color: rgba(0, 0, 0, 0.6);
  background-color: #dedede;
}

.button-hover[type='default'][plain] {
  color: rgba(53, 53, 53, 0.6);
  border-color: rgba(53, 53, 53, 0.6);
  background-color: transparent;
}

.button-hover[type='warn'] {
  color: rgba(255, 255, 255, 0.6);
  background-color: #ce3c39;
}

.button-hover[type='warn'][plain] {
  color: rgba(230, 67, 64, 0.6);
  border-color: rgba(230, 67, 64, 0.6);
  background-color: transparent;
}

.container[data-v-ab0970f0] {
  min-height: 100vh;
  display: flex;
  background: #f5f5f5;
}

/* 左侧品牌区域 */
.brand-section[data-v-ab0970f0] {
  flex: 1;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.875rem;
}
.brand-content[data-v-ab0970f0] {
  text-align: center;
  color: #ffffff;
}
.logo-box[data-v-ab0970f0] {
  width: 5rem;
  height: 5rem;
  background: rgba(255,255,255,0.2);
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
}
.logo-icon[data-v-ab0970f0] {
  font-size: 2.5rem;
}
.brand-title[data-v-ab0970f0] {
  display: block;
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 0.625rem;
}
.brand-subtitle[data-v-ab0970f0] {
  display: block;
  font-size: 1rem;
  opacity: 0.9;
  margin-bottom: 1.875rem;
}
.brand-features[data-v-ab0970f0] {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
.feature-item[data-v-ab0970f0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
}
.feature-icon[data-v-ab0970f0] {
  font-size: 1.25rem;
}
.feature-text[data-v-ab0970f0] {
  font-size: 0.75rem;
  opacity: 0.9;
}

/* 右侧登录区域 */
.login-section[data-v-ab0970f0] {
  width: 15rem;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.875rem;
  box-shadow: -0.25rem 0 1rem rgba(0,0,0,0.08);
}
.login-box[data-v-ab0970f0] {
  width: 100%;
}
.login-title[data-v-ab0970f0] {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.5rem;
}
.login-subtitle[data-v-ab0970f0] {
  display: block;
  font-size: 0.8125rem;
  color: #999999;
  margin-bottom: 1.875rem;
}
.form-item[data-v-ab0970f0] {
  margin-bottom: 1rem;
}
.label[data-v-ab0970f0] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  margin-bottom: 0.375rem;
}
.input[data-v-ab0970f0] {
  width: 100%;
  height: 2.75rem;
  background: #f8f9fa;
  border: 0.0625rem solid #e8e8e8;
  border-radius: 0.375rem;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  color: #333333;
  box-sizing: border-box;
  transition: all 0.3s;
}
.input[data-v-ab0970f0]:focus {
  border-color: #667eea;
  background: #ffffff;
}
.login-btn[data-v-ab0970f0] {
  width: 100%;
  height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-size: 0.9375rem;
  font-weight: bold;
  margin-top: 0.625rem;
  box-shadow: 0 0.25rem 0.75rem rgba(102,126,234,0.3);
}
.login-btn[disabled][data-v-ab0970f0] {
  opacity: 0.6;
}
.login-tips[data-v-ab0970f0] {
  margin-top: 1.25rem;
  text-align: center;
}
.tip-text[data-v-ab0970f0] {
  font-size: 0.75rem;
  color: #999999;
}
.copyright[data-v-ab0970f0] {
  margin-top: auto;
  padding-top: 1.875rem;
  text-align: center;
  font-size: 0.6875rem;
  color: #cccccc;
}

/* 响应式适配 */
@media screen and (max-width: 768px) {
.container[data-v-ab0970f0] {
    flex-direction: column;
}
.brand-section[data-v-ab0970f0] {
    padding: 1.25rem;
    min-height: 9.375rem;
}
.login-section[data-v-ab0970f0] {
    width: 100%;
    padding: 1.25rem;
}
}
uni-actionsheet {
  display: block;
  box-sizing: border-box;
}

.uni-actionsheet {
  position: fixed;
  left: 6px;
  right: 6px;
  bottom: 6px;
  transform: translate(0, 100%);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 999;
  visibility: hidden;
  transition: transform 0.3s, visibility 0.3s;
}

.uni-actionsheet.uni-actionsheet_toggle {
  visibility: visible;
  transform: translate(0, 0);
}

.uni-actionsheet * {
  box-sizing: border-box;
}

.uni-actionsheet__menu,
.uni-actionsheet__action {
  border-radius: 5px;
  background-color: #fcfcfd;
}

.uni-actionsheet__action {
  margin-top: 6px;
}

.uni-actionsheet__cell,
.uni-actionsheet__title {
  position: relative;
  padding: 10px 6px;
  text-align: center;
  font-size: 18px;
  text-overflow: ellipsis;
  overflow: hidden;
  cursor: pointer;
}

.uni-actionsheet__title {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  color: var(--UI-FG);
  background-color: #fff;
  border-radius: 5px 5px 0 0;
  border-bottom: 1px solid #e5e5e5;
}

.uni-actionsheet__cell:before {
  content: ' ';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  border-top: 1px solid #e5e5e5;
  color: #e5e5e5;
  transform-origin: 0 0;
  transform: scaleY(0.5);
}

.uni-actionsheet__cell:active {
  background-color: #ececec;
}

.uni-actionsheet__cell:first-child:before {
  display: none;
}

@media screen and (min-width: 500px) and (min-height: 500px) {
  .uni-mask.uni-actionsheet__mask {
    background: none;
  }

  .uni-actionsheet {
    width: 300px;
    left: 50%;
    right: auto;
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
  }

  .uni-actionsheet.uni-actionsheet_toggle {
    opacity: 1;
    transform: translate(-50%, -50%);
  }

  .uni-actionsheet__menu {
    box-shadow: 0px 0 20px 5px rgba(0, 0, 0, 0.3);
  }

  .uni-actionsheet__action {
    display: none;
  }
}
uni-image {
  width: 320px;
  height: 240px;
  display: inline-block;
  overflow: hidden;
  position: relative;
}

uni-image[hidden] {
  display: none;
}

uni-image > div {
  width: 100%;
  height: 100%;
  background-repeat:no-repeat;
}

uni-image > img {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
          user-select: none;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

uni-image > .uni-image-will-change {
  will-change: transform;
}
@keyframes once-show {
  from {
    top: 0;
  }
}
uni-resize-sensor,
uni-resize-sensor > div {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}
uni-resize-sensor {
  display: block;
  z-index: -1;
  visibility: hidden;
  animation: once-show 1ms;
}
uni-resize-sensor > div > div {
  position: absolute;
  left: 0;
  top: 0;
}
uni-resize-sensor > div:first-child > div {
  width: 100000px;
  height: 100000px;
}
uni-resize-sensor > div:last-child > div {
  width: 200%;
  height: 200%;
}
uni-swiper {
  display: block;
  height: 150px;
}

uni-swiper[hidden] {
  display: none;
}

.uni-swiper-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  transform: translateZ(0);
}

.uni-swiper-slides {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}

.uni-swiper-slide-frame {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.uni-swiper-dots {
  position: absolute;
  font-size: 0;
}

.uni-swiper-dots-horizontal {
  left: 50%;
  bottom: 10px;
  text-align: center;
  white-space: nowrap;
  transform: translate(-50%, 0);
}

.uni-swiper-dots-horizontal .uni-swiper-dot {
  margin-right: 8px;
}

.uni-swiper-dots-horizontal .uni-swiper-dot:last-child {
  margin-right: 0;
}

.uni-swiper-dots-vertical {
  right: 10px;
  top: 50%;
  text-align: right;
  transform: translate(0, -50%);
}

.uni-swiper-dots-vertical .uni-swiper-dot {
  display: block;
  margin-bottom: 9px;
}

.uni-swiper-dots-vertical .uni-swiper-dot:last-child {
  margin-bottom: 0;
}

.uni-swiper-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  cursor: pointer;
  transition-property: background-color;
  transition-timing-function: ease;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
}

.uni-swiper-dot-active {
  background-color: #000000;
}

.uni-swiper-navigation {
  width: 26px;
  height: 26px;
  cursor: pointer;
  position: absolute;
  top: 50%;
  margin-top: -13px;
  display: flex;
  align-items: center;
  transition: all 0.2s;
  border-radius: 50%;
  opacity: 1;
}

.uni-swiper-navigation-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.uni-swiper-navigation-hide {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.uni-swiper-navigation-prev {
  left: 10px;
}

.uni-swiper-navigation-prev svg {
  margin-left: -1px;
  left: 10px;
}

.uni-swiper-navigation-prev.uni-swiper-navigation-vertical {
  top: 18px;
  left: 50%;
  margin-left: -13px;
}

.uni-swiper-navigation-prev.uni-swiper-navigation-vertical svg {
  transform: rotate(90deg);
  margin-left: auto;
  margin-top: -2px;
}

.uni-swiper-navigation-next {
  right: 10px;
}

.uni-swiper-navigation-next svg {
  transform: rotate(180deg);
}

.uni-swiper-navigation-next.uni-swiper-navigation-vertical {
  top: auto;
  bottom: 5px;
  left: 50%;
  margin-left: -13px;
}

.uni-swiper-navigation-next.uni-swiper-navigation-vertical svg {
  margin-top: 2px;
  transform: rotate(270deg);
}
uni-swiper-item {
  display: block;
  overflow: hidden;
  will-change: transform;
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: grab;
}

uni-swiper-item[hidden] {
  display: none;
}
uni-movable-area {
  display: block;
  position: relative;
  width: 10px;
  height: 10px;
}

uni-movable-area[hidden] {
  display: none;
}
uni-movable-view {
  display: inline-block;
  width: 10px;
  height: 10px;
  top: 0px;
  left: 0px;
  position: absolute;
  cursor: grab;
}

uni-movable-view[hidden] {
  display: none;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-1cc220ce], uni-textarea[data-v-1cc220ce], .uni-input[data-v-1cc220ce], .uni-textarea[data-v-1cc220ce] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-1cc220ce]:focus, uni-textarea[data-v-1cc220ce]:focus, .uni-input[data-v-1cc220ce]:focus, .uni-textarea[data-v-1cc220ce]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-1cc220ce]::-webkit-input-placeholder, uni-textarea[data-v-1cc220ce]::-webkit-input-placeholder, .uni-input[data-v-1cc220ce]::-webkit-input-placeholder, .uni-textarea[data-v-1cc220ce]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-1cc220ce]::placeholder, uni-textarea[data-v-1cc220ce]::placeholder, .uni-input[data-v-1cc220ce]::placeholder, .uni-textarea[data-v-1cc220ce]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-1cc220ce] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.user-info-bar[data-v-1cc220ce] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.625rem 0.9375rem;
  box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.08);
}
.user-info-content[data-v-1cc220ce] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.user-info-content .user-avatar[data-v-1cc220ce] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 1.25rem;
  border: 0.09375rem solid #667eea;
  background: #f5f5f5;
}
.user-info-content .user-details[data-v-1cc220ce] {
  flex: 1;
}
.user-info-content .user-details .user-name[data-v-1cc220ce] {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.125rem;
}
.user-info-content .user-details .user-status[data-v-1cc220ce] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
}
.user-info-content .user-action[data-v-1cc220ce] {
  width: 1.875rem;
  height: 1.875rem;
  background: #f5f5f5;
  border-radius: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.user-info-content .user-action .action-icon[data-v-1cc220ce] {
  font-size: 0.875rem;
}
.login-prompt[data-v-1cc220ce] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
}
.login-prompt .prompt-text[data-v-1cc220ce] {
  flex: 1;
  font-size: 0.8125rem;
  color: #666666;
}
.login-prompt .login-btn[data-v-1cc220ce] {
  padding: 0.375rem 0.75rem;
  background: #667eea;
  color: #ffffff;
  border: none;
  border-radius: 0.75rem;
  font-size: 0.75rem;
  font-weight: bold;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-ec2cbbc6], uni-textarea[data-v-ec2cbbc6], .uni-input[data-v-ec2cbbc6], .uni-textarea[data-v-ec2cbbc6] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-ec2cbbc6]:focus, uni-textarea[data-v-ec2cbbc6]:focus, .uni-input[data-v-ec2cbbc6]:focus, .uni-textarea[data-v-ec2cbbc6]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-ec2cbbc6]::-webkit-input-placeholder, uni-textarea[data-v-ec2cbbc6]::-webkit-input-placeholder, .uni-input[data-v-ec2cbbc6]::-webkit-input-placeholder, .uni-textarea[data-v-ec2cbbc6]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-ec2cbbc6]::placeholder, uni-textarea[data-v-ec2cbbc6]::placeholder, .uni-input[data-v-ec2cbbc6]::placeholder, .uni-textarea[data-v-ec2cbbc6]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-ec2cbbc6] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.follow-modal-overlay[data-v-ec2cbbc6] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  animation: fadeIn-ec2cbbc6 0.3s ease;
}
@keyframes fadeIn-ec2cbbc6 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
.follow-modal[data-v-ec2cbbc6] {
  width: 18.75rem;
  background: #ffffff;
  border-radius: 0.9375rem;
  padding: 1.5625rem 1.25rem;
  position: relative;
  animation: slideUp-ec2cbbc6 0.3s ease;
}
@keyframes slideUp-ec2cbbc6 {
from {
    transform: translateY(3.125rem);
    opacity: 0;
}
to {
    transform: translateY(0);
    opacity: 1;
}
}
.close-btn[data-v-ec2cbbc6] {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  width: 1.875rem;
  height: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.9375rem;
  background: #f5f5f5;
  cursor: pointer;
}
.close-btn .close-icon[data-v-ec2cbbc6] {
  font-size: 1rem;
  color: #999999;
}
.modal-icon[data-v-ec2cbbc6] {
  text-align: center;
  margin-bottom: 0.625rem;
}
.modal-icon .icon[data-v-ec2cbbc6] {
  font-size: 3.125rem;
}
.modal-title[data-v-ec2cbbc6] {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #333333;
  text-align: center;
  margin-bottom: 0.375rem;
}
.modal-desc[data-v-ec2cbbc6] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  text-align: center;
  margin-bottom: 1.25rem;
  line-height: 1.6;
}
.qr-code-container[data-v-ec2cbbc6] {
  text-align: center;
  margin-bottom: 0.9375rem;
}
.qr-code-container .qr-code[data-v-ec2cbbc6] {
  width: 12.5rem;
  height: 12.5rem;
  border-radius: 0.625rem;
  background: #f5f5f5;
  margin-bottom: 0.5rem;
}
.qr-code-container .qr-code-tip[data-v-ec2cbbc6] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
}
.feature-list[data-v-ec2cbbc6] {
  margin-bottom: 1.25rem;
}
.feature-list .feature-item[data-v-ec2cbbc6] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.feature-list .feature-item[data-v-ec2cbbc6]:last-child {
  border-bottom: none;
}
.feature-list .feature-item .feature-icon[data-v-ec2cbbc6] {
  font-size: 0.875rem;
}
.feature-list .feature-item .feature-text[data-v-ec2cbbc6] {
  font-size: 0.8125rem;
  color: #333333;
}
.modal-actions[data-v-ec2cbbc6] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
.modal-actions .action-btn[data-v-ec2cbbc6] {
  width: 100%;
  height: 2.5rem;
  border-radius: 1.25rem;
  border: none;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}
.modal-actions .action-btn.primary[data-v-ec2cbbc6] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.modal-actions .action-btn.secondary[data-v-ec2cbbc6] {
  background: #f5f5f5;
  color: #666666;
}
.modal-actions .action-btn .btn-icon[data-v-ec2cbbc6] {
  font-size: 1rem;
}
.skip-tip[data-v-ec2cbbc6] {
  display: block;
  text-align: center;
  font-size: 0.75rem;
  color: #999999;
  cursor: pointer;
}
.skip-tip[data-v-ec2cbbc6]:active {
  opacity: 0.6;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-2c6126c4], uni-textarea[data-v-2c6126c4], .uni-input[data-v-2c6126c4], .uni-textarea[data-v-2c6126c4] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-2c6126c4]:focus, uni-textarea[data-v-2c6126c4]:focus, .uni-input[data-v-2c6126c4]:focus, .uni-textarea[data-v-2c6126c4]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-2c6126c4]::-webkit-input-placeholder, uni-textarea[data-v-2c6126c4]::-webkit-input-placeholder, .uni-input[data-v-2c6126c4]::-webkit-input-placeholder, .uni-textarea[data-v-2c6126c4]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-2c6126c4]::placeholder, uni-textarea[data-v-2c6126c4]::placeholder, .uni-input[data-v-2c6126c4]::placeholder, .uni-textarea[data-v-2c6126c4]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-2c6126c4] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.pc-home-container[data-v-2c6126c4] {
  display: flex;
  min-height: 100vh;
  background: #f5f5f5;
}

/* 侧边栏 */
.sidebar[data-v-2c6126c4] {
  width: 5.625rem;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  border-right: 0.03125rem solid #e8e8e8;
}
.sidebar-header[data-v-2c6126c4] {
  padding: 1.25rem 0.9375rem;
  border-bottom: 0.03125rem solid #e8e8e8;
}
.sidebar-header .logo-text[data-v-2c6126c4] {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #333333;
  text-align: center;
}
.nav-menu[data-v-2c6126c4] {
  flex: 1;
  padding: 0.625rem 0;
  overflow-y: auto;
}
.nav-menu .nav-item[data-v-2c6126c4] {
  padding: 0.78125rem 0.9375rem;
  margin: 0 0.3125rem;
  color: #666666;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  transition: all 0.2s ease;
  cursor: pointer;
  text-align: center;
}
.nav-menu .nav-item.active[data-v-2c6126c4] {
  background: #f0f0f0;
  color: #333333;
  font-weight: 500;
}
.nav-menu .nav-item[data-v-2c6126c4]:hover {
  background: #fafafa;
}
.nav-menu .nav-item .nav-text[data-v-2c6126c4] {
  display: block;
}

/* 主内容区域 */
.main-content[data-v-2c6126c4] {
  flex: 1;
  margin-left: 5.625rem;
  background: #f5f5f5;
}
.main-content .user-section[data-v-2c6126c4] {
  padding: 0.9375rem 1.25rem 0;
}
.main-content .user-section .clear-cache-btn[data-v-2c6126c4] {
  width: 100%;
  height: 1.875rem;
  background: rgba(102, 126, 234, 0.1);
  color: #667eea;
  border: 0.0625rem solid rgba(102, 126, 234, 0.3);
  border-radius: 0.9375rem;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 0.625rem;
}
.main-content .user-section .clear-cache-btn .btn-icon[data-v-2c6126c4] {
  font-size: 0.875rem;
}
.main-content .page-content[data-v-2c6126c4] {
  max-width: 43.75rem;
  margin: 0 auto;
  padding: 1.25rem;
}

/* 页面内容样式 */
.header[data-v-2c6126c4] {
  text-align: center;
  margin-bottom: 1.875rem;
  padding-top: 1.25rem;
}
.header .header-title[data-v-2c6126c4] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.5rem;
}
.header .header-subtitle[data-v-2c6126c4] {
  display: block;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.cards-container[data-v-2c6126c4] {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  margin-bottom: 1.875rem;
}
.card[data-v-2c6126c4] {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}
.card[data-v-2c6126c4]:active {
  transform: scale(0.98);
}
.card .card-icon[data-v-2c6126c4] {
  width: 3.125rem;
  height: 3.125rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.9375rem;
}
.card .card-icon .icon[data-v-2c6126c4] {
  font-size: 1.5rem;
}
.card .card-content[data-v-2c6126c4] {
  flex: 1;
}
.card .card-content .card-title[data-v-2c6126c4] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.25rem;
}
.card .card-content .card-desc[data-v-2c6126c4] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
}
.card .card-arrow .arrow[data-v-2c6126c4] {
  font-size: 1.875rem;
  color: #cccccc;
  font-weight: 300;
}
.stats-container[data-v-2c6126c4] {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0.625rem;
  padding: 1.25rem;
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
}
.stat-item[data-v-2c6126c4] {
  flex: 1;
  text-align: center;
}
.stat-item .stat-value[data-v-2c6126c4] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.25rem;
}
.stat-item .stat-label[data-v-2c6126c4] {
  display: block;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
}
.stat-divider[data-v-2c6126c4] {
  width: 0.0625rem;
  height: 1.875rem;
  background: rgba(255, 255, 255, 0.3);
}
.footer[data-v-2c6126c4] {
  text-align: center;
  margin-top: 1.875rem;
}
.footer .footer-text[data-v-2c6126c4] {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
}uni-scroll-view {
  display: block;
  width: 100%;
}

uni-scroll-view[hidden] {
  display: none;
}

.uni-scroll-view {
  position: relative;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  /* display: flex; 时在安卓下会导致scrollWidth和offsetWidth一样 */
  height: 100%;
  max-height: inherit;
}

.uni-scroll-view-scrollbar-hidden::-webkit-scrollbar {
  display: none;
}

.uni-scroll-view-scrollbar-hidden {
  -moz-scrollbars: none;
  scrollbar-width: none;
}

.uni-scroll-view-content {
  width: 100%;
  height: 100%;
}.uni-scroll-view-refresher {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}

.uni-scroll-view-refresher-container {
  position: absolute;
  width: 100%;
  bottom: 0;
  display: flex;
  flex-direction: column-reverse;
}

.uni-scroll-view-refresh {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.uni-scroll-view-refresh-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.117647),
    0 1px 4px rgba(0, 0, 0, 0.117647);
}

.uni-scroll-view-refresh__spinner {
  transform-origin: center center;
  animation: uni-scroll-view-refresh-rotate 2s linear infinite;
}

.uni-scroll-view-refresh__spinner > circle {
  stroke: currentColor;
  stroke-linecap: round;
  animation: uni-scroll-view-refresh-dash 2s linear infinite;
}

@keyframes uni-scroll-view-refresh-rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes uni-scroll-view-refresh-dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }

  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

/* ========== 全局隐藏滚动条 ========== */
*[data-v-704702d6] {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
*[data-v-704702d6]::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
html[data-v-704702d6], body[data-v-704702d6] {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html[data-v-704702d6]::-webkit-scrollbar,
body[data-v-704702d6]::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* 修复 uni-scroll-view 高度导致的滚动条问题 */
.uni-scroll-view[data-v-704702d6] {
  height: auto !important;
}

/* ========== 基础布局 ========== */
.admin-layout[data-v-704702d6] {
  display: flex;
  min-height: 100vh;
  background: #f0f2f5;
}

/* ========== 左侧侧边栏 ========== */
.sidebar[data-v-704702d6] {
  width: 200px;
  min-width: 200px;
  background: #001529;
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  transition: all 0.3s ease;
}
.sidebar.collapsed[data-v-704702d6] {
  width: 64px;
  min-width: 64px;
}

/* 侧边栏头部 */
.sidebar-header[data-v-704702d6] {
  height: 64px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  background: #002140;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.logo-box[data-v-704702d6] {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.logo-icon[data-v-704702d6] {
  font-size: 18px;
}
.logo-text-group[data-v-704702d6] {
  margin-left: 12px;
  display: flex;
  flex-direction: column;
}
.logo-title[data-v-704702d6] {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.2;
}
.logo-subtitle[data-v-704702d6] {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  line-height: 1.2;
}

/* 导航菜单 - 完全隐藏滚动条 */
.nav-menu[data-v-704702d6] {
  flex: 1;
  padding: 8px 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.nav-menu[data-v-704702d6]::-webkit-scrollbar,
.nav-menu[data-v-704702d6]::-webkit-scrollbar-track,
.nav-menu[data-v-704702d6]::-webkit-scrollbar-thumb,
.nav-menu[data-v-704702d6]::-webkit-scrollbar-corner {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* 菜单分组 */
.menu-group[data-v-704702d6] {
  margin-bottom: 8px;
}
.group-title[data-v-704702d6] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 4px;
  font-size: 11px;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: default;
}
.group-title.dev-title[data-v-704702d6] {
  cursor: pointer;
  transition: color 0.2s;
}
.group-title.dev-title[data-v-704702d6]:hover {
  color: rgba(255,255,255,0.6);
}
.toggle-icon[data-v-704702d6] {
  font-size: 10px;
}
.group-title-collapsed[data-v-704702d6] {
  text-align: center;
  padding: 8px 0;
  font-size: 14px;
}
.nav-item[data-v-704702d6] {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  margin: 2px 12px;
  color: rgba(255,255,255,0.7);
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  overflow: hidden;
}
.nav-item[data-v-704702d6]:hover {
  color: #ffffff;
  background: rgba(255,255,255,0.05);
}
.nav-item.active[data-v-704702d6] {
  background: #667eea;
  color: #ffffff;
}
.nav-item.dev-item[data-v-704702d6] {
  height: 36px;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
}
.nav-item.dev-item[data-v-704702d6]:hover {
  color: rgba(255,255,255,0.8);
  background: rgba(255,255,255,0.03);
}
.nav-item.dev-item.active[data-v-704702d6] {
  background: rgba(102, 126, 234, 0.5);
  color: #ffffff;
}
.nav-icon[data-v-704702d6] {
  font-size: 16px;
  margin-right: 10px;
  flex-shrink: 0;
}
.nav-item.dev-item .nav-icon[data-v-704702d6] {
  font-size: 14px;
}
.sidebar.collapsed .nav-icon[data-v-704702d6] {
  margin-right: 0;
}
.nav-text[data-v-704702d6] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 侧边栏底部 */
.sidebar-footer[data-v-704702d6] {
  padding: 12px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.logout-btn[data-v-704702d6] {
  width: 100%;
  height: 36px;
  background: rgba(255,255,255,0.1);
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,0.8);
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 8px;
}
.logout-btn[data-v-704702d6]:hover {
  background: rgba(255,255,255,0.15);
}
.btn-icon[data-v-704702d6] {
  font-size: 14px;
}
.collapse-btn[data-v-704702d6] {
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5);
  font-size: 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
}
.collapse-btn[data-v-704702d6]:hover {
  background: rgba(255,255,255,0.1);
  color: #ffffff;
}

/* ========== 右侧内容区 ========== */
.main-content[data-v-704702d6] {
  flex: 1;
  margin-left: 200px;
  width: calc(100% - 200px);
  max-width: calc(100% - 200px);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  transition: margin-left 0.3s ease, width 0.3s ease;
  overflow-x: hidden;
  box-sizing: border-box;
}
.main-content.expanded[data-v-704702d6] {
  margin-left: 64px;
  width: calc(100% - 64px);
  max-width: calc(100% - 64px);
}

/* 顶部栏 */
.top-header[data-v-704702d6] {
  height: 64px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
}
.page-title[data-v-704702d6] {
  font-size: 20px;
  font-weight: 600;
  color: #1f1f1f;
}
.admin-badge[data-v-704702d6] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: #f5f5f5;
  border-radius: 24px;
}
.admin-avatar[data-v-704702d6] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e0e0e0;
}
.admin-info[data-v-704702d6] {
  display: flex;
  flex-direction: column;
}
.admin-name[data-v-704702d6] {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
  line-height: 1.3;
}
.admin-role[data-v-704702d6] {
  font-size: 11px;
  color: #999999;
  line-height: 1.2;
}

/* 内容区域 - 完全隐藏滚动条 */
.content-area[data-v-704702d6] {
  flex: 1;
  padding: 24px;
  background: #f0f2f5;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  box-sizing: border-box;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.content-area[data-v-704702d6]::-webkit-scrollbar,
.content-area[data-v-704702d6]::-webkit-scrollbar-track,
.content-area[data-v-704702d6]::-webkit-scrollbar-thumb,
.content-area[data-v-704702d6]::-webkit-scrollbar-corner {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/* 底部版权 */
.footer[data-v-704702d6] {
  text-align: center;
  padding: 24px;
  font-size: 12px;
  color: #999999;
}

/* ========== 响应式适配 ========== */
@media screen and (max-width: 768px) {
.sidebar[data-v-704702d6] {
    width: 64px;
    min-width: 64px;
}
.main-content[data-v-704702d6] {
    margin-left: 64px;
    width: calc(100% - 64px);
    max-width: calc(100% - 64px);
}
.sidebar .logo-text-group[data-v-704702d6],
  .sidebar .nav-text[data-v-704702d6],
  .sidebar-footer uni-text[data-v-704702d6]:not(.btn-icon) {
    display: none;
}
.content-area[data-v-704702d6] {
    padding: 12px;
}
.top-header[data-v-704702d6] {
    padding: 0 16px;
}
.admin-info[data-v-704702d6] {
    display: none;
}
}

/* ========== 通用区块样式 ========== */
.section[data-v-919c3b92] {
  background: #ffffff;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.section-header[data-v-919c3b92] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.section-title[data-v-919c3b92] {
  font-size: 16px;
  font-weight: 600;
  color: #1f1f1f;
}
.view-more[data-v-919c3b92] {
  font-size: 13px;
  color: #667eea;
  cursor: pointer;
}
.view-more[data-v-919c3b92]:hover {
  text-decoration: underline;
}

/* ========== 统计卡片 ========== */
.stats-row[data-v-919c3b92] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  width: 100%;
}
.stat-card[data-v-919c3b92] {
  background: #ffffff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100px;
}
.stat-main[data-v-919c3b92] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.stat-icon-wrap[data-v-919c3b92] {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stat-icon[data-v-919c3b92] {
  font-size: 24px;
}
.stat-data[data-v-919c3b92] {
  flex: 1;
}
.stat-number[data-v-919c3b92] {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: #1f1f1f;
  line-height: 1.2;
}
.stat-label[data-v-919c3b92] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 2px;
}
.stat-trend[data-v-919c3b92] {
  margin-top: 8px;
  text-align: right;
}
.trend-badge[data-v-919c3b92] {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.trend-badge.up[data-v-919c3b92] {
  background: #f6ffed;
  color: #52c41a;
}
.trend-badge.down[data-v-919c3b92] {
  background: #fff2f0;
  color: #ff4d4f;
}

/* ========== 快捷入口 ========== */
.quick-row[data-v-919c3b92] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  width: 100%;
}
.quick-item[data-v-919c3b92] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  background: #fafafa;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}
.quick-item[data-v-919c3b92]:hover {
  background: #f0f0f0;
  transform: translateY(-2px);
}
.quick-icon-box[data-v-919c3b92] {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.quick-icon[data-v-919c3b92] {
  font-size: 28px;
}
.quick-name[data-v-919c3b92] {
  font-size: 14px;
  color: #333333;
  font-weight: 500;
}

/* ========== 两栏布局 ========== */
.two-column[data-v-919c3b92] {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 20px;
  width: 100%;
}
.two-column .section[data-v-919c3b92] {
  margin-bottom: 0;
  min-width: 0;
}

/* 动态列表 */
.activity-list[data-v-919c3b92] {
  min-height: 200px;
}
.activity-item[data-v-919c3b92] {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f5f5f5;
}
.activity-item[data-v-919c3b92]:last-child {
  border-bottom: none;
}
.activity-dot[data-v-919c3b92] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-top: 6px;
  margin-right: 10px;
  flex-shrink: 0;
}
.activity-main[data-v-919c3b92] {
  flex: 1;
  min-width: 0;
}
.activity-title[data-v-919c3b92] {
  display: block;
  font-size: 14px;
  color: #333333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.activity-time[data-v-919c3b92] {
  display: block;
  font-size: 12px;
  color: #999999;
}
.activity-tag[data-v-919c3b92] {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  margin-left: 8px;
  flex-shrink: 0;
}
.empty-box[data-v-919c3b92] {
  text-align: center;
  padding: 40px;
}
.empty-icon[data-v-919c3b92] {
  font-size: 48px;
  margin-bottom: 8px;
}
.empty-text[data-v-919c3b92] {
  font-size: 14px;
  color: #999999;
}

/* 系统状态 */
.system-list[data-v-919c3b92] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.system-row[data-v-919c3b92] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #f5f5f5;
}
.system-row[data-v-919c3b92]:last-child {
  border-bottom: none;
}
.sys-label[data-v-919c3b92] {
  font-size: 14px;
  color: #666666;
}
.sys-value[data-v-919c3b92] {
  font-size: 14px;
  color: #333333;
  font-weight: 500;
}
.sys-status[data-v-919c3b92] {
  display: flex;
  align-items: center;
  gap: 6px;
}
.status-dot[data-v-919c3b92] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.status-dot.green[data-v-919c3b92] {
  background: #52c41a;
}
.status-text[data-v-919c3b92] {
  font-size: 14px;
  color: #52c41a;
  font-weight: 500;
}

/* ========== 响应式适配 ========== */
@media screen and (max-width: 1400px) {
.stats-row[data-v-919c3b92] {
    grid-template-columns: repeat(2, 1fr);
}
.quick-row[data-v-919c3b92] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media screen and (max-width: 1200px) {
.two-column[data-v-919c3b92] {
    grid-template-columns: 1fr;
}
}
@media screen and (max-width: 768px) {
.stats-row[data-v-919c3b92],
  .quick-row[data-v-919c3b92] {
    grid-template-columns: 1fr;
}
}

/* 确保内容不自适应溢出 */
.section[data-v-919c3b92] {
  max-width: 100%;
  box-sizing: border-box;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-f5eb3dfb], uni-textarea[data-v-f5eb3dfb], .uni-input[data-v-f5eb3dfb], .uni-textarea[data-v-f5eb3dfb] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-f5eb3dfb]:focus, uni-textarea[data-v-f5eb3dfb]:focus, .uni-input[data-v-f5eb3dfb]:focus, .uni-textarea[data-v-f5eb3dfb]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-f5eb3dfb]::-webkit-input-placeholder, uni-textarea[data-v-f5eb3dfb]::-webkit-input-placeholder, .uni-input[data-v-f5eb3dfb]::-webkit-input-placeholder, .uni-textarea[data-v-f5eb3dfb]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-f5eb3dfb]::placeholder, uni-textarea[data-v-f5eb3dfb]::placeholder, .uni-input[data-v-f5eb3dfb]::placeholder, .uni-textarea[data-v-f5eb3dfb]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-f5eb3dfb] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.redirect-container[data-v-f5eb3dfb] {
  min-height: 100vh;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading-box[data-v-f5eb3dfb] {
  text-align: center;
}
.loading-box .loading-icon[data-v-f5eb3dfb] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
  animation: rotate-f5eb3dfb 1s linear infinite;
}
.loading-box .loading-text[data-v-f5eb3dfb] {
  font-size: 1rem;
  color: #999;
}
@keyframes rotate-f5eb3dfb {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}uni-textarea {
  width: 300px;
  height: 150px;
  display: block;
  position: relative;
  font-size: 16px;
  line-height: normal;
  white-space: pre-wrap;
  word-break: break-all;
}
uni-textarea[hidden] {
  display: none;
}
uni-textarea[auto-height="true"] {
  height: -webkit-fit-content !important;
  height: fit-content !important;
}
.uni-textarea-wrapper,
.uni-textarea-placeholder,
.uni-textarea-line,
.uni-textarea-compute,
.uni-textarea-textarea {
  outline: none;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: inherit;
}
.uni-textarea-wrapper {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow-y: hidden;
}
.uni-textarea-placeholder,
.uni-textarea-line,
.uni-textarea-compute,
.uni-textarea-textarea {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  white-space: inherit;
  word-break: inherit;
}
.uni-textarea-placeholder {
  color: grey;
  overflow: hidden;
}
.uni-textarea-line,
.uni-textarea-compute {
  visibility: hidden;
  height: auto;
}
.uni-textarea-line {
  width: 1em;
}
.uni-textarea-compute-auto-height {
  /* 解决全输入符号设置auto-height不会自动增加高度 */
  overflow-wrap: break-word;
}
.uni-textarea-textarea {
  resize: none;
  background: none;
  color: inherit;
  opacity: 1;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  text-indent: inherit;
  text-transform: inherit;
  text-shadow: inherit;
}
/* 用于解决 iOS textarea 内部默认边距 */
.uni-textarea-textarea-fix-margin {
  width: auto;
  right: 0;
  margin: 0 -3px;
}
.uni-textarea-textarea:disabled {
  /* 用于重置iOS14以下禁用状态文字颜色 */
  -webkit-text-fill-color: currentcolor;
}
uni-switch {
  -webkit-tap-highlight-color: transparent;
  display: inline-block;
  cursor: pointer;
}

uni-switch[hidden] {
  display: none;
}

uni-switch[disabled] {
  cursor: not-allowed;
}

uni-switch[disabled] .uni-switch-input {
  opacity: 0.7;
}

.uni-switch-wrapper {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.uni-switch-input {
  -webkit-appearance: none;
          appearance: none;
  position: relative;
  width: 52px;
  height: 32px;
  margin-right: 5px;
  border: 1px solid #dfdfdf;
  outline: 0;
  border-radius: 16px;
  box-sizing: border-box;
  background-color: #dfdfdf;
  transition: background-color 0.1s, border 0.1s;
}

.uni-switch-input:before {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 30px;
  border-radius: 15px;
  background-color: #fdfdfd;
  transition: transform 0.3s;
}

.uni-switch-input:after {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  transition: transform 0.3s;
}

.uni-switch-input.uni-switch-input-checked {
  border-color: #007aff;
  background-color: #007aff;
}

.uni-switch-input.uni-switch-input-checked:before {
  transform: scale(0);
}

.uni-switch-input.uni-switch-input-checked:after {
  transform: translateX(20px);
}

uni-switch .uni-checkbox-input {
  margin-right: 5px;
  -webkit-appearance: none;
          appearance: none;
  outline: 0;
  border: 1px solid #d1d1d1;
  background-color: #ffffff;
  border-radius: 3px;
  width: 22px;
  height: 22px;
  position: relative;
  color: #007aff;
}

uni-switch:not([disabled]) .uni-checkbox-input:hover {
  border-color: #007aff;
}

uni-switch .uni-checkbox-input svg {
  fill: #007aff;
  font-size: 22px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) scale(0.73);
}

.uni-checkbox-input.uni-checkbox-input-disabled {
  background-color: #e1e1e1;
}

.uni-checkbox-input.uni-checkbox-input-disabled:before {
  color: #adadad;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-60565a2c], uni-textarea[data-v-60565a2c], .uni-input[data-v-60565a2c], .uni-textarea[data-v-60565a2c] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-60565a2c]:focus, uni-textarea[data-v-60565a2c]:focus, .uni-input[data-v-60565a2c]:focus, .uni-textarea[data-v-60565a2c]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-60565a2c]::-webkit-input-placeholder, uni-textarea[data-v-60565a2c]::-webkit-input-placeholder, .uni-input[data-v-60565a2c]::-webkit-input-placeholder, .uni-textarea[data-v-60565a2c]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-60565a2c]::placeholder, uni-textarea[data-v-60565a2c]::placeholder, .uni-input[data-v-60565a2c]::placeholder, .uni-textarea[data-v-60565a2c]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-60565a2c] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.code-index-container[data-v-60565a2c] {
  min-height: 100vh;
  background: #f5f5f5;
  padding-bottom: 3.75rem;
}
.refresh-btn[data-v-60565a2c] {
  position: fixed;
  top: 0.625rem;
  right: 0.625rem;
  width: 2.1875rem;
  height: 2.1875rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}
.refresh-btn[data-v-60565a2c]:active {
  transform: scale(0.95);
}
.refresh-btn.refreshing .refresh-icon[data-v-60565a2c] {
  animation: spin-60565a2c 1s linear infinite;
}
.refresh-btn .refresh-icon[data-v-60565a2c] {
  font-size: 1.125rem;
}
@keyframes spin-60565a2c {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.brand-header[data-v-60565a2c] {
  padding: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  position: relative;
}
.brand-header .brand-logo[data-v-60565a2c] {
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  background: #fff;
  padding: 0.25rem;
}
.brand-header .brand-info[data-v-60565a2c] {
  flex: 1;
}
.brand-header .brand-info .brand-name[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  display: block;
}
.brand-header .brand-info .brand-slogan[data-v-60565a2c] {
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.125rem;
}
.content-area[data-v-60565a2c] {
  padding: 0.625rem;
}
.tab-content[data-v-60565a2c] {
  animation: fadeIn-60565a2c 0.3s ease;
}
@keyframes fadeIn-60565a2c {
from {
    opacity: 0;
    transform: translateY(0.625rem);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.hero-section[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.5625rem 1.25rem;
  text-align: center;
  margin-bottom: 0.625rem;
}
.hero-section .hero-icon[data-v-60565a2c] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
}
.hero-section .hero-title[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.375rem;
}
.hero-section .hero-desc[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #999;
}
.feature-grid[data-v-60565a2c] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
.feature-grid .feature-card[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.5rem;
  padding: 1.25rem 0.9375rem;
  text-align: center;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.feature-grid .feature-card[data-v-60565a2c]:active {
  transform: scale(0.98);
}
.feature-grid .feature-card.scan-card[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.feature-grid .feature-card.scan-card[data-v-60565a2c]::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  animation: pulse-60565a2c 2s ease-in-out infinite;
}
.feature-grid .feature-card.scan-card .scan-icon-bg[data-v-60565a2c] {
  width: 3.125rem;
  height: 3.125rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.625rem;
  position: relative;
  z-index: 1;
}
.feature-grid .feature-card.scan-card .feature-icon.scan[data-v-60565a2c] {
  font-size: 1.875rem;
  display: block;
}
.feature-grid .feature-card.scan-card .feature-title[data-v-60565a2c] {
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
}
.feature-grid .feature-card.scan-card .feature-desc[data-v-60565a2c] {
  color: rgba(255, 255, 255, 0.9);
  position: relative;
  z-index: 1;
}
@keyframes pulse-60565a2c {
0%, 100% {
    transform: scale(1);
    opacity: 0.5;
}
50% {
    transform: scale(1.1);
    opacity: 0.8;
}
}
.feature-grid .feature-card .feature-icon[data-v-60565a2c] {
  font-size: 1.875rem;
  display: block;
  margin-bottom: 0.5rem;
}
.feature-grid .feature-card .feature-title[data-v-60565a2c] {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.25rem;
}
.feature-grid .feature-card .feature-desc[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
}
.history-section[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
}
.history-section .section-header[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
}
.history-section .section-header .section-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.history-section .section-header .clear-btn[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #999;
}
.history-section .history-list .history-item[data-v-60565a2c] {
  display: flex;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 0.03125rem solid #f0f0f0;
}
.history-section .history-list .history-item[data-v-60565a2c]:last-child {
  border-bottom: none;
}
.history-section .history-list .history-item .history-code[data-v-60565a2c] {
  flex: 1;
  font-size: 0.9375rem;
  font-weight: bold;
  color: #667eea;
  font-family: monospace;
}
.history-section .history-list .history-item .history-time[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
  margin-right: 0.625rem;
}
.history-section .history-list .history-item .history-arrow[data-v-60565a2c] {
  font-size: 1rem;
  color: #ccc;
}
.developing-state[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 3.75rem 1.875rem;
  text-align: center;
  margin: 0.625rem;
}
.developing-state .developing-icon[data-v-60565a2c] {
  font-size: 3.125rem;
  display: block;
  margin-bottom: 0.9375rem;
}
.developing-state .developing-title[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.5rem;
}
.developing-state .developing-desc[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #999;
}
.my-codes-section[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
}
.my-codes-section .section-header[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
}
.my-codes-section .section-header .section-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.my-codes-section .section-header .add-btn[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #667eea;
  font-weight: 500;
}
.my-codes-section .empty-state[data-v-60565a2c] {
  text-align: center;
  padding: 1.875rem 1.25rem;
}
.my-codes-section .empty-state .empty-icon[data-v-60565a2c] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
}
.my-codes-section .empty-state .empty-text[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #999;
  display: block;
  margin-bottom: 0.9375rem;
}
.my-codes-section .empty-state .bind-btn[data-v-60565a2c] {
  width: 60%;
  height: 2.5rem;
  line-height: 2.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border-radius: 1.25rem;
  font-size: 0.9375rem;
  border: none;
}
.my-codes-section .code-list .code-card[data-v-60565a2c] {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
  border-radius: 0.5rem;
  padding: 0.75rem 0.875rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(102, 126, 234, 0.1);
  border: 0.03125rem solid rgba(102, 126, 234, 0.1);
}
.my-codes-section .code-list .code-card[data-v-60565a2c]:active {
  transform: scale(0.98);
  box-shadow: 0 0.125rem 0.5rem rgba(102, 126, 234, 0.15);
}
.my-codes-section .code-list .code-card .code-header[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.my-codes-section .code-list .code-card .code-header .code-id[data-v-60565a2c] {
  font-size: 0.875rem;
  font-weight: 600;
  color: #667eea;
  font-family: monospace;
  background: rgba(102, 126, 234, 0.08);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}
.my-codes-section .code-list .code-card .code-header .code-status[data-v-60565a2c] {
  padding: 0.1875rem 0.5rem;
  border-radius: 0.625rem;
  font-size: 0.6875rem;
  font-weight: 500;
}
.my-codes-section .code-list .code-card .code-header .code-status.active[data-v-60565a2c] {
  background: linear-gradient(135deg, #e6f7ff 0%, #d1edff 100%);
  color: #1890ff;
}
.my-codes-section .code-list .code-card .code-header .code-status.inactive[data-v-60565a2c] {
  background: #f5f5f5;
  color: #999;
}
.my-codes-section .code-list .code-card .code-header .code-status.lost[data-v-60565a2c] {
  background: linear-gradient(135deg, #fff2f0 0%, #ffe5e5 100%);
  color: #ff4d4f;
}
.my-codes-section .code-list .code-card .code-info .info-item[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #333;
  display: block;
  margin-bottom: 0.3125rem;
  font-weight: 500;
}
.my-codes-section .code-list .code-card .code-info .info-item[data-v-60565a2c]:last-child {
  margin-bottom: 0;
  color: #666;
  font-weight: normal;
  font-size: 0.75rem;
}
.login-prompt[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem 1.875rem;
  text-align: center;
}
.login-prompt .prompt-icon[data-v-60565a2c] {
  font-size: 3.125rem;
  display: block;
  margin-bottom: 0.9375rem;
}
.login-prompt .prompt-title[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.5rem;
}
.login-prompt .prompt-desc[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #999;
  display: block;
  margin-bottom: 1.25rem;
}
.login-prompt .login-btn[data-v-60565a2c] {
  width: 80%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border-radius: 1.375rem;
  font-size: 1rem;
  font-weight: bold;
  border: none;
}
.quick-menu-section[data-v-60565a2c] {
  margin: 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.quick-menu-section .section-header[data-v-60565a2c] {
  margin-bottom: 0.75rem;
}
.quick-menu-section .section-header .section-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.quick-menu-section .quick-menu-grid[data-v-60565a2c] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.quick-menu-section .quick-menu-grid .quick-menu-item[data-v-60565a2c] {
  text-align: center;
  padding: 0.625rem 0.3125rem;
  border-radius: 0.5rem;
  background: #f8f8f8;
}
.quick-menu-section .quick-menu-grid .quick-menu-item[data-v-60565a2c]:active {
  background: #f0f0f0;
  transform: scale(0.95);
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-icon-box[data-v-60565a2c] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.5rem;
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-icon-box.primary[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 0.125rem 0.375rem rgba(102, 126, 234, 0.4);
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-icon-box.secondary[data-v-60565a2c] {
  background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
  box-shadow: 0 0.125rem 0.375rem rgba(72, 187, 120, 0.4);
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-icon-box.success[data-v-60565a2c] {
  background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
  box-shadow: 0 0.125rem 0.375rem rgba(237, 137, 54, 0.4);
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-icon-box.warning[data-v-60565a2c] {
  background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);
  box-shadow: 0 0.125rem 0.375rem rgba(66, 153, 225, 0.4);
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-icon-box .menu-icon[data-v-60565a2c] {
  font-size: 1.25rem;
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-label[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #333;
  font-weight: 500;
  display: block;
  margin-bottom: 0.1875rem;
}
.quick-menu-section .quick-menu-grid .quick-menu-item .menu-desc[data-v-60565a2c] {
  font-size: 0.6875rem;
  color: #999;
  display: block;
}
.profile-header[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem 1.25rem;
  text-align: center;
  margin-bottom: 0.625rem;
}
.profile-header .avatar[data-v-60565a2c] {
  width: 4.375rem;
  height: 4.375rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.625rem;
}
.profile-header .avatar .avatar-icon[data-v-60565a2c] {
  font-size: 2.1875rem;
}
.profile-header .nickname[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.3125rem;
}
.profile-header .user-id[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
}
.menu-list[data-v-60565a2c] {
  background: #fff;
  border-radius: 0.625rem;
  overflow: hidden;
  margin-bottom: 0.625rem;
}
.menu-list .menu-item[data-v-60565a2c] {
  display: flex;
  align-items: center;
  padding: 0.9375rem;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.menu-list .menu-item[data-v-60565a2c]:last-child {
  border-bottom: none;
}
.menu-list .menu-item[data-v-60565a2c]:active {
  background: #f9f9f9;
}
.menu-list .menu-item .menu-icon[data-v-60565a2c] {
  font-size: 1.25rem;
  margin-right: 0.625rem;
}
.menu-list .menu-item .menu-text[data-v-60565a2c] {
  flex: 1;
  font-size: 0.9375rem;
  color: #333;
}
.menu-list .menu-item .menu-badge[data-v-60565a2c] {
  background: #ff4d4f;
  color: #fff;
  font-size: 0.6875rem;
  min-width: 1.125rem;
  height: 1.125rem;
  line-height: 1.125rem;
  border-radius: 0.5625rem;
  padding: 0 0.3125rem;
  text-align: center;
  margin-right: 0.3125rem;
}
.menu-list .menu-item .menu-arrow[data-v-60565a2c] {
  font-size: 1rem;
  color: #ccc;
}
.logout-section[data-v-60565a2c] {
  padding: 0.625rem;
}
.logout-section .logout-btn[data-v-60565a2c] {
  width: 100%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: #fff;
  color: #ff4d4f;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  border: none;
}
.user-profile-card[data-v-60565a2c] {
  margin: 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.user-profile-card.owner[data-v-60565a2c] {
  background: linear-gradient(135deg, #fff9e6 0%, #fff 100%);
  border: 0.0625rem solid #ffe4b3;
}
.user-profile-card.finder[data-v-60565a2c] {
  background: linear-gradient(135deg, #e6f7ff 0%, #fff 100%);
  border: 0.0625rem solid #91d5ff;
}
.user-profile-card .user-info-logged[data-v-60565a2c],
.user-profile-card .user-info-guest[data-v-60565a2c] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.user-profile-card .user-avatar[data-v-60565a2c] {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.user-profile-card .user-avatar.default[data-v-60565a2c], .user-profile-card .user-avatar.guest[data-v-60565a2c] {
  background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
}
.user-profile-card .user-avatar uni-image[data-v-60565a2c] {
  width: 100%;
  height: 100%;
}
.user-profile-card .user-avatar .avatar-text[data-v-60565a2c] {
  font-size: 1.875rem;
}
.user-profile-card .user-detail[data-v-60565a2c] {
  flex: 1;
  min-width: 0;
}
.user-profile-card .user-detail .user-name[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.25rem;
}
.user-profile-card .user-detail .user-status[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #999;
}
.user-profile-card .edit-profile[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #667eea;
  padding: 0.375rem 0.75rem;
}
.user-profile-card .login-btn-small[data-v-60565a2c] {
  height: 2rem;
  line-height: 2rem;
  padding: 0 1rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 0.875rem;
  border-radius: 1rem;
  border: none;
}
.owner-view .messages-section[data-v-60565a2c] {
  margin: 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.owner-view .messages-section .section-header[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
}
.owner-view .messages-section .section-header .section-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.owner-view .messages-section .section-header .view-all[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #667eea;
}
.owner-view .messages-section .message-list .message-item[data-v-60565a2c] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 0;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.owner-view .messages-section .message-list .message-item[data-v-60565a2c]:last-child {
  border-bottom: none;
}
.owner-view .messages-section .message-list .message-item .message-icon[data-v-60565a2c] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #e6f7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.owner-view .messages-section .message-list .message-item .message-content[data-v-60565a2c] {
  flex: 1;
  min-width: 0;
}
.owner-view .messages-section .message-list .message-item .message-content .message-title[data-v-60565a2c] {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.25rem;
}
.owner-view .messages-section .message-list .message-item .message-content .message-preview[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #999;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-view .messages-section .message-list .message-item .message-time[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #ccc;
}
.finder-view .scanned-codes-section[data-v-60565a2c] {
  margin: 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.finder-view .scanned-codes-section .section-header[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
}
.finder-view .scanned-codes-section .section-header .section-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.finder-view .scanned-codes-section .section-header .clear-btn[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #ff4d4f;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item[data-v-60565a2c] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 0;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item[data-v-60565a2c]:last-child {
  border-bottom: none;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-icon[data-v-60565a2c] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #f6ffed;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-info[data-v-60565a2c] {
  flex: 1;
  min-width: 0;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-info .scanned-code[data-v-60565a2c] {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #667eea;
  font-family: monospace;
  display: block;
  margin-bottom: 0.25rem;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-info .scanned-item-name[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #666;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-actions[data-v-60565a2c] {
  text-align: right;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-actions .scanned-time[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #ccc;
  display: block;
  margin-bottom: 0.25rem;
}
.finder-view .scanned-codes-section .scanned-list .scanned-item .scanned-actions .action-hint[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #667eea;
}
.finder-view .quick-actions-compact[data-v-60565a2c] {
  margin: 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.finder-view .quick-actions-compact .section-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.625rem;
  display: block;
}
.finder-view .quick-actions-compact .action-grid-compact[data-v-60565a2c] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item[data-v-60565a2c] {
  text-align: center;
  padding: 0.625rem;
  background: #f8f8f8;
  border-radius: 0.5rem;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-icon-box[data-v-60565a2c] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.375rem;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-icon-box.primary[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 0.125rem 0.375rem rgba(102, 126, 234, 0.4);
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-icon-box.primary .action-icon[data-v-60565a2c] {
  color: #fff;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-icon-box.secondary[data-v-60565a2c] {
  background: #f0f0f0;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-icon-box.secondary .action-icon[data-v-60565a2c] {
  color: #667eea;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-icon-box .action-icon[data-v-60565a2c] {
  font-size: 1.25rem;
}
.finder-view .quick-actions-compact .action-grid-compact .action-item .action-label[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #666;
}
.login-prompt-large[data-v-60565a2c] {
  margin: 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.875rem 1.25rem;
  text-align: center;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.login-prompt-large .prompt-icon[data-v-60565a2c] {
  font-size: 3.125rem;
  margin-bottom: 0.9375rem;
  display: block;
}
.login-prompt-large .prompt-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.9375rem;
  display: block;
}
.login-prompt-large .prompt-features[data-v-60565a2c] {
  margin-bottom: 1.25rem;
}
.login-prompt-large .prompt-features .feature-item[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #666;
  line-height: 2;
  display: block;
}
.login-prompt-large .login-btn-large[data-v-60565a2c] {
  width: 80%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 1rem;
  border-radius: 1.375rem;
  border: none;
}
.code-detail-modal .detail-body[data-v-60565a2c] {
  padding: 0.9375rem;
}
.code-detail-modal .detail-body .detail-photo-section[data-v-60565a2c] {
  margin: -0.9375rem -0.9375rem 0.9375rem -0.9375rem;
  border-radius: 0.75rem 0.75rem 0 0;
  overflow: hidden;
}
.code-detail-modal .detail-body .detail-photo-section .detail-photo[data-v-60565a2c] {
  width: 100%;
  height: 11.25rem;
  display: block;
}
.code-detail-modal .detail-body .detail-info[data-v-60565a2c] {
  margin-bottom: 0.9375rem;
}
.code-detail-modal .detail-body .detail-info .info-row[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.code-detail-modal .detail-body .detail-info .info-row[data-v-60565a2c]:last-child {
  border-bottom: none;
}
.code-detail-modal .detail-body .detail-info .info-row .info-label[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #999;
}
.code-detail-modal .detail-body .detail-info .info-row .info-value[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #333;
  font-weight: 500;
}
.code-detail-modal .detail-body .detail-info .info-row .info-value.code[data-v-60565a2c] {
  font-family: monospace;
  color: #667eea;
}
.code-detail-modal .detail-body .detail-actions[data-v-60565a2c] {
  display: flex;
  gap: 0.625rem;
}
.code-detail-modal .detail-body .detail-actions .action-btn[data-v-60565a2c] {
  flex: 1;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 1.25rem;
  font-size: 0.875rem;
  border: none;
}
.code-detail-modal .detail-body .detail-actions .action-btn.primary[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.code-detail-modal .detail-body .detail-actions .action-btn.secondary[data-v-60565a2c] {
  background: #f5f5f5;
  color: #666;
}
.bind-modal[data-v-60565a2c] {
  width: 100%;
  max-height: 85vh;
  border-radius: 0.75rem 0.75rem 0 0;
  display: flex;
  flex-direction: column;
}
.bind-modal .modal-header[data-v-60565a2c] {
  padding: 0.9375rem;
  border-bottom: 0.03125rem solid #f0f0f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.bind-modal .modal-header .modal-title[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.bind-modal .modal-header .close-btn[data-v-60565a2c] {
  font-size: 1.125rem;
  color: #999;
  padding: 0.3125rem;
}
.bind-modal .bind-form[data-v-60565a2c] {
  flex: 1;
  padding: 0.9375rem;
  max-height: 60vh;
}
.bind-modal .bind-form .form-item[data-v-60565a2c] {
  margin-bottom: 0.9375rem;
}
.bind-modal .bind-form .form-item.code-display[data-v-60565a2c] {
  background: rgba(102, 126, 234, 0.06);
  padding: 0.625rem;
  border-radius: 0.375rem;
}
.bind-modal .bind-form .form-item.code-display .form-label[data-v-60565a2c] {
  display: block;
  margin-bottom: 0.25rem;
}
.bind-modal .bind-form .form-item.code-display .code-value[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #667eea;
  font-family: monospace;
}
.bind-modal .bind-form .form-item.switch-item[data-v-60565a2c] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.bind-modal .bind-form .form-item.switch-item .switch-label[data-v-60565a2c] {
  flex: 1;
}
.bind-modal .bind-form .form-item.switch-item .switch-label .switch-hint[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
  display: block;
  margin-top: 0.25rem;
}
.bind-modal .bind-form .form-item .form-label[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #333;
  margin-bottom: 0.5rem;
  display: block;
}
.bind-modal .bind-form .form-item .form-label.required[data-v-60565a2c]::after {
  content: "*";
  color: #ff4d4f;
  margin-left: 0.25rem;
}
.bind-modal .bind-form .form-item .form-input[data-v-60565a2c] {
  height: 2.75rem;
  background: #f8f8f8;
  border-radius: 0.375rem;
  padding: 0 0.75rem;
  font-size: 0.875rem;
  color: #333;
}
.bind-modal .bind-form .form-item .form-textarea[data-v-60565a2c] {
  height: 5rem;
  background: #f8f8f8;
  border-radius: 0.375rem;
  padding: 0.625rem 0.75rem;
  font-size: 0.875rem;
  color: #333;
  width: 100%;
  box-sizing: border-box;
}
.bind-modal .bind-form .form-item .char-count[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
  text-align: right;
  display: block;
  margin-top: 0.25rem;
}
.bind-modal .bind-form .form-item .type-grid[data-v-60565a2c] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
.bind-modal .bind-form .form-item .type-grid .type-item[data-v-60565a2c] {
  padding: 0.625rem 0.3125rem;
  background: #f8f8f8;
  border-radius: 0.375rem;
  text-align: center;
  border: 0.0625rem solid transparent;
  transition: all 0.2s;
}
.bind-modal .bind-form .form-item .type-grid .type-item.active[data-v-60565a2c] {
  background: rgba(102, 126, 234, 0.1);
  border-color: #667eea;
}
.bind-modal .bind-form .form-item .type-grid .type-item .type-label[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #666;
}
.bind-modal .bind-form .form-item .type-grid .type-item.active .type-label[data-v-60565a2c] {
  color: #667eea;
  font-weight: 500;
}
.bind-modal .bind-actions[data-v-60565a2c] {
  padding: 0.625rem 0.9375rem 1.25rem;
  border-top: 0.03125rem solid #f0f0f0;
  display: flex;
  gap: 0.625rem;
  flex-shrink: 0;
}
.bind-modal .bind-actions .action-btn[data-v-60565a2c] {
  flex: 1;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 500;
  border: none;
}
.bind-modal .bind-actions .action-btn.primary[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.bind-modal .bind-actions .action-btn.secondary[data-v-60565a2c] {
  background: #f5f5f5;
  color: #666;
}
.tab-bar[data-v-60565a2c] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3.125rem;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -0.0625rem 0.625rem rgba(0, 0, 0, 0.05);
  z-index: 100;
  padding-bottom: env(safe-area-inset-bottom);
}
.tab-bar .tab-item[data-v-60565a2c] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.tab-bar .tab-item.active .tab-icon[data-v-60565a2c] {
  color: #667eea;
}
.tab-bar .tab-item.active .tab-text[data-v-60565a2c] {
  color: #667eea;
}
.tab-bar .tab-item .tab-icon[data-v-60565a2c] {
  font-size: 1.375rem;
  margin-bottom: 0.125rem;
}
.tab-bar .tab-item .tab-text[data-v-60565a2c] {
  font-size: 0.6875rem;
  color: #999;
}
.tab-bar .tab-item.scan-btn .scan-circle[data-v-60565a2c] {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -0.9375rem;
  box-shadow: 0 0.125rem 0.625rem rgba(102, 126, 234, 0.4);
}
.tab-bar .tab-item.scan-btn .scan-circle .scan-icon[data-v-60565a2c] {
  font-size: 1.5rem;
}
.tab-bar .tab-item.scan-btn .tab-text[data-v-60565a2c] {
  margin-top: 0.25rem;
}
.modal-overlay[data-v-60565a2c] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-overlay.bind-modal-overlay[data-v-60565a2c] {
  align-items: flex-end;
  padding-bottom: env(safe-area-inset-bottom);
}
.welcome-modal[data-v-60565a2c] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1001;
  animation: fadeIn-60565a2c 0.3s ease;
}
.welcome-modal .welcome-content[data-v-60565a2c] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1.5rem;
  width: 80%;
  max-width: 17.5rem;
  text-align: center;
  animation: slideUp-60565a2c 0.3s ease;
  box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.2);
}
.welcome-modal .welcome-content .welcome-photo-section[data-v-60565a2c] {
  margin: -1.5rem -1.5rem 0.75rem -1.5rem;
  border-radius: 0.75rem 0.75rem 0 0;
  overflow: hidden;
  position: relative;
}
.welcome-modal .welcome-content .welcome-photo-section .welcome-photo[data-v-60565a2c] {
  width: 100%;
  height: 8.75rem;
  display: block;
}
.welcome-modal .welcome-content .welcome-photo-section .photo-badge[data-v-60565a2c] {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  background: rgba(102, 126, 234, 0.9);
  color: #fff;
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
  border-radius: 0.625rem;
}
.welcome-modal .welcome-content .welcome-photo-placeholder[data-v-60565a2c] {
  margin: -1.5rem -1.5rem 0.75rem -1.5rem;
  border-radius: 0.75rem 0.75rem 0 0;
  background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
  height: 6.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.welcome-modal .welcome-content .welcome-photo-placeholder .placeholder-icon[data-v-60565a2c] {
  font-size: 2.5rem;
  margin-bottom: 0.375rem;
}
.welcome-modal .welcome-content .welcome-photo-placeholder .placeholder-text[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #999;
}
.welcome-modal .welcome-content .welcome-photo-placeholder.new-code[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.welcome-modal .welcome-content .welcome-photo-placeholder.new-code .placeholder-icon[data-v-60565a2c] {
  font-size: 3.125rem;
}
.welcome-modal .welcome-content .welcome-photo-placeholder.new-code .placeholder-text[data-v-60565a2c] {
  color: rgba(255, 255, 255, 0.9);
}
.welcome-modal .welcome-content .welcome-code-section[data-v-60565a2c] {
  background: rgba(102, 126, 234, 0.06);
  border-radius: 0.5rem;
  padding: 0.625rem;
  margin-bottom: 0.75rem;
}
.welcome-modal .welcome-content .welcome-code-section .code-label[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
  display: block;
  margin-bottom: 0.25rem;
}
.welcome-modal .welcome-content .welcome-code-section .code-value[data-v-60565a2c] {
  font-size: 1rem;
  font-weight: bold;
  color: #667eea;
  font-family: monospace;
  letter-spacing: 0.0625rem;
}
.welcome-modal .welcome-content .welcome-icon[data-v-60565a2c] {
  font-size: 1.875rem;
  margin-bottom: 0.5rem;
  animation: bounce-60565a2c 0.5s ease;
}
.welcome-modal .welcome-content .welcome-title[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: 600;
  color: #333333;
  margin-bottom: 1rem;
  display: block;
}
.welcome-modal .welcome-content .welcome-body[data-v-60565a2c] {
  margin-bottom: 1.25rem;
}
.welcome-modal .welcome-content .welcome-body .welcome-item[data-v-60565a2c] {
  font-size: 1rem;
  color: #667eea;
  font-weight: 500;
  display: block;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: rgba(102, 126, 234, 0.08);
  border-radius: 0.375rem;
}
.welcome-modal .welcome-content .welcome-body .welcome-features[data-v-60565a2c] {
  text-align: left;
  padding: 0 0.625rem;
}
.welcome-modal .welcome-content .welcome-body .welcome-features .feature-item[data-v-60565a2c] {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  color: #666666;
}
.welcome-modal .welcome-content .welcome-body .welcome-features .feature-item .feature-dot[data-v-60565a2c] {
  color: #667eea;
  margin-right: 0.375rem;
  font-weight: bold;
}
.welcome-modal .welcome-content .welcome-body .welcome-features .feature-item .feature-text[data-v-60565a2c] {
  flex: 1;
}
.welcome-modal .welcome-content .welcome-actions[data-v-60565a2c] {
  display: flex;
  gap: 0.625rem;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn[data-v-60565a2c] {
  flex: 1;
  padding: 0.75rem 0;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.secondary[data-v-60565a2c] {
  background: #f5f5f5;
  color: #666666;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.secondary[data-v-60565a2c]:active {
  background: #e8e8e8;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.primary[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.primary[data-v-60565a2c]:active {
  opacity: 0.9;
}
@keyframes fadeIn-60565a2c {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes slideUp-60565a2c {
from {
    opacity: 0;
    transform: translateY(1.25rem);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes bounce-60565a2c {
0%, 100% {
    transform: scale(1);
}
50% {
    transform: scale(1.2);
}
}
.bind-guide-modal .welcome-content .welcome-desc[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #666666;
  margin-bottom: 0.75rem;
  display: block;
}
.bind-guide-modal .welcome-content .welcome-features .feature-item .feature-dot[data-v-60565a2c] {
  width: 1.125rem;
  height: 1.125rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: bold;
  flex-shrink: 0;
}
.bind-guide-modal .welcome-content .welcome-actions.vertical[data-v-60565a2c] {
  flex-direction: column;
  gap: 0.75rem;
}
.bind-guide-modal .welcome-content .welcome-actions.vertical .welcome-btn.large[data-v-60565a2c] {
  padding: 0.875rem 0;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}
.bind-guide-modal .welcome-content .welcome-actions.vertical .welcome-btn.large .btn-icon[data-v-60565a2c] {
  font-size: 1rem;
}
.bind-guide-modal .welcome-content .welcome-actions.vertical .welcome-btn.text-btn[data-v-60565a2c] {
  background: transparent;
  color: #999999;
  font-size: 0.8125rem;
  padding: 0.5rem 0;
}
.bind-guide-modal .welcome-content .welcome-actions.vertical .welcome-btn.text-btn[data-v-60565a2c]:active {
  color: #667eea;
}
.modal-overlay[data-v-60565a2c] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.modal-overlay .modal-content[data-v-60565a2c] {
  width: 18.75rem;
  background: #fff;
  border-radius: 0.75rem;
  overflow: hidden;
}
.modal-overlay .modal-header[data-v-60565a2c] {
  padding: 1.25rem 1.25rem 0.625rem;
  text-align: center;
}
.modal-overlay .modal-header .modal-icon[data-v-60565a2c] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.5rem;
}
.modal-overlay .modal-header .modal-title[data-v-60565a2c] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
}
.modal-overlay .modal-body[data-v-60565a2c] {
  padding: 0.625rem 1.25rem 1.25rem;
}
.modal-overlay .modal-body .modal-desc[data-v-60565a2c] {
  font-size: 0.875rem;
  color: #666;
  line-height: 1.6;
  display: block;
  margin-bottom: 0.625rem;
}
.modal-overlay .modal-body .feature-list[data-v-60565a2c] {
  background: #f5f5f5;
  border-radius: 0.375rem;
  padding: 0.625rem;
}
.modal-overlay .modal-body .feature-list .feature-item[data-v-60565a2c] {
  font-size: 0.8125rem;
  color: #333;
  display: block;
  margin-bottom: 0.375rem;
}
.modal-overlay .modal-body .feature-list .feature-item[data-v-60565a2c]:last-child {
  margin-bottom: 0;
}
.modal-overlay .modal-body .code-input[data-v-60565a2c] {
  height: 2.75rem;
  background: #f5f5f5;
  border-radius: 0.375rem;
  padding: 0 0.75rem;
  font-size: 0.9375rem;
  text-align: center;
  letter-spacing: 0.0625rem;
}
.modal-overlay .modal-body .input-hint[data-v-60565a2c] {
  font-size: 0.75rem;
  color: #999;
  display: block;
  text-align: center;
  margin-top: 0.5rem;
}
.modal-overlay .modal-footer[data-v-60565a2c] {
  display: flex;
  padding: 0.625rem 1.25rem 1.25rem;
  gap: 0.625rem;
}
.modal-overlay .modal-footer .btn-cancel[data-v-60565a2c],
.modal-overlay .modal-footer .btn-confirm[data-v-60565a2c] {
  flex: 1;
  height: 2.5rem;
  line-height: 2.5rem;
  border-radius: 1.25rem;
  font-size: 0.9375rem;
  border: none;
}
.modal-overlay .modal-footer .btn-cancel[data-v-60565a2c] {
  background: #f5f5f5;
  color: #666;
}
.modal-overlay .modal-footer .btn-confirm[data-v-60565a2c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-85086c0c], uni-textarea[data-v-85086c0c], .uni-input[data-v-85086c0c], .uni-textarea[data-v-85086c0c] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-85086c0c]:focus, uni-textarea[data-v-85086c0c]:focus, .uni-input[data-v-85086c0c]:focus, .uni-textarea[data-v-85086c0c]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-85086c0c]::-webkit-input-placeholder, uni-textarea[data-v-85086c0c]::-webkit-input-placeholder, .uni-input[data-v-85086c0c]::-webkit-input-placeholder, .uni-textarea[data-v-85086c0c]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-85086c0c]::placeholder, uni-textarea[data-v-85086c0c]::placeholder, .uni-input[data-v-85086c0c]::placeholder, .uni-textarea[data-v-85086c0c]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-85086c0c] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-85086c0c] {
  padding: 20px;
}
.tip-section[data-v-85086c0c] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}
.tip-section .tip-item[data-v-85086c0c] {
  display: flex;
  align-items: flex-start;
  line-height: 1.5;
}
.tip-section .tip-item .tip-icon[data-v-85086c0c] {
  font-size: 18px;
  margin-right: 10px;
  margin-top: 2px;
  flex-shrink: 0;
}
.tip-section .tip-item .tip-text[data-v-85086c0c] {
  flex: 1;
  font-size: 14px;
  color: #ffffff;
  line-height: 1.6;
}
.form-section[data-v-85086c0c] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  /* H5 表单样式 */
  /* 确保表单项正常显示 - 行高修复 */
  /* 表单标签样式修复 */
  /* 表单内容区域 */
  /* 确保 uni-easyinput 正常显示 */
  /* 确保 uni-easyinput 内容正常显示 */
  /* 确保输入框正常显示 */
  /* H5 原生 select 样式 */
}
.form-section .h5-form .form-item[data-v-85086c0c] {
  margin-bottom: 20px;
}
.form-section .h5-form .form-item[data-v-85086c0c]:last-child {
  margin-bottom: 0;
}
.form-section .h5-form .form-label[data-v-85086c0c] {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.form-section .h5-form .form-label .label-text[data-v-85086c0c] {
  font-size: 14px;
  color: #333333;
  font-weight: 500;
}
.form-section .h5-form .form-label .required[data-v-85086c0c] {
  color: #ff4d4f;
  margin-left: 4px;
  font-size: 14px;
}
.form-section .h5-form .number-input-wrapper[data-v-85086c0c] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.form-section .h5-form .number-input-wrapper .number-btn[data-v-85086c0c] {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 18px;
  color: #333333;
  cursor: pointer;
}
.form-section .h5-form .number-input-wrapper .number-btn[data-v-85086c0c]:active {
  background: #e8e8e8;
}
.form-section .h5-form .number-input-wrapper .number-input[data-v-85086c0c] {
  width: 80px;
  height: 40px;
  text-align: center;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
  color: #333333;
  background: #ffffff;
}
.form-section[data-v-85086c0c] .uni-forms-item {
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
  line-height: 1.5;
}
.form-section[data-v-85086c0c] .uni-forms-item__label {
  display: flex;
  align-items: center;
  height: 32px;
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.5;
}
.form-section[data-v-85086c0c] .uni-forms-item__content {
  line-height: 1.5;
  min-height: 40px;
}
.form-section[data-v-85086c0c] .uni-easyinput {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
  line-height: 1.5;
}
.form-section[data-v-85086c0c] .uni-easyinput__content {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  min-height: 40px;
  line-height: 1.5;
}
.form-section[data-v-85086c0c] .uni-easyinput__content-input {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 40px;
  line-height: 40px;
  font-size: 14px;
  color: #333333;
  background: transparent;
  width: 100%;
  padding: 0 12px;
}
.form-section[data-v-85086c0c] .uni-easyinput__content-input::-webkit-input-placeholder {
  color: #999999;
  opacity: 1;
  line-height: 40px;
}
.form-section[data-v-85086c0c] .uni-easyinput__content-input::placeholder {
  color: #999999;
  opacity: 1;
  line-height: 40px;
}
.form-section .field-hint[data-v-85086c0c] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 4px;
  padding-left: 4px;
  line-height: 1.5;
}
.form-section .native-select[data-v-85086c0c] {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  background: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 16px;
  padding-right: 32px;
}
.form-section .native-select[data-v-85086c0c]:focus {
  background: #ffffff;
  border-color: #667eea;
  outline: none;
}
.form-section .native-select[data-v-85086c0c]:disabled {
  background: #e8e8e8;
  color: #999;
  cursor: not-allowed;
}
.form-section .native-select option[data-v-85086c0c] {
  padding: 8px;
  font-size: 14px;
}
.form-section .native-select option[data-v-85086c0c]:disabled {
  color: #999;
}
.form-section .picker-value[data-v-85086c0c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  padding: 0 12px;
  background: #f5f5f5;
  border-radius: 6px;
  font-size: 14px;
  color: #999;
  line-height: 40px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.2s;
}
.form-section .picker-value[data-v-85086c0c]:hover {
  background: #eeeeee;
}
.form-section .picker-value.has-value[data-v-85086c0c] {
  color: #333;
  background: #ffffff;
  border-color: #e0e0e0;
}
.form-section .picker-value.disabled[data-v-85086c0c] {
  background: #e8e8e8;
  color: #bbb;
  cursor: not-allowed;
}
.form-section .picker-value .picker-text[data-v-85086c0c] {
  color: #333;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 40px;
}
.form-section .picker-value .placeholder[data-v-85086c0c] {
  flex: 1;
  line-height: 40px;
}
.form-section .picker-value .picker-arrow[data-v-85086c0c] {
  color: #999;
  font-size: 12px;
  margin-left: 8px;
  line-height: 40px;
}
.generate-btn[data-v-85086c0c] {
  width: 100%;
  height: 48px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 24px;
  font-size: 18px;
  font-weight: bold;
  margin-top: 20px;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  cursor: pointer;
  line-height: 48px;
}
.generate-btn[data-v-85086c0c]:disabled {
  opacity: 0.5;
  box-shadow: none;
  cursor: not-allowed;
}
.generate-btn[data-v-85086c0c]:active:not(:disabled) {
  transform: scale(0.98);
}
.results-section[data-v-85086c0c] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.results-header[data-v-85086c0c] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f0f0;
}
.results-header .results-title-group[data-v-85086c0c] {
  display: flex;
  align-items: baseline;
}
.results-header .results-title-group .results-title[data-v-85086c0c] {
  font-size: 18px;
  font-weight: bold;
  color: #333333;
  margin-right: 6px;
}
.results-header .results-title-group .results-count[data-v-85086c0c] {
  font-size: 14px;
  color: #667eea;
  font-weight: bold;
}
.results-header .results-actions[data-v-85086c0c] {
  display: flex;
  gap: 8px;
}
.results-header .results-actions .action-btn[data-v-85086c0c] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 12px;
  background: #f5f5f5;
  color: #666666;
  border: none;
  border-radius: 10px;
  font-size: 12px;
  cursor: pointer;
}
.results-header .results-actions .action-btn .action-icon[data-v-85086c0c] {
  font-size: 14px;
}
.results-header .results-actions .action-btn[data-v-85086c0c]:active {
  background: #e8e8e8;
}
.results-list[data-v-85086c0c] {
  max-height: 450px;
}
.code-item[data-v-85086c0c] {
  display: flex;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #f0f0f0;
}
.code-item[data-v-85086c0c]:last-child {
  border-bottom: none;
}
.code-item .code-info[data-v-85086c0c] {
  flex: 1;
  margin-right: 15px;
}
.code-item .code-info .code-number[data-v-85086c0c] {
  display: flex;
  align-items: center;
  margin-bottom: 6px;
}
.code-item .code-info .code-number .number-label[data-v-85086c0c] {
  font-size: 12px;
  color: #999999;
  margin-right: 8px;
}
.code-item .code-info .code-number .code-status[data-v-85086c0c] {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  background: #e8f5e9;
  color: #4caf50;
  font-weight: bold;
}
.code-item .code-info .code-number .code-status.used[data-v-85086c0c] {
  background: #fff3e0;
  color: #ff9800;
}
.code-item .code-info .code-number .code-status.expired[data-v-85086c0c] {
  background: #ffebee;
  color: #f44336;
}
.code-item .code-info .code-number .code-status.revoked[data-v-85086c0c] {
  background: #f5f5f5;
  color: #9e9e9e;
}
.code-item .code-info .code-text[data-v-85086c0c] {
  display: block;
  font-size: 18px;
  font-weight: bold;
  color: #333333;
  font-family: "Courier New", monospace;
  margin-bottom: 4px;
  letter-spacing: 1px;
}
.code-item .code-info .code-hint[data-v-85086c0c] {
  display: block;
  font-size: 11px;
  color: #667eea;
}
.code-item .code-qr[data-v-85086c0c] {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.code-item .code-qr .qrcode[data-v-85086c0c] {
  width: 70px;
  height: 70px;
  border-radius: 8px;
  border: 1.5px solid #e0e0e0;
  background: #ffffff;
  transition: all 0.3s;
}
.code-item .code-qr .qrcode[data-v-85086c0c]:active {
  transform: scale(0.95);
  border-color: #667eea;
}
.code-item .code-qr .qrcode-placeholder[data-v-85086c0c] {
  width: 70px;
  height: 70px;
  border-radius: 8px;
  border: 1.5px solid #e0e0e0;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.code-item .code-qr .qrcode-placeholder .placeholder-text[data-v-85086c0c] {
  font-size: 11px;
  color: #999999;
}
.code-item .code-qr .qr-hint[data-v-85086c0c] {
  display: block;
  font-size: 10px;
  color: #999999;
  margin-top: 4px;
}
.empty-state[data-v-85086c0c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.empty-state .empty-icon[data-v-85086c0c] {
  font-size: 70px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.empty-state .empty-text[data-v-85086c0c] {
  font-size: 16px;
  color: #666666;
  margin-bottom: 6px;
}
.empty-state .empty-hint[data-v-85086c0c] {
  font-size: 12px;
  color: #999999;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-84ae9c64], uni-textarea[data-v-84ae9c64], .uni-input[data-v-84ae9c64], .uni-textarea[data-v-84ae9c64] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-84ae9c64]:focus, uni-textarea[data-v-84ae9c64]:focus, .uni-input[data-v-84ae9c64]:focus, .uni-textarea[data-v-84ae9c64]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-84ae9c64]::-webkit-input-placeholder, uni-textarea[data-v-84ae9c64]::-webkit-input-placeholder, .uni-input[data-v-84ae9c64]::-webkit-input-placeholder, .uni-textarea[data-v-84ae9c64]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-84ae9c64]::placeholder, uni-textarea[data-v-84ae9c64]::placeholder, .uni-input[data-v-84ae9c64]::placeholder, .uni-textarea[data-v-84ae9c64]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-84ae9c64] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.qrcode-container[data-v-84ae9c64] {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.625rem;
}
.qrcode-container .loading[data-v-84ae9c64] {
  padding: 1.25rem;
  color: #999;
}
.qrcode-container .qrcode-image[data-v-84ae9c64] {
  width: 100%;
  max-width: 12.5rem;
  border: 0.0625rem solid #e0e0e0;
  border-radius: 0.3125rem;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-40aea107], uni-textarea[data-v-40aea107], .uni-input[data-v-40aea107], .uni-textarea[data-v-40aea107] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-40aea107]:focus, uni-textarea[data-v-40aea107]:focus, .uni-input[data-v-40aea107]:focus, .uni-textarea[data-v-40aea107]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-40aea107]::-webkit-input-placeholder, uni-textarea[data-v-40aea107]::-webkit-input-placeholder, .uni-input[data-v-40aea107]::-webkit-input-placeholder, .uni-textarea[data-v-40aea107]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-40aea107]::placeholder, uni-textarea[data-v-40aea107]::placeholder, .uni-input[data-v-40aea107]::placeholder, .uni-textarea[data-v-40aea107]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-40aea107] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.result-container[data-v-40aea107] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 1.25rem 0.9375rem;
}
.success-icon[data-v-40aea107] {
  width: 3.75rem;
  height: 3.75rem;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: #4caf50;
  margin: 0 auto 1.25rem;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.success-title[data-v-40aea107] {
  display: block;
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 1.875rem;
}
.code-display[data-v-40aea107] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  text-align: center;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.code-display .code-label[data-v-40aea107] {
  display: block;
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.625rem;
}
.code-display .code-value[data-v-40aea107] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  letter-spacing: 0.25rem;
}
.qrcode-section[data-v-40aea107] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  text-align: center;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.qrcode-section .qrcode-tip[data-v-40aea107] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
  margin-top: 0.9375rem;
}
.actions[data-v-40aea107] {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
.actions .action-btn[data-v-40aea107] {
  flex: 1;
  height: 2.75rem;
  border-radius: 1.375rem;
  border: none;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
}
.actions .action-btn[data-v-40aea107]:disabled {
  opacity: 0.5;
}
.actions .action-btn.download[data-v-40aea107] {
  background: #ffffff;
  color: #667eea;
}
.actions .action-btn.download .btn-icon[data-v-40aea107] {
  font-size: 1rem;
}
.actions .action-btn.print[data-v-40aea107] {
  background: #4caf50;
  color: #ffffff;
}
.actions .action-btn.print .btn-icon[data-v-40aea107] {
  font-size: 1rem;
}
.url-section[data-v-40aea107] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.url-section .url-card .url-title[data-v-40aea107] {
  display: block;
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.625rem;
}
.url-section .url-card .url-box[data-v-40aea107] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f5f5f5;
  border-radius: 0.375rem;
  padding: 0.625rem;
  margin-bottom: 0.5rem;
}
.url-section .url-card .url-box .url-value[data-v-40aea107] {
  flex: 1;
  font-size: 0.8125rem;
  color: #333333;
  word-break: break-all;
}
.url-section .url-card .url-box .copy-btn[data-v-40aea107] {
  padding: 0.375rem 0.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: bold;
}
.url-section .url-card .url-tip[data-v-40aea107] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
  line-height: 1.5;
}
.bind-btn[data-v-40aea107],
.share-btn[data-v-40aea107],
.continue-btn[data-v-40aea107] {
  width: 100%;
  height: 2.75rem;
  border-radius: 1.375rem;
  border: none;
  font-size: 0.875rem;
  font-weight: bold;
  margin-bottom: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
}
.bind-btn[data-v-40aea107]:disabled,
.share-btn[data-v-40aea107]:disabled,
.continue-btn[data-v-40aea107]:disabled {
  opacity: 0.5;
}
.bind-btn[data-v-40aea107] {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  color: #ffffff;
  box-shadow: 0 0.25rem 0.75rem rgba(238, 90, 36, 0.4);
}
.bind-btn .btn-icon[data-v-40aea107] {
  font-size: 1rem;
}
.share-btn[data-v-40aea107] {
  background: #ffffff;
  color: #667eea;
}
.continue-btn[data-v-40aea107] {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border: 0.0625rem solid rgba(255, 255, 255, 0.3);
}
.print-template[data-v-40aea107] {
  display: none;
}
@media print {
.print-template[data-v-40aea107] {
    display: block;
}
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-6f349d36], uni-textarea[data-v-6f349d36], .uni-input[data-v-6f349d36], .uni-textarea[data-v-6f349d36] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-6f349d36]:focus, uni-textarea[data-v-6f349d36]:focus, .uni-input[data-v-6f349d36]:focus, .uni-textarea[data-v-6f349d36]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-6f349d36]::-webkit-input-placeholder, uni-textarea[data-v-6f349d36]::-webkit-input-placeholder, .uni-input[data-v-6f349d36]::-webkit-input-placeholder, .uni-textarea[data-v-6f349d36]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-6f349d36]::placeholder, uni-textarea[data-v-6f349d36]::placeholder, .uni-input[data-v-6f349d36]::placeholder, .uni-textarea[data-v-6f349d36]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-6f349d36] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.scan-entry-container[data-v-6f349d36] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.redirecting-state[data-v-6f349d36] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.redirecting-icon[data-v-6f349d36] {
  font-size: 3.75rem;
  margin-bottom: 1.25rem;
  animation: spin-6f349d36 1s linear infinite;
}
.redirecting-text[data-v-6f349d36] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #ffffff;
}
@keyframes spin-6f349d36 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.loading-state[data-v-6f349d36],
.error-state[data-v-6f349d36],
.visitor-state[data-v-6f349d36] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.loading-icon[data-v-6f349d36],
.error-icon[data-v-6f349d36],
.visitor-icon[data-v-6f349d36] {
  font-size: 3.75rem;
  margin-bottom: 1.25rem;
}
.loading-text[data-v-6f349d36],
.error-text[data-v-6f349d36],
.visitor-title[data-v-6f349d36] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.625rem;
}
.visitor-desc[data-v-6f349d36] {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 1.875rem;
}
.retry-btn[data-v-6f349d36],
.bind-btn[data-v-6f349d36] {
  width: 12.5rem;
  height: 2.75rem;
  background: #ffffff;
  color: #667eea;
  border: none;
  border-radius: 1.375rem;
  font-size: 1rem;
  font-weight: bold;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
}

/* 关注二维码弹窗 */
.follow-modal[data-v-6f349d36] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.follow-content[data-v-6f349d36] {
  width: 18.75rem;
  background: #ffffff;
  border-radius: 0.75rem;
  overflow: hidden;
}
.follow-header[data-v-6f349d36] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.9375rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.follow-title[data-v-6f349d36] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.follow-close[data-v-6f349d36] {
  font-size: 1.125rem;
  color: #999999;
  padding: 0.3125rem;
}
.follow-body[data-v-6f349d36] {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.follow-qr[data-v-6f349d36] {
  width: 12.5rem;
  height: 12.5rem;
  margin-bottom: 0.9375rem;
}
.follow-loading[data-v-6f349d36] {
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.9375rem;
}
.follow-tip[data-v-6f349d36] {
  font-size: 0.875rem;
  color: #667eea;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.follow-desc[data-v-6f349d36] {
  font-size: 0.75rem;
  color: #999999;
  text-align: center;
  line-height: 1.6;
}
.follow-footer[data-v-6f349d36] {
  padding: 0.625rem 1.25rem 1.25rem;
}
.follow-refresh[data-v-6f349d36] {
  width: 100%;
  height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  font-weight: bold;
}

/* 调试信息 */
.debug-info[data-v-6f349d36] {
  position: fixed;
  bottom: 1.25rem;
  left: 1.25rem;
  right: 1.25rem;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 0.5rem;
  padding: 0.75rem;
  z-index: 100;
}
.debug-title[data-v-6f349d36] {
  display: block;
  font-size: 0.75rem;
  color: #ffd700;
  font-weight: bold;
  margin-bottom: 0.375rem;
}
.debug-text[data-v-6f349d36] {
  display: block;
  font-size: 0.6875rem;
  color: #ffffff;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-all;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-bc1ff7f2], uni-textarea[data-v-bc1ff7f2], .uni-input[data-v-bc1ff7f2], .uni-textarea[data-v-bc1ff7f2] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-bc1ff7f2]:focus, uni-textarea[data-v-bc1ff7f2]:focus, .uni-input[data-v-bc1ff7f2]:focus, .uni-textarea[data-v-bc1ff7f2]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-bc1ff7f2]::-webkit-input-placeholder, uni-textarea[data-v-bc1ff7f2]::-webkit-input-placeholder, .uni-input[data-v-bc1ff7f2]::-webkit-input-placeholder, .uni-textarea[data-v-bc1ff7f2]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-bc1ff7f2]::placeholder, uni-textarea[data-v-bc1ff7f2]::placeholder, .uni-input[data-v-bc1ff7f2]::placeholder, .uni-textarea[data-v-bc1ff7f2]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-bc1ff7f2] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.scan-container[data-v-bc1ff7f2] {
  min-height: 100vh;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  padding: 1.25rem;
  box-sizing: border-box;
}
.header[data-v-bc1ff7f2] {
  margin-bottom: 1.25rem;
}
.header .header-title[data-v-bc1ff7f2] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.375rem;
}
.header .header-desc[data-v-bc1ff7f2] {
  display: block;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.scan-section[data-v-bc1ff7f2] {
  margin-bottom: 0.9375rem;
  position: relative;
  z-index: 9999;
}
.scan-btn[data-v-bc1ff7f2] {
  width: 100%;
  height: 7.5rem;
  background: rgba(255, 255, 255, 0.2);
  border: 0.125rem dashed rgba(255, 255, 255, 0.5);
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
  position: relative;
  z-index: 9999;
  cursor: pointer;
}
.scan-btn .scan-icon-wrapper[data-v-bc1ff7f2] {
  width: 3.125rem;
  height: 3.125rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}
.scan-btn .scan-icon-wrapper .scan-icon[data-v-bc1ff7f2] {
  font-size: 1.75rem;
}
.scan-btn .scan-text[data-v-bc1ff7f2] {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.25rem;
}
.scan-btn .scan-hint[data-v-bc1ff7f2] {
  font-size: 0.75rem;
  opacity: 0.8;
}
.scan-btn[data-v-bc1ff7f2]:active {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(0.98);
}
.scan-btn[data-v-bc1ff7f2]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.divider[data-v-bc1ff7f2] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.9375rem 0;
}
.divider[data-v-bc1ff7f2]::before, .divider[data-v-bc1ff7f2]::after {
  content: "";
  flex: 1;
  height: 0.0625rem;
  background: rgba(255, 255, 255, 0.3);
}
.divider .divider-text[data-v-bc1ff7f2] {
  padding: 0 0.9375rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}
.input-section[data-v-bc1ff7f2] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}
.input-section .section-title[data-v-bc1ff7f2] {
  display: block;
  font-size: 0.875rem;
  color: #666666;
  margin-bottom: 0.625rem;
  font-weight: bold;
}
.input-section .input-wrapper[data-v-bc1ff7f2] {
  margin-bottom: 0.625rem;
}
.input-section .validate-btn[data-v-bc1ff7f2] {
  width: 100%;
  height: 3rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.5rem;
  font-size: 1.125rem;
  font-weight: bold;
  box-shadow: 0 0.25rem 0.75rem rgba(102, 126, 234, 0.4);
}
.input-section .validate-btn[data-v-bc1ff7f2]:disabled {
  opacity: 0.5;
  box-shadow: none;
}
.input-section .validate-btn[data-v-bc1ff7f2]:active:not(:disabled) {
  transform: scale(0.98);
}
.result-section[data-v-bc1ff7f2] {
  margin-top: 1.25rem;
}
.result-card[data-v-bc1ff7f2] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}
.result-card.valid[data-v-bc1ff7f2] {
  border: 0.09375rem solid #4caf50;
}
.result-card.invalid[data-v-bc1ff7f2] {
  border: 0.09375rem solid #f44336;
}
.result-header[data-v-bc1ff7f2] {
  display: flex;
  align-items: center;
  margin-bottom: 0.9375rem;
  padding-bottom: 0.625rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.result-header .result-icon-wrapper[data-v-bc1ff7f2] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.625rem;
}
.result-header .result-icon-wrapper .result-icon[data-v-bc1ff7f2] {
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
}
.result-header .result-icon-wrapper.valid[data-v-bc1ff7f2] {
  background: linear-gradient(135deg, #4caf50 0%, #45a049 100%);
}
.result-header .result-icon-wrapper.invalid[data-v-bc1ff7f2] {
  background: linear-gradient(135deg, #f44336 0%, #da190b 100%);
}
.result-header .result-status-group[data-v-bc1ff7f2] {
  flex: 1;
}
.result-header .result-status-group .result-status[data-v-bc1ff7f2] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.25rem;
}
.result-header .result-status-group .result-message[data-v-bc1ff7f2] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
}
.result-content .result-item[data-v-bc1ff7f2] {
  display: flex;
  align-items: center;
  padding: 0.625rem 0;
  border-bottom: 0.0625rem solid #f5f5f5;
}
.result-content .result-item[data-v-bc1ff7f2]:last-child {
  border-bottom: none;
}
.result-content .result-item .result-label[data-v-bc1ff7f2] {
  width: 5.625rem;
  font-size: 0.875rem;
  color: #666666;
}
.result-content .result-item .result-value[data-v-bc1ff7f2] {
  flex: 1;
  font-size: 0.875rem;
  color: #333333;
}
.result-content .result-item .result-value.code-value[data-v-bc1ff7f2] {
  font-family: "Courier New", monospace;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.0625rem;
}
.result-content .result-item .copy-hint[data-v-bc1ff7f2] {
  font-size: 0.625rem;
  color: #667eea;
  margin-left: 0.5rem;
}
.result-content .result-item .status-badge[data-v-bc1ff7f2] {
  padding: 0.1875rem 0.5rem;
  border-radius: 0.625rem;
  font-size: 0.6875rem;
  font-weight: bold;
}
.result-content .result-item .status-badge.active[data-v-bc1ff7f2] {
  background: #e8f5e9;
  color: #4caf50;
}
.result-content .result-item .status-badge.used[data-v-bc1ff7f2] {
  background: #fff3e0;
  color: #ff9800;
}
.result-content .result-item .status-badge.expired[data-v-bc1ff7f2] {
  background: #ffebee;
  color: #f44336;
}
.result-content .result-item .status-badge.revoked[data-v-bc1ff7f2] {
  background: #f5f5f5;
  color: #9e9e9e;
}
.profile-section[data-v-bc1ff7f2] {
  margin-top: 0.9375rem;
  padding: 0.9375rem;
  background: #f9f9f9;
  border-radius: 0.625rem;
}
.profile-section .profile-header[data-v-bc1ff7f2] {
  margin-bottom: 0.625rem;
}
.profile-section .profile-header .profile-title[data-v-bc1ff7f2] {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
}
.profile-section .profile-item[data-v-bc1ff7f2] {
  display: flex;
  align-items: center;
  padding: 0.375rem 0;
}
.profile-section .profile-item .profile-label[data-v-bc1ff7f2] {
  width: 3.75rem;
  font-size: 0.8125rem;
  color: #666666;
}
.profile-section .profile-item .profile-value[data-v-bc1ff7f2] {
  flex: 1;
  font-size: 0.8125rem;
  color: #333333;
  font-weight: 500;
}
.profile-section .profile-item .type-badge[data-v-bc1ff7f2] {
  padding: 0.1875rem 0.5rem;
  background: #e3f2fd;
  color: #1976d2;
  border-radius: 0.625rem;
  font-size: 0.6875rem;
  font-weight: bold;
}
.profile-section .contacts-section[data-v-bc1ff7f2] {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  border-top: 0.0625rem solid #e0e0e0;
}
.profile-section .contacts-section .contacts-title[data-v-bc1ff7f2] {
  display: block;
  font-size: 0.8125rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.5rem;
}
.profile-section .contacts-section .contact-item[data-v-bc1ff7f2] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem;
  background: #ffffff;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.05);
}
.profile-section .contacts-section .contact-item .contact-info[data-v-bc1ff7f2] {
  flex: 1;
  display: flex;
  align-items: center;
  margin-right: 0.625rem;
}
.profile-section .contacts-section .contact-item .contact-info .contact-name[data-v-bc1ff7f2] {
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
  margin-right: 0.375rem;
}
.profile-section .contacts-section .contact-item .contact-info .contact-relation[data-v-bc1ff7f2] {
  font-size: 0.6875rem;
  color: #999999;
  padding: 0.125rem 0.375rem;
  background: #f0f0f0;
  border-radius: 0.375rem;
}
.profile-section .contacts-section .contact-item .contact-phone-btn[data-v-bc1ff7f2] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.625rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.75rem;
  font-size: 0.75rem;
}
.profile-section .contacts-section .contact-item .contact-phone-btn .contact-phone[data-v-bc1ff7f2] {
  font-family: "Courier New", monospace;
}
.profile-section .contacts-section .contact-item .contact-phone-btn .phone-icon[data-v-bc1ff7f2] {
  font-size: 0.625rem;
}
.profile-section .contacts-section .contact-item .contact-phone-btn[data-v-bc1ff7f2]:active {
  transform: scale(0.95);
}
.result-actions[data-v-bc1ff7f2] {
  display: flex;
  gap: 0.625rem;
  margin-top: 0.9375rem;
  padding-top: 0.9375rem;
  border-top: 0.0625rem solid #f0f0f0;
}
.result-actions .action-btn[data-v-bc1ff7f2] {
  flex: 1;
  height: 2.75rem;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.result-actions .action-btn.primary[data-v-bc1ff7f2] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  box-shadow: 0 0.125rem 0.5rem rgba(102, 126, 234, 0.4);
}
.result-actions .action-btn.primary[data-v-bc1ff7f2]:active {
  transform: scale(0.98);
}
.result-actions .action-btn .action-icon[data-v-bc1ff7f2] {
  font-size: 1rem;
}
.result-footer[data-v-bc1ff7f2] {
  margin-top: 0.9375rem;
  padding-top: 0.625rem;
  border-top: 0.0625rem solid #f0f0f0;
}
.result-footer .close-btn[data-v-bc1ff7f2] {
  width: 100%;
  height: 2.5rem;
  background: #f5f5f5;
  color: #666666;
  border: none;
  border-radius: 1.25rem;
  font-size: 0.875rem;
  font-weight: bold;
}
.result-footer .close-btn[data-v-bc1ff7f2]:active {
  background: #e8e8e8;
}uni-picker {
  position: relative;
  display: block;
  cursor: pointer;
}

uni-picker[hidden] {
  display: none;
}

uni-picker[disabled] {
  cursor: not-allowed;
}

.uni-picker-container {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  box-sizing: border-box;
  z-index: 999;
  font-size: 16px;
}

.uni-picker-container .uni-picker-custom * {
  box-sizing: border-box;
}

.uni-picker-container .uni-picker-custom {
  position: fixed;
  left: 0;
  bottom: 0;
  transform: translate(0, 100%);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 999;
  width: 100%;
  background-color: #fff;
  visibility: hidden;
  transition: transform 0.3s, visibility 0.3s;
}

.uni-picker-container .uni-picker-custom.uni-picker-toggle {
  visibility: visible;
  transform: translate(0, 0);
}

.uni-picker-container .uni-picker-content {
  position: relative;
  display: block;
  width: 100%;
  height: 238px;
  background-color: white;
}

.uni-picker-container .uni-picker-item {
  padding: 0;
  height: 34px;
  line-height: 34px;
  text-align: center;
  color: #000;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}

.uni-picker-container .uni-picker-header {
  display: block;
  position: relative;
  text-align: center;
  width: 100%;
  height: 45px;
}

.uni-picker-container .uni-picker-header:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  height: 1px;
  clear: both;
  border-bottom: 1px solid #e5e5e5;
  color: #e5e5e5;
  transform-origin: 0 100%;
  transform: scaleY(0.5);
}

.uni-picker-container .uni-picker-action {
  display: block;
  max-width: 50%;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 0 14px;
  font-size: 17px;
  line-height: 45px;
  overflow: hidden;
  cursor: pointer;
}

.uni-picker-container .uni-picker-action.uni-picker-action-cancel {
  float: left;
  color: #888;
}

.uni-picker-container .uni-picker-action.uni-picker-action-confirm {
  float: right;
  color: #007aff;
}

.uni-picker-container .uni-picker-select {
  display: none;
}

.uni-picker-system {
  position: absolute;
  display: none;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.uni-picker-system > .uni-picker-system_input {
  position: absolute;
  border: none;
  height: 100%;
  opacity: 0;
  /* Chrome 无效 */
  cursor: pointer;
}

.uni-picker-system > .uni-picker-system_input.firefox {
  top: 0;
  left: 0;
  width: 100%;
}

.uni-picker-system > .uni-picker-system_input.chrome {
  /* 日历空白位置宽度 32px */
  top: 0;
  left: 0;
  width: 2em;
  font-size: 32px;
  height: 32px;
}

@media screen and (min-width: 500px) and (min-height: 500px) {
  .uni-mask.uni-picker-mask {
    background: none;
  }
  .uni-picker-container .uni-picker-custom {
    width: 300px !important;
    left: 50%;
    right: auto;
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    opacity: 0;
    border-radius: 5px;
    transition: opacity 0.3s, visibility 0.3s;
    box-shadow: 0px 0 20px 5px rgba(0, 0, 0, 0.3);
  }
  .uni-picker-container .uni-picker-header {
    border-radius: 5px 5px 0 0;
  }
  .uni-picker-container .uni-picker-content {
    /* transform 用于解决 Safari overflow 失效的问题 */
    transform: translate(0 0);
    overflow: hidden;
    border-radius: 0 0 5px 5px;
  }
  .uni-picker-container .uni-picker-custom.uni-picker-toggle {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .uni-selector-select .uni-picker-header,
  .uni-selector-select .uni-picker-content {
    display: none;
  }
  .uni-selector-select .uni-picker-select {
    display: block;
    max-height: 300px;
    overflow: auto;
    background-color: white;
    border-radius: 5px;
    padding: 6px 0;
  }
  .uni-selector-select .uni-picker-item {
    padding: 0 10px;
    color: #555555;
  }
  .uni-selector-select .uni-picker-item:hover {
    background-color: #f6f6f6;
  }
  .uni-selector-select .uni-picker-item.selected {
    color: #007aff;
  }
}
uni-picker-view {
  display: block;
}

.uni-picker-view-wrapper {
  display: flex;
  position: relative;
  overflow: hidden;
  height: 100%;
}

uni-picker-view[hidden] {
  display: none;
}
uni-picker-view-column {
  flex: 1;
  position: relative;
  height: 100%;
  overflow: hidden;
}

uni-picker-view-column[hidden] {
  display: none;
}

.uni-picker-view-group {
  height: 100%;
  overflow: hidden;
}

.uni-picker-view-mask {
  transform: translateZ(0);
}

.uni-picker-view-indicator,
.uni-picker-view-mask {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 3;
  pointer-events: none;
}

.uni-picker-view-mask {
  top: 0;
  height: 100%;
  margin: 0 auto;
  background-image: linear-gradient(
      180deg,
      hsla(0, 0%, 100%, 0.95),
      hsla(0, 0%, 100%, 0.6)
    ),
    linear-gradient(0deg, hsla(0, 0%, 100%, 0.95), hsla(0, 0%, 100%, 0.6));
  background-position: top, bottom;
  background-size: 100% 102px;
  background-repeat: no-repeat;
  transform: translateZ(0);
}

.uni-picker-view-indicator {
  height: 34px;
  /* top: 102px; */
  top: 50%;
  transform: translateY(-50%);
}

.uni-picker-view-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  will-change: transform;
  padding: 102px 0;
  cursor: pointer;
}

.uni-picker-view-content > * {
  height: var(--picker-view-column-indicator-height);
  overflow: hidden;
}

.uni-picker-view-indicator:after,
.uni-picker-view-indicator:before {
  content: ' ';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  color: #e5e5e5;
}

.uni-picker-view-indicator:before {
  top: 0;
  border-top: 1px solid #e5e5e5;
  transform-origin: 0 0;
  transform: scaleY(0.5);
}

.uni-picker-view-indicator:after {
  bottom: 0;
  border-bottom: 1px solid #e5e5e5;
  transform-origin: 0 100%;
  transform: scaleY(0.5);
}

.uni-picker-view-indicator:after,
.uni-picker-view-indicator:before {
  content: ' ';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  color: #e5e5e5;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-e0a2d729], uni-textarea[data-v-e0a2d729], .uni-input[data-v-e0a2d729], .uni-textarea[data-v-e0a2d729] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-e0a2d729]:focus, uni-textarea[data-v-e0a2d729]:focus, .uni-input[data-v-e0a2d729]:focus, .uni-textarea[data-v-e0a2d729]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-e0a2d729]::-webkit-input-placeholder, uni-textarea[data-v-e0a2d729]::-webkit-input-placeholder, .uni-input[data-v-e0a2d729]::-webkit-input-placeholder, .uni-textarea[data-v-e0a2d729]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-e0a2d729]::placeholder, uni-textarea[data-v-e0a2d729]::placeholder, .uni-input[data-v-e0a2d729]::placeholder, .uni-textarea[data-v-e0a2d729]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-e0a2d729] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.scan-bind-container[data-v-e0a2d729] {
  min-height: 100vh;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  padding: 1.25rem;
  box-sizing: border-box;
}

/* 确保页面背景正确显示 */
[data-v-e0a2d729] uni-page-body {
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-e0a2d729] uni-page {
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-e0a2d729] uni-page-body {
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
}
body[data-v-e0a2d729] {
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-e0a2d729] body {
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-e0a2d729] uni-page-wrapper {
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%) !important;
}
.header[data-v-e0a2d729] {
  margin-bottom: 1.25rem;
}
.header .header-title[data-v-e0a2d729] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.375rem;
}
.header .header-desc[data-v-e0a2d729] {
  display: block;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.scan-section[data-v-e0a2d729] {
  margin-bottom: 0.9375rem;
}
.scan-btn[data-v-e0a2d729] {
  width: 100%;
  height: 7.5rem;
  background: rgba(255, 255, 255, 0.2);
  border: 0.125rem dashed rgba(255, 255, 255, 0.5);
  border-radius: 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
}
.scan-btn .scan-icon-wrapper[data-v-e0a2d729] {
  width: 3.125rem;
  height: 3.125rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}
.scan-btn .scan-icon-wrapper .scan-icon[data-v-e0a2d729] {
  font-size: 1.75rem;
}
.scan-btn .scan-text[data-v-e0a2d729] {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.25rem;
}
.scan-btn .scan-hint[data-v-e0a2d729] {
  font-size: 0.75rem;
  opacity: 0.8;
}
.scan-btn[data-v-e0a2d729]:active {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(0.98);
}
.divider[data-v-e0a2d729] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.9375rem 0;
}
.divider[data-v-e0a2d729]::before, .divider[data-v-e0a2d729]::after {
  content: "";
  flex: 1;
  height: 0.0625rem;
  background: rgba(255, 255, 255, 0.3);
}
.divider .divider-text[data-v-e0a2d729] {
  padding: 0 0.9375rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
}
.input-section[data-v-e0a2d729] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}
.input-section .section-title[data-v-e0a2d729] {
  display: block;
  font-size: 0.875rem;
  color: #666666;
  margin-bottom: 0.625rem;
  font-weight: bold;
}
.input-section .input-wrapper[data-v-e0a2d729] {
  margin-bottom: 0.625rem;
  overflow: visible;
  min-height: 3.125rem;
  z-index: 1;
  position: relative;
}
.input-section .bind-btn[data-v-e0a2d729] {
  width: 100%;
  height: 3rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.5rem;
  font-size: 1.125rem;
  font-weight: bold;
  box-shadow: 0 0.25rem 0.75rem rgba(102, 126, 234, 0.4);
}
.input-section .bind-btn[data-v-e0a2d729]:disabled {
  opacity: 0.5;
  box-shadow: none;
}
.input-section .bind-btn[data-v-e0a2d729]:active:not(:disabled) {
  transform: scale(0.98);
}
.bind-form-section[data-v-e0a2d729] {
  margin-top: 1.25rem;
}
.follow-section[data-v-e0a2d729] {
  background: linear-gradient(135deg, #fff8e1 0%, #fff3e0 100%);
  border: 0.0625rem solid #ffc107;
  border-radius: 0.75rem;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  text-align: center;
}
.follow-section .follow-header[data-v-e0a2d729] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
.follow-section .follow-header .follow-icon[data-v-e0a2d729] {
  font-size: 1.25rem;
}
.follow-section .follow-header .follow-title[data-v-e0a2d729] {
  font-size: 1rem;
  font-weight: bold;
  color: #f57c00;
}
.follow-section .follow-desc[data-v-e0a2d729] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  margin-bottom: 0.9375rem;
  line-height: 1.6;
}
.follow-section .qr-code-box[data-v-e0a2d729] {
  width: 10rem;
  height: 10rem;
  margin: 0 auto 0.625rem;
  background: #ffffff;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.follow-section .qr-code-box .qr-image[data-v-e0a2d729] {
  width: 8.75rem;
  height: 8.75rem;
}
.follow-section .qr-code-box .qr-placeholder[data-v-e0a2d729] {
  font-size: 0.875rem;
  color: #999999;
  padding: 1.25rem;
}
.follow-section .follow-tip[data-v-e0a2d729] {
  display: block;
  font-size: 0.75rem;
  color: #f57c00;
  font-weight: bold;
}
.form-card[data-v-e0a2d729] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}
.form-card .form-header[data-v-e0a2d729] {
  text-align: center;
  margin-bottom: 1.25rem;
  padding-bottom: 0.625rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.form-card .form-header .form-title[data-v-e0a2d729] {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.375rem;
}
.form-card .form-header .form-subtitle[data-v-e0a2d729] {
  display: block;
  font-size: 0.875rem;
  color: #667eea;
  font-family: "Courier New", monospace;
  font-weight: bold;
  letter-spacing: 0.0625rem;
}
.form-section[data-v-e0a2d729] {
  margin-bottom: 1.25rem;
}
.form-section .section-title[data-v-e0a2d729] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.75rem;
  padding-left: 0.3125rem;
  border-left: 0.1875rem solid #667eea;
}

/* H5 表单样式 */
.h5-form .form-item[data-v-e0a2d729] {
  margin-bottom: 0.9375rem;
}
.h5-form .form-item[data-v-e0a2d729]:last-child {
  margin-bottom: 0;
}
.h5-form .form-item.switch-item .switch-wrapper[data-v-e0a2d729] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.h5-form .form-item.switch-item .switch-wrapper .switch-desc[data-v-e0a2d729] {
  flex: 1;
  font-size: 0.75rem;
  color: #666666;
}
.h5-form .form-label[data-v-e0a2d729] {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.h5-form .form-label .label-text[data-v-e0a2d729] {
  font-size: 0.875rem;
  color: #333333;
  font-weight: 500;
}
.h5-form .form-label .required[data-v-e0a2d729] {
  color: #ff4d4f;
  margin-left: 0.25rem;
  font-size: 0.875rem;
}
.h5-form .native-input[data-v-e0a2d729],
.h5-form .native-textarea[data-v-e0a2d729] {
  width: 100%;
  padding: 0.625rem;
  background: #f5f5f5;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  color: #333333;
  border: 0.03125rem solid transparent;
}
.h5-form .native-input[data-v-e0a2d729]:focus,
.h5-form .native-textarea[data-v-e0a2d729]:focus {
  background: #ffffff;
  border-color: #667eea;
}
.h5-form .native-textarea[data-v-e0a2d729] {
  min-height: 3.75rem;
}
.picker-value[data-v-e0a2d729] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem;
  background: #f5f5f5;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  color: #333333;
}
.picker-value .picker-arrow[data-v-e0a2d729] {
  color: #999999;
}
.switch-wrapper[data-v-e0a2d729] {
  display: flex;
  align-items: center;
}
.switch-desc[data-v-e0a2d729] {
  font-size: 0.75rem;
  color: #999999;
  margin-left: 0.625rem;
}
.confirm-bind-btn[data-v-e0a2d729] {
  width: 100%;
  height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.375rem;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 0.625rem;
  box-shadow: 0 0.25rem 0.75rem rgba(102, 126, 234, 0.4);
}
.confirm-bind-btn[data-v-e0a2d729]:disabled {
  opacity: 0.6;
  box-shadow: none;
}
.confirm-bind-btn[data-v-e0a2d729]:active:not(:disabled) {
  transform: scale(0.98);
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-a9297e07], uni-textarea[data-v-a9297e07], .uni-input[data-v-a9297e07], .uni-textarea[data-v-a9297e07] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-a9297e07]:focus, uni-textarea[data-v-a9297e07]:focus, .uni-input[data-v-a9297e07]:focus, .uni-textarea[data-v-a9297e07]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-a9297e07]::-webkit-input-placeholder, uni-textarea[data-v-a9297e07]::-webkit-input-placeholder, .uni-input[data-v-a9297e07]::-webkit-input-placeholder, .uni-textarea[data-v-a9297e07]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-a9297e07]::placeholder, uni-textarea[data-v-a9297e07]::placeholder, .uni-input[data-v-a9297e07]::placeholder, .uni-textarea[data-v-a9297e07]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-a9297e07] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.scan-logs-container[data-v-a9297e07] {
  min-height: 100vh;
  background: #f5f5f5;
  padding: 1.25rem;
}
.header[data-v-a9297e07] {
  margin-bottom: 0.9375rem;
}
.header .header-title[data-v-a9297e07] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.375rem;
}
.header .header-desc[data-v-a9297e07] {
  display: block;
  font-size: 0.875rem;
  color: #666666;
}
.search-section[data-v-a9297e07] {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
.search-section .search-btn[data-v-a9297e07] {
  flex-shrink: 0;
  width: 5rem;
  height: 2.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: bold;
}
.logs-section[data-v-a9297e07] {
  min-height: 12.5rem;
}
.loading-state[data-v-a9297e07],
.empty-state[data-v-a9297e07] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3.75rem 1.25rem;
}
.loading-state .loading-text[data-v-a9297e07],
.loading-state .empty-text[data-v-a9297e07],
.empty-state .loading-text[data-v-a9297e07],
.empty-state .empty-text[data-v-a9297e07] {
  font-size: 1rem;
  color: #666666;
  margin-bottom: 0.375rem;
}
.loading-state .empty-icon[data-v-a9297e07],
.empty-state .empty-icon[data-v-a9297e07] {
  font-size: 4.375rem;
  margin-bottom: 0.75rem;
  opacity: 0.5;
}
.loading-state .empty-hint[data-v-a9297e07],
.empty-state .empty-hint[data-v-a9297e07] {
  font-size: 0.75rem;
  color: #999999;
}
.logs-list .log-item[data-v-a9297e07] {
  background: #ffffff;
  border-radius: 0.5rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.05);
}
.logs-list .log-item .log-header[data-v-a9297e07] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
  padding-bottom: 0.625rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.logs-list .log-item .log-header .log-code[data-v-a9297e07] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333333;
  font-family: "Courier New", monospace;
}
.logs-list .log-item .log-header .log-status[data-v-a9297e07] {
  padding: 0.25rem 0.625rem;
  border-radius: 0.375rem;
  font-size: 0.6875rem;
  font-weight: bold;
  color: #ffffff;
}
.logs-list .log-item .log-header .log-status.success[data-v-a9297e07] {
  background: #4caf50;
}
.logs-list .log-item .log-header .log-status.failed[data-v-a9297e07] {
  background: #f44336;
}
.logs-list .log-item .log-info .info-row[data-v-a9297e07] {
  display: flex;
  margin-bottom: 0.5rem;
}
.logs-list .log-item .log-info .info-row .info-label[data-v-a9297e07] {
  font-size: 0.8125rem;
  color: #999999;
  width: 4.375rem;
  flex-shrink: 0;
}
.logs-list .log-item .log-info .info-row .info-value[data-v-a9297e07] {
  font-size: 0.8125rem;
  color: #333333;
  flex: 1;
}
.logs-list .log-item .scanner-info[data-v-a9297e07] {
  margin-top: 0.625rem;
  padding: 0.625rem;
  background: #e3f2fd;
  border-radius: 0.375rem;
}
.logs-list .log-item .scanner-info .scanner-title[data-v-a9297e07] {
  display: block;
  font-size: 0.75rem;
  font-weight: bold;
  color: #2196f3;
  margin-bottom: 0.5rem;
}
.logs-list .log-item .scanner-info .info-row[data-v-a9297e07] {
  margin-bottom: 0.375rem;
}
.logs-list .log-item .scanner-info .info-row[data-v-a9297e07]:last-child {
  margin-bottom: 0;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-27292538], uni-textarea[data-v-27292538], .uni-input[data-v-27292538], .uni-textarea[data-v-27292538] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-27292538]:focus, uni-textarea[data-v-27292538]:focus, .uni-input[data-v-27292538]:focus, .uni-textarea[data-v-27292538]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-27292538]::-webkit-input-placeholder, uni-textarea[data-v-27292538]::-webkit-input-placeholder, .uni-input[data-v-27292538]::-webkit-input-placeholder, .uni-textarea[data-v-27292538]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-27292538]::placeholder, uni-textarea[data-v-27292538]::placeholder, .uni-input[data-v-27292538]::placeholder, .uni-textarea[data-v-27292538]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-27292538] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-27292538] {
  padding: 20px;
}
.search-filter-card[data-v-27292538] {
  background: #ffffff;
  border-radius: 0.375rem;
  padding: 1rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.06);
}
.search-filter-card .search-row[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.search-filter-card .search-row .search-box[data-v-27292538] {
  flex: 1;
  max-width: 15rem;
}
.search-filter-card .search-row .search-box .search-input-wrapper[data-v-27292538] {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.75rem;
  background: #f8f9fa;
  border: 0.0625rem solid #e8e8e8;
  border-radius: 0.3125rem;
  transition: all 0.2s ease;
}
.search-filter-card .search-row .search-box .search-input-wrapper[data-v-27292538]:focus-within {
  background: #ffffff;
  border-color: #667eea;
  box-shadow: 0 0 0 0.125rem rgba(102, 126, 234, 0.1);
}
.search-filter-card .search-row .search-box .search-input-wrapper .search-icon[data-v-27292538] {
  font-size: 1rem;
  margin-right: 0.5rem;
  color: #999999;
}
.search-filter-card .search-row .search-box .search-input-wrapper .search-input[data-v-27292538] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
  font-size: 0.875rem;
  color: #333333;
}
.search-filter-card .search-row .search-box .search-input-wrapper .search-input[data-v-27292538]::-webkit-input-placeholder {
  color: #bbbbbb;
}
.search-filter-card .search-row .search-box .search-input-wrapper .search-input[data-v-27292538]::placeholder {
  color: #bbbbbb;
}
.search-filter-card .search-row .search-box .search-input-wrapper .clear-icon[data-v-27292538] {
  font-size: 0.75rem;
  color: #999999;
  padding: 0.25rem;
  cursor: pointer;
}
.search-filter-card .search-row .search-box .search-input-wrapper .clear-icon[data-v-27292538]:hover {
  color: #666666;
}
.search-filter-card .search-row .filter-tags[data-v-27292538] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.search-filter-card .search-row .filter-tags .filter-tag[data-v-27292538] {
  padding: 0.5rem 0.875rem;
  background: #f5f5f5;
  border: 0.0625rem solid transparent;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: #666666;
  cursor: pointer;
  transition: all 0.2s ease;
}
.search-filter-card .search-row .filter-tags .filter-tag[data-v-27292538]:hover {
  background: #ebebeb;
}
.search-filter-card .search-row .filter-tags .filter-tag.active[data-v-27292538] {
  background: rgba(102, 126, 234, 0.1);
  border-color: #667eea;
  color: #667eea;
  font-weight: 500;
}
.search-filter-card .search-row .filter-tags .filter-tag[data-v-27292538]:active {
  transform: scale(0.98);
}
.search-filter-card .filter-row[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-top: 0.75rem;
  border-top: 0.0625rem solid #f0f0f0;
}
.search-filter-card .filter-row .filter-group[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.search-filter-card .filter-row .filter-group .filter-label[data-v-27292538] {
  font-size: 0.8125rem;
  color: #666666;
  white-space: nowrap;
}
.search-filter-card .filter-row .filter-group .filter-select[data-v-27292538] {
  padding: 0.375rem 1.25rem 0.375rem 0.625rem;
  background: #f8f9fa;
  border: 0.0625rem solid #e8e8e8;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: #333333;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  min-width: 5rem;
}
.search-filter-card .filter-row .filter-group .filter-select[data-v-27292538]:hover {
  border-color: #d9d9d9;
}
.search-filter-card .filter-row .filter-group .filter-select[data-v-27292538]:focus {
  border-color: #667eea;
  background-color: #ffffff;
}
.search-filter-card .filter-row .filter-group .picker-value[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  background: #f8f9fa;
  border: 0.0625rem solid #e8e8e8;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: #333333;
  cursor: pointer;
}
.search-filter-card .filter-row .filter-group .picker-value .picker-arrow[data-v-27292538] {
  font-size: 0.625rem;
  color: #999999;
}
.batch-bar[data-v-27292538] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 0.625rem 0.9375rem;
  border-radius: 0.375rem;
  margin: 0.625rem 1.25rem;
  box-shadow: 0 0.125rem 0.375rem rgba(102, 126, 234, 0.3);
}
.batch-bar .batch-text[data-v-27292538] {
  font-size: 0.875rem;
  color: #ffffff;
  font-weight: 500;
}
.batch-bar .batch-actions[data-v-27292538] {
  display: flex;
  gap: 0.5rem;
}
.batch-bar .batch-btn[data-v-27292538] {
  padding: 0.375rem 0.75rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border: none;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
}
.batch-bar .batch-btn.danger[data-v-27292538] {
  background: #ff4444;
}
.batch-bar .batch-btn.export[data-v-27292538] {
  background: #52c41a;
}
.batch-bar .batch-btn[data-v-27292538]:active {
  transform: scale(0.95);
}
.batch-bar .close-btn[data-v-27292538] {
  font-size: 1rem;
  color: #ffffff;
  padding: 0.3125rem;
  opacity: 0.8;
}
.batch-bar .close-btn[data-v-27292538]:active {
  opacity: 1;
}
.list-section[data-v-27292538] {
  background: #ffffff;
  min-height: 12.5rem;
  padding: 0 1.25rem;
}
.loading-state[data-v-27292538],
.empty-state[data-v-27292538] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3.75rem 0;
}
.loading-state .loading-text[data-v-27292538],
.loading-state .empty-text[data-v-27292538],
.empty-state .loading-text[data-v-27292538],
.empty-state .empty-text[data-v-27292538] {
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.375rem;
}
.loading-state .empty-icon[data-v-27292538],
.empty-state .empty-icon[data-v-27292538] {
  font-size: 3.75rem;
  margin-bottom: 0.75rem;
  opacity: 0.5;
}
.loading-state .empty-hint[data-v-27292538],
.empty-state .empty-hint[data-v-27292538] {
  font-size: 0.75rem;
  color: #cccccc;
  margin-bottom: 1.25rem;
}
.loading-state .go-generate-btn[data-v-27292538],
.empty-state .go-generate-btn[data-v-27292538] {
  padding: 0.625rem 1.25rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.5rem;
  font-size: 0.875rem;
  font-weight: bold;
}
.code-table[data-v-27292538] {
  background: #ffffff;
  border-radius: 0.375rem;
  overflow: hidden;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.06);
}
.code-table .table-header[data-v-27292538] {
  display: flex;
  align-items: center;
  background: #f8f9fa;
  padding: 0.625rem 0;
  border-bottom: 0.0625rem solid #e8e8e8;
  font-weight: bold;
  font-size: 0.8125rem;
  color: #666666;
}
.code-table .table-header .th-checkbox[data-v-27292538] {
  width: 2.5rem;
  display: flex;
  justify-content: center;
}
.code-table .table-header .th-index[data-v-27292538] {
  width: 2.5rem;
  text-align: center;
}
.code-table .table-header .th-qrcode[data-v-27292538] {
  width: 6.25rem;
  text-align: center;
}
.code-table .table-header .th-tenant[data-v-27292538] {
  width: 4.375rem;
  text-align: center;
}
.code-table .table-header .th-bindinfo[data-v-27292538] {
  flex: 1;
  min-width: 9.375rem;
  padding: 0 0.625rem;
}
.code-table .table-header .th-type[data-v-27292538] {
  width: 3.75rem;
  text-align: center;
}
.code-table .table-header .th-status[data-v-27292538] {
  width: 3.75rem;
  text-align: center;
}
.code-table .table-header .th-time[data-v-27292538] {
  width: 5.625rem;
  text-align: center;
}
.code-table .table-header .th-actions[data-v-27292538] {
  width: 6.875rem;
  text-align: center;
}
.code-table .table-header .checkbox[data-v-27292538] {
  width: 1.375rem;
  height: 1.375rem;
  border: 0.0625rem solid #cccccc;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}
.code-table .table-header .checkbox.checked[data-v-27292538] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #ffffff;
}
.code-table .table-row[data-v-27292538] {
  display: flex;
  align-items: stretch;
  padding: 0.625rem 0;
  border-bottom: 0.03125rem solid #f0f0f0;
  min-height: 6.25rem;
}
.code-table .table-row[data-v-27292538]:last-child {
  border-bottom: none;
}
.code-table .table-row.selected[data-v-27292538] {
  background: rgba(102, 126, 234, 0.05);
}
.code-table .table-row .td-checkbox[data-v-27292538] {
  width: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.code-table .table-row .td-checkbox .checkbox[data-v-27292538] {
  width: 1.375rem;
  height: 1.375rem;
  border: 0.0625rem solid #cccccc;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}
.code-table .table-row .td-checkbox .checkbox.checked[data-v-27292538] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #ffffff;
}
.code-table .table-row .td-index[data-v-27292538] {
  width: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  color: #999999;
}
.code-table .table-row .td-qrcode[data-v-27292538] {
  width: 6.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.3125rem;
}
.code-table .table-row .td-qrcode .qrcode-img[data-v-27292538] {
  width: 5rem !important;
  height: 5rem !important;
  min-width: 5rem !important;
  min-height: 5rem !important;
  margin-bottom: 0.3125rem;
  cursor: pointer;
  display: block;
}
.code-table .table-row .td-qrcode .code-number[data-v-27292538] {
  font-size: 0.625rem;
  color: #999999;
  font-family: "Courier New", monospace;
}
.code-table .table-row .td-tenant[data-v-27292538] {
  width: 4.375rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 0.3125rem;
}
.code-table .table-row .td-tenant .tenant-name[data-v-27292538] {
  font-size: 0.75rem;
  color: #333333;
  font-weight: 500;
  text-align: center;
}
.code-table .table-row .td-tenant .agent-code[data-v-27292538] {
  font-size: 0.625rem;
  color: #999999;
  margin-top: 0.1875rem;
}
.code-table .table-row .td-bindinfo[data-v-27292538] {
  flex: 1;
  min-width: 10rem;
  padding: 0.5rem 0.625rem;
  display: flex;
  align-items: center;
}
.code-table .table-row .td-bindinfo .bind-info-card[data-v-27292538] {
  width: 100%;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border: 0.0625rem solid #e8e8e8;
  border-radius: 0.375rem;
  padding: 0.625rem;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
  font-size: 0.75rem;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row[data-v-27292538]:last-child {
  margin-bottom: 0;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row.primary[data-v-27292538] {
  border-bottom: 0.0625rem dashed #e0e0e0;
  padding-bottom: 0.375rem;
  margin-bottom: 0.375rem;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row.time-row[data-v-27292538] {
  padding-top: 0.25rem;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row .item-name[data-v-27292538] {
  font-size: 0.875rem;
  font-weight: 600;
  color: #333333;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row .owner-name[data-v-27292538] {
  font-size: 0.75rem;
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.125rem 0.5rem;
  border-radius: 0.625rem;
  white-space: nowrap;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row .phone[data-v-27292538] {
  font-size: 0.75rem;
  color: #666666;
}
.code-table .table-row .td-bindinfo .bind-info-card .info-row .bind-time[data-v-27292538] {
  font-size: 0.6875rem;
  color: #999999;
}
.code-table .table-row .td-bindinfo .no-bind[data-v-27292538] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.9375rem;
}
.code-table .table-row .td-bindinfo .no-bind .no-bind-icon[data-v-27292538] {
  font-size: 1.5rem;
  margin-bottom: 0.375rem;
  opacity: 0.5;
}
.code-table .table-row .td-bindinfo .no-bind .no-bind-text[data-v-27292538] {
  font-size: 0.75rem;
  color: #bbbbbb;
}
.code-table .table-row .td-type[data-v-27292538] {
  width: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.code-table .table-row .td-type .type-tag[data-v-27292538] {
  font-size: 0.6875rem;
  color: #667eea;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.1875rem 0.5rem;
  border-radius: 0.25rem;
}
.code-table .table-row .td-status[data-v-27292538] {
  width: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.code-table .table-row .td-status .status-badge[data-v-27292538] {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.6875rem;
  font-weight: bold;
}
.code-table .table-row .td-status .status-badge.active[data-v-27292538] {
  background: #e8f5e9;
  color: #4caf50;
}
.code-table .table-row .td-status .status-badge.used[data-v-27292538] {
  background: #fff3e0;
  color: #ff9800;
}
.code-table .table-row .td-status .status-badge.expired[data-v-27292538] {
  background: #ffebee;
  color: #f44336;
}
.code-table .table-row .td-status .status-badge.revoked[data-v-27292538] {
  background: #f5f5f5;
  color: #9e9e9e;
}
.code-table .table-row .td-time[data-v-27292538] {
  width: 5.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.code-table .table-row .td-time .time-text[data-v-27292538] {
  font-size: 0.6875rem;
  color: #999999;
  text-align: center;
}
.code-table .table-row .td-actions[data-v-27292538] {
  width: 6.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0 0.3125rem;
}
.code-table .table-row .td-actions .action-btn[data-v-27292538] {
  width: 1.5rem;
  height: 1.5rem;
  background: #ffffff;
  border: 0.0625rem solid #e8e8e8;
  border-radius: 0.3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease;
}
.code-table .table-row .td-actions .action-btn .action-icon[data-v-27292538] {
  font-size: 0.75rem;
  opacity: 0.7;
}
.code-table .table-row .td-actions .action-btn[data-v-27292538]:hover {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.05);
  transform: translateY(-0.0625rem);
  box-shadow: 0 0.125rem 0.375rem rgba(102, 126, 234, 0.15);
}
.code-table .table-row .td-actions .action-btn:hover .action-icon[data-v-27292538] {
  opacity: 1;
}
.code-table .table-row .td-actions .action-btn[data-v-27292538]:active {
  transform: translateY(0);
}
.code-table .table-row .td-actions .action-btn.warning[data-v-27292538] {
  border-color: #ffcc80;
  background: #fff8e1;
}
.code-table .table-row .td-actions .action-btn.warning[data-v-27292538]:hover {
  border-color: #ff9800;
  box-shadow: 0 0.125rem 0.375rem rgba(255, 152, 0, 0.15);
}
.code-table .table-row .td-actions .action-btn.danger[data-v-27292538] {
  border-color: #ef9a9a;
  background: #ffebee;
}
.code-table .table-row .td-actions .action-btn.danger[data-v-27292538]:hover {
  border-color: #f44336;
  box-shadow: 0 0.125rem 0.375rem rgba(244, 67, 54, 0.15);
}
.code-table .table-row .td-actions .action-btn[data-v-27292538]:active {
  transform: scale(0.9);
}
.code-table .code-item[data-v-27292538] {
  display: flex;
  align-items: center;
  padding: 0.9375rem 0;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.code-table .code-item[data-v-27292538]:last-child {
  border-bottom: none;
}
.code-table .code-item.selected[data-v-27292538] {
  background: rgba(102, 126, 234, 0.05);
}
.code-table .code-item .code-checkbox[data-v-27292538] {
  padding: 0.625rem;
  margin-right: 0.3125rem;
}
.code-table .code-item .code-checkbox .checkbox[data-v-27292538] {
  width: 1.375rem;
  height: 1.375rem;
  border: 0.0625rem solid #cccccc;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.code-table .code-item .code-checkbox .checkbox.checked[data-v-27292538] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #ffffff;
}
.code-table .code-item .code-checkbox .checkbox uni-text[data-v-27292538] {
  font-size: 0.875rem;
  font-weight: bold;
}
.code-table .code-item .code-main[data-v-27292538] {
  flex: 1;
  margin-right: 0.625rem;
}
.code-table .code-item .code-main .code-header[data-v-27292538] {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.code-table .code-item .code-main .code-header .code-text[data-v-27292538] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  font-family: "Courier New", monospace;
  margin-right: 0.5rem;
}
.code-table .code-item .code-main .code-header .status-badge[data-v-27292538] {
  padding: 0.1875rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.625rem;
  font-weight: bold;
}
.code-table .code-item .code-main .code-header .status-badge.active[data-v-27292538] {
  background: #e8f5e9;
  color: #4caf50;
}
.code-table .code-item .code-main .code-header .status-badge.used[data-v-27292538] {
  background: #fff3e0;
  color: #ff9800;
}
.code-table .code-item .code-main .code-header .status-badge.expired[data-v-27292538] {
  background: #ffebee;
  color: #f44336;
}
.code-table .code-item .code-main .code-header .status-badge.revoked[data-v-27292538] {
  background: #f5f5f5;
  color: #9e9e9e;
}
.code-table .code-item .code-main .code-info[data-v-27292538] {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.375rem;
}
.code-table .code-item .code-main .code-info .info-item[data-v-27292538] {
  font-size: 0.75rem;
  color: #999999;
}
.code-table .code-item .code-main .profile-preview[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}
.code-table .code-item .code-main .profile-preview .profile-name[data-v-27292538] {
  font-size: 0.8125rem;
  color: #333333;
  font-weight: 500;
}
.code-table .code-item .code-main .profile-preview .profile-type[data-v-27292538] {
  font-size: 0.6875rem;
  color: #667eea;
  padding: 0.125rem 0.375rem;
  background: #e3f2fd;
  border-radius: 0.375rem;
}
.code-table .code-item .code-main .code-time .time-text[data-v-27292538] {
  font-size: 0.6875rem;
  color: #cccccc;
}
.code-table .code-item .code-actions[data-v-27292538] {
  display: flex;
  gap: 0.375rem;
}
.code-table .code-item .code-actions .action-btn[data-v-27292538] {
  width: 2rem;
  height: 2rem;
  background: #f5f5f5;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.code-table .code-item .code-actions .action-btn .action-icon[data-v-27292538] {
  font-size: 0.875rem;
}
.code-table .code-item .code-actions .action-btn[data-v-27292538]:active {
  background: #e8e8e8;
  transform: scale(0.95);
}
.pagination-wrapper[data-v-27292538] {
  background: #ffffff;
  padding: 0.75rem 1.25rem;
  border-top: 0.0625rem solid #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.pagination-wrapper .pagination-info[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.pagination-wrapper .pagination-info .total-text[data-v-27292538] {
  font-size: 0.8125rem;
  color: #666666;
}
.pagination-wrapper .pagination-info .page-size-selector select[data-v-27292538] {
  padding: 0.25rem 0.5rem;
  border: 0.0625rem solid #d9d9d9;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: #333333;
  background: #ffffff;
  cursor: pointer;
  outline: none;
}
.pagination-wrapper .pagination-info .page-size-selector select[data-v-27292538]:hover {
  border-color: #667eea;
}
.pagination-wrapper .pagination-info .page-size-selector select[data-v-27292538]:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 0.125rem rgba(102, 126, 234, 0.2);
}
.pagination-wrapper .pagination[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.pagination-wrapper .pagination .page-btn[data-v-27292538] {
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  background: #ffffff;
  border: 0.0625rem solid #d9d9d9;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  color: #666666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.pagination-wrapper .pagination .page-btn[data-v-27292538]:hover:not(:disabled) {
  color: #667eea;
  border-color: #667eea;
}
.pagination-wrapper .pagination .page-btn[data-v-27292538]:disabled {
  color: #d9d9d9;
  border-color: #e8e8e8;
  cursor: not-allowed;
}
.pagination-wrapper .pagination .page-btn.first[data-v-27292538], .pagination-wrapper .pagination .page-btn.last[data-v-27292538] {
  font-size: 0.75rem;
  font-weight: bold;
}
.pagination-wrapper .pagination .page-btn.prev[data-v-27292538], .pagination-wrapper .pagination .page-btn.next[data-v-27292538] {
  font-size: 1rem;
  font-weight: bold;
}
.pagination-wrapper .pagination .page-numbers[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0 0.25rem;
}
.pagination-wrapper .pagination .page-numbers .page-number[data-v-27292538] {
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.5rem;
  background: #ffffff;
  border: 0.0625rem solid #d9d9d9;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  color: #666666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.pagination-wrapper .pagination .page-numbers .page-number[data-v-27292538]:hover {
  color: #667eea;
  border-color: #667eea;
}
.pagination-wrapper .pagination .page-numbers .page-number.active[data-v-27292538] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: #667eea;
  color: #ffffff;
  font-weight: 500;
}
.pagination-wrapper .pagination .page-numbers .page-number.active[data-v-27292538]:hover {
  opacity: 0.9;
}
.pagination-wrapper .pagination .quick-jump[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-left: 0.625rem;
  padding-left: 0.625rem;
  border-left: 0.0625rem solid #e8e8e8;
}
.pagination-wrapper .pagination .quick-jump uni-text[data-v-27292538] {
  font-size: 0.8125rem;
  color: #666666;
}
.pagination-wrapper .pagination .quick-jump .jump-input[data-v-27292538] {
  width: 2.5rem;
  height: 2rem;
  padding: 0 0.375rem;
  border: 0.0625rem solid #d9d9d9;
  border-radius: 0.25rem;
  text-align: center;
  font-size: 0.875rem;
  color: #333333;
  background: #ffffff;
  outline: none;
  transition: all 0.2s ease;
}
.pagination-wrapper .pagination .quick-jump .jump-input[data-v-27292538]:hover {
  border-color: #667eea;
}
.pagination-wrapper .pagination .quick-jump .jump-input[data-v-27292538]:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 0.125rem rgba(102, 126, 234, 0.2);
}
.toolbar[data-v-27292538] {
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.toolbar .toolbar-left .stats-text[data-v-27292538] {
  font-size: 0.875rem;
  color: #666666;
}
.toolbar .toolbar-left .stats-text .stats-num[data-v-27292538] {
  color: #667eea;
  font-weight: 600;
  font-size: 1rem;
}
.toolbar .toolbar-right[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.toolbar .toolbar-right .toolbar-btn[data-v-27292538] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border: 0.0625rem solid #d9d9d9;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  color: #666666;
  cursor: pointer;
  transition: all 0.2s ease;
}
.toolbar .toolbar-right .toolbar-btn .btn-icon[data-v-27292538] {
  font-size: 0.875rem;
}
.toolbar .toolbar-right .toolbar-btn[data-v-27292538]:hover {
  color: #667eea;
  border-color: #667eea;
}
.toolbar .toolbar-right .toolbar-btn[data-v-27292538]:active {
  background: #f5f5f5;
}
.toolbar .toolbar-right .toolbar-btn.primary[data-v-27292538] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-color: transparent;
  color: #ffffff;
}
.toolbar .toolbar-right .toolbar-btn.primary[data-v-27292538]:hover {
  opacity: 0.9;
  box-shadow: 0 0.125rem 0.375rem rgba(102, 126, 234, 0.4);
}
.toolbar .toolbar-right .toolbar-btn.primary[data-v-27292538]:active {
  opacity: 0.8;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-0502e4a3], uni-textarea[data-v-0502e4a3], .uni-input[data-v-0502e4a3], .uni-textarea[data-v-0502e4a3] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-0502e4a3]:focus, uni-textarea[data-v-0502e4a3]:focus, .uni-input[data-v-0502e4a3]:focus, .uni-textarea[data-v-0502e4a3]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-0502e4a3]::-webkit-input-placeholder, uni-textarea[data-v-0502e4a3]::-webkit-input-placeholder, .uni-input[data-v-0502e4a3]::-webkit-input-placeholder, .uni-textarea[data-v-0502e4a3]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-0502e4a3]::placeholder, uni-textarea[data-v-0502e4a3]::placeholder, .uni-input[data-v-0502e4a3]::placeholder, .uni-textarea[data-v-0502e4a3]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-0502e4a3] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-0502e4a3] {
  padding: 20px;
}
.toolbar[data-v-0502e4a3] {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.toolbar .add-btn[data-v-0502e4a3], .toolbar .refresh-btn[data-v-0502e4a3] {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.toolbar .add-btn[data-v-0502e4a3] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.toolbar .refresh-btn[data-v-0502e4a3] {
  background: #f5f5f5;
  color: #666666;
}
.toolbar .btn-icon[data-v-0502e4a3] {
  font-size: 16px;
}
.search-section[data-v-0502e4a3] {
  background: #ffffff;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.search-section .search-icon[data-v-0502e4a3] {
  margin-right: 8px;
  font-size: 16px;
}
.search-section .search-input-wrapper[data-v-0502e4a3] {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  background: #f5f5f5;
  border-radius: 8px;
}
.search-section .search-input-wrapper .search-input[data-v-0502e4a3] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
}
.search-section .search-input-wrapper .clear-icon[data-v-0502e4a3] {
  font-size: 14px;
  color: #999;
  padding: 5px;
  cursor: pointer;
}
.stats-bar[data-v-0502e4a3] {
  background: #ffffff;
  border-radius: 6px;
  padding: 10px 15px;
  margin-bottom: 15px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.stats-bar .stats-text[data-v-0502e4a3] {
  font-size: 13px;
  color: #666666;
}
.list-section[data-v-0502e4a3] {
  min-height: 300px;
}
.loading-state[data-v-0502e4a3],
.empty-state[data-v-0502e4a3] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.loading-state .loading-text[data-v-0502e4a3],
.loading-state .empty-text[data-v-0502e4a3],
.empty-state .loading-text[data-v-0502e4a3],
.empty-state .empty-text[data-v-0502e4a3] {
  font-size: 14px;
  color: #999999;
  margin-top: 10px;
}
.loading-state .empty-icon[data-v-0502e4a3],
.empty-state .empty-icon[data-v-0502e4a3] {
  font-size: 48px;
  opacity: 0.5;
}
.loading-state .add-empty-btn[data-v-0502e4a3],
.empty-state .add-empty-btn[data-v-0502e4a3] {
  margin-top: 15px;
  padding: 10px 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
}
.user-list[data-v-0502e4a3] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.user-card[data-v-0502e4a3] {
  background: #ffffff;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.user-card[data-v-0502e4a3]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.user-header[data-v-0502e4a3] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.user-header .user-avatar[data-v-0502e4a3] {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.user-header .user-avatar .avatar-text[data-v-0502e4a3] {
  font-size: 18px;
  font-weight: bold;
  color: #ffffff;
}
.user-header .user-title[data-v-0502e4a3] {
  flex: 1;
}
.user-header .user-title .user-name[data-v-0502e4a3] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.user-header .user-title .user-username[data-v-0502e4a3] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 2px;
}
.user-header .status-badge[data-v-0502e4a3] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: bold;
}
.user-header .status-badge.active[data-v-0502e4a3] {
  background: #e8f5e9;
  color: #4caf50;
}
.user-header .status-badge.disabled[data-v-0502e4a3] {
  background: #ffebee;
  color: #f44336;
}
.user-header .status-badge.deleted[data-v-0502e4a3] {
  background: #f5f5f5;
  color: #999999;
}
.user-body[data-v-0502e4a3] {
  margin-bottom: 12px;
}
.user-body .info-row[data-v-0502e4a3] {
  display: flex;
  padding: 6px 0;
}
.user-body .info-row .info-label[data-v-0502e4a3] {
  width: 70px;
  font-size: 13px;
  color: #999999;
}
.user-body .info-row .info-value[data-v-0502e4a3] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.user-footer[data-v-0502e4a3] {
  display: flex;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.user-footer .action-btn[data-v-0502e4a3] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 0;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.user-footer .action-btn.edit[data-v-0502e4a3] {
  background: #f5f5f5;
  color: #666666;
}
.user-footer .action-btn.delete[data-v-0502e4a3] {
  background: #ffebee;
  color: #f44336;
}
.user-footer .action-btn[data-v-0502e4a3]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.user-footer .action-btn .btn-icon[data-v-0502e4a3] {
  font-size: 14px;
}
.pagination[data-v-0502e4a3] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  padding: 15px;
  background: #ffffff;
  border-radius: 8px;
}
.pagination .page-btn[data-v-0502e4a3] {
  padding: 8px 16px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
}
.pagination .page-btn[data-v-0502e4a3]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination .page-numbers[data-v-0502e4a3] {
  display: flex;
  gap: 5px;
}
.pagination .page-numbers .page-number[data-v-0502e4a3] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
  background: #f5f5f5;
}
.pagination .page-numbers .page-number.active[data-v-0502e4a3] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-5dc56be7], uni-textarea[data-v-5dc56be7], .uni-input[data-v-5dc56be7], .uni-textarea[data-v-5dc56be7] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-5dc56be7]:focus, uni-textarea[data-v-5dc56be7]:focus, .uni-input[data-v-5dc56be7]:focus, .uni-textarea[data-v-5dc56be7]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-5dc56be7]::-webkit-input-placeholder, uni-textarea[data-v-5dc56be7]::-webkit-input-placeholder, .uni-input[data-v-5dc56be7]::-webkit-input-placeholder, .uni-textarea[data-v-5dc56be7]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-5dc56be7]::placeholder, uni-textarea[data-v-5dc56be7]::placeholder, .uni-input[data-v-5dc56be7]::placeholder, .uni-textarea[data-v-5dc56be7]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-5dc56be7] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.manage-form[data-v-5dc56be7] {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.form-item-wrapper[data-v-5dc56be7] {
  margin-bottom: 5px;
}
.form-actions[data-v-5dc56be7] {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
}
.form-actions .btn[data-v-5dc56be7] {
  min-width: 120px;
  height: 44px;
  line-height: 44px;
  border: none;
  border-radius: 22px;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
}
.form-actions .btn.cancel[data-v-5dc56be7] {
  background: #f5f5f5;
  color: #666666;
}
.form-actions .btn.submit[data-v-5dc56be7] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.form-actions .btn[data-v-5dc56be7]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-37ae9cf6], uni-textarea[data-v-37ae9cf6], .uni-input[data-v-37ae9cf6], .uni-textarea[data-v-37ae9cf6] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-37ae9cf6]:focus, uni-textarea[data-v-37ae9cf6]:focus, .uni-input[data-v-37ae9cf6]:focus, .uni-textarea[data-v-37ae9cf6]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-37ae9cf6]::-webkit-input-placeholder, uni-textarea[data-v-37ae9cf6]::-webkit-input-placeholder, .uni-input[data-v-37ae9cf6]::-webkit-input-placeholder, .uni-textarea[data-v-37ae9cf6]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-37ae9cf6]::placeholder, uni-textarea[data-v-37ae9cf6]::placeholder, .uni-input[data-v-37ae9cf6]::placeholder, .uni-textarea[data-v-37ae9cf6]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-37ae9cf6] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-37ae9cf6] {
  padding: 20px;
  max-width: 800px;
}
.page-header[data-v-37ae9cf6] {
  margin-bottom: 20px;
}
.page-header .header-title[data-v-37ae9cf6] {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #333333;
}
.page-header .header-desc[data-v-37ae9cf6] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 5px;
}
.role-selector[data-v-37ae9cf6] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.role-option[data-v-37ae9cf6] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 15px;
  background: #f5f5f5;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s;
  border: 2px solid transparent;
}
.role-option.active[data-v-37ae9cf6] {
  background: #f0f5ff;
  border-color: #667eea;
}
.role-option.disabled[data-v-37ae9cf6] {
  opacity: 0.6;
  cursor: not-allowed;
}
.role-option .role-icon[data-v-37ae9cf6] {
  font-size: 24px;
}
.role-option .role-name[data-v-37ae9cf6] {
  font-size: 15px;
  font-weight: bold;
  color: #333333;
  width: 80px;
}
.role-option .role-desc[data-v-37ae9cf6] {
  flex: 1;
  font-size: 12px;
  color: #999999;
}
.extra-info[data-v-37ae9cf6] {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
}
.info-section[data-v-37ae9cf6] {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.info-section .section-title[data-v-37ae9cf6] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f5f5f5;
}
.info-section .info-item[data-v-37ae9cf6] {
  display: flex;
  padding: 10px 0;
}
.info-section .info-item .info-label[data-v-37ae9cf6] {
  width: 100px;
  font-size: 13px;
  color: #999999;
}
.info-section .info-item .info-value[data-v-37ae9cf6] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.info-section .info-item .info-value.user-id[data-v-37ae9cf6] {
  font-family: monospace;
  font-size: 11px;
  color: #666666;
  word-break: break-all;
}
.danger-zone[data-v-37ae9cf6] {
  background: #fff5f5;
  border-radius: 10px;
  padding: 20px;
  border: 1px solid #ffcccc;
}
.danger-zone .zone-title[data-v-37ae9cf6] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #ff4444;
  margin-bottom: 15px;
}
.danger-zone .danger-actions[data-v-37ae9cf6] {
  display: flex;
  gap: 15px;
}
.danger-zone .danger-btn[data-v-37ae9cf6] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 0;
  background: #ffffff;
  border: 1px solid #ff9999;
  border-radius: 6px;
  font-size: 14px;
  color: #ff6666;
  cursor: pointer;
}
.danger-zone .danger-btn.delete[data-v-37ae9cf6] {
  background: #ff4444;
  color: #ffffff;
  border-color: #ff4444;
}
.danger-zone .danger-btn[data-v-37ae9cf6]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.danger-zone .danger-btn .btn-icon[data-v-37ae9cf6] {
  font-size: 16px;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-9ef0024e], uni-textarea[data-v-9ef0024e], .uni-input[data-v-9ef0024e], .uni-textarea[data-v-9ef0024e] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-9ef0024e]:focus, uni-textarea[data-v-9ef0024e]:focus, .uni-input[data-v-9ef0024e]:focus, .uni-textarea[data-v-9ef0024e]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-9ef0024e]::-webkit-input-placeholder, uni-textarea[data-v-9ef0024e]::-webkit-input-placeholder, .uni-input[data-v-9ef0024e]::-webkit-input-placeholder, .uni-textarea[data-v-9ef0024e]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-9ef0024e]::placeholder, uni-textarea[data-v-9ef0024e]::placeholder, .uni-input[data-v-9ef0024e]::placeholder, .uni-textarea[data-v-9ef0024e]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-9ef0024e] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-9ef0024e] {
  padding: 20px;
}
.toolbar[data-v-9ef0024e] {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.toolbar .add-btn[data-v-9ef0024e], .toolbar .refresh-btn[data-v-9ef0024e] {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.toolbar .add-btn[data-v-9ef0024e] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.toolbar .refresh-btn[data-v-9ef0024e] {
  background: #f5f5f5;
  color: #666666;
}
.toolbar .btn-icon[data-v-9ef0024e] {
  font-size: 16px;
}
.search-section[data-v-9ef0024e] {
  background: #ffffff;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.search-section .search-input-wrapper[data-v-9ef0024e] {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  background: #f5f5f5;
  border-radius: 8px;
}
.search-section .search-input-wrapper .search-icon[data-v-9ef0024e] {
  margin-right: 8px;
  font-size: 16px;
}
.search-section .search-input-wrapper .search-input[data-v-9ef0024e] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
}
.search-section .search-input-wrapper .clear-icon[data-v-9ef0024e] {
  font-size: 14px;
  color: #999;
  padding: 5px;
  cursor: pointer;
}
.stats-bar[data-v-9ef0024e] {
  background: #ffffff;
  border-radius: 6px;
  padding: 10px 15px;
  margin-bottom: 15px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.stats-bar .stats-text[data-v-9ef0024e] {
  font-size: 13px;
  color: #666666;
}
.list-section[data-v-9ef0024e] {
  min-height: 300px;
}
.loading-state[data-v-9ef0024e],
.empty-state[data-v-9ef0024e] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.loading-state .loading-text[data-v-9ef0024e],
.loading-state .empty-text[data-v-9ef0024e],
.empty-state .loading-text[data-v-9ef0024e],
.empty-state .empty-text[data-v-9ef0024e] {
  font-size: 14px;
  color: #999999;
  margin-top: 10px;
}
.loading-state .empty-icon[data-v-9ef0024e],
.empty-state .empty-icon[data-v-9ef0024e] {
  font-size: 48px;
  opacity: 0.5;
}
.loading-state .add-empty-btn[data-v-9ef0024e],
.empty-state .add-empty-btn[data-v-9ef0024e] {
  margin-top: 15px;
  padding: 10px 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
}
.tenant-list[data-v-9ef0024e] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.tenant-card[data-v-9ef0024e] {
  background: #ffffff;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.tenant-card[data-v-9ef0024e]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.tenant-header[data-v-9ef0024e] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.tenant-header .tenant-icon[data-v-9ef0024e] {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.tenant-header .tenant-title[data-v-9ef0024e] {
  flex: 1;
}
.tenant-header .tenant-title .tenant-name[data-v-9ef0024e] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.tenant-header .tenant-title .tenant-code[data-v-9ef0024e] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 2px;
}
.tenant-header .status-badge[data-v-9ef0024e] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: bold;
}
.tenant-header .status-badge.active[data-v-9ef0024e] {
  background: #e8f5e9;
  color: #4caf50;
}
.tenant-header .status-badge.suspended[data-v-9ef0024e] {
  background: #fff3e0;
  color: #ff9800;
}
.tenant-header .status-badge.terminated[data-v-9ef0024e] {
  background: #ffebee;
  color: #f44336;
}
.tenant-body[data-v-9ef0024e] {
  margin-bottom: 12px;
}
.tenant-body .info-row[data-v-9ef0024e] {
  display: flex;
  padding: 6px 0;
}
.tenant-body .info-row .info-label[data-v-9ef0024e] {
  width: 80px;
  font-size: 13px;
  color: #999999;
}
.tenant-body .info-row .info-value[data-v-9ef0024e] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.stats-row[data-v-9ef0024e] {
  display: flex;
  gap: 20px;
  padding: 12px 0;
  margin-bottom: 12px;
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
}
.stats-row .stat-item[data-v-9ef0024e] {
  flex: 1;
  text-align: center;
}
.stats-row .stat-item .stat-value[data-v-9ef0024e] {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #667eea;
}
.stats-row .stat-item .stat-label[data-v-9ef0024e] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 4px;
}
.tenant-footer[data-v-9ef0024e] {
  display: flex;
  gap: 10px;
}
.tenant-footer .action-btn[data-v-9ef0024e] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 0;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.tenant-footer .action-btn.edit[data-v-9ef0024e] {
  background: #f5f5f5;
  color: #666666;
}
.tenant-footer .action-btn.delete[data-v-9ef0024e] {
  background: #ffebee;
  color: #f44336;
}
.tenant-footer .action-btn .btn-icon[data-v-9ef0024e] {
  font-size: 14px;
}
.pagination[data-v-9ef0024e] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  padding: 15px;
  background: #ffffff;
  border-radius: 8px;
}
.pagination .page-btn[data-v-9ef0024e] {
  padding: 8px 16px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
}
.pagination .page-btn[data-v-9ef0024e]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination .page-numbers[data-v-9ef0024e] {
  display: flex;
  gap: 5px;
}
.pagination .page-numbers .page-number[data-v-9ef0024e] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
  background: #f5f5f5;
}
.pagination .page-numbers .page-number.active[data-v-9ef0024e] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-06145cc0], uni-textarea[data-v-06145cc0], .uni-input[data-v-06145cc0], .uni-textarea[data-v-06145cc0] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-06145cc0]:focus, uni-textarea[data-v-06145cc0]:focus, .uni-input[data-v-06145cc0]:focus, .uni-textarea[data-v-06145cc0]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-06145cc0]::-webkit-input-placeholder, uni-textarea[data-v-06145cc0]::-webkit-input-placeholder, .uni-input[data-v-06145cc0]::-webkit-input-placeholder, .uni-textarea[data-v-06145cc0]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-06145cc0]::placeholder, uni-textarea[data-v-06145cc0]::placeholder, .uni-input[data-v-06145cc0]::placeholder, .uni-textarea[data-v-06145cc0]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-06145cc0] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-06145cc0] {
  padding: 20px;
}
.toolbar[data-v-06145cc0] {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
.toolbar .add-btn[data-v-06145cc0], .toolbar .refresh-btn[data-v-06145cc0] {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.toolbar .add-btn[data-v-06145cc0] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.toolbar .refresh-btn[data-v-06145cc0] {
  background: #f5f5f5;
  color: #666666;
}
.toolbar .btn-icon[data-v-06145cc0] {
  font-size: 16px;
}
.search-section[data-v-06145cc0] {
  background: #ffffff;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.search-section .search-input-wrapper[data-v-06145cc0] {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  background: #f5f5f5;
  border-radius: 8px;
}
.search-section .search-input-wrapper .search-icon[data-v-06145cc0] {
  margin-right: 8px;
  font-size: 16px;
}
.search-section .search-input-wrapper .search-input[data-v-06145cc0] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
}
.search-section .search-input-wrapper .clear-icon[data-v-06145cc0] {
  font-size: 14px;
  color: #999;
  padding: 5px;
  cursor: pointer;
}
.stats-bar[data-v-06145cc0] {
  background: #ffffff;
  border-radius: 6px;
  padding: 10px 15px;
  margin-bottom: 15px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.stats-bar .stats-text[data-v-06145cc0] {
  font-size: 13px;
  color: #666666;
}
.list-section[data-v-06145cc0] {
  min-height: 300px;
}
.loading-state[data-v-06145cc0],
.empty-state[data-v-06145cc0] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.loading-state .loading-text[data-v-06145cc0],
.loading-state .empty-text[data-v-06145cc0],
.empty-state .loading-text[data-v-06145cc0],
.empty-state .empty-text[data-v-06145cc0] {
  font-size: 14px;
  color: #999999;
  margin-top: 10px;
}
.loading-state .empty-icon[data-v-06145cc0],
.empty-state .empty-icon[data-v-06145cc0] {
  font-size: 48px;
  opacity: 0.5;
}
.loading-state .add-empty-btn[data-v-06145cc0],
.empty-state .add-empty-btn[data-v-06145cc0] {
  margin-top: 15px;
  padding: 10px 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
}
.agent-list[data-v-06145cc0] {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.agent-card[data-v-06145cc0] {
  background: #ffffff;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
.agent-card[data-v-06145cc0]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.agent-header[data-v-06145cc0] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}
.agent-header .agent-icon[data-v-06145cc0] {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.agent-header .agent-title[data-v-06145cc0] {
  flex: 1;
}
.agent-header .agent-title .agent-name[data-v-06145cc0] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.agent-header .agent-title .agent-code[data-v-06145cc0] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 2px;
}
.agent-header .status-badge[data-v-06145cc0] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: bold;
}
.agent-header .status-badge.active[data-v-06145cc0] {
  background: #e8f5e9;
  color: #4caf50;
}
.agent-header .status-badge.suspended[data-v-06145cc0] {
  background: #fff3e0;
  color: #ff9800;
}
.agent-header .status-badge.terminated[data-v-06145cc0] {
  background: #ffebee;
  color: #f44336;
}
.agent-body[data-v-06145cc0] {
  margin-bottom: 12px;
}
.agent-body .info-row[data-v-06145cc0] {
  display: flex;
  padding: 6px 0;
}
.agent-body .info-row .info-label[data-v-06145cc0] {
  width: 90px;
  font-size: 13px;
  color: #999999;
}
.agent-body .info-row .info-value[data-v-06145cc0] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.stats-row[data-v-06145cc0] {
  display: flex;
  gap: 20px;
  padding: 12px 0;
  margin-bottom: 12px;
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
}
.stats-row .stat-item[data-v-06145cc0] {
  flex: 1;
  text-align: center;
}
.stats-row .stat-item .stat-value[data-v-06145cc0] {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #11998e;
}
.stats-row .stat-item .stat-label[data-v-06145cc0] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 4px;
}
.agent-footer[data-v-06145cc0] {
  display: flex;
  gap: 10px;
}
.agent-footer .action-btn[data-v-06145cc0] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 8px 0;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
}
.agent-footer .action-btn.edit[data-v-06145cc0] {
  background: #f5f5f5;
  color: #666666;
}
.agent-footer .action-btn.delete[data-v-06145cc0] {
  background: #ffebee;
  color: #f44336;
}
.agent-footer .action-btn .btn-icon[data-v-06145cc0] {
  font-size: 14px;
}
.pagination[data-v-06145cc0] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  padding: 15px;
  background: #ffffff;
  border-radius: 8px;
}
.pagination .page-btn[data-v-06145cc0] {
  padding: 8px 16px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
}
.pagination .page-btn[data-v-06145cc0]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination .page-numbers[data-v-06145cc0] {
  display: flex;
  gap: 5px;
}
.pagination .page-numbers .page-number[data-v-06145cc0] {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
  background: #f5f5f5;
}
.pagination .page-numbers .page-number.active[data-v-06145cc0] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-0dea5588], uni-textarea[data-v-0dea5588], .uni-input[data-v-0dea5588], .uni-textarea[data-v-0dea5588] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-0dea5588]:focus, uni-textarea[data-v-0dea5588]:focus, .uni-input[data-v-0dea5588]:focus, .uni-textarea[data-v-0dea5588]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-0dea5588]::-webkit-input-placeholder, uni-textarea[data-v-0dea5588]::-webkit-input-placeholder, .uni-input[data-v-0dea5588]::-webkit-input-placeholder, .uni-textarea[data-v-0dea5588]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-0dea5588]::placeholder, uni-textarea[data-v-0dea5588]::placeholder, .uni-input[data-v-0dea5588]::placeholder, .uni-textarea[data-v-0dea5588]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-0dea5588] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.wechat-config-container[data-v-0dea5588] {
  min-height: 100vh;
  background: #f5f5f5;
  padding-bottom: 3.75rem;
}
.header[data-v-0dea5588] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 1.25rem;
}
.header .header-title[data-v-0dea5588] {
  font-size: 1.25rem;
  font-weight: bold;
  color: #ffffff;
}
.list-section[data-v-0dea5588] {
  background: #ffffff;
  padding: 0 1.25rem;
  margin-top: 0.625rem;
}
.loading-state[data-v-0dea5588],
.empty-state[data-v-0dea5588] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3.75rem 0;
}
.loading-state .loading-text[data-v-0dea5588],
.loading-state .empty-text[data-v-0dea5588],
.empty-state .loading-text[data-v-0dea5588],
.empty-state .empty-text[data-v-0dea5588] {
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.375rem;
}
.loading-state .empty-icon[data-v-0dea5588],
.empty-state .empty-icon[data-v-0dea5588] {
  font-size: 3.75rem;
  margin-bottom: 0.75rem;
  opacity: 0.5;
}
.loading-state .add-btn[data-v-0dea5588],
.empty-state .add-btn[data-v-0dea5588] {
  padding: 0.625rem 1.25rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.5rem;
  font-size: 0.875rem;
  font-weight: bold;
}
.mp-list .mp-item[data-v-0dea5588] {
  display: flex;
  align-items: flex-start;
  padding: 0.9375rem 0;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.mp-list .mp-item[data-v-0dea5588]:last-child {
  border-bottom: none;
}
.mp-list .mp-item .mp-main[data-v-0dea5588] {
  flex: 1;
  margin-right: 0.625rem;
}
.mp-list .mp-item .mp-main .mp-header[data-v-0dea5588] {
  display: flex;
  align-items: center;
  margin-bottom: 0.625rem;
}
.mp-list .mp-item .mp-main .mp-header .mp-avatar[data-v-0dea5588] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  margin-right: 0.625rem;
}
.mp-list .mp-item .mp-main .mp-header .mp-avatar-placeholder[data-v-0dea5588] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.625rem;
}
.mp-list .mp-item .mp-main .mp-header .mp-avatar-placeholder .avatar-text[data-v-0dea5588] {
  font-size: 1rem;
  font-weight: bold;
  color: #ffffff;
}
.mp-list .mp-item .mp-main .mp-header .mp-info[data-v-0dea5588] {
  flex: 1;
}
.mp-list .mp-item .mp-main .mp-header .mp-info .mp-name[data-v-0dea5588] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.25rem;
}
.mp-list .mp-item .mp-main .mp-header .mp-info .mp-appid[data-v-0dea5588] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
}
.mp-list .mp-item .mp-main .mp-meta[data-v-0dea5588] {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.5rem;
}
.mp-list .mp-item .mp-main .mp-meta .meta-item[data-v-0dea5588] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  color: #666666;
}
.mp-list .mp-item .mp-main .mp-meta .meta-item .meta-label[data-v-0dea5588] {
  color: #999999;
}
.mp-list .mp-item .mp-main .mp-meta .meta-item .meta-value[data-v-0dea5588] {
  color: #333333;
}
.mp-list .mp-item .mp-main .mp-meta .meta-item .status-badge[data-v-0dea5588] {
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.625rem;
  font-weight: bold;
}
.mp-list .mp-item .mp-main .mp-meta .meta-item .status-badge.active[data-v-0dea5588] {
  background: #e8f5e9;
  color: #4caf50;
}
.mp-list .mp-item .mp-main .mp-meta .meta-item .status-badge.disabled[data-v-0dea5588] {
  background: #ffebee;
  color: #f44336;
}
.mp-list .mp-item .mp-main .mp-token[data-v-0dea5588] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.mp-list .mp-item .mp-main .mp-token .token-label[data-v-0dea5588] {
  font-size: 0.6875rem;
  color: #666666;
}
.mp-list .mp-item .mp-main .mp-token .token-status[data-v-0dea5588] {
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.625rem;
  font-weight: bold;
}
.mp-list .mp-item .mp-main .mp-token .token-status.none[data-v-0dea5588] {
  background: #f5f5f5;
  color: #999999;
}
.mp-list .mp-item .mp-main .mp-token .token-status.expired[data-v-0dea5588] {
  background: #ffebee;
  color: #f44336;
}
.mp-list .mp-item .mp-main .mp-token .token-status.warning[data-v-0dea5588] {
  background: #fff3e0;
  color: #ff9800;
}
.mp-list .mp-item .mp-main .mp-token .token-status.valid[data-v-0dea5588] {
  background: #e8f5e9;
  color: #4caf50;
}
.mp-list .mp-item .mp-main .mp-token .refreshing-text[data-v-0dea5588] {
  font-size: 0.625rem;
  color: #667eea;
  margin-left: 0.3125rem;
  animation: pulse-0dea5588 1.5s infinite;
}
@keyframes pulse-0dea5588 {
0%, 100% {
    opacity: 1;
}
50% {
    opacity: 0.5;
}
}
.mp-list .mp-item .mp-main .mp-token .refresh-btn[data-v-0dea5588] {
  padding: 0.25rem 0.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.375rem;
  font-size: 0.625rem;
}
.mp-list .mp-item .mp-main .mp-token .refresh-btn[data-v-0dea5588]:active {
  opacity: 0.8;
}
.mp-list .mp-item .mp-actions[data-v-0dea5588] {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.mp-list .mp-item .mp-actions .action-btn[data-v-0dea5588] {
  width: 2rem;
  height: 2rem;
  background: #f5f5f5;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mp-list .mp-item .mp-actions .action-btn .action-icon[data-v-0dea5588] {
  font-size: 0.875rem;
}
.mp-list .mp-item .mp-actions .action-btn[data-v-0dea5588]:active {
  background: #e8e8e8;
  transform: scale(0.95);
}
.bottom-bar[data-v-0dea5588] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0.625rem 1.25rem;
  padding-bottom: calc(0.625rem + env(safe-area-inset-bottom));
  box-shadow: 0 -0.125rem 0.625rem rgba(0, 0, 0, 0.05);
  gap: 0.625rem;
}
.bottom-bar .bottom-btn[data-v-0dea5588] {
  flex: 1;
  height: 2.75rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  background: #f5f5f5;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.75rem;
  color: #666666;
  font-weight: bold;
  padding: 0 0.3125rem;
}
.bottom-bar .bottom-btn .btn-icon[data-v-0dea5588] {
  font-size: 1rem;
}
.bottom-bar .bottom-btn.primary[data-v-0dea5588] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.bottom-bar .bottom-btn[data-v-0dea5588]:active {
  opacity: 0.8;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-402e7250], uni-textarea[data-v-402e7250], .uni-input[data-v-402e7250], .uni-textarea[data-v-402e7250] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-402e7250]:focus, uni-textarea[data-v-402e7250]:focus, .uni-input[data-v-402e7250]:focus, .uni-textarea[data-v-402e7250]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-402e7250]::-webkit-input-placeholder, uni-textarea[data-v-402e7250]::-webkit-input-placeholder, .uni-input[data-v-402e7250]::-webkit-input-placeholder, .uni-textarea[data-v-402e7250]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-402e7250]::placeholder, uni-textarea[data-v-402e7250]::placeholder, .uni-input[data-v-402e7250]::placeholder, .uni-textarea[data-v-402e7250]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-402e7250] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-402e7250] {
  padding: 0.9375rem;
  max-width: 37.5rem;
  margin: 0 auto;
}
.stats-row[data-v-402e7250] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
.stats-row .stat-card[data-v-402e7250] {
  background: #fff;
  border-radius: 0.5rem;
  padding: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.stats-row .stat-card.owner[data-v-402e7250] {
  background: linear-gradient(135deg, #fff9e6 0%, #fff 100%);
  border: 0.03125rem solid #ffe4b3;
}
.stats-row .stat-card.finder[data-v-402e7250] {
  background: linear-gradient(135deg, #e6f7ff 0%, #fff 100%);
  border: 0.03125rem solid #91d5ff;
}
.stats-row .stat-card.new[data-v-402e7250] {
  background: linear-gradient(135deg, #f6ffed 0%, #fff 100%);
  border: 0.03125rem solid #b7eb8f;
}
.stats-row .stat-card .stat-icon[data-v-402e7250] {
  font-size: 1.5rem;
}
.stats-row .stat-card .stat-info .stat-number[data-v-402e7250] {
  font-size: 1.25rem;
  font-weight: bold;
  color: #333;
  display: block;
}
.stats-row .stat-card .stat-info .stat-label[data-v-402e7250] {
  font-size: 0.75rem;
  color: #999;
  margin-top: 0.125rem;
}
.toolbar[data-v-402e7250] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
  flex-wrap: wrap;
  gap: 0.625rem;
}
.toolbar .toolbar-left[data-v-402e7250] {
  display: flex;
  gap: 0.5rem;
}
.toolbar .toolbar-left .sync-btn[data-v-402e7250], .toolbar .toolbar-left .export-btn[data-v-402e7250] {
  height: 2.25rem;
  padding: 0 0.9375rem;
  border-radius: 1.125rem;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  border: none;
}
.toolbar .toolbar-left .sync-btn[data-v-402e7250] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.toolbar .toolbar-left .export-btn[data-v-402e7250] {
  background: #f5f5f5;
  color: #666;
}
.toolbar .toolbar-right .filter-tabs[data-v-402e7250] {
  display: flex;
  background: #f5f5f5;
  border-radius: 1rem;
  padding: 0.125rem;
}
.toolbar .toolbar-right .filter-tabs .filter-tab[data-v-402e7250] {
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  color: #666;
  border-radius: 0.875rem;
  cursor: pointer;
  transition: all 0.3s;
}
.toolbar .toolbar-right .filter-tabs .filter-tab.active[data-v-402e7250] {
  background: #fff;
  color: #667eea;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.1);
}
.search-section[data-v-402e7250] {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.9375rem;
}
.search-section .search-input-wrapper[data-v-402e7250] {
  flex: 1;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 1.125rem;
  padding: 0 0.75rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.search-section .search-input-wrapper .search-icon[data-v-402e7250] {
  font-size: 1rem;
  margin-right: 0.5rem;
}
.search-section .search-input-wrapper .search-input[data-v-402e7250] {
  flex: 1;
  height: 2.25rem;
  font-size: 0.875rem;
  border: none;
  background: transparent;
}
.search-section .search-input-wrapper .clear-icon[data-v-402e7250] {
  font-size: 0.875rem;
  color: #999;
  padding: 0.3125rem;
}
.search-section .search-btn[data-v-402e7250] {
  height: 2.25rem;
  padding: 0 1.25rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 0.875rem;
  border-radius: 1.125rem;
  border: none;
}
.list-section[data-v-402e7250] {
  background: #fff;
  border-radius: 0.5rem;
  padding: 0.9375rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.list-section .loading-state[data-v-402e7250], .list-section .empty-state[data-v-402e7250] {
  text-align: center;
  padding: 3.125rem 1.25rem;
}
.list-section .loading-state .loading-icon[data-v-402e7250], .list-section .loading-state .empty-icon[data-v-402e7250], .list-section .empty-state .loading-icon[data-v-402e7250], .list-section .empty-state .empty-icon[data-v-402e7250] {
  font-size: 2.5rem;
  margin-bottom: 0.625rem;
  display: block;
}
.list-section .loading-state .loading-text[data-v-402e7250], .list-section .loading-state .empty-text[data-v-402e7250], .list-section .empty-state .loading-text[data-v-402e7250], .list-section .empty-state .empty-text[data-v-402e7250] {
  font-size: 1rem;
  color: #666;
  margin-bottom: 0.5rem;
}
.list-section .loading-state .empty-hint[data-v-402e7250], .list-section .empty-state .empty-hint[data-v-402e7250] {
  font-size: 0.8125rem;
  color: #999;
  margin-bottom: 1.25rem;
  display: block;
}
.list-section .loading-state .sync-empty-btn[data-v-402e7250], .list-section .empty-state .sync-empty-btn[data-v-402e7250] {
  height: 2.5rem;
  padding: 0 1.5625rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 0.9375rem;
  border-radius: 1.25rem;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}
.follower-list .follower-card[data-v-402e7250] {
  padding: 0.9375rem;
  border-bottom: 0.03125rem solid #f5f5f5;
  cursor: pointer;
  transition: background 0.3s;
}
.follower-list .follower-card[data-v-402e7250]:last-child {
  border-bottom: none;
}
.follower-list .follower-card[data-v-402e7250]:hover {
  background: #fafafa;
}
.follower-list .follower-card .follower-header[data-v-402e7250] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
.follower-list .follower-card .follower-header .follower-avatar[data-v-402e7250] {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.follower-list .follower-card .follower-header .follower-avatar.default[data-v-402e7250] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.follower-list .follower-card .follower-header .follower-avatar.default .avatar-text[data-v-402e7250] {
  font-size: 1.5rem;
  color: #fff;
}
.follower-list .follower-card .follower-header .follower-info[data-v-402e7250] {
  flex: 1;
  min-width: 0;
}
.follower-list .follower-card .follower-header .follower-info .info-row[data-v-402e7250] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.follower-list .follower-card .follower-header .follower-info .info-row.meta[data-v-402e7250] {
  gap: 0.75rem;
}
.follower-list .follower-card .follower-header .follower-info .follower-name[data-v-402e7250] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.follower-list .follower-card .follower-header .follower-info .role-badges[data-v-402e7250] {
  display: flex;
  gap: 0.375rem;
}
.follower-list .follower-card .follower-header .follower-info .role-badges .role-badge[data-v-402e7250] {
  padding: 0.1875rem 0.5rem;
  border-radius: 0.625rem;
  font-size: 0.6875rem;
}
.follower-list .follower-card .follower-header .follower-info .role-badges .role-badge.owner[data-v-402e7250] {
  background: #fff7e6;
  color: #d48806;
}
.follower-list .follower-card .follower-header .follower-info .role-badges .role-badge.finder[data-v-402e7250] {
  background: #e6f7ff;
  color: #1890ff;
}
.follower-list .follower-card .follower-header .follower-info .follower-openid[data-v-402e7250] {
  font-size: 0.75rem;
  color: #999;
  font-family: monospace;
  margin-bottom: 0.25rem;
  display: block;
}
.follower-list .follower-card .follower-header .follower-info .meta-item[data-v-402e7250] {
  font-size: 0.75rem;
  color: #999;
}
.follower-list .follower-card .follower-header .arrow[data-v-402e7250] {
  font-size: 1rem;
  color: #ccc;
}
.follower-list .follower-card .follower-stats[data-v-402e7250] {
  display: flex;
  gap: 1.25rem;
  padding-left: 3.75rem;
}
.follower-list .follower-card .follower-stats .stat-item[data-v-402e7250] {
  text-align: center;
}
.follower-list .follower-card .follower-stats .stat-item .stat-value[data-v-402e7250] {
  font-size: 1rem;
  font-weight: bold;
  color: #667eea;
  display: block;
}
.follower-list .follower-card .follower-stats .stat-item .stat-label[data-v-402e7250] {
  font-size: 0.75rem;
  color: #999;
  margin-top: 0.125rem;
}
.pagination[data-v-402e7250] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.9375rem;
  margin-top: 1.25rem;
  padding-top: 0.9375rem;
  border-top: 0.03125rem solid #f5f5f5;
}
.pagination .page-btn[data-v-402e7250] {
  height: 2rem;
  padding: 0 1rem;
  background: #f5f5f5;
  color: #666;
  font-size: 0.8125rem;
  border-radius: 1rem;
  border: none;
}
.pagination .page-btn[data-v-402e7250]:disabled {
  opacity: 0.5;
}
.pagination .page-info[data-v-402e7250] {
  font-size: 0.875rem;
  color: #666;
}
.modal-overlay[data-v-402e7250] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 1.25rem;
}
.modal-overlay .modal-content[data-v-402e7250] {
  background: #fff;
  border-radius: 0.75rem;
  width: 100%;
  max-width: 21.875rem;
  max-height: 80vh;
  overflow-y: auto;
}
.modal-overlay .modal-content .modal-header[data-v-402e7250] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.9375rem;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.modal-overlay .modal-content .modal-header .modal-title[data-v-402e7250] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
}
.modal-overlay .modal-content .modal-header .close-btn[data-v-402e7250] {
  font-size: 1rem;
  color: #999;
  padding: 0.3125rem;
}
.modal-overlay .modal-content .detail-body[data-v-402e7250] {
  padding: 0.9375rem;
}
.modal-overlay .modal-content .detail-body .user-profile[data-v-402e7250] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.9375rem;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.modal-overlay .modal-content .detail-body .user-profile .detail-avatar[data-v-402e7250] {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  flex-shrink: 0;
}
.modal-overlay .modal-content .detail-body .user-profile .detail-avatar.default[data-v-402e7250] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-overlay .modal-content .detail-body .user-profile .detail-avatar.default .avatar-text[data-v-402e7250] {
  font-size: 1.875rem;
  color: #fff;
}
.modal-overlay .modal-content .detail-body .user-profile .profile-info .detail-name[data-v-402e7250] {
  font-size: 1.25rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.5rem;
  display: block;
}
.modal-overlay .modal-content .detail-body .user-profile .profile-info .role-badges[data-v-402e7250] {
  display: flex;
  gap: 0.375rem;
}
.modal-overlay .modal-content .detail-body .detail-section[data-v-402e7250] {
  margin-bottom: 0.9375rem;
}
.modal-overlay .modal-content .detail-body .detail-section .section-title[data-v-402e7250] {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.625rem;
  display: block;
}
.modal-overlay .modal-content .detail-body .detail-section .info-grid[data-v-402e7250] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}
.modal-overlay .modal-content .detail-body .detail-section .info-grid .info-item[data-v-402e7250] {
  background: #f8f8f8;
  border-radius: 0.375rem;
  padding: 0.625rem;
}
.modal-overlay .modal-content .detail-body .detail-section .info-grid .info-item .info-label[data-v-402e7250] {
  font-size: 0.75rem;
  color: #999;
  margin-bottom: 0.25rem;
  display: block;
}
.modal-overlay .modal-content .detail-body .detail-section .info-grid .info-item .info-value[data-v-402e7250] {
  font-size: 0.875rem;
  color: #333;
  word-break: break-all;
}
.modal-overlay .modal-content .detail-body .detail-section .code-list .code-item[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .scan-item[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .code-item[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .scan-item[data-v-402e7250] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem;
  background: #f8f8f8;
  border-radius: 0.375rem;
  margin-bottom: 0.375rem;
}
.modal-overlay .modal-content .detail-body .detail-section .code-list .code-item .code-id[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .code-item .scan-code[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .scan-item .code-id[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .scan-item .scan-code[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .code-item .code-id[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .code-item .scan-code[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .scan-item .code-id[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .scan-item .scan-code[data-v-402e7250] {
  font-family: monospace;
  font-size: 0.875rem;
  color: #667eea;
  font-weight: bold;
}
.modal-overlay .modal-content .detail-body .detail-section .code-list .code-item .code-name[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .scan-item .code-name[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .code-item .code-name[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .scan-item .code-name[data-v-402e7250] {
  flex: 1;
  text-align: center;
  font-size: 0.8125rem;
  color: #666;
}
.modal-overlay .modal-content .detail-body .detail-section .code-list .code-item .code-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .code-item .scan-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .scan-item .code-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .code-list .scan-item .scan-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .code-item .code-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .code-item .scan-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .scan-item .code-time[data-v-402e7250], .modal-overlay .modal-content .detail-body .detail-section .scan-list .scan-item .scan-time[data-v-402e7250] {
  font-size: 0.75rem;
  color: #999;
}
.modal-overlay .modal-content .detail-body .detail-actions[data-v-402e7250] {
  display: flex;
  gap: 0.625rem;
  margin-top: 0.9375rem;
}
.modal-overlay .modal-content .detail-body .detail-actions .action-btn[data-v-402e7250] {
  flex: 1;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 1.25rem;
  font-size: 0.875rem;
  border: none;
}
.modal-overlay .modal-content .detail-body .detail-actions .action-btn.primary[data-v-402e7250] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.modal-overlay .modal-content .detail-body .detail-actions .action-btn.secondary[data-v-402e7250] {
  background: #f5f5f5;
  color: #666;
}
@media (max-width: 768px) {
.stats-row[data-v-402e7250] {
    grid-template-columns: repeat(2, 1fr);
}
.toolbar[data-v-402e7250] {
    flex-direction: column;
    align-items: stretch;
}
.follower-card .follower-stats[data-v-402e7250] {
    padding-left: 0;
    justify-content: center;
}
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-df45071f], uni-textarea[data-v-df45071f], .uni-input[data-v-df45071f], .uni-textarea[data-v-df45071f] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-df45071f]:focus, uni-textarea[data-v-df45071f]:focus, .uni-input[data-v-df45071f]:focus, .uni-textarea[data-v-df45071f]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-df45071f]::-webkit-input-placeholder, uni-textarea[data-v-df45071f]::-webkit-input-placeholder, .uni-input[data-v-df45071f]::-webkit-input-placeholder, .uni-textarea[data-v-df45071f]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-df45071f]::placeholder, uni-textarea[data-v-df45071f]::placeholder, .uni-input[data-v-df45071f]::placeholder, .uni-textarea[data-v-df45071f]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-df45071f] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-df45071f] {
  padding: 0.625rem;
  max-width: 800px;
  margin: 0 auto;
}
.section-card[data-v-df45071f] {
  background: #fff;
  border-radius: 0.5rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.1);
}
.section-title[data-v-df45071f] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.625rem;
}
.picker-value[data-v-df45071f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem;
  background: #f5f5f5;
  border-radius: 0.375rem;
  font-size: 0.9375rem;
  color: #333;
}
.picker-value .placeholder[data-v-df45071f] {
  color: #999;
}
.picker-value .arrow[data-v-df45071f] {
  color: #999;
  font-size: 0.75rem;
}
.status-bar[data-v-df45071f] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.status-bar .status-label[data-v-df45071f] {
  font-size: 0.875rem;
  color: #666;
}
.status-bar .status-value[data-v-df45071f] {
  font-size: 0.875rem;
  font-weight: bold;
  padding: 0.25rem 0.625rem;
  border-radius: 0.25rem;
}
.status-bar .status-value.open[data-v-df45071f] {
  background: #e8f5e9;
  color: #4caf50;
}
.status-bar .status-value.closed[data-v-df45071f] {
  background: #ffebee;
  color: #f44336;
}
.menu-tip[data-v-df45071f] {
  font-size: 0.75rem;
  color: #999;
  margin-bottom: 0.625rem;
}
.menu-list .menu-item[data-v-df45071f] {
  margin-bottom: 0.625rem;
  border: 0.0625rem solid #e0e0e0;
  border-radius: 0.375rem;
  overflow: hidden;
}
.level-1-menu[data-v-df45071f] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem;
  background: #f8f9fa;
  cursor: pointer;
}
.level-1-menu .menu-name-input[data-v-df45071f] {
  display: block;
  flex: 1;
  height: 40px;
  padding: 0 12px;
  margin-right: 0.5rem;
  background: #f5f5f5;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.875rem;
  color: #333;
  line-height: 40px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  box-sizing: border-box;
}
.level-1-menu .menu-name-input[data-v-df45071f]:focus {
  background: #ffffff;
  border-color: #667eea;
}
.level-1-menu .menu-name-input[data-v-df45071f]::-webkit-input-placeholder {
  color: #999;
}
.level-1-menu .menu-name-input[data-v-df45071f]::placeholder {
  color: #999;
}
.level-1-menu .menu-actions[data-v-df45071f] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.level-1-menu .menu-actions .menu-type[data-v-df45071f] {
  font-size: 0.75rem;
  color: #667eea;
}
.level-1-menu .menu-actions .toggle-icon[data-v-df45071f] {
  font-size: 0.75rem;
  color: #999;
}
.menu-detail[data-v-df45071f] {
  padding: 0.625rem;
  background: #fff;
}
.form-row[data-v-df45071f] {
  display: flex;
  align-items: center;
  margin-bottom: 0.625rem;
}
.form-row .form-label[data-v-df45071f] {
  width: 5rem;
  font-size: 0.875rem;
  color: #666;
}
.form-row .picker-small[data-v-df45071f] {
  flex: 1;
  height: 40px;
  padding: 0 12px;
  background: #f5f5f5;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.875rem;
  color: #333;
  line-height: 40px;
}
.form-row .form-input[data-v-df45071f] {
  display: block;
  flex: 1;
  height: 40px;
  padding: 0 12px;
  background: #f5f5f5;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.875rem;
  color: #333;
  line-height: 40px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  box-sizing: border-box;
}
.form-row .form-input[data-v-df45071f]:focus {
  background: #ffffff;
  border-color: #667eea;
}
.form-row .form-input[data-v-df45071f]::-webkit-input-placeholder {
  color: #999;
}
.form-row .form-input[data-v-df45071f]::placeholder {
  color: #999;
}
.sub-menu-section[data-v-df45071f] {
  margin-top: 0.625rem;
  padding-top: 0.625rem;
  border-top: 0.0625rem dashed #e0e0e0;
}
.sub-menu-title[data-v-df45071f] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  color: #666;
}
.sub-menu-title .add-sub-btn[data-v-df45071f] {
  padding: 0.3125rem 0.625rem;
  background: #667eea;
  color: #fff;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  border: none;
}
.sub-menu-item[data-v-df45071f] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem;
  background: #f8f9fa;
  border-radius: 0.25rem;
}
.sub-menu-item .sub-name-input[data-v-df45071f] {
  display: block;
  flex: 1;
  height: 36px;
  padding: 0 10px;
  background: #ffffff;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: #333;
  line-height: 36px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  box-sizing: border-box;
}
.sub-menu-item .sub-name-input[data-v-df45071f]:focus {
  border-color: #667eea;
}
.sub-menu-item .sub-name-input[data-v-df45071f]::-webkit-input-placeholder {
  color: #999;
}
.sub-menu-item .sub-name-input[data-v-df45071f]::placeholder {
  color: #999;
}
.sub-menu-item .picker-xs[data-v-df45071f] {
  height: 36px;
  padding: 0 10px;
  background: #ffffff;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: #667eea;
  min-width: 4.375rem;
  text-align: center;
  line-height: 36px;
}
.sub-menu-item .sub-config-input[data-v-df45071f] {
  display: block;
  flex: 1;
  height: 36px;
  padding: 0 10px;
  background: #ffffff;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: #333;
  line-height: 36px;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  box-sizing: border-box;
}
.sub-menu-item .sub-config-input[data-v-df45071f]:focus {
  border-color: #667eea;
}
.sub-menu-item .sub-config-input[data-v-df45071f]::-webkit-input-placeholder {
  color: #999;
}
.sub-menu-item .sub-config-input[data-v-df45071f]::placeholder {
  color: #999;
}
.icon-btn[data-v-df45071f] {
  width: 1.875rem;
  height: 1.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffebee;
  color: #f44336;
  font-size: 0.875rem;
  border-radius: 50%;
  border: none;
  padding: 0;
}
.icon-btn.small[data-v-df45071f] {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 0.75rem;
}
.icon-btn.delete[data-v-df45071f] {
  background: transparent;
  color: #999;
}
.add-menu-btn[data-v-df45071f] {
  width: 100%;
  padding: 0.9375rem;
  background: #f0f7ff;
  border: 0.0625rem dashed #667eea;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: #667eea;
  font-size: 0.9375rem;
}
.add-menu-btn .btn-icon[data-v-df45071f] {
  font-size: 1.25rem;
}
.action-bar[data-v-df45071f] {
  display: flex;
  gap: 0.625rem;
  padding: 0.625rem 0;
}
.action-bar .action-btn[data-v-df45071f] {
  flex: 1;
  padding: 0.9375rem;
  border-radius: 0.375rem;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}
.action-bar .action-btn.primary[data-v-df45071f] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.action-bar .action-btn.secondary[data-v-df45071f] {
  background: #f5f5f5;
  color: #666;
}
.action-bar .action-btn.danger[data-v-df45071f] {
  background: #ffebee;
  color: #f44336;
}
.action-bar .action-btn[data-v-df45071f]:disabled {
  opacity: 0.6;
}
.preview-section .phone-preview[data-v-df45071f] {
  display: flex;
  justify-content: center;
  padding: 1.25rem 0;
}
.preview-section .phone-frame[data-v-df45071f] {
  width: 11.71875rem;
  height: 21.875rem;
  background: #1a1a1a;
  border-radius: 1.25rem;
  padding: 0.625rem;
  box-shadow: 0 0.3125rem 1.25rem rgba(0, 0, 0, 0.3);
}
.preview-section .phone-screen[data-v-df45071f] {
  width: 100%;
  height: calc(100% - 3.125rem);
  background: #f5f5f5;
  border-radius: 0.9375rem;
  overflow: hidden;
  position: relative;
}
.preview-section .chat-content[data-v-df45071f] {
  padding: 1.25rem;
}
.preview-section .chat-bubble[data-v-df45071f] {
  background: #95ec69;
  padding: 0.625rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: #333;
  max-width: 70%;
}
.preview-section .menu-bar[data-v-df45071f] {
  height: 3.125rem;
  background: #f8f8f8;
  border-top: 0.0625rem solid #e0e0e0;
  display: flex;
  position: relative;
}
.preview-section .preview-menu-item[data-v-df45071f] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 0.0625rem solid #e0e0e0;
  position: relative;
}
.preview-section .preview-menu-item[data-v-df45071f]:last-child {
  border-right: none;
}
.preview-section .preview-menu-text[data-v-df45071f] {
  font-size: 0.875rem;
  color: #333;
}
.preview-section .preview-submenu[data-v-df45071f] {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-radius: 0.5rem 0.5rem 0 0;
  box-shadow: 0 -0.125rem 0.625rem rgba(0, 0, 0, 0.1);
  margin-bottom: 0.3125rem;
}
.preview-section .preview-submenu-item[data-v-df45071f] {
  padding: 0.75rem;
  text-align: center;
  font-size: 0.875rem;
  color: #333;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.preview-section .preview-submenu-item[data-v-df45071f]:last-child {
  border-bottom: none;
}
.help-section .help-list .help-item[data-v-df45071f] {
  display: flex;
  align-items: center;
  padding: 0.625rem 0;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.help-section .help-list .help-item[data-v-df45071f]:last-child {
  border-bottom: none;
}
.help-section .help-list .help-item .help-type[data-v-df45071f] {
  width: 6.25rem;
  font-size: 0.875rem;
  color: #667eea;
  font-weight: 500;
}
.help-section .help-list .help-item .help-desc[data-v-df45071f] {
  flex: 1;
  font-size: 0.8125rem;
  color: #666;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-90363ef1], uni-textarea[data-v-90363ef1], .uni-input[data-v-90363ef1], .uni-textarea[data-v-90363ef1] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-90363ef1]:focus, uni-textarea[data-v-90363ef1]:focus, .uni-input[data-v-90363ef1]:focus, .uni-textarea[data-v-90363ef1]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-90363ef1]::-webkit-input-placeholder, uni-textarea[data-v-90363ef1]::-webkit-input-placeholder, .uni-input[data-v-90363ef1]::-webkit-input-placeholder, .uni-textarea[data-v-90363ef1]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-90363ef1]::placeholder, uni-textarea[data-v-90363ef1]::placeholder, .uni-input[data-v-90363ef1]::placeholder, .uni-textarea[data-v-90363ef1]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-90363ef1] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.qr-displayer[data-v-90363ef1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.25rem;
}
.qr-displayer .qr-image[data-v-90363ef1] {
  width: 12.5rem;
  height: 12.5rem;
  border-radius: 0.625rem;
  border: 0.125rem solid #e0e0e0;
  background: #ffffff;
}
.qr-displayer .qr-code[data-v-90363ef1] {
  display: block;
  margin-top: 0.9375rem;
  font-size: 1.125rem;
  font-weight: bold;
  color: #333333;
  font-family: "Courier New", monospace;
  letter-spacing: 0.125rem;
}
.qr-displayer .qr-actions[data-v-90363ef1] {
  display: flex;
  gap: 0.625rem;
  margin-top: 0.9375rem;
}
.qr-displayer .qr-actions .qr-action-btn[data-v-90363ef1] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  padding: 0.625rem 1rem;
  background: #f5f5f5;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  color: #666666;
}
.qr-displayer .qr-actions .qr-action-btn .action-icon[data-v-90363ef1] {
  font-size: 1.125rem;
}
.qr-displayer .qr-actions .qr-action-btn[data-v-90363ef1]:active {
  background: #e8e8e8;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-f8c3b33d], uni-textarea[data-v-f8c3b33d], .uni-input[data-v-f8c3b33d], .uni-textarea[data-v-f8c3b33d] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-f8c3b33d]:focus, uni-textarea[data-v-f8c3b33d]:focus, .uni-input[data-v-f8c3b33d]:focus, .uni-textarea[data-v-f8c3b33d]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-f8c3b33d]::-webkit-input-placeholder, uni-textarea[data-v-f8c3b33d]::-webkit-input-placeholder, .uni-input[data-v-f8c3b33d]::-webkit-input-placeholder, .uni-textarea[data-v-f8c3b33d]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-f8c3b33d]::placeholder, uni-textarea[data-v-f8c3b33d]::placeholder, .uni-input[data-v-f8c3b33d]::placeholder, .uni-textarea[data-v-f8c3b33d]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-f8c3b33d] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.page-content[data-v-f8c3b33d] {
  padding: 20px;
}

/* PC瀑布流布局 - 大卡片填满 */
.masonry-layout[data-v-f8c3b33d] {
  display: grid;
  grid-template-columns: 360px 1fr 1fr;
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 20px;
  width: 100%;
}
.masonry-item[data-v-f8c3b33d] {
  min-height: -webkit-fit-content;
  min-height: fit-content;
}
.masonry-item.qr-item[data-v-f8c3b33d] {
  grid-row: 1/span 2;
}
.masonry-item.info-item[data-v-f8c3b33d] {
  grid-column: 2;
  grid-row: 1;
}
.masonry-item.stats-item[data-v-f8c3b33d] {
  grid-column: 3;
  grid-row: 1;
}
.masonry-item.wide-item[data-v-f8c3b33d] {
  grid-column: 2/span 2;
  grid-row: 2;
}
.masonry-item.full-item[data-v-f8c3b33d] {
  grid-column: 1/span 3;
  grid-row: 3;
}

/* 卡片统一样式 */
.card[data-v-f8c3b33d] {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  height: 100%;
}
.card .card-header[data-v-f8c3b33d] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.card .card-header .card-icon[data-v-f8c3b33d] {
  font-size: 20px;
}
.card .card-header .card-title[data-v-f8c3b33d] {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
}
.card .card-body[data-v-f8c3b33d] {
  padding: 20px;
}

/* 二维码卡片 */
.qr-content[data-v-f8c3b33d] {
  padding: 20px;
  text-align: center;
}
.qr-content .code-display[data-v-f8c3b33d] {
  margin-bottom: 16px;
}
.qr-content .code-display .code-text[data-v-f8c3b33d] {
  font-size: 20px;
  font-weight: bold;
  color: #333;
  font-family: monospace;
}
.qr-content .code-display .code-status[data-v-f8c3b33d] {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: bold;
}
.qr-content .code-display .code-status.active[data-v-f8c3b33d] {
  background: #e8f5e9;
  color: #4caf50;
}
.qr-content .code-display .code-status.inactive[data-v-f8c3b33d] {
  background: #ffebee;
  color: #f44336;
}
.qr-content .qr-section[data-v-f8c3b33d] {
  margin: 16px 0;
}
.qr-content .qr-actions[data-v-f8c3b33d] {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.qr-content .qr-actions .action-btn[data-v-f8c3b33d] {
  height: 36px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border: none;
  border-radius: 18px;
  font-size: 14px;
  cursor: pointer;
}
.qr-content .qr-actions .action-btn.secondary[data-v-f8c3b33d] {
  background: #f5f5f5;
  color: #666;
}
.qr-content .qr-actions .action-btn .btn-icon[data-v-f8c3b33d] {
  font-size: 14px;
}

/* 信息行 */
.info-row[data-v-f8c3b33d] {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid #f5f5f5;
}
.info-row[data-v-f8c3b33d]:last-child {
  border-bottom: none;
}
.info-row .info-label[data-v-f8c3b33d] {
  font-size: 14px;
  color: #999;
}
.info-row .info-value[data-v-f8c3b33d] {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

/* 统计卡片 */
.stats-content[data-v-f8c3b33d] {
  display: flex;
  padding: 20px;
  gap: 20px;
}
.stats-content .stat-box[data-v-f8c3b33d] {
  flex: 1;
  text-align: center;
  padding: 16px;
  background: #f8f9fa;
  border-radius: 8px;
}
.stats-content .stat-box .stat-num[data-v-f8c3b33d] {
  font-size: 28px;
  font-weight: bold;
  color: #667eea;
  display: block;
}
.stats-content .stat-box .stat-desc[data-v-f8c3b33d] {
  font-size: 13px;
  color: #999;
  margin-top: 4px;
}

/* 二维码卡片 */
.qr-card[data-v-f8c3b33d] {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.qr-card .code-display[data-v-f8c3b33d] {
  margin-bottom: 20px;
}
.qr-card .code-display .code-text[data-v-f8c3b33d] {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  font-family: monospace;
  letter-spacing: 1px;
}
.qr-card .code-display .code-status[data-v-f8c3b33d] {
  display: inline-block;
  margin-top: 8px;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: bold;
}
.qr-card .code-display .code-status.active[data-v-f8c3b33d] {
  background: #e8f5e9;
  color: #4caf50;
}
.qr-card .code-display .code-status.inactive[data-v-f8c3b33d] {
  background: #ffebee;
  color: #f44336;
}
.qr-card .code-display .code-status.pending[data-v-f8c3b33d] {
  background: #fff3e0;
  color: #ff9800;
}
.qr-card .qr-section[data-v-f8c3b33d] {
  margin-bottom: 20px;
}
.qr-card .quick-actions[data-v-f8c3b33d] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.qr-card .quick-actions .action-btn[data-v-f8c3b33d] {
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border: none;
  border-radius: 22px;
  font-size: 15px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.qr-card .quick-actions .action-btn.secondary[data-v-f8c3b33d] {
  background: #f5f5f5;
  color: #666;
}
.qr-card .quick-actions .action-btn[data-v-f8c3b33d]:active {
  opacity: 0.8;
}
.qr-card .quick-actions .action-btn .btn-icon[data-v-f8c3b33d] {
  font-size: 16px;
}
.loading-state[data-v-f8c3b33d],
.error-state[data-v-f8c3b33d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 400px;
  padding: 40px;
}
.loading-state .loading-text[data-v-f8c3b33d],
.loading-state .error-text[data-v-f8c3b33d],
.error-state .loading-text[data-v-f8c3b33d],
.error-state .error-text[data-v-f8c3b33d] {
  font-size: 14px;
  color: #999999;
  margin-bottom: 15px;
}
.loading-state .error-icon[data-v-f8c3b33d],
.error-state .error-icon[data-v-f8c3b33d] {
  font-size: 60px;
  margin-bottom: 10px;
}
.loading-state .retry-btn[data-v-f8c3b33d],
.error-state .retry-btn[data-v-f8c3b33d] {
  padding: 10px 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
}
.detail-content[data-v-f8c3b33d] {
  max-width: 800px;
}
.top-card[data-v-f8c3b33d] {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 15px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.top-card .code-display[data-v-f8c3b33d] {
  text-align: center;
  margin-bottom: 20px;
}
.top-card .code-display .code-text[data-v-f8c3b33d] {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #333333;
  font-family: "Courier New", monospace;
  margin-bottom: 10px;
}
.top-card .code-display .code-status[data-v-f8c3b33d] {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 12px;
}
.top-card .code-display .code-status.active[data-v-f8c3b33d] {
  background: #e8f5e9;
  color: #4caf50;
}
.top-card .code-display .code-status.used[data-v-f8c3b33d] {
  background: #fff3e0;
  color: #ff9800;
}
.top-card .code-display .code-status.expired[data-v-f8c3b33d] {
  background: #ffebee;
  color: #f44336;
}
.top-card .code-display .code-status.revoked[data-v-f8c3b33d] {
  background: #f5f5f5;
  color: #9e9e9e;
}
.info-section[data-v-f8c3b33d] {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  margin-bottom: 0;
}
.info-section .section-header[data-v-f8c3b33d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f0f0;
}
.info-section .section-header .section-title[data-v-f8c3b33d] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.info-section .section-header .edit-btn[data-v-f8c3b33d] {
  padding: 6px 12px;
  background: #f5f5f5;
  color: #666666;
  border: none;
  border-radius: 4px;
  font-size: 12px;
}
.info-section .profile-content .profile-item[data-v-f8c3b33d] {
  display: flex;
  align-items: center;
  padding: 8px 0;
}
.info-section .profile-content .profile-item .profile-label[data-v-f8c3b33d] {
  width: 60px;
  font-size: 14px;
  color: #666666;
}
.info-section .profile-content .profile-item .profile-value[data-v-f8c3b33d] {
  flex: 1;
  font-size: 14px;
  color: #333333;
}
.info-section .profile-content .contacts-section[data-v-f8c3b33d] {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #f0f0f0;
}
.info-section .profile-content .contacts-section .contacts-title[data-v-f8c3b33d] {
  display: block;
  font-size: 13px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 10px;
}
.info-section .profile-content .contacts-section .contact-card[data-v-f8c3b33d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  background: #f9f9f9;
  border-radius: 6px;
  margin-bottom: 8px;
}
.info-section .profile-content .contacts-section .contact-card .contact-info[data-v-f8c3b33d] {
  flex: 1;
}
.info-section .profile-content .contacts-section .contact-card .contact-info .contact-name[data-v-f8c3b33d] {
  display: block;
  font-size: 14px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 4px;
}
.info-section .profile-content .contacts-section .contact-card .contact-info .contact-relation[data-v-f8c3b33d] {
  display: inline-block;
  font-size: 12px;
  color: #999999;
  padding: 2px 6px;
  background: #eeeeee;
  border-radius: 4px;
}
.info-section .profile-content .contacts-section .contact-card .call-btn[data-v-f8c3b33d] {
  padding: 8px 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-size: 12px;
}
.info-section .empty-profile[data-v-f8c3b33d] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
}
.info-section .empty-profile .empty-icon[data-v-f8c3b33d] {
  font-size: 50px;
  margin-bottom: 10px;
  opacity: 0.3;
}
.info-section .empty-profile .empty-text[data-v-f8c3b33d] {
  font-size: 13px;
  color: #999999;
}
.info-section .bind-status-badge[data-v-f8c3b33d] {
  padding: 4px 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 6px;
  font-size: 11px;
  font-weight: bold;
}
.info-section .bind-content .bind-item[data-v-f8c3b33d] {
  display: flex;
  align-items: center;
  padding: 8px 0;
}
.info-section .bind-content .bind-item .bind-label[data-v-f8c3b33d] {
  width: 90px;
  font-size: 13px;
  color: #666666;
}
.info-section .bind-content .bind-item .bind-value[data-v-f8c3b33d] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.info-section .bind-content .emergency-section[data-v-f8c3b33d] {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #f0f0f0;
}
.info-section .bind-content .emergency-section .emergency-title[data-v-f8c3b33d] {
  display: block;
  font-size: 13px;
  font-weight: bold;
  color: #ff9800;
  margin-bottom: 10px;
  padding-left: 5px;
  border-left: 3px solid #ff9800;
}
.actions-section[data-v-f8c3b33d] {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
  margin-top: auto;
}
.actions-section .action-btn[data-v-f8c3b33d] {
  height: 44px;
  padding: 0 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  border-radius: 22px;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
  transition: opacity 0.2s;
}
.actions-section .action-btn[data-v-f8c3b33d]:active {
  opacity: 0.8;
}
.actions-section .action-btn .btn-icon[data-v-f8c3b33d] {
  font-size: 16px;
}
.actions-section .action-btn.primary[data-v-f8c3b33d] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.actions-section .action-btn.danger[data-v-f8c3b33d] {
  background: #ff4d4f;
  color: #ffffff;
}

/* 瀑布流响应式布局 */
@media screen and (max-width: 1200px) {
.masonry-layout[data-v-f8c3b33d] {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.masonry-item.wide-item[data-v-f8c3b33d] {
    grid-column-end: span 1;
}
.masonry-item.full-item[data-v-f8c3b33d] {
    grid-column-end: span 2;
}
}
@media screen and (max-width: 768px) {
.masonry-layout[data-v-f8c3b33d] {
    grid-template-columns: 1fr;
}
.masonry-item.wide-item[data-v-f8c3b33d],
.masonry-item.full-item[data-v-f8c3b33d] {
    grid-column-end: span 1;
}
}
/* 危险按钮样式 */
.action-btn.danger[data-v-f8c3b33d] {
  background: #ff4d4f;
  color: #ffffff;
}
/* ===== 基础布局 ===== */
.owner-container[data-v-3d7bac11] {
  min-height: 100vh;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
}

/* ===== 头部区域 ===== */
.header-card[data-v-3d7bac11] {
  padding: 1.25rem 1rem 0.75rem;
}
.header-content[data-v-3d7bac11] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-left[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
}
.icon-box[data-v-3d7bac11] {
  width: 2.75rem;
  height: 2.75rem;
  background: rgba(255,255,255,0.2);
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
}
.header-title[data-v-3d7bac11] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.25rem;
}
.header-subtitle[data-v-3d7bac11] {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.7);
}
.status-badge[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.375rem 0.5rem;
  background: rgba(76,175,80,0.2);
  border-radius: 312.46875rem;
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
}
.status-dot[data-v-3d7bac11] {
  width: 0.375rem;
  height: 0.375rem;
  background: #4caf50;
  border-radius: 50%;
  animation: pulse-3d7bac11 2s ease-in-out infinite;
}
.status-text[data-v-3d7bac11] {
  font-size: 0.6875rem;
  color: #ffffff;
  font-weight: 600;
}
@keyframes pulse-3d7bac11 {
0%, 100% { opacity: 1; transform: scale(1);
}
50% { opacity: 0.6; transform: scale(0.9);
}
}

/* ===== 卡片组件 ===== */
.card[data-v-3d7bac11] {
  margin: 0 1rem 0.75rem;
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgba(0,0,0,0.08);
}
.card-header[data-v-3d7bac11] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.card-title[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.9375rem;
  font-weight: bold;
  color: #1a1a1a;
}
.card-body[data-v-3d7bac11] {
  padding: 0 0.75rem 0.75rem;
}

/* ===== 信息行 ===== */
.info-row[data-v-3d7bac11] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 0.03125rem solid #f0f0f0;
}
.info-row[data-v-3d7bac11]:last-child {
  border-bottom: none;
}
.info-label[data-v-3d7bac11] {
  font-size: 0.8125rem;
  color: #666666;
}
.info-value[data-v-3d7bac11] {
  font-size: 0.8125rem;
  color: #1a1a1a;
  font-weight: 500;
}
.type-tag[data-v-3d7bac11] {
  padding: 0.25rem 0.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 312.46875rem;
  font-size: 0.6875rem;
  font-weight: 600;
}

/* ===== 警告卡片 ===== */
.warning-card[data-v-3d7bac11] {
  background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
  border: 0.0625rem solid #ffd54f;
}
.warning-content[data-v-3d7bac11] {
  display: flex;
  gap: 0.5rem;
  padding: 0.75rem;
}
.warning-icon[data-v-3d7bac11] {
  font-size: 1.5rem;
}
.warning-title[data-v-3d7bac11] {
  font-size: 0.875rem;
  font-weight: bold;
  color: #f57c00;
  margin-bottom: 0.25rem;
}
.warning-desc[data-v-3d7bac11] {
  font-size: 0.75rem;
  color: #e65100;
  line-height: 1.5;
}
.update-btn[data-v-3d7bac11] {
  width: calc(100% - 2rem);
  margin: 0 1rem 0.75rem;
  height: 2.25rem;
  background: #f57c00;
  color: #ffffff;
  border-radius: 312.46875rem;
  font-size: 0.875rem;
  font-weight: bold;
}

/* ===== 操作按钮 ===== */
.action-grid[data-v-3d7bac11] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  padding: 0 1rem 1.25rem;
}
.action-card[data-v-3d7bac11] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.75rem 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  box-shadow: 0 0.125rem 0.5rem rgba(0,0,0,0.06);
}
.action-card.danger[data-v-3d7bac11] {
  background: #ffebee;
}
.action-icon[data-v-3d7bac11] {
  font-size: 1.375rem;
}
.action-label[data-v-3d7bac11] {
  font-size: 0.6875rem;
  color: #666666;
  font-weight: 500;
}

/* ===== 扫码记录 ===== */
.scan-logs-card[data-v-3d7bac11] {
  margin: 0 1rem 1.25rem;
  background: #ffffff;
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 1rem rgba(0,0,0,0.08);
}
.section-header[data-v-3d7bac11] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.section-title[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.9375rem;
  font-weight: bold;
  color: #1a1a1a;
}
.count-badge[data-v-3d7bac11] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  background: #667eea;
  color: #ffffff;
  border-radius: 312.46875rem;
  font-size: 0.6875rem;
  font-weight: bold;
}
.refresh-btn[data-v-3d7bac11] {
  width: 2rem;
  height: 2rem;
  background: #f5f5f5;
  border-radius: 312.46875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== 记录列表 ===== */
.log-item[data-v-3d7bac11] {
  padding: 0.75rem;
  border-bottom: 0.0625rem solid #f0f0f0;
  background: #ffffff;
}
.log-user[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.user-avatar[data-v-3d7bac11] {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex-shrink: 0;
  background: #f5f5f5;
}
.user-avatar-placeholder[data-v-3d7bac11] {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.avatar-text[data-v-3d7bac11] {
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
}
.user-info[data-v-3d7bac11] {
  flex: 1;
  min-width: 0;
}
.user-name[data-v-3d7bac11] {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1a1a1a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-role[data-v-3d7bac11] {
  font-size: 0.6875rem;
  color: #999999;
}
.log-time[data-v-3d7bac11] {
  font-size: 0.6875rem;
  color: #999999;
}
.role-tag[data-v-3d7bac11] {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  background: #c8e6c9;
  color: #2e7d32;
}
.log-location[data-v-3d7bac11],
.log-message[data-v-3d7bac11],
.log-contact[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.375rem;
  margin-top: 0.5rem;
}
.log-location[data-v-3d7bac11] {
  background: #f8f9fa;
}
.log-message[data-v-3d7bac11] {
  background: #fff9c4;
  color: #827717;
}
.log-contact[data-v-3d7bac11] {
  background: #e1f5fe;
  color: #0277bd;
}
.location-text[data-v-3d7bac11],
.message-text[data-v-3d7bac11],
.contact-text[data-v-3d7bac11] {
  flex: 1;
  font-size: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.map-btn[data-v-3d7bac11] {
  width: 100%;
  height: 2rem;
  margin-top: 0.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 312.46875rem;
  font-size: 0.75rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

/* ===== 空状态 ===== */
.empty-state[data-v-3d7bac11] {
  text-align: center;
  padding: 3.125rem 1rem;
}
.empty-icon[data-v-3d7bac11] {
  font-size: 3.75rem;
  margin-bottom: 0.75rem;
  opacity: 0.3;
}
.empty-text[data-v-3d7bac11] {
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.5rem;
  font-weight: 600;
}
.empty-hint[data-v-3d7bac11] {
  font-size: 0.6875rem;
  color: #999999;
}

/* ===== 加载更多 ===== */
.load-more-section[data-v-3d7bac11] {
  padding: 0.75rem;
  border-top: 0.0625rem solid #f0f0f0;
}
.loading-more[data-v-3d7bac11],
.load-more-btn[data-v-3d7bac11],
.no-more[data-v-3d7bac11] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
}
.load-more-btn[data-v-3d7bac11] {
  background: #f5f5f5;
  border-radius: 0.375rem;
  gap: 0.25rem;
}
.load-more-text[data-v-3d7bac11] {
  font-size: 0.8125rem;
  color: #667eea;
  font-weight: 500;
}
.no-more[data-v-3d7bac11] {
  font-size: 0.75rem;
  color: #999999;
}
.loading-spinner[data-v-3d7bac11],
.loading-spinner-small[data-v-3d7bac11] {
  animation: spin-3d7bac11 1s linear infinite;
}
.loading-spinner[data-v-3d7bac11] {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.loading-spinner-small[data-v-3d7bac11] {
  font-size: 1rem;
}
@keyframes spin-3d7bac11 {
from { transform: rotate(0deg);
}
to { transform: rotate(360deg);
}
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-1adfef32], uni-textarea[data-v-1adfef32], .uni-input[data-v-1adfef32], .uni-textarea[data-v-1adfef32] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-1adfef32]:focus, uni-textarea[data-v-1adfef32]:focus, .uni-input[data-v-1adfef32]:focus, .uni-textarea[data-v-1adfef32]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-1adfef32]::-webkit-input-placeholder, uni-textarea[data-v-1adfef32]::-webkit-input-placeholder, .uni-input[data-v-1adfef32]::-webkit-input-placeholder, .uni-textarea[data-v-1adfef32]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-1adfef32]::placeholder, uni-textarea[data-v-1adfef32]::placeholder, .uni-input[data-v-1adfef32]::placeholder, .uni-textarea[data-v-1adfef32]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-1adfef32] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.redirect-container[data-v-1adfef32] {
  min-height: 100vh;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading-box[data-v-1adfef32] {
  text-align: center;
}
.loading-box .loading-icon[data-v-1adfef32] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
  animation: rotate-1adfef32 1s linear infinite;
}
.loading-box .loading-text[data-v-1adfef32] {
  font-size: 1rem;
  color: #999;
}
@keyframes rotate-1adfef32 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-2688ed55], uni-textarea[data-v-2688ed55], .uni-input[data-v-2688ed55], .uni-textarea[data-v-2688ed55] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-2688ed55]:focus, uni-textarea[data-v-2688ed55]:focus, .uni-input[data-v-2688ed55]:focus, .uni-textarea[data-v-2688ed55]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-2688ed55]::-webkit-input-placeholder, uni-textarea[data-v-2688ed55]::-webkit-input-placeholder, .uni-input[data-v-2688ed55]::-webkit-input-placeholder, .uni-textarea[data-v-2688ed55]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-2688ed55]::placeholder, uni-textarea[data-v-2688ed55]::placeholder, .uni-input[data-v-2688ed55]::placeholder, .uni-textarea[data-v-2688ed55]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-2688ed55] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.finder-container[data-v-2688ed55] {
  min-height: 100vh;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  padding: 1.25rem 0.9375rem;
  position: relative;
}

/* 位置授权弹窗 */
.location-modal[data-v-2688ed55] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.location-modal .modal-mask[data-v-2688ed55] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
}
.location-modal .modal-content[data-v-2688ed55] {
  position: relative;
  width: 18.75rem;
  background: #ffffff;
  border-radius: 1rem;
  padding: 1.875rem 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  z-index: 10000;
}
.location-modal .modal-content .modal-icon[data-v-2688ed55] {
  font-size: 3.75rem;
  margin-bottom: 0.9375rem;
  animation: pulse-2688ed55 2s ease-in-out infinite;
}
.location-modal .modal-content .modal-title[data-v-2688ed55] {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.625rem;
}
.location-modal .modal-content .modal-desc[data-v-2688ed55] {
  display: block;
  font-size: 0.875rem;
  color: #666666;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
.location-modal .modal-content .modal-tip[data-v-2688ed55] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
  line-height: 1.5;
  margin-bottom: 1.25rem;
  padding: 0 0.625rem;
}
.location-modal .modal-content .modal-btn[data-v-2688ed55] {
  width: 100%;
  height: 2.75rem;
  border-radius: 1.375rem;
  border: none;
  font-size: 0.875rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 10001;
  cursor: pointer;
}
.location-modal .modal-content .modal-btn.primary[data-v-2688ed55] {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
  box-shadow: 0 0.25rem 0.75rem rgba(17, 153, 142, 0.3);
}
.location-modal .modal-content .modal-btn.secondary[data-v-2688ed55] {
  background: #f5f5f5;
  color: #666666;
}
@keyframes pulse-2688ed55 {
0%, 100% {
    transform: scale(1);
}
50% {
    transform: scale(1.1);
}
}
.header[data-v-2688ed55] {
  text-align: center;
  padding: 1.875rem 0 1.25rem;
}
.header .header-icon[data-v-2688ed55] {
  font-size: 3.125rem;
  margin-bottom: 0.625rem;
}
.header .header-title[data-v-2688ed55] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.375rem;
}
.header .header-desc[data-v-2688ed55] {
  display: block;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.code-info[data-v-2688ed55] {
  margin-bottom: 0.9375rem;
}
.code-info .code-card[data-v-2688ed55] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 1.25rem 0.9375rem;
  text-align: center;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.code-info .code-card .code-label[data-v-2688ed55] {
  display: block;
  font-size: 0.875rem;
  color: #999999;
  margin-bottom: 0.375rem;
}
.code-info .code-card .code-value[data-v-2688ed55] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  letter-spacing: 0.125rem;
  word-break: break-all;
  overflow-wrap: break-word;
  line-height: 1.2;
}
.item-info[data-v-2688ed55],
.owner-info[data-v-2688ed55] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.item-info .section-title[data-v-2688ed55],
.owner-info .section-title[data-v-2688ed55] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.item-info .section-title .title-icon[data-v-2688ed55],
.owner-info .section-title .title-icon[data-v-2688ed55] {
  font-size: 1rem;
  margin-right: 0.375rem;
}
.item-info .section-title uni-text[data-v-2688ed55],
.owner-info .section-title uni-text[data-v-2688ed55] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.item-info .section-title .retry-location-btn[data-v-2688ed55],
.owner-info .section-title .retry-location-btn[data-v-2688ed55] {
  padding: 0.25rem 0.625rem;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.75rem;
  font-size: 0.75rem;
  font-weight: bold;
}
.item-info .info-list .info-item[data-v-2688ed55],
.owner-info .info-list .info-item[data-v-2688ed55] {
  display: flex;
  justify-content: space-between;
  padding: 0.625rem 0;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.item-info .info-list .info-item[data-v-2688ed55]:last-child,
.owner-info .info-list .info-item[data-v-2688ed55]:last-child {
  border-bottom: none;
}
.item-info .info-list .info-item .info-label[data-v-2688ed55],
.owner-info .info-list .info-item .info-label[data-v-2688ed55] {
  font-size: 0.875rem;
  color: #666666;
}
.item-info .info-list .info-item .info-value[data-v-2688ed55],
.owner-info .info-list .info-item .info-value[data-v-2688ed55] {
  font-size: 0.875rem;
  color: #333333;
  text-align: right;
  max-width: 12.5rem;
}
.follow-tip[data-v-2688ed55] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem;
  text-align: center;
}
.follow-tip .tip-title[data-v-2688ed55] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  margin-bottom: 0.625rem;
}
.follow-tip .tip-title .title-icon[data-v-2688ed55] {
  font-size: 1.25rem;
}
.follow-tip .tip-title uni-text[data-v-2688ed55] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.follow-tip .tip-desc[data-v-2688ed55] {
  display: block;
  font-size: 0.875rem;
  color: #666666;
  margin-bottom: 0.9375rem;
  line-height: 1.6;
}
.follow-tip .qrcode-image[data-v-2688ed55] {
  width: 12.5rem;
  height: 12.5rem;
  margin: 0 auto 0.625rem;
  border-radius: 0.375rem;
  background: #f5f5f5;
}
.follow-tip .tip-hint[data-v-2688ed55] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
  margin-bottom: 0.9375rem;
}
.follow-tip .refresh-btn[data-v-2688ed55] {
  padding: 0.625rem 1.25rem;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.875rem;
  font-weight: bold;
}

/* 位置信息显示 */
.location-display[data-v-2688ed55] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.location-display .section-title[data-v-2688ed55] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.location-display .section-title .title-icon[data-v-2688ed55] {
  font-size: 1rem;
  margin-right: 0.375rem;
}
.location-display .section-title uni-text[data-v-2688ed55] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.location-display .section-title .retry-location-btn[data-v-2688ed55] {
  padding: 0.25rem 0.625rem;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.75rem;
  font-size: 0.75rem;
  font-weight: bold;
}
.location-display .location-content .location-address[data-v-2688ed55] {
  display: block;
  font-size: 0.875rem;
  color: #333333;
  line-height: 1.6;
  margin-bottom: 0.375rem;
}
.location-display .location-content .location-coords[data-v-2688ed55] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
  font-family: monospace;
}
.location-display .location-content .location-tip[data-v-2688ed55] {
  display: block;
  font-size: 0.75rem;
  color: #ff6b6b;
  margin-top: 0.5rem;
  padding: 0.375rem 0.5rem;
  background: rgba(255, 107, 107, 0.1);
  border-radius: 0.25rem;
  line-height: 1.5;
}
.location-display .location-content .location-tip .auth-link[data-v-2688ed55] {
  color: #667eea;
  text-decoration: underline;
  margin-left: 0.3125rem;
}
.tip-section[data-v-2688ed55] {
  margin-bottom: 0.9375rem;
}
.tip-section .tip-card[data-v-2688ed55] {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 0.5rem;
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.tip-section .tip-card.warning[data-v-2688ed55] {
  background: rgba(255, 193, 7, 0.15);
  border: 0.0625rem solid rgba(255, 193, 7, 0.3);
}
.tip-section .tip-card.owner-hint[data-v-2688ed55] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: 0.0625rem solid rgba(255, 255, 255, 0.3);
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.tip-section .tip-card.owner-hint .tip-icon[data-v-2688ed55] {
  font-size: 1.875rem;
  margin-bottom: 0.375rem;
}
.tip-section .tip-card.owner-hint .tip-title[data-v-2688ed55] {
  color: #ffffff;
  font-size: 1rem;
}
.tip-section .tip-card.owner-hint .tip-desc[data-v-2688ed55] {
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.625rem;
}
.tip-section .tip-card.owner-hint .login-btn[data-v-2688ed55] {
  width: 100%;
  height: 2.5rem;
  background: #ffffff;
  color: #667eea;
  border: none;
  border-radius: 1.25rem;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
}
.tip-section .tip-card.owner-hint .login-btn .btn-icon[data-v-2688ed55] {
  font-size: 1rem;
}
.tip-section .tip-card .tip-icon[data-v-2688ed55] {
  font-size: 1.25rem;
  flex-shrink: 0;
}
.tip-section .tip-card .tip-title[data-v-2688ed55] {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.25rem;
}
.tip-section .tip-card .tip-desc[data-v-2688ed55] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  line-height: 1.6;
}
.actions[data-v-2688ed55] {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
.actions .action-btn[data-v-2688ed55] {
  height: 2.75rem;
  border-radius: 1.375rem;
  border: none;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}
.actions .action-btn.primary[data-v-2688ed55] {
  background: #ffffff;
  color: #11998e;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
}
.actions .action-btn.secondary[data-v-2688ed55] {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border: 0.0625rem solid rgba(255, 255, 255, 0.3);
}
.actions .action-btn.tertiary[data-v-2688ed55] {
  background: rgba(0, 0, 0, 0.2);
  color: #ffffff;
  border: 0.0625rem solid rgba(0, 0, 0, 0.3);
}
.actions .action-btn .btn-icon[data-v-2688ed55] {
  font-size: 1rem;
}
.item-photo[data-v-2688ed55] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.1);
}
.item-photo .section-title[data-v-2688ed55] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.item-photo .section-title .title-icon[data-v-2688ed55] {
  font-size: 1rem;
  margin-right: 0.375rem;
}
.item-photo .section-title uni-text[data-v-2688ed55] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.item-photo .section-title .retry-location-btn[data-v-2688ed55] {
  padding: 0.25rem 0.625rem;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.75rem;
  font-size: 0.75rem;
  font-weight: bold;
}
.item-photo .photo-image[data-v-2688ed55] {
  width: 100%;
  height: 12.5rem;
  border-radius: 0.5rem;
  background: #f5f5f5;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-12ed5727], uni-textarea[data-v-12ed5727], .uni-input[data-v-12ed5727], .uni-textarea[data-v-12ed5727] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-12ed5727]:focus, uni-textarea[data-v-12ed5727]:focus, .uni-input[data-v-12ed5727]:focus, .uni-textarea[data-v-12ed5727]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-12ed5727]::-webkit-input-placeholder, uni-textarea[data-v-12ed5727]::-webkit-input-placeholder, .uni-input[data-v-12ed5727]::-webkit-input-placeholder, .uni-textarea[data-v-12ed5727]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-12ed5727]::placeholder, uni-textarea[data-v-12ed5727]::placeholder, .uni-input[data-v-12ed5727]::placeholder, .uni-textarea[data-v-12ed5727]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-12ed5727] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.finder-tenant-container[data-v-12ed5727] {
  min-height: 100vh;
  background: var(--background-color, #f5f5f5);
  padding-bottom: 3.75rem;
}
.brand-header[data-v-12ed5727] {
  padding: 1.25rem 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.brand-header .brand-logo[data-v-12ed5727] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fff;
  padding: 0.3125rem;
}
.brand-header .brand-info[data-v-12ed5727] {
  flex: 1;
}
.brand-header .brand-info .brand-name[data-v-12ed5727] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #fff;
  display: block;
}
.brand-header .brand-info .brand-slogan[data-v-12ed5727] {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.125rem;
}
.content-area[data-v-12ed5727] {
  padding: 0 0.9375rem 0.9375rem;
  padding-bottom: 4.375rem;
}
.tab-content[data-v-12ed5727] {
  animation: fadeIn-12ed5727 0.3s ease;
}
@keyframes fadeIn-12ed5727 {
from {
    opacity: 0;
    transform: translateY(0.3125rem);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.hero-section[data-v-12ed5727] {
  padding: 1.875rem 1.25rem;
  margin: -0.9375rem -0.9375rem 0.9375rem -0.9375rem;
  text-align: center;
}
.hero-section .hero-content .hero-icon[data-v-12ed5727] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
}
.hero-section .hero-content .hero-title[data-v-12ed5727] {
  font-size: 1.375rem;
  font-weight: bold;
  color: #fff;
  display: block;
  margin-bottom: 0.375rem;
}
.hero-section .hero-content .hero-subtitle[data-v-12ed5727] {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.9);
  display: block;
}
.page-header[data-v-12ed5727] {
  margin-bottom: 0.9375rem;
  padding-top: 0.9375rem;
}
.page-header .page-title[data-v-12ed5727] {
  font-size: 1.25rem;
  font-weight: bold;
  color: var(--text-color, #333);
  display: block;
  margin-bottom: 0.375rem;
}
.page-header .page-subtitle[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #666;
}
.info-card[data-v-12ed5727] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.info-card.highlight[data-v-12ed5727] {
  border: 0.0625rem solid rgba(102, 126, 234, 0.2);
}
.info-card .card-title[data-v-12ed5727] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.75rem;
}
.info-card .card-title .card-icon[data-v-12ed5727] {
  font-size: 1.125rem;
}
.item-photo-section[data-v-12ed5727] {
  position: relative;
  margin-bottom: 0.75rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.item-photo-section .item-photo-large[data-v-12ed5727] {
  width: 100%;
  height: 11.25rem;
  display: block;
}
.item-photo-section .photo-hint[data-v-12ed5727] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.625rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.6));
  color: #fff;
  font-size: 0.875rem;
  text-align: center;
}
.info-list .info-item[data-v-12ed5727] {
  display: flex;
  padding: 0.5rem 0;
  border-bottom: 0.03125rem solid #f0f0f0;
}
.info-list .info-item[data-v-12ed5727]:last-child {
  border-bottom: none;
}
.info-list .info-item .info-label[data-v-12ed5727] {
  width: 5rem;
  font-size: 0.875rem;
  color: #666;
}
.info-list .info-item .info-value[data-v-12ed5727] {
  flex: 1;
  font-size: 0.875rem;
  color: #333;
}
.info-list .info-item .info-value.highlight[data-v-12ed5727] {
  color: #667eea;
  font-weight: bold;
}
.owner-info[data-v-12ed5727] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
.owner-info .owner-avatar[data-v-12ed5727] {
  width: 3.125rem;
  height: 3.125rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.owner-info .owner-avatar .avatar-text[data-v-12ed5727] {
  font-size: 1.5rem;
}
.owner-info .owner-detail[data-v-12ed5727] {
  flex: 1;
}
.owner-info .owner-detail .owner-name[data-v-12ed5727] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  display: block;
}
.owner-info .owner-detail .owner-phone[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.25rem;
}
.contact-actions[data-v-12ed5727] {
  display: flex;
  gap: 0.625rem;
}
.contact-actions .contact-btn[data-v-12ed5727] {
  flex: 1;
  height: 2.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  color: #fff;
  border: none;
}
.contact-actions .contact-btn.wechat[data-v-12ed5727] {
  background: #07c160;
}
.contact-actions .contact-btn .btn-icon[data-v-12ed5727] {
  font-size: 1rem;
}
.quick-actions[data-v-12ed5727] {
  margin: 0.625rem 0;
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.quick-actions .section-title[data-v-12ed5727] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.75rem;
  display: block;
}
.quick-actions .action-grid[data-v-12ed5727] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.quick-actions .action-grid .action-item[data-v-12ed5727] {
  text-align: center;
}
.quick-actions .action-grid .action-item .action-icon-box[data-v-12ed5727] {
  width: 2.8125rem;
  height: 2.8125rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.375rem;
  position: relative;
}
.quick-actions .action-grid .action-item .action-icon-box.primary[data-v-12ed5727] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 0.125rem 0.375rem rgba(102, 126, 234, 0.4);
}
.quick-actions .action-grid .action-item .action-icon-box.primary .action-icon[data-v-12ed5727] {
  color: #fff;
}
.quick-actions .action-grid .action-item .action-icon-box.secondary[data-v-12ed5727] {
  background: #f5f5f5;
  box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.08);
}
.quick-actions .action-grid .action-item .action-icon-box.secondary .action-icon[data-v-12ed5727] {
  color: #667eea;
}
.quick-actions .action-grid .action-item .action-icon-box .action-icon[data-v-12ed5727] {
  font-size: 1.375rem;
}
.quick-actions .action-grid .action-item .action-icon-box .action-badge[data-v-12ed5727] {
  position: absolute;
  top: -0.25rem;
  right: -0.25rem;
  background: #ff4d4f;
  color: #fff;
  font-size: 0.6875rem;
  min-width: 1.125rem;
  height: 1.125rem;
  line-height: 1.125rem;
  border-radius: 0.5625rem;
  padding: 0 0.25rem;
}
.quick-actions .action-grid .action-item .action-label[data-v-12ed5727] {
  font-size: 0.75rem;
  color: #666;
}
.reward-card[data-v-12ed5727] {
  background: linear-gradient(135deg, #fff9e6 0%, #fff5d6 100%);
  border-radius: 0.625rem;
  padding: 1.25rem;
  margin: 0.625rem 0;
  text-align: center;
  border: 0.0625rem solid #ffe4b3;
}
.reward-card .reward-icon[data-v-12ed5727] {
  font-size: 1.875rem;
  display: block;
  margin-bottom: 0.5rem;
}
.reward-card .reward-text[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #d48806;
}
.tips-card[data-v-12ed5727] {
  background: #e6f7ff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin: 0.625rem 0;
  border: 0.0625rem solid #91d5ff;
}
.tips-card .tips-title[data-v-12ed5727] {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #1890ff;
  display: block;
  margin-bottom: 0.5rem;
}
.tips-card .tips-item[data-v-12ed5727] {
  font-size: 0.8125rem;
  color: #666;
  line-height: 1.8;
  display: block;
}
.message-form .message-input[data-v-12ed5727] {
  width: 100%;
  height: 6.25rem;
  background: #f8f8f8;
  border-radius: 0.375rem;
  padding: 0.625rem;
  font-size: 0.875rem;
  box-sizing: border-box;
  border: none;
}
.message-form .message-actions[data-v-12ed5727] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.625rem;
}
.message-form .message-actions .message-tip[data-v-12ed5727] {
  font-size: 0.75rem;
  color: #999;
}
.message-form .message-actions .send-btn[data-v-12ed5727] {
  height: 2rem;
  padding: 0 1.25rem;
  background: #ccc;
  color: #fff;
  font-size: 0.875rem;
  border-radius: 1rem;
  border: none;
}
.message-form .message-actions .send-btn[data-v-12ed5727]:disabled {
  opacity: 0.6;
}
.message-list .message-item[data-v-12ed5727] {
  padding: 0.625rem 0;
  border-bottom: 0.03125rem solid #f0f0f0;
}
.message-list .message-item[data-v-12ed5727]:last-child {
  border-bottom: none;
}
.message-list .message-item .message-header[data-v-12ed5727] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.375rem;
}
.message-list .message-item .message-header .message-from[data-v-12ed5727] {
  font-size: 0.8125rem;
  color: #667eea;
  font-weight: bold;
}
.message-list .message-item .message-header .message-time[data-v-12ed5727] {
  font-size: 0.75rem;
  color: #999;
}
.message-list .message-item .message-content[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #333;
  line-height: 1.6;
}
.empty-state[data-v-12ed5727] {
  text-align: center;
  padding: 2.5rem 1.25rem;
}
.empty-state .empty-icon[data-v-12ed5727] {
  font-size: 2.5rem;
  margin-bottom: 0.625rem;
  display: block;
}
.empty-state .empty-text[data-v-12ed5727] {
  font-size: 1rem;
  color: #333;
  margin-bottom: 0.375rem;
  display: block;
}
.empty-state .empty-hint[data-v-12ed5727] {
  font-size: 0.8125rem;
  color: #999;
}
.user-profile-card[data-v-12ed5727] {
  margin: 0.9375rem 0 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.user-profile-card .user-info-logged[data-v-12ed5727],
.user-profile-card .user-info-guest[data-v-12ed5727] {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.user-profile-card .user-avatar[data-v-12ed5727] {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.user-profile-card .user-avatar.default[data-v-12ed5727], .user-profile-card .user-avatar.guest[data-v-12ed5727] {
  background: linear-gradient(135deg, #e8e8e8 0%, #d0d0d0 100%);
}
.user-profile-card .user-avatar uni-image[data-v-12ed5727] {
  width: 100%;
  height: 100%;
}
.user-profile-card .user-avatar .avatar-text[data-v-12ed5727] {
  font-size: 1.875rem;
}
.user-profile-card .user-detail[data-v-12ed5727] {
  flex: 1;
  min-width: 0;
}
.user-profile-card .user-detail .user-name[data-v-12ed5727] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.25rem;
}
.user-profile-card .user-detail .user-status[data-v-12ed5727] {
  font-size: 0.8125rem;
  color: #999;
}
.user-profile-card .user-code-small[data-v-12ed5727] {
  font-size: 0.75rem;
  color: #667eea;
  font-family: monospace;
  background: rgba(102, 126, 234, 0.1);
  padding: 0.25rem 0.5rem;
  border-radius: 0.625rem;
}
.user-profile-card .login-btn-small[data-v-12ed5727] {
  height: 2rem;
  line-height: 2rem;
  padding: 0 1rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 0.875rem;
  border-radius: 1rem;
  border: none;
}
.user-card[data-v-12ed5727] {
  margin: 0.9375rem 0 0.625rem;
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.user-card .user-avatar[data-v-12ed5727] {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.user-card .user-avatar .avatar-text[data-v-12ed5727] {
  font-size: 1.875rem;
}
.user-card .user-info[data-v-12ed5727] {
  flex: 1;
}
.user-card .user-info .user-name[data-v-12ed5727] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.25rem;
}
.user-card .user-info .user-code[data-v-12ed5727] {
  font-size: 0.8125rem;
  color: #999;
  font-family: monospace;
}
.found-item[data-v-12ed5727] {
  text-align: center;
  padding: 0.625rem;
}
.found-item .found-name[data-v-12ed5727] {
  font-size: 1rem;
  font-weight: bold;
  color: #667eea;
  display: block;
  margin-bottom: 0.375rem;
}
.found-item .found-code[data-v-12ed5727] {
  font-size: 0.8125rem;
  color: #999;
  font-family: monospace;
}
.menu-list[data-v-12ed5727] {
  margin: 0.625rem 0;
  background: #fff;
  border-radius: 0.625rem;
  overflow: hidden;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.menu-list .menu-item[data-v-12ed5727] {
  display: flex;
  align-items: center;
  padding: 0.9375rem;
  border-bottom: 0.03125rem solid #f5f5f5;
}
.menu-list .menu-item[data-v-12ed5727]:last-child {
  border-bottom: none;
}
.menu-list .menu-item[data-v-12ed5727]:active {
  background: #f9f9f9;
}
.menu-list .menu-item .menu-icon[data-v-12ed5727] {
  font-size: 1.25rem;
  margin-right: 0.625rem;
}
.menu-list .menu-item .menu-text[data-v-12ed5727] {
  flex: 1;
  font-size: 0.9375rem;
  color: #333;
}
.menu-list .menu-item .menu-badge[data-v-12ed5727] {
  background: #ff4d4f;
  color: #fff;
  font-size: 0.6875rem;
  min-width: 1.125rem;
  height: 1.125rem;
  line-height: 1.125rem;
  border-radius: 0.5625rem;
  padding: 0 0.375rem;
  margin-right: 0.3125rem;
}
.menu-list .menu-item .menu-arrow[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #ccc;
}
.logout-section[data-v-12ed5727] {
  margin: 1.25rem 0;
}
.logout-section .logout-btn[data-v-12ed5727] {
  width: 100%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: #f5f5f5;
  color: #667eea;
  font-size: 0.9375rem;
  border-radius: 1.375rem;
  border: none;
}
.developing-state[data-v-12ed5727] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4.6875rem 1.25rem;
  text-align: center;
}
.developing-state .developing-icon[data-v-12ed5727] {
  font-size: 3.125rem;
  margin-bottom: 0.9375rem;
}
.developing-state .developing-title[data-v-12ed5727] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.5rem;
}
.developing-state .developing-desc[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #999;
}
.tab-bar[data-v-12ed5727] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3.125rem;
  background: #fff;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-top: 0.03125rem solid #f0f0f0;
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
  z-index: 100;
}
.tab-bar .tab-item[data-v-12ed5727] {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.tab-bar .tab-item.active .tab-icon[data-v-12ed5727] {
  color: #667eea;
}
.tab-bar .tab-item.active .tab-text[data-v-12ed5727] {
  color: #667eea;
}
.tab-bar .tab-item .tab-icon[data-v-12ed5727] {
  font-size: 1.25rem;
  color: #999;
  margin-bottom: 0.125rem;
}
.tab-bar .tab-item .tab-text[data-v-12ed5727] {
  font-size: 0.6875rem;
  color: #999;
}
.tab-bar .tab-item.scan-btn[data-v-12ed5727] {
  position: relative;
}
.tab-bar .tab-item.scan-btn .scan-circle[data-v-12ed5727] {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -1.25rem;
  box-shadow: 0 0.125rem 0.625rem rgba(102, 126, 234, 0.4);
  border: 0.125rem solid #fff;
}
.tab-bar .tab-item.scan-btn .scan-circle .scan-icon[data-v-12ed5727] {
  font-size: 1.5rem;
  color: #fff;
}
.tab-bar .tab-item.scan-btn .tab-text[data-v-12ed5727] {
  margin-top: 0.25rem;
  color: #667eea;
  font-weight: 500;
}
.modal-overlay[data-v-12ed5727] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  padding: 1.25rem;
}
.modal-overlay .modal-content[data-v-12ed5727] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  width: 100%;
  max-width: 18.75rem;
}
.modal-overlay .modal-content .modal-title[data-v-12ed5727] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  text-align: center;
  margin-bottom: 0.5rem;
}
.modal-overlay .modal-content .modal-desc[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #666;
  text-align: center;
  margin-bottom: 0.9375rem;
  display: block;
}
.modal-overlay .modal-content .location-input[data-v-12ed5727] {
  margin-bottom: 0.9375rem;
}
.modal-overlay .modal-content .location-input .input-label[data-v-12ed5727] {
  font-size: 0.875rem;
  color: #333;
  margin-bottom: 0.375rem;
  display: block;
}
.modal-overlay .modal-content .location-input .location-textarea[data-v-12ed5727] {
  width: 100%;
  height: 5rem;
  background: #f8f8f8;
  border-radius: 0.375rem;
  padding: 0.625rem;
  font-size: 0.875rem;
  box-sizing: border-box;
  border: none;
}
.modal-overlay .modal-content .modal-actions[data-v-12ed5727] {
  display: flex;
  gap: 0.625rem;
}
.modal-overlay .modal-content .modal-actions .modal-btn[data-v-12ed5727] {
  flex: 1;
  height: 2.5rem;
  line-height: 2.5rem;
  border-radius: 1.25rem;
  font-size: 0.9375rem;
  border: none;
}
.modal-overlay .modal-content .modal-actions .modal-btn.cancel[data-v-12ed5727] {
  background: #f5f5f5;
  color: #666;
}
.modal-overlay .modal-content .modal-actions .modal-btn.confirm[data-v-12ed5727] {
  color: #fff;
}
.loading-overlay[data-v-12ed5727] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
}
.loading-overlay .loading-text[data-v-12ed5727] {
  font-size: 1rem;
  color: #666;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-3f5b3717], uni-textarea[data-v-3f5b3717], .uni-input[data-v-3f5b3717], .uni-textarea[data-v-3f5b3717] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-3f5b3717]:focus, uni-textarea[data-v-3f5b3717]:focus, .uni-input[data-v-3f5b3717]:focus, .uni-textarea[data-v-3f5b3717]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-3f5b3717]::-webkit-input-placeholder, uni-textarea[data-v-3f5b3717]::-webkit-input-placeholder, .uni-input[data-v-3f5b3717]::-webkit-input-placeholder, .uni-textarea[data-v-3f5b3717]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-3f5b3717]::placeholder, uni-textarea[data-v-3f5b3717]::placeholder, .uni-input[data-v-3f5b3717]::placeholder, .uni-textarea[data-v-3f5b3717]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-3f5b3717] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.login-container[data-v-3f5b3717] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 1.25rem 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-content[data-v-3f5b3717] {
  width: 100%;
  max-width: 18.75rem;
  text-align: center;
}
.header-icon[data-v-3f5b3717] {
  font-size: 3.75rem;
  margin-bottom: 0.625rem;
}
.header-title[data-v-3f5b3717] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.375rem;
}
.header-desc[data-v-3f5b3717] {
  display: block;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 1.875rem;
}
.user-info[data-v-3f5b3717] {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0.625rem;
  padding: 1.25rem 0.9375rem;
  margin-bottom: 1.25rem;
  border: 0.0625rem solid rgba(255, 255, 255, 0.3);
}
.user-info .user-avatar[data-v-3f5b3717] {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 1.875rem;
  border: 0.125rem solid #ffffff;
  margin-bottom: 0.625rem;
  background: #ffffff;
}
.user-info .user-name[data-v-3f5b3717] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #ffffff;
}
.login-btn[data-v-3f5b3717] {
  width: 100%;
  height: 2.75rem;
  background: #ffffff;
  color: #667eea;
  border: none;
  border-radius: 1.375rem;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
  margin-bottom: 0.625rem;
}
.login-btn.mock[data-v-3f5b3717] {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border: 0.0625rem solid rgba(255, 255, 255, 0.3);
}
.login-btn .btn-icon[data-v-3f5b3717] {
  font-size: 1.125rem;
}
.env-tip[data-v-3f5b3717] {
  margin-top: 0.9375rem;
  padding: 0.625rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.env-tip .tip-icon[data-v-3f5b3717] {
  font-size: 0.875rem;
}
.env-tip .tip-text[data-v-3f5b3717] {
  flex: 1;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.5;
  text-align: left;
}
.logged-in[data-v-3f5b3717] {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.logged-in .action-btn[data-v-3f5b3717] {
  width: 100%;
  height: 2.75rem;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border: 0.0625rem solid rgba(255, 255, 255, 0.3);
  border-radius: 1.375rem;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}
.logged-in .action-btn.logout[data-v-3f5b3717] {
  background: rgba(255, 107, 107, 0.2);
  border-color: rgba(255, 255, 107, 0.3);
}
.logged-in .action-btn .btn-icon[data-v-3f5b3717] {
  font-size: 1rem;
}
.features[data-v-3f5b3717] {
  margin-top: 1.875rem;
}
.features .feature-item[data-v-3f5b3717] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
}
.features .feature-item[data-v-3f5b3717]:last-child {
  margin-bottom: 0;
}
.features .feature-item .feature-icon[data-v-3f5b3717] {
  font-size: 1.125rem;
}
.features .feature-item .feature-text[data-v-3f5b3717] {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.9);
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-af15a37d], uni-textarea[data-v-af15a37d], .uni-input[data-v-af15a37d], .uni-textarea[data-v-af15a37d] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-af15a37d]:focus, uni-textarea[data-v-af15a37d]:focus, .uni-input[data-v-af15a37d]:focus, .uni-textarea[data-v-af15a37d]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-af15a37d]::-webkit-input-placeholder, uni-textarea[data-v-af15a37d]::-webkit-input-placeholder, .uni-input[data-v-af15a37d]::-webkit-input-placeholder, .uni-textarea[data-v-af15a37d]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-af15a37d]::placeholder, uni-textarea[data-v-af15a37d]::placeholder, .uni-input[data-v-af15a37d]::placeholder, .uni-textarea[data-v-af15a37d]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-af15a37d] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.test-container[data-v-af15a37d] {
  min-height: 100vh;
  background: #f5f5f5;
  padding: 0.9375rem;
  user-select: text;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
}
.header[data-v-af15a37d] {
  text-align: center;
  margin-bottom: 1.25rem;
  padding: 1.25rem 0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 0.625rem;
  color: #fff;
}
.header .title[data-v-af15a37d] {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.header .subtitle[data-v-af15a37d] {
  display: block;
  font-size: 0.875rem;
  opacity: 0.9;
}
.input-section[data-v-af15a37d] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  margin-bottom: 0.9375rem;
  user-select: text;
  -webkit-user-select: text;
}
.input-section .input-group[data-v-af15a37d] {
  margin-bottom: 0.9375rem;
}
.input-section .input-group[data-v-af15a37d]:last-child {
  margin-bottom: 0;
}
.input-section .input-group .label[data-v-af15a37d] {
  display: block;
  font-size: 0.875rem;
  color: #333;
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.input-section .input-group .input[data-v-af15a37d] {
  width: 100%;
  height: 2.75rem;
  padding: 0 0.75rem;
  background: #f5f5f5;
  border: 0.0625rem solid #e0e0e0;
  border-radius: 0.375rem;
  font-size: 0.9375rem;
  color: #333;
  box-sizing: border-box;
}
.input-section .input-group .input[data-v-af15a37d]:focus {
  border-color: #667eea;
  background: #fff;
}
.input-section .button-group[data-v-af15a37d] {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
.input-section .button-group .btn-primary[data-v-af15a37d] {
  width: 100%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 1.375rem;
  border: none;
}
.input-section .button-group .btn-primary[data-v-af15a37d]:disabled {
  opacity: 0.6;
}
.input-section .button-group .btn-secondary[data-v-af15a37d] {
  width: 100%;
  height: 2.5rem;
  line-height: 2.5rem;
  background: #f0f0f0;
  color: #666;
  font-size: 0.875rem;
  border-radius: 1.25rem;
  border: none;
}
.result-section[data-v-af15a37d] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  margin-bottom: 0.9375rem;
  border-left: 0.25rem solid #ccc;
  user-select: text;
  -webkit-user-select: text;
}
.result-section.success[data-v-af15a37d] {
  border-left-color: #4caf50;
  background: #f1f8e9;
}
.result-section.error[data-v-af15a37d] {
  border-left-color: #f44336;
  background: #ffebee;
}
.result-section .result-header[data-v-af15a37d] {
  display: flex;
  align-items: center;
  margin-bottom: 0.9375rem;
}
.result-section .result-header .result-icon[data-v-af15a37d] {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}
.result-section .result-header .result-title[data-v-af15a37d] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
}
.result-section .result-content .result-item[data-v-af15a37d] {
  display: flex;
  padding: 0.5rem 0;
  border-bottom: 0.03125rem solid #e0e0e0;
}
.result-section .result-content .result-item[data-v-af15a37d]:last-child {
  border-bottom: none;
}
.result-section .result-content .result-item .item-label[data-v-af15a37d] {
  width: 5rem;
  font-size: 0.875rem;
  color: #666;
  flex-shrink: 0;
}
.result-section .result-content .result-item .item-value[data-v-af15a37d] {
  flex: 1;
  font-size: 0.875rem;
  color: #333;
  word-break: break-all;
}
.result-section .result-content .result-item .item-value.address[data-v-af15a37d] {
  color: #667eea;
  font-weight: bold;
  font-size: 0.9375rem;
}
.result-section .error-message .error-text[data-v-af15a37d] {
  font-size: 0.9375rem;
  color: #f44336;
  line-height: 1.6;
}
.log-section[data-v-af15a37d] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem;
  user-select: text;
  -webkit-user-select: text;
}
.log-section .log-header[data-v-af15a37d] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
}
.log-section .log-header .log-title[data-v-af15a37d] {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.log-section .log-header .btn-clear[data-v-af15a37d] {
  padding: 0.3125rem 0.75rem;
  background: #f5f5f5;
  color: #666;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  border: none;
}
.log-section .log-content[data-v-af15a37d] {
  max-height: 12.5rem;
  background: #1e1e1e;
  border-radius: 0.375rem;
  padding: 0.625rem;
  user-select: text;
  -webkit-user-select: text;
}
.log-section .log-content .log-item[data-v-af15a37d] {
  display: flex;
  margin-bottom: 0.5rem;
  font-family: monospace;
}
.log-section .log-content .log-item[data-v-af15a37d]:last-child {
  margin-bottom: 0;
}
.log-section .log-content .log-item .log-time[data-v-af15a37d] {
  color: #888;
  font-size: 0.6875rem;
  margin-right: 0.5rem;
  flex-shrink: 0;
}
.log-section .log-content .log-item .log-text[data-v-af15a37d] {
  font-size: 0.75rem;
  word-break: break-all;
}
.log-section .log-content .log-item .log-text.info[data-v-af15a37d] {
  color: #fff;
}
.log-section .log-content .log-item .log-text.success[data-v-af15a37d] {
  color: #4caf50;
}
.log-section .log-content .log-item .log-text.error[data-v-af15a37d] {
  color: #f44336;
}
.info-section[data-v-af15a37d] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  user-select: text;
  -webkit-user-select: text;
}
.info-section .info-title[data-v-af15a37d] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.75rem;
}
.info-section .info-item[data-v-af15a37d] {
  display: block;
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.info-section .info-item[data-v-af15a37d]:last-child {
  margin-bottom: 0;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-d062a0f1], uni-textarea[data-v-d062a0f1], .uni-input[data-v-d062a0f1], .uni-textarea[data-v-d062a0f1] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-d062a0f1]:focus, uni-textarea[data-v-d062a0f1]:focus, .uni-input[data-v-d062a0f1]:focus, .uni-textarea[data-v-d062a0f1]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-d062a0f1]::-webkit-input-placeholder, uni-textarea[data-v-d062a0f1]::-webkit-input-placeholder, .uni-input[data-v-d062a0f1]::-webkit-input-placeholder, .uni-textarea[data-v-d062a0f1]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-d062a0f1]::placeholder, uni-textarea[data-v-d062a0f1]::placeholder, .uni-input[data-v-d062a0f1]::placeholder, .uni-textarea[data-v-d062a0f1]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-d062a0f1] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.auth-container[data-v-d062a0f1] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  box-sizing: border-box;
}

/* 确保页面背景正确显示 */
[data-v-d062a0f1] uni-page-body {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-d062a0f1] uni-page {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-d062a0f1] uni-page-body {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
body[data-v-d062a0f1] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-d062a0f1] body {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-d062a0f1] uni-page-wrapper {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
.auth-card[data-v-d062a0f1] {
  width: 100%;
  max-width: 18.75rem;
  background: #ffffff;
  border-radius: 1rem;
  padding: 1.875rem 1.25rem;
  box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.2);
}
.logo-section[data-v-d062a0f1] {
  text-align: center;
  margin-bottom: 1.25rem;
}
.logo-section .logo-icon[data-v-d062a0f1] {
  display: block;
  font-size: 3.75rem;
  margin-bottom: 0.625rem;
}
.logo-section .app-name[data-v-d062a0f1] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.375rem;
}
.logo-section .app-desc[data-v-d062a0f1] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
}
.code-info-section[data-v-d062a0f1] {
  margin-bottom: 1.25rem;
}
.code-info-section .code-info-card[data-v-d062a0f1] {
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
  border-radius: 0.625rem;
  padding: 0.9375rem;
  text-align: center;
  border: 0.0625rem solid #e0e0e0;
}
.code-info-section .code-info-card .code-label[data-v-d062a0f1] {
  display: block;
  font-size: 0.75rem;
  color: #666666;
  margin-bottom: 0.375rem;
}
.code-info-section .code-info-card .code-value[data-v-d062a0f1] {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #667eea;
  font-family: "Courier New", monospace;
  letter-spacing: 0.125rem;
  margin-bottom: 0.5rem;
}
.code-info-section .code-info-card .code-hint[data-v-d062a0f1] {
  display: block;
  font-size: 0.75rem;
  color: #999999;
}
.login-options .wechat-login-btn[data-v-d062a0f1] {
  width: 100%;
  height: 3rem;
  background: #07c160;
  color: #ffffff;
  border: none;
  border-radius: 1.5rem;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 0.25rem 0.75rem rgba(7, 193, 96, 0.3);
}
.login-options .wechat-login-btn[data-v-d062a0f1]:disabled {
  opacity: 0.6;
  box-shadow: none;
}
.login-options .wechat-login-btn[data-v-d062a0f1]:active:not(:disabled) {
  transform: scale(0.98);
}
.login-options .wechat-login-btn .wechat-icon[data-v-d062a0f1] {
  font-size: 1.25rem;
}
.login-options .wechat-login-btn .btn-text[data-v-d062a0f1] {
  flex: 1;
}
.login-options .divider[data-v-d062a0f1] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.9375rem 0;
}
.login-options .divider[data-v-d062a0f1]::before, .login-options .divider[data-v-d062a0f1]::after {
  content: "";
  flex: 1;
  height: 0.0625rem;
  background: #e0e0e0;
}
.login-options .divider .divider-text[data-v-d062a0f1] {
  padding: 0 0.9375rem;
  font-size: 0.75rem;
  color: #999999;
}
.login-options .phone-login-btn[data-v-d062a0f1],
.login-options .account-login-btn[data-v-d062a0f1] {
  width: 100%;
  height: 2.75rem;
  background: #ffffff;
  color: #333333;
  border: 0.0625rem solid #e0e0e0;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
.login-options .phone-login-btn[data-v-d062a0f1]:active,
.login-options .account-login-btn[data-v-d062a0f1]:active {
  background: #f5f5f5;
}
.login-options .phone-login-btn .phone-icon[data-v-d062a0f1],
.login-options .phone-login-btn .account-icon[data-v-d062a0f1],
.login-options .account-login-btn .phone-icon[data-v-d062a0f1],
.login-options .account-login-btn .account-icon[data-v-d062a0f1] {
  font-size: 1.125rem;
}
.login-options .phone-login-btn .btn-text[data-v-d062a0f1],
.login-options .account-login-btn .btn-text[data-v-d062a0f1] {
  flex: 1;
}
.footer-section[data-v-d062a0f1] {
  text-align: center;
  margin-top: 1.25rem;
  padding-top: 0.9375rem;
  border-top: 0.0625rem solid #f0f0f0;
}
.footer-section .footer-text[data-v-d062a0f1] {
  font-size: 0.75rem;
  color: #999999;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-4f86aef8], uni-textarea[data-v-4f86aef8], .uni-input[data-v-4f86aef8], .uni-textarea[data-v-4f86aef8] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-4f86aef8]:focus, uni-textarea[data-v-4f86aef8]:focus, .uni-input[data-v-4f86aef8]:focus, .uni-textarea[data-v-4f86aef8]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-4f86aef8]::-webkit-input-placeholder, uni-textarea[data-v-4f86aef8]::-webkit-input-placeholder, .uni-input[data-v-4f86aef8]::-webkit-input-placeholder, .uni-textarea[data-v-4f86aef8]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-4f86aef8]::placeholder, uni-textarea[data-v-4f86aef8]::placeholder, .uni-input[data-v-4f86aef8]::placeholder, .uni-textarea[data-v-4f86aef8]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-4f86aef8] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.auth-phone-container[data-v-4f86aef8] {
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  box-sizing: border-box;
}

/* 确保页面背景正确显示 */
[data-v-4f86aef8] uni-page-body {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-4f86aef8] uni-page {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-4f86aef8] uni-page-body {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
body[data-v-4f86aef8] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-4f86aef8] body {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
[data-v-4f86aef8] uni-page-wrapper {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
.phone-card[data-v-4f86aef8] {
  width: 100%;
  max-width: 18.75rem;
  background: #ffffff;
  border-radius: 1rem;
  padding: 1.25rem;
  box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.2);
}
.back-section[data-v-4f86aef8] {
  margin-bottom: 0.9375rem;
}
.back-section .back-btn[data-v-4f86aef8] {
  font-size: 0.875rem;
  color: #667eea;
  cursor: pointer;
}
.title-section[data-v-4f86aef8] {
  text-align: center;
  margin-bottom: 1.25rem;
}
.title-section .title[data-v-4f86aef8] {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.375rem;
}
.title-section .subtitle[data-v-4f86aef8] {
  display: block;
  font-size: 0.8125rem;
  color: #999999;
}
.form-section .code-input-wrapper[data-v-4f86aef8] {
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
}
.form-section .code-input-wrapper[data-v-4f86aef8] .uni-easyinput {
  flex: 1;
}
.form-section .code-input-wrapper .native-input[data-v-4f86aef8] {
  flex: 1;
}
.form-section .code-input-wrapper .code-btn[data-v-4f86aef8] {
  flex-shrink: 0;
  width: 6.25rem;
  height: 2.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.25rem;
  font-size: 0.8125rem;
  padding: 0;
}
.form-section .code-input-wrapper .code-btn[data-v-4f86aef8]:disabled {
  opacity: 0.5;
  background: #cccccc;
}
.form-section .code-input-wrapper .code-btn[data-v-4f86aef8]:active:not(:disabled) {
  transform: scale(0.98);
}
.form-section .login-btn[data-v-4f86aef8] {
  width: 100%;
  height: 3rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.5rem;
  font-size: 1.125rem;
  font-weight: bold;
  margin-top: 0.625rem;
  box-shadow: 0 0.25rem 0.75rem rgba(102, 126, 234, 0.4);
}
.form-section .login-btn[data-v-4f86aef8]:disabled {
  opacity: 0.6;
  box-shadow: none;
}
.form-section .login-btn[data-v-4f86aef8]:active:not(:disabled) {
  transform: scale(0.98);
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-0c27cfbc], uni-textarea[data-v-0c27cfbc], .uni-input[data-v-0c27cfbc], .uni-textarea[data-v-0c27cfbc] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-0c27cfbc]:focus, uni-textarea[data-v-0c27cfbc]:focus, .uni-input[data-v-0c27cfbc]:focus, .uni-textarea[data-v-0c27cfbc]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-0c27cfbc]::-webkit-input-placeholder, uni-textarea[data-v-0c27cfbc]::-webkit-input-placeholder, .uni-input[data-v-0c27cfbc]::-webkit-input-placeholder, .uni-textarea[data-v-0c27cfbc]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-0c27cfbc]::placeholder, uni-textarea[data-v-0c27cfbc]::placeholder, .uni-input[data-v-0c27cfbc]::placeholder, .uni-textarea[data-v-0c27cfbc]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-0c27cfbc] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.tenant-login[data-v-0c27cfbc] {
  min-height: 100vh;
  display: flex;
  background: #f5f5f5;
}
.brand-section[data-v-0c27cfbc] {
  flex: 1;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
@media (max-width: 768px) {
.brand-section[data-v-0c27cfbc] {
    display: none;
}
}
.brand-content[data-v-0c27cfbc] {
  text-align: center;
  color: #ffffff;
}
.logo-box[data-v-0c27cfbc] {
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.logo-box .logo-icon[data-v-0c27cfbc] {
  font-size: 60px;
}
.brand-title[data-v-0c27cfbc] {
  display: block;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 16px;
}
.brand-subtitle[data-v-0c27cfbc] {
  display: block;
  font-size: 18px;
  opacity: 0.9;
  margin-bottom: 60px;
}
.brand-features[data-v-0c27cfbc] {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.feature-item[data-v-0c27cfbc] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.feature-item .feature-icon[data-v-0c27cfbc] {
  font-size: 32px;
}
.feature-item .feature-text[data-v-0c27cfbc] {
  font-size: 14px;
  opacity: 0.9;
}
.login-section[data-v-0c27cfbc] {
  width: 480px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 60px;
  background: #ffffff;
}
@media (max-width: 768px) {
.login-section[data-v-0c27cfbc] {
    width: 100%;
    padding: 40px 30px;
}
}
.login-box[data-v-0c27cfbc] {
  width: 100%;
  max-width: 360px;
}
.login-title[data-v-0c27cfbc] {
  display: block;
  font-size: 28px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 8px;
}
.login-subtitle[data-v-0c27cfbc] {
  display: block;
  font-size: 14px;
  color: #999999;
  margin-bottom: 40px;
}
.form-item[data-v-0c27cfbc] {
  margin-bottom: 24px;
}
.form-item .label[data-v-0c27cfbc] {
  display: block;
  font-size: 14px;
  color: #666666;
  margin-bottom: 8px;
}
.form-item .input[data-v-0c27cfbc] {
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s;
}
.form-item .input[data-v-0c27cfbc]:focus {
  border-color: #667eea;
  outline: none;
}
.login-btn[data-v-0c27cfbc] {
  width: 100%;
  height: 48px;
  margin-top: 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 24px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: opacity 0.3s;
}
.login-btn[data-v-0c27cfbc]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.login-tips[data-v-0c27cfbc] {
  margin-top: 24px;
  text-align: center;
}
.login-tips .tip-text[data-v-0c27cfbc] {
  font-size: 13px;
  color: #999999;
}
.login-tips .register-link[data-v-0c27cfbc] {
  font-size: 13px;
  color: #667eea;
  margin-left: 8px;
  cursor: pointer;
}
.login-tips .register-link[data-v-0c27cfbc]:hover {
  text-decoration: underline;
}
.back-link[data-v-0c27cfbc] {
  margin-top: 40px;
  text-align: center;
}
.back-link uni-text[data-v-0c27cfbc] {
  font-size: 14px;
  color: #667eea;
  cursor: pointer;
}
.back-link uni-text[data-v-0c27cfbc]:hover {
  text-decoration: underline;
}
.copyright[data-v-0c27cfbc] {
  margin-top: auto;
  padding-top: 40px;
  text-align: center;
}
.copyright uni-text[data-v-0c27cfbc] {
  font-size: 12px;
  color: #cccccc;
}uni-checkbox {
  -webkit-tap-highlight-color: transparent;
  display: inline-block;
  cursor: pointer;
}

uni-checkbox[hidden] {
  display: none;
}

uni-checkbox[disabled] {
  cursor: not-allowed;
}

.uni-checkbox-wrapper {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.uni-checkbox-input {
  margin-right: 5px;
  -webkit-appearance: none;
          appearance: none;
  outline: 0;
  border: 1px solid #d1d1d1;
  background-color: #ffffff;
  border-radius: 3px;
  width: 22px;
  height: 22px;
  position: relative;
}

.uni-checkbox-input svg {
  color: #007aff;
  font-size: 22px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) scale(0.73);
}

@media (hover: hover) {
  uni-checkbox:not([disabled]) .uni-checkbox-input:hover {
    border-color: var(--HOVER-BD-COLOR, #007aff) !important;
  }
}

.uni-checkbox-input.uni-checkbox-input-disabled {
  background-color: #e1e1e1;
}

.uni-checkbox-input.uni-checkbox-input-disabled:before {
  color: #adadad;
}

uni-checkbox-group {
  display: block;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-9557c175], uni-textarea[data-v-9557c175], .uni-input[data-v-9557c175], .uni-textarea[data-v-9557c175] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-9557c175]:focus, uni-textarea[data-v-9557c175]:focus, .uni-input[data-v-9557c175]:focus, .uni-textarea[data-v-9557c175]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-9557c175]::-webkit-input-placeholder, uni-textarea[data-v-9557c175]::-webkit-input-placeholder, .uni-input[data-v-9557c175]::-webkit-input-placeholder, .uni-textarea[data-v-9557c175]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-9557c175]::placeholder, uni-textarea[data-v-9557c175]::placeholder, .uni-input[data-v-9557c175]::placeholder, .uni-textarea[data-v-9557c175]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-9557c175] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.tenant-register[data-v-9557c175] {
  min-height: 100vh;
  display: flex;
  background: #f5f5f5;
}
.brand-section[data-v-9557c175] {
  flex: 1;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
}
@media (max-width: 768px) {
.brand-section[data-v-9557c175] {
    display: none;
}
}
.brand-content[data-v-9557c175] {
  text-align: center;
  color: #ffffff;
}
.logo-box[data-v-9557c175] {
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 40px;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.logo-box .logo-icon[data-v-9557c175] {
  font-size: 60px;
}
.brand-title[data-v-9557c175] {
  display: block;
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 16px;
}
.brand-subtitle[data-v-9557c175] {
  display: block;
  font-size: 18px;
  opacity: 0.9;
  margin-bottom: 60px;
}
.brand-features[data-v-9557c175] {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.feature-item[data-v-9557c175] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.feature-item .feature-icon[data-v-9557c175] {
  font-size: 32px;
}
.feature-item .feature-text[data-v-9557c175] {
  font-size: 14px;
  opacity: 0.9;
}
.register-section[data-v-9557c175] {
  width: 480px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 60px;
  background: #ffffff;
}
@media (max-width: 768px) {
.register-section[data-v-9557c175] {
    width: 100%;
    padding: 40px 30px;
}
}
.register-box[data-v-9557c175] {
  width: 100%;
  max-width: 400px;
}
.register-title[data-v-9557c175] {
  display: block;
  font-size: 28px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 8px;
}
.register-subtitle[data-v-9557c175] {
  display: block;
  font-size: 14px;
  color: #999999;
  margin-bottom: 30px;
}
.step-indicator[data-v-9557c175] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.step-indicator .step[data-v-9557c175] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.step-indicator .step .step-number[data-v-9557c175] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e0e0e0;
  color: #999999;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
}
.step-indicator .step .step-text[data-v-9557c175] {
  font-size: 12px;
  color: #999999;
}
.step-indicator .step.active .step-number[data-v-9557c175] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.step-indicator .step.active .step-text[data-v-9557c175] {
  color: #667eea;
}
.step-indicator .step.completed .step-number[data-v-9557c175] {
  background: #4caf50;
  color: #ffffff;
}
.step-indicator .step-line[data-v-9557c175] {
  width: 40px;
  height: 2px;
  background: #e0e0e0;
  margin: 0 10px;
}
.step-indicator .step-line.completed[data-v-9557c175] {
  background: #4caf50;
}
.step-content[data-v-9557c175] {
  margin-bottom: 30px;
}
.form-item[data-v-9557c175] {
  margin-bottom: 20px;
}
.form-item .label[data-v-9557c175] {
  display: block;
  font-size: 14px;
  color: #666666;
  margin-bottom: 8px;
}
.form-item .label .required[data-v-9557c175] {
  color: #ff4444;
}
.form-item .input[data-v-9557c175] {
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s;
}
.form-item .input[data-v-9557c175]:focus {
  border-color: #667eea;
  outline: none;
}
.form-item .picker-value[data-v-9557c175] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  color: #666666;
}
.form-item .picker-value .picker-arrow[data-v-9557c175] {
  font-size: 12px;
  color: #999999;
}
.preview-item[data-v-9557c175] {
  margin-bottom: 20px;
}
.preview-item .preview-label[data-v-9557c175] {
  display: block;
  font-size: 14px;
  color: #666666;
  margin-bottom: 8px;
}
.preview-item .preview-value[data-v-9557c175] {
  padding: 12px 16px;
  background: #f5f5f5;
  border-radius: 8px;
}
.preview-item .preview-value.code-box[data-v-9557c175] {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.preview-item .preview-value.code-box .code-text[data-v-9557c175] {
  font-size: 18px;
  font-weight: bold;
  color: #667eea;
  font-family: "Courier New", monospace;
}
.preview-item .preview-value.code-box .code-hint[data-v-9557c175] {
  font-size: 12px;
  color: #999999;
}
.agreement-box[data-v-9557c175] {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 20px;
}
.agreement-box .agreement-text[data-v-9557c175] {
  font-size: 13px;
  color: #666666;
  line-height: 1.6;
}
.agreement-box .agreement-text .link[data-v-9557c175] {
  color: #667eea;
  cursor: pointer;
}
.agreement-box .agreement-text .link[data-v-9557c175]:hover {
  text-decoration: underline;
}
.success-step[data-v-9557c175] {
  text-align: center;
}
.success-step .success-icon[data-v-9557c175] {
  font-size: 80px;
  margin-bottom: 20px;
}
.success-step .success-title[data-v-9557c175] {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 10px;
}
.success-step .success-message[data-v-9557c175] {
  display: block;
  font-size: 14px;
  color: #666666;
  margin-bottom: 30px;
}
.tenant-info-card[data-v-9557c175] {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  text-align: left;
}
.tenant-info-card .info-row[data-v-9557c175] {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #e0e0e0;
}
.tenant-info-card .info-row[data-v-9557c175]:last-child {
  border-bottom: none;
}
.tenant-info-card .info-row .info-label[data-v-9557c175] {
  font-size: 14px;
  color: #666666;
}
.tenant-info-card .info-row .info-value[data-v-9557c175] {
  font-size: 14px;
  font-weight: bold;
  color: #333333;
}
.hint-text[data-v-9557c175] {
  display: block;
  font-size: 13px;
  color: #ff9800;
  margin-bottom: 20px;
}
.qr-btn[data-v-9557c175] {
  width: 100%;
  padding: 14px;
  background: #f5f5f5;
  border: 1px dashed #667eea;
  border-radius: 8px;
  color: #667eea;
  font-size: 14px;
  margin-bottom: 20px;
}
.button-group[data-v-9557c175] {
  display: flex;
  gap: 16px;
}
.button-group .btn[data-v-9557c175] {
  flex: 1;
  height: 48px;
  border: none;
  border-radius: 24px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
}
.button-group .btn.primary[data-v-9557c175] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.button-group .btn.secondary[data-v-9557c175] {
  background: #f5f5f5;
  color: #666666;
}
.button-group .btn[data-v-9557c175]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.back-link[data-v-9557c175] {
  margin-top: 30px;
  text-align: center;
  font-size: 14px;
  color: #666666;
}
.back-link .link[data-v-9557c175] {
  color: #667eea;
  cursor: pointer;
  margin-left: 5px;
}
.back-link .link[data-v-9557c175]:hover {
  text-decoration: underline;
}
.copyright[data-v-9557c175] {
  margin-top: auto;
  padding-top: 40px;
  text-align: center;
}
.copyright uni-text[data-v-9557c175] {
  font-size: 12px;
  color: #cccccc;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-13d35495], uni-textarea[data-v-13d35495], .uni-input[data-v-13d35495], .uni-textarea[data-v-13d35495] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-13d35495]:focus, uni-textarea[data-v-13d35495]:focus, .uni-input[data-v-13d35495]:focus, .uni-textarea[data-v-13d35495]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-13d35495]::-webkit-input-placeholder, uni-textarea[data-v-13d35495]::-webkit-input-placeholder, .uni-input[data-v-13d35495]::-webkit-input-placeholder, .uni-textarea[data-v-13d35495]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-13d35495]::placeholder, uni-textarea[data-v-13d35495]::placeholder, .uni-input[data-v-13d35495]::placeholder, .uni-textarea[data-v-13d35495]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-13d35495] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.tenant-qr-page[data-v-13d35495] {
  min-height: 100vh;
  background: #f5f5f5;
}
.header[data-v-13d35495] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem 0.9375rem;
  background: #ffffff;
}
.header .back-btn[data-v-13d35495] {
  font-size: 0.875rem;
  color: #666666;
}
.header .title[data-v-13d35495] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.header .placeholder[data-v-13d35495] {
  width: 1.875rem;
}
.content[data-v-13d35495] {
  padding: 0.9375rem;
}
.qr-card[data-v-13d35495] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 1.25rem;
  text-align: center;
  margin-bottom: 0.9375rem;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.05);
}
.qr-card .tenant-info[data-v-13d35495] {
  margin-bottom: 0.9375rem;
}
.qr-card .tenant-info .tenant-name[data-v-13d35495] {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.3125rem;
}
.qr-card .tenant-info .tenant-code[data-v-13d35495] {
  font-size: 0.8125rem;
  color: #999999;
}
.qr-card .qr-container[data-v-13d35495] {
  width: 12.5rem;
  height: 12.5rem;
  margin: 0 auto 0.9375rem;
  background: #f8f9fa;
  border-radius: 0.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.qr-card .qr-container .qr-image[data-v-13d35495] {
  width: 100%;
  height: 100%;
}
.qr-card .qr-container .qr-loading .loading-text[data-v-13d35495] {
  font-size: 0.875rem;
  color: #999999;
}
.qr-card .qr-hint[data-v-13d35495] {
  font-size: 0.8125rem;
  color: #666666;
}
.link-card[data-v-13d35495] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem;
}
.link-card .card-title[data-v-13d35495] {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.625rem;
}
.link-card .link-box[data-v-13d35495] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: #f8f9fa;
  padding: 0.625rem;
  border-radius: 0.375rem;
}
.link-card .link-box .link-text[data-v-13d35495] {
  flex: 1;
  font-size: 0.75rem;
  color: #666666;
  word-break: break-all;
}
.link-card .link-box .copy-btn[data-v-13d35495] {
  padding: 0.375rem 0.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.25rem;
  font-size: 0.75rem;
}
.action-buttons[data-v-13d35495] {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.9375rem;
}
.action-buttons .action-btn[data-v-13d35495] {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
  padding: 0.9375rem;
  background: #ffffff;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: #666666;
}
.action-buttons .action-btn.primary[data-v-13d35495] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.action-buttons .action-btn .btn-icon[data-v-13d35495] {
  font-size: 1rem;
}
.tips-card[data-v-13d35495] {
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
}
.tips-card .tips-title[data-v-13d35495] {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.625rem;
}
.tips-card .tip-item[data-v-13d35495] {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0;
}
.tips-card .tip-item .tip-number[data-v-13d35495] {
  width: 1.125rem;
  height: 1.125rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: bold;
  flex-shrink: 0;
}
.tips-card .tip-item .tip-text[data-v-13d35495] {
  flex: 1;
  font-size: 0.8125rem;
  color: #666666;
  line-height: 1.6;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-16e30e6a], uni-textarea[data-v-16e30e6a], .uni-input[data-v-16e30e6a], .uni-textarea[data-v-16e30e6a] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-16e30e6a]:focus, uni-textarea[data-v-16e30e6a]:focus, .uni-input[data-v-16e30e6a]:focus, .uni-textarea[data-v-16e30e6a]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-16e30e6a]::-webkit-input-placeholder, uni-textarea[data-v-16e30e6a]::-webkit-input-placeholder, .uni-input[data-v-16e30e6a]::-webkit-input-placeholder, .uni-textarea[data-v-16e30e6a]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-16e30e6a]::placeholder, uni-textarea[data-v-16e30e6a]::placeholder, .uni-input[data-v-16e30e6a]::placeholder, .uni-textarea[data-v-16e30e6a]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-16e30e6a] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.tenant-portal[data-v-16e30e6a] {
  min-height: 100vh;
  background: #f5f5f5;
}
.loading-state[data-v-16e30e6a],
.error-state[data-v-16e30e6a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 1.25rem;
}
.loading-state .loading-icon[data-v-16e30e6a],
.loading-state .error-icon[data-v-16e30e6a],
.error-state .loading-icon[data-v-16e30e6a],
.error-state .error-icon[data-v-16e30e6a] {
  font-size: 3.75rem;
  margin-bottom: 1.25rem;
}
.loading-state .loading-text[data-v-16e30e6a],
.loading-state .error-text[data-v-16e30e6a],
.error-state .loading-text[data-v-16e30e6a],
.error-state .error-text[data-v-16e30e6a] {
  font-size: 1rem;
  color: #666;
  margin-bottom: 1.25rem;
}
.loading-state .retry-btn[data-v-16e30e6a],
.error-state .retry-btn[data-v-16e30e6a] {
  width: 9.375rem;
  height: 2.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border: none;
  border-radius: 1.25rem;
  font-size: 0.9375rem;
}
.portal-content[data-v-16e30e6a] {
  padding-bottom: 1.25rem;
}
.brand-section[data-v-16e30e6a] {
  padding: 2.5rem 1.25rem;
  text-align: center;
  color: #fff;
}
.brand-section .brand-logo[data-v-16e30e6a] {
  width: 5rem;
  height: 5rem;
  border-radius: 1rem;
  background: #fff;
  margin-bottom: 0.9375rem;
}
.brand-section .brand-icon[data-v-16e30e6a] {
  font-size: 3.75rem;
  margin-bottom: 0.625rem;
  display: block;
}
.brand-section .brand-name[data-v-16e30e6a] {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.brand-section .brand-slogan[data-v-16e30e6a] {
  display: block;
  font-size: 0.875rem;
  opacity: 0.9;
}
.continue-section[data-v-16e30e6a] {
  padding: 1.25rem;
  margin-top: -1.875rem;
}
.continue-section .continue-card[data-v-16e30e6a] {
  background: #fff;
  border-radius: 0.75rem;
  padding: 1.5625rem 1.25rem;
  text-align: center;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}
.continue-section .continue-card .continue-icon[data-v-16e30e6a] {
  font-size: 2.5rem;
  margin-bottom: 0.625rem;
}
.continue-section .continue-card .continue-title[data-v-16e30e6a] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.5rem;
}
.continue-section .continue-card .continue-code[data-v-16e30e6a] {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  color: #667eea;
  letter-spacing: 0.125rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem 1rem;
  background: #f5f5f5;
  border-radius: 1.375rem;
  display: inline-block;
}
.continue-section .continue-card .continue-desc[data-v-16e30e6a] {
  display: block;
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 1.25rem;
  line-height: 1.6;
}
.continue-section .continue-card .continue-btn[data-v-16e30e6a] {
  width: 100%;
  height: 3rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border: none;
  border-radius: 1.5rem;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.continue-section .continue-card .continue-btn .btn-icon[data-v-16e30e6a] {
  font-size: 1.125rem;
}
.continue-section .continue-card .continue-btn[data-v-16e30e6a]:active {
  opacity: 0.9;
  transform: scale(0.98);
}
.action-cards[data-v-16e30e6a] {
  display: flex;
  gap: 0.9375rem;
  padding: 1.25rem;
  margin-top: -1.875rem;
}
.action-cards .action-card[data-v-16e30e6a] {
  flex: 1;
  background: #fff;
  border-radius: 0.75rem;
  padding: 1.5625rem 0.9375rem;
  text-align: center;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
  transition: transform 0.3s;
}
.action-cards .action-card[data-v-16e30e6a]:active {
  transform: scale(0.98);
}
.action-cards .action-card .card-icon[data-v-16e30e6a] {
  font-size: 2.5rem;
  margin-bottom: 0.625rem;
}
.action-cards .action-card .card-title[data-v-16e30e6a] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.375rem;
}
.action-cards .action-card .card-desc[data-v-16e30e6a] {
  display: block;
  font-size: 0.75rem;
  color: #999;
}
.quick-bind-section[data-v-16e30e6a] {
  background: #fff;
  margin: 0.9375rem 1.25rem;
  padding: 1.25rem;
  border-radius: 0.75rem;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.06);
}
.quick-bind-section .section-title[data-v-16e30e6a] {
  display: block;
  font-size: 0.9375rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 0.9375rem;
  text-align: center;
}
.quick-bind-section .code-input-wrapper[data-v-16e30e6a] {
  display: flex;
  gap: 0.625rem;
}
.quick-bind-section .code-input-wrapper .code-input[data-v-16e30e6a] {
  flex: 1;
  height: 2.75rem;
  padding: 0 0.9375rem;
  background: #f5f5f5;
  border-radius: 1.375rem;
  font-size: 1rem;
  color: #333;
  text-align: center;
  letter-spacing: 0.125rem;
}
.quick-bind-section .code-input-wrapper .submit-btn[data-v-16e30e6a] {
  width: 4.375rem;
  height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
}
.quick-bind-section .code-input-wrapper .submit-btn[data-v-16e30e6a]:disabled {
  opacity: 0.5;
}
.bind-new-section[data-v-16e30e6a] {
  text-align: center;
  padding: 0.625rem 1.25rem;
}
.bind-new-section .divider-text[data-v-16e30e6a] {
  display: block;
  font-size: 0.875rem;
  color: #999;
  margin-bottom: 0.9375rem;
  position: relative;
}
.bind-new-section .divider-text[data-v-16e30e6a]::before, .bind-new-section .divider-text[data-v-16e30e6a]::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 6.25rem;
  height: 0.0625rem;
  background: #e0e0e0;
}
.bind-new-section .divider-text[data-v-16e30e6a]::before {
  left: 0;
}
.bind-new-section .divider-text[data-v-16e30e6a]::after {
  right: 0;
}
.bind-new-section .bind-btn[data-v-16e30e6a] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  height: 2.75rem;
  background: #fff;
  color: #667eea;
  border: 0.0625rem solid #667eea;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
}
.bind-new-section .bind-btn .bind-icon[data-v-16e30e6a] {
  font-size: 1.125rem;
}
.service-info[data-v-16e30e6a] {
  background: #fff;
  margin: 0.9375rem 1.25rem;
  padding: 0.9375rem 1.25rem;
  border-radius: 0.75rem;
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.06);
}
.service-info .info-item[data-v-16e30e6a] {
  display: flex;
  padding: 0.5rem 0;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.service-info .info-item[data-v-16e30e6a]:last-child {
  border-bottom: none;
}
.service-info .info-item .info-label[data-v-16e30e6a] {
  font-size: 0.875rem;
  color: #666;
}
.service-info .info-item .info-value[data-v-16e30e6a] {
  flex: 1;
  font-size: 0.875rem;
  color: #667eea;
  text-align: right;
}
.footer[data-v-16e30e6a] {
  text-align: center;
  padding: 1.25rem;
}
.footer .footer-text[data-v-16e30e6a] {
  font-size: 0.75rem;
  color: #999;
}

/* 【优化】欢迎弹窗样式 */
.welcome-modal[data-v-16e30e6a] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: fadeIn-16e30e6a 0.3s ease;
}
.welcome-modal .welcome-content[data-v-16e30e6a] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 1.5rem;
  width: 80%;
  max-width: 17.5rem;
  text-align: center;
  animation: slideUp-16e30e6a 0.3s ease;
  box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.2);
}
.welcome-modal .welcome-content .welcome-icon[data-v-16e30e6a] {
  font-size: 2.5rem;
  margin-bottom: 0.75rem;
  animation: bounce-16e30e6a 0.5s ease;
}
.welcome-modal .welcome-content .welcome-title[data-v-16e30e6a] {
  font-size: 1.125rem;
  font-weight: 600;
  color: #333333;
  margin-bottom: 1rem;
  display: block;
}
.welcome-modal .welcome-content .welcome-body[data-v-16e30e6a] {
  margin-bottom: 1.25rem;
}
.welcome-modal .welcome-content .welcome-body .welcome-item[data-v-16e30e6a] {
  font-size: 1rem;
  color: #667eea;
  font-weight: 500;
  display: block;
  margin-bottom: 0.75rem;
  padding: 0.5rem;
  background: rgba(102, 126, 234, 0.08);
  border-radius: 0.375rem;
}
.welcome-modal .welcome-content .welcome-body .welcome-features[data-v-16e30e6a] {
  text-align: left;
  padding: 0 0.625rem;
}
.welcome-modal .welcome-content .welcome-body .welcome-features .feature-item[data-v-16e30e6a] {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  color: #666666;
}
.welcome-modal .welcome-content .welcome-body .welcome-features .feature-item .feature-dot[data-v-16e30e6a] {
  color: #667eea;
  margin-right: 0.375rem;
  font-weight: bold;
}
.welcome-modal .welcome-content .welcome-body .welcome-features .feature-item .feature-text[data-v-16e30e6a] {
  flex: 1;
}
.welcome-modal .welcome-content .welcome-actions[data-v-16e30e6a] {
  display: flex;
  gap: 0.625rem;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn[data-v-16e30e6a] {
  flex: 1;
  padding: 0.75rem 0;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.secondary[data-v-16e30e6a] {
  background: #f5f5f5;
  color: #666666;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.secondary[data-v-16e30e6a]:active {
  background: #e8e8e8;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.primary[data-v-16e30e6a] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.welcome-modal .welcome-content .welcome-actions .welcome-btn.primary[data-v-16e30e6a]:active {
  opacity: 0.9;
}
@keyframes fadeIn-16e30e6a {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes slideUp-16e30e6a {
from {
    opacity: 0;
    transform: translateY(1.25rem);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes bounce-16e30e6a {
0%, 100% {
    transform: scale(1);
}
50% {
    transform: scale(1.2);
}
}
/* 关注二维码弹窗 */
.follow-modal[data-v-16e30e6a] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.follow-content[data-v-16e30e6a] {
  width: 18.75rem;
  background: #ffffff;
  border-radius: 0.75rem;
  overflow: hidden;
}
.follow-header[data-v-16e30e6a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.9375rem;
  border-bottom: 0.0625rem solid #f0f0f0;
}
.follow-title[data-v-16e30e6a] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
}
.follow-close[data-v-16e30e6a] {
  font-size: 1.125rem;
  color: #999999;
  padding: 0.3125rem;
}
.follow-body[data-v-16e30e6a] {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.follow-info-box[data-v-16e30e6a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.75rem;
  text-align: center;
}
.follow-info-box .follow-role-icon[data-v-16e30e6a] {
  font-size: 1.875rem;
  margin-bottom: 0.375rem;
}
.follow-info-box .follow-role-text[data-v-16e30e6a] {
  font-size: 0.875rem;
  color: #667eea;
  font-weight: 500;
}
.follow-qr[data-v-16e30e6a] {
  width: 12.5rem;
  height: 12.5rem;
  margin-bottom: 0.75rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.1);
}
.follow-loading-box[data-v-16e30e6a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.875rem 0;
}
.follow-loading-box .follow-loading-icon[data-v-16e30e6a] {
  font-size: 1.875rem;
  margin-bottom: 0.625rem;
  animation: pulse-16e30e6a 1.5s ease-in-out infinite;
}
.follow-loading-box .follow-loading[data-v-16e30e6a] {
  font-size: 0.875rem;
  color: #999999;
}
.follow-no-qr[data-v-16e30e6a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.875rem 1.25rem;
  text-align: center;
}
.follow-no-qr .no-qr-icon[data-v-16e30e6a] {
  font-size: 2.5rem;
  margin-bottom: 0.75rem;
}
.follow-no-qr .no-qr-title[data-v-16e30e6a] {
  font-size: 1rem;
  color: #333333;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.follow-no-qr .no-qr-desc[data-v-16e30e6a] {
  font-size: 0.875rem;
  color: #999999;
  line-height: 1.5;
}
@keyframes pulse-16e30e6a {
0%, 100% {
    opacity: 1;
    transform: scale(1);
}
50% {
    opacity: 0.6;
    transform: scale(0.95);
}
}
.follow-tip[data-v-16e30e6a] {
  font-size: 0.9375rem;
  color: #667eea;
  font-weight: bold;
  margin-bottom: 0.375rem;
}
.follow-desc[data-v-16e30e6a] {
  font-size: 0.8125rem;
  color: #666666;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
.auto-check-tip[data-v-16e30e6a] {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  background: #f0f7ff;
  border-radius: 1rem;
  margin-top: 0.25rem;
}
.auto-check-tip .check-icon[data-v-16e30e6a] {
  font-size: 0.875rem;
  animation: spin-16e30e6a 2s linear infinite;
}
.auto-check-tip uni-text[data-v-16e30e6a] {
  font-size: 0.8125rem;
  color: #667eea;
}
.follow-guide[data-v-16e30e6a] {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  background: #fff8e1;
  border-radius: 0.5rem;
  width: 100%;
}
.follow-guide .guide-title[data-v-16e30e6a] {
  display: block;
  font-size: 0.875rem;
  color: #f57c00;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.follow-guide .guide-step[data-v-16e30e6a] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  margin-bottom: 0.25rem;
  line-height: 1.5;
}
.follow-footer[data-v-16e30e6a] {
  padding: 0.625rem 1.25rem 1.25rem;
  border-top: 0.0625rem solid #f0f0f0;
}
.follow-footer .follow-browse[data-v-16e30e6a] {
  width: 100%;
  height: 2.75rem;
  background: #f5f5f5;
  color: #666666;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.875rem;
}
.follow-footer .follow-browse[data-v-16e30e6a]:active {
  background: #e8e8e8;
}
@keyframes spin-16e30e6a {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.follow-footer[data-v-16e30e6a] {
  padding: 0.625rem 1.25rem 1.25rem;
}
.follow-continue[data-v-16e30e6a] {
  width: 100%;
  height: 2.75rem;
  background: #f5f5f5;
  color: #666666;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.875rem;
}
.follow-continue[data-v-16e30e6a]:active {
  background: #e8e8e8;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-f5865056], uni-textarea[data-v-f5865056], .uni-input[data-v-f5865056], .uni-textarea[data-v-f5865056] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-f5865056]:focus, uni-textarea[data-v-f5865056]:focus, .uni-input[data-v-f5865056]:focus, .uni-textarea[data-v-f5865056]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-f5865056]::-webkit-input-placeholder, uni-textarea[data-v-f5865056]::-webkit-input-placeholder, .uni-input[data-v-f5865056]::-webkit-input-placeholder, .uni-textarea[data-v-f5865056]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-f5865056]::placeholder, uni-textarea[data-v-f5865056]::placeholder, .uni-input[data-v-f5865056]::placeholder, .uni-textarea[data-v-f5865056]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-f5865056] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.tenant-layout[data-v-f5865056] {
  min-height: 100vh;
  background: #f5f7fa;
}
.top-navbar[data-v-f5865056] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 20px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
}
.nav-brand[data-v-f5865056] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.nav-brand .brand-icon[data-v-f5865056] {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.nav-brand .brand-info .brand-name[data-v-f5865056] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.nav-brand .brand-info .brand-code[data-v-f5865056] {
  display: block;
  font-size: 12px;
  color: #999999;
}
.nav-menu[data-v-f5865056] {
  display: flex;
  gap: 5px;
}
@media (max-width: 768px) {
.nav-menu[data-v-f5865056] {
    display: none;
}
}
.nav-menu .menu-item[data-v-f5865056] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s;
}
.nav-menu .menu-item[data-v-f5865056]:hover, .nav-menu .menu-item.active[data-v-f5865056] {
  background: #f0f5ff;
  color: #667eea;
}
.nav-menu .menu-item .menu-icon[data-v-f5865056] {
  font-size: 16px;
}
.nav-menu .menu-item .menu-text[data-v-f5865056] {
  font-size: 14px;
}
.nav-right[data-v-f5865056] {
  position: relative;
}
.nav-right .user-info[data-v-f5865056] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  border-radius: 20px;
  background: #f5f7fa;
  cursor: pointer;
  transition: background 0.3s;
}
.nav-right .user-info[data-v-f5865056]:hover {
  background: #e8ecf1;
}
.nav-right .user-info .user-avatar[data-v-f5865056] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
}
.nav-right .user-info .user-name[data-v-f5865056] {
  font-size: 14px;
  color: #333333;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-right .user-info .dropdown-icon[data-v-f5865056] {
  font-size: 10px;
  color: #999999;
}
.user-dropdown[data-v-f5865056] {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  min-width: 160px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 8px 0;
  z-index: 101;
}
.user-dropdown .dropdown-item[data-v-f5865056] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.3s;
}
.user-dropdown .dropdown-item[data-v-f5865056]:hover {
  background: #f5f7fa;
}
.user-dropdown .dropdown-item.danger[data-v-f5865056] {
  color: #ff4444;
}
.user-dropdown .dropdown-item .item-icon[data-v-f5865056] {
  font-size: 16px;
}
.user-dropdown .dropdown-divider[data-v-f5865056] {
  height: 1px;
  background: #f0f0f0;
  margin: 8px 0;
}
.main-container[data-v-f5865056] {
  display: flex;
  min-height: calc(100vh - 60px);
}
.mobile-sidebar[data-v-f5865056] {
  position: fixed;
  left: 0;
  top: 60px;
  bottom: 0;
  width: 200px;
  background: #ffffff;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
  z-index: 99;
  padding: 20px 0;
}
.mobile-sidebar .mobile-menu-item[data-v-f5865056] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  cursor: pointer;
  transition: all 0.3s;
}
.mobile-sidebar .mobile-menu-item[data-v-f5865056]:hover, .mobile-sidebar .mobile-menu-item.active[data-v-f5865056] {
  background: #f0f5ff;
  color: #667eea;
  border-right: 3px solid #667eea;
}
.mobile-sidebar .mobile-menu-item .menu-icon[data-v-f5865056] {
  font-size: 18px;
}
.mobile-sidebar .mobile-menu-item .menu-text[data-v-f5865056] {
  font-size: 14px;
}
.content-wrapper[data-v-f5865056] {
  flex: 1;
  padding: 20px;
  overflow: auto;
}
.mobile-menu-btn[data-v-f5865056] {
  position: fixed;
  left: 20px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
  z-index: 98;
}
.mobile-menu-btn .menu-icon[data-v-f5865056] {
  font-size: 24px;
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-633555a5], uni-textarea[data-v-633555a5], .uni-input[data-v-633555a5], .uni-textarea[data-v-633555a5] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-633555a5]:focus, uni-textarea[data-v-633555a5]:focus, .uni-input[data-v-633555a5]:focus, .uni-textarea[data-v-633555a5]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-633555a5]::-webkit-input-placeholder, uni-textarea[data-v-633555a5]::-webkit-input-placeholder, .uni-input[data-v-633555a5]::-webkit-input-placeholder, .uni-textarea[data-v-633555a5]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-633555a5]::placeholder, uni-textarea[data-v-633555a5]::placeholder, .uni-input[data-v-633555a5]::placeholder, .uni-textarea[data-v-633555a5]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-633555a5] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.dashboard-page[data-v-633555a5] {
  padding: 10px;
}
.welcome-card[data-v-633555a5] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  margin-bottom: 20px;
  color: #ffffff;
}
@media (max-width: 768px) {
.welcome-card[data-v-633555a5] {
    flex-direction: column;
    gap: 20px;
    text-align: center;
}
}
.welcome-card .welcome-title[data-v-633555a5] {
  display: block;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 8px;
}
.welcome-card .welcome-desc[data-v-633555a5] {
  display: block;
  font-size: 14px;
  opacity: 0.9;
}
.welcome-card .quick-stats[data-v-633555a5] {
  display: flex;
  gap: 20px;
}
.welcome-card .quick-stats .stat-divider[data-v-633555a5] {
  width: 1px;
  background: rgba(255, 255, 255, 0.3);
}
.welcome-card .quick-stats .stat-item[data-v-633555a5] {
  text-align: center;
}
.welcome-card .quick-stats .stat-item .stat-value[data-v-633555a5] {
  display: block;
  font-size: 28px;
  font-weight: bold;
}
.welcome-card .quick-stats .stat-item .stat-label[data-v-633555a5] {
  display: block;
  font-size: 12px;
  opacity: 0.9;
  margin-top: 4px;
}
.stats-grid[data-v-633555a5] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 992px) {
.stats-grid[data-v-633555a5] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.stats-grid[data-v-633555a5] {
    grid-template-columns: 1fr;
}
}
.stat-card[data-v-633555a5] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  transition: transform 0.2s;
  position: relative;
  overflow: hidden;
}
.stat-card[data-v-633555a5]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.stat-card[data-v-633555a5]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}
.stat-card.primary[data-v-633555a5]::before {
  background: linear-gradient(to bottom, #667eea, #764ba2);
}
.stat-card.success[data-v-633555a5]::before {
  background: linear-gradient(to bottom, #11998e, #38ef7d);
}
.stat-card.warning[data-v-633555a5]::before {
  background: linear-gradient(to bottom, #f093fb, #f5576c);
}
.stat-card.info[data-v-633555a5]::before {
  background: linear-gradient(to bottom, #4facfe, #00f2fe);
}
.stat-card .card-icon[data-v-633555a5] {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #f5f7fa;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.stat-card .card-info[data-v-633555a5] {
  flex: 1;
}
.stat-card .card-info .card-value[data-v-633555a5] {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #333333;
}
.stat-card .card-info .card-label[data-v-633555a5] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 4px;
}
.stat-card .card-trend[data-v-633555a5] {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  background: #f5f7fa;
  color: #666666;
}
.stat-card .card-trend.up[data-v-633555a5] {
  background: #e8f5e9;
  color: #4caf50;
}
.stat-card .card-trend.down[data-v-633555a5] {
  background: #ffebee;
  color: #f44336;
}
.stat-card .card-progress[data-v-633555a5] {
  width: 60px;
}
.stat-card .card-progress .progress-bar[data-v-633555a5] {
  height: 6px;
  background: #f0f0f0;
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 4px;
}
.stat-card .card-progress .progress-bar .progress-fill[data-v-633555a5] {
  height: 100%;
  background: linear-gradient(90deg, #667eea, #764ba2);
  border-radius: 3px;
  transition: width 0.5s;
}
.stat-card .card-progress .progress-bar .progress-fill.warning[data-v-633555a5] {
  background: linear-gradient(90deg, #f093fb, #f5576c);
}
.stat-card .card-progress .progress-text[data-v-633555a5] {
  font-size: 11px;
  color: #999999;
  text-align: right;
  display: block;
}
.section-title[data-v-633555a5] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 16px;
  margin-top: 24px;
}
.quick-actions[data-v-633555a5] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 992px) {
.quick-actions[data-v-633555a5] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.quick-actions[data-v-633555a5] {
    grid-template-columns: 1fr;
}
}
.action-item[data-v-633555a5] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  transition: all 0.3s;
}
.action-item[data-v-633555a5]:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.action-item .action-icon[data-v-633555a5] {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea20, #764ba220);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 12px;
}
.action-item .action-name[data-v-633555a5] {
  font-size: 15px;
  font-weight: 500;
  color: #333333;
  margin-bottom: 4px;
}
.action-item .action-desc[data-v-633555a5] {
  font-size: 12px;
  color: #999999;
  text-align: center;
}
.activity-list[data-v-633555a5] {
  background: #ffffff;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.activity-item[data-v-633555a5] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #f5f5f5;
}
.activity-item[data-v-633555a5]:last-child {
  border-bottom: none;
}
.activity-item .activity-icon[data-v-633555a5] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  background: #f5f7fa;
  flex-shrink: 0;
}
.activity-item .activity-icon.generate[data-v-633555a5] {
  background: #e3f2fd;
}
.activity-item .activity-icon.bind[data-v-633555a5] {
  background: #e8f5e9;
}
.activity-item .activity-icon.scan[data-v-633555a5] {
  background: #f3e5f5;
}
.activity-item .activity-icon.agent[data-v-633555a5] {
  background: #fff3e0;
}
.activity-item .activity-icon.system[data-v-633555a5] {
  background: #f5f5f5;
}
.activity-item .activity-content[data-v-633555a5] {
  flex: 1;
}
.activity-item .activity-content .activity-title[data-v-633555a5] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333333;
}
.activity-item .activity-content .activity-desc[data-v-633555a5] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 4px;
}
.activity-item .activity-time[data-v-633555a5] {
  font-size: 12px;
  color: #cccccc;
  flex-shrink: 0;
}
.empty-activity[data-v-633555a5] {
  text-align: center;
  padding: 40px;
  color: #999999;
  font-size: 14px;
}
.wechat-status-card[data-v-633555a5] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: all 0.3s;
}
.wechat-status-card[data-v-633555a5]:active {
  transform: scale(0.99);
}
.wechat-status-card.configured[data-v-633555a5] {
  border-left: 4px solid #07c160;
}
.wechat-status-card.unconfigured[data-v-633555a5] {
  border-left: 4px solid #ff9800;
  background: linear-gradient(135deg, #fff8e1 0%, #ffffff 100%);
}
.wechat-status-card .status-header[data-v-633555a5] {
  display: flex;
  align-items: center;
  gap: 12px;
}
.wechat-status-card .status-header .status-icon[data-v-633555a5] {
  font-size: 32px;
  width: 56px;
  height: 56px;
  background: #f5f7fa;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wechat-status-card .status-header .status-info[data-v-633555a5] {
  flex: 1;
}
.wechat-status-card .status-header .status-info .status-title[data-v-633555a5] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 4px;
}
.wechat-status-card .status-header .status-info .status-desc[data-v-633555a5] {
  display: block;
  font-size: 13px;
  color: #999999;
}
.wechat-status-card .status-header .status-arrow[data-v-633555a5] {
  font-size: 24px;
  color: #cccccc;
}
.wechat-status-card .status-details[data-v-633555a5] {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  gap: 30px;
}
.wechat-status-card .status-details .detail-item[data-v-633555a5] {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wechat-status-card .status-details .detail-item .detail-label[data-v-633555a5] {
  font-size: 13px;
  color: #999999;
}
.wechat-status-card .status-details .detail-item .detail-value[data-v-633555a5] {
  font-size: 13px;
  font-weight: 500;
  color: #333333;
}
.wechat-status-card .status-details .detail-item .detail-value.enabled[data-v-633555a5] {
  color: #07c160;
}
.wechat-status-card .status-details .detail-item .detail-value.disabled[data-v-633555a5] {
  color: #999999;
}
.test-code-card[data-v-633555a5] {
  background: linear-gradient(135deg, #f5f7fa 0%, #ffffff 100%);
  border: 1px solid #e8ecf1;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
}
.test-code-card .test-code-header[data-v-633555a5] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}
.test-code-card .test-code-header .header-left[data-v-633555a5] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.test-code-card .test-code-header .header-left .test-icon[data-v-633555a5] {
  font-size: 28px;
  width: 48px;
  height: 48px;
  background: #fff3e0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.test-code-card .test-code-header .header-left .header-info .test-title[data-v-633555a5] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 4px;
}
.test-code-card .test-code-header .header-left .header-info .test-desc[data-v-633555a5] {
  display: block;
  font-size: 13px;
  color: #999999;
}
.test-code-card .test-code-header .header-actions .clean-btn[data-v-633555a5] {
  padding: 8px 16px;
  background: #ffebee;
  border: 1px solid #ffcdd2;
  border-radius: 20px;
  font-size: 13px;
  color: #f44336;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}
.test-code-card .test-code-header .header-actions .clean-btn[data-v-633555a5]:active {
  background: #ffcdd2;
}
.test-code-card .test-code-progress .progress-track[data-v-633555a5] {
  height: 8px;
  background: #f0f0f0;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 8px;
}
.test-code-card .test-code-progress .progress-track .progress-bar-test[data-v-633555a5] {
  height: 100%;
  background: linear-gradient(90deg, #ff9800, #ff5722);
  border-radius: 4px;
  transition: width 0.3s;
}
.test-code-card .test-code-progress .progress-text[data-v-633555a5] {
  font-size: 12px;
  color: #999999;
}
.notice-list[data-v-633555a5] {
  background: #ffffff;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.notice-item[data-v-633555a5] {
  display: flex;
  gap: 12px;
  padding: 12px 0;
}
.notice-item .notice-icon[data-v-633555a5] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e3f2fd;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.notice-item .notice-content[data-v-633555a5] {
  flex: 1;
}
.notice-item .notice-content .notice-title[data-v-633555a5] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333333;
}
.notice-item .notice-content .notice-desc[data-v-633555a5] {
  display: block;
  font-size: 13px;
  color: #666666;
  margin-top: 4px;
}
.notice-item .notice-content .notice-time[data-v-633555a5] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 8px;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-f03543fc], uni-textarea[data-v-f03543fc], .uni-input[data-v-f03543fc], .uni-textarea[data-v-f03543fc] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-f03543fc]:focus, uni-textarea[data-v-f03543fc]:focus, .uni-input[data-v-f03543fc]:focus, .uni-textarea[data-v-f03543fc]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-f03543fc]::-webkit-input-placeholder, uni-textarea[data-v-f03543fc]::-webkit-input-placeholder, .uni-input[data-v-f03543fc]::-webkit-input-placeholder, .uni-textarea[data-v-f03543fc]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-f03543fc]::placeholder, uni-textarea[data-v-f03543fc]::placeholder, .uni-input[data-v-f03543fc]::placeholder, .uni-textarea[data-v-f03543fc]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-f03543fc] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.codes-page[data-v-f03543fc] {
  padding: 10px;
}
.batch-bar[data-v-f03543fc] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #667eea20, #764ba220);
  border: 1px solid #667eea40;
  border-radius: 8px;
  margin-bottom: 16px;
}
.batch-bar .batch-text[data-v-f03543fc] {
  font-size: 14px;
  font-weight: 500;
  color: #667eea;
  flex-shrink: 0;
}
.batch-bar .batch-actions[data-v-f03543fc] {
  display: flex;
  gap: 8px;
  flex: 1;
}
.batch-bar .batch-actions .batch-btn[data-v-f03543fc] {
  padding: 6px 12px;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 12px;
  color: #666666;
  cursor: pointer;
}
.batch-bar .batch-actions .batch-btn.danger[data-v-f03543fc] {
  background: #ffebee;
  border-color: #ffcdd2;
  color: #f44336;
}
.batch-bar .batch-actions .batch-btn[data-v-f03543fc]:active {
  opacity: 0.8;
}
.batch-bar .close-btn[data-v-f03543fc] {
  font-size: 18px;
  color: #999999;
  cursor: pointer;
  padding: 4px;
}
.batch-bar .close-btn[data-v-f03543fc]:active {
  color: #666666;
}
.stats-bar[data-v-f03543fc] {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  padding: 20px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.stats-bar .stat-item[data-v-f03543fc] {
  flex: 1;
  text-align: center;
}
.stats-bar .stat-item .stat-value[data-v-f03543fc] {
  display: block;
  font-size: 28px;
  font-weight: bold;
  color: #333333;
}
.stats-bar .stat-item .stat-label[data-v-f03543fc] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 4px;
}
.toolbar[data-v-f03543fc] {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.toolbar .search-box[data-v-f03543fc] {
  flex: 1;
  min-width: 200px;
}
.toolbar .filter-group .filter-btn[data-v-f03543fc] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #ffffff;
  border-radius: 6px;
  font-size: 14px;
  color: #666666;
  cursor: pointer;
}
.toolbar .filter-group .filter-btn .arrow[data-v-f03543fc] {
  font-size: 10px;
}
.toolbar .action-btn[data-v-f03543fc] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  color: #666666;
  cursor: pointer;
}
.toolbar .action-btn.primary[data-v-f03543fc] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.toolbar .action-btn .btn-icon[data-v-f03543fc] {
  font-size: 16px;
}
.list-container[data-v-f03543fc] {
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  min-height: 400px;
}
.loading-state[data-v-f03543fc],
.empty-state[data-v-f03543fc] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
}
.loading-state .empty-icon[data-v-f03543fc],
.empty-state .empty-icon[data-v-f03543fc] {
  font-size: 48px;
  opacity: 0.5;
  margin-bottom: 16px;
}
.loading-state .empty-text[data-v-f03543fc],
.empty-state .empty-text[data-v-f03543fc] {
  font-size: 14px;
  color: #999999;
  margin-bottom: 20px;
}
.loading-state .empty-btn[data-v-f03543fc],
.empty-state .empty-btn[data-v-f03543fc] {
  padding: 12px 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
}
.codes-list .code-item[data-v-f03543fc] {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #f5f5f5;
  background: #ffffff;
}
.codes-list .code-item[data-v-f03543fc]:last-child {
  border-bottom: none;
}
.codes-list .code-item.selected[data-v-f03543fc] {
  background: #f5f7ff;
}
.codes-list .code-item.test[data-v-f03543fc] {
  background: #fff8e1;
}
.codes-list .code-item.selected.test[data-v-f03543fc] {
  background: #f0f4ff;
}
.codes-list .code-item.unused[data-v-f03543fc] {
  border-left: 3px solid #999999;
}
.codes-list .code-item.active[data-v-f03543fc] {
  border-left: 3px solid #4caf50;
}
.codes-list .code-item.used[data-v-f03543fc] {
  border-left: 3px solid #ff9800;
}
.codes-list .code-item.expired[data-v-f03543fc] {
  border-left: 3px solid #f44336;
}
.codes-list .code-item .code-checkbox[data-v-f03543fc] {
  padding-top: 2px;
}
.codes-list .code-item .code-checkbox .checkbox[data-v-f03543fc] {
  width: 20px;
  height: 20px;
  border: 2px solid #e0e0e0;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #ffffff;
  cursor: pointer;
}
.codes-list .code-item .code-checkbox .checkbox.checked[data-v-f03543fc] {
  background: #667eea;
  border-color: #667eea;
}
.codes-list .code-item .code-content[data-v-f03543fc] {
  flex: 1;
}
.codes-list .code-item .code-content .code-header[data-v-f03543fc] {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
}
.codes-list .code-item .code-content .code-header .code-info .code-text[data-v-f03543fc] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  font-family: monospace;
  margin-bottom: 6px;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags[data-v-f03543fc] {
  display: flex;
  gap: 8px;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag[data-v-f03543fc] {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag.unused[data-v-f03543fc] {
  background: #f5f5f5;
  color: #999999;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag.active[data-v-f03543fc] {
  background: #e8f5e9;
  color: #4caf50;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag.used[data-v-f03543fc] {
  background: #fff3e0;
  color: #ff9800;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag.expired[data-v-f03543fc] {
  background: #ffebee;
  color: #f44336;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag.agent[data-v-f03543fc] {
  background: #e3f2fd;
  color: #2196f3;
}
.codes-list .code-item .code-content .code-header .code-info .code-tags .tag.test[data-v-f03543fc] {
  background: #ffe0b2;
  color: #ff9800;
}
.codes-list .code-item .code-content .code-header .create-time[data-v-f03543fc] {
  font-size: 12px;
  color: #cccccc;
}
.codes-list .code-item .code-content .code-body[data-v-f03543fc] {
  margin-bottom: 12px;
}
.codes-list .code-item .code-content .code-body .info-row[data-v-f03543fc] {
  display: flex;
  padding: 4px 0;
}
.codes-list .code-item .code-content .code-body .info-row .label[data-v-f03543fc] {
  width: 80px;
  font-size: 13px;
  color: #999999;
}
.codes-list .code-item .code-content .code-body .info-row .value[data-v-f03543fc] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.codes-list .code-item .code-content .code-footer[data-v-f03543fc] {
  display: flex;
  gap: 10px;
}
.codes-list .code-item .code-content .code-footer .mini-btn[data-v-f03543fc] {
  padding: 6px 16px;
  background: #f5f5f5;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  color: #666666;
  cursor: pointer;
}
.codes-list .code-item .code-content .code-footer .mini-btn.danger[data-v-f03543fc] {
  background: #ffebee;
  color: #f44336;
}
.codes-list .code-item .code-content .code-footer .mini-btn.warning[data-v-f03543fc] {
  background: #fff3e0;
  color: #ff9800;
}
.pagination[data-v-f03543fc] {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-top: 20px;
  padding: 20px;
}
.pagination .page-btn[data-v-f03543fc] {
  padding: 8px 20px;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
}
.pagination .page-btn[data-v-f03543fc]:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination .page-info[data-v-f03543fc] {
  font-size: 14px;
  color: #666666;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-7719ad1e], uni-textarea[data-v-7719ad1e], .uni-input[data-v-7719ad1e], .uni-textarea[data-v-7719ad1e] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-7719ad1e]:focus, uni-textarea[data-v-7719ad1e]:focus, .uni-input[data-v-7719ad1e]:focus, .uni-textarea[data-v-7719ad1e]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-7719ad1e]::-webkit-input-placeholder, uni-textarea[data-v-7719ad1e]::-webkit-input-placeholder, .uni-input[data-v-7719ad1e]::-webkit-input-placeholder, .uni-textarea[data-v-7719ad1e]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-7719ad1e]::placeholder, uni-textarea[data-v-7719ad1e]::placeholder, .uni-input[data-v-7719ad1e]::placeholder, .uni-textarea[data-v-7719ad1e]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-7719ad1e] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.uni-popup[data-v-7719ad1e] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.uni-popup__mask[data-v-7719ad1e] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  animation: fadeIn-7719ad1e 0.2s forwards;
}
.uni-popup__wrapper[data-v-7719ad1e] {
  position: relative;
  z-index: 1;
  opacity: 0;
  animation: scaleIn-7719ad1e 0.2s forwards;
}
.uni-popup__wrapper.top[data-v-7719ad1e] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  animation: slideDown-7719ad1e 0.2s forwards;
}
.uni-popup__wrapper.bottom[data-v-7719ad1e] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  animation: slideUp-7719ad1e 0.2s forwards;
}
.uni-popup__wrapper.left[data-v-7719ad1e] {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  animation: slideRight-7719ad1e 0.2s forwards;
}
.uni-popup__wrapper.right[data-v-7719ad1e] {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  animation: slideLeft-7719ad1e 0.2s forwards;
}
@keyframes fadeIn-7719ad1e {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
@keyframes scaleIn-7719ad1e {
from {
    opacity: 0;
    transform: scale(0.8);
}
to {
    opacity: 1;
    transform: scale(1);
}
}
@keyframes slideDown-7719ad1e {
from {
    opacity: 0;
    transform: translateY(-100%);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes slideUp-7719ad1e {
from {
    opacity: 0;
    transform: translateY(100%);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
@keyframes slideRight-7719ad1e {
from {
    opacity: 0;
    transform: translateX(-100%);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}
@keyframes slideLeft-7719ad1e {
from {
    opacity: 0;
    transform: translateX(100%);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-81c0cd2f], uni-textarea[data-v-81c0cd2f], .uni-input[data-v-81c0cd2f], .uni-textarea[data-v-81c0cd2f] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-81c0cd2f]:focus, uni-textarea[data-v-81c0cd2f]:focus, .uni-input[data-v-81c0cd2f]:focus, .uni-textarea[data-v-81c0cd2f]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-81c0cd2f]::-webkit-input-placeholder, uni-textarea[data-v-81c0cd2f]::-webkit-input-placeholder, .uni-input[data-v-81c0cd2f]::-webkit-input-placeholder, .uni-textarea[data-v-81c0cd2f]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-81c0cd2f]::placeholder, uni-textarea[data-v-81c0cd2f]::placeholder, .uni-input[data-v-81c0cd2f]::placeholder, .uni-textarea[data-v-81c0cd2f]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-81c0cd2f] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.agents-page[data-v-81c0cd2f] {
  padding: 10px;
}
.stats-bar[data-v-81c0cd2f] {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  padding: 20px;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.stats-bar .stat-item[data-v-81c0cd2f] {
  flex: 1;
  text-align: center;
}
.stats-bar .stat-item .stat-value[data-v-81c0cd2f] {
  display: block;
  font-size: 28px;
  font-weight: bold;
  color: #333333;
}
.stats-bar .stat-item .stat-label[data-v-81c0cd2f] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 4px;
}
.toolbar[data-v-81c0cd2f] {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.toolbar .search-box[data-v-81c0cd2f] {
  flex: 1;
}
.toolbar .action-btn[data-v-81c0cd2f] {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: #f5f5f5;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  color: #666666;
  cursor: pointer;
}
.toolbar .action-btn.primary[data-v-81c0cd2f] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}
.toolbar .action-btn .btn-icon[data-v-81c0cd2f] {
  font-size: 16px;
}
.list-container[data-v-81c0cd2f] {
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  min-height: 400px;
}
.loading-state[data-v-81c0cd2f],
.empty-state[data-v-81c0cd2f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
}
.loading-state .empty-icon[data-v-81c0cd2f],
.empty-state .empty-icon[data-v-81c0cd2f] {
  font-size: 48px;
  opacity: 0.5;
  margin-bottom: 16px;
}
.loading-state .empty-text[data-v-81c0cd2f],
.empty-state .empty-text[data-v-81c0cd2f] {
  font-size: 14px;
  color: #999999;
  margin-bottom: 20px;
}
.loading-state .empty-btn[data-v-81c0cd2f],
.empty-state .empty-btn[data-v-81c0cd2f] {
  padding: 12px 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 20px;
  font-size: 14px;
}
.agents-list[data-v-81c0cd2f] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 16px;
}
@media (max-width: 992px) {
.agents-list[data-v-81c0cd2f] {
    grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 576px) {
.agents-list[data-v-81c0cd2f] {
    grid-template-columns: 1fr;
}
}
.agent-card[data-v-81c0cd2f] {
  background: #f8f9fa;
  border-radius: 10px;
  padding: 16px;
  border: 1px solid #f0f0f0;
}
.agent-card .agent-header[data-v-81c0cd2f] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.agent-card .agent-header .agent-avatar[data-v-81c0cd2f] {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
}
.agent-card .agent-header .agent-info[data-v-81c0cd2f] {
  flex: 1;
}
.agent-card .agent-header .agent-info .agent-name[data-v-81c0cd2f] {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.agent-card .agent-header .agent-info .agent-code[data-v-81c0cd2f] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 2px;
}
.agent-card .agent-header .status-tag[data-v-81c0cd2f] {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: bold;
}
.agent-card .agent-header .status-tag.active[data-v-81c0cd2f] {
  background: #e8f5e9;
  color: #4caf50;
}
.agent-card .agent-header .status-tag.suspended[data-v-81c0cd2f] {
  background: #fff3e0;
  color: #ff9800;
}
.agent-card .agent-header .status-tag.terminated[data-v-81c0cd2f] {
  background: #ffebee;
  color: #f44336;
}
.agent-card .agent-body[data-v-81c0cd2f] {
  margin-bottom: 12px;
}
.agent-card .agent-body .info-row[data-v-81c0cd2f] {
  display: flex;
  padding: 4px 0;
}
.agent-card .agent-body .info-row .label[data-v-81c0cd2f] {
  width: 70px;
  font-size: 13px;
  color: #999999;
}
.agent-card .agent-body .info-row .value[data-v-81c0cd2f] {
  flex: 1;
  font-size: 13px;
  color: #333333;
}
.agent-card .agent-footer[data-v-81c0cd2f] {
  display: flex;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
}
.agent-card .agent-footer .mini-btn[data-v-81c0cd2f] {
  flex: 1;
  padding: 8px 0;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 12px;
  color: #666666;
  cursor: pointer;
}
.agent-card .agent-footer .mini-btn.success[data-v-81c0cd2f] {
  background: #e8f5e9;
  color: #4caf50;
  border-color: #4caf50;
}
.agent-card .agent-footer .mini-btn.warning[data-v-81c0cd2f] {
  background: #fff3e0;
  color: #ff9800;
  border-color: #ff9800;
}
.agent-card .agent-footer .mini-btn.danger[data-v-81c0cd2f] {
  background: #ffebee;
  color: #f44336;
  border-color: #f44336;
}
.modal-content[data-v-81c0cd2f] {
  width: 400px;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
}
.modal-content .modal-header[data-v-81c0cd2f] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}
.modal-content .modal-header .modal-title[data-v-81c0cd2f] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.modal-content .modal-header .modal-close[data-v-81c0cd2f] {
  font-size: 24px;
  color: #999999;
  cursor: pointer;
}
.modal-content .modal-body[data-v-81c0cd2f] {
  padding: 20px;
}
.modal-content .modal-body .form-item[data-v-81c0cd2f] {
  margin-bottom: 16px;
}
.modal-content .modal-body .form-item .label[data-v-81c0cd2f] {
  display: block;
  font-size: 13px;
  color: #666666;
  margin-bottom: 6px;
}
.modal-content .modal-body .form-item .input[data-v-81c0cd2f] {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
}
.modal-content .modal-footer[data-v-81c0cd2f] {
  display: flex;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #f0f0f0;
}
.modal-content .modal-footer .btn[data-v-81c0cd2f] {
  flex: 1;
  height: 40px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.modal-content .modal-footer .btn.cancel[data-v-81c0cd2f] {
  background: #f5f5f5;
  color: #666666;
}
.modal-content .modal-footer .btn.confirm[data-v-81c0cd2f] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-d6a9a96a], uni-textarea[data-v-d6a9a96a], .uni-input[data-v-d6a9a96a], .uni-textarea[data-v-d6a9a96a] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-d6a9a96a]:focus, uni-textarea[data-v-d6a9a96a]:focus, .uni-input[data-v-d6a9a96a]:focus, .uni-textarea[data-v-d6a9a96a]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-d6a9a96a]::-webkit-input-placeholder, uni-textarea[data-v-d6a9a96a]::-webkit-input-placeholder, .uni-input[data-v-d6a9a96a]::-webkit-input-placeholder, .uni-textarea[data-v-d6a9a96a]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-d6a9a96a]::placeholder, uni-textarea[data-v-d6a9a96a]::placeholder, .uni-input[data-v-d6a9a96a]::placeholder, .uni-textarea[data-v-d6a9a96a]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-d6a9a96a] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.settings-page[data-v-d6a9a96a] {
  padding: 20px;
  max-width: 800px;
}
.setting-card[data-v-d6a9a96a] {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.setting-card .card-header[data-v-d6a9a96a] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.setting-card .card-header .header-icon[data-v-d6a9a96a] {
  font-size: 24px;
}
.setting-card .card-header .header-info[data-v-d6a9a96a] {
  flex: 1;
}
.setting-card .card-header .header-info .header-title[data-v-d6a9a96a] {
  display: block;
  font-size: 18px;
  font-weight: bold;
  color: #333333;
}
.setting-card .card-header .header-info .header-subtitle[data-v-d6a9a96a] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 4px;
}
.form-list .form-item[data-v-d6a9a96a] {
  display: flex;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid #f5f5f5;
}
.form-list .form-item[data-v-d6a9a96a]:last-child {
  border-bottom: none;
}
.form-list .form-item .item-label[data-v-d6a9a96a] {
  width: 100px;
  font-size: 14px;
  color: #666666;
  padding-top: 10px;
}
.form-list .form-item .item-content[data-v-d6a9a96a] {
  flex: 1;
}
.form-list .form-item .item-content .item-value[data-v-d6a9a96a] {
  font-size: 15px;
  color: #333333;
}
.form-list .form-item .item-content .item-value.code[data-v-d6a9a96a] {
  font-family: monospace;
  background: #f5f5f5;
  padding: 4px 12px;
  border-radius: 4px;
}
.form-list .form-item .item-content .item-hint[data-v-d6a9a96a] {
  display: block;
  font-size: 12px;
  color: #999999;
  margin-top: 6px;
}
.form-list .form-item .item-content .item-input[data-v-d6a9a96a] {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
}
.form-list .form-item .item-content .item-textarea[data-v-d6a9a96a] {
  width: 100%;
  min-height: 80px;
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
}
.form-section[data-v-d6a9a96a] {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #f5f5f5;
}
.form-section[data-v-d6a9a96a]:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.form-section .section-title[data-v-d6a9a96a] {
  display: block;
  font-size: 15px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 16px;
}
.template-item[data-v-d6a9a96a] {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
}
.template-item .template-header[data-v-d6a9a96a] {
  margin-bottom: 12px;
}
.template-item .template-header .template-info[data-v-d6a9a96a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.template-item .template-header .template-info .template-name[data-v-d6a9a96a] {
  font-size: 14px;
  font-weight: 500;
  color: #333333;
}
.wechat-disabled[data-v-d6a9a96a] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 20px;
}
.wechat-disabled .disabled-icon[data-v-d6a9a96a] {
  font-size: 48px;
  margin-bottom: 12px;
  opacity: 0.5;
}
.wechat-disabled .disabled-text[data-v-d6a9a96a] {
  font-size: 15px;
  color: #666666;
  margin-bottom: 6px;
}
.wechat-disabled .disabled-hint[data-v-d6a9a96a] {
  font-size: 13px;
  color: #999999;
}
.save-btn[data-v-d6a9a96a] {
  width: 100%;
  height: 44px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 22px;
  font-size: 15px;
  font-weight: bold;
  margin-top: 20px;
}
.save-btn.secondary[data-v-d6a9a96a] {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
}
.info-card .info-list .info-item[data-v-d6a9a96a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #f5f5f5;
}
.info-card .info-list .info-item[data-v-d6a9a96a]:last-child {
  border-bottom: none;
}
.info-card .info-list .info-item .info-label[data-v-d6a9a96a] {
  font-size: 14px;
  color: #666666;
}
.info-card .info-list .info-item .info-value[data-v-d6a9a96a] {
  font-size: 14px;
  color: #333333;
}
.info-card .info-list .info-item .status-badge[data-v-d6a9a96a] {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: bold;
}
.info-card .info-list .info-item .status-badge.active[data-v-d6a9a96a] {
  background: #e8f5e9;
  color: #4caf50;
}
.info-card .info-list .info-item .status-badge.suspended[data-v-d6a9a96a] {
  background: #fff3e0;
  color: #ff9800;
}
.info-card .info-list .info-item .status-badge.terminated[data-v-d6a9a96a] {
  background: #ffebee;
  color: #f44336;
}
.danger-card[data-v-d6a9a96a] {
  border: 1px solid #ffcccc;
  background: #fff5f5;
}
.danger-card .card-header[data-v-d6a9a96a] {
  border-bottom-color: #ffcccc;
}
.danger-card .danger-actions .danger-item[data-v-d6a9a96a] {
  display: flex;
  align-items: center;
  padding: 16px;
  background: #ffffff;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.3s;
}
.danger-card .danger-actions .danger-item[data-v-d6a9a96a]:hover {
  background: #ffeeee;
}
.danger-card .danger-actions .danger-item .danger-info[data-v-d6a9a96a] {
  flex: 1;
}
.danger-card .danger-actions .danger-item .danger-info .danger-title[data-v-d6a9a96a] {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #333333;
}
.danger-card .danger-actions .danger-item .danger-info .danger-desc[data-v-d6a9a96a] {
  display: block;
  font-size: 13px;
  color: #999999;
  margin-top: 4px;
}
.danger-card .danger-actions .danger-item .danger-arrow[data-v-d6a9a96a] {
  font-size: 20px;
  color: #cccccc;
}
.password-modal[data-v-d6a9a96a] {
  width: 400px;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
}
.password-modal .modal-header[data-v-d6a9a96a] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}
.password-modal .modal-header .modal-title[data-v-d6a9a96a] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.password-modal .modal-header .modal-close[data-v-d6a9a96a] {
  font-size: 24px;
  color: #999999;
  cursor: pointer;
}
.password-modal .modal-body[data-v-d6a9a96a] {
  padding: 20px;
}
.password-modal .modal-body .form-item[data-v-d6a9a96a] {
  margin-bottom: 16px;
}
.password-modal .modal-body .form-item .item-label[data-v-d6a9a96a] {
  display: block;
  font-size: 13px;
  color: #666666;
  margin-bottom: 8px;
}
.password-modal .modal-body .form-item .item-input[data-v-d6a9a96a] {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  font-size: 14px;
}
.password-modal .modal-footer[data-v-d6a9a96a] {
  display: flex;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #f0f0f0;
}
.password-modal .modal-footer .btn[data-v-d6a9a96a] {
  flex: 1;
  height: 40px;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.password-modal .modal-footer .btn.cancel[data-v-d6a9a96a] {
  background: #f5f5f5;
  color: #666666;
}
.password-modal .modal-footer .btn.confirm[data-v-d6a9a96a] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-d07a94fe], uni-textarea[data-v-d07a94fe], .uni-input[data-v-d07a94fe], .uni-textarea[data-v-d07a94fe] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-d07a94fe]:focus, uni-textarea[data-v-d07a94fe]:focus, .uni-input[data-v-d07a94fe]:focus, .uni-textarea[data-v-d07a94fe]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-d07a94fe]::-webkit-input-placeholder, uni-textarea[data-v-d07a94fe]::-webkit-input-placeholder, .uni-input[data-v-d07a94fe]::-webkit-input-placeholder, .uni-textarea[data-v-d07a94fe]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-d07a94fe]::placeholder, uni-textarea[data-v-d07a94fe]::placeholder, .uni-input[data-v-d07a94fe]::placeholder, .uni-textarea[data-v-d07a94fe]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-d07a94fe] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.members-page[data-v-d07a94fe] {
  padding: 0.625rem;
}
.header-bar[data-v-d07a94fe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.9375rem;
}
.header-bar .page-desc[data-v-d07a94fe] {
  font-size: 0.8125rem;
  color: #666666;
}
.header-bar .add-btn[data-v-d07a94fe] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.9375rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 0.9375rem;
  font-size: 0.8125rem;
}
.header-bar .add-btn .btn-icon[data-v-d07a94fe] {
  font-size: 0.875rem;
}
.members-list .loading-state[data-v-d07a94fe],
.members-list .empty-state[data-v-d07a94fe] {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3.125rem 0;
}
.members-list .loading-state .empty-icon[data-v-d07a94fe],
.members-list .empty-state .empty-icon[data-v-d07a94fe] {
  font-size: 2.5rem;
  margin-bottom: 0.625rem;
}
.members-list .loading-state .empty-text[data-v-d07a94fe],
.members-list .empty-state .empty-text[data-v-d07a94fe] {
  font-size: 0.875rem;
  color: #999999;
}
.member-item[data-v-d07a94fe] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.9375rem;
  background: #ffffff;
  border-radius: 0.5rem;
  margin-bottom: 0.625rem;
}
.member-item .member-avatar[data-v-d07a94fe] {
  width: 2.5rem;
  height: 2.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1rem;
  font-weight: bold;
}
.member-item .member-info[data-v-d07a94fe] {
  flex: 1;
}
.member-item .member-info .info-row[data-v-d07a94fe] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.member-item .member-info .info-row.secondary[data-v-d07a94fe] {
  margin-bottom: 0;
}
.member-item .member-info .info-row .member-name[data-v-d07a94fe] {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #333333;
}
.member-item .member-info .info-row .role-tag[data-v-d07a94fe] {
  padding: 0.125rem 0.375rem;
  border-radius: 0.25rem;
  font-size: 0.6875rem;
}
.member-item .member-info .info-row .role-tag.owner[data-v-d07a94fe] {
  background: #fff3e0;
  color: #ff9800;
}
.member-item .member-info .info-row .role-tag.admin[data-v-d07a94fe] {
  background: #e3f2fd;
  color: #2196f3;
}
.member-item .member-info .info-row .role-tag.operator[data-v-d07a94fe] {
  background: #e8f5e9;
  color: #4caf50;
}
.member-item .member-info .info-row .role-tag.viewer[data-v-d07a94fe] {
  background: #f5f5f5;
  color: #999999;
}
.member-item .member-info .info-row .member-username[data-v-d07a94fe],
.member-item .member-info .info-row .member-phone[data-v-d07a94fe] {
  font-size: 0.75rem;
  color: #999999;
}
.member-item .member-actions[data-v-d07a94fe] {
  display: flex;
  gap: 0.375rem;
}
.member-item .member-actions .action-btn[data-v-d07a94fe] {
  padding: 0.375rem 0.75rem;
  background: #f5f5f5;
  border: none;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  color: #666666;
}
.member-item .member-actions .action-btn.danger[data-v-d07a94fe] {
  background: #ffebee;
  color: #f44336;
}
.modal-content[data-v-d07a94fe] {
  width: 18.75rem;
  background: #ffffff;
  border-radius: 0.625rem;
  padding: 1.25rem;
}
.modal-content .modal-title[data-v-d07a94fe] {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.9375rem;
  text-align: center;
}
.modal-content .form-item[data-v-d07a94fe] {
  margin-bottom: 0.75rem;
}
.modal-content .form-item .label[data-v-d07a94fe] {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  margin-bottom: 0.375rem;
}
.modal-content .form-item .label .required[data-v-d07a94fe] {
  color: #ff4444;
}
.modal-content .form-item .input[data-v-d07a94fe] {
  width: 100%;
  height: 2.5rem;
  padding: 0 0.75rem;
  border: 0.03125rem solid #e0e0e0;
  border-radius: 0.375rem;
  font-size: 0.875rem;
}
.modal-content .form-item .picker-value[data-v-d07a94fe] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 2.5rem;
  padding: 0 0.75rem;
  border: 0.03125rem solid #e0e0e0;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  color: #333333;
}
.modal-content .form-item .picker-value .arrow[data-v-d07a94fe] {
  font-size: 0.625rem;
  color: #999999;
}
.modal-content .modal-actions[data-v-d07a94fe] {
  display: flex;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
.modal-content .modal-actions .btn[data-v-d07a94fe] {
  flex: 1;
  height: 2.5rem;
  border: none;
  border-radius: 1.25rem;
  font-size: 0.875rem;
}
.modal-content .modal-actions .btn.secondary[data-v-d07a94fe] {
  background: #f5f5f5;
  color: #666666;
}
.modal-content .modal-actions .btn.primary[data-v-d07a94fe] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-2ee339e8], uni-textarea[data-v-2ee339e8], .uni-input[data-v-2ee339e8], .uni-textarea[data-v-2ee339e8] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-2ee339e8]:focus, uni-textarea[data-v-2ee339e8]:focus, .uni-input[data-v-2ee339e8]:focus, .uni-textarea[data-v-2ee339e8]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-2ee339e8]::-webkit-input-placeholder, uni-textarea[data-v-2ee339e8]::-webkit-input-placeholder, .uni-input[data-v-2ee339e8]::-webkit-input-placeholder, .uni-textarea[data-v-2ee339e8]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-2ee339e8]::placeholder, uni-textarea[data-v-2ee339e8]::placeholder, .uni-input[data-v-2ee339e8]::placeholder, .uni-textarea[data-v-2ee339e8]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-2ee339e8] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.statistics-page[data-v-2ee339e8] {
  padding: 20px;
}
.stats-overview[data-v-2ee339e8] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
@media (max-width: 992px) {
.stats-overview[data-v-2ee339e8] {
    grid-template-columns: repeat(2, 1fr);
}
}
.stats-overview .stat-card[data-v-2ee339e8] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.stats-overview .stat-card.primary[data-v-2ee339e8] {
  border-top: 4px solid #667eea;
}
.stats-overview .stat-card.success[data-v-2ee339e8] {
  border-top: 4px solid #4caf50;
}
.stats-overview .stat-card.warning[data-v-2ee339e8] {
  border-top: 4px solid #ff9800;
}
.stats-overview .stat-card.info[data-v-2ee339e8] {
  border-top: 4px solid #2196f3;
}
.stats-overview .stat-card .stat-value[data-v-2ee339e8] {
  display: block;
  font-size: 28px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 4px;
}
.stats-overview .stat-card .stat-label[data-v-2ee339e8] {
  font-size: 13px;
  color: #999999;
}
.chart-card[data-v-2ee339e8] {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.chart-card .card-header[data-v-2ee339e8] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.chart-card .card-header .header-title[data-v-2ee339e8] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.chart-card .card-header .header-value[data-v-2ee339e8] {
  font-size: 24px;
  font-weight: bold;
  color: #667eea;
}
.chart-card .progress-bar[data-v-2ee339e8] {
  height: 12px;
  background: #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 16px;
}
.chart-card .progress-bar .progress-fill[data-v-2ee339e8] {
  height: 100%;
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
  border-radius: 6px;
  transition: width 0.5s ease;
}
.chart-card .chart-legend[data-v-2ee339e8] {
  display: flex;
  justify-content: center;
  gap: 30px;
}
.chart-card .chart-legend .legend-item[data-v-2ee339e8] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #666666;
}
.chart-card .chart-legend .legend-item .legend-dot[data-v-2ee339e8] {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.chart-card .chart-legend .legend-item .legend-dot.bound[data-v-2ee339e8] {
  background: #667eea;
}
.chart-card .chart-legend .legend-item .legend-dot.unbound[data-v-2ee339e8] {
  background: #e0e0e0;
}
.today-stats[data-v-2ee339e8] {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.today-stats .section-title[data-v-2ee339e8] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 20px;
}
.today-stats .today-grid[data-v-2ee339e8] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.today-stats .today-grid .today-item[data-v-2ee339e8] {
  text-align: center;
  padding: 20px;
  background: #f8f9fa;
  border-radius: 8px;
}
.today-stats .today-grid .today-item .today-value[data-v-2ee339e8] {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #667eea;
  margin-bottom: 4px;
}
.today-stats .today-grid .today-item .today-label[data-v-2ee339e8] {
  font-size: 13px;
  color: #999999;
}
.recent-activities[data-v-2ee339e8] {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.recent-activities .section-title[data-v-2ee339e8] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 20px;
}
.recent-activities .empty-state[data-v-2ee339e8] {
  text-align: center;
  padding: 40px;
  color: #999999;
}
.recent-activities .activity-list .activity-item[data-v-2ee339e8] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #f0f0f0;
}
.recent-activities .activity-list .activity-item[data-v-2ee339e8]:last-child {
  border-bottom: none;
}
.recent-activities .activity-list .activity-item .activity-icon[data-v-2ee339e8] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.recent-activities .activity-list .activity-item .activity-icon.scan[data-v-2ee339e8] {
  background: #e3f2fd;
}
.recent-activities .activity-list .activity-item .activity-icon.bind[data-v-2ee339e8] {
  background: #e8f5e9;
}
.recent-activities .activity-list .activity-item .activity-icon.message[data-v-2ee339e8] {
  background: #fff3e0;
}
.recent-activities .activity-list .activity-item .activity-icon.agent[data-v-2ee339e8] {
  background: #f3e5f5;
}
.recent-activities .activity-list .activity-item .activity-content[data-v-2ee339e8] {
  flex: 1;
}
.recent-activities .activity-list .activity-item .activity-content .activity-title[data-v-2ee339e8] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333333;
  margin-bottom: 4px;
}
.recent-activities .activity-list .activity-item .activity-content .activity-desc[data-v-2ee339e8] {
  font-size: 13px;
  color: #999999;
}
.recent-activities .activity-list .activity-item .activity-time[data-v-2ee339e8] {
  font-size: 12px;
  color: #cccccc;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-7c74c289], uni-textarea[data-v-7c74c289], .uni-input[data-v-7c74c289], .uni-textarea[data-v-7c74c289] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-7c74c289]:focus, uni-textarea[data-v-7c74c289]:focus, .uni-input[data-v-7c74c289]:focus, .uni-textarea[data-v-7c74c289]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-7c74c289]::-webkit-input-placeholder, uni-textarea[data-v-7c74c289]::-webkit-input-placeholder, .uni-input[data-v-7c74c289]::-webkit-input-placeholder, .uni-textarea[data-v-7c74c289]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-7c74c289]::placeholder, uni-textarea[data-v-7c74c289]::placeholder, .uni-input[data-v-7c74c289]::placeholder, .uni-textarea[data-v-7c74c289]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-7c74c289] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.finance-page[data-v-7c74c289] {
  padding: 20px;
}
.balance-card[data-v-7c74c289] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  padding: 30px;
  margin-bottom: 20px;
  color: #ffffff;
}
.balance-card .balance-header[data-v-7c74c289] {
  margin-bottom: 24px;
}
.balance-card .balance-header .balance-label[data-v-7c74c289] {
  display: block;
  font-size: 14px;
  opacity: 0.9;
  margin-bottom: 8px;
}
.balance-card .balance-header .balance-amount[data-v-7c74c289] {
  display: block;
  font-size: 36px;
  font-weight: bold;
}
.balance-card .balance-actions[data-v-7c74c289] {
  display: flex;
  gap: 12px;
}
.balance-card .balance-actions .action-btn[data-v-7c74c289] {
  flex: 1;
  height: 44px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 22px;
  color: #ffffff;
  font-size: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.balance-card .balance-actions .action-btn.primary[data-v-7c74c289] {
  background: #ffffff;
  color: #667eea;
}
.stats-grid[data-v-7c74c289] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.stats-grid .stat-box[data-v-7c74c289] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.stats-grid .stat-box .box-value[data-v-7c74c289] {
  display: block;
  font-size: 20px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 4px;
}
.stats-grid .stat-box .box-label[data-v-7c74c289] {
  font-size: 13px;
  color: #999999;
}
.transaction-section[data-v-7c74c289] {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.transaction-section .section-header[data-v-7c74c289] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.transaction-section .section-header .header-title[data-v-7c74c289] {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
}
.transaction-section .section-header .filter-tabs[data-v-7c74c289] {
  display: flex;
  gap: 8px;
}
.transaction-section .section-header .filter-tabs .tab-item[data-v-7c74c289] {
  padding: 6px 16px;
  background: #f5f5f5;
  border-radius: 16px;
  font-size: 13px;
  color: #666666;
  cursor: pointer;
}
.transaction-section .section-header .filter-tabs .tab-item.active[data-v-7c74c289] {
  background: #667eea;
  color: #ffffff;
}
.transaction-section .loading-state[data-v-7c74c289],
.transaction-section .empty-state[data-v-7c74c289] {
  text-align: center;
  padding: 60px 20px;
  color: #999999;
}
.transaction-section .loading-state .empty-icon[data-v-7c74c289],
.transaction-section .empty-state .empty-icon[data-v-7c74c289] {
  font-size: 48px;
  margin-bottom: 12px;
  display: block;
}
.transaction-section .transaction-list .transaction-item[data-v-7c74c289] {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #f0f0f0;
}
.transaction-section .transaction-list .transaction-item[data-v-7c74c289]:last-child {
  border-bottom: none;
}
.transaction-section .transaction-list .transaction-item .item-icon[data-v-7c74c289] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.transaction-section .transaction-list .transaction-item .item-icon.income[data-v-7c74c289] {
  background: #e8f5e9;
}
.transaction-section .transaction-list .transaction-item .item-icon.expense[data-v-7c74c289] {
  background: #ffebee;
}
.transaction-section .transaction-list .transaction-item .item-info[data-v-7c74c289] {
  flex: 1;
}
.transaction-section .transaction-list .transaction-item .item-info .item-title[data-v-7c74c289] {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #333333;
  margin-bottom: 4px;
}
.transaction-section .transaction-list .transaction-item .item-info .item-time[data-v-7c74c289] {
  font-size: 12px;
  color: #999999;
}
.transaction-section .transaction-list .transaction-item .item-amount[data-v-7c74c289] {
  font-size: 16px;
  font-weight: bold;
}
.transaction-section .transaction-list .transaction-item .item-amount.income[data-v-7c74c289] {
  color: #4caf50;
}
.transaction-section .transaction-list .transaction-item .item-amount.expense[data-v-7c74c289] {
  color: #f44336;
}
.container[data-v-7e37e3ad] {
  min-height: 100vh;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  padding: 1.25rem 0.9375rem;
}
.header[data-v-7e37e3ad] {
  text-align: center;
  margin-bottom: 1.25rem;
}
.header-title[data-v-7e37e3ad] {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.5rem;
}
.header-desc[data-v-7e37e3ad] {
  display: block;
  font-size: 0.875rem;
  color: rgba(255,255,255,0.8);
}
.form-card[data-v-7e37e3ad] {
  background: #ffffff;
  border-radius: 0.75rem;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem;
  box-shadow: 0 0.25rem 1rem rgba(0,0,0,0.1);
}
.form-item[data-v-7e37e3ad] {
  margin-bottom: 0.9375rem;
}
.label[data-v-7e37e3ad] {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.5rem;
}
.textarea[data-v-7e37e3ad] {
  width: 100%;
  height: 7.5rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
  padding: 0.625rem;
  font-size: 0.875rem;
  color: #333333;
  box-sizing: border-box;
}
.input[data-v-7e37e3ad] {
  width: 100%;
  height: 2.75rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
  padding: 0 0.625rem;
  font-size: 0.875rem;
  color: #333333;
  box-sizing: border-box;
}
.char-count[data-v-7e37e3ad] {
  display: block;
  text-align: right;
  font-size: 0.75rem;
  color: #999999;
  margin-top: 0.25rem;
}
.submit-btn[data-v-7e37e3ad] {
  width: 100%;
  height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  font-weight: bold;
  margin-top: 0.625rem;
}
.submit-btn[disabled][data-v-7e37e3ad] {
  opacity: 0.6;
}
.tip-card[data-v-7e37e3ad] {
  background: rgba(255,255,255,0.15);
  border-radius: 0.625rem;
  padding: 0.9375rem;
  -webkit-backdrop-filter: blur(0.3125rem);
          backdrop-filter: blur(0.3125rem);
}
.tip-title[data-v-7e37e3ad] {
  display: block;
  font-size: 0.9375rem;
  font-weight: bold;
  color: #ffffff;
  margin-bottom: 0.625rem;
}
.tip-text[data-v-7e37e3ad] {
  display: block;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.9);
  line-height: 1.6;
  margin-bottom: 0.375rem;
}
/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-1e4621e3], uni-textarea[data-v-1e4621e3], .uni-input[data-v-1e4621e3], .uni-textarea[data-v-1e4621e3] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-1e4621e3]:focus, uni-textarea[data-v-1e4621e3]:focus, .uni-input[data-v-1e4621e3]:focus, .uni-textarea[data-v-1e4621e3]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-1e4621e3]::-webkit-input-placeholder, uni-textarea[data-v-1e4621e3]::-webkit-input-placeholder, .uni-input[data-v-1e4621e3]::-webkit-input-placeholder, .uni-textarea[data-v-1e4621e3]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-1e4621e3]::placeholder, uni-textarea[data-v-1e4621e3]::placeholder, .uni-input[data-v-1e4621e3]::placeholder, .uni-textarea[data-v-1e4621e3]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-1e4621e3] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.my-items-container[data-v-1e4621e3] {
  min-height: 100vh;
  background: #f5f5f5;
  padding-bottom: 6.25rem;
}
.brand-header[data-v-1e4621e3] {
  padding: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.brand-header .brand-logo[data-v-1e4621e3] {
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  background: #fff;
  padding: 0.25rem;
}
.brand-header .brand-info[data-v-1e4621e3] {
  flex: 1;
}
.brand-header .brand-info .brand-name[data-v-1e4621e3] {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  display: block;
}
.brand-header .brand-info .brand-slogan[data-v-1e4621e3] {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.125rem;
  display: block;
}
.content-area[data-v-1e4621e3] {
  padding: 0.625rem;
}
.filter-tabs[data-v-1e4621e3] {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}
.filter-tabs .tab-item[data-v-1e4621e3] {
  padding: 0.5rem 1rem;
  background: #fff;
  border-radius: 1rem;
  font-size: 0.8125rem;
  color: #666;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.05);
}
.filter-tabs .tab-item.active[data-v-1e4621e3] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.loading-state[data-v-1e4621e3] {
  text-align: center;
  padding: 3.75rem 1.25rem;
}
.loading-state .loading-icon[data-v-1e4621e3] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
  animation: rotate-1e4621e3 1s linear infinite;
}
.loading-state .loading-text[data-v-1e4621e3] {
  font-size: 0.875rem;
  color: #999;
}
@keyframes rotate-1e4621e3 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.empty-state[data-v-1e4621e3] {
  text-align: center;
  padding: 3.75rem 1.25rem;
}
.empty-state .empty-icon[data-v-1e4621e3] {
  font-size: 3.125rem;
  display: block;
  margin-bottom: 0.9375rem;
}
.empty-state .empty-text[data-v-1e4621e3] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.5rem;
}
.empty-state .empty-desc[data-v-1e4621e3] {
  font-size: 0.875rem;
  color: #999;
  display: block;
  margin-bottom: 1.25rem;
}
.empty-state .bind-btn[data-v-1e4621e3] {
  width: 60%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  border: none;
}
.items-list .item-card[data-v-1e4621e3] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
}
.items-list .item-card.lost[data-v-1e4621e3] {
  border: 0.0625rem solid #ff4d4f;
  background: linear-gradient(135deg, #fff 0%, #fff5f5 100%);
}
.items-list .item-card[data-v-1e4621e3]:active {
  transform: scale(0.98);
}
.items-list .item-card .card-header[data-v-1e4621e3] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.625rem;
}
.items-list .item-card .card-header .code-info[data-v-1e4621e3] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.items-list .item-card .card-header .code-info .code-id[data-v-1e4621e3] {
  font-size: 0.875rem;
  font-weight: 600;
  color: #667eea;
  font-family: monospace;
  background: rgba(102, 126, 234, 0.08);
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}
.items-list .item-card .card-header .code-info .code-status[data-v-1e4621e3] {
  padding: 0.1875rem 0.5rem;
  border-radius: 0.625rem;
  font-size: 0.6875rem;
  font-weight: 500;
}
.items-list .item-card .card-header .code-info .code-status.active[data-v-1e4621e3], .items-list .item-card .card-header .code-info .code-status.normal[data-v-1e4621e3] {
  background: linear-gradient(135deg, #e6f7ff 0%, #d1edff 100%);
  color: #1890ff;
}
.items-list .item-card .card-header .code-info .code-status.lost[data-v-1e4621e3] {
  background: linear-gradient(135deg, #fff2f0 0%, #ffe5e5 100%);
  color: #ff4d4f;
}
.items-list .item-card .card-header .code-info .code-status.inactive[data-v-1e4621e3] {
  background: #f5f5f5;
  color: #999;
}
.items-list .item-card .card-header .item-icon[data-v-1e4621e3] {
  font-size: 1.5rem;
}
.items-list .item-card .card-body[data-v-1e4621e3] {
  margin-bottom: 0.625rem;
}
.items-list .item-card .card-body .item-name[data-v-1e4621e3] {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  display: block;
  margin-bottom: 0.3125rem;
}
.items-list .item-card .card-body .item-desc[data-v-1e4621e3] {
  font-size: 0.8125rem;
  color: #999;
  display: block;
  line-height: 1.5;
}
.items-list .item-card .card-footer[data-v-1e4621e3] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  padding-top: 0.625rem;
  border-top: 0.03125rem solid #f0f0f0;
  margin-bottom: 0.625rem;
}
.items-list .item-card .card-footer .stat-item[data-v-1e4621e3] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.items-list .item-card .card-footer .stat-item .stat-icon[data-v-1e4621e3] {
  font-size: 0.75rem;
}
.items-list .item-card .card-footer .stat-item .stat-text[data-v-1e4621e3] {
  font-size: 0.75rem;
  color: #999;
}
.items-list .item-card .card-actions[data-v-1e4621e3] {
  display: flex;
  gap: 0.625rem;
}
.items-list .item-card .card-actions .action-btn[data-v-1e4621e3] {
  flex: 1;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 1.125rem;
  font-size: 0.8125rem;
  color: #666;
  border: none;
}
.items-list .item-card .card-actions .action-btn.primary[data-v-1e4621e3] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.items-list .item-card .card-actions .action-btn[data-v-1e4621e3]:active {
  opacity: 0.8;
}
.items-list .load-more[data-v-1e4621e3] {
  text-align: center;
  padding: 1.25rem;
}
.items-list .load-more uni-text[data-v-1e4621e3] {
  font-size: 0.875rem;
  color: #667eea;
}
.fab[data-v-1e4621e3] {
  position: fixed;
  right: 1.25rem;
  bottom: 4.375rem;
  width: 3.125rem;
  height: 3.125rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.25rem 1rem rgba(102, 126, 234, 0.4);
  z-index: 99;
}
.fab[data-v-1e4621e3]:active {
  transform: scale(0.95);
}
.fab .fab-icon[data-v-1e4621e3] {
  font-size: 1.5rem;
  color: #ffffff;
  font-weight: bold;
}
.tab-bar[data-v-1e4621e3] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3.125rem;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -0.0625rem 0.625rem rgba(0, 0, 0, 0.05);
  z-index: 100;
  padding-bottom: env(safe-area-inset-bottom);
}
.tab-bar .tab-item[data-v-1e4621e3] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.tab-bar .tab-item.active .tab-icon[data-v-1e4621e3] {
  color: #667eea;
}
.tab-bar .tab-item.active .tab-text[data-v-1e4621e3] {
  color: #667eea;
}
.tab-bar .tab-item .tab-icon[data-v-1e4621e3] {
  font-size: 1.375rem;
  margin-bottom: 0.125rem;
}
.tab-bar .tab-item .tab-text[data-v-1e4621e3] {
  font-size: 0.6875rem;
  color: #999;
}
.tab-bar .tab-item.scan-btn .scan-circle[data-v-1e4621e3] {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -0.9375rem;
  box-shadow: 0 0.125rem 0.625rem rgba(102, 126, 234, 0.4);
}
.tab-bar .tab-item.scan-btn .scan-circle .scan-icon[data-v-1e4621e3] {
  font-size: 1.5rem;
}
.tab-bar .tab-item.scan-btn .tab-text[data-v-1e4621e3] {
  margin-top: 0.25rem;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-b830a322], uni-textarea[data-v-b830a322], .uni-input[data-v-b830a322], .uni-textarea[data-v-b830a322] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-b830a322]:focus, uni-textarea[data-v-b830a322]:focus, .uni-input[data-v-b830a322]:focus, .uni-textarea[data-v-b830a322]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-b830a322]::-webkit-input-placeholder, uni-textarea[data-v-b830a322]::-webkit-input-placeholder, .uni-input[data-v-b830a322]::-webkit-input-placeholder, .uni-textarea[data-v-b830a322]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-b830a322]::placeholder, uni-textarea[data-v-b830a322]::placeholder, .uni-input[data-v-b830a322]::placeholder, .uni-textarea[data-v-b830a322]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-b830a322] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.messages-container[data-v-b830a322] {
  min-height: 100vh;
  background: #f5f5f5;
  padding-bottom: 3.75rem;
}
.brand-header[data-v-b830a322] {
  padding: 0.9375rem;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.brand-header .brand-logo[data-v-b830a322] {
  width: 2.1875rem;
  height: 2.1875rem;
  border-radius: 50%;
  background: #fff;
  padding: 0.25rem;
}
.brand-header .brand-info[data-v-b830a322] {
  flex: 1;
}
.brand-header .brand-info .brand-name[data-v-b830a322] {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  display: block;
}
.brand-header .brand-info .brand-slogan[data-v-b830a322] {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 0.125rem;
  display: block;
}
.content-area[data-v-b830a322] {
  padding: 0.625rem;
}
.filter-tabs[data-v-b830a322] {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
  overflow-x: auto;
}
.filter-tabs .tab-item[data-v-b830a322] {
  padding: 0.5rem 0.875rem;
  background: #fff;
  border-radius: 1rem;
  font-size: 0.8125rem;
  color: #666;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.05);
}
.filter-tabs .tab-item.active[data-v-b830a322] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.filter-tabs .tab-item .badge[data-v-b830a322] {
  background: #ff4d4f;
  color: #fff;
  font-size: 0.625rem;
  min-width: 1rem;
  height: 1rem;
  line-height: 1rem;
  text-align: center;
  border-radius: 0.5rem;
  padding: 0 0.25rem;
}
.loading-state[data-v-b830a322] {
  text-align: center;
  padding: 3.75rem 1.25rem;
}
.loading-state .loading-icon[data-v-b830a322] {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.625rem;
  animation: rotate-b830a322 1s linear infinite;
}
.loading-state .loading-text[data-v-b830a322] {
  font-size: 0.875rem;
  color: #999;
}
@keyframes rotate-b830a322 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}
.empty-state[data-v-b830a322] {
  text-align: center;
  padding: 3.75rem 1.25rem;
}
.empty-state .empty-icon[data-v-b830a322] {
  font-size: 3.125rem;
  display: block;
  margin-bottom: 0.9375rem;
}
.empty-state .empty-text[data-v-b830a322] {
  font-size: 1.125rem;
  font-weight: bold;
  color: #333;
  display: block;
  margin-bottom: 0.5rem;
}
.empty-state .empty-desc[data-v-b830a322] {
  font-size: 0.875rem;
  color: #999;
  display: block;
  margin-bottom: 1.25rem;
}
.empty-state .back-btn[data-v-b830a322] {
  width: 60%;
  height: 2.75rem;
  line-height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border-radius: 1.375rem;
  font-size: 0.9375rem;
  border: none;
}
.message-list .message-card[data-v-b830a322] {
  background: #fff;
  border-radius: 0.625rem;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
  box-shadow: 0 0.0625rem 0.375rem rgba(0, 0, 0, 0.05);
  position: relative;
}
.message-list .message-card.unread[data-v-b830a322] {
  background: linear-gradient(135deg, #fff 0%, #f8f9ff 100%);
  border: 0.03125rem solid rgba(102, 126, 234, 0.2);
}
.message-list .message-card[data-v-b830a322]:active {
  transform: scale(0.98);
}
.message-list .message-card .message-header[data-v-b830a322] {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
.message-list .message-card .message-header .user-avatar[data-v-b830a322] {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.message-list .message-card .message-header .user-avatar uni-text[data-v-b830a322] {
  font-size: 1.125rem;
  color: #fff;
  font-weight: bold;
}
.message-list .message-card .message-header .user-info[data-v-b830a322] {
  flex: 1;
}
.message-list .message-card .message-header .user-info .user-name[data-v-b830a322] {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #333;
  display: block;
  margin-bottom: 0.1875rem;
}
.message-list .message-card .message-header .user-info .message-time[data-v-b830a322] {
  font-size: 0.75rem;
  color: #999;
}
.message-list .message-card .message-header .unread-dot[data-v-b830a322] {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #ff4d4f;
}
.message-list .message-card .code-tag[data-v-b830a322] {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: rgba(102, 126, 234, 0.08);
  padding: 0.3125rem 0.625rem;
  border-radius: 0.25rem;
  margin-bottom: 0.625rem;
}
.message-list .message-card .code-tag .code-icon[data-v-b830a322] {
  font-size: 0.75rem;
}
.message-list .message-card .code-tag .code-text[data-v-b830a322] {
  font-size: 0.8125rem;
  color: #667eea;
  font-weight: 500;
  font-family: monospace;
}
.message-list .message-card .message-content[data-v-b830a322] {
  margin-bottom: 0.625rem;
}
.message-list .message-card .message-content .content-text[data-v-b830a322] {
  font-size: 0.875rem;
  color: #333;
  line-height: 1.6;
}
.message-list .message-card .message-location[data-v-b830a322] {
  display: flex;
  align-items: center;
  background: #f5f5f5;
  padding: 0.5rem 0.625rem;
  border-radius: 0.375rem;
  margin-bottom: 0.75rem;
}
.message-list .message-card .message-location .location-icon[data-v-b830a322] {
  font-size: 0.875rem;
  margin-right: 0.375rem;
}
.message-list .message-card .message-location .location-text[data-v-b830a322] {
  font-size: 0.8125rem;
  color: #666;
  flex: 1;
}
.message-list .message-card .message-actions[data-v-b830a322] {
  display: flex;
  gap: 0.625rem;
}
.message-list .message-card .message-actions .action-btn[data-v-b830a322] {
  flex: 1;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  border-radius: 1.125rem;
  font-size: 0.8125rem;
  color: #666;
  border: none;
}
.message-list .message-card .message-actions .action-btn.primary[data-v-b830a322] {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
}
.message-list .message-card .message-actions .action-btn[data-v-b830a322]:active {
  opacity: 0.8;
}
.message-list .load-more[data-v-b830a322] {
  text-align: center;
  padding: 1.25rem;
}
.message-list .load-more uni-text[data-v-b830a322] {
  font-size: 0.875rem;
  color: #667eea;
}
.tab-bar[data-v-b830a322] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3.125rem;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 -0.0625rem 0.625rem rgba(0, 0, 0, 0.05);
  z-index: 100;
  padding-bottom: env(safe-area-inset-bottom);
}
.tab-bar .tab-item[data-v-b830a322] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.tab-bar .tab-item.active .tab-icon[data-v-b830a322] {
  color: #667eea;
}
.tab-bar .tab-item.active .tab-text[data-v-b830a322] {
  color: #667eea;
}
.tab-bar .tab-item .tab-icon[data-v-b830a322] {
  font-size: 1.375rem;
  margin-bottom: 0.125rem;
}
.tab-bar .tab-item .tab-text[data-v-b830a322] {
  font-size: 0.6875rem;
  color: #999;
}
.tab-bar .tab-item.scan-btn .scan-circle[data-v-b830a322] {
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -0.9375rem;
  box-shadow: 0 0.125rem 0.625rem rgba(102, 126, 234, 0.4);
}
.tab-bar .tab-item.scan-btn .scan-circle .scan-icon[data-v-b830a322] {
  font-size: 1.5rem;
}
.tab-bar .tab-item.scan-btn .tab-text[data-v-b830a322] {
  margin-top: 0.25rem;
}/**
 * 这里是uni-app内置的常用样式变量
 *
 * uni-app 官方扩展插件及插件市场（https://ext.dcloud.net.cn）上很多三方插件均使用了这些样式变量
 * 如果你是插件开发者，建议你使用scss预处理，并在插件代码中直接使用这些变量（无需 import 这个文件），方便用户通过搭积木的方式开发整体风格一致的App
 *
 */
/**
 * 如果你是App开发者（插件使用者），你可以通过修改这些变量来定制自己的插件主题，实现自定义主题功能
 *
 * 如果你的项目同样使用了scss预处理，你也可以直接在你的 scss 代码中使用如下变量，同时无需 import 这个文件
 */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* =============================
 * 微信H5输入框兼容性修复
 * ============================= */
uni-input[data-v-20fb242c], uni-textarea[data-v-20fb242c], .uni-input[data-v-20fb242c], .uni-textarea[data-v-20fb242c] {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.5;
  background-color: #ffffff;
  color: #333333;
  outline: none;
}
uni-input[data-v-20fb242c]:focus, uni-textarea[data-v-20fb242c]:focus, .uni-input[data-v-20fb242c]:focus, .uni-textarea[data-v-20fb242c]:focus {
  border-color: #667eea;
  outline: none;
}
uni-input[data-v-20fb242c]::-webkit-input-placeholder, uni-textarea[data-v-20fb242c]::-webkit-input-placeholder, .uni-input[data-v-20fb242c]::-webkit-input-placeholder, .uni-textarea[data-v-20fb242c]::-webkit-input-placeholder {
  color: #999999;
  font-size: 16px;
}
uni-input[data-v-20fb242c]::placeholder, uni-textarea[data-v-20fb242c]::placeholder, .uni-input[data-v-20fb242c]::placeholder, .uni-textarea[data-v-20fb242c]::placeholder {
  color: #999999;
  font-size: 16px;
}
html[data-v-20fb242c] {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 水平间距 */
/* 水平间距 */
.help-container[data-v-20fb242c] {
  min-height: 100vh;
  background: #f5f5f5;
  padding-bottom: 1.25rem;
}
.search-box[data-v-20fb242c] {
  padding: 0.625rem 0.9375rem;
  background: #ffffff;
}
.search-box .search-input-wrapper[data-v-20fb242c] {
  display: flex;
  align-items: center;
  padding: 0.625rem;
  background: #f5f5f5;
  border-radius: 0.5rem;
}
.search-box .search-input-wrapper .search-icon[data-v-20fb242c] {
  font-size: 1rem;
  margin-right: 0.5rem;
}
.search-box .search-input-wrapper .search-input[data-v-20fb242c] {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0;
}
.search-box .search-input-wrapper .clear-icon[data-v-20fb242c] {
  font-size: 0.875rem;
  color: #999;
  padding: 0.3125rem;
}
.category-section[data-v-20fb242c] {
  background: #ffffff;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
}
.category-section .category-title[data-v-20fb242c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.75rem;
}
.category-section .category-list[data-v-20fb242c] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.category-section .category-list .category-item[data-v-20fb242c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  padding: 0.75rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
}
.category-section .category-list .category-item .category-icon[data-v-20fb242c] {
  font-size: 1.5rem;
}
.category-section .category-list .category-item .category-name[data-v-20fb242c] {
  font-size: 0.75rem;
  color: #666666;
}
.faq-section[data-v-20fb242c] {
  background: #ffffff;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
}
.faq-section .faq-title[data-v-20fb242c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.75rem;
}
.faq-section .faq-list .faq-item[data-v-20fb242c] {
  border-bottom: 0.03125rem solid #f5f5f5;
  padding: 0.75rem 0;
}
.faq-section .faq-list .faq-item[data-v-20fb242c]:last-child {
  border-bottom: none;
}
.faq-section .faq-list .faq-item .faq-question[data-v-20fb242c] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.faq-section .faq-list .faq-item .faq-question .q-tag[data-v-20fb242c] {
  width: 1.25rem;
  height: 1.25rem;
  background: #667eea;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  color: #ffffff;
  font-weight: bold;
  flex-shrink: 0;
}
.faq-section .faq-list .faq-item .faq-question .question-text[data-v-20fb242c] {
  flex: 1;
  font-size: 0.875rem;
  color: #333333;
}
.faq-section .faq-list .faq-item .faq-question .expand-icon[data-v-20fb242c] {
  font-size: 0.75rem;
  color: #999999;
  transition: transform 0.3s;
}
.faq-section .faq-list .faq-item .faq-question .expand-icon.expanded[data-v-20fb242c] {
  transform: rotate(180deg);
}
.faq-section .faq-list .faq-item .faq-answer[data-v-20fb242c] {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.625rem;
  padding-left: 1.75rem;
}
.faq-section .faq-list .faq-item .faq-answer .a-tag[data-v-20fb242c] {
  width: 1.25rem;
  height: 1.25rem;
  background: #11998e;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  color: #ffffff;
  font-weight: bold;
  flex-shrink: 0;
}
.faq-section .faq-list .faq-item .faq-answer .answer-text[data-v-20fb242c] {
  flex: 1;
  font-size: 0.8125rem;
  color: #666666;
  line-height: 1.6;
}
.contact-section[data-v-20fb242c] {
  background: #ffffff;
  padding: 0.9375rem;
  margin-bottom: 0.625rem;
}
.contact-section .contact-title[data-v-20fb242c] {
  font-size: 1rem;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.75rem;
}
.contact-section .contact-list[data-v-20fb242c] {
  display: flex;
  gap: 0.625rem;
}
.contact-section .contact-list .contact-item[data-v-20fb242c] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.9375rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
}
.contact-section .contact-list .contact-item .contact-icon[data-v-20fb242c] {
  font-size: 1.5rem;
}
.contact-section .contact-list .contact-item .contact-info .contact-name[data-v-20fb242c] {
  display: block;
  font-size: 0.875rem;
  color: #333333;
  margin-bottom: 0.25rem;
}
.contact-section .contact-list .contact-item .contact-info .contact-value[data-v-20fb242c] {
  display: block;
  font-size: 0.75rem;
  color: #667eea;
}
.feedback-section[data-v-20fb242c] {
  padding: 0 0.9375rem;
}
.feedback-section .feedback-btn[data-v-20fb242c] {
  width: 100%;
  height: 2.75rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 1.375rem;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
}
.feedback-section .feedback-btn .btn-icon[data-v-20fb242c] {
  font-size: 1rem;
}