/* site-ui-polish — align member center + admin with portal light blue theme
   Loaded LAST. Overrides smskim dark shell so dash/admin match homepage. */

:root{
  --ui-polish-blue:#1769e0;
  --ui-polish-blue-dark:#0b3d91;
  --ui-polish-blue2:#2478df;
  --ui-polish-navy:#10213a;
  --ui-polish-text:#26364d;
  --ui-polish-muted:#607087;
  --ui-polish-surface:#f5f8fc;
  --ui-polish-line:#dce5f0;
  --ui-polish-card:#fff;
  --ui-polish-soft:#eaf2ff;
  --ui-polish-green:#087f5b;
  --ui-polish-shadow:0 16px 42px rgba(25,55,88,.09);
  --ui-polish-radius:18px;
}

/* Shared light tokens for dash + admin (and when #page-admin is shown) */
.portal-home #page-dash,
.portal-home #page-admin,
#page-dash,
#page-admin,
body[data-member-console="ready"] #page-dash,
body:has(#page-admin) #page-admin{
  --bg:var(--ui-polish-surface)!important;
  --bg2:#fff!important;
  --bg3:#fff!important;
  --bg4:#edf4fc!important;
  --txt:var(--ui-polish-navy)!important;
  --text:var(--ui-polish-navy)!important;
  --sub:var(--ui-polish-muted)!important;
  --bdr:var(--ui-polish-line)!important;
  --border:var(--ui-polish-line)!important;
  --card:#fff!important;
  --p:var(--ui-polish-blue)!important;
  --p2:var(--ui-polish-blue2)!important;
  --p3:#1d4ed8!important;
  --bo-blue:var(--ui-polish-blue)!important;
  --bo-blue-dark:var(--ui-polish-blue-dark)!important;
  --bo-text:var(--ui-polish-navy)!important;
  --bo-sub:var(--ui-polish-muted)!important;
  --bo-line:var(--ui-polish-line)!important;
  --shell-ink:var(--ui-polish-navy)!important;
  --shell-panel:var(--ui-polish-surface)!important;
  --shell-blue:var(--ui-polish-blue)!important;
  --shell-muted:var(--ui-polish-muted)!important;
  background:var(--ui-polish-surface)!important;
  color:var(--ui-polish-navy)!important;
}

