:root {
  color-scheme: light;
  --nm-bg: #f4efe3;
  --nm-surface: #eae1d0;
  --nm-panel: #f0e8d8;
  --nm-panel-strong: #fff8ea;
  --nm-ink: #173128;
  --nm-muted: rgba(23, 49, 40, .68);
  --nm-faint: rgba(23, 49, 40, .46);
  --nm-line: #ded2be;
  --nm-line-strong: #cfc3ae;
  --nm-accent: #a87432;
  --nm-accent-hover: #8d5e25;
  --nm-red: #d63f3c;
  --nm-blue: #a87432;
  --nm-green: #24714f;
  --nm-warn: #a87432;
  --nm-danger: #b44845;
  --nm-shadow: 0 2px 8px rgba(77, 62, 38, .08);
  --nm-radius: 16px;
  --nm-radius-sm: 12px;
  --nm-shell-height: 56px;
  --nm-rail-width: 220px;
  --nm-sans: "Montserrat", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --nm-latin: "Montserrat", "Outfit", Arial, sans-serif;
  --nm-serif: var(--nm-sans);
}

html[data-site-theme="dark"] {
  color-scheme: dark;
  --nm-bg: #0f1714;
  --nm-surface: #121d18;
  --nm-panel: #16211c;
  --nm-panel-strong: #22342c;
  --nm-ink: #f3ecdd;
  --nm-muted: rgba(243, 236, 221, .72);
  --nm-faint: rgba(243, 236, 221, .48);
  --nm-line: #22342c;
  --nm-line-strong: #30463b;
  --nm-accent: #c89a5a;
  --nm-accent-hover: #d6ae74;
  --nm-red: #ff817c;
  --nm-blue: #d6ae74;
  --nm-green: #78d3a8;
  --nm-warn: #d6ae74;
  --nm-danger: #e27572;
  --nm-shadow: 0 6px 22px rgba(0, 0, 0, .22);
}

html[data-newma-rail="collapsed"] { --nm-rail-width: 72px; }
html[data-newma-rail="expanded"] { --nm-rail-width: 220px; }

html { background: var(--nm-bg); scroll-behavior: smooth; }

body.newma-v2 {
  box-sizing: border-box;
  margin: 0;
  min-height: 100vh;
  padding-top: var(--nm-shell-height);
  padding-left: var(--nm-rail-width);
  background: var(--nm-bg) !important;
  color: var(--nm-ink) !important;
  font-family: var(--nm-sans) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Module 1 keeps the original compact desktop rail; modules 2–6 retain the shared 220px rail. */
body.newma-v2[data-newma-module="home"] { --nm-rail-width: 156px; }
html[data-newma-rail="collapsed"] body.newma-v2[data-newma-module="home"] { --nm-rail-width: 72px; }

body.newma-v2 *, body.newma-v2 *::before, body.newma-v2 *::after { box-sizing: border-box; }
body.newma-v2 a { color: inherit; }
body.newma-v2 button, body.newma-v2 input, body.newma-v2 select, body.newma-v2 textarea { font: inherit; }
body.newma-v2 ::selection { background: rgba(168, 116, 50, .24); }

body.newma-v2 * { scrollbar-width: thin; scrollbar-color: rgba(168, 116, 50, .24) transparent; }
body.newma-v2 *::-webkit-scrollbar { width: 6px; height: 6px; }
body.newma-v2 *::-webkit-scrollbar-track { background: transparent; }
body.newma-v2 *::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(168, 116, 50, .24); }

.newma-global-shell {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  height: var(--nm-shell-height);
  border-bottom: 1px solid color-mix(in srgb, var(--nm-ink) 10%, transparent);
  background: color-mix(in srgb, var(--nm-bg) 90%, transparent);
  backdrop-filter: blur(18px);
}

