/**app.wxss 全局样式**/
/* 注意：不要把 .container / .page 等通用容器类写在这里，
   页面使用同名 class 时会被全局样式污染（例如被强制 flex 居中、撑高、间距错乱导致布局变形）。
   请在各自页面的 wxss 中定义容器样式。 */

/* pages/login/login */
[data-route="pages/login/login"] .page-root {
  width: 100vw;
  height: 100vh;
  position: relative;
}[data-route="pages/login/login"] .scrollarea {
  width: 100vw;
  height: 100vh;
  position: relative;
  z-index: 1;
  background: transparent;
}[data-route="pages/login/login"] .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
}[data-route="pages/login/login"] .hero {
  padding: 9.3333vw 6.4vw 8vw;
  position: relative;
  z-index: 2;
}[data-route="pages/login/login"] .hero-title-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/login/login"] .hero-logo {
  width: 8.5333vw;
  height: 8.5333vw;
  border-radius: 2.1333vw;
  background: linear-gradient(135deg, #3D7DF0, #2B5FD0);
  color: #ffffff;
  font-size: calc(4.5333vw * var(--fs, 1));
  font-weight: bold;
  text-align: center;
  line-height: 8.5333vw;
  margin-right: 2.1333vw;
}[data-route="pages/login/login"] .hero-title {
  font-size: calc(5.8667vw * var(--fs, 1));
  font-weight: bold;
  color: #1F4E9C;
}[data-route="pages/login/login"] .hero-sub {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #35618F;
  margin-top: 2.1333vw;
}[data-route="pages/login/login"] .login-card {
  margin: 0 5.3333vw;
  background: #ffffff;
  border-radius: 3.7333vw;
  padding: 6.4vw 5.3333vw 4.8vw;
  box-shadow: 0 1.6vw 5.3333vw rgba(43, 106, 219, 0.10);
  position: relative;
  z-index: 2;
}[data-route="pages/login/login"] .field {
  margin-bottom: 4.2667vw;
}[data-route="pages/login/login"] .f-label {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #333333;
  margin-bottom: 1.8667vw;
  font-weight: bold;
}[data-route="pages/login/login"] .input-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: #ffffff;
  border: 0.1333vw solid #E1E6EF;
  border-radius: 1.8667vw;
  padding: 0.8vw 2.6667vw;
}[data-route="pages/login/login"] .f-prefix {
  font-size: calc(3.7333vw * var(--fs, 1));
  margin-right: 1.6vw;
}[data-route="pages/login/login"] .f-input {
  flex: 1;
  height: 11.7333vw;
  font-size: calc(4vw * var(--fs, 1));
  color: #333333;
}[data-route="pages/login/login"] .code-input {
  min-width: 0;
}[data-route="pages/login/login"] .code-btn {
  margin-left: 2.1333vw;
  border: 0.1333vw solid #2B6ADB;
  color: #2B6ADB;
  background: #F2F7FF;
  font-size: calc(3.4667vw * var(--fs, 1));
  padding: 0 3.2vw;
  line-height: 9.6vw;
  border-radius: 1.6vw;
  white-space: nowrap;
}[data-route="pages/login/login"] /* 适老化：语音验证码入口（大按钮好点按） */
.voice-link {
  margin-top: 2.1333vw;
  background: #F2F7FF;
  border: 0.1333vw dashed #2B6ADB;
  color: #1F4E9C;
  font-size: calc(3.4667vw * var(--fs, 1));
  font-weight: 500;
  padding: 2.6667vw 3.2vw;
  border-radius: 1.6vw;
  line-height: 1.35;
}[data-route="pages/login/login"] .code-btn-dis {
  color: #5d6a7d;
  border-color: #C4D3EC;
  background: #F6F8FC;
}[data-route="pages/login/login"] .login-btn {
  margin-top: 4vw;
  background: #2B6ADB;
  color: #ffffff;
  font-size: calc(4.5333vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 5.8667vw;
  line-height: 12.2667vw;
}[data-route="pages/login/login"] .login-btn.disabled {
  opacity: 0.6;
}[data-route="pages/login/login"] .bottom-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: 3.2vw;
}[data-route="pages/login/login"] .remember-label {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/login/login"] .remember-text {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #5a6478;
}[data-route="pages/login/login"] .right-links {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/login/login"] .link {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #2B6ADB;
  margin-left: 3.7333vw;
}[data-route="pages/login/login"] .tips {
  margin-top: 3.7333vw;
  background: #F5F8FF;
  border-radius: 1.8667vw;
  padding: 2.4vw 3.2vw;
}[data-route="pages/login/login"] .tip-row {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #7a8699;
  line-height: 1.8;
}[data-route="pages/login/login"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/login/login"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/index/index */
[data-route="pages/index/index"] /**index.wxss 工作台：快捷入口 + 待办事项**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/index/index"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/index/index"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/index/index"] .container {
  padding: 3.2vw 3.2vw 5.3333vw;
}[data-route="pages/index/index"] /* ---------- 区块标题 ---------- */
.sec-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}[data-route="pages/index/index"] .sec-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/index/index"] .sec-count {
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/index/index"] /* ---------- 快捷入口宫格 ---------- */
.q-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
  margin-top: 2.6667vw;
  margin-bottom: 1.0667vw;
}[data-route="pages/index/index"] .q-item {
  width: calc((100% - 6.4vw) / 4);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.6667vw 0 1.8667vw;
  background-color: #ffffff;
  border-radius: 2.1333vw;
}[data-route="pages/index/index"] .q-icon {
  width: 10.1333vw;
  height: 10.1333vw;
  border-radius: 2.6667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4vw;
  font-weight: bold;
}[data-route="pages/index/index"] .q-plus {
  color: #378ADD;
  font-size: 5.3333vw;
  font-weight: bold;
  background-color: #EDF4FC;
}[data-route="pages/index/index"] .q-name {
  font-size: 2.9333vw;
  color: #333333;
  margin-top: 1.3333vw;
}[data-route="pages/index/index"] /* ---------- 待办事项 ---------- */
.todo-row {
  margin-top: 3.7333vw;
}[data-route="pages/index/index"] .cat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
  margin-top: 2.6667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/index/index"] .cat-chip {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.2667vw solid #eef0f3;
  border-radius: 133.2vw;
  padding: 1.6vw 2.4vw 1.6vw 2.6667vw;
  box-sizing: border-box;
}[data-route="pages/index/index"] .cat-on {
  box-shadow: 0 0.8vw 2.1333vw rgba(0, 0, 0, 0.08);
}[data-route="pages/index/index"] .cc-dot {
  width: 1.6vw;
  height: 1.6vw;
  border-radius: 50%;
  margin-right: 1.3333vw;
  flex: none;
}[data-route="pages/index/index"] .cc-name {
  font-size: 3.2vw;
  color: #333333;
  font-weight: bold;
}[data-route="pages/index/index"] .cc-badge {
  min-width: 4.5333vw;
  height: 4.5333vw;
  border-radius: 133.2vw;
  margin-left: 1.6vw;
  padding: 0 1.0667vw;
  font-size: 2.6667vw;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  line-height: 4.5333vw;
  box-sizing: border-box;
}[data-route="pages/index/index"] /* ---------- 待办明细（子类小节头） ---------- */
.sub-head {
  display: flex;
  align-items: center;
  padding: 2.6667vw 0 0.8vw;
}[data-route="pages/index/index"] .sub-head-gap {
  margin-top: 2.6667vw;
  border-top: 0.1333vw solid #f0f2f5;
  padding-top: 3.2vw;
}[data-route="pages/index/index"] /* ---------- 待办列表 ---------- */
.group-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw 3.7333vw 1.6vw;
}[data-route="pages/index/index"] .group-dot {
  width: 2.1333vw;
  height: 2.1333vw;
  border-radius: 50%;
  margin-right: 1.8667vw;
  flex: none;
}[data-route="pages/index/index"] .group-name {
  flex: 1;
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/index/index"] .group-count {
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/index/index"] .group-item {
  display: flex;
  align-items: center;
  padding: 3.4667vw 0;
  border-bottom: 0.1333vw solid #f5f6f8;
}[data-route="pages/index/index"] .group-item:last-of-type {
  border-bottom: none;
}[data-route="pages/index/index"] .gi-body {
  flex: 1;
  min-width: 0;
}[data-route="pages/index/index"] .gi-title {
  font-size: 3.7333vw;
  color: #333333;
  font-weight: bold;
}[data-route="pages/index/index"] .gi-sub {
  font-size: 3.2vw;
  color: #999999;
  margin-top: 1.0667vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}[data-route="pages/index/index"] .gi-arrow {
  flex: none;
  margin-left: 2.1333vw;
  font-size: 4.8vw;
  color: #c0c4cc;
  line-height: 1;
}[data-route="pages/index/index"] .group-empty {
  padding: 8vw 0;
  text-align: center;
  font-size: 3.4667vw;
  color: #b0b6bf;
}[data-route="pages/index/index"] .bare-empty {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  margin-bottom: 3.2vw;
}[data-route="pages/index/index"] /* ---------- 添加快捷入口弹窗 ---------- */
.mask {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/index/index"] .dlg {
  width: 82.6667vw;
  background-color: #ffffff;
  border-radius: 3.2vw;
  padding: 4.8vw 4.2667vw 4vw;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}[data-route="pages/index/index"] .dlg-title {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/index/index"] .dlg-tip {
  text-align: center;
  font-size: 2.9333vw;
  color: #999999;
  margin-top: 1.3333vw;
  margin-bottom: 2.9333vw;
}[data-route="pages/index/index"] .dlg-list {
  height: 74.6667vw;
}[data-route="pages/index/index"] .dlg-row {
  display: flex;
  align-items: center;
  padding: 2.1333vw 0;
  border-bottom: 0.1333vw solid #f5f6f8;
}[data-route="pages/index/index"] .dlg-row:last-child {
  border-bottom: none;
}[data-route="pages/index/index"] .d-icon {
  width: 8.5333vw;
  height: 8.5333vw;
  border-radius: 2.1333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.4667vw;
  font-weight: bold;
  flex: none;
}[data-route="pages/index/index"] .d-name {
  flex: 1;
  font-size: 3.7333vw;
  color: #333333;
  margin-left: 2.6667vw;
}[data-route="pages/index/index"] .d-check {
  width: 5.3333vw;
  height: 5.3333vw;
  border-radius: 50%;
  border: 0.2667vw solid #c0c4cc;
  box-sizing: border-box;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.4667vw;
  color: #ffffff;
}[data-route="pages/index/index"] .d-on {
  background-color: #1a7f4b;
  border-color: #1a7f4b;
}[data-route="pages/index/index"] .dlg-btns {
  display: flex;
  gap: 2.6667vw;
  margin-top: 3.7333vw;
}[data-route="pages/index/index"] .dlg-btn {
  flex: 1;
  height: 10.6667vw;
  border-radius: 133.2vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.7333vw;
  font-weight: bold;
}[data-route="pages/index/index"] .d-cancel {
  background-color: #f0f2f5;
  color: #666666;
}[data-route="pages/index/index"] .d-ok {
  background-color: #378ADD;
  color: #ffffff;
}

/* pages/stats/stats */
[data-route="pages/stats/stats"] /**stats.wxss 统计页：数据看板样式**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/stats/stats"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/stats/stats"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/stats/stats"] .container {
  padding: 3.2vw 3.2vw 5.3333vw;
}[data-route="pages/stats/stats"] /* ---------- 区块标题 ---------- */
.sec-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}[data-route="pages/stats/stats"] .sec-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stats/stats"] .sec-count {
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/stats/stats"] /* ---------- 看板分区（多角色 swiper 左右滑动，高度随内容动态） ---------- */
.dash-swiper {
  margin-top: 2.1333vw;
}[data-route="pages/stats/stats"] .dash-section {
  padding-bottom: 3.2vw;
  box-sizing: border-box;
}[data-route="pages/stats/stats"] .role-chip {
  display: inline-block;
  font-size: 2.9333vw;
  font-weight: bold;
  border-radius: 133.2vw;
  padding: 0.8vw 2.9333vw;
  margin-bottom: 1.8667vw;
}[data-route="pages/stats/stats"] /* ---------- 大数字卡 ---------- */
.big-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] .big-card {
  flex: 1;
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw 0 3.2vw;
  text-align: center;
}[data-route="pages/stats/stats"] /* 6 卡时一行放 3 个（两行） */
.bc-third {
  flex: none;
  width: calc((100% - 4.2667vw) / 3);
  box-sizing: border-box;
}[data-route="pages/stats/stats"] .bc-num {
  font-size: 6.4vw;
  font-weight: bold;
  line-height: 1.2;
}[data-route="pages/stats/stats"] .bc-label {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-top: 1.3333vw;
}[data-route="pages/stats/stats"] /* ---------- 在线率进度条 ---------- */
.progress-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.2vw 3.7333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] .pg-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] .pg-title {
  font-size: 3.4667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stats/stats"] .pg-pct {
  font-size: 4.5333vw;
  font-weight: bold;
}[data-route="pages/stats/stats"] .pg-bar {
  height: 1.8667vw;
  border-radius: 0.9333vw;
  background-color: #eef1f5;
  overflow: hidden;
}[data-route="pages/stats/stats"] .pg-fill {
  height: 100%;
  border-radius: 0.9333vw;
  background: linear-gradient(90deg, #378ADD, #0F6E56);
}[data-route="pages/stats/stats"] .pg-meta {
  display: flex;
  align-items: center;
  margin-top: 1.8667vw;
  gap: 3.7333vw;
}[data-route="pages/stats/stats"] .pg-item {
  display: flex;
  align-items: center;
}[data-route="pages/stats/stats"] .pg-mdot {
  width: 1.6vw;
  height: 1.6vw;
  border-radius: 50%;
  margin-right: 1.0667vw;
}[data-route="pages/stats/stats"] .pg-mtxt {
  font-size: 2.9333vw;
}[data-route="pages/stats/stats"] /* ---------- 饼图（conic-gradient 环形图 + 图例） ---------- */
.pie-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw 3.7333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] .pie-body {
  display: flex;
  align-items: center;
  margin-top: 2.6667vw;
}[data-route="pages/stats/stats"] .pie-ring {
  position: relative;
  width: 28vw;
  height: 28vw;
  border-radius: 50%;
  flex: none;
}[data-route="pages/stats/stats"] .pie-hole {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16.2667vw;
  height: 16.2667vw;
  border-radius: 50%;
  background-color: #ffffff;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}[data-route="pages/stats/stats"] .pie-total {
  font-size: 4.5333vw;
  font-weight: bold;
  color: #333333;
  line-height: 1.2;
}[data-route="pages/stats/stats"] .pie-unit {
  font-size: 2.4vw;
  color: #999999;
  margin-top: 0.2667vw;
}[data-route="pages/stats/stats"] .pie-legend {
  flex: 1;
  margin-left: 4vw;
  min-width: 0;
}[data-route="pages/stats/stats"] .lg-row {
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}[data-route="pages/stats/stats"] .lg-row:last-child {
  margin-bottom: 0;
}[data-route="pages/stats/stats"] .lg-dot {
  width: 2.1333vw;
  height: 2.1333vw;
  border-radius: 50%;
  margin-right: 1.6vw;
  flex: none;
}[data-route="pages/stats/stats"] .lg-label {
  flex: 1;
  font-size: 3.2vw;
  color: #333333;
}[data-route="pages/stats/stats"] .lg-num {
  flex: none;
  font-size: 3.2vw;
  font-weight: bold;
}[data-route="pages/stats/stats"] /* ---------- 横向条形图 ---------- */
.chart-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw 3.7333vw 1.8667vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] .chart-title {
  font-size: 3.4667vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.6667vw;
}[data-route="pages/stats/stats"] .bar-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.9333vw;
}[data-route="pages/stats/stats"] .bar-label {
  width: 20vw;
  flex: none;
  font-size: 3.2vw;
  color: #666666;
}[data-route="pages/stats/stats"] .bar-track {
  flex: 1;
  height: 2.1333vw;
  border-radius: 1.0667vw;
  background-color: #f0f2f5;
  overflow: hidden;
  margin: 0 2.1333vw;
}[data-route="pages/stats/stats"] .bar-fill {
  height: 100%;
  border-radius: 1.0667vw;
}[data-route="pages/stats/stats"] .bar-side {
  width: 12.2667vw;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}[data-route="pages/stats/stats"] .bar-num {
  font-size: 3.4667vw;
  font-weight: bold;
  line-height: 1.2;
}[data-route="pages/stats/stats"] .bar-share {
  font-size: 2.6667vw;
  margin-top: 0.5333vw;
  opacity: 0.85;
}[data-route="pages/stats/stats"] /* ---------- 阶段网格 ---------- */
.grid-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
}[data-route="pages/stats/stats"] .grid-card {
  width: calc((100% - 6.4vw) / 4);
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.6667vw 0 2.4vw;
  text-align: center;
  box-sizing: border-box;
}[data-route="pages/stats/stats"] .gc-num {
  font-size: 4.8vw;
  font-weight: bold;
  line-height: 1.2;
}[data-route="pages/stats/stats"] .gc-label {
  font-size: 2.9333vw;
  color: #8a93a6;
  margin-top: 1.0667vw;
}[data-route="pages/stats/stats"] /* ---------- 区划筛选卡 ---------- */
.filter-card {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 2.6667vw 3.2vw;
  margin-bottom: 1.6vw;
}[data-route="pages/stats/stats"] .filter-picker {
  flex: 1;
  min-width: 0;
}[data-route="pages/stats/stats"] .filter-pill {
  display: flex;
  align-items: center;
  background-color: #f5f6f8;
  border-radius: 133.2vw;
  padding: 1.6vw 2.6667vw;
}[data-route="pages/stats/stats"] .fp-label {
  font-size: 2.9333vw;
  color: #8a93a6;
  margin-right: 1.6vw;
  flex: none;
}[data-route="pages/stats/stats"] .fp-value {
  flex: 1;
  min-width: 0;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #333333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}[data-route="pages/stats/stats"] .fp-arrow {
  flex: none;
  margin-left: 1.0667vw;
  font-size: 2.6667vw;
  color: #999999;
}[data-route="pages/stats/stats"] .filter-reset {
  flex: none;
  font-size: 3.4667vw;
  color: #378ADD;
  font-weight: bold;
  padding: 0 1.0667vw;
}[data-route="pages/stats/stats"] .scope-row {
  font-size: 2.9333vw;
  color: #999999;
  margin-bottom: 3.2vw;
}[data-route="pages/stats/stats"] /* ---------- 日期范围查询 ---------- */
.custom-range {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: #f7f8fa;
  border-radius: 2.1333vw;
  padding: 1.8667vw 2.6667vw;
  margin-bottom: 1.6vw;
}[data-route="pages/stats/stats"] .cr-picker {
  flex: 1;
}[data-route="pages/stats/stats"] .cr-box {
  background: #ffffff;
  border: 0.1333vw solid #e2e6ec;
  border-radius: 1.6vw;
  font-size: 3.2vw;
  color: #333333;
  text-align: center;
  padding: 1.6vw 0;
}[data-route="pages/stats/stats"] .cr-sep {
  flex: none;
  font-size: 3.2vw;
  color: #8a93a6;
  margin: 0 2.1333vw;
}[data-route="pages/stats/stats"] .cr-btn {
  flex: none;
  margin-left: 2.6667vw;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #ffffff;
  background: #378ADD;
  border-radius: 1.6vw;
  padding: 1.8667vw 4.5333vw;
}[data-route="pages/stats/stats"] /* ---------- 数据概览（2×3 网格） ---------- */
.ov-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
  margin-top: 2.6667vw;
  margin-bottom: 1.0667vw;
}[data-route="pages/stats/stats"] .ov-card {
  width: calc((100% - 6.4vw) / 4);
  box-sizing: border-box;
  border-radius: 2.6667vw;
  padding: 2.6667vw 0 2.1333vw;
  text-align: center;
}[data-route="pages/stats/stats"] .ov-num {
  font-size: 4.5333vw;
  font-weight: bold;
  line-height: 1.2;
}[data-route="pages/stats/stats"] .ov-unit {
  font-size: 2.4vw;
  margin-top: 0.2667vw;
}[data-route="pages/stats/stats"] .ov-label {
  font-size: 2.6667vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/stats/stats"] .ov-progress {
  margin-top: 2.1333vw;
}[data-route="pages/stats/stats"] .ov-pie {
  margin-top: 0;
}[data-route="pages/stats/stats"] .pg-dim {
  color: #8a93a6;
}[data-route="pages/stats/stats"] /* ---------- 竖柱状图 ---------- */
.vbar-chart {
  display: flex;
  align-items: flex-end;
  gap: 1.0667vw;
  padding-top: 1.0667vw;
}[data-route="pages/stats/stats"] /* 乡镇/村数量多时：横向滚动，每根柱固定宽度 */
.vbar-scroll {
  width: 100%;
  height: 45.3333vw;
}[data-route="pages/stats/stats"] .vbar-inline {
  display: inline-flex;
  height: 100%;
  padding-right: 3.2vw;
  box-sizing: content-box;
}[data-route="pages/stats/stats"] .vbar-inline .vbar-col {
  flex: none;
  width: 16vw;
}[data-route="pages/stats/stats"] .vbar-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/stats/stats"] .vbar-num {
  font-size: 2.9333vw;
  font-weight: bold;
  margin-bottom: 1.0667vw;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}[data-route="pages/stats/stats"] .vbar-track {
  width: 5.8667vw;
  max-width: 70%;
  height: 29.3333vw;
  border-radius: 1.3333vw;
  background-color: #f0f2f5;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}[data-route="pages/stats/stats"] .vbar-fill {
  width: 100%;
  border-radius: 1.3333vw;
}[data-route="pages/stats/stats"] .vbar-label {
  font-size: 2.6667vw;
  color: #666666;
  margin-top: 1.6vw;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}[data-route="pages/stats/stats"] /* ---------- 折线图 canvas ---------- */
.legend-row {
  display: flex;
  gap: 4.2667vw;
  margin-bottom: 1.0667vw;
}[data-route="pages/stats/stats"] .lg-item {
  display: flex;
  align-items: center;
}[data-route="pages/stats/stats"] .lg-line {
  width: 3.7333vw;
  height: 0.8vw;
  border-radius: 0.4vw;
  margin-right: 1.3333vw;
}[data-route="pages/stats/stats"] .lg-text {
  font-size: 2.9333vw;
  color: #666666;
}[data-route="pages/stats/stats"] /* ---------- 折线图（纯 view 绘制） ---------- */
.trend-view {
  position: relative;
  width: 100%;
  height: 42.6667vw;
  margin-top: 1.0667vw;
}[data-route="pages/stats/stats"] .tv-grid {
  position: absolute;
  left: 26px;
  right: 10px;
  height: 1px;
  background-color: #f0f2f5;
  transform: scaleY(0.5);
}[data-route="pages/stats/stats"] .tv-ylabel {
  position: absolute;
  left: 0;
  width: 21px;
  text-align: right;
  font-size: 2.4vw;
  line-height: 10px;
  color: #b0b6bf;
}[data-route="pages/stats/stats"] .tv-seg {
  position: absolute;
  height: 2px;
  border-radius: 1px;
  transform-origin: 0 50%;
}[data-route="pages/stats/stats"] .tv-dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background-color: #ffffff;
  box-sizing: border-box;
}[data-route="pages/stats/stats"] .tv-xlabel {
  position: absolute;
  bottom: 0;
  transform: translateX(-50%);
  font-size: 2.4vw;
  line-height: 14px;
  color: #b0b6bf;
  white-space: nowrap;
}[data-route="pages/stats/stats"] .chart-empty {
  padding: 5.3333vw 0;
  text-align: center;
  font-size: 3.2vw;
  color: #b0b6bf;
}[data-route="pages/stats/stats"] /* ---------- 双饼图并排 ---------- */
.pie-two {
  display: flex;
  gap: 2.1333vw;
}[data-route="pages/stats/stats"] .pie-half {
  flex: 1;
  min-width: 0;
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] .pie-sm {
  width: 21.3333vw;
  height: 21.3333vw;
}[data-route="pages/stats/stats"] .pie-sm .pie-hole {
  width: 12.2667vw;
  height: 12.2667vw;
}[data-route="pages/stats/stats"] .pie-sm .pie-total {
  font-size: 3.7333vw;
}[data-route="pages/stats/stats"] .pie-half .pie-body {
  margin-top: 1.6vw;
}[data-route="pages/stats/stats"] .pie-half .pie-legend {
  margin-left: 2.1333vw;
}[data-route="pages/stats/stats"] .pie-half .lg-label {
  white-space: nowrap;
  font-size: 2.6667vw;
}[data-route="pages/stats/stats"] .pie-half .lg-num {
  font-size: 2.6667vw;
  margin-left: 2.1333vw;
}[data-route="pages/stats/stats"] .pie-half .lg-dot {
  width: 1.6vw;
  height: 1.6vw;
  margin-right: 1.0667vw;
}[data-route="pages/stats/stats"] .pie-half .lg-row {
  margin-bottom: 2.1333vw;
}[data-route="pages/stats/stats"] /* ---------- 充值图头部 ---------- */
.recharge-head {
  margin-bottom: 1.0667vw;
}[data-route="pages/stats/stats"] .recharge-title {
  margin-bottom: 0;
}[data-route="pages/stats/stats"] .recharge-meta {
  font-size: 2.9333vw;
  color: #BA7517;
  font-weight: bold;
}[data-route="pages/stats/stats"] /* ---------- 角色看板分隔 ---------- */
.dash-row {
  margin-top: 4.2667vw;
  margin-bottom: 1.0667vw;
}

/* pages/survey/survey */
[data-route="pages/survey/survey"] /**survey.wxss**/
.page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/survey/survey"] .tabs {
  display: flex;
  background-color: #ffffff;
}[data-route="pages/survey/survey"] .tab {
  flex: 1;
  text-align: center;
  padding: 3.2vw 0;
  font-size: 4vw;
  color: #666666;
  position: relative;
}[data-route="pages/survey/survey"] .tab-active {
  color: #1a7f4b;
  font-weight: bold;
}[data-route="pages/survey/survey"] .tab-active::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 6.4vw;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #1a7f4b;
}[data-route="pages/survey/survey"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/survey/survey"] .list {
  padding: 3.2vw;
}[data-route="pages/survey/survey"] .card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.2vw;
  margin-bottom: 2.6667vw;
  position: relative;
}[data-route="pages/survey/survey"] .card-title {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.1333vw;
}[data-route="pages/survey/survey"] .card-row {
  display: flex;
  margin-top: 1.0667vw;
}[data-route="pages/survey/survey"] .card-label {
  font-size: 3.4667vw;
  color: #999999;
  margin-right: 2.1333vw;
}[data-route="pages/survey/survey"] .card-value {
  font-size: 3.4667vw;
  color: #666666;
}[data-route="pages/survey/survey"] .card-status {
  position: absolute;
  top: 3.2vw;
  right: 3.2vw;
  font-size: 2.9333vw;
  padding: 0.5333vw 2.1333vw;
  border-radius: 1.0667vw;
}[data-route="pages/survey/survey"] .status-pending {
  color: #f5a623;
  background-color: rgba(245, 166, 35, 0.12);
}[data-route="pages/survey/survey"] .status-draft {
  color: #4a90d9;
  background-color: rgba(74, 144, 217, 0.12);
}[data-route="pages/survey/survey"] .status-done {
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.12);
}[data-route="pages/survey/survey"] .status-veto {
  color: #d9453a;
  background-color: rgba(217, 69, 58, 0.12);
}[data-route="pages/survey/survey"] .empty {
  text-align: center;
  padding: 16vw 0;
  font-size: 3.7333vw;
  color: #999999;
}[data-route="pages/survey/survey"] .fab {
  background-color: #1a7f4b;
  color: #ffffff;
  font-size: 3.7333vw;
  padding: 2.9333vw 4.8vw;
  border-radius: 5.8667vw;
  box-shadow: 0 1.0667vw 3.2vw rgba(26, 127, 75, 0.35);
}[data-route="pages/survey/survey"] .fab-group {
  position: fixed;
  right: 4.2667vw;
  bottom: 8vw;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2.1333vw;
  z-index: 10;
}[data-route="pages/survey/survey"] .fab-ghost {
  background-color: #ffffff;
  color: #1a7f4b;
  box-shadow: 0 1.0667vw 3.2vw rgba(0, 0, 0, 0.12);
}[data-route="pages/survey/survey"] /* ---------- 待调研任务：井编号列表 ---------- */
.import-bar {
  background-color: #ffffff;
  border: 0.1333vw dashed #1a7f4b;
  border-radius: 1.6vw;
  padding: 2.6667vw;
  text-align: center;
  font-size: 3.4667vw;
  color: #1a7f4b;
  margin-bottom: 2.6667vw;
}[data-route="pages/survey/survey"] .well-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6vw;
  margin-top: 2.1333vw;
  padding-top: 2.1333vw;
  border-top: 0.1333vw solid #f0f1f3;
}[data-route="pages/survey/survey"] .well-chip {
  font-size: 3.2vw;
  background-color: rgba(245, 166, 35, 0.12);
  color: #f5a623;
  padding: 1.3333vw 2.6667vw;
  border-radius: 1.0667vw;
}[data-route="pages/survey/survey"] .well-chip-draft {
  background-color: rgba(74, 144, 217, 0.12);
  color: #4a90d9;
}[data-route="pages/survey/survey"] .well-chip-done {
  background-color: rgba(26, 127, 75, 0.12);
  color: #1a7f4b;
}[data-route="pages/survey/survey"] .task-expand {
  font-size: 2.9333vw;
  color: #1a7f4b;
  text-align: center;
  margin-top: 2.1333vw;
}[data-route="pages/survey/survey"] /* ---------- 已完成：调研进度条 + 各井分数下钻 ---------- */
.progress-bar {
  height: 1.6vw;
  background-color: #f0f0f0;
  border-radius: 0.8vw;
  overflow: hidden;
  margin-top: 1.6vw;
}[data-route="pages/survey/survey"] .progress-inner {
  height: 100%;
  background-color: #1a7f4b;
  border-radius: 0.8vw;
}[data-route="pages/survey/survey"] .well-score-list {
  margin-top: 2.1333vw;
  padding-top: 2.1333vw;
  border-top: 0.1333vw solid #f0f1f3;
}[data-route="pages/survey/survey"] .well-score-item {
  background-color: #f8faf9;
  border-radius: 1.3333vw;
  padding: 2.1333vw 2.6667vw;
  margin-bottom: 1.6vw;
}[data-route="pages/survey/survey"] .wsi-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.0667vw;
}[data-route="pages/survey/survey"] .wsi-name {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/survey/survey"] .wsi-total {
  font-size: 3.4667vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/survey/survey"] .wsi-veto {
  color: #d9453a;
}[data-route="pages/survey/survey"] .wsi-sub {
  font-size: 3.2vw;
  color: #666666;
}[data-route="pages/survey/survey"] /* ---------- 地图模式 ---------- */
.map-panel {
  flex: 1;
  height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 2.1333vw 3.2vw 3.2vw;
}[data-route="pages/survey/survey"] .map-filters {
  display: flex;
  gap: 1.6vw;
  margin-bottom: 1.6vw;
}[data-route="pages/survey/survey"] .mf-item {
  flex: 1;
}[data-route="pages/survey/survey"] .mf-value {
  background-color: #ffffff;
  border-radius: 1.3333vw;
  padding: 1.6vw 1.0667vw;
  text-align: center;
  font-size: 2.9333vw;
  color: #333333;
  overflow: hidden;
  white-space: nowrap;
}[data-route="pages/survey/survey"] .map-count {
  font-size: 2.9333vw;
  color: #999999;
  margin-bottom: 1.6vw;
}[data-route="pages/survey/survey"] .map {
  flex: 1;
  width: 100%;
  border-radius: 2.1333vw;
}[data-route="pages/survey/survey"] .map-empty {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 2.1333vw;
  padding: 4.2667vw 5.3333vw;
  font-size: 3.2vw;
  color: #666666;
  text-align: center;
  width: 70%;
  box-shadow: 0 0.5333vw 2.1333vw rgba(0, 0, 0, 0.08);
}[data-route="pages/survey/survey"] .map-info {
  position: absolute;
  left: 3.2vw;
  right: 3.2vw;
  bottom: 4.2667vw;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.2vw;
  box-shadow: 0 1.0667vw 3.2vw rgba(0, 0, 0, 0.12);
}[data-route="pages/survey/survey"] .map-info-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/survey/survey"] .map-info-sub {
  font-size: 3.2vw;
  color: #999999;
  margin-top: 1.0667vw;
}[data-route="pages/survey/survey"] .map-info-go {
  font-size: 3.4667vw;
  color: #1a7f4b;
  margin-top: 2.1333vw;
}

