/* ==========================================================================
   觅芒飞域 · 会员插件（mimangfei-member）LUMEN 适配层  v2
   --------------------------------------------------------------------------
   作用：把插件默认的红色（#f1404b）与灰色硬编码，统一为 LUMEN 设计令牌，
   让「会员中心 / 钱包 / 订单 / 优惠券 / 收货地址 / 消息 / 关注粉丝 / 投稿 /
   个人资料 / 账号安全 / 购物车 / 订单支付」等页面与主题视觉完全一致。

   加载顺序：mf-design-system → member.css（插件）→ 本文件（最后覆盖）。
   约定：页面级规则以 .mf-member-page 前缀提升优先级，覆盖插件 (0,2,0)+ 规则；
        暗色覆盖以 html[data-theme="dark"] .mf-member-page 前缀，胜过插件暗色规则。
   ========================================================================== */

/* ---------- 1. 令牌映射 ---------- */
:root {
	/* 插件读取 --mf-primary / --mf-radius，未定义时回退红色；此处注入 LUMEN 主色 */
	--mf-primary: var(--brand-600);
	--mf-radius: var(--r-lg);

	--mfm-primary: var(--brand-600);
	--mfm-radius: var(--r-lg);
	--mfm-radius-sm: var(--r-sm);
	--mfm-radius-lg: var(--r-xl);
	--mfm-bg: var(--surface);
	--mfm-bg-soft: var(--surface-2);
	--mfm-text: var(--ink);
	--mfm-text-sub: var(--muted);
	--mfm-border: var(--line);
	--mfm-border-soft: var(--line);
	--mfm-input-bg: var(--surface-2);
	--mfm-primary-soft: color-mix(in srgb, var(--brand-600) 10%, transparent);
	--mfm-ok: var(--success);
	--mfm-warn: var(--warning);
	--mfm-danger: var(--danger);
	--mfm-shadow: var(--sh-sm);
	--mfm-shadow-hover: var(--sh-md);
}

html[data-theme="dark"] {
	--mfm-bg: var(--surface);
	--mfm-bg-soft: var(--surface-2);
	--mfm-text: var(--ink);
	--mfm-text-sub: var(--muted);
	--mfm-border: var(--line);
	--mfm-border-soft: var(--line);
	--mfm-input-bg: var(--surface-2);
	--mfm-primary-soft: color-mix(in srgb, var(--brand-400) 18%, transparent);
	--mfm-ok: var(--success);
	--mfm-warn: var(--warning);
	--mfm-danger: var(--danger);
}

/* ==========================================================================
   2. 外壳 / 两栏布局 / 侧栏导航
   ========================================================================== */
.mf-member-page { color: var(--ink); }

/* page.php 已用 .container 限宽；插件外卡透明化。
   注意：不可使用 overflow:hidden —— 会破坏左栏 position:sticky。 */
.mf-member-page .mfm-page-wrap,
.mf-member-page .mfm-user-center-wrap {
	max-width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

/* 内容主卡：插件默认（.mfm-page-wrap .mfm-form-wrap）为无边框透明，这里改为 LUMEN 卡 */
.mf-member-page .mfm-page-wrap .mfm-form-wrap {
	max-width: 100%;
	margin: 0;
	padding: clamp(22px, 2.6vw, 34px);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-xl);
	box-shadow: var(--sh-sm);
	color: var(--ink);
}
.mf-member-page .mfm-form-wrap h2 {
	font-family: var(--font-display);
	letter-spacing: -.01em;
	color: var(--ink);
}

/* 两栏：左导航 + 右内容 */
.mf-member-page .mfm-member-layout {
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	gap: clamp(20px, 2.6vw, 32px);
	align-items: start;
}
.mf-member-page .mfm-member-side {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	flex: none;
	width: auto;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 12px;
	box-shadow: var(--sh-xs);
}
.mf-member-page .mfm-member-side .mfm-user-nav {
	position: static;
	top: auto;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 3px;
	padding: 0;
	border: 0;
	background: transparent;
}
.mf-member-page .mfm-member-main { min-width: 0; }