.newma-global-shell__inner {
  height: 100%;
  padding: 0 20px 0 calc(var(--nm-rail-width) + 20px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.newma-global-shell__brand {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  color: color-mix(in srgb, var(--nm-ink) 78%, transparent);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}

.newma-global-shell__brand img { width: 28px; height: 28px; flex: 0 0 auto; border-radius: 8px; }
.newma-global-shell__right { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }

.newma-global-shell__nav {
  min-width: 0;
  max-width: min(900px, calc(100vw - 300px));
  padding: 3px;
  display: flex;
  align-items: center;
  gap: 2px;
  overflow-x: auto;
  border-radius: 10px;
  background: var(--nm-surface);
  scrollbar-width: none;
}

.newma-global-shell__nav::-webkit-scrollbar { display: none; }
.newma-global-shell__nav a {
  flex: 0 0 auto;
  height: 26px;
  padding: 0 9px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  color: var(--nm-muted);
  text-decoration: none;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  transition: color .16s ease, background .16s ease;
}

.newma-global-shell__nav a:hover { color: var(--nm-ink); background: color-mix(in srgb, var(--nm-panel-strong) 62%, transparent); }
.newma-global-shell__nav a[aria-current="page"] { color: var(--nm-accent-hover); background: var(--nm-panel-strong); box-shadow: var(--nm-shadow); font-weight: 700; }

.newma-shell-account {
  height: 34px;
  padding: 0 9px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  color: var(--nm-muted);
  text-decoration: none;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
}
.newma-shell-account:hover { color: var(--nm-ink); background: color-mix(in srgb, var(--nm-ink) 5%, transparent); }

.newma-side-rail {
  position: fixed;
  left: 0;
  top: var(--nm-shell-height);
  bottom: 0;
  z-index: 900;
  width: var(--nm-rail-width);
  padding: 18px 8px 16px;
  border-right: 1px solid var(--nm-line);
  background: var(--nm-surface);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  box-shadow: 2px 0 12px rgba(61, 48, 30, .03);
  transition: width .2s ease, padding .2s ease;
}

.newma-side-rail svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.newma-side-rail__new {
  width: 100%;
  height: 44px;
  flex: 0 0 auto;
  padding: 0 12px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  color: color-mix(in srgb, var(--nm-ink) 70%, transparent);
  background: var(--nm-line);
  text-decoration: none;
  transition: transform .16s ease, background .16s ease;
}
.newma-side-rail__new:hover { transform: scale(1.04); background: var(--nm-line-strong); }
.newma-side-rail__new svg { width: 19px; height: 19px; }
.newma-side-rail__toggle {
  min-height: 38px;
  padding: 3px 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--nm-muted);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 11px;
}
.newma-side-rail__toggle:hover { color: var(--nm-ink); background: color-mix(in srgb, var(--nm-line) 60%, transparent); }
.newma-side-rail__toggle svg { width: 20px; height: 20px; }

.newma-side-rail__nav {
  width: 100%;
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  overflow-y: auto;
  scrollbar-width: none;
}
.newma-side-rail__nav::-webkit-scrollbar { display: none; }
.newma-side-rail__nav a,
.newma-side-rail__foot a,
.newma-side-rail__foot button {
  min-height: 42px;
  padding: 4px 8px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--nm-muted);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  text-decoration: none;
  font-size: 11px;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

.newma-side-rail__nav a:hover,
.newma-side-rail__foot a:hover,
.newma-side-rail__foot button:hover { color: var(--nm-ink); background: color-mix(in srgb, var(--nm-line) 60%, transparent); }
.newma-side-rail__nav a[aria-current="page"] { color: color-mix(in srgb, var(--nm-ink) 82%, transparent); }
.newma-side-rail__nav a[aria-current="page"] .newma-side-rail__icon { background: var(--nm-line); }
.newma-side-rail__icon { width: 38px; height: 34px; border-radius: 9px; display: grid; place-items: center; }
.newma-side-rail__foot { width: 100%; flex: 0 0 auto; display: grid; gap: 2px; }
.newma-side-rail__foot-label { max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.newma-side-rail.is-collapsed {
  padding-inline: 8px;
  align-items: center;
  gap: 10px;
}
.newma-side-rail.is-collapsed .newma-side-rail__toggle,
.newma-side-rail.is-collapsed .newma-side-rail__new,
.newma-side-rail.is-collapsed .newma-side-rail__nav a,
.newma-side-rail.is-collapsed .newma-side-rail__foot a,
.newma-side-rail.is-collapsed .newma-side-rail__foot button {
  width: 100%;
  min-height: 48px;
  padding: 4px 0;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
}
.newma-side-rail.is-collapsed .newma-side-rail__new { width: 44px; height: 44px; border-radius: 50%; }
.newma-side-rail.is-collapsed .newma-side-rail__label { display: none; }
.newma-side-rail.is-collapsed .newma-side-rail__toggle svg { transform: rotate(180deg); }

.newma-page {
  width: min(1520px, calc(100% - 32px));
  margin: 0 auto;
  padding: 16px 0 56px;
}
.newma-page--wide { width: min(1600px, calc(100% - 28px)); }
.newma-page h1, .newma-page h2, .newma-page h3 { color: var(--nm-ink); }
.newma-display { font-family: var(--nm-sans); letter-spacing: -.025em; }
.newma-page-title { margin: 0; font: 500 clamp(28px, 3.2vw, 44px)/1.18 var(--nm-sans); letter-spacing: -.035em; }
.newma-section-title { margin: 0; font: 600 clamp(20px, 2.2vw, 28px)/1.2 var(--nm-sans); letter-spacing: -.025em; }
.newma-lead { max-width: 760px; margin: 12px 0 0; color: var(--nm-muted); font-size: 13px; line-height: 1.75; }

.newma-btn {
  min-height: 38px;
  border: 1px solid var(--nm-line-strong);
  border-radius: 11px;
  background: transparent;
  color: var(--nm-ink);
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.newma-btn:hover { transform: translateY(-1px); background: var(--nm-panel-strong); }
.newma-btn.primary { border-color: var(--nm-accent); background: var(--nm-accent); color: #0f1714; }
.newma-btn.primary:hover { border-color: var(--nm-accent-hover); background: var(--nm-accent-hover); }
.newma-btn:disabled { opacity: .46; cursor: not-allowed; transform: none; }
.newma-muted { color: var(--nm-muted); }
.newma-blue, .newma-accent { color: var(--nm-accent); }
.newma-green { color: var(--nm-green); }
.newma-rule { border-top: 1px solid var(--nm-line); }

.newma-status { display: inline-flex; align-items: center; gap: 6px; color: var(--nm-muted); font-size: 11px; }
.newma-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--nm-faint); }
.newma-status.ok::before { background: var(--nm-green); }
.newma-status.info::before { background: var(--nm-accent); }
.newma-status.warn::before { background: var(--nm-warn); }
.newma-status.error::before { background: var(--nm-danger); }

.newma-field {
  width: 100%; min-height: 42px; border: 1px solid var(--nm-line); border-radius: 11px;
  background: var(--nm-panel); color: var(--nm-ink); padding: 9px 12px; outline: 0;
}
.newma-field:focus { border-color: var(--nm-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--nm-accent) 14%, transparent); }

.newma-table-wrap { overflow: auto; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-panel); }
.newma-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.newma-table th { position: sticky; top: 0; z-index: 1; background: var(--nm-surface); color: var(--nm-muted); text-align: left; font-size: 11px; font-weight: 600; }
.newma-table th, .newma-table td { padding: 10px 12px; border-bottom: 1px solid var(--nm-line); white-space: nowrap; }
.newma-table tbody tr:hover { background: color-mix(in srgb, var(--nm-accent) 5%, var(--nm-panel)); }