/* pages/survey/form */
[data-route="pages/survey/form"] /**form.wxss 调研表单页**/
.page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/survey/form"] .scrollarea {
  flex: 1;
  height: 0;
  padding-bottom: 21.3333vw;
}[data-route="pages/survey/form"] /* 否决横幅 */
.veto-banner {
  background-color: #fdf0ef;
  color: #d9453a;
  font-size: 3.2vw;
  padding: 1.6vw 3.2vw;
  line-height: 1.6;
}[data-route="pages/survey/form"] /* 分部横幅（村基本情况 / 机井调研） */
.part-banner {
  margin: 2.6667vw 3.2vw 0;
  padding: 1.8667vw 2.6667vw;
  background-color: #e8f4ee;
  border-left: 1.0667vw solid #1a7f4b;
  border-radius: 1.0667vw;
  font-size: 3.4667vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/survey/form"] /* 卡片 */
.card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.2vw;
  margin: 2.6667vw 3.2vw 0;
}[data-route="pages/survey/form"] .sec-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.6667vw;
  display: flex;
  align-items: center;
}[data-route="pages/survey/form"] .required {
  color: #d9453a;
  margin-left: 0.8vw;
}[data-route="pages/survey/form"] .score-tag {
  font-size: 2.9333vw;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.1);
  padding: 0.5333vw 1.8667vw;
  border-radius: 1.0667vw;
  margin-left: 2.1333vw;
}[data-route="pages/survey/form"] /* 大号分数标签（B7 年均度数） */
.score-tag-lg {
  font-size: 3.4667vw;
}[data-route="pages/survey/form"] /* 标签不换行（flex 强制单行，兼容 Skyline） */
.label-oneline {
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 1.0667vw;
}[data-route="pages/survey/form"] /* 必填字段标签：加粗加黑 */
.field-label-required {
  font-weight: bold;
  color: #333333;
}[data-route="pages/survey/form"] .label-oneline .hint-inline {
  white-space: nowrap;
  flex-shrink: 0;
}[data-route="pages/survey/form"] .label-oneline text {
  white-space: nowrap;
}[data-route="pages/survey/form"] .veto-tag {
  font-size: 2.6667vw;
  color: #d9453a;
  border: 0.1333vw solid #d9453a;
  padding: 0.2667vw 1.3333vw;
  border-radius: 0.8vw;
  margin-left: 1.6vw;
}[data-route="pages/survey/form"] .hint {
  font-size: 2.9333vw;
  color: #999999;
  margin-top: 1.6vw;
}[data-route="pages/survey/form"] .hint-inline {
  font-size: 2.9333vw;
  color: #999999;
  font-weight: normal;
}[data-route="pages/survey/form"] /* 表头布局：自适应高度，与下方内容衔接 */
.card-compact {
  padding: 2.6667vw;
  margin: 1.6vw 3.2vw 0;
  display: flex;
  flex-direction: column;
}[data-route="pages/survey/form"] .card-compact .sec-title {
  margin-bottom: 1.8667vw;
  font-size: 3.7333vw;
}[data-route="pages/survey/form"] .card-compact .field {
  margin-bottom: 1.8667vw;
}[data-route="pages/survey/form"] .field-inline .input {
  padding: 1.6vw 2.1333vw;
}[data-route="pages/survey/form"] /* 调研对象预览条（单行） */
.header-preview {
  margin-top: 0.5333vw;
  background-color: rgba(26, 127, 75, 0.06);
  border-radius: 1.3333vw;
  padding: 1.8667vw 2.6667vw;
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}[data-route="pages/survey/form"] .header-preview-label {
  font-size: 2.9333vw;
  color: #999999;
  flex-shrink: 0;
}[data-route="pages/survey/form"] .header-preview-name {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #1a7f4b;
  flex: 1;
}[data-route="pages/survey/form"] .header-preview-sub {
  font-size: 2.6667vw;
  color: #999999;
  flex-shrink: 0;
}[data-route="pages/survey/form"] /* 分区：基本信息自适应高度 / 填写内容占满剩余空间 */
.header-zone {
  flex: none;
  display: flex;
  flex-direction: column;
}[data-route="pages/survey/form"] .content-zone {
  flex: 1;
  height: 0;
  display: flex;
  flex-direction: column;
}[data-route="pages/survey/form"] .card-compact .field:last-child {
  margin-bottom: 0;
}[data-route="pages/survey/form"] .field-inline {
  display: flex;
  align-items: center;
  gap: 1.6vw;
}[data-route="pages/survey/form"] .field-inline .field-label {
  width: 14.4vw;
  margin-bottom: 0;
  flex-shrink: 0;
}[data-route="pages/survey/form"] .field-inline .input {
  flex: 1;
  padding: 1.6vw 2.1333vw;
  font-size: 3.4667vw;
}[data-route="pages/survey/form"] .field-inline picker {
  flex: 1;
}[data-route="pages/survey/form"] /* 机井定位按钮 */
.loc-btn {
  flex: 1;
  background-color: rgba(26, 127, 75, 0.06);
  border: 0.1333vw dashed #1a7f4b;
  border-radius: 1.3333vw;
  padding: 1.6vw 2.1333vw;
  font-size: 3.4667vw;
  color: #1a7f4b;
}[data-route="pages/survey/form"] .loc-done {
  border-style: solid;
  color: #333333;
}[data-route="pages/survey/form"] .loc-tag {
  font-size: 3.7333vw;
  color: #1a7f4b;
  flex-shrink: 0;
}[data-route="pages/survey/form"] /* 字段 */
.row2 {
  display: flex;
  gap: 2.1333vw;
}[data-route="pages/survey/form"] .row2 .field {
  flex: 1;
}[data-route="pages/survey/form"] .row3 {
  display: flex;
  gap: 2.1333vw;
}[data-route="pages/survey/form"] .row3 .field {
  flex: 1;
}[data-route="pages/survey/form"] .field {
  margin-bottom: 2.6667vw;
}[data-route="pages/survey/form"] .field-label {
  font-size: 3.2vw;
  color: #666666;
  margin-bottom: 1.0667vw;
}[data-route="pages/survey/form"] .input {
  background-color: #f7f8fa;
  border-radius: 1.3333vw;
  padding: 2.1333vw 2.6667vw;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/survey/form"] .picker-value {
  color: #333333;
}[data-route="pages/survey/form"] .picker-empty {
  color: #999999;
}[data-route="pages/survey/form"] .readonly {
  color: #999999;
  background-color: #f0f1f3;
}[data-route="pages/survey/form"] /* 选项 chips */
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6vw;
}[data-route="pages/survey/form"] .chip {
  font-size: 3.4667vw;
  color: #666666;
  background-color: #f7f8fa;
  border-radius: 1.3333vw;
  padding: 1.3333vw 3.2vw;
  border: 0.1333vw solid #e5e6eb;
}[data-route="pages/survey/form"] .chip-on {
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.1);
  border-color: #1a7f4b;
  font-weight: bold;
}[data-route="pages/survey/form"] .chips-s .chip {
  padding: 0.8vw 1.8667vw;
  font-size: 2.9333vw;
}[data-route="pages/survey/form"] /* A7 作物勾选行 */
.crop-row {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  padding: 1.6vw 0;
}[data-route="pages/survey/form"] .crop-check {
  width: 5.3333vw;
  height: 5.3333vw;
  border-radius: 1.0667vw;
  border: 0.2667vw solid #cccccc;
  color: #ffffff;
  font-size: 3.4667vw;
  text-align: center;
  line-height: 5.3333vw;
  flex-shrink: 0;
}[data-route="pages/survey/form"] .crop-check-on {
  background-color: #1a7f4b;
  border-color: #1a7f4b;
}[data-route="pages/survey/form"] .crop-name {
  width: 13.3333vw;
  font-size: 3.7333vw;
  color: #333333;
  flex-shrink: 0;
}[data-route="pages/survey/form"] /* C3 模式名称较长的自适应宽度 */
.crop-name-auto {
  width: auto;
  white-space: nowrap;
}[data-route="pages/survey/form"] .crop-input {
  flex: 1;
  background-color: #f7f8fa;
  border-radius: 1.3333vw;
  padding: 1.8667vw 2.6667vw;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/survey/form"] .crop-unit {
  font-size: 3.4667vw;
  color: #999999;
  width: 5.3333vw;
  flex-shrink: 0;
}[data-route="pages/survey/form"] /* 步骤条 */
.steps {
  display: flex;
  background-color: #ffffff;
  margin: 2.6667vw 3.2vw 0;
  border-radius: 2.1333vw;
  padding: 2.1333vw 1.0667vw;
}[data-route="pages/survey/form"] .step {
  flex: 1;
  text-align: center;
  padding: 1.0667vw 0;
  border-radius: 1.6vw;
}[data-route="pages/survey/form"] .step-on {
  background-color: rgba(26, 127, 75, 0.1);
}[data-route="pages/survey/form"] .step-key {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/survey/form"] .step-name {
  font-size: 2.6667vw;
  color: #999999;
  margin-top: 0.5333vw;
}[data-route="pages/survey/form"] .step-score {
  font-size: 2.6667vw;
  color: #1a7f4b;
  margin-top: 0.5333vw;
}[data-route="pages/survey/form"] /* 机井子表 */
.well {
  border-top: 0.1333vw solid #f0f0f0;
  padding-top: 2.6667vw;
  margin-top: 2.6667vw;
}[data-route="pages/survey/form"] .well-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.1333vw;
}[data-route="pages/survey/form"] .well-code {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/survey/form"] .well-del {
  font-size: 3.2vw;
  color: #d9453a;
}[data-route="pages/survey/form"] .photo-btn {
  text-align: center;
  font-size: 3.2vw;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.08);
  border-radius: 1.3333vw;
  padding: 1.8667vw 0;
  margin-top: 1.0667vw;
}[data-route="pages/survey/form"] .photo-done {
  background-color: rgba(26, 127, 75, 0.15);
  font-weight: bold;
}[data-route="pages/survey/form"] .add-well {
  text-align: center;
  font-size: 3.7333vw;
  color: #1a7f4b;
  border: 0.1333vw dashed #1a7f4b;
  border-radius: 1.3333vw;
  padding: 2.4vw 0;
  margin-top: 2.6667vw;
}[data-route="pages/survey/form"] /* 步骤按钮 */
.step-btns {
  display: flex;
  justify-content: center;
  gap: 3.2vw;
  padding: 4.2667vw 3.2vw 6.4vw;
}[data-route="pages/survey/form"] .step-btn {
  font-size: 3.7333vw;
  color: #666666;
  background-color: #ffffff;
  border-radius: 5.3333vw;
  padding: 2.4vw 6.4vw;
}[data-route="pages/survey/form"] .step-btn-main {
  color: #ffffff;
  background-color: #1a7f4b;
}[data-route="pages/survey/form"] /* 底部栏 */
.footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/survey/form"] .footer-total {
  font-size: 5.3333vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/survey/form"] .footer-veto {
  color: #d9453a;
}[data-route="pages/survey/form"] .footer-detail {
  font-size: 2.9333vw;
  color: #999999;
  margin-top: 0.5333vw;
}[data-route="pages/survey/form"] .footer-btns {
  display: flex;
  gap: 2.1333vw;
  flex-shrink: 0;
  white-space: nowrap;
}[data-route="pages/survey/form"] .btn-ghost {
  font-size: 3.7333vw;
  color: #1a7f4b;
  border: 0.1333vw solid #1a7f4b;
  border-radius: 5.3333vw;
  padding: 2.1333vw 4.8vw;
  white-space: nowrap;
}[data-route="pages/survey/form"] .btn-main {
  font-size: 3.7333vw;
  color: #ffffff;
  background-color: #1a7f4b;
  border-radius: 5.3333vw;
  padding: 2.1333vw 5.8667vw;
  white-space: nowrap;
}[data-route="pages/survey/form"] /* ---------- B模块：逐井切换 chips ---------- */
.well-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6vw;
  margin-top: 2.1333vw;
}[data-route="pages/survey/form"] .well-chip {
  font-size: 3.2vw;
  padding: 1.3333vw 2.6667vw;
  border-radius: 1.0667vw;
  background-color: #f0f1f3;
  color: #666666;
}[data-route="pages/survey/form"] .well-chip-on {
  border: 0.1333vw solid #1a7f4b;
  color: #1a7f4b;
  background-color: #ffffff;
}[data-route="pages/survey/form"] .well-chip-done {
  background-color: rgba(26, 127, 75, 0.12);
  color: #1a7f4b;
}

/* pages/survey/task */
[data-route="pages/survey/task"] /**task.wxss 新建调研任务**/
.page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/survey/task"] .scrollarea {
  flex: 1;
  height: 0;
  padding: 3.2vw;
  box-sizing: border-box;
}[data-route="pages/survey/task"] .card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/survey/task"] .sec-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.6667vw;
}[data-route="pages/survey/task"] .required {
  font-size: 2.9333vw;
  color: #d9453a;
  font-weight: normal;
  margin-left: 1.6vw;
}[data-route="pages/survey/task"] .field {
  margin-bottom: 2.1333vw;
}[data-route="pages/survey/task"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.0667vw;
}[data-route="pages/survey/task"] .input {
  border: 0.1333vw solid #e5e7eb;
  border-radius: 1.3333vw;
  padding: 2.1333vw 2.6667vw;
  font-size: 3.7333vw;
  color: #333333;
  background-color: #fafafa;
}[data-route="pages/survey/task"] .picker-empty {
  color: #999999;
}[data-route="pages/survey/task"] .row2 {
  display: flex;
  gap: 2.1333vw;
}[data-route="pages/survey/task"] .row2 .field {
  flex: 1;
}[data-route="pages/survey/task"] .hint {
  font-size: 3.2vw;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.08);
  border-radius: 1.3333vw;
  padding: 1.8667vw 2.4vw;
  margin-top: 1.0667vw;
}[data-route="pages/survey/task"] .btn-main {
  background-color: #1a7f4b;
  color: #ffffff;
  font-size: 4vw;
  text-align: center;
  padding: 3.2vw 0;
  border-radius: 5.8667vw;
  box-shadow: 0 1.0667vw 3.2vw rgba(26, 127, 75, 0.35);
}

/* pages/stock/stock */
[data-route="pages/stock/stock"] /**stock.wxss 库存列表**/
.page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/stock/stock"] /* 查询条件 */
.search-zone {
  padding: 2.6667vw 3.2vw 0.5333vw;
}[data-route="pages/stock/stock"] .search-box {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.4vw 3.2vw;
  gap: 1.6vw;
}[data-route="pages/stock/stock"] .search-icon {
  font-size: 3.7333vw;
  color: #999999;
}[data-route="pages/stock/stock"] .search-input {
  flex: 1;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/stock/stock"] .filter-row {
  display: flex;
  gap: 2.6667vw;
  margin-top: 2.6667vw;
}[data-route="pages/stock/stock"] .filter-item {
  flex: 1;
}[data-route="pages/stock/stock"] .filter-value {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.4vw 3.2vw;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/stock/stock"] .result-count {
  font-size: 3.2vw;
  color: #999999;
  padding: 2.6667vw 0.5333vw 0;
}[data-route="pages/stock/stock"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/stock/stock"] .list {
  padding-bottom: 29.3333vw;
}[data-route="pages/stock/stock"] /* 物料卡片 */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.2vw;
  margin: 2.6667vw 3.2vw 0;
  overflow: hidden;
}[data-route="pages/stock/stock"] .card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/stock/stock"] .code-tag {
  font-size: 2.9333vw;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.1);
  border-radius: 1.0667vw;
  padding: 0.5333vw 1.8667vw;
}[data-route="pages/stock/stock"] .status-tag {
  font-size: 3.2vw;
}[data-route="pages/stock/stock"] .st-over { color: #d9453a; }[data-route="pages/stock/stock"] .st-normal { color: #1a7f4b; }[data-route="pages/stock/stock"] .st-lack { color: #f5a623; }[data-route="pages/stock/stock"] .card-main {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 2.6667vw 0;
}[data-route="pages/stock/stock"] .item-name {
  font-size: 4.5333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/stock"] .item-qty {
  font-size: 6.4vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/stock/stock"] .item-unit {
  font-size: 3.2vw;
  font-weight: normal;
  color: #666666;
  margin-left: 0.5333vw;
}[data-route="pages/stock/stock"] .info-line {
  font-size: 3.4667vw;
  color: #666666;
  background-color: #f7f8fa;
  border-radius: 1.3333vw;
  padding: 1.8667vw 2.6667vw;
  margin-top: 1.6vw;
}[data-route="pages/stock/stock"] .card-action {
  margin: 2.6667vw -3.2vw -3.2vw;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.08);
  padding: 2.6667vw 0;
}[data-route="pages/stock/stock"] .empty {
  text-align: center;
  font-size: 3.4667vw;
  color: #999999;
  padding: 10.6667vw 0;
}[data-route="pages/stock/stock"] /* 悬浮按钮组 */
.fab-group {
  position: fixed;
  right: 4.2667vw;
  bottom: calc(8.5333vw + env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  gap: 2.6667vw;
}[data-route="pages/stock/stock"] .fab {
  background-color: #1a7f4b;
  color: #ffffff;
  font-size: 3.7333vw;
  border-radius: 5.8667vw;
  padding: 2.9333vw 4.8vw;
  box-shadow: 0 1.0667vw 3.2vw rgba(26, 127, 75, 0.35);
}[data-route="pages/stock/stock"] .fab-ghost {
  background-color: #ffffff;
  color: #1a7f4b;
  border: 0.1333vw solid #1a7f4b;
  box-shadow: 0 1.0667vw 3.2vw rgba(0, 0, 0, 0.08);
}

/* pages/stock/records */
[data-route="pages/stock/records"] /**stockRecords.wxss 出入库记录**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/stock/records"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/stock/records"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/stock/records"] .container {
  padding: 3.2vw;
}[data-route="pages/stock/records"] /* ---------- 搜索 + 类型 ---------- */
.bar {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/stock/records"] .search-box {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 1.6vw;
  padding: 0 2.4vw;
  height: 9.6vw;
}[data-route="pages/stock/records"] .search-input {
  flex: 1;
  min-width: 0;
  font-size: 3.3333vw;
  color: #333333;
}[data-route="pages/stock/records"] .ph {
  color: #b0b6bf;
}[data-route="pages/stock/records"] .type-picker {
  flex-shrink: 0;
}[data-route="pages/stock/records"] .type-btn {
  font-size: 3.3333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/records"] /* ---------- 空态 ---------- */
.empty {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 16vw 0;
  text-align: center;
  font-size: 3.4667vw;
  color: #b0b6bf;
}[data-route="pages/stock/records"] /* ---------- 单据卡片 ---------- */
.bill-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/stock/records"] .b-top {
  display: flex;
  align-items: center;
  gap: 1.8667vw;
  padding-bottom: 1.8667vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/stock/records"] .b-tag {
  flex-shrink: 0;
  font-size: 2.9333vw;
  font-weight: bold;
  padding: 0.8vw 2.4vw;
  border-radius: 133.2vw;
  color: #ffffff;
}[data-route="pages/stock/records"] .t-in {
  background-color: #1a7f4b;
}[data-route="pages/stock/records"] .t-out {
  background-color: #d9453a;
}[data-route="pages/stock/records"] .b-no {
  font-size: 3.2vw;
  color: #3a7bd5;
  flex: 1;
  min-width: 0;
}[data-route="pages/stock/records"] .b-info {
  margin-top: 1.8667vw;
  font-size: 3.2vw;
  color: #5f6b7a;
}[data-route="pages/stock/records"] .b-items {
  margin-top: 1.8667vw;
  background-color: #f7f8fa;
  border-radius: 1.6vw;
  padding: 0.8vw 2.4vw;
}[data-route="pages/stock/records"] .b-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6vw 0;
  border-bottom: 0.1333vw dashed #eceef1;
}[data-route="pages/stock/records"] .b-item:last-child {
  border-bottom: none;
}[data-route="pages/stock/records"] .bi-name {
  font-size: 3.2vw;
  color: #333333;
  flex: 1;
  min-width: 0;
}[data-route="pages/stock/records"] .bi-qty {
  flex-shrink: 0;
  margin-left: 2.1333vw;
  font-size: 3.2vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/records"] .b-remark {
  margin-top: 1.8667vw;
  font-size: 2.9333vw;
  color: #ba7517;
}[data-route="pages/stock/records"] .b-foot {
  margin-top: 1.8667vw;
  padding-top: 1.8667vw;
  border-top: 0.1333vw solid #f0f1f3;
  font-size: 2.9333vw;
  color: #b0b6bf;
  text-align: right;
}[data-route="pages/stock/records"] .bottom-space {
  height: 2.6667vw;
}

/* pages/stock/inbound */
[data-route="pages/stock/inbound"] /**inbound.wxss 物料入库（outbound 复用）**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/stock/inbound"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/stock/inbound"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/stock/inbound"] .container {
  padding: 3.2vw 3.2vw 5.3333vw;
}[data-route="pages/stock/inbound"] /* ---------- 区块标题（竖条） ---------- */
.sec-head,[data-route="pages/stock/inbound"] .plain-title-bar {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin: 1.0667vw 0 2.6667vw;
}[data-route="pages/stock/inbound"] .sec-head-row {
  margin-top: 4.2667vw;
}[data-route="pages/stock/inbound"] .sec-title,[data-route="pages/stock/inbound"] .plain-title,[data-route="pages/stock/inbound"] .card-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/inbound"] .sec-count {
  flex: 1;
  text-align: right;
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/stock/inbound"] .bar {
  width: 1.0667vw;
  height: 4vw;
  background-color: #1a7f4b;
  border-radius: 0.5333vw;
}[data-route="pages/stock/inbound"] .card-head,[data-route="pages/stock/inbound"] .card-title-bar {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/inbound"] /* ---------- 卡片 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/inbound"] /* ---------- 字段 ---------- */
.field {
  margin-bottom: 3.2vw;
}[data-route="pages/stock/inbound"] .field:last-child {
  margin-bottom: 0;
}[data-route="pages/stock/inbound"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.6vw;
}[data-route="pages/stock/inbound"] .required {
  color: #d9453a;
}[data-route="pages/stock/inbound"] .input {
  background-color: #ffffff;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
  box-sizing: border-box;
}[data-route="pages/stock/inbound"] .readonly {
  color: #999999;
  background-color: #f7f8fa;
  border-color: #eef0f3;
}[data-route="pages/stock/inbound"] .input-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6vw;
}[data-route="pages/stock/inbound"] .input-text {
  flex: 1;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/stock/inbound"] .input-placeholder,[data-route="pages/stock/inbound"] .picker-empty {
  color: #b0b6bf;
}[data-route="pages/stock/inbound"] .input-icon {
  font-size: 3.2vw;
  color: #b0b6bf;
  flex-shrink: 0;
}[data-route="pages/stock/inbound"] .picker-value {
  color: #333333;
}[data-route="pages/stock/inbound"] .row2 {
  display: flex;
  gap: 2.6667vw;
}[data-route="pages/stock/inbound"] .row2 .field {
  flex: 1;
  min-width: 0;
}[data-route="pages/stock/inbound"] /* ---------- 明细项 ---------- */
.item-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/inbound"] .item-head {
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
  padding-bottom: 2.6667vw;
  border-bottom: 0.1333vw solid #f0f2f5;
}[data-route="pages/stock/inbound"] .item-no {
  width: 5.8667vw;
  height: 5.8667vw;
  border-radius: 2.9333vw;
  background-color: #1a7f4b;
  color: #ffffff;
  font-size: 3.4667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.1333vw;
  flex-shrink: 0;
}[data-route="pages/stock/inbound"] .item-head-title {
  flex: 1;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/inbound"] .item-del {
  font-size: 3.2vw;
  color: #d9453a;
  padding: 1.0667vw 2.1333vw;
  border-radius: 133.2vw;
  background-color: #fdf0ef;
}[data-route="pages/stock/inbound"] /* ---------- 空状态 ---------- */
.empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8vw 0 6.4vw;
  margin-bottom: 3.2vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/stock/inbound"] .empty-illus {
  width: 21.3333vw;
  height: 21.3333vw;
  border-radius: 10.6667vw;
  background-color: rgba(26, 127, 75, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.6vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/inbound"] .empty-text {
  font-size: 4vw;
  color: #999999;
}[data-route="pages/stock/inbound"] .empty-hint {
  font-size: 3.2vw;
  color: #c0c4cc;
  margin-top: 1.3333vw;
}[data-route="pages/stock/inbound"] /* ---------- 添加物料项 ---------- */
.add-item-btn {
  text-align: center;
  font-size: 4vw;
  font-weight: bold;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.06);
  border: 0.1333vw dashed #1a7f4b;
  border-radius: 2.1333vw;
  padding: 3.4667vw 0;
  margin-bottom: 4.2667vw;
}[data-route="pages/stock/inbound"] /* ---------- 备注 ---------- */
.textarea {
  width: 100%;
  height: 29.3333vw;
  font-size: 3.7333vw;
  color: #333333;
  box-sizing: border-box;
}[data-route="pages/stock/inbound"] .textarea-count {
  text-align: right;
  font-size: 2.9333vw;
  color: #c0c4cc;
  margin-top: 1.0667vw;
}[data-route="pages/stock/inbound"] /* ---------- 底部固定按钮 ---------- */
.footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/stock/inbound"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #1a7f4b;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}

/* pages/stock/outbound */
[data-route="pages/stock/outbound"] /**outbound.wxss 物料出库（复用入库样式）**/
/**inbound.wxss 物料入库（outbound 复用）**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/stock/outbound"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/stock/outbound"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/stock/outbound"] .container {
  padding: 3.2vw 3.2vw 5.3333vw;
}[data-route="pages/stock/outbound"] /* ---------- 区块标题（竖条） ---------- */
.sec-head,[data-route="pages/stock/outbound"] .plain-title-bar {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin: 1.0667vw 0 2.6667vw;
}[data-route="pages/stock/outbound"] .sec-head-row {
  margin-top: 4.2667vw;
}[data-route="pages/stock/outbound"] .sec-title,[data-route="pages/stock/outbound"] .plain-title,[data-route="pages/stock/outbound"] .card-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/outbound"] .sec-count {
  flex: 1;
  text-align: right;
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/stock/outbound"] .bar {
  width: 1.0667vw;
  height: 4vw;
  background-color: #1a7f4b;
  border-radius: 0.5333vw;
}[data-route="pages/stock/outbound"] .card-head,[data-route="pages/stock/outbound"] .card-title-bar {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/outbound"] /* ---------- 卡片 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/outbound"] /* ---------- 字段 ---------- */
.field {
  margin-bottom: 3.2vw;
}[data-route="pages/stock/outbound"] .field:last-child {
  margin-bottom: 0;
}[data-route="pages/stock/outbound"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.6vw;
}[data-route="pages/stock/outbound"] .required {
  color: #d9453a;
}[data-route="pages/stock/outbound"] .input {
  background-color: #ffffff;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
  box-sizing: border-box;
}[data-route="pages/stock/outbound"] .readonly {
  color: #999999;
  background-color: #f7f8fa;
  border-color: #eef0f3;
}[data-route="pages/stock/outbound"] .input-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6vw;
}[data-route="pages/stock/outbound"] .input-text {
  flex: 1;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/stock/outbound"] .input-placeholder,[data-route="pages/stock/outbound"] .picker-empty {
  color: #b0b6bf;
}[data-route="pages/stock/outbound"] .input-icon {
  font-size: 3.2vw;
  color: #b0b6bf;
  flex-shrink: 0;
}[data-route="pages/stock/outbound"] .picker-value {
  color: #333333;
}[data-route="pages/stock/outbound"] .row2 {
  display: flex;
  gap: 2.6667vw;
}[data-route="pages/stock/outbound"] .row2 .field {
  flex: 1;
  min-width: 0;
}[data-route="pages/stock/outbound"] /* ---------- 明细项 ---------- */
.item-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/outbound"] .item-head {
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
  padding-bottom: 2.6667vw;
  border-bottom: 0.1333vw solid #f0f2f5;
}[data-route="pages/stock/outbound"] .item-no {
  width: 5.8667vw;
  height: 5.8667vw;
  border-radius: 2.9333vw;
  background-color: #1a7f4b;
  color: #ffffff;
  font-size: 3.4667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.1333vw;
  flex-shrink: 0;
}[data-route="pages/stock/outbound"] .item-head-title {
  flex: 1;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/outbound"] .item-del {
  font-size: 3.2vw;
  color: #d9453a;
  padding: 1.0667vw 2.1333vw;
  border-radius: 133.2vw;
  background-color: #fdf0ef;
}[data-route="pages/stock/outbound"] /* ---------- 空状态 ---------- */
.empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8vw 0 6.4vw;
  margin-bottom: 3.2vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/stock/outbound"] .empty-illus {
  width: 21.3333vw;
  height: 21.3333vw;
  border-radius: 10.6667vw;
  background-color: rgba(26, 127, 75, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.6vw;
  margin-bottom: 3.2vw;
}[data-route="pages/stock/outbound"] .empty-text {
  font-size: 4vw;
  color: #999999;
}[data-route="pages/stock/outbound"] .empty-hint {
  font-size: 3.2vw;
  color: #c0c4cc;
  margin-top: 1.3333vw;
}[data-route="pages/stock/outbound"] /* ---------- 添加物料项 ---------- */
.add-item-btn {
  text-align: center;
  font-size: 4vw;
  font-weight: bold;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.06);
  border: 0.1333vw dashed #1a7f4b;
  border-radius: 2.1333vw;
  padding: 3.4667vw 0;
  margin-bottom: 4.2667vw;
}[data-route="pages/stock/outbound"] /* ---------- 备注 ---------- */
.textarea {
  width: 100%;
  height: 29.3333vw;
  font-size: 3.7333vw;
  color: #333333;
  box-sizing: border-box;
}[data-route="pages/stock/outbound"] .textarea-count {
  text-align: right;
  font-size: 2.9333vw;
  color: #c0c4cc;
  margin-top: 1.0667vw;
}[data-route="pages/stock/outbound"] /* ---------- 底部固定按钮 ---------- */
.footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/stock/outbound"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #1a7f4b;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}


/* pages/stock/detail */
[data-route="pages/stock/detail"] /**detail.wxss 物料详情**/
.page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/stock/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/stock/detail"] .container {
  padding: 3.2vw 3.2vw 5.3333vw;
}[data-route="pages/stock/detail"] /* 头部 */
.head-card {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 4.2667vw 3.7333vw;
  gap: 2.6667vw;
}[data-route="pages/stock/detail"] .head-icon {
  width: 12.8vw;
  height: 12.8vw;
  border-radius: 2.6667vw;
  background-color: rgba(26, 127, 75, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.8667vw;
  flex-shrink: 0;
}[data-route="pages/stock/detail"] .head-main {
  flex: 1;
}[data-route="pages/stock/detail"] .head-name {
  font-size: 5.3333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/detail"] .head-code {
  font-size: 3.4667vw;
  color: #999999;
  margin-top: 1.0667vw;
}[data-route="pages/stock/detail"] .status-tag {
  font-size: 3.4667vw;
  font-weight: bold;
}[data-route="pages/stock/detail"] .st-over { color: #d9453a; }[data-route="pages/stock/detail"] .st-normal { color: #1a7f4b; }[data-route="pages/stock/detail"] .st-lack { color: #f5a623; }[data-route="pages/stock/detail"] /* 三格信息 */
.info-grid {
  display: flex;
  gap: 2.6667vw;
  margin-top: 3.2vw;
}[data-route="pages/stock/detail"] .info-item {
  flex: 1;
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw 1.6vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/stock/detail"] .info-label {
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/stock/detail"] .info-value {
  margin-top: 1.8667vw;
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  text-align: center;
}[data-route="pages/stock/detail"] .info-qty {
  color: #1a7f4b;
}[data-route="pages/stock/detail"] /* 标题竖条 */
.plain-title-bar {
  display: flex;
  align-items: center;
  gap: 1.6vw;
  margin: 4.8vw 0 2.6667vw;
}[data-route="pages/stock/detail"] .bar {
  width: 1.0667vw;
  height: 4vw;
  background-color: #1a7f4b;
  border-radius: 0.5333vw;
}[data-route="pages/stock/detail"] .plain-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/detail"] /* 记录 */
.records-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 1.0667vw 3.2vw;
}[data-route="pages/stock/detail"] .record-item {
  display: flex;
  align-items: center;
  gap: 2.6667vw;
  padding: 3.2vw 0;
  border-bottom: 0.1333vw solid #f0f0f0;
}[data-route="pages/stock/detail"] .record-item:last-child {
  border-bottom: none;
}[data-route="pages/stock/detail"] .record-type {
  width: 11.7333vw;
  height: 11.7333vw;
  border-radius: 5.8667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.4667vw;
  color: #ffffff;
  flex-shrink: 0;
}[data-route="pages/stock/detail"] .type-in { background-color: #1a7f4b; }[data-route="pages/stock/detail"] .type-out { background-color: #f5a623; }[data-route="pages/stock/detail"] .record-main {
  flex: 1;
}[data-route="pages/stock/detail"] .record-row1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/stock/detail"] .record-name {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/stock/detail"] .record-qty {
  font-size: 4.2667vw;
  font-weight: bold;
}[data-route="pages/stock/detail"] .qty-in { color: #1a7f4b; }[data-route="pages/stock/detail"] .qty-out { color: #f5a623; }[data-route="pages/stock/detail"] .record-row2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.3333vw;
}[data-route="pages/stock/detail"] .record-time,[data-route="pages/stock/detail"] .record-op {
  font-size: 3.2vw;
  color: #999999;
}[data-route="pages/stock/detail"] .empty {
  text-align: center;
  font-size: 3.4667vw;
  color: #999999;
  padding: 8vw 0;
}

/* pages/install/install */
[data-route="pages/install/install"] /**install.wxss 安装模块：蓝色主题平铺安装单列表**/
body {
  background-color: #f5f6f8;
}[data-route="pages/install/install"] .page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/install/install"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
}[data-route="pages/install/install"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/install/install"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/install/install"] /* ---------- 选项卡 ---------- */
.tabs {
  display: flex;
  background-color: #ffffff;
}[data-route="pages/install/install"] .tab {
  flex: 1;
  text-align: center;
  padding: 3.2vw 0;
  font-size: 4vw;
  color: #666666;
  position: relative;
}[data-route="pages/install/install"] .tab-active {
  color: #3d6ef6;
  font-weight: bold;
}[data-route="pages/install/install"] .tab-active::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 6.4vw;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #3d6ef6;
}[data-route="pages/install/install"] /* ---------- 搜索 + 区域筛选 ---------- */
.filter-bar {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  padding: 2.6667vw 3.2vw;
  background-color: #f5f6f8;
}[data-route="pages/install/install"] .search-box {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/install/install"] .search-icon {
  font-size: 4vw;
  color: #999999;
  margin-right: 1.6vw;
}[data-route="pages/install/install"] .search-input {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/install/install"] .search-placeholder {
  color: #b0b5bf;
}[data-route="pages/install/install"] .region-picker {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/install/install"] .region-icon {
  font-size: 3.4667vw;
  margin-right: 1.0667vw;
}[data-route="pages/install/install"] .region-text {
  font-size: 3.4667vw;
  color: #333333;
  max-width: 29.3333vw;
  overflow: hidden;
  white-space: nowrap;
}[data-route="pages/install/install"] .region-arrow {
  font-size: 3.2vw;
  color: #999999;
  margin-left: 1.0667vw;
}[data-route="pages/install/install"] /* ---------- 安装单卡片 ---------- */
.scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/install/install"] .list {
  padding: 1.0667vw 3.2vw 4.2667vw;
}[data-route="pages/install/install"] .bill-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  border-left: 0.8vw solid #3d6ef6;
  padding: 3.7333vw 3.2vw 2.6667vw;
  margin-bottom: 3.2vw;
  box-shadow: 0 0.2667vw 1.3333vw rgba(61, 110, 246, 0.06);
}[data-route="pages/install/install"] .bill-head {
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/install/install"] .bill-icon {
  width: 9.6vw;
  height: 9.6vw;
  border-radius: 2.1333vw;
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  color: #ffffff;
  font-size: 4.8vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/install/install"] .bill-head-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/install/install"] .bill-name {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/install/install"] .bill-no {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/install/install"] .bill-status {
  font-size: 2.9333vw;
  padding: 1.0667vw 2.6667vw;
  border-radius: 133.2vw;
  flex: none;
}[data-route="pages/install/install"] .status-pending {
  color: #3d6ef6;
  background-color: rgba(61, 110, 246, 0.1);
}[data-route="pages/install/install"] .status-audit {
  color: #f5a623;
  background-color: rgba(245, 166, 35, 0.12);
}[data-route="pages/install/install"] .status-debug {
  color: #7a5af8;
  background-color: rgba(122, 90, 248, 0.12);
}[data-route="pages/install/install"] .status-done {
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.12);
}[data-route="pages/install/install"] .bill-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 2.1333vw;
}[data-route="pages/install/install"] .bill-cols {
  display: flex;
}[data-route="pages/install/install"] .bill-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 2.1333vw;
}[data-route="pages/install/install"] .bill-label {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-bottom: 1.0667vw;
}[data-route="pages/install/install"] .bill-value {
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/install/install"] .bill-link {
  border-top: 0.1333vw solid #f0f1f3;
  padding-top: 2.4vw;
  font-size: 3.4667vw;
  color: #3d6ef6;
}[data-route="pages/install/install"] .empty {
  text-align: center;
  padding: 16vw 0;
  font-size: 3.7333vw;
  color: #999999;
}