/* 侧栏导航项：对齐 LUMEN .acc-nav a */
.mf-member-page .mfm-member-side .mfm-nav-item,
.mf-member-page .mfm-user-nav .mfm-nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: 0;
	border-radius: var(--r-sm);
	font-size: .92rem;
	font-weight: 500;
	color: var(--ink-2);
	transition: .22s var(--ease);
}
.mf-member-page .mfm-member-side .mfm-nav-item:hover,
.mf-member-page .mfm-user-nav .mfm-nav-item:hover {
	background: var(--brand-50);
	color: var(--brand-700);
}
.mf-member-page .mfm-member-side .mfm-nav-item.is-active,
.mf-member-page .mfm-user-nav .mfm-nav-item.is-active {
	background: var(--brand-600);
	color: #fff;
	font-weight: 600;
	box-shadow: var(--sh-brand);
}
.mf-member-page .mfm-member-side .mfm-nav-item.is-active .mfm-badge,
.mf-member-page .mfm-member-side .mfm-nav-item.is-active .mfm-badge { background: rgba(255,255,255,.24); color: #fff; }
.mf-member-page .mfm-member-side .mfm-nav-item.is-quit,
.mf-member-page .mfm-user-nav .mfm-nav-item.is-quit {
	margin-top: 6px;
	padding-top: 15px;
	border-top: 1px solid var(--line);
	border-radius: 0 0 var(--r-sm) var(--r-sm);
	color: var(--muted);
}
.mf-member-page .mfm-member-side .mfm-nav-item.is-quit:hover {
	background: color-mix(in srgb, var(--danger) 10%, transparent);
	color: var(--danger);
}
.mf-member-page .mfm-nav-item .mfm-badge {
	margin-left: auto;
	background: var(--brand-600);
	color: #fff;
	border-radius: var(--r-full);
	font-style: normal;
}

/* 顶部横向导航（未生成两栏时，如未登录的优惠券页） */
.mf-member-page .mfm-user-nav {
	background: transparent;
	border: 0;
	padding: 0 0 6px;
	gap: 8px;
}

/* ==========================================================================
   3. 页头 / 标题
   ========================================================================== */
.mf-member-page .mfm-page-head { margin: 0 0 22px; }
/* 主题 .acc-hero 已渲染页面大标题，隐藏插件内部重复标题（保留支付结果 .is-center） */
.mf-member-page .mfm-page-head:not(.is-center) > h1,
.mf-member-page .mfm-page-head:not(.is-center) > h2 { display: none; }
.mf-member-page .mfm-page-head h1,
.mf-member-page .mfm-page-head h2 {
	font-family: var(--font-display);
	letter-spacing: -.015em;
	color: var(--ink);
}
.mf-member-page .mfm-page-head.is-center { text-align: center; }
.mf-member-page .mfm-page-desc,
.mf-member-page .mfm-form-tip {
	color: var(--muted);
	font-size: .92rem;
	text-align: left;
}
.mf-member-page .mfm-page-head.is-center .mfm-form-tip,
.mf-member-page .mfm-page-head.is-center .mfm-page-desc,
.mf-member-page .mfm-form-tip.is-center { text-align: center; }

.mf-member-page .mfm-section-title {
	margin: 0 0 16px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--line);
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--ink);
}
.mf-member-page .mfm-page-wrap .mfm-section-title { padding: 0 0 12px; }
.mf-member-page .mfm-section-title:not(:first-child) { margin-top: 8px; }

/* ==========================================================================
   4. 卡片 / 分区
   ========================================================================== */
.mf-member-page .mfm-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: clamp(18px, 2vw, 24px);
	margin-bottom: 20px;
}
.mf-member-page .mfm-safe-section { margin-bottom: 22px; }
.mf-member-page .mfm-safe-section h3 {
	margin: 0 0 16px;
	padding-left: 12px;
	border-left: 3px solid var(--brand-500);
	font-family: var(--font-display);
	font-size: 1.02rem;
	line-height: 1.4;
}

/* ==========================================================================
   5. 表单 / 控件 / 按钮
   ========================================================================== */
.mf-member-page .mfm-item { margin-bottom: 1.05rem; }
.mf-member-page .mfm-item label { color: var(--ink-2); font-weight: 600; font-size: .88rem; }
.mf-member-page .mfm-item input:not([type="checkbox"]),
.mf-member-page .mfm-item textarea,
.mf-member-page .mfm-item select {
	background: var(--surface-2);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-md);
	color: var(--ink);
}
.mf-member-page .mfm-item input:focus,
.mf-member-page .mfm-item textarea:focus,
.mf-member-page .mfm-item select:focus {
	border-color: var(--brand-400);
	box-shadow: 0 0 0 4px rgba(23,174,180,.14);
	background: var(--surface);
}
.mf-member-page .mfm-item input::placeholder,
.mf-member-page .mfm-item textarea::placeholder { color: var(--muted-2); }
.mf-member-page .mfm-check { color: var(--ink-2); }
.mf-member-page .mfm-check a { color: var(--brand-600); }

.mf-member-page .mfm-options label { color: var(--ink-2); }
.mf-member-page .mfm-avatar-preview {
	border: 2px solid var(--surface);
	box-shadow: 0 0 0 2px var(--brand-200), var(--sh-sm);
	background: var(--surface-3);
}
.mf-member-page .mfm-post-form-cover { color: var(--muted); }

/* 密码强度条 */
.mf-member-page .mfm-pwd-meter { background: var(--surface-3); }
.mf-member-page .mfm-pwd-level { color: var(--muted); }
.mf-member-page .mfm-pwd-meter i.lv-1 { background: var(--danger); }
.mf-member-page .mfm-pwd-meter i.lv-2 { background: var(--amber-500); }
.mf-member-page .mfm-pwd-meter i.lv-3 { background: var(--success); }
.mf-member-page .mfm-pwd-meter i.lv-4 { background: var(--brand-500); }

/* 主按钮：对齐 LUMEN .btn--primary */
.mfm-submit {
	border-radius: var(--r-full);
	background: linear-gradient(135deg, var(--brand-500), var(--brand-700));
	color: #fff;
	box-shadow: var(--sh-brand);
	font-weight: 600;
	letter-spacing: .01em;
}
.mfm-submit:hover { filter: none; background: linear-gradient(135deg, var(--brand-400), var(--brand-600)); }
.mfm-submit[disabled] { opacity: .6; box-shadow: none; }