/* Module 3: retain the complete member functionality while applying module 1 chrome. */
body.newma-v2.page-member > .top-banner,
body.newma-v2.page-member > header:not(.newma-global-shell),
body.newma-v2.page-member > footer { display: none !important; }
body.newma-v2.page-member .console-main { width: min(1520px, calc(100% - 32px)) !important; max-width: 1520px !important; margin: 0 auto; padding: 16px 0 56px; }
body.newma-v2.page-member .console-subnav { display: none !important; }
body.newma-v2.page-member .console-card { border: 1px solid var(--nm-line) !important; border-radius: var(--nm-radius) !important; background: color-mix(in srgb, var(--nm-surface) 72%, transparent) !important; box-shadow: var(--nm-shadow) !important; color: var(--nm-ink) !important; padding: 16px !important; }
body.newma-v2.page-member .console-head h1 { font: 600 20px/1.25 var(--nm-sans); letter-spacing: -.02em; color: var(--nm-ink); }
body.newma-v2.page-member .console-muted, body.newma-v2.page-member .sub-meta { color: var(--nm-muted) !important; }
body.newma-v2.page-member .center-grid { grid-template-columns: repeat(5, minmax(180px, 1fr)) !important; gap: 12px !important; }
body.newma-v2.page-member .center-card,
body.newma-v2.page-member .renew-box,
body.newma-v2.page-member .redeem-box,
body.newma-v2.page-member .recharge-box,
body.newma-v2.page-member .auto-renew-box,
body.newma-v2.page-member .feedback-panel,
body.newma-v2.page-member .feedback-detail-card,
body.newma-v2.page-member .feedback-summary-card,
body.newma-v2.page-member .rebate-stat-card,
body.newma-v2.page-member .rebate-rule-card,
body.newma-v2.page-member .rebate-example-card,
body.newma-v2.page-member .rebate-tree-card { border: 1px solid var(--nm-line) !important; border-radius: 14px !important; background: var(--nm-panel) !important; box-shadow: none !important; color: var(--nm-ink) !important; }
body.newma-v2.page-member .center-title { color: var(--nm-muted) !important; font-size: 11px !important; }
body.newma-v2.page-member .center-value { color: var(--nm-ink) !important; font-family: var(--nm-latin); font-size: 18px !important; }
body.newma-v2.page-member .center-tabs { gap: 2px; border-bottom: 1px solid var(--nm-line); padding-bottom: 0; overflow-x: auto; }
body.newma-v2.page-member .center-tab { border: 0 !important; border-radius: 9px 9px 0 0 !important; background: transparent !important; color: var(--nm-muted) !important; padding: 10px 12px !important; font-size: 11px !important; }
body.newma-v2.page-member .center-tab.active { color: var(--nm-accent-hover) !important; background: var(--nm-panel) !important; box-shadow: inset 0 -2px var(--nm-accent); }
body.newma-v2.page-member .action-btn { border-radius: 10px !important; font-size: 11px !important; }
body.newma-v2.page-member .action-btn:not(.secondary), body.newma-v2.page-member .action-btn.primary { background: var(--nm-accent) !important; border-color: var(--nm-accent) !important; color: #0f1714 !important; }
body.newma-v2.page-member .action-btn.secondary { background: transparent !important; border-color: var(--nm-line-strong) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-member input, body.newma-v2.page-member select, body.newma-v2.page-member textarea { border-color: var(--nm-line) !important; border-radius: 10px !important; background: var(--nm-panel) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-member .center-table-wrap { border-color: var(--nm-line) !important; border-radius: 14px !important; background: var(--nm-panel) !important; }
body.newma-v2.page-member .center-table-wrap th { background: var(--nm-surface) !important; color: var(--nm-muted) !important; }
body.newma-v2.page-member .center-table-wrap td { border-color: var(--nm-line) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-member .rebate-hero { border-color: var(--nm-line) !important; border-radius: 14px !important; background: var(--nm-panel) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-member .rebate-node, body.newma-v2.page-member .rebate-node.blue, body.newma-v2.page-member .rebate-node.orange { border-color: var(--nm-line) !important; background: var(--nm-panel-strong) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-member .center-tabs-controller { display: none !important; }
body.newma-v2.page-member .member-pane-head {
  margin: 10px 0 8px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
body.newma-v2.page-member .member-pane-head h2 { margin: 0; font: 600 17px/1.25 var(--nm-sans); }
body.newma-v2.page-member .member-pane-head p { margin: 4px 0 0; color: var(--nm-muted); font-size: 10px; }
body.newma-v2.page-member .member-account-grid {
  grid-template-columns: .8fr 1.25fr .9fr 1.55fr 1.35fr !important;
  gap: 8px !important;
  margin-top: 0 !important;
}
body.newma-v2.page-member .member-account-grid > .center-card { min-width: 0; padding: 12px !important; align-content: start; }
body.newma-v2.page-member .member-account-grid .center-link-input { min-width: 0; }
body.newma-v2.page-member .member-account-grid .console-muted { font-size: 10px !important; line-height: 1.45; }
body.newma-v2.page-member .member-status-strip {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--nm-line);
  border-radius: 14px;
  overflow: hidden;
  background: var(--nm-panel);
}
body.newma-v2.page-member .member-status-strip > div { min-height: 58px; padding: 11px 13px; border-right: 1px solid var(--nm-line); display: grid; align-content: center; gap: 5px; }
body.newma-v2.page-member .member-status-strip > div:last-child { border-right: 0; }
body.newma-v2.page-member .member-status-strip span { color: var(--nm-muted); font-size: 9px; }
body.newma-v2.page-member .member-status-strip strong { color: var(--nm-ink); font-size: 11px; font-weight: 600; }
body.newma-v2.page-member .member-billing-pane.active {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
body.newma-v2.page-member .member-billing-pane > .console-head,
body.newma-v2.page-member .member-billing-pane > .pane-state,
body.newma-v2.page-member .member-billing-pane > .sub-grid,
body.newma-v2.page-member .member-billing-pane > .renew-box { grid-column: 1 / -1; }
body.newma-v2.page-member .member-billing-pane .recharge-box,
body.newma-v2.page-member .member-billing-pane .redeem-box,
body.newma-v2.page-member .member-billing-pane .auto-renew-box { margin: 0 !important; padding: 14px !important; }
body.newma-v2.page-member[data-member-pane="billing"] #member-center-card { display: none !important; }
body.newma-v2.page-member .invoice-tabs {
  margin: 10px 0;
  padding: 3px;
  display: inline-flex;
  gap: 2px;
  border: 1px solid var(--nm-line);
  border-radius: 10px;
  background: var(--nm-bg);
}
body.newma-v2.page-member .invoice-tabs button {
  min-height: 30px;
  padding: 0 11px;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--nm-muted) !important;
  font-size: 10px !important;
  font-weight: 600;
  cursor: pointer;
}
body.newma-v2.page-member .invoice-tabs button.active { background: var(--nm-panel-strong) !important; color: var(--nm-ink) !important; box-shadow: var(--nm-shadow); }
body.newma-v2.page-member .invoice-subpane { display: none; }
body.newma-v2.page-member .invoice-subpane.active { display: block; }
body.newma-v2.page-member .invoice-form-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1.05fr .7fr 1.35fr 1fr 1.25fr;
  gap: 8px;
}
body.newma-v2.page-member .invoice-form-grid label,
body.newma-v2.page-member .invoice-profile-form label { min-width: 0; display: grid; gap: 5px; color: var(--nm-muted); font-size: 10px; font-weight: 600; }
body.newma-v2.page-member .invoice-form-grid input,
body.newma-v2.page-member .invoice-form-grid select,
body.newma-v2.page-member .invoice-profile-form input,
body.newma-v2.page-member .invoice-profile-form select { width: 100%; min-width: 0; min-height: 38px; padding: 7px 9px; }
body.newma-v2.page-member .invoice-profile-form {
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid var(--nm-line);
  border-radius: 14px;
  background: var(--nm-panel);
  display: grid;
  grid-template-columns: .8fr .65fr 1.35fr 1fr 1.1fr auto;
  gap: 8px;
  align-items: end;
}
body.newma-v2.page-member .invoice-profile-form .invoice-default-check { min-height: 38px; display: flex; align-items: center; gap: 6px; white-space: nowrap; }
body.newma-v2.page-member .invoice-profile-form .invoice-default-check input { width: auto; min-height: auto; }
body.newma-v2.page-member .invoice-profile-actions { display: flex; gap: 6px; grid-column: 1 / -1; }
body.newma-v2.page-member .invoice-profile-form > .pane-state { grid-column: 1 / -1; }
body.newma-v2.page-member .invoice-profile-list .action-btn { min-height: 28px; padding: 4px 8px; }

/* Module 2: keep the working Hermes WebUI, using the exact module 1 frame. */
body.newma-v2.page-console { width: 100%; height: 100vh; min-height: 0; overflow: hidden; grid-template-rows: 48px minmax(0, 1fr) !important; }
body.newma-v2.page-console .webui-bar { height: 48px; min-height: 48px; border-color: var(--nm-line); background: var(--nm-surface); color: var(--nm-ink); box-shadow: none; }
body.newma-v2.page-console .webui-bar .brand { display: none; }
body.newma-v2.page-console .webui-bar .member-link,
body.newma-v2.page-console .webui-bar .site-theme-toggle,
body.newma-v2.page-console .webui-bar .user-shell { display: none !important; }
body.newma-v2.page-console .webui-stage { min-height: 0; background: var(--nm-bg); }
body.newma-v2.page-console .bar-title strong { color: var(--nm-ink); }
body.newma-v2.page-console .bar-title span, body.newma-v2.page-console .connection-label { color: var(--nm-muted); }
body.newma-v2.page-console .bar-button, body.newma-v2.page-console .bar-link, body.newma-v2.page-console .server-picker, body.newma-v2.page-console select { border-color: var(--nm-line); border-radius: 10px; background: var(--nm-panel); color: var(--nm-ink); }
body.newma-v2.page-console .bar-button.primary { border-color: var(--nm-accent); background: var(--nm-accent); color: #0f1714; }
body.newma-v2.page-console .stage-state { background: var(--nm-bg); }
body.newma-v2.page-console .state-mark { border-color: var(--nm-line); border-radius: 14px; background: var(--nm-panel); color: var(--nm-accent); }

/* Modules 4 and 5: same cockpit surfaces, density and typography as module 1. */
body.newma-v2[data-newma-module="download"] .download-intro {
  min-height: 0 !important;
  margin-bottom: 16px;
  padding: 24px !important;
  border: 1px solid var(--nm-line) !important;
  border-radius: var(--nm-radius);
  background: color-mix(in srgb, var(--nm-surface) 72%, transparent);
  gap: 28px !important;
  align-items: center !important;
  box-shadow: var(--nm-shadow);
}
body.newma-v2[data-newma-module="download"] .download-intro-meta { border-left-color: var(--nm-accent) !important; color: var(--nm-muted) !important; }
body.newma-v2[data-newma-module="download"] .platform-band {
  margin-bottom: 16px;
  padding: 18px !important;
  border: 1px solid var(--nm-line) !important;
  border-radius: var(--nm-radius);
  background: color-mix(in srgb, var(--nm-surface) 62%, transparent);
  gap: 20px !important;
}
body.newma-v2[data-newma-module="download"] .platform-label { top: calc(var(--nm-shell-height) + 18px) !important; }
body.newma-v2[data-newma-module="download"] .platform-label .platform-no { color: var(--nm-accent) !important; font-size: 9px !important; }
body.newma-v2[data-newma-module="download"] .platform-label h2 { font: 600 22px/1.2 var(--nm-sans) !important; letter-spacing: -.025em !important; }
body.newma-v2[data-newma-module="download"] .platform-label p { font-size: 11px !important; }
body.newma-v2[data-newma-module="download"] .device-frame,
body.newma-v2[data-newma-module="download"] .release-panel,
body.newma-v2[data-newma-module="download"] .qr-frame { border-color: var(--nm-line) !important; border-radius: 14px !important; background: var(--nm-panel) !important; }
body.newma-v2[data-newma-module="download"] .device-window,
body.newma-v2[data-newma-module="download"] .device-window-input { border-color: var(--nm-line-strong) !important; background: var(--nm-bg) !important; }
body.newma-v2[data-newma-module="download"] .device-window-bar,
body.newma-v2[data-newma-module="download"] .device-window-side { border-color: var(--nm-line) !important; }
body.newma-v2[data-newma-module="download"] .device-window-side span,
body.newma-v2[data-newma-module="download"] .device-window-main p { background: var(--nm-line) !important; }
body.newma-v2[data-newma-module="download"] .release-panel h3,
body.newma-v2[data-newma-module="download"] .mobile-release h3,
body.newma-v2[data-newma-module="download"] .install-item h3,
body.newma-v2[data-newma-module="download"] .release-ledger h2 { font-family: var(--nm-sans) !important; letter-spacing: -.02em !important; }
body.newma-v2[data-newma-module="download"] .install-grid,
body.newma-v2[data-newma-module="download"] .release-ledger,
body.newma-v2[data-newma-module="download"] .release-list,
body.newma-v2[data-newma-module="download"] .release-row { border-color: var(--nm-line) !important; }

body.newma-v2[data-newma-module="plans"] .plans-shell { grid-template-columns: minmax(0, 1fr) 320px !important; gap: 16px !important; padding-top: 0 !important; }
body.newma-v2[data-newma-module="plans"] .plan-columns { gap: 12px; border: 0 !important; }
body.newma-v2[data-newma-module="plans"] .plan-column {
  min-height: 560px !important;
  padding: 20px !important;
  border: 1px solid var(--nm-line) !important;
  border-radius: var(--nm-radius);
}
body.newma-v2[data-newma-module="plans"] .plan-column.selected { box-shadow: inset 0 3px var(--nm-accent), var(--nm-shadow) !important; }
body.newma-v2[data-newma-module="plans"] .plan-column h2 { font: 600 24px/1.2 var(--nm-sans) !important; }
body.newma-v2[data-newma-module="plans"] .plan-price strong { font: 600 36px/1 var(--nm-latin) !important; }
body.newma-v2[data-newma-module="plans"] .plan-facts, body.newma-v2[data-newma-module="plans"] .plan-fact { border-color: var(--nm-line) !important; }
body.newma-v2[data-newma-module="plans"] .checkout-panel { top: calc(var(--nm-shell-height) + 16px) !important; border-color: var(--nm-line) !important; border-radius: var(--nm-radius) !important; background: var(--nm-panel) !important; padding: 20px !important; box-shadow: var(--nm-shadow); }
body.newma-v2[data-newma-module="plans"] .checkout-panel h2 { font: 600 22px/1.2 var(--nm-sans) !important; }
body.newma-v2[data-newma-module="plans"] .checkout-selected, body.newma-v2[data-newma-module="plans"] .checkout-toggle, body.newma-v2[data-newma-module="plans"] .comparison-table, body.newma-v2[data-newma-module="plans"] .comparison-table th, body.newma-v2[data-newma-module="plans"] .comparison-table td, body.newma-v2[data-newma-module="plans"] .faq-grid, body.newma-v2[data-newma-module="plans"] .faq-item { border-color: var(--nm-line) !important; }
body.newma-v2[data-newma-module="plans"] .comparison { padding-top: 32px !important; }
body.newma-v2[data-newma-module="plans"] .plan-faq { padding-top: 32px !important; }
body.newma-v2[data-newma-module="plans"] .faq-item h3 { font: 600 17px/1.3 var(--nm-sans) !important; }

/* Module 6: preserve the dense operational tables and map their chrome to module 1. */
body.newma-v2.page-admin { width: 100%; min-height: 100vh; padding-top: calc(var(--nm-shell-height) + 14px) !important; padding-right: 14px !important; padding-bottom: 42px !important; padding-left: calc(var(--nm-rail-width) + 14px) !important; background: var(--nm-bg) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-admin > .wrap { width: min(1520px, 100%); max-width: none; margin: 0 auto; gap: 12px; }
body.newma-v2.page-admin .card { border-color: var(--nm-line) !important; border-radius: var(--nm-radius) !important; background: color-mix(in srgb, var(--nm-surface) 72%, transparent) !important; color: var(--nm-ink) !important; box-shadow: var(--nm-shadow) !important; }
body.newma-v2.page-admin .card:first-child h1 { font: 600 20px/1.25 var(--nm-sans); letter-spacing: -.02em; }
body.newma-v2.page-admin h2 { font-family: var(--nm-sans); }
body.newma-v2.page-admin .muted, body.newma-v2.page-admin .mini, body.newma-v2.page-admin .status { color: var(--nm-muted) !important; }
body.newma-v2.page-admin .head > .row > .tabs[aria-label="后台模块切换"] { display: none !important; }
body.newma-v2.page-admin input, body.newma-v2.page-admin textarea, body.newma-v2.page-admin select, body.newma-v2.page-admin button { border-color: var(--nm-line) !important; border-radius: 10px !important; background: var(--nm-panel) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-admin input:focus, body.newma-v2.page-admin textarea:focus, body.newma-v2.page-admin select:focus { outline: 0; border-color: var(--nm-accent) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--nm-accent) 14%, transparent); }
body.newma-v2.page-admin .btn-primary { border-color: var(--nm-accent) !important; background: var(--nm-accent) !important; color: #0f1714 !important; }
body.newma-v2.page-admin .btn-danger { border-color: var(--nm-danger) !important; background: var(--nm-danger) !important; color: #fff !important; }
body.newma-v2.page-admin .tabs { border-color: var(--nm-line) !important; border-radius: 11px !important; background: var(--nm-bg) !important; }
body.newma-v2.page-admin .tab-btn { border: 0 !important; background: transparent !important; color: var(--nm-muted) !important; }
body.newma-v2.page-admin .tab-btn.active { background: var(--nm-panel-strong) !important; color: var(--nm-accent-hover) !important; box-shadow: var(--nm-shadow); }
body.newma-v2.page-admin .panel, body.newma-v2.page-admin .stat-card, body.newma-v2.page-admin .chart-box, body.newma-v2.page-admin .server-pool-strip { border-color: var(--nm-line) !important; background: var(--nm-panel) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-admin .server-pool-strip { border-left-color: var(--nm-accent) !important; }
body.newma-v2.page-admin .admin-table-wrap, body.newma-v2.page-admin [style*="overflow:auto"] { border-color: var(--nm-line) !important; border-radius: 14px !important; background: var(--nm-panel) !important; }
body.newma-v2.page-admin table { color: var(--nm-ink) !important; }
body.newma-v2.page-admin th { position: sticky; top: 0; z-index: 2; background: var(--nm-surface) !important; color: var(--nm-muted) !important; border-color: var(--nm-line) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.newma-v2.page-admin td { border-color: var(--nm-line) !important; color: var(--nm-ink) !important; }
body.newma-v2.page-admin tbody tr:hover { background: color-mix(in srgb, var(--nm-accent) 5%, var(--nm-panel)); }
body.newma-v2.page-admin .tag, body.newma-v2.page-admin .badge, body.newma-v2.page-admin .version-pill, body.newma-v2.page-admin .admin-mini-tag, body.newma-v2.page-admin .admin-summary-pill { border-color: var(--nm-line) !important; background: var(--nm-bg) !important; color: var(--nm-muted) !important; }
body.newma-v2.page-admin .tag.ok, body.newma-v2.page-admin .tag.paid { border-color: color-mix(in srgb, var(--nm-green) 46%, var(--nm-line)) !important; color: var(--nm-green) !important; }
body.newma-v2.page-admin .tag.warn, body.newma-v2.page-admin .tag.pending { border-color: color-mix(in srgb, var(--nm-warn) 46%, var(--nm-line)) !important; color: var(--nm-warn) !important; }
body.newma-v2.page-admin .tag.error { border-color: color-mix(in srgb, var(--nm-danger) 46%, var(--nm-line)) !important; color: var(--nm-danger) !important; }
body.newma-v2.page-admin .stat-number { color: var(--nm-ink) !important; font-family: var(--nm-latin); }
body.newma-v2.page-admin .login-wrap { margin-top: 30px; }

/* Module 6 theme hardening: legacy admin CSS is light-only, so every sticky
   surface and dense control must resolve through the shared Newma tokens. */
body.newma-v2.page-admin {
  font-size: 13px;
  line-height: 1.45;
}
body.newma-v2.page-admin :where(button, input, select, textarea) {
  font-family: var(--nm-sans) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
body.newma-v2.page-admin button {
  min-height: 32px;
  padding: 6px 9px !important;
  font-weight: 600 !important;
}
body.newma-v2.page-admin :where(.head, .server-list-tools, .admin-section-head) button {
  min-height: 32px;
}
body.newma-v2.page-admin :where(.server-view-presets, .user-view-presets) {
  border-color: var(--nm-line) !important;
  background: var(--nm-bg) !important;
}
body.newma-v2.page-admin :where(.server-view-preset, .user-view-preset) {
  min-width: 36px;
  min-height: 32px;
  height: 32px;
  padding: 6px 9px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--nm-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
body.newma-v2.page-admin :where(.server-view-preset, .user-view-preset)[aria-pressed="true"] {
  background: var(--nm-panel-strong) !important;
  color: var(--nm-accent-hover) !important;
  box-shadow: inset 0 0 0 1px var(--nm-line-strong);
}
body.newma-v2.page-admin .server-actions button {
  min-width: 34px;
  min-height: 26px;
  height: 26px;
  padding: 0 6px !important;
  border-radius: 7px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}
body.newma-v2.page-admin :where(.server-pool-tile, .server-list-panel, .server-table-wrap, .admin-table-wrap, .admin-compact-import, .admin-column-popover) {
  border-color: var(--nm-line) !important;
  background: var(--nm-panel) !important;
  color: var(--nm-ink) !important;
}
body.newma-v2.page-admin .server-list-panel {
  background: linear-gradient(180deg, var(--nm-panel) 0%, color-mix(in srgb, var(--nm-surface) 72%, var(--nm-panel)) 100%) !important;
}
body.newma-v2.page-admin .server-list-head {
  border-bottom-color: var(--nm-line) !important;
  background: color-mix(in srgb, var(--nm-surface) 92%, transparent) !important;
}
body.newma-v2.page-admin .server-pool-count { color: var(--nm-accent-hover) !important; }
body.newma-v2.page-admin .server-pool-meta,
body.newma-v2.page-admin .server-pool-stat,
body.newma-v2.page-admin .server-list-summary { color: var(--nm-muted) !important; }
body.newma-v2.page-admin .server-pool-meta strong { color: var(--nm-ink) !important; }
body.newma-v2.page-admin .server-pool-alert {
  border-color: color-mix(in srgb, var(--nm-danger) 42%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-danger) 10%, var(--nm-panel)) !important;
  color: var(--nm-danger) !important;
}
body.newma-v2.page-admin .admin-compact-import summary { color: var(--nm-ink) !important; }
body.newma-v2.page-admin .admin-compact-import summary::after {
  border-color: var(--nm-line-strong) !important;
  color: var(--nm-accent-hover) !important;
}
body.newma-v2.page-admin .admin-data-column-menu .btn-ghost {
  min-height: 24px;
  padding: 0 7px !important;
  background: color-mix(in srgb, var(--nm-panel) 92%, transparent) !important;
  font-size: 10px !important;
  line-height: 22px !important;
}
body.newma-v2.page-admin .admin-column-popover { box-shadow: var(--nm-shadow) !important; }
body.newma-v2.page-admin .admin-column-toggle {
  border-color: var(--nm-line) !important;
  background: var(--nm-bg) !important;
  color: var(--nm-muted) !important;
}
body.newma-v2.page-admin .admin-column-toggle[aria-pressed="false"] {
  border-color: color-mix(in srgb, var(--nm-danger) 36%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-danger) 8%, var(--nm-panel)) !important;
  color: var(--nm-danger) !important;
}
body.newma-v2.page-admin .server-table :where(th.server-name-cell, th.server-actions-cell) {
  background: var(--nm-surface) !important;
  box-shadow: 1px 0 0 var(--nm-line);
}
body.newma-v2.page-admin .server-table th.server-actions-cell { box-shadow: -1px 0 0 var(--nm-line); }
body.newma-v2.page-admin .server-table :where(td.server-name-cell, td.server-actions-cell) {
  background: var(--nm-panel) !important;
}
body.newma-v2.page-admin .server-table td.server-name-cell { box-shadow: 1px 0 0 var(--nm-line); }
body.newma-v2.page-admin .server-table td.server-actions-cell { box-shadow: -1px 0 0 var(--nm-line); }
body.newma-v2.page-admin .server-table tbody tr:hover :where(.server-name-cell, .server-actions-cell) {
  background: color-mix(in srgb, var(--nm-accent) 5%, var(--nm-panel)) !important;
}
body.newma-v2.page-admin .server-name-main,
body.newma-v2.page-admin .admin-main-cell { color: var(--nm-ink) !important; }
body.newma-v2.page-admin .server-subtle-line { color: var(--nm-faint) !important; }
body.newma-v2.page-admin .server-address,
body.newma-v2.page-admin .server-pill,
body.newma-v2.page-admin .admin-mini-tag,
body.newma-v2.page-admin .health-chip {
  border-color: var(--nm-line) !important;
  background: var(--nm-bg) !important;
  color: var(--nm-muted) !important;
}
body.newma-v2.page-admin .server-address { color: var(--nm-accent-hover) !important; }
body.newma-v2.page-admin .server-pill.protocol-hermes {
  border-color: color-mix(in srgb, var(--nm-accent) 42%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-accent) 10%, var(--nm-panel)) !important;
  color: var(--nm-accent-hover) !important;
}
body.newma-v2.page-admin .server-pill.protocol-openclaw {
  border-color: color-mix(in srgb, var(--nm-green) 36%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-green) 8%, var(--nm-panel)) !important;
  color: var(--nm-green) !important;
}
body.newma-v2.page-admin .server-usage { color: var(--nm-muted) !important; }
body.newma-v2.page-admin .server-usage.free { color: var(--nm-green) !important; }
body.newma-v2.page-admin .server-usage.busy { color: var(--nm-accent-hover) !important; }
body.newma-v2.page-admin .server-usage.grace { color: var(--nm-warn) !important; }
body.newma-v2.page-admin :where(.health-chip.ok, .tag.ok) {
  border-color: color-mix(in srgb, var(--nm-green) 42%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-green) 8%, var(--nm-panel)) !important;
  color: var(--nm-green) !important;
}
body.newma-v2.page-admin :where(.health-chip.warn, .health-chip.pending, .tag.warn) {
  border-color: color-mix(in srgb, var(--nm-warn) 42%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-warn) 8%, var(--nm-panel)) !important;
  color: var(--nm-warn) !important;
}
body.newma-v2.page-admin :where(.health-chip.error, .health-chip.unknown, .tag.error) {
  border-color: color-mix(in srgb, var(--nm-danger) 42%, var(--nm-line)) !important;
  background: color-mix(in srgb, var(--nm-danger) 8%, var(--nm-panel)) !important;
  color: var(--nm-danger) !important;
}

@media (max-width: 1180px) {
  .newma-global-shell__inner { padding-right: 12px; gap: 10px; }
  .newma-global-shell__nav a { padding-inline: 8px; }
  .newma-shell-account { display: none; }
  body.newma-v2.page-member .center-grid { grid-template-columns: repeat(3, minmax(180px, 1fr)) !important; }
  body.newma-v2.page-member .member-account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.newma-v2.page-member .member-status-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.newma-v2.page-member .member-status-strip > div:nth-child(2) { border-right: 0; }
  body.newma-v2.page-member .member-status-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--nm-line); }
  body.newma-v2.page-member .member-billing-pane.active { grid-template-columns: 1fr 1fr !important; }
  body.newma-v2.page-member .invoice-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.newma-v2.page-member .invoice-profile-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.newma-v2[data-newma-module="plans"] .plans-shell { grid-template-columns: 1fr !important; }
  body.newma-v2[data-newma-module="plans"] .checkout-panel { position: static !important; }
}

@media (max-width: 900px) {
  :root, html[data-newma-rail] { --nm-shell-height: 98px; --nm-rail-width: 0px; }
  html[data-newma-rail] body.newma-v2[data-newma-module="home"] { --nm-rail-width: 0px; }
  body.newma-v2 { padding-left: 0; padding-bottom: 64px; }
  .newma-global-shell__inner { padding: 0 12px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: 52px 46px; }
  .newma-global-shell__brand { grid-column: 1; grid-row: 1; }
  .newma-global-shell__right { display: contents; }
  .newma-global-shell__nav { grid-column: 1 / -1; grid-row: 2; width: calc(100vw - 24px); max-width: none; border-radius: 10px 10px 0 0; }
  .newma-shell-account { grid-column: 2; grid-row: 1; display: inline-flex; }
  .newma-side-rail { top: auto; right: auto; bottom: 0; width: 100vw; max-width: 100vw; height: 64px; padding: 5px 8px max(5px, env(safe-area-inset-bottom)); border-top: 1px solid var(--nm-line); border-right: 0; flex-direction: row; background: color-mix(in srgb, var(--nm-surface) 94%, transparent); backdrop-filter: blur(16px); }
  .newma-side-rail__toggle, .newma-side-rail__new, .newma-side-rail__foot { display: none; }
  .newma-side-rail__nav { flex-direction: row; justify-content: space-around; gap: 2px; overflow-x: auto; overflow-y: hidden; }
  .newma-side-rail__nav a { min-width: 58px; min-height: 52px; flex: 1 0 58px; padding: 4px 0; flex-direction: column; justify-content: center; gap: 3px; }
  .newma-side-rail__nav a:nth-child(n+6) { display: none; }
  .newma-side-rail__icon { width: 32px; height: 28px; }
  .newma-side-rail svg { width: 21px; height: 21px; }
  .newma-page { width: calc(100% - 24px); padding-top: 12px; }
  body.newma-v2.page-member .console-main { width: calc(100% - 24px); padding-top: 12px; }
  body.newma-v2.page-member .center-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)) !important; }
  body.newma-v2.page-member .member-billing-pane.active { grid-template-columns: 1fr !important; }
  body.newma-v2.page-console { height: 100dvh; grid-template-rows: 48px minmax(0, 1fr) !important; }
  body.newma-v2.page-admin { padding-top: calc(var(--nm-shell-height) + 10px) !important; padding-left: 10px !important; padding-right: 10px !important; padding-bottom: 74px !important; }
}

@media (max-width: 620px) {
  .newma-global-shell__brand span { display: none; }
  .newma-global-shell__nav a { height: 27px; padding-inline: 9px; font-size: 9.5px; }
  .newma-page-title { font-size: 28px; }
  body.newma-v2.page-member .center-grid { grid-template-columns: 1fr !important; }
  body.newma-v2.page-member .member-pane-head { align-items: flex-start; flex-direction: column; }
  body.newma-v2.page-member .member-status-strip { grid-template-columns: 1fr; }
  body.newma-v2.page-member .member-status-strip > div { border-right: 0; border-bottom: 1px solid var(--nm-line); }
  body.newma-v2.page-member .member-status-strip > div:last-child { border-bottom: 0; }
  body.newma-v2.page-member .invoice-form-grid,
  body.newma-v2.page-member .invoice-profile-form { grid-template-columns: 1fr; }
  body.newma-v2[data-newma-module="download"] .download-intro { padding: 18px !important; }
  body.newma-v2[data-newma-module="download"] .platform-band { padding: 14px !important; }
  body.newma-v2[data-newma-module="plans"] .plan-column { min-height: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
