:root {
  --bg: #f4f6fb;
  --card: #ffffff;
  --text: #1f2430;
  --muted: #7b8292;
  --line: #e7ebf3;
  --primary: #07c160;
  --primary-dark: #06a453;
  --accent: #ff7a45;
  --blue: #4f7cff;
  --danger: #ff5d6c;
  --shadow: 0 16px 40px rgba(31, 36, 48, 0.08);
  --radius: 24px;
  --radius-sm: 16px;
  --max-width: 430px;
  --tabbar-height: 50px;
  --action-height: 88px;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

[hidden] {
  display: none !important;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background:
    radial-gradient(circle at top, rgba(79, 124, 255, 0.16), transparent 38%),
    linear-gradient(180deg, #f8fbff 0%, var(--bg) 24%, #eef2f8 100%);
  color: var(--text);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
select,
a {
  touch-action: manipulation;
}

button {
  -webkit-tap-highlight-color: transparent;
}

input,
textarea,
select {
  font-size: 16px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid rgba(7, 193, 96, 0.55);
  outline-offset: 2px;
}

button:disabled,
.is-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.app-shell,
.page {
  overflow-x: clip;
}

.app-shell {
  width: 100%;
  max-width: var(--max-width);
  min-height: 100vh;
  margin: 0 auto;
  position: relative;
}

.page {
  max-width: var(--max-width);
  min-height: 100vh;
  margin: 0 auto;
  padding: 18px 16px 24px;
}

.page-with-tabbar {
  padding-bottom: calc(var(--tabbar-height) + 24px);
}

.page-with-bottom-action {
  padding-bottom: calc(var(--action-height) + 28px);
}

.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 2px 18px;
}

.page-header h1,
.section-heading h1,
.section-heading h2 {
  margin: 0;
  line-height: 1.15;
}

.eyebrow {
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.muted {
  color: var(--muted);
}

.back-link,
.text-link {
  color: var(--blue);
  font-weight: 600;
  white-space: nowrap;
}

.text-link.light {
  color: rgba(255, 255, 255, 0.92);
}

.hero-slices {
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--shadow);
}

.hero-slices img {
  display: block;
}

.slice-link {
  display: block;
}

.floating-card,
.form-card,
.banner-image-card,
.message-card,
.order-card,
.wallet-hero,
.package-card,
.menu-card,
.user-admin-card,
.admin-summary-grid article,
.admin-tile,
.auth-card {
  background: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.floating-card,
.form-card,
.message-card,
.order-card,
.wallet-hero,
.menu-card,
.user-admin-card,
.auth-card {
  padding: 20px;
}

.banner-image-card {
  overflow: hidden;
}

.banner-image-card.tight {
  padding: 0;
}

.section-heading,
.split-head,
.profile-head,
.message-top,
.message-meta,
.button-row,
.auth-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.home-intro-card {
  margin-top: 18px;
}

.feature-grid,
.package-grid,
.admin-summary-grid,
.admin-menu-grid,
.summary-grid,
.stats-row {
  display: grid;
  gap: 14px;
}

.feature-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.feature-grid.compact .feature-card {
  min-height: 148px;
}

.feature-card {
  display: block;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
  border: 1px solid #dbe7ff;
}

.feature-card strong,
.package-card strong,
.wallet-hero strong,
.stats-row strong,
.admin-summary-grid strong {
  display: block;
  margin-top: 6px;
  font-size: 20px;
}

.feature-card p,
.auth-footer p {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
}

.feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 32px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
}

.feature-icon.green {
  background: linear-gradient(135deg, #07c160, #34d182);
}

.feature-icon.blue {
  background: linear-gradient(135deg, #4f7cff, #6aa2ff);
}

.feature-icon.orange {
  background: linear-gradient(135deg, #ff8c3a, #ffb168);
}

.feature-icon.dark {
  background: linear-gradient(135deg, #30384b, #4a5773);
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #edf1f8;
  color: #576072;
  font-size: 12px;
  font-weight: 700;
}

.status-pill.success {
  background: rgba(7, 193, 96, 0.12);
  color: var(--primary-dark);
}

.status-pill.pending {
  background: rgba(255, 122, 69, 0.14);
  color: var(--accent);
}

.status-pill.blue {
  background: rgba(30, 159, 255, 0.12);
  color: #1e9fff;
}

.status-pill.neutral {
  background: #f8f8f8;
  color: #666;
}

.status-pill.danger {
  background: #ff5722;
  color: #fff;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}

.field span {
  font-size: 14px;
  color: #4f5565;
  font-weight: 600;
}

.field input,
.field textarea,
.field select,
.search-bar input,
.bottom-input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px 16px;
  background: #fbfcfe;
  color: var(--text);
  outline: none;
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.search-bar input:focus,
.bottom-input:focus {
  border-color: rgba(7, 193, 96, 0.45);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(7, 193, 96, 0.08);
}

.field textarea {
  resize: vertical;
}

.inline-field {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}

.agreement-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}

.agreement-row a {
  color: var(--blue);
}

.primary-btn,
.ghost-btn,
.wx-login-btn,
.text-btn {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.16s ease, filter 0.16s ease, opacity 0.16s ease;
}

.primary-btn:active,
.ghost-btn:active,
.wx-login-btn:active,
.text-btn:active,
.inline-submit-btn:active,
.hejie-submit-original:active,
.login-submit-original:active,
.wide-default-btn:active,
.warn-btn:active,
.dark-save-btn:active,
.blue-save-btn:active,
.sticky-action button:active,
.msg-reply-input-row button:active {
  transform: scale(0.98);
  filter: brightness(0.98);
}

.primary-btn {
  padding: 14px 22px;
  background: linear-gradient(135deg, var(--primary), #35cf7f);
  color: #fff;
  font-weight: 700;
}

.primary-btn.wide,
.wx-login-btn {
  width: 100%;
}

.ghost-btn,
.text-btn,
.wx-login-btn {
  padding: 12px 18px;
  background: #eef3ff;
  color: var(--blue);
  font-weight: 700;
}

.wx-login-btn {
  background: #eafbf1;
  color: var(--primary-dark);
}

.auth-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
}

.page-auth {
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-card {
  width: 100%;
  max-width: 420px;
}

.auth-footer {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}

.notice-strip {
  margin-bottom: 16px;
  padding: 12px 16px;
  border-radius: 18px;
  background: rgba(255, 122, 69, 0.1);
  color: #9b4a20;
  font-size: 13px;
}

.preview-bubble,
.chat-bubble {
  max-width: 82%;
  padding: 14px 16px;
  border-radius: 20px;
  line-height: 1.65;
}

.preview-bubble {
  margin-top: 14px;
  background: #edf7ff;
  border: 1px solid #d9ecff;
}

.price-tag {
  font-size: 15px;
  font-weight: 700;
  color: var(--accent);
}

.summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.summary-grid div,
.stats-row article,
.admin-summary-grid article {
  padding: 14px;
  border-radius: 18px;
  background: #f7f9fc;
  border: 1px solid #e8edf5;
}

.summary-grid span,
.stats-row span,
.admin-summary-grid span,
.plain-list span {
  display: block;
  font-size: 12px;
  color: var(--muted);
}

.message-list,
.order-list {
  display: grid;
  gap: 14px;
}

.message-top span,
.message-meta span,
.order-card p,
.wallet-hero p,
.package-card p {
  color: var(--muted);
  margin: 0;
}

.message-card p {
  margin: 12px 0;
  line-height: 1.7;
}

.message-meta a {
  color: var(--blue);
  font-weight: 700;
}

.segmented {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 18px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.segmented::-webkit-scrollbar,
.msg-reply-tools::-webkit-scrollbar,
.admin-action-dock::-webkit-scrollbar {
  display: none;
}

.segmented button {
  flex: 1 0 auto;
  min-width: 82px;
  border: 0;
  border-radius: 999px;
  padding: 12px 14px;
  background: #fff;
  color: var(--muted);
  box-shadow: 0 10px 24px rgba(31, 36, 48, 0.06);
}

.segmented button.active {
  background: linear-gradient(135deg, var(--primary), #35cf7f);
  color: #fff;
}

.wallet-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #243447, #2f4f77);
  color: #fff;
}

.wallet-hero img {
  width: 92px;
}

.package-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.package-card {
  padding: 18px;
}

.package-card.highlight {
  border: 1px solid rgba(7, 193, 96, 0.2);
  background: linear-gradient(180deg, #f7fff9 0%, #effbf2 100%);
}

.plain-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.plain-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.plain-list li:last-child {
  border-bottom: 0;
}

.plain-list.spaced li {
  align-items: flex-start;
}

.warning-list {
  margin: 14px 0 0;
  padding-left: 18px;
  color: #6e7280;
  line-height: 1.8;
}

.warning-list li:first-child {
  color: var(--danger);
}

.bottom-action-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 20;
  width: min(var(--max-width), 100%);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 12px);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(18px);
  border-top: 1px solid rgba(231, 235, 243, 0.9);
}

.bottom-action-bar .primary-btn,
.bottom-action-bar .text-btn {
  flex: 1;
}

.bottom-input {
  flex: 1;
  border-radius: 999px;
}

.chat-page {
  background:
    linear-gradient(180deg, rgba(79, 124, 255, 0.08) 0%, transparent 30%),
    #f5f7fc;
}

.chat-log {
  display: grid;
  gap: 14px;
}

.chat-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.chat-row span {
  font-size: 12px;
  color: var(--muted);
}

.chat-row.outgoing {
  align-items: flex-end;
}

.chat-row.incoming {
  align-items: flex-start;
}

.chat-row.outgoing .chat-bubble {
  background: linear-gradient(135deg, var(--primary), #35cf7f);
  color: #fff;
  border-bottom-right-radius: 8px;
}

.chat-row.incoming .chat-bubble {
  background: #fff;
  border: 1px solid var(--line);
  border-bottom-left-radius: 8px;
}

.profile-hero {
  padding: 24px 22px;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(79, 124, 255, 0.92), rgba(59, 191, 255, 0.84)),
    url("./assets/bg/bg_my.png") center/cover no-repeat;
  color: #fff;
  box-shadow: var(--shadow);
}

.profile-head {
  align-items: center;
}

.avatar {
  width: 68px;
  height: 68px;
  border-radius: 22px;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.16);
}

.stats-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 16px 0;
}

.menu-card {
  display: grid;
  padding: 0;
  overflow: hidden;
}

.menu-card a {
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}

.menu-card a:last-child {
  border-bottom: 0;
}

.tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 30;
  width: min(var(--max-width), 100%);
  height: calc(var(--tabbar-height) + env(safe-area-inset-bottom, 0px));
  padding: 3px 0 env(safe-area-inset-bottom, 0px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: #fff;
  border-top: 1px solid #eee;
}

.tabbar-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.tabbar-item:active {
  opacity: 0.78;
  transform: translateY(1px);
}

.tabbar-item.active {
  color: #333;
}

.tabbar-item img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  margin-bottom: 0;
}

.admin-page .page-header {
  padding-bottom: 16px;
}

.admin-summary-grid,
.admin-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-dashboard-panels,
.user-list {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.dashboard-panel,
.user-row-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: #fff;
  border-radius: 22px;
  box-shadow: var(--shadow);
}

.dashboard-panel span,
.panel-mini-stats em,
.user-row-card p,
.user-row-side em {
  color: var(--muted);
  font-style: normal;
}

.dashboard-panel strong {
  display: block;
  margin-top: 6px;
  font-size: 28px;
}

.panel-mini-stats {
  display: grid;
  gap: 8px;
  text-align: right;
}

.user-row-side {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.avatar.small {
  width: 52px;
  height: 52px;
  border-radius: 18px;
}

.admin-tile {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  padding: 16px;
  font-weight: 700;
  text-align: center;
}

.search-bar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-bottom: 14px;
}

.button-row {
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 14px;
}

.truncate {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-backend-original {
  min-height: 100vh;
  padding: 15px;
  padding-bottom: 90px;
  background: #ededed;
}

.admin-title-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 15px;
}

.admin-title-card h1 {
  margin: 0;
  font-size: 22px;
  line-height: 34px;
  color: #333;
}

.admin-mini-profile {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px;
  background: #fff;
  border-radius: 5px;
  color: #333;
  font-size: 15px;
}

.admin-mini-profile img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.admin-stat-card {
  position: relative;
  display: grid;
  gap: 10px;
  margin-bottom: 15px;
  padding: 15px;
  background: #fff;
  border-radius: 5px;
  color: #333;
}

.admin-stat-card.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-stat-card.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-stat-card span {
  display: block;
  margin-bottom: 5px;
  color: #999;
  font-size: 14px;
}

.admin-stat-card strong {
  color: #333;
  font-size: 26px;
  font-style: italic;
  font-weight: 400;
}

.admin-stat-card strong.danger {
  color: crimson;
}

.admin-stat-card button {
  position: absolute;
  top: 10px;
  right: 10px;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #f8f8f8;
  color: #333;
  font-size: 12px;
}

.admin-ability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.admin-ability-grid a {
  position: relative;
  min-height: 96px;
  padding: 14px 6px 12px;
  background: #fff;
  border-radius: 5px;
  color: #333;
  text-align: center;
}

.admin-ability-grid i {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin: 0 auto 7px;
  border: 1px solid #eee;
  border-radius: 8px;
  color: var(--tile-color);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
}

.admin-ability-grid span {
  display: block;
  color: #333;
  font-size: 14px;
}

.admin-ability-grid em {
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 2px 4px;
  border-radius: 4px;
  background: #333;
  color: #fff;
  font-size: 10px;
  font-style: normal;
}

.admin-sticky-filter {
  position: sticky;
  top: 0;
  z-index: 20;
  margin: -15px 0 15px;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.admin-tabs-line {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 44px;
}

.admin-tabs-line.four {
  grid-template-columns: repeat(4, 1fr);
}

.admin-tabs-line button {
  position: relative;
  border: 0;
  background: transparent;
  color: #666;
  font-size: 16px;
}

.admin-tabs-line button.active {
  color: #333;
  font-weight: 700;
}

.admin-tabs-line button.active::after {
  content: "";
  position: absolute;
  left: 30%;
  right: 30%;
  bottom: 0;
  height: 2px;
  background: #333;
  border-radius: 9px;
}

.admin-search-original {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 10px 15px;
}

.admin-search-original input {
  min-width: 0;
  min-height: 44px;
  padding: 7px 10px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #fff;
  font-size: 14px;
}

.admin-search-original button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 5px;
  background: #f8f8f8;
  color: #333;
  font-size: 13px;
}

.admin-user-list-original {
  display: grid;
  gap: 12px;
}

.admin-users-panel {
  display: none;
}

.admin-users-panel.active {
  display: grid;
  gap: 12px;
}

.admin-user-card-original {
  position: relative;
  display: block;
  padding: 12px;
  background: #fff;
  border-radius: 5px;
  color: #333;
}

.admin-user-card-original .profile-head {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  justify-content: flex-start;
  column-gap: 12px;
  padding-right: 78px;
}

.admin-user-card-original .avatar.small {
  width: 56px;
  height: 56px;
  border-radius: 50%;
}

.admin-user-card-original > div {
  min-width: 0;
}

.admin-user-card-original strong {
  display: inline;
  color: #333;
  font-size: 16px;
}

.admin-user-age-meta {
  padding-left: 6px;
  color: #999;
  font-size: 14px;
  font-weight: 400;
}

.admin-user-card-original p,
.admin-user-card-original em {
  display: block;
  margin: 3px 0 0;
  color: #999;
  font-size: 13px;
  font-style: normal;
  overflow-wrap: anywhere;
}

.admin-user-card-metrics {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 12px;
  padding-left: 0;
}

.admin-user-card-metrics span,
.admin-user-card-line {
  color: #999;
  font-size: 14px;
}

.admin-user-card-metrics b {
  color: #ff5722;
  font-weight: 400;
}

.admin-user-card-line {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: nowrap;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-user-card-line span {
  flex: 0 0 76px;
}

.admin-user-card-line strong {
  flex: 1;
  min-width: 0;
  color: #999;
  font-size: 14px;
  font-weight: 400;
}

.admin-user-card-line .brown-text {
  color: brown;
}

.status-pill.dark {
  background: #333;
  color: #fff;
}

.admin-user-card-original > .status-pill {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 0;
  border-radius: 5px;
  padding: 3px 6px;
  background: #ff5722;
  color: #fff;
  font-size: 12px;
}

.admin-user-card-original > .status-pill.dark {
  background: #333;
}

.admin-user-profile-card,
.admin-balance-card,
.admin-order-entry,
.admin-user-section-card {
  position: relative;
  display: block;
  margin-bottom: 12px;
  padding: 10px;
  background: #fff;
  border-radius: 5px;
  color: #333;
}

.admin-user-profile-card h1 {
  max-width: 190px;
  margin: 0;
  color: #333;
  font-size: 18px;
  line-height: 24px;
  word-break: break-all;
}

.admin-user-profile-card p {
  max-width: 210px;
  margin: 5px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 18px;
  word-break: break-all;
}

.admin-inline-copy {
  display: inline;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  word-break: break-all;
}

.admin-user-profile-card .admin-inline-copy {
  max-width: 210px;
  color: #999;
  font-size: 13px;
  line-height: 18px;
}

.admin-user-profile-card li strong .admin-inline-copy {
  max-width: none;
  color: inherit;
}

.admin-user-profile-card > .status-pill {
  position: absolute;
  top: 12px;
  right: 10px;
}

.mini-warn-btn {
  position: absolute;
  right: 10px;
  top: 48px;
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 4px;
  background: #ff5722;
  color: #fff;
  font-size: 12px;
}

.admin-user-profile-card ul {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.admin-user-profile-card li {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  padding-top: 6px;
  font-size: 14px;
}

.admin-user-profile-card li span {
  flex: 0 0 78px;
  color: #999;
}

.admin-user-profile-card li strong {
  flex: 1;
  min-width: 0;
  color: #999;
  font-weight: 400;
  word-break: break-all;
}

.admin-pair-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
  color: #333;
  font-size: 14px;
}

.admin-pair-row button,
.admin-balance-card button,
.admin-order-entry em,
.partner-btn {
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 4px;
  background: #07c160;
  color: #fff;
  font-size: 12px;
  font-style: normal;
}

.admin-danger-action {
  padding-bottom: 12px;
}

.admin-danger-action button {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 5px;
  background: #f8f8f8;
  color: #333;
  font-size: 15px;
}

.admin-balance-card > span {
  display: block;
  padding-bottom: 5px;
  color: #999;
  font-size: 16px;
}

.admin-balance-card > span b {
  color: crimson;
  font-size: 16px;
  font-weight: 400;
}

.admin-balance-card div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-balance-card strong {
  color: #333;
  font-size: 26px;
  font-weight: 400;
}

.admin-balance-card a {
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 4px;
  background: #f8f8f8;
  color: #333;
  font-size: 12px;
}

.admin-order-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-order-entry strong,
.admin-user-section-card h2 {
  display: block;
  margin: 0;
  color: #999;
  font-size: 16px;
  font-weight: 400;
}

.admin-order-entry span,
.admin-user-section-card p,
.admin-two-metric span {
  display: block;
  margin-top: 3px;
  color: #b3b3b3;
  font-size: 12px;
}

.admin-user-sms-stat {
  margin-bottom: 20px;
}

.admin-user-sms-stat a {
  color: inherit;
}

.money-balance-card strong {
  color: crimson;
}

.admin-partner-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.admin-partner-head .admin-two-metric {
  flex: 1;
  margin-top: 0;
}

.partner-state {
  margin: 0 0 6px !important;
  color: #999 !important;
  font-size: 16px !important;
  white-space: nowrap;
}

.partner-btn.warn {
  margin-top: 6px;
  background: #ff5722;
}

.admin-phone-empty-original {
  display: grid;
  place-items: center;
  min-height: 100px;
  margin-bottom: 12px;
  border-radius: 5px;
  background: #fff;
}

.admin-phone-empty-original strong {
  color: #999;
  font-size: 18px;
  font-weight: 400;
}

.admin-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  background: rgba(0, 0, 0, 0.42);
}

.admin-modal-mask.show {
  display: block;
}

.admin-user-modal {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 90;
  display: none;
  width: min(430px, 100%);
  margin: 0 auto;
  padding: 20px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: #fff;
}

.admin-user-modal.show {
  display: block;
}

.admin-confirm-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 90;
  display: none;
  width: min(330px, calc(100% - 48px));
  padding: 20px;
  border-radius: 8px;
  background: #fff;
  transform: translate(-50%, -50%);
}

.admin-confirm-modal.show {
  display: block;
}

.admin-confirm-modal h2 {
  margin: 0 0 12px;
  color: #333;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}

.admin-confirm-modal p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 23px;
  white-space: pre-line;
}

.admin-sms-status-modal input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
  padding: 9px 12px;
  color: #333;
  font-size: 15px;
  outline: 0;
}

.admin-sms-status-modal input:focus {
  border-color: #20a53a;
}

.admin-confirm-modal div {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.admin-confirm-modal button {
  flex: 1;
  min-height: 44px;
  border: 0;
  border-radius: 5px;
  background: #f8f8f8;
  color: #333;
  font-size: 15px;
}

.admin-confirm-modal button.primary {
  background: #007aff;
  color: #fff;
}

.admin-confirm-modal button.warn {
  background: #ff5722;
  color: #fff;
}

.admin-user-modal h2 {
  margin: 8px 0 18px;
  color: #333;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}

.admin-user-modal p {
  margin: 0 0 10px;
  color: #999;
  font-size: 14px;
}

.admin-user-modal label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.admin-user-modal label span {
  flex: 0 0 auto;
  color: #999;
  font-size: 18px;
  white-space: nowrap;
}

.admin-user-modal label input {
  flex: 1;
  min-width: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  padding: 10px 15px;
  color: #333;
  font-size: 18px;
}

.admin-user-modal label b {
  margin-left: -40px;
  color: #333;
  font-size: 18px;
  font-weight: 400;
}

.admin-user-modal textarea {
  width: 100%;
  height: 150px;
  border: 1px solid #d9d9d9;
  padding: 10px;
  color: #333;
  font-size: 15px;
  resize: none;
}

.admin-modal-submit {
  width: 100%;
  min-height: 42px;
  margin-top: 15px;
  border: 0;
  border-radius: 5px;
  background: #007aff;
  color: #fff;
  font-size: 16px;
}

.admin-modal-submit.warn {
  background: #e64340;
}

.admin-user-modal em {
  display: block;
  margin-top: 6px;
  color: #999;
  font-size: 13px;
  font-style: normal;
}

.admin-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  min-height: 30px;
  border: 0;
  border-radius: 50%;
  background: #f2f2f2;
  color: #333;
  font-size: 22px;
}

.admin-action-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}

.admin-action-links a {
  padding: 8px 4px;
  border-radius: 5px;
  background: #f8f8f8;
  color: #333;
  text-align: center;
  font-size: 13px;
}

.admin-action-links button {
  min-height: 34px;
  border: 0;
  border-radius: 5px;
  background: #f8f8f8;
  color: #333;
  text-align: center;
  font-size: 13px;
}

.admin-backend-original .page-header {
  padding: 0 0 14px;
}

.admin-backend-original .page-header h1 {
  color: #333;
  font-size: 22px;
}

.admin-backend-original .back-link {
  color: #333;
  font-size: 14px;
}

.admin-backend-original .menu-card,
.admin-backend-original .message-card,
.admin-backend-original .order-card,
.admin-backend-original .user-admin-card,
.admin-backend-original .admin-summary-grid article,
.admin-backend-original .admin-tile {
  border-radius: 5px;
  box-shadow: none;
}

.admin-backend-original .menu-card {
  padding: 0;
  overflow: hidden;
}

.admin-backend-original .menu-card a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 15px;
  border-bottom: 1px solid #eee;
  color: #333;
}

.admin-backend-original .menu-card a::after {
  content: "›";
  color: #999;
  font-size: 18px;
}

.admin-backend-original .menu-card a:last-child {
  border-bottom: 0;
}

.admin-backend-original .order-card {
  padding: 12px;
}

.admin-backend-original a:active,
.admin-backend-original button:active {
  opacity: 0.78;
  transform: translateY(1px);
}

.admin-backend-original button,
.admin-backend-original input,
.admin-backend-original textarea {
  font-family: inherit;
}

.admin-backend-original input,
.admin-backend-original textarea {
  -webkit-appearance: none;
  appearance: none;
}

.admin-backend-original .primary-btn.wide,
.admin-backend-original .ghost-btn.wide,
.admin-backend-original .warn-btn.wide,
.admin-backend-original .dark-save-btn,
.admin-backend-original .blue-save-btn {
  width: 100%;
  min-height: 42px;
  border-radius: 5px;
}

.admin-backend-original .admin-sticky-tabs,
.admin-backend-original .admin-sticky-action {
  top: 0;
  z-index: 25;
}

.admin-backend-original .admin-data-card,
.admin-backend-original .admin-form-card {
  border-radius: 5px;
}

.admin-two-metric {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 12px;
}

.admin-two-metric strong {
  display: block;
  margin-top: 3px;
  color: #333;
  font-size: 26px;
  font-weight: 400;
}

.partner-btn {
  margin-top: 10px;
}

@media (max-width: 390px) {
  .admin-user-detail-original .profile-head {
    align-items: flex-start;
    padding-right: 82px;
  }

  .admin-user-profile-card h1,
  .admin-user-profile-card p {
    max-width: 100%;
  }

  .admin-user-profile-card > .status-pill {
    right: 10px;
  }

  .mini-warn-btn {
    top: 44px;
  }

  .admin-pair-row {
    align-items: flex-start;
  }

  .admin-partner-head > div:last-child {
    width: 100%;
  }

  .partner-btn {
    margin-right: 8px;
  }
}

.admin-msg-card-list {
  display: grid;
  gap: 12px;
}

.admin-sms-panel {
  display: none;
}

.admin-sms-panel.active {
  display: grid;
  gap: 10px;
  padding: 10px 15px 0;
  margin: 0;
}

.admin-sms-subtabs {
  display: grid;
  gap: 0;
  padding: 5px 0;
  grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
  background: #fff;
  border-radius: 5px;
}

.admin-sms-subtabs button {
  min-height: 44px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #999;
  font-size: 14px;
}

.admin-sms-subtabs button.active {
  background: #20a53a;
  color: #fff;
}

.admin-sms-card-original {
  position: relative;
  border-radius: 5px;
  background: #fff;
  padding: 10px;
}

.admin-sms-card-head,
.admin-sms-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sms-card-head strong {
  min-width: 0;
  color: #333;
  font-size: 18px;
  font-weight: 700;
  word-break: break-all;
}

.admin-sms-card-head em {
  padding-right: 5px;
  color: #f0ad4e;
  font-size: 11px;
  font-style: normal;
}

.admin-sms-card-head em.warn {
  color: #ff5722;
  font-size: 16px;
}

.admin-sms-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  flex: 0 1 auto;
}

.admin-sms-tags button,
.admin-sms-card-bottom a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  border: 0;
  border-radius: 4px;
  padding: 3px 10px;
  background: #f8f8f8;
  color: #333;
  font-size: 12px;
  white-space: normal;
}

.admin-sms-tags button {
  min-width: 64px;
  min-height: 44px;
  padding: 8px 10px;
}

.admin-sms-tags button.ok {
  background: #20a53a;
  color: #fff;
}

.admin-sms-tags button.fail-outline {
  border: 1px solid #ff5722;
  background: #fff;
  color: #ff5722;
}

.admin-sms-content {
  margin-top: 6px;
  padding: 8px;
  border-radius: 2px;
  background: #eee;
  color: #333;
  font-size: 14px;
  line-height: 21px;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.admin-sms-content p {
  margin: 8px 0 0;
  color: #ff5722;
  font-size: 14px;
}

.admin-sms-content p.blue-text {
  color: blue;
}

.admin-sms-card-bottom {
  margin-top: 6px;
}

.admin-sms-card-bottom time {
  flex: 1 1 150px;
  color: #999;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.admin-sms-card-bottom div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-sms-card-head label {
  min-width: 0;
  flex: 1 1 150px;
  overflow-wrap: anywhere;
}

.admin-sms-subtabs button {
  min-width: 0;
  padding: 3px 1px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.admin-sms-card-bottom a.orange {
  background: #f0ad4e;
}

.admin-sms-search-result {
  display: none;
}

.admin-sms-search-result.show {
  display: grid;
  gap: 10px;
  padding: 10px 15px 0;
  margin: 0;
}

.admin-pay-list {
  display: grid;
  gap: 15px;
  padding: 15px 0 0;
}

.admin-pay-search-result {
  display: none;
}

.admin-pay-search-result.show {
  display: block;
}

.admin-pay-card {
  position: relative;
  border-radius: 4px;
  background: #fff;
  padding: 13px;
}

.admin-pay-order-no {
  display: flex;
  align-items: center;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
}

.admin-pay-order-no span {
  color: #999;
  font-size: 10px;
}

.admin-pay-order-no strong {
  color: #333;
  font-size: 10px;
  font-weight: 400;
  word-break: break-all;
}

.admin-pay-main {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
}

.admin-pay-main i {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
}

.admin-pay-main i.send {
  background: #ff9000;
}

.admin-pay-main i.package {
  background: hotpink;
}

.admin-pay-main i.rg {
  background: #20a53a;
}

.admin-pay-main h2 {
  margin: 0;
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

.admin-pay-main p {
  margin: 5px 0 0;
  color: #999;
  font-size: 12px;
}

.admin-pay-money-row,
.admin-pay-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 13px;
}

.admin-pay-money-row time {
  color: #999;
  font-size: 12px;
}

.admin-pay-money-row div {
  display: flex;
  align-items: center;
  gap: 4px;
}

.admin-pay-money-row strong {
  color: #333;
  font-size: 17px;
  font-weight: 400;
}

.admin-mini-tag {
  border-radius: 5px;
  padding: 1px 6px 2px;
  color: #fff;
  font-size: 12px;
  font-style: normal;
}

.admin-mini-tag.success {
  background: #20a53a;
}

.admin-mini-tag.refund {
  background: darkred;
}

.admin-pay-status {
  position: absolute;
  top: 11px;
  right: 11px;
  border-radius: 100px;
  padding: 3px 10px;
  font-size: 12px;
}

.admin-pay-status.success {
  background: #e7ffec;
  color: #20a53a;
}

.admin-pay-status.wait,
.admin-pay-status.closed {
  background: #fcefe4;
  color: #e7842b;
}

.admin-pay-status.closed {
  color: #999;
}

.admin-pay-actions button,
.admin-pay-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 0;
  border-radius: 4px;
  padding: 4px 10px;
  background: #f8f8f8;
  color: #333;
  font-size: 12px;
}

.admin-pay-actions button:first-child {
  background: #e64340;
  color: #fff;
}

.admin-pay-actions .primary {
  background: #007aff;
  color: #fff;
}

.admin-pay-approval {
  margin-top: 12px;
  border: 1px solid #f0c36d;
  border-radius: 8px;
  background: #fff8e8;
  padding: 10px;
  color: #704800;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.admin-pay-approval strong,
.admin-pay-approval span {
  display: block;
}

.admin-pay-approval button {
  min-width: 88px;
  min-height: 44px;
  margin-top: 8px;
  border: 0;
  border-radius: 6px;
  background: #007aff;
  color: #fff;
  font-size: 14px;
}

.admin-refund-action-sheet {
  position: fixed;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 90;
  display: none;
  max-width: 414px;
  margin: 0 auto;
}

.admin-refund-action-sheet.show {
  display: block;
}

.admin-refund-action-sheet button {
  display: block;
  width: 100%;
  height: 52px;
  border: 0;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  color: #007aff;
  font-size: 18px;
}

.admin-refund-action-sheet button:first-child {
  border-radius: 12px 12px 0 0;
}

.admin-refund-action-sheet button:nth-child(2) {
  border-radius: 0 0 12px 12px;
  border-bottom: 0;
}

.admin-refund-action-sheet .cancel {
  margin-top: 8px;
  border-radius: 12px;
  font-weight: 600;
}

.admin-refund-query-card {
  padding: 30px;
}

.admin-refund-query-card h1,
.admin-refund-source h2 {
  margin: 0;
  color: #333;
  font-size: 20px;
  font-weight: 400;
  line-height: 26px;
}

.admin-refund-query-card p,
.admin-refund-source p {
  margin: 0;
  color: #999;
  font-size: 13px;
  line-height: 22px;
}

.admin-refund-query-card .red {
  color: crimson;
}

.admin-refund-query-form {
  padding-top: 30px;
}

.admin-refund-query-form input {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #fff;
  padding: 10px 15px;
  color: #333;
  font-size: 18px;
}

.admin-refund-query-form input:focus,
.admin-refund-query-form:focus-within input {
  border-color: #333 !important;
  outline: 0;
}

.admin-refund-query-submit {
  display: block;
  width: 100%;
  margin-top: 40px;
  min-height: 42px;
  border: 0;
  border-radius: 5px;
  background: #007aff;
  color: #fff;
  font-size: 16px;
  line-height: 42px;
  text-align: center;
}

.admin-refund-source {
  padding-top: 60px;
}

.admin-refund-user-card,
.admin-refund-sms-card,
.admin-refund-info-card {
  margin: 15px 15px 0;
  border-radius: 5px;
  background: #fff;
  padding: 10px 0 11px 15px;
}

.admin-refund-user-card h2 {
  margin: 0;
  padding: 0 15px 10px 0;
  border-bottom: 1px solid #ddd;
  color: #333;
  font-size: 18px;
}

.admin-refund-user-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 15px 0 0;
}

.admin-refund-user-card span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
  font-size: 15px;
}

.admin-refund-user-card img {
  width: 20px;
  height: 20px;
  border-radius: 100px;
}

.admin-refund-user-card a,
.admin-refund-sms-actions button {
  min-height: 28px;
  border: 0;
  border-radius: 100px;
  padding: 4px 12px;
  background: #f8f8f8;
  color: #333;
  font-size: 12px;
}

.admin-refund-sms-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

.admin-refund-sms-head div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.admin-refund-sms-head i {
  width: 10px;
  height: 10px;
  border-radius: 100px;
}

.admin-refund-sms-head i.ok {
  background: #20a53a;
}

.admin-refund-sms-head i.fail {
  background: #ff5722;
}

.admin-refund-sms-head strong {
  color: #333;
  font-size: 18px;
}

.admin-refund-state-tags {
  display: flex;
  align-items: center;
  gap: 5px;
}

.status-pill.refund {
  background: darkred;
  color: #fff;
}

.admin-refund-sms-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 13px 15px 0 0;
  color: #999;
  font-size: 14px;
  line-height: 17px;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.admin-refund-sms-time {
  padding: 11px 15px 0 0;
  color: #666;
  font-size: 14px;
}

.admin-refund-error {
  padding: 4px 15px 0 0;
  color: #ff5722;
  font-size: 14px;
}

.admin-refund-sms-actions {
  display: flex;
  justify-content: flex-end;
  padding: 12px 15px 0 0;
}

.admin-refund-info-card {
  padding-right: 0;
}

.admin-refund-info-card button {
  border: 0;
  background: transparent;
  padding: 0;
  color: #333;
  font: inherit;
}

.admin-refund-submit {
  padding: 40px 40px 0;
}

.admin-refund-submit button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 5px;
  background: #e64340;
  color: #fff;
  font-size: 16px;
}

.admin-refund-submit button.ghost {
  margin-top: 10px;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
}

.admin-refund-submit p {
  margin: 3px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.admin-refund-full-content {
  color: #333 !important;
  font-size: 15px !important;
  line-height: 23px !important;
}

.admin-hejie-order-list {
  display: grid;
  gap: 12px;
}

.admin-hejie-order-card {
  border-radius: 10px;
  background: #fff;
  padding: 14px;
}

.admin-hejie-order-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.admin-hejie-order-top strong,
.admin-hejie-order-top time {
  display: block;
}

.admin-hejie-order-top strong {
  color: #333;
  font-size: 15px;
}

.admin-hejie-order-top time {
  margin-top: 4px;
  color: #999;
  font-size: 12px;
}

.admin-hejie-order-top > span {
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
}

.admin-hejie-order-top .done {
  background: #e7ffec;
  color: #20a53a;
}

.admin-hejie-order-top .paid {
  background: #fff6e6;
  color: #e7842b;
}

.admin-hejie-order-top .unpaid {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
}

.admin-hejie-order-top .expired {
  background: rgba(144, 147, 153, 0.16);
  color: #909399;
}

.admin-hejie-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.admin-hejie-grid div {
  border-radius: 8px;
  background: #f8f8f8;
  padding: 9px;
}

.admin-hejie-grid span,
.admin-hejie-rows span,
.admin-hejie-link-box span {
  display: block;
  color: #999;
  font-size: 12px;
}

.admin-hejie-grid strong,
.admin-hejie-rows strong,
.admin-hejie-link-box strong {
  display: block;
  margin-top: 4px;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  word-break: break-all;
}

.admin-hejie-grid .money {
  color: #ff5722;
}

.admin-hejie-rows .error {
  color: #e74c3c;
}

.admin-hejie-rows {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.admin-hejie-rows li {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 8px;
  padding: 5px 0;
}

.admin-hejie-link-box {
  margin-top: 10px;
  border-radius: 8px;
  background: #f9fbff;
  padding: 10px;
}

.admin-hejie-op-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.admin-hejie-op-row.only {
  justify-content: flex-end;
}

.admin-hejie-op-row button,
.admin-hejie-more {
  min-height: 30px;
  border: 0;
  border-radius: 5px;
  padding: 5px 10px;
  background: #007aff;
  color: #fff;
  font-size: 12px;
}

.admin-hejie-op-row button.ghost {
  background: #f2f2f2;
  color: #333;
}

.admin-hejie-more {
  width: 100%;
  margin-top: 12px;
  background: #fff;
  color: #333;
  font-size: 14px;
}

.admin-realname-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 90;
  display: none;
  width: min(360px, calc(100% - 48px));
  border-radius: 12px;
  background: #fff;
  padding: 20px;
  transform: translate(-50%, -50%);
}

.admin-realname-modal.show {
  display: block;
}

.admin-realname-modal h2 {
  margin: 0;
  color: #333;
  font-size: 20px;
  text-align: center;
}

.admin-realname-modal p {
  margin: 8px 0 14px;
  color: #999;
  font-size: 13px;
  text-align: center;
}

.admin-realname-modal label {
  display: block;
  margin-top: 10px;
}

.admin-realname-modal label span {
  display: block;
  margin-bottom: 5px;
  color: #333;
  font-size: 14px;
}

.admin-realname-modal input {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px;
  font-size: 15px;
}

.admin-realname-modal div:last-child {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 16px;
}

.admin-realname-modal button {
  min-height: 38px;
  border: 0;
  border-radius: 6px;
  background: #f3f3f3;
  color: #333;
  font-size: 15px;
}

.admin-realname-modal button.ok {
  background: #007aff;
  color: #fff;
}

.admin-msg-card-original {
  display: block;
  padding: 12px;
  background: #fff;
  border-radius: 5px;
  color: #333;
}

.admin-msg-card-original h2 {
  margin: 0 0 10px;
  color: #999;
  font-size: 16px;
  font-weight: 400;
}

.admin-msg-card-original .split-head strong {
  font-size: 16px;
}

.admin-msg-card-original .split-head p {
  margin: 4px 0 0;
  color: #999;
  font-size: 12px;
}

.admin-message-text {
  margin: 10px 0;
  color: #555;
  font-size: 14px;
  line-height: 1.65;
}

.admin-message-text.large {
  padding: 10px;
  border-radius: 5px;
  background: #f8f8f8;
  color: #333;
}

.admin-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
}

.admin-card-actions span {
  color: #999;
  font-size: 12px;
}

.admin-card-actions a {
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 4px;
  background: #f8f8f8;
  color: #333;
  font-size: 12px;
}

.admin-user-sticky-head {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -15px -15px 15px;
  padding: 20px;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.admin-user-sticky-head strong {
  display: block;
  color: #333;
  font-size: 16px;
}

.admin-user-sticky-head span {
  display: block;
  margin-top: 7px;
  color: #333;
  font-size: 14px;
}

.admin-chat-original {
  padding-top: 60px;
}

.admin-phone-float {
  position: fixed;
  top: 10px;
  left: max(10px, calc((100vw - 430px) / 2 + 10px));
  z-index: 30;
  min-height: 32px;
  padding: 0 10px;
  border: 0;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.88);
  color: #333;
  font-size: 13px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.admin-chat-log {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-bottom: 82px;
}

.chat-load-state {
  padding-top: 0;
}

.admin-chat-row {
  display: flex;
}

.admin-chat-row.mine {
  justify-content: flex-end;
}

.admin-chat-row.reply {
  justify-content: flex-start;
}

.admin-chat-row > div {
  max-width: 78%;
  padding: 10px 12px;
  border-radius: 8px;
}

.admin-chat-row.mine > div {
  background: #07c160;
  color: #fff;
}

.admin-chat-row.reply > div {
  background: #fff;
  color: #333;
}

.admin-chat-row p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.admin-chat-bubble-action {
  display: block;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.55;
}

.admin-chat-row span {
  display: block;
  margin-top: 6px;
  opacity: 0.75;
  font-size: 11px;
}

.admin-reply-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  width: min(100vw, 430px);
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid #ddd;
  transform: translateX(-50%);
}

.admin-reply-bar input {
  min-width: 0;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  padding: 9px 10px;
  background: #f8f8f8;
  font-size: 14px;
}

.admin-reply-bar button {
  border: 0;
  border-radius: 5px;
  padding: 0 14px;
  background: #07c160;
  color: #fff;
  font-size: 14px;
}

.admin-reply-bar button:disabled {
  background: #b8d9c7;
  color: rgba(255, 255, 255, 0.8);
}

.admin-kv-list.compact li {
  padding: 6px 0;
}

.admin-hejie-head {
  margin-bottom: 12px;
  padding: 12px;
  background: #fff;
  border-radius: 5px;
}

.admin-hejie-head h1 {
  margin: 0 0 10px;
  color: #333;
  font-size: 20px;
}

.admin-hejie-head .admin-search-original {
  padding: 0;
}

.admin-pill-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin-top: 10px;
  padding-bottom: 2px;
}

.admin-pill-tabs button {
  flex: 0 0 auto;
  min-height: 30px;
  border: 0;
  border-radius: 15px;
  padding: 0 12px;
  background: #f3f3f3;
  color: #666;
  font-size: 13px;
}

.admin-pill-tabs button.active {
  background: #333;
  color: #fff;
}

.rg-admin-subtabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  margin: 15px 0 10px;
  padding: 0;
  background: #fff;
  border-radius: 5px;
}

.rg-panel,
.rg-sub-panel,
.rg-search-result {
  display: none;
}

.rg-panel.active,
.rg-sub-panel.active,
.rg-search-result.show {
  display: block;
}

.rg-search-result {
  margin: 0 -15px 12px;
  padding: 10px 15px;
  background: #ffe6de;
}

.rg-search-result .rg-admin-card {
  margin-bottom: 10px;
}

.rg-search-close {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #999;
  font-size: 14px;
}

.rg-search-close button {
  min-height: 24px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 10px;
  background: #fff;
  color: #333;
  font-size: 12px;
}

.rg-admin-subtabs button {
  min-height: 40px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #999;
  font-size: 14px;
}

.rg-admin-subtabs button.active {
  background: #20a53a;
  color: #fff;
}

.rg-admin-subtabs span {
  color: #dc0e00;
}

.rg-admin-warning {
  margin: 0 5px 15px;
  padding: 15px;
  border-radius: 5px;
  background: #fed989;
  box-shadow: inset 0 0 5px 0 #fdb314;
}

.rg-admin-warning p {
  margin: 0;
  color: #6e1a0d;
  font-size: 14px;
  line-height: 20px;
}

.rg-admin-card {
  position: relative;
  display: block;
  padding: 10px 0 11px 15px;
  background: #fff;
  border-radius: 5px;
  color: #333;
}

.rg-admin-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

.rg-admin-account {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.rg-admin-account i {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  font-style: normal;
}

.rg-admin-account i::before,
.rg-admin-account i::after {
  content: "";
  position: absolute;
}

.rg-admin-account i.sms::before {
  width: 19px;
  height: 14px;
  border-radius: 4px;
  background: #20a53a;
}

.rg-admin-account i.sms::after {
  left: 5px;
  bottom: 3px;
  width: 6px;
  height: 6px;
  border-radius: 0 0 0 2px;
  background: #20a53a;
  transform: rotate(45deg);
}

.rg-admin-account i.wx::before {
  left: 1px;
  top: 4px;
  width: 14px;
  height: 11px;
  border-radius: 9px;
  background: #07c160;
  box-shadow: 5px 5px 0 #07c160;
}

.rg-admin-account i.wx::after {
  left: 6px;
  top: 8px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 5px 0 0 #fff;
}

.rg-admin-account i.qq {
  border-radius: 50%;
  background: #5f7cff;
  color: #fff;
  font-size: 12px;
}

.rg-admin-account i.qq::before {
  content: "Q";
  position: static;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.rg-admin-account i.qq::after {
  display: none;
}

.rg-admin-account strong {
  display: block;
  max-width: 120px;
  overflow: hidden;
  color: #333;
  font-size: 16px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.rg-admin-account span {
  display: block;
  margin-top: 2px;
  color: #333;
  font-size: 13px;
}

.rg-admin-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.rg-admin-tags em {
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 12px;
  font-style: normal;
  white-space: nowrap;
}

.rg-admin-tags .wait {
  background: #f8f8f8;
  color: #666;
}

.rg-admin-tags .success {
  background: #20a53a;
  color: #fff;
}

.rg-admin-tags .fail {
  background: #ff5722;
  color: #fff;
}

.rg-admin-tags .refund {
  background: darkred;
  color: #fff;
}

.rg-admin-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 10px 15px 10px 0;
  color: #999;
  font-size: 14px;
  line-height: 17px;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rg-admin-card.is-timeup .rg-admin-time span:first-child {
  color: crimson;
  font-size: 18px;
}

.rg-countdown {
  display: inline-block;
  margin-top: 6px;
  padding: 4px 8px;
  border-radius: 4px;
  background: #00b26a;
  color: #fff;
  font-size: 12px;
}

.rg-admin-time {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 11px 15px 0 0;
}

.rg-admin-time span {
  color: #666;
  font-size: 14px;
}

.rg-admin-hide {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 4px 6px;
  background: rgba(255, 255, 255, 0.92);
}

.rg-admin-hide span {
  color: #666;
  font-size: 12px;
}

.rg-admin-hide button {
  min-height: 24px;
  border: 0;
  border-radius: 4px;
  padding: 0 8px;
  background: #07c160;
  color: #fff;
  font-size: 12px;
}

.rg-admin-hide.show-back button {
  background: #ff5722;
}

.hidden-card {
  opacity: 0.92;
}

.rg-loading-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px;
  color: #999;
  font-size: 14px;
}

.rg-loading-state button {
  height: 26px;
  min-height: 26px;
  border: 0;
  border-radius: 4px;
  padding: 0 10px;
  background: #ff5722;
  color: #fff;
  font-size: 12px;
}

.rg-detail-page {
  padding: 15px 20px 16px;
  background: #f4f6fb;
}

.rg-detail-feedback-empty {
  padding-bottom: 10px;
}

.rg-detail-feedback-empty h1 {
  margin: 0;
  color: crimson;
  font-size: 22px;
  font-weight: 500;
}

.rg-detail-card,
.rg-detail-feedback-history {
  margin-bottom: 15px;
  padding: 10px 15px;
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}

.rg-detail-card h2,
.rg-detail-feedback-history h2 {
  margin: 0 0 3px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
}

.rg-detail-account-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-right: 10px;
}

.rg-detail-account-title {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rg-detail-account-title i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-style: normal;
}

.rg-detail-account-title i.sms {
  background: #20a53a;
}

.rg-detail-account-title i.wx {
  background: #07c160;
}

.rg-detail-account-title i {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
}

.rg-detail-account-title i::before,
.rg-detail-account-title i::after {
  content: "";
  position: absolute;
}

.rg-detail-account-title i.sms,
.rg-detail-account-title i.wx {
  background: transparent;
}

.rg-detail-account-title i.sms::before {
  width: 19px;
  height: 14px;
  border-radius: 4px;
  background: #20a53a;
}

.rg-detail-account-title i.sms::after {
  left: 5px;
  bottom: 3px;
  width: 6px;
  height: 6px;
  border-radius: 0 0 0 2px;
  background: #20a53a;
  transform: rotate(45deg);
}

.rg-detail-account-title i.wx::before {
  left: 1px;
  top: 4px;
  width: 14px;
  height: 11px;
  border-radius: 9px;
  background: #07c160;
  box-shadow: 5px 5px 0 #07c160;
}

.rg-detail-account-title i.wx::after {
  left: 6px;
  top: 8px;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 5px 0 0 #fff;
}

.rg-detail-account-title strong {
  color: #333;
  font-size: 16px;
}

.rg-detail-account-card p {
  margin: 3px 0 4px;
  color: #333;
  font-size: 13px;
}

.rg-detail-card button,
.rg-detail-feedback-history button,
.rg-detail-sheet button,
.rg-detail-refund-sheet button {
  min-height: 30px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
  padding: 0 9px;
  font-size: 13px;
}

.rg-detail-card button.primary,
.rg-detail-sheet button.primary {
  border-color: #007aff;
  background: #007aff;
  color: #fff;
}

.rg-detail-card button.warn,
.rg-detail-sheet button.warn {
  border-color: #e64340;
  background: #e64340;
  color: #fff;
}

.rg-detail-content {
  margin: 0;
  color: #999;
  font-size: 14px;
  line-height: 23px;
  word-break: break-all;
}

.rg-detail-actions-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
}

.rg-detail-sms-jump {
  display: flex;
  gap: 10px;
  padding-top: 10px;
}

.rg-detail-tail-box {
  display: none;
  margin-top: 10px;
}

.rg-detail-tail-box.show {
  display: block;
}

.rg-detail-tail-box textarea,
.rg-detail-sheet textarea {
  width: 100%;
  height: 100px;
  border: 1px solid #111;
  border-radius: 0;
  padding: 8px;
  color: #333;
  font-size: 15px;
  resize: none;
}

.rg-detail-countdown {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  color: #00b26a;
  font-size: 12px;
}

.rg-detail-countdown span {
  display: inline-grid;
  place-items: center;
  min-width: 24px;
  height: 22px;
  border-radius: 3px;
  background: #00b26a;
  color: #fff;
  font-size: 13px;
}

.rg-detail-countdown em {
  font-style: normal;
}

.rg-detail-tail-box p {
  margin: 4px 0 6px;
  color: brown;
  font-size: 12px;
}

.rg-detail-info-line,
.rg-detail-meta-line {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 27px;
}

.rg-detail-info-line span {
  flex: 0 0 80px;
  color: #999;
  font-size: 15px;
  text-align: right;
}

.rg-detail-info-line strong,
.rg-detail-meta-line strong {
  flex: 1;
  color: #333;
  font-size: 15px;
  font-weight: 400;
  word-break: break-all;
}

.rg-detail-file-line {
  align-items: flex-start;
}

.rg-detail-copy-indent span {
  opacity: 0;
}

.rg-detail-file-grid {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 5px;
}

.rg-detail-file {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 65px;
  height: 65px;
  border: 0 !important;
  border-radius: 5px !important;
  background: aliceblue !important;
  color: #999 !important;
  font-size: 11px !important;
  font-weight: 700;
  text-align: center;
}

.rg-detail-file::before {
  content: "";
  width: 28px;
  height: 28px;
  margin-bottom: 3px;
  border-radius: 5px;
  background: #d7ecff;
}

.rg-detail-file.image-file::before {
  background: linear-gradient(135deg, #8bd8ff, #f7c36a);
}

.rg-detail-file.video-file::before {
  background: linear-gradient(135deg, #ffd9b0, #ff5722);
}

.rg-detail-file.doc-file::before {
  background: linear-gradient(135deg, #b1ffc4, #20a53a);
}

.rg-detail-meta-line span {
  color: #999;
  font-size: 15px;
}

.rg-detail-meta-line.refund span,
.rg-detail-meta-line.refund strong {
  color: darkred;
}

.rg-detail-feedback-history {
  background: coral;
}

.rg-detail-feedback-history article {
  margin-top: 10px;
  padding: 10px;
  border-radius: 5px;
  background: #fff;
}

.rg-detail-feedback-history p {
  margin: 0 0 8px;
  color: #333;
  font-size: 14px;
  line-height: 22px;
}

.rg-detail-feedback-history time {
  display: block;
  margin-top: 8px;
  color: #999;
  font-size: 14px;
}

.rg-detail-action-dock {
  position: sticky;
  left: auto;
  bottom: 47px;
  transform: none;
  width: auto;
  margin: 0 -20px 12px;
  border-radius: 0;
  padding: 10px;
  background: #fdb314;
}

.rg-detail-mask {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  background: rgba(0,0,0,0.42);
}

.rg-detail-mask.show {
  display: block;
}

.rg-detail-sheet,
.rg-detail-refund-sheet {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 90;
  max-width: 430px;
  max-height: 86vh;
  margin: 0 auto;
  overflow-y: auto;
  padding: 20px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: #fff;
  transform: translateY(110%);
  transition: transform 0.3s ease;
}

.rg-detail-sheet.show,
.rg-detail-refund-sheet.show {
  transform: translateY(0);
}

.rg-detail-sheet h2,
.rg-detail-refund-sheet h2 {
  margin: 10px 0 30px;
  color: #333;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
}

.rg-detail-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 32px;
  min-height: 32px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f2f2f2 !important;
  color: #333 !important;
  font-size: 24px !important;
  line-height: 28px;
}

.rg-detail-sheet-tip {
  margin: 0 0 10px;
  color: crimson;
  font-size: 13px;
  line-height: 20px;
}

.rg-detail-form-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 15px;
}

.rg-detail-form-row > span {
  flex: 0 0 90px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
}

.rg-detail-form-row textarea {
  flex: 1;
  border: 2px solid #d9d9d9;
  border-radius: 4px;
}

.rg-detail-state-row {
  display: flex;
  flex: 1;
  gap: 10px;
  overflow-x: auto;
}

.rg-detail-state-row button {
  flex: 0 0 auto;
  border: 2px solid #d9d9d9;
  padding: 5px;
  opacity: 0.65;
}

.rg-detail-state-row button.active {
  border-color: #007aff;
  background: aquamarine;
  opacity: 1;
}

.rg-detail-state-row button.fail {
  color: #ff5722;
}

.rg-detail-upload {
  flex: 1;
  height: 52px;
  border-style: dashed !important;
  background: #fafafa !important;
}

.rg-detail-quick-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 10px;
}

.rg-detail-quick-row[hidden] {
  display: none;
}

.rg-detail-submit {
  width: 100%;
  margin-top: 15px;
  min-height: 42px !important;
  border-color: #007aff !important;
  background: #007aff !important;
  color: #fff !important;
  font-size: 16px !important;
}

.rg-detail-refund-sheet {
  display: grid;
  gap: 10px;
}

.rg-detail-refund-sheet p {
  margin: 4px 0 0;
  color: brown;
  font-size: 13px;
  line-height: 21px;
}

.rg-detail-refund-sheet button[data-rg-refund-help] {
  color: #007aff;
}

.rg-detail-refund-sheet p[hidden] {
  display: none;
}

.rg-detail-preview {
  position: fixed;
  right: 18px;
  bottom: 18px;
  left: 18px;
  z-index: 92;
  max-width: 394px;
  margin: 0 auto;
  padding: 20px;
  border-radius: 10px;
  background: #fff;
  transform: translateY(120%);
  transition: transform 0.3s ease;
}

.rg-detail-preview.show {
  transform: translateY(0);
}

.rg-detail-preview h2 {
  margin: 8px 0 18px;
  color: #333;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
}

.rg-detail-preview-box p {
  margin: 10px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.rg-detail-preview-image {
  display: grid;
  place-items: center;
  height: 210px;
  border-radius: 6px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.2), rgba(255,255,255,0)),
    linear-gradient(135deg, #8bd8ff, #f7c36a);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.rg-detail-preview-video,
.rg-detail-preview-doc {
  display: flex;
  align-items: center;
  height: 54px;
  border-radius: 27px;
  padding-left: 18px;
  color: #fff;
  font-size: 16px;
}

.rg-detail-preview-video {
  background: #ff5722;
}

.rg-detail-preview-doc {
  background: #20a53a;
}

.rg-detail-tip {
  z-index: 94;
}

@media (max-width: 420px) {
  .page {
    padding-left: 12px;
    padding-right: 12px;
  }

  .rg-detail-page {
    padding: 15px 20px 16px;
  }

  .feature-grid,
  .package-grid,
  .admin-summary-grid,
  .admin-menu-grid,
  .stats-row {
    grid-template-columns: 1fr 1fr;
  }

  .summary-grid {
    grid-template-columns: 1fr;
  }

  .stats-row {
    grid-template-columns: 1fr;
  }

  .search-bar,
  .admin-search-inline {
    grid-template-columns: 1fr;
  }

  .button-row > *,
  .admin-action-dock button,
  .admin-action-dock a {
    min-width: max-content;
  }

  .dashboard-panel,
  .user-row-card {
    align-items: flex-start;
  }
}

/* User main pages: closer to the original uni-app visual language. */
body:has(.page-home-original),
body:has(.original-login-page) {
  background: #fff;
}

body:has(.original-form-page),
body:has(.msg-original-page),
body:has(.my-original-page),
body:has(.hejie-original-page) {
  background: #ededed;
}

.page-home-original {
  padding: 0;
  max-width: 430px;
  background: #fff;
  position: relative;
}

.page-home-original .hero-slices {
  border-radius: 0;
  box-shadow: none;
}

.page-home-original .hero-slices img {
  object-fit: fill;
}

.home-slice-x1 { height: 77.733333vw; max-height: 334.293333px; }
.home-slice-x2 { height: 10.266667vw; max-height: 44.146667px; }
.home-slice-x3 { height: 14.133333vw; max-height: 60.773333px; }
.home-slice-x6 { height: 19.6vw; max-height: 84.28px; }
.home-slice-x4 { height: 20.533333vw; max-height: 88.293333px; }
.home-slice-x7 { height: 27.466667vw; max-height: 118.106667px; }

.home-popup-mask {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.48);
}

.home-popup-mask[hidden] {
  display: none;
}

.home-popup-card {
  position: relative;
  width: min(330px, 100%);
  border-radius: 16px;
  background: #fff;
  padding: 16px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}

.home-popup-close {
  position: absolute;
  top: -14px;
  right: -10px;
  width: 32px;
  min-height: 32px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  font-size: 24px;
  line-height: 30px;
}

.home-popup-image {
  display: grid;
  place-items: center;
  min-height: 178px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffedd1 0%, #ff8a48 56%, #ff4d4f 100%);
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 2px;
}

.home-popup-card h2 {
  margin: 14px 0 6px;
  color: #222;
  font-size: 20px;
}

.home-popup-card p {
  margin: 0;
  color: #777;
  font-size: 14px;
  line-height: 21px;
}

.home-popup-card a {
  display: block;
  margin-top: 14px;
  min-height: 42px;
  border-radius: 999px;
  background: #20a53a;
  color: #fff;
  font-size: 16px;
  line-height: 42px;
}

.original-auth-shell {
  background: #fff;
}

.auth-shell.original-auth-shell {
  align-items: flex-start;
  padding: 0;
}

.original-login-page {
  display: block;
  width: 100%;
  max-width: 430px;
  padding: 0 0 32px;
  background: #fff;
}

.login-title-original {
  padding-top: 50px;
  text-align: center;
  font-size: 28px;
  color: #333;
  font-weight: 400;
}

.login-field-wrap {
  padding: 15px 40px 0;
}

.login-field-wrap.first {
  padding-top: 50px;
}

.login-input-body {
  background: #f7f8f9;
  border-radius: 5px;
  padding: 5px 15px;
}

.login-input-body input,
.login-code-row input {
  border: 0;
  outline: 0;
  background: transparent;
  width: 100%;
  min-height: 44px;
  padding: 0;
  font-size: 18px;
  color: #333;
}

.login-input-body:focus-within {
  background: #fff;
  box-shadow: 0 0 0 1px rgba(255, 87, 34, 0.18), 0 8px 18px rgba(255, 87, 34, 0.08);
}

.login-code-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.login-code-row input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}

.login-code-row button {
  min-width: 44px;
  min-height: 44px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: #007cde;
  font-size: 15px;
  white-space: nowrap;
}

.login-code-row button:disabled {
  color: #aaa;
}

.login-agreement {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 15px 30px 0 40px;
  font-size: 14px;
  color: #999;
  line-height: 22px;
}

.login-agreement a {
  color: #007cde;
  white-space: nowrap;
}

.login-agreement input:disabled {
  background: #f2f2f2;
}

.login-legal-state {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 4px 40px 0;
  color: #a33b32;
  font-size: 13px;
  line-height: 20px;
}

.login-legal-state[hidden] {
  display: none;
}

.login-legal-state button {
  flex: 0 0 auto;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #007cde;
  padding: 0 4px;
  font-size: 14px;
}

.check-square {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #ddd;
  border-radius: 2px;
  background: #fff;
  margin: 0;
  flex: 0 0 16px;
}

.check-square:checked {
  border-color: #ff6055;
  background: #ff6055 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.1 6.6 11.2 12.8 4.8' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}

.login-button-wrap {
  padding: 40px 40px 0;
}

.login-submit-original {
  width: 100%;
  border: 0;
  border-radius: 5px;
  background: #e64340;
  color: #fff;
  height: 46px;
  font-size: 18px;
}

.login-submit-original:disabled,
.login-to-button:disabled {
  background: #f7f7f7;
  color: rgba(0, 0, 0, 0.3);
  opacity: 1;
}

.original-form-page {
  max-width: 430px;
  padding: 0 0 24px;
  background: #ededed;
}

.original-top-back {
  height: 46px;
  display: flex;
  align-items: center;
  padding: 0 15px;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.original-top-back a {
  color: #333;
  font-size: 15px;
}

.original-form-stack {
  padding: 25px 25px 0;
}

.sms-notice {
  position: sticky;
  top: 0;
  z-index: 35;
  min-height: 44px;
  padding: 11px 20px;
  background: #fff8e1;
  color: #8a6116;
  font-size: 14px;
  line-height: 22px;
}

.sms-night-warning {
  padding: 12px 20px;
  background: #ffd2cf;
  color: #333;
  font-size: 14px;
  line-height: 20px;
}

.sms-phone-card,
.sms-content-card,
.sms-date-card,
.sms-name-card,
.sms-agree-card,
.rg-platform-card {
  background: #fff;
  border-radius: 5px;
  margin-bottom: 25px;
}

.sms-phone-card {
  position: relative;
  height: 52px;
  min-height: 52px;
  padding: 0;
  display: flex;
  align-items: center;
}

.sms-phone-card input,
.sms-name-card input,
.rg-platform-card select {
  width: 100%;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 15px;
  color: #333;
}

.sms-phone-card input {
  height: 52px;
  min-height: 52px;
  padding: 0 58px 0 15px;
}

.sms-phone-card:focus-within,
.sms-content-card:focus-within,
.sms-name-card:focus-within,
.rg-platform-card:focus-within,
.hejie-card:focus-within {
  box-shadow: 0 0 0 2px rgba(7, 193, 96, 0.1);
}

.sms-contact-open {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 0;
  background: transparent;
}

.sms-contact-open img {
  width: 22px;
  height: 22px;
}

.sms-content-card {
  position: relative;
  overflow: hidden;
  padding: 15px;
}

.sms-content-card textarea {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 150px;
  min-height: 150px;
  border: 0;
  outline: 0;
  resize: none;
  background: transparent;
  font-size: 15px;
  line-height: 22px;
  color: #333;
}

.sms-content-card p {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: 13px;
  color: #999;
}

.sms-content-card img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.sms-date-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  font-size: 15px;
  border: 0;
  width: 100%;
  text-align: left;
}

.sms-date-card span {
  color: #999;
}

.sms-date-card strong {
  color: #333;
  font-weight: 400;
  display: flex;
  align-items: center;
}

.sms-date-card img,
.my-user-card-original a img,
.my-list-original img,
.msg-title-card img,
.message-top img {
  width: 15px;
  height: 15px;
}

.sms-name-card {
  height: 52px;
  padding: 0;
}

.sms-name-card input {
  height: 52px;
  min-height: 52px;
  padding: 0 15px;
}

.sms-agree-card {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  font-size: 14px;
  color: #999;
}

.sms-agree-toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  flex: 0 0 auto;
  gap: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  white-space: nowrap;
}

.sms-agree-card .check-square {
  width: 17px;
  height: 17px;
  min-width: 17px;
  margin: 0 5px 0 0;
  border: 1.5px solid #999;
  border-radius: 3px;
}

.sms-agree-toggle.selected .check-square {
  position: relative;
  border-color: #20a53a;
  background: #20a53a;
}

.sms-agree-toggle.selected .check-square::after {
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  content: "";
}

.sms-agree-card a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #007aff;
  margin-block: -11px;
}

.sms-agree-copy {
  min-width: 0;
  line-height: 22px;
}

.sms-agree-tail {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  white-space: nowrap;
  margin-block: -11px;
}

.sms-agree-tail a {
  margin-block: 0;
}

.inline-submit-btn {
  width: 100%;
  height: 46px;
  border: 0;
  border-radius: 100px;
  margin: 0 0 18px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
}

.sms-preview-link {
  display: flex;
  min-height: 44px;
  align-items: center;
  border: 0;
  background: transparent;
  width: max-content;
  margin: 0 auto;
  color: orangered;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
}

.sms-bottom-info {
  padding: 25px 25px 75px;
}

.sms-bottom-info p {
  margin: 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
}

.sms-bottom-info a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #999;
  padding-left: 4px;
}

.sms-original-page {
  padding-bottom: 70px;
}

.sms-submit-wrap {
  display: flex;
  padding: 10px 75px 25px;
}

.sms-submit-original {
  flex: 1;
  height: 46px;
  border: 0;
  border-radius: 999px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
  line-height: 46px;
}

.sms-edit-original-page .sms-phone-card input:disabled,
.sms-edit-original-page .sms-date-card:disabled {
  opacity: 1;
  color: #333;
  -webkit-text-fill-color: #333;
}

.sms-edit-original-page .sms-phone-card input {
  min-width: 0;
}

.sms-edit-original-page .sms-phone-card > img {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.timing-task-original-page {
  min-height: 100vh;
  padding-bottom: 70px;
}

.timing-task-stack {
  padding: 20px;
}

.timing-entry-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 80px;
  border-radius: 5px;
  background: #fff;
  padding: 15px 112px 15px 15px;
  color: #333;
}

.timing-entry-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
}

.timing-entry-icon img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.timing-entry-text {
  display: grid;
  gap: 5px;
  padding-left: 12px;
  min-width: 0;
}

.timing-entry-text strong {
  font-size: 16px;
  color: #333;
  font-weight: 400;
}

.timing-entry-text em {
  font-style: normal;
  font-size: 13px;
  color: #999;
}

.timing-entry-count {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  display: flex;
  align-items: center;
  color: darkorange;
  font-size: 22px;
  white-space: nowrap;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
}

.timing-entry-count.error {
  color: #ff5722;
  font-size: 14px;
}

.date-sheet-custom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0 20px;
  border-bottom: 1px solid #f0f0f0;
  color: #333;
  font-size: 16px;
}

.date-sheet-custom input {
  width: 190px;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 15px;
  text-align: right;
}

.restore-dialog-mask {
  position: fixed;
  inset: 0;
  z-index: 130;
  background: rgba(0, 0, 0, 0.42);
}

.restore-dialog {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 131;
  width: min(310px, calc(100vw - 64px));
  transform: translate(-50%, -50%);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  text-align: center;
}

.restore-dialog h2 {
  margin: 0;
  padding: 18px 20px 8px;
  color: #333;
  font-size: 18px;
  font-weight: 600;
}

.restore-dialog p {
  margin: 0;
  min-height: 48px;
  padding: 0 24px 18px;
  color: #555;
  font-size: 15px;
  line-height: 22px;
  white-space: pre-line;
}

.restore-dialog button {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-top: 1px solid #eee;
  background: #fff;
  color: #07c160;
  font-size: 16px;
}

.sms-home-back {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 20;
  width: min(430px, 100%);
  height: 50px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #ddd;
  background: #fff;
  color: #333;
  font-size: 15px;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.sms-date-sheet,
.sms-preview-sheet,
.sms-contact-sheet,
.sms-confirm-sheet {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}

.sms-date-sheet.show,
.sms-preview-sheet.show,
.sms-contact-sheet.show,
.sms-confirm-sheet.show {
  pointer-events: auto;
}

.sms-date-sheet.show .rg-sheet-mask,
.sms-preview-sheet.show .rg-sheet-mask,
.sms-contact-sheet.show .rg-sheet-mask,
.sms-confirm-sheet.show .rg-sheet-mask {
  background: rgba(0, 0, 0, 0.42);
}

.sms-date-sheet .rg-sheet-panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  padding: 0 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
  transform: translateY(110%);
  transition: transform 0.22s ease;
}

.sms-date-sheet.show .rg-sheet-panel {
  transform: translateY(0);
}

.sms-datetime-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 8px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  color: #666;
  font-size: 14px;
}

.sms-datetime-field input {
  width: 190px;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 15px;
  text-align: right;
}

.sms-date-sheet .rg-sheet-panel button.primary {
  border-radius: 0 0 12px 12px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
}

.sms-preview-panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  border-radius: 10px 10px 0 0;
  background: #ededed;
  padding: 20px;
  transform: translateY(110%);
  transition: transform 0.22s ease;
}

.sms-preview-sheet.show .sms-preview-panel {
  transform: translateY(0);
}

.sms-preview-panel h2 {
  margin: 0 0 12px;
  color: #333;
  font-size: 18px;
  font-weight: 400;
}

.sms-preview-panel p {
  min-height: 96px;
  margin: 0 0 16px;
  border-radius: 5px;
  background: #fff;
  padding: 12px;
  color: #333;
  font-size: 15px;
  line-height: 22px;
  word-break: break-all;
}

.sms-preview-meta {
  margin: 0 0 12px;
  border-radius: 5px;
  background: #fff;
  padding: 6px 12px;
}

.sms-preview-meta div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
}

.sms-preview-meta div:last-child {
  border-bottom: 0;
}

.sms-preview-meta dt {
  color: #999;
}

.sms-preview-meta dd {
  min-width: 0;
  margin: 0;
  color: #333;
  text-align: right;
  overflow-wrap: anywhere;
}

.sms-preview-panel button {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
}

.sms-contact-sheet {
  align-items: stretch;
  justify-content: flex-end;
}

.sms-contact-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(250px, calc(100% - 52px));
  height: 100%;
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: #fff;
  transform: translateX(105%);
  transition: transform 0.24s ease;
}

.sms-contact-sheet.show .sms-contact-panel {
  transform: translateX(0);
}

.sms-contact-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 0 14px;
  border-bottom: 1px solid #ededed;
}

.sms-contact-panel h2 {
  margin: 0;
  color: #333;
  font-size: 17px;
  font-weight: 500;
}

.sms-contact-panel header button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #007aff;
}

.sms-contact-list {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.sms-contact-list button {
  display: grid;
  gap: 5px;
  width: 100%;
  min-height: 64px;
  border: 0;
  border-bottom: 1px solid #ededed;
  padding: 10px 15px;
  background: #fff;
  text-align: left;
}

.sms-contact-list strong {
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

.sms-contact-list span,
.sms-contact-empty {
  color: #999;
  font-size: 13px;
}

.sms-contact-empty {
  margin: 0;
  padding: 24px 15px;
  text-align: center;
}

.sms-contact-panel > a {
  display: grid;
  place-items: center;
  min-height: 52px;
  border-top: 1px solid #ededed;
  color: #007aff;
  font-size: 15px;
}

.sms-confirm-panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  border-radius: 12px 12px 0 0;
  padding: 20px 20px calc(env(safe-area-inset-bottom, 0px) + 12px);
  background: #fff;
  transform: translateY(105%);
  transition: transform 0.24s ease;
}

.sms-confirm-sheet.show .sms-confirm-panel {
  transform: translateY(0);
}

.sms-confirm-panel h2 {
  margin: 0 0 18px;
  color: #333;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}

.sms-confirm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  border-bottom: 1px solid #f0f0f0;
  color: #999;
  font-size: 15px;
}

.sms-confirm-row strong {
  color: #333;
  font-weight: 400;
}

.sms-confirm-row strong.price {
  color: darkorange;
  font-size: 18px;
}

.sms-confirm-panel p {
  margin: 12px 0 18px;
  color: #999;
  font-size: 13px;
  text-align: center;
}

.sms-confirm-balance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  border-top: 1px solid #f0f0f0;
  color: #666;
  font-size: 14px;
}

.sms-confirm-balance strong {
  color: #333;
  font-size: 17px;
  font-weight: 600;
}

.sms-confirm-balance a,
.kongtou-sms-balance a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #20a53a;
  font-size: 13px;
  white-space: nowrap;
}

.sms-confirm-panel .sms-balance-error {
  margin: 0 0 12px;
  border-radius: 5px;
  background: #fff2f0;
  padding: 9px 12px;
  color: #d4380d;
  line-height: 20px;
  text-align: left;
}

.sms-confirm-panel .sms-pricing-notice,
.kongtou-sms-sheet .sms-pricing-notice {
  margin: 10px 0 0;
  border-left: 3px solid #ff9500;
  border-radius: 4px;
  background: #fff8e8;
  padding: 9px 11px;
  color: #ad6800;
  line-height: 20px;
  text-align: left;
}

.sms-pay-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.sms-pay-actions button {
  min-width: 0;
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 14px;
}

.sms-pay-actions button.envelope {
  border-color: #20a53a;
  background: #20a53a;
  color: #fff;
}

.sms-pay-actions button:disabled,
.sms-pay-actions button.envelope:disabled,
.kongtou-sms-sheet button:disabled {
  border-color: #e5e5e5;
  background: #f2f2f2;
  color: #aaa;
  cursor: not-allowed;
}

.sms-confirm-panel .sms-payment-unavailable,
.kongtou-sms-sheet .sms-payment-unavailable {
  margin: 0 0 12px;
  border-radius: 5px;
  background: #f6f7f9;
  padding: 9px 11px;
  color: #777;
  line-height: 19px;
  text-align: left;
}

.sms-confirm-panel > button {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  background: #f1f1f1;
  color: #555;
  font-size: 16px;
}

.sms-confirm-panel > button + button {
  margin-top: 10px;
}

.sms-confirm-panel > button.primary {
  background: #07c160;
  color: #fff;
}

@media (max-width: 350px) {
  .original-form-stack {
    padding-right: 18px;
    padding-left: 18px;
  }

  .sms-submit-wrap {
    padding-right: 58px;
    padding-left: 58px;
  }

  .sms-agree-card {
    font-size: 13px;
  }

  .sms-datetime-field {
    align-items: flex-start;
    flex-direction: column;
  }

  .sms-datetime-field input {
    width: 100%;
    min-height: 44px;
    text-align: left;
  }
}

.bottom-action-bar {
  justify-content: center;
}

.bottom-action-bar .primary-btn {
  max-width: 280px;
  height: 46px;
  border-radius: 100px;
  background: #07c160;
  box-shadow: none;
}

.hejie-original-page {
  max-width: 430px;
  padding: 0 12px 24px;
  background: #f7f8f9;
}

.hejie-banner-original {
  margin: 0 -12px;
}

.hejie-hot-actions {
  position: relative;
  z-index: 2;
  margin-top: -50px;
  margin-bottom: 12px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.hejie-hot-actions > * {
  width: 177px;
  min-height: 44px;
  display: block;
}

.hejie-hot-actions > span {
  pointer-events: none;
}

.hejie-card-list {
  display: grid;
  gap: 12px;
}

.hejie-card {
  display: block;
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.hejie-card span {
  display: block;
  margin-bottom: 10px;
  color: #222;
  font-size: 15px;
  font-weight: 600;
}

.hejie-card input,
.hejie-card select {
  width: 100%;
  border: 0;
  outline: 0;
  border-radius: 10px;
  background: #f3f4f6;
  padding: 12px;
  font-size: 15px;
  color: #222;
}

.hejie-picker-btn {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 10px;
  background: #f3f4f6;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #222;
  text-align: left;
}

.hejie-picker-btn strong {
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
}

.hejie-picker-btn img {
  width: 15px;
  height: 15px;
}

.hejie-agreement-row span {
  margin: 0;
  color: #999;
  font-size: 13px;
  font-weight: 400;
}

.hejie-agreement-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}

.hejie-agreement-row a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #007aff;
  font-size: 13px;
}

.hejie-submit-original {
  width: 100%;
  height: 52px;
  border: 0;
  border-radius: 999px;
  margin: 18px 0 12px;
  background: #07c160;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
}

.hejie-notice-original h2,
.rg-notice-original h2 {
  margin: 0 0 10px;
  font-size: 16px;
  color: #222;
}

.hejie-notice-original p,
.rg-notice-original p {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 20px;
  color: #333;
}

.hejie-notice-original .red {
  color: #ff4d4f;
}

.hejie-service-sheet {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}

.hejie-service-sheet.show {
  pointer-events: auto;
}

.hejie-service-sheet.show .rg-sheet-mask {
  background: rgba(0,0,0,0.42);
}

.hejie-service-sheet .rg-sheet-panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  padding: 0 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
  transform: translateY(110%);
  transition: transform 0.22s ease;
}

.hejie-service-sheet.show .rg-sheet-panel {
  transform: translateY(0);
}

.msg-original-page {
  max-width: 430px;
  padding: 0 0 calc(var(--tabbar-height) + 18px);
  background: #ededed;
}

.msg-title-card {
  padding: 15px 15px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.msg-title-card strong {
  color: #333;
  font-size: 22px;
}

.msg-title-card a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 0 2px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
}

.msg-segment-original {
  padding: 15px 15px 0;
}

.msg-segment-original button {
  border-radius: 5px;
  box-shadow: none;
  background: #fff;
}

.msg-segment-original button.active {
  background: #20a53a;
}

.msg-card-original {
  display: block;
  margin: 15px 15px 0;
  padding: 15px 0 11px 15px;
  border-radius: 5px;
  box-shadow: none;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.msg-card-original:active {
  opacity: 0.82;
  transform: scale(0.995);
}

.msg-panel {
  display: none;
}

.msg-panel.active {
  display: grid;
}

.msg-card-original .message-top {
  padding-right: 10px;
}

.msg-card-original p {
  margin: 7px 15px 7px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ededed;
  color: #999;
  font-size: 14px;
  line-height: 17px;
}

.msg-card-original .message-meta {
  padding-right: 15px;
  color: #666;
  font-size: 14px;
}

.msg-card-original .message-meta strong,
.msg-card-original .message-meta em {
  color: #666;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
}

.msg-list-state {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 330px;
  margin: 15px;
  border-radius: 5px;
  color: #999;
  text-align: center;
}

.msg-list-state img {
  width: 112px;
  height: 112px;
  object-fit: contain;
}

.msg-list-state p {
  margin: 18px 0 0;
  color: #999;
  font-size: 16px;
}

.msg-list-state a,
.msg-list-state button {
  min-width: 96px;
  min-height: 44px;
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  padding: 0 18px;
  background: #20a53a;
  color: #fff;
  font-size: 15px;
  line-height: 44px;
}

.msg-list-state.error button {
  background: #e64340;
}

.msg-loading-dot {
  width: 30px;
  height: 30px;
  border: 3px solid #ddd;
  border-top-color: #20a53a;
  border-radius: 50%;
  animation: msg-loading-spin 0.8s linear infinite;
}

.msg-list-footer,
.msg-list-more {
  display: block;
  width: calc(100% - 30px);
  min-height: 48px;
  margin: 15px;
  border: 0;
  background: transparent;
  color: #999;
  font-size: 14px;
  line-height: 48px;
  text-align: center;
}

.msg-list-footer.error button {
  min-height: 44px;
  border: 0;
  border-radius: 4px;
  margin-left: 8px;
  padding: 0 12px;
  background: #e64340;
  color: #fff;
}

@keyframes msg-loading-spin {
  to { transform: rotate(360deg); }
}

.mini-tag {
  padding: 3px 7px;
  border-radius: 3px;
  color: #fff !important;
  font-size: 12px !important;
}

.mini-tag.green {
  background: #20a53a;
}

.mini-tag.gray {
  background: #999;
}

.mini-tag.blue {
  background: #1e9fff;
}

.mini-tag.red {
  background: #ff5722;
}

.msg-content-page {
  max-width: 430px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0 0 122px;
  background: #ededed;
}

.msg-load-state {
  padding: 15px;
  border-radius: 5px;
  text-align: center;
}

.msg-load-state[hidden] {
  display: none;
}

.msg-load-state p {
  margin: 0 0 8px;
  color: #666;
  font-size: 13px;
}

.msg-load-state p:only-child {
  margin-bottom: 0;
}

.msg-load-state button {
  height: 44px;
  line-height: 44px;
  min-width: 96px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: #e64340;
  color: #fff;
  font-size: 12px;
}

.msg-chat-list {
  display: flex;
  flex-direction: column;
  min-height: 1px;
}

.msg-chat-row {
  padding: 10px 20px 15px;
}

.msg-chat-status {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-size: 14px;
}

.msg-chat-row.outgoing .msg-chat-status {
  justify-content: flex-end;
}

.msg-chat-status em {
  color: #666;
  font-style: normal;
  font-size: 14px;
}

.msg-chat-body {
  display: flex;
  flex-direction: row;
  gap: 15px;
  padding-top: 10px;
}

.msg-chat-body i {
  width: 40px;
  min-width: 40px;
}

.msg-avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border: 1px solid #d9d9d9;
  border-radius: 5px;
  background: #eee;
  object-fit: cover;
}

.mine-avatar {
  border-color: #333;
}

.msg-bubble-wrap {
  position: relative;
  flex: 1;
  display: flex;
}

.msg-chat-row.outgoing .msg-bubble-wrap {
  justify-content: flex-end;
}

.msg-bubble {
  display: block;
  margin: 0;
  max-width: 100%;
  border-radius: 5px;
  padding: 10px;
  background: #fff;
  color: #333;
  font-size: 15px;
  line-height: 20px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.msg-bubble.mine {
  background: #95ec69;
}

.bubble-arrow {
  position: absolute;
  top: 8px;
  width: 24px;
  height: 24px;
}

.bubble-arrow.left {
  left: -12px;
}

.bubble-arrow.right {
  right: -12px;
  transform: rotate(180deg);
}

.msg-chat-row.error {
  background: rgba(255, 50, 56, 0.3);
}

.msg-fail-link {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  padding-top: 0;
  padding-right: 85px;
  color: #ff5722;
  font-size: 14px;
}

.msg-fail-link img {
  width: 12px;
  height: 12px;
}

.msg-reply-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 10;
  width: min(430px, 100%);
  background: #edf1f9;
  border-top: 1px solid #d0d0d0;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}

.msg-reply-tools {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 10px 20px 0;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.msg-reply-tools a,
.msg-reply-tools button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 3px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  padding: 9px 12px;
  color: #111;
  font-size: 14px;
}

.msg-reply-tools button:disabled {
  color: #888;
  opacity: 0.72;
}

.msg-reply-input-row {
  display: flex;
  align-items: flex-end;
  gap: 15px;
  padding: 10px 20px;
}

.msg-reply-input-row textarea {
  flex: 1;
  min-height: 44px;
  max-height: 90px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  padding: 10px;
  color: #333;
  font-size: 14px;
  line-height: 19px;
  resize: none;
  outline: 0;
}

.msg-reply-input-row button {
  width: 66px;
  min-width: 66px;
  height: 44px;
  border: 0;
  border-radius: 5px;
  background: #20a53a;
  color: #fff;
}

.msg-reply-input-row button:disabled {
  background: #9dcfa6;
  color: #f3f3f3;
}

.msg-order-detail-page {
  background: #ededed;
}

.msg-detail-original-page {
  display: flow-root;
  max-width: 430px;
  min-height: 100vh;
  padding: 0 0 70px;
}

.msg-order-card {
  margin: 15px 15px 0;
  background: #fff;
  border-radius: 5px;
  padding: 10px 0 11px 15px;
}

.msg-order-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-right: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

.msg-order-head strong {
  flex: 1;
  color: #333;
  font-size: 18px;
}

.state-dot {
  width: 10px;
  height: 10px;
  border-radius: 100px;
}

.state-dot.success {
  background: #20a53a;
}

.state-dot.sending {
  background: #cfcfcf;
}

.state-dot.fail {
  background: #ff5722;
}

.msg-order-card p {
  margin: 0;
  padding: 13px 15px 0 0;
  color: #999;
  font-size: 14px;
  line-height: 18px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.msg-order-card > p:not(.msg-error-line) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.msg-order-card .msg-error-line {
  padding-top: 6px;
  color: #ff5722;
  overflow-wrap: anywhere;
}

.msg-detail-load-state {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 360px;
  border-radius: 5px;
  color: #999;
  text-align: center;
}

.msg-detail-load-state p {
  margin: 0;
  font-size: 15px;
  line-height: 22px;
}

.msg-detail-load-state button {
  min-width: 96px;
  min-height: 44px;
  margin-top: 14px;
  border: 0;
  border-radius: 999px;
  background: #e64340;
  color: #fff;
  font-size: 15px;
}

.msg-send-time {
  padding: 11px 15px 0 0;
  color: #666;
  font-size: 14px;
  line-height: 20px;
}

.msg-order-actions {
  justify-content: flex-end;
  padding: 12px 15px 0 0;
}

.msg-order-actions button,
.msg-order-actions a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #ddd;
  border-radius: 100px;
  background: #f8f8f8;
  padding: 4px 12px;
  color: #333;
  font-size: 12px;
  line-height: 20px;
}

.msg-order-actions button.warn {
  border-color: #e64340;
  background: #e64340;
  color: #fff;
}

.msg-order-actions .primary-action {
  border-color: #20a53a;
  background: #20a53a;
  color: #fff;
}

.msg-order-actions .plain-action {
  border-color: #20a53a;
  background: #fff;
  color: #20a53a;
}

.msg-order-actions .refund-action {
  border-color: #ff9800;
  background: #fff8e8;
  color: #b85c00;
}

.msg-detail-info-card {
  margin: 15px 15px;
  border-radius: 5px;
  background: #fff;
  padding: 15px 0 15px 15px;
}

.msg-detail-info-card div {
  display: flex;
  align-items: center;
  min-height: 24px;
  padding-right: 15px;
  color: #333;
  font-size: 14px;
  line-height: 20px;
}

.msg-detail-info-card div + div {
  margin-top: 10px;
}

.msg-detail-info-card span {
  color: #999;
  white-space: nowrap;
}

.msg-detail-info-card strong {
  min-width: 0;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  word-break: break-all;
}

.msg-content-dialog p {
  text-align: left;
  word-break: break-all;
}

.msg-dialog-actions {
  display: flex;
  border-top: 1px solid #eee;
}

.msg-dialog-actions button {
  flex: 1;
  border-top: 0;
}

.msg-dialog-actions button + button {
  border-left: 1px solid #eee;
}

.msg-dialog-actions .danger {
  color: #e64340;
}

.my-original-page {
  position: relative;
  max-width: 430px;
  padding: 0 0 calc(var(--tabbar-height) + 15px);
  background: #f7f8f9;
}

.my-gradient-bg {
  position: absolute;
  inset: 0 0 auto;
  height: 300px;
  background-image: linear-gradient(to top, #f7f8f9, #fff);
  pointer-events: none;
}

.my-user-card-original {
  position: relative;
  z-index: 1;
  padding: 15px;
}

.my-user-card-original .profile-head {
  justify-content: flex-start;
  gap: 10px;
}

.my-user-card-original h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
  line-height: 26px;
}

.my-user-card-original a {
  display: flex;
  align-items: center;
  padding-top: 7px;
  color: #333;
  font-size: 14px;
}

.my-avatar-link {
  flex: 0 0 auto;
  padding-top: 0 !important;
}

.my-user-card-original .avatar {
  width: 54px;
  height: 54px;
  box-sizing: content-box;
  border-radius: 100px;
  border: 4px solid #333;
  background: #f8f8f8;
}

.my-user-card-original .avatar.has-custom-avatar {
  width: 62px;
  height: 62px;
  box-sizing: border-box;
  border: 0;
}

.my-name-link {
  display: inline-flex !important;
  padding-top: 0 !important;
}

.my-user-card-original .profile-head > div > a {
  min-height: 44px;
  padding: 7px 4px;
  margin-left: -4px;
}

.my-user-card-original a:active,
.my-envelope-card a:active,
.my-ability-card a:active,
.my-list-original a:active {
  opacity: 0.72;
}

.my-user-card-original .kefu-icon {
  width: 44px;
  height: 44px;
}

.my-user-card-original .my-kefu-link {
  position: absolute;
  right: 20px;
  bottom: 20px;
  padding-top: 0;
  width: 44px;
  height: 44px;
}

.my-envelope-card {
  position: relative;
  z-index: 1;
  margin: 0 15px 15px;
  padding: 20px;
  overflow: hidden;
  border-radius: 5px;
  background: #333;
  color: #fff;
}

.my-envelope-card span {
  font-size: 14px;
}

.my-envelope-card div {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding-top: 14px;
}

.my-envelope-card strong {
  font-size: 22px;
}

.my-envelope-card em {
  padding: 0 10px 0 2px;
  font-style: normal;
  font-size: 20px;
  font-weight: 700;
}

.my-envelope-card div a {
  background: #fff;
  color: #333;
  border-radius: 100px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 700;
}

.my-envelope-card .my-wallet-link {
  position: absolute;
  z-index: 2;
  right: -1px;
  bottom: 25px;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 6px;
  border-radius: 100px 0 0 100px;
  background: #fff;
  color: #333;
}

.my-envelope-card .my-wallet-link img:first-child {
  width: 24px;
  height: 24px;
  margin-left: 5px;
}

.my-envelope-card .my-wallet-link img:last-child {
  width: 15px;
  height: 15px;
  opacity: 0.5;
}

.my-envelope-card .my-wallet-link strong {
  padding: 0 2px;
  font-size: 14px;
  font-weight: 700;
}

.my-ability-card {
  position: relative;
  z-index: 1;
  margin: 0 15px 15px;
  padding: 18px;
  border-radius: 5px;
  background: #fff;
  display: flex;
  align-items: center;
}

.my-ability-card a {
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 0;
}

.my-ability-card i {
  width: 1px;
  height: 44px;
  margin: 0 13px;
  background: #ededed;
}

.my-ability-card strong {
  display: block;
  color: #333;
  font-size: 16px;
  font-weight: 400;
}

.my-ability-card span {
  display: block;
  padding-top: 6px;
  color: #999;
  font-size: 12px;
  white-space: nowrap;
}

.my-ability-card img {
  width: 40px;
  height: 40px;
}

.my-list-original {
  position: relative;
  z-index: 1;
  margin: 0 15px 15px;
  overflow: hidden;
  border-radius: 5px;
}

.my-list-original a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  padding: 15px 15px 15px 18px;
  color: #333;
  font-size: 16px;
  border-bottom: 1px solid #f0f0f0;
  min-height: 51px;
}

.my-list-original a > span {
  flex: 0 0 auto;
}

.my-list-original a > small {
  margin-left: auto;
  padding: 0 2px 0 10px;
  color: #999;
  font-size: 14px;
  line-height: 20px;
  text-align: right;
}

.my-list-original a > small.accent {
  color: #ff5722;
}

.my-list-original a > img {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  opacity: 0.5;
}

.my-list-original a:last-child {
  border-bottom: 0;
}

.rengong-original-page {
  max-width: 430px;
  padding: 0 0 70px;
  background: #ededed;
}

.rengong-original-page .original-form-stack {
  padding: 25px 25px 0;
}

.rg-top-notice {
  position: sticky;
  top: 0;
  z-index: 30;
  padding: 10px 15px;
  background: #fff8e6;
  color: #8a5a00;
  font-size: 14px;
  line-height: 22px;
}

.rengong-original-page .rg-platform-card,
.rg-input-card,
.rg-content-card,
.rg-date-card,
.rg-more-card,
.rg-agree-card {
  width: 100%;
  margin: 0 0 25px;
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}

.rengong-original-page .rg-platform-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 52px;
  padding: 15px;
}

.rg-platform-trigger {
  border: 0;
  color: #999;
  font-size: 15px;
  line-height: 22px;
  text-align: left;
}

.rg-platform-trigger .selected {
  color: #333;
}

.rg-platform-arrow {
  width: 22px;
  height: 22px;
  background: currentColor;
  opacity: 0.55;
  clip-path: polygon(50% 70%, 18% 34%, 82% 34%);
  transition: transform 0.3s ease;
}

.rg-platform-arrow.open {
  transform: rotateX(180deg);
}

.rg-input-card {
  position: relative;
  display: block;
  min-height: 52px;
  padding: 15px;
}

.rg-input-card input {
  width: 100%;
  height: 22px;
  padding: 0 52px 0 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 15px;
  line-height: 22px;
}

.rg-phone-book-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 0;
}

.rg-phone-book-btn img {
  width: 22px;
  height: 22px;
}

.rg-content-card {
  position: relative;
  overflow: hidden;
  min-height: 202px;
  padding: 15px;
}

.rg-content-card textarea {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  min-height: 150px;
  border: 0;
  outline: 0;
  resize: none;
  background: transparent;
  color: #333;
  font-size: 15px;
  line-height: 21px;
  word-break: break-all;
}

.rg-content-card p {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.rg-content-card img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.rg-date-card {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  padding: 15px;
  color: #999;
  font-size: 15px;
  text-align: left;
}

.rg-date-card strong {
  display: flex;
  align-items: center;
  color: #333;
  font-weight: 400;
  white-space: nowrap;
}

.rg-date-card img {
  width: 15px;
  height: 15px;
}

.rg-more-card {
  overflow: hidden;
  padding: 10px 0 10px 15px;
}

.rg-more-head {
  width: 100%;
  min-height: 38px;
  border: 0;
  background: transparent;
  padding: 0 5px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

.rg-more-head span {
  display: block;
}

.rg-more-head strong {
  display: block;
  color: #333;
  font-size: 15px;
  font-weight: 400;
  line-height: 21px;
}

.rg-more-head em {
  display: block;
  color: crimson;
  font-size: 12px;
  font-style: normal;
  line-height: 18px;
}

.rg-more-head i {
  position: relative;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #ddd;
  transition: background 0.2s ease;
}

.rg-more-head i::after {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.22);
  content: "";
  transition: transform 0.2s ease;
}

.rg-more-head i.on {
  background: #20a53a;
}

.rg-more-head i.on::after {
  transform: translateX(18px);
}

.rg-more-body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}

.rg-more-body.show {
  height: 252px;
}

.rg-more-body label {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 0;
}

.rg-more-body label::after {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background: #ddd;
  transform: scaleY(0.5);
  content: "";
}

.rg-more-body label > span {
  width: 80px;
  min-width: 80px;
  color: #333;
  font-size: 14px;
  line-height: 38px;
}

.rg-more-body input,
.rg-more-body textarea {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 14px;
}

.rg-more-body input {
  height: 38px;
  padding-right: 15px;
}

.rg-more-body .rg-remark-row {
  align-items: flex-start;
  min-height: 104px;
}

.rg-more-body textarea {
  height: 80px;
  padding: 12px 15px 12px 0;
  resize: none;
  line-height: 19px;
  word-break: break-all;
}

.rg-more-body p {
  display: flex;
  margin: 0;
  padding-left: 80px;
  color: #999;
  font-size: 13px;
  line-height: 24px;
}

.rg-agree-card {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 52px;
  padding: 15px;
  color: #999;
  font-size: 14px;
  line-height: 20px;
}

.rg-agree-copy {
  min-width: 0;
  line-height: 22px;
}

.rg-agree-tail {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  white-space: nowrap;
  margin-block: -11px;
}

.rg-agree-card .check-square {
  width: 17px;
  height: 17px;
  min-width: 17px;
  margin-right: 5px;
  border: 1.5px solid #999;
  border-radius: 3px;
  background: transparent;
}

.rg-agree-card.selected .check-square {
  position: relative;
  border-color: #20a53a;
  background: #20a53a;
}

.rg-agree-card.selected .check-square::after {
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  content: "";
}

.rg-agree-card a {
  color: #007aff;
  white-space: nowrap;
}

.rg-price-row {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  color: #333;
  font-size: 14px;
  line-height: 20px;
}

.rg-price-row strong {
  font-weight: 400;
}

.rg-price-row button {
  min-width: 44px;
  min-height: 44px;
  margin-left: 6px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: #007aff;
  font-size: 14px;
}

.rg-submit-wrap {
  display: flex;
  padding: 25px 75px 0;
}

.rg-submit-original {
  flex: 1;
  height: 46px;
  border: 0;
  border-radius: 10px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
  line-height: 46px;
}

.rg-order-link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  margin: 15px auto 0;
  padding: 10px;
  color: #007aff;
  font-size: 18px;
  line-height: 25px;
}

.rg-order-link i:not(:empty),
.rg-order-link i.show {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 10px;
  height: 10px;
  border-radius: 100px;
  background: #ff5722;
}

.rg-notice-original {
  padding: 15px 25px 25px;
}

.rg-notice-original h2 {
  margin: 0;
  padding-bottom: 4px;
  color: #ff5722;
  font-size: 16px;
  font-weight: 400;
}

.rg-notice-original p {
  margin: 0;
  color: #333;
  font-size: 13px;
  line-height: 20px;
  word-break: break-all;
}

.rg-home-back {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 20;
  width: min(430px, 100%);
  height: 50px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #ddd;
  background: #fff;
  color: #333;
  font-size: 15px;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.rg-user-orders-page {
  max-width: 430px;
  min-height: 100vh;
  padding: 0 0 70px;
  background: #ededed;
}

.rg-user-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  width: 100%;
  height: 48px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  background: #fff;
}

.rg-user-nav button {
  position: relative;
  border: 0;
  background: transparent;
  color: #333;
  font-size: 16px;
  line-height: 48px;
  text-align: center;
  padding: 0;
}

.rg-user-nav button.active {
  color: #20a53a;
  font-weight: 600;
}

.rg-user-nav button.active::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: calc(100% - 50px);
  max-width: 88px;
  height: 3px;
  border-radius: 999px;
  background: #20a53a;
  transform: translateX(-50%);
  content: "";
}

.rg-user-list {
  display: none;
}

.rg-user-list.active {
  display: block;
}

.rg-user-card {
  display: block;
  padding: 15px 20px 0;
}

.rg-user-card-inner {
  position: relative;
  border-radius: 5px;
  background: #fff;
  padding: 10px 0 11px 15px;
}

.rg-user-head {
  position: relative;
  min-height: 47px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 15px;
}

.rg-user-head::after {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  height: 1px;
  transform: scaleY(0.5);
  background: #ddd;
  content: "";
}

.rg-user-head strong {
  display: block;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 22px;
}

.rg-user-head span {
  display: block;
  color: #333;
  font-size: 13px;
  line-height: 18px;
}

.rg-user-tags {
  display: flex;
  align-items: center;
  gap: 5px;
}

.rg-tag {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  border-radius: 3px;
  padding: 3px 7px;
  font-size: 12px;
  font-style: normal;
  line-height: 17px;
  white-space: nowrap;
}

.rg-tag.success {
  background: #20a53a;
  color: #fff;
}

.rg-tag.wait {
  background: #f8f8f8;
  color: #333;
}

.rg-tag.fail {
  background: #ff5722;
  color: #fff;
}

.rg-tag.refund {
  background: darkred;
  color: #fff;
}

.rg-user-card-inner > p {
  position: relative;
  margin: 0;
  padding: 10px 15px 10px 0;
  color: #999;
  font-size: 14px;
  line-height: 17px;
  word-break: break-all;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.rg-user-card-inner > p::after {
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  height: 1px;
  transform: scaleY(0.5);
  background: #ddd;
  content: "";
}

.rg-user-time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 15px 0 0;
}

.rg-user-time span {
  color: #666;
  font-size: 14px;
  line-height: 20px;
}

.rg-user-time strong {
  color: crimson;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
}

.rg-user-empty,
.rg-user-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px;
  color: #999;
  font-size: 14px;
}

.rg-user-loading {
  flex-direction: column;
}

.rg-user-loading button {
  width: 80px;
  min-height: 44px;
  height: 44px;
  border: 0;
  border-radius: 4px;
  background: #e64340;
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
  padding: 0;
}

.rg-orders-back {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 20;
  width: min(430px, 100%);
  height: 50px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #ddd;
  background: #fff;
  color: #333;
  font-size: 15px;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.rg-sheet,
.rg-date-sheet {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}

.rg-sheet.show,
.rg-date-sheet.show {
  pointer-events: auto;
}

.rg-sheet-mask {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.18s ease;
}

.rg-sheet.show .rg-sheet-mask,
.rg-date-sheet.show .rg-sheet-mask {
  background: rgba(0, 0, 0, 0.42);
}

.rg-sheet-panel {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  padding: 0 8px calc(env(safe-area-inset-bottom, 0px) + 8px);
  transform: translateY(110%);
  transition: transform 0.22s ease;
}

.rg-sheet.show .rg-sheet-panel,
.rg-date-sheet.show .rg-sheet-panel {
  transform: translateY(0);
}

.rg-sheet-panel h2,
.rg-sheet-panel button {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  background: #fff;
  text-align: center;
}

.rg-sheet-panel h2 {
  border-radius: 12px 12px 0 0;
  padding: 14px 10px;
  color: #999;
  font-size: 13px;
  font-weight: 400;
  border-bottom: 1px solid #f0f0f0;
}

.rg-sheet-panel button {
  height: 52px;
  color: #007aff;
  font-size: 18px;
  border-bottom: 1px solid #f0f0f0;
}

.rg-sheet-panel button:active {
  background: #f7f7f7;
}

.rg-sheet-panel button:nth-last-child(2) {
  border-radius: 0 0 12px 12px;
  border-bottom: 0;
}

.rg-sheet-panel .cancel {
  margin-top: 8px;
  border-radius: 12px;
  color: #007aff;
  font-weight: 600;
}

body:has(.second-page),
body:has(.kefu-page-original) {
  background: #ededed;
}

.second-page {
  max-width: 430px;
  padding: 0 15px 24px;
  background: #ededed;
}

.simple-nav {
  height: 46px;
  margin: 0 -15px 20px;
  padding: 0 15px;
  background: #fff;
  border-bottom: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.simple-nav a {
  color: #333;
  font-size: 15px;
}

.simple-nav strong {
  color: #333;
  font-size: 16px;
}

.kefu-page-original .simple-nav {
  margin: 0 0 0;
}

.od-original-page {
  background: #f7f8f9;
}

.od-status-card,
.od-card-original,
.second-white-card,
.timing-create-card {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.od-status-card {
  display: flex;
  align-items: center;
  gap: 12px;
}

.od-status-card i {
  width: 38px;
  height: 38px;
  border-radius: 100px;
  background: #5b87ff;
}

.od-status-card h1,
.detail-status-block h1 {
  margin: 0;
  font-size: 20px;
  color: #222;
}

.od-status-card p,
.detail-status-block p,
.second-white-card p,
.second-white-card p {
  margin: 6px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.od-card-original h2,
.second-white-card h2,
.second-white-card h2 {
  margin: 0 0 12px;
  font-size: 16px;
  color: #222;
}

.od-card-original p,
.detail-card-list div,
.info-list-original div,
.info-list-original a,
.info-list-original button,
.money-log-card p,
.contact-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.od-card-original p {
  margin: 10px 0;
  font-size: 14px;
}

.od-card-original span,
.detail-card-list span,
.info-list-original span,
.money-log-card span {
  color: #999;
}

.od-card-original strong,
.detail-card-list strong,
.info-list-original strong,
.money-log-card strong {
  color: #333;
  font-weight: 400;
}

.od-card-original .money {
  color: #ff5722;
}

.od-card-original .paid {
  color: #20a53a;
}

.od-card-original button,
.sticky-action button,
.timing-create-card button,
.green-line-btn.solid {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 5px;
  background: #20a53a;
  color: #fff;
  font-size: 16px;
}

.od-card-original small {
  display: block;
  color: #999;
  font-size: 13px;
  padding-top: 10px;
}

.ho-page {
  min-height: 100vh;
  background: #f7f8f9;
  padding: 14px 12px 86px;
  box-sizing: border-box;
}

.ho-tabs {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 0 12px;
  margin-bottom: 0;
  background: #f7f8f9;
}

.ho-tab {
  min-width: 64px;
  height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: #eef1f5;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.ho-tab--on {
  background: #4f86ff;
  color: #fff;
}

.ho-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ho-card {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.ho-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.ho-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.ho-badge--unpaid { background: #ff6b35; }
.ho-badge--paid { background: #16a085; }
.ho-badge--realname { background: #4f86ff; }
.ho-badge--done { background: #07c160; }
.ho-badge--expired { background: #95a5a6; }
.ho-badge--default { background: #7f8c8d; }

.ho-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 0;
}

.ho-row--top {
  padding-top: 0;
  padding-bottom: 10px;
  padding-right: 72px;
}

.ho-title {
  color: #222;
  font-size: 16px;
  font-weight: 700;
}

.ho-status {
  color: #07c160;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

.ho-label {
  color: #666;
  font-size: 13px;
}

.ho-value {
  color: #222;
  font-size: 13px;
  text-align: right;
  word-break: break-word;
}

.ho-nums {
  margin-bottom: 10px;
  padding: 12px;
  border-radius: 10px;
  background: #ffe9df;
}

.ho-num-item {
  display: flex;
  align-items: center;
  padding: 3px 0;
}

.ho-num-label {
  color: #d35400;
  font-size: 15px;
  font-weight: 700;
}

.ho-num-value {
  color: #d35400;
  font-size: 18px;
  font-weight: 800;
}

.ho-link-row {
  margin-top: 10px;
  padding: 10px;
  border-radius: 10px;
  background: #f3f4f6;
  text-align: center;
}

.ho-link-tip {
  color: #999;
  font-size: 12px;
  line-height: 16px;
}

.ho-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 10px;
}

.ho-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.ho-action-pay { background: #07c160; }
.ho-action-realname { background: #4f86ff; }

.ho-action.is-disabled {
  background: #b8bec8;
  cursor: not-allowed;
}

.ho-empty {
  padding: 40px 16px;
  color: #666;
  text-align: center;
}

.ho-empty-title {
  margin: 0 0 8px;
  color: #222;
  font-size: 18px;
}

.ho-empty-sub {
  margin: 0;
  font-size: 13px;
  line-height: 18px;
}

.ho-safe-bottom {
  height: 24px;
}

.od-page {
  min-height: 100vh;
  padding: 0 12px 92px;
  background: #f7f8f9;
  box-sizing: border-box;
}

.od-top-gap {
  height: 14px;
}

.od-card {
  margin-bottom: 12px;
  padding: 16px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.od-status-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.od-status-icon {
  width: 38px;
  height: 38px;
  border-radius: 100px;
  background: #5b87ff;
  flex: 0 0 auto;
}

.od-status-title {
  margin: 0;
  color: #222;
  font-size: 20px;
  line-height: 26px;
}

.od-status-sub {
  margin: 6px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.od-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #222;
  font-size: 16px;
}

.od-section-icon {
  color: #4f86ff;
  font-size: 15px;
}

.od-row,
.od-num-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  font-size: 14px;
}

.od-k,
.od-num-label {
  color: #999;
  white-space: nowrap;
}

.od-v {
  color: #333;
  font-weight: 400;
  text-align: right;
  word-break: break-word;
}

.od-money {
  color: #ff5722;
}

.od-paid,
.od-pack {
  color: #20a53a;
}

.od-nums {
  background: #ffe9df;
}

.od-num-label,
.od-num-value {
  color: #d35400;
  font-weight: 800;
}

.od-num-value {
  font-size: 18px;
}

.od-copy,
.od-pay,
.od-call {
  width: 100%;
  height: 42px;
  border: 0;
  border-radius: 5px;
  background: #20a53a;
  color: #fff;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
}

.od-call {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
}

.od-pay {
  margin: 4px 0 12px;
}

.od-pay:disabled {
  background: #b8bec8;
  color: #fff;
  cursor: not-allowed;
  opacity: 1;
}

.od-pay--check {
  background: #4f86ff;
}

.od-pay--realname {
  background: #4f86ff;
}

.od-link-tip {
  margin: 10px 0 0;
  color: #999;
  font-size: 13px;
}

.od-safe-bottom {
  height: 24px;
}

.od-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0,0,0,0.45);
}

.od-modal {
  width: min(100%, 340px);
  border-radius: 12px;
  background: #fff;
  padding: 20px 16px 16px;
}

.od-modal-title {
  margin: 0;
  color: #222;
  font-size: 18px;
  text-align: center;
}

.od-modal-sub {
  margin: 8px 0 16px;
  color: #999;
  font-size: 13px;
  text-align: center;
}

.od-modal-field {
  display: block;
  margin-bottom: 12px;
}

.od-modal-label {
  display: block;
  margin-bottom: 6px;
  color: #555;
  font-size: 13px;
}

.od-modal-input {
  width: 100%;
  height: 42px;
  border: 1px solid #e8e8e8;
  border-radius: 6px;
  padding: 0 10px;
  box-sizing: border-box;
  font-size: 14px;
}

.od-modal-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

.od-modal-btn {
  flex: 1;
  height: 40px;
  border: 0;
  border-radius: 6px;
  font-size: 15px;
}

.od-modal-cancel {
  background: #f1f2f4;
  color: #555;
}

.od-modal-ok {
  background: #20a53a;
  color: #fff;
}

.detail-status-block {
  background: #fff;
  border-radius: 5px;
  padding: 18px;
  margin-bottom: 15px;
}

.detail-status-block.success h1 {
  color: #20a53a;
}

.detail-card-list,
.info-list-original,
.contact-list {
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 15px;
}

.detail-card-list div,
.info-list-original div,
.info-list-original a,
.info-list-original button,
.contact-list article {
  width: 100%;
  padding: 15px;
  border-bottom: 1px solid #eee;
  background: transparent;
  color: inherit;
  text-align: left;
}

.detail-card-list div:last-child,
.info-list-original div:last-child,
.info-list-original a:last-child,
.info-list-original button:last-child,
.contact-list article:last-child {
  border-bottom: 0;
}

.info-list-original button {
  border-width: 0 0 1px;
  border-radius: 0;
  font: inherit;
}

.rgd-page {
  min-height: 100vh;
  padding: 15px 20px 92px;
  background: #f7f8f9;
  box-sizing: border-box;
}

.rgd-feedback {
  padding-bottom: 10px;
}

.rgd-feedback h1 {
  margin: 0 0 6px;
  color: crimson;
  font-size: 18px;
  line-height: 24px;
}

.rgd-feedback p {
  margin: 0;
  color: #777;
  font-size: 14px;
  line-height: 20px;
  word-break: break-word;
}

.rgd-card {
  position: relative;
  margin-bottom: 15px;
  padding: 10px 15px 11px;
  border-radius: 5px;
  background: #fff;
}

.rgd-head-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-right: 10px;
}

.rgd-head-card h2,
.rgd-card h2 {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
}

.rgd-head-card p {
  margin: 3px 0 0;
  color: #333;
  font-size: 13px;
  line-height: 18px;
  word-break: break-word;
}

.rgd-tags {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.rgd-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.rgd-tag--success {
  background: #20a53a;
}

.rgd-tag--doing {
  background: #f8f8f8;
  color: #666;
}

.rgd-tag--fail {
  background: #ff5722;
}

.rgd-tag--refund {
  background: darkred;
}

.rgd-content {
  margin: 3px 0 0;
  color: #999;
  font-size: 14px;
  line-height: 21px;
  word-break: break-word;
}

.rgd-more-row {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-top: 5px;
}

.rgd-more-row span {
  width: 80px;
  color: #999;
  font-size: 15px;
  line-height: 22px;
  text-align: right;
  flex: 0 0 auto;
}

.rgd-more-row strong {
  flex: 1;
  color: #333;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  word-break: break-word;
}

.rgd-info-row {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
}

.rgd-info-row + .rgd-info-row {
  margin-top: 2px;
}

.rgd-info-row span {
  color: #999;
  font-size: 15px;
  line-height: 22px;
}

.rgd-info-row strong {
  color: #333;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  word-break: break-word;
}

.rgd-info-row .danger,
.rgd-info-row strong.danger {
  color: darkred;
}

.rgd-copy-row {
  min-height: 44px;
  cursor: pointer;
}

.rgd-help {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 20px 3px;
  color: #999;
  font-size: 15px;
}

.rgd-help a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #007aff;
  text-decoration: none;
}

.rgd-page > .fixed-home-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: flex;
  width: min(calc(100% - 40px), 390px);
  min-height: calc(50px + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
  padding-bottom: env(safe-area-inset-bottom);
  background: #f7f8f9;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

.settings-list .settings-danger span {
  color: #e64340;
}

.my-info-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.my-info-gap {
  height: 20px;
}

.my-info-wrap {
  padding: 0 15px;
}

.my-info-bg {
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
  border: 1px solid transparent;
}

.my-info-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 64px;
  padding: 20px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  text-decoration: none;
  font: inherit;
}

.my-info-title {
  color: #333;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.my-info-text {
  color: #999;
  font-size: 16px;
  text-align: right;
  word-break: break-word;
}

.my-info-avatar {
  width: 50px;
  height: 50px;
  border-radius: 100px;
  background: #f8f8f8;
  object-fit: cover;
}

.my-info-sep {
  display: block;
  height: 1px;
  margin-left: 18px;
  background: #ededed;
  transform: scaleY(.5);
  transform-origin: 0 0;
}

.my-info-actions {
  padding: 20px 20px 0;
}

.my-info-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  height: 44px;
  margin-bottom: 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

button.my-info-btn {
  font: inherit;
}

.settings-original-page .my-info-layout {
  min-height: 60px;
  padding-right: 15px;
}

.settings-row-link {
  cursor: pointer;
}

.settings-row-link img {
  width: 15px;
  height: 15px;
  opacity: .5;
  flex: 0 0 auto;
}

.settings-row-right,
.settings-switch-side {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.settings-row-right em,
.settings-switch-side em {
  color: #999;
  font-size: 16px;
  font-style: normal;
  text-align: right;
}

.settings-switch {
  position: relative;
  width: 43px;
  height: 24px;
  border-radius: 999px;
  background: #d8d8d8;
  transition: background .18s ease;
}

.settings-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
  transition: transform .18s ease;
}

.settings-switch.is-on {
  background: #20a53a;
}

.settings-switch.is-on::after {
  transform: translateX(19px);
}

.settings-danger-row .my-info-title {
  color: #e64340;
}

.timing-list-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.timing-tabs {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  height: 46px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.05);
}

.timing-tabs button {
  position: relative;
  min-height: 46px;
  border: 0;
  background: transparent;
  color: #333;
  font-size: 16px;
  font-weight: 500;
}

.timing-tabs button.active {
  color: #20a53a;
  font-weight: 700;
}

.timing-tabs button.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(58px, calc(100% - 14px));
  height: 3px;
  border-radius: 999px;
  background: #20a53a;
  transform: translateX(-50%);
}

.timing-list {
  padding: 15px 15px 0;
}

.timing-card {
  margin-bottom: 15px;
  padding: 10px 0 12px 15px;
  border-radius: 5px;
  background: #fff;
}

.timing-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-right: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ededed;
}

.timing-phone {
  display: flex;
  align-items: center;
  min-width: 0;
}

.timing-phone i {
  width: 10px;
  height: 10px;
  margin-right: 6px;
  border-radius: 100px;
  flex: 0 0 auto;
}

.timing-phone i.wait { background: #cfcfcf; }
.timing-phone i.success { background: #20a53a; }
.timing-phone i.fail { background: #ff5722; }

.timing-phone strong {
  color: #333;
  font-size: 16px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.timing-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.timing-tag.wait {
  background: #f8f8f8;
  color: #666;
}

.timing-tag.success {
  background: #20a53a;
  color: #fff;
}

.timing-tag.fail {
  background: #ff5722;
  color: #fff;
}

.timing-content {
  margin: 13px 15px 0 0;
  color: #999;
  font-size: 14px;
  line-height: 21px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.timing-error {
  margin: 6px 15px 0 0;
  color: #ff5722;
  font-size: 14px;
  line-height: 20px;
  overflow-wrap: anywhere;
}

.timing-refund {
  margin: 6px 15px 0 0;
  color: #20a53a;
  font-size: 14px;
  line-height: 20px;
}

.timing-time {
  margin-top: 11px;
  padding-right: 15px;
  color: #666;
  font-size: 12px;
  line-height: 18px;
}

.timing-time.retry {
  margin-top: 3px;
  color: #e67e22;
}

.timing-actions {
  display: flex;
  justify-content: flex-end;
  gap: 15px;
  min-height: 44px;
  padding: 12px 15px 0 0;
}

.timing-actions button,
.timing-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #ddd;
  border-radius: 100px;
  background: #f8f8f8;
  color: #333;
  font-size: 13px;
  line-height: 28px;
  text-decoration: none;
}

.timing-actions .warn {
  border-color: #ff5722;
  background: #ff5722;
  color: #fff;
}

.timing-actions .primary {
  border-color: #20a53a;
  background: #20a53a;
  color: #fff;
}

.timing-empty {
  padding: 44px 20px;
  text-align: center;
}

.timing-empty h1 {
  margin: 0 0 8px;
  color: #333;
  font-size: 18px;
}

.timing-empty p {
  margin: 0;
  color: #999;
  font-size: 13px;
}

.timing-empty button {
  min-width: 96px;
  min-height: 44px;
  margin-top: 16px;
  border: 0;
  border-radius: 4px;
  background: #20a53a;
  color: #fff;
  font-size: 14px;
}

.timing-empty.has-items {
  padding: 18px 20px 74px;
}

.timing-empty.has-items h1 {
  font-size: 15px;
  font-weight: 400;
  color: #999;
}

.timing-modal-content {
  white-space: pre-wrap;
  word-break: break-word;
}

.timing-list-page > .fixed-home-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: flex;
  width: min(calc(100% - 40px), 390px);
  min-height: calc(50px + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
  padding-bottom: env(safe-area-inset-bottom);
  background: #f7f8f9;
  color: #333;
  font-size: 16px;
}

.timing-task-original-page .sms-home-back,
.timing-update-original-page .sms-home-back {
  width: min(calc(100% - 40px), 390px);
  border-top: 0;
  border-radius: 6px 6px 0 0;
  background: #f7f8f9;
}

.phone-book-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.phone-book-sticky {
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  padding: 10px 20px;
  background: #fff;
}

.phone-book-sticky::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #ddd;
  transform: scaleY(.5);
}

.phone-book-sticky button {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 5px;
  background: #333;
  color: #fff;
  font-size: 16px;
}

.phone-book-list {
  padding: 0 20px;
}

.phone-book-card {
  position: relative;
  margin-top: 10px;
  min-height: 68px;
  padding: 12px 10px 10px;
  border-radius: 9px;
  background: #fff;
  overflow: hidden;
}

.phone-book-card:not(.is-editing) {
  height: 68px;
}

.phone-book-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #ddd;
  border-radius: 9px;
  pointer-events: none;
}

.phone-book-view {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.phone-book-view div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.phone-book-view strong {
  color: #333;
  font-size: 14px;
  font-weight: 400;
  line-height: 17px;
}

.phone-book-view span {
  margin-top: 4px;
  color: #333;
  font-size: 19px;
  line-height: 24px;
}

.phone-book-view button {
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 10px;
}

.phone-book-view img {
  width: 24px;
  height: 24px;
}

.phone-book-edit {
  position: relative;
  z-index: 1;
}

.phone-book-edit label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.phone-book-edit label span {
  color: #333;
  font-size: 15px;
  white-space: nowrap;
}

.phone-book-edit input,
.phone-book-modal-field input {
  width: 100%;
  height: 34px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 5px;
  padding: 5px 10px;
  color: #333;
  font-size: 14px;
  outline: none;
}

.phone-book-edit input:focus,
.phone-book-modal-field input:focus {
  border-color: #333;
}

.phone-book-edit input {
  height: 44px;
}

.phone-book-edit div {
  display: flex;
  align-items: center;
  padding-left: 40px;
  gap: 10px;
}

.phone-book-edit button {
  min-height: 44px;
  border: 0;
  border-radius: 5px;
  padding: 0 14px;
  font-size: 13px;
}

.phone-book-edit .warn {
  background: #ff5722;
  color: #fff;
}

.phone-book-edit .primary {
  flex: 1;
  background: #333;
  color: #fff;
}

.phone-book-modal-field {
  display: block;
  width: 200px;
  max-width: 100%;
  margin: 0 auto 15px;
}

.phone-book-page > .fixed-home-bar {
  position: fixed;
  right: 50%;
  bottom: 0;
  z-index: 30;
  display: flex;
  width: min(100%, var(--max-width));
  min-height: calc(50px + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: center;
  border-top: 1px solid #e4e4e4;
  padding-bottom: env(safe-area-inset-bottom);
  background: #fff;
  color: #333;
  font-size: 16px;
  transform: translateX(50%);
}

.admin-confirm-modal.phone-book-modal {
  width: min(72vw, 310px);
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
}

.admin-confirm-modal.phone-book-modal h2 {
  display: grid;
  min-height: 49px;
  place-items: center;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.admin-confirm-modal.phone-book-modal .phone-book-modal-content {
  display: block;
  margin: 0;
  padding: 0 15px 15px;
}

.phone-book-modal .phone-book-modal-field input {
  height: 44px;
  padding: 10px 15px;
  font-size: 18px;
}

.admin-confirm-modal.phone-book-modal .phone-book-modal-actions {
  display: flex;
  gap: 0;
  margin: 0;
  border-top: 1px solid #ddd;
}

.admin-confirm-modal.phone-book-modal .phone-book-modal-actions button {
  min-height: 44px;
  border-radius: 0;
  background: #fff;
  color: #333;
}

.admin-confirm-modal.phone-book-modal .phone-book-modal-actions button + button {
  border-left: 1px solid #ddd;
}

.admin-confirm-modal.phone-book-modal .phone-book-modal-actions button.primary {
  background: #fff;
  color: #007aff;
}

.disable-sms-original-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.disable-add-original-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.settings-list strong.muted {
  color: #999;
}

.settings-modal-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 38px;
  border-radius: 5px;
  background: #007aff;
  color: #fff;
  font-size: 15px;
}

.info-list-original img {
  width: 50px;
  height: 50px;
  border-radius: 100px;
}

.wide-default-btn {
  width: 100%;
  height: 42px;
  margin-bottom: 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 16px;
}

.sticky-action {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0 -15px 15px;
  padding: 10px 20px;
  background: #fff;
}

.contact-list strong {
  display: block;
  color: #333;
  font-size: 16px;
}

.contact-list span {
  display: block;
  color: #999;
  font-size: 14px;
  padding-top: 4px;
}

.contact-list button {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 5px;
  padding: 6px 12px;
  color: #333;
}

.timing-create-card label {
  display: block;
  margin-bottom: 15px;
}

.timing-create-card span {
  display: block;
  color: #999;
  font-size: 14px;
  padding-bottom: 8px;
}

.timing-create-card input,
.timing-create-card textarea {
  width: 100%;
  border: 1px solid #eee;
  border-radius: 5px;
  background: #f7f8f9;
  padding: 12px;
  outline: 0;
  font-size: 15px;
}

.green-line-btn {
  display: block;
  text-align: center;
  margin-top: 12px;
  border: 1px solid #20a53a;
  border-radius: 5px;
  color: #20a53a;
  padding: 10px;
}

.second-tabs {
  padding: 0 0 12px;
}

/* Admin secondary pages: restores the original mobile admin white-card rhythm. */
body:has(.admin-lite-page) {
  background: #ededed;
}

.admin-lite-page {
  max-width: 430px;
  padding: 0 15px 74px;
  background: #ededed;
}

.admin-bottom-space {
  padding-bottom: 132px;
}

.admin-sticky-tabs,
.admin-sticky-action {
  position: sticky;
  top: 0;
  z-index: 5;
  margin: 0 -15px 12px;
  padding: 10px 15px;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.admin-sticky-action.soft-sticky {
  position: static;
  margin-top: -12px;
}

.admin-sticky-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.admin-sticky-tabs.two {
  grid-template-columns: repeat(2, 1fr);
}

.admin-sticky-tabs.compact-tabs {
  position: static;
  margin: 0 0 10px;
  padding: 0;
  border-bottom: 0;
}

.admin-sticky-tabs button,
.admin-seg-row button {
  border: 1px solid #eee;
  border-radius: 5px;
  background: #fff;
  color: #333;
  min-height: 38px;
  font-size: 14px;
}

.admin-sticky-tabs button.active,
.admin-seg-row button.active {
  background: #333;
  color: #fff;
  border-color: #333;
}

.admin-sticky-tabs.pay button.active,
.admin-seg-row button.active.blue {
  background: #1677ff;
  border-color: #1677ff;
}

.admin-seg-row button.active.orange {
  background: #ff6a00;
  border-color: #ff6a00;
}

.admin-stat-strip {
  margin: 0 -15px 12px;
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.admin-stat-strip span {
  display: block;
  color: #999;
  font-size: 13px;
  padding-bottom: 4px;
}

.admin-stat-strip strong {
  color: #333;
  font-size: 24px;
  font-weight: 400;
}

.admin-data-card,
.admin-form-card,
.admin-user-mini {
  background: #fff;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 12px;
}

.admin-data-card h1,
.admin-form-card h1 {
  margin: 0 0 10px;
  font-size: 20px;
  color: #333;
  line-height: 26px;
}

.admin-data-card h2,
.admin-form-card h2 {
  margin: 0 0 10px;
  font-size: 16px;
  color: #222;
}

.admin-data-card p,
.admin-form-card p {
  margin: 6px 0;
  color: #777;
  font-size: 13px;
  line-height: 22px;
}

.admin-kv-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  border-top: 1px solid #eee;
}

.admin-kv-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.admin-kv-list li > * {
  min-width: 0;
}

.admin-kv-list li:last-child {
  border-bottom: 0;
}

.admin-kv-list span {
  color: #999;
  font-size: 14px;
  white-space: nowrap;
}

.admin-kv-list strong {
  color: #333;
  font-size: 14px;
  font-weight: 400;
  text-align: right;
  word-break: break-all;
}

.admin-message-text {
  color: #333 !important;
  font-size: 15px !important;
  line-height: 24px !important;
  word-break: break-all;
}

.admin-link-text {
  color: dodgerblue !important;
  word-break: break-all;
}

.admin-form-card label {
  display: block;
  margin-top: 14px;
}

.admin-form-card label span,
.admin-radio-block > span,
.admin-switch-row span {
  display: block;
  color: #333;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 7px;
}

.admin-form-card input,
.admin-form-card textarea,
.admin-search-inline input {
  width: 100%;
  border: 1px solid #eee;
  border-radius: 6px;
  background: #f5f5f5;
  padding: 11px 12px;
  color: #333;
  outline: 0;
}

.admin-form-card input:focus,
.admin-form-card textarea:focus,
.admin-search-inline input:focus {
  border-color: rgba(253, 179, 20, 0.65);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(253, 179, 20, 0.1);
}

.admin-form-card textarea {
  resize: vertical;
}

.admin-form-card .primary-btn,
.admin-form-card .ghost-btn,
.admin-form-card .warn-btn,
.admin-form-card .dark-save-btn,
.admin-form-card .blue-save-btn {
  margin-top: 16px;
}

.center-link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.warn-btn,
.dark-save-btn,
.blue-save-btn {
  border: 0;
  border-radius: 8px;
  padding: 12px 18px;
  color: #fff;
  font-weight: 700;
}

.warn-btn {
  background: #e64340;
}

.dark-save-btn {
  width: 100%;
  background: #333;
}

.blue-save-btn {
  width: 100%;
  background: #1677ff;
}

.wide {
  width: 100%;
}

.danger-text,
.danger-card p {
  color: crimson !important;
}

.danger-card {
  border: 1px solid #ff4d4f;
}

.admin-radio-block {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.admin-radio-block label {
  margin: 0;
  color: #333;
  font-size: 14px;
}

.admin-radio-block input {
  width: auto;
  margin-right: 6px;
}

.admin-seg-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 14px 0;
}

.admin-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
}

.admin-switch-row strong {
  border-radius: 999px;
  background: #e8f4ff;
  color: #1677ff;
  padding: 6px 12px;
  font-size: 13px;
}

.admin-details {
  margin-top: 15px;
  color: #333;
}

.admin-details summary {
  cursor: pointer;
  color: #1677ff;
  font-weight: 700;
}

.admin-blue-entry a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #e8f4ff;
  border-radius: 10px;
  color: #1677ff;
  padding: 14px 16px;
  margin-bottom: 12px;
  font-size: 14px;
}

.admin-blue-entry span {
  color: #999;
  font-size: 13px;
}

.admin-yellow-tip {
  margin-bottom: 12px;
  padding: 15px;
  border-radius: 6px;
  background: #fed989;
  box-shadow: inset 0 0 5px 0 #fdb314;
}

.admin-yellow-tip p {
  margin: 0;
  color: #6e1a0d;
  font-size: 14px;
  line-height: 23px;
  word-break: break-all;
}

.admin-search-inline {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}

.admin-search-inline button,
.mini-outline {
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  padding: 8px 12px;
}

.admin-user-mini {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-user-mini img {
  width: 50px;
  height: 50px;
  border-radius: 100px;
}

.admin-user-mini strong,
.admin-user-mini span {
  display: block;
}

.admin-user-mini span {
  padding-top: 4px;
  color: #999;
  font-size: 13px;
}

.money-positive {
  color: #20a53a;
  font-weight: 700;
}

.money-negative {
  color: #e64340;
  font-weight: 700;
}

.admin-action-dock {
  position: fixed;
  left: 50%;
  bottom: 47px;
  transform: translateX(-50%);
  z-index: 10;
  width: min(430px, 100%);
  padding: 10px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: #fdb314;
}

.admin-action-dock button,
.admin-action-dock a {
  flex: 1 0 auto;
  border: 0;
  border-radius: 5px;
  padding: 8px 10px;
  background: #fff;
  color: #333;
  font-size: 13px;
  text-align: center;
}

.admin-action-dock .green {
  background: #20a53a;
  color: #fff;
}

.admin-action-dock .brown {
  background: brown;
  color: #fff;
}

.admin-action-dock.rg-detail-action-dock {
  position: sticky;
  left: auto;
  bottom: 0;
  transform: none;
  width: auto;
  margin: 0 -12px 12px;
}

.admin-back-float {
  display: block;
  margin: 18px 0 6px;
  height: 42px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: #333;
  font-size: 15px;
  line-height: 42px;
  text-align: center;
}

.admin-search-result {
  margin: 0 0 12px;
  padding: 10px 15px;
  background: #ffe6de;
}

.admin-search-result .admin-data-card {
  margin-bottom: 0;
}

.kongtou-card {
  border-left: 4px solid #ff8c3a;
}

.hp-like {
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  border-radius: 12px;
}

.admin-config-menu {
  margin-bottom: 12px;
}

.red-text {
  color: #ff5722 !important;
}

.orange-text {
  color: darkorange !important;
}

.admin-kongtou-original-card,
.admin-ad-original-card,
.admin-phone-card {
  position: relative;
  margin-bottom: 12px;
  background: #fff;
  border-radius: 6px;
}

.admin-tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 4px;
  color: #fff;
  font-size: 12px;
}

.admin-tag.green { background: #20a53a; }
.admin-tag.blue { background: #1e9fff; }
.admin-tag.pale { background: #f8f8f8; color: #666; border: 1px solid #ddd; }

.admin-mini-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.admin-mini-actions button,
.admin-button-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
  padding: 4px 10px;
  font-size: 13px;
}

.admin-mini-actions .primary-mini {
  border-color: #1e9fff;
  background: #1e9fff;
  color: #fff;
}

.admin-mini-actions .warn-mini,
.admin-button-label {
  border-color: darkorange;
  background: darkorange;
  color: #fff;
}

.sheet-toggle {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  opacity: 0;
  overflow: hidden;
  clip-path: inset(50%);
  pointer-events: none;
}

.sheet-toggle + .admin-modal-mask {
  display: block;
  visibility: hidden;
  opacity: 0;
  transition: opacity .2s ease, visibility .2s ease;
}

.sheet-toggle:checked + .admin-modal-mask {
  visibility: visible;
  opacity: 1;
}

.sheet-toggle:checked + .admin-modal-mask + .admin-bottom-sheet {
  transform: translate(-50%, 0);
}

.admin-bottom-sheet {
  position: fixed;
  left: 50%;
  right: auto;
  bottom: 0;
  z-index: 1001;
  width: min(430px, 100%);
  max-height: 86vh;
  overflow-y: auto;
  transform: translate(-50%, 110%);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: #fff;
  padding: 22px 20px calc(22px + env(safe-area-inset-bottom, 0px));
  transition: transform .25s ease;
}

.admin-bottom-sheet h2 {
  margin: 0;
  color: #333;
  font-size: 22px;
  font-weight: 400;
}

.admin-bottom-sheet.show {
  transform: translate(-50%, 0);
}

.admin-copy-sheet {
  display: grid;
  gap: 12px;
}

.admin-copy-sheet h2 {
  font-size: 18px;
  line-height: 1.4;
  word-break: break-all;
}

.admin-bottom-sheet p {
  color: #333;
  font-size: 14px;
}

.admin-sheet-close {
  position: absolute;
  top: 12px;
  right: 15px;
  width: 32px;
  height: 32px;
  border-radius: 100px;
  background: #f3f3f3;
  color: #666;
  font-size: 24px;
  line-height: 29px;
  text-align: center;
}

.admin-sheet-row {
  display: flex;
  gap: 12px;
  padding-top: 18px;
}

.admin-sheet-row > span,
.admin-sheet-textarea > span {
  flex: 0 0 90px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
}

.admin-sheet-row label {
  display: block;
  padding-bottom: 13px;
  color: #333;
  font-size: 14px;
}

.admin-sheet-textarea {
  display: flex;
  gap: 12px;
  margin: 12px 0 20px;
}

.admin-sheet-textarea textarea {
  flex: 1;
  min-height: 100px;
  border: 2px solid #d9d9d9;
  border-radius: 4px;
  padding: 10px;
  resize: vertical;
}

.admin-money-log-panel {
  display: none;
}

.admin-money-log-panel.active {
  display: block;
}

.admin-sms-number-panel {
  display: none;
}

.admin-sms-number-panel.active {
  display: block;
}

.admin-scores-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 20px 0;
  border-radius: 5px;
  background: #fff;
  padding: 10px;
}

.admin-scores-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  border: 1px solid #ddd;
  border-radius: 10px;
  box-sizing: border-box;
  transform: scale(.5);
  transform-origin: 0 0;
  pointer-events: none;
}

.admin-scores-card h2 {
  display: flex;
  align-items: center;
  margin: 0;
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

.admin-scores-card h2 span {
  padding-right: 3px;
  color: #f77f33;
  font-size: 15px;
  font-weight: 400;
}

.admin-scores-card p {
  margin: 2px 0 0;
  color: #999;
  font-size: 14px;
}

.admin-scores-card strong {
  color: #333;
  font-size: 18px;
  font-weight: 400;
  padding-right: 3px;
}

.admin-scores-card strong.plus {
  color: #f77f33;
}

.admin-money-original-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 20px 0;
  border-radius: 8px;
  background: #fff;
  padding: 15px;
}

.admin-money-original-card h2 {
  margin: 0;
  color: #333;
  font-size: 14px;
  font-weight: 400;
}

.admin-money-original-card h2 span {
  color: #999;
  font-size: 13px;
}

.admin-money-original-card p {
  margin: 4px 0;
  color: #999;
  font-size: 13px;
}

.admin-money-original-card button {
  border: 0;
  background: transparent;
  padding: 0;
  color: #999;
  font-size: 13px;
}

.admin-money-original-card aside {
  flex: 0 0 96px;
  text-align: right;
}

.admin-money-original-card aside strong {
  display: block;
  color: #333;
  font-size: 20px;
  font-weight: 400;
}

.admin-money-original-card aside strong.plus {
  color: #f77f33;
}

.admin-money-original-card aside span {
  color: #999;
  font-size: 12px;
}

.user-money-transfer .admin-transfer-main {
  min-height: 104px;
}

.user-money-transfer .admin-transfer-left p {
  margin: 4px 0;
}

.admin-uid-sheet {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 1001;
  display: none;
  width: min(430px, 100%);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: #fff;
  padding: 10px 15px calc(12px + env(safe-area-inset-bottom, 0px));
  transform: translateX(-50%);
}

.admin-uid-sheet.show {
  display: block;
}

.admin-uid-sheet p {
  margin: 8px 0 12px;
  color: #999;
  font-size: 13px;
  text-align: center;
}

.admin-uid-sheet a,
.admin-uid-sheet button {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 0;
  border-top: 1px solid #eee;
  background: #fff;
  color: #333;
  font-size: 16px;
  line-height: 44px;
  text-align: center;
}

.admin-uid-sheet button:last-child {
  margin-top: 8px;
  border-top: 0;
  border-radius: 6px;
  background: #f8f8f8;
  color: #666;
}

.admin-loading-state button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  min-width: 80px;
  margin-left: 8px;
  border: 0;
  border-radius: 4px;
  background: #ff5722;
  color: #fff;
  padding: 0 10px;
  font-size: 12px;
}

.admin-original-load-states {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  padding: 0 20px 24px;
}

.admin-original-load-states button {
  min-height: 26px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #666;
  padding: 0 10px;
  font-size: 12px;
}

.admin-loading-state {
  padding: 24px;
  color: #999;
  font-size: 13px;
  text-align: center;
}

.original-form label input + input {
  margin-top: 6px;
  border-top: 1px solid #ddd;
}

.admin-kongtou-original-card {
  padding: 10px 0 11px 15px;
}

.kt-search-result {
  display: none;
}

.kt-search-result.show {
  display: block;
}

.kt-search-result .admin-kongtou-original-card {
  margin-bottom: 10px;
}

.kt-search-close-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #999;
  font-size: 14px;
}

.kt-search-close-row button,
.admin-reload-mini {
  min-height: 24px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #666;
  padding: 0 10px;
  font-size: 12px;
}

.kt-card-head,
.kt-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-right: 15px;
}

.kt-card-head em,
.kt-card-foot span {
  color: #999;
  font-size: 12px;
  font-style: normal;
}

.kt-type {
  font-size: 12px;
}

.kt-type.text { color: #007aff; }
.kt-type.image { color: #73cf85; }
.kt-type.video { color: #ff5722; }

.kt-card-body {
  margin-top: 8px;
  padding: 10px 15px 10px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}

.kt-card-body .admin-message-text {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #333 !important;
  font-size: 14px !important;
  line-height: 17px !important;
  word-break: break-all;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.kt-card-body .admin-message-text.expanded {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.kt-disable-tip {
  display: none;
  align-items: center;
  margin-top: 10px;
  border-radius: 4px;
  background: #eee;
  color: #999;
  padding: 6px 10px;
  font-size: 14px;
}

.kt-disable-tip img {
  width: 18px;
  height: 18px;
  margin-right: 3px;
}

.admin-kongtou-original-card[data-disabled="true"] .kt-disable-tip {
  display: inline-flex;
}

.admin-kongtou-original-card[data-disabled="true"] .kt-content-private {
  display: none;
}

.kt-reply {
  margin-top: 10px;
  border-radius: 4px;
  background: #ffe6de;
  color: #ff8660;
  padding: 6px;
  font-size: 11px;
}

.kt-image-row {
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.kt-image-row i {
  width: 78px;
  height: 78px;
  border-radius: 8px;
  background: linear-gradient(135deg, #dbeafe, #fed7aa);
}

.kt-card-foot {
  padding-top: 8px;
}

.kt-card-foot button,
.kt-card-foot label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 26px;
  border: 0;
  border-radius: 10px;
  padding: 0 10px;
  font-size: 12px;
}

.orange-lite { background: #ffe6de; color: #ff8660; }
.green-lite { background: #e7ffec; color: #73cf85; }
.blue-lite { background: #e0f2ff; color: #5fbbff; }

.kt-video-box {
  height: 150px;
  margin-top: 10px;
  border-radius: 8px;
  background: #000;
  color: #777;
  font-size: 14px;
  line-height: 150px;
  text-align: center;
}

.admin-reload-mini {
  display: block;
  width: 80px;
  min-height: 44px;
  margin: -12px auto 18px;
  color: #e64340;
}

.kt-detail-sheet {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.kt-detail-sheet p {
  margin: 8px 0 0;
  color: #666;
  font-size: 13px;
}

.kt-detail-sheet .kt-aid-copy {
  border: 0;
  background: transparent;
  color: dodgerblue;
  padding: 8px 0 0;
  font-size: 26px;
  font-weight: 700;
}

.kt-user-link {
  width: 140px;
  margin-top: 60px;
  text-align: center;
}

.admin-toast {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 1200;
  transform: translate(-50%, -50%) scale(.96);
  border-radius: 6px;
  background: rgba(0, 0, 0, .72);
  color: #fff;
  padding: 9px 16px;
  font-size: 14px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}

.admin-toast.show {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

.admin-ad-original-card {
  border: 2px dotted #d9d9d9;
  padding: 15px;
}

.admin-ad-panel {
  display: none;
}

.admin-ad-panel.active {
  display: block;
}

.admin-ad-original-card p {
  margin: 7px 0;
  color: #333;
  font-size: 14px;
  word-break: break-all;
}

.admin-ability-grid a {
  position: relative;
}

.admin-ability-grid i {
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: normal;
  line-height: 20px;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  text-align: center;
}

.admin-rg-count {
  position: absolute;
  top: 5px;
  right: 5px;
  min-width: 20px;
  min-height: 20px;
  border-radius: 100px;
  background: #ff5722;
  color: #fff;
  padding: 2px 5px;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  text-align: center;
}

.admin-ad-original-card strong {
  display: block;
  margin: 8px 0;
  color: #333;
  font-weight: 400;
}

.admin-ad-image-preview {
  width: 200px;
  height: 72px;
  border-radius: 6px;
  background: linear-gradient(135deg, #ffd666, #ff9c6e);
  color: rgba(255,255,255,.9);
  font-size: 13px;
  line-height: 72px;
  text-align: center;
}

.admin-ad-popup-preview {
  display: grid;
  place-items: center;
  width: 150px;
  height: 110px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffedd1, #ff7b4a);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.admin-phone-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  margin: 10px 0 0;
  padding: 12px 10px;
  border: 1px solid #ddd;
}

.admin-phone-card a {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-phone-card strong {
  color: #333;
  font-size: 14px;
  font-weight: 400;
}

.admin-phone-card span {
  color: #333;
  font-size: 19px;
}

.admin-phone-card label {
  color: #999;
  font-size: 13px;
  text-align: right;
}

.shielding-sticky {
  padding: 10px 20px;
}

.shield-search-form {
  padding-top: 10px;
}

.shield-search-form > button {
  min-height: 44px;
}

.shield-search-box {
  position: relative;
}

.shield-search-clear {
  position: absolute;
  top: 50%;
  right: 5px;
  display: grid;
  place-items: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 0;
}

.shield-search-clear img {
  display: block;
  width: 24px;
  min-width: 24px;
  height: 24px;
  object-fit: contain;
}

.shield-search-box input {
  padding-right: 36px;
}

.shield-phone-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(96px, auto);
  gap: 8px;
  align-items: stretch;
  background: #fff;
  border-radius: 5px;
}

.shield-phone-main,
.shield-phone-op {
  border: 0;
  background: transparent;
  padding: 0;
}

.shield-phone-main {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
  overflow-wrap: anywhere;
}

.shield-phone-op {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  color: #999;
  font-size: 13px;
  text-align: right;
}

.shield-phone-op span {
  max-width: 130px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.shield-phone-op img {
  width: 24px;
  height: 24px;
}

.shield-action-sheet {
  display: grid;
  gap: 10px;
}

.mini-confirm-sheet {
  text-align: center;
}

.admin-tools-wrap {
  padding: 20px 4px 0;
}

.admin-tools-hint {
  margin: 0 0 14px;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.admin-tools-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  border: 1px solid #eee;
  border-radius: 10px;
  background: #fff;
  padding: 16px 18px;
}

.admin-tools-row span {
  color: #333;
  font-size: 15px;
  font-weight: 600;
}

.admin-tools-row b {
  color: #ccc;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.admin-sms-tool-title {
  padding: 25px 25px 0;
}

.admin-sms-tool-title h1 {
  margin: 0;
  color: #333;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
}

.sms-tool-form {
  margin-top: 25px;
  padding-left: 25px;
  padding-right: 25px;
  background: transparent;
}

.sms-tool-submit {
  display: flex;
  padding: 18px 50px 0;
}

.admin-sms-tool-url {
  padding: 35px 25px 0;
}

.admin-sms-tool-url p {
  font-size: 16px;
  line-height: 24px;
}

.sms-tool-original-page {
  min-height: 100vh;
}

.sms-tool-original-form {
  padding: 25px 25px 0;
}

.sms-tool-field + .sms-tool-field {
  margin-top: 25px;
}

.sms-tool-field label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-size: 15px;
}

.sms-tool-field textarea,
.sms-tool-field input {
  display: block;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 15px;
  line-height: 22px;
}

.sms-tool-field textarea {
  min-height: 118px;
  padding: 12px;
  resize: vertical;
}

.sms-tool-field input {
  height: 42px;
  padding: 0 12px;
}

.sms-tool-content-box {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  background: #fff;
  padding: 15px;
}

.sms-tool-content-box textarea {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 150px;
  border: 0;
  background: transparent;
  color: #333;
  font-size: 15px;
  line-height: 22px;
  word-break: break-all;
  resize: vertical;
  outline: 0;
}

.sms-tool-content-box p {
  position: relative;
  z-index: 2;
  margin: 6px 0 0;
  color: #999;
  font-size: 13px;
}

.sms-tool-content-box::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 120px;
  height: 120px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  background: linear-gradient(135deg, rgba(254,191,15,.2), rgba(254,115,76,.2));
  opacity: .65;
}

.sms-tool-date-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 25px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  padding: 15px;
}

.sms-tool-date-card span {
  color: #999;
  font-size: 15px;
}

.sms-tool-date-card strong {
  display: flex;
  align-items: center;
  min-width: 0;
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

.sms-tool-date-card b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
}

.sms-tool-date-card img {
  width: 15px;
  height: 15px;
  margin-left: 2px;
}

.sms-tool-date-sheet {
  display: grid;
  gap: 12px;
}

.sms-tool-date-sheet h2 {
  text-align: center;
}

.sms-tool-date-input {
  display: grid;
  gap: 6px;
  color: #666;
  font-size: 13px;
}

.sms-tool-date-input input {
  width: 100%;
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  padding: 0 10px;
  color: #333;
  font: inherit;
}

.sms-tool-date-sheet button {
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 15px;
}

.sms-tool-date-sheet button.primary {
  border-color: #007aff;
  background: #007aff;
  color: #fff;
}

.sms-tool-submit-original {
  display: flex;
  padding: 35px 75px 0;
}

.sms-tool-submit-original button {
  flex: 1;
  min-height: 44px;
  border: 0;
  border-radius: 100px;
  background: #007aff;
  color: #fff;
  font-size: 16px;
}

.sms-tool-url-actions {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 25px 25px 0;
}

.sms-tool-url-actions button {
  flex: 1;
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 14px;
}

.sms-tool-url-actions button.primary {
  border-color: #007aff;
  background: #007aff;
  color: #fff;
}

.admin-ad-set-title {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 20px;
  padding: 10px 0 0;
}

.admin-ad-set-title h1 {
  margin-bottom: 0;
  padding-bottom: 20px;
  font-size: 20px;
  font-weight: 400;
}

.admin-ad-preview {
  width: 200px;
  height: 72px;
  margin-top: 10px;
  border-radius: 6px;
  background: linear-gradient(135deg, #ffd666, #ff9c6e);
  color: #fff;
  font-size: 13px;
  line-height: 72px;
  text-align: center;
}

.cleanup-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 88;
  display: none;
  background: rgba(0, 0, 0, 0.45);
}

.cleanup-modal-mask.show {
  display: block;
}

.cleanup-confirm-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 96;
  display: none;
  width: min(420px, calc(100% - 36px));
  padding: 16px;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  transform: translate(-50%, -50%);
}

.cleanup-confirm-dialog.show {
  display: block;
}

.cleanup-confirm-dialog h2 {
  margin: 0;
  color: #222;
  font-size: 18px;
  font-weight: 700;
}

.cleanup-confirm-dialog p {
  margin: 8px 0 0;
  color: #666;
  font-size: 13px;
  line-height: 21px;
}

.cleanup-confirm-dialog label {
  display: block;
  margin-top: 12px;
}

.cleanup-confirm-dialog label span {
  display: block;
  margin-bottom: 6px;
  color: #555;
  font-size: 13px;
}

.cleanup-confirm-dialog input {
  width: 100%;
  border: 1px solid #eee;
  border-radius: 5px;
  background: #f7f8f9;
  padding: 10px;
}

.cleanup-confirm-dialog .button-row {
  justify-content: flex-end;
  margin-top: 14px;
}

.cleanup-confirm-dialog .button-row button {
  flex: 0 0 auto;
}

.kt-video-box {
  height: 150px;
  margin-top: 10px;
  border-radius: 8px;
  background: #000;
  color: #666;
  line-height: 150px;
  text-align: center;
}

.ali-repair-card label {
  display: block;
  margin-top: 15px;
}

.ali-repair-card h2 {
  margin: 0;
  color: #666;
  font-size: 14px;
  font-weight: 400;
}

.ali-repair-card label span {
  display: block;
  margin-bottom: 8px;
  color: #666;
  font-size: 14px;
}

.ali-repair-card input {
  width: 100%;
  border: 1px solid #eee;
  border-radius: 5px;
  padding: 9px 10px;
}

.ali-repair-card button {
  margin-top: 10px;
}

.ali-repair-card hr {
  height: 1px;
  margin: 18px 0 12px;
  border: 0;
  border-top: 1px dashed #eee;
}

.ali-result-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
  color: #999;
  font-size: 12px;
}

.ali-result-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.ali-result-top strong {
  min-width: 0;
  color: #666;
  font-size: 12px;
  font-weight: 400;
}

.ali-result-top > div {
  display: flex;
  gap: 6px;
  white-space: nowrap;
}

.ali-result-top .ghost-btn {
  min-height: 28px;
  padding: 5px 7px;
  font-size: 12px;
}

.ali-demo-actions {
  margin-top: 12px;
}

.admin-log-line {
  padding: 10px 0;
  border-top: 1px solid #f3f3f3;
}

.admin-log-line strong,
.admin-log-line p {
  display: block;
  word-break: break-all;
}

.admin-dzh-state {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  background: #fff;
  padding: 15px;
}

.admin-dzh-state p {
  margin: 0 0 10px;
  color: #999;
  font-size: 13px;
}

.admin-dzh-state strong {
  color: #333;
  font-size: 16px;
  font-weight: 400;
}

.admin-dzh-state em {
  display: block;
  margin: 10px 0;
  color: #fdb314;
  font-size: 13px;
  font-style: normal;
}

.admin-dzh-state button {
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  padding: 5px 10px;
}

.transfer-stat-strip {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  border-bottom: 1px solid #ddd;
  background: #fff;
  padding: 20px;
}

.transfer-stat-strip div {
  flex: 1;
}

.transfer-stat-strip span {
  display: block;
  padding-bottom: 4px;
  color: #999;
  font-size: 13px;
}

.transfer-stat-strip strong {
  color: #333;
  font-size: 24px;
  font-weight: 400;
}

.wx-complaint-card,
.transfer-review-card,
.sms-number-log-card,
.money-log-card {
  box-shadow: none;
}

.wx-complaint-original-card {
  position: relative;
  margin: 10px 20px 0;
  border-radius: 5px;
  background: #fff;
  padding: 15px;
}

.wx-complaint-top {
  display: flex;
  justify-content: space-between;
  gap: 86px;
}

.wx-complaint-top strong {
  display: block;
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

.wx-complaint-top p {
  margin: 4px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.wx-complaint-top .status-pill {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 0;
  border-radius: 5px;
  padding: 2px 7px 3px;
  font-weight: 400;
}

.wx-complaint-order {
  margin-top: 8px;
  border-radius: 5px;
  background: #ffe5ab;
  box-shadow: inset 0 0 5px 0 #fdb314;
  padding: 8px;
}

.wx-complaint-user,
.wx-complaint-link {
  display: flex;
  align-items: center;
  color: #6e1a0d;
  font-size: 14px;
  line-height: 20px;
}

.wx-complaint-user {
  color: #333;
}

.wx-complaint-user img {
  width: 22px;
  height: 22px;
  border-radius: 100px;
  background: #f8f8f8;
}

.wx-complaint-user span {
  padding-left: 6px;
  color: #333;
  font-size: 16px;
}

.wx-complaint-user b,
.wx-complaint-link b {
  color: #999;
  font-size: 18px;
  font-weight: 400;
}

.wx-complaint-order button {
  display: block;
  border: 0;
  background: transparent;
  color: #6e1a0d;
  padding: 0;
  font-size: 14px;
  line-height: 20px;
  text-align: left;
}

.wx-complaint-balance {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.wx-complaint-balance span {
  color: #6e1a0d;
  font-size: 14px;
  line-height: 20px;
}

.wx-complaint-line {
  height: 1px;
  margin: 5px 0;
  background: rgba(110, 26, 13, 0.2);
}

.wx-complaint-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px 0;
}

.wx-complaint-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  border-radius: 4px;
  color: #fff;
  padding: 3px 10px;
  line-height: 20px;
}

.wx-complaint-actions button.warn { background: #ff5722; }
.wx-complaint-actions button.primary { background: #007aff; }
.wx-complaint-actions button.green { background: forestgreen; }

.wx-complaint-meta {
  margin: 4px 0 0;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.wx-complaint-meta.danger {
  color: #ff5722;
}

.wx-complaint-meta.as-button {
  display: block;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
}

.wx-complaint-original-card time {
  display: block;
  margin-top: 4px;
  color: #999;
  font-size: 12px;
}

.wx-complaint-message-input {
  display: block;
}

.wx-complaint-message-input span {
  display: block;
  margin-bottom: 6px;
  color: #999;
  font-size: 13px;
}

.wx-complaint-message-input textarea {
  width: 100%;
  min-height: 88px;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 8px;
  color: #333;
  font-size: 15px;
  line-height: 22px;
  resize: vertical;
}

.admin-transfer-card {
  padding: 10px 20px 0;
}

.admin-transfer-panel {
  display: none;
}

.admin-transfer-panel.active {
  display: block;
}

.transfer-review-tip {
  margin: 10px 20px 0;
}

.transfer-review-tip p + p {
  padding-top: 10px;
}

.transfer-review-tip.bottom-warn {
  margin-top: 20px;
}

.admin-transfer-main {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 118px;
  border-radius: 8px;
  background: #fff;
  padding: 15px 15px 22px;
}

.admin-transfer-left {
  min-width: 0;
}

.admin-alipay-head {
  display: flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  padding: 0;
  color: #333;
  font-size: 17px;
  font-weight: 700;
}

.admin-alipay-head i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background: #1677ff;
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}

.admin-transfer-left p {
  margin: 4px 0;
  color: #999;
  font-size: 14px;
}

.admin-transfer-user {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #333;
  font-size: 16px;
}

.admin-transfer-user img {
  width: 22px;
  height: 22px;
  border-radius: 99px;
  background: #f8f8f8;
}

.admin-transfer-user b {
  color: #999;
  font-size: 18px;
  font-weight: 400;
}

.admin-transfer-order {
  display: block;
  margin-top: 4px;
  border: 0;
  background: transparent;
  padding: 0;
  color: #999;
  font-size: 14px;
  text-align: left;
}

.admin-transfer-left small {
  display: block;
  max-width: 205px;
  margin-top: 4px;
  color: brown;
  font-size: 13px;
  line-height: 18px;
}

.admin-transfer-right {
  flex: 0 0 120px;
  text-align: right;
}

.admin-transfer-right > strong {
  display: block;
  color: #333;
  font-size: 20px;
  font-weight: 400;
}

.admin-transfer-right .status-pill {
  min-width: 0;
  margin-top: 5px;
  border-radius: 5px;
  padding: 2px 7px 3px;
  font-weight: 400;
}

.admin-transfer-main time {
  position: absolute;
  left: 15px;
  bottom: 4px;
  color: #999;
  font-size: 12px;
}

.admin-transfer-main mark {
  position: absolute;
  top: 0;
  right: 0;
  border-bottom-left-radius: 8px;
  border-top-right-radius: 8px;
  background: #333;
  padding: 3px 6px;
  color: #fff;
  font-size: 12px;
}

.admin-transfer-countdown {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 6px;
  color: #00b26a;
  font-size: 12px;
}

.admin-transfer-countdown span {
  border-radius: 3px;
  background: #00b26a;
  padding: 2px 4px;
  color: #fff;
}

.admin-transfer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 36px;
}

.admin-transfer-actions > div {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-transfer-actions a,
.admin-transfer-actions button {
  min-height: 28px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
  padding: 3px 8px;
  font-size: 13px;
  line-height: 20px;
}

.admin-transfer-actions button.primary {
  border-color: #007aff;
  background: #007aff;
  color: #fff;
}

.admin-transfer-actions button.green {
  border-color: #20a53a;
  background: #20a53a;
  color: #fff;
}

.admin-transfer-actions button.warn {
  border-color: #ff5722;
  background: #ff5722;
  color: #fff;
}

.admin-transfer-actions button.brown,
.admin-confirm-modal button.brown {
  border-color: #6c0000;
  background: #6c0000;
  color: #fff;
}

.status-pill.brown {
  border-color: #6c0000;
  background: #6c0000;
  color: #fff;
}

.admin-transfer-loading-state {
  padding: 30px;
  color: #999;
  font-size: 13px;
  text-align: center;
}

.admin-transfer-loading-state button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  min-width: 80px;
  margin-left: 8px;
  border: 0;
  border-radius: 4px;
  background: #ff5722;
  color: #fff;
  padding: 0 10px;
  font-size: 12px;
}

.admin-transfer-refresh-bar {
  position: sticky;
  bottom: 47px;
  z-index: 20;
  background: #fdb314;
  padding: 10px;
}

.admin-transfer-refresh-bar button {
  min-height: 28px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
  padding: 3px 10px;
  font-size: 13px;
}

.transfer-bulk-bar {
  margin-top: 12px;
}

.transfer-bulk-bar div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.transfer-bulk-bar button.primary {
  border-color: #007aff;
  background: #007aff;
  color: #fff;
}

.transfer-bulk-bar button.green {
  border-color: #20a53a;
  background: #20a53a;
  color: #fff;
}

.transfer-bulk-bar p {
  margin: 6px 0 0;
  color: #6e1a0d;
  font-size: 14px;
  text-align: center;
}

.admin-modal-inline-textarea {
  width: 100%;
  min-height: 74px;
  margin-top: 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 8px;
  color: #333;
  font-size: 14px;
  resize: vertical;
}

.admin-migrate-card {
  border: 1px solid #eee;
}

.admin-migrate-card h1 {
  font-size: 20px;
  font-weight: 400;
}

.hejie-price-page {
  background: #f7f8f9;
}

.hp-card {
  padding: 16px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

.hp-title {
  color: #222;
  font-size: 18px;
  font-weight: 800;
}

.hp-sub {
  margin-top: 6px;
  color: #666;
  font-size: 12px;
  line-height: 16px;
}

.hp-field {
  display: block;
  margin-top: 12px;
}

.hp-label {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-size: 13px;
  font-weight: 700;
}

.hp-input {
  display: block;
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  background: #f3f4f6;
  color: #222;
  font-size: 14px;
  padding: 12px;
}

.hp-password-state {
  display: block;
  margin-top: 8px;
  padding: 0 6px;
  color: #999;
  font-size: 12px;
  line-height: 16px;
}

.hp-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 24px;
  border: 0;
  border-radius: 999px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
}

.hp-tip {
  margin-top: 12px;
  padding: 0 6px;
  color: #999;
  font-size: 12px;
  line-height: 16px;
}

.hp-tip p {
  margin: 0;
}

.admin-bind-page {
  padding: 30px;
  padding-bottom: 90px;
}

.admin-bind-form h1 {
  margin: 0 0 30px;
  color: #333;
  font-size: 20px;
  font-weight: 400;
}

.admin-bind-field {
  display: block;
  margin-bottom: 20px;
}

.admin-bind-field input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 18px;
  padding: 10px 15px;
}

.admin-bind-field input:focus {
  border-color: #333;
  outline: 0;
}

.admin-bind-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 20px;
  border: 0;
  border-radius: 5px;
  background: #07c160;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.admin-config-page {
  padding: 20px;
  padding-bottom: 90px;
}

.admin-config-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.admin-config-tabs button {
  min-height: 44px;
  border: 0;
  background: #fff;
  color: #333;
  font-size: 15px;
  font-weight: 700;
}

.admin-config-tabs button.active:first-child {
  background: #07c160;
  color: #fff;
}

.admin-config-tabs button.active:last-child {
  background: #1677ff;
  color: #fff;
}

.admin-config-card {
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 10px;
  background: #fff;
}

.admin-config-card.compact {
  margin-top: 16px;
  margin-bottom: 12px;
}

.admin-config-card h1,
.admin-config-card h2 {
  margin: 0 0 15px;
  color: #333;
  font-size: 17px;
  font-weight: 700;
}

.admin-config-card p {
  margin: 0 0 15px;
  color: #999;
  font-size: 13px;
  line-height: 20px;
}

.admin-config-field {
  display: block;
  margin-bottom: 18px;
}

.admin-config-field:last-child {
  margin-bottom: 0;
}

.admin-config-field > span {
  display: block;
  margin-bottom: 6px;
  color: #333;
  font-size: 14px;
  font-weight: 600;
}

.admin-config-field > span b {
  color: red;
  font-weight: 600;
}

.admin-config-field input,
.admin-config-field textarea,
.admin-config-field select {
  display: block;
  width: 100%;
  min-height: 44px;
  border: 1px solid #eee;
  border-radius: 6px;
  background: #f5f5f5;
  color: #333;
  font-size: 14px;
  line-height: 20px;
  padding: 10px 12px;
}

.admin-config-field textarea {
  min-height: 100px;
  resize: vertical;
}

.admin-config-field textarea.short {
  min-height: 60px;
}

.admin-config-field textarea.single {
  min-height: 44px;
  height: 44px;
  resize: none;
  font-size: 16px;
}

.admin-config-field textarea.large {
  min-height: 140px;
}

.admin-config-field.readonly input,
.admin-config-field input:disabled {
  background: #fafafa;
  color: #999;
}

.admin-config-field em,
.admin-switch-line em,
.admin-switch-row em {
  display: block;
  margin-top: 4px;
  color: #999;
  font-size: 12px;
  font-style: normal;
  line-height: 18px;
}

.admin-config-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  border-radius: 10px;
  background: #e8f4ff;
  padding: 14px 16px;
}

.admin-config-link span {
  color: #1677ff;
  font-size: 14px;
}

.admin-config-link b {
  color: #999;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
}

.admin-seg-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.admin-seg-row button {
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  color: #333;
  padding: 8px 18px;
  font-size: 14px;
}

.admin-seg-row button.active {
  border-color: transparent;
  background: #ff6a00;
  color: #fff;
}

.admin-seg-row button.active.dark {
  background: #333;
}

.admin-seg-row button.active.blue {
  background: #1677ff;
}

.admin-mini-link {
  min-height: 44px;
  margin-top: 4px;
  border: 0;
  background: transparent;
  color: #007aff;
  padding: 0;
  font-size: 12px;
}

.admin-config-note {
  margin: 0 0 20px;
  border-radius: 10px;
  background: #fffbe6;
  padding: 15px;
}

.admin-config-note h2 {
  margin: 0 0 8px;
  color: #d48806;
  font-size: 14px;
  font-weight: 700;
}

.admin-config-note p {
  margin: 0;
  color: #8a6700;
  font-size: 13px;
  line-height: 22px;
}

.admin-config-save {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin: 0 0 12px;
  border: 0;
  border-radius: 8px;
  background: #333;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.admin-config-save.wx {
  background: #07c160;
}

.admin-config-save.ali,
.admin-config-save.blue {
  background: #1677ff;
}

.admin-config-save.ghost {
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
}

.admin-config-save.mail-test-button {
  background: #f0f0f0;
  color: #333;
  font-size: 15px;
}

.admin-config-save.mail-restore-button {
  border: 1px solid #1677ff;
  background: #fff;
  color: #1677ff;
  font-size: 15px;
}

/* Mobile-first administration dashboard */
.admin-dashboard-body {
  min-height: 100%;
  background:
    radial-gradient(circle at 100% 0, rgba(41, 121, 255, 0.12), transparent 28rem),
    #f4f6fa;
}

.admin-dashboard-shell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  background: transparent;
}

.admin-dashboard-page {
  width: min(100%, 1120px);
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 16px calc(40px + env(safe-area-inset-bottom));
}

.admin-dashboard-hero {
  margin: 0 -16px 18px;
  padding: calc(22px + env(safe-area-inset-top)) 20px 18px;
  border-radius: 0 0 24px 24px;
  background: linear-gradient(145deg, #172033, #26395f 68%, #2852a0);
  color: #fff;
  box-shadow: 0 14px 32px rgba(23, 32, 51, 0.2);
}

.admin-dashboard-hero-row,
.admin-dashboard-system,
.admin-dashboard-section-head,
.admin-dashboard-task,
.admin-dashboard-links a {
  display: flex;
  align-items: center;
}

.admin-dashboard-hero-row,
.admin-dashboard-section-head {
  justify-content: space-between;
  gap: 16px;
}

.admin-dashboard-eyebrow,
.admin-dashboard-kicker {
  margin: 0 0 5px;
  color: #6f7f9b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-dashboard-hero .admin-dashboard-eyebrow {
  color: #a9c2f7;
}

.admin-dashboard-hero h1 {
  margin: 0;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.admin-dashboard-greeting {
  margin: 7px 0 0;
  color: #d6e2fa;
  font-size: 13px;
}

.admin-dashboard-account {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(8px);
}

.admin-dashboard-account span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #26395f;
  font-size: 14px;
  font-weight: 800;
}

.admin-dashboard-system {
  min-height: 44px;
  gap: 8px;
  margin-top: 17px;
  padding: 8px 8px 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 13px;
  background: rgba(0, 0, 0, 0.14);
  color: #dce7fb;
  font-size: 12px;
}

.admin-dashboard-system-dot {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #45df8f;
  box-shadow: 0 0 0 4px rgba(69, 223, 143, 0.14);
}

.admin-dashboard-system.error .admin-dashboard-system-dot {
  background: #ff6b6b;
  box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.14);
}

.admin-dashboard-system time {
  margin-left: auto;
  color: #a9bddd;
  white-space: nowrap;
}

.admin-dashboard-system button {
  min-width: 54px;
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font: inherit;
  font-weight: 700;
}

.admin-dashboard-system button:disabled {
  opacity: 0.55;
}

.admin-dashboard-section {
  margin-bottom: 16px;
  padding: 17px;
  border: 1px solid rgba(218, 224, 235, 0.82);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 24px rgba(52, 65, 90, 0.06);
}

.admin-dashboard-section-head {
  margin-bottom: 14px;
}

.admin-dashboard-section-head.compact {
  margin-bottom: 13px;
}

.admin-dashboard-section-head h2 {
  margin: 0;
  color: #172033;
  font-size: 19px;
  font-weight: 800;
}

.admin-dashboard-total {
  display: grid;
  min-width: 46px;
  height: 38px;
  padding: 0 10px;
  place-items: center;
  border-radius: 12px;
  background: #fff0ed;
  color: #d93d2f;
  font-size: 18px;
}

.admin-dashboard-feedback {
  min-height: 48px;
  padding: 13px 14px;
  border-radius: 12px;
  background: #f1f5fb;
  color: #52617b;
  font-size: 13px;
  line-height: 21px;
}

.admin-dashboard-feedback.error {
  background: #fff0ed;
  color: #b7372c;
}

.admin-dashboard-tasks,
.admin-dashboard-links,
.admin-dashboard-more nav {
  display: grid;
  gap: 10px;
}

.admin-dashboard-task {
  min-height: 70px;
  gap: 12px;
  padding: 12px 13px;
  border: 1px solid #e8ecf3;
  border-radius: 14px;
  background: #fff;
  color: #172033;
  text-decoration: none;
}

.admin-dashboard-task-marker {
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #5b8def;
  box-shadow: 0 0 0 5px rgba(91, 141, 239, 0.12);
}

.admin-dashboard-task.urgent .admin-dashboard-task-marker {
  background: #ed5145;
  box-shadow: 0 0 0 5px rgba(237, 81, 69, 0.12);
}

.admin-dashboard-task.attention .admin-dashboard-task-marker {
  background: #f5a524;
  box-shadow: 0 0 0 5px rgba(245, 165, 36, 0.13);
}

.admin-dashboard-task-copy {
  min-width: 0;
  flex: 1;
}

.admin-dashboard-task-copy strong,
.admin-dashboard-task-copy small {
  display: block;
}

.admin-dashboard-task-copy strong {
  margin-bottom: 5px;
  font-size: 14px;
}

.admin-dashboard-task-copy small {
  color: #77839a;
  font-size: 12px;
  line-height: 18px;
}

.admin-dashboard-task > b {
  display: grid;
  min-width: 35px;
  height: 35px;
  padding: 0 8px;
  place-items: center;
  border-radius: 11px;
  background: #f0f4fa;
  color: #243653;
  font-size: 15px;
}

.admin-dashboard-empty {
  display: grid;
  min-height: 102px;
  place-content: center;
  border: 1px dashed #cfd7e5;
  border-radius: 14px;
  background: #f9fbfe;
  text-align: center;
}

.admin-dashboard-empty strong {
  color: #2f405e;
  font-size: 14px;
}

.admin-dashboard-empty span {
  margin-top: 7px;
  color: #8793a7;
  font-size: 12px;
}

.admin-dashboard-metrics,
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-dashboard-metrics a {
  min-width: 0;
  min-height: 108px;
  padding: 14px;
  border-radius: 14px;
  background: #f5f7fb;
  color: #293752;
  text-decoration: none;
}

.admin-dashboard-metrics span,
.admin-dashboard-metrics strong,
.admin-dashboard-metrics small {
  display: block;
}

.admin-dashboard-metrics span {
  color: #65728a;
  font-size: 12px;
}

.admin-dashboard-metrics strong {
  margin: 7px 0 5px;
  color: #172033;
  font-size: 27px;
  line-height: 31px;
}

.admin-dashboard-metrics strong.danger {
  color: #d74338;
}

.admin-dashboard-metrics small {
  color: #8d97a8;
  font-size: 11px;
}

.admin-dashboard-links a {
  min-height: 68px;
  gap: 12px;
  padding: 10px 4px;
  border-bottom: 1px solid #edf0f5;
  color: #172033;
  text-decoration: none;
}

.admin-dashboard-links a:last-child {
  border-bottom: 0;
}

.admin-dashboard-links b {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  font-size: 14px;
}

.admin-dashboard-links b.green { background: #e5f8ed; color: #16874c; }
.admin-dashboard-links b.blue { background: #e8f1ff; color: #2c67c7; }
.admin-dashboard-links b.orange { background: #fff0dc; color: #b8670d; }
.admin-dashboard-links b.purple { background: #f0eaff; color: #7044bf; }
.admin-dashboard-links b.red { background: #ffe9e6; color: #c74035; }
.admin-dashboard-links b.yellow { background: #fff5d8; color: #9b7211; }
.admin-dashboard-links b.cyan { background: #e2f8f8; color: #167e80; }
.admin-dashboard-links b.pink { background: #ffeaf4; color: #b94079; }

.admin-dashboard-links a > span {
  min-width: 0;
  flex: 1;
}

.admin-dashboard-links strong,
.admin-dashboard-links small {
  display: block;
}

.admin-dashboard-links strong {
  margin-bottom: 4px;
  font-size: 14px;
}

.admin-dashboard-links small {
  color: #8590a4;
  font-size: 12px;
}

.admin-dashboard-links i {
  color: #a0a9b8;
  font-size: 23px;
  font-style: normal;
}

.admin-dashboard-grid a {
  display: grid;
  min-width: 0;
  min-height: 72px;
  align-content: center;
  padding: 12px;
  border: 1px solid #e8ecf3;
  border-radius: 13px;
  background: #fafbfd;
  color: #27344e;
  text-decoration: none;
}

.admin-dashboard-grid span,
.admin-dashboard-grid small {
  overflow-wrap: anywhere;
}

.admin-dashboard-grid span {
  font-size: 13px;
  font-weight: 750;
}

.admin-dashboard-grid small {
  margin-top: 5px;
  color: #8b95a7;
  font-size: 11px;
}

.admin-dashboard-grid small.ready {
  color: #16874c;
}

.admin-dashboard-more {
  margin-bottom: 16px;
  border: 1px solid #dce2ec;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

.admin-dashboard-more summary {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  color: #39465d;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}

.admin-dashboard-more summary::after {
  content: "+";
  color: #77839a;
  font-size: 20px;
}

.admin-dashboard-more[open] summary::after {
  content: "−";
}

.admin-dashboard-more nav {
  padding: 0 16px 12px;
}

.admin-dashboard-more nav a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #edf0f5;
  color: #39465d;
  text-decoration: none;
  font-size: 13px;
}

@media (min-width: 720px) {
  .admin-dashboard-page {
    padding: 24px 24px 48px;
  }

  .admin-dashboard-hero {
    margin: 0 0 22px;
    border-radius: 24px;
  }

  .admin-dashboard-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .admin-dashboard-tasks,
  .admin-dashboard-links,
  .admin-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-dashboard-links a:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
}

@media (min-width: 1000px) {
  .admin-dashboard-page {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr);
    gap: 18px;
  }

  .admin-dashboard-hero {
    grid-column: 1 / -1;
  }

  .admin-dashboard-section {
    margin-bottom: 0;
  }

  .admin-dashboard-section:nth-of-type(1),
  .admin-dashboard-section:nth-of-type(3) {
    grid-column: 1;
  }

  .admin-dashboard-section:nth-of-type(2),
  .admin-dashboard-section:nth-of-type(4),
  .admin-dashboard-more {
    grid-column: 2;
  }

  .admin-dashboard-section:nth-of-type(2) {
    grid-row: 2;
  }

  .admin-dashboard-section:nth-of-type(3) {
    grid-row: 3 / span 2;
  }

  .admin-dashboard-section:nth-of-type(4) {
    grid-row: 3;
  }

  .admin-dashboard-more {
    grid-row: 4;
    margin: 0;
  }

  .admin-dashboard-metrics,
  .admin-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile-first user management */
.admin-home-body { background:#f5f6f8; }
.admin-home-shell { width:100%; max-width:none; min-height:100vh; background:transparent; }
.admin-home-page { width:min(100%,1040px); max-width:1040px; margin:0 auto; padding:calc(20px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom)); }
.admin-home-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.admin-home-welcome > span { display:block; margin-bottom:6px; color:#8b95a4; font-size:11px; font-weight:700; }
.admin-home-welcome h1 { margin:0; color:#1d2735; font-size:24px; font-weight:500; letter-spacing:-.025em; }
.admin-home-welcome h1 strong { font-weight:750; }
.admin-home-welcome p { margin:7px 0 0; color:#8d96a3; font-size:12px; }
.admin-home-account { display:flex; min-width:58px; min-height:44px; align-items:center; justify-content:center; border:1px solid #dfe3e8; border-radius:10px; background:#fff; color:#536174; font-size:12px; font-weight:700; text-decoration:none; }
.admin-home-health { display:flex; min-height:44px; align-items:center; gap:8px; margin-bottom:14px; border-bottom:1px solid #e1e4e8; padding:0 2px; color:#6f7988; font-size:11px; }
.admin-home-health > i { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#2b9c62; }
.admin-home-health.error > i { background:#d84b42; }
.admin-home-health time { margin-left:auto; color:#9ca4ae; }
.admin-home-health button { min-width:54px; min-height:44px; border:0; background:transparent; color:#4d6789; font-size:11px; font-weight:700; }
.admin-home-todos,.admin-home-summary,.admin-home-shortcuts,.admin-home-all { margin-bottom:14px; border:1px solid #e0e3e7; border-radius:12px; background:#fff; }
.admin-home-todos,.admin-home-summary,.admin-home-shortcuts { padding:16px; }
.admin-home-section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:11px; }
.admin-home-section-title h2 { margin:0 0 4px; color:#273242; font-size:16px; }
.admin-home-section-title span { display:block; color:#9aa2ae; font-size:10px; }
.admin-home-section-title > b { display:grid; min-width:32px; height:28px; place-items:center; border-radius:7px; padding:0 8px; background:#f7e9e7; color:#bd4139; font-size:13px; }
.admin-home-feedback { min-height:48px; border-radius:8px; padding:13px; background:#f6f7f9; color:#697586; font-size:12px; }
.admin-home-feedback.error { background:#fff0ed; color:#b63b32; }
.admin-home-task-list { display:grid; }
.admin-home-task { display:grid; min-height:64px; grid-template-columns:minmax(0,1fr) auto 18px; align-items:center; gap:10px; border-top:1px solid #eaecf0; color:#293545; text-decoration:none; }
.admin-home-task:first-child { border-top:0; }
.admin-home-task > span { min-width:0; }
.admin-home-task strong,.admin-home-task small { display:block; }
.admin-home-task strong { margin-bottom:4px; font-size:13px; }
.admin-home-task small { color:#929ba8; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-home-task > b { min-width:28px; border-radius:7px; padding:5px 7px; background:#f0f2f5; color:#526072; font-size:12px; text-align:center; }
.admin-home-task.urgent > b { background:#f9e9e7; color:#c1433a; }
.admin-home-task.attention > b { background:#f8efe2; color:#9b641f; }
.admin-home-task > i { color:#b3b9c2; font-size:19px; font-style:normal; }
.admin-home-empty { display:flex; min-height:74px; align-items:center; justify-content:center; gap:11px; background:#f8faf9; }
.admin-home-empty > i { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#e2f1e8; color:#238054; font-style:normal; }
.admin-home-empty strong,.admin-home-empty small { display:block; }
.admin-home-empty strong { color:#344154; font-size:13px; }
.admin-home-empty small { margin-top:3px; color:#8d97a5; font-size:10px; }
.admin-home-task-more { min-height:44px; border:0; border-top:1px solid #eaecf0; background:transparent; color:#4d6789; font-size:11px; font-weight:700; }
.admin-home-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #eaecf0; border-bottom:1px solid #eaecf0; }
.admin-home-metrics a { min-width:0; min-height:78px; border-left:1px solid #eaecf0; padding:13px 8px; color:#6f7988; text-align:center; text-decoration:none; }
.admin-home-metrics a:first-child { border-left:0; }
.admin-home-metrics span,.admin-home-metrics strong { display:block; }
.admin-home-metrics span { font-size:10px; white-space:nowrap; }
.admin-home-metrics strong { margin-top:9px; color:#263242; font-size:23px; line-height:1; }
.admin-home-metrics strong.danger { color:#c5453c; }
.admin-home-shortcuts nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.admin-home-shortcuts a { display:grid; min-width:0; min-height:66px; grid-template-columns:36px minmax(0,1fr) 16px; align-items:center; gap:10px; border-top:1px solid #eaecf0; color:#394658; text-decoration:none; }
.admin-home-shortcuts a:nth-child(-n+2) { border-top:0; }
.admin-home-shortcuts i { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; background:#edf1f6; color:#536983; font-size:12px; font-style:normal; font-weight:800; }
.admin-home-shortcuts a > span { min-width:0; }
.admin-home-shortcuts strong,.admin-home-shortcuts small { display:block; }
.admin-home-shortcuts strong { font-size:12px; }
.admin-home-shortcuts small { margin-top:3px; color:#98a0ab; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-home-shortcuts b { color:#b5bbc4; font-size:18px; font-weight:400; }
.admin-home-all { overflow:hidden; }
.admin-home-all summary { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:0 16px; cursor:pointer; list-style:none; }
.admin-home-all summary::-webkit-details-marker { display:none; }
.admin-home-all summary small,.admin-home-all summary strong { display:block; }
.admin-home-all summary strong { margin-bottom:3px; color:#394658; font-size:13px; }
.admin-home-all summary small { color:#9aa2ae; font-size:10px; }
.admin-home-all summary > i { color:#b0b7c1; font-size:20px; font-style:normal; transition:transform .2s; }
.admin-home-all[open] summary > i { transform:rotate(90deg); }
.admin-home-all-content { display:grid; gap:18px; border-top:1px solid #eaecf0; padding:15px 16px 17px; }
.admin-home-all-content h2 { margin:0 0 6px; color:#8d96a3; font-size:11px; }
.admin-home-all-content nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.admin-home-all-content a { display:grid; min-height:46px; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:7px; border-top:1px solid #eff0f2; color:#3f4b5b; font-size:12px; text-decoration:none; }
.admin-home-all-content a:nth-child(-n+2) { border-top:0; }
.admin-home-all-content a small { color:#929ba7; font-size:10px; }
.admin-home-all-content a i { color:#b5bbc4; font-size:17px; font-style:normal; }
@media (max-width:560px) { .admin-home-shortcuts nav { grid-template-columns:1fr; } .admin-home-shortcuts a:nth-child(2) { border-top:1px solid #eaecf0; } .admin-home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-home-metrics a:nth-child(3) { border-left:0; border-top:1px solid #eaecf0; } .admin-home-metrics a:nth-child(4) { border-top:1px solid #eaecf0; } }
@media (max-width:340px) { .admin-home-page { padding-right:12px; padding-left:12px; } .admin-home-welcome h1 { font-size:21px; } .admin-home-all-content nav { grid-template-columns:1fr; } .admin-home-all-content a:nth-child(2) { border-top:1px solid #eff0f2; } }
@media (min-width:900px) { .admin-home-page { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:16px; padding:26px; } .admin-home-header,.admin-home-health { grid-column:1/-1; } .admin-home-todos { grid-column:1; grid-row:3/span 3; margin:0; align-self:start; } .admin-home-summary { grid-column:2; grid-row:3; margin:0; } .admin-home-shortcuts { grid-column:2; grid-row:4; margin:0; } .admin-home-shortcuts nav { grid-template-columns:1fr; } .admin-home-shortcuts a:nth-child(2) { border-top:1px solid #eaecf0; } .admin-home-all { grid-column:2; grid-row:5; margin:0; align-self:start; } }

/* Administration workspace refresh: clear hierarchy, mobile first */
.admin-home-body{background:#f2f5fa;color:#172033}
.admin-home-page{width:min(100%,1120px);max-width:1120px;padding:18px 16px calc(38px + env(safe-area-inset-bottom))}
.admin-home-header{position:relative;overflow:hidden;min-height:154px;margin-bottom:12px;border-radius:22px;padding:23px;background:linear-gradient(132deg,#1d4fc7 0%,#3478ef 62%,#52a1ff 100%);box-shadow:0 16px 38px rgba(36,91,201,.21);color:#fff}
.admin-home-header:after{position:absolute;right:-55px;bottom:-85px;width:210px;height:210px;border:35px solid rgba(255,255,255,.08);border-radius:50%;content:""}
.admin-home-welcome{position:relative;z-index:1}.admin-home-kicker{color:#cfe0ff!important;font-size:11px!important;letter-spacing:.08em}
.admin-home-welcome h1{color:#fff;font-size:27px;font-weight:500}.admin-home-welcome h1 strong{font-weight:800}
.admin-home-welcome p{color:#dbe8ff;font-size:12px}
.admin-home-account{position:relative;z-index:1;display:flex;min-width:74px;flex-direction:column;gap:5px;border-color:rgba(255,255,255,.2);border-radius:14px;padding:8px;background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(10px)}
.admin-home-account i{display:grid;width:28px;height:28px;place-items:center;border-radius:10px;background:#fff;color:#2b62cf;font-size:11px;font-style:normal;font-weight:800}.admin-home-account span{font-size:10px}
.admin-home-health{min-height:46px;margin-bottom:12px;border:1px solid #e0e6ef;border-radius:14px;padding:0 10px;background:#fff;box-shadow:0 6px 20px rgba(35,54,86,.04)}
.admin-home-health button{border-radius:10px;color:#3063c8}
.admin-home-todos,.admin-home-summary,.admin-home-shortcuts,.admin-home-all{margin-bottom:12px;border-color:#e1e7f0;border-radius:18px;box-shadow:0 8px 26px rgba(32,53,87,.055)}
.admin-home-todos,.admin-home-summary,.admin-home-shortcuts{padding:17px}
.admin-home-section-title{align-items:center;margin-bottom:13px}.admin-home-section-title h2{color:#202c3d;font-size:17px}.admin-home-section-title span{font-size:11px}
.admin-home-section-title>em{border-radius:999px;padding:5px 9px;background:#e8f7ee;color:#218653;font-size:10px;font-style:normal;font-weight:800}
.admin-home-section-title>b{min-width:34px;height:30px;border-radius:10px;background:#fff0ed;color:#c7473e}
.admin-home-metrics{gap:9px;border:0}.admin-home-metrics a{position:relative;min-height:116px;border:0!important;border-radius:15px;padding:12px;background:#f5f8fd;color:#69778b;text-align:left}
.admin-home-metrics a:nth-child(1){background:#edf4ff}.admin-home-metrics a:nth-child(2){background:#ebf8f4}.admin-home-metrics a:nth-child(3){background:#fff1ef}.admin-home-metrics a:nth-child(4){background:#f5efff}
.admin-home-metrics i{position:absolute;top:12px;right:12px;display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:rgba(255,255,255,.78);color:#5072a9;font-size:10px;font-style:normal;font-weight:800}
.admin-home-metrics span{font-size:11px}.admin-home-metrics strong{margin:12px 0 7px;color:#1d2d46;font-size:28px}.admin-home-metrics small{display:block;color:#8d99aa;font-size:10px}
.admin-home-task{min-height:68px;border-top-color:#e8edf4}.admin-home-task strong{font-size:13px}.admin-home-task small{color:#8491a3}
.admin-home-task>b{border-radius:9px;background:#edf1f7}.admin-home-task.urgent>b{background:#ffebe8}.admin-home-task.attention>b{background:#fff2df}
.admin-home-shortcuts nav{gap:9px}.admin-home-shortcuts a{min-height:72px;border:1px solid #e7ecf3!important;border-radius:14px;padding:8px 11px;background:#fbfcfe}
.admin-home-shortcuts i{width:38px;height:38px;border-radius:12px;background:#eaf1ff;color:#2f64ce}.admin-home-shortcuts strong{font-size:13px}.admin-home-shortcuts small{font-size:10px}
.admin-home-all summary{min-height:62px;padding:0 17px}.admin-home-all-content{background:#fbfcfe}
@media(max-width:560px){.admin-home-page{padding-top:12px}.admin-home-header{min-height:148px;border-radius:20px;padding:21px 18px}.admin-home-welcome h1{font-size:24px}.admin-home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-home-metrics a{min-height:106px}.admin-home-shortcuts nav{gap:8px}.admin-home-shortcuts a:nth-child(2){border:1px solid #e7ecf3}.admin-home-all-content nav{grid-template-columns:1fr}.admin-home-all-content a:nth-child(2){border-top:1px solid #eff0f2}}
@media(min-width:900px){.admin-home-page{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;padding:24px}.admin-home-header{grid-column:1/-1}.admin-home-health{grid-column:1/-1}.admin-home-summary{grid-column:1;grid-row:3;margin:0}.admin-home-todos{grid-column:1;grid-row:4/span 2;margin:0}.admin-home-shortcuts{grid-column:2;grid-row:3/span 2;margin:0}.admin-home-all{grid-column:2;grid-row:5;margin:0}.admin-home-shortcuts nav{grid-template-columns:1fr 1fr}.admin-home-shortcuts a:nth-child(2){border:1px solid #e7ecf3}.admin-home-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}

.admin-users-workspace-body { background:#f4f6fa; }
.admin-user-workspace-body { background:#f4f6fa; }
.admin-order-workspace-body { background:#f4f6fa; }
.admin-order-workspace-shell { max-width:none; background:transparent; }
.admin-order-workspace { width:min(100%,1100px); max-width:1100px; padding:18px 16px calc(44px + env(safe-area-inset-bottom)); }
.admin-order-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.admin-order-head p { margin:0 0 3px; color:#7d899c; font-size:10px; font-weight:800; letter-spacing:.12em; }
.admin-order-head h1 { margin:0; color:#172033; font-size:25px; }
.admin-order-head span { display:block; margin-top:5px; color:#7a879a; font-size:12px; }
.admin-order-head a { display:flex; min-height:44px; align-items:center; border-radius:12px; padding:0 14px; background:#172033; color:#fff; font-size:12px; font-weight:700; }
.admin-order-filters { margin-bottom:12px; padding:10px; border-radius:16px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.05); }
.admin-order-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:9px; }
.admin-order-tabs button { min-height:44px; border:0; border-radius:11px; background:#eef1f6; color:#65728a; font-weight:700; }
.admin-order-tabs button.active { background:#2f65d5; color:#fff; }
.admin-order-filters form { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:7px; }
.admin-order-filters input { min-width:0; min-height:44px; border:1px solid #dfe4ec; border-radius:11px; padding:8px 11px; background:#f8f9fc; font-size:16px; }
.admin-order-filters form button,.admin-order-result-meta button { min-height:44px; border:0; border-radius:11px; padding:0 13px; background:#2f65d5; color:#fff; font-weight:700; }
.admin-order-filters form button.secondary { background:#edf0f5; color:#59667c; }
.admin-order-result-meta { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:12px; margin:0 2px 8px; color:#536078; font-size:13px; font-weight:700; }
.admin-order-result-meta button { background:transparent; color:#2f65d5; }
.admin-kongtou-real-list { display:grid; gap:11px; }
.admin-kongtou-real-card { min-width:0; padding:15px; border:1px solid #e1e6ee; border-radius:17px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.05); }
.admin-kongtou-real-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.admin-kongtou-real-head > span,.admin-kongtou-real-head > em { padding:5px 8px; border-radius:999px; font-size:10px; font-style:normal; font-weight:800; }
.admin-kongtou-real-head > span { background:#e8f0ff; color:#2d5fbf; }
.admin-kongtou-real-head > span.image { background:#eee8ff; color:#6947b8; }
.admin-kongtou-real-head > span.video { background:#fff0df; color:#a55e18; }
.admin-kongtou-real-head > em.visible { background:#e3f8eb; color:#157647; }
.admin-kongtou-real-head > em.hidden { background:#ffe7e3; color:#bd3c32; }
.admin-kongtou-real-card h2 { margin:12px 0 7px; color:#243149; font-size:16px; overflow-wrap:anywhere; }
.admin-kongtou-real-card > p,.admin-kongtou-real-card blockquote { margin:0; color:#58657b; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-kongtou-real-card blockquote { margin-top:9px; border-left:3px solid #b9c9e7; padding:8px 10px; background:#f7f9fd; }
.admin-kongtou-real-card dl { margin:12px 0 0; }
.admin-kongtou-real-card dl div { display:grid; min-height:38px; grid-template-columns:62px minmax(0,1fr); align-items:center; border-top:1px solid #edf0f5; }
.admin-kongtou-real-card dt { color:#8b96a8; font-size:11px; }
.admin-kongtou-real-card dd { min-width:0; margin:0; color:#445168; font-size:12px; text-align:right; overflow-wrap:anywhere; }
.admin-kongtou-real-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.admin-kongtou-real-actions button { min-height:44px; border:0; border-radius:11px; background:#edf2fb; color:#315fba; font-weight:700; }
.admin-kongtou-real-actions button.danger { background:#ffebe8; color:#bd3c32; }
.admin-kongtou-real-actions button.restore { background:#e4f7eb; color:#147245; }
.admin-order-state { display:grid; min-height:180px; place-content:center; padding:22px; border:1px dashed #cbd4e1; border-radius:17px; background:#fff; text-align:center; }
.admin-order-state strong { color:#354158; font-size:15px; }
.admin-order-state span { margin-top:7px; color:#8994a6; font-size:12px; }
.admin-order-state button,.admin-order-more { min-height:44px; margin-top:13px; border:0; border-radius:11px; padding:0 16px; background:#2f65d5; color:#fff; font-weight:700; }
.admin-order-more { width:100%; }
.admin-order-dialog-backdrop { position:fixed; z-index:1000; inset:0; background:rgba(15,24,42,.56); backdrop-filter:blur(3px); }
.admin-order-dialog { position:fixed; z-index:1001; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); left:12px; max-height:calc(100dvh - 24px); overflow:auto; border-radius:20px; padding:17px; background:#fff; box-shadow:0 22px 70px rgba(14,24,43,.28); }
.admin-order-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.admin-order-dialog-head small { display:block; margin-bottom:3px; color:#748198; font-size:10px; font-weight:800; letter-spacing:.08em; }
.admin-order-dialog-head h2 { margin:0; color:#202d45; font-size:18px; overflow-wrap:anywhere; }
.admin-order-dialog-head > button { min-width:44px; min-height:44px; border:0; border-radius:12px; background:#f0f3f7; color:#536078; font-size:23px; }
.admin-order-dialog-facts { margin:14px 0; padding:4px 12px; border-radius:14px; background:#f6f8fb; }
.admin-order-dialog-facts div { display:grid; min-height:40px; grid-template-columns:86px minmax(0,1fr); align-items:center; gap:8px; border-top:1px solid #e5e9ef; }
.admin-order-dialog-facts div:first-child { border-top:0; }
.admin-order-dialog-facts dt { color:#8490a3; font-size:12px; }
.admin-order-dialog-facts dd { min-width:0; margin:0; color:#354158; font-size:12px; text-align:right; overflow-wrap:anywhere; }
.admin-order-content { margin-top:10px; border-radius:13px; padding:11px 12px; background:#f8f9fc; }
.admin-order-content small { color:#8994a6; font-size:10px; font-weight:800; }
.admin-order-content p { margin:7px 0 0; color:#445168; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-order-warning { border-left:3px solid #d9493f; padding:9px 11px; background:#fff3f1; color:#9f382f; font-size:12px; line-height:1.6; }
.admin-order-dialog-label span { display:block; margin:12px 0 7px; color:#536078; font-size:12px; font-weight:700; }
.admin-order-dialog-label textarea { width:100%; min-height:82px; border:1px solid #dce2eb; border-radius:12px; padding:11px 12px; background:#f9fafc; font-size:16px; resize:vertical; }
.admin-order-dialog-error { min-height:18px; margin:8px 0 0; color:#c63e35; font-size:12px; }
.admin-order-dialog-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:13px; }
.admin-order-dialog-actions a,.admin-order-dialog-actions button { display:flex; min-height:46px; align-items:center; justify-content:center; border:0; border-radius:12px; background:#2f65d5; color:#fff; font-weight:800; }
.admin-order-dialog-actions button.secondary,.admin-order-dialog-actions button:last-child:not(.danger) { background:#edf0f5; color:#59667c; }
.admin-order-dialog-actions button.danger { background:#d9493f; }
@media (min-width:760px) { .admin-order-workspace { padding:24px 24px 48px; } .admin-kongtou-real-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-order-state { grid-column:1/-1; } .admin-order-dialog { top:50%; right:auto; bottom:auto; left:50%; width:min(560px,calc(100vw - 32px)); transform:translate(-50%,-50%); } }
@media (max-width:360px) { .admin-order-workspace { padding-right:12px; padding-left:12px; } .admin-order-head span { display:none; } .admin-order-filters form { grid-template-columns:minmax(0,1fr) auto; } .admin-order-filters form button.secondary { grid-column:1/-1; } }
.admin-hejie-channel-note { display:grid; gap:5px; margin-bottom:12px; border-left:3px solid #bd7d28; padding:11px 13px; background:#fff8ec; color:#76501f; font-size:12px; line-height:1.55; }
.admin-hejie-channel-note strong { color:#5f3e15; font-size:13px; }
.admin-hejie-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:9px; }
.admin-hejie-tabs button { min-height:44px; border:0; border-radius:11px; background:#eef1f6; color:#65728a; font-weight:700; }
.admin-hejie-tabs button.active { background:#2f65d5; color:#fff; }
.admin-hejie-real-list { display:grid; gap:11px; }
.admin-hejie-real-card { min-width:0; padding:15px; border:1px solid #e1e6ee; border-radius:17px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.05); }
.admin-hejie-real-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.admin-hejie-real-top strong,.admin-hejie-real-top time { display:block; overflow-wrap:anywhere; }
.admin-hejie-real-top strong { color:#27344a; font-size:14px; }
.admin-hejie-real-top time { margin-top:4px; color:#929cac; font-size:11px; }
.admin-hejie-real-top > span { flex:0 0 auto; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:800; }
.admin-hejie-real-top > span.unpaid { background:#fff2dd; color:#9b641d; }.admin-hejie-real-top > span.paid { background:#e8f0ff; color:#315fb8; }.admin-hejie-real-top > span.done { background:#e4f6eb; color:#187448; }.admin-hejie-real-top > span.expired { background:#eceef2; color:#687386; }.admin-hejie-real-top > span.failed { background:#ffe9e6; color:#bd3f35; }
.admin-hejie-real-card dl { margin:12px 0 0; }
.admin-hejie-real-card dl div { display:grid; min-height:40px; grid-template-columns:82px minmax(0,1fr); align-items:center; gap:8px; border-top:1px solid #edf0f5; }
.admin-hejie-real-card dt { color:#8a95a7; font-size:11px; }.admin-hejie-real-card dd { min-width:0; margin:0; color:#445168; font-size:12px; text-align:right; overflow-wrap:anywhere; }
.admin-hejie-link-value { color:#315fba!important; }
.admin-hejie-real-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.admin-hejie-real-actions button { min-height:44px; border:0; border-radius:11px; padding:0 8px; background:#2f65d5; color:#fff; font-size:12px; font-weight:700; }
.admin-hejie-real-actions button.secondary { background:#edf1f7; color:#52637b; }.admin-hejie-real-actions button:disabled { opacity:.5; }
.admin-hejie-dialog input,.admin-hejie-dialog select,.admin-hejie-dialog textarea { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:12px; padding:10px 12px; background:#f9fafc; color:#26334b; font-size:16px; }
.admin-hejie-dialog textarea { min-height:84px; resize:vertical; }
.admin-hejie-dialog-help { margin:10px 0 0; color:#727f92; font-size:11px; line-height:1.6; }.admin-hejie-dialog-help.danger { border-left:3px solid #d9493f; padding:8px 10px; background:#fff3f1; color:#9f382f; }
.ho-retry { display:block; min-width:120px; min-height:44px; margin:14px auto 0; border:0; border-radius:8px; background:#07c160; color:#fff; font-weight:700; }
.ho-page .ho-tab { min-height:44px; }
.ho-page .fixed-home-bar,.od-page .fixed-home-bar { display:flex; min-height:44px; align-items:center; justify-content:center; }
.od-link-address { margin:0 0 12px; color:#536078; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.od-page .od-copy,.od-page .od-pay { display:flex; min-height:44px; align-items:center; justify-content:center; }
@media (min-width:760px) { .admin-hejie-real-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:350px) { .admin-hejie-real-actions { grid-template-columns:1fr; } }
.admin-complaint-channel { display:grid; gap:5px; margin-bottom:12px; border-left:3px solid #c07a25; padding:11px 13px; background:#fff8ec; color:#76501f; font-size:12px; line-height:1.6; }
.admin-complaint-channel strong { color:#5f3e15; font-size:13px; }
.admin-complaint-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-bottom:9px; }
.admin-complaint-tabs button { min-height:44px; border:0; border-radius:11px; background:#eef1f6; color:#65728a; font-weight:700; }
.admin-complaint-tabs button.active { background:#2f65d5; color:#fff; }
.admin-complaint-list { display:grid; gap:11px; }
.admin-complaint-card { min-width:0; padding:15px; border:1px solid #e1e6ee; border-radius:17px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.05); }
.admin-complaint-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.admin-complaint-card-top strong,.admin-complaint-card-top time { display:block; }
.admin-complaint-card-top strong { color:#27344a; font-size:15px; overflow-wrap:anywhere; }.admin-complaint-card-top time { margin-top:4px; color:#929cac; font-size:11px; }
.admin-complaint-card-top > span { flex:0 0 auto; border-radius:999px; padding:5px 8px; font-size:10px; font-weight:800; }.admin-complaint-card-top > span.pending { background:#fff0e4; color:#a65b18; }.admin-complaint-card-top > span.done { background:#e4f6eb; color:#187448; }.admin-complaint-card-top > span.refunded { background:#e8f0ff; color:#315fb8; }
.admin-complaint-card > p { margin:12px 0; border-left:3px solid #d6dde8; padding:9px 10px; background:#f8f9fb; color:#566379; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-complaint-card dl { margin:0; }.admin-complaint-card dl div { display:grid; min-height:40px; grid-template-columns:78px minmax(0,1fr); align-items:center; gap:8px; border-top:1px solid #edf0f5; }.admin-complaint-card dt { color:#8a95a7; font-size:11px; }.admin-complaint-card dd { min-width:0; margin:0; color:#445168; font-size:12px; text-align:right; overflow-wrap:anywhere; }
.admin-complaint-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.admin-complaint-actions button { min-height:44px; border:0; border-radius:11px; padding:0 8px; background:#2f65d5; color:#fff; font-size:12px; font-weight:700; }.admin-complaint-actions button.danger { background:#d9493f; }.admin-complaint-actions button.secondary { background:#edf1f7; color:#52637b; }
.admin-complaint-dialog textarea { width:100%; min-height:100px; border:1px solid #dce2eb; border-radius:12px; padding:11px 12px; background:#f9fafc; font-size:16px; resize:vertical; }.admin-complaint-warning { margin:10px 0 0; border-left:3px solid #d9493f; padding:8px 10px; background:#fff3f1; color:#9f382f; font-size:11px; line-height:1.6; }
@media (min-width:760px) { .admin-complaint-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:360px) { .admin-complaint-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-complaint-actions { grid-template-columns:1fr; } }
.admin-alipay-channel { display:grid; gap:5px; margin-bottom:12px; border-left:3px solid #c07a25; padding:11px 13px; background:#fff8ec; color:#76501f; font-size:12px; line-height:1.6; }.admin-alipay-channel strong { color:#5f3e15; font-size:13px; }
.admin-alipay-review-panel,.admin-alipay-results { margin-bottom:12px; padding:15px; border:1px solid #e1e6ee; border-radius:17px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.05); }.admin-alipay-review-panel h2,.admin-alipay-results h2 { margin:0; color:#27344a; font-size:16px; }.admin-alipay-review-panel > p { margin:5px 0 12px; color:#8792a4; font-size:11px; line-height:1.55; }
.admin-alipay-review-panel form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.admin-alipay-review-panel form label span { display:block; margin-bottom:5px; color:#718095; font-size:11px; }.admin-alipay-review-panel input,.admin-alipay-review-panel select { width:100%; min-height:44px; border:1px solid #dce2eb; border-radius:11px; padding:8px 11px; background:#f9fafc; font-size:16px; }.admin-alipay-review-panel button { min-height:44px; border:0; border-radius:11px; padding:0 14px; background:#1677ff; color:#fff; font-weight:700; }.admin-alipay-review-panel form:has(label) { grid-template-columns:1fr 1fr auto; align-items:end; }
.admin-alipay-results-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }.admin-alipay-results-head span { display:block; margin-top:4px; color:#8792a4; font-size:11px; }.admin-alipay-results-head button { min-height:44px; border:0; background:transparent; color:#315fba; font-weight:700; }
.admin-alipay-result { padding:13px 0; border-top:1px solid #edf0f5; }.admin-alipay-result:first-child { border-top:0; }.admin-alipay-result-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }.admin-alipay-result-top strong,.admin-alipay-result-top span { display:block; overflow-wrap:anywhere; }.admin-alipay-result-top strong { color:#27344a; font-size:13px; }.admin-alipay-result-top span { margin-top:4px; color:#929cac; font-size:10px; }.admin-alipay-result-top em { flex:0 0 auto; border-radius:999px; padding:5px 8px; background:#edf1f7; color:#52637b; font-size:10px; font-style:normal; font-weight:800; }.admin-alipay-result-top em.pending { background:#fff0e4; color:#a65b18; }.admin-alipay-result-top em.recorded { background:#e8f0ff; color:#315fb8; }.admin-alipay-result-top em.failed { background:#ffe9e6; color:#bd3f35; }.admin-alipay-result dl { margin:10px 0 0; }.admin-alipay-result dl div { display:grid; min-height:38px; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:8px; border-top:1px solid #f0f2f5; }.admin-alipay-result dt { color:#8a95a7; font-size:11px; }.admin-alipay-result dd { min-width:0; margin:0; color:#445168; font-size:12px; text-align:right; overflow-wrap:anywhere; }.admin-alipay-result-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }.admin-alipay-result-actions button { min-height:44px; border:0; border-radius:11px; background:#edf1f7; color:#52637b; font-weight:700; }.admin-alipay-result-actions button.primary { background:#1677ff; color:#fff; }.admin-alipay-empty { min-height:90px; display:grid; place-items:center; color:#8d98a9; font-size:13px; }
.admin-alipay-dialog textarea { width:100%; min-height:100px; border:1px solid #dce2eb; border-radius:12px; padding:11px 12px; background:#f9fafc; font-size:16px; resize:vertical; }.admin-alipay-warning { margin:10px 0 0; border-left:3px solid #d9493f; padding:8px 10px; background:#fff3f1; color:#9f382f; font-size:11px; line-height:1.6; }
@media (max-width:500px) { .admin-alipay-review-panel form,.admin-alipay-review-panel form:has(label) { grid-template-columns:1fr; } .admin-alipay-review-panel button { width:100%; } }
.admin-user-workspace-shell { max-width:none; background:transparent; }
.admin-user-workspace { width:min(100%,960px); max-width:960px; padding:18px 16px calc(44px + env(safe-area-inset-bottom)); }
.admin-user-head { display:grid; grid-template-columns:44px minmax(0,1fr) 58px; align-items:center; gap:10px; margin-bottom:16px; }
.admin-user-head > a,.admin-user-head > button { display:grid; min-width:44px; min-height:44px; place-items:center; border:0; border-radius:12px; background:#fff; color:#354158; box-shadow:0 6px 20px rgba(50,65,90,.06); }
.admin-user-head > a { font-size:27px; }
.admin-user-head > button { font-size:13px; font-weight:700; }
.admin-user-head div { min-width:0; }
.admin-user-head p { margin:0 0 3px; color:#7b879b; font-size:10px; font-weight:800; letter-spacing:.12em; }
.admin-user-head h1 { margin:0; color:#172033; font-size:24px; }
.admin-user-state { display:grid; min-height:220px; place-content:center; padding:24px; border:1px dashed #ccd5e3; border-radius:18px; background:#fff; text-align:center; }
.admin-user-state strong { color:#354158; font-size:16px; }
.admin-user-state span { margin-top:8px; color:#8792a5; font-size:13px; }
.admin-user-state button { min-height:44px; margin-top:16px; border:0; border-radius:12px; padding:0 18px; background:#2f65d5; color:#fff; font-weight:700; }
.admin-user-hero { display:flex; align-items:flex-start; gap:13px; margin-bottom:12px; padding:17px; border-radius:18px; background:linear-gradient(140deg,#18243d,#263b63); color:#fff; box-shadow:0 12px 32px rgba(25,39,68,.18); }
.admin-user-avatar { display:grid; flex:0 0 52px; width:52px; height:52px; place-items:center; border-radius:17px; background:linear-gradient(145deg,#e6efff,#bdd1fa); color:#2b5dbb; font-size:21px; font-weight:800; }
.admin-user-identity { min-width:0; flex:1; }
.admin-user-identity > div { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.admin-user-identity h2 { min-width:0; margin:0; font-size:18px; overflow-wrap:anywhere; }
.admin-user-identity > div span { flex:0 0 auto; padding:5px 9px; border-radius:999px; font-size:11px; font-weight:800; }
.admin-user-identity > div span.normal { background:#dff7e8; color:#147344; }
.admin-user-identity > div span.disabled { background:#ffe3df; color:#b9372d; }
.admin-user-identity > button { display:grid; width:100%; min-height:44px; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; border:0; border-top:1px solid rgba(255,255,255,.11); padding:6px 0; background:transparent; color:#fff; text-align:left; }
.admin-user-identity > button small { color:#aebbd2; }
.admin-user-identity > button strong { min-width:0; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.admin-user-identity > button em { color:#9eb8eb; font-size:11px; font-style:normal; }
.admin-user-grid { display:grid; gap:12px; }
.admin-user-panel { min-width:0; margin-bottom:12px; padding:16px; border:1px solid #e2e7ef; border-radius:18px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.05); }
.admin-user-panel-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:13px; }
.admin-user-panel-title small { display:block; margin-bottom:3px; color:#8893a6; font-size:10px; font-weight:800; letter-spacing:.09em; }
.admin-user-panel-title h2 { margin:0; color:#253149; font-size:16px; }
.admin-user-panel-title > a,.admin-user-panel-title > span { display:flex; min-height:44px; align-items:center; color:#2f65d5; font-size:12px; font-weight:700; }
.admin-user-facts { margin:0; }
.admin-user-facts div { display:grid; min-height:44px; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:9px; border-top:1px solid #edf0f5; }
.admin-user-facts div:first-child { border-top:0; }
.admin-user-facts dt { color:#8994a6; font-size:12px; }
.admin-user-facts dd { min-width:0; margin:0; color:#354158; font-size:13px; text-align:right; overflow-wrap:anywhere; }
.admin-user-balance { display:flex; align-items:baseline; gap:5px; color:#1d2a43; }
.admin-user-balance strong { font-size:42px; line-height:1; }
.admin-user-balance span { color:#69768e; font-size:14px; }
.admin-user-balance-panel > p { margin:12px 0; color:#7a879c; font-size:12px; line-height:1.65; }
.admin-user-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.admin-user-actions button,.admin-user-status-panel > button { min-height:44px; border:0; border-radius:12px; background:#2f65d5; color:#fff; font-weight:700; }
.admin-user-actions button.secondary { background:#edf2fb; color:#315fba; }
.admin-user-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.admin-user-stats a { display:flex; min-width:0; min-height:110px; flex-direction:column; border:1px solid #e6eaf1; border-radius:14px; padding:12px 10px; background:#f8faff; color:#536078; }
.admin-user-stats span { font-size:11px; }
.admin-user-stats strong { margin:8px 0; color:#1d2a43; font-size:24px; overflow-wrap:anywhere; }
.admin-user-stats em { margin-top:auto; color:#2f65d5; font-size:10px; font-style:normal; font-weight:700; }
.admin-user-status-panel { border-color:#f0d8d5; }
.admin-user-status-panel > p { margin:0 0 13px; color:#6d788c; font-size:13px; line-height:1.65; }
.admin-user-status-panel > button { width:100%; background:#d9493f; }
.admin-user-dialog-backdrop { position:fixed; z-index:1000; inset:0; background:rgba(15,24,42,.54); backdrop-filter:blur(3px); }
.admin-user-dialog { position:fixed; z-index:1001; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); left:12px; max-height:calc(100dvh - 24px); overflow:auto; border-radius:20px; padding:17px; background:#fff; box-shadow:0 22px 70px rgba(14,24,43,.28); }
.admin-user-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.admin-user-dialog-head small { display:block; margin-bottom:3px; color:#c04b42; font-size:10px; font-weight:800; letter-spacing:.08em; }
.admin-user-dialog-head h2 { margin:0; color:#202d45; font-size:19px; }
.admin-user-dialog-head > button { min-width:44px; min-height:44px; border:0; border-radius:12px; background:#f0f3f7; color:#536078; font-size:23px; }
.admin-user-impact { margin:14px 0; padding:5px 13px; border-radius:14px; background:#f6f8fb; }
.admin-user-impact p { display:grid; min-height:40px; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:8px; margin:0; border-top:1px solid #e6eaf0; }
.admin-user-impact p:first-child { border-top:0; }
.admin-user-impact span { color:#8490a3; font-size:12px; }
.admin-user-impact strong { min-width:0; color:#354158; font-size:12px; text-align:right; overflow-wrap:anywhere; }
.admin-user-impact strong.danger { color:#cc3f36; }
.admin-user-dialog label { display:block; margin-top:12px; }
.admin-user-dialog label > span { display:block; margin-bottom:7px; color:#536078; font-size:12px; font-weight:700; }
.admin-user-dialog input,.admin-user-dialog textarea { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:12px; padding:11px 12px; background:#f9fafc; color:#26334b; font-size:16px; }
.admin-user-dialog textarea { min-height:82px; resize:vertical; }
.admin-user-warning { margin:12px 0; border-left:3px solid #d9493f; padding:9px 11px; background:#fff3f1; color:#9f382f; font-size:12px; line-height:1.6; }
.admin-user-dialog-error { min-height:18px; margin:8px 0 0; color:#c63e35; font-size:12px; }
.admin-user-dialog-actions { display:grid; grid-template-columns:1fr 1.35fr; gap:9px; margin-top:12px; }
.admin-user-dialog-actions button { min-height:46px; border:0; border-radius:12px; background:#2f65d5; color:#fff; font-weight:800; }
.admin-user-dialog-actions button.secondary { background:#edf0f5; color:#59667c; }
.admin-user-dialog-actions button.danger { background:#d9493f; }
.admin-user-dialog-actions button:disabled { opacity:.55; }
.admin-user-toast { position:fixed; z-index:1100; right:18px; bottom:calc(18px + env(safe-area-inset-bottom)); left:18px; border-radius:13px; padding:13px 15px; background:#15223a; color:#fff; font-size:13px; text-align:center; box-shadow:0 12px 32px rgba(17,31,57,.24); }
@media (min-width:760px) {
  .admin-user-workspace { padding:24px 24px 48px; }
  .admin-user-grid { grid-template-columns:1fr 1fr; }
  .admin-user-dialog { top:50%; right:auto; bottom:auto; left:50%; width:min(520px,calc(100vw - 32px)); transform:translate(-50%,-50%); }
}
@media (max-width:350px) {
  .admin-user-workspace { padding-right:12px; padding-left:12px; }
  .admin-user-hero { padding:14px; }
  .admin-user-avatar { flex-basis:44px; width:44px; height:44px; border-radius:14px; }
  .admin-user-stats { grid-template-columns:1fr; }
  .admin-user-stats a { min-height:82px; }
}
.admin-users-workspace-shell { max-width:none; background:transparent; }
.admin-users-workspace { width:min(100%,960px); max-width:960px; padding:18px 16px 40px; }
.admin-users-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.admin-users-head p { margin:0 0 4px; color:#738099; font-size:11px; font-weight:800; letter-spacing:.1em; }
.admin-users-head h1 { margin:0; color:#172033; font-size:25px; }
.admin-users-head a { display:flex; min-height:44px; align-items:center; padding:0 14px; border-radius:12px; background:#172033; color:#fff; font-size:13px; }
.admin-users-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.admin-users-summary button { min-height:76px; border:1px solid #e0e5ee; border-radius:14px; background:#fff; color:#65728a; }
.admin-users-summary button.active { border-color:#2f65d5; background:#edf3ff; color:#2458bd; box-shadow:0 7px 18px rgba(47,101,213,.1); }
.admin-users-summary span,.admin-users-summary strong { display:block; }
.admin-users-summary span { font-size:12px; }
.admin-users-summary strong { margin-top:6px; color:#172033; font-size:22px; }
.admin-users-summary strong.danger { color:#d74338; }
.admin-users-search { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; margin-bottom:14px; padding:10px; border-radius:15px; background:#fff; box-shadow:0 7px 22px rgba(50,65,90,.06); }
.admin-users-search input { width:100%; min-height:44px; border:1px solid #e0e5ee; border-radius:11px; padding:9px 12px; background:#f7f9fc; }
.admin-users-search button { min-height:44px; border:0; border-radius:11px; padding:0 14px; background:#2f65d5; color:#fff; font-size:13px; font-weight:700; }
.admin-users-search button.ghost { background:#eef1f6; color:#536078; }
.admin-users-result-meta { display:flex; align-items:center; justify-content:space-between; margin:0 2px 10px; color:#536078; }
.admin-users-result-meta span { font-size:14px; font-weight:800; }
.admin-users-result-meta small { font-size:12px; }
.admin-users-real-list { display:grid; gap:11px; }
.admin-users-real-card { display:block; min-width:0; padding:14px; border:1px solid #e2e7ef; border-radius:16px; background:#fff; color:#172033; box-shadow:0 7px 22px rgba(50,65,90,.05); }
.admin-users-card-top { display:flex; align-items:center; gap:11px; min-width:0; }
.admin-users-avatar { display:grid; flex:0 0 44px; width:44px; height:44px; place-items:center; border-radius:14px; background:#e9f1ff; color:#2e62c9; font-weight:800; }
.admin-users-identity { min-width:0; flex:1; }
.admin-users-identity strong,.admin-users-identity small { display:block; overflow-wrap:anywhere; }
.admin-users-identity strong { margin-bottom:4px; font-size:15px; }
.admin-users-identity small { color:#8792a5; font-size:11px; }
.admin-users-status { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#eef1f6; color:#65728a; font-size:11px; }
.admin-users-status.normal { background:#e6f8ed; color:#16814a; }
.admin-users-status.disabled { background:#ffeae7; color:#c74237; }
.admin-users-card-metrics { display:grid; gap:8px; margin-top:13px; padding-top:12px; border-top:1px solid #edf0f5; }
.admin-users-card-metrics span { display:grid; grid-template-columns:72px minmax(0,1fr); gap:8px; }
.admin-users-card-metrics small { color:#8994a6; font-size:12px; }
.admin-users-card-metrics strong { min-width:0; color:#354158; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.admin-users-card-foot { margin-top:12px; color:#2f65d5; font-size:12px; font-weight:700; text-align:right; }
.admin-users-state { display:grid; min-height:150px; place-content:center; padding:20px; border:1px dashed #ccd5e3; border-radius:16px; background:#fff; text-align:center; }
.admin-users-state strong { color:#354158; font-size:15px; }
.admin-users-state span { margin-top:7px; color:#8994a6; font-size:12px; }
.admin-users-state button,.admin-users-more { min-height:44px; border:0; border-radius:12px; background:#2f65d5; color:#fff; font-weight:700; }
.admin-users-state button { margin-top:14px; padding:0 16px; }
.admin-users-more { width:100%; margin-top:12px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (min-width:720px) {
  .admin-users-workspace { padding:24px 24px 48px; }
  .admin-users-real-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-users-state { grid-column:1/-1; }
}

.admin-advanced-head {
  width: 100%;
  min-height: 36px;
  margin: 2px 0 12px;
  border: 0;
  background: transparent;
  color: #333;
  padding: 0;
  text-align: left;
  font-size: 14px;
  font-weight: 700;
}

.admin-advanced-box {
  padding-top: 2px;
}

.mail-secret {
  -webkit-text-security: disc;
}

.admin-switch-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.admin-switch-row > span {
  width: 100px;
  flex: 0 0 auto;
  color: #333;
  font-size: 15px;
}

.admin-switch,
.admin-switch-line .switch {
  position: relative;
  width: 52px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: #ddd;
  padding: 0;
}

.admin-switch i,
.admin-switch-line .switch i {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.18s ease;
}

.admin-switch.on,
.admin-switch-line .switch.on {
  background: #1677ff;
}

.admin-switch.on i,
.admin-switch-line .switch.on i {
  transform: translateX(22px);
}

.admin-switch-line {
  display: flex;
  align-items: center;
  gap: 10px;
}


/* ADMIN-DASHBOARD-05: focused, mobile-first management home */
.admin-home-body {
  --admin-blue: #3566e8;
  --admin-blue-deep: #254fc3;
  --admin-ink: #182230;
  --admin-muted: #7b8798;
  --admin-line: #e5eaf1;
  background: #f3f6fb;
}

.admin-home-page {
  width: min(100%, 1120px);
  max-width: 1120px;
  padding: 22px 20px calc(42px + env(safe-area-inset-bottom));
}

.admin-home-header {
  position: relative;
  align-items: center;
  margin: 0 0 14px;
  border-radius: 18px;
  padding: 22px 24px;
  overflow: hidden;
  background: linear-gradient(125deg, #15213b 0%, #253b6d 66%, #315fd0 100%);
  box-shadow: 0 18px 36px rgba(25, 43, 81, .16);
}

.admin-home-header::after {
  position: absolute;
  top: -70px;
  right: -34px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 50%;
  box-shadow: 0 0 0 36px rgba(255, 255, 255, .035), 0 0 0 74px rgba(255, 255, 255, .025);
  content: "";
  pointer-events: none;
}

.admin-home-welcome {
  position: relative;
  z-index: 1;
}

.admin-home-welcome > span {
  margin: 0 0 7px;
  color: #91a8d5;
  font-size: 11px;
  letter-spacing: .08em;
}

.admin-home-welcome h1 {
  color: #fff;
  font-size: 25px;
  font-weight: 500;
}

.admin-home-welcome h1 strong {
  font-weight: 800;
}

.admin-home-welcome p {
  margin-top: 7px;
  color: #b7c4dd;
  font-size: 12px;
}

.admin-home-account {
  position: relative;
  z-index: 1;
  min-width: 96px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 11px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  backdrop-filter: blur(10px);
}

.admin-home-account span {
  white-space: nowrap;
}

.admin-home-account i {
  margin-left: 9px;
  color: #aebfe3;
  font-size: 18px;
  font-style: normal;
}

.admin-home-health {
  min-height: 48px;
  margin: 0 0 14px;
  border: 1px solid var(--admin-line);
  border-radius: 12px;
  padding-left: 15px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(28, 43, 69, .035);
}

.admin-home-health > i {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 4px rgba(43, 156, 98, .1);
}

.admin-home-health button {
  border-left: 1px solid var(--admin-line);
  color: #4161a6;
}

.admin-home-summary,
.admin-home-todos,
.admin-home-shortcuts,
.admin-home-all {
  margin-bottom: 14px;
  border: 1px solid var(--admin-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(28, 43, 69, .045);
}

.admin-home-summary,
.admin-home-todos,
.admin-home-shortcuts {
  padding: 0 17px;
}

.admin-home-section-title {
  padding: 17px 0 13px;
  border-bottom-color: #edf0f4;
}

.admin-home-section-title h2 {
  color: var(--admin-ink);
  font-size: 16px;
}

.admin-home-section-title span {
  color: #929dab;
  font-size: 10px;
}

.admin-home-section-title > b {
  min-width: 32px;
  height: 30px;
  border-radius: 9px;
  background: #fff0ee;
  color: #c44339;
}

.admin-home-feedback {
  margin: 13px 0;
  border-radius: 9px;
  background: #f5f7fa;
}

.admin-home-task {
  min-height: 67px;
  border-top-color: #edf0f4;
}

.admin-home-task strong {
  color: #263246;
  font-size: 13px;
  font-weight: 700;
}

.admin-home-task small {
  margin-top: 5px;
  color: #8d98a8;
}

.admin-home-task > b,
.admin-home-task.urgent > b,
.admin-home-task.attention > b {
  min-width: 30px;
  border-radius: 8px;
  background: #f0f3f8;
  color: #516078;
}

.admin-home-task.urgent > b {
  background: #fff0ee;
  color: #c44339;
}

.admin-home-task.attention > b {
  background: #fff6e8;
  color: #9d671e;
}

.admin-home-metrics {
  gap: 10px;
  padding: 13px 0 16px;
}

.admin-home-metrics a,
.admin-home-metrics a:first-child {
  display: flex;
  min-height: 92px;
  flex-direction: column-reverse;
  align-items: flex-start;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  padding: 13px;
  background: #f5f7fb;
  color: var(--admin-muted);
  text-align: left;
}

.admin-home-metrics strong {
  margin: 0 0 10px;
  color: var(--admin-ink);
  font-size: 24px;
}

.admin-home-metrics span {
  font-size: 10px;
}

.admin-home-shortcuts nav {
  column-gap: 22px;
}

.admin-home-shortcuts a {
  min-height: 64px;
  grid-template-columns: 36px minmax(0, 1fr) 14px;
}

.admin-home-shortcuts i,
.admin-home-shortcuts i.green,
.admin-home-shortcuts i.blue,
.admin-home-shortcuts i.orange,
.admin-home-shortcuts i.purple,
.admin-home-shortcuts i.red,
.admin-home-shortcuts i.yellow {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #edf2ff;
  color: #4164bd;
}

.admin-home-shortcuts strong {
  color: #2e3a4d;
  font-size: 13px;
}

.admin-home-all summary {
  min-height: 64px;
  padding: 0 17px;
}

.admin-home-all-content {
  padding: 15px 17px 18px;
}

@media (max-width: 560px) {
  .admin-home-page {
    padding: 12px 12px calc(30px + env(safe-area-inset-bottom));
  }

  .admin-home-header {
    min-height: 126px;
    align-items: flex-start;
    border-radius: 16px;
    padding: 18px;
  }

  .admin-home-welcome h1 {
    max-width: 220px;
    font-size: 22px;
  }

  .admin-home-welcome p {
    max-width: 220px;
  }

  .admin-home-account {
    min-width: 44px;
    padding: 0 10px;
  }

  .admin-home-account span {
    display: none;
  }

  .admin-home-account i {
    margin: 0;
  }

  .admin-home-health {
    margin-top: -17px;
    margin-right: 10px;
    margin-left: 10px;
    box-shadow: 0 12px 24px rgba(28, 43, 69, .1);
  }

  .admin-home-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-home-metrics a,
  .admin-home-metrics a:first-child {
    min-height: 84px;
  }

  .admin-home-shortcuts nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 13px 0 16px;
  }

  .admin-home-shortcuts a,
  .admin-home-shortcuts a:nth-child(2) {
    min-height: 78px;
    grid-template-columns: 34px minmax(0, 1fr);
    border: 1px solid #edf0f4;
    border-radius: 11px;
    padding: 9px;
  }

  .admin-home-shortcuts a > b,
  .admin-home-shortcuts small {
    display: none;
  }

  .admin-home-shortcuts i,
  .admin-home-shortcuts i.green,
  .admin-home-shortcuts i.blue,
  .admin-home-shortcuts i.orange,
  .admin-home-shortcuts i.purple,
  .admin-home-shortcuts i.red,
  .admin-home-shortcuts i.yellow {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 340px) {
  .admin-home-page {
    padding-right: 10px;
    padding-left: 10px;
  }

  .admin-home-header {
    padding-right: 15px;
    padding-left: 15px;
  }

  .admin-home-summary,
  .admin-home-todos,
  .admin-home-shortcuts {
    padding: 0 14px;
  }

  .admin-home-shortcuts nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-home-shortcuts a:nth-child(2) {
    border-top: 1px solid #edf0f4;
  }
}

@media (min-width: 900px) {
  .admin-home-page {
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .75fr);
    gap: 16px;
    padding: 28px;
  }

  .admin-home-header,
  .admin-home-health {
    grid-column: 1 / -1;
  }

  .admin-home-todos {
    grid-column: 1;
    grid-row: 3 / span 3;
  }

  .admin-home-summary {
    grid-column: 2;
    grid-row: 3;
  }

  .admin-home-shortcuts {
    grid-column: 2;
    grid-row: 4;
  }

  .admin-home-shortcuts nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-home-shortcuts a:nth-child(2) {
    border-top: 0;
  }

  .admin-home-all {
    grid-column: 2;
    grid-row: 5;
  }
}

/* Manual message order management */
.admin-rengong-workspace {
  width: min(100%, 920px);
  max-width: 920px;
}

.admin-rengong-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 8px;
  border: 1px solid #e1e4e8;
  border-radius: 7px;
  overflow: hidden;
  background: #e1e4e8;
}

.admin-rengong-tabs button {
  min-height: 44px;
  border: 0;
  background: #fff;
  color: #667182;
  font-size: 12px;
  font-weight: 700;
}

.admin-rengong-tabs button.active {
  background: #2d5d9f;
  color: #fff;
}

.admin-rengong-filter-row {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 8px;
}

.admin-rengong-filter-row > label {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3px;
}

.admin-rengong-filter-row > label span {
  color: #7d8795;
  font-size: 9px;
}

.admin-rengong-filter-row select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dfe4ec;
  border-radius: 7px;
  padding: 0 8px;
  background: #fff;
  color: #4b5668;
  font-size: 12px;
}

.admin-rengong-filter-row form {
  align-self: end;
}

.admin-rengong-real-list {
  display: grid;
  gap: 0;
}

.admin-rengong-real-card {
  min-width: 0;
  border: 1px solid #e1e4e8;
  border-radius: 0;
  padding: 14px;
  background: #fff;
}

.admin-rengong-real-card + .admin-rengong-real-card {
  border-top: 0;
}

.admin-rengong-real-card:first-child {
  border-radius: 10px 10px 0 0;
}

.admin-rengong-real-card:last-child {
  border-radius: 0 0 10px 10px;
}

.admin-rengong-real-card:only-child {
  border-radius: 10px;
}

.admin-rengong-real-head,
.admin-rengong-real-head > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}

.admin-rengong-real-head em,
.admin-rengong-real-head span,
.admin-rengong-real-head > strong {
  border-radius: 5px;
  padding: 5px 8px;
  background: #f0f2f4;
  color: #596474;
  font-size: 10px;
  font-style: normal;
}

.admin-rengong-real-head em.success {
  background: #edf6f0;
  color: #36704f;
}

.admin-rengong-real-head em.fail,
.admin-rengong-real-head > strong.hidden {
  background: #fff0ed;
  color: #a9453d;
}

.admin-rengong-real-head em.pending {
  background: #fff6e7;
  color: #8a611f;
}

.admin-rengong-real-card h2 {
  margin: 11px 0 6px;
  color: #263244;
  font-size: 15px;
  overflow-wrap: anywhere;
}

.admin-rengong-real-card > p {
  margin: 0;
  color: #58657b;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.admin-rengong-real-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 11px 0 0;
  border-top: 1px solid #eceef1;
}

.admin-rengong-real-card dl div {
  display: grid;
  min-height: 38px;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #f0f1f3;
}

.admin-rengong-real-card dl div:nth-child(even) {
  padding-left: 10px;
}

.admin-rengong-real-card dt {
  color: #8b94a1;
  font-size: 10px;
}

.admin-rengong-real-card dd {
  min-width: 0;
  margin: 0;
  color: #485468;
  font-size: 11px;
  text-align: right;
  overflow-wrap: anywhere;
}

.admin-rengong-real-card blockquote {
  margin: 10px 0 0;
  border-left: 3px solid #c9d4e2;
  padding: 8px 10px;
  background: #f7f8fa;
  color: #596474;
  font-size: 11px;
  line-height: 1.6;
}

.admin-rengong-real-actions,
.admin-rengong-detail-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 11px;
}

.admin-rengong-real-actions a,
.admin-rengong-real-actions button,
.admin-rengong-detail-actions a,
.admin-rengong-detail-actions button {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe4ea;
  border-radius: 7px;
  background: #fff;
  color: #365b89;
  font-size: 12px;
  font-weight: 700;
}

.admin-rengong-real-actions button.danger,
.admin-rengong-detail-actions button[data-rg-hide-toggle]:not(.restore) {
  border-color: #efcfcc;
  color: #a33d37;
}

.admin-rengong-real-actions button.restore,
.admin-rengong-detail-actions button.restore {
  border-color: #cfe1d6;
  color: #346c4d;
}

.admin-rengong-detail-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 54px;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.admin-rengong-detail-head > a,
.admin-rengong-detail-head > button {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  border: 1px solid #dfe3e8;
  border-radius: 7px;
  background: #fff;
  color: #445166;
}

.admin-rengong-detail-head > a {
  font-size: 26px;
}

.admin-rengong-detail-head > button {
  font-size: 11px;
  font-weight: 700;
}

.admin-rengong-detail-head div {
  min-width: 0;
}

.admin-rengong-detail-head span {
  color: #7d8795;
  font-size: 10px;
}

.admin-rengong-detail-head h1 {
  margin: 3px 0 0;
  color: #1d2735;
  font-size: 17px;
  overflow-wrap: anywhere;
}

.admin-rengong-summary,
.admin-rengong-detail-section {
  margin-bottom: 10px;
  border: 1px solid #e1e4e8;
  border-radius: 10px;
  padding: 14px;
  background: #fff;
}

.admin-rengong-summary > div,
.admin-rengong-detail-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-rengong-summary em,
.admin-rengong-summary strong {
  border-radius: 5px;
  padding: 5px 8px;
  background: #f0f2f4;
  color: #596474;
  font-size: 10px;
  font-style: normal;
}

.admin-rengong-summary em.success {
  background: #edf6f0;
  color: #36704f;
}

.admin-rengong-summary em.fail,
.admin-rengong-summary strong.hidden {
  background: #fff0ed;
  color: #a9453d;
}

.admin-rengong-summary h2 {
  margin: 12px 0 4px;
  color: #263244;
  font-size: 17px;
  overflow-wrap: anywhere;
}

.admin-rengong-summary p {
  margin: 0;
  color: #7d8795;
  font-size: 11px;
}

.admin-rengong-detail-section h2 {
  margin: 0;
  color: #354154;
  font-size: 14px;
}

.admin-rengong-detail-section header button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: #315b8f;
  font-size: 11px;
}

.admin-rengong-message,
.admin-rengong-feedback {
  margin: 9px 0 0;
  color: #485468;
  font-size: 13px;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.admin-rengong-detail-facts {
  margin: 8px 0 0;
}

.admin-rengong-detail-facts div {
  display: grid;
  min-height: 40px;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border-top: 1px solid #eef0f2;
}

.admin-rengong-detail-facts dt {
  color: #8b94a1;
  font-size: 11px;
}

.admin-rengong-detail-facts dd {
  min-width: 0;
  margin: 0;
  color: #485468;
  font-size: 12px;
  text-align: right;
  overflow-wrap: anywhere;
}

.admin-rengong-detail-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
}

.admin-rengong-state-modes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 12px;
  border: 1px solid #dfe3e8;
  border-radius: 7px;
  overflow: hidden;
  background: #dfe3e8;
}

.admin-rengong-state-modes button {
  min-height: 44px;
  border: 0;
  background: #fff;
  color: #667182;
  font-size: 11px;
  font-weight: 700;
}

.admin-rengong-state-modes button.active {
  background: #edf2f8;
  color: #2d5d9f;
}

.rg-datetime-row {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 5px 14px;
  background: #fff;
  color: #555;
  font-size: 13px;
}

.rg-datetime-row input {
  min-width: 0;
  min-height: 44px;
  border: 1px solid #dfe3e8;
  border-radius: 5px;
  padding: 6px 8px;
  background: #fff;
  color: #333;
  font-size: 14px;
}

.rengong-original-page .rg-account-card input,
.rengong-original-page .rg-more-body input {
  min-height: 44px;
}

.rengong-original-page .rg-more-head {
  min-height: 44px;
}

.rengong-original-page .rg-agree-card a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-block: -11px;
}

.rengong-original-page .rg-agree-tail a {
  margin-block: 0;
}

.rengong-original-page .rg-agree-card {
  min-height: 44px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

@media (max-width: 560px) {
  .admin-rengong-filter-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 360px) {
  .admin-rengong-real-card dl {
    grid-template-columns: 1fr;
  }

  .admin-rengong-real-card dl div:nth-child(even) {
    padding-left: 0;
  }

  .admin-rengong-detail-actions {
    grid-template-columns: 1fr;
  }
}

.sms-user-head {
  margin: -6px -4px 12px;
  border-bottom: 1px solid #ddd;
  background: #fff;
  padding: 20px;
}

.admin-msg-list-card {
  position: relative;
  display: block;
  margin: 15px 15px 0;
  border-radius: 5px;
  background: #fff;
  padding: 15px 0 11px 15px;
  color: #333;
}

.admin-msg-list-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  padding-right: 10px;
}

.admin-msg-list-top strong {
  min-width: 0;
  color: #333;
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  word-break: break-all;
}

.admin-forward-mark {
  width: 15px;
  height: 15px;
}

.admin-unread-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  min-height: 20px;
  border-radius: 999px;
  background: #ff5722;
  color: #fff;
  padding: 0 6px;
  font-size: 12px;
  line-height: 20px;
}

.admin-msg-list-content {
  margin-top: 7px;
  margin-right: 15px;
  border-bottom: 1px solid #ddd;
  padding: 0 0 7px;
}

.admin-msg-list-content p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin: 0;
  color: #999;
  font-size: 14px;
  line-height: 17px;
  word-break: break-all;
}

.admin-msg-list-content b {
  display: block;
  margin-top: 5px;
  color: #ff5722;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-msg-list-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 11px;
  padding-right: 15px;
}

.admin-msg-list-bottom > div {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.admin-msg-list-bottom time,
.admin-inline-loading,
.admin-msg-list-bottom em {
  color: #666;
  font-size: 14px;
  font-style: normal;
  white-space: nowrap;
}

.admin-sms-original-card {
  margin-bottom: 10px;
  border-radius: 5px;
  background: #fff;
  padding: 10px;
}

.admin-timing-filter {
  padding: 15px 15px 5px;
}

.admin-timing-filter {
  display: flex;
  align-items: center;
}

.admin-timing-filter button {
  flex: 1;
  min-height: 40px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  color: #999;
  font-size: 14px;
}

.admin-timing-filter button.active {
  background: #20a53a;
  color: #fff;
}

.admin-timing-warning {
  padding: 10px 20px 0;
}

.admin-timing-warning p {
  margin: 0;
  border-radius: 5px;
  background: #fed989;
  box-shadow: inset 0 0 5px 0 #fdb314;
  color: #6e1a0d;
  padding: 15px;
  font-size: 14px;
  line-height: 22px;
  word-break: break-all;
}

.admin-timing-panel {
  display: none;
}

.admin-timing-panel.active {
  display: block;
}

.admin-timing-panel .admin-sms-original-card {
  margin: 10px 15px 0;
}

.sms-card-head,
.sms-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.sms-card-head button:first-child,
.sms-card-head label,
.sms-card-head strong,
.admin-sms-card-head label {
  border: 0;
  background: transparent;
  color: #333;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  text-align: left;
}

.sms-card-head em,
.sms-card-head strong em,
.admin-sms-card-head label em {
  padding-left: 5px;
  color: #f0ad4e;
  font-size: 11px;
  font-style: normal;
}

.sms-card-head em.warn,
.sms-card-head strong em.warn,
.admin-sms-card-head label em.warn {
  color: #ff5722;
  font-size: 16px;
}

.sms-card-head > div,
.sms-card-foot > div {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sms-card-content {
  margin: 6px 0;
  border-radius: 2px;
  background: #eee;
  padding: 8px;
}

.sms-card-content p {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 22px;
  word-break: break-all;
}

.sms-card-content strong {
  display: block;
  margin-top: 8px;
  color: #ff5722;
  font-size: 14px;
  font-weight: 400;
  white-space: nowrap;
}

.sms-card-foot time {
  color: #999;
  font-size: 14px;
}

.mini-outline.success-mini {
  border-color: #20a53a;
  background: #20a53a;
  color: #fff;
}

.mini-outline.danger-mini {
  border-color: #ff5722;
  color: #ff5722;
}

.mini-outline.orange-mini {
  background: #f0ad4e;
  border-color: #f0ad4e;
  color: #fff;
}

.timing-text {
  padding-top: 10px;
  color: blue;
  font-size: 14px;
}

.admin-chat-row header {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
  margin-bottom: 8px;
}

.admin-chat-row.reply header {
  justify-content: flex-start;
}

.admin-chat-row header time {
  color: #666;
  font-size: 14px;
}

.admin-chat-row header em {
  border-radius: 999px;
  background: darkred;
  color: #fff;
  padding: 3px 8px;
  font-size: 12px;
  font-style: normal;
}

.admin-chat-row.send-fail > div {
  background: #ffbdbc;
}

.admin-chat-row.deleted > div {
  background: #ffbdbc;
  color: #333;
}

.admin-chat-row.app-msg > div {
  background: #fff700;
}

.admin-chat-action-sheet.show {
  transform: translate(-50%, 0);
}

.admin-reply-bar textarea {
  flex: 1;
  min-height: 38px;
  max-height: 100px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  padding: 10px;
  resize: vertical;
}

.phone-sheet-toggle:checked ~ .admin-modal-mask {
  display: block;
  visibility: visible;
  opacity: 1;
}

.phone-sheet-toggle:checked ~ .admin-bottom-sheet:not(.admin-chat-action-sheet) {
  transform: translate(-50%, 0);
}

.mini-confirm-sheet .ghost-btn,
.mini-confirm-sheet .warn-btn {
  margin-top: 10px;
}

.kefu-page-original {
  max-width: 430px;
  padding: 0 0 24px;
  background: #ededed;
}

.kefu-app-head {
  background: #fff;
  padding: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.kefu-app-head img {
  width: 76px;
  height: 76px;
  border-radius: 10px;
}

.kefu-app-head strong {
  font-size: 20px;
  color: #333;
  line-height: 44px;
}

.kefu-app-head span {
  color: #999;
  font-size: 15px;
}

.restored-flow-page {
  background: #ededed;
}

.restored-flow-page .simple-nav {
  margin-bottom: 18px;
}

.restore-form-card,
.restore-tip-card,
.restore-score-card,
.restore-sender-card,
.restore-message-content,
.phone-state-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(31, 36, 48, 0.05);
}

.restore-form-card {
  padding: 24px 20px;
}

.restore-form-card h1,
.restore-list-title h1,
.phone-state-card h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
  line-height: 1.45;
}

.restore-form-card h1 {
  margin-bottom: 24px;
  font-weight: 600;
}

.restore-field {
  display: grid;
  gap: 9px;
  margin-bottom: 18px;
}

.restore-field span {
  color: #333;
  font-size: 15px;
  font-weight: 700;
}

.restore-field input,
.restore-field textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 14px;
  background: #fff;
  color: #333;
  padding: 13px 15px;
  outline: none;
}

.restore-field textarea {
  line-height: 1.65;
  resize: vertical;
}

.restore-field input:focus,
.restore-field textarea:focus {
  border-color: #333;
  box-shadow: 0 0 0 3px rgba(51, 51, 51, 0.06);
}

.restore-field em {
  justify-self: end;
  color: #999;
  font-size: 12px;
  font-style: normal;
}

.restore-tip-card {
  margin-top: 4px;
  padding: 14px;
  background: #fff8e8;
  border: 1px solid #ffe2a8;
  box-shadow: none;
}

.restore-tip-card strong {
  color: #9b5a00;
  font-size: 14px;
}

.restore-tip-card p {
  margin: 6px 0 0;
  color: #9b5a00;
  font-size: 13px;
  line-height: 1.7;
}

.restore-bottom-action {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 40;
  width: 100%;
  max-width: var(--max-width);
  transform: translateX(-50%);
  padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.94);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(16px);
}

.restore-sticky-tabs {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: -18px -16px 16px;
  padding: 0 16px;
  background: #fff;
  border-bottom: 1px solid #e7e7e7;
}

.restore-sticky-tabs button {
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #666;
  padding: 15px 4px 12px;
  font-size: 16px;
  font-weight: 700;
}

.restore-sticky-tabs button.active {
  border-bottom-color: #333;
  color: #333;
}

.restore-log-panel {
  display: none;
  gap: 12px;
}

.restore-log-panel.active {
  display: grid;
}

.restore-score-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
}

.restore-score-card > div {
  min-width: 0;
}

.restore-score-card strong,
.restore-info-row strong {
  color: #333;
  font-size: 16px;
}

.restore-score-card span,
.restore-score-card p,
.restore-info-row span,
.restore-loading-state span {
  color: #999;
  font-size: 14px;
}

.restore-score-card p {
  margin: 6px 0 0;
  overflow-wrap: anywhere;
}

.restore-score-card b {
  flex: 0 0 auto;
  color: #ff5d6c;
  font-size: 21px;
}

.restore-score-card b.plus {
  color: #07c160;
}

.restore-loading-state {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 24px 0;
}

.restore-loading-state button {
  min-height: 44px;
}

.restore-loading-state button,
.restore-code-row button {
  border: 0;
  border-radius: 10px;
  background: #333;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 10px 14px;
}

.restore-code-row button:disabled {
  background: #aaa;
}

.query-user-card {
  margin-top: 10px;
}

.restore-list-title {
  padding: 2px 0 16px;
}

.restore-query-msg-card .message-top img {
  width: 15px;
  height: 15px;
}

.restore-sender-card {
  display: grid;
  gap: 10px;
  padding: 18px 16px;
}

.restore-info-row {
  display: flex;
  align-items: center;
  min-height: 32px;
}

.restore-info-row.avatar-row {
  align-items: center;
}

.restore-info-row img {
  width: 62px;
  height: 62px;
  border-radius: 999px;
  background: #f8f8f8;
  border: 4px solid #333;
}

.restore-message-content {
  margin-top: 12px;
  padding: 14px;
}

.restore-message-content p {
  margin: 0;
  color: #777;
  font-size: 14px;
  line-height: 1.75;
}

.phone-status-page {
  display: flex;
  flex-direction: column;
}

.phone-original-page {
  position: relative;
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.phone-original-page .phone-state-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  margin: 0;
  padding: 80px 20px 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}

.phone-original-page .phone-state-card h1 {
  margin: 40px 0 0;
  color: #666;
  font-size: 20px;
  font-weight: 700;
}

.phone-original-page .phone-state-card[data-phone-bound] h1 {
  color: #333;
}

.phone-figure {
  position: relative;
  width: 160px;
  height: 160px;
}

.phone-figure img {
  width: 160px;
  height: 160px;
  object-fit: contain;
}

.phone-figure img.phone-figure-icon {
  position: absolute;
  top: 48px;
  left: 55px;
  width: 50px;
  height: 50px;
}

.phone-default-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 44px;
  min-height: 44px;
  margin-top: 40px;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

.phone-form-original-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.phone-bind-form {
  padding: 30px;
}

.phone-bind-form h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}

.phone-input-wrap {
  display: block;
  margin-top: 30px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 5px;
  background: #fff;
}

.phone-code-row .phone-input-wrap {
  flex: 1;
  margin-top: 0;
}

.phone-input-wrap input {
  width: 100%;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 10px 15px;
  color: #333;
  font-size: 18px;
  outline: none;
}

.phone-input-wrap:focus-within {
  border-color: #333;
}

.phone-code-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
}

.phone-code-row button {
  width: 120px;
  height: 44px;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 14px;
  white-space: nowrap;
}

.phone-code-row button:disabled {
  color: #999;
  background: #f6f6f6;
}

.phone-submit-btn {
  width: 100%;
  height: 44px;
  margin-top: 40px;
  border: 0;
  border-radius: 5px;
  background: #20a53a;
  color: #fff;
  font-size: 16px;
}

.query-send-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.query-send-form {
  padding: 30px;
}

.query-send-form h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}

.query-input-wrap {
  display: block;
  margin-top: 30px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 5px;
  background: #fff;
}

.query-input-wrap:focus-within {
  border-color: #333;
}

.query-input-wrap input {
  width: 100%;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 10px 15px;
  color: #333;
  font-size: 18px;
  outline: none;
}

.query-submit-btn {
  width: 100%;
  height: 44px;
  margin-top: 40px;
  border: 0;
  border-radius: 5px;
  background: #20a53a;
  color: #fff;
  font-size: 16px;
}

.query-send-page > .fixed-home-bar,
.send-user-list-page > .fixed-home-bar,
.query-user-data-page > .fixed-home-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: flex;
  width: min(calc(100% - 40px), 390px);
  min-height: calc(50px + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
  padding-bottom: env(safe-area-inset-bottom);
  background: #f7f8f9;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

.send-user-list-page,
.query-user-data-page {
  min-height: 100vh;
  padding: 20px 20px 92px;
  background: #ededed;
}

.send-user-title h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
}

.send-user-list {
  padding-top: 0;
}

.send-user-card {
  display: block;
  margin-top: 15px;
  border-radius: 5px;
  background: #fff;
  padding: 15px 0 11px 15px;
  color: inherit;
  text-decoration: none;
}

.send-user-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-right: 10px;
}

.send-user-card-head strong {
  color: #333;
  font-size: 18px;
  font-weight: 700;
}

.send-user-card-head img {
  width: 15px;
  height: 15px;
}

.send-user-card p {
  margin: 7px 15px 7px 0;
  color: #999;
  font-size: 14px;
  line-height: 17px;
  word-break: break-word;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.send-user-card-foot {
  padding-top: 11px;
  padding-right: 15px;
  border-top: 1px solid #ddd;
}

.send-user-card-foot span {
  color: #666;
  font-size: 14px;
}

.query-user-info {
  display: grid;
  gap: 10px;
}

.query-user-row {
  display: flex;
  align-items: center;
  min-height: 24px;
}

.query-user-row span {
  color: #999;
  font-size: 16px;
  white-space: nowrap;
}

.query-user-row strong {
  color: #333;
  font-size: 16px;
  font-weight: 400;
  word-break: break-word;
}

.query-user-row img {
  width: 62px;
  height: 62px;
  border-radius: 100px;
  background: #f8f8f8;
  object-fit: cover;
}

.query-message-card {
  margin-top: 10px;
  border-radius: 5px;
  background: #fff;
  padding: 10px;
}

.query-message-card p {
  margin: 0;
  color: #999;
  font-size: 14px;
  line-height: 17px;
  word-break: break-word;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sms-log-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.sms-log-page .restore-sticky-tabs {
  height: 49px;
  margin: 0 0 5px;
  padding: 5px 15px 0;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.sms-log-page .restore-sticky-tabs button {
  position: relative;
  height: 44px;
  min-height: 44px;
  border: 0;
  padding: 0;
  color: #333;
  font-size: 16px;
  font-weight: 400;
  line-height: 34px;
}

.sms-log-page .restore-sticky-tabs button::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: calc(100% - 80px);
  height: 3px;
  border-radius: 6px;
  background: transparent;
  content: "";
  transform: translateX(-50%);
}

.sms-log-page .restore-sticky-tabs button.active {
  font-weight: 600;
}

.sms-log-page .restore-sticky-tabs button.active::after {
  background: #111;
}

.sms-log-page .restore-log-panel.active {
  display: block;
}

.sms-log-page .restore-score-card {
  position: relative;
  gap: 16px;
  margin: 10px 20px 0;
  border-radius: 5px;
  padding: 10px;
  box-shadow: 0 0 0 0.5px #ddd;
}

.sms-log-page .restore-score-card > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 2px;
}

.sms-log-title-row {
  display: flex;
  min-width: 0;
  align-items: center;
}

.sms-log-page .sms-log-card-title {
  color: #333;
  font-size: 15px;
  font-weight: 400;
}

.sms-log-page .sms-log-card-subtitle {
  padding-right: 3px;
  color: #f77f33;
  font-size: 15px;
  font-weight: 400;
}

.sms-log-page .sms-log-card-date {
  margin-top: 2px;
  color: #999;
  font-size: 14px;
}

.sms-log-page .sms-log-card-number {
  padding-right: 3px;
  color: #333;
  font-size: 18px;
  font-weight: 700;
}

.sms-log-page .sms-log-card-number.plus {
  color: #f77f33;
}

.sms-wallet-page {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #ededed;
}

.sms-wallet-head {
  background: #fff;
  padding-bottom: 20px;
}

.sms-wallet-head h1 {
  margin: 0;
  padding: 15px;
  color: #333;
  font-size: 22px;
  font-weight: 700;
}

.sms-wallet-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 17px 0 20px;
}

.sms-wallet-row strong {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  border: 2px solid #333;
  border-radius: 50px;
  padding: 4px 15px;
  color: #333;
  font-size: 18px;
  font-weight: 700;
}

.sms-wallet-row a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 4px;
  color: #666;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
}

.sms-wallet-row img {
  width: 17px;
  height: 17px;
  margin-left: 2px;
}

.sms-package-list {
  padding: 20px 20px 0;
}

.sms-package-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px;
  border-radius: 9px;
  background: #fff;
  padding: 15px;
}

.sms-package-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.sms-package-card h2 {
  display: inline;
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 400;
}

.sms-package-card p {
  display: inline;
  margin: 0 0 0 3px;
  color: #999;
  font-size: 16px;
}

.sms-package-card span {
  display: block;
  margin-top: 6px;
  color: #999;
  font-size: 14px;
}

.sms-package-card button {
  width: 80px;
  min-width: 80px;
  height: 44px;
  border: 0;
  border-radius: 5px;
  background: #333;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.sms-package-card button:disabled { background:#aaa; }
.sms-wallet-loading { display:grid; justify-items:center; gap:7px; margin:20px; border-radius:5px; padding:28px 16px; background:#fff; color:#666; text-align:center; }
.sms-wallet-loading strong { color:#333; font-size:16px; }
.sms-wallet-loading span { font-size:14px; line-height:1.6; }
.sms-wallet-loading button { min-height:42px; margin-top:5px; border:0; border-radius:21px; padding:0 22px; background:#20a53a; color:#fff; font-size:15px; }
.sms-wallet-page > .fixed-home-bar,
.sms-log-page > .fixed-home-bar { position:fixed; z-index:30; right:50%; bottom:0; display:flex; width:min(100%,var(--max-width)); min-height:calc(50px + env(safe-area-inset-bottom)); align-items:center; justify-content:center; border-top:1px solid #e4e4e4; padding-bottom:env(safe-area-inset-bottom); transform:translateX(50%); background:#fff; color:#333; font-size:16px; }
.sms-wallet-sheet { position:fixed; z-index:1200; inset:0; }
.sms-wallet-sheet-mask { position:absolute; inset:0; width:100%; border:0; background:rgba(0,0,0,.45); }
.sms-wallet-sheet-panel { position:absolute; bottom:0; left:50%; width:min(100%,430px); max-height:min(82vh,620px); overflow:auto; border-radius:10px 10px 0 0; padding:20px 20px max(20px,calc(16px + env(safe-area-inset-bottom))); background:#fff; transform:translateX(-50%); }
.sms-wallet-sheet-close { position:absolute; top:12px; right:12px; width:44px; height:44px; border:0; border-radius:50%; background:#f2f2f2; color:#666; font-size:26px; line-height:1; }
.sms-wallet-buy-lines { padding-top:5px; padding-right:48px; }
.sms-wallet-buy-lines p { display:flex; align-items:center; min-height:32px; margin:0 0 10px; }
.sms-wallet-buy-lines span { color:#999; font-size:18px; font-weight:400; }
.sms-wallet-buy-lines strong { color:#333; font-size:18px; font-weight:400; }
.sms-wallet-buy-lines strong.envelope { color:darkorange; }
.sms-wallet-sheet-panel > .sms-wallet-refund-note { margin:0 0 15px; color:#ff5722; font-size:13px; line-height:1.6; }
.sms-wallet-sheet-panel > p:not(.sms-wallet-refund-note) { margin:0 0 10px; color:#777; font-size:13px; line-height:1.6; }
.sms-wallet-pay-actions { display:grid; gap:10px; }
.sms-wallet-pay-actions > button { display:flex; width:100%; min-height:44px; align-items:center; justify-content:center; gap:8px; border:0; border-radius:5px; padding:8px 13px; color:#fff; }
.sms-wallet-pay-actions > button.wechat { background:#20a53a; }
.sms-wallet-pay-actions > button.alipay { background:#1677ff; }
.sms-wallet-pay-actions > button:disabled { background:#f2f2f2; color:#999; }
.sms-wallet-pay-actions strong { font-size:14px; }
.sms-wallet-pay-actions small { color:inherit; font-size:12px; }
.sms-wallet-pay-error { min-height:20px; color:#c5392f!important; }

.restore-code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 118px;
  align-items: end;
  gap: 12px;
}

.restore-code-row .restore-field {
  margin-bottom: 18px;
}

@media (max-width: 360px) {
  .restore-code-row {
    grid-template-columns: 1fr;
  }

  .restore-code-row button {
    margin-bottom: 18px;
  }
}

.kongtou-title-row span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #f3f4f6;
  color: #333;
  font-size: 18px;
  font-weight: 500;
  padding: 5px 10px;
}

.kongtou-title-row strong {
  color: #333;
  font-size: 16px;
}

.kongtou-home-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 20px;
}

.login-code-shell {
  background: #fff;
}

.login-code-page {
  width: 100%;
  min-height: 100vh;
  background: #fff;
  padding: 50px 40px 24px;
}

.login-code-head h1 {
  margin: 0;
  color: #333;
  font-size: 22px;
  font-weight: 400;
  line-height: normal;
}

.login-code-head p {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 10px 0 0;
  color: #999;
  font-size: 15px;
}

.login-code-head span {
  color: #333;
  font-weight: 700;
}

.login-code-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 50px;
  padding: 14px 15px;
  border-radius: 5px;
  background: #f7f8f9;
}

.login-code-box input {
  min-width: 0;
  min-height: 44px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #333;
  font-size: 18px;
}

.login-code-box button {
  min-width: 44px;
  min-height: 44px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  color: #007cde;
  font-size: 18px;
}

.login-code-box button:disabled {
  color: #999;
  opacity: 1;
}

.login-to-button {
  width: 100%;
  height: 46px;
  min-height: 46px;
  margin-top: 50px;
  border: 0;
  border-radius: 5px;
  background: #e64340;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
}

body:has(.payment-return-page) {
  background: #ededed;
}

.payment-return-page {
  padding: 24px 15px;
  background: #ededed;
}

.payment-return-panel {
  padding: 24px 18px;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}

.payment-return-panel h1 {
  margin: 0;
  color: #333;
  font-size: 21px;
  line-height: 1.4;
}

.payment-return-panel p {
  max-width: 260px;
  margin: 14px auto 0;
  color: #666;
  line-height: 1.8;
}

.payment-return-panel a {
  display: inline-grid;
  min-width: 120px;
  min-height: 46px;
  align-items: center;
  margin-top: 16px;
  padding: 0 24px;
  border-radius: 23px;
  background: #20a53a;
  color: #fff;
}

@media (max-width: 360px) {
  .login-agreement {
    gap: 3px;
    font-size: 13px;
  }

  .login-agreement > span:not(.check-square) {
    white-space: nowrap;
  }
}

.kongtou-page,
.kongtou-detail-page,
.kongtou-query-page,
.kongtou-share-page {
  background: #ededed;
}

.kongtou-home-card,
.kongtou-menu-list,
.kongtou-type-list a,
.kongtou-edit-card,
.kongtou-share-card,
.kongtou-detail-card,
.kongtou-user-meta,
.kongtou-query-card,
.kongtou-my-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(31, 36, 48, 0.05);
}

.kongtou-home-card {
  padding: 20px;
}

.kongtou-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.kongtou-home-actions a {
  flex: 1;
  text-align: center;
}

.kongtou-menu-list {
  display: grid;
  margin-top: 14px;
  overflow: hidden;
}

.kongtou-menu-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 52px;
  padding: 0 16px;
  border-bottom: 1px solid #f0f0f0;
}

.kongtou-menu-list a:last-child {
  border-bottom: 0;
}

.kongtou-menu-list span,
.kongtou-type-list strong {
  color: #333;
  font-weight: 700;
}

.kongtou-menu-list b,
.kongtou-type-list b {
  color: #999;
  font-size: 24px;
  font-weight: 400;
}

.kongtou-type-list {
  display: grid;
  gap: 15px;
}

.kongtou-type-list a {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 120px;
  padding: 22px;
}

.type-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 14px;
  color: #fff;
  font-style: normal;
  font-weight: 800;
}

.type-icon.text,
.kt-text {
  background: #eaf4ff;
  color: #007aff;
}

.type-icon.image,
.kt-image {
  background: #ecfbef;
  color: #2aad56;
}

.type-icon.video,
.kt-video {
  background: #fff0e9;
  color: #ff5722;
}

.kongtou-type-list span {
  display: block;
  margin-top: 6px;
  color: #999;
  font-size: 13px;
}

.kongtou-send-footer {
  display: grid;
  justify-items: center;
  gap: 28px;
  margin-top: 34px;
}

.kongtou-send-footer a {
  color: #007aff;
  font-size: 18px;
}

.kongtou-send-footer button {
  min-width: 148px;
  min-height: 44px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-size: 16px;
}

.kongtou-edit-card {
  padding: 15px;
}

.kongtou-edit-card label {
  display: grid;
  gap: 10px;
}

.kongtou-edit-card textarea {
  width: 100%;
  min-height: 150px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #333;
  line-height: 1.7;
  outline: none;
  resize: vertical;
}

.kongtou-edit-card label span {
  color: #999;
  font-size: 13px;
}

.kongtou-edit-card p {
  margin: 16px 0 34px;
  color: #999;
  font-size: 12px;
  line-height: 1.7;
}

.kongtou-upload-grid {
  display: grid;
  gap: 12px;
  margin-bottom: 15px;
}

.kongtou-upload-grid button,
.kongtou-video-upload {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 120px;
  border: 1px dashed #d9d9d9;
  border-radius: 10px;
  background: #fafafa;
  color: #999;
}

.kongtou-upload-grid img,
.kongtou-video-upload img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.kongtou-upload-grid div {
  display: grid;
  grid-template-columns: repeat(3, 78px);
  gap: 10px;
}

.kongtou-upload-grid i {
  display: block;
  width: 78px;
  height: 78px;
  border-radius: 8px;
  background: linear-gradient(135deg, #eaf4ff, #d8f4e2);
}

.kongtou-video-upload {
  margin-bottom: 15px;
  cursor: pointer;
}

.kongtou-video-upload span {
  color: #007aff;
}

.kongtou-type-original-page {
  max-width: 430px;
  min-height: 100vh;
  padding: 0 0 70px;
  background: #ededed;
}

.kt-type-stack {
  display: grid;
  gap: 15px;
  padding: 15px;
}

.kt-type-card {
  display: flex;
  align-items: center;
  min-height: 120px;
  border-radius: 10px;
  background: #fff;
  padding: 30px;
  color: #333;
}

.kt-type-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 12px;
}

.kt-type-icon img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.kt-type-text { background: #eaf4ff; }
.kt-type-image { background: #eaf9ef; }
.kt-type-video { background: #fff0e9; }
.kt-type-private { background: #fff1f4; }

.kt-type-copy {
  display: grid;
  gap: 5px;
  padding-left: 25px;
  min-width: 0;
  flex: 1;
}

.kt-type-copy strong {
  color: #333;
  font-size: 20px;
  font-weight: 700;
}

.kt-type-title {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}

.kt-type-copy em {
  color: #999;
  font-size: 13px;
  font-style: normal;
  line-height: 18px;
}

.kt-forward {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.kt-original-links {
  display: flex;
  justify-content: center;
  padding: 10px 75px 0;
}

.kt-original-links a {
  padding: 10px;
  color: #007aff;
  font-size: 18px;
}

.kt-receive-wrap {
  padding: 15px;
}

.kt-receive-wrap a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-size: 16px;
}

.kt-send-original-page {
  max-width: 430px;
  min-height: 100vh;
  padding: 0 0 70px;
  background: #ededed;
}

.kt-send-original-page .kongtou-edit-card {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 15px;
}

.kt-send-original-page .kongtou-edit-card label {
  border-radius: 5px;
  background: #fff;
  padding: 15px;
}

.kt-send-original-page .kongtou-edit-card textarea {
  min-height: 150px;
  border-radius: 0;
  font-size: 15px;
  line-height: 22px;
}

.kt-send-original-page .kongtou-edit-card p {
  margin: 10px 0 0;
  color: #999;
  font-size: 12px;
}

.kt-send-original-page .kongtou-upload-grid,
.kt-send-original-page .kongtou-video-upload {
  margin: 0 0 20px;
}

.kt-save-wrap {
  display: flex;
  padding: 45px 45px 0;
}

.kt-send-original-page .kongtou-edit-card[data-type="image"] .kt-save-wrap,
.kt-send-original-page .kongtou-edit-card[data-type="video"] .kt-save-wrap {
  padding-top: 30px;
}

.kt-save-wrap .sms-submit-original {
  width: 100%;
}

.kt-query-original-page {
  min-height: 100vh;
  padding: 0 0 70px;
  background: #fff;
}

.kt-query-original-page .kongtou-query-card {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
  padding: 50px;
}

.kt-query-original-page .kongtou-query-card h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
  line-height: 26px;
}

.kt-query-original-page .kongtou-query-card input {
  margin-top: 30px;
  height: 42px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #fff;
  text-align: center;
  font-size: 18px;
}

.kt-query-original-page .kongtou-query-card input:focus {
  border-color: #333;
  box-shadow: none;
}

.kt-query-original-page .kongtou-query-card button {
  margin-top: 40px;
  border-radius: 999px;
}

.kt-query-original-page .kongtou-query-card div {
  margin-top: 60px;
}

.kt-query-original-page .kongtou-query-card strong {
  color: #333;
  font-size: 18px;
  line-height: 26px;
}

.kt-query-original-page .kongtou-query-card p {
  margin-top: 4px;
  color: #999;
  font-size: 13px;
  line-height: 22px;
}

.kt-detail-original-page,
.kt-mys-original-page {
  max-width: 430px;
  min-height: 100vh;
  padding: 0 0 70px;
  background: #ededed;
}

.kt-share-original-page {
  max-width: 430px;
  min-height: 100vh;
  padding: 0 0 70px;
  background: #fff;
}

.kt-detail-original-page {
  padding-top: 20px;
}

.kt-mys-original-page .kongtou-my-list {
  gap: 15px;
  padding: 15px 20px 0;
}

.kt-share-original-page .kongtou-share-card {
  margin: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  padding: 40px 20px 70px;
}

.kt-detail-original-page .kongtou-detail-card {
  margin: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0 20px;
}

.kt-detail-original-page .kongtou-meta-line {
  justify-content: flex-start;
  gap: 0;
}

.kt-detail-original-page .kongtou-meta-line b,
.kt-mys-original-page .kongtou-my-card span {
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.kt-detail-original-page .kongtou-user-meta {
  margin: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 15px 20px 0;
}

.kt-detail-original-page .kongtou-user-meta strong {
  color: #333;
  font-size: 13px;
  font-weight: 400;
}

.kt-detail-original-page .kongtou-detail-actions {
  margin: 0;
  padding: 30px 20px 0;
}

.kt-detail-original-page .kongtou-detail-actions .primary-btn {
  border-radius: 5px;
}

.kt-mys-original-page .kongtou-my-card {
  gap: 10px;
  border-radius: 5px;
  padding: 10px 15px 11px;
}

.kt-mys-original-page .kongtou-my-card p {
  display: -webkit-box;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
  padding: 0 0 10px;
  font-size: 14px;
  line-height: 17px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.kt-mys-original-page .kongtou-my-card footer {
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.kt-mys-original-page .kongtou-my-card footer button {
  min-width: 46px;
  border-radius: 10px;
  background: #e0f2ff;
  color: #5fbbff;
  padding: 6px 9px;
  font-size: 12px;
}

.agreement-original-page {
  max-width: 430px;
  min-height: 100vh;
  padding: 15px 0 70px;
  background: #ededed;
}

.agreement-white-card {
  margin: 0 15px 15px;
  border-radius: 5px;
  background: #fff;
  padding: 18px 15px;
}

.agreement-white-card h1 {
  margin: 0 0 14px;
  color: #333;
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
}

.agreement-white-card p {
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 23px;
}

.agreement-white-card p + p {
  margin-top: 10px;
}

.agreement-white-card .agreement-version {
  margin-bottom: 14px;
  color: #888;
  font-size: 12px;
}

.agreement-load-state {
  display: grid;
  min-height: 180px;
  place-items: center;
  align-content: center;
  gap: 12px;
  color: #777;
  font-size: 14px;
  text-align: center;
}

.agreement-load-state[hidden] {
  display: none;
}

.agreement-load-state button {
  min-width: 108px;
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 15px;
}

.agreement-link-list {
  margin-top: 0;
}

.kongtou-save-modal {
  text-align: center;
}

.kongtou-save-modal > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding-top: 30px;
}

.kongtou-save-modal strong,
.kongtou-share-card > strong {
  display: block;
  color: dodgerblue;
  font-size: 28px;
  line-height: 1.2;
}

.kt-share-original-page .kongtou-share-card > strong {
  font-size: 26px;
}

.kongtou-save-modal small {
  display: block;
  color: indianred;
  font-size: 12px;
  line-height: 1.6;
}

.kongtou-save-modal a,
.kongtou-save-modal button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 118px;
  min-height: 44px;
  border-radius: 8px;
  background: #f2f2f2;
  color: #333;
  font-weight: 700;
}

.kongtou-save-modal button {
  border: 0;
}

.kongtou-save-modal button.warn {
  background: #fa5151;
  color: #fff;
}

.kongtou-save-modal a.primary {
  background: #07c160;
  color: #fff;
}

.kongtou-share-card {
  display: grid;
  justify-items: center;
  padding: 34px 20px;
  text-align: center;
}

.kongtou-share-card p {
  margin: 10px 0 28px;
  color: #333;
  font-size: 14px;
}

.kongtou-qr {
  display: grid;
  justify-items: center;
  gap: 30px;
}

.kongtou-qr span {
  display: grid;
  place-items: center;
  width: 190px;
  height: 190px;
  border-radius: 4px;
  background: #fff;
  color: #999;
  font-size: 13px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.kongtou-qr span img {
  display: block;
  width: 190px;
  height: 190px;
  image-rendering: pixelated;
}

.kongtou-qr em {
  color: #333;
  font-size: 14px;
  font-style: normal;
}

.kongtou-share-actions {
  display: flex;
  gap: 20px;
  margin-top: 30px;
}

.kt-share-original-page .kongtou-share-actions button {
  width: 140px;
}

.kongtou-share-actions button,
.kongtou-sms-sheet button {
  min-width: 132px;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 6px;
}

.kongtou-sms-sheet label {
  display: block;
  width: 100%;
  margin-top: 14px;
}

.kongtou-sms-sheet input {
  width: 100%;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 13px 14px;
}

.kongtou-sms-sheet p {
  color: #999;
  font-size: 12px;
  line-height: 1.7;
}

.kongtou-sms-sheet .kongtou-sms-balance {
  margin: 12px 0;
  border-radius: 5px;
  background: #f6f8f6;
  padding: 10px 12px;
  color: #555;
  font-size: 14px;
}

.kongtou-sms-balance strong {
  color: #333;
  font-size: 16px;
}

.kongtou-sms-sheet div {
  display: flex;
  gap: 12px;
}

.kongtou-detail-card,
.kongtou-user-meta,
.kongtou-query-card,
.kongtou-my-card {
  padding: 16px;
}

.kongtou-meta-line,
.kongtou-content-head,
.kongtou-user-meta div,
.kongtou-my-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.kongtou-meta-line span,
.kongtou-content-head span,
.kongtou-user-meta span,
.kongtou-my-card small,
.kongtou-my-card em {
  color: #999;
  font-size: 13px;
}

.kongtou-meta-line b,
.kongtou-my-card span {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 13px;
}

.kongtou-risk {
  margin: 10px 0 0;
  color: #999;
  font-size: 10px;
  line-height: 1.6;
}

.kongtou-content-head {
  margin-top: 16px;
}

.kongtou-content-box {
  margin-top: 8px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #f0f0f0;
  padding: 15px;
}

.kongtou-content-box p,
.kongtou-my-card p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 1.7;
  word-break: break-all;
}

.kt-reply {
  margin-top: 10px;
  border-radius: 4px;
  background: #ffe6de;
  color: #ff8660;
  font-size: 11px;
  line-height: 1.5;
  padding: 6px;
}

.kongtou-user-meta {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.kongtou-user-meta img {
  width: 20px;
  height: 20px;
  border-radius: 999px;
}

.kongtou-detail-actions {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.kongtou-detail-actions a,
.kongtou-detail-actions button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 46px;
}

.kongtou-reply-modal textarea {
  width: 100%;
  height: 150px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  padding: 12px;
  resize: vertical;
}

.kongtou-query-card {
  display: grid;
  gap: 26px;
  margin-top: 14px;
  background: transparent;
  box-shadow: none;
}

.kongtou-query-card h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
}

.kongtou-query-card input {
  width: 100%;
  min-height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #fff;
  padding: 13px 15px;
  text-align: center;
}

.kongtou-query-card strong {
  color: #333;
  font-size: 18px;
}

.kongtou-query-card p {
  margin: 4px 0 0;
  color: #999;
  font-size: 13px;
}

.kongtou-my-list {
  display: grid;
  gap: 14px;
}

.kongtou-my-card {
  display: grid;
  gap: 12px;
}

.kongtou-my-card footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kongtou-my-card footer a,
.kongtou-my-card footer button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: #eef3ff;
  color: #4f7cff;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
}

.kongtou-my-card footer button {
  background: #fff0e9;
  color: #ff5722;
}

@media (max-width: 360px) {
  .kongtou-share-actions,
  .kongtou-sms-sheet div {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 350px) {
  .sms-pay-actions {
    grid-template-columns: 1fr;
  }
}

.account-page {
  background: #fff;
}

.account-page .simple-nav {
  margin-bottom: 16px;
}

.avatar-form {
  min-height: calc(100vh - 80px);
}

.avatar-picker {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 42px 0 48px;
}

.avatar-picker img {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  background: #eee;
  object-fit: cover;
}

.avatar-picker button {
  border: 0;
  border-radius: 999px;
  background: #eef3ff;
  color: #4f7cff;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 14px;
}

.account-list-row {
  position: relative;
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  align-items: center;
  padding: 0 20px;
  min-height: 64px;
}

.account-list-row::before,
.account-list-row::after {
  position: absolute;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  transform: scaleY(0.5);
  background: #ddd;
}

.account-list-row::before {
  top: 0;
}

.account-list-row::after {
  bottom: 0;
}

.account-list-row span {
  color: #333;
  font-size: 16px;
  font-weight: 700;
}

.account-list-row input {
  border: 0;
  outline: 0;
  color: #333;
  padding: 20px 0;
}

.avatar-form > .primary-btn {
  width: calc(100% - 80px);
  margin: 60px 40px 0;
}

.disable-sms-page {
  background: #ededed;
}

.disable-user-card {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 20px;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.disable-user-card img {
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  border: 4px solid #333;
  border-radius: 999px;
  background: #f8f8f8;
}

.disable-user-card img.has-custom-avatar {
  border: 0;
}

.disable-user-card strong {
  color: #333;
  font-size: 16px;
}

.disable-user-card p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 7px 0 0;
  color: #333;
  font-size: 14px;
}

.disable-user-card button {
  position: relative;
  width: 72px;
  min-height: 44px;
  border: 0;
  background: transparent;
  color: transparent;
  padding: 0;
  margin-block: -12px;
}

.disable-user-card button::after {
  position: absolute;
  top: 12px;
  right: 0;
  height: 20px;
  border-radius: 2px;
  background: #ff5722;
  padding: 0 4px;
  color: #fff;
  font-size: 12px;
  line-height: 20px;
  content: "屏蔽号码";
}

.disable-user-card button:disabled::after {
  background: #aaa;
}

.disable-bind-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #333;
  font-size: 14px;
}

.disable-bind-link[hidden] {
  display: none;
}

.disable-bind-link img {
  width: 13px;
  height: 13px;
  border: 0;
  border-radius: 0;
  margin-left: 2px;
  background: transparent;
}

.disable-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px;
}

.disable-list-head strong {
  color: #666;
  font-size: 16px;
}

.disable-list-head p {
  margin: 4px 0 0;
  color: crimson;
  font-size: 12px;
}

.disable-list-head a {
  flex: 0 0 auto;
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 6px;
  color: #333;
}

.disable-list-head a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #333;
  color: #fff;
  font-size: 20px;
  line-height: 1;
}

.disable-list-head a strong {
  color: #333;
  font-size: 16px;
  white-space: nowrap;
}

.disable-phone-list {
  display: block;
}

.disable-phone-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 20px 15px;
  border-radius: 5px;
  background: #fff;
  padding: 20px 15px;
}

.disable-phone-list article > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 6px;
}

.disable-phone-list article strong {
  color: #333;
  font-size: 17px;
}

.disable-phone-list article button {
  flex: 0 0 auto;
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 0;
  margin-block: -12px;
}

.disable-phone-list article button span {
  display: inline-block;
  height: 20px;
  border-radius: 2px;
  padding: 0 4px;
  background: #f7f7f7;
  color: #333;
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
}

.disable-phone-list article [data-unblock] span {
  background: #007aff;
  color: #fff;
}

.disable-add-card {
  display: block;
  padding: 30px;
  background: #ededed;
  border-radius: 0;
}

.disable-add-card h1 {
  margin: 0;
  color: #333;
  font-size: 20px;
}

.disable-add-card p {
  margin: 0;
  color: crimson;
  font-size: 13px;
}

.disable-add-card > label {
  display: block;
  margin-top: 30px;
}

.disable-add-card input {
  width: 100%;
  height: 44px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  background: #fff;
  color: #333;
  padding: 10px 15px;
  font-size: 18px;
  outline: none;
}

.disable-add-card input:focus {
  border-color: #333;
}

.disable-code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 20px;
  margin-top: 20px;
}

.disable-code-row button {
  height: 44px;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  background: #fff;
  color: #333;
  font-size: 14px;
  white-space: nowrap;
}

.disable-code-row button:disabled {
  background: #f6f6f6;
  color: #999;
}

.disable-add-submit {
  width: 100%;
  height: 44px;
  margin-top: 40px;
  border: 0;
  border-radius: 5px;
  background: #ff5722;
  color: #fff;
  font-size: 16px;
}

.phone-original-page > .fixed-home-bar,
.phone-form-original-page > .fixed-home-bar,
.disable-sms-original-page > .fixed-home-bar,
.disable-add-original-page > .fixed-home-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: flex;
  width: min(calc(100% - 40px), 390px);
  min-height: calc(50px + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  border-radius: 6px 6px 0 0;
  padding-bottom: env(safe-area-inset-bottom);
  background: #f7f8f9;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

.account-cancel-card {
  padding: 20px;
}

.account-cancel-card p {
  margin: 0;
  color: #333;
  font-size: 18px;
  line-height: 1.65;
}

.account-cancel-card button {
  width: 100%;
  min-height: 46px;
  margin-top: 40px;
  border: 0;
  border-radius: 6px;
  background: #ff5722;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.avatar-original-page {
  position: relative;
  min-height: 100vh;
  padding: 0 0 92px;
  background: #fff;
}

.avatar-original-form {
  min-height: 100vh;
}

.avatar-original-picker {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px;
}

.avatar-original-picker img {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  background: #eee;
  object-fit: cover;
}

.avatar-original-picker button {
  position: absolute;
  top: 60px;
  left: 50%;
  width: 80px;
  height: 80px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  transform: translateX(-50%);
}

.avatar-nickname-row {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 20px;
}

.avatar-nickname-row::before,
.avatar-nickname-row::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: #ddd;
  transform: scaleY(.5);
}

.avatar-nickname-row::before {
  top: 0;
}

.avatar-nickname-row::after {
  bottom: 0;
}

.avatar-nickname-row span {
  padding-right: 40px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.avatar-nickname-row input {
  flex: 1;
  min-width: 0;
  height: 60px;
  border: 0;
  background: transparent;
  color: #333;
  font-size: 16px;
  outline: none;
}

.avatar-save-btn {
  display: block;
  width: calc(100% - 80px);
  height: 44px;
  margin: 60px 40px 0;
  border: 0;
  border-radius: 5px;
  background: #20a53a;
  color: #fff;
  font-size: 16px;
}

.account-cancel-page {
  min-height: 100vh;
  padding: 20px 20px 92px;
  background: #ededed;
}

.account-cancel-page .account-cancel-card {
  padding: 0;
  background: transparent;
}

.account-cancel-page .account-cancel-card p {
  line-height: 28px;
}

.account-cancel-page .account-cancel-card .account-cancel-phone {
  margin-top: 16px;
  color: #666;
  font-size: 15px;
}

.account-cancel-page .account-cancel-card button {
  height: 44px;
  border-radius: 5px;
  background: #e64340;
}

.account-cancel-page .account-cancel-card button:disabled {
  background: #aaa;
}

.account-cancel-code {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  text-align: left;
}

.account-cancel-code > span:last-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 8px;
}

.account-cancel-code input,
.account-cancel-code button {
  min-width: 0;
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.account-cancel-code input {
  padding: 0 12px;
  font-size: 16px;
}

.account-cancel-code button {
  background: #333;
  color: #fff;
}

.account-cancel-code button:disabled,
.admin-confirm-modal [data-cancel-confirm]:disabled {
  background: #aaa;
  color: #fff;
}

.account-cancel-error {
  min-height: 22px;
  color: #d93025;
  font-size: 13px;
  line-height: 22px;
}

.kefu-page-original {
  min-height: 100vh;
  padding: 0 0 92px;
  background: #fff;
}

.my-info-page > .fixed-home-bar,
.avatar-original-page > .fixed-home-bar,
.settings-original-page > .fixed-home-bar,
.account-cancel-page > .fixed-home-bar,
.kefu-page-original > .fixed-home-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 30;
  display: flex;
  width: min(calc(100% - 40px), 390px);
  min-height: calc(50px + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  border-radius: 5px 5px 0 0;
  padding-bottom: env(safe-area-inset-bottom);
  background: #f7f8f9;
  color: #333;
  font-size: 16px;
  text-decoration: none;
}

.kefu-load-state {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 20px;
  color: #999;
  text-align: center;
}

.kefu-load-state strong {
  color: #333;
  font-size: 16px;
}

.kefu-load-state span {
  max-width: 300px;
  font-size: 14px;
  line-height: 22px;
}

.kefu-load-state button {
  min-width: 112px;
  min-height: 44px;
  border: 0;
  border-radius: 5px;
  margin-top: 6px;
  background: #20a53a;
  color: #fff;
  font-size: 15px;
}

.kefu-load-state.error strong {
  color: #d93025;
}

.kefu-contact-list {
  margin: 0;
}

.kefu-contact-list > div,
.kefu-contact-list > a,
.kefu-contact-list > button {
  min-height: 54px;
  font-size: 16px;
}

.kefu-contact-side {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}

.kefu-contact-side strong {
  min-width: 0;
  color: #999;
  overflow-wrap: anywhere;
  text-align: right;
}

.kefu-contact-side img {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  opacity: .6;
}

.admin-support-workspace {
  width: min(100%, 980px);
}

.admin-support-status {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  border: 1px solid #e4e8ee;
  border-radius: 7px;
  padding: 14px;
  background: #fff;
}

.admin-support-status > i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 6px;
  background: #eef5ff;
  color: #1669d8;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
}

.admin-support-status strong,
.admin-support-status span {
  display: block;
}

.admin-support-status strong {
  color: #283443;
  font-size: 15px;
}

.admin-support-status span {
  margin-top: 4px;
  color: #7d8794;
  font-size: 13px;
  line-height: 19px;
}

.admin-support-status em {
  border-radius: 4px;
  padding: 5px 8px;
  background: #f2f3f5;
  color: #7d8794;
  font-size: 12px;
  font-style: normal;
}

.admin-support-status em.ready {
  background: #e8f7ec;
  color: #15803d;
}

.admin-support-form {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .75fr);
  gap: 14px;
}

.admin-support-form[hidden] {
  display: none;
}

.admin-support-fields,
.admin-support-preview {
  border: 1px solid #e4e8ee;
  border-radius: 7px;
  padding: 16px;
  background: #fff;
}

.admin-support-enable {
  display: flex;
  min-height: 56px;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #eceff3;
  padding-bottom: 14px;
}

.admin-support-enable input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  accent-color: #20a53a;
}

.admin-support-enable strong,
.admin-support-enable small {
  display: block;
}

.admin-support-enable strong {
  color: #283443;
  font-size: 15px;
}

.admin-support-enable small {
  margin-top: 4px;
  color: #7d8794;
  font-size: 12px;
  line-height: 18px;
}

.admin-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding-top: 16px;
}

.admin-support-grid label,
.admin-support-grid label > span {
  display: block;
}

.admin-support-grid label > span {
  margin-bottom: 7px;
  color: #4c5868;
  font-size: 13px;
  font-weight: 600;
}

.admin-support-grid input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 1px solid #dce1e8;
  border-radius: 5px;
  padding: 0 12px;
  background: #fff;
  color: #283443;
  font-size: 14px;
}

.admin-support-grid input:focus {
  border-color: #1677ff;
  outline: 2px solid rgba(22, 119, 255, .12);
}

.admin-support-preview {
  align-self: start;
}

.admin-support-preview header {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #eceff3;
}

.admin-support-preview header span {
  color: #283443;
  font-size: 14px;
  font-weight: 700;
}

.admin-support-preview header strong {
  color: #1677ff;
  font-size: 12px;
}

.admin-support-preview p {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  border-bottom: 1px solid #f0f2f5;
  padding: 13px 0;
  color: #7d8794;
  font-size: 13px;
  line-height: 20px;
}

.admin-support-preview p strong {
  max-width: 58%;
  color: #364152;
  font-weight: 500;
  overflow-wrap: anywhere;
  text-align: right;
}

.admin-support-preview > p:last-child {
  display: block;
  border-bottom: 0;
  text-align: center;
}

.admin-support-form > .admin-order-dialog-error,
.admin-support-save {
  grid-column: 1 / -1;
}

.admin-support-save {
  min-height: 48px;
  border: 0;
  border-radius: 6px;
  background: #1677ff;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.admin-support-save:disabled {
  background: #aeb7c3;
}

.admin-legal-panel {
  margin-top: 28px;
  border-top: 3px solid #263445;
  padding-top: 18px;
}

.admin-legal-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}

.admin-legal-panel > header p,
.admin-legal-panel > header h2,
.admin-legal-panel > header span {
  margin: 0;
}

.admin-legal-panel > header p {
  color: #687586;
  font-size: 11px;
  font-weight: 700;
}

.admin-legal-panel > header h2 {
  margin-top: 5px;
  color: #202b38;
  font-size: 20px;
}

.admin-legal-panel > header span {
  display: block;
  margin-top: 6px;
  color: #778292;
  font-size: 13px;
  line-height: 20px;
}

.admin-legal-panel > header em {
  flex: 0 0 auto;
  border-radius: 4px;
  padding: 6px 9px;
  background: #f0f2f4;
  color: #687586;
  font-size: 12px;
  font-style: normal;
}

.admin-legal-panel > header em.ready {
  background: #e8f7ec;
  color: #15803d;
}

.admin-legal-form {
  display: grid;
  gap: 16px;
  border: 1px solid #e1e5ea;
  border-radius: 7px;
  padding: 16px;
  background: #fff;
}

.admin-legal-form[hidden] {
  display: none;
}

.admin-legal-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-legal-meta-grid label,
.admin-legal-document label {
  display: block;
}

.admin-legal-meta-grid label > span,
.admin-legal-document label > span {
  display: block;
  margin-bottom: 7px;
  color: #4c5868;
  font-size: 13px;
  font-weight: 600;
}

.admin-legal-meta-grid input,
.admin-legal-document input,
.admin-legal-document textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #dce1e8;
  border-radius: 5px;
  background: #fff;
  color: #283443;
  font-size: 16px;
}

.admin-legal-meta-grid input,
.admin-legal-document input {
  min-height: 44px;
  padding: 0 12px;
}

.admin-legal-document {
  display: grid;
  gap: 14px;
  border-top: 1px solid #eceff3;
  padding-top: 16px;
}

.admin-legal-document textarea {
  min-height: 220px;
  padding: 12px;
  line-height: 24px;
  resize: vertical;
}

.admin-legal-document label > small {
  display: block;
  margin-top: 6px;
  color: #7d8794;
  font-size: 12px;
  text-align: right;
}

.admin-legal-meta-grid input:focus,
.admin-legal-document input:focus,
.admin-legal-document textarea:focus {
  border-color: #1677ff;
  outline: 2px solid rgba(22, 119, 255, .12);
}

@media (max-width: 700px) {
  .admin-support-form {
    grid-template-columns: 1fr;
  }

  .admin-support-grid {
    grid-template-columns: 1fr;
  }

  .admin-legal-meta-grid {
    grid-template-columns: 1fr;
  }

  .admin-legal-panel > header {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-legal-panel > header em {
    align-self: flex-start;
  }

  .admin-support-status {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .admin-support-status em {
    grid-column: 2;
    justify-self: start;
  }

  .admin-support-form > .admin-order-dialog-error,
  .admin-support-save {
    grid-column: 1;
  }
}

@media (max-width: 360px) {
  .phone-code-row {
    flex-direction: column;
    align-items: stretch;
  }

  .phone-code-row button {
    width: 100%;
  }

  .disable-code-row {
    grid-template-columns: 1fr;
  }

  .avatar-form > .primary-btn {
    width: calc(100% - 32px);
    margin: 44px 16px 0;
  }
}
.restore-toast {
  position: fixed;
  left: 50%;
  bottom: calc(86px + env(safe-area-inset-bottom));
  z-index: 9999;
  max-width: 78vw;
  transform: translateX(-50%);
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .78);
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
}

/* Admin clarity pass: flatter, quieter and mobile-first */
.admin-home-body,
.admin-order-workspace-body {
  background: #f6f7f9;
}

.admin-home-page {
  width: min(100%, 1040px);
  max-width: 1040px;
  padding: calc(18px + env(safe-area-inset-top)) 16px calc(36px + env(safe-area-inset-bottom));
}

.admin-home-header {
  align-items: center;
  margin-bottom: 12px;
}

.admin-home-welcome h1 {
  color: #1d2735;
  font-size: 22px;
  font-weight: 500;
}

.admin-home-welcome > span {
  margin-top: 5px;
  color: #7d8795;
  font-size: 12px;
}

.admin-home-account {
  display: flex;
  width: auto;
  height: 44px;
  flex: 0 0 auto;
  align-items: center;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: #445166;
  font-size: 12px;
}

.admin-home-health {
  min-height: 44px;
  margin-bottom: 12px;
  border-color: #e2e5e9;
  border-radius: 8px;
  padding-left: 13px;
  box-shadow: none;
}

.admin-home-health button {
  border-left: 1px solid #e7e9ed;
  border-radius: 0 7px 7px 0;
  background: transparent;
}

.admin-home-summary,
.admin-home-todos,
.admin-home-shortcuts,
.admin-home-all {
  margin-bottom: 12px;
  border: 1px solid #e1e4e8;
  border-radius: 10px;
  box-shadow: none;
}

.admin-home-summary,
.admin-home-todos,
.admin-home-shortcuts {
  padding: 0 14px;
}

.admin-home-section-title {
  align-items: center;
  margin: 0;
  padding: 14px 0 11px;
  border-bottom: 1px solid #eceef1;
}

.admin-home-section-title h2 {
  color: #263244;
  font-size: 15px;
}

.admin-home-section-title span {
  margin: 3px 0 0;
  color: #929aa6;
  font-size: 10px;
  font-weight: 500;
}

.admin-home-section-title > b {
  min-width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #fceceb;
  color: #b93e37;
  font-size: 12px;
}

.admin-home-feedback {
  margin: 12px 0;
  border-radius: 6px;
}

.admin-home-task {
  min-height: 58px;
}

.admin-home-task strong {
  font-size: 13px;
  font-weight: 600;
}

.admin-home-task > b,
.admin-home-task.urgent > b,
.admin-home-task.attention > b {
  border-radius: 5px;
  background: #f1f3f5;
  color: #4f5a6a;
}

.admin-home-task.urgent > b {
  background: #fceceb;
  color: #b93e37;
}

.admin-home-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
  border-radius: 0;
}

.admin-home-metrics a {
  min-height: 76px;
  border: 0;
  border-left: 1px solid #eceef1;
  padding: 13px 5px 11px;
  background: #fff;
}

.admin-home-metrics a:first-child {
  border-left: 0;
}

.admin-home-metrics strong {
  margin: 0 0 7px;
  color: #263244;
  font-size: 22px;
}

.admin-home-metrics span {
  color: #7d8795;
  font-size: 10px;
}

.admin-home-shortcuts nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}

.admin-home-shortcuts a {
  display: grid;
  min-height: 52px;
  grid-template-columns: 30px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 9px;
  border-top: 1px solid #eff1f3;
  border-radius: 0;
  color: #354154;
  font-size: 12px;
}

.admin-home-shortcuts a:nth-child(-n + 2) {
  border-top: 0;
}

.admin-home-shortcuts i,
.admin-home-shortcuts i.green,
.admin-home-shortcuts i.blue,
.admin-home-shortcuts i.orange,
.admin-home-shortcuts i.purple,
.admin-home-shortcuts i.red,
.admin-home-shortcuts i.yellow {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  background: #edf2f8;
  color: #466283;
  font-size: 11px;
}

.admin-home-shortcuts a > b {
  color: #a8b0ba;
  font-size: 17px;
  font-weight: 400;
}

.admin-home-all summary {
  min-height: 58px;
  padding: 0 14px;
}

.admin-home-all summary strong {
  font-size: 13px;
}

.admin-home-all summary small {
  margin: 3px 0 0;
}

.admin-home-all-content {
  gap: 15px;
  padding: 13px 14px 15px;
}

.admin-order-workspace {
  width: min(100%, 920px);
  max-width: 920px;
  padding: 18px 16px calc(40px + env(safe-area-inset-bottom));
}

.admin-order-head {
  align-items: center;
  margin-bottom: 13px;
}

.admin-order-head p {
  display: none;
}

.admin-order-head h1 {
  color: #1d2735;
  font-size: 22px;
}

.admin-order-head span {
  color: #7d8795;
}

.admin-order-head a {
  min-height: 44px;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: #445166;
}

.admin-order-filters {
  margin-bottom: 8px;
  border: 1px solid #e1e4e8;
  border-radius: 10px;
  padding: 9px;
  box-shadow: none;
}

.admin-order-tabs {
  gap: 0;
  margin-bottom: 8px;
  border: 1px solid #e1e4e8;
  border-radius: 7px;
  overflow: hidden;
}

.admin-order-tabs button {
  border-left: 1px solid #e1e4e8;
  border-radius: 0;
  background: #fff;
  color: #667182;
  font-size: 13px;
}

.admin-order-tabs button:first-child {
  border-left: 0;
}

.admin-order-tabs button.active {
  background: #2d5d9f;
  color: #fff;
}

.admin-order-filters input {
  border-radius: 7px;
  background: #fff;
}

.admin-order-filters form button,
.admin-order-result-meta button {
  border-radius: 7px;
  background: #2d5d9f;
  font-size: 13px;
}

.admin-order-filters form button.secondary {
  background: #f0f2f4;
  color: #596474;
}

.admin-order-result-meta {
  margin: 0 1px 7px;
  color: #657082;
  font-size: 12px;
  font-weight: 500;
}

.admin-order-result-meta button {
  background: transparent;
  color: #2d5d9f;
}

.admin-kongtou-real-list {
  gap: 0;
}

.admin-kongtou-real-card {
  padding: 14px;
  border-color: #e1e4e8;
  border-radius: 0;
  box-shadow: none;
}

.admin-kongtou-real-card + .admin-kongtou-real-card {
  border-top: 0;
}

.admin-kongtou-real-card:first-child {
  border-radius: 10px 10px 0 0;
}

.admin-kongtou-real-card:last-child {
  border-radius: 0 0 10px 10px;
}

.admin-kongtou-real-card:only-child {
  border-radius: 10px;
}

.admin-kongtou-real-head > span,
.admin-kongtou-real-head > span.image,
.admin-kongtou-real-head > span.video {
  border-radius: 5px;
  background: #edf2f8;
  color: #466283;
}

.admin-kongtou-real-head > em.visible {
  border-radius: 5px;
  background: #edf6f0;
  color: #36704f;
}

.admin-kongtou-real-head > em.hidden {
  border-radius: 5px;
  background: #fceceb;
  color: #b63d36;
}

.admin-kongtou-real-card h2 {
  margin: 10px 0 6px;
  font-size: 15px;
}

.admin-kongtou-real-card blockquote {
  border-left-color: #c9d4e2;
  border-radius: 0;
  background: #f7f8fa;
}

.admin-kongtou-real-card dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 10px;
  border-top: 1px solid #eceef1;
}

.admin-kongtou-real-card dl div {
  min-height: 34px;
  border-top: 0;
}

.admin-kongtou-real-card dl div:first-child {
  grid-column: 1 / -1;
  border-bottom: 1px solid #f0f1f3;
}

.admin-kongtou-real-card dl div:last-child {
  min-width: 180px;
}

.admin-kongtou-real-actions button {
  border: 1px solid #dfe4ea;
  border-radius: 7px;
  background: #fff;
  color: #365b89;
}

.admin-kongtou-real-actions button.danger {
  border-color: #efcfcc;
  background: #fff;
  color: #aa3e38;
}

.admin-kongtou-real-actions button.restore {
  border-color: #cfe1d6;
  background: #fff;
  color: #346c4d;
}

.admin-order-state {
  border-style: solid;
  border-radius: 10px;
}

.admin-order-dialog {
  border-radius: 12px;
  box-shadow: 0 18px 50px rgba(14, 24, 43, .22);
}

.admin-order-dialog-head > button,
.admin-order-dialog-facts,
.admin-order-content,
.admin-order-dialog-label textarea,
.admin-order-dialog-actions a,
.admin-order-dialog-actions button {
  border-radius: 7px;
}

@media (max-width: 560px) {
  .admin-home-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .admin-home-metrics a:nth-child(3),
  .admin-home-metrics a:nth-child(4) {
    border-top: 0;
  }

  .admin-home-metrics a:nth-child(3) {
    border-left: 1px solid #eceef1;
  }
}

@media (max-width: 360px) {
  .admin-home-page,
  .admin-order-workspace {
    padding-right: 12px;
    padding-left: 12px;
  }

  .admin-home-shortcuts nav {
    grid-template-columns: 1fr;
  }

  .admin-home-shortcuts a:nth-child(2) {
    border-top: 1px solid #eff1f3;
  }

  .admin-order-filters form {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .admin-order-filters form button.secondary {
    grid-column: auto;
  }

  .admin-order-filters form button {
    padding: 0 10px;
  }

  .admin-kongtou-real-card dl {
    grid-template-columns: 1fr;
  }

  .admin-kongtou-real-card dl div,
  .admin-kongtou-real-card dl div:first-child {
    grid-column: auto;
    border-bottom: 1px solid #f0f1f3;
  }

  .admin-kongtou-real-card dl div:last-child {
    min-width: 0;
    border-bottom: 0;
  }
}

@media (min-width: 760px) {
  .admin-order-workspace {
    padding: 24px 24px 48px;
  }

  .admin-kongtou-real-list {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 900px) {
  .admin-home-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 12px;
    padding: 24px;
  }

  .admin-home-header,
  .admin-home-health {
    grid-column: 1 / -1;
  }

  .admin-home-todos {
    grid-column: 1;
    grid-row: 3 / span 3;
    margin: 0;
    align-self: start;
  }

  .admin-home-summary {
    grid-column: 2;
    grid-row: 3;
    margin: 0;
  }

  .admin-home-shortcuts {
    grid-column: 2;
    grid-row: 4;
    margin: 0;
  }

  .admin-home-all {
    grid-column: 2;
    grid-row: 5;
    margin: 0;
    align-self: start;
  }
}

/* Payment order management */
.admin-pay-workspace {
  width: min(100%, 920px);
  max-width: 920px;
}

.admin-pay-local-notice,
.admin-pay-dialog-notice {
  margin: 0 0 10px;
  border-left: 3px solid #b84a42;
  padding: 9px 11px;
  background: #fff4f2;
  color: #823d38;
  font-size: 11px;
  line-height: 1.65;
}

.admin-pay-local-notice strong {
  color: #6f312c;
}

.admin-pay-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 8px;
  border: 1px solid #e1e4e8;
  border-radius: 7px;
  overflow: hidden;
  background: #e1e4e8;
}

.admin-pay-tabs button {
  min-height: 44px;
  border: 0;
  background: #fff;
  color: #667182;
  font-size: 12px;
  font-weight: 700;
}

.admin-pay-tabs button.active {
  background: #2d5d9f;
  color: #fff;
}

.admin-pay-real-list {
  display: grid;
  gap: 0;
}

.admin-pay-real-card {
  min-width: 0;
  border: 1px solid #e1e4e8;
  border-radius: 0;
  padding: 14px;
  background: #fff;
}

.admin-pay-real-card + .admin-pay-real-card {
  border-top: 0;
}

.admin-pay-real-card:first-child {
  border-radius: 10px 10px 0 0;
}

.admin-pay-real-card:last-child {
  border-radius: 0 0 10px 10px;
}

.admin-pay-real-card:only-child {
  border-radius: 10px;
}

.admin-pay-real-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.admin-pay-real-head em {
  border-radius: 5px;
  padding: 5px 8px;
  background: #f0f2f4;
  color: #596474;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.admin-pay-real-head em.paid {
  background: #edf6f0;
  color: #36704f;
}

.admin-pay-real-head em.partial,
.admin-pay-real-head em.refunded {
  background: #fff0ed;
  color: #a9453d;
}

.admin-pay-real-head em.wait {
  background: #fff6e7;
  color: #8a611f;
}

.admin-pay-real-head strong {
  color: #1d2735;
  font-size: 18px;
}

.admin-pay-real-card h2 {
  margin: 11px 0 5px;
  color: #263244;
  font-size: 15px;
}

.admin-pay-real-order {
  display: block;
  max-width: 100%;
  min-height: 44px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #667182;
  font-size: 11px;
  text-align: left;
  overflow-wrap: anywhere;
}

.admin-pay-real-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid #eceef1;
}

.admin-pay-real-card dl div {
  display: grid;
  min-height: 38px;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #f0f1f3;
}

.admin-pay-real-card dl div:nth-child(even) {
  padding-left: 10px;
}

.admin-pay-real-card dt {
  color: #8b94a1;
  font-size: 10px;
}

.admin-pay-real-card dd {
  min-width: 0;
  margin: 0;
  color: #485468;
  font-size: 11px;
  text-align: right;
  overflow-wrap: anywhere;
}

.admin-pay-real-approval {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  border-left: 3px solid #b98433;
  padding: 9px 10px;
  background: #fff8ea;
  color: #6f5325;
  font-size: 11px;
  line-height: 1.5;
}

.admin-pay-real-approval button {
  width: 100%;
  min-height: 44px;
  margin-top: 5px;
  border: 1px solid #d7bf92;
  border-radius: 7px;
  background: #fff;
  color: #765525;
  font-weight: 700;
}

.admin-pay-real-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 11px;
}

.admin-pay-real-actions button {
  min-height: 44px;
  border: 1px solid #dfe4ea;
  border-radius: 7px;
  background: #fff;
  color: #365b89;
  font-weight: 700;
}

.admin-pay-real-actions button.danger {
  border-color: #efcfcc;
  color: #a33d37;
}

.admin-pay-refund-modes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: 12px;
  border: 1px solid #dfe3e8;
  border-radius: 7px;
  overflow: hidden;
}

.admin-pay-refund-modes button {
  min-height: 44px;
  border: 0;
  border-left: 1px solid #dfe3e8;
  background: #fff;
  color: #667182;
  font-weight: 700;
}

.admin-pay-refund-modes button:first-child {
  border-left: 0;
}

.admin-pay-refund-modes button.active {
  background: #edf2f8;
  color: #2d5d9f;
}

.admin-pay-dialog .admin-order-dialog-label input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #dce2eb;
  border-radius: 7px;
  padding: 9px 11px;
  background: #fff;
  font-size: 16px;
}

.admin-pay-dialog-notice {
  margin-top: 10px;
  margin-bottom: 0;
}

.admin-pay-approval-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

.admin-pay-approval-actions button {
  min-height: 46px;
  border: 1px solid #e0c5c2;
  border-radius: 7px;
  background: #fff;
  color: #a13d37;
  font-weight: 800;
}

.admin-pay-approval-actions button:last-child {
  border-color: #cdd9e8;
  color: #315b8f;
}

@media (max-width: 360px) {
  .admin-pay-real-card dl {
    grid-template-columns: 1fr;
  }

  .admin-pay-real-card dl div:nth-child(even) {
    padding-left: 0;
  }
}

/* ADMIN-DASHBOARD-05 final cascade */
.admin-home-body { background:#f3f6fb; }
.admin-home-page { width:min(100%,1120px); max-width:1120px; padding:22px 20px calc(42px + env(safe-area-inset-bottom)); }
.admin-home-header { position:relative; align-items:center; margin:0 0 14px; border-radius:18px; padding:22px 24px; overflow:hidden; background:linear-gradient(125deg,#15213b 0%,#253b6d 66%,#315fd0 100%); box-shadow:0 18px 36px rgba(25,43,81,.16); }
.admin-home-header::after { position:absolute; top:-70px; right:-34px; width:220px; height:220px; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:0 0 0 36px rgba(255,255,255,.035),0 0 0 74px rgba(255,255,255,.025); content:""; pointer-events:none; }
.admin-home-welcome { position:relative; z-index:1; }
.admin-home-welcome > span { margin:0 0 7px; color:#91a8d5; font-size:11px; letter-spacing:.08em; }
.admin-home-welcome h1 { color:#fff; font-size:25px; font-weight:500; }
.admin-home-welcome h1 strong { font-weight:800; }
.admin-home-welcome p { margin-top:7px; color:#b7c4dd; font-size:12px; }
.admin-home-account { position:relative; z-index:1; min-width:96px; border:1px solid rgba(255,255,255,.18); border-radius:11px; background:rgba(255,255,255,.1); color:#fff; backdrop-filter:blur(10px); }
.admin-home-account span { white-space:nowrap; }
.admin-home-account i { margin-left:9px; color:#aebfe3; font-size:18px; font-style:normal; }
.admin-home-health { min-height:48px; margin:0 0 14px; border:1px solid #e5eaf1; border-radius:12px; padding-left:15px; background:#fff; box-shadow:0 5px 16px rgba(28,43,69,.035); }
.admin-home-health > i { width:8px; height:8px; box-shadow:0 0 0 4px rgba(43,156,98,.1); }
.admin-home-health button { border-left:1px solid #e5eaf1; color:#4161a6; }
.admin-home-summary,.admin-home-todos,.admin-home-shortcuts,.admin-home-all { margin-bottom:14px; border:1px solid #e5eaf1; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(28,43,69,.045); }
.admin-home-summary,.admin-home-todos,.admin-home-shortcuts { padding:0 17px; }
.admin-home-section-title { padding:17px 0 13px; border-bottom-color:#edf0f4; }
.admin-home-section-title h2 { color:#182230; font-size:16px; }
.admin-home-section-title span { color:#929dab; font-size:10px; }
.admin-home-section-title > b { min-width:32px; height:30px; border-radius:9px; background:#fff0ee; color:#c44339; }
.admin-home-feedback { margin:13px 0; border-radius:9px; background:#f5f7fa; }
.admin-home-task { min-height:67px; border-top-color:#edf0f4; }
.admin-home-task strong { color:#263246; font-size:13px; font-weight:700; }
.admin-home-task small { margin-top:5px; color:#8d98a8; }
.admin-home-task > b,.admin-home-task.urgent > b,.admin-home-task.attention > b { min-width:30px; border-radius:8px; background:#f0f3f8; color:#516078; }
.admin-home-task.urgent > b { background:#fff0ee; color:#c44339; }
.admin-home-task.attention > b { background:#fff6e8; color:#9d671e; }
.admin-home-metrics { gap:10px; padding:13px 0 16px; }
.admin-home-metrics a,.admin-home-metrics a:first-child { display:flex; min-height:92px; flex-direction:column-reverse; align-items:flex-start; justify-content:center; border:0; border-radius:12px; padding:13px; background:#f5f7fb; color:#7b8798; text-align:left; }
.admin-home-metrics strong { margin:0 0 10px; color:#182230; font-size:24px; }
.admin-home-metrics span { font-size:10px; }
.admin-home-shortcuts nav { column-gap:22px; }
.admin-home-shortcuts a { min-height:64px; grid-template-columns:36px minmax(0,1fr) 14px; }
.admin-home-shortcuts i,.admin-home-shortcuts i.green,.admin-home-shortcuts i.blue,.admin-home-shortcuts i.orange,.admin-home-shortcuts i.purple,.admin-home-shortcuts i.red,.admin-home-shortcuts i.yellow { width:36px; height:36px; border-radius:11px; background:#edf2ff; color:#4164bd; }
.admin-home-shortcuts strong { color:#2e3a4d; font-size:13px; }
.admin-home-all summary { min-height:64px; padding:0 17px; }
.admin-home-all-content { padding:15px 17px 18px; }
@media (max-width:560px) {
  .admin-home-page { padding:12px 12px calc(30px + env(safe-area-inset-bottom)); }
  .admin-home-header { min-height:126px; align-items:flex-start; border-radius:16px; padding:18px; }
  .admin-home-welcome h1 { max-width:220px; font-size:22px; }
  .admin-home-welcome p { max-width:220px; }
  .admin-home-account { min-width:44px; padding:0 10px; }
  .admin-home-account span { display:none; }
  .admin-home-account i { margin:0; }
  .admin-home-health { margin-top:-17px; margin-right:10px; margin-left:10px; box-shadow:0 12px 24px rgba(28,43,69,.1); }
  .admin-home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-home-metrics a,.admin-home-metrics a:first-child { min-height:84px; }
  .admin-home-shortcuts nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:13px 0 16px; }
  .admin-home-shortcuts a,.admin-home-shortcuts a:nth-child(2) { min-height:78px; grid-template-columns:34px minmax(0,1fr); border:1px solid #edf0f4; border-radius:11px; padding:9px; }
  .admin-home-shortcuts a > b,.admin-home-shortcuts small { display:none; }
  .admin-home-shortcuts i,.admin-home-shortcuts i.green,.admin-home-shortcuts i.blue,.admin-home-shortcuts i.orange,.admin-home-shortcuts i.purple,.admin-home-shortcuts i.red,.admin-home-shortcuts i.yellow { width:34px; height:34px; }
}
@media (max-width:340px) {
  .admin-home-page { padding-right:10px; padding-left:10px; }
  .admin-home-header { padding-right:15px; padding-left:15px; }
  .admin-home-summary,.admin-home-todos,.admin-home-shortcuts { padding:0 14px; }
  .admin-home-shortcuts nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-home-shortcuts a:nth-child(2) { border-top:1px solid #edf0f4; }
}
@media (min-width:900px) {
  .admin-home-page { grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr); gap:16px; padding:28px; }
  .admin-home-header,.admin-home-health { grid-column:1/-1; }
  .admin-home-todos { grid-column:1; grid-row:3/span 3; }
  .admin-home-summary { grid-column:2; grid-row:3; }
  .admin-home-shortcuts { grid-column:2; grid-row:4; }
  .admin-home-shortcuts nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-home-shortcuts a:nth-child(2) { border-top:0; }
  .admin-home-all { grid-column:2; grid-row:5; }
}

/* ADMIN-ADS-01: real ad configuration and user placements */
.admin-ad-workspace,.admin-ad-editor { width:min(100%,920px); max-width:920px; }
.admin-ad-notice { display:grid; gap:5px; margin-bottom:12px; border-left:3px solid #315fb8; padding:11px 13px; background:#eef4ff; color:#50627e; font-size:11px; line-height:1.65; }
.admin-ad-notice strong { color:#2d4f91; font-size:13px; }
.admin-ad-tabs { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:12px; border:1px solid #dfe4eb; border-radius:10px; overflow:hidden; background:#dfe4eb; }
.admin-ad-tabs button { min-height:46px; border:0; background:#fff; color:#697689; font-weight:750; }
.admin-ad-tabs button.active { background:#2e5da6; color:#fff; }
.admin-ad-list { display:grid; gap:10px; }
.admin-ad-real-card { border:1px solid #e0e5ec; border-radius:13px; padding:14px; background:#fff; box-shadow:0 6px 18px rgba(35,50,75,.045); }
.admin-ad-real-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-ad-real-head > span { color:#647188; font-size:11px; font-weight:800; }
.admin-ad-real-head em { border-radius:999px; padding:5px 8px; background:#edf1f6; color:#657287; font-size:10px; font-style:normal; font-weight:800; }
.admin-ad-real-head em.enabled { background:#e8f4ee; color:#26714c; }
.admin-ad-real-card h2 { margin:12px 0 6px; color:#28364b; font-size:15px; overflow-wrap:anywhere; }
.admin-ad-real-card > p { margin:0; color:#7e899a; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.admin-ad-real-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; border-top:1px solid #edf0f4; padding-top:10px; color:#98a1ae; font-size:10px; }
.admin-ad-real-card > a { display:flex; min-height:44px; align-items:center; justify-content:space-between; margin-top:8px; border-radius:9px; padding:0 11px; background:#eef3fb; color:#315c9c; font-size:12px; font-weight:800; text-decoration:none; }
.admin-ad-real-card > a i { font-size:18px; font-style:normal; }
.admin-ad-editor-form { display:grid; gap:13px; }
.admin-ad-editor-form fieldset,.admin-ad-editor-form > label,.admin-ad-save-note { margin:0; border:1px solid #e0e5ec; border-radius:13px; padding:14px; background:#fff; }
.admin-ad-editor-form fieldset { min-width:0; }
.admin-ad-editor-form legend { padding:0 5px; color:#2d3b50; font-size:13px; font-weight:800; }
.admin-ad-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.admin-ad-choice-grid label { position:relative; display:block; min-width:0; margin:0; }
.admin-ad-choice-grid input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.admin-ad-choice-grid span { display:flex; min-height:68px; flex-direction:column; justify-content:center; margin:0; border:1px solid #e2e7ee; border-radius:10px; padding:10px 11px; background:#f8f9fb; color:#415069; }
.admin-ad-choice-grid input:checked + span { border-color:#8eaae0; background:#edf3ff; box-shadow:inset 0 0 0 1px #8eaae0; color:#315ba4; }
.admin-ad-choice-grid strong,.admin-ad-choice-grid small { display:block; }
.admin-ad-choice-grid strong { font-size:12px; }
.admin-ad-choice-grid small { margin-top:4px; color:#8c97a8; font-size:9px; font-weight:500; }
.admin-ad-editor-form > label > span { display:block; margin-bottom:7px; color:#44526a; font-size:12px; font-weight:800; }
.admin-ad-editor-form > label > input { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:10px; padding:9px 11px; background:#f9fafc; font-size:16px; outline:0; }
.admin-ad-editor-form > label > input:focus { border-color:#7799d4; background:#fff; box-shadow:0 0 0 3px rgba(49,95,184,.09); }
.admin-ad-save-note { display:grid; gap:5px; border-left:3px solid #d18a2e; border-radius:0 13px 13px 0; background:#fff8ed; color:#7f6747; font-size:10px; line-height:1.6; }
.admin-ad-save-note strong { color:#76521f; font-size:12px; }
.admin-ad-save { min-height:48px; border:0; border-radius:11px; background:#2e5da6; color:#fff; font-weight:800; }
.admin-ad-save:disabled { opacity:.58; }
.public-ad-slot { margin:12px 16px 0; border:1px solid #e4e7ec; border-radius:10px; overflow:hidden; background:#fff; }
.public-ad-slot[hidden] { display:none !important; }
.public-ad-slot a,.public-ad-slot > div { position:relative; display:flex; min-height:48px; align-items:center; justify-content:center; padding:10px 34px 10px 12px; color:#444; font-size:13px; line-height:1.6; text-decoration:none; overflow-wrap:anywhere; }
.public-ad-slot img { display:block; width:100%; max-height:180px; object-fit:cover; border-radius:6px; }
.public-ad-slot small { position:absolute; top:5px; right:6px; border:1px solid #ccd2db; border-radius:3px; padding:0 3px; color:#9aa2ad; font-size:8px; line-height:14px; }
.public-ad-chat { margin:10px 12px 0; }
@media (min-width:700px) { .admin-ad-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .admin-ad-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:340px) { .admin-ad-choice-grid { grid-template-columns:1fr; } }

/* ADMIN-HEJIE-CONFIG-01: server-priced phone orders */
.admin-hejie-config-workspace { width:min(100%,820px); max-width:820px; }
.admin-hejie-config-form { display:grid; gap:12px; }
.admin-hejie-config-card { border:1px solid #e0e5ec; border-radius:14px; padding:15px; background:#fff; box-shadow:0 6px 18px rgba(35,50,75,.045); }
.admin-hejie-config-card.price { border-top:3px solid #315fa8; }
.admin-hejie-config-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; border-bottom:1px solid #edf0f4; padding-bottom:12px; }
.admin-hejie-config-title small,.admin-hejie-config-title h2 { display:block; }
.admin-hejie-config-title small { color:#939dab; font-size:9px; }
.admin-hejie-config-title h2 { margin:4px 0 0; color:#29374c; font-size:16px; }
.admin-hejie-config-title > span { border-radius:999px; padding:5px 8px; background:#fff1ed; color:#b9473d; font-size:10px; font-weight:800; }
.admin-hejie-config-title > span.ready { background:#e8f4ee; color:#27714d; }
.admin-hejie-config-card > label { display:block; margin-top:12px; }
.admin-hejie-config-card > label > span { display:block; margin-bottom:7px; color:#46546b; font-size:12px; font-weight:800; }
.admin-hejie-config-card > label > input,.admin-hejie-config-card > label > select,.admin-hejie-config-card > label > textarea,.admin-hejie-price-input { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:10px; background:#f9fafc; }
.admin-hejie-config-card > label > input,.admin-hejie-config-card > label > select,.admin-hejie-config-card > label > textarea { padding:9px 11px; font-size:16px; outline:0; }
.admin-hejie-config-card > label > textarea { min-height:96px; resize:vertical; line-height:1.55; }
.admin-hejie-config-card > label > input:focus,.admin-hejie-config-card > label > select:focus,.admin-hejie-config-card > label > textarea:focus { border-color:#315fa8; box-shadow:0 0 0 3px rgba(49,95,168,.12); }
.admin-hejie-price-input { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; overflow:hidden; }
.admin-hejie-price-input i { display:grid; height:44px; place-items:center; border-right:1px solid #dce2eb; color:#315fa8; font-size:17px; font-style:normal; font-weight:800; }
.admin-hejie-price-input input { width:100%; height:44px; border:0; padding:8px 11px; background:transparent; font-size:18px; font-weight:800; outline:0; }
.admin-hejie-config-card label > small,.admin-hejie-config-card > p { display:block; margin-top:7px; color:#909aa9; font-size:10px; line-height:1.6; }
.admin-hejie-clear-secret { display:flex !important; min-height:44px; align-items:center; gap:9px; }
.admin-hejie-clear-secret input { width:20px !important; height:20px; flex:0 0 20px; }
.admin-hejie-clear-secret span { margin:0 !important; font-weight:600 !important; }
.admin-hejie-config-save { min-height:48px; border:0; border-radius:11px; background:#2e5da6; color:#fff; font-weight:800; }
.admin-hejie-config-save:disabled { opacity:.58; }
.hejie-submit-original:disabled { opacity:.55; }
@media (min-width:760px) { .admin-hejie-config-form { grid-template-columns:1fr 1fr; align-items:start; } .admin-hejie-config-card.price { min-height:100%; } .admin-hejie-config-form > .admin-order-dialog-error,.admin-hejie-config-save { grid-column:1/-1; } }

/* ADMIN-SMS-CONFIG-01: business pricing and login channel */
.admin-sms-config-workspace { width:min(100%,980px); max-width:980px; }
.admin-sms-config-form { display:grid; gap:12px; }
.admin-sms-config-card { border:1px solid #e0e6ef; border-radius:16px; padding:16px; background:#fff; box-shadow:0 7px 22px rgba(35,50,75,.05); }
.admin-sms-config-card.business { border-top:3px solid #2f67d5; }
.admin-sms-config-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px; border-bottom:1px solid #edf0f4; padding-bottom:12px; }
.admin-sms-config-title small,.admin-sms-config-title h2 { display:block; }
.admin-sms-config-title small { color:#929dac; font-size:10px; }
.admin-sms-config-title h2 { margin:4px 0 0; color:#26354b; font-size:17px; }
.admin-sms-config-title > span { border-radius:999px; padding:5px 8px; background:#fff0ed; color:#b94a40; font-size:10px; font-weight:800; white-space:nowrap; }
.admin-sms-config-title > span.ready { background:#e6f5ec; color:#24744c; }
.admin-sms-config-card label { display:block; margin-top:12px; }
.admin-sms-config-card label > span { display:block; margin-bottom:7px; color:#47566d; font-size:12px; font-weight:800; }
.admin-sms-config-card input:not([type="checkbox"]),.admin-sms-config-card textarea { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:10px; padding:9px 11px; background:#f9fafc; color:#29374c; font:inherit; font-size:16px; outline:0; }
.admin-sms-config-card textarea { min-height:80px; resize:vertical; line-height:1.6; }
.admin-sms-config-card input:focus,.admin-sms-config-card textarea:focus { border-color:#7698d4; background:#fff; box-shadow:0 0 0 3px rgba(47,103,213,.09); }
.admin-sms-config-card label > small,.admin-sms-config-card.channel p { display:block; margin-top:6px; color:#8d98a8; font-size:10px; line-height:1.6; }
.admin-wallet-package-list { display:grid; gap:10px; }
.admin-wallet-package-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(90px,.8fr) minmax(100px,.8fr) auto; align-items:end; gap:8px; border:1px solid #e4e8ef; border-radius:10px; padding:10px; background:#fafbfc; }
.admin-wallet-package-row label { min-width:0; margin:0; }
.admin-wallet-package-row button,.admin-wallet-package-add { min-height:46px; border:1px solid #d7deea; border-radius:10px; padding:0 13px; background:#fff; color:#516078; font-weight:800; }
.admin-wallet-package-row button { color:#b0443c; }
.admin-wallet-package-add { width:100%; margin-top:10px; border-style:dashed; color:#2e60bd; }
.admin-sms-rule-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 10px; }
.admin-sms-rule-grid label:last-child { grid-column:1/-1; }
.admin-sms-live-preview { margin-top:12px; border-radius:13px; padding:12px 13px; background:#edf4ff; }
.admin-sms-live-preview small,.admin-sms-live-preview strong,.admin-sms-live-preview span { display:block; }
.admin-sms-live-preview small { color:#7186a7; font-size:10px; }
.admin-sms-live-preview strong { margin:5px 0; color:#285bbf; font-size:21px; }
.admin-sms-live-preview span { color:#7d8da5; font-size:10px; line-height:1.5; }
.admin-sms-switch-row { display:flex!important; min-height:54px; align-items:center; gap:10px; border:1px solid #e4e8ef; border-radius:11px; padding:8px 10px; background:#fafbfd; }
.admin-sms-switch-row input { flex:0 0 22px; width:22px; height:22px; }
.admin-sms-switch-row span { margin:0!important; }
.admin-sms-switch-row strong,.admin-sms-switch-row small { display:block; }
.admin-sms-switch-row small { margin-top:3px; color:#909ba9; font-size:10px; font-weight:500; }
.admin-sms-mode { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.admin-sms-mode button { min-height:46px; border:1px solid #dde3ec; border-radius:11px; background:#f5f7fa; color:#67758a; font-weight:800; }
.admin-sms-mode button.active { border-color:#2f66d0; background:#2f66d0; color:#fff; box-shadow:0 6px 14px rgba(47,102,208,.18); }
.admin-sms-channel-note { border-left:3px solid #d59b42; padding:8px 10px; background:#fff8eb; color:#806b49!important; }
.admin-sms-config-save { min-height:50px; border:0; border-radius:12px; background:#2e60bd; color:#fff; font-weight:800; }
.admin-sms-config-save:disabled { opacity:.58; }
@media(min-width:800px) { .admin-sms-config-form { grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); align-items:start; } .admin-sms-config-form > .admin-sms-config-card.business:first-child { grid-row:1/span 2; } .admin-sms-config-form > .admin-order-dialog-error,.admin-sms-config-save { grid-column:2; } .admin-sms-rule-grid { grid-template-columns:repeat(3,1fr); } .admin-sms-rule-grid label:last-child { grid-column:auto; } }
@media(max-width:340px) { .admin-sms-rule-grid { grid-template-columns:1fr; } .admin-sms-rule-grid label:last-child { grid-column:auto; } }
@media(max-width:620px) { .admin-wallet-package-row { grid-template-columns:1fr 1fr; } .admin-wallet-package-row label:first-child { grid-column:1/-1; } .admin-wallet-package-row button { grid-column:1/-1; } }
@media(max-width:340px) { .admin-wallet-package-row { grid-template-columns:1fr; } .admin-wallet-package-row label:first-child,.admin-wallet-package-row button { grid-column:auto; } }

/* The 605 SMS page keeps its original first screen; extended business settings open here. */
.sms-business-sheet { position:fixed; inset:max(12px,env(safe-area-inset-top)) max(12px,calc((100vw - 430px)/2)) max(12px,env(safe-area-inset-bottom)); z-index:96; display:flex; min-width:0; flex-direction:column; overflow:hidden; border-radius:8px; background:#ededed; box-shadow:0 18px 48px rgba(0,0,0,.22); }
.admin-loading-state[hidden] { display:none !important; }
.sms-business-sheet[hidden] { display:none!important; }
.sms-business-sheet>header { display:flex; flex:0 0 auto; min-height:64px; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #ddd; padding:10px 14px; background:#fff; }
.sms-business-sheet>header small { color:#999; font-size:10px; }
.sms-business-sheet>header h2 { margin:3px 0 0; color:#333; font-size:18px; }
.sms-business-sheet>header button { min-width:54px; min-height:44px; border:0; border-radius:5px; background:#f3f3f3; color:#333; font-size:14px; }
.sms-business-scroll { display:grid; min-height:0; gap:12px; overflow:auto; overscroll-behavior:contain; padding:12px 12px calc(18px + env(safe-area-inset-bottom)); }
.sms-business-scroll .admin-sms-config-card { border-radius:8px; box-shadow:none; }
.sms-business-scroll>.admin-order-dialog-error { margin:0; color:#d23a32; font-size:13px; line-height:20px; }
.sms-business-scroll>.admin-sms-config-save { position:sticky; bottom:0; z-index:2; border-radius:5px; background:#333; box-shadow:0 6px 20px rgba(0,0,0,.15); }
.page.admin-ad-605-page { padding:0 15px 74px !important; }
.page.sms-config-605-page { padding:20px 20px 90px !important; }
.sms-config-605-page .admin-seg-row button { position:relative; min-height:38px !important; }
.sms-config-605-page .admin-seg-row button::before { content:""; position:absolute; top:50%; left:0; width:100%; height:44px; transform:translateY(-50%); }

/* ADMIN-PAY-CONFIG-01: safe credential management, explicit channel gate */
.admin-pay-config-workspace { width:min(100%,900px); max-width:900px; }
.admin-pay-blocker { display:flex; min-height:70px; align-items:center; gap:12px; margin-bottom:12px; border:1px solid #efc9a2; border-radius:15px; padding:12px 14px; background:#fff7ed; }
.admin-pay-blocker > i { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:11px; background:#e78b2d; color:#fff; font-size:18px; font-style:normal; font-weight:900; }
.admin-pay-blocker strong,.admin-pay-blocker span { display:block; }
.admin-pay-blocker strong { color:#7c4b1e; font-size:13px; }
.admin-pay-blocker span { margin-top:4px; color:#947352; font-size:10px; line-height:1.6; }
.admin-pay-tabs { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:12px; border-radius:14px; padding:6px; background:#e9edf4; }
.admin-pay-tabs button { min-height:46px; border:0; border-radius:10px; background:transparent; color:#6c798c; font-weight:800; }
.admin-pay-tabs button.active { background:#fff; color:#2d5eb9; box-shadow:0 4px 14px rgba(35,52,81,.09); }
.admin-pay-config-form { display:grid; gap:12px; }
.admin-pay-config-card { border:1px solid #e0e5ed; border-radius:16px; padding:16px; background:#fff; box-shadow:0 7px 22px rgba(35,50,75,.05); }
.admin-pay-config-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px; border-bottom:1px solid #edf0f4; padding-bottom:12px; }
.admin-pay-config-title small,.admin-pay-config-title h2 { display:block; }
.admin-pay-config-title small { color:#929dac; font-size:10px; }
.admin-pay-config-title h2 { margin:4px 0 0; color:#28374d; font-size:17px; }
.admin-pay-config-title > span { max-width:150px; border-radius:999px; padding:5px 8px; background:#fff0ed; color:#b94a40; font-size:10px; font-weight:800; text-align:center; }
.admin-pay-config-title > span.ready { background:#e9f2ff; color:#315fae; }
.admin-pay-config-card label { display:block; margin-top:12px; }
.admin-pay-config-card label > span { display:block; margin-bottom:7px; color:#47566c; font-size:12px; font-weight:800; }
.admin-pay-config-card input,.admin-pay-config-card textarea { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:10px; padding:9px 11px; background:#f9fafc; color:#29374c; font:inherit; font-size:16px; outline:0; }
.admin-pay-config-card textarea { min-height:110px; resize:vertical; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; line-height:1.5; }
.admin-pay-config-card input:focus,.admin-pay-config-card textarea:focus { border-color:#7798d2; background:#fff; box-shadow:0 0 0 3px rgba(47,96,189,.09); }
.admin-pay-config-card label > small { display:block; margin-top:6px; color:#8c97a8; font-size:10px; line-height:1.6; }
.admin-pay-readonly { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; border-radius:11px; padding:8px 11px; background:#f2f5fa; color:#7b8798; font-size:11px; }
.admin-pay-readonly strong { color:#48566b; font-size:11px; text-align:right; overflow-wrap:anywhere; }
.admin-pay-config-save { min-height:50px; border:0; border-radius:12px; background:#2e60bd; color:#fff; font-weight:800; }
.admin-pay-config-save:disabled { opacity:.58; }
@media(min-width:800px) { .admin-pay-config-card { padding:20px; } .admin-pay-config-form { grid-template-columns:minmax(0,1fr) 240px; align-items:end; } .admin-pay-config-card { grid-column:1/-1; } .admin-pay-config-form > .admin-order-dialog-error { grid-column:1; margin:0; } .admin-pay-config-save { grid-column:2; } }

/* ADMIN-REVIEW-CONTENT-01: Kuaishou-only public content */
.admin-review-config-workspace { width:min(100%,980px); max-width:980px; }
.admin-review-scope { display:flex; min-height:68px; align-items:center; gap:11px; margin-bottom:12px; border:1px solid #d7e2f5; border-radius:15px; padding:12px 14px; background:#f2f7ff; }
.admin-review-scope > i { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:11px; background:#315fae; color:#fff; font-size:12px; font-style:normal; font-weight:900; }
.admin-review-scope strong,.admin-review-scope span { display:block; }.admin-review-scope strong { color:#31517f; font-size:13px; }.admin-review-scope span { margin-top:4px; color:#7286a3; font-size:10px; line-height:1.6; }
.admin-review-config-form { display:grid; gap:12px; }
.admin-review-config-card,.admin-review-preview { border:1px solid #e0e5ed; border-radius:16px; padding:16px; background:#fff; box-shadow:0 7px 22px rgba(35,50,75,.05); }
.admin-review-config-card { border-top:3px solid #315fae; }
.admin-review-config-title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:14px; border-bottom:1px solid #edf0f4; padding-bottom:12px; }
.admin-review-config-title small,.admin-review-config-title h2 { display:block; }.admin-review-config-title small { color:#929dac; font-size:10px; }.admin-review-config-title h2 { margin:4px 0 0; color:#29374c; font-size:17px; }
.admin-review-config-title > span { border-radius:999px; padding:5px 9px; background:#f0f2f5; color:#748195; font-size:10px; font-weight:800; }.admin-review-config-title > span.ready { background:#e5f5eb; color:#227248; }
.admin-review-config-card label { display:block; margin-top:12px; }.admin-review-config-card label > span { display:block; margin-bottom:7px; color:#46546a; font-size:12px; font-weight:800; }
.admin-review-config-card input[type="text"],.admin-review-config-card textarea { width:100%; min-height:46px; border:1px solid #dce2eb; border-radius:10px; padding:9px 11px; background:#f9fafc; color:#29374c; font:inherit; font-size:16px; outline:0; }.admin-review-config-card textarea { min-height:190px; resize:vertical; line-height:1.65; }
.admin-review-config-card input:focus,.admin-review-config-card textarea:focus { border-color:#7799d3; background:#fff; box-shadow:0 0 0 3px rgba(49,95,174,.09); }.admin-review-config-card label > small { display:block; margin-top:5px; color:#8e99a8; font-size:10px; text-align:right; }
.admin-review-switch { display:flex!important; min-height:56px; align-items:center; gap:10px; border:1px solid #e2e7ee; border-radius:12px; padding:9px 11px; background:#fafbfd; }.admin-review-switch input { flex:0 0 22px; width:22px; height:22px; }.admin-review-switch span { margin:0!important; }.admin-review-switch strong,.admin-review-switch small { display:block; }.admin-review-switch small { margin-top:3px; color:#8f99a8; font-size:10px; font-weight:500; }
.admin-review-compliance { margin:13px 0 0; border-left:3px solid #d59035; padding:9px 10px; background:#fff8ed; color:#806944; font-size:10px; line-height:1.7; }
.admin-review-preview > div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }.admin-review-preview > div small { color:#7c899c; font-size:10px; font-weight:800; }.admin-review-preview > div span { border-radius:999px; padding:5px 8px; background:#edf1f6; color:#68758a; font-size:10px; font-weight:800; }
.admin-review-preview article { overflow:hidden; border:1px solid #e5e8ed; border-radius:14px; background:#f8fafc; }.admin-review-preview article h2 { margin:0; padding:14px 14px 10px; color:#28364b; font-size:16px; }.admin-review-preview article p { min-height:120px; margin:0; padding:0 14px 14px; color:#556278; font-size:13px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }.admin-review-preview article button { width:100%; min-height:46px; border:0; border-top:1px solid #e4e8ef; background:#fff; color:#315fae; font-weight:800; }
.admin-review-preview > section { display:grid; min-height:180px; place-content:center; border:1px dashed #cbd4e1; border-radius:14px; background:#fafbfd; text-align:center; }.admin-review-preview > section strong { color:#556277; font-size:13px; }.admin-review-preview > section span { margin-top:6px; color:#909aa9; font-size:10px; }
.admin-review-save { min-height:50px; border:0; border-radius:12px; background:#2e60bd; color:#fff; font-weight:800; }.admin-review-save:disabled { opacity:.58; }
@media(min-width:800px) { .admin-review-config-form { grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); align-items:start; }.admin-review-config-card { grid-column:1; grid-row:1/span 3; }.admin-review-preview { grid-column:2; grid-row:1; }.admin-review-config-form > .admin-order-dialog-error,.admin-review-save { grid-column:2; }.admin-review-config-form > .admin-order-dialog-error { margin:0; } }
/* UPLOAD-IMPL-01：真实私有媒体上传与空投详情展示 */
.kongtou-upload-grid [data-upload-preview],.kongtou-video-upload [data-upload-preview] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
.kongtou-upload-grid [data-upload-preview][hidden],.kongtou-video-upload [data-upload-preview][hidden] { display:none; }
.kongtou-video-upload>button { display:flex; width:100%; min-height:128px; flex-direction:column; align-items:center; justify-content:center; gap:8px; border:0; background:transparent; color:inherit; font:inherit; }
.kongtou-video-upload>button img { width:52px; height:52px; object-fit:contain; }
.kongtou-upload-item { position:relative; overflow:hidden; min-height:108px; border:1px solid #e5e8ee; border-radius:10px; background:#f7f8fa; }
.kongtou-upload-item img,.kongtou-upload-item video { display:block; width:100%; height:108px; object-fit:cover; background:#f4f5f7; }
.kongtou-upload-item video { background:#111; }
.kongtou-upload-item span { position:absolute; right:4px; bottom:4px; left:4px; border-radius:6px; padding:5px; background:rgba(17,24,39,.76); color:#fff; font-size:10px; text-align:center; }
.kongtou-upload-item.error span { background:rgba(180,45,45,.88); }
.kongtou-upload-item button { position:absolute; top:4px; right:4px; min-width:44px; min-height:44px; border:0; border-radius:8px; background:rgba(255,255,255,.92); color:#b43d39; font-size:11px; }
.kongtou-media-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.kongtou-media-list[hidden] { display:none; }
.kongtou-media-list img,.kongtou-media-list video { display:block; width:100%; max-height:420px; border-radius:10px; background:#f4f5f7; object-fit:contain; }
.kongtou-media-list video { background:#111; }
.kongtou-media-list video { grid-column:1/-1; min-height:180px; }
@media(max-width:430px){.kongtou-media-list{grid-template-columns:1fr}.kongtou-media-list video{grid-column:auto}.kongtou-upload-grid [data-upload-preview]{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kongtou-upload-item,.kongtou-upload-item img,.kongtou-upload-item video{min-height:94px;height:94px}}
.kt-detail-original-page .kongtou-media-list { display:flex; flex-wrap:wrap; gap:10px; }
.kt-detail-original-page .kongtou-media-list img { width:90px; height:90px; object-fit:cover; }
.kt-detail-original-page .kongtou-media-list video { width:100%; height:150px; min-height:150px; max-height:150px; object-fit:contain; }