/* 次按钮：LUMEN ghost */
.mfm-btn-alt {
	border: 1px solid var(--line-strong);
	border-radius: var(--r-full);
	background: var(--surface);
	color: var(--ink-2);
	font-weight: 600;
	transition: .2s var(--ease);
}
.mfm-btn-alt:hover { background: var(--brand-50); border-color: var(--brand-300); color: var(--brand-700); }
.mfm-btn-alt[disabled] { opacity: .55; }

.mf-member-page .mfm-link { color: var(--brand-600); font-weight: 600; }
.mf-member-page .mfm-link.is-danger { color: var(--danger); }
.mf-member-page .mfm-link.mfm-back { color: var(--muted); font-weight: 500; }

/* ==========================================================================
   6. 提示信息 / 徽章 / 状态
   ========================================================================== */
.mfm-msg { border-radius: var(--r-sm); font-size: .88rem; }
.mfm-msg.is-error { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }
.mfm-msg.is-success { background: color-mix(in srgb, var(--success) 12%, transparent); color: var(--success); }
.mfm-msg.is-info { background: var(--brand-50); color: var(--brand-700); }

.mf-member-page .mfm-status,
.mfm-status {
	display: inline-block;
	padding: 3px 12px;
	border-radius: var(--r-full);
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.6;
	background: var(--surface-3);
	color: var(--muted);
	white-space: nowrap;
}
.mfm-status.is-pending { background: var(--amber-100); color: var(--amber-700); }
.mfm-status.is-paid,
.mfm-status.is-completed,
.mfm-status.is-publish { background: color-mix(in srgb, var(--success) 14%, transparent); color: var(--success); }
.mfm-status.is-closed,
.mfm-status.is-cancelled,
.mfm-status.is-refund,
.mfm-status.is-refunded { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }
.mfm-status.is-draft { background: var(--surface-3); color: var(--muted-2); }

.mf-member-page .mfm-tag-vip { background: var(--amber-100); color: var(--amber-700); }
.mf-member-page .mfm-tag-free { background: color-mix(in srgb, var(--success) 14%, transparent); color: var(--success); }
.mf-member-page .mfm-tag.is-default {
	background: var(--brand-50);
	color: var(--brand-700);
	border-radius: var(--r-full);
	font-weight: 600;
}

/* ==========================================================================
   7. 钱包
   ========================================================================== */
.mf-member-page .mfm-wallet-head {
	position: relative;
	overflow: hidden;
	margin: 0 0 18px;
	padding: clamp(22px, 2.6vw, 30px);
	border: 1px solid rgba(255,255,255,.09);
	border-radius: var(--r-xl);
	background: linear-gradient(150deg, var(--night-800), var(--night-950) 58%, var(--brand-900));
	color: #fff;
	box-shadow: var(--sh-lg);
}
.mf-member-page .mfm-wallet-head::after {
	content: "";
	position: absolute;
	width: 340px; height: 340px; border-radius: 50%;
	background: radial-gradient(circle, rgba(23,174,180,.42), transparent 66%);
	top: -170px; right: -90px;
}
.mf-member-page .mfm-wallet-head > * { position: relative; z-index: 2; }
.mf-member-page .mfm-wallet-head .mfm-label { color: rgba(255,255,255,.7); font-size: .82rem; letter-spacing: .04em; }
.mf-member-page .mfm-wallet-balance {
	font-family: var(--font-display);
	font-size: clamp(1.9rem, 4vw, 2.4rem);
	font-weight: 600;
	line-height: 1.25;
	color: #fff;
}
.mf-member-page .mfm-wallet-balance small { font-size: .9rem; font-weight: 400; opacity: .8; }
.mf-member-page .mfm-wallet-mini {
	display: flex;
	gap: 26px;
	flex-wrap: wrap;
	align-items: baseline;
	padding: 12px 16px;
	margin: 0 0 16px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--r-md);
}
.mf-member-page .mfm-wallet-mini b { font-family: var(--font-mono); font-size: 1.15rem; color: #fff; }
.mf-member-page .mfm-wallet-mini span { color: rgba(255,255,255,.72); }
.mf-member-page .mfm-wallet-recharge { margin: 0 0 6px; }

.mf-member-page .mfm-recharge-list { gap: 10px; }
.mf-member-page .mfm-recharge-btn {
	padding: 10px 20px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-full);
	background: var(--surface);
	color: var(--ink-2);
	font-weight: 600;
}
.mf-member-page .mfm-recharge-btn:hover { border-color: var(--brand-400); color: var(--brand-600); }
.mf-member-page .mfm-recharge-btn.is-active {
	border-color: var(--brand-500);
	background: var(--brand-50);
	color: var(--brand-700);
}
.mf-member-page .mfm-wallet-logs td.is-in { color: var(--success); font-weight: 600; }
.mf-member-page .mfm-wallet-logs td.is-out { color: var(--danger); }

/* ==========================================================================
   8. 会员订阅（VIP）
   ========================================================================== */
