/*
 * Oz OTC 香港门户加载体验。
 * 仅作用于浏览器端的等待反馈，不改变页面结构、业务字段或请求。
 */

:root {
  --bnw-load-accent: #8d2d3d;
  --bnw-load-accent-strong: #5e1521;
  --bnw-load-gold: #d2a453;
  --bnw-load-ink: #2a1519;
  --bnw-load-muted: #746467;
  --bnw-load-line: #e3d9d8;
  --bnw-load-card: rgba(255, 255, 255, .96);
  --bnw-load-canvas: rgba(249, 247, 247, .985);
  --bnw-load-skeleton: #e8dfdf;
  --bnw-load-shimmer: rgba(210, 164, 83, .56);
}

html.bnw-page-loading,
html.bnw-page-loading body {
  cursor: progress;
}

.bnw-page-loader[hidden] {
  display: none !important;
}

.bnw-page-loader {
  position: fixed;
  z-index: 2147482000;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--bnw-loader-left, 0px);
  display: grid;
  min-width: 0;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  color: var(--bnw-load-ink);
  background:
    linear-gradient(90deg, rgba(91, 21, 33, .035) 1px, transparent 1px),
    linear-gradient(rgba(91, 21, 33, .025) 1px, transparent 1px),
    radial-gradient(circle at 92% 8%, rgba(210, 164, 83, .105), transparent 31%),
    linear-gradient(180deg, #fdfcfc, var(--bnw-load-canvas));
  background-size: 36px 36px, 36px 36px, auto, auto;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
}

.bnw-page-loader::before {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, #5e1521 0%, #8d2d3d 28%, #d2a453 50%, #8d2d3d 72%, #5e1521 100%);
  background-size: 220% 100%;
  box-shadow: 0 2px 12px rgba(94, 21, 33, .16);
  animation: bnw-oz-beam 1.8s ease-in-out infinite;
}

html.bnw-page-loading .bnw-page-loader {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.bnw-loader-shell {
  position: relative;
  display: grid;
  align-content: start;
  gap: 24px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(30px, 4vw, 58px) 0 44px;
}

.bnw-loader-shell::before {
  position: absolute;
  z-index: -1;
  top: 24px;
  right: 0;
  width: 154px;
  height: 154px;
  border: 1px solid rgba(141, 45, 61, .1);
  content: "";
  transform: rotate(45deg);
  box-shadow: 22px 22px 0 rgba(210, 164, 83, .02), -22px -22px 0 rgba(141, 45, 61, .018);
}

.bnw-loader-status {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 54px;
}

.bnw-loader-status-copy {
  display: grid;
  gap: 4px;
}

.bnw-loader-status strong {
  color: #2a1519;
  font-family: Georgia, "Noto Serif SC", "Songti SC", serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .025em;
}

.bnw-loader-status small {
  color: var(--bnw-load-muted);
  font-size: 12px;
}

.bnw-loader-signal {
  position: relative;
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(210, 164, 83, .48);
  border-radius: 5px;
  background: linear-gradient(145deg, #26090e, #4b111a);
  box-shadow: 0 10px 24px rgba(58, 15, 22, .16), inset 0 0 0 1px rgba(255, 255, 255, .035);
}

.bnw-loader-signal::before,
.bnw-loader-signal::after {
  position: absolute;
  content: "";
  transform: rotate(45deg);
}

.bnw-loader-signal::before {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255, 224, 161, .4);
  border-top-color: #e7bd70;
  border-right-color: #f4d79b;
  animation: bnw-oz-spin 1.08s linear infinite;
}

.bnw-loader-signal::after {
  width: 5px;
  height: 5px;
  background: #f0cc88;
  box-shadow: 0 0 9px rgba(227, 182, 99, .65);
}

.bnw-skeleton-layout {
  display: grid;
  gap: 18px;
}

.bnw-skeleton-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.bnw-skeleton-card,
.bnw-skeleton-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--bnw-load-line);
  background: var(--bnw-load-card);
  box-shadow: 0 8px 22px rgba(67, 27, 34, .035);
}

.bnw-skeleton-card {
  min-height: 132px;
  padding: 19px;
  border-top: 3px solid #7b2332;
  border-radius: 5px;
}

.bnw-skeleton-panel {
  min-height: 286px;
  padding: 22px;
  border-radius: 6px;
}

.bnw-skeleton-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, #7b2332, #c89443 48%, transparent 90%);
}

.bnw-skeleton-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e9e1e1;
}

.bnw-skeleton-line,
.bnw-skeleton-block,
.bnw-skeleton-dot {
  position: relative;
  overflow: hidden;
  background: var(--bnw-load-skeleton);
}

.bnw-skeleton-line::after,
.bnw-skeleton-block::after,
.bnw-skeleton-dot::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(104deg, transparent 20%, rgba(255, 255, 255, .77) 43%, var(--bnw-load-shimmer) 50%, rgba(255, 255, 255, .77) 57%, transparent 80%);
  transform: translateX(-115%);
  animation: bnw-oz-shimmer 1.9s cubic-bezier(.4, 0, .2, 1) infinite;
}

.bnw-skeleton-line {
  height: 10px;
  margin-top: 13px;
  border-radius: 3px;
}

.bnw-skeleton-line.is-label { width: 44%; height: 8px; }
.bnw-skeleton-line.is-value { width: 72%; height: 24px; margin-top: 22px; }
.bnw-skeleton-line.is-short { width: 30%; }
.bnw-skeleton-line.is-medium { width: 56%; }
.bnw-skeleton-line.is-long { width: 86%; }

.bnw-skeleton-dot {
  width: 28px;
  height: 28px;
  border-radius: 4px;
}

.bnw-skeleton-rows {
  display: grid;
  gap: 15px;
}

.bnw-skeleton-row {
  display: grid;
  grid-template-columns: 1.25fr 1fr .72fr .4fr;
  gap: 28px;
  align-items: center;
  min-height: 38px;
  padding: 0 4px 14px;
  border-bottom: 1px solid #eee8e8;
}

.bnw-skeleton-row .bnw-skeleton-line {
  width: 100%;
  margin: 0;
}

.bnw-loading-control {
  position: relative !important;
  overflow: hidden !important;
  min-width: 88px;
  padding-right: 43px !important;
  border-color: #a87935 !important;
  color: #fff8e9 !important;
  -webkit-text-fill-color: #fff8e9 !important;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, .01), rgba(210, 164, 83, .17), rgba(255, 255, 255, .02)),
    #681b28 !important;
  background-size: 220% 100% !important;
  box-shadow: 0 0 0 1px rgba(210, 164, 83, .08), 0 8px 20px rgba(72, 18, 27, .19) !important;
  cursor: progress !important;
  opacity: 1 !important;
  pointer-events: none !important;
  animation: bnw-oz-button-glow 2s ease-in-out infinite;
}

button.bnw-loading-control::after,
a.bnw-loading-control::after {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 15px;
  height: 15px;
  margin-top: -9px;
  border: 2px solid rgba(255, 239, 205, .28);
  border-top-color: #f0cc88;
  border-right-color: #fff1ce;
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 8px rgba(210, 164, 83, .28);
  animation: bnw-oz-control-spin .82s linear infinite;
}

.bnw-form-busy :is(button[type="submit"], input[type="submit"]):not(.bnw-loading-control) {
  opacity: .55;
  pointer-events: none;
}

