/* Approved 星渡 customer UI. Admin pages retain their existing console theme. */
body.user-view {
  --console-bg: #faf8f5;
  --console-bg-soft: #f7f3ef;
  --console-sidebar: #fffdfb;
  --console-panel: #fffdfb;
  --console-panel-strong: #ffffff;
  --console-line: #e9e1da;
  --console-line-soft: #eee7e1;
  --console-text: #111827;
  --console-muted: #667085;
  --console-blue: #0b5cff;
  --console-blue-strong: #004de6;
  --console-green: #00a84f;
  --console-orange: #ed8400;
  --console-red: #e5484d;
  --sidebar-width: 198px;
  --topbar-height: 70px;
  --xingdu-font-sans: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif;
  --xingdu-weight-regular: 400;
  --xingdu-weight-medium: 500;
  --xingdu-weight-semibold: 600;
  --xingdu-weight-bold: 700;
  color: var(--console-text);
  background: var(--console-bg);
  font-family: var(--xingdu-font-sans);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.user-view a { color: inherit; }
body.user-view svg.lucide { stroke-width: 1.8; }

body.user-view .xingdu-catalog-search input,
body.user-view .xingdu-purchase-options button,
body.user-view .xingdu-quantity button,
body.user-view .xingdu-quantity input,
body.user-view .xingdu-primary-button { font-family: var(--xingdu-font-sans); }

.xingdu-brand {
  height: 86px;
  gap: 13px;
  padding: 0 18px;
}

.xingdu-brand img {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

.xingdu-brand > span {
  display: grid;
  align-content: center;
  color: var(--console-text);
}

.xingdu-brand > span strong {
  color: #101216;
  font-family: "Microsoft YaHei", sans-serif;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.05;
}

.xingdu-brand > span small {
  margin-top: 5px;
  color: #101216;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 3px;
  line-height: 1;
}

body.user-view .console-sidebar {
  border-right-color: #e9e3de;
  background: #fffdfb;
}

.xingdu-user-nav {
  gap: 6px;
  padding: 17px 14px 0;
}

.xingdu-user-nav a {
  min-height: 46px;
  gap: 13px;
  padding: 0 14px;
  color: #1f2937;
  border: 0;
  border-radius: 10px;
  font-size: 15px;
  font-weight: var(--xingdu-weight-medium);
}

.xingdu-user-nav a::before {
  position: absolute;
  inset: 0 auto 0 -14px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: transparent;
  content: "";
}

.xingdu-user-nav a:hover {
  color: #111827;
  background: #f7f3ef;
}

.xingdu-user-nav a.is-active {
  color: #075bf5;
  border: 0;
  background: #f4efeb;
  font-weight: var(--xingdu-weight-semibold);
}

.xingdu-user-nav a.is-active::before { background: #1464ff; }
.xingdu-user-nav a svg { width: 20px; height: 20px; stroke-width: 1.8; }
.xingdu-nav-yen {
  width: 20px;
  height: 20px;
  display: grid;
  flex: 0 0 20px;
  place-items: center;
  border: 1.8px solid currentColor;
  border-radius: 50%;
}
.xingdu-nav-yen svg { width: 12px !important; height: 12px !important; stroke-width: 2 !important; }

.xingdu-nav-divider {
  height: 1px;
  margin: 8px 7px 7px;
  background: #ede5df;
}

.xingdu-nav-label {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px;
  color: #5d6470;
  font-size: 13px;
  font-weight: var(--xingdu-weight-regular);
}

.xingdu-nav-label svg { width: 14px; height: 14px; }

.xingdu-sidebar-help {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: auto 18px 15px;
  padding: 15px 7px 0;
  color: #2a3341;
  border: 0;
  border-top: 1px solid #ece4de;
  border-radius: 0;
  background: transparent;
}

.xingdu-sidebar-help > svg { width: 20px; height: 20px; margin-top: 1px; }
.xingdu-sidebar-help span { display: grid; gap: 4px; }
.xingdu-sidebar-help span strong { font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-sidebar-help span small { color: #737984; font-size: 11px; white-space: nowrap; }

body.user-view .console-main { background: #faf8f5; }

body.user-view .console-topbar {
  min-height: 70px;
  padding: 0 30px;
  border-bottom-color: #e9e3de;
  background: rgba(255, 253, 251, 0.96);
  backdrop-filter: blur(12px);
}

body.user-view .topbar-live {
  color: #2d3643;
  font-size: 13px;
  font-weight: var(--xingdu-weight-regular);
}

body.user-view .topbar-live i { width: 8px; height: 8px; background: #09ad56; }

body.user-view .topbar-account { gap: 13px; }

body.user-view .topbar-balance {
  min-width: 92px;
  display: grid;
  gap: 1px;
  padding: 0;
  color: #505864;
  border: 0;
  font-size: 11px;
}

body.user-view .topbar-balance strong { color: #101317; font-size: 18px; font-weight: var(--xingdu-weight-bold); line-height: 1.15; }

.xingdu-topup-button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  color: #fff !important;
  border-radius: 6px;
  background: #075cf5;
  text-decoration: none;
  font-size: 13px;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .topbar-notification {
  position: relative;
  width: 40px;
  height: 36px;
  color: #344054;
  border-left: 1px solid #e8e1dc;
}

.xingdu-user-menu { position: relative; }
.xingdu-user-menu > summary {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #1f2937;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: var(--xingdu-weight-medium);
}
.xingdu-user-menu > summary::-webkit-details-marker { display: none; }
.xingdu-user-menu > summary > svg { width: 14px; height: 14px; }
body.user-view .user-avatar {
  width: 34px;
  height: 34px;
  color: #1763f5;
  background: #e8efff;
}
body.user-view .user-avatar svg { width: 19px; height: 19px; }
.xingdu-user-menu-panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 20;
  width: 148px;
  padding: 6px;
  border: 1px solid #e7dfd8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(40, 32, 24, 0.12);
}
.xingdu-user-menu-panel a,
.xingdu-user-menu-panel form button {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  color: #344054;
  border: 0;
  border-radius: 5px;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  font-weight: var(--xingdu-weight-medium);
}
.xingdu-user-menu-panel form { margin: 0; }
.xingdu-user-menu-panel a:hover,
.xingdu-user-menu-panel form button:hover { color: #1463f3; background: #f3f7ff; }
.xingdu-user-menu-panel svg { width: 16px; height: 16px; }

.xingdu-account-password-shell {
  position: relative;
  min-height: calc(100vh - 146px);
  display: grid;
  place-items: start center;
  padding: 34px 20px 48px;
  overflow: hidden;
}

.xingdu-account-password-form {
  position: relative;
  z-index: 2;
  width: min(520px, 100%);
  padding: 40px 48px 32px;
  border: 1px solid #eadfce;
  border-radius: 18px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 20px 60px rgba(31, 42, 55, .08);
}

.xingdu-account-password-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

.xingdu-account-password-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: #1463f3;
  border-radius: 13px;
  background: #edf4ff;
}

.xingdu-account-password-icon svg { width: 24px; height: 24px; }
.xingdu-account-password-heading small { color: #1463f3; font-size: 13px; font-weight: 600; }
.xingdu-account-password-heading h1 { margin: 2px 0 0; color: #0b2345; font-size: 32px; line-height: 1.2; }
.xingdu-account-password-hint { margin: 0 0 28px; color: #68778a; font-size: 14px; }
.xingdu-account-password-form .xingdu-auth-field { margin-bottom: 19px; }
.xingdu-account-password-form .xingdu-auth-input-wrap { background: #fff; }
.xingdu-account-password-form .xingdu-auth-input-wrap input {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0 48px 0 55px;
  color: #0b2345;
  border: 0;
  border-radius: 9px;
  outline: none;
  background: transparent;
  box-shadow: none;
  font-size: 16px;
}
.xingdu-account-password-form .xingdu-auth-input-wrap input::placeholder { color: #7d8792; }
.xingdu-account-password-form .xingdu-auth-input-wrap:focus-within {
  border-color: #8eb8ff;
  box-shadow: 0 0 0 3px rgba(18, 104, 255, .1);
}
.xingdu-account-password-form .xingdu-auth-submit { margin-top: 5px; }
.xingdu-account-password-back {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 19px;
  color: #1463f3;
  font-size: 14px;
  font-weight: 600;
}
.xingdu-account-password-back svg { width: 16px; height: 16px; }
.xingdu-account-password-portal { position: absolute; inset: 0; pointer-events: none; }
.xingdu-account-password-portal span {
  position: absolute;
  right: -70px;
  top: 30px;
  width: 380px;
  height: 380px;
  border: 1px solid rgba(211, 178, 120, .22);
  border-radius: 50%;
}
.xingdu-account-password-portal span:nth-child(2) { width: 300px; height: 300px; right: -30px; top: 70px; }
.xingdu-account-password-portal span:nth-child(3) { width: 220px; height: 220px; right: 10px; top: 110px; }

@media (max-width: 760px) {
  .xingdu-account-password-shell { min-height: calc(100vh - 74px); padding: 20px 0 32px; }
  .xingdu-account-password-form { padding: 30px 22px 25px; border-radius: 14px; }
  .xingdu-account-password-heading h1 { font-size: 28px; }
  .xingdu-account-password-portal { display: none; }
}

body.user-view .console-page {
  min-height: calc(100vh - 70px);
  padding: 38px 32px 54px;
  color: #111827;
  background: #faf8f5;
}

body.user-view .console-panel,
body.user-view .panel {
  color: #111827;
  border-color: #e7ded7;
  background: #fffdfb;
}

body.user-view .panel-heading,
body.user-view .panel-title { border-bottom-color: #eee7e1; }
body.user-view .panel-heading h2,
body.user-view .panel-title h2,
body.user-view .panel h2 { color: #111827; }
body.user-view .panel-heading p,
body.user-view .panel-title p { color: #707784; }
body.user-view .notice,
body.user-view .flash { color: #9a5b00; border-color: #f1d3a7; background: #fff7ea; }
body.user-view .flash-success { color: #087a3e; border-color: #b8e4c9; background: #eefaf2; }
body.user-view .flash-error,
body.user-view .danger-notice { color: #b42318; border-color: #f1c2be; background: #fff2f0; }

.xingdu-page-heading { margin: 0 0 22px; }
.xingdu-page-heading h1 { margin: 0; color: #101828; font-size: 29px; font-weight: var(--xingdu-weight-bold); line-height: 1.25; }
.xingdu-page-heading p { margin: 8px 0 0; color: #667085; font-size: 14px; font-weight: var(--xingdu-weight-regular); }

/* Home */
.xingdu-home-heading { margin-bottom: 24px; }
.xingdu-home-overview { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr); gap: 18px; }
.xingdu-balance-card {
  position: relative;
  min-height: 252px;
  overflow: hidden;
  padding: 29px 27px;
  color: #fff;
  border-radius: 10px;
  background: linear-gradient(120deg, #2b2b29 0%, #363532 58%, #282826 100%);
  box-shadow: 0 13px 34px rgba(49, 43, 36, .13);
}
.xingdu-balance-card > div { position: relative; z-index: 2; }
.xingdu-balance-card small { color: #f2f2ef; font-size: 15px; font-weight: var(--xingdu-weight-medium); }
.xingdu-balance-card strong { display: block; margin-top: 17px; font-size: 44px; font-weight: var(--xingdu-weight-bold); letter-spacing: 1px; line-height: 1; }
.xingdu-balance-card p { margin: 16px 0 0; color: #d3d1cd; font-size: 14px; font-weight: var(--xingdu-weight-regular); }
.xingdu-balance-card > img { position: absolute; top: 48px; right: 20px; width: 165px; height: 165px; opacity: .25; filter: grayscale(1) brightness(4); }
.xingdu-balance-card nav { position: absolute; bottom: 31px; left: 27px; z-index: 2; display: flex; align-items: center; gap: 28px; }
.xingdu-balance-card nav a { min-height: 40px; display: inline-flex; align-items: center; gap: 6px; color: #f6f6f4; text-decoration: none; font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-balance-card nav a:first-child { min-width: 124px; justify-content: center; color: #161718; border-radius: 6px; background: #fff; box-shadow: 0 6px 15px rgba(0,0,0,.15); font-weight: var(--xingdu-weight-semibold); }
.xingdu-balance-card nav svg { width: 16px; height: 16px; }

.xingdu-status-card { min-height: 252px; padding: 23px 24px; border: 1px solid #e7ded7; border-radius: 10px; background: #fffdfb; }
.xingdu-status-card header { display: flex; align-items: center; justify-content: space-between; }
.xingdu-status-card h2 { margin: 0; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-status-card header span { padding: 5px 11px; border-radius: 6px; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-status-card .is-ok { color: #13843e; background: #edf6e9; }
.xingdu-order-metrics { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 20px; padding-bottom: 19px; border-bottom: 1px solid #e9e1db; }
.xingdu-order-metrics span { display: grid; place-items: center; gap: 8px; }
.xingdu-order-metrics span + span { border-left: 1px solid #e6ded8; }
.xingdu-order-metrics small { color: #626a76; font-size: 13px; font-weight: var(--xingdu-weight-regular); }
.xingdu-order-metrics strong { font-size: 24px; font-weight: var(--xingdu-weight-bold); }
.xingdu-status-card dl { display: grid; gap: 13px; margin: 19px 0 0; }
.xingdu-status-card dl div { display: flex; align-items: center; justify-content: space-between; }
.xingdu-status-card dt { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-status-card dt svg { width: 19px; height: 19px; }
.xingdu-status-card dd { margin: 0; color: #0b9f4c; font-size: 13px; font-weight: var(--xingdu-weight-medium); }

.xingdu-core-services { margin-top: 25px; }
.xingdu-core-services > h2 { margin: 0 0 13px; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-core-services > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.xingdu-service-card { min-height: 160px; display: grid; grid-template-columns: 96px 1fr 22px; align-items: center; gap: 24px; padding: 25px 22px; color: #111827; border: 1px solid #e7ded7; border-radius: 10px; background: #fffdfb; text-decoration: none; box-shadow: 0 7px 19px rgba(51, 42, 34, .05); }
.xingdu-service-card:hover { color: #111827; border-color: #cfc4bc; }
.xingdu-service-icon { width: 88px; height: 88px; display: grid; place-items: center; color: #3f4545; border-radius: 10px; background: #f5f0eb; }
.xingdu-service-icon svg { width: 45px; height: 45px; stroke-width: 1.6; }
.xingdu-service-card > span:nth-child(2) { display: grid; align-content: center; }
.xingdu-service-card > span:nth-child(2) strong { font-size: 22px; font-weight: var(--xingdu-weight-bold); }
.xingdu-service-card > span:nth-child(2) small { margin-top: 8px; color: #69707c; font-size: 14px; font-weight: var(--xingdu-weight-regular); }
.xingdu-service-card > span:nth-child(2) b { width: fit-content; min-height: 37px; display: inline-flex; align-items: center; gap: 7px; margin-top: 17px; padding: 0 14px; color: #075cf5; border: 1px solid #075cf5; border-radius: 5px; font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-service-card > span:nth-child(2) b svg { width: 15px; height: 15px; }
.xingdu-service-card > svg { color: #343b44; }

/* Catalog */
.xingdu-catalog-hero { min-width: 0; padding: 24px 25px 22px; border: 1px solid #e7dfd8; border-radius: 16px; background: #fffdfb; box-shadow: 0 10px 32px rgba(66, 48, 34, .045); }
.xingdu-catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 21px; }
.xingdu-catalog-heading h1 { margin: 0; color: #0b223f; font-size: 29px; font-weight: var(--xingdu-weight-bold); line-height: 1.25; }
.xingdu-category-tabs { min-width: 0; display: flex; align-items: center; gap: 10px; overflow-x: auto; padding-bottom: 1px; }
.xingdu-category-tabs { scrollbar-width: none; }
.xingdu-category-tabs::-webkit-scrollbar { display: none; }
.xingdu-category-tabs a { min-height: 38px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 0 12px 0 15px; color: #30445e; border: 1px solid #dce5f0; border-radius: 999px; background: #fff; text-decoration: none; white-space: nowrap; font-size: 13px; font-weight: var(--xingdu-weight-medium); transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease; }
.xingdu-category-tabs a:hover { color: #075cf5; border-color: #a9c7fb; background: #f7faff; }
.xingdu-category-tabs a.is-active { color: #fff; border-color: #075cf5; background: #075cf5; box-shadow: 0 5px 14px rgba(7, 92, 245, .18); }
.xingdu-category-tabs b { min-width: 22px; height: 22px; display: inline-grid; place-items: center; padding: 0 6px; color: #075cf5; border-radius: 999px; background: #edf4ff; font-size: 11px; font-weight: var(--xingdu-weight-bold); line-height: 1; }
.xingdu-category-tabs a.is-active b { color: #075cf5; background: #fff; }
.xingdu-catalog-search { width: min(100%, 310px); height: 44px; display: flex; flex: 0 0 310px; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid #dce3ec; border-radius: 11px; background: #fff; box-shadow: inset 0 1px 0 rgba(16, 24, 40, .02); }
.xingdu-catalog-search:focus-within { border-color: #6da2ff; box-shadow: 0 0 0 3px rgba(7, 92, 245, .1); }
.xingdu-catalog-search svg { width: 18px; height: 18px; flex: 0 0 18px; color: #65809e; }
body.user-view .xingdu-catalog-search input { min-width: 0; width: 100%; height: 40px; padding: 0; color: #0b223f; border: 0; outline: 0; background: transparent; font-size: 14px; }
body.user-view .xingdu-catalog-search input::placeholder { color: #8493a5; }

.xingdu-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.xingdu-product-card { min-width: 0; min-height: 206px; display: flex; flex-direction: column; padding: 20px; border: 1px solid #e4e0db; border-radius: 14px; background: #fffdfb; box-shadow: 0 8px 24px rgba(55, 45, 36, .04); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.xingdu-product-card:hover { border-color: #bfd4f8; box-shadow: 0 13px 30px rgba(30, 78, 148, .09); transform: translateY(-2px); }
.xingdu-product-main { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 15px; }
.xingdu-product-logo { width: 64px; height: 64px; display: grid; place-items: center; overflow: hidden; color: #20252d; border: 1px solid #e0e5eb; border-radius: 13px; background: #fff; }
.xingdu-product-logo img { width: 100%; height: 100%; object-fit: contain; }
.xingdu-product-logo svg { width: 31px; height: 31px; }
.xingdu-product-copy { min-width: 0; padding-top: 2px; }
.xingdu-product-main h2 { min-height: 43px; display: -webkit-box; margin: 0 72px 8px 0; overflow: hidden; font-size: 15px; font-weight: var(--xingdu-weight-semibold); line-height: 1.42; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.xingdu-product-main h2 a { color: #1a2230; text-decoration: none; }
.xingdu-product-main h2 a:hover { color: #075cf5; }
.xingdu-product-tags { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; }
.xingdu-product-tags small { min-width: 0; max-width: 58%; min-height: 24px; display: inline-flex; align-items: center; overflow: hidden; padding: 0 8px; color: #47617f; border: 1px solid #dce8f7; border-radius: 999px; background: #f3f7fc; font-size: 11px; font-weight: var(--xingdu-weight-medium); text-overflow: ellipsis; white-space: nowrap; }
.xingdu-product-tags small + small { max-width: 42%; color: #1769d2; border-color: #cee1ff; background: #edf5ff; }
.xingdu-stock { position: absolute; top: 0; right: 0; min-height: 25px; display: inline-flex; align-items: center; padding: 0 9px; color: #087a3e; border: 1px solid #c8ead5; border-radius: 999px; background: #eefaf2; font-size: 11px; font-weight: var(--xingdu-weight-semibold); white-space: nowrap; }
.xingdu-stock.is-empty { color: #b42318; border-color: #f1cbc7; background: #fff1ef; }
.xingdu-product-card footer { min-height: 58px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 16px; border-top: 1px solid #ebe6e1; }
.xingdu-product-card footer strong { color: #0b223f; font-size: 20px; font-weight: var(--xingdu-weight-bold); line-height: 40px; white-space: nowrap; }
.xingdu-product-card footer a { min-width: 112px; height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 14px; color: #fff; border-radius: 9px; background: #075cf5; text-decoration: none; font-size: 13px; font-weight: var(--xingdu-weight-semibold); box-shadow: 0 6px 15px rgba(7, 92, 245, .16); }
.xingdu-product-card footer a:hover { background: #004de6; }
.xingdu-product-card footer svg { width: 15px; height: 15px; }
.xingdu-catalog-empty { grid-column: 1 / -1; }
.xingdu-pagination { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 4px; color: #617189; font-size: 13px; }
.xingdu-pagination nav { display: flex; align-items: center; gap: 8px; }
.xingdu-pagination nav a,
.xingdu-pagination nav span { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; color: #30445e; border: 1px solid #e0e5ec; border-radius: 8px; background: #fffdfb; text-decoration: none; }
.xingdu-pagination nav a:hover { color: #075cf5; border-color: #a9c7fb; background: #f6f9ff; }
.xingdu-pagination nav a.is-active { color: #fff; border-color: #075cf5; background: #075cf5; box-shadow: 0 5px 13px rgba(7, 92, 245, .16); }
.xingdu-pagination nav span { color: #9ba1aa; background: #f8f6f3; }

/* Product detail */
.xingdu-breadcrumb { display: flex; align-items: center; gap: 10px; margin: -19px 0 20px; color: #747b85; font-size: 12px; }
.xingdu-breadcrumb a { text-decoration: none; }
.xingdu-breadcrumb i { color: #acb1b8; font-style: normal; }
.xingdu-product-detail { display: grid; grid-template-columns: 280px minmax(0, 1fr); border: 1px solid #e6ddd6; border-radius: 8px; background: #fffdfb; }
.xingdu-product-summary { padding: 28px 14px; border-right: 1px solid #e6ddd6; text-align: center; }
.xingdu-detail-logo { width: 136px; height: 136px; display: grid; place-items: center; overflow: hidden; margin: 0 auto; border: 1px solid #e6ded8; border-radius: 17px; background: #fff; }
.xingdu-detail-logo img { width: 100%; height: 100%; object-fit: contain; }
.xingdu-detail-logo svg { width: 65px; height: 65px; }
.xingdu-product-summary h2 { margin: 16px 0 4px; font-size: 21px; font-weight: var(--xingdu-weight-bold); }
.xingdu-product-summary > p { margin: 0; color: #2d3440; font-size: 15px; font-weight: var(--xingdu-weight-medium); }
.xingdu-product-summary dl { margin: 28px 0 0; border: 1px solid #e5ddd7; border-radius: 6px; text-align: left; }
.xingdu-product-summary dl div { min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 14px; }
.xingdu-product-summary dl div + div { border-top: 1px solid #e9e1db; }
.xingdu-product-summary dt { display: flex; align-items: center; gap: 10px; color: #495465; font-size: 13px; }
.xingdu-product-summary dt svg { width: 18px; height: 18px; color: #58708e; }
.xingdu-product-summary dd { margin: 0; font-size: 13px; font-weight: var(--xingdu-weight-medium); }

.xingdu-detail-purchase { padding: 28px 30px 18px; }
.xingdu-detail-purchase > h1 { margin: 0 0 16px; font-size: 22px; font-weight: var(--xingdu-weight-bold); }
.xingdu-detail-purchase > small { color: #646c78; font-size: 12px; }
.xingdu-detail-price { display: flex; align-items: center; gap: 27px; margin-top: 5px; }
.xingdu-detail-price strong { color: #075cf5; font-size: 28px; font-weight: var(--xingdu-weight-bold); }
.xingdu-detail-price span { color: #00a04c; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-detail-price span.is-empty { color: #d23e3e; }
.xingdu-order-assurance { min-height: 39px; display: flex; align-items: center; gap: 11px; margin-top: 14px; padding: 0 14px; color: #495463; border: 1px solid #c9e4d5; border-radius: 5px; background: #f2faf5; font-size: 13px; }
.xingdu-order-assurance svg { width: 17px; height: 17px; color: #03a650; }
.xingdu-purchase-warning { min-height: 70px; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 11px; margin-top: 14px; padding: 12px 15px; color: #5c3b18; border: 1px solid #f2d4a5; border-left: 4px solid #f08a00; border-radius: 5px; background: #fffaf2; }
.xingdu-purchase-warning > svg { color: #f08a00; }
.xingdu-purchase-warning span { display: grid; gap: 5px; }
.xingdu-purchase-warning strong { color: #c56b00; font-size: 14px; font-weight: var(--xingdu-weight-semibold); }
.xingdu-purchase-warning small { font-size: 12px; }
.xingdu-purchase-warning b { font-size: 12px; font-weight: var(--xingdu-weight-medium); }
.xingdu-purchase-options { display: flex; align-items: flex-end; gap: 26px; margin-top: 17px; }
.xingdu-purchase-options label,
.xingdu-purchase-option { display: grid; gap: 8px; color: #4f5967; font-size: 12px; font-weight: var(--xingdu-weight-medium); }
.xingdu-purchase-options label > button { min-width: 190px; height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 13px; color: #475467; border: 1px solid #ddd4cd; border-radius: 5px; background: #fff; font-size: 13px; }
.xingdu-purchase-options label > button svg { width: 14px; height: 14px; }
.xingdu-quantity { height: 39px; display: flex; border: 1px solid #ded6cf; border-radius: 5px; overflow: hidden; }
.xingdu-quantity button,
.xingdu-quantity input { width: 40px; display: grid; place-items: center; color: #40506a; border: 0; background: #fff; font-size: 14px; }
.xingdu-quantity input { color: #111827; border-right: 1px solid #e5ddd7; border-left: 1px solid #e5ddd7; outline: 0; text-align: center; font-size: 11px; font-weight: var(--xingdu-weight-semibold); appearance: textfield; -moz-appearance: textfield; }
.xingdu-quantity input::-webkit-inner-spin-button,
.xingdu-quantity input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.xingdu-quantity button { cursor: pointer; }
.xingdu-quantity button:disabled { color: #b5bdc8; cursor: not-allowed; }
.xingdu-quantity input:focus-visible { box-shadow: inset 0 0 0 2px rgba(7, 92, 245, .34); }
.xingdu-detail-actions { display: grid; grid-template-columns: minmax(150px, .72fr) minmax(230px, 1fr); gap: 14px; margin-top: 16px; margin-left: 216px; }
.xingdu-detail-actions a,
.xingdu-detail-actions button { min-height: 42px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; color: #075cf5; border: 1px solid #075cf5; border-radius: 5px; background: transparent; text-decoration: none; cursor: pointer; font-family: var(--xingdu-font-sans); font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-detail-actions .is-primary { color: #fff; background: #075cf5; }
.xingdu-detail-actions .is-disabled { opacity: .45; pointer-events: none; }
.xingdu-detail-actions svg { width: 17px; height: 17px; }

.xingdu-detail-description { margin-top: 13px; padding: 0 22px 21px; border: 1px solid #e6ddd6; border-radius: 8px; background: #fffdfb; }
.xingdu-detail-description nav { min-height: 50px; display: flex; align-items: center; gap: 42px; border-bottom: 1px solid #e9e1db; }
.xingdu-detail-description nav button { position: relative; height: 50px; display: flex; flex: 0 0 auto; align-items: center; padding: 0; color: #596373; border: 0; outline: 0; background: transparent; cursor: pointer; font: inherit; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-detail-description nav button:hover { color: #075cf5; }
.xingdu-detail-description nav button:focus-visible { border-radius: 3px; box-shadow: 0 0 0 3px rgba(7, 92, 245, .14); }
.xingdu-detail-description nav button.is-active { color: #075cf5; }
.xingdu-detail-description nav button.is-active::after { position: absolute; inset: auto 0 -1px; height: 2px; background: #075cf5; content: ""; }
.xingdu-detail-tab-panel { min-width: 0; padding-top: 15px; color: #3e4754; font-size: 13px; line-height: 1.7; }
.xingdu-detail-tab-panel[hidden] { display: none; }
.xingdu-detail-description-copy { padding-top: 18px; color: #3e4754; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.xingdu-detail-description-copy img { max-width: 100%; height: auto; }
.xingdu-detail-description-copy p { display: block; margin: 0 0 14px; color: #3e4754; font-size: 14px; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.xingdu-detail-description-copy p:last-child { margin-bottom: 0; }
.xingdu-detail-description-copy h3 { margin: 17px 0 7px; color: #1e2a3b; font-size: 14px; line-height: 1.7; font-weight: var(--xingdu-weight-semibold); }
.xingdu-detail-description-copy h3:first-child { margin-top: 0; }
.xingdu-detail-description-copy a { color: #075cf5; font-weight: var(--xingdu-weight-semibold); text-decoration: none; overflow-wrap: anywhere; word-break: break-word; }
.xingdu-detail-description-copy a:hover { text-decoration: underline; }
.xingdu-detail-description-copy strong { color: #1e2a3b; font-weight: var(--xingdu-weight-semibold); }
.xingdu-detail-default-copy,
.xingdu-detail-form-note { display: flex !important; align-items: flex-start; gap: 7px; margin: 7px 0; color: #3e4754; font-size: 13px !important; }
.xingdu-detail-description-copy svg,
.xingdu-detail-form-note svg { width: 13px; height: 13px; color: #075cf5; }
.xingdu-detail-tab-callout { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px 16px; color: #3e4754; border: 1px solid #dfe8f6; border-radius: 7px; background: #f6f9fe; }
.xingdu-detail-tab-callout svg { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 2px; color: #075cf5; }
.plus-redemption-guide { display: grid; gap: 13px; margin-top: 16px; padding: 15px 16px 16px; color: #3e4754; border: 1px solid #a9ccff; border-radius: 7px; background: #f6f9fe; }
.plus-redemption-guide-heading { display: flex; align-items: center; gap: 10px; color: #075cf5; }
.plus-redemption-guide-heading svg { width: 18px; height: 18px; flex: 0 0 18px; }
.plus-redemption-guide-heading strong { font-size: 15px; font-weight: var(--xingdu-weight-bold); }
.plus-redemption-guide-links { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px; font-size: 14px; line-height: 1.6; }
.plus-redemption-guide-links > span { white-space: nowrap; }
.plus-redemption-guide-links > div { min-width: 0; display: grid; gap: 5px; }
.plus-redemption-guide-links a { width: fit-content; max-width: 100%; color: #0754c9; overflow-wrap: anywhere; word-break: break-word; text-underline-offset: 2px; }
.plus-redemption-guide-links a:hover { color: #003da7; }
.xingdu-detail-faq { margin: 0; }
.xingdu-detail-faq div { display: block; padding: 11px 0; border-bottom: 1px solid #eee7e1; }
.xingdu-detail-faq div:last-child { border-bottom: 0; }
.xingdu-detail-faq dt { margin-bottom: 3px; color: #1e2a3b; font-weight: var(--xingdu-weight-semibold); }
.xingdu-detail-faq dd { margin: 0; }

/* VISA */
.xingdu-visa-steps { min-height: 60px; display: grid; grid-template-columns: 1fr 50px 1fr; align-items: center; margin-bottom: 16px; padding: 0 78px; border: 1px solid #e6ddd6; border-radius: 8px; background: #fffdfb; }
.xingdu-visa-steps span { display: flex; align-items: center; justify-content: center; gap: 11px; color: #626b78; font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-steps span b { width: 23px; height: 23px; display: grid; place-items: center; color: #7f8790; border: 1px solid #8d949b; border-radius: 50%; font-size: 12px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-steps span.is-active { color: #075cf5; }
.xingdu-visa-steps span.is-active b,
.xingdu-visa-steps span.is-done b { color: #fff; border-color: #075cf5; background: #075cf5; }
.xingdu-visa-steps span.is-done { color: #075cf5; }
.xingdu-visa-steps > svg { width: 17px; height: 17px; justify-self: center; color: #85909b; }
.xingdu-visa-main { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #e6ddd6; border-radius: 8px; background: #fffdfb; }
.xingdu-visa-preview,
.xingdu-visa-application-summary { min-width: 0; padding: 22px 24px; }
.xingdu-visa-preview { border-right: 1px solid #e6ddd6; }
.xingdu-visa-preview h2,
.xingdu-visa-application-summary h2 { margin: 0 0 20px; font-size: 19px; font-weight: var(--xingdu-weight-bold); }
.xingdu-black-card { position: relative; max-width: 390px; aspect-ratio: 1.61; overflow: hidden; margin: 0 auto; border-radius: 10px; background: radial-gradient(circle at 20% 20%, #2d2e2e 0, #171818 40%, #101111 100%); box-shadow: 0 8px 15px rgba(15, 15, 15, .18); }
.xingdu-black-card::before,
.xingdu-black-card::after { position: absolute; width: 260px; height: 260px; border: 1px solid rgba(255,255,255,.035); border-radius: 50%; content: ""; }
.xingdu-black-card::before { left: -90px; bottom: -170px; }
.xingdu-black-card::after { left: 80px; bottom: -180px; }
.xingdu-card-chip { position: absolute; top: 23%; left: 9%; width: 39px; height: 29px; border: 1px solid #e8e8e3; border-radius: 5px; background: linear-gradient(135deg,#f2f2ee,#bfc0be); }
.xingdu-card-chip::before,
.xingdu-card-chip::after { position: absolute; background: rgba(120,120,116,.35); content: ""; }
.xingdu-card-chip::before { inset: 0 auto 0 50%; width: 1px; }
.xingdu-card-chip::after { inset: 50% 0 auto; height: 1px; }
.xingdu-black-card > strong { position: absolute; right: 7%; bottom: 15%; color: #fff; font-size: 32px; font-style: italic; }
.xingdu-black-card > i { position: absolute; right: 5%; bottom: 4%; width: 43px; height: 21px; }
.xingdu-black-card > i b { position: absolute; width: 21px; height: 21px; border-radius: 50%; background: #ff241b; }
.xingdu-black-card > i b:last-child { left: 15px; background: #ffac00; }
.xingdu-visa-benefits { min-height: 54px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; margin-top: 24px; border-top: 1px solid #e8e0da; }
.xingdu-visa-benefits span { display: flex; align-items: center; justify-content: center; gap: 9px; color: #4c5666; font-size: 13px; }
.xingdu-visa-benefits span + span { border-left: 1px solid #e7dfd9; }
.xingdu-visa-benefits svg { width: 19px; height: 19px; color: #60738b; }
.xingdu-visa-review { min-height: 45px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border: 1px solid #e6ded8; border-radius: 5px; background: #fffaf7; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-review b { color: #f05c22; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-application-summary > p { margin: 10px 5px 14px; color: #667085; font-size: 12px; }
.xingdu-visa-application-summary dl { margin: 0; padding: 12px 5px 0; border-top: 1px solid #e8e0da; }
.xingdu-visa-application-summary dl div { min-height: 32px; display: flex; align-items: center; justify-content: space-between; }
.xingdu-visa-application-summary dt { color: #536073; font-size: 13px; }
.xingdu-visa-application-summary dd { margin: 0; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-application-summary dd.is-blue { color: #075cf5; }
.xingdu-visa-application-summary dl .is-total { min-height: 43px; margin-top: 3px; border-top: 1px solid #e6ded8; }
.xingdu-visa-application-summary dl .is-total dt { color: #1b2431; font-size: 17px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-application-summary dl .is-total dd { color: #075cf5; font-size: 22px; font-weight: var(--xingdu-weight-bold); }
.xingdu-primary-button { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: center; color: #fff; border: 0; border-radius: 5px; background: #075cf5; cursor: pointer; font-size: 14px; font-weight: var(--xingdu-weight-medium); }
.xingdu-primary-button:disabled { opacity: .5; cursor: not-allowed; }
.xingdu-visa-application-summary > small { display: block; margin-top: 8px; color: #7d838d; text-align: center; font-size: 11px; }

/* Approved selectable VISA application flow (2026-08-11). */
.visa-new-application-heading {
  min-height: 62px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 14px;
}
.visa-new-application-heading h1 { margin: 0; color: #101828; font-size: 27px; font-weight: var(--xingdu-weight-bold); }
.visa-new-application-heading p { margin: 5px 0 0; color: #667085; font-size: 12px; }
.visa-card-type-toggle { display: grid; grid-template-columns: repeat(2, 76px); overflow: hidden; padding: 3px; border: 1px solid #ded8d2; border-radius: 7px; background: #eeeae6; }
.visa-card-type-toggle button { height: 31px; color: #6b7280; border: 0; border-radius: 5px; background: transparent; font-family: inherit; font-size: 12px; }
.visa-card-type-toggle button.is-active { color: #111827; background: #fff; box-shadow: 0 1px 2px rgba(31, 25, 20, .08); font-weight: var(--xingdu-weight-semibold); }
.visa-card-type-toggle button:disabled { cursor: not-allowed; opacity: .65; }
.visa-new-application-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: start; gap: 14px; }
.visa-new-application-panel { min-width: 0; overflow: hidden; border: 1px solid #e3ddd7; border-radius: 9px; background: #fff; }
.visa-application-step { padding: 20px 22px; border-top: 1px solid #e8e1db; }
.visa-application-step:first-child { border-top: 0; }
.visa-application-step-heading { display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.visa-step-number { width: 22px; height: 22px; display: grid; place-items: center; color: #7b8794; border: 1px solid #d9d2cc; border-radius: 50%; font-size: 10px; }
.visa-application-step-heading h2 { margin: 0; color: #111827; font-size: 16px; font-weight: var(--xingdu-weight-bold); }
.visa-application-step-heading p { margin: 4px 0 0; color: #748091; font-size: 11px; }
.visa-bin-selection-copy { align-self: center; display: flex; align-items: center; gap: 5px; color: #eb5d2c; font-size: 11px; }
.visa-bin-selection-copy b { font-weight: var(--xingdu-weight-semibold); }
.visa-bin-selection-copy button { padding: 0 0 0 8px; color: #eb5d2c; border: 0; background: transparent; font-family: inherit; font-size: 11px; font-weight: var(--xingdu-weight-semibold); }
.visa-bin-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.visa-bin-option { position: relative; min-width: 0; min-height: 54px; display: grid; align-content: center; gap: 5px; padding: 8px 13px; color: #111827 !important; border: 1px solid #e1dbd5; border-radius: 7px; background: #fff; cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.visa-bin-option:hover { border-color: #ef9c7d; }
.visa-bin-option.is-selected { border-color: #f06a3c; background: #fff8f4; }
.visa-bin-option.is-recommended { box-shadow: inset 0 0 0 1px #f5b93b; }
.visa-bin-option.is-disabled { cursor: not-allowed; opacity: .48; }
.visa-bin-option input { position: absolute; opacity: 0; pointer-events: none; }
.visa-bin-option > span { min-width: 0; display: flex; align-items: center; gap: 10px; }
.visa-bin-option > span b { color: #1f4aa5; font-family: Arial, sans-serif; font-size: 9px; font-style: italic; }
.visa-bin-option > span strong { overflow: hidden; font-family: Consolas, monospace; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.visa-bin-option small { color: #687487; font-size: 10px; }
.visa-bin-option > i { position: absolute; top: 9px; right: 9px; width: 10px; height: 10px; border: 1px solid #d0c8c1; border-radius: 50%; background: #fff; }
.visa-bin-option.is-selected > i { border: 3px solid #e85e2c; }
.visa-bin-empty { min-height: 90px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; color: #667085; border: 1px dashed #dfd7d1; border-radius: 7px; background: #fcfaf8; }
.visa-bin-empty svg { width: 20px; height: 20px; color: #d17424; }
.visa-bin-empty span { display: grid; gap: 2px; }
.visa-bin-empty strong { color: #344054; font-size: 12px; }
.visa-bin-empty small { font-size: 10px; }
.visa-bin-detail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 26px; margin: 11px 0 0; padding: 14px 12px; border: 1px solid #e7e0da; border-radius: 7px; background: #fcfaf8; }
.visa-bin-detail > div { min-width: 0; display: grid; gap: 4px; }
.visa-bin-detail dt { color: #7a8491; font-size: 10px; }
.visa-bin-detail dd { overflow: hidden; margin: 0; color: #111827 !important; font-size: 12px; font-weight: var(--xingdu-weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.visa-add-holder-button { align-self: center; padding: 0; color: #e75b2b; border: 0; background: transparent; cursor: pointer; font-family: inherit; font-size: 11px; font-weight: var(--xingdu-weight-semibold); }
.visa-application-field { display: grid; gap: 7px; margin-top: 15px; color: #111827 !important; font-size: 11px; font-weight: var(--xingdu-weight-semibold); }
.visa-application-field > input,
.visa-application-field > select,
.visa-amount-input { width: 100%; min-height: 38px; border: 1px solid #ded7d1; border-radius: 6px; background: #fff; }
.visa-application-field > input,
.visa-application-field > select { padding: 0 12px; outline: 0; font-family: inherit; font-size: 12px; }
.visa-application-field > input:focus,
.visa-application-field > select:focus { border-color: #e9784e; box-shadow: 0 0 0 3px rgba(233, 103, 57, .09); }
.visa-amount-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; }
.visa-amount-input input { min-width: 0; height: 36px; padding: 0 12px; color: #111827; border: 0 !important; outline: 0; background: transparent !important; font-family: inherit; font-size: 12px; }
.visa-amount-input b { padding: 0 12px; color: #8a929d; font-size: 11px; font-weight: var(--xingdu-weight-regular); }
.visa-application-field > small { color: #737e8d; font-size: 10px; font-weight: var(--xingdu-weight-regular); }
.visa-settings-step { padding-bottom: 23px; }
.visa-new-application-sidebar { display: grid; gap: 11px; }
.visa-application-summary-card,
.visa-bin-recommendation-card { overflow: hidden; border: 1px solid #e3ddd7; border-radius: 9px; background: #fff; }
.visa-application-summary-card > header { padding: 17px 18px 14px; border-bottom: 1px solid #e8e1db; }
.visa-application-summary-card h2,
.visa-bin-recommendation-card h2 { margin: 0; color: #111827; font-size: 15px; font-weight: var(--xingdu-weight-bold); }
.visa-application-summary-card header p { margin: 5px 0 0; color: #6d7887; font-size: 10px; }
.visa-application-summary-card dl { margin: 0; padding: 10px 18px 0; }
.visa-application-summary-card dl > div { min-height: 33px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.visa-application-summary-card dt { color: #667085; font-size: 11px; }
.visa-application-summary-card dd { margin: 0; color: #111827 !important; font-size: 12px; font-weight: var(--xingdu-weight-semibold); }
.visa-application-summary-card .is-total { min-height: 59px; margin-top: 3px; border-top: 1px solid #e8e1db; }
.visa-application-summary-card .is-total dd { color: #e75c2b !important; font-size: 21px; font-weight: var(--xingdu-weight-bold); }
.visa-application-debit-note { margin: 0 18px; padding: 11px; color: #687487 !important; border-radius: 5px; background: #faf8f5; font-size: 9px !important; line-height: 1.6; }
.visa-confirm-application-button { width: calc(100% - 36px); min-height: 39px; margin: 11px 18px 17px; color: #222; border: 1px solid #dca72e; border-radius: 6px; background: #f6bd3f; cursor: pointer; font-family: inherit; font-size: 12px; font-weight: var(--xingdu-weight-semibold); }
.visa-confirm-application-button:disabled { color: #8b8272; border-color: #ddd3bf; background: #eee9df; cursor: not-allowed; }
.visa-bin-recommendation-card { padding: 17px 16px; }
.visa-bin-recommendation-card h2 { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.visa-bin-recommendation-card h2 svg { width: 14px; height: 14px; color: #ef6836; }
.visa-bin-recommendation-card > div { display: grid; grid-template-columns: minmax(0, 1fr) 54px; gap: 7px; margin-top: 13px; }
.visa-bin-recommendation-card input { min-width: 0; height: 35px; padding: 0 10px; color: #111827; border: 1px solid #ded7d1; border-radius: 6px; outline: 0; background: #fff; font-family: inherit; font-size: 11px; }
.visa-bin-recommendation-card button { height: 35px; color: #2c2517; border: 1px solid #dda72a; border-radius: 6px; background: #f6bd3f; cursor: pointer; font-family: inherit; font-size: 11px; font-weight: var(--xingdu-weight-semibold); }
.visa-bin-recommendation-card button:disabled { opacity: .6; cursor: wait; }
.visa-bin-recommendation-card p { margin: 11px 0 0; color: #707b89 !important; font-size: 9px !important; line-height: 1.55; }
.visa-bin-recommendation-card > small { display: block; min-height: 0; margin-top: 7px; color: #6d7887; font-size: 9px; }
.visa-bin-recommendation-card > small:empty { display: none; }
.visa-bin-recommendation-card > small.is-success { color: #14804a; }
.visa-bin-recommendation-card > small.is-error { color: #b42318; }
.visa-holder-dialog { width: min(720px, calc(100vw - 30px)); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; color: #111827; border: 1px solid #ddd5ce; border-radius: 10px; background: #fffdfb; box-shadow: 0 24px 70px rgba(42, 31, 22, .2); }
.visa-holder-dialog::backdrop { background: rgba(30, 26, 22, .46); backdrop-filter: blur(2px); }
.visa-holder-dialog .dialog-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; display: grid; place-items: center; color: #667085; border: 1px solid #ded6cf; border-radius: 50%; background: #fff; cursor: pointer; }
.visa-holder-dialog .dialog-close svg { width: 17px; height: 17px; }
.visa-holder-dialog > header { display: flex; align-items: center; gap: 12px; padding-right: 42px; }
.visa-holder-dialog > header > span { width: 42px; height: 42px; display: grid; place-items: center; color: #e75d2d; border-radius: 50%; background: #fff1ea; }
.visa-holder-dialog > header svg { width: 21px; height: 21px; }
.visa-holder-dialog > header p { margin: 0 0 2px; color: #e75d2d; font-size: 10px; }
.visa-holder-dialog > header h2 { margin: 0; font-size: 20px; }
.visa-holder-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 20px; }
.visa-holder-form-grid label { min-width: 0; display: grid; gap: 6px; color: #344054 !important; font-size: 11px; }
.visa-holder-form-grid label.span-2 { grid-column: 1 / -1; }
.visa-holder-form-grid input,
.visa-holder-form-grid select { width: 100%; height: 39px; padding: 0 11px; color: #111827; border: 1px solid #ded7d1; border-radius: 6px; outline: 0; background: #fff; font-family: inherit; font-size: 12px; }
.visa-holder-form-grid input:focus,
.visa-holder-form-grid select:focus { border-color: #e9784e; box-shadow: 0 0 0 3px rgba(233, 103, 57, .09); }
.visa-holder-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.visa-holder-dialog-actions button { min-width: 120px; }
.xingdu-visa-card-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 17px; }
.xingdu-visa-card-actions a { min-height: 42px; display: flex; align-items: center; justify-content: center; color: #075cf5; border: 1px solid #075cf5; border-radius: 5px; text-decoration: none; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-card-actions a:first-child { color: #fff; background: #075cf5; }
.xingdu-visa-existing .visa-card-surface { max-width: 390px; margin: 0 auto; }

.xingdu-visa-warning { margin-top: 24px; padding: 20px 22px; border-radius: 7px; background: #fffdfb; box-shadow: 0 7px 26px rgba(58, 47, 36, .055); }
.xingdu-visa-warning h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 13px; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-warning h2 svg { color: #e67f00; }
.xingdu-visa-warning > div { display: grid; grid-template-columns: 1fr 1.15fr 1.45fr auto; align-items: center; }
.xingdu-visa-warning > div > * { min-height: 30px; display: flex; align-items: center; gap: 9px; padding: 0 18px; color: #4f5966; border-left: 1px solid #e8e0da; font-size: 12px; }
.xingdu-visa-warning > div > *:first-child { padding-left: 0; border-left: 0; }
.xingdu-visa-warning > div svg { width: 18px; height: 18px; }
.xingdu-visa-warning a { color: #075cf5 !important; text-decoration: none; white-space: nowrap; }
.xingdu-visa-warning a svg { width: 13px; height: 13px; }

.xingdu-visa-recharge { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; margin-top: 16px; }
.xingdu-visa-recharge > form,
.xingdu-visa-recharge > aside,
.xingdu-visa-transactions { padding: 20px; border: 1px solid #e6ddd6; border-radius: 8px; background: #fffdfb; }
.xingdu-visa-recharge header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.xingdu-visa-recharge h2,
.xingdu-visa-transactions h2 { margin: 0; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-recharge header p { margin: 4px 0 0; color: #667085; font-size: 12px; }
.xingdu-visa-recharge header > span { color: #075cf5; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-recharge .visa-recharge-tier { color: #111827; border-color: #ddd5ce; background: #fff; }
.xingdu-visa-recharge .visa-recharge-tier.is-selected { border-color: #075cf5; background: #f4f7ff; }
.xingdu-visa-recharge > aside h2 { margin: 0 0 12px; font-size: 17px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-recharge > aside > div,
.xingdu-visa-transactions article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid #eee6e0; }
.xingdu-visa-recharge > aside span,
.xingdu-visa-transactions article span { display: grid; gap: 3px; }
.xingdu-visa-recharge > aside strong,
.xingdu-visa-transactions article strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.xingdu-visa-recharge > aside small,
.xingdu-visa-transactions article small { color: #777f8a; font-size: 11px; }
.xingdu-visa-recharge > aside b,
.xingdu-visa-transactions article b { font-size: 13px; }
.xingdu-visa-recharge > aside em,
.xingdu-visa-transactions article em { color: #0b9f4c; font-size: 12px; font-style: normal; }
.xingdu-visa-transactions { margin-top: 16px; }

/* Approved VISA card account views */
.xingdu-visa-tabs {
  min-height: 58px;
  display: flex;
  align-items: flex-end;
  gap: 26px;
  margin: -8px 0 20px;
  border-bottom: 1px solid #e6ddd6;
}
.xingdu-visa-tabs a {
  position: relative;
  min-width: 142px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #222a35;
  border-radius: 8px 8px 0 0;
  text-decoration: none;
  font-size: 15px;
  font-weight: var(--xingdu-weight-medium);
}
.xingdu-visa-tabs a::after { position: absolute; inset: auto 0 -1px; height: 2px; background: transparent; content: ""; }
.xingdu-visa-tabs a:hover { color: #075cf5; background: #faf6f2; }
.xingdu-visa-tabs a.is-active { color: #075cf5; background: #f7f2ee; font-weight: var(--xingdu-weight-semibold); }
.xingdu-visa-tabs a.is-active::after { background: #075cf5; }
.xingdu-visa-tabs svg { width: 20px; height: 20px; }

body.user-view .visa-card-switcher a { color: #596575; border-color: #e3dbd4; background: #fffdfb; }
body.user-view .visa-card-switcher a.is-active { color: #075cf5; border-color: #075cf5; background: #f4f7ff; }
body.user-view .visa-card-switcher small { color: #7a8492; }

.visa-multi-card-selector {
  margin: -6px 0 22px;
  padding: 18px;
  border: 1px solid #e6ddd6;
  border-radius: 8px;
  background: #fffdfb;
}
.visa-multi-card-selector > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.visa-multi-card-selector > header h2,
.visa-multi-card-selector > header p { margin: 0; }
.visa-multi-card-selector > header h2 { color: #111827; font-size: 17px; font-weight: var(--xingdu-weight-bold); }
.visa-multi-card-selector > header h2 span { margin-left: 7px; color: #075cf5; font-size: 12px; font-weight: var(--xingdu-weight-semibold); }
.visa-multi-card-selector > header p { margin-top: 4px; color: #748091; font-size: 11px; }
.visa-multi-card-selector > header > a { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 13px; color: #075cf5; border: 1px solid #cbd9ff; border-radius: 6px; background: #f5f8ff; text-decoration: none; font-size: 12px; font-weight: var(--xingdu-weight-semibold); }
.visa-multi-card-selector > header > a svg { width: 15px; height: 15px; }
.visa-multi-card-selector .visa-card-switcher { gap: 10px; margin: 0; padding: 2px; }
body.user-view .visa-multi-card-selector .visa-card-switcher a { position: relative; min-width: 220px; min-height: 96px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: 7px 12px; padding: 13px 14px; color: #111827; border-color: #e3dbd4; border-radius: 7px; background: #fff; box-shadow: none; }
body.user-view .visa-multi-card-selector .visa-card-switcher a:hover { border-color: #aebfe9; background: #fbfcff; }
body.user-view .visa-multi-card-selector .visa-card-switcher a.is-active { border-color: #075cf5; background: #f4f7ff; box-shadow: 0 0 0 1px rgba(7, 92, 245, .08); }
.visa-multi-card-selector .visa-card-switcher a > span { min-width: 0; display: flex; align-items: center; gap: 7px; }
.visa-multi-card-selector .visa-card-switcher a > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.visa-multi-card-selector .visa-card-switcher a > span em { flex: 0 0 auto; padding: 2px 6px; color: #058a4d; border-radius: 999px; background: #eaf8f0; font-size: 9px; font-style: normal; }
.visa-multi-card-selector .visa-card-switcher a > small { grid-column: 1; overflow: hidden; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.visa-multi-card-selector .visa-card-switcher a > strong { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #111827; font-size: 16px; }
body.user-view .visa-multi-card-selector .visa-card-switcher a.visa-card-switcher-add { min-width: 184px; grid-template-columns: 32px minmax(0, 1fr); border-style: dashed; }
.visa-card-switcher-add > svg { width: 30px; height: 30px; padding: 7px; color: #075cf5; border-radius: 50%; background: #edf3ff; }
.visa-multi-card-selector .visa-card-switcher .visa-card-switcher-add > span { display: grid; gap: 4px; }
.visa-multi-card-selector .visa-card-switcher .visa-card-switcher-add > span small { color: #7a8492; font-size: 10px; }
.visa-card-switcher-mobile { display: none; }

.xingdu-visa-workspace { display: grid; grid-template-columns: minmax(360px, .92fr) minmax(430px, 1.08fr); align-items: start; gap: 30px; }
.xingdu-visa-card-column { min-width: 0; padding: 22px 0; }
.xingdu-visa-card-column .visa-card-surface { max-width: 500px; margin: 0 auto; }
.visa-card-status {
  position: absolute !important;
  top: 22px;
  right: 22px;
  z-index: 2 !important;
  min-height: 30px;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  color: #fff !important;
  border: 1px solid rgba(28, 213, 135, .38);
  border-radius: 7px;
  background: #008b55;
  font-size: 12px !important;
  font-weight: var(--xingdu-weight-medium);
}
.visa-card-status svg { width: 15px; height: 15px; }
body.user-view .visa-card-surface { min-height: 0; border-color: #22272e; border-radius: 10px; box-shadow: 0 8px 18px rgba(24, 24, 24, .18); }
body.user-view .visa-card-number-block span,
body.user-view .visa-card-meta span,
body.user-view .visa-card-bottom span { color: rgba(255,255,255,.82); font-size: 12px; }
body.user-view .visa-card-number-block strong { font-size: 20px; }
.visa-card-meta { grid-template-columns: 54px .9fr .7fr 1.15fr; align-items: center; }
.visa-card-chip-visual {
  position: relative;
  width: 46px;
  height: 34px;
  display: block !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 6px;
  background: linear-gradient(135deg, #f5f5f1, #bdbfbe 58%, #eeeeea);
}
.visa-card-chip-visual::before,
.visa-card-chip-visual::after { position: absolute; background: rgba(105,108,108,.38); content: ""; }
.visa-card-chip-visual::before { inset: 0 auto 0 50%; width: 1px; }
.visa-card-chip-visual::after { inset: 50% 0 auto; height: 1px; }

.xingdu-visa-recharge-panel,
.xingdu-visa-information-panel,
.xingdu-visa-core-benefits,
.xingdu-visa-scenes,
.xingdu-visa-usage-panel,
.xingdu-visa-recharge-help,
.xingdu-visa-activity > article {
  border: 1px solid #e5ddd6;
  border-radius: 8px;
  background: #fffdfb;
  box-shadow: 0 4px 16px rgba(55, 45, 36, .025);
}
.xingdu-visa-recharge-panel { min-width: 0; padding: 22px; }
.xingdu-visa-recharge-panel > header h2 { margin: 0; font-size: 19px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-recharge-panel > header p { margin: 5px 0 0; color: #5f6875; font-size: 13px; }
.xingdu-visa-recharge-panel .visa-recharge-tiers { gap: 11px; margin-top: 15px; }
.xingdu-visa-recharge-panel .visa-recharge-tier { min-height: 82px; padding: 12px 14px; border-color: #e1d9d2; border-radius: 7px; background: #fff; }
.xingdu-visa-recharge-panel .visa-recharge-tier:hover { border-color: #8db2ff; }
.xingdu-visa-recharge-panel .visa-recharge-tier.is-selected { border-color: #075cf5; background: #f6f8ff; box-shadow: inset 0 0 0 1px rgba(7, 92, 245, .08); }
.xingdu-visa-recharge-panel .visa-recharge-tier strong { color: #111827; font-size: 14px; font-weight: var(--xingdu-weight-semibold); }
.xingdu-visa-recharge-panel .visa-recharge-tier small { margin-top: 6px; color: #536073; font-size: 11px; }
.xingdu-visa-recharge-alert { min-height: 36px; display: flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 0 5px; color: #c66b00 !important; border-bottom: 1px solid #eadfd7; font-size: 12px; }
.xingdu-visa-recharge-alert svg { width: 17px; height: 17px; color: #ef8700; }
.xingdu-visa-recharge-panel .visa-recharge-summary { margin: 0; border: 0; border-radius: 0; background: transparent; }
.xingdu-visa-recharge-panel .visa-recharge-summary > div { min-height: 40px; padding: 0 6px; border-bottom-color: #eee6e0; }
.xingdu-visa-recharge-panel .visa-recharge-summary dt { color: #536073; font-size: 12px; }
.xingdu-visa-recharge-panel .visa-recharge-summary dd { color: #111827; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-recharge-panel .visa-recharge-summary > div:last-child dd { color: #00a44f; font-size: 15px; font-weight: var(--xingdu-weight-semibold); }
.xingdu-visa-recharge-panel .xingdu-primary-button { margin-top: 14px; }

.xingdu-visa-recharge-help { margin-top: 18px; padding: 16px 20px 0; }
.xingdu-visa-recharge-help header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 14px; }
.xingdu-visa-recharge-help header > span { display: grid; grid-template-columns: 26px auto; align-items: center; gap: 1px 9px; }
.xingdu-visa-recharge-help header > span > svg { grid-row: 1 / 3; width: 22px; height: 22px; color: #075cf5; }
.xingdu-visa-recharge-help header b { color: #111827; font-size: 16px; }
.xingdu-visa-recharge-help header small { color: #556171; font-size: 12px; }
.xingdu-visa-recharge-help header a { display: inline-flex; align-items: center; gap: 6px; color: #075cf5; text-decoration: none; font-size: 12px; white-space: nowrap; }
.xingdu-visa-recharge-help header a svg { width: 14px; height: 14px; }
.xingdu-visa-recharge-help ol { min-height: 56px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; margin: 0; padding: 0 60px; border-top: 1px solid #eee6e0; list-style: none; }
.xingdu-visa-recharge-help li { display: flex; align-items: center; justify-content: center; gap: 12px; color: #313b48; font-size: 13px; }
.xingdu-visa-recharge-help li b { width: 24px; height: 24px; display: grid; place-items: center; color: #075cf5; border: 1px solid #075cf5; border-radius: 50%; font-weight: var(--xingdu-weight-medium); }
.xingdu-visa-recharge-help li svg { width: 19px; height: 19px; color: #6e7b8d; }

.xingdu-visa-activity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.xingdu-visa-activity > article { min-width: 0; padding: 18px 20px; }
.xingdu-visa-activity h2 { margin: 0 0 6px; font-size: 17px; }
.xingdu-visa-activity article > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #eee6e0; }
.xingdu-visa-activity article > div span { min-width: 0; display: grid; gap: 2px; }
.xingdu-visa-activity strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.xingdu-visa-activity small { color: #7a8492; font-size: 11px; }
.xingdu-visa-activity b { font-size: 12px; }
.xingdu-visa-activity em { color: #00a44f; font-size: 11px; font-style: normal; }

/* Approved VISA information view */
.xingdu-visa-detail-workspace { grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr); gap: 32px; }
.xingdu-visa-information-panel { min-width: 0; overflow: hidden; }
.xingdu-visa-information-heading { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 20px; }
.xingdu-visa-information-heading h2 { margin: 0; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-information-heading p { margin: 4px 0 0; color: #075cf5; font-size: 12px; }
.xingdu-visa-reveal-button { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; color: #075cf5; border: 1px solid #075cf5; border-radius: 6px; background: #fff; cursor: pointer; font-family: inherit; font-size: 12px; }
.xingdu-visa-reveal-button svg { width: 16px; height: 16px; }
.xingdu-visa-reveal-button.is-revealed { color: #07804b; border-color: #07804b; background: #f2fbf6; }
.xingdu-visa-reveal-button:disabled { opacity: .5; cursor: not-allowed; }
.xingdu-visa-detail-list { margin: 0; padding: 0 20px; }
.xingdu-visa-detail-list > div { min-height: 48px; display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; border-bottom: 1px solid #eee6e0; }
.xingdu-visa-detail-list dt { color: #536073; font-size: 13px; }
.xingdu-visa-detail-list dd { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin: 0; color: #111827; text-align: right; font-size: 13px; }
.xingdu-visa-detail-list dd button,
.xingdu-visa-billing-section header button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0; color: #4d5e74; border: 0; background: transparent; cursor: pointer; font-family: inherit; }
.xingdu-visa-detail-list dd button { width: 28px; height: 28px; border-radius: 5px; }
.xingdu-visa-detail-list dd button:hover { color: #075cf5; background: #f3f6fc; }
.xingdu-visa-detail-list dd button:disabled,
.xingdu-visa-billing-section header button:disabled { opacity: .4; cursor: not-allowed; }
.xingdu-visa-detail-list dd button svg { width: 16px; height: 16px; }
.xingdu-visa-billing-section { margin-top: 6px; border-top: 1px solid #e7dfd8; }
.xingdu-visa-billing-section > header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 20px 8px; }
.xingdu-visa-billing-section h3 { margin: 0; font-size: 17px; }
.xingdu-visa-billing-section p { margin: 4px 0 0; color: #647082; font-size: 12px; }
.xingdu-visa-billing-section header button { color: #075cf5; font-size: 12px; }
.xingdu-visa-billing-section header button svg { width: 15px; height: 15px; }
.xingdu-visa-secure-panel { margin-top: 22px; padding: 17px 20px; border: 1px solid #e5ddd6; border-radius: 8px; background: #fffaf7; }
.xingdu-visa-secure-panel header { display: flex; align-items: center; gap: 12px; }
.xingdu-visa-secure-panel header > span { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; color: #075cf5; border: 1px solid #bdd1fb; border-radius: 50%; background: #f3f7ff; }
.xingdu-visa-secure-panel header svg { width: 20px; height: 20px; }
.xingdu-visa-secure-panel h2 { margin: 0; font-size: 17px; }
.xingdu-visa-secure-panel p { margin: 4px 0 0; color: #596575; font-size: 12px; }
.xingdu-visa-secure-panel > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 15px; padding-top: 14px; border-top: 1px solid #e5ddd6; }
.xingdu-visa-secure-panel > div span { color: #3d4653; border-left: 1px solid #e2d8d0; text-align: center; font-size: 12px; }
.xingdu-visa-secure-panel > div span:first-child { border-left: 0; }

/* Approved VISA benefits view */
.xingdu-visa-core-benefits { min-width: 0; padding: 20px 24px 0; }
.xingdu-visa-core-benefits > h2,
.xingdu-visa-scenes > h2,
.xingdu-visa-usage-panel > h2 { margin: 0; font-size: 19px; font-weight: var(--xingdu-weight-bold); }
.xingdu-visa-core-benefits > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 19px; }
.xingdu-visa-core-benefits section { min-height: 112px; display: flex; align-items: center; gap: 14px; padding: 18px 16px; border-top: 1px solid #eee6e0; }
.xingdu-visa-core-benefits section:nth-child(odd) { border-right: 1px solid #eee6e0; }
.xingdu-visa-core-benefits section > span { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; color: #075cf5; border: 1px solid #d8e2f8; border-radius: 50%; background: #fff; }
.xingdu-visa-core-benefits section svg { width: 23px; height: 23px; }
.xingdu-visa-core-benefits h3 { margin: 0; font-size: 15px; font-weight: var(--xingdu-weight-semibold); }
.xingdu-visa-core-benefits section p { margin: 6px 0 0; color: #596575; font-size: 11px; }
.xingdu-visa-benefit-status { min-height: 50px; display: flex; align-items: center; gap: 8px; margin: 0; color: #00a44f !important; border-top: 1px solid #eee6e0; font-size: 12px; }
.xingdu-visa-benefit-status svg { width: 10px; height: 10px; fill: currentColor; }
.xingdu-visa-benefits-lower { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr); gap: 16px; margin-top: 16px; }
.xingdu-visa-scenes,
.xingdu-visa-usage-panel { padding: 20px 24px; }
.xingdu-visa-scenes > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 18px; }
.xingdu-visa-scenes section { min-width: 0; display: grid; justify-items: center; gap: 7px; color: #075cf5; text-align: center; }
.xingdu-visa-scenes section > svg { width: 27px; height: 27px; }
.xingdu-visa-scenes strong { color: #1d2632; font-size: 12px; }
.xingdu-visa-scenes small { max-width: 120px; overflow: hidden; color: #6b7480; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.xingdu-visa-usage-copy { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; margin-top: 18px; color: #596575; }
.xingdu-visa-usage-copy > svg { width: 17px; height: 17px; color: #e98700; }
.xingdu-visa-usage-copy p { margin: 0; white-space: pre-line; font-size: 12px; line-height: 1.75; }
.xingdu-visa-usage-panel > button { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; padding: 0; color: #075cf5; border: 0; background: transparent; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: var(--xingdu-weight-semibold); }
.xingdu-visa-usage-panel > button svg { width: 15px; height: 15px; }
body.user-view .visa-contact-dialog { color: #111827; border-color: #ded6cf; background: #fffdfb; }
body.user-view .visa-contact-dialog .dialog-close { color: #667085; border-color: #ded6cf; background: #fff; }
body.user-view .visa-contact-dialog > p { color: #667085; }
body.user-view .visa-contact-value { border-color: #e6ddd6; background: #faf7f4; }
body.user-view .visa-contact-value span { color: #667085; }
body.user-view .console-toast { border-color: #ded6cf; background: #1f2937; }

/* Approved balance recharge view */
.xingdu-balance-recharge-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .95fr); gap: 20px; align-items: start; }
.xingdu-recharge-selection-panel,
.xingdu-recharge-summary-panel,
.xingdu-recharge-history { border: 1px solid #e5ddd6; border-radius: 8px; background: #fffdfb; box-shadow: 0 4px 16px rgba(55, 45, 36, .025); }
.xingdu-recharge-selection-panel { min-width: 0; padding: 24px 26px 19px; }
.xingdu-recharge-section + .xingdu-recharge-section { margin-top: 26px; }
.xingdu-recharge-section h2,
.xingdu-recharge-summary-panel h2,
.xingdu-recharge-history h2 { margin: 0; color: #111827; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-recharge-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.xingdu-recharge-plan-card { min-width: 0; cursor: pointer; }
.xingdu-recharge-plan-card > input,
.xingdu-payment-channel-card > input { position: absolute; opacity: 0; pointer-events: none; }
.xingdu-recharge-plan-card > span { position: relative; min-height: 66px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 8px; color: #1d2939; border: 1px solid #e1d9d2; border-radius: 7px; background: #fff; }
.xingdu-recharge-plan-card > span > strong { font-size: 16px; font-weight: var(--xingdu-weight-medium); }
.xingdu-recharge-plan-card > span > small { color: #00a44f; font-size: 10px; }
.xingdu-recharge-plan-card > span > svg { position: absolute; top: 8px; right: 8px; width: 18px; height: 18px; display: none; padding: 3px; color: #fff; border-radius: 50%; background: #075cf5; }
.xingdu-recharge-plan-card input:checked + span { color: #075cf5; border-color: #075cf5; background: #f6f8ff; }
.xingdu-recharge-plan-card input:checked + span > svg { display: block; }
.xingdu-custom-amount-field { display: none; align-items: center; margin-top: 3px; border: 1px solid #b9c9e8; border-radius: 5px; overflow: hidden; }
.xingdu-recharge-plan-card.is-custom input:checked + span > strong { display: none; }
.xingdu-recharge-plan-card.is-custom input:checked + span .xingdu-custom-amount-field { display: flex; }
.xingdu-custom-amount-field b { height: 30px; display: grid; place-items: center; padding: 0 7px; color: #075cf5; border-right: 1px solid #d9e1f0; }
body.user-view .xingdu-custom-amount-field input { width: 90px !important; height: 30px !important; padding: 0 7px !important; border: 0 !important; border-radius: 0 !important; text-align: center; font-family: inherit; font-size: 12px; }
.xingdu-payment-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.xingdu-payment-channel-card { min-width: 0; min-height: 70px; display: flex; align-items: center; gap: 12px; padding: 12px 15px; color: #1d2939; border: 1px solid #e1d9d2; border-radius: 7px; background: #fff; cursor: pointer; }
.xingdu-payment-channel-card:has(input:checked) { border-color: #075cf5; background: #f6f8ff; }
.xingdu-payment-brand { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; color: #fff; border-radius: 8px; font-size: 18px; font-weight: var(--xingdu-weight-bold); }
.xingdu-payment-brand.is-wechat { background: #19b955; }
.xingdu-payment-brand.is-alipay { background: #0875ee; }
.xingdu-payment-logo-wechat { position: relative; width: 27px; height: 23px; display: block; }
.xingdu-payment-logo-wechat > i { position: absolute; display: block; background: #fff; }
.xingdu-payment-logo-wechat > i:first-child { top: 1px; left: 0; width: 19px; height: 15px; border-radius: 50%; }
.xingdu-payment-logo-wechat > i:last-child { right: 0; bottom: 0; width: 17px; height: 14px; border-radius: 50%; }
.xingdu-payment-logo-wechat > i::before,
.xingdu-payment-logo-wechat > i::after { content: ""; position: absolute; top: 5px; width: 3px; height: 3px; border-radius: 50%; background: #19b955; }
.xingdu-payment-logo-wechat > i::before { left: 5px; }
.xingdu-payment-logo-wechat > i::after { right: 5px; }
.xingdu-payment-logo-wechat > i:last-child::before,
.xingdu-payment-logo-wechat > i:last-child::after { top: 4px; }
.xingdu-payment-logo-alipay { display: block; color: #fff; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; font-size: 25px; font-weight: 800; line-height: 1; transform: translateY(-1px); }
.xingdu-payment-channel-card > span:nth-child(3) { min-width: 0; display: grid; gap: 3px; }
.xingdu-payment-channel-card strong { overflow: hidden; font-size: 14px; font-weight: var(--xingdu-weight-medium); text-overflow: ellipsis; white-space: nowrap; }
.xingdu-payment-channel-card small { overflow: hidden; color: #667085; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.xingdu-payment-check { width: 18px; height: 18px; margin-left: auto; color: #8995a5; }
.xingdu-payment-channel-card:has(input:checked) .xingdu-payment-check { color: #075cf5; }
.xingdu-recharge-helper { min-height: 45px; display: flex; align-items: center; gap: 8px; margin: 24px 0 0; padding-top: 15px; color: #5d6878 !important; border-top: 1px solid #eee6e0; font-size: 12px; }
.xingdu-recharge-helper svg { width: 17px; height: 17px; color: #56708f; }
.xingdu-recharge-summary-panel { padding: 24px 26px; }
.xingdu-recharge-summary-panel dl { margin: 16px 0 0; }
.xingdu-recharge-summary-panel dl > div { min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.xingdu-recharge-summary-panel dt { color: #536073; font-size: 13px; }
.xingdu-recharge-summary-panel dd { margin: 0; color: #111827; font-size: 13px; font-weight: var(--xingdu-weight-medium); }
.xingdu-recharge-summary-panel .is-total { min-height: 76px; margin-top: 8px; border-top: 1px solid #eee6e0; }
.xingdu-recharge-summary-panel .is-total dd { color: #075cf5; font-size: 26px; font-weight: var(--xingdu-weight-bold); }
.xingdu-recharge-summary-panel > small { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; color: #687487; font-size: 11px; }
.xingdu-recharge-summary-panel > small svg { width: 15px; height: 15px; }
.xingdu-recharge-history { margin-top: 18px; overflow: hidden; }
.xingdu-recharge-history > header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 26px; }
.xingdu-recharge-history > header label { position: relative; }
body.user-view .xingdu-recharge-history select { min-width: 116px; height: 36px; padding: 0 32px 0 12px; border: 1px solid #e1d9d2; border-radius: 6px; outline: 0; appearance: none; font-family: inherit; font-size: 12px; }
.xingdu-recharge-history > header label > svg { position: absolute; top: 10px; right: 10px; width: 15px; height: 15px; color: #687487; pointer-events: none; }
.xingdu-recharge-history .table-wrap { margin: 0 26px; border: 1px solid #e8e0da; border-radius: 7px; }
.xingdu-recharge-history .compact-table th { height: 44px; padding: 8px 13px; font-size: 11px; }
.xingdu-recharge-history .compact-table td { height: 47px; padding: 8px 13px; font-size: 11px; }
.xingdu-recharge-history .compact-table tbody tr:hover { background: #faf7f4; }
.xingdu-recharge-history .table-action { padding: 0; color: #075cf5; border: 0; background: transparent; font-size: 11px; }
.xingdu-history-payment { display: inline-flex; align-items: center; gap: 7px; }
.xingdu-history-payment svg { width: 16px; height: 16px; color: #075cf5; }
body.user-view .xingdu-recharge-history .status-pill { border: 0; }
body.user-view .xingdu-recharge-history .status-PENDING,
body.user-view .xingdu-recharge-history .status-SUBMITTED { color: #d86c00; background: #fff1e6; }
body.user-view .xingdu-recharge-history .status-APPROVED { color: #07804b; background: #e9f8ef; }
body.user-view .xingdu-recharge-history .status-REJECTED,
body.user-view .xingdu-recharge-history .status-CANCELLED { color: #c43d43; background: #fff0f1; }
.xingdu-recharge-history-footer { min-height: 64px; display: flex; align-items: center; justify-content: flex-end; gap: 28px; padding: 0 26px; color: #5f6b7b; font-size: 12px; }
.xingdu-recharge-history-footer nav { display: flex; align-items: center; gap: 7px; }
.xingdu-recharge-history-footer button { min-width: 34px; height: 34px; padding: 0 10px; color: #536073; border: 1px solid #e1d9d2; border-radius: 6px; background: #fff; cursor: pointer; font-family: inherit; font-size: 12px; }
.xingdu-recharge-history-footer button.is-active { color: #fff; border-color: #075cf5; background: #075cf5; }
.xingdu-recharge-history-footer button:disabled { color: #a5adb8; cursor: not-allowed; background: #faf8f5; }

/* Retained functional pages inherit the approved light shell. */
body.user-view .console-heading h1,
body.user-view .header-row h1,
body.user-view .console-page-heading h1,
body.user-view .panel-heading h2,
body.user-view .console-panel-heading h2 { color: #111827; }
body.user-view .page-subtitle,
body.user-view .console-page-heading p,
body.user-view .console-panel-heading p,
body.user-view .console-page p,
body.user-view .console-page li,
body.user-view .console-page label,
body.user-view .console-page dt,
body.user-view .console-page dd { color: #667085; }
body.user-view .console-page input:not([type="checkbox"]):not([type="radio"]),
body.user-view .console-page select,
body.user-view .console-page textarea { color: #111827; border-color: #ded6cf; background: #fff; }
body.user-view .primary-button,
body.user-view .console-primary-button { color: #fff; border-color: #075cf5; background: #075cf5; }
body.user-view .secondary-button,
body.user-view .console-secondary-button { color: #075cf5; border-color: #075cf5; background: #fff; }

/* Approved VISA application confirmation dialog (2026-08-11). */
body.user-view .visa-application-dialog {
  color: #0b2345;
  border-color: #d9e5f2;
  background: #fffdfb;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .34);
}

body.user-view .visa-application-dialog::backdrop {
  background: rgba(15, 23, 42, .76);
  backdrop-filter: blur(4px);
}

body.user-view .visa-application-dialog .dialog-close {
  padding: 0;
  color: #475569;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
}
body.user-view .visa-application-dialog .dialog-close:hover { color: #0b2345; }

body.user-view .visa-application-dialog > header > span {
  color: #8fd8f0;
  border-color: #0b2345;
  background: #0b2345;
}

body.user-view .visa-application-dialog .console-kicker { color: #10b9d6; }
body.user-view .visa-application-dialog h2 { color: #0b2345; }

body.user-view .visa-application-rule-copy {
  color: #334155;
  border: 1px solid #d9e5f2;
  border-radius: 7px;
  background: #f3f7fc;
}

body.user-view .visa-application-agreement {
  color: #0b2345;
  font-weight: var(--xingdu-weight-semibold);
}

body.user-view .visa-application-agreement input {
  position: relative;
  width: 20px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  flex: 0 0 20px;
  margin: 0;
  padding: 0;
  appearance: none;
  border: 1.5px solid #0b2345;
  border-radius: 4px;
  outline: 0;
  background: #fff;
  cursor: pointer;
}

body.user-view .visa-application-agreement input::after {
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
}

body.user-view .visa-application-agreement input:checked {
  border-color: #0b2345;
  background: #0b2345;
}

body.user-view .visa-application-agreement input:checked::after { opacity: 1; }
body.user-view .visa-application-agreement input:focus-visible { box-shadow: 0 0 0 3px rgba(16, 185, 214, .24); }

body.user-view .visa-application-dialog-actions .console-primary-button {
  color: #fff;
  border-color: #0b2345;
  background: #0b2345;
}

body.user-view .visa-application-dialog-actions .console-primary-button:disabled {
  color: #7d8ca0;
  border-color: #d7e0ea;
  background: #e9eef4;
}

body.user-view .visa-application-dialog-actions .console-secondary-button {
  color: #0b2345;
  border-color: #0b2345;
  background: #fff;
}

body.user-view .compact-table th { color: #596575; border-bottom-color: #e7dfd9; background: #f8f5f2; }
body.user-view .compact-table td { color: #273142; border-bottom-color: #eee7e1; }
body.user-view .xingdu-orders-panel .table-action { color: #fff; border-color: #075cf5; background: #075cf5; font-weight: var(--xingdu-weight-semibold); }
body.user-view .xingdu-orders-panel .plus-status { font-weight: var(--xingdu-weight-bold); }
body.user-view .xingdu-orders-panel .plus-status-completed { color: #07804b; background: #e5f4ed; }
body.user-view .xingdu-orders-panel .plus-status-fulfilling { color: #b96800; background: #fff0d5; }
body.user-view .empty-state,
body.user-view .console-empty-state { color: #667085; }

body.user-view .visa-customer-hidden-state {
  min-height: 540px;
  border: 1px solid #e7e1da;
  border-radius: 16px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
}

body.user-view .visa-customer-hidden-state > span {
  width: 112px;
  height: 88px;
  color: #6f87a3;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  position: relative;
}

body.user-view .visa-customer-hidden-state > span svg:first-child {
  width: 88px;
  height: 88px;
  stroke-width: 1.45;
}

body.user-view .visa-customer-hidden-state > span svg:last-child {
  width: 42px;
  height: 42px;
  position: absolute;
  right: -2px;
  bottom: -4px;
  padding: 5px;
  border-radius: 50%;
  background: #fff;
  stroke-width: 1.65;
}

body.user-view .visa-customer-hidden-state h2 {
  margin: 0;
  color: #10233f;
  font-size: 28px;
  line-height: 1.3;
  font-weight: 700;
}

body.user-view .visa-customer-hidden-state p {
  margin: 14px 0 0;
  color: #7287a1;
  font-size: 17px;
  line-height: 1.6;
}

@media (max-width: 720px) {
  body.user-view .visa-customer-hidden-state {
    min-height: 420px;
    border-radius: 14px;
    padding: 40px 20px;
  }

  body.user-view .visa-customer-hidden-state > span,
  body.user-view .visa-customer-hidden-state > span svg:first-child {
    width: 72px;
    height: 72px;
  }

  body.user-view .visa-customer-hidden-state > span svg:last-child {
    width: 36px;
    height: 36px;
  }

  body.user-view .visa-customer-hidden-state h2 { font-size: 24px; }
  body.user-view .visa-customer-hidden-state p { font-size: 15px; }
}
body.user-view .recharge-plan-card > span,
body.user-view .payment-channel-card > span { color: #111827; border-color: #e1d9d2; background: #fff; }
body.user-view .recharge-plan-card input:checked + span,
body.user-view .payment-channel-card input:checked + span { border-color: #075cf5; background: #f4f7ff; }
body.user-view .recharge-guidance,
body.user-view .recharge-summary-card,
body.user-view .recharge-note-card,
body.user-view .recharge-support-card { color: #111827; border-color: #e6ddd6; background: #fffdfb; }
body.user-view .ip-check-search-field { border-color: #ded6cf; background: #fff; }
body.user-view .ip-result-list > div,
body.user-view .ip-summary-list > div,
body.user-view .ip-scene-list > div { border-color: #e8e0da; }

@media (max-width: 1050px) {
  .xingdu-home-overview { grid-template-columns: 1fr; }
  .xingdu-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xingdu-detail-actions { margin-left: 0; }
  .xingdu-visa-warning > div { grid-template-columns: repeat(2, 1fr); gap: 8px 0; }
  .xingdu-visa-warning > div > *:nth-child(3) { padding-left: 0; border-left: 0; }
  .xingdu-visa-workspace,
  .xingdu-balance-recharge-layout { grid-template-columns: 1fr; }
  .xingdu-visa-card-column { padding: 0; }
  .xingdu-visa-card-column .visa-card-surface { max-width: 560px; }
  .xingdu-visa-benefits-lower { grid-template-columns: 1fr; }
  .visa-new-application-layout { grid-template-columns: 1fr; }
  .visa-new-application-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 761px) and (max-width: 900px) {
  .xingdu-catalog-heading { gap: 16px; }
  .xingdu-catalog-search { width: 230px; flex-basis: 230px; }
  .xingdu-product-card { padding: 16px; }
  .xingdu-product-main { grid-template-columns: 56px minmax(0, 1fr); gap: 12px; padding-top: 31px; }
  .xingdu-product-logo { width: 56px; height: 56px; }
  .xingdu-product-main h2 { margin-right: 0; }
  .xingdu-product-card footer { gap: 8px; }
  .xingdu-product-card footer strong { font-size: 18px; }
  .xingdu-product-card footer a { min-width: 100px; padding: 0 10px; }
}

@media (max-width: 760px) {
  body.user-view { --sidebar-width: 244px; --topbar-height: 60px; }
  body.user-view .console-sidebar { box-shadow: 10px 0 30px rgba(42, 33, 25, .14); }
  body.user-view .console-topbar { min-height: 60px; padding: 0 14px; gap: 10px; }
  body.user-view .mobile-menu-button { display: grid; color: #344054; border-color: #ddd5ce; background: #fff; }
  body.user-view .topbar-context { flex: 1; }
  body.user-view .topbar-live { font-size: 12px; }
  body.user-view .topbar-balance,
  body.user-view .xingdu-topup-button,
  body.user-view .topbar-notification { display: none; }
  .xingdu-user-menu > summary strong { max-width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.user-view .console-page { min-height: calc(100vh - 60px); padding: 24px 15px 38px; }
  .xingdu-page-heading h1 { font-size: 25px; }
  .visa-multi-card-selector { margin-top: -4px; padding: 13px; }
  .visa-multi-card-selector > header { margin-bottom: 10px; }
  .visa-multi-card-selector > header h2 { font-size: 15px; }
  .visa-multi-card-selector > header p,
  .visa-multi-card-selector > header > a,
  .visa-card-switcher-desktop { display: none !important; }
  .visa-card-switcher-mobile { display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-items: end; gap: 8px; }
  .visa-card-switcher-mobile label { min-width: 0; display: grid; gap: 6px; color: #667085; font-size: 10px; }
  .visa-card-switcher-mobile select { width: 100%; height: 42px; padding: 0 34px 0 11px; color: #111827; border: 1px solid #dcd4cd; border-radius: 6px; outline: 0; background: #fff; font: inherit; font-size: 12px; }
  .visa-card-switcher-mobile select:focus { border-color: #075cf5; box-shadow: 0 0 0 3px rgba(7, 92, 245, .1); }
  .visa-card-switcher-mobile > a { height: 42px; display: grid; place-items: center; color: #fff; border-radius: 6px; background: #075cf5; }
  .visa-card-switcher-mobile > a svg { width: 18px; height: 18px; }
  .visa-new-application-heading { min-height: 0; align-items: stretch; flex-direction: column; }
  .visa-card-type-toggle { align-self: flex-start; }
  .visa-new-application-sidebar { grid-template-columns: 1fr; }
  .visa-application-step { padding: 17px 14px; }
  .visa-application-step-heading { grid-template-columns: 23px minmax(0, 1fr); }
  .visa-bin-selection-copy,
  .visa-add-holder-button { grid-column: 2; justify-self: start; margin-top: 5px; }
  .visa-bin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visa-bin-detail { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .visa-holder-dialog { padding: 20px 15px; }
  .visa-holder-form-grid { grid-template-columns: 1fr; }
  .visa-holder-form-grid label.span-2 { grid-column: auto; }
  .visa-holder-dialog-actions { display: grid; grid-template-columns: 1fr; }
  .visa-holder-dialog-actions button { width: 100%; }
  .xingdu-home-overview,
  .xingdu-core-services > div,
  .xingdu-product-detail,
  .xingdu-visa-main,
  .xingdu-visa-recharge { grid-template-columns: 1fr; }
  .xingdu-balance-card { min-height: 230px; padding: 24px 20px; }
  .xingdu-balance-card strong { font-size: 36px; }
  .xingdu-balance-card > img { right: -20px; width: 145px; height: 145px; }
  .xingdu-balance-card nav { bottom: 25px; left: 20px; gap: 18px; }
  .xingdu-service-card { grid-template-columns: 68px 1fr 18px; gap: 16px; padding: 18px 15px; }
  .xingdu-service-icon { width: 68px; height: 68px; }
  .xingdu-service-icon svg { width: 36px; height: 36px; }
  .xingdu-service-card > span:nth-child(2) strong { font-size: 19px; }
  .xingdu-catalog-hero { padding: 17px 14px 15px; border-radius: 13px; }
  .xingdu-catalog-heading { align-items: stretch; flex-direction: column; gap: 14px; margin-bottom: 14px; }
  .xingdu-catalog-heading h1 { font-size: 25px; }
  .xingdu-catalog-search { width: 100%; height: 42px; flex-basis: 42px; }
  .xingdu-category-tabs { gap: 8px; margin: 0 -14px; padding: 0 14px 2px; }
  .xingdu-category-tabs a { min-height: 36px; padding-right: 10px; padding-left: 13px; }
  .xingdu-product-grid { grid-template-columns: 1fr; gap: 13px; margin-top: 16px; }
  .xingdu-product-card { min-height: 194px; padding: 17px; }
  .xingdu-product-main { grid-template-columns: 60px minmax(0, 1fr); gap: 13px; }
  .xingdu-product-logo { width: 60px; height: 60px; }
  .xingdu-product-main h2 { margin-right: 66px; font-size: 14px; }
  .xingdu-product-tags { gap: 4px; }
  .xingdu-product-tags small { padding: 0 7px; font-size: 10px; }
  .xingdu-stock { padding: 0 7px; font-size: 10px; }
  .xingdu-product-card footer strong { font-size: 18px; }
  .xingdu-product-card footer a { min-width: 104px; }
  .xingdu-pagination { min-width: 0; align-items: flex-start; flex-direction: column; gap: 13px; padding-top: 17px; }
  .xingdu-pagination nav { max-width: 100%; overflow-x: auto; padding-bottom: 2px; }
  .xingdu-pagination nav a,
  .xingdu-pagination nav span { flex: 0 0 auto; }
  .xingdu-product-summary { border-right: 0; border-bottom: 1px solid #e6ddd6; }
  .xingdu-detail-purchase { padding: 23px 17px 18px; }
  .xingdu-purchase-warning { grid-template-columns: 20px 1fr; }
  .xingdu-purchase-warning > b { display: none; }
  .xingdu-purchase-options { align-items: stretch; flex-direction: column; }
  .xingdu-purchase-options label > button { width: 100%; }
  .xingdu-detail-actions { grid-template-columns: 1fr; }
  .xingdu-detail-description { padding-right: 16px; padding-left: 16px; }
  .xingdu-detail-description nav { justify-content: space-between; gap: 12px; overflow-x: visible; }
  .xingdu-detail-description nav button { font-size: 12px; }
  .xingdu-detail-description-copy { padding-top: 17px; font-size: 14px; line-height: 1.82; }
  .xingdu-visa-steps { grid-template-columns: 1fr 25px 1fr; padding: 0 8px; }
  .xingdu-visa-steps span { gap: 5px; font-size: 12px; }
  .xingdu-visa-steps span b { width: 20px; height: 20px; }
  .xingdu-visa-preview { border-right: 0; border-bottom: 1px solid #e6ddd6; }
  .xingdu-visa-preview,
  .xingdu-visa-application-summary { padding: 19px 16px; }
  .xingdu-black-card { max-width: 330px; }
  .xingdu-visa-benefits { grid-template-columns: 1fr; gap: 9px; padding: 13px 0; }
  .xingdu-visa-benefits span + span { border-left: 0; }
  .xingdu-visa-warning > div { grid-template-columns: 1fr; }
  .xingdu-visa-warning > div > * { padding: 8px 0; border-top: 1px solid #e8e0da; border-left: 0; }
  .xingdu-visa-recharge > aside > div,
  .xingdu-visa-transactions article { grid-template-columns: minmax(0, 1fr) auto; }
  .xingdu-visa-recharge > aside em,
  .xingdu-visa-transactions article em { grid-column: 1 / -1; }
  .xingdu-visa-tabs { gap: 6px; margin-top: -6px; overflow-x: auto; scrollbar-width: none; }
  .xingdu-visa-tabs::-webkit-scrollbar { display: none; }
  .xingdu-visa-tabs a { min-width: 126px; height: 48px; font-size: 13px; }
  .xingdu-visa-tabs svg { width: 18px; height: 18px; }
  .xingdu-visa-recharge-panel,
  .xingdu-visa-information-panel,
  .xingdu-visa-core-benefits,
  .xingdu-visa-scenes,
  .xingdu-visa-usage-panel,
  .xingdu-recharge-selection-panel,
  .xingdu-recharge-summary-panel { padding-right: 16px; padding-left: 16px; }
  .xingdu-visa-recharge-panel .visa-recharge-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xingdu-visa-recharge-help header { align-items: flex-start; flex-direction: column; }
  .xingdu-visa-recharge-help ol { grid-template-columns: 1fr; gap: 10px; padding: 14px 0; }
  .xingdu-visa-recharge-help ol li:nth-child(even) svg { transform: rotate(90deg); }
  .xingdu-visa-activity { grid-template-columns: 1fr; }
  .xingdu-visa-secure-panel > div { grid-template-columns: 1fr; gap: 8px; }
  .xingdu-visa-secure-panel > div span { padding-top: 8px; border-top: 1px solid #e2d8d0; border-left: 0; }
  .xingdu-visa-secure-panel > div span:first-child { padding-top: 0; border-top: 0; }
  .xingdu-visa-information-heading { align-items: flex-start; flex-direction: column; }
  .xingdu-visa-reveal-button { width: 100%; }
  .xingdu-visa-detail-list > div { grid-template-columns: 92px minmax(0, 1fr); }
  .xingdu-visa-core-benefits > div { grid-template-columns: 1fr; }
  .xingdu-visa-core-benefits section:nth-child(odd) { border-right: 0; }
  .xingdu-visa-scenes > div { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 10px; }
  .xingdu-recharge-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xingdu-payment-channel-grid { grid-template-columns: 1fr; }
  .xingdu-recharge-history > header { padding: 0 16px; }
  .xingdu-recharge-history .table-wrap { margin: 0; border-right: 0; border-left: 0; border-radius: 0; }
  .xingdu-recharge-history-footer { align-items: flex-start; flex-direction: column; gap: 12px; padding: 16px; }
  .xingdu-recharge-history-footer nav { max-width: 100%; overflow-x: auto; }
}

/* Approved public landing and authentication UI (2026-08-09). */
body.auth-view {
  --xingdu-public-bg: #fbf8f4;
  --xingdu-public-panel: #fffdfb;
  --xingdu-public-text: #102236;
  --xingdu-public-muted: #5f6d7c;
  --xingdu-public-line: #dfd6cf;
  --xingdu-public-blue: #1268ff;
  --xingdu-public-navy: #0e2033;
  min-width: 320px;
  color: var(--xingdu-public-text);
  background: var(--xingdu-public-bg);
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.auth-view a:hover { text-decoration: none; }

body.auth-view .public-topbar {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 92px;
  padding: 0 44px;
  color: var(--xingdu-public-text);
  border-bottom: 1px solid var(--xingdu-public-line);
  background: rgba(251, 248, 244, 0.96);
}

body.auth-view .public-topbar .xingdu-brand {
  width: max-content;
  height: auto;
  display: inline-flex;
  align-items: center;
  gap: 17px;
  padding: 0;
  color: var(--xingdu-public-text);
}

body.auth-view .public-topbar .xingdu-brand img {
  width: 48px;
  height: 52px;
  flex: 0 0 48px;
}

body.auth-view .public-topbar .xingdu-brand > span {
  display: grid;
  color: #080b0f;
}

body.auth-view .public-topbar .xingdu-brand > span strong {
  color: #080b0f;
  font-size: 27px;
  font-weight: 800;
  line-height: 1;
}

body.auth-view .public-topbar .xingdu-brand > span small {
  margin-top: 6px;
  color: #080b0f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 4px;
  line-height: 1;
}

body.auth-view .public-page {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - 92px);
  margin: 0;
  padding: 0;
  color: var(--xingdu-public-text);
  background: var(--xingdu-public-bg);
}

.xingdu-landing-topbar {
  display: grid !important;
  grid-template-columns: 176px minmax(0, 1fr) auto;
  align-items: center;
}

.xingdu-public-nav {
  display: flex !important;
  align-items: center;
  justify-self: start;
  gap: clamp(28px, 4vw, 62px) !important;
  margin-left: 42px;
}

body.auth-view .xingdu-public-nav a {
  color: #121820;
  font-size: 17px;
  font-weight: 500;
  white-space: nowrap;
}

.xingdu-entry-actions {
  display: flex;
  align-items: center;
  gap: 34px;
}

.xingdu-login-link,
.xingdu-start-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

body.auth-view .xingdu-login-link {
  gap: 11px;
  color: #121820;
  font-size: 17px;
  font-weight: 500;
}

.xingdu-login-link svg { width: 17px; height: 17px; color: #9ba4ad; }

body.auth-view .xingdu-start-link {
  min-height: 52px;
  gap: 7px;
  padding: 0 22px;
  color: #fff;
  border-radius: 12px;
  background: var(--xingdu-public-navy);
  font-size: 17px;
  font-weight: 500;
}

.xingdu-start-link svg { width: 18px; height: 18px; }

.xingdu-landing-page {
  display: block !important;
  align-items: initial !important;
  max-width: none !important;
  min-height: calc(100vh - 92px) !important;
  overflow: hidden;
  padding: 0 60px 62px !important;
}

.xingdu-public-hero {
  width: 100%;
  min-height: 480px;
  display: grid;
  grid-template-columns: 43% 57%;
  position: relative;
}

.xingdu-public-hero-copy {
  position: relative;
  z-index: 2;
  padding: 76px 0 0 38px;
}

.xingdu-public-hero-copy h1 {
  margin: 0;
  color: var(--xingdu-public-text);
  font-size: clamp(64px, 5.55vw, 86px);
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.27;
  white-space: nowrap;
}

body.auth-view .xingdu-public-hero-copy a {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-top: 26px;
  color: #425d79;
  font-size: 21px;
  font-weight: 400;
}

.xingdu-public-hero-copy a svg {
  width: 23px;
  height: 23px;
  color: var(--xingdu-public-blue);
  stroke-width: 2;
}

.xingdu-public-portal {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  background:
    radial-gradient(circle at 67% 48%, rgba(235, 219, 206, 0.72), transparent 33%),
    linear-gradient(110deg, rgba(255, 255, 255, 0.4), rgba(246, 239, 232, 0.8));
}

.xingdu-public-portal::before {
  position: absolute;
  inset: 0;
  z-index: 4;
  background: linear-gradient(90deg, var(--xingdu-public-bg) 0, transparent 20%, transparent 88%, rgba(239, 230, 222, 0.55) 100%);
  content: "";
  pointer-events: none;
}

.xingdu-public-portal-ribs {
  position: absolute;
  left: 7%;
  bottom: 92px;
  width: 210px;
  height: 305px;
  opacity: 0.82;
  transform: skewY(-3deg);
  background: repeating-linear-gradient(90deg, transparent 0 20px, rgba(206, 193, 181, 0.65) 21px 22px, rgba(255, 253, 250, 0.95) 23px 39px);
  box-shadow: 55px 13px 35px rgba(110, 87, 66, 0.08);
}

.xingdu-public-portal-mark {
  position: absolute;
  z-index: 2;
  right: 13%;
  bottom: 76px;
  width: min(410px, 55%);
  height: 365px;
  display: grid;
  place-items: center;
}

.xingdu-public-portal-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.93;
  filter: brightness(0) saturate(100%) invert(98%) sepia(7%) saturate(257%) hue-rotate(332deg) brightness(99%) contrast(93%) drop-shadow(18px 18px 15px rgba(99, 77, 57, 0.2));
}

.xingdu-public-portal-glow {
  position: absolute;
  z-index: 3;
  left: calc(67% - 2px);
  bottom: 68px;
  width: 4px;
  height: 330px;
  border-radius: 50%;
  background: #dff1ff;
  box-shadow: 0 0 9px #fff, 0 0 22px rgba(63, 149, 255, 0.75), 0 0 55px rgba(18, 104, 255, 0.35);
}

.xingdu-public-portal-floor {
  position: absolute;
  z-index: 1;
  left: -18%;
  right: -10%;
  bottom: -82px;
  height: 220px;
  transform: perspective(320px) rotateX(57deg);
  transform-origin: bottom center;
  background-image:
    repeating-linear-gradient(90deg, rgba(191, 175, 161, 0.55) 0 1px, transparent 1px 78px),
    repeating-linear-gradient(0deg, rgba(191, 175, 161, 0.45) 0 1px, transparent 1px 52px);
}

.xingdu-public-services { position: relative; z-index: 5; width: 100%; }

.xingdu-public-section-heading {
  min-height: 55px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.xingdu-public-section-heading h2 {
  margin: 0;
  color: var(--xingdu-public-text);
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 1px;
}

body.auth-view .xingdu-public-section-heading a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-right: 7px;
  color: var(--xingdu-public-blue);
  font-size: 16px;
  font-weight: 500;
}

.xingdu-public-section-heading svg { width: 19px; height: 19px; }

.xingdu-public-service-grid {
  min-height: 336px;
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 18px;
}

body.auth-view .xingdu-public-feature-card {
  position: relative;
  min-height: 336px;
  overflow: hidden;
  display: block;
  padding: 72px 40px;
  color: #f7f9fc;
  border-radius: 8px;
  background: linear-gradient(118deg, #0e2237 0%, #091a2e 56%, #061324 100%);
}

.xingdu-public-feature-card > *:not(.xingdu-feature-corridor) { position: relative; z-index: 3; }
.xingdu-feature-kicker, .xingdu-feature-link { display: flex; align-items: center; }
.xingdu-feature-kicker { font-size: 17px; font-weight: 400; }

.xingdu-public-feature-card > strong {
  display: block;
  margin-top: 22px;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.25;
}

.xingdu-feature-link {
  gap: 11px;
  margin-top: 52px;
  color: #5aa4ff;
  font-size: 16px;
  font-weight: 400;
}

.xingdu-feature-link svg { width: 18px; height: 18px; }

.xingdu-feature-corridor {
  position: absolute;
  inset: 0 0 0 49%;
  overflow: hidden;
  background: radial-gradient(ellipse at 55% 82%, rgba(75, 149, 255, 0.24), transparent 32%);
}

.xingdu-corridor-lines {
  position: absolute;
  inset: 10px 13% 60px 0;
  opacity: 0.68;
  background: repeating-linear-gradient(90deg, transparent 0 18px, rgba(75, 132, 194, 0.6) 19px 20px, transparent 21px 38px);
  clip-path: polygon(0 0, 100% 14%, 100% 100%, 0 100%);
}

.xingdu-corridor-door {
  position: absolute;
  z-index: 2;
  left: 53%;
  bottom: 61px;
  width: 48px;
  height: 177px;
  border-radius: 28px 28px 3px 3px;
  background: linear-gradient(#b6d9ff, #eff8ff 78%, #fff);
  box-shadow: 0 0 18px rgba(142, 199, 255, 0.88), 0 0 48px rgba(39, 126, 255, 0.62);
}

.xingdu-corridor-floor {
  position: absolute;
  left: -34%;
  right: -24%;
  bottom: -76px;
  height: 185px;
  transform: perspective(220px) rotateX(57deg);
  transform-origin: bottom;
  opacity: 0.8;
  background-image:
    repeating-linear-gradient(90deg, rgba(52, 112, 181, 0.75) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(52, 112, 181, 0.65) 0 1px, transparent 1px 31px);
}

.xingdu-public-service-stack {
  display: grid;
  gap: 18px;
  grid-template-rows: 1fr 1fr;
}

body.auth-view .xingdu-public-service-card {
  min-height: 159px;
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 23px;
  padding: 0 36px;
  color: var(--xingdu-public-text);
  border: 1px solid var(--xingdu-public-line);
  border-radius: 9px;
  background: rgba(255, 253, 251, 0.72);
}

.xingdu-public-service-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  color: var(--xingdu-public-blue);
}

.xingdu-public-service-icon svg { width: 54px; height: 54px; stroke-width: 1.7; }

.xingdu-public-service-icon.is-account {
  border: 3px solid var(--xingdu-public-blue);
  border-radius: 50%;
}

.xingdu-public-service-icon.is-account svg { width: 39px; height: 39px; stroke-width: 1.6; }
.xingdu-public-service-copy { display: grid; gap: 7px; }
.xingdu-public-service-copy strong { font-size: 25px; font-weight: 600; }
.xingdu-public-service-copy small { color: #53667b; font-size: 17px; font-weight: 400; }
.xingdu-service-arrow { width: 25px; height: 25px; color: var(--xingdu-public-blue); stroke-width: 1.7; }

/* Authentication page */
body.auth-view .xingdu-auth-topbar {
  height: 122px;
  padding: 0 58px;
  border-bottom: 0;
  background: var(--xingdu-public-bg);
}

body.auth-view .xingdu-auth-topbar .xingdu-brand img { width: 47px; height: 50px; }
body.auth-view .xingdu-auth-topbar .xingdu-brand > span strong { font-size: 28px; }

.xingdu-back-home {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  color: #0d1723 !important;
  font-size: 17px;
  font-weight: 500;
}

.xingdu-back-home svg { width: 17px; height: 17px; }

body.auth-view .xingdu-auth-page {
  position: relative;
  display: block !important;
  align-items: initial !important;
  max-width: none !important;
  min-height: calc(100vh - 122px);
  overflow: hidden;
}

body.auth-view .xingdu-auth-page.xingdu-email-auth-page {
  min-height: 920px;
  overflow: visible;
}

.xingdu-auth-page > .flash-list {
  position: absolute;
  z-index: 12;
  top: 14px;
  left: 50%;
  width: min(398px, calc(100% - 32px));
  margin: 0;
  transform: translateX(-50%);
}

.xingdu-auth-page .flash {
  margin: 0;
  padding: 10px 14px;
  border-radius: 5px;
  font-size: 13px;
}

.xingdu-auth-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: calc(100vh - 122px);
  padding-top: 77px;
}

.xingdu-auth-form {
  position: relative;
  z-index: 4;
  width: 398px;
  display: grid;
  gap: 0;
  margin: 0 auto;
}

.xingdu-auth-tabs {
  height: 51px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 0 35px;
}

body.auth-view .xingdu-auth-tabs a {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  color: #69717b;
  font-size: 18px;
  font-weight: 600;
}

body.auth-view .xingdu-auth-tabs a.is-active { color: #101a27; font-weight: 700; }

.xingdu-auth-tabs a.is-active::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: var(--xingdu-public-blue);
  content: "";
}

.xingdu-auth-form h1 {
  margin: 0 0 31px;
  color: var(--xingdu-public-text);
  font-size: 43px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.2;
}

.xingdu-auth-field {
  display: grid;
  gap: 11px;
  margin-bottom: 23px;
  color: #52606d;
  font-size: 15px;
  font-weight: 500;
}

.xingdu-auth-input-wrap {
  position: relative;
  height: 58px;
  display: flex;
  align-items: center;
  color: #53606d;
  border: 1px solid #d9d0ca;
  border-radius: 9px;
  background: rgba(255, 253, 251, 0.62);
}

.xingdu-auth-input-wrap > svg {
  position: absolute;
  left: 17px;
  width: 21px;
  height: 21px;
  stroke-width: 1.7;
}

body.auth-view .xingdu-auth-input-wrap input {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0 48px 0 55px;
  color: var(--xingdu-public-text);
  border: 0;
  border-radius: 9px;
  outline: none;
  background: transparent;
  box-shadow: none;
  font-size: 16px;
  font-weight: 400;
}

body.auth-view .xingdu-auth-input-wrap input::placeholder { color: #7d8792; font-size: 16px; }

body.auth-view .xingdu-auth-input-wrap input:-webkit-autofill,
body.auth-view .xingdu-auth-input-wrap input:-webkit-autofill:hover,
body.auth-view .xingdu-auth-input-wrap input:-webkit-autofill:focus,
body.auth-view .xingdu-auth-input-wrap input:-webkit-autofill:active {
  color: var(--xingdu-public-text);
  -webkit-text-fill-color: var(--xingdu-public-text);
  caret-color: var(--xingdu-public-text);
  -webkit-box-shadow: 0 0 0 1000px #fffdfb inset;
  box-shadow: 0 0 0 1000px #fffdfb inset;
  transition: background-color 9999s ease-out 0s;
}

body.auth-view .xingdu-auth-input-wrap:focus-within {
  border-color: #8eb8ff;
  box-shadow: 0 0 0 3px rgba(18, 104, 255, 0.1);
}

.xingdu-auth-code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 146px;
  gap: 12px;
}

.xingdu-auth-code-send {
  min-height: 58px;
  padding: 0 14px;
  color: var(--xingdu-public-blue);
  border: 1px solid var(--xingdu-public-blue);
  border-radius: 9px;
  background: rgba(255, 253, 251, 0.86);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.xingdu-auth-code-send:disabled {
  color: #76889d;
  border-color: #c8d3df;
  background: rgba(247, 248, 249, 0.9);
  cursor: not-allowed;
}

.xingdu-auth-code-message {
  color: #667582;
  font-size: 13px;
  line-height: 1.55;
}

.xingdu-auth-code-message:empty { display: none; }
.xingdu-auth-code-message.is-success { color: #167044; }
.xingdu-auth-code-message.is-error { color: #b42318; }

.xingdu-password-toggle {
  position: absolute;
  right: 8px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #53606d;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.xingdu-password-toggle svg { width: 21px; height: 21px; stroke-width: 1.8; }

.xingdu-auth-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 5px 0 30px;
}

.xingdu-remember-option {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #202c39;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}

body.auth-view .xingdu-remember-option input {
  appearance: none;
  width: 22px;
  height: 22px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 1px solid #d2cbc5;
  border-radius: 2px;
  background: rgba(255, 253, 251, 0.86);
  box-shadow: none;
  cursor: pointer;
}

body.auth-view .xingdu-remember-option input:checked {
  border-color: var(--xingdu-public-blue);
  background-color: var(--xingdu-public-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M5.5 11.4 9.1 15 16.6 7.5' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
}

body.auth-view .xingdu-auth-options > a { color: var(--xingdu-public-blue); font-size: 15px; font-weight: 500; }

.xingdu-auth-submit {
  width: 100%;
  min-height: 66px;
  padding: 0 20px;
  color: #fff;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #10263f, #091b2e);
  font-size: 19px;
  font-weight: 700;
  cursor: pointer;
}

.xingdu-auth-switch {
  margin: 27px 0 0;
  color: #7a828a;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
}

body.auth-view .xingdu-auth-switch a { color: var(--xingdu-public-blue); font-weight: 500; }

.xingdu-auth-portal {
  position: absolute;
  z-index: 0;
  top: 108px;
  right: 5.2%;
  bottom: -35px;
  width: 420px;
  opacity: 0.58;
}

.xingdu-auth-portal > span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 310px;
  height: 610px;
  border: 1px solid #dedad7;
  border-bottom: 0;
  border-radius: 155px 155px 0 0;
  transform: translateX(-50%);
}

.xingdu-auth-portal > span:nth-child(2) {
  top: 45px;
  width: 252px;
  height: 565px;
  border-radius: 126px 126px 0 0;
}

.xingdu-auth-portal > span:nth-child(3) {
  top: 89px;
  width: 194px;
  height: 521px;
  border-radius: 97px 97px 0 0;
}

.xingdu-auth-portal > img {
  position: absolute;
  top: 132px;
  left: 50%;
  width: 150px;
  height: 310px;
  object-fit: contain;
  opacity: 0.6;
  transform: translateX(-50%);
  filter: grayscale(1) opacity(0.2);
}

.xingdu-auth-portal > i {
  position: absolute;
  left: -60px;
  right: -60px;
  bottom: 0;
  height: 210px;
  transform: perspective(320px) rotateX(57deg);
  transform-origin: bottom;
  opacity: 0.62;
  background-image:
    repeating-linear-gradient(90deg, rgba(218, 214, 210, 0.9) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, rgba(218, 214, 210, 0.75) 0 1px, transparent 1px 42px);
}

.xingdu-register-shell { box-sizing: border-box; padding-top: 38px; }
.xingdu-email-auth-shell { min-height: 920px; padding-bottom: 150px; }
.xingdu-register-shell .xingdu-auth-tabs { margin-bottom: 24px; }
.xingdu-register-shell .xingdu-auth-form h1 { margin-bottom: 22px; font-size: 38px; }
.xingdu-register-shell .xingdu-auth-field { margin-bottom: 14px; }
.xingdu-register-shell .xingdu-auth-switch { margin-top: 17px; }
.xingdu-reset-shell { padding-top: 66px; }
.xingdu-reset-shell .xingdu-auth-form h1 { margin-bottom: 29px; }
.xingdu-reset-shell .xingdu-auth-field { margin-bottom: 18px; }

@media (max-width: 1120px) {
  .xingdu-public-nav { gap: 24px !important; margin-left: 20px; }
  body.auth-view .xingdu-public-nav a,
  body.auth-view .xingdu-login-link,
  body.auth-view .xingdu-start-link { font-size: 15px; }
  .xingdu-entry-actions { gap: 17px; }
  .xingdu-landing-page { padding-right: 34px !important; padding-left: 34px !important; }
  body.auth-view .xingdu-public-service-card {
    grid-template-columns: 66px minmax(0, 1fr) 24px;
    gap: 15px;
    padding: 0 22px;
  }
  .xingdu-public-service-copy strong { font-size: 21px; }
  .xingdu-public-service-copy small { font-size: 14px; }
  .xingdu-auth-portal { right: -7%; opacity: 0.42; }
}

@media (max-width: 860px) {
  body.auth-view .public-topbar { height: 78px; padding: 0 20px; }
  body.auth-view .public-topbar .xingdu-brand { gap: 11px; }
  body.auth-view .public-topbar .xingdu-brand img { width: 40px; height: 44px; }
  body.auth-view .public-topbar .xingdu-brand > span strong { font-size: 22px; }
  body.auth-view .public-topbar .xingdu-brand > span small { font-size: 8px; letter-spacing: 3px; }
  .xingdu-landing-topbar { grid-template-columns: 1fr auto; }
  .xingdu-public-nav { display: none !important; }
  .xingdu-login-link svg { display: none; }
  body.auth-view .xingdu-start-link { min-height: 43px; padding: 0 15px; border-radius: 9px; }
  .xingdu-landing-page { padding: 0 20px 36px !important; }
  .xingdu-public-hero {
    min-height: 680px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 330px;
  }
  .xingdu-public-hero-copy { padding: 54px 14px 8px; }
  .xingdu-public-hero-copy h1 { font-size: clamp(52px, 13vw, 74px); }
  .xingdu-public-portal { min-height: 330px; }
  .xingdu-public-portal-mark { right: 14%; bottom: 37px; width: min(330px, 68%); height: 270px; }
  .xingdu-public-portal-ribs { bottom: 61px; height: 220px; }
  .xingdu-public-portal-glow { left: 61%; bottom: 35px; height: 250px; }
  .xingdu-public-service-grid { grid-template-columns: 1fr; }
  .xingdu-public-service-stack { grid-template-rows: repeat(2, minmax(150px, auto)); }
  body.auth-view .xingdu-auth-topbar { height: 90px; }
  body.auth-view .xingdu-auth-page,
  .xingdu-auth-shell { min-height: calc(100vh - 90px); }
  .xingdu-auth-shell { padding: 42px 20px 60px; }
  .xingdu-auth-portal { right: -155px; opacity: 0.24; }
}

@media (max-width: 520px) {
  .xingdu-entry-actions { gap: 10px; }
  body.auth-view .xingdu-login-link { font-size: 14px; }
  body.auth-view .xingdu-start-link { min-height: 40px; padding: 0 12px; font-size: 14px; }
  .xingdu-public-hero { min-height: 590px; grid-template-rows: auto 280px; }
  .xingdu-public-hero-copy { padding-top: 42px; }
  .xingdu-public-hero-copy h1 { font-size: clamp(44px, 13vw, 62px); }
  body.auth-view .xingdu-public-hero-copy a { margin-top: 21px; font-size: 17px; }
  .xingdu-public-portal { min-height: 280px; }
  .xingdu-public-section-heading { min-height: 68px; align-items: flex-end; padding-bottom: 12px; }
  .xingdu-public-section-heading h2 { font-size: 24px; }
  body.auth-view .xingdu-public-section-heading a { font-size: 13px; }
  body.auth-view .xingdu-public-feature-card { min-height: 310px; padding: 47px 26px; }
  .xingdu-public-feature-card > strong { max-width: 230px; font-size: 26px; }
  .xingdu-feature-link { margin-top: 42px; }
  .xingdu-feature-corridor { left: 38%; opacity: 0.72; }
  body.auth-view .xingdu-public-service-card {
    min-height: 138px;
    grid-template-columns: 54px minmax(0, 1fr) 20px;
    gap: 12px;
    padding: 0 17px;
  }
  .xingdu-public-service-icon { width: 50px; height: 50px; }
  .xingdu-public-service-icon svg { width: 43px; height: 43px; }
  .xingdu-public-service-copy strong { font-size: 18px; }
  .xingdu-public-service-copy small { font-size: 12px; line-height: 1.55; }
  .xingdu-back-home { font-size: 14px; }
  .xingdu-auth-shell,
  .xingdu-register-shell,
  .xingdu-reset-shell { padding-top: 25px; }
  .xingdu-auth-form { width: 100%; }
  .xingdu-auth-tabs { height: 47px; margin-bottom: 29px; }
  body.auth-view .xingdu-auth-tabs a { font-size: 17px; }
  .xingdu-auth-form h1,
  .xingdu-register-shell .xingdu-auth-form h1 { margin-bottom: 27px; font-size: 36px; }
  .xingdu-auth-input-wrap { height: 56px; }
  .xingdu-auth-submit { min-height: 58px; }
  .xingdu-register-shell .xingdu-auth-field { margin-bottom: 12px; }
  body.auth-view .xingdu-auth-page.xingdu-email-auth-page,
  .xingdu-email-auth-shell { min-height: 940px; }
  .xingdu-auth-code-row { grid-template-columns: minmax(0, 1fr) 122px; gap: 8px; }
  .xingdu-auth-code-send { min-height: 56px; padding: 0 9px; font-size: 14px; }
  .xingdu-auth-portal { display: none; }
}

/* Approved digital-product checkout redesign (2026-08-11). */
body.user-view .plus-checkout-heading,
body.user-view .plus-checkout-steps,
body.user-view .plus-checkout-layout {
  width: 100%;
  max-width: 1180px;
  margin-right: auto;
  margin-left: auto;
}

body.user-view .plus-checkout-heading {
  min-height: 84px;
  margin-bottom: 20px;
}

body.user-view .plus-checkout-heading .eyebrow {
  margin-bottom: 7px;
  color: #1463f3;
  font-size: 12px;
  letter-spacing: .08em;
}

body.user-view .plus-checkout-heading h1 {
  margin: 0;
  color: #10243a;
  font-size: 30px;
  letter-spacing: -.03em;
}

body.user-view .plus-checkout-heading .page-subtitle {
  margin-top: 8px;
  color: #66758a;
}

body.user-view .plus-checkout-heading .heading-links {
  margin-top: 4px;
}

body.user-view .plus-checkout-heading .heading-links > a:not(.primary-button) {
  gap: 7px;
  color: #10243a;
}

body.user-view .plus-checkout-steps {
  margin-bottom: 18px;
  padding: 14px 18px;
  border-color: #e5ded7;
  border-radius: 14px;
  background: #fffdfb;
  box-shadow: 0 12px 34px rgba(25, 41, 61, .07);
}

body.user-view .plus-checkout-steps::before {
  left: 46px;
  right: 46px;
  background: #e5ded7;
}

body.user-view .plus-checkout-steps > span {
  gap: 10px;
  padding-right: 12px;
  color: #66758a;
  background: #fffdfb;
  font-size: 13px;
}

body.user-view .plus-checkout-steps > span:last-child {
  padding-right: 0;
  padding-left: 12px;
}

body.user-view .plus-checkout-steps b {
  width: 28px;
  height: 28px;
  color: #66758a;
  border-color: #b7c4d3;
  background: #fffdfb;
  font-size: 12px;
}

body.user-view .plus-checkout-steps .is-current {
  color: #10243a;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-steps .is-current b {
  color: #fff;
  border-color: #1463f3;
  background: #1463f3;
}

body.user-view .plus-checkout-layout {
  grid-template-columns: minmax(0, 1.42fr) minmax(310px, .76fr);
  gap: 18px;
}

body.user-view .plus-checkout-main {
  gap: 18px;
}

body.user-view .plus-checkout-product,
body.user-view .plus-checkout-form,
body.user-view .plus-checkout-summary {
  overflow: hidden;
  border-color: #e5ded7;
  border-radius: 16px;
  background: #fffdfb;
  box-shadow: 0 12px 34px rgba(25, 41, 61, .07);
}

body.user-view .plus-checkout-product .panel-heading,
body.user-view .plus-checkout-form .panel-heading,
body.user-view .plus-checkout-summary .panel-heading {
  min-height: 82px;
  padding: 19px 20px 16px;
  border-bottom-color: #e5ded7;
}

body.user-view .plus-checkout-product .panel-heading h2,
body.user-view .plus-checkout-form .panel-heading h2,
body.user-view .plus-checkout-summary .panel-heading h2 {
  color: #10243a;
  font-size: 17px;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-product .panel-heading p,
body.user-view .plus-checkout-form .panel-heading p,
body.user-view .plus-checkout-summary .panel-heading p {
  margin-top: 5px;
  color: #66758a;
  font-size: 12px;
}

body.user-view .plus-checkout-product-row {
  grid-template-columns: 78px minmax(0, 1fr) 62px 98px;
  gap: 16px;
  padding: 22px 20px;
}

body.user-view .plus-checkout-thumb {
  width: 78px;
  height: 78px;
  border-color: #243648;
  border-radius: 13px;
  background: #071421;
  box-shadow: inset 0 0 0 4px #fff;
}

body.user-view .plus-checkout-product-row > div small {
  color: #1463f3;
  font-size: 12px;
}

body.user-view .plus-checkout-product-row > div strong {
  margin: 7px 0 8px;
  color: #10243a;
  font-size: 16px;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-product-row > div p {
  color: #66758a;
  font-size: 12px;
}

body.user-view .plus-checkout-quantity,
body.user-view .plus-checkout-price {
  align-self: stretch;
  align-content: center;
  gap: 6px;
}

body.user-view .plus-checkout-quantity {
  padding-left: 18px;
  border-left: 1px solid #e5ded7;
}

body.user-view .plus-checkout-quantity small,
body.user-view .plus-checkout-price small {
  color: #66758a;
  font-size: 11px;
}

body.user-view .plus-checkout-quantity strong,
body.user-view .plus-checkout-price strong {
  color: #10243a;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-price strong {
  font-size: 16px;
}

body.user-view .plus-checkout-summary {
  top: 18px;
}

body.user-view .plus-checkout-summary dl {
  padding: 17px 20px 0;
}

body.user-view .plus-checkout-summary dl > div {
  padding: 7px 0;
  color: #66758a;
  font-size: 13px;
}

body.user-view .plus-checkout-summary dd {
  color: #10243a;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-summary .plus-summary-total {
  margin-top: 10px;
  padding-top: 17px;
  color: #10243a;
  border-top-color: #e5ded7;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-summary .plus-summary-total dd {
  color: #1463f3;
  font-size: 22px;
}

body.user-view .plus-balance-payment {
  margin: 19px 20px 14px;
  padding: 14px;
  border-color: #a9c8ff;
  border-radius: 11px;
  background: #edf4ff;
}

body.user-view .plus-balance-payment > span {
  color: #10243a;
  font-size: 13px;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-balance-payment svg {
  color: #1463f3;
}

body.user-view .plus-balance-payment strong {
  color: #10243a;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-balance-payment small {
  color: #6885ad;
  font-size: 11px;
}

body.user-view .plus-balance-payment.is-insufficient {
  border-color: #efb5af;
  background: #fff2f0;
}

body.user-view .plus-balance-payment.is-insufficient strong,
body.user-view .plus-balance-payment.is-insufficient small {
  color: #b42318;
}

body.user-view .plus-checkout-submit {
  width: calc(100% - 40px);
  min-height: 44px;
  margin: 0 20px;
  border-color: #1463f3;
  border-radius: 10px;
  background: #1463f3;
  font-weight: var(--xingdu-weight-medium);
}

body.user-view .plus-checkout-submit:hover {
  border-color: #0f55d1;
  background: #0f55d1;
}

body.user-view .plus-checkout-note {
  gap: 7px;
  margin: 12px 20px 20px;
  color: #66758a;
  font-size: 11px;
  line-height: 1.6;
}

body.user-view .plus-checkout-note svg {
  color: #66758a;
}

@media (max-width: 900px) {
  body.user-view .plus-checkout-layout {
    grid-template-columns: 1fr;
  }

  body.user-view .plus-checkout-summary {
    position: static;
  }
}

@media (max-width: 560px) {
  body.user-view .plus-checkout-heading {
    display: grid;
    min-height: 0;
    gap: 17px;
  }

  body.user-view .plus-checkout-heading > div:first-child {
    order: 2;
  }

  body.user-view .plus-checkout-heading .heading-links {
    order: 1;
    justify-content: flex-start;
  }

  body.user-view .plus-checkout-steps,
  body.user-view .plus-checkout-product,
  body.user-view .plus-checkout-form,
  body.user-view .plus-checkout-summary {
    border-radius: 12px;
  }

  body.user-view .plus-checkout-steps {
    padding: 12px 14px;
  }

  body.user-view .plus-checkout-product-row {
    grid-template-columns: 64px minmax(0, 1fr);
    padding: 20px;
  }

  body.user-view .plus-checkout-thumb {
    width: 64px;
    height: 64px;
  }

  body.user-view .plus-checkout-product-row > div strong {
    white-space: normal;
  }

  body.user-view .plus-checkout-quantity,
  body.user-view .plus-checkout-price {
    grid-column: auto;
    padding-top: 14px;
    padding-left: 0;
    border-top: 1px solid #e5ded7;
    border-left: 0;
    text-align: left;
  }

  body.user-view .plus-checkout-price {
    text-align: right;
  }
}