.mf-member-page .mfm-vip-status {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0 0 20px;
	padding: 18px 22px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--r-lg);
	background: linear-gradient(150deg, var(--night-800), var(--night-950) 60%, var(--brand-900));
	color: #fff;
	box-shadow: var(--sh-md);
}
.mf-member-page .mfm-vip-status::before { content: none; }
.mf-member-page .mfm-vip-status.is-on { border-color: rgba(244,168,58,.5); }
.mf-member-page .mfm-vip-tag {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: var(--r-full);
	font-size: .8rem;
	font-weight: 700;
	background: rgba(255,255,255,.12);
	color: #fff;
}
.mf-member-page .mfm-vip-tag.is-on {
	background: linear-gradient(135deg, var(--amber-400), var(--amber-600));
	color: #2A1600;
	box-shadow: var(--sh-amber);
}
.mf-member-page .mfm-vip-expire { color: rgba(255,255,255,.78); font-size: .86rem; }

.mf-member-page .mfm-vip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; padding: 0; }
.mf-member-page .mfm-vip-card {
	position: relative;
	padding: 22px 20px;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--surface);
	text-align: center;
	transition: .3s var(--ease-out);
}
.mf-member-page .mfm-vip-card:hover { transform: translateY(-4px); box-shadow: var(--sh-md); border-color: var(--brand-200); }
.mf-member-page .mfm-vip-card.is-current { border-color: var(--brand-400); box-shadow: 0 0 0 3px rgba(23,174,180,.16); }
.mf-member-page .mfm-vip-card h3,
.mf-member-page .mfm-vip-card h4 {
	margin: 0 0 10px;
	font-family: var(--font-display);
	font-size: 1.08rem;
	color: var(--ink);
}
.mf-member-page .mfm-vip-price { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin: 8px 0 4px; }
.mf-member-page .mfm-vip-price b { font-family: var(--font-display); font-size: 1.7rem; font-weight: 600; color: var(--amber-700); }
.mf-member-page .mfm-vip-price del,
.mf-member-page .mfm-vip-price small { color: var(--muted-2); font-size: .85rem; font-weight: 400; }
.mf-member-page .mfm-vip-duration { text-align: center; color: var(--muted); font-size: .82rem; }
.mf-member-page .mfm-vip-desc { text-align: center; color: var(--muted); font-size: .85rem; margin: 10px 0 14px; line-height: 1.6; }
.mf-member-page .mfm-vip-card .mfm-submit {
	width: 100%;
	margin-top: 12px;
	background: linear-gradient(135deg, var(--amber-400), var(--amber-600));
	color: #2A1600;
	box-shadow: var(--sh-amber);
}
.mf-member-page .mfm-vip-card .mfm-submit:hover { background: linear-gradient(135deg, var(--amber-300), var(--amber-500)); }
.mf-member-page .mfm-sale-tag {
	position: absolute;
	top: 12px; right: 12px;
	padding: 2px 10px;
	border-radius: var(--r-full);
	background: var(--amber-500);
	color: #2A1600;
	font-size: .72rem;
	font-weight: 700;
	font-style: normal;
}
/* 权益说明（模板使用 span，插件旧版为 div，一并兼容） */
.mf-member-page .mfm-vip-notes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 12px;
	margin: 20px 0 6px;
}
.mf-member-page .mfm-vip-notes > span,
.mf-member-page .mfm-vip-notes > div {
	display: block;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	padding: 14px;
	text-align: center;
	font-size: .85rem;
	color: var(--muted);
}

/* ==========================================================================
   9. 订单 / 步骤条
   ========================================================================== */
.mf-member-page .mfm-order-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 4px;
	border-bottom: 1px solid var(--line);
}
.mf-member-page .mfm-order-item:last-child { border-bottom: 0; }
.mf-member-page .mfm-order-thumb {
	flex: 0 0 56px; width: 56px; height: 56px;
	border-radius: var(--r-sm);
	object-fit: cover;
	background: var(--surface-3);
}
.mf-member-page .mfm-order-main .mfm-order-title { color: var(--ink); font-weight: 600; }
.mf-member-page .mfm-order-main .mfm-order-title:hover { color: var(--brand-600); }
.mf-member-page .mfm-order-main .mfm-order-meta { color: var(--muted); }
.mf-member-page .mfm-order-amount { font-family: var(--font-mono); color: var(--amber-700); }