/* pages/install/detail */
[data-route="pages/install/detail"] /**detail.wxss 安装单详情：蓝色主题，安装单信息 + 井信息 + 安装表单**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/install/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/install/detail"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/install/detail"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/install/detail"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/install/detail"] /* ---------- 滚动区 ---------- */
.scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/install/detail"] .form-list {
  padding: 3.2vw;
}[data-route="pages/install/detail"] .form-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.7333vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/install/detail"] .card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.0667vw;
}[data-route="pages/install/detail"] /* 蓝色竖条小节标题 */
.sec-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.6667vw;
  padding-left: 2.4vw;
  position: relative;
}[data-route="pages/install/detail"] .sec-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.8vw;
  width: 1.0667vw;
  height: 4vw;
  border-radius: 0.5333vw;
  background-color: #3d6ef6;
}[data-route="pages/install/detail"] .required {
  color: #d9453a;
  font-weight: normal;
  margin-left: 1.0667vw;
  font-size: 3.2vw;
}[data-route="pages/install/detail"] /* 状态胶囊 */
.status-pill {
  font-size: 2.9333vw;
  padding: 1.0667vw 2.6667vw;
  border-radius: 133.2vw;
  flex: none;
}[data-route="pages/install/detail"] .status-pending {
  color: #3d6ef6;
  background-color: rgba(61, 110, 246, 0.1);
}[data-route="pages/install/detail"] .status-audit {
  color: #f5a623;
  background-color: rgba(245, 166, 35, 0.12);
}[data-route="pages/install/detail"] .status-debug {
  color: #7a5af8;
  background-color: rgba(122, 90, 248, 0.12);
}[data-route="pages/install/detail"] .status-done {
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.12);
}[data-route="pages/install/detail"] /* 信息行 */
.info-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.9333vw;
}[data-route="pages/install/detail"] .info-row:last-child {
  margin-bottom: 0.5333vw;
}[data-route="pages/install/detail"] .info-label {
  font-size: 3.4667vw;
  color: #8a93a6;
  margin-right: 3.2vw;
  flex: none;
  width: 18.6667vw;
}[data-route="pages/install/detail"] .info-value {
  font-size: 3.4667vw;
  color: #333333;
  flex: 1;
}[data-route="pages/install/detail"] .info-link {
  font-size: 3.4667vw;
  color: #3d6ef6;
  margin-left: 2.1333vw;
  flex: none;
}[data-route="pages/install/detail"] /* 仓库下拉 */
.picker-value {
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.6667vw 3.2vw;
  background-color: #f5f6f8;
  display: flex;
  align-items: center;
}[data-route="pages/install/detail"] .picker-text {
  flex: 1;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/install/detail"] .picker-empty .picker-text {
  color: #b0b5bf;
}[data-route="pages/install/detail"] .picker-arrow {
  font-size: 3.4667vw;
  color: #999999;
}[data-route="pages/install/detail"] .hint-bar {
  font-size: 3.2vw;
  color: #3d6ef6;
  background-color: rgba(61, 110, 246, 0.08);
  border-radius: 1.3333vw;
  padding: 1.8667vw 2.4vw;
}[data-route="pages/install/detail"] /* 调试中只读提示条 */
.debug-bar {
  font-size: 3.2vw;
  color: #7a5af8;
  background-color: rgba(122, 90, 248, 0.1);
  border: 0.1333vw solid rgba(122, 90, 248, 0.35);
  border-radius: 1.3333vw;
  padding: 2.1333vw 2.4vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/install/detail"] /* 物料设备多选 */
.material-hint {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-bottom: 2.4vw;
}[data-route="pages/install/detail"] .chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
}[data-route="pages/install/detail"] .chip {
  width: calc(50% - 1.0667vw);
  box-sizing: border-box;
  padding: 2.4vw 2.6667vw;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
  border: 0.2667vw solid transparent;
}[data-route="pages/install/detail"] .chip-name {
  font-size: 3.4667vw;
  color: #333333;
  font-weight: bold;
  line-height: 1.4;
}[data-route="pages/install/detail"] .chip-stock {
  font-size: 2.9333vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/install/detail"] .chip-on {
  background-color: rgba(43, 164, 113, 0.06);
  border-color: #2ba471;
}[data-route="pages/install/detail"] .chip-on .chip-name {
  color: #2ba471;
}[data-route="pages/install/detail"] .chip-check {
  color: #2ba471;
  font-weight: bold;
}[data-route="pages/install/detail"] /* 已选数量 */
.selected-count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3.4667vw;
  color: #333333;
  margin-top: 3.2vw;
  padding-top: 2.6667vw;
  border-top: 0.1333vw solid #f0f1f3;
}[data-route="pages/install/detail"] .selected-num {
  color: #3d6ef6;
  font-weight: bold;
}[data-route="pages/install/detail"] /* 已选物料领用数量输入 */
.len-row {
  display: flex;
  align-items: center;
  margin-top: 2.6667vw;
}[data-route="pages/install/detail"] .len-label {
  font-size: 3.4667vw;
  color: #333333;
  margin-right: 2.6667vw;
  flex: 1;
}[data-route="pages/install/detail"] .len-input {
  flex: 1;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
  font-size: 3.4667vw;
  background-color: #f5f6f8;
  max-width: 42.6667vw;
}[data-route="pages/install/detail"] /* 现场记录照片 */
.photo-btn {
  background-color: rgba(61, 110, 246, 0.1);
  color: #3d6ef6;
  border-radius: 1.6vw;
  padding: 2.4vw;
  text-align: center;
  font-size: 3.4667vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/install/detail"] .photo-done {
  background-color: rgba(43, 164, 113, 0.1);
  color: #2ba471;
}[data-route="pages/install/detail"] .photo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
}[data-route="pages/install/detail"] .photo-cell {
  position: relative;
}[data-route="pages/install/detail"] .photo-thumb {
  width: 26.6667vw;
  height: 26.6667vw;
  border-radius: 1.3333vw;
  background-color: #f0f1f3;
}[data-route="pages/install/detail"] .photo-del {
  position: absolute;
  top: -1.6vw;
  right: -1.6vw;
  width: 5.3333vw;
  height: 5.3333vw;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 3.7333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/install/detail"] .photo-hint {
  margin-top: 2.1333vw;
  font-size: 2.9333vw;
  color: #999999;
}[data-route="pages/install/detail"] /* 安装位置 / 设备激活 */
.loc-btn {
  background-color: rgba(61, 110, 246, 0.1);
  color: #3d6ef6;
  border-radius: 1.6vw;
  padding: 2.6667vw;
  text-align: center;
  font-size: 3.6vw;
  font-weight: bold;
}[data-route="pages/install/detail"] .loc-hint {
  margin-top: 1.8667vw;
  font-size: 2.9333vw;
  color: #999999;
  text-align: center;
}[data-route="pages/install/detail"] .loc-result {
  display: flex;
  align-items: center;
}[data-route="pages/install/detail"] .loc-text {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/install/detail"] .loc-refresh {
  font-size: 3.4667vw;
  color: #3d6ef6;
  flex: none;
}[data-route="pages/install/detail"] /* 激活完成 */
.activated-row {
  display: flex;
  align-items: center;
  background-color: rgba(43, 164, 113, 0.06);
  border: 0.2667vw solid #2ba471;
  border-radius: 1.6vw;
  padding: 2.6667vw;
}[data-route="pages/install/detail"] .activated-check {
  width: 7.4667vw;
  height: 7.4667vw;
  border-radius: 50%;
  background-color: #2ba471;
  color: #ffffff;
  font-size: 4.2667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/install/detail"] .activated-main {
  flex: 1;
}[data-route="pages/install/detail"] .activated-title {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #2ba471;
}[data-route="pages/install/detail"] .activated-sub {
  font-size: 2.9333vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/install/detail"] /* 重新激活按钮 */
.reactivate-btn {
  margin-top: 2.6667vw;
  border: 0.2667vw solid #3d6ef6;
  color: #3d6ef6;
  background-color: #ffffff;
  border-radius: 1.6vw;
  padding: 2.4vw;
  text-align: center;
  font-size: 3.6vw;
  font-weight: bold;
}[data-route="pages/install/detail"] .reactivate-hover {
  background-color: rgba(61, 110, 246, 0.08);
}[data-route="pages/install/detail"] /* 上线状态 */
.online-row {
  display: flex;
  align-items: center;
  margin-top: 2.6667vw;
}[data-route="pages/install/detail"] .online-label {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/install/detail"] .online-badge {
  font-size: 3.4667vw;
  font-weight: bold;
  margin-right: 3.2vw;
}[data-route="pages/install/detail"] .online-on {
  color: #2ba471;
}[data-route="pages/install/detail"] .online-off {
  color: #d9453a;
}[data-route="pages/install/detail"] .online-check-btn {
  margin-top: 2.6667vw;
}[data-route="pages/install/detail"] /* 任务备注 */
.task-note {
  width: 100%;
  height: 26.6667vw;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
  font-size: 3.4667vw;
  background-color: #f5f6f8;
  box-sizing: border-box;
}[data-route="pages/install/detail"] /* 底部固定操作栏 */
.action-bar {
  flex: none;
  background-color: #ffffff;
  border-top: 0.1333vw solid #ececec;
  padding: 2.1333vw 4.2667vw;
  padding-bottom: calc(3.2vw + env(safe-area-inset-bottom));
}[data-route="pages/install/detail"] .btn-main {
  background-color: #3d6ef6;
  color: #ffffff;
  font-size: 4vw;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 5.8667vw;
}[data-route="pages/install/detail"] .done-hint {
  text-align: center;
  font-size: 3.4667vw;
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.08);
  border-radius: 1.3333vw;
  padding: 2.6667vw;
}[data-route="pages/install/detail"] /* 水印绘制画布（隐藏，置于屏幕外） */
.wm-canvas {
  position: fixed;
  left: -9999px;
  top: 0;
  width: 300px;
  height: 400px;
}

/* pages/install/activate */
[data-route="pages/install/activate"] /**activate.wxss 设备激活录入页：蓝色主题表单**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/install/activate"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/install/activate"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/install/activate"] .hero-close {
  color: #ffffff;
  font-size: 4.8vw;
  width: 10.6667vw;
}[data-route="pages/install/activate"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/install/activate"] /* ---------- 表单 ---------- */
.scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/install/activate"] .form-list {
  padding: 3.2vw;
}[data-route="pages/install/activate"] .form-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 1.6vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/install/activate"] .sec-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  padding: 3.2vw 0 1.0667vw;
  padding-left: 2.4vw;
  position: relative;
}[data-route="pages/install/activate"] .sec-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4vw;
  width: 1.0667vw;
  height: 4vw;
  border-radius: 0.5333vw;
  background-color: #3d6ef6;
}[data-route="pages/install/activate"] .f-row {
  display: flex;
  align-items: center;
  padding: 3.4667vw 0;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/install/activate"] .form-card .f-row:last-child {
  border-bottom: none;
}[data-route="pages/install/activate"] .f-label {
  width: 32vw;
  flex: none;
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/install/activate"] .req {
  color: #d9453a;
  margin-right: 0.5333vw;
}[data-route="pages/install/activate"] .f-input {
  flex: 1;
  font-size: 3.6vw;
  color: #333333;
  text-align: right;
}[data-route="pages/install/activate"] .f-placeholder {
  color: #b0b5bf;
}[data-route="pages/install/activate"] .f-value {
  flex: 1;
  font-size: 3.6vw;
  color: #333333;
  text-align: right;
}[data-route="pages/install/activate"] .f-empty {
  color: #b0b5bf;
}[data-route="pages/install/activate"] .f-arrow {
  font-size: 4vw;
  color: #c0c5cf;
  margin-left: 1.6vw;
}[data-route="pages/install/activate"] .f-scan {
  font-size: 4.5333vw;
  color: #3d6ef6;
  margin-left: 2.1333vw;
  padding: 0 1.0667vw;
}[data-route="pages/install/activate"] /* 单选组 */
.radio-group {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 5.3333vw;
}[data-route="pages/install/activate"] .radio-item {
  display: flex;
  align-items: center;
  font-size: 3.6vw;
  color: #333333;
  gap: 0.8vw;
}[data-route="pages/install/activate"] /* ---------- 底部操作栏 ---------- */
.action-bar {
  flex: none;
  background-color: #ffffff;
  border-top: 0.1333vw solid #ececec;
  padding: 2.1333vw 4.2667vw;
  padding-bottom: calc(3.2vw + env(safe-area-inset-bottom));
  display: flex;
  gap: 3.2vw;
}[data-route="pages/install/activate"] .btn-cancel {
  flex: 1;
  background-color: #c9ccd4;
  color: #ffffff;
  font-size: 4vw;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 1.6vw;
}[data-route="pages/install/activate"] .btn-confirm {
  flex: 2;
  background-color: #3d6ef6;
  color: #ffffff;
  font-size: 4vw;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 1.6vw;
}

/* pages/repair/repair */
[data-route="pages/repair/repair"] /**repair.wxss 维修任务列表：蓝色主题（hero + 页签 + 筛选 + 维修单卡片）**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #f5f6f8;
}[data-route="pages/repair/repair"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/repair/repair"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/repair/repair"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/repair/repair"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/repair/repair"] /* ---------- 页签 ---------- */
.tab-row {
  display: flex;
  background-color: #ffffff;
  flex: none;
}[data-route="pages/repair/repair"] .tab-item {
  flex: 1;
  text-align: center;
  font-size: 4vw;
  color: #666666;
  padding: 3.2vw 0 2.6667vw;
  position: relative;
}[data-route="pages/repair/repair"] .tab-on {
  color: #3d6ef6;
  font-weight: bold;
}[data-route="pages/repair/repair"] .tab-on::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.0667vw;
  width: 6.4vw;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #3d6ef6;
}[data-route="pages/repair/repair"] /* ---------- 滚动区 ---------- */
.scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/repair/repair"] .container {
  padding: 3.2vw;
}[data-route="pages/repair/repair"] /* ---------- 搜索 + 级别筛选 ---------- */
.filter-row {
  display: flex;
  gap: 2.6667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/repair"] .search-box {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.6667vw 3.2vw;
}[data-route="pages/repair/repair"] .search-icon {
  font-size: 3.4667vw;
  margin-right: 1.6vw;
}[data-route="pages/repair/repair"] .search-input {
  flex: 1;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/repair/repair"] .level-box {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.6667vw 3.2vw;
}[data-route="pages/repair/repair"] .level-icon {
  width: 4.8vw;
  height: 4.8vw;
  line-height: 4.8vw;
  text-align: center;
  border-radius: 50%;
  border: 0.2667vw solid #b0b5bf;
  color: #b0b5bf;
  font-size: 2.9333vw;
  margin-right: 1.6vw;
}[data-route="pages/repair/repair"] .level-text {
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/repair/repair"] .level-arrow {
  font-size: 3.2vw;
  color: #b0b5bf;
  margin-left: 1.0667vw;
}[data-route="pages/repair/repair"] /* ---------- 日期区间 ---------- */
.date-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/repair"] .date-box {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.6667vw 3.2vw;
}[data-route="pages/repair/repair"] .date-icon {
  font-size: 3.4667vw;
  margin-right: 2.1333vw;
}[data-route="pages/repair/repair"] .date-input {
  flex: 1;
  text-align: center;
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/repair/repair"] .placeholder {
  color: #b0b5bf;
}[data-route="pages/repair/repair"] .date-sep {
  color: #b0b5bf;
  margin: 0 1.0667vw;
}[data-route="pages/repair/repair"] .reset-btn {
  color: #3d6ef6;
  font-size: 3.7333vw;
  padding-left: 3.2vw;
}[data-route="pages/repair/repair"] /* ---------- 只看我的开关 ---------- */
.mine-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 2.1333vw 3.2vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/repair"] .mine-label {
  font-size: 3.8667vw;
  color: #333333;
}[data-route="pages/repair/repair"] .mine-switch {
  transform: scale(0.8);
}[data-route="pages/repair/repair"] /* ---------- 空态 ---------- */
.empty-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 10.6667vw 0;
  text-align: center;
}[data-route="pages/repair/repair"] .empty-illus {
  font-size: 9.6vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/repair"] .empty-text {
  font-size: 4vw;
  color: #333333;
  margin-bottom: 1.0667vw;
}[data-route="pages/repair/repair"] .empty-hint {
  font-size: 3.2vw;
  color: #b0b5bf;
}[data-route="pages/repair/repair"] /* ---------- 维修单卡片 ---------- */
.task-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  border-left: 1.0667vw solid #3d6ef6;
  padding: 3.7333vw 3.2vw 2.6667vw;
  margin-bottom: 3.2vw;
}[data-route="pages/repair/repair"] .card-head {
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}[data-route="pages/repair/repair"] .card-icon {
  width: 10.1333vw;
  height: 10.1333vw;
  border-radius: 2.1333vw;
  background-color: #e8eefc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.0667vw;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/repair/repair"] .card-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/repair/repair"] .card-title {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #222222;
}[data-route="pages/repair/repair"] .card-sub {
  font-size: 3.2vw;
  color: #9095a0;
  margin-top: 0.8vw;
}[data-route="pages/repair/repair"] .status-pill {
  flex: none;
  font-size: 3.2vw;
  padding: 1.0667vw 2.6667vw;
  border-radius: 3.2vw;
}[data-route="pages/repair/repair"] .status-pending {
  background-color: #fff4e5;
  color: #f0821e;
}[data-route="pages/repair/repair"] .status-doing {
  background-color: #e8eefc;
  color: #3d6ef6;
}[data-route="pages/repair/repair"] .status-review {
  background-color: #ece7fd;
  color: #7a5af8;
}[data-route="pages/repair/repair"] .status-done {
  background-color: #e3f7e8;
  color: #2e9e5b;
}[data-route="pages/repair/repair"] /* 两列信息栅格 */
.info-grid {
  display: flex;
  flex-wrap: wrap;
}[data-route="pages/repair/repair"] .info-item {
  width: 50%;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/repair"] .info-label {
  font-size: 3.2vw;
  color: #9095a0;
  margin-bottom: 0.8vw;
}[data-route="pages/repair/repair"] .info-value {
  font-size: 3.7333vw;
  color: #222222;
}[data-route="pages/repair/repair"] .urgency-tag {
  display: inline-block;
  font-size: 3.2vw;
  padding: 0.5333vw 2.4vw;
  border-radius: 1.0667vw;
}[data-route="pages/repair/repair"] .tag-normal {
  background-color: #e3f7e8;
  color: #2e9e5b;
}[data-route="pages/repair/repair"] .tag-urgent {
  background-color: #fdecec;
  color: #d9453a;
}[data-route="pages/repair/repair"] .reject-text {
  font-size: 3.3333vw;
  color: #d9453a;
}[data-route="pages/repair/repair"] .card-foot {
  border-top: 0.1333vw solid #f0f1f4;
  padding-top: 2.4vw;
  display: flex;
  align-items: center;
}[data-route="pages/repair/repair"] .more-link {
  color: #3d6ef6;
  font-size: 3.7333vw;
  font-weight: bold;
}[data-route="pages/repair/repair"] .list-end {
  text-align: center;
  color: #b0b5bf;
  font-size: 3.3333vw;
  padding: 2.1333vw 0 4.2667vw;
}[data-route="pages/repair/repair"] /* ---------- FAB ---------- */
.fab {
  position: fixed;
  right: 5.3333vw;
  bottom: 10.6667vw;
  width: 14.4vw;
  height: 14.4vw;
  border-radius: 50%;
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  color: #ffffff;
  font-size: 7.4667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1.0667vw 3.2vw rgba(61, 110, 246, 0.4);
}

/* pages/repair/new */
[data-route="pages/repair/new"] /**new.wxss 新建维修任务**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/repair/new"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/repair/new"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/repair/new"] .container {
  padding: 3.2vw;
}[data-route="pages/repair/new"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
}[data-route="pages/repair/new"] .field {
  margin-bottom: 3.7333vw;
}[data-route="pages/repair/new"] .field:last-child {
  margin-bottom: 0;
}[data-route="pages/repair/new"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.6vw;
}[data-route="pages/repair/new"] .required {
  color: #d9453a;
}[data-route="pages/repair/new"] .picker {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/repair/new"] .placeholder {
  color: #b0b6bf;
}[data-route="pages/repair/new"] .fallback-hint {
  margin-top: 1.3333vw;
  font-size: 2.9333vw;
  color: #f5a623;
}[data-route="pages/repair/new"] .urgency-row {
  display: flex;
  gap: 2.1333vw;
}[data-route="pages/repair/new"] .urgency-tag {
  padding: 1.8667vw 5.3333vw;
  border-radius: 1.6vw;
  background-color: #f0f1f3;
  color: #666666;
  font-size: 3.4667vw;
  border: 0.1333vw solid transparent;
}[data-route="pages/repair/new"] .urgency-on.urgent {
  background-color: rgba(217, 69, 58, 0.1);
  color: #d9453a;
  border-color: #d9453a;
  font-weight: bold;
}[data-route="pages/repair/new"] .urgency-on.normal {
  background-color: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
  border-color: #1a7f4b;
  font-weight: bold;
}[data-route="pages/repair/new"] .textarea {
  width: 100%;
  height: 24vw;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.6667vw 3.2vw;
  font-size: 3.4667vw;
  box-sizing: border-box;
}[data-route="pages/repair/new"] .footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/repair/new"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #1a7f4b;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}[data-route="pages/repair/new"] /* 下一步提示 */
.tip-bar {
  font-size: 3.2vw;
  color: #4a90d9;
  background-color: rgba(74, 144, 217, 0.08);
  border-radius: 1.6vw;
  padding: 2.4vw 2.9333vw;
  line-height: 1.5;
}

/* pages/repair/detail */
[data-route="pages/repair/detail"] /**detail.wxss 维修任务详情：蓝色主题 + 分阶段处理 + 时间线**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/repair/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/repair/detail"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/repair/detail"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/repair/detail"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/repair/detail"] /* ---------- 滚动区 ---------- */
.scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/repair/detail"] .form-list {
  padding: 3.2vw;
}[data-route="pages/repair/detail"] .form-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.7333vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/repair/detail"] /* ---------- 只读/驳回提示 ---------- */
.notice-bar {
  background-color: #e8eefc;
  color: #3d6ef6;
  font-size: 3.3333vw;
  border-radius: 1.6vw;
  padding: 2.4vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/repair/detail"] .reject-bar {
  background-color: #fdecec;
  border-radius: 1.6vw;
  padding: 2.6667vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/repair/detail"] .reject-title {
  color: #d9453a;
  font-size: 3.6vw;
  font-weight: bold;
  margin-bottom: 0.8vw;
}[data-route="pages/repair/detail"] .reject-why {
  color: #333333;
  font-size: 3.4667vw;
}[data-route="pages/repair/detail"] .reject-meta {
  color: #9095a0;
  font-size: 3.0667vw;
  margin-top: 0.8vw;
}[data-route="pages/repair/detail"] /* ---------- 基本信息卡 ---------- */
.card-head {
  display: flex;
  align-items: center;
  padding-bottom: 2.6667vw;
  border-bottom: 0.1333vw solid #f0f1f4;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/detail"] .card-icon {
  width: 10.1333vw;
  height: 10.1333vw;
  border-radius: 2.1333vw;
  background-color: #e8eefc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.0667vw;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/repair/detail"] .card-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/repair/detail"] .card-title {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #222222;
}[data-route="pages/repair/detail"] .card-no {
  font-size: 3.2vw;
  color: #9095a0;
  margin-top: 0.8vw;
}[data-route="pages/repair/detail"] .status-pill {
  flex: none;
  font-size: 3.2vw;
  padding: 1.0667vw 2.6667vw;
  border-radius: 3.2vw;
}[data-route="pages/repair/detail"] .status-pending {
  background-color: #fff4e5;
  color: #f0821e;
}[data-route="pages/repair/detail"] .status-doing {
  background-color: #e8eefc;
  color: #3d6ef6;
}[data-route="pages/repair/detail"] .status-review {
  background-color: #ece7fd;
  color: #7a5af8;
}[data-route="pages/repair/detail"] .status-done {
  background-color: #e3f7e8;
  color: #2e9e5b;
}[data-route="pages/repair/detail"] .grid-label {
  font-size: 3.3333vw;
  color: #9095a0;
  margin-bottom: 2.1333vw;
}[data-route="pages/repair/detail"] .info-grid {
  display: flex;
  flex-wrap: wrap;
}[data-route="pages/repair/detail"] .info-item {
  width: 50%;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/detail"] .info-full {
  width: 100%;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/detail"] /* 位置 + 导航 */
.loc-item {
  border-top: 0.1333vw solid #f0f1f4;
  padding-top: 2.4vw;
}[data-route="pages/repair/detail"] .loc-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/repair/detail"] .loc-text {
  flex: 1;
  font-size: 3.6vw;
  color: #222222;
  margin-right: 2.1333vw;
}[data-route="pages/repair/detail"] .nav-btn {
  flex: none;
  display: flex;
  align-items: center;
  background-color: #e8eefc;
  border-radius: 3.2vw;
  padding: 1.0667vw 2.9333vw;
  font-size: 3.3333vw;
  color: #3d6ef6;
  font-weight: bold;
}[data-route="pages/repair/detail"] .nav-icon {
  font-size: 3.2vw;
  margin-right: 0.8vw;
}[data-route="pages/repair/detail"] .info-label {
  font-size: 3.2vw;
  color: #9095a0;
  margin-bottom: 0.8vw;
}[data-route="pages/repair/detail"] .info-value {
  font-size: 3.7333vw;
  color: #222222;
}[data-route="pages/repair/detail"] .urgency-tag {
  display: inline-block;
  font-size: 3.2vw;
  padding: 0.5333vw 2.4vw;
  border-radius: 1.0667vw;
}[data-route="pages/repair/detail"] .tag-normal {
  background-color: #e3f7e8;
  color: #2e9e5b;
}[data-route="pages/repair/detail"] .tag-urgent {
  background-color: #fdecec;
  color: #d9453a;
}[data-route="pages/repair/detail"] /* ---------- 区块标题（蓝色竖条） ---------- */
.sec-title {
  display: flex;
  align-items: center;
  font-size: 4vw;
  font-weight: bold;
  color: #222222;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/detail"] .sec-title::before {
  content: '';
  width: 0.8vw;
  height: 4vw;
  border-radius: 0.4vw;
  background-color: #3d6ef6;
  margin-right: 1.8667vw;
}[data-route="pages/repair/detail"] .required {
  color: #d9453a;
  margin-left: 0.8vw;
}[data-route="pages/repair/detail"] .hint-bar {
  background-color: #f5f6f8;
  color: #9095a0;
  font-size: 3.3333vw;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/repair/detail"] /* ---------- 照片虚线上传框 ---------- */
.photo-drop {
  border: 0.2667vw dashed #c4d2f7;
  background-color: #f7f9ff;
  border-radius: 2.1333vw;
  padding: 6.4vw 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/detail"] .drop-icon {
  width: 11.7333vw;
  height: 11.7333vw;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: 0 0.5333vw 2.1333vw rgba(61, 110, 246, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.3333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/repair/detail"] .drop-text {
  color: #3d6ef6;
  font-size: 3.6vw;
}[data-route="pages/repair/detail"] .photo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
}[data-route="pages/repair/detail"] .photo-cell {
  position: relative;
  width: 20.2667vw;
  height: 20.2667vw;
}[data-route="pages/repair/detail"] .photo-thumb {
  width: 100%;
  height: 100%;
  border-radius: 1.6vw;
}[data-route="pages/repair/detail"] .photo-del {
  position: absolute;
  top: -1.6vw;
  right: -1.6vw;
  width: 5.3333vw;
  height: 5.3333vw;
  line-height: 4.8vw;
  text-align: center;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 3.7333vw;
}[data-route="pages/repair/detail"] /* ---------- 物料设备 ---------- */
.wh-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/repair/detail"] .f-label {
  width: 17.3333vw;
  flex: none;
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/repair/detail"] .picker-value {
  flex: 1;
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 2.4vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/repair/detail"] .picker-empty {
  color: #b0b5bf;
}[data-route="pages/repair/detail"] .picker-arrow {
  color: #b0b5bf;
  font-size: 3.2vw;
}[data-route="pages/repair/detail"] .pick-hint {
  color: #9095a0;
  font-size: 3.3333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/repair/detail"] .chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.1333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/repair/detail"] .chip {
  border: 0.2667vw solid #e2e5eb;
  border-radius: 1.6vw;
  padding: 1.8667vw 2.9333vw;
  font-size: 3.4667vw;
  color: #333333;
  background-color: #ffffff;
}[data-route="pages/repair/detail"] .chip-on {
  border-color: #2e9e5b;
  background-color: #e3f7e8;
  color: #2e9e5b;
  position: relative;
}[data-route="pages/repair/detail"] .chip-on::before {
  content: '✓ ';
  font-weight: bold;
}[data-route="pages/repair/detail"] .picked-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3.6vw;
  color: #333333;
  padding: 1.6vw 0;
}[data-route="pages/repair/detail"] .picked-count {
  color: #9095a0;
  font-size: 3.3333vw;
}[data-route="pages/repair/detail"] .len-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.6vw 0;
}[data-route="pages/repair/detail"] .len-label {
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/repair/detail"] .len-input {
  width: 26.6667vw;
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 1.8667vw 2.6667vw;
  font-size: 3.6vw;
  text-align: center;
}[data-route="pages/repair/detail"] /* 只读物料清单 */
.used-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 2.4vw 3.2vw;
  margin-bottom: 1.6vw;
}[data-route="pages/repair/detail"] .used-name {
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/repair/detail"] .used-qty {
  font-size: 3.3333vw;
  color: #3d6ef6;
}[data-route="pages/repair/detail"] .used-wh {
  font-size: 3.2vw;
  color: #9095a0;
}[data-route="pages/repair/detail"] /* ---------- 处理说明 ---------- */
.textarea {
  width: 100%;
  height: 29.3333vw;
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 2.6667vw 3.2vw;
  font-size: 3.6vw;
  box-sizing: border-box;
}[data-route="pages/repair/detail"] /* ---------- 处理进度时间线 ---------- */
.timeline {
  padding-left: 0.5333vw;
}[data-route="pages/repair/detail"] .tl-item {
  position: relative;
  padding: 0 0 4.8vw 5.3333vw;
}[data-route="pages/repair/detail"] .tl-item::before {
  content: '';
  position: absolute;
  left: 1.2vw;
  top: 3.2vw;
  bottom: 0;
  width: 0.2667vw;
  background-color: #e2e5eb;
}[data-route="pages/repair/detail"] .tl-item:last-child::before {
  display: none;
}[data-route="pages/repair/detail"] .tl-dot {
  position: absolute;
  left: 0;
  top: 0.8vw;
  width: 2.6667vw;
  height: 2.6667vw;
  border-radius: 50%;
  background-color: #d5d9e0;
}[data-route="pages/repair/detail"] .dot-on {
  background-color: #3d6ef6;
}[data-route="pages/repair/detail"] .dot-reject {
  background-color: #d9453a;
}[data-route="pages/repair/detail"] .tl-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/repair/detail"] .tl-title {
  font-size: 3.8667vw;
  font-weight: bold;
  color: #222222;
}[data-route="pages/repair/detail"] .tl-todo .tl-title {
  color: #222222;
}[data-route="pages/repair/detail"] .title-reject {
  color: #d9453a;
}[data-route="pages/repair/detail"] .tl-pill {
  font-size: 2.9333vw;
  padding: 0.8vw 2.6667vw;
  border-radius: 2.9333vw;
}[data-route="pages/repair/detail"] .pill-done {
  background-color: #2e9e5b;
  color: #ffffff;
}[data-route="pages/repair/detail"] .pill-todo {
  background-color: #fff4e5;
  color: #f0821e;
}[data-route="pages/repair/detail"] .pill-reject {
  background-color: #d9453a;
  color: #ffffff;
}[data-route="pages/repair/detail"] .tl-meta {
  display: flex;
  align-items: center;
  gap: 2.6667vw;
  margin-top: 1.3333vw;
}[data-route="pages/repair/detail"] .tl-name {
  font-size: 3.2vw;
  color: #9095a0;
}[data-route="pages/repair/detail"] .tl-name-v {
  color: #333333;
}[data-route="pages/repair/detail"] .tl-time {
  font-size: 3.2vw;
  color: #9095a0;
}[data-route="pages/repair/detail"] .tl-phone {
  color: #3d6ef6;
  font-size: 3.3333vw;
  margin-top: 1.0667vw;
}[data-route="pages/repair/detail"] /* ---------- 底部操作 ---------- */
.footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/repair/detail"] .footer-row {
  display: flex;
  gap: 3.2vw;
}[data-route="pages/repair/detail"] .footer-btn {
  flex: 1;
  height: 12.2667vw;
  line-height: 12.2667vw;
  text-align: center;
  border-radius: 2.1333vw;
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  color: #ffffff;
  font-size: 4vw;
  font-weight: bold;
}[data-route="pages/repair/detail"] .btn-wide {
  flex: 2;
}[data-route="pages/repair/detail"] .btn-ghost {
  background-color: #f0f1f4;
  color: #333333;
}[data-route="pages/repair/detail"] .btn-reject {
  color: #d9453a;
  background-color: #fdecec;
}[data-route="pages/repair/detail"] .done-hint,[data-route="pages/repair/detail"] .readonly-hint {
  text-align: center;
  font-size: 3.4667vw;
  color: #9095a0;
  padding: 1.3333vw 0;
}

