/**
 * 用户端移动端适配：安全区、触控区域、小屏布局
 */
:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

/* 安全区：顶部（刘海屏） */
.safe-area-top {
  padding-top: var(--safe-top);
}
/* 安全区：底部（Home 条） */
.safe-area-bottom {
  padding-bottom: var(--safe-bottom);
}
/* 左右安全区，用于 header/footer 的 padding */
.safe-area-x {
  padding-left: max(1rem, var(--safe-left));
  padding-right: max(1rem, var(--safe-right));
}

/* 触控区域最小 44px，便于手指点击 */
.min-touch {
  min-height: 44px;
  min-width: 44px;
}
@media (max-width: 640px) {
  .min-touch-sm {
    min-height: 44px;
    min-width: 44px;
  }
}

/* 移动端表格横向滚动时保持列宽可读 */
@media (max-width: 768px) {
  .table-scroll-wrap table {
    min-width: 520px;
  }
  .table-scroll-wrap.recharge-table table { min-width: 560px; }
  .table-scroll-wrap.consume-table table { min-width: 480px; }
  .table-scroll-wrap.chat-list-table table { min-width: 400px; }
}

/* 小屏头部：返回链接与标题不挤压 */
@media (max-width: 640px) {
  .header-back {
    flex-shrink: 0;
    min-width: 2.5rem;
  }
  .header-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* 移动端输入框与按钮略大，防止误触 */
@media (max-width: 640px) {
  input[type="text"],
  input[type="tel"],
  input[type="password"],
  input[type="date"],
  select,
  textarea {
    font-size: 16px !important; /* 避免 iOS 聚焦时自动放大 */
  }
}