.mf-member-page .mfm-steps { margin: 6px 0 24px; }
.mf-member-page .mfm-step { color: var(--muted-2); }
.mf-member-page .mfm-step::before { background: var(--line); }
.mf-member-page .mfm-step-dot { background: var(--surface-3); color: var(--muted); }
.mf-member-page .mfm-step.is-done { color: var(--ink-2); }
.mf-member-page .mfm-step.is-done .mfm-step-dot { background: var(--brand-600); color: #fff; box-shadow: var(--sh-brand); }
.mf-member-page .mfm-step.is-done::before { background: var(--brand-400); }

.mf-member-page .mfm-filter-tabs { padding: 0 0 16px; gap: 8px; }
.mf-member-page .mfm-filter-tabs a {
	padding: 7px 15px;
	border: 1px solid var(--line);
	border-radius: var(--r-full);
	background: var(--surface);
	color: var(--ink-2);
	font-weight: 500;
}
.mf-member-page .mfm-filter-tabs a:hover { border-color: var(--brand-300); color: var(--brand-600); background: var(--brand-50); }
.mf-member-page .mfm-filter-tabs a.is-active { background: var(--brand-600); border-color: var(--brand-600); color: #fff; }

/* ==========================================================================
   10. 结算 / 支付页
   ========================================================================== */
.mf-member-page .mfm-buy-grid { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); }
.mf-member-page .mfm-buy-summary,
.mf-member-page .mfm-buy-pay {
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: clamp(20px, 2.2vw, 26px);
}
.mf-member-page .mfm-buy-summary > .mfm-section-title,
.mf-member-page .mfm-buy-pay > .mfm-section-title { margin-top: 0; }

.mf-member-page .mfm-buy-table td {
	padding: 10px 0;
	border-bottom: 1px dashed var(--line);
	color: var(--muted);
}
.mf-member-page .mfm-buy-table tr:last-child td { border-bottom: 0; }
.mf-member-page .mfm-buy-table td:last-child { color: var(--ink); font-weight: 600; }
.mf-member-page .mfm-buy-table code {
	background: var(--surface-3);
	color: var(--ink-2);
	border-radius: var(--r-xs);
	padding: 2px 8px;
}
.mf-member-page .mfm-buy-table .is-discount td:last-child { color: var(--success); }
.mf-member-page .mfm-buy-table .is-amount td:last-child {
	font-family: var(--font-display);
	font-size: 1.3rem;
	color: var(--amber-700);
	font-weight: 600;
}

.mf-member-page .mfm-coupon-row { margin-top: 14px; }
.mf-member-page .mfm-coupon-row input {
	border: 1px solid var(--line-strong);
	border-radius: var(--r-md);
	background: var(--surface);
	color: var(--ink);
}
.mf-member-page .mfm-coupon-row input:focus { border-color: var(--brand-400); box-shadow: 0 0 0 4px rgba(23,174,180,.14); outline: none; }

.mf-member-page .mfm-pay-result-ico { font-size: 3rem; }

.mf-member-page .mfm-gateway {
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--surface);
	cursor: pointer;
	transition: .2s var(--ease);
}
.mf-member-page .mfm-gateway:hover { border-color: var(--brand-300); }
.mf-member-page .mfm-gateway input { accent-color: var(--brand-600); }
.mf-member-page .mfm-gateway:has(input:checked) {
	border-color: var(--brand-400);
	background: var(--brand-50);
	box-shadow: 0 0 0 3px rgba(23,174,180,.16);
}
.mf-member-page .mfm-gateway .mfm-gateway-name { font-weight: 600; color: var(--ink); }
.mf-member-page .mfm-gateway .mfm-gateway-note { color: var(--muted); font-size: .84rem; margin-left: auto; }
.mf-member-page .mfm-gateway.is-disabled { opacity: .55; background: var(--surface-2); cursor: not-allowed; }

.mf-member-page .mfm-submit.mfm-pay-go-btn {
	width: 100%;
	padding: 14px;
	font-size: 1.02rem;
	background: linear-gradient(135deg, var(--amber-400), var(--amber-600));
	color: #2A1600;
	box-shadow: var(--sh-amber);
}
.mf-member-page .mfm-submit.mfm-pay-go-btn:hover { background: linear-gradient(135deg, var(--amber-300), var(--amber-500)); }

.mf-member-page .mfm-ship-card {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px 16px;
	border-radius: var(--r-md);
	background: var(--surface-2);
	border: 1px solid var(--line);
	margin-bottom: 12px;
}
.mf-member-page .mfm-ship-card .mfm-ship-title { color: var(--ink); }
.mf-member-page .mfm-ship-card .mfm-ship-desc { color: var(--muted); }

/* ==========================================================================
   11. 优惠券
   ========================================================================== */
.mf-member-page .mfm-coupon-grid { gap: 16px; }
.mf-member-page .mfm-coupon-card {
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--surface);
}
.mf-member-page .mfm-coupon-card:hover { box-shadow: var(--sh-md); border-color: var(--brand-200); }
.mf-member-page .mfm-coupon-value {
	background: linear-gradient(140deg, var(--amber-400), var(--amber-600));
	color: #2A1600;
}
.mf-member-page .mfm-coupon-value b { font-family: var(--font-display); font-weight: 600; }
.mf-member-page .mfm-coupon-info .mfm-coupon-name { color: var(--ink); }
.mf-member-page .mfm-coupon-info .mfm-coupon-date,
.mf-member-page .mfm-coupon-info .mfm-coupon-code { color: var(--muted); }
.mf-member-page .mfm-coupon-btn {
	border: 1px solid var(--brand-500);
	color: var(--brand-600);
	background: transparent;
	border-radius: var(--r-full);
	font-weight: 600;
}
.mf-member-page .mfm-coupon-btn:hover { background: var(--brand-50); }
.mf-member-page .mfm-coupon-btn.is-cta { background: var(--brand-600); border-color: var(--brand-600); color: #fff; }
.mf-member-page .mfm-coupon-btn.is-cta:hover { background: var(--brand-500); }
.mf-member-page .mfm-coupon-card.is-used::after { background: var(--muted-2); }

/* ==========================================================================
   12. 收货地址
   ========================================================================== */
.mf-member-page .mfm-addr-list { gap: 16px; }
.mf-member-page .mfm-addr-card {
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--surface);
}
.mf-member-page .mfm-addr-card:hover { box-shadow: var(--sh-sm); border-color: var(--brand-200); }
.mf-member-page .mfm-addr-card.is-default { border-color: var(--brand-400); background: var(--brand-50); }
.mf-member-page .mfm-addr-card-head b { color: var(--ink); }
.mf-member-page .mfm-addr-phone,
.mf-member-page .mfm-addr-detail { color: var(--muted); }
.mf-member-page .mfm-addr-card-actions { border-top: 1px dashed var(--line); }
.mf-member-page .mfm-addr-form {
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: clamp(18px, 2vw, 24px);
}