/* pages/ops/staff */
[data-route="pages/ops/staff"] /**staff.wxss 运维人员维护**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/ops/staff"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/ops/staff"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/ops/staff"] .container {
  padding: 3.2vw;
}[data-route="pages/ops/staff"] /* ---------- 表单 ---------- */
.form-card {
  margin-bottom: 3.2vw;
}[data-route="pages/ops/staff"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
}[data-route="pages/ops/staff"] .sec-title {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 3.2vw;
}[data-route="pages/ops/staff"] .field {
  margin-bottom: 3.2vw;
}[data-route="pages/ops/staff"] .field:last-child { margin-bottom: 0; }[data-route="pages/ops/staff"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.6vw;
}[data-route="pages/ops/staff"] .required { color: #d9453a; }[data-route="pages/ops/staff"] .input {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
}[data-route="pages/ops/staff"] .picker {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/ops/staff"] .placeholder { color: #b0b6bf; }[data-route="pages/ops/staff"] .btn-row {
  display: flex;
  gap: 2.6667vw;
  margin-top: 4.2667vw;
}[data-route="pages/ops/staff"] .btn-cancel {
  flex: 1;
  text-align: center;
  font-size: 3.7333vw;
  color: #666666;
  background-color: #f0f1f3;
  border-radius: 5.8667vw;
  padding: 2.6667vw 0;
}[data-route="pages/ops/staff"] .btn-save {
  flex: 2;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #1a7f4b;
  border-radius: 5.8667vw;
  padding: 2.6667vw 0;
}[data-route="pages/ops/staff"] /* ---------- 工具栏 ---------- */
.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3.2vw;
}[data-route="pages/ops/staff"] .toolbar-pickers {
  display: flex;
  gap: 1.6vw;
}[data-route="pages/ops/staff"] .toolbar-picker {
  font-size: 3.4667vw;
  color: #333333;
  background-color: #ffffff;
  border-radius: 133.2vw;
  padding: 1.8667vw 3.7333vw;
}[data-route="pages/ops/staff"] .toolbar-add {
  font-size: 3.4667vw;
  font-weight: bold;
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.08);
  border-radius: 133.2vw;
  padding: 1.8667vw 4.2667vw;
}[data-route="pages/ops/staff"] /* ---------- 人员列表 ---------- */
.staff-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.2vw;
  margin-bottom: 2.6667vw;
  display: flex;
  align-items: center;
}[data-route="pages/ops/staff"] .staff-avatar {
  width: 11.7333vw;
  height: 11.7333vw;
  border-radius: 5.8667vw;
  background-color: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
  font-size: 4.8vw;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 3.2vw;
  flex: none;
}[data-route="pages/ops/staff"] .staff-body {
  flex: 1;
  min-width: 0;
}[data-route="pages/ops/staff"] .staff-name {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 1.0667vw;
}[data-route="pages/ops/staff"] .staff-info {
  font-size: 3.2vw;
  color: #999999;
  margin-bottom: 0.5333vw;
}[data-route="pages/ops/staff"] .link { color: #4a90d9; }[data-route="pages/ops/staff"] .staff-ops {
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 1.6vw;
  margin-left: 2.1333vw;
}[data-route="pages/ops/staff"] .op-edit {
  font-size: 3.2vw;
  color: #4a90d9;
  background-color: rgba(74, 144, 217, 0.08);
  border-radius: 133.2vw;
  padding: 1.0667vw 3.2vw;
  text-align: center;
}[data-route="pages/ops/staff"] .op-del {
  font-size: 3.2vw;
  color: #d9453a;
  background-color: rgba(217, 69, 58, 0.08);
  border-radius: 133.2vw;
  padding: 1.0667vw 3.2vw;
  text-align: center;
}[data-route="pages/ops/staff"] /* ---------- 空状态 ---------- */
.empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 10.6667vw 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/ops/staff"] .empty-illus {
  font-size: 9.6vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/ops/staff"] .empty-text {
  font-size: 3.7333vw;
  color: #999999;
}[data-route="pages/ops/staff"] .empty-hint {
  font-size: 2.9333vw;
  color: #c0c4cc;
  margin-top: 1.0667vw;
}

/* pages/inspect/inspect */
[data-route="pages/inspect/inspect"] /**inspect.wxss 巡检模块：蓝色主题统计卡 + 平铺巡检单列表**/
body {
  background-color: #f5f6f8;
}[data-route="pages/inspect/inspect"] .page {
  position: relative;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/inspect/inspect"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/inspect/inspect"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/inspect/inspect"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/inspect/inspect"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/inspect/inspect"] .container {
  padding: 3.2vw;
}[data-route="pages/inspect/inspect"] /* ---------- 统计卡 ---------- */
.stat-card {
  background: linear-gradient(135deg, #4a7bff 0%, #3d6ef6 100%);
  border-radius: 2.6667vw;
  padding: 4.8vw 2.1333vw 4vw;
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/inspect"] .stat-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/inspect/inspect"] .stat-num {
  color: #ffffff;
  font-size: 6.9333vw;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 1.6vw;
}[data-route="pages/inspect/inspect"] .stat-label {
  color: rgba(255, 255, 255, 0.92);
  font-size: 3.2vw;
  display: flex;
  align-items: center;
}[data-route="pages/inspect/inspect"] .stat-divider {
  width: 0.2667vw;
  height: 7.4667vw;
  background-color: rgba(255, 255, 255, 0.25);
}[data-route="pages/inspect/inspect"] .dot {
  width: 1.6vw;
  height: 1.6vw;
  border-radius: 50%;
  margin-right: 1.0667vw;
  display: inline-block;
}[data-route="pages/inspect/inspect"] .dot-orange { background-color: #ffb340; }[data-route="pages/inspect/inspect"] .dot-green { background-color: #4cd08d; }[data-route="pages/inspect/inspect"] .dot-red { background-color: #ff6b5e; }[data-route="pages/inspect/inspect"] .dot-blue { background-color: #8fd8ff; }[data-route="pages/inspect/inspect"] /* ---------- 页签 ---------- */
.tabs {
  display: flex;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/inspect"] .tab {
  flex: 1;
  text-align: center;
  padding: 3.2vw 0;
  font-size: 3.8667vw;
  color: #666666;
  position: relative;
}[data-route="pages/inspect/inspect"] .tab-active {
  color: #3d6ef6;
  font-weight: bold;
}[data-route="pages/inspect/inspect"] .tab-active::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 6.4vw;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #3d6ef6;
}[data-route="pages/inspect/inspect"] /* ---------- 搜索 + 区域筛选 ---------- */
.filter-bar {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/inspect"] .search-box {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/inspect/inspect"] .search-icon {
  font-size: 4vw;
  color: #999999;
  margin-right: 1.6vw;
}[data-route="pages/inspect/inspect"] .search-input {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/inspect/inspect"] .search-placeholder {
  color: #b0b5bf;
}[data-route="pages/inspect/inspect"] .region-picker {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/inspect/inspect"] .region-icon {
  font-size: 3.4667vw;
  margin-right: 1.0667vw;
}[data-route="pages/inspect/inspect"] .region-text {
  font-size: 3.4667vw;
  color: #333333;
  max-width: 29.3333vw;
  overflow: hidden;
  white-space: nowrap;
}[data-route="pages/inspect/inspect"] .region-arrow {
  font-size: 3.2vw;
  color: #999999;
  margin-left: 1.0667vw;
}[data-route="pages/inspect/inspect"] /* ---------- 巡检单卡片 ---------- */
.task-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  border-left: 0.8vw solid #ff8c3a;
  padding: 3.7333vw 3.2vw 2.6667vw;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/inspect"] .task-head {
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/inspect"] .task-icon {
  width: 9.6vw;
  height: 9.6vw;
  border-radius: 2.1333vw;
  background: linear-gradient(135deg, #ffb26b 0%, #ff8c3a 100%);
  color: #ffffff;
  font-size: 4.5333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/inspect/inspect"] .task-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/inspect/inspect"] .task-title {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/inspect/inspect"] .task-no {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/inspect/inspect"] .status-pill {
  font-size: 2.9333vw;
  padding: 1.0667vw 2.6667vw;
  border-radius: 133.2vw;
  flex: none;
}[data-route="pages/inspect/inspect"] .status-pending {
  color: #ff8c3a;
  background-color: rgba(255, 140, 58, 0.12);
}[data-route="pages/inspect/inspect"] .status-doing {
  color: #3d6ef6;
  background-color: rgba(61, 110, 246, 0.1);
}[data-route="pages/inspect/inspect"] .status-done {
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.12);
}[data-route="pages/inspect/inspect"] .task-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 2.1333vw;
}[data-route="pages/inspect/inspect"] .task-cols {
  display: flex;
}[data-route="pages/inspect/inspect"] .task-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 2.1333vw;
}[data-route="pages/inspect/inspect"] .task-label {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-bottom: 1.0667vw;
}[data-route="pages/inspect/inspect"] .task-value {
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/inspect/inspect"] .progress-box {
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 2.4vw 2.6667vw;
}[data-route="pages/inspect/inspect"] .progress-box .task-label {
  margin-bottom: 1.3333vw;
}[data-route="pages/inspect/inspect"] .progress-text {
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/inspect/inspect"] .task-foot {
  border-top: 0.1333vw solid #f0f1f3;
  padding-top: 2.4vw;
  font-size: 3.4667vw;
  color: #ff8c3a;
}[data-route="pages/inspect/inspect"] /* ---------- 空态 / 列表尾 ---------- */
.empty {
  text-align: center;
  padding: 13.3333vw 0;
  font-size: 3.7333vw;
  color: #999999;
}[data-route="pages/inspect/inspect"] .list-end {
  text-align: center;
  padding: 2.1333vw 0 4.2667vw;
  font-size: 3.2vw;
  color: #b0b5bf;
}[data-route="pages/inspect/inspect"] /* ---------- 悬浮新建按钮 ---------- */
.fab {
  position: fixed;
  right: 5.3333vw;
  bottom: 10.6667vw;
  width: 14.4vw;
  height: 14.4vw;
  border-radius: 50%;
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  color: #ffffff;
  font-size: 7.4667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1.0667vw 3.2vw rgba(61, 110, 246, 0.4);
}

/* pages/inspect/new */
[data-route="pages/inspect/new"] /**new.wxss 新建巡检任务**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/inspect/new"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/inspect/new"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/inspect/new"] .container {
  padding: 3.2vw;
}[data-route="pages/inspect/new"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
}[data-route="pages/inspect/new"] .field {
  margin-bottom: 3.7333vw;
}[data-route="pages/inspect/new"] .field:last-child {
  margin-bottom: 0;
}[data-route="pages/inspect/new"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.6vw;
}[data-route="pages/inspect/new"] .required {
  color: #d9453a;
}[data-route="pages/inspect/new"] .picker {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/inspect/new"] .placeholder {
  color: #b0b6bf;
}[data-route="pages/inspect/new"] .fallback-hint {
  margin-bottom: 1.6vw;
  font-size: 2.9333vw;
  color: #f5a623;
}[data-route="pages/inspect/new"] .well-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
  max-height: 64vw;
  overflow-y: scroll;
}[data-route="pages/inspect/new"] .well-chip {
  padding: 1.3333vw 3.2vw;
  border-radius: 1.0667vw;
  background-color: #f0f1f3;
  color: #666666;
  font-size: 3.2vw;
  border: 0.1333vw solid transparent;
}[data-route="pages/inspect/new"] .well-on {
  background-color: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
  border-color: #1a7f4b;
  font-weight: bold;
}[data-route="pages/inspect/new"] .footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/inspect/new"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #1a7f4b;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}

/* pages/inspect/detail */
[data-route="pages/inspect/detail"] /**detail.wxss 巡检单详情：蓝色主题，巡检单信息 + 逐井巡检 + 转维修单弹窗**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/inspect/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/inspect/detail"] /* ---------- 蓝色标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #5b8cff 0%, #3d6ef6 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/inspect/detail"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/inspect/detail"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/inspect/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/inspect/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/inspect/detail"] /* ---------- 巡检单信息卡 ---------- */
.form-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.7333vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] .order-head {
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/detail"] .order-icon {
  width: 9.6vw;
  height: 9.6vw;
  border-radius: 2.1333vw;
  background: linear-gradient(135deg, #ffb26b 0%, #ff8c3a 100%);
  color: #ffffff;
  font-size: 4.5333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/inspect/detail"] .order-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/inspect/detail"] .order-title {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/inspect/detail"] .order-no {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/inspect/detail"] .status-pill {
  font-size: 2.9333vw;
  padding: 1.0667vw 2.6667vw;
  border-radius: 133.2vw;
  flex: none;
}[data-route="pages/inspect/detail"] .status-pending {
  color: #ff8c3a;
  background-color: rgba(255, 140, 58, 0.12);
}[data-route="pages/inspect/detail"] .status-doing {
  color: #3d6ef6;
  background-color: rgba(61, 110, 246, 0.1);
}[data-route="pages/inspect/detail"] .status-done {
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.12);
}[data-route="pages/inspect/detail"] .st-ok {
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.12);
}[data-route="pages/inspect/detail"] .st-abn {
  color: #d9453a;
  background-color: rgba(217, 69, 58, 0.1);
}[data-route="pages/inspect/detail"] .st-none {
  color: #8a93a6;
  background-color: #f0f1f3;
}[data-route="pages/inspect/detail"] .info-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.9333vw;
}[data-route="pages/inspect/detail"] .info-row:last-child {
  margin-bottom: 0.5333vw;
}[data-route="pages/inspect/detail"] .info-label {
  font-size: 3.4667vw;
  color: #8a93a6;
  margin-right: 3.2vw;
  flex: none;
  width: 20vw;
}[data-route="pages/inspect/detail"] .info-value {
  font-size: 3.4667vw;
  color: #333333;
  flex: 1;
}[data-route="pages/inspect/detail"] /* ---------- 未保存提示横幅 ---------- */
.warn-banner {
  background-color: rgba(61, 110, 246, 0.08);
  color: #3d6ef6;
  font-size: 3.3333vw;
  border-radius: 1.6vw;
  padding: 2.6667vw 3.2vw;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] /* ---------- 蓝色竖条小节标题 ---------- */
.sec-title-blue {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
  padding-left: 2.4vw;
  position: relative;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/detail"] .sec-title-blue::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1.0667vw;
  width: 1.0667vw;
  height: 4.2667vw;
  border-radius: 0.5333vw;
  background-color: #3d6ef6;
}[data-route="pages/inspect/detail"] /* ---------- 井卡片 ---------- */
.well-card {
  border-top: 0.5333vw solid #3d6ef6;
  border-radius: 2.1333vw;
}[data-route="pages/inspect/detail"] .well-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2.6667vw;
  border-bottom: 0.1333vw solid #f0f1f3;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/detail"] .well-title {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
  padding-left: 2.4vw;
  position: relative;
}[data-route="pages/inspect/detail"] .well-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.8vw;
  width: 1.0667vw;
  height: 4vw;
  border-radius: 0.5333vw;
  background-color: #3d6ef6;
}[data-route="pages/inspect/detail"] .well-tags {
  display: flex;
  align-items: center;
  gap: 1.6vw;
}[data-route="pages/inspect/detail"] .tag-unsaved {
  font-size: 2.9333vw;
  color: #ff8c3a;
  background-color: rgba(255, 140, 58, 0.12);
  border-radius: 1.0667vw;
  padding: 0.8vw 1.8667vw;
}[data-route="pages/inspect/detail"] /* ---------- 表单字段 ---------- */
.f-label {
  font-size: 3.4667vw;
  color: #333333;
  margin-bottom: 1.8667vw;
}[data-route="pages/inspect/detail"] .required {
  color: #d9453a;
  margin-left: 0.5333vw;
}[data-route="pages/inspect/detail"] /* 现场打卡 */
.loc-box {
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 3.2vw;
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] .loc-main {
  flex: 1;
  display: flex;
  flex-direction: column;
}[data-route="pages/inspect/detail"] .loc-text {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/inspect/detail"] .loc-gps {
  font-size: 2.9333vw;
  color: #a0a5b0;
  margin-top: 0.8vw;
}[data-route="pages/inspect/detail"] .loc-empty {
  color: #b0b5bf;
}[data-route="pages/inspect/detail"] .loc-link {
  font-size: 3.6vw;
  color: #3d6ef6;
  font-weight: bold;
  flex: none;
}[data-route="pages/inspect/detail"] /* 巡检结果 */
.result-row {
  display: flex;
  gap: 2.6667vw;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] .result-chip {
  flex: 1;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
  color: #666666;
  font-size: 3.6vw;
  border: 0.2667vw solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/inspect/detail"] .rc-dot {
  width: 1.8667vw;
  height: 1.8667vw;
  border-radius: 50%;
  background-color: #c0c5cf;
  margin-right: 1.3333vw;
  display: inline-block;
}[data-route="pages/inspect/detail"] .rc-ok-on {
  background-color: rgba(43, 164, 113, 0.08);
  border-color: #2ba471;
  color: #2ba471;
  font-weight: bold;
}[data-route="pages/inspect/detail"] .rc-dot-ok {
  background-color: #2ba471;
}[data-route="pages/inspect/detail"] .rc-abn-on {
  background-color: rgba(217, 69, 58, 0.05);
  border-color: #d9453a;
  color: #d9453a;
  font-weight: bold;
}[data-route="pages/inspect/detail"] .rc-dot-abn {
  background-color: #d9453a;
}[data-route="pages/inspect/detail"] /* 维修事项下拉 */
.picker-value {
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 3.2vw;
  font-size: 3.6vw;
  color: #333333;
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] .picker-value > text:first-child {
  flex: 1;
}[data-route="pages/inspect/detail"] .picker-empty {
  color: #b0b5bf;
}[data-route="pages/inspect/detail"] .picker-arrow {
  font-size: 3.4667vw;
  color: #999999;
}[data-route="pages/inspect/detail"] /* 备注 */
.textarea {
  width: 100%;
  height: 29.3333vw;
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 2.6667vw 3.2vw;
  font-size: 3.4667vw;
  color: #333333;
  box-sizing: border-box;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] .ta-placeholder {
  color: #b0b5bf;
}[data-route="pages/inspect/detail"] /* 现场照片 */
.photo-add {
  border: 0.2667vw dashed #c9d4ff;
  border-radius: 1.6vw;
  color: #3d6ef6;
  text-align: center;
  padding: 4.8vw 0;
  font-size: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/detail"] .photo-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
  margin-bottom: 3.2vw;
}[data-route="pages/inspect/detail"] .photo-cell {
  position: relative;
}[data-route="pages/inspect/detail"] .photo-thumb {
  width: 24vw;
  height: 24vw;
  border-radius: 1.3333vw;
  background-color: #f0f1f3;
}[data-route="pages/inspect/detail"] .photo-del {
  position: absolute;
  top: -1.6vw;
  right: -1.6vw;
  width: 5.3333vw;
  height: 5.3333vw;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 3.7333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/inspect/detail"] /* 转维修 */
.transfer-btn {
  background-color: rgba(61, 110, 246, 0.1);
  color: #3d6ef6;
  border-radius: 1.6vw;
  padding: 2.6667vw;
  text-align: center;
  font-size: 3.6vw;
  font-weight: bold;
}[data-route="pages/inspect/detail"] .transferred-bar {
  background-color: rgba(43, 164, 113, 0.1);
  color: #2ba471;
  border-radius: 1.6vw;
  padding: 2.6667vw;
  text-align: center;
  font-size: 3.4667vw;
}[data-route="pages/inspect/detail"] /* ---------- 底部操作栏 ---------- */
.footer {
  flex: none;
  background-color: #ffffff;
  border-top: 0.1333vw solid #ececec;
  padding: 2.1333vw 4.2667vw;
  padding-bottom: calc(3.2vw + env(safe-area-inset-bottom));
  display: flex;
  gap: 3.2vw;
}[data-route="pages/inspect/detail"] .btn-draft {
  flex: 1;
  background-color: #f0f1f3;
  color: #333333;
  font-size: 4vw;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 2.1333vw;
}[data-route="pages/inspect/detail"] .btn-finish {
  flex: 1.6;
  background-color: #3d6ef6;
  color: #ffffff;
  font-size: 4vw;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 2.1333vw;
}[data-route="pages/inspect/detail"] .done-hint {
  flex: 1;
  text-align: center;
  font-size: 3.4667vw;
  color: #2ba471;
  background-color: rgba(43, 164, 113, 0.08);
  border-radius: 1.6vw;
  padding: 2.6667vw;
}[data-route="pages/inspect/detail"] /* ---------- 转维修单弹窗 ---------- */
.modal-mask {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 999;
  display: flex;
  align-items: flex-end;
}[data-route="pages/inspect/detail"] .modal {
  width: 100%;
  background-color: #ffffff;
  border-radius: 4.2667vw 4.2667vw 0 0;
  padding: 2.6667vw 5.3333vw calc(5.3333vw + env(safe-area-inset-bottom));
  box-sizing: border-box;
}[data-route="pages/inspect/detail"] .modal-handle {
  width: 9.6vw;
  height: 1.0667vw;
  border-radius: 0.5333vw;
  background-color: #e0e3ea;
  margin: 0 auto 3.7333vw;
}[data-route="pages/inspect/detail"] .modal-title {
  text-align: center;
  font-size: 4.5333vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.6667vw;
}[data-route="pages/inspect/detail"] .modal-desc {
  font-size: 3.3333vw;
  color: #8a93a6;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 3.7333vw;
}[data-route="pages/inspect/detail"] .modal-label {
  font-size: 3.6vw;
  color: #333333;
  margin-bottom: 2.1333vw;
}[data-route="pages/inspect/detail"] .level-row {
  display: flex;
  gap: 3.2vw;
  margin-bottom: 3.7333vw;
}[data-route="pages/inspect/detail"] .level-chip {
  flex: 1;
  text-align: center;
  padding: 3.2vw 0;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
  color: #666666;
  font-size: 3.7333vw;
  border: 0.2667vw solid transparent;
}[data-route="pages/inspect/detail"] .level-on {
  background-color: rgba(61, 110, 246, 0.08);
  border-color: #3d6ef6;
  color: #3d6ef6;
  font-weight: bold;
}[data-route="pages/inspect/detail"] .modal-staff {
  background-color: #f5f6f8;
  border-radius: 1.6vw;
  padding: 3.2vw;
  font-size: 3.6vw;
  color: #333333;
  display: flex;
  align-items: center;
  margin-bottom: 4.2667vw;
}[data-route="pages/inspect/detail"] .modal-staff > text:first-child {
  flex: 1;
}[data-route="pages/inspect/detail"] .modal-btns {
  display: flex;
  gap: 3.2vw;
}[data-route="pages/inspect/detail"] .modal-btns .btn-draft {
  flex: 1;
  border-radius: 2.1333vw;
  background-color: #f0f1f3;
}[data-route="pages/inspect/detail"] .btn-transfer {
  flex: 1.6;
  background-color: #d9453a;
  color: #ffffff;
  font-size: 4vw;
  text-align: center;
  padding: 2.9333vw 0;
  border-radius: 2.1333vw;
}

/* pages/ops/ops */
[data-route="pages/ops/ops"] /**ops.wxss 运营管理**/
.page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f6f8;
}[data-route="pages/ops/ops"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/ops/ops"] .container {
  padding: 1.0667vw 3.2vw calc(2.1333vw + env(safe-area-inset-bottom));
}[data-route="pages/ops/ops"] .section-title {
  margin: 1.8667vw 0 1.0667vw;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/ops/ops"] .menu-card {
  display: flex;
  flex-wrap: wrap;
  background-color: #ffffff;
  border-radius: 2.4vw;
  padding: 0.8vw 0;
}[data-route="pages/ops/ops"] .menu-item {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.3333vw 0 1.0667vw;
}[data-route="pages/ops/ops"] .menu-icon {
  width: 9.3333vw;
  height: 9.3333vw;
  border-radius: 2.4vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/ops/ops"] .menu-name {
  margin-top: 0.8vw;
  font-size: 3.2vw;
  color: #333333;
}

/* pages/transformer/transformer */
[data-route="pages/transformer/transformer"] /**transformer.wxss 变压器管理：深青主题统计卡 + 变压器卡片列表**/
body {
  background-color: #f5f6f8;
}[data-route="pages/transformer/transformer"] .page {
  position: relative;
  height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/transformer/transformer"] /* ---------- 深青标题横幅 ---------- */
.hero {
  background: linear-gradient(135deg, #22a08a 0%, #0f6e56 100%);
  padding: 5.3333vw 4.2667vw 6.4vw;
  display: flex;
  align-items: center;
  flex: none;
}[data-route="pages/transformer/transformer"] .hero-back {
  color: #ffffff;
  font-size: 5.3333vw;
  width: 10.6667vw;
}[data-route="pages/transformer/transformer"] .hero-title {
  flex: 1;
  text-align: center;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: bold;
  margin-right: 10.6667vw;
}[data-route="pages/transformer/transformer"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/transformer/transformer"] .container {
  padding: 3.2vw;
}[data-route="pages/transformer/transformer"] /* ---------- 统计卡 ---------- */
.stat-card {
  background: linear-gradient(135deg, #1f9e8a 0%, #0f6e56 100%);
  border-radius: 2.6667vw;
  padding: 4.5333vw 1.6vw 3.7333vw;
  display: flex;
  align-items: center;
  margin-bottom: 3.2vw;
}[data-route="pages/transformer/transformer"] .stat-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/transformer/transformer"] .stat-num {
  color: #ffffff;
  font-size: 6.4vw;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 1.3333vw;
}[data-route="pages/transformer/transformer"] .stat-label {
  color: rgba(255, 255, 255, 0.9);
  font-size: 3.0667vw;
}[data-route="pages/transformer/transformer"] .stat-divider {
  width: 0.2667vw;
  height: 6.9333vw;
  background-color: rgba(255, 255, 255, 0.25);
}[data-route="pages/transformer/transformer"] /* ---------- 搜索 + 区县筛选 ---------- */
.filter-bar {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/transformer"] .search-box {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/transformer/transformer"] .search-icon {
  font-size: 4vw;
  color: #999999;
  margin-right: 1.6vw;
}[data-route="pages/transformer/transformer"] .search-input {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/transformer/transformer"] .search-placeholder {
  color: #b0b5bf;
}[data-route="pages/transformer/transformer"] .region-picker {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 0.1333vw solid #e8eaf0;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/transformer/transformer"] .region-icon {
  font-size: 3.2vw;
  margin-right: 1.0667vw;
}[data-route="pages/transformer/transformer"] .region-text {
  font-size: 3.4667vw;
  color: #333333;
  max-width: 26.6667vw;
  overflow: hidden;
  white-space: nowrap;
}[data-route="pages/transformer/transformer"] .region-arrow {
  font-size: 3.2vw;
  color: #999999;
  margin-left: 1.0667vw;
}[data-route="pages/transformer/transformer"] /* ---------- 变压器卡片 ---------- */
.tr-card {
  background-color: #ffffff;
  border-radius: 2.1333vw;
  border-left: 0.8vw solid #0f6e56;
  padding: 3.7333vw 3.2vw 2.6667vw;
  margin-bottom: 3.2vw;
}[data-route="pages/transformer/transformer"] .tr-head {
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/transformer"] .tr-icon {
  width: 9.6vw;
  height: 9.6vw;
  border-radius: 2.1333vw;
  background: linear-gradient(135deg, #35c1a4 0%, #0f6e56 100%);
  color: #ffffff;
  font-size: 4.2667vw;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/transformer/transformer"] .tr-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/transformer/transformer"] .tr-title {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/transformer/transformer"] .tr-code {
  font-size: 3.0667vw;
  color: #8a93a6;
  margin-top: 0.8vw;
}[data-route="pages/transformer/transformer"] .edit-btn {
  flex: none;
  font-size: 3.2vw;
  color: #0f6e56;
  border: 0.1333vw solid rgba(15, 110, 86, 0.4);
  border-radius: 133.2vw;
  padding: 1.0667vw 3.2vw;
  background-color: rgba(15, 110, 86, 0.06);
}[data-route="pages/transformer/transformer"] .status-pill {
  font-size: 2.9333vw;
  padding: 1.0667vw 2.4vw;
  border-radius: 133.2vw;
  flex: none;
}[data-route="pages/transformer/transformer"] .status-linked {
  color: #0f6e56;
  background-color: rgba(15, 110, 86, 0.1);
}[data-route="pages/transformer/transformer"] .status-unlinked {
  color: #ba7517;
  background-color: rgba(186, 117, 23, 0.12);
}[data-route="pages/transformer/transformer"] .tr-body {
  background-color: #f7f8fa;
  border-radius: 1.6vw;
  padding: 2.4vw 2.6667vw;
}[data-route="pages/transformer/transformer"] .tr-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.8667vw;
}[data-route="pages/transformer/transformer"] .tr-row:last-child {
  margin-bottom: 0;
}[data-route="pages/transformer/transformer"] .tr-label {
  font-size: 3.0667vw;
  color: #8a93a6;
  margin-bottom: 1.0667vw;
}[data-route="pages/transformer/transformer"] .tr-value {
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/transformer/transformer"] .tr-wells {
  font-size: 3.4667vw;
  color: #0f6e56;
  line-height: 1.5;
}[data-route="pages/transformer/transformer"] .tr-well-line {
  display: flex;
  align-items: baseline;
}[data-route="pages/transformer/transformer"] .tr-well-num {
  font-size: 4.5333vw;
  font-weight: bold;
  color: #0f6e56;
}[data-route="pages/transformer/transformer"] .tr-well-unit {
  font-size: 3.2vw;
  color: #666666;
}[data-route="pages/transformer/transformer"] .tr-well-extra {
  font-size: 3.0667vw;
  color: #8a93a6;
}[data-route="pages/transformer/transformer"] .tr-wells-empty {
  color: #b0b5bf;
}[data-route="pages/transformer/transformer"] .tr-foot {
  border-top: 0.1333vw solid #f0f1f3;
  margin-top: 2.4vw;
  padding-top: 2.4vw;
  font-size: 3.4667vw;
  color: #0f6e56;
}[data-route="pages/transformer/transformer"] /* ---------- 空态 / 列表尾 ---------- */
.empty {
  text-align: center;
  padding: 13.3333vw 0;
  font-size: 3.7333vw;
  color: #999999;
}[data-route="pages/transformer/transformer"] .list-end {
  text-align: center;
  padding: 2.1333vw 0 4.2667vw;
  font-size: 3.2vw;
  color: #b0b5bf;
}[data-route="pages/transformer/transformer"] /* ---------- 悬浮新增按钮 ---------- */
.fab {
  position: fixed;
  right: 5.3333vw;
  bottom: 10.6667vw;
  width: 14.4vw;
  height: 14.4vw;
  border-radius: 50%;
  background: linear-gradient(135deg, #22a08a 0%, #0f6e56 100%);
  color: #ffffff;
  font-size: 7.4667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1.0667vw 3.2vw rgba(15, 110, 86, 0.35);
}

/* pages/transformer/detail */
[data-route="pages/transformer/detail"] /**detail.wxss 变压器详情：标题卡 + 信息卡 + 关联村井清单**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/transformer/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/transformer/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/transformer/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/transformer/detail"] /* ---------- 标题卡 ---------- */
.head-card {
  background: linear-gradient(135deg, #22a08a 0%, #0f6e56 100%);
  border-radius: 2.6667vw;
  padding: 4vw 3.7333vw;
  display: flex;
  align-items: center;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/detail"] .head-icon {
  width: 11.2vw;
  height: 11.2vw;
  border-radius: 2.6667vw;
  background-color: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-size: 5.0667vw;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 2.6667vw;
  flex: none;
}[data-route="pages/transformer/detail"] .head-main {
  flex: 1;
  min-width: 0;
}[data-route="pages/transformer/detail"] .head-name {
  color: #ffffff;
  font-size: 4.5333vw;
  font-weight: bold;
}[data-route="pages/transformer/detail"] .head-code {
  color: rgba(255, 255, 255, 0.85);
  font-size: 3.2vw;
  margin-top: 1.0667vw;
}[data-route="pages/transformer/detail"] .head-pill {
  flex: none;
  color: #0f6e56;
  background-color: #ffffff;
  font-size: 2.9333vw;
  font-weight: bold;
  border-radius: 133.2vw;
  padding: 1.0667vw 2.6667vw;
}[data-route="pages/transformer/detail"] /* ---------- 信息卡 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/detail"] .card-title {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/detail"] .card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/detail"] .card-head .card-title {
  margin-bottom: 0;
}[data-route="pages/transformer/detail"] .head-tip {
  font-size: 3.0667vw;
  color: #8a93a6;
}[data-route="pages/transformer/detail"] .kv {
  display: flex;
  align-items: flex-start;
  padding: 1.8667vw 0;
  border-top: 0.1333vw solid #f2f3f5;
}[data-route="pages/transformer/detail"] .kv:first-child {
  border-top: 0;
  padding-top: 0;
}[data-route="pages/transformer/detail"] .k {
  width: 24vw;
  flex: none;
  font-size: 3.4667vw;
  color: #8a93a6;
}[data-route="pages/transformer/detail"] .v {
  flex: 1;
  font-size: 3.6vw;
  color: #333333;
  line-height: 1.5;
}[data-route="pages/transformer/detail"] /* ---------- 关联村与井 ---------- */
.link-item {
  background-color: #f7f8fa;
  border-radius: 1.8667vw;
  padding: 2.6667vw 2.9333vw;
  margin-bottom: 1.8667vw;
}[data-route="pages/transformer/detail"] .link-item:last-child {
  margin-bottom: 0;
}[data-route="pages/transformer/detail"] .link-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.3333vw;
}[data-route="pages/transformer/detail"] .link-village {
  font-size: 3.6vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/transformer/detail"] .link-count {
  font-size: 3.0667vw;
  color: #0f6e56;
  background-color: rgba(15, 110, 86, 0.1);
  border-radius: 133.2vw;
  padding: 0.5333vw 2.1333vw;
}[data-route="pages/transformer/detail"] .link-wells {
  font-size: 3.4667vw;
  color: #0f6e56;
  line-height: 1.6;
}[data-route="pages/transformer/detail"] .link-wells-empty {
  color: #b0b5bf;
}[data-route="pages/transformer/detail"] .empty-line {
  font-size: 3.4667vw;
  color: #b0b5bf;
  padding: 1.3333vw 0;
}[data-route="pages/transformer/detail"] /* ---------- 变压器位置 ---------- */
.nav-btn {
  font-size: 3.2vw;
  color: #ffffff;
  background-color: #0f6e56;
  border-radius: 133.2vw;
  padding: 1.0667vw 3.2vw;
}[data-route="pages/transformer/detail"] .addr-text {
  font-size: 3.6vw;
  color: #333333;
  line-height: 1.6;
}[data-route="pages/transformer/detail"] .addr-empty {
  color: #b0b5bf;
}[data-route="pages/transformer/detail"] .gps-text {
  font-size: 2.9333vw;
  color: #8a93a6;
  margin-top: 1.3333vw;
}[data-route="pages/transformer/detail"] /* ---------- 备注 ---------- */
.note-text {
  font-size: 3.6vw;
  color: #444444;
  line-height: 1.7;
}[data-route="pages/transformer/detail"] .update-tip {
  text-align: center;
  font-size: 3.0667vw;
  color: #b0b5bf;
  padding: 1.3333vw 0 2.6667vw;
}[data-route="pages/transformer/detail"] .bottom-space {
  height: 3.2vw;
}[data-route="pages/transformer/detail"] /* ---------- 底部编辑 ---------- */
.footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/transformer/detail"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #0f6e56;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}

/* pages/transformer/edit */
[data-route="pages/transformer/edit"] /**edit.wxss 新增/编辑变压器：分区卡片表单 + 井多选 + 底部保存**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/transformer/edit"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/transformer/edit"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/transformer/edit"] .container {
  padding: 3.2vw;
}[data-route="pages/transformer/edit"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/transformer/edit"] .card-title {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.9333vw;
}[data-route="pages/transformer/edit"] .card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.4vw;
}[data-route="pages/transformer/edit"] .card-head .card-title {
  margin-bottom: 0;
}[data-route="pages/transformer/edit"] .card-tools {
  display: flex;
}[data-route="pages/transformer/edit"] .tool-btn {
  font-size: 3.2vw;
  color: #0f6e56;
  border: 0.1333vw solid rgba(15, 110, 86, 0.35);
  border-radius: 133.2vw;
  padding: 0.8vw 2.6667vw;
  margin-left: 1.6vw;
}[data-route="pages/transformer/edit"] .field {
  margin-bottom: 3.4667vw;
}[data-route="pages/transformer/edit"] .field:last-child {
  margin-bottom: 0;
}[data-route="pages/transformer/edit"] .field-label {
  font-size: 3.4667vw;
  color: #666666;
  margin-bottom: 1.6vw;
}[data-route="pages/transformer/edit"] .required {
  color: #d9453a;
}[data-route="pages/transformer/edit"] .input {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
  height: 6.1333vw;
}[data-route="pages/transformer/edit"] .textarea {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
  width: auto;
  min-height: 12vw;
}[data-route="pages/transformer/edit"] .picker {
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/transformer/edit"] .placeholder {
  color: #b0b6bf;
}[data-route="pages/transformer/edit"] /* ---------- 井多选 ---------- */
.well-tip {
  font-size: 3.2vw;
  color: #666666;
  margin-bottom: 2.1333vw;
}[data-route="pages/transformer/edit"] .well-count {
  color: #0f6e56;
  font-weight: bold;
  font-size: 3.7333vw;
}[data-route="pages/transformer/edit"] .well-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
}[data-route="pages/transformer/edit"] .well-chip {
  padding: 1.3333vw 3.2vw;
  border-radius: 1.0667vw;
  background-color: #f0f1f3;
  color: #666666;
  font-size: 3.2vw;
  border: 0.1333vw solid transparent;
}[data-route="pages/transformer/edit"] .well-on {
  background-color: rgba(15, 110, 86, 0.1);
  color: #0f6e56;
  border-color: #0f6e56;
  font-weight: bold;
}[data-route="pages/transformer/edit"] .well-empty {
  font-size: 3.3333vw;
  color: #b0b6bf;
  padding: 1.6vw 0;
}[data-route="pages/transformer/edit"] /* ---------- 添加关联村（下拉） ---------- */
.add-village {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.1333vw dashed rgba(15, 110, 86, 0.5);
  border-radius: 1.8667vw;
  background-color: rgba(15, 110, 86, 0.05);
  color: #0f6e56;
  font-size: 3.6vw;
  padding: 2.9333vw 3.2vw;
  margin-top: 2.6667vw;
}[data-route="pages/transformer/edit"] .add-arrow {
  margin-left: 1.3333vw;
  font-size: 2.9333vw;
  opacity: 0.7;
}[data-route="pages/transformer/edit"] .add-disabled {
  border-color: #e4e7ec;
  background-color: #f7f8fa;
  color: #b0b6bf;
}[data-route="pages/transformer/edit"] /* ---------- 按村分组的井多选 ---------- */
.total-tip {
  font-size: 3.2vw;
  color: #666666;
}[data-route="pages/transformer/edit"] .v-block {
  border-top: 0.1333vw solid #f0f1f3;
  padding-top: 2.6667vw;
  margin-bottom: 1.0667vw;
}[data-route="pages/transformer/edit"] .v-block:first-child {
  border-top: 0;
  padding-top: 0;
}[data-route="pages/transformer/edit"] .v-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.8667vw;
}[data-route="pages/transformer/edit"] .v-name {
  font-size: 3.6vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/transformer/edit"] .v-count {
  font-size: 3.0667vw;
  font-weight: normal;
  color: #0f6e56;
}[data-route="pages/transformer/edit"] .v-name-pick {
  display: flex;
  align-items: baseline;
}[data-route="pages/transformer/edit"] .v-arrow {
  font-size: 2.6667vw;
  color: #0f6e56;
  margin: 0 1.6vw 0 1.0667vw;
}[data-route="pages/transformer/edit"] .v-tools {
  display: flex;
}[data-route="pages/transformer/edit"] /* ---------- 定位地址 ---------- */
.loc-btn {
  font-size: 3.2vw;
  color: #0f6e56;
  border: 0.1333vw solid rgba(15, 110, 86, 0.35);
  border-radius: 133.2vw;
  padding: 1.0667vw 2.9333vw;
}[data-route="pages/transformer/edit"] .gps-line {
  font-size: 2.9333vw;
  color: #8a93a6;
  margin-top: 1.6vw;
}[data-route="pages/transformer/edit"] .loc-hint {
  font-size: 2.9333vw;
  color: #b0b6bf;
  margin-top: 1.6vw;
}[data-route="pages/transformer/edit"] /* ---------- 删除 / 底部按钮 ---------- */
.delete-btn {
  text-align: center;
  font-size: 3.7333vw;
  color: #d9453a;
  background-color: #ffffff;
  border-radius: 2.1333vw;
  padding: 3.4667vw 0;
  margin-top: 0.5333vw;
}[data-route="pages/transformer/edit"] .bottom-space {
  height: 3.2vw;
}[data-route="pages/transformer/edit"] .footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
  display: flex;
  gap: 2.6667vw;
}[data-route="pages/transformer/edit"] .footer-half {
  flex: 1;
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}[data-route="pages/transformer/edit"] .footer-ghost {
  color: #0f6e56;
  background-color: #ffffff;
  border: 0.1333vw solid rgba(15, 110, 86, 0.4);
}[data-route="pages/transformer/edit"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #0f6e56;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}

/* pages/feedback/feedback */
[data-route="pages/feedback/feedback"] /**feedback.wxss 现场反馈：搜索筛选 + 列表 + 悬浮新增按钮**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/feedback/feedback"] /* ---------- 搜索与筛选 ---------- */
.search-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 2.9333vw 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/feedback/feedback"] .search-row {
  display: flex;
}[data-route="pages/feedback/feedback"] .search-input-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 133.2vw;
  padding: 1.6vw 2.9333vw;
}[data-route="pages/feedback/feedback"] .search-icon {
  font-size: 3.2vw;
  margin-right: 1.6vw;
  opacity: 0.6;
}[data-route="pages/feedback/feedback"] .search-input {
  flex: 1;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/feedback/feedback"] .search-clear {
  width: 5.3333vw;
  height: 5.3333vw;
  line-height: 5.0667vw;
  text-align: center;
  border-radius: 2.6667vw;
  background-color: #e4e7ec;
  color: #ffffff;
  font-size: 3.7333vw;
}[data-route="pages/feedback/feedback"] .filter-row {
  margin-top: 2.6667vw;
  display: flex;
  align-items: center;
}[data-route="pages/feedback/feedback"] .filter-label {
  font-size: 3.2vw;
  color: #8a93a6;
  margin-right: 1.8667vw;
}[data-route="pages/feedback/feedback"] .filter-pick {
  display: flex;
  align-items: center;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 133.2vw;
  padding: 1.3333vw 3.2vw;
  font-size: 3.3333vw;
  color: #5f6b7a;
}[data-route="pages/feedback/feedback"] .filter-active {
  background-color: rgba(15, 110, 86, 0.08);
  border-color: rgba(15, 110, 86, 0.4);
  color: #0f6e56;
  font-weight: bold;
}[data-route="pages/feedback/feedback"] .filter-arrow {
  font-size: 2.6667vw;
  margin-left: 1.3333vw;
  color: #0f6e56;
}[data-route="pages/feedback/feedback"] .filter-count {
  margin-left: auto;
  font-size: 3.0667vw;
  color: #8a93a6;
}[data-route="pages/feedback/feedback"] .record-more {
  font-size: 3.0667vw;
  color: #0f6e56;
}[data-route="pages/feedback/feedback"] /* ---------- 状态筛选与角标 ---------- */
.status-tabs {
  display: flex;
  gap: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/feedback/feedback"] .status-tab {
  display: flex;
  align-items: center;
  padding: 1.6vw 4vw;
  border-radius: 133.2vw;
  background-color: #ffffff;
  font-size: 3.3333vw;
  color: #5f6b7a;
  border: 0.1333vw solid #e4e7ec;
}[data-route="pages/feedback/feedback"] .tab-on {
  background-color: #0f6e56;
  border-color: #0f6e56;
  color: #ffffff;
  font-weight: bold;
}[data-route="pages/feedback/feedback"] .tab-badge {
  margin-left: 1.3333vw;
  min-width: 4.2667vw;
  padding: 0 1.0667vw;
  height: 4.2667vw;
  line-height: 4.2667vw;
  text-align: center;
  border-radius: 2.1333vw;
  font-size: 2.6667vw;
  background-color: #d9453a;
  color: #ffffff;
}[data-route="pages/feedback/feedback"] .st-badge {
  font-size: 2.8vw;
  padding: 0.8vw 2.4vw;
  border-radius: 133.2vw;
}[data-route="pages/feedback/feedback"] .st-pending {
  color: #ba7517;
  background-color: rgba(233, 158, 44, 0.14);
}[data-route="pages/feedback/feedback"] .st-done {
  color: #0f6e56;
  background-color: rgba(15, 110, 86, 0.1);
}[data-route="pages/feedback/feedback"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/feedback/feedback"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/feedback/feedback"] .container {
  padding: 3.2vw;
}[data-route="pages/feedback/feedback"] .section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0.8vw 0.5333vw 2.4vw;
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/feedback/feedback"] .section-count {
  font-size: 3.2vw;
  font-weight: normal;
  color: #8a93a6;
}[data-route="pages/feedback/feedback"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/feedback/feedback"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/feedback/feedback"] /* ---------- 记录卡片 ---------- */
.record-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/feedback/feedback"] .record-area {
  font-size: 3.6vw;
  font-weight: bold;
  color: #0f6e56;
}[data-route="pages/feedback/feedback"] .record-time {
  font-size: 2.9333vw;
  color: #b0b6bf;
}[data-route="pages/feedback/feedback"] .record-content {
  margin-top: 1.8667vw;
  font-size: 3.6vw;
  line-height: 5.6vw;
  color: #333333;
  word-break: break-all;
}[data-route="pages/feedback/feedback"] .record-foot {
  margin-top: 2.1333vw;
  padding-top: 1.8667vw;
  border-top: 0.1333vw solid #f0f1f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/feedback/feedback"] .record-person {
  font-size: 3.0667vw;
  color: #5f6b7a;
}[data-route="pages/feedback/feedback"] .record-id {
  font-size: 2.8vw;
  color: #c3c9d4;
}[data-route="pages/feedback/feedback"] .bottom-space {
  height: 5.3333vw;
}[data-route="pages/feedback/feedback"] /* ---------- 悬浮新增按钮 ---------- */
.fab {
  position: fixed;
  right: 4.2667vw;
  bottom: calc(6.4vw + env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  padding: 2.6667vw 4vw;
  border-radius: 133.2vw;
  background-color: #0f6e56;
  box-shadow: 0 1.0667vw 3.2vw rgba(15, 110, 86, 0.35);
}[data-route="pages/feedback/feedback"] .fab-plus {
  font-size: 4.5333vw;
  font-weight: bold;
  color: #ffffff;
  margin-right: 1.0667vw;
}[data-route="pages/feedback/feedback"] .fab-text {
  font-size: 3.6vw;
  font-weight: bold;
  color: #ffffff;
}

/* pages/feedback/new */
[data-route="pages/feedback/new"] /**feedback.wxss 现场反馈：说明卡 + 区域输入块 + 记录列表**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/feedback/new"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/feedback/new"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/feedback/new"] .container {
  padding: 3.2vw;
}[data-route="pages/feedback/new"] .tip-card {
  background-color: rgba(15, 110, 86, 0.06);
  border: 0.1333vw solid rgba(15, 110, 86, 0.16);
  border-radius: 2.6667vw;
  padding: 3.2vw 3.4667vw;
}[data-route="pages/feedback/new"] .tip-title {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #0f6e56;
}[data-route="pages/feedback/new"] .tip-text {
  margin-top: 1.3333vw;
  font-size: 3.2vw;
  line-height: 4.8vw;
  color: #5f6b7a;
}[data-route="pages/feedback/new"] .section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 4vw 0.5333vw 2.4vw;
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/feedback/new"] .section-count {
  font-size: 3.2vw;
  font-weight: normal;
  color: #8a93a6;
}[data-route="pages/feedback/new"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/feedback/new"] /* ---------- 区域填写块 ---------- */
.block-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/feedback/new"] .area-pick {
  display: flex;
  align-items: center;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  padding: 2.1333vw 2.9333vw;
}[data-route="pages/feedback/new"] .area-picked {
  background-color: rgba(15, 110, 86, 0.08);
  border-color: rgba(15, 110, 86, 0.35);
}[data-route="pages/feedback/new"] .area-name {
  font-size: 3.6vw;
  color: #b0b6bf;
}[data-route="pages/feedback/new"] .area-picked .area-name {
  color: #0f6e56;
  font-weight: bold;
}[data-route="pages/feedback/new"] .area-arrow {
  font-size: 2.6667vw;
  color: #0f6e56;
  margin-left: 1.6vw;
  opacity: 0.8;
}[data-route="pages/feedback/new"] .block-remove {
  width: 6.9333vw;
  height: 6.9333vw;
  border-radius: 3.4667vw;
  background-color: #f2f3f5;
  color: #9aa3b2;
  font-size: 4.5333vw;
  line-height: 6.6667vw;
  text-align: center;
}[data-route="pages/feedback/new"] .fb-textarea {
  width: auto;
  min-height: 18.6667vw;
  margin-top: 2.4vw;
  padding: 2.6667vw 2.9333vw;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  font-size: 3.6vw;
  line-height: 5.3333vw;
  color: #333333;
}[data-route="pages/feedback/new"] .placeholder {
  color: #b0b6bf;
}[data-route="pages/feedback/new"] .char-count {
  margin-top: 1.3333vw;
  text-align: right;
  font-size: 2.9333vw;
  color: #b0b6bf;
}[data-route="pages/feedback/new"] .add-block {
  padding: 3.4667vw 0;
  text-align: center;
  font-size: 3.7333vw;
  color: #0f6e56;
  border: 0.1333vw dashed rgba(15, 110, 86, 0.5);
  border-radius: 2.4vw;
  background-color: rgba(15, 110, 86, 0.04);
}[data-route="pages/feedback/new"] .bottom-space {
  height: 3.2vw;
}[data-route="pages/feedback/new"] /* ---------- 底部按钮 ---------- */
.footer {
  flex: none;
  background-color: #ffffff;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(0, 0, 0, 0.04);
}[data-route="pages/feedback/new"] .footer-btn {
  text-align: center;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #0f6e56;
  border-radius: 5.8667vw;
  padding: 3.2vw 0;
}

/* pages/feedback/detail */
[data-route="pages/feedback/detail"] /**detail.wxss 反馈详情**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/feedback/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/feedback/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/feedback/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/feedback/detail"] .head-card {
  background: linear-gradient(135deg, #0f6e56, #1a7f4b);
  border-radius: 2.6667vw;
  padding: 4vw 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/feedback/detail"] .head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/feedback/detail"] .head-area {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/feedback/detail"] .head-time {
  margin-top: 1.6vw;
  font-size: 3.0667vw;
  color: rgba(255, 255, 255, 0.75);
}[data-route="pages/feedback/detail"] /* 状态角标（头图为深色底，用白描边变体） */
.head-card .st-badge {
  background-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 0.1333vw solid rgba(255, 255, 255, 0.45);
}[data-route="pages/feedback/detail"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/feedback/detail"] .field-label {
  font-size: 3.3333vw;
  color: #8a93a6;
  margin-bottom: 1.8667vw;
}[data-route="pages/feedback/detail"] .detail-content {
  font-size: 3.7333vw;
  line-height: 6.1333vw;
  color: #333333;
  word-break: break-all;
}[data-route="pages/feedback/detail"] .info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.4vw 0;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/feedback/detail"] .info-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}[data-route="pages/feedback/detail"] .info-label {
  font-size: 3.3333vw;
  color: #8a93a6;
}[data-route="pages/feedback/detail"] .info-value {
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/feedback/detail"] .info-id {
  color: #b0b6bf;
  font-size: 3.0667vw;
}[data-route="pages/feedback/detail"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/feedback/detail"] .bottom-space {
  height: 3.2vw;
}[data-route="pages/feedback/detail"] /* ---------- 处理信息 / 管理员操作 ---------- */
.creator-line {
  margin-top: 2.1333vw;
  font-size: 3.0667vw;
  color: #8a93a6;
}[data-route="pages/feedback/detail"] .done-title {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 0.8vw;
}[data-route="pages/feedback/detail"] .done-card .field-label {
  margin-top: 2.4vw;
}[data-route="pages/feedback/detail"] .handle-card .handle-tip {
  margin-top: 0.8vw;
  font-size: 3.0667vw;
  color: #8a93a6;
  line-height: 4.5333vw;
}[data-route="pages/feedback/detail"] .handle-textarea {
  width: auto;
  min-height: 16vw;
  margin-top: 2.6667vw;
  padding: 2.6667vw 2.9333vw;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  font-size: 3.6vw;
  line-height: 5.3333vw;
  color: #333333;
}[data-route="pages/feedback/detail"] .handle-btns {
  margin-top: 3.2vw;
  display: flex;
  gap: 2.6667vw;
}[data-route="pages/feedback/detail"] .hbtn {
  flex: 1;
  text-align: center;
  font-size: 3.8667vw;
  font-weight: bold;
  border-radius: 5.8667vw;
  padding: 2.9333vw 0;
}[data-route="pages/feedback/detail"] .hbtn-ghost {
  color: #0f6e56;
  background-color: #ffffff;
  border: 0.1333vw solid rgba(15, 110, 86, 0.4);
}[data-route="pages/feedback/detail"] .hbtn-main {
  color: #ffffff;
  background-color: #0f6e56;
}[data-route="pages/feedback/detail"] /* 状态角标通用色 */
.st-badge {
  font-size: 2.8vw;
  padding: 0.8vw 2.4vw;
  border-radius: 133.2vw;
}[data-route="pages/feedback/detail"] .st-pending {
  color: #ba7517;
  background-color: rgba(233, 158, 44, 0.14);
}[data-route="pages/feedback/detail"] .st-done {
  color: #0f6e56;
  background-color: rgba(15, 110, 86, 0.1);
}[data-route="pages/feedback/detail"] .link-value {
  color: #0f6e56;
}

/* pages/farmer/farmer */
[data-route="pages/farmer/farmer"] /**farmer.wxss 农户反馈：状态筛选 + 列表 + 悬浮新增**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/farmer/farmer"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/farmer/farmer"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/farmer/farmer"] .container {
  padding: 3.2vw;
}[data-route="pages/farmer/farmer"] /* ---------- 搜索卡 ---------- */
.search-card {
  padding: 2.9333vw 3.2vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/farmer/farmer"] .search-row {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}[data-route="pages/farmer/farmer"] .search-box {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  background-color: #f0f2f5;
  border-radius: 1.6vw;
  padding: 0 2.4vw;
  height: 9.0667vw;
}[data-route="pages/farmer/farmer"] .search-icon {
  font-size: 3.3333vw;
  margin-right: 1.6vw;
}[data-route="pages/farmer/farmer"] .search-input {
  flex: 1;
  min-width: 0;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/farmer/farmer"] .ph {
  color: #b0b6bf;
}[data-route="pages/farmer/farmer"] .search-clear {
  padding: 0 1.0667vw;
  font-size: 4.2667vw;
  color: #b0b6bf;
}[data-route="pages/farmer/farmer"] .village-picker {
  flex-shrink: 0;
}[data-route="pages/farmer/farmer"] .village-btn {
  display: flex;
  align-items: center;
  height: 9.0667vw;
  padding: 0 2.6667vw;
  border-radius: 1.6vw;
  background-color: #f0f2f5;
  font-size: 3.2vw;
  color: #5f6b7a;
}[data-route="pages/farmer/farmer"] .village-on {
  background-color: rgba(47, 111, 217, 0.12);
  color: #2f6fd9;
  font-weight: bold;
}[data-route="pages/farmer/farmer"] .village-arrow {
  margin-left: 1.0667vw;
  font-size: 2.6667vw;
}[data-route="pages/farmer/farmer"] .village-clear {
  flex-shrink: 0;
  padding: 0 1.0667vw;
  font-size: 4.2667vw;
  color: #b0b6bf;
}[data-route="pages/farmer/farmer"] .search-meta {
  margin-top: 2.1333vw;
  font-size: 2.9333vw;
  color: #8a93a6;
  text-align: right;
}[data-route="pages/farmer/farmer"] .status-tabs {
  display: flex;
  gap: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/farmer/farmer"] .status-tab {
  display: flex;
  align-items: center;
  padding: 1.6vw 4vw;
  border-radius: 133.2vw;
  background-color: #ffffff;
  font-size: 3.3333vw;
  color: #5f6b7a;
  border: 0.1333vw solid #e4e7ec;
}[data-route="pages/farmer/farmer"] .tab-on {
  background-color: #2f6fd9;
  border-color: #2f6fd9;
  color: #ffffff;
  font-weight: bold;
}[data-route="pages/farmer/farmer"] .tab-badge {
  margin-left: 1.3333vw;
  min-width: 4.2667vw;
  padding: 0 1.0667vw;
  height: 4.2667vw;
  line-height: 4.2667vw;
  text-align: center;
  border-radius: 2.1333vw;
  font-size: 2.6667vw;
  background-color: #d9453a;
  color: #ffffff;
}[data-route="pages/farmer/farmer"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/farmer/farmer"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/farmer/farmer"] .record-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/farmer/farmer"] .record-name {
  font-size: 3.8667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/farmer/farmer"] .record-meta {
  margin-top: 1.6vw;
  display: flex;
  flex-wrap: wrap;
  gap: 1.3333vw 3.4667vw;
}[data-route="pages/farmer/farmer"] .meta-item {
  font-size: 3.0667vw;
  color: #5f6b7a;
}[data-route="pages/farmer/farmer"] .record-content {
  margin-top: 1.8667vw;
  font-size: 3.6vw;
  line-height: 5.6vw;
  color: #333333;
  word-break: break-all;
}[data-route="pages/farmer/farmer"] .record-imgs {
  margin-top: 2.1333vw;
  display: flex;
  flex-wrap: wrap;
  gap: 1.6vw;
}[data-route="pages/farmer/farmer"] .rec-img {
  width: 19.7333vw;
  height: 19.7333vw;
  border-radius: 1.6vw;
  background-color: #f0f1f3;
}[data-route="pages/farmer/farmer"] .record-foot {
  margin-top: 2.1333vw;
  padding-top: 1.8667vw;
  border-top: 0.1333vw solid #f0f1f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/farmer/farmer"] .record-person {
  font-size: 3.0667vw;
  color: #8a93a6;
}[data-route="pages/farmer/farmer"] .record-more {
  font-size: 3.0667vw;
  color: #2f6fd9;
}[data-route="pages/farmer/farmer"] .st-badge {
  font-size: 2.8vw;
  padding: 0.8vw 2.4vw;
  border-radius: 133.2vw;
}[data-route="pages/farmer/farmer"] .st-pending {
  color: #ba7517;
  background-color: rgba(233, 158, 44, 0.14);
}[data-route="pages/farmer/farmer"] .st-done {
  color: #2f6fd9;
  background-color: rgba(47, 111, 217, 0.1);
}[data-route="pages/farmer/farmer"] .bottom-space {
  height: 5.3333vw;
}

/* pages/farmer/detail */
[data-route="pages/farmer/detail"] /**farmerDetail.wxss 农户反馈详情**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/farmer/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/farmer/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/farmer/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/farmer/detail"] .head-card {
  background: linear-gradient(135deg, #2f6fd9, #5a8fe0);
  border-radius: 2.6667vw;
  padding: 4vw 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/farmer/detail"] .head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/farmer/detail"] .head-name {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/farmer/detail"] .head-line {
  margin-top: 1.6vw;
  font-size: 3.0667vw;
  color: rgba(255, 255, 255, 0.8);
}[data-route="pages/farmer/detail"] .st-badge {
  font-size: 2.8vw;
  padding: 0.8vw 2.4vw;
  border-radius: 133.2vw;
}[data-route="pages/farmer/detail"] .head-card .st-badge {
  background-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  border: 0.1333vw solid rgba(255, 255, 255, 0.45);
}[data-route="pages/farmer/detail"] .st-pending {
  color: #ba7517;
  background-color: rgba(233, 158, 44, 0.14);
}[data-route="pages/farmer/detail"] .st-done {
  color: #2f6fd9;
  background-color: rgba(47, 111, 217, 0.1);
}[data-route="pages/farmer/detail"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/farmer/detail"] .field-label {
  font-size: 3.3333vw;
  color: #8a93a6;
  margin-bottom: 1.8667vw;
}[data-route="pages/farmer/detail"] .detail-content {
  font-size: 3.7333vw;
  line-height: 6.1333vw;
  color: #333333;
  word-break: break-all;
}[data-route="pages/farmer/detail"] .info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.4vw 0;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/farmer/detail"] .info-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}[data-route="pages/farmer/detail"] .info-label {
  font-size: 3.3333vw;
  color: #8a93a6;
}[data-route="pages/farmer/detail"] .info-value {
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/farmer/detail"] .link-value {
  color: #2f6fd9;
}[data-route="pages/farmer/detail"] /* 机井地址（反馈机井下方） */
.addr-row {
  margin-top: 0.5333vw;
  padding: 2.1333vw 2.6667vw;
  background-color: #f4f7fc;
  border-radius: 1.6vw;
  display: flex;
  align-items: center;
}[data-route="pages/farmer/detail"] .addr-icon {
  font-size: 3.2vw;
  margin-right: 1.3333vw;
}[data-route="pages/farmer/detail"] .addr-text {
  flex: 1;
  min-width: 0;
  font-size: 3.2vw;
  line-height: 4.8vw;
  color: #5f6b7a;
  word-break: break-all;
}[data-route="pages/farmer/detail"] .addr-nav {
  flex-shrink: 0;
  margin-left: 1.8667vw;
  font-size: 3.2vw;
  color: #2f6fd9;
  font-weight: bold;
}[data-route="pages/farmer/detail"] .img-grid {
  margin-top: 2.4vw;
  display: flex;
  flex-wrap: wrap;
  gap: 1.8667vw;
}[data-route="pages/farmer/detail"] .img {
  width: 22.4vw;
  height: 22.4vw;
  border-radius: 1.6vw;
  background-color: #f0f1f3;
}[data-route="pages/farmer/detail"] /* 回复记录 */
.reply {
  padding: 2.4vw 0;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/farmer/detail"] .reply:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}[data-route="pages/farmer/detail"] .reply-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/farmer/detail"] .reply-who {
  font-size: 3.2vw;
  font-weight: bold;
  color: #2f6fd9;
}[data-route="pages/farmer/detail"] .reply-time {
  font-size: 2.8vw;
  color: #b0b6bf;
}[data-route="pages/farmer/detail"] .reply-text {
  margin-top: 1.3333vw;
  font-size: 3.4667vw;
  line-height: 5.3333vw;
  color: #333333;
  word-break: break-all;
}[data-route="pages/farmer/detail"] /* 回复输入 */
.reply-textarea {
  width: auto;
  min-height: 14.6667vw;
  padding: 2.6667vw 2.9333vw;
  background-color: #f7f8fa;
  border: 0.1333vw solid #e4e7ec;
  border-radius: 1.8667vw;
  font-size: 3.6vw;
  line-height: 5.3333vw;
  color: #333333;
}[data-route="pages/farmer/detail"] .reply-send {
  margin-top: 2.6667vw;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #ffffff;
  background-color: #2f6fd9;
  border-radius: 5.8667vw;
  padding: 2.6667vw 0;
}[data-route="pages/farmer/detail"] /* 底部操作条 */
.action-bar {
  display: flex;
  gap: 2.4vw;
  margin-top: 1.0667vw;
}[data-route="pages/farmer/detail"] .abtn {
  flex: 1;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  border-radius: 5.8667vw;
  padding: 2.9333vw 0;
}[data-route="pages/farmer/detail"] .abtn-ghost {
  color: #2f6fd9;
  background-color: #ffffff;
  border: 0.1333vw solid rgba(47, 111, 217, 0.4);
}[data-route="pages/farmer/detail"] .abtn-main {
  color: #ffffff;
  background-color: #2f6fd9;
}[data-route="pages/farmer/detail"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/farmer/detail"] .bottom-space {
  height: 5.3333vw;
}

/* pages/well/well */
[data-route="pages/well/well"] /**well.wxss 机井管理列表**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/well/well"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/well/well"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/well/well"] .container {
  padding: 3.2vw;
}[data-route="pages/well/well"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/well/well"] /* ---------- 搜索 ---------- */
.search-card {
  padding: 2.9333vw 3.2vw;
}[data-route="pages/well/well"] .search-row {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}[data-route="pages/well/well"] .search-box {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  background-color: #f0f2f5;
  border-radius: 1.6vw;
  padding: 0 2.4vw;
  height: 9.0667vw;
}[data-route="pages/well/well"] .search-input {
  flex: 1;
  min-width: 0;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/well/well"] .ph {
  color: #b0b6bf;
}[data-route="pages/well/well"] .search-clear {
  padding: 0 1.0667vw;
  font-size: 4.2667vw;
  color: #b0b6bf;
}[data-route="pages/well/well"] .search-icon {
  font-size: 3.3333vw;
  margin-left: 1.0667vw;
}[data-route="pages/well/well"] .filter-picker {
  flex-shrink: 0;
}[data-route="pages/well/well"] .filter-btn {
  display: flex;
  align-items: center;
  height: 9.0667vw;
  padding: 0 2.6667vw;
  border-radius: 1.6vw;
  background-color: #f0f2f5;
  font-size: 3.2vw;
  color: #5f6b7a;
}[data-route="pages/well/well"] .filter-on {
  background-color: rgba(58, 123, 213, 0.12);
  color: #3a7bd5;
  font-weight: bold;
}[data-route="pages/well/well"] .filter-arrow {
  margin-left: 1.0667vw;
  font-size: 2.6667vw;
}[data-route="pages/well/well"] .search-meta {
  margin-top: 2.1333vw;
  font-size: 2.9333vw;
  color: #8a93a6;
  text-align: right;
}[data-route="pages/well/well"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/well/well"] /* ---------- 设备卡片 ---------- */
.device-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2.4vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/well/well"] .device-name {
  font-size: 4vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/well/well"] .device-st {
  display: flex;
  align-items: center;
  gap: 1.0667vw;
  font-size: 3.3333vw;
  font-weight: bold;
}[data-route="pages/well/well"] .st-on {
  color: #1a7f4b;
}[data-route="pages/well/well"] .st-off {
  color: #d9453a;
}[data-route="pages/well/well"] .st-signal {
  font-size: 3.2vw;
}[data-route="pages/well/well"] .device-body {
  display: flex;
  align-items: center;
  padding: 2.9333vw 0;
}[data-route="pages/well/well"] .device-photo {
  width: 18.6667vw;
  height: 18.6667vw;
  flex-shrink: 0;
  border-radius: 1.6vw;
  background: linear-gradient(160deg, #e8f3ec, #d3e8db);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 6.9333vw;
}[data-route="pages/well/well"] .device-fields {
  flex: 1;
  min-width: 0;
  margin-left: 3.2vw;
}[data-route="pages/well/well"] .f-row {
  display: flex;
  margin-bottom: 1.3333vw;
  font-size: 3.2vw;
}[data-route="pages/well/well"] .f-row:last-child {
  margin-bottom: 0;
}[data-route="pages/well/well"] .f-label {
  color: #8a93a6;
  flex-shrink: 0;
}[data-route="pages/well/well"] .f-value {
  color: #333333;
  word-break: break-all;
}[data-route="pages/well/well"] .device-arrow {
  flex-shrink: 0;
  margin-left: 1.6vw;
  font-size: 4.5333vw;
  color: #c3c9d4;
}[data-route="pages/well/well"] .device-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 2.4vw;
  border-top: 0.1333vw solid #f0f1f3;
  font-size: 3.2vw;
  color: #8a93a6;
}[data-route="pages/well/well"] .foot-strong {
  color: #333333;
}[data-route="pages/well/well"] .health-good {
  color: #1a7f4b;
  font-weight: bold;
}[data-route="pages/well/well"] .bottom-space {
  height: 5.3333vw;
}

/* pages/well/detail */
[data-route="pages/well/detail"] /**wellDetail.wxss 机井详情**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/well/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/well/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/well/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/well/detail"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/well/detail"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/well/detail"] /* ---------- 概览头 ---------- */
.head-card {
  background: linear-gradient(135deg, #3a7bd5, #5a8fe0);
  border-radius: 2.6667vw;
  padding: 4vw 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/well/detail"] .head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/well/detail"] .head-name {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/well/detail"] .head-st {
  font-size: 3.3333vw;
  font-weight: bold;
}[data-route="pages/well/detail"] .st-on {
  color: #b8f0d0;
}[data-route="pages/well/detail"] .st-off {
  color: #ffd2cc;
}[data-route="pages/well/detail"] .head-grid {
  margin-top: 3.2vw;
  display: flex;
  flex-wrap: wrap;
}[data-route="pages/well/detail"] .head-cell {
  width: 50%;
  display: flex;
  margin-bottom: 1.8667vw;
  font-size: 3.2vw;
}[data-route="pages/well/detail"] .head-cell:nth-last-child(-n+2) {
  margin-bottom: 0;
}[data-route="pages/well/detail"] .h-label {
  color: rgba(255, 255, 255, 0.72);
  flex-shrink: 0;
}[data-route="pages/well/detail"] .h-value {
  color: #ffffff;
  word-break: break-all;
}[data-route="pages/well/detail"] /* ---------- 地址条 ---------- */
.addr-bar {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.2vw 3.4667vw;
  margin-bottom: 2.6667vw;
  display: flex;
  align-items: center;
}[data-route="pages/well/detail"] .addr-icon {
  font-size: 3.3333vw;
  margin-right: 1.6vw;
}[data-route="pages/well/detail"] .addr-text {
  flex: 1;
  min-width: 0;
  font-size: 3.3333vw;
  color: #5f6b7a;
  word-break: break-all;
}[data-route="pages/well/detail"] .addr-nav {
  flex-shrink: 0;
  margin-left: 1.8667vw;
  font-size: 3.2vw;
  color: #3a7bd5;
  font-weight: bold;
}[data-route="pages/well/detail"] /* ---------- 功能宫格 ---------- */
.menu-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 1.3333vw 0.8vw;
}[data-route="pages/well/detail"] .menu-item {
  width: 50%;
  padding: 3.4667vw 3.2vw;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}[data-route="pages/well/detail"] .mi-icon {
  width: 8.5333vw;
  height: 8.5333vw;
  border-radius: 2.1333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.2667vw;
}[data-route="pages/well/detail"] .mi-blue {
  background-color: rgba(58, 123, 213, 0.12);
}[data-route="pages/well/detail"] .mi-purple {
  background-color: rgba(144, 19, 254, 0.1);
}[data-route="pages/well/detail"] .mi-teal {
  background-color: rgba(0, 181, 120, 0.1);
}[data-route="pages/well/detail"] .mi-orange {
  background-color: rgba(245, 166, 35, 0.14);
}[data-route="pages/well/detail"] .mi-green {
  background-color: rgba(26, 127, 75, 0.1);
}[data-route="pages/well/detail"] .mi-name {
  margin-top: 1.8667vw;
  font-size: 3.6vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/well/detail"] .mi-desc {
  margin-top: 0.8vw;
  font-size: 2.9333vw;
  color: #8a93a6;
}[data-route="pages/well/detail"] .bottom-space {
  height: 5.3333vw;
}

/* pages/well/info */
[data-route="pages/well/info"] /**wellInfo.wxss 设备信息**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/well/info"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/well/info"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/well/info"] .container {
  padding: 3.2vw;
}[data-route="pages/well/info"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/well/info"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/well/info"] /* ---------- 信息块 ---------- */
.sec-card {
  padding: 1.0667vw 3.4667vw 2.4vw;
}[data-route="pages/well/info"] .sec-title {
  padding: 3.2vw 0 0.8vw;
  font-size: 3.8667vw;
  font-weight: bold;
  color: #333333;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/well/info"] .kv-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3.2vw;
  padding: 3.2vw 0;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/well/info"] .kv-row:last-child {
  border-bottom: none;
}[data-route="pages/well/info"] .kv-label {
  flex-shrink: 0;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/well/info"] .kv-value {
  font-size: 3.4667vw;
  color: #5f6b7a;
  text-align: right;
  word-break: break-all;
}[data-route="pages/well/info"] /* ---------- 停用操作（固定底部） ---------- */
.danger-bar {
  flex-shrink: 0;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
  display: flex;
  gap: 3.2vw;
}[data-route="pages/well/info"] .dbtn {
  flex: 1;
  background-color: #d9453a;
  border-radius: 1.8667vw;
  padding: 3.2vw 0;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/well/info"] .bottom-space {
  height: 5.3333vw;
}

/* pages/order/order */
[data-route="pages/order/order"] /**order.wxss 订单管理（对齐平台订单列表）**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/order/order"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/order/order"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/order/order"] .container {
  padding: 3.2vw;
}[data-route="pages/order/order"] /* ---------- 搜索 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/order/order"] .search-card {
  padding: 2.9333vw 3.2vw;
}[data-route="pages/order/order"] .search-line {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}[data-route="pages/order/order"] .search-box {
  flex: 1;
  display: flex;
  align-items: center;
  height: 9.0667vw;
  padding: 0 2.4vw;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
}[data-route="pages/order/order"] .search-icon {
  font-size: 3.2vw;
  margin-right: 1.3333vw;
}[data-route="pages/order/order"] .search-input {
  flex: 1;
  font-size: 3.3333vw;
  color: #333333;
}[data-route="pages/order/order"] .ph {
  color: #b0b6bf;
  font-size: 3.2vw;
}[data-route="pages/order/order"] .clear-btn {
  padding: 0 0.8vw;
  font-size: 4vw;
  color: #b0b6bf;
}[data-route="pages/order/order"] .pay-btn {
  display: flex;
  align-items: center;
  gap: 0.8vw;
  height: 9.0667vw;
  padding: 0 2.4vw;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
  font-size: 3.2vw;
  color: #5f6b7a;
  white-space: nowrap;
}[data-route="pages/order/order"] .pay-on {
  background-color: rgba(58, 123, 213, 0.1);
  color: #3a7bd5;
  font-weight: bold;
}[data-route="pages/order/order"] .pay-arrow {
  font-size: 2.6667vw;
}[data-route="pages/order/order"] .search-foot {
  margin-top: 1.8667vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/order/order"] .foot-text {
  font-size: 2.8vw;
  color: #b0b6bf;
}[data-route="pages/order/order"] .foot-count {
  font-size: 2.9333vw;
  color: #5f6b7a;
}[data-route="pages/order/order"] /* ---------- 状态筛选 ---------- */
.status-scroll {
  height: 9.6vw;
  white-space: nowrap;
  margin-bottom: 2.6667vw;
}[data-route="pages/order/order"] .status-tabs {
  display: inline-flex;
  flex-direction: row;
  gap: 2.1333vw;
  height: 9.6vw;
}[data-route="pages/order/order"] .status-tab {
  padding: 1.6vw 4vw;
  border-radius: 133.2vw;
  background-color: #ffffff;
  font-size: 3.3333vw;
  color: #5f6b7a;
  border: 0.1333vw solid #e4e7ec;
}[data-route="pages/order/order"] .tab-on {
  background-color: #3a7bd5;
  border-color: #3a7bd5;
  color: #ffffff;
  font-weight: bold;
}[data-route="pages/order/order"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/order/order"] /* ---------- 订单卡片 ---------- */
.o-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2.1333vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/order/order"] .o-id {
  font-size: 2.8vw;
  color: #8a93a6;
}[data-route="pages/order/order"] .o-st {
  font-size: 3.2vw;
  font-weight: bold;
}[data-route="pages/order/order"] .st-run {
  color: #1a7f4b;
}[data-route="pages/order/order"] .st-done {
  color: #3a7bd5;
}[data-route="pages/order/order"] .st-refund {
  color: #d9453a;
}[data-route="pages/order/order"] .st-part {
  color: #e08a1e;
}[data-route="pages/order/order"] .o-main {
  margin-top: 2.1333vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/order/order"] .o-farmer {
  font-size: 3.8667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/order/order"] .o-phone {
  font-size: 3.3333vw;
  padding-left: 1.0667vw;
}[data-route="pages/order/order"] .o-amount {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/order/order"] .o-row {
  margin-top: 1.3333vw;
  display: flex;
  align-items: center;
}[data-route="pages/order/order"] .o-key {
  width: 17.3333vw;
  font-size: 2.9333vw;
  color: #8a93a6;
}[data-route="pages/order/order"] .o-val {
  flex: 1;
  font-size: 3.0667vw;
  color: #333333;
}[data-route="pages/order/order"] .mono {
  font-family: Menlo, monospace;
  font-size: 2.9333vw;
  letter-spacing: 0.0533vw;
}[data-route="pages/order/order"] .pay-tag {
  display: inline-block;
  padding: 0.2667vw 1.6vw;
  border-radius: 0.8vw;
  font-size: 2.6667vw;
  margin-right: 1.3333vw;
}[data-route="pages/order/order"] .pay-card {
  background-color: rgba(58, 123, 213, 0.1);
  color: #3a7bd5;
}[data-route="pages/order/order"] .pay-wx {
  background-color: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
}[data-route="pages/order/order"] .type-tag {
  display: inline-block;
  padding: 0.2667vw 1.6vw;
  border-radius: 0.8vw;
  font-size: 2.6667vw;
  background-color: #f2f4f7;
  color: #8a93a6;
}[data-route="pages/order/order"] .o-grid {
  margin-top: 2.4vw;
  display: flex;
  background-color: #f7f9fb;
  border-radius: 1.6vw;
  padding: 2.4vw 0;
}[data-route="pages/order/order"] .o-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8vw;
}[data-route="pages/order/order"] .oc-label {
  font-size: 2.5333vw;
  color: #8a93a6;
}[data-route="pages/order/order"] .oc-value {
  font-size: 3.2vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/order/order"] .oc-refund {
  color: #d9453a;
}[data-route="pages/order/order"] .o-foot {
  margin-top: 2.1333vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/order/order"] .o-time {
  font-size: 2.8vw;
  color: #b0b6bf;
}[data-route="pages/order/order"] .o-more {
  font-size: 3.0667vw;
  color: #3a7bd5;
}[data-route="pages/order/order"] .bottom-space {
  height: 5.3333vw;
}

/* pages/order/detail */
[data-route="pages/order/detail"] /**detail.wxss 订单详情**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #f5f6f8;
}[data-route="pages/order/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/order/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/order/detail"] .container {
  padding: 3.2vw 3.2vw 3.2vw;
}[data-route="pages/order/detail"] /* ---------- 头部 ---------- */
.head-card {
  background: linear-gradient(135deg, #3a7bd5, #2f6fd9);
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/order/detail"] .head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/order/detail"] .head-title {
  font-size: 4vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/order/detail"] .head-st {
  padding: 0.5333vw 2.1333vw;
  border-radius: 133.2vw;
  font-size: 2.8vw;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.9);
}[data-route="pages/order/detail"] .head-st.st-run {
  color: #1a7f4b;
}[data-route="pages/order/detail"] .head-st.st-done {
  color: #3a7bd5;
}[data-route="pages/order/detail"] .head-st.st-refund {
  color: #d9453a;
}[data-route="pages/order/detail"] .head-st.st-part {
  color: #b3741a;
}[data-route="pages/order/detail"] .head-no {
  margin-top: 2.1333vw;
  font-family: Menlo, monospace;
  font-size: 3.2vw;
  color: #ffffff;
  letter-spacing: 0.0667vw;
}[data-route="pages/order/detail"] .head-foot {
  margin-top: 2.4vw;
  padding-top: 2.1333vw;
  border-top: 0.1333vw solid rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  gap: 3.4667vw;
}[data-route="pages/order/detail"] .hf-item {
  font-size: 2.9333vw;
  color: rgba(255, 255, 255, 0.85);
}[data-route="pages/order/detail"] .hf-strong {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/order/detail"] /* ---------- 信息块 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.2vw 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/order/detail"] .sec-title {
  font-size: 3.6vw;
  font-weight: bold;
  color: #333333;
  padding-bottom: 2.1333vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/order/detail"] .kv-row {
  display: flex;
  align-items: flex-start;
  padding: 2.4vw 0;
  border-bottom: 0.1333vw solid #f7f8fa;
}[data-route="pages/order/detail"] .kv-row:last-child {
  border-bottom: none;
}[data-route="pages/order/detail"] .kv-label {
  width: 25.3333vw;
  flex-shrink: 0;
  font-size: 3.2vw;
  color: #8a93a6;
}[data-route="pages/order/detail"] .kv-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}[data-route="pages/order/detail"] .kv-value {
  font-size: 3.3333vw;
  color: #333333;
  text-align: right;
  word-break: break-all;
}[data-route="pages/order/detail"] .mono {
  font-family: Menlo, monospace;
  font-size: 3.0667vw;
  letter-spacing: 0.04vw;
}[data-route="pages/order/detail"] .kv-strong {
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/order/detail"] .kv-danger {
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/order/detail"] .kv-badge {
  padding: 0.5333vw 2.1333vw;
  border-radius: 133.2vw;
  font-size: 2.8vw;
  font-weight: bold;
}[data-route="pages/order/detail"] .kv-badge.st-run {
  background-color: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
}[data-route="pages/order/detail"] .kv-badge.st-done {
  background-color: rgba(58, 123, 213, 0.1);
  color: #3a7bd5;
}[data-route="pages/order/detail"] .kv-badge.st-refund {
  background-color: rgba(217, 69, 58, 0.1);
  color: #d9453a;
}[data-route="pages/order/detail"] .kv-badge.st-part {
  background-color: rgba(224, 138, 30, 0.12);
  color: #b3741a;
}[data-route="pages/order/detail"] /* ---------- 农户联系 ---------- */
.call-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/order/detail"] .cc-left {
  display: flex;
  align-items: center;
  gap: 2.4vw;
}[data-route="pages/order/detail"] .cc-avatar {
  width: 9.0667vw;
  height: 9.0667vw;
  border-radius: 50%;
  background-color: rgba(26, 127, 75, 0.12);
  color: #1a7f4b;
  font-size: 3.6vw;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/order/detail"] .cc-name {
  font-size: 3.6vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/order/detail"] .cc-phone {
  margin-top: 0.5333vw;
  font-size: 2.9333vw;
  color: #8a93a6;
}[data-route="pages/order/detail"] .cc-btn {
  padding: 1.8667vw 3.7333vw;
  border-radius: 133.2vw;
  background-color: rgba(26, 127, 75, 0.1);
  font-size: 3.2vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/order/detail"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/order/detail"] .bottom-space {
  height: 2.6667vw;
}[data-route="pages/order/detail"] /* ---------- 底部操作 ---------- */
.action-bar {
  display: flex;
  gap: 2.6667vw;
  padding: 2.4vw 3.2vw calc(2.4vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
}[data-route="pages/order/detail"] .ab-btn {
  flex: 1;
  padding: 3.2vw 0;
  border-radius: 1.8667vw;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
}[data-route="pages/order/detail"] .ab-close {
  background-color: #3a7bd5;
  color: #ffffff;
}[data-route="pages/order/detail"] .ab-full {
  flex: 1;
}

/* pages/card/card */
[data-route="pages/card/card"] /**card.wxss 农灌卡管理入口**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/card/card"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/card/card"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/card/card"] .entry-wrap {
  padding: 29.3333vw 5.3333vw;
}[data-route="pages/card/card"] /* ---------- 渐变入口卡 ---------- */
.entry-card {
  position: relative;
  overflow: hidden;
  border-radius: 3.2vw;
  padding: 10.1333vw 4vw;
  margin-bottom: 5.3333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1.6vw 4vw rgba(0, 0, 0, 0.12);
}[data-route="pages/card/card"] .entry-orange {
  background: linear-gradient(115deg, #f7b733 0%, #f97b3d 45%, #ef5f3c 75%, #f4603a 100%);
}[data-route="pages/card/card"] .entry-blue {
  background: linear-gradient(115deg, #38b6ff 0%, #1e90ff 55%, #1877e8 100%);
}[data-route="pages/card/card"] .deco {
  position: absolute;
  border-radius: 50%;
}[data-route="pages/card/card"] .entry-orange .deco-a {
  width: 48vw;
  height: 48vw;
  right: -13.3333vw;
  top: -18.6667vw;
  background: rgba(255, 255, 255, 0.14);
}[data-route="pages/card/card"] .entry-orange .deco-b {
  width: 40vw;
  height: 40vw;
  left: -10.6667vw;
  bottom: -20vw;
  background: rgba(255, 255, 255, 0.10);
}[data-route="pages/card/card"] .entry-blue .deco-a {
  width: 45.3333vw;
  height: 45.3333vw;
  right: -12vw;
  bottom: -21.3333vw;
  background: rgba(255, 255, 255, 0.12);
}[data-route="pages/card/card"] .entry-blue .deco-b {
  width: 34.6667vw;
  height: 34.6667vw;
  left: -9.3333vw;
  top: -16vw;
  background: rgba(255, 255, 255, 0.10);
}[data-route="pages/card/card"] .entry-main {
  position: relative;
  text-align: center;
}[data-route="pages/card/card"] .entry-title {
  font-size: 5.3333vw;
  font-weight: bold;
  color: #ffffff;
  letter-spacing: 0.5333vw;
}[data-route="pages/card/card"] .entry-sub {
  margin-top: 2.1333vw;
  font-size: 3.2vw;
  color: rgba(255, 255, 255, 0.92);
}

/* pages/card/list */
[data-route="pages/card/list"] /**cardList.wxss 农灌卡列表**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/card/list"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/card/list"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/card/list"] .container {
  padding: 3.2vw;
}[data-route="pages/card/list"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/list"] /* ---------- 搜索 + 筛选 ---------- */
.search-bar {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/list"] .search-box {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 1.6vw;
  padding: 0 2.4vw;
  height: 9.6vw;
}[data-route="pages/card/list"] .search-input {
  flex: 1;
  min-width: 0;
  font-size: 3.3333vw;
  color: #333333;
}[data-route="pages/card/list"] .ph {
  color: #b0b6bf;
}[data-route="pages/card/list"] .scan-ico {
  width: 4.5333vw;
  height: 4.5333vw;
  border: 0.4vw solid #3a7bd5;
  border-radius: 1.0667vw;
  margin-left: 1.8667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}[data-route="pages/card/list"] .scan-core {
  width: 1.8667vw;
  height: 1.8667vw;
  background-color: #3a7bd5;
  border-radius: 0.4vw;
}[data-route="pages/card/list"] .search-clear {
  padding: 0 0.5333vw 0 1.6vw;
  font-size: 4.5333vw;
  color: #b0b6bf;
}[data-route="pages/card/list"] .filter-picker {
  flex-shrink: 0;
}[data-route="pages/card/list"] .filter-btn {
  font-size: 3.4667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/card/list"] /* ---------- 空态 ---------- */
.empty-card {
  background-color: transparent;
  padding: 21.3333vw 0;
  text-align: center;
  font-size: 3.4667vw;
  color: #b0b6bf;
}[data-route="pages/card/list"] /* ---------- 卡片 ---------- */
.ic-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2.1333vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/card/list"] .ic-no {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #3a7bd5;
  letter-spacing: 0.2667vw;
  flex: 1;
  min-width: 0;
}[data-route="pages/card/list"] .ic-tags {
  display: flex;
  gap: 1.3333vw;
  flex-shrink: 0;
}[data-route="pages/card/list"] .ic-st {
  font-size: 2.8vw;
  padding: 0.8vw 2.1333vw;
  border-radius: 133.2vw;
}[data-route="pages/card/list"] .st-ok {
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.1);
}[data-route="pages/card/list"] .st-lost {
  color: #d9453a;
  background-color: rgba(217, 69, 58, 0.12);
}[data-route="pages/card/list"] .st-off {
  color: #8a93a6;
  background-color: rgba(138, 147, 166, 0.14);
}[data-route="pages/card/list"] .ic-farmer {
  margin-top: 2.1333vw;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/card/list"] .ic-phone {
  margin-left: 1.8667vw;
  font-size: 3.0667vw;
  font-weight: normal;
  color: #8a93a6;
}[data-route="pages/card/list"] .ic-meta {
  margin-top: 1.0667vw;
  font-size: 3.0667vw;
  color: #5f6b7a;
}[data-route="pages/card/list"] .ic-meta2 {
  margin-top: 1.0667vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/card/list"] .ic-type {
  font-size: 2.9333vw;
  color: #8a93a6;
}[data-route="pages/card/list"] .ic-date {
  font-size: 2.9333vw;
  color: #b0b6bf;
}[data-route="pages/card/list"] .ic-foot {
  margin-top: 2.4vw;
  padding-top: 2.1333vw;
  border-top: 0.1333vw solid #f0f1f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/card/list"] .ic-balance {
  font-size: 3.0667vw;
  color: #8a93a6;
  flex-shrink: 0;
}[data-route="pages/card/list"] .ib-num {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/card/list"] .ic-actions {
  display: flex;
  gap: 1.6vw;
  flex-wrap: wrap;
  justify-content: flex-end;
}[data-route="pages/card/list"] .act {
  font-size: 2.9333vw;
  padding: 1.0667vw 2.4vw;
  border-radius: 1.0667vw;
  color: #ffffff;
}[data-route="pages/card/list"] .act-view {
  background-color: #1a7f4b;
}[data-route="pages/card/list"] .act-order {
  background-color: #3a7bd5;
}[data-route="pages/card/list"] .act-edit {
  background-color: #12b3a8;
}[data-route="pages/card/list"] .act-more {
  background-color: #e99e2c;
}[data-route="pages/card/list"] /* ---------- 底部固定添加 ---------- */
.bottom-bar {
  flex-shrink: 0;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
}[data-route="pages/card/list"] .add-btn {
  background-color: #1e8bf0;
  border-radius: 1.6vw;
  padding: 3.4667vw 0;
  text-align: center;
  font-size: 3.8667vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/card/list"] .btn-space {
  height: 2.6667vw;
}[data-route="pages/card/list"] /* ---------- 弹窗 ---------- */
.mask {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}[data-route="pages/card/list"] .dialog {
  width: 82.6667vw;
  max-height: 80vh;
  overflow-y: auto;
  background-color: #ffffff;
  border-radius: 3.2vw;
  padding: 5.8667vw 4.5333vw 4.5333vw;
}[data-route="pages/card/list"] .dlg-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1.3333vw;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #333333;
  margin-bottom: 4.5333vw;
}[data-route="pages/card/list"] .dlg-title text {
  display: inline;
}[data-route="pages/card/list"] .dlg-slash {
  color: #3a7bd5;
  font-style: italic;
}[data-route="pages/card/list"] .dlg-row {
  display: flex;
  align-items: center;
  padding: 2.6667vw 0;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/card/list"] .dlg-label {
  width: 26.6667vw;
  font-size: 3.4667vw;
  color: #333333;
  flex-shrink: 0;
  letter-spacing: 0.2667vw;
}[data-route="pages/card/list"] .dlg-input {
  flex: 1;
  min-width: 0;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/card/list"] .dlg-scan {
  margin-left: 1.3333vw;
}[data-route="pages/card/list"] .dlg-area {
  flex: 1;
  min-width: 0;
  font-size: 3.4667vw;
  color: #333333;
}[data-route="pages/card/list"] .dlg-arrow {
  font-size: 4vw;
  color: #c3c9d4;
}[data-route="pages/card/list"] .dlg-warn {
  margin-top: 2.9333vw;
  font-size: 2.9333vw;
  color: #e02020;
}[data-route="pages/card/list"] .dlg-btns {
  margin-top: 4.5333vw;
  display: flex;
  gap: 3.2vw;
}[data-route="pages/card/list"] .dlg-cancel {
  flex: 1;
  background-color: #d9d9d9;
  border-radius: 133.2vw;
  padding: 2.9333vw 0;
  text-align: center;
  font-size: 3.7333vw;
  color: #333333;
}[data-route="pages/card/list"] .dlg-ok {
  flex: 1;
  background-color: #1e8bf0;
  border-radius: 133.2vw;
  padding: 2.9333vw 0;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  color: #ffffff;
}

/* pages/card/detail */
[data-route="pages/card/detail"] /**cardDetail.wxss 农灌卡查看**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/card/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/card/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/card/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/card/detail"] .head-card {
  background: linear-gradient(115deg, #3a7bd5 0%, #2b62b4 100%);
  border-radius: 2.6667vw;
  padding: 4.5333vw 4vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/detail"] .head-no {
  font-size: 4.2667vw;
  font-weight: bold;
  color: #ffffff;
  letter-spacing: 0.2667vw;
}[data-route="pages/card/detail"] .head-holder {
  margin-top: 1.3333vw;
  font-size: 3.3333vw;
  color: rgba(255, 255, 255, 0.9);
}[data-route="pages/card/detail"] .form-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 0 4vw;
}[data-route="pages/card/detail"] .f-row {
  display: flex;
  align-items: center;
  min-height: 12.2667vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/card/detail"] .f-row:last-child {
  border-bottom: none;
}[data-route="pages/card/detail"] .f-label {
  width: 30.6667vw;
  font-size: 3.4667vw;
  color: #5f6b7a;
  flex-shrink: 0;
}[data-route="pages/card/detail"] .f-value {
  flex: 1;
  min-width: 0;
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/card/detail"] .ph {
  color: #b0b6bf;
}[data-route="pages/card/detail"] .v-ok {
  color: #1a7f4b;
  font-weight: bold;
}[data-route="pages/card/detail"] .v-lost {
  color: #d9453a;
  font-weight: bold;
}[data-route="pages/card/detail"] .v-money {
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/card/detail"] .bottom-bar {
  flex-shrink: 0;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
}[data-route="pages/card/detail"] .close-btn {
  background-color: #3a7bd5;
  border-radius: 1.6vw;
  padding: 3.4667vw 0;
  text-align: center;
  font-size: 3.8667vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/card/detail"] .btn-space {
  height: 2.6667vw;
}

/* pages/card/orders */
[data-route="pages/card/orders"] /**cardOrders.wxss 农灌卡订单信息**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/card/orders"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/card/orders"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/card/orders"] .container {
  padding: 3.2vw;
}[data-route="pages/card/orders"] .head-bar {
  display: flex;
  align-items: center;
  gap: 1.8667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/orders"] .head-tag {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #3a7bd5;
}[data-route="pages/card/orders"] .head-holder {
  font-size: 3.4667vw;
  color: #5f6b7a;
}[data-route="pages/card/orders"] /* ---------- 筛选 ---------- */
.filter-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 2.6667vw 3.2vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/orders"] .filter-row {
  display: flex;
  align-items: center;
}[data-route="pages/card/orders"] .filter-input {
  flex: 1;
  min-width: 0;
  background-color: #f0f2f5;
  border-radius: 1.3333vw;
  padding: 2.1333vw 2.6667vw;
  font-size: 3.3333vw;
  color: #333333;
}[data-route="pages/card/orders"] .pickers {
  margin-top: 2.4vw;
  gap: 3.7333vw;
}[data-route="pages/card/orders"] .pick-item {
  font-size: 3.3333vw;
  color: #3a7bd5;
}[data-route="pages/card/orders"] .ph {
  color: #b0b6bf;
}[data-route="pages/card/orders"] /* ---------- 空态 ---------- */
.empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 13.3333vw 0;
  text-align: center;
  font-size: 3.4667vw;
  color: #b0b6bf;
}[data-route="pages/card/orders"] /* ---------- 订单卡片 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/orders"] .oc-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2.1333vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/card/orders"] .oc-no {
  font-size: 3.4667vw;
  font-weight: bold;
  color: #333333;
  flex: 1;
  min-width: 0;
}[data-route="pages/card/orders"] .oc-st {
  flex-shrink: 0;
  font-size: 2.8vw;
  padding: 0.8vw 2.1333vw;
  border-radius: 133.2vw;
}[data-route="pages/card/orders"] .st-run {
  color: #3a7bd5;
  background-color: rgba(58, 123, 213, 0.12);
}[data-route="pages/card/orders"] .st-done {
  color: #1a7f4b;
  background-color: rgba(26, 127, 75, 0.1);
}[data-route="pages/card/orders"] .st-refund {
  color: #d9453a;
  background-color: rgba(217, 69, 58, 0.12);
}[data-route="pages/card/orders"] .st-part {
  color: #ba7517;
  background-color: rgba(233, 158, 44, 0.14);
}[data-route="pages/card/orders"] .oc-row {
  display: flex;
  align-items: center;
  padding: 1.6vw 0;
}[data-route="pages/card/orders"] .oc-label {
  width: 24vw;
  font-size: 3.0667vw;
  color: #8a93a6;
  flex-shrink: 0;
}[data-route="pages/card/orders"] .oc-val {
  flex: 1;
  min-width: 0;
  font-size: 3.2vw;
  color: #333333;
}[data-route="pages/card/orders"] .oc-foot {
  margin-top: 1.8667vw;
  padding-top: 2.1333vw;
  border-top: 0.1333vw solid #f0f1f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/card/orders"] .oc-item {
  font-size: 2.9333vw;
  color: #8a93a6;
}[data-route="pages/card/orders"] .oc-strong {
  font-size: 3.3333vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/card/orders"] .oc-pay {
  font-size: 3.3333vw;
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/card/orders"] .btn-space {
  height: 2.6667vw;
}

/* pages/card/agent */
[data-route="pages/card/agent"] /**cardAgent.wxss 代充**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/card/agent"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/card/agent"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/card/agent"] .container {
  padding: 0;
}[data-route="pages/card/agent"] .form-card {
  background-color: #ffffff;
  padding: 0 4vw;
}[data-route="pages/card/agent"] .form-row {
  display: flex;
  align-items: center;
  min-height: 12.8vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/card/agent"] .form-row:last-child {
  border-bottom: none;
}[data-route="pages/card/agent"] .f-label {
  width: 29.3333vw;
  font-size: 3.6vw;
  color: #333333;
  flex-shrink: 0;
  letter-spacing: 0.2667vw;
}[data-route="pages/card/agent"] .f-input {
  flex: 1;
  min-width: 0;
  font-size: 3.6vw;
  color: #333333;
  text-align: left;
}[data-route="pages/card/agent"] .f-value {
  flex: 1;
  min-width: 0;
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/card/agent"] .f-arrow {
  font-size: 4.2667vw;
  color: #c3c9d4;
}[data-route="pages/card/agent"] .ph {
  color: #b0b6bf;
}[data-route="pages/card/agent"] /* 查看充值记录 */
.record-link {
  margin-top: 2.6667vw;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3.4667vw 4vw;
  font-size: 3.6vw;
  color: #1e8bf0;
}[data-route="pages/card/agent"] .rl-arrow {
  font-size: 4.2667vw;
  color: #c3c9d4;
}[data-route="pages/card/agent"] /* ---------- 底部按钮 ---------- */
.bottom-bar {
  flex-shrink: 0;
  display: flex;
  gap: 3.2vw;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
}[data-route="pages/card/agent"] .cancel-btn {
  flex: 1;
  background-color: #cccccc;
  border-radius: 1.6vw;
  padding: 3.4667vw 0;
  text-align: center;
  font-size: 3.8667vw;
  color: #333333;
}[data-route="pages/card/agent"] .ok-btn {
  flex: 2;
  background-color: #1e8bf0;
  border-radius: 1.6vw;
  padding: 3.4667vw 0;
  text-align: center;
  font-size: 3.8667vw;
  font-weight: bold;
  color: #ffffff;
}

/* pages/card/new */
[data-route="pages/card/new"] /**cardNew.wxss 农灌卡录入/绑定**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/card/new"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/card/new"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/card/new"] .container {
  padding: 3.2vw;
}[data-route="pages/card/new"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/card/new"] /* ---------- 绑定卡头 ---------- */
.bind-no {
  font-size: 4.5333vw;
  font-weight: bold;
  color: #3a7bd5;
  letter-spacing: 0.2667vw;
}[data-route="pages/card/new"] .bind-tip {
  margin-top: 1.3333vw;
  font-size: 3.0667vw;
  color: #8a93a6;
}[data-route="pages/card/new"] /* ---------- 表单 ---------- */
.f-label {
  font-size: 3.3333vw;
  color: #5f6b7a;
}[data-route="pages/card/new"] .mt {
  margin-top: 3.4667vw;
}[data-route="pages/card/new"] .f-input {
  margin-top: 1.8667vw;
  background-color: #f0f2f5;
  border-radius: 1.6vw;
  padding: 2.6667vw 2.9333vw;
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/card/new"] .ph {
  color: #b0b6bf;
}[data-route="pages/card/new"] .picker-row {
  margin-top: 1.8667vw;
  background-color: #f0f2f5;
  border-radius: 1.6vw;
  padding: 2.6667vw 2.9333vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/card/new"] .pr-value {
  font-size: 3.6vw;
  color: #333333;
}[data-route="pages/card/new"] .pr-ph {
  color: #b0b6bf;
}[data-route="pages/card/new"] .pr-arrow {
  font-size: 3.7333vw;
  color: #c3c9d4;
}[data-route="pages/card/new"] /* ---------- 底部提交 ---------- */
.bottom-bar {
  flex-shrink: 0;
  padding: 2.6667vw 3.2vw calc(2.6667vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
}[data-route="pages/card/new"] .submit-btn {
  background-color: #3a7bd5;
  border-radius: 2.1333vw;
  padding: 3.4667vw 0;
  text-align: center;
  font-size: 3.8667vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/card/new"] .bottom-space {
  height: 2.6667vw;
}

/* pages/recharge/recharge */
[data-route="pages/recharge/recharge"] /**recharge.wxss 充值订单（对齐平台充值订单查询）**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}[data-route="pages/recharge/recharge"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/recharge/recharge"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/recharge/recharge"] .container {
  padding: 3.2vw;
}[data-route="pages/recharge/recharge"] .card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/recharge/recharge"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/recharge/recharge"] /* ---------- 搜索 ---------- */
.search-card {
  padding: 2.9333vw 3.2vw;
}[data-route="pages/recharge/recharge"] .search-line {
  display: flex;
  align-items: center;
  gap: 2.1333vw;
}[data-route="pages/recharge/recharge"] .search-box {
  flex: 1;
  display: flex;
  align-items: center;
  height: 9.0667vw;
  padding: 0 2.4vw;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
}[data-route="pages/recharge/recharge"] .search-icon {
  font-size: 3.2vw;
  margin-right: 1.3333vw;
}[data-route="pages/recharge/recharge"] .search-input {
  flex: 1;
  font-size: 3.2vw;
  color: #333333;
}[data-route="pages/recharge/recharge"] .ph {
  color: #b0b6bf;
  font-size: 3.0667vw;
}[data-route="pages/recharge/recharge"] .clear-btn {
  padding: 0 0.8vw;
  font-size: 4vw;
  color: #b0b6bf;
}[data-route="pages/recharge/recharge"] .way-btn {
  display: flex;
  align-items: center;
  gap: 0.8vw;
  height: 9.0667vw;
  padding: 0 2.4vw;
  border-radius: 1.6vw;
  background-color: #f5f6f8;
  font-size: 3.2vw;
  color: #5f6b7a;
  white-space: nowrap;
}[data-route="pages/recharge/recharge"] .way-on {
  background-color: rgba(58, 123, 213, 0.1);
  color: #3a7bd5;
  font-weight: bold;
}[data-route="pages/recharge/recharge"] .way-arrow {
  font-size: 2.6667vw;
}[data-route="pages/recharge/recharge"] .search-foot {
  margin-top: 1.8667vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/recharge/recharge"] .foot-text {
  font-size: 2.8vw;
  color: #b0b6bf;
}[data-route="pages/recharge/recharge"] .foot-count {
  font-size: 2.9333vw;
  color: #5f6b7a;
}[data-route="pages/recharge/recharge"] /* ---------- 状态筛选 ---------- */
.status-scroll {
  height: 9.6vw;
  white-space: nowrap;
  margin-bottom: 2.6667vw;
}[data-route="pages/recharge/recharge"] .status-tabs {
  display: inline-flex;
  flex-direction: row;
  gap: 2.1333vw;
  height: 9.6vw;
}[data-route="pages/recharge/recharge"] .status-tab {
  padding: 1.6vw 4vw;
  border-radius: 133.2vw;
  background-color: #ffffff;
  font-size: 3.3333vw;
  color: #5f6b7a;
  border: 0.1333vw solid #e4e7ec;
}[data-route="pages/recharge/recharge"] .tab-on {
  background-color: #3a7bd5;
  border-color: #3a7bd5;
  color: #ffffff;
  font-weight: bold;
}[data-route="pages/recharge/recharge"] /* ---------- 充值卡片 ---------- */
.rc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2.1333vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/recharge/recharge"] .rc-no {
  font-size: 2.8vw;
  color: #8a93a6;
}[data-route="pages/recharge/recharge"] .rc-st {
  font-size: 3.2vw;
  font-weight: bold;
}[data-route="pages/recharge/recharge"] .st-paid {
  color: #1a7f4b;
}[data-route="pages/recharge/recharge"] .st-refund {
  color: #d9453a;
}[data-route="pages/recharge/recharge"] .st-deny {
  color: #e08a1e;
}[data-route="pages/recharge/recharge"] .rc-main {
  margin-top: 2.1333vw;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}[data-route="pages/recharge/recharge"] .rc-payer {
  font-size: 3.8667vw;
  font-weight: bold;
  color: #333333;
}[data-route="pages/recharge/recharge"] .rc-phone {
  font-size: 2.9333vw;
  font-weight: normal;
  color: #8a93a6;
  padding-left: 1.3333vw;
}[data-route="pages/recharge/recharge"] .rc-row {
  margin-top: 1.3333vw;
  display: flex;
  align-items: center;
}[data-route="pages/recharge/recharge"] .rc-key {
  width: 17.3333vw;
  font-size: 2.9333vw;
  color: #8a93a6;
}[data-route="pages/recharge/recharge"] .rc-val {
  font-size: 3.0667vw;
  color: #333333;
}[data-route="pages/recharge/recharge"] .mono {
  font-family: Menlo, monospace;
  font-size: 2.9333vw;
  letter-spacing: 0.0533vw;
}[data-route="pages/recharge/recharge"] .rc-cardtag {
  margin-left: 1.6vw;
  padding: 0.2667vw 1.6vw;
  border-radius: 0.8vw;
  font-size: 2.5333vw;
  font-family: -apple-system, sans-serif;
  background-color: rgba(58, 123, 213, 0.1);
  color: #3a7bd5;
}[data-route="pages/recharge/recharge"] .rc-amount {
  font-size: 4vw;
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/recharge/recharge"] .rc-foot {
  margin-top: 2.1333vw;
  display: flex;
  align-items: center;
}[data-route="pages/recharge/recharge"] .rc-time {
  font-size: 2.8vw;
  color: #b0b6bf;
}[data-route="pages/recharge/recharge"] .rc-refund {
  margin-left: 2.1333vw;
  font-size: 2.8vw;
  color: #d9453a;
}[data-route="pages/recharge/recharge"] .rc-more {
  margin-left: auto;
  font-size: 3.0667vw;
  color: #3a7bd5;
}[data-route="pages/recharge/recharge"] .bottom-space {
  height: 5.3333vw;
}

/* pages/recharge/detail */
[data-route="pages/recharge/detail"] /**detail.wxss 充值订单详情**/
body {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #f5f6f8;
}[data-route="pages/recharge/detail"] .page {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #f5f6f8;
}[data-route="pages/recharge/detail"] .scrollarea {
  flex: 1;
  height: 0;
}[data-route="pages/recharge/detail"] .container {
  padding: 3.2vw;
}[data-route="pages/recharge/detail"] /* ---------- 头部 ---------- */
.head-card {
  background: linear-gradient(135deg, #e08a1e, #d97706);
  border-radius: 2.6667vw;
  padding: 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/recharge/detail"] .head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}[data-route="pages/recharge/detail"] .head-title {
  font-size: 4vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/recharge/detail"] .head-st {
  padding: 0.5333vw 2.1333vw;
  border-radius: 133.2vw;
  font-size: 2.8vw;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.9);
}[data-route="pages/recharge/detail"] .head-st.st-paid {
  color: #1a7f4b;
}[data-route="pages/recharge/detail"] .head-st.st-refund {
  color: #d9453a;
}[data-route="pages/recharge/detail"] .head-st.st-deny {
  color: #b3741a;
}[data-route="pages/recharge/detail"] .head-no {
  margin-top: 2.1333vw;
  font-family: Menlo, monospace;
  font-size: 3.2vw;
  color: #ffffff;
  letter-spacing: 0.0667vw;
}[data-route="pages/recharge/detail"] .head-foot {
  margin-top: 2.4vw;
  padding-top: 2.1333vw;
  border-top: 0.1333vw solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  gap: 3.4667vw;
}[data-route="pages/recharge/detail"] .hf-item {
  font-size: 2.9333vw;
  color: rgba(255, 255, 255, 0.85);
}[data-route="pages/recharge/detail"] .hf-strong {
  font-size: 3.7333vw;
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/recharge/detail"] /* ---------- 信息块 ---------- */
.card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.2vw 3.4667vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/recharge/detail"] .sec-title {
  font-size: 3.6vw;
  font-weight: bold;
  color: #333333;
  padding-bottom: 2.1333vw;
  border-bottom: 0.1333vw solid #f0f1f3;
}[data-route="pages/recharge/detail"] .kv-row {
  display: flex;
  align-items: flex-start;
  padding: 2.4vw 0;
  border-bottom: 0.1333vw solid #f7f8fa;
}[data-route="pages/recharge/detail"] .kv-row:last-child {
  border-bottom: none;
}[data-route="pages/recharge/detail"] .kv-label {
  width: 22.6667vw;
  flex-shrink: 0;
  font-size: 3.2vw;
  color: #8a93a6;
}[data-route="pages/recharge/detail"] .kv-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}[data-route="pages/recharge/detail"] .kv-value {
  font-size: 3.3333vw;
  color: #333333;
  text-align: right;
  word-break: break-all;
}[data-route="pages/recharge/detail"] .mono {
  font-family: Menlo, monospace;
  font-size: 3.0667vw;
  letter-spacing: 0.04vw;
}[data-route="pages/recharge/detail"] .kv-strong {
  font-weight: bold;
  color: #1a7f4b;
}[data-route="pages/recharge/detail"] .kv-danger {
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/recharge/detail"] .kv-badge {
  padding: 0.5333vw 2.1333vw;
  border-radius: 133.2vw;
  font-size: 2.8vw;
  font-weight: bold;
}[data-route="pages/recharge/detail"] .kv-badge.st-paid {
  background-color: rgba(26, 127, 75, 0.1);
  color: #1a7f4b;
}[data-route="pages/recharge/detail"] .kv-badge.st-refund {
  background-color: rgba(217, 69, 58, 0.1);
  color: #d9453a;
}[data-route="pages/recharge/detail"] .kv-badge.st-deny {
  background-color: rgba(224, 138, 30, 0.12);
  color: #b3741a;
}[data-route="pages/recharge/detail"] .empty-card {
  background-color: #ffffff;
  border-radius: 2.6667vw;
  padding: 8.5333vw 0;
  text-align: center;
  font-size: 3.3333vw;
  color: #b0b6bf;
}[data-route="pages/recharge/detail"] .bottom-space {
  height: 2.6667vw;
}[data-route="pages/recharge/detail"] /* ---------- 底部操作 ---------- */
.action-bar {
  display: flex;
  padding: 2.4vw 3.2vw calc(2.4vw + env(safe-area-inset-bottom));
  background-color: #ffffff;
  border-top: 0.1333vw solid #eef0f3;
}[data-route="pages/recharge/detail"] .ab-btn {
  flex: 1;
  padding: 3.2vw 0;
  border-radius: 1.8667vw;
  text-align: center;
  font-size: 3.7333vw;
  font-weight: bold;
  background-color: #e08a1e;
  color: #ffffff;
}