/* Member dash must stay light even when member-console unmounts (e.g. 充值 tab). */
body[data-member-console="ready"],
body:has(#page-admin),
body:has(#page-dash),
body.logged-in,
body.portal-home{
  background:var(--ui-polish-surface)!important;
}
body[data-member-console="ready"]::before,
body:has(#page-admin)::before,
body:has(#page-dash)::before,
body.logged-in::before,
body.portal-home::before{
  display:none!important;
  content:none!important;
}
#page-dash{
  background:#f5f8fc!important;
}
.portal-home .portal-app-header,
.portal-home .portal-app-header nav.portal-nav,
.portal-home nav.portal-nav{
  background:#fff!important;
}

/* Kill smskim dark side nav — light portal panel instead */
body[data-member-console="ready"] .dashboard-nav-panel,
body:has(#page-admin) .atabs,
#page-dash .dashboard-nav-panel,
#page-admin .atabs{
  background:#fff!important;
  color:var(--ui-polish-navy)!important;
  border:1px solid var(--ui-polish-line)!important;
  border-radius:var(--ui-polish-radius)!important;
  box-shadow:var(--ui-polish-shadow)!important;
  padding:12px!important;
}

body[data-member-console="ready"] .dashboard-nav-panel .dash-tab,
body:has(#page-admin) .atabs .atab,
body:has(#page-admin) .atabs button,
#page-dash .dashboard-nav-panel .dash-tab,
#page-admin .atab{
  background:transparent!important;
  color:var(--ui-polish-text)!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  font-weight:650!important;
}

body[data-member-console="ready"] .dashboard-nav-panel .dash-tab:hover,
body:has(#page-admin) .atabs .atab:hover,
body:has(#page-admin) .atabs button:hover,
#page-dash .dash-tab:hover,
#page-admin .atab:hover{
  background:var(--ui-polish-soft)!important;
  color:var(--ui-polish-blue)!important;
  border-color:#d7e9ff!important;
}

body[data-member-console="ready"] .dashboard-nav-panel .dash-tab.on,
body:has(#page-admin) .atabs .atab.on,
body:has(#page-admin) .atabs button.on,
#page-dash .dash-tab.on,
#page-admin .atab.on{
  background:var(--ui-polish-soft)!important;
  color:var(--ui-polish-blue-dark)!important;
  border-color:#c9dcff!important;
  box-shadow:none!important;
}

/* Content panels / cards like portal-card */
body[data-member-console="ready"] .dashboard-content-panel,
body:has(#page-admin) .ap,
#page-dash .dashboard-content-panel,
#page-dash .dcard,
#page-dash .member-panel,
#page-dash .kpi,
#page-dash .dashboard-metric,
#page-admin .ap,
#page-admin .dcard,
#page-admin .astat,
#page-admin .scard,
#page-admin .admin-card,
#page-admin .stat-card,
#page-admin .kpi{
  background:#fff!important;
  color:var(--ui-polish-navy)!important;
  border:1px solid var(--ui-polish-line)!important;
  border-radius:var(--ui-polish-radius)!important;
  box-shadow:var(--ui-polish-shadow)!important;
}

#page-dash .ttl,#page-dash h1,#page-dash h2,#page-dash h3,
#page-dash .dcard-ttl,#page-dash .mn-heading h2,#page-dash .dashboard-welcome h2,
#page-dash .kpi-v,#page-dash .dashboard-metric .kpi-v,
#page-dash table strong,
#page-admin h1,#page-admin h2,#page-admin h3,#page-admin .ttl,
#page-admin .dcard-ttl,#page-admin .stats-heading h2,#page-admin .mttl,
#page-admin .kpi-v,#page-admin th,#page-admin strong{
  color:var(--ui-polish-navy)!important;
}

#page-dash .msub,#page-dash .member-state,#page-dash .mn-footnote,
#page-dash .kpi-l,#page-dash .kpi-sub,#page-dash .dashboard-welcome p,
#page-dash .mn-heading p,#page-dash th,#page-dash .eye,#page-dash .cmsg,
#page-admin p,#page-admin td,#page-admin small,#page-admin .msub,
#page-admin .kpi-l,#page-admin .kpi-sub,#page-admin .cmsg,#page-admin .txdt{
  color:var(--ui-polish-muted)!important;
}

#page-dash label,#page-dash .f label,#page-dash .member-form label,
#page-admin label,#page-admin .f label{
  color:var(--ui-polish-navy)!important;
  font-weight:700!important;
}

#page-dash :is(input,select,textarea),
#page-admin :is(input,select,textarea){
  background:#fff!important;
  color:var(--ui-polish-navy)!important;
  border:1px solid #cbd8e8!important;
  border-radius:10px!important;
}

/* Primary / ghost buttons = portal buttons */
#page-dash .btn-p,#page-dash .mn-primary,#page-dash .dashboard-quick-primary,
#page-admin .btn-p,#page-admin .mn-primary{
  background:var(--ui-polish-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid var(--ui-polish-blue-dark)!important;
  border-radius:10px!important;
  font-weight:750!important;
  box-shadow:0 8px 20px rgba(23,105,224,.22)!important;
}
#page-dash .btn-p:hover,#page-dash .mn-primary:hover,#page-dash .dashboard-quick-primary:hover,
#page-admin .btn-p:hover{
  background:var(--ui-polish-blue-dark)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

#page-dash .btn-ghost,#page-dash .mn-button:not(.mn-primary),
#page-admin .btn-ghost{
  background:#fff!important;
  color:var(--ui-polish-navy)!important;
  -webkit-text-fill-color:var(--ui-polish-navy)!important;
  border:1px solid var(--ui-polish-line)!important;
  border-radius:10px!important;
  font-weight:700!important;
}
#page-dash .btn-ghost:hover,#page-dash .mn-button:not(.mn-primary):hover,
#page-admin .btn-ghost:hover{
  background:var(--ui-polish-soft)!important;
  color:var(--ui-polish-blue)!important;
  -webkit-text-fill-color:var(--ui-polish-blue)!important;
  border-color:#c9dcff!important;
}

#page-dash .btn:disabled,#page-dash .mn-button:disabled,
#page-admin .btn:disabled,#page-admin .btn-p:disabled{
  opacity:.72!important;
}

/* Chips / sub-tabs */
#page-dash .chip,#page-admin .chip{
  background:#fff!important;
  color:var(--ui-polish-text)!important;
  border:1px solid var(--ui-polish-line)!important;
}
#page-dash .chip.on,#page-admin .chip.on,
#page-dash .mn-tabs>button[aria-pressed=true],#page-dash .mn-tabs>button.on{
  background:var(--ui-polish-soft)!important;
  color:var(--ui-polish-blue-dark)!important;
  border-color:#c9dcff!important;
}
#page-dash .mn-tabs>button{
  background:#fff!important;
  color:var(--ui-polish-text)!important;
  border:1px solid var(--ui-polish-line)!important;
  border-radius:10px!important;
}

#page-dash .ui-more>summary,#page-dash .ui-filter-panel>summary,
#page-dash .ui-nav-toggle,#page-admin .ui-nav-toggle{
  color:var(--ui-polish-navy)!important;
  background:#fff!important;
  border:1px solid var(--ui-polish-line)!important;
}

/* Tables */
#page-dash table,#page-admin table{
  background:#fff!important;
  color:var(--ui-polish-navy)!important;
}
#page-dash th,#page-admin th{
  background:#f7faff!important;
  color:var(--ui-polish-navy)!important;
  border-bottom:1px solid var(--ui-polish-line)!important;
}
#page-dash td,#page-admin td{
  border-bottom:1px solid var(--ui-polish-line)!important;
  color:var(--ui-polish-text)!important;
}

/* Layout width — keep responsive, no tab reorder */
#page-dash>.wrap,#page-admin>.wrap{
  max-width:1220px;
  margin:0 auto;
}
@media (max-width:820px){
  #page-dash>.wrap,#page-admin>.wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 12px!important;
    grid-template-columns:none!important;
  }
  #page-dash .dashboard-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #page-dash .dashboard-content-panel,
  #page-dash .dcard,#page-dash .member-panel,
  #page-admin .ap,#page-admin .dcard{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #page-admin .atabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
}
@media (max-width:560px){
  #page-dash .dashboard-metrics{grid-template-columns:1fr!important}
  #page-admin .atabs{grid-template-columns:1fr!important}
}

/* Header language switch readable on light header */
.portal-home .portal-language-switch,
.portal-app-header .portal-language-switch,
.portal-app-header .lang-sw{
  background:#f2f6fa;border:1px solid #dce6ef;border-radius:10px;padding:3px;gap:2px;
}
.portal-home .portal-language-switch a:not(.on):not([aria-current="true"]),
.portal-app-header .lang-sw a:not(.on){
  color:#53677f!important;
}

/* Admin: keep ZH-only — hide language switch */
body.admin-page .portal-language-switch,
body.admin-page .lang-sw{display:none!important}

/* Hide member transfer until re-enabled */
.dashboard-nav-panel .dash-tab.feature-transfer-hidden,.feature-transfer-hidden,#mn-transfer,#s-transfer,#s-tr-bal,#m-transfer,[data-i18n="tab_transfer"],[data-i18n="btn_transfer_bal_short"],[data-i18n="mob_transfer"]{display:none!important}

/* mob-menu-action-contrast: readable balance + ghost buttons in drawer */
#mob-menu .mob-menu-bal{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:8px 12px 10px;padding:10px 12px;border-radius:12px;
  border:1px solid #bdeedf;background:#eafbf6;
}
#mob-menu .mob-bal-label{color:#0f5132!important;font-weight:700;font-size:.92rem}
#mob-menu .mob-bal-value,#mob-menu #mob-bal-n{color:#0b7a4b!important;font-weight:800;font-size:1.05rem}
#mob-menu .btn,#mob-menu .btn-ghost,#mob-menu #mn-rech,#mob-menu #mn-prof,#mob-menu #mn-out{
  background:#fff!important;color:#14243c!important;border:1px solid #c9d7ea!important;
  font-weight:700!important;-webkit-text-fill-color:#14243c!important;
}
#mob-menu .btn-ghost:hover,#mob-menu #mn-rech:hover,#mob-menu #mn-prof:hover,#mob-menu #mn-out:hover{
  background:#edf4ff!important;color:#175ca8!important;-webkit-text-fill-color:#175ca8!important;border-color:#9ec0ea!important;
}
#mob-menu .btn-p,#mob-menu #mn-login{
  background:var(--ui-polish-blue)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:var(--ui-polish-blue-dark)!important;
}
/* shop auth gate — guests see bilingual login/register CTA only */
#page-shop .shop-auth-gate{display:flex;justify-content:center;padding:1.5rem 0 2rem}
#page-shop .shop-auth-gate[hidden],#page-shop #shop-member-catalog[hidden],#page-shop [data-i18n="shop_hub"][hidden]{display:none!important}
#page-shop .shop-auth-gate-card{width:min(520px,100%);background:var(--card,#fff);border:1px solid var(--bdr,#e6e8ef);border-radius:16px;padding:1.5rem 1.35rem;box-shadow:0 8px 28px rgba(15,23,42,.06)}
#page-shop .shop-auth-gate-desc{color:var(--sub,#64748b);line-height:1.55;margin:0.75rem 0 1.15rem}
#page-shop .shop-auth-gate-actions{display:flex;flex-wrap:wrap;gap:0.65rem}