/* ==========================================================================
   13. 消息中心
   ========================================================================== */
.mf-member-page .mfm-msg-list,
.mf-member-page .mfm-user-list { padding: 0; }
.mf-member-page .mfm-msg-row {
	padding: 14px 8px;
	border-bottom: 1px solid var(--line);
	color: var(--ink-2);
	border-radius: var(--r-sm);
}
.mf-member-page .mfm-msg-row:hover { background: var(--surface-2); }
.mf-member-page .mfm-msg-row.is-unread .mfm-msg-title { color: var(--ink); font-weight: 600; }
.mf-member-page .mfm-msg-row.is-unread .mfm-msg-title::after {
	background: var(--brand-600);
	color: #fff;
	border-radius: var(--r-full);
}
.mf-member-page .mfm-msg-time { color: var(--muted-2); }
.mf-member-page .mfm-msg-bubble {
	background: var(--surface-3);
	color: var(--ink);
	border-radius: var(--r-md);
}
.mf-member-page .mfm-msg-item.is-mine .mfm-msg-bubble { background: var(--brand-600); color: #fff; }
.mf-member-page .mfm-msg-send-row textarea {
	background: var(--surface-2);
	border: 1px solid var(--line-strong);
	border-radius: var(--r-md);
	color: var(--ink);
}
.mf-member-page .mfm-msg-send-row textarea:focus { border-color: var(--brand-400); box-shadow: 0 0 0 4px rgba(23,174,180,.14); outline: none; }
.mf-member-page .mfm-msg-send-row button { border-radius: var(--r-full); }

/* ==========================================================================
   14. 关注 / 粉丝
   ========================================================================== */
.mf-member-page .mfm-user-row { border-bottom: 1px solid var(--line); padding: 12px 6px; }
.mf-member-page .mfm-user-row:last-child { border-bottom: 0; }
.mf-member-page .mfm-user-row-avatar img { background: var(--surface-3); }
.mf-member-page .mfm-user-row-info { color: var(--ink-2); }
.mf-member-page .mfm-follow-btn {
	border: 1px solid var(--brand-600);
	border-radius: var(--r-full);
	background: var(--brand-600);
	color: #fff;
	font-weight: 600;
}
.mf-member-page .mfm-follow-btn:hover { background: var(--brand-500); border-color: var(--brand-500); filter: none; }
.mf-member-page .mfm-follow-btn.is-on { background: var(--surface-3); border-color: var(--line); color: var(--muted); }

/* ==========================================================================
   15. 投稿 / 表格
   ========================================================================== */
.mf-member-page .mfm-login-log-table { font-size: .88rem; }
.mf-member-page .mfm-login-log-table th,
.mf-member-page .mfm-login-log-table td {
	border-bottom: 1px solid var(--line);
	padding: 12px 10px;
	color: var(--ink-2);
}
.mf-member-page .mfm-login-log-table th {
	color: var(--muted);
	font-weight: 500;
	background: var(--surface-2);
}
.mf-member-page .mfm-table-scroll .mfm-login-log-table { min-width: 560px; }

/* ==========================================================================
   16. 个人资料 / 账号安全
   ========================================================================== */
.mf-member-page .mfm-avatar-row { margin-bottom: 1.2rem; }
.mf-member-page .mfm-log-list { max-height: 340px; }
.mf-member-page .mfm-log-item {
	padding: 10px 0;
	border-bottom: 1px dashed var(--line);
	color: var(--muted);
}
.mf-member-page .mfm-log-item b { color: var(--ink-2); }
.mf-member-page .mfm-log-ip { color: var(--brand-600); font-family: var(--font-mono); }
.mf-member-page .mfm-log-ua { color: var(--muted-2); }

/* ==========================================================================
   17. 购物车
   ========================================================================== */
.mf-member-page .mfm-page-wrap.mfm-cart-page { background: transparent; }
.mf-member-page .mfm-page-wrap.mfm-cart-page .mfm-form-wrap {
	max-width: 100%;
	margin: 0;
	padding: clamp(22px, 2.6vw, 34px);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-xl);
	box-shadow: var(--sh-sm);
}
.mf-member-page .mfm-cart-list { margin-bottom: 6px; }
.mf-member-page .mfm-cart-item { padding: 16px 2px; border-bottom: 1px solid var(--line); }
.mf-member-page .mfm-cart-thumb {
	border-radius: var(--r-md);
	background: var(--surface-3);
	border: 1px solid var(--line);
	color: var(--brand-600);
	font-family: var(--font-display);
}
.mf-member-page .mfm-cart-title { color: var(--ink); font-weight: 600; }
.mf-member-page .mfm-cart-title:hover { color: var(--brand-600); }
.mf-member-page .mfm-cart-price { color: var(--amber-700); font-family: var(--font-mono); }
.mf-member-page .mfm-cart-remove {
	border: 1px solid var(--line);
	border-radius: var(--r-full);
	background: var(--surface);
	color: var(--muted);
}
.mf-member-page .mfm-cart-remove:hover { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 40%, transparent); background: color-mix(in srgb, var(--danger) 8%, transparent); }
.mf-member-page .mfm-cart-foot { border-top: 1px solid var(--line); padding-top: 18px; }
.mf-member-page .mfm-cart-foot-info { color: var(--muted); font-size: .94rem; }
.mf-member-page .mfm-cart-total { color: var(--amber-700); font-family: var(--font-display); font-size: 1.3rem; }
.mf-member-page .mfm-cart-foot-actions { display: flex; gap: 10px; }
.mf-member-page #mfm-cart-checkout {
	width: auto;
	min-width: 150px;
	background: linear-gradient(135deg, var(--amber-400), var(--amber-600));
	color: #2A1600;
	box-shadow: var(--sh-amber);
}
.mf-member-page #mfm-cart-checkout:hover { background: linear-gradient(135deg, var(--amber-300), var(--amber-500)); }
.mfm-cart-checkout,
.mfm-cart-submit { border-radius: var(--r-full); }