/* pages/fhome/fhome */
[data-route="pages/fhome/fhome"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/fhome"] /* ---------- 橙色头部 ---------- */
.hero {
  background: linear-gradient(180deg, #F79B2B 0%, #f7b04a 78%, #f3f5f9 100%);
  padding: 4vw 3.7333vw 5.3333vw;
}[data-route="pages/fhome/fhome"] .hero-row {
  display: flex;
  align-items: center;
}[data-route="pages/fhome/fhome"] .avatar {
  width: 14.6667vw;
  height: 14.6667vw;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(8vw * var(--fs, 1));
}[data-route="pages/fhome/fhome"] .hero-info {
  flex: 1;
  margin-left: 3.2vw;
}[data-route="pages/fhome/fhome"] .u-name {
  font-size: calc(5.0667vw * var(--fs, 1));
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/fhome/fhome"] /* 姓名旁「编辑」按钮（白底橙字，醒目） */
.u-name-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/fhome/fhome"] .name-edit {
  margin-left: 2.1333vw;
  background: #ffffff;
  color: #f79b2b;
  font-size: calc(3.4667vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 3.4667vw;
  padding: 1.6vw 3.7333vw;
  line-height: 1.35;
  flex-shrink: 0;
}[data-route="pages/fhome/fhome"] .u-phone {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: rgba(255, 255, 255, 0.9);
  margin-top: 1.0667vw;
}[data-route="pages/fhome/fhome"] /* 适老化：头像区右上「退出登录」 */
.hero-logout {
  background: #ffffff;
  color: #f79b2b;
  font-size: calc(3.4667vw * var(--fs, 1));
  border-radius: 4vw;
  padding: 2.4vw 3.7333vw;
  font-weight: bold;
}[data-route="pages/fhome/fhome"] .edit-btn {
  background: #ffffff;
  color: #f79b2b;
  font-size: calc(3.4667vw * var(--fs, 1));
  border-radius: 4vw;
  padding: 2.4vw 4.2667vw;
  font-weight: bold;
}[data-route="pages/fhome/fhome"] /* ---------- 余额 / 卡包 ---------- */
.top-cards {
  display: flex;
  gap: 2.9333vw;
  margin-top: 4.5333vw;
}[data-route="pages/fhome/fhome"] .tc-card {
  flex: 1;
  background: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.4667vw 3.7333vw;
  position: relative;
  overflow: hidden;
}[data-route="pages/fhome/fhome"] .tc-label {
  font-size: calc(3.6vw * var(--fs, 1));
  color: #333333;
  font-weight: bold;
}[data-route="pages/fhome/fhome"] .tc-arrow {
  color: #77828f;
  font-weight: normal;
}[data-route="pages/fhome/fhome"] .tc-value {
  font-size: calc(5.8667vw * var(--fs, 1));
  font-weight: bold;
  color: #f79b2b;
  margin-top: 1.8667vw;
}[data-route="pages/fhome/fhome"] .tc-unit {
  font-size: calc(3.2vw * var(--fs, 1));
  font-weight: normal;
}[data-route="pages/fhome/fhome"] .tc-sub {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #f79b2b;
  margin-top: 2.6667vw;
}[data-route="pages/fhome/fhome"] .tc-emoji {
  position: absolute;
  right: 2.4vw;
  bottom: 1.8667vw;
  font-size: calc(6.9333vw * var(--fs, 1));
  opacity: 0.55;
}[data-route="pages/fhome/fhome"] /* ---------- 宫格菜单 ---------- */
.menu-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 4vw 3.7333vw 0;
}[data-route="pages/fhome/fhome"] .menu-card {
  width: 49%;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 2.6667vw;
  padding: 4.5333vw 4vw 3.7333vw;
  margin-bottom: 2.9333vw;
}[data-route="pages/fhome/fhome"] .m-icon {
  width: 11.7333vw;
  height: 11.7333vw;
  border-radius: 2.6667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(5.8667vw * var(--fs, 1));
}[data-route="pages/fhome/fhome"] .m-name {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/fhome"] .m-sub {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 1.0667vw;
}[data-route="pages/fhome/fhome"] .logout-link {
  text-align: center;
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #5d6a7d;
  padding: 5.8667vw 0 0;
}[data-route="pages/fhome/fhome"] /* 适老化：人工客服入口 */
.cs-entry {
  margin: 4vw 3.7333vw 0;
  background: #ffffff;
  border: 0.2667vw solid #ffe0c2;
  border-radius: 2.6667vw;
  padding: 3.7333vw 4vw;
  display: flex;
  align-items: center;
}[data-route="pages/fhome/fhome"] .cs-ico {
  font-size: calc(6.4vw * var(--fs, 1));
  margin-right: 2.9333vw;
}[data-route="pages/fhome/fhome"] .cs-info {
  flex: 1;
}[data-route="pages/fhome/fhome"] .cs-name {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/fhome"] .cs-sub {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 0.8vw;
}[data-route="pages/fhome/fhome"] .cs-arrow {
  font-size: calc(5.3333vw * var(--fs, 1));
  color: #c8cfdb;
}[data-route="pages/fhome/fhome"] .bottom-space {
  /* 适老化后内容变高（修改信息+客服入口），加大占位避免被固定扫码栏压住 */
  height: calc(64vw * var(--fs, 1));
}[data-route="pages/fhome/fhome"] /* ---------- 底部扫码 ---------- */
.footer-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.1333vw 3.7333vw calc(2.1333vw + env(safe-area-inset-bottom));
  background: #f3f5f9;
}[data-route="pages/fhome/fhome"] .scan-btn {
  background: #F79B2B;
  color: #ffffff;
  text-align: center;
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 6.4vw;
  line-height: 13.3333vw;
}[data-route="pages/fhome/fhome"] /* 我的反馈 入口卡 */
.fb-entry {
  margin: 4vw 3.7333vw 0;
  background: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw 4vw;
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/fhome/fhome"] .fb-entry-icon {
  width: 10.6667vw;
  height: 10.6667vw;
  border-radius: 2.6667vw;
  background: #e4f9fc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(5.3333vw * var(--fs, 1));
  margin-right: 3.2vw;
}[data-route="pages/fhome/fhome"] .fb-entry-info {
  flex: 1;
}[data-route="pages/fhome/fhome"] .fb-entry-name {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/fhome"] .fb-entry-badge {
  display: inline-block;
  margin-left: 1.6vw;
  background: #fdf3e6;
  color: #e6a23c;
  font-size: calc(2.6667vw * var(--fs, 1));
  font-weight: 500;
  padding: 0.5333vw 1.8667vw;
  border-radius: 1.0667vw;
  vertical-align: middle;
}[data-route="pages/fhome/fhome"] .fb-entry-sub {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 0.8vw;
}[data-route="pages/fhome/fhome"] .fb-entry-arrow {
  font-size: calc(5.3333vw * var(--fs, 1));
  color: #cccccc;
}[data-route="pages/fhome/fhome"] /* 常用机井模块 */
.well-mod {
  margin: 4vw 3.7333vw 0;
  background: #ffffff;
  border-radius: 2.6667vw;
  padding: 3.7333vw 4vw;
}[data-route="pages/fhome/fhome"] .well-head {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/fhome"] .well-title {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  padding-left: 2.1333vw;
  border-left: 1.0667vw solid #F79B2B;
}[data-route="pages/fhome/fhome"] .well-more {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #e6a23c;
}[data-route="pages/fhome/fhome"] .well-empty {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #77828f;
  text-align: center;
  padding: 4vw 0 1.3333vw;
}[data-route="pages/fhome/fhome"] /* 横向机井卡片：一行 3 个（窄屏自适应 2 个），仅名称+使用状态 */
.well-cards {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3.2vw;
}[data-route="pages/fhome/fhome"] .well-chip {
  width: 49%;
  box-sizing: border-box;
  background: #f8fafc;
  border: 0.1333vw solid #eef1f6;
  border-radius: 2.1333vw;
  padding: 2.6667vw 2.9333vw;
  margin-bottom: 2.1333vw;
}[data-route="pages/fhome/fhome"] .well-chip.w-busy {
  background: #f0fbf6;
  border-color: #c9eddd;
}[data-route="pages/fhome/fhome"] .wc-top {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/fhome/fhome"] .wc-dot {
  width: 2.4vw;
  height: 2.4vw;
  border-radius: 50%;
  margin-right: 1.6vw;
  flex-shrink: 0;
}[data-route="pages/fhome/fhome"] .wc-dot.d-busy {
  background: #12b77f;
}[data-route="pages/fhome/fhome"] .wc-dot.d-free {
  background: #b9c1cd;
}[data-route="pages/fhome/fhome"] .wc-code {
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  flex: 1;
  word-break: break-all;
  white-space: normal;
}[data-route="pages/fhome/fhome"] .wc-status {
  font-size: calc(3.4667vw * var(--fs, 1));
  margin-top: 1.6vw;
  padding-left: 4vw;
}[data-route="pages/fhome/fhome"] .wc-status.s-busy {
  color: #12b77f;
}[data-route="pages/fhome/fhome"] .wc-status.s-free {
  color: #5d6a7d;
}[data-route="pages/fhome/fhome"] /* 修改信息弹窗 */
.edit-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/fhome/fhome"] .edit-card {
  width: 80vw;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 3.2vw;
  padding: 5.3333vw 4.8vw 4.8vw;
}[data-route="pages/fhome/fhome"] .edit-title {
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  color: #1c2333;
  text-align: center;
  margin-bottom: 2.1333vw;
}[data-route="pages/fhome/fhome"] .edit-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4vw 1.0667vw;
  border-bottom: 0.1333vw solid #f0f3f8;
}[data-route="pages/fhome/fhome"] .e-label {
  width: 22.6667vw;
  font-size: calc(4vw * var(--fs, 1));
  color: #333333;
  flex-shrink: 0;
}[data-route="pages/fhome/fhome"] .e-input {
  flex: 1;
  font-size: calc(4vw * var(--fs, 1));
  color: #1c2333;
}[data-route="pages/fhome/fhome"] .e-ph {
  color: #77828f;
}[data-route="pages/fhome/fhome"] .e-value {
  flex: 1;
  font-size: calc(4vw * var(--fs, 1));
  color: #6b7a8d;
}[data-route="pages/fhome/fhome"] .edit-btns {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 5.3333vw;
}[data-route="pages/fhome/fhome"] .eb-btn {
  width: 46%;
  border-radius: 5.8667vw;
  line-height: 11.2vw;
  text-align: center;
  font-size: calc(4vw * var(--fs, 1));
}[data-route="pages/fhome/fhome"] .eb-cancel {
  background: #f2f3f7;
  color: #333333;
}[data-route="pages/fhome/fhome"] .eb-ok {
  background: #F79B2B;
  color: #ffffff;
  font-weight: 500;
}[data-route="pages/fhome/fhome"] /* 反馈记录 入口卡「有回复」标识（直接标在卡片上） */
.menu-card {
  position: relative;
}[data-route="pages/fhome/fhome"] .m-name-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-top: 2.9333vw;
}[data-route="pages/fhome/fhome"] .m-reply-tag {
  background: #e8f2ff;
  color: #2e7df6;
  font-size: calc(3.2vw * var(--fs, 1));
  font-weight: bold;
  padding: 1.0667vw 2.1333vw;
  border-radius: 1.3333vw;
  flex-shrink: 0;
}[data-route="pages/fhome/fhome"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/fhome"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/cards */
[data-route="pages/fhome/cards"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/cards"] /* ---------- 搜索 ---------- */
.search-bar {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 2.4vw;
  margin: 2.9333vw 3.2vw 0;
  padding: 0 3.2vw;
}[data-route="pages/fhome/cards"] .search-input {
  flex: 1;
  font-size: calc(3.7333vw * var(--fs, 1));
  padding: 3.4667vw 0;
  color: #333333;
}[data-route="pages/fhome/cards"] .ph {
  color: #77828f;
}[data-route="pages/fhome/cards"] .scan-ico {
  font-size: calc(5.3333vw * var(--fs, 1));
  color: #2e7df6;
  padding: 2.1333vw 2.6667vw;
}[data-route="pages/fhome/cards"] /* ---------- 空状态 ---------- */
.empty {
  padding-top: 29.3333vw;
  text-align: center;
}[data-route="pages/fhome/cards"] .empty-icon {
  font-size: calc(16vw * var(--fs, 1));
  opacity: 0.5;
}[data-route="pages/fhome/cards"] .empty-text {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 4vw;
}[data-route="pages/fhome/cards"] /* ---------- 卡列表 ---------- */
.card-list {
  padding: 3.2vw;
}[data-route="pages/fhome/cards"] .card-item {
  background: #ffffff;
  border-radius: 2.4vw;
  padding: 3.7333vw 4vw;
  margin-bottom: 2.6667vw;
  display: flex;
  align-items: center;
}[data-route="pages/fhome/cards"] .ci-left {
  flex: 1;
}[data-route="pages/fhome/cards"] .ci-no {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #2e7df6;
}[data-route="pages/fhome/cards"] .ci-name {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #7a8699;
  margin-top: 1.3333vw;
}[data-route="pages/fhome/cards"] .ci-right {
  text-align: right;
}[data-route="pages/fhome/cards"] .ci-balance {
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: bold;
  color: #f79b2b;
}[data-route="pages/fhome/cards"] .ci-go {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #2e7df6;
  margin-top: 1.3333vw;
}[data-route="pages/fhome/cards"] .bottom-space {
  height: 20vw;
}[data-route="pages/fhome/cards"] .footer-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.1333vw 3.7333vw calc(2.1333vw + env(safe-area-inset-bottom));
  background: #f3f5f9;
}[data-route="pages/fhome/cards"] .add-btn {
  background: #3a7af0;
  color: #ffffff;
  text-align: center;
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 2.6667vw;
  line-height: 13.3333vw;
}[data-route="pages/fhome/cards"] /* ---------- 弹窗 ---------- */
.mask {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
}[data-route="pages/fhome/cards"] .dialog {
  width: 82.6667vw;
  background: #ffffff;
  border-radius: 2.6667vw;
  padding: 5.8667vw 5.3333vw 4.8vw;
}[data-route="pages/fhome/cards"] .dlg-title {
  display: flex;
  justify-content: center;
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  margin-bottom: 5.0667vw;
}[data-route="pages/fhome/cards"] .dlg-row {
  display: flex;
  align-items: center;
  margin-bottom: 3.4667vw;
}[data-route="pages/fhome/cards"] .dlg-label {
  width: 20vw;
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #333333;
}[data-route="pages/fhome/cards"] .req {
  color: #e64340;
  margin-right: 0.8vw;
}[data-route="pages/fhome/cards"] .dlg-input {
  flex: 1;
  background: #f5f6fa;
  border-radius: 1.6vw;
  padding: 2.6667vw 2.9333vw;
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #333333;
}[data-route="pages/fhome/cards"] .dlg-scan {
  font-size: calc(5.6vw * var(--fs, 1));
  color: #2e7df6;
  margin-left: 2.1333vw;
}[data-route="pages/fhome/cards"] .dlg-picker {
  flex: 1;
  background: #f5f6fa;
  border-radius: 1.6vw;
  padding: 2.6667vw 2.9333vw;
}[data-route="pages/fhome/cards"] .dlg-picker-text {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #333333;
}[data-route="pages/fhome/cards"] .dlg-warn {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #e64340;
  margin: 0.8vw 0 4.5333vw;
}[data-route="pages/fhome/cards"] .dlg-btns {
  display: flex;
  gap: 3.2vw;
}[data-route="pages/fhome/cards"] .dlg-cancel {
  flex: 1;
  background: #e3e6ec;
  color: #333333;
  text-align: center;
  border-radius: 5.3333vw;
  line-height: 10.6667vw;
  font-size: calc(3.7333vw * var(--fs, 1));
}[data-route="pages/fhome/cards"] .dlg-ok {
  flex: 1;
  background: #3a7af0;
  color: #ffffff;
  text-align: center;
  border-radius: 5.3333vw;
  line-height: 10.6667vw;
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
}[data-route="pages/fhome/cards"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/cards"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/cardpay */
[data-route="pages/fhome/cardpay"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/cardpay"] /* ---------- 蓝色头部 ---------- */
.hero {
  background: linear-gradient(180deg, #3a7af0 0%, #5a8ef5 82%, #f3f5f9 100%);
  padding: 8vw 5.3333vw 6.6667vw;
  text-align: center;
}[data-route="pages/fhome/cardpay"] .card-no {
  font-size: calc(4vw * var(--fs, 1));
  color: #ffffff;
  font-weight: bold;
}[data-route="pages/fhome/cardpay"] .card-name {
  font-size: calc(3.2vw * var(--fs, 1));
  color: rgba(255, 255, 255, 0.85);
  margin-top: 1.3333vw;
}[data-route="pages/fhome/cardpay"] .balance-num {
  font-size: calc(11.2vw * var(--fs, 1));
  font-weight: bold;
  color: #ffffff;
  margin-top: 5.3333vw;
}[data-route="pages/fhome/cardpay"] .balance-label {
  font-size: calc(3.2vw * var(--fs, 1));
  color: rgba(255, 255, 255, 0.85);
  margin-top: 1.3333vw;
}[data-route="pages/fhome/cardpay"] /* ---------- 充值表单 ---------- */
.pay-card {
  background: #ffffff;
  border-radius: 2.6667vw;
  margin: 4vw 3.2vw 0;
  padding: 4.5333vw 4vw;
}[data-route="pages/fhome/cardpay"] .p-label {
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  margin: 3.4667vw 0 2.1333vw;
}[data-route="pages/fhome/cardpay"] .p-label:first-child {
  margin-top: 0;
}[data-route="pages/fhome/cardpay"] .p-tip {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #f79b2b;
  font-weight: normal;
}[data-route="pages/fhome/cardpay"] .amount-box {
  display: flex;
  align-items: center;
  background: #f5f6fa;
  border-radius: 1.8667vw;
  padding: 0 3.2vw;
}[data-route="pages/fhome/cardpay"] .amount-input {
  flex: 1;
  font-size: calc(4vw * var(--fs, 1));
  padding: 3.4667vw 0;
  color: #333333;
}[data-route="pages/fhome/cardpay"] .amount-unit {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #7a8699;
}[data-route="pages/fhome/cardpay"] .ph {
  color: #77828f;
}[data-route="pages/fhome/cardpay"] .quick-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}[data-route="pages/fhome/cardpay"] .quick-chip {
  width: 49%;
  box-sizing: border-box;
  text-align: center;
  border: 0.2667vw solid #dfe4ee;
  border-radius: 1.8667vw;
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #5a6478;
  padding: 2.6667vw 0;
  background: #ffffff;
  margin-bottom: 2.4vw;
}[data-route="pages/fhome/cardpay"] .quick-chip.q-on {
  border-color: #3a7af0;
  color: #3a7af0;
  background: #eef4ff;
  font-weight: bold;
}[data-route="pages/fhome/cardpay"] .p-note {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #77828f;
  text-align: center;
  margin-top: 5.3333vw;
}[data-route="pages/fhome/cardpay"] .bottom-space {
  height: 21.3333vw;
}[data-route="pages/fhome/cardpay"] .footer-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.1333vw 3.7333vw calc(2.1333vw + env(safe-area-inset-bottom));
  background: #f3f5f9;
}[data-route="pages/fhome/cardpay"] .pay-btn {
  background: linear-gradient(90deg, #7b5cf0, #3a7af0);
  color: #ffffff;
  text-align: center;
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 6.4vw;
  line-height: 13.3333vw;
}[data-route="pages/fhome/cardpay"] .pay-btn.disabled {
  opacity: 0.6;
}[data-route="pages/fhome/cardpay"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/cardpay"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/phonepay */
[data-route="pages/fhome/phonepay"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/phonepay"] /* ---------- 蓝色头部 ---------- */
.hero {
  background: linear-gradient(180deg, #3a7af0 0%, #5a8ef5 84%, #f3f5f9 100%);
  padding: 4vw 4.2667vw 6.6667vw;
}[data-route="pages/fhome/phonepay"] .hero-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/phonepay"] .hero-account {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #ffffff;
}[data-route="pages/fhome/phonepay"] .hero-link {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #ffffff;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 3.7333vw;
  padding: 1.3333vw 3.4667vw;
}[data-route="pages/fhome/phonepay"] .hero-balance {
  font-size: calc(11.2vw * var(--fs, 1));
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  margin-top: 6.1333vw;
}[data-route="pages/fhome/phonepay"] .hero-label {
  font-size: calc(3.2vw * var(--fs, 1));
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  margin-top: 1.6vw;
}[data-route="pages/fhome/phonepay"] /* ---------- 表单 ---------- */
.pay-card {
  background: #ffffff;
  border-radius: 2.6667vw;
  margin: 4vw 3.2vw 0;
  padding: 4.5333vw 4vw;
}[data-route="pages/fhome/phonepay"] .p-label {
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  margin: 3.4667vw 0 2.1333vw;
}[data-route="pages/fhome/phonepay"] .p-label:first-child {
  margin-top: 0;
}[data-route="pages/fhome/phonepay"] .p-tip {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #f79b2b;
  font-weight: normal;
}[data-route="pages/fhome/phonepay"] .target-row {
  display: flex;
  gap: 2.9333vw;
}[data-route="pages/fhome/phonepay"] .target-chip {
  flex: 1;
  text-align: center;
  border: 0.2667vw solid #dfe4ee;
  border-radius: 1.8667vw;
  font-size: calc(4vw * var(--fs, 1));
  color: #5a6478;
  padding: 3.2vw 0;
  background: #f8f9fc;
}[data-route="pages/fhome/phonepay"] .target-chip.t-on {
  border-color: #7b5cf0;
  color: #7b5cf0;
  background: #f4f0ff;
  font-weight: bold;
}[data-route="pages/fhome/phonepay"] .input-box {
  display: flex;
  align-items: center;
  background: #f5f6fa;
  border-radius: 1.8667vw;
  padding: 0 3.2vw;
}[data-route="pages/fhome/phonepay"] .input {
  flex: 1;
  font-size: calc(4vw * var(--fs, 1));
  padding: 3.4667vw 0;
  color: #333333;
}[data-route="pages/fhome/phonepay"] .unit {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #7a8699;
}[data-route="pages/fhome/phonepay"] .ph {
  color: #77828f;
}[data-route="pages/fhome/phonepay"] .acc-name {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #2e7df6;
  margin-top: 1.6vw;
}[data-route="pages/fhome/phonepay"] .pack-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}[data-route="pages/fhome/phonepay"] .pack-chip {
  width: 49%;
  box-sizing: border-box;
  text-align: center;
  border: 0.2667vw solid #dfe4ee;
  border-radius: 1.8667vw;
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #5a6478;
  padding: 2.6667vw 0;
  background: #ffffff;
  margin-bottom: 2.4vw;
}[data-route="pages/fhome/phonepay"] .pack-chip.p-on {
  border-color: #7b5cf0;
  color: #7b5cf0;
  background: #f4f0ff;
  font-weight: bold;
}[data-route="pages/fhome/phonepay"] .p-note {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #77828f;
  text-align: center;
  margin-top: 5.3333vw;
}[data-route="pages/fhome/phonepay"] .bottom-space {
  height: 21.3333vw;
}[data-route="pages/fhome/phonepay"] .footer-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.1333vw 3.7333vw calc(2.1333vw + env(safe-area-inset-bottom));
  background: #f3f5f9;
}[data-route="pages/fhome/phonepay"] .pay-btn {
  background: linear-gradient(90deg, #7b5cf0, #3a7af0);
  color: #ffffff;
  text-align: center;
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 6.4vw;
  line-height: 13.3333vw;
}[data-route="pages/fhome/phonepay"] .pay-btn.disabled {
  opacity: 0.6;
}[data-route="pages/fhome/phonepay"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/phonepay"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/records */
[data-route="pages/fhome/records"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/records"] .empty {
  padding-top: 29.3333vw;
  text-align: center;
}[data-route="pages/fhome/records"] .empty-icon {
  font-size: calc(14.6667vw * var(--fs, 1));
  opacity: 0.5;
}[data-route="pages/fhome/records"] .empty-text {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 3.4667vw;
}[data-route="pages/fhome/records"] .rec-list {
  padding: 3.2vw;
}[data-route="pages/fhome/records"] .rec-item {
  background: #ffffff;
  border-radius: 2.4vw;
  padding: 3.7333vw 4vw;
  margin-bottom: 2.6667vw;
  display: flex;
  align-items: center;
}[data-route="pages/fhome/records"] .rec-left {
  flex: 1;
}[data-route="pages/fhome/records"] .rec-account {
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/records"] .rec-time {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 1.3333vw;
}[data-route="pages/fhome/records"] .rec-right {
  text-align: right;
}[data-route="pages/fhome/records"] .rec-amount {
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/records"] .rec-status {
  font-size: calc(2.9333vw * var(--fs, 1));
  margin-top: 1.3333vw;
}[data-route="pages/fhome/records"] .s-ok {
  color: #12b77f;
}[data-route="pages/fhome/records"] .s-warn {
  color: #e6a23c;
}[data-route="pages/fhome/records"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/records"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/orders */
[data-route="pages/fhome/orders"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/orders"] .empty {
  padding-top: 29.3333vw;
  text-align: center;
}[data-route="pages/fhome/orders"] .empty-icon {
  font-size: calc(14.6667vw * var(--fs, 1));
  opacity: 0.5;
}[data-route="pages/fhome/orders"] .empty-text {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 3.4667vw;
}[data-route="pages/fhome/orders"] .ord-list {
  padding: 3.2vw;
}[data-route="pages/fhome/orders"] .ord-item {
  background: #ffffff;
  border-radius: 2.4vw;
  padding: 3.7333vw 4vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/fhome/orders"] .ord-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/orders"] .ord-no {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #7a8699;
}[data-route="pages/fhome/orders"] .ord-badge {
  font-size: calc(2.9333vw * var(--fs, 1));
  border-radius: 1.0667vw;
  padding: 0.8vw 2.1333vw;
}[data-route="pages/fhome/orders"] .b-ok {
  color: #12b77f;
  background: #e6faf3;
}[data-route="pages/fhome/orders"] .b-run {
  color: #2e7df6;
  background: #eaf2ff;
}[data-route="pages/fhome/orders"] .b-warn {
  color: #e6a23c;
  background: #fdf3e6;
}[data-route="pages/fhome/orders"] .ord-row {
  display: flex;
  margin-top: 2.1333vw;
  font-size: calc(3.4667vw * var(--fs, 1));
}[data-route="pages/fhome/orders"] .k {
  width: 20vw;
  color: #5d6a7d;
}[data-route="pages/fhome/orders"] .v {
  flex: 1;
  color: #333333;
}[data-route="pages/fhome/orders"] .ord-amts {
  display: flex;
  border-top: 0.1333vw solid #f0f2f5;
  margin-top: 2.9333vw;
  padding-top: 2.9333vw;
}[data-route="pages/fhome/orders"] .amt {
  flex: 1;
  text-align: center;
}[data-route="pages/fhome/orders"] .a-v {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/orders"] .a-main {
  color: #f79b2b;
}[data-route="pages/fhome/orders"] .a-k {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 1.0667vw;
}[data-route="pages/fhome/orders"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/orders"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/wells */
[data-route="pages/fhome/wells"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/wells"] .search-bar {
  background: #ffffff;
  border-radius: 2.4vw;
  margin: 2.9333vw 3.2vw 0;
  padding: 0 3.7333vw;
}[data-route="pages/fhome/wells"] .search-input {
  font-size: calc(3.7333vw * var(--fs, 1));
  padding: 3.4667vw 0;
  color: #333333;
}[data-route="pages/fhome/wells"] .ph {
  color: #77828f;
}[data-route="pages/fhome/wells"] .empty {
  padding-top: 29.3333vw;
  text-align: center;
}[data-route="pages/fhome/wells"] .empty-icon {
  font-size: calc(14.6667vw * var(--fs, 1));
  opacity: 0.5;
}[data-route="pages/fhome/wells"] .empty-text {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 3.4667vw;
}[data-route="pages/fhome/wells"] .well-list {
  padding: 3.2vw;
}[data-route="pages/fhome/wells"] .well-item {
  background: #ffffff;
  border-radius: 2.4vw;
  padding: 3.4667vw 4vw;
  margin-bottom: 2.4vw;
  display: flex;
  align-items: center;
}[data-route="pages/fhome/wells"] .w-ico {
  font-size: calc(5.8667vw * var(--fs, 1));
  margin-right: 2.9333vw;
}[data-route="pages/fhome/wells"] .w-info {
  flex: 1;
}[data-route="pages/fhome/wells"] .w-code {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
}[data-route="pages/fhome/wells"] .w-site {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 1.0667vw;
}[data-route="pages/fhome/wells"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/wells"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/feedback */
[data-route="pages/fhome/feedback"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f3f5f9;
}[data-route="pages/fhome/feedback"] .form-card {
  background: #ffffff;
  border-radius: 2.6667vw;
  margin: 3.2vw 3.2vw 0;
  padding: 4vw;
}[data-route="pages/fhome/feedback"] .f-label {
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  margin-bottom: 2.1333vw;
  margin-top: 4vw;
}[data-route="pages/fhome/feedback"] .form-card .f-label:first-child {
  margin-top: 0;
}[data-route="pages/fhome/feedback"] .f-textarea {
  width: 100%;
  box-sizing: border-box;
  height: 29.3333vw;
  background: #f5f6fa;
  border-radius: 1.8667vw;
  padding: 2.9333vw;
  font-size: calc(3.6vw * var(--fs, 1));
  color: #333333;
}[data-route="pages/fhome/feedback"] .f-count {
  text-align: right;
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #77828f;
  margin-top: 1.0667vw;
}[data-route="pages/fhome/feedback"] .ph {
  color: #77828f;
}[data-route="pages/fhome/feedback"] /* 场地选择 */
.picker-box {
  background: #f5f6fa;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: calc(3.6vw * var(--fs, 1));
  color: #333333;
  display: flex;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/feedback"] .picker-arrow {
  color: #5d6a7d;
  font-size: calc(3.4667vw * var(--fs, 1));
}[data-route="pages/fhome/feedback"] .f-tip {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
  margin: 1.3333vw 0.5333vw 0;
}[data-route="pages/fhome/feedback"] /* 机井名称 + 扫码 */
.well-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/fhome/feedback"] .well-input {
  flex: 1;
  min-width: 0;
  background: #f5f6fa;
  border-radius: 1.8667vw;
  padding: 2.9333vw 3.2vw;
  font-size: calc(3.6vw * var(--fs, 1));
  color: #333333;
}[data-route="pages/fhome/feedback"] .scan-btn {
  margin-left: 2.1333vw;
  background: #e6f7fa;
  color: #1a9db0;
  font-size: calc(3.4667vw * var(--fs, 1));
  font-weight: bold;
  padding: 3.7333vw 4.2667vw;
  border-radius: 1.8667vw;
  white-space: nowrap;
}[data-route="pages/fhome/feedback"] /* 图片九宫格 */
.img-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 1.3333vw;
}[data-route="pages/fhome/feedback"] .img-box {
  width: 32%;
  height: 26.6667vw;
  position: relative;
  margin-bottom: 2.1333vw;
}[data-route="pages/fhome/feedback"] .img {
  width: 100%;
  height: 100%;
  border-radius: 1.6vw;
}[data-route="pages/fhome/feedback"] .img-del {
  position: absolute;
  top: -1.8667vw;
  right: -1.8667vw;
  width: 7.4667vw;
  height: 7.4667vw;
  border-radius: 50%;
  background: #e64340;
  color: #ffffff;
  text-align: center;
  line-height: 6.9333vw;
  font-size: calc(4.8vw * var(--fs, 1));
}[data-route="pages/fhome/feedback"] .img-add {
  width: 32%;
  height: 26.6667vw;
  box-sizing: border-box;
  border: 0.2667vw dashed #c8cfdb;
  border-radius: 1.6vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(8vw * var(--fs, 1));
  color: #77828f;
}[data-route="pages/fhome/feedback"] .submit-btn {
  margin: 4vw 3.2vw 0;
  background: #28c3d9;
  color: #ffffff;
  text-align: center;
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 6.4vw;
  line-height: 13.3333vw;
}[data-route="pages/fhome/feedback"] .submit-btn.disabled {
  opacity: 0.6;
}[data-route="pages/fhome/feedback"] /* 我的反馈 */
.mine-title {
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  color: #333333;
  margin: 5.3333vw 4vw 2.6667vw;
}[data-route="pages/fhome/feedback"] .mine-empty {
  text-align: center;
  font-size: calc(3.2vw * var(--fs, 1));
  color: #77828f;
  padding: 4vw 0;
}[data-route="pages/fhome/feedback"] .mine-list {
  padding: 0 3.2vw;
}[data-route="pages/fhome/feedback"] .mine-item {
  background: #ffffff;
  border-radius: 2.4vw;
  padding: 3.4667vw 3.7333vw;
  margin-bottom: 2.6667vw;
}[data-route="pages/fhome/feedback"] .mi-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/feedback"] .mi-time {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
}[data-route="pages/fhome/feedback"] .mi-badge {
  font-size: calc(2.9333vw * var(--fs, 1));
  border-radius: 1.0667vw;
  padding: 0.8vw 2.1333vw;
}[data-route="pages/fhome/feedback"] .b-wait {
  color: #e6a23c;
  background: #fdf3e6;
}[data-route="pages/fhome/feedback"] .b-done {
  color: #12b77f;
  background: #e6faf3;
}[data-route="pages/fhome/feedback"] .mi-content {
  font-size: calc(3.6vw * var(--fs, 1));
  color: #333333;
  margin-top: 2.1333vw;
  line-height: 1.6;
}[data-route="pages/fhome/feedback"] .mi-where {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #1a9db0;
  background: #eef9fb;
  border-radius: 1.3333vw;
  padding: 1.3333vw 2.4vw;
  margin-top: 1.8667vw;
}[data-route="pages/fhome/feedback"] .mi-imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6vw;
  margin-top: 2.1333vw;
}[data-route="pages/fhome/feedback"] .mi-img {
  width: 21.3333vw;
  height: 21.3333vw;
  border-radius: 1.3333vw;
}[data-route="pages/fhome/feedback"] .mi-reply {
  background: #f5f8ff;
  border-radius: 1.6vw;
  padding: 2.1333vw 2.6667vw;
  font-size: calc(3.2vw * var(--fs, 1));
  color: #5a6478;
  margin-top: 2.1333vw;
}[data-route="pages/fhome/feedback"] .mi-reply-who {
  color: #2e7df6;
}[data-route="pages/fhome/feedback"] .mi-handled {
  font-size: calc(2.9333vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 1.8667vw;
}[data-route="pages/fhome/feedback"] .bottom-space {
  height: 5.3333vw;
}[data-route="pages/fhome/feedback"] /* 我的反馈入口 */
.link-row {
  margin: 4vw 3.2vw 0;
  background: #ffffff;
  border-radius: 2.4vw;
  padding: 3.7333vw 4vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #333333;
  font-weight: 500;
}[data-route="pages/fhome/feedback"] .link-arrow {
  color: #cccccc;
  font-size: calc(4.8vw * var(--fs, 1));
}[data-route="pages/fhome/feedback"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/feedback"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/myfeedbacks */
[data-route="pages/fhome/myfeedbacks"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f0f3f8;
}[data-route="pages/fhome/myfeedbacks"] /* ===== 统计：三色淡底卡片 ===== */
.stat-bar {
  display: flex;
  flex-direction: row;
  margin: 3.2vw 3.2vw 0;
}[data-route="pages/fhome/myfeedbacks"] .stat-box {
  flex: 1;
  border-radius: 2.6667vw;
  padding: 3.7333vw 0;
  text-align: center;
  margin-right: 2.1333vw;
}[data-route="pages/fhome/myfeedbacks"] .stat-box:last-child {
  margin-right: 0;
}[data-route="pages/fhome/myfeedbacks"] .s-all {
  background: #e8f2ff;
}[data-route="pages/fhome/myfeedbacks"] .s-wait {
  background: #fdf3e6;
}[data-route="pages/fhome/myfeedbacks"] .s-done {
  background: #e6faf3;
}[data-route="pages/fhome/myfeedbacks"] .stat-num {
  font-size: calc(6.9333vw * var(--fs, 1));
  font-weight: bold;
  color: #2e7df6;
  line-height: 1.1;
}[data-route="pages/fhome/myfeedbacks"] .s-wait .stat-num {
  color: #d98a1f;
}[data-route="pages/fhome/myfeedbacks"] .s-done .stat-num {
  color: #0e9e6e;
}[data-route="pages/fhome/myfeedbacks"] .stat-label {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 1.0667vw;
  font-weight: 500;
}[data-route="pages/fhome/myfeedbacks"] /* ===== 筛选 tabs ===== */
.tabs {
  display: flex;
  flex-direction: row;
  margin: 3.2vw 3.2vw 0;
  background: #ffffff;
  border-radius: 6.4vw;
  padding: 1.0667vw;
}[data-route="pages/fhome/myfeedbacks"] .tab {
  flex: 1;
  text-align: center;
  font-size: calc(4.2667vw * var(--fs, 1));
  color: #5a6478;
  padding: 2.6667vw 0;
  border-radius: 5.3333vw;
  font-weight: 500;
}[data-route="pages/fhome/myfeedbacks"] .tab-on {
  background: #28c3d9;
  color: #ffffff;
  font-weight: bold;
}[data-route="pages/fhome/myfeedbacks"] /* ===== 空状态 ===== */
.empty {
  text-align: center;
  padding: 10.6667vw 0 5.3333vw;
}[data-route="pages/fhome/myfeedbacks"] .empty-icon {
  font-size: calc(9.6vw * var(--fs, 1));
}[data-route="pages/fhome/myfeedbacks"] .empty-text {
  font-size: calc(4vw * var(--fs, 1));
  color: #5d6a7d;
  margin-top: 2.1333vw;
}[data-route="pages/fhome/myfeedbacks"] .empty-btn {
  display: inline-block;
  margin-top: 4vw;
  background: #28c3d9;
  color: #ffffff;
  font-size: calc(4vw * var(--fs, 1));
  font-weight: bold;
  padding: 2.4vw 7.4667vw;
  border-radius: 5.8667vw;
}[data-route="pages/fhome/myfeedbacks"] /* ===== 反馈卡片：左侧色条 + 分层信息 ===== */
.fb-list {
  padding: 3.2vw;
}[data-route="pages/fhome/myfeedbacks"] .fb-card {
  background: #ffffff;
  border-radius: 2.9333vw;
  padding: 3.7333vw 3.7333vw 3.7333vw 4.2667vw;
  margin-bottom: 3.2vw;
  border-left: 1.3333vw solid #e6a23c;
}[data-route="pages/fhome/myfeedbacks"] .fb-card.is-done {
  border-left-color: #12b77f;
}[data-route="pages/fhome/myfeedbacks"] /* 头部：状态徽章（左）+ 编号（右，弱化） */
.fb-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/myfeedbacks"] .fb-badge {
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 1.6vw;
  padding: 1.0667vw 2.6667vw;
}[data-route="pages/fhome/myfeedbacks"] .b-wait {
  color: #d98a1f;
  background: #fdf3e6;
}[data-route="pages/fhome/myfeedbacks"] .b-done {
  color: #0e9e6e;
  background: #e6faf3;
}[data-route="pages/fhome/myfeedbacks"] .fb-id {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #9aa6b8;
}[data-route="pages/fhome/myfeedbacks"] .fb-time {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #77828f;
  margin-top: 1.8667vw;
}[data-route="pages/fhome/myfeedbacks"] /* 场地：淡青胶囊 */
.fb-where {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: #eef9fb;
  border-radius: 1.6vw;
  padding: 1.8667vw 2.4vw;
  margin-top: 2.1333vw;
}[data-route="pages/fhome/myfeedbacks"] .where-ico {
  font-size: calc(3.7333vw * var(--fs, 1));
  margin-right: 1.3333vw;
}[data-route="pages/fhome/myfeedbacks"] .where-txt {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #1a9db0;
  font-weight: 500;
  flex: 1;
}[data-route="pages/fhome/myfeedbacks"] /* 内容：大字主信息 */
.fb-content {
  font-size: calc(4.5333vw * var(--fs, 1));
  color: #222222;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 2.4vw;
}[data-route="pages/fhome/myfeedbacks"] .fb-imgs {
  display: flex;
  flex-wrap: wrap;
  margin-top: 2.4vw;
}[data-route="pages/fhome/myfeedbacks"] .fb-img {
  width: 21.3333vw;
  height: 21.3333vw;
  border-radius: 1.6vw;
  margin-right: 1.6vw;
  margin-bottom: 1.6vw;
}[data-route="pages/fhome/myfeedbacks"] /* ===== 管理员答复：淡蓝块 + 圆形"管"标 ===== */
.fb-replies {
  margin-top: 2.6667vw;
}[data-route="pages/fhome/myfeedbacks"] .fb-reply {
  background: #f3f8ff;
  border-radius: 1.8667vw;
  padding: 2.6667vw 2.9333vw;
  margin-top: 1.6vw;
}[data-route="pages/fhome/myfeedbacks"] .fb-reply-head {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/fhome/myfeedbacks"] .fb-reply-ava {
  width: 5.8667vw;
  height: 5.8667vw;
  border-radius: 50%;
  background: #2e7df6;
  color: #ffffff;
  font-size: calc(3.2vw * var(--fs, 1));
  font-weight: bold;
  text-align: center;
  line-height: 5.8667vw;
  margin-right: 1.6vw;
}[data-route="pages/fhome/myfeedbacks"] .fb-reply-who {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #2e7df6;
  font-weight: bold;
  flex: 1;
}[data-route="pages/fhome/myfeedbacks"] .fb-reply-text {
  font-size: calc(4vw * var(--fs, 1));
  color: #3d4a5c;
  margin-top: 1.6vw;
  line-height: 1.5;
}[data-route="pages/fhome/myfeedbacks"] .fb-handled {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #0e9e6e;
  margin-top: 2.1333vw;
  font-weight: 500;
}[data-route="pages/fhome/myfeedbacks"] .bottom-space {
  height: 5.3333vw;
}[data-route="pages/fhome/myfeedbacks"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/fbdetail */
[data-route="pages/fhome/fbdetail"] .page-root {
  position: relative;
  width: 100vw;
  height: 100vh;
  background: #f0f3f8;
}[data-route="pages/fhome/fbdetail"] .scrollarea {
  width: 100vw;
  height: 100vh;
  background: #f0f3f8;
}[data-route="pages/fhome/fbdetail"] /* ===== 反馈头信息 ===== */
.fb-card {
  background: #ffffff;
  border-radius: 2.9333vw;
  padding: 3.7333vw;
  margin: 3.2vw;
  border-left: 1.3333vw solid #e6a23c;
}[data-route="pages/fhome/fbdetail"] .fb-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}[data-route="pages/fhome/fbdetail"] .fb-badge {
  font-size: calc(3.7333vw * var(--fs, 1));
  font-weight: bold;
  border-radius: 1.6vw;
  padding: 1.0667vw 2.6667vw;
}[data-route="pages/fhome/fbdetail"] .b-wait {
  color: #d98a1f;
  background: #fdf3e6;
}[data-route="pages/fhome/fbdetail"] .b-done {
  color: #0e9e6e;
  background: #e6faf3;
}[data-route="pages/fhome/fbdetail"] .fb-id {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #9aa6b8;
}[data-route="pages/fhome/fbdetail"] .fb-where {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: #eef9fb;
  border-radius: 1.6vw;
  padding: 1.8667vw 2.4vw;
  margin-top: 2.1333vw;
}[data-route="pages/fhome/fbdetail"] .where-ico {
  font-size: calc(3.7333vw * var(--fs, 1));
  margin-right: 1.3333vw;
}[data-route="pages/fhome/fbdetail"] .where-txt {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #1a9db0;
  font-weight: 500;
  flex: 1;
}[data-route="pages/fhome/fbdetail"] /* ===== 消息时间线 ===== */
.msg-list {
  padding: 1.0667vw 3.2vw;
}[data-route="pages/fhome/fbdetail"] .msg-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 4vw;
}[data-route="pages/fhome/fbdetail"] .msg-row.right {
  flex-direction: row-reverse;
}[data-route="pages/fhome/fbdetail"] .msg-col {
  max-width: 76%;
  display: flex;
  flex-direction: column;
}[data-route="pages/fhome/fbdetail"] .msg-row.right .msg-col {
  align-items: flex-end;
}[data-route="pages/fhome/fbdetail"] .msg-meta {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #8a94a6;
  margin: 0 2.1333vw 1.0667vw;
}[data-route="pages/fhome/fbdetail"] .msg-meta.right {
  text-align: right;
}[data-route="pages/fhome/fbdetail"] .avatar {
  width: 9.0667vw;
  height: 9.0667vw;
  border-radius: 50%;
  color: #ffffff;
  font-size: calc(3.4667vw * var(--fs, 1));
  font-weight: bold;
  text-align: center;
  line-height: 9.0667vw;
  flex-shrink: 0;
}[data-route="pages/fhome/fbdetail"] .a-green {
  background: #12b77f;
}[data-route="pages/fhome/fbdetail"] .a-blue {
  background: #2e7df6;
}[data-route="pages/fhome/fbdetail"] .bubble {
  border-radius: 2.4vw;
  padding: 2.6667vw 3.2vw;
}[data-route="pages/fhome/fbdetail"] .b-green {
  background: #ffffff;
  border: 0.2667vw solid #d3f1e6;
}[data-route="pages/fhome/fbdetail"] .b-blue {
  background: #2e7df6;
}[data-route="pages/fhome/fbdetail"] .bubble-text {
  font-size: calc(4vw * var(--fs, 1));
  color: #333333;
  line-height: 1.5;
  word-break: break-all;
  width: 100%;
  white-space: normal;
}[data-route="pages/fhome/fbdetail"] .b-blue .bubble-text {
  color: #ffffff;
}[data-route="pages/fhome/fbdetail"] .bubble-imgs {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.6vw;
}[data-route="pages/fhome/fbdetail"] .bubble-img {
  width: 20vw;
  height: 20vw;
  border-radius: 1.3333vw;
  margin-right: 1.3333vw;
  margin-bottom: 1.3333vw;
}[data-route="pages/fhome/fbdetail"] /* 语音气泡条 */
.voice-chip {
  display: flex;
  flex-direction: row;
  align-items: center;
  min-width: 34.6667vw;
  margin-top: 0.5333vw;
}[data-route="pages/fhome/fbdetail"] .v-ico {
  font-size: calc(4vw * var(--fs, 1));
  color: #ffffff;
  margin-right: 1.6vw;
}[data-route="pages/fhome/fbdetail"] .v-wave {
  flex: 1;
  font-size: calc(3.2vw * var(--fs, 1));
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.5333vw;
  overflow: hidden;
  max-height: 5.3333vw;
}[data-route="pages/fhome/fbdetail"] .v-dur {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #ffffff;
  margin-left: 1.6vw;
  font-weight: 500;
}[data-route="pages/fhome/fbdetail"] .voice-on {
  opacity: 0.75;
}[data-route="pages/fhome/fbdetail"] .bottom-space {
  height: 24vw;
}[data-route="pages/fhome/fbdetail"] /* 只读底部提示 */
.readonly-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  color: #77828f;
  font-size: calc(3.4667vw * var(--fs, 1));
  text-align: center;
  padding: 2.9333vw 0 calc(2.9333vw + env(safe-area-inset-bottom));
  box-shadow: 0 -0.5333vw 2.1333vw rgba(51, 61, 81, 0.06);
}[data-route="pages/fhome/fbdetail"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/fhome/irrigation */
[data-route="pages/fhome/irrigation"] /* irrigation 扫码灌溉 */
.page-root {
  position: relative;
  width: 100vw;
  height: 100vh;
  background: #eef4ec;
}[data-route="pages/fhome/irrigation"] .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}[data-route="pages/fhome/irrigation"] .scrollarea {
  position: relative;
  width: 100vw;
  height: 100vh;
  z-index: 1;
}[data-route="pages/fhome/irrigation"] .head-pad {
  height: 26.6667vw;
}[data-route="pages/fhome/irrigation"] .panel {
  margin: 0 4.8vw;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 3.2vw;
  padding: 5.3333vw 4.8vw 4.8vw;
  box-shadow: 0 1.6vw 5.3333vw rgba(23, 82, 44, 0.14);
}[data-route="pages/fhome/irrigation"] .w-name {
  font-size: calc(5.3333vw * var(--fs, 1));
  font-weight: bold;
  color: #1c2333;
  text-align: center;
}[data-route="pages/fhome/irrigation"] .w-site {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #7d8a96;
  text-align: center;
  margin-top: 1.6vw;
}[data-route="pages/fhome/irrigation"] .info-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 2.9333vw 0.5333vw;
  border-bottom: 0.1333vw solid #f0f3f8;
}[data-route="pages/fhome/irrigation"] .info-row:last-of-type {
  border-bottom: none;
}[data-route="pages/fhome/irrigation"] .i-label {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #7d8a96;
}[data-route="pages/fhome/irrigation"] .i-val {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #1c2333;
  font-weight: 500;
}[data-route="pages/fhome/irrigation"] .i-val.fee {
  color: #e65c2f;
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: bold;
}[data-route="pages/fhome/irrigation"] .big-btn {
  margin-top: 4.8vw;
  border-radius: 6.4vw;
  line-height: 12.8vw;
  text-align: center;
  font-size: calc(4.5333vw * var(--fs, 1));
  font-weight: bold;
  color: #ffffff;
}[data-route="pages/fhome/irrigation"] .b-start {
  background: linear-gradient(90deg, #2fae6d, #2f8f5b);
}[data-route="pages/fhome/irrigation"] .b-end {
  background: linear-gradient(90deg, #f0762f, #e65c2f);
}[data-route="pages/fhome/irrigation"] .tip-line {
  margin-top: 2.9333vw;
  font-size: calc(3.2vw * var(--fs, 1));
  color: #9aa8a0;
  text-align: center;
}[data-route="pages/fhome/irrigation"] /* 灌溉中 */
.running-panel {
  background: rgba(255, 255, 255, 0.92);
}[data-route="pages/fhome/irrigation"] .run-badge {
  font-size: calc(3.7333vw * var(--fs, 1));
  color: #2fae6d;
  font-weight: 500;
  text-align: center;
}[data-route="pages/fhome/irrigation"] .dur-num {
  font-size: calc(11.7333vw * var(--fs, 1));
  font-weight: bold;
  color: #1c2333;
  text-align: center;
  margin-top: 2.6667vw;
  letter-spacing: 0.5333vw;
}[data-route="pages/fhome/irrigation"] .dur-label {
  font-size: calc(3.4667vw * var(--fs, 1));
  color: #7d8a96;
  text-align: center;
  margin-top: 1.0667vw;
}[data-route="pages/fhome/irrigation"] .run-rows {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 4.8vw;
}[data-route="pages/fhome/irrigation"] .run-item {
  width: 48%;
  background: #f2f9f5;
  border-radius: 2.1333vw;
  padding: 3.2vw 0;
  text-align: center;
}[data-route="pages/fhome/irrigation"] .r-num {
  font-size: calc(4.8vw * var(--fs, 1));
  font-weight: bold;
  color: #2f8f5b;
}[data-route="pages/fhome/irrigation"] .r-label {
  font-size: calc(3.2vw * var(--fs, 1));
  color: #7d8a96;
  margin-top: 1.0667vw;
}[data-route="pages/fhome/irrigation"] .done-badge {
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: bold;
  color: #2fae6d;
  text-align: center;
  margin-bottom: 1.3333vw;
}[data-route="pages/fhome/irrigation"] .bottom-pad {
  height: 8vw;
}[data-route="pages/fhome/irrigation"] /* 开启/关闭遮罩 */
.mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}[data-route="pages/fhome/irrigation"] .mask-card {
  width: 61.3333vw;
  background: #ffffff;
  border-radius: 3.2vw;
  padding: 6.4vw 5.3333vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}[data-route="pages/fhome/irrigation"] .spinner {
  width: 9.6vw;
  height: 9.6vw;
  border: 0.8vw solid #d9ece2;
  border-top-color: #2f8f5b;
  border-radius: 50%;
}[data-route="pages/fhome/irrigation"] .m-text {
  margin-top: 3.7333vw;
  font-size: calc(4vw * var(--fs, 1));
  color: #1c2333;
  font-weight: 500;
}[data-route="pages/fhome/irrigation"] .m-count {
  margin-top: 1.6vw;
  font-size: calc(5.3333vw * var(--fs, 1));
  font-weight: bold;
  color: #2f8f5b;
}[data-route="pages/fhome/irrigation"] @keyframes spin {
  from { transform: rotate(0deg); }[data-route="pages/fhome/irrigation"] to { transform: rotate(360deg); }[data-route="pages/fhome/irrigation"] }

.spinner {
  animation: spin 1s linear infinite;
}[data-route="pages/fhome/irrigation"] /* 提示弹窗（大字号，手动关闭） */
.dlg-card {
  width: 80vw;
  box-sizing: border-box;
  background: #ffffff;
  border-radius: 3.7333vw;
  padding: 6.4vw 5.8667vw 5.3333vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 2.6667vw 8vw rgba(0, 0, 0, 0.25);
}[data-route="pages/fhome/irrigation"] .dlg-title {
  font-size: calc(5.0667vw * var(--fs, 1));
  font-weight: bold;
  color: #1c2333;
}[data-route="pages/fhome/irrigation"] .dlg-icon {
  font-size: calc(8.5333vw * var(--fs, 1));
  margin-bottom: 2.1333vw;
}[data-route="pages/fhome/irrigation"] .dlg-msg {
  width: 100%;
  margin-top: 3.7333vw;
  font-size: calc(4.2667vw * var(--fs, 1));
  color: #333333;
  line-height: 1.8;
  text-align: center;
  word-break: break-all;
  white-space: normal;
}[data-route="pages/fhome/irrigation"] .dlg-btn {
  margin-top: 5.8667vw;
  width: 100%;
  border-radius: 5.8667vw;
  background: #2f8f5b;
  color: #ffffff;
  font-size: calc(4.2667vw * var(--fs, 1));
  font-weight: 500;
  text-align: center;
  line-height: 11.2vw;
}[data-route="pages/fhome/irrigation"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}[data-route="pages/fhome/irrigation"] /* 适老化：1.3 倍行距（随字体档位整体缩放） */
.scrollarea {
  line-height: 1.35;
}

/* pages/mine/mine */
[data-route="pages/mine/mine"] /**mine.wxss 个人模块：蓝色头部风格**/
.page-root {
  width: 100vw;
  height: 100vh;
  position: relative;
}[data-route="pages/mine/mine"] .header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 72vw;
  background: linear-gradient(180deg, #3D7BF0 0%, #5B93F2 60%, #D9E6FB 88%, #F3F6FB 100%);
}[data-route="pages/mine/mine"] .scrollarea {
  flex: 1;
  height: 100vh;
  position: relative;
  z-index: 1;
  background: #F3F6FB;
}[data-route="pages/mine/mine"] .page {
  padding: 3.2vw 3.7333vw 6.4vw;
}[data-route="pages/mine/mine"] /* 头部信息卡（半透明浮于蓝底上） */
.profile-card {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 3.2vw;
  padding: 4.8vw 4.2667vw 4vw;
  box-shadow: 0 1.3333vw 4vw rgba(37, 88, 181, 0.12);
}[data-route="pages/mine/mine"] .profile-top {
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/mine/mine"] .avatar {
  width: 16vw;
  height: 16vw;
  border-radius: 50%;
  background: linear-gradient(135deg, #4D8BF5, #2B5FD0);
  border: 0.6667vw solid rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 6.4vw;
  font-weight: bold;
  color: #ffffff;
  margin-right: 3.4667vw;
  box-shadow: 0 0.8vw 2.1333vw rgba(37, 88, 181, 0.18);
}[data-route="pages/mine/mine"] .profile-info {
  flex: 1;
}[data-route="pages/mine/mine"] .user-name {
  font-size: 5.0667vw;
  font-weight: bold;
  color: #1c2333;
}[data-route="pages/mine/mine"] .role-chip {
  display: inline-block;
  margin-top: 1.8667vw;
  background: #E8F0FE;
  color: #2B6ADB;
  font-size: 3.2vw;
  padding: 0.8vw 2.6667vw;
  border-radius: 3.4667vw;
}[data-route="pages/mine/mine"] .arrow {
  font-size: 5.3333vw;
  color: #b9c1cf;
}[data-route="pages/mine/mine"] .arrow.red {
  color: #e26a5a;
}[data-route="pages/mine/mine"] .profile-actions {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 4vw;
}[data-route="pages/mine/mine"] .action-btn {
  width: 48%;
  height: 11.2vw;
  background: #ffffff;
  border-radius: 5.6vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font-size: 3.7333vw;
  font-weight: 500;
  color: #2B6ADB;
  box-shadow: 0 0.8vw 2.1333vw rgba(37, 88, 181, 0.10);
}[data-route="pages/mine/mine"] .action-icon {
  margin-right: 1.3333vw;
  font-size: 3.4667vw;
}[data-route="pages/mine/mine"] /* 分区标题 */
.section-title {
  margin: 4.8vw 0.5333vw 2.6667vw;
  font-size: 4.2667vw;
  font-weight: bold;
  color: #1c2333;
  padding-left: 2.4vw;
  border-left: 1.0667vw solid #2B6ADB;
}[data-route="pages/mine/mine"] /* 系统服务列表 */
.service-card {
  background: #ffffff;
  border-radius: 3.2vw;
  padding: 1.3333vw 4vw;
  box-shadow: 0 1.0667vw 3.2vw rgba(37, 88, 181, 0.08);
}[data-route="pages/mine/mine"] .service-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4.2667vw 0;
  border-bottom: 0.1333vw solid #F0F3F8;
}[data-route="pages/mine/mine"] .service-item:last-child {
  border-bottom: none;
}[data-route="pages/mine/mine"] .service-icon {
  width: 11.7333vw;
  height: 11.7333vw;
  border-radius: 2.9333vw;
  background: #E8F0FE;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.3333vw;
  font-weight: bold;
  color: #2B6ADB;
  margin-right: 3.2vw;
}[data-route="pages/mine/mine"] .service-info {
  flex: 1;
}[data-route="pages/mine/mine"] .service-name {
  font-size: 4vw;
  font-weight: bold;
  color: #1c2333;
}[data-route="pages/mine/mine"] .service-desc {
  margin-top: 1.0667vw;
  font-size: 3.2vw;
  color: #8a93a5;
}[data-route="pages/mine/mine"] /* 退出登录 */
.logout-card {
  margin-top: 3.7333vw;
  background: #FDEEEE;
  border-radius: 3.2vw;
  padding: 4vw;
  display: flex;
  flex-direction: row;
  align-items: center;
}[data-route="pages/mine/mine"] .logout-icon {
  width: 11.2vw;
  height: 11.2vw;
  border-radius: 50%;
  background: #F9D9D5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5.0667vw;
  color: #d9453a;
  margin-right: 3.2vw;
}[data-route="pages/mine/mine"] .logout-info {
  flex: 1;
}[data-route="pages/mine/mine"] .logout-name {
  font-size: 4vw;
  font-weight: bold;
  color: #d9453a;
}[data-route="pages/mine/mine"] .logout-desc {
  margin-top: 1.0667vw;
  font-size: 3.2vw;
  color: #b98a84;
}

/* ===== H5 运行时样式 ===== */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; background: #f0f3f8; font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; }
#app { min-height: 100vh; }
.mp-page { min-height: 100vh; }
img { display: inline-block; vertical-align: top; max-width: 100%; border: 0; }
.mp-input { outline: none; border: none; background: transparent; font-family: inherit; }
.mp-input::placeholder { opacity: 0.55; }
textarea.mp-input { resize: none; }
.mp-btn-reset { font-family: inherit; border: none; background: none; padding: 0; margin: 0; cursor: pointer; }
.mp-btn-reset:active { opacity: .85; }
.mp-select { -webkit-appearance: none; appearance: none; background: #fff; border: 1px solid #d9dee8; border-radius: 8px; padding: 8px 24px 8px 10px; font-family: inherit; font-size: 14px; color: #333; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 8px center; }
.mp-multi { display: inline-flex; gap: 6px; }
[data-sv] { -webkit-overflow-scrolling: touch; }
/* 导航栏（文档流内，与小程序 weui-navigation-bar 一致） */
.mp-navbar { position: relative; left: 0; right: 0; z-index: 100; padding-top: env(safe-area-inset-top); }
.mp-nb-in { height: 44px; display: flex; align-items: center; position: relative; }
.mp-nb-back { position: absolute; left: 0; top: 0; bottom: 0; width: 44px; display: flex; align-items: center; justify-content: center; font-size: 26px; line-height: 1; cursor: pointer; padding-bottom: 2px; }
.mp-nb-title { flex: 1; text-align: center; font-size: 16px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 50px; }
.mp-nb-back-h { width: 44px; }
/* tabBar */
.mp-tabbar { position: fixed; bottom: 0; left: 0; right: 0; height: 50px; background: #fff; border-top: 1px solid #e5e5e5; display: flex; z-index: 100; padding-bottom: env(safe-area-inset-bottom); }
.mp-tabbar-item { flex: 1; display: flex; align-items: center; justify-content: center; font-size: 12px; color: #999; cursor: pointer; }
.mp-tabbar-item.on { color: #1A7F4B; font-weight: 600; }
.mp-tab-on .scrollarea { height: calc(100vh - 50px) !important; }
.mp-tab-on .footer-bar { bottom: 50px !important; }
/* toast / modal / sheet / preview */
.mp-layer { position: fixed; inset: 0; z-index: 999; pointer-events: none; }
.mp-toast { position: absolute; top: 40%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,.75); color: #fff; padding: 12px 22px; border-radius: 10px; font-size: 14px; max-width: 70vw; text-align: center; opacity: 0; transition: opacity .2s; }
.mp-toast.show { opacity: 1; }
.mp-toast-ico { font-size: 26px; margin-bottom: 4px; }
.mp-modal-mask, .mp-sheet-mask { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; pointer-events: auto; z-index: 1000; }
.mp-modal { background: #fff; border-radius: 14px; width: 78vw; max-width: 340px; overflow: hidden; }
.mp-modal-title { text-align: center; font-weight: 600; font-size: 16px; padding: 18px 16px 4px; }
.mp-modal-body { padding: 8px 20px 20px; font-size: 14px; color: #555; white-space: pre-wrap; text-align: center; }
.mp-modal-btns { display: flex; border-top: 1px solid #eee; }
.mp-btn { flex: 1; text-align: center; padding: 13px 0; font-size: 15px; cursor: pointer; }
.mp-btn:active { background: #f5f5f5; }
.mp-btn-cancel { border-right: 1px solid #eee; color: #666; }
.mp-btn-ok { color: #28c3d9; font-weight: 600; }
.mp-sheet { position: absolute; bottom: 0; left: 0; right: 0; background: #f5f5f5; border-radius: 14px 14px 0 0; padding-bottom: env(safe-area-inset-bottom); }
.mp-sheet-item { background: #fff; padding: 15px 0; text-align: center; font-size: 15px; border-bottom: 1px solid #eee; cursor: pointer; }
.mp-sheet-item:first-child { border-radius: 14px 14px 0 0; }
.mp-sheet-cancel { margin-top: 8px; background: #fff; padding: 15px 0; text-align: center; font-size: 15px; color: #888; cursor: pointer; }
.mp-preview { position: fixed; inset: 0; background: rgba(0,0,0,.9); display: flex; align-items: center; justify-content: center; pointer-events: auto; z-index: 1001; cursor: zoom-out; }
.mp-preview img { max-width: 94vw; max-height: 88vh; }
.mp-map-ph { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #dfeef7, #e8f5ec); color: #7a8ba3; font-size: 14px; text-align: center; width: 100%; }