.bnw-load-live-region {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@keyframes bnw-oz-beam {
  0%, 100% { background-position: 0 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes bnw-oz-spin {
  to { transform: rotate(405deg); }
}

@keyframes bnw-oz-control-spin {
  to { transform: rotate(360deg); }
}

@keyframes bnw-oz-shimmer {
  0% { transform: translateX(-115%); }
  60%, 100% { transform: translateX(115%); }
}

@keyframes bnw-oz-button-glow {
  0%, 100% { background-position: 0 50%; }
  50% { background-position: 100% 50%; }
}

@media (max-width: 980px) {
  .bnw-skeleton-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bnw-skeleton-row { grid-template-columns: 1.25fr 1fr .55fr; }
  .bnw-skeleton-row > :last-child { display: none; }
}

@media (max-width: 640px) {
  .bnw-page-loader { left: 0; }
  .bnw-loader-shell { width: min(100% - 28px, 560px); padding-top: 24px; }
  .bnw-loader-status { align-items: flex-start; }
  .bnw-skeleton-metrics { grid-template-columns: 1fr; }
  .bnw-skeleton-card:nth-child(n + 3) { display: none; }
  .bnw-skeleton-panel { padding: 17px; }
  .bnw-skeleton-row { grid-template-columns: 1.4fr .8fr; gap: 18px; }
  .bnw-skeleton-row > :nth-child(n + 3) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .bnw-page-loader,
  .bnw-page-loader::before,
  .bnw-loader-signal::before,
  .bnw-skeleton-line::after,
  .bnw-skeleton-block::after,
  .bnw-skeleton-dot::after,
  .bnw-loading-control,
  button.bnw-loading-control::after,
  a.bnw-loading-control::after {
    animation: none !important;
    transition: none !important;
  }

  .bnw-skeleton-line::after,
  .bnw-skeleton-block::after,
  .bnw-skeleton-dot::after {
    opacity: .3;
    transform: none;
  }
}
/* 每个路由按现行目标页面的真实模块顺序构造；只用于跨页面导航。 */
.bnw-loader-shell { width:min(100% - 48px,1580px); gap:14px; padding:26px 0 34px; }
.bnw-loader-status { min-height:46px; }
.bnw-skeleton-page { display:grid; gap:18px; min-width:0; }
.bnw-skeleton-page>* { min-width:0; }
.bnw-skeleton-page-lead,.bnw-skeleton-section-lead,.bnw-skeleton-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.bnw-skeleton-page-lead>div,.bnw-skeleton-section-lead>div { flex:1; min-width:0; }
.bnw-skeleton-page-lead .is-title { width:260px; max-width:38%; height:25px; margin:0; }
.bnw-skeleton-page-lead .is-description { width:540px; max-width:64%; height:10px; margin-top:12px; }
.bnw-skeleton-page-lead .is-merchant { width:210px; height:34px; margin:8px 0 0; border-radius:6px; }
.bnw-skeleton-section-lead .is-section-title { width:190px; height:17px; margin:0; }
.bnw-skeleton-section-lead .is-caption { width:140px; height:8px; margin-top:9px; }
.bnw-skeleton-section-actions,.bnw-skeleton-head-actions { display:flex; justify-content:flex-end; gap:8px; }
.bnw-skeleton-section-actions .is-action,.bnw-skeleton-head-actions .bnw-skeleton-line,.bnw-skeleton-line.is-action { width:86px; height:32px; margin:0; border-radius:6px; }

.bnw-skeleton-panel,.bnw-skeleton-exact-table,.bnw-skeleton-wallet-board,.bnw-skeleton-fx-card,.bnw-skeleton-account-list article,.bnw-skeleton-detail-summary,.bnw-skeleton-detail-audit,.bnw-skeleton-remittance-form,.bnw-skeleton-review-list article,.bnw-skeleton-order-hero,.bnw-skeleton-order-grid article,.bnw-skeleton-timeline,.bnw-skeleton-transfer-form,.bnw-skeleton-transfer-review,.bnw-skeleton-profile-card { border:1px solid var(--bnw-load-line); border-radius:9px; background:var(--bnw-load-card); box-shadow:0 7px 18px rgba(25,44,58,.045); }
.bnw-skeleton-exact-table { overflow:hidden; }
.bnw-skeleton-exact-table>.bnw-skeleton-section-lead { padding:15px 16px 11px; }
.bnw-skeleton-filter { display:grid; grid-template-columns:minmax(150px,1fr) 190px 110px 150px; gap:9px; margin:0; padding:0 16px 14px; border:0; background:transparent; }
.bnw-skeleton-filter.is-2-controls { grid-template-columns:repeat(2,minmax(120px,1fr)); }
.bnw-skeleton-filter.is-3-controls { grid-template-columns:minmax(180px,1fr) 180px 140px; }
.bnw-skeleton-filter .bnw-skeleton-line { width:100%; height:34px; margin:0; border-radius:6px; }
.bnw-skeleton-filter .bnw-skeleton-line:last-child { background-color:color-mix(in srgb,var(--bnw-load-accent) 24%,var(--bnw-load-skeleton)); }
.bnw-skeleton-table-head,.bnw-skeleton-row { display:grid; grid-template-columns:repeat(var(--bnw-columns,4),minmax(0,1fr)); align-items:center; gap:20px; }
.bnw-skeleton-table-head { min-height:42px; padding:0 16px; background:color-mix(in srgb,var(--bnw-load-skeleton) 55%,white); }
.bnw-skeleton-row { min-height:54px; padding:9px 16px; border-bottom:1px solid color-mix(in srgb,var(--bnw-load-line) 72%,transparent); }
.bnw-skeleton-row:last-child { border-bottom:0; }
.bnw-skeleton-table-head .bnw-skeleton-line,.bnw-skeleton-row .bnw-skeleton-line { width:100%; margin:0; }
.bnw-skeleton-table-head .bnw-skeleton-line { height:8px; }

/* 总览：四个指标、钱包区、近期订单。 */
.bnw-skeleton-dashboard-metrics,.bnw-skeleton-wallet-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bnw-skeleton-card { min-height:92px; padding:14px; border-radius:9px; }
.bnw-skeleton-card .bnw-skeleton-dot { width:20px; height:20px; }
.bnw-skeleton-card .is-value { height:18px; margin-top:11px; }
.bnw-skeleton-wallet-board { padding:15px; }
.bnw-skeleton-wallet-cards { margin-top:13px; }

/* 发起换汇：提示条 + 单一报价卡，和真实页面保持相同纵向结构。 */
.bnw-skeleton-fx-notice,.bnw-skeleton-record-notice { padding:13px 18px; border:1px solid color-mix(in srgb,var(--bnw-load-accent) 36%,var(--bnw-load-line)); border-left-width:4px; border-radius:6px; background:color-mix(in srgb,var(--bnw-load-accent) 6%,var(--bnw-load-card)); }
.bnw-skeleton-fx-notice .bnw-skeleton-line,.bnw-skeleton-record-notice .bnw-skeleton-line { margin:0; }
.bnw-skeleton-fx-notice .bnw-skeleton-line+.bnw-skeleton-line { margin-top:8px; }
.bnw-skeleton-fx-card { width:min(760px,76%); margin:2px auto 0; padding:18px 22px; }
.bnw-skeleton-fx-card>header { display:flex; justify-content:space-between; align-items:start; padding-bottom:13px; border-bottom:1px solid var(--bnw-load-line); }
.bnw-skeleton-fx-card>header>.is-section-title { width:150px; height:17px; margin:0; }
.bnw-skeleton-fx-card>header>div { display:flex; align-items:center; gap:12px; }
.bnw-skeleton-fx-card .is-caption { width:260px; height:8px; margin:5px 0 0; }
.bnw-skeleton-fx-card .is-badge,.bnw-skeleton-order-hero .is-badge { width:100px; height:28px; margin:0; border-radius:6px; }
.bnw-skeleton-money-card { margin-top:16px; padding:13px; border:1px solid var(--bnw-load-line); border-radius:7px; }
.bnw-skeleton-money-card>div:first-child { display:flex; justify-content:space-between; }
.bnw-skeleton-money-card .is-label { width:116px; margin:0; }
.bnw-skeleton-money-card .is-balance { width:150px; margin:0; }
.bnw-skeleton-money-input { display:grid; grid-template-columns:118px 1fr; gap:10px; margin-top:10px; }
.bnw-skeleton-currency,.bnw-skeleton-amount,.bnw-skeleton-select,.bnw-skeleton-segment,.bnw-skeleton-primary-button { display:block; position:relative; overflow:hidden; background:var(--bnw-load-skeleton); }
.bnw-skeleton-currency::after,.bnw-skeleton-amount::after,.bnw-skeleton-select::after,.bnw-skeleton-segment::after,.bnw-skeleton-primary-button::after,.bnw-skeleton-swap::after { position:absolute; inset:0; content:""; background:linear-gradient(104deg,transparent 20%,rgba(255,255,255,.84) 43%,var(--bnw-load-shimmer) 50%,rgba(255,255,255,.84) 57%,transparent 80%); transform:translateX(-115%); animation:bnw-layout-shimmer 1.65s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes bnw-layout-shimmer { to { transform:translateX(115%); } }
.bnw-skeleton-currency,.bnw-skeleton-amount { height:46px; border-radius:6px; }
.bnw-skeleton-swap { position:relative; display:block; overflow:hidden; width:38px; height:38px; margin:-3px auto -13px; border-radius:50%; background:color-mix(in srgb,var(--bnw-load-accent) 30%,var(--bnw-load-skeleton)); }
.bnw-skeleton-fx-options { display:grid; grid-template-columns:1fr 180px; gap:14px; margin-top:16px; }
.bnw-skeleton-fx-options>div { display:grid; gap:7px; }
.bnw-skeleton-fx-options .is-label { margin:0; }
.bnw-skeleton-segment,.bnw-skeleton-select { height:40px; border-radius:6px; }
.bnw-skeleton-fx-summary { display:flex; justify-content:space-between; gap:18px; margin-top:12px; padding:11px 13px; border:1px solid var(--bnw-load-line); border-radius:7px; }
.bnw-skeleton-fx-summary .bnw-skeleton-line { margin:0; }
.bnw-skeleton-primary-button { height:42px; margin-top:12px; border-radius:6px; background:color-mix(in srgb,var(--bnw-load-accent) 32%,var(--bnw-load-skeleton)); }
.bnw-skeleton-fx-card>.is-description { width:72%; margin:12px auto 0; }

/* 入账记录、钱包和列表。 */
.bnw-skeleton-pager { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border:1px solid var(--bnw-load-line); border-top:0; background:var(--bnw-load-card); }
.bnw-skeleton-pager>.bnw-skeleton-line { width:180px; margin:0; }
.bnw-skeleton-pager span { display:flex; gap:8px; }
.bnw-skeleton-wallet-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }

/* 银行账户是卡片列表；收款人仍为表格。 */
.bnw-skeleton-account-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bnw-skeleton-account-list article { padding:17px; }
.bnw-skeleton-account-list article>div { display:flex; gap:8px; justify-content:flex-end; margin-top:14px; padding-top:12px; border-top:1px solid var(--bnw-load-line); }

/* 收款人及订单详情：字段网格、双摘要、时间线。 */
.bnw-skeleton-detail-summary,.bnw-skeleton-detail-audit,.bnw-skeleton-profile-card,.bnw-skeleton-timeline { padding:16px; }
.bnw-skeleton-definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 30px; margin-top:16px; }
.bnw-skeleton-definition-grid>div { display:grid; gap:7px; }
.bnw-skeleton-definition-grid .bnw-skeleton-line { margin:0; }
.bnw-skeleton-detail-audit .bnw-skeleton-rows { margin-top:14px; }
.bnw-skeleton-order-hero { padding:16px; }
.bnw-skeleton-order-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bnw-skeleton-order-grid article { display:grid; gap:12px; padding:16px; }
.bnw-skeleton-order-grid article>div:not(.bnw-skeleton-section-lead) { display:grid; grid-template-columns:130px 1fr; gap:14px; }
.bnw-skeleton-order-grid .bnw-skeleton-line { margin:0; }
.bnw-skeleton-timeline>div:not(.bnw-skeleton-section-lead) { display:grid; grid-template-columns:24px 1fr; align-items:center; gap:10px; margin-top:12px; }
.bnw-skeleton-timeline .bnw-skeleton-line { margin:0; }

/* 汇款经办：真实四段表单，不使用通用表单卡。 */
.bnw-skeleton-remittance-form { overflow:hidden; }
.bnw-skeleton-form-section { padding:14px 16px; border-bottom:1px solid var(--bnw-load-line); }
.bnw-skeleton-form-section .bnw-skeleton-section-lead { padding-bottom:11px; }
.bnw-skeleton-party-search { display:grid; gap:7px; }
.bnw-skeleton-select.is-wide { width:100%; }
.bnw-skeleton-mode-card { padding:14px; border:1px solid color-mix(in srgb,var(--bnw-load-accent) 28%,var(--bnw-load-line)); border-radius:7px; }
.bnw-skeleton-mode-card .bnw-skeleton-line { margin:0; }
.bnw-skeleton-mode-card .bnw-skeleton-line+.bnw-skeleton-line { margin-top:9px; }
.bnw-skeleton-fields,.bnw-skeleton-transfer-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 14px; }
.bnw-skeleton-field { display:grid; gap:7px; }
.bnw-skeleton-field.is-wide-field { grid-column:1/-1; }
.bnw-skeleton-field .bnw-skeleton-line { margin:0; }
.bnw-skeleton-block { display:block; width:100%; height:38px; border-radius:6px; }
.bnw-skeleton-block.is-wide { height:54px; }
.bnw-skeleton-remittance-form>.bnw-skeleton-primary-button { margin:14px 16px 16px; width:calc(100% - 32px); }

/* 复核：统计 + 条目列表；内部转账：经办、待复核、历史三段。 */
.bnw-skeleton-review-toolbar { display:grid; grid-template-columns:190px 190px 1fr; gap:12px; }
.bnw-skeleton-review-toolbar .bnw-skeleton-filter { align-self:end; padding:0; }
.bnw-skeleton-review-list { display:grid; gap:10px; }
.bnw-skeleton-review-list article { display:grid; grid-template-columns:1fr 1.4fr auto; align-items:center; gap:22px; padding:14px 16px; }
.bnw-skeleton-review-list article>div:last-child,.bnw-skeleton-transfer-review article>div { display:flex; gap:8px; }
.bnw-skeleton-review-list .bnw-skeleton-line { margin:0; }
.bnw-skeleton-transfer-form,.bnw-skeleton-transfer-review { padding:16px; }
.bnw-skeleton-transfer-fields { grid-template-columns:2fr 1fr 1fr; margin-top:14px; }
.bnw-skeleton-transfer-form>.bnw-skeleton-primary-button { width:180px; margin-left:auto; }
.bnw-skeleton-transfer-review article { display:grid; grid-template-columns:1fr 1.4fr auto; align-items:center; gap:18px; margin-top:14px; padding:13px; border:1px solid var(--bnw-load-line); border-radius:7px; }

/* 账户安全：资料卡 + 两个独立安全表单。 */
.bnw-skeleton-security-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.bnw-skeleton-form-card { min-height:0; padding:16px; }
.bnw-skeleton-panel-head { margin-bottom:13px; padding-bottom:11px; border-bottom:1px solid var(--bnw-load-line); }
.bnw-skeleton-actions { display:flex; justify-content:flex-end; margin-top:13px; padding-top:11px; border-top:1px solid var(--bnw-load-line); }
.bnw-skeleton-actions .bnw-skeleton-line { width:112px; height:34px; margin:0; border-radius:6px; }
.bnw-action-card-busy { position:relative; isolation:isolate; box-shadow:0 0 0 1px color-mix(in srgb,var(--bnw-load-accent) 22%,transparent),0 10px 24px rgba(25,44,58,.08)!important; }
.bnw-action-card-busy::before { position:absolute; z-index:4; top:0; right:0; left:0; height:2px; border-radius:inherit; content:""; background:var(--bnw-load-accent); opacity:.76; }
.bnw-form-busy :is(button[type="submit"],input[type="submit"]):not(.bnw-loading-control) { opacity:.55; pointer-events:none; }

@media(max-width:900px){
  .bnw-loader-shell{width:min(100% - 28px,900px)}
  .bnw-skeleton-dashboard-metrics,.bnw-skeleton-wallet-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bnw-skeleton-fx-card{width:100%}
  .bnw-skeleton-account-list,.bnw-skeleton-order-grid,.bnw-skeleton-security-grid{grid-template-columns:1fr}
  .bnw-skeleton-review-toolbar{grid-template-columns:1fr 1fr}
  .bnw-skeleton-review-toolbar .bnw-skeleton-filter{grid-column:1/-1}
}
@media(max-width:620px){
  .bnw-loader-shell{width:min(100% - 20px,600px);padding-top:18px}
  .bnw-skeleton-page-lead .is-merchant{display:none}
  .bnw-skeleton-filter,.bnw-skeleton-filter.is-3-controls{grid-template-columns:1fr 1fr}
  .bnw-skeleton-table-head,.bnw-skeleton-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .bnw-skeleton-table-head>:nth-child(n+3),.bnw-skeleton-row>:nth-child(n+3){display:none}
  .bnw-skeleton-fx-options,.bnw-skeleton-fields,.bnw-skeleton-transfer-fields,.bnw-skeleton-definition-grid{grid-template-columns:1fr}
  .bnw-skeleton-field.is-wide-field{grid-column:auto}
  .bnw-skeleton-review-list article,.bnw-skeleton-transfer-review article{grid-template-columns:1fr}
}