/* ==========================================================================
   18. 用户中心资产速览
   ========================================================================== */
.mf-member-page .mfm-asset-grid { gap: 16px; }
.mf-member-page .mfm-asset-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 18px;
	transition: .3s var(--ease-out);
}
.mf-member-page .mfm-asset-card:hover { transform: translateY(-4px); box-shadow: var(--sh-md); border-color: var(--brand-200); }
.mf-member-page .mfm-asset-card b { font-family: var(--font-display); color: var(--ink); }
.mf-member-page .mfm-asset-card span { color: var(--muted); }

/* ==========================================================================
   19. 空态
   ========================================================================== */
.mf-member-page .mfm-empty,
.mfm-empty { text-align: center; color: var(--muted); padding: 36px 16px; }
.mf-member-page .mfm-empty-ico,
.mfm-empty-ico { font-size: 2.4rem; opacity: .9; }
.mfm-submit.mfm-empty-btn { width: auto; margin-top: 16px; padding: 11px 30px; }

/* ==========================================================================
   20. 商品 / 付费墙（付费内容页非 .mf-member-page，使用无前缀规则）
   ========================================================================== */
.mfm-product-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); }
.mfm-product-card:hover { box-shadow: var(--sh-md); border-color: var(--brand-200); }
.mfm-product-body h3 a { color: var(--ink); }
.mfm-product-body h3 a:hover { color: var(--brand-600); }
.mfm-product-body .mfm-product-price b { color: var(--amber-700); font-family: var(--font-display); font-weight: 600; }
.mfm-product-price { color: var(--amber-700); }
.mfm-product-thumb { background: var(--surface-3); }
.mfm-sale-tag { background: var(--amber-500); }
.mfm-owned-tag { background: var(--success); }
.mfm-cat-item { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-full); color: var(--ink-2); }
.mfm-cat-item:hover { border-color: var(--brand-400); color: var(--brand-600); }
.mfm-cat-item.is-active { background: var(--brand-600); border-color: var(--brand-600); color: #fff; }
.mfm-cat-tag { background: var(--brand-50); color: var(--brand-600); }
.mfm-cat-tag:hover { background: var(--brand-600); color: #fff; }
.mfm-purchased-tip { color: var(--success); }

.mfm-paywall {
	max-width: 520px;
	margin: 2rem auto;
	padding: 2.4rem 2rem;
	border-radius: var(--r-xl);
	background: var(--surface);
	border: 1px dashed var(--line-strong);
	box-shadow: var(--sh-sm);
}
.mfm-paywall-title { color: var(--ink); font-family: var(--font-display); }
.mfm-paywall-price { color: var(--muted); }
.mfm-paywall-price b { color: var(--amber-700); font-family: var(--font-display); }
.mfm-product-box {
	max-width: 520px;
	border-radius: var(--r-xl);
	background: var(--surface);
	border: 1px solid var(--line);
	box-shadow: var(--sh-sm);
}

/* ==========================================================================
   21. 响应式
   ========================================================================== */
@media (max-width: 1199px) {
	.mf-member-page .mfm-buy-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 960px) {
	.mf-member-page .mfm-member-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
	.mf-member-page .mfm-member-side {
		position: static;
		padding: 10px;
	}
	.mf-member-page .mfm-member-side .mfm-user-nav {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
	}
	.mf-member-page .mfm-member-side .mfm-nav-item.is-quit { margin-top: 0; padding-top: 12px; border-top: 0; border-radius: var(--r-sm); }
}
@media (max-width: 767px) {
	.mf-member-page .mfm-vip-grid,
	.mf-member-page .mfm-coupon-grid,
	.mf-member-page .mfm-addr-list { grid-template-columns: minmax(0,1fr); }
	.mf-member-page .mfm-vip-notes { grid-template-columns: minmax(0,1fr); }
	.mf-member-page .mfm-page-head h1,
	.mf-member-page .mfm-page-head h2 { font-size: 1.3rem; }
	.mf-member-page .mfm-order-item { flex-wrap: wrap; }
	.mf-member-page .mfm-coupon-card { flex-wrap: wrap; }
	.mf-member-page .mfm-coupon-value { flex-basis: 110px; }
	.mf-member-page .mfm-coupon-action { width: 100%; padding: 0 14px 12px; }
	.mf-member-page .mfm-cart-foot { flex-direction: column; align-items: stretch; }
	.mf-member-page .mfm-cart-foot-actions { display: flex; }
	.mf-member-page .mfm-cart-foot-actions .mfm-btn-alt,
	.mf-member-page #mfm-cart-checkout { flex: 1; }
	.mf-member-page .mfm-form-actions { flex-direction: column-reverse; }
	.mf-member-page .mfm-form-actions .mfm-submit { width: 100%; }
	.mf-member-page .mfm-page-wrap .mfm-form-wrap,
	.mf-member-page .mfm-page-wrap.mfm-cart-page .mfm-form-wrap { padding: 20px 16px; }
}
@media (max-width: 600px) {
	.mf-member-page .mfm-cart-item { flex-wrap: wrap; }
	.mf-member-page .mfm-cart-remove { margin-left: 74px; }
}

/* 防止横向溢出 */
.mf-member-page .mfm-member-main,
.mf-member-page .mfm-buy-summary,
.mf-member-page .mfm-buy-pay,
.mf-member-page .mfm-order-main { min-width: 0; }

/* ==========================================================================
   22. 暗色模式覆盖（前缀+data-theme 提升优先级，胜过插件暗色规则）
   ========================================================================== */
html[data-theme="dark"] .mf-member-page .mfm-page-wrap,
html[data-theme="dark"] .mf-member-page .mfm-user-center-wrap {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}
html[data-theme="dark"] .mf-member-page .mfm-member-side {
	background: var(--surface);
	border: 1px solid var(--line);
}
html[data-theme="dark"] .mf-member-page .mfm-member-side .mfm-nav-item,
html[data-theme="dark"] .mf-member-page .mfm-user-nav .mfm-nav-item { color: var(--ink-2); }
html[data-theme="dark"] .mf-member-page .mfm-member-side .mfm-nav-item:hover { background: var(--brand-50); color: var(--brand-200); }
html[data-theme="dark"] .mf-member-page .mfm-member-side .mfm-nav-item.is-active { background: var(--brand-600); color: #fff; }
html[data-theme="dark"] .mf-member-page .mfm-member-side .mfm-nav-item.is-quit:hover { background: color-mix(in srgb, var(--danger) 22%, transparent); color: var(--danger); }
html[data-theme="dark"] .mf-member-page .mfm-member-side .mfm-nav-item.is-quit { border-top-color: var(--line); }
html[data-theme="dark"] .mf-member-page .mfm-card,
html[data-theme="dark"] .mf-member-page .mfm-buy-summary,
html[data-theme="dark"] .mf-member-page .mfm-buy-pay,
html[data-theme="dark"] .mf-member-page .mfm-coupon-card,
html[data-theme="dark"] .mf-member-page .mfm-addr-card,
html[data-theme="dark"] .mf-member-page .mfm-asset-card,
html[data-theme="dark"] .mfm-product-card { background: var(--surface); }
html[data-theme="dark"] .mf-member-page .mfm-addr-form,
html[data-theme="dark"] .mf-member-page .mfm-vip-notes > span,
html[data-theme="dark"] .mf-member-page .mfm-vip-notes > div { background: var(--surface-2); }
html[data-theme="dark"] .mf-member-page .mfm-order-item,
html[data-theme="dark"] .mf-member-page .mfm-cart-item,
html[data-theme="dark"] .mf-member-page .mfm-buy-table td,
html[data-theme="dark"] .mf-member-page .mfm-addr-card-actions { border-color: var(--line); }
html[data-theme="dark"] .mf-member-page .mfm-step::before { background: var(--line); }
html[data-theme="dark"] .mf-member-page .mfm-step-dot { background: var(--surface-3); }
html[data-theme="dark"] .mf-member-page .mfm-step.is-done .mfm-step-dot,
html[data-theme="dark"] .mf-member-page .mfm-step.is-done::before { background: var(--brand-600); }
html[data-theme="dark"] .mf-member-page .mfm-login-log-table th { background: var(--surface-2); color: var(--muted); }
html[data-theme="dark"] .mf-member-page .mfm-login-log-table th,
html[data-theme="dark"] .mf-member-page .mfm-login-log-table td { border-bottom-color: var(--line); color: var(--ink-2); }
html[data-theme="dark"] .mf-member-page .mfm-order-main .mfm-order-title,
html[data-theme="dark"] .mf-member-page .mfm-cart-title,
html[data-theme="dark"] .mf-member-page .mfm-asset-card b,
html[data-theme="dark"] .mf-member-page .mfm-coupon-info .mfm-coupon-name,
html[data-theme="dark"] .mfm-product-body h3 a { color: var(--ink); }
html[data-theme="dark"] .mf-member-page .mfm-buy-table td:last-child { color: var(--ink); }
html[data-theme="dark"] .mf-member-page .mfm-ship-card { background: var(--surface-2); border-color: var(--line); }
html[data-theme="dark"] .mf-member-page .mfm-item input:focus,
html[data-theme="dark"] .mf-member-page .mfm-item textarea:focus { background: var(--surface-3); }