/* ================================================================
   企业版设计令牌 (Design Tokens) + 基础组件
   ----------------------------------------------------------------
   统一全站的颜色 / 圆角 / 间距 / 阴影 / 字号，让前台后台观感一致。
   用法：在页面 <head> 引入 <link rel="stylesheet" href="assets/css/enterprise.css">
   ================================================================ */
:root {
  /* 品牌色（蘑菇自然系 + 科技蓝） */
  --c-primary: #4a7c59;
  --c-primary-2: #5a9c6d;
  --c-accent: #4a7dff;
  --c-accent-2: #6a5acd;
  --c-warm: #e8a87c;
  --c-gold: #d4af37;
  --c-danger: #e53935;
  --c-success: #22a45d;
  --c-warning: #ff9800;

  /* 中性色 */
  --c-text: #1a1a2e;
  --c-text-sub: #6b7280;
  --c-text-mute: #9aa0b0;
  --c-bg: #f4f2ee;
  --c-surface: #ffffff;
  --c-border: rgba(20,20,40,0.08);

  /* 圆角 */
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-pill: 999px;

  /* 间距 */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px;

  /* 阴影 */
  --sh-1: 0 1px 3px rgba(20,20,40,0.06);
  --sh-2: 0 4px 16px rgba(20,20,40,0.08);
  --sh-3: 0 10px 34px rgba(20,20,40,0.12);

  /* 字号 */
  --fs-xs: 11px; --fs-sm: 13px; --fs-md: 15px; --fs-lg: 18px; --fs-xl: 22px;

  /* 动效 */
  --ease: cubic-bezier(0.32, 0.72, 0, 1);
}

/* ---------- 企业版卡片 ---------- */
.ent-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-2);
  padding: var(--sp-5);
  margin-bottom: var(--sp-4);
}
.ent-card-title {
  font-size: var(--fs-lg);
  font-weight: 800;
  color: var(--c-text);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-4);
  letter-spacing: 0.3px;
}

/* ---------- 企业版按钮 ---------- */
.ent-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 18px; border: none; border-radius: var(--r-md);
  font-size: var(--fs-md); font-weight: 700; cursor: pointer;
  transition: transform .15s var(--ease), box-shadow .15s var(--ease);
  text-decoration: none; white-space: nowrap;
}
.ent-btn:active { transform: scale(0.97); }
.ent-btn-primary { background: linear-gradient(135deg, var(--c-primary), var(--c-primary-2)); color: #fff; box-shadow: 0 4px 14px rgba(74,124,89,.28); }
.ent-btn-accent  { background: linear-gradient(135deg, var(--c-accent), var(--c-accent-2)); color: #fff; box-shadow: 0 4px 14px rgba(74,125,255,.28); }
.ent-btn-ghost   { background: rgba(255,255,255,.7); color: var(--c-text); border: 1px solid var(--c-border); }
.ent-btn-danger  { background: rgba(229,57,53,.1); color: var(--c-danger); border: 1px solid rgba(229,57,53,.25); }
.ent-btn-block   { width: 100%; }
.ent-btn:disabled { opacity: .55; cursor: not-allowed; }

/* ---------- 徽标 / 标签 ---------- */
.ent-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 9px; border-radius: var(--r-pill);
  font-size: var(--fs-xs); font-weight: 700;
}
.ent-badge-primary { background: rgba(74,124,89,.12); color: var(--c-primary); }
.ent-badge-accent  { background: rgba(74,125,255,.12); color: var(--c-accent); }
.ent-badge-gold    { background: linear-gradient(135deg, #f7e08a, var(--c-gold)); color: #5b4300; }
.ent-badge-danger  { background: rgba(229,57,53,.12); color: var(--c-danger); }

/* ---------- 输入 ---------- */
.ent-input {
  width: 100%; box-sizing: border-box; padding: 12px 14px;
  border: 1px solid rgba(150,160,190,.35); border-radius: var(--r-md);
  font-size: var(--fs-md); color: var(--c-text); background: #fff; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.ent-input:focus { border-color: var(--c-accent); box-shadow: 0 0 0 3px rgba(74,125,255,.12); }
.ent-label { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--c-text-sub); margin-bottom: 6px; }

/* ---------- 统一 Toast ---------- */
#entToastWrap { position: fixed; top: 24px; left: 50%; transform: translateX(-50%); z-index: 99999; display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; }
.ent-toast {
  background: rgba(20,20,30,.9); color: #fff; padding: 11px 22px; border-radius: var(--r-pill);
  font-size: var(--fs-sm); font-weight: 600; box-shadow: var(--sh-3);
  animation: entToastIn .25s var(--ease) both; max-width: 86vw; text-align: center;
}
.ent-toast.ok  { background: linear-gradient(135deg, var(--c-success), #2ebd72); }
.ent-toast.err { background: linear-gradient(135deg, var(--c-danger), #ff6b6b); }
@keyframes entToastIn { from { opacity: 0; transform: translateY(-10px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* ---------- 骨架屏 ---------- */
.ent-skeleton {
  background: linear-gradient(90deg, #eef0f4 25%, #f6f7fa 37%, #eef0f4 63%);
  background-size: 400% 100%;
  animation: entShimmer 1.3s ease infinite;
  border-radius: var(--r-md);
}
@keyframes entShimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }

/* ---------- 空状态 ---------- */
.ent-empty { text-align: center; padding: 56px 20px; color: var(--c-text-mute); }
.ent-empty-icon { font-size: 46px; margin-bottom: 12px; opacity: .8; }

/* ---------- 减少动态效果 ---------- */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ================================================================
   全局动画慢放（按需求把动画整体放慢一倍，对勾/过渡都更从容）
   ----------------------------------------------------------------
   · JS 里的 setTimeout 时长在 enterprise.js 里同步 ×2
   · 这里接管 CSS 动画/过渡时长：让原本 .3s 的变成 .6s 等
   · 用 !important 覆盖内联与页面级样式，保证全站统一
   ================================================================ */
:root {
  --ent-anim-scale: 2; /* 动画整体倍率：2 = 放慢一倍 */
}

/* 过渡整体放慢一倍 */
.ent-slow * ,
body.ent-slow-motion * {
  transition-duration: 0.6s !important;
}

/* 果冻打勾 / 打叉等关键反馈动画：慢速播放，能看清「逐渐打勾」的过程 */
.jelly-badge.jelly-ok    { animation-duration: 1.9s !important; }
.jelly-badge.jelly-err   { animation-duration: 1.7s !important; }
.jelly-ring              { animation-duration: 2.2s !important; }
.jelly-overlay,
.jelly-badge,
.jelly-text              { transition-duration: 0.6s !important; }

/* 步骤条进度：更缓 */
.step-line i             { transition-duration: 0.9s !important; }
.step-panel              { animation-duration: 1s !important; }

/* 各类扫光/脉冲也放慢，观感更柔和（不闪烁） */
@keyframes entSlowShimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}

@media (prefers-reduced-motion: reduce) {
  /* 尊重系统「减少动态效果」：保持快速，不慢放 */
  .ent-slow-motion *, .ent-slow * { transition-duration: 0.001ms !important; }
}

/* ================================================================
   身份头衔颜色（官方 / 代理 / 店长 / 用户）
   ----------------------------------------------------------------
   代理商头衔「代理」用独立配色（紫色系），与官方金色、店长绿色区分。
   ================================================================ */
.role-badge { display: inline-flex; align-items: center; gap: 3px; padding: 2px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .3px; }
.role-badge.admin { background: linear-gradient(135deg, #f7e08a, #d4af37); color: #5b4300; }
.role-badge.agent { background: linear-gradient(135deg, #c9b3ff, #7c5cff); color: #fff; box-shadow: 0 2px 8px rgba(124,92,255,.35); }
.role-badge.owner { background: linear-gradient(135deg, #8ff0c0, #22a45d); color: #04361f; }
.role-badge.user  { background: rgba(0,0,0,0.06); color: #999; }

/* 评论头衔中的代理配色 */
.cmt-role.agent { background: rgba(124,92,255,0.14); color: #7c5cff; }
/* 商品作者卡头衔中的代理配色 */
.author-tag.agent { background: linear-gradient(135deg, #c9b3ff, #7c5cff) !important; color: #fff !important; border: 1px solid rgba(124,92,255,.4) !important; box-shadow: 0 2px 8px rgba(124,92,255,.35) !important; }

/* ================================================================
   后台性能优化（缓解后台卡顿 / 降低功耗）
   ----------------------------------------------------------------
   · 后台是高频操作页，弱化大面积毛玻璃与持续动画
   · 用 will-change / transform 让过渡走 GPU，减少重排
   · 低端设备（prefers-reduced-transparency）直接关闭模糊
   ================================================================ */
body.admin-page .sidebar,
body.admin-page .topbar {
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
}
/* 后台内容过渡走合成层，滚动更顺 */
body.admin-page .card,
body.admin-page .sidebar-menu-item {
  will-change: transform, opacity;
  transform: translateZ(0);
}
/* 后台禁止无限循环动画（扫光/脉冲）持续占用 GPU */
body.admin-page * {
  animation-iteration-count: 1 !important;
}
/* 保持必要的入场动画可见（只跑一次） */
body.admin-page .sidebar,
body.admin-page .main-content { animation-iteration-count: 1 !important; }

@media (prefers-reduced-transparency: reduce) {
  body.admin-page .sidebar,
  body.admin-page .topbar,
  body.admin-page .card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}


/* ===== 收口：后台组件统一中性灰 + 单色蓝 ===== */
.ent-card{background:#fff!important;border:1px solid rgba(17,24,39,.08)!important;border-radius:14px!important;box-shadow:0 1px 2px rgba(17,24,39,.05)!important}
.ent-card-title{color:#111827!important;font-weight:700!important}
.ent-btn{border-radius:10px!important;font-weight:600!important;box-shadow:none!important}
.ent-btn-primary{background:#2f6bff!important;color:#fff!important}
.ent-btn-accent{background:#2f6bff!important;color:#fff!important}
.ent-btn-ghost{background:#fff!important;border:1px solid rgba(17,24,39,.14)!important;color:#1f2937!important}
.ent-btn-danger{background:#fff!important;color:#e5484d!important;border:1px solid rgba(229,72,77,.28)!important}
.ent-badge{border-radius:999px!important;font-weight:600!important}
.ent-badge-primary,.ent-badge-accent{background:rgba(47,107,255,.10)!important;color:#1d4ed8!important}
.ent-badge-gold{background:rgba(217,119,6,.12)!important;color:#b45309!important}
.ent-badge-danger{background:rgba(229,72,77,.10)!important;color:#be123c!important}
.ent-input{border:1px solid rgba(17,24,39,.14)!important;border-radius:10px!important}
.ent-input:focus{border-color:#2f6bff!important;box-shadow:0 0 0 3px rgba(47,107,255,.10)!important}
.ent-toast{border-radius:999px!important;font-weight:600!important}
.ent-toast.ok{background:#16a34a!important}
.ent-toast.err{background:#e5484d!important}


/* ==========================================================================
   全局 UI 收口（本文件由 bottom_nav.php / admin_header.php 在页面末尾加载，
   因此可以压过各页面 <head> 里的内联 <style>）
   风格：iOS 中性灰底 + 白卡 + 单色蓝 + 液态玻璃导航
   ========================================================================== */
:root{
  --g-bg:#f2f2f7; --g-surface:#fff; --g-soft:#f2f2f7; --g-soft2:#e9e9eb;
  --g-ink:#000; --g-text:#1c1c1e; --g-sub:#8e8e93; --g-mute:#c4c4c6;
  --g-line:rgba(60,60,67,.14); --g-line2:rgba(60,60,67,.20);
  --g-accent:#2f6bff; --g-accent-soft:rgba(47,107,255,.10);
  --g-danger:#ff3b30; --g-success:#34c759; --g-warn:#ff9500;
  --g-r:12px; --g-r-sm:10px;
  --g-shadow:0 0 0 .5px rgba(0,0,0,.04);
}
/* 全局渐变清零：任何残留的彩色渐变一律压平 */
.gradient,.grad,.bg-gradient,[class*="gradient"]{
  background-image:none!important;
}
/* 页面底色与字体 */
html,body,body.admin-page{
  background:var(--g-bg)!important;color:var(--g-text)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro SC","PingFang SC","Microsoft YaHei",sans-serif!important;
}
body{background-image:none!important}
/* 卡片统一 */
.card,.glass-card,.shop-card,.product-info,.stat-card,.admin-card,.panel,.box,.list-card,.form-card,
.order-card,.msg-card,.notice-card,.login-card,.auth-card,.tool-card,.fav-item,.admin-product-item,
.bg-manage-item,.report-item,.comment-item,.form-section,.setting-group,.config-block,.search-bar,
.filter-bar,.toolbar,.rank-item,.user-card,.menu-card{
  background:var(--g-surface)!important;background-image:none!important;
  border:none!important;box-shadow:var(--g-shadow)!important;
  border-radius:var(--g-r)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
/* 主按钮：纯蓝，无渐变 */
.btn-primary,.ent-btn-primary,.btn-buy,.btn-confirm,.submit-btn,.login-btn,.register-btn,.save-btn,
.checkin-btn,.boost-btn,.redeem-btn,.query-order-btn,.code-btn,.send-code-btn,.verify-btn,
button[type="submit"],input[type="submit"]{
  background:var(--g-accent)!important;background-image:none!important;color:#fff!important;
  border:none!important;border-radius:var(--g-r-sm)!important;box-shadow:none!important;font-weight:600!important;
}
.btn-outline,.ent-btn-ghost,.btn-cancel,.btn-favorite,.btn-comment,.pill-btn-glass,.pill-btn-warm{
  background:var(--g-surface)!important;background-image:none!important;color:var(--g-text)!important;
  border:1px solid var(--g-line2)!important;border-radius:var(--g-r-sm)!important;box-shadow:none!important;
}
.btn-danger,.ent-btn-danger,button.del,.logout-btn,.admin-product-actions button.del{
  background:var(--g-surface)!important;background-image:none!important;color:var(--g-danger)!important;
  border:1px solid rgba(255,59,48,.24)!important;box-shadow:none!important;
}
/* 输入框 */
.form-input,.form-textarea,.form-select,.ent-input,.search-input,.cs-input input,.chat-input-bar input,
.ac-input-bar input,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),textarea,select{
  background:var(--g-surface)!important;background-image:none!important;border:1px solid var(--g-line2)!important;
  border-radius:var(--g-r-sm)!important;color:var(--g-text)!important;box-shadow:none!important;
}
input:focus,textarea:focus,select:focus{border-color:var(--g-accent)!important;box-shadow:0 0 0 3px var(--g-accent-soft)!important}
/* 图标底板：去掉彩色渐变，统一浅灰或纯色 */
.menu-icon,.tool-icon,.func-icon,.entry-icon{
  background-image:none!important;border-radius:8px!important;box-shadow:none!important;
}
.menu-icon.order,.menu-icon.user,.menu-icon.lock,.menu-icon.msg,.menu-icon.fav{background-color:var(--g-accent)!important;color:#fff!important}
/* 文字渐变 / 发光清零 */
.shop-name,.shop-name-glow,.product-name-gold,.author-name,.tech-text,.gold-text,[class*="glow"]{
  background:none!important;background-image:none!important;
  -webkit-background-clip:border-box!important;background-clip:border-box!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;filter:none!important;animation:none!important;color:var(--g-ink)!important;
}
.tech-big-title{background:#1c1c1e!important;background-image:none!important;border-color:#1c1c1e!important;box-shadow:none!important;color:#fff!important}
.tech-big-title::before,.tech-big-title::after{display:none!important}
.tech-sub-special,.tech-sub-flagship,.tech-sub-product{
  background:var(--g-soft)!important;background-image:none!important;border:none!important;
  color:var(--g-text)!important;box-shadow:none!important;
}
.tech-sub-special::before,.tech-sub-special::after,.tech-sub-flagship::before,.tech-sub-flagship::after,
.tech-sub-product::before,.tech-sub-product::after{display:none!important}
/* 扫光 / 脉冲等装饰动画全部停掉 */
.shop-card-avatar-wrap::before,.shop-card-avatar-wrap::after,.shop-avatar-wrap::before,.shop-avatar-wrap::after,
.shop-card-badge::after,.shop-badge-tag::after,.author-card::after,.author-tag::after{display:none!important}
/* 徽章 */
.badge,.tag,.label,.chip,.ent-badge,.status-badge,.order-status,.status-tag,.shop-card-badge,.shop-badge-tag{
  border-radius:999px!important;font-weight:600!important;box-shadow:none!important;background-image:none!important;
}
.badge-official,.order-status.paid,.status-tag.paid{background:var(--g-accent-soft)!important;color:#1d4ed8!important}
.badge-owner,.order-status.unpaid,.status-tag.unpaid,.points-badge{background:rgba(255,149,0,.12)!important;color:#b45309!important}
.badge-danger,.badge-banned{background:rgba(255,59,48,.10)!important;color:#c11c14!important}
.badge-mute,.badge-off{background:var(--g-soft2)!important;color:#4b5563!important}
/* 价格 */
.price,.product-price,.price-text,.order-amount,.admin-product-price{color:var(--g-danger)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
/* 列表行：Telegram/iOS 分组列表 */
.menu-item,.list-row,.setting-row{padding:12px 16px!important;min-height:52px!important;color:var(--g-ink)!important;
  border-bottom:.5px solid var(--g-line)!important;background:var(--g-surface)!important}
.menu-item:last-child,.list-row:last-child{border-bottom:none!important}
.menu-item:active,.list-row:active{background:var(--g-soft2)!important}
.menu-text,.list-row-title{font-size:16px!important;font-weight:500!important;color:var(--g-ink)!important}
.menu-arrow{color:var(--g-mute)!important;font-size:20px!important}
.section-label,.list-section-title{font-size:12.5px!important;font-weight:600!important;color:var(--g-sub)!important;
  text-transform:uppercase!important;letter-spacing:.5px!important;margin:0 16px 6px!important}
/* 页面标题 */
.page-title{color:var(--g-ink)!important;font-weight:800!important;text-align:left!important;letter-spacing:-.4px!important}
.page-header{padding:18px 16px 6px!important}
/* 表格 */
table{background:var(--g-surface)!important;border:none!important;border-radius:var(--g-r)!important;
  box-shadow:var(--g-shadow)!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important}
th{background:var(--g-soft)!important;color:var(--g-sub)!important;font-weight:600!important;font-size:13px!important}
td,th{border-bottom:.5px solid var(--g-line)!important;padding:12px 14px!important}
tr:last-child td{border-bottom:none!important}
/* 弹窗 */
.modal-overlay,.notice-mask,.shop-notice-mask{background:rgba(0,0,0,.36)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.modal-box,.modal-content,.glass-modal-box,.dialog,.popup,.notice-card,.notice-box,.shop-notice-card{
  background:var(--g-surface)!important;background-image:none!important;border:none!important;
  border-radius:16px!important;box-shadow:0 20px 50px -20px rgba(0,0,0,.35)!important;
}
.modal-title,.glass-modal-title{color:var(--g-ink)!important;font-weight:700!important}
.modal-text,.notice-content{color:var(--g-sub)!important}
/* 聊天气泡 */
.msg-bubble{border-radius:16px!important;box-shadow:none!important;background-image:none!important}
.msg-row.mine .msg-bubble{background:var(--g-accent)!important;color:#fff!important;border:none!important}
.msg-row.other .msg-bubble{background:var(--g-surface)!important;color:var(--g-text)!important;border:1px solid var(--g-line)!important}
.send-btn,.cs-send,.ac-send{background:var(--g-accent)!important;background-image:none!important;color:#fff!important;border:none!important;border-radius:var(--g-r-sm)!important}
/* 空状态 */
.empty-state,.empty-box,.no-data,.no-result{background:var(--g-surface)!important;border:1px dashed var(--g-line2)!important;
  border-radius:var(--g-r)!important;color:var(--g-sub)!important;backdrop-filter:none!important}
/* 头像 */
.avatar-img,.user-avatar,.cmt-avatar,.msg-avatar,.rank-avatar,.sidebar-avatar,.shop-card-avatar-wrap,.shop-avatar-wrap{
  border-radius:50%!important;background:var(--g-soft2)!important;box-shadow:none!important;border:none!important;overflow:hidden!important;
}
/* 图片占位 */
img{background-color:var(--g-soft2)!important}
/* 底部导航容器定位（细节见 bottom_nav.css） */
body{padding-bottom:104px}
/* 深色模式兜底 */
@media(prefers-color-scheme:dark){
  html,body{background-color:var(--g-bg)!important;color:var(--g-text)!important}
  html,body,body *{color-scheme:light only!important}
}

/* ==========================================================================
   收尾：彻底消灭内联渐变与花哨装饰（最后加载，优先级最高）
   ========================================================================== */
/* 任何写在 style="" 里的渐变一律压平 */
[style*="linear-gradient"],[style*="radial-gradient"]{
  background-image:none!important;
}
[style*="text-shadow"]{text-shadow:none!important}
[style*="box-shadow"]{box-shadow:none!important}
/* 图标底板：改成 iOS 设置风格的纯色方块 */
.tool-ico,.func-ico,.entry-ico{
  border-radius:10px!important;background-image:none!important;box-shadow:none!important;
  width:42px!important;height:42px!important;
}
.tool-ico.gold{background-color:#ff9500!important}
.tool-ico.green{background-color:#34c759!important}
.tool-ico.blue{background-color:#2f6bff!important}
.tool-ico.purple{background-color:#af52de!important}
.tool-ico.red{background-color:#ff3b30!important}
.tool-ico svg{stroke:#fff!important}
.tool-name{color:var(--g-ink)!important;font-weight:600!important;font-size:15px!important}
.tool-desc{color:var(--g-sub)!important;font-size:12.5px!important;line-height:1.5!important}
.tool-grid{gap:10px!important}
.tool-card{background:var(--g-surface)!important;border:none!important;border-radius:var(--g-r)!important;
  box-shadow:var(--g-shadow)!important;padding:16px!important}
.tool-card:active{transform:scale(.98)!important}
/* 顶部栏图标：去掉绿色渐变，改纯深色 */
.top-glass-bar>div>div>div[style*="border-radius:12px"],
.top-glass-bar [style*="width:36px"]{
  background-color:#1c1c1e!important;background-image:none!important;box-shadow:none!important;border-radius:10px!important;
}
/* 分节标题（工具中心等）：iOS 分组小标题 */
.section-title{font-size:13px!important;font-weight:600!important;color:var(--g-sub)!important;
  text-transform:uppercase!important;letter-spacing:.5px!important;margin:22px 16px 8px!important}
/* 守护卡等说明块 */
.guard-card,.info-card,.about-card{background:var(--g-surface)!important;border:none!important;
  border-radius:var(--g-r)!important;box-shadow:var(--g-shadow)!important;padding:16px!important}

/* ==========================================================================
   布局修正：店铺卡片 / 商品图片留白 / 底部导航不遮内容
   ========================================================================== */

/* ---------- 1. 店铺卡片：头像左 + 信息右（iOS 列表行） ---------- */
.shop-card{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:14px 16px!important;
  background:var(--g-surface)!important;
  border:none!important;
  border-radius:var(--g-r)!important;
  box-shadow:var(--g-shadow)!important;
  overflow:visible!important;
}
.shop-card-avatar-wrap{
  order:0!important;
  position:relative!important;
  top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  float:none!important;
  width:54px!important;height:54px!important;
  flex:0 0 54px!important;
  margin:0!important;
  border-radius:50%!important;
  background:var(--g-soft2)!important;
  overflow:hidden!important;
  box-shadow:none!important;border:none!important;
}
.shop-card-avatar-wrap img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important}
.shop-card-info{
  order:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  gap:3px!important;
}
.shop-card-name{
  order:0!important;
  width:auto!important;
  margin:0!important;
  font-size:16px!important;
  font-weight:600!important;
  color:var(--g-ink)!important;
  line-height:1.3!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  max-width:100%!important;
}
.shop-card-author-row{
  order:1!important;
  display:flex!important;align-items:center!important;gap:6px!important;
  flex-wrap:nowrap!important;margin:0!important;
}
.shop-card-author-name{font-size:13px!important;color:var(--g-sub)!important;font-weight:400!important}
.shop-card-badge,.shop-badge-tag{
  font-size:11px!important;padding:1px 7px!important;border-radius:999px!important;
  font-weight:500!important;line-height:1.6!important;
}
.shop-card-meta{order:2!important;font-size:12.5px!important;color:var(--g-sub)!important;display:flex!important;align-items:center!important;gap:6px!important;margin:0!important}
.shop-card-views{
  order:3!important;
  display:inline-flex!important;align-items:center!important;gap:4px!important;
  background:var(--g-soft)!important;border:none!important;border-radius:999px!important;
  padding:2px 9px!important;font-size:11.5px!important;color:var(--g-sub)!important;
  width:auto!important;margin-top:2px!important;
}
.shop-card-arrow{
  order:2!important;
  position:static!important;
  margin:0 0 0 auto!important;
  flex:0 0 auto!important;
  width:20px!important;height:20px!important;
  background:none!important;border-radius:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.shop-card-arrow svg{stroke:var(--g-mute)!important;width:16px!important;height:16px!important}
/* 店铺列表容器：单列 + 统一间距 */
.container > div:has(> .shop-card){
  display:flex!important;flex-direction:column!important;
  grid-template-columns:none!important;gap:10px!important;
}
.container > div:has(> .shop-card) > .shop-card:first-child{grid-column:auto!important}

/* ---------- 2. 商品图片：保持完整比例，不裁切 ----------
   之前用 object-fit:cover 会把图片裁掉一部分（商品图常常是长图/方图，
   裁切后观感很差）。改为按原始比例完整显示，只限制最大高度。 */
.product-image-wrap{
  aspect-ratio:auto!important;
  height:auto!important;
  min-height:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:var(--g-soft2)!important;
  border-radius:var(--g-r)!important;
  overflow:hidden!important;
  display:block!important;
  line-height:0!important;
}
.product-image-wrap img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:420px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  vertical-align:top!important;
  background:#fff!important;
}
/* 商品卡：图片与信息之间不留空 */
.glass-card,.product-card,.product-item{padding:0!important;overflow:hidden!important}
.glass-card > *,.product-card > *,.product-item > *{margin-left:0!important;margin-right:0!important}
.glass-card .product-image-wrap,.product-card .product-image-wrap,.product-item .product-image-wrap{border-radius:0!important}
.glass-card .product-meta,.product-card .product-meta,.product-item .product-meta,
.glass-card .product-foot,.product-card .product-foot,.product-item .product-foot{
  padding:12px 14px!important;margin:0!important;
}
/* 商品详情页大图：完整显示，不裁切 */
.product-image{aspect-ratio:auto!important;height:auto!important;display:block!important;object-fit:contain!important;max-height:none!important}

/* ---------- 3. 底部导航不遮挡内容 ---------- */
body{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
.container{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
.main-content,.page-content,.content{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}

/* ==========================================================================
   商家后台：独立的简约版（与官方后台视觉分开）
   触发：admin_header.php 给非官方账号加 .admin-merchant
   ========================================================================== */
/* 侧边栏：白底极简列表，去掉背景轮播图与深色渐变 */
.admin-merchant .sidebar{
  background:#fff!important;background-image:none!important;
  border-right:1px solid var(--g-line)!important;
  box-shadow:0 0 40px -20px rgba(0,0,0,.25)!important;
  width:270px!important;
}
.admin-merchant .sidebar-header{
  height:auto!important;min-height:0!important;
  padding:18px 16px!important;
  background:#fff!important;border-bottom:1px solid var(--g-line)!important;
  overflow:visible!important;
}
.admin-merchant .sidebar-bg-slider{display:none!important}
.admin-merchant .sidebar-header::after{display:none!important;content:none!important}
.admin-merchant .sidebar-header-content{
  position:static!important;
  height:auto!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  padding:0!important;
}
.admin-merchant .sidebar-avatar{
  width:44px!important;height:44px!important;
  border:none!important;box-shadow:none!important;
  background:var(--g-soft2)!important;border-radius:50%!important;
}
.admin-merchant .sidebar-username{
  color:var(--g-ink)!important;text-shadow:none!important;
  font-size:15px!important;font-weight:600!important;margin:0!important;
}
/* 菜单项：iOS 列表行 */
.admin-merchant .sidebar-menu{padding:8px!important}
.admin-merchant .sidebar-menu-item{
  color:var(--g-text)!important;
  background:transparent!important;
  border-radius:var(--g-r-sm)!important;
  margin:2px 0!important;
  padding:11px 12px!important;
  font-size:14.5px!important;font-weight:500!important;
  border:none!important;
}
.admin-merchant .sidebar-menu-item:active{background:var(--g-soft2)!important}
.admin-merchant .sidebar-menu-item.active{
  background:var(--g-accent-soft)!important;
  color:var(--g-accent)!important;
  font-weight:600!important;
}
.admin-merchant .sidebar-menu-item .icon{color:currentColor!important}
.admin-merchant .sidebar-menu-item[style*="e53935"]{
  color:var(--g-danger)!important;
  border-top:1px solid var(--g-line)!important;
  margin-top:8px!important;padding-top:12px!important;
}
/* 遮罩更淡 */
.admin-merchant .sidebar-overlay{background:rgba(0,0,0,.24)!important}
/* 内容区：更宽松的留白与统一卡片 */
.admin-merchant .container,
.admin-merchant .main-content,
.admin-merchant .page-content{
  max-width:720px!important;margin:0 auto!important;
  padding:16px 16px calc(32px + env(safe-area-inset-bottom))!important;
}
.admin-merchant .card,
.admin-merchant .stat-card,
.admin-merchant .admin-card{
  background:var(--g-surface)!important;
  border:none!important;
  border-radius:var(--g-r)!important;
  box-shadow:var(--g-shadow)!important;
  padding:16px!important;
  margin-bottom:12px!important;
}
.admin-merchant .stat-card{
  background:var(--g-surface)!important;background-image:none!important;text-align:left!important;
}
.admin-merchant .stat-number,.admin-merchant .stat-value{
  color:var(--g-ink)!important;font-weight:700!important;font-size:24px!important;
}
.admin-merchant .stat-label{color:var(--g-sub)!important;font-size:12.5px!important}
/* 页面标题：iOS 大标题 */
.admin-merchant .page-title{
  font-size:26px!important;font-weight:800!important;color:var(--g-ink)!important;
  text-align:left!important;letter-spacing:-.4px!important;
}
.admin-merchant .section-title,.admin-merchant .card-title{
  font-size:13px!important;font-weight:600!important;color:var(--g-sub)!important;
  text-transform:uppercase!important;letter-spacing:.5px!important;
}
/* 表格 */
.admin-merchant table{border-radius:var(--g-r)!important}
.admin-merchant th{background:var(--g-soft)!important;color:var(--g-sub)!important;font-weight:600!important}
/* 按钮：统一 iOS 风格 */
.admin-merchant .btn,.admin-merchant button{border-radius:var(--g-r-sm)!important;font-weight:600!important}
.admin-merchant .btn-primary{background:var(--g-accent)!important;background-image:none!important;box-shadow:none!important}
.admin-merchant .btn-outline,.admin-merchant .btn-cancel{
  background:var(--g-surface)!important;border:1px solid var(--g-line2)!important;color:var(--g-text)!important;
}


/* ==========================================================================
   ▼▼▼  全局液态玻璃（iOS Liquid Glass）覆盖层  ▼▼▼
   ==========================================================================
   质感来源：底部导航 .tab-bar（assets/css/bottom_nav.css）
     · 高透白玻璃渐变  +  backdrop-filter: blur(30px) saturate(180%)
     · 1px 白色高光描边 + 顶部内高光 + 柔和落地投影 + 大圆角 22px
   作用范围：前台全部页面（body:not(.admin-page)）
     · 后台（body.admin-page）与商家后台（.admin-merchant）保持原有扁平风格不变
   加载时机：本文件由 bottom_nav.php / admin_header.php 在页面末尾加载，
             且本段位于文件最末，因此优先级高于上面所有「收口」规则与页面内联样式。
   ========================================================================== */

/* ------------------------------------------------ 1. 设计令牌 ------------ */
body:not(.admin-page){
  --lg-ink:#0d1b2a;
  --lg-ink2:#39485a;
  --lg-sub:#6c7c90;
  --lg-mute:#9aa6b5;
  --lg-accent:#2f6bff;
  --lg-accent2:#5b8cff;
  --lg-danger:#ff3b30;
  --lg-r:22px;
  --lg-r-sm:16px;
  --lg-r-xs:12px;
  --lg-blur:blur(14px) saturate(150%);
  --lg-blur-soft:blur(8px);
  --lg-hair:rgba(255,255,255,.78);
  --lg-glass:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.52));
  --lg-glass2:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,255,255,.72));
  --lg-inset:inset 0 1px 0 rgba(255,255,255,.95);
  --lg-cast:0 8px 18px -14px rgba(16,32,64,.28);
  --lg-ease:cubic-bezier(.32,.72,0,1);
  /* 同步重定义旧「收口」令牌，避免残留扁平值继续生效 */
  --g-bg:#eef3fc;
  --g-surface:rgba(255,255,255,.56);
  --g-soft:rgba(255,255,255,.42);
  --g-soft2:rgba(226,236,252,.55);
  --g-ink:#0d1b2a;
  --g-text:#0d1b2a;
  --g-sub:#6c7c90;
  --g-mute:#9aa6b5;
  --g-line:rgba(255,255,255,.60);
  --g-line2:rgba(255,255,255,.72);
  --g-accent:#2f6bff;
  --g-accent-soft:rgba(47,107,255,.12);
  --g-r:22px;
  --g-r-sm:16px;
  --g-shadow:var(--lg-cast);
}

/* ------------------------------------- 2. 页面底色：多彩渐变 ------------ */
/* 玻璃必须有背景层次才通透，因此把纯灰底换成柔和彩色光晕 */
html{ background:#e9eff9!important; }
body:not(.admin-page){
  background-color:#eef3fc!important;
  background-image:
    radial-gradient(760px 540px at 6% -8%, rgba(122,170,255,.55), rgba(122,170,255,0) 62%),
    radial-gradient(680px 480px at 102% 2%, rgba(176,150,255,.46), rgba(176,150,255,0) 60%),
    linear-gradient(180deg,#f8fbff 0%,#eef3fc 46%,#e9eff9 100%)!important;
  background-repeat:no-repeat!important;
  color:var(--lg-ink)!important;
}

/* ----------------------------------------- 3. 统一玻璃卡面 -------------- */
body:not(.admin-page) .card,
body:not(.admin-page) .glass-card,
body:not(.admin-page) .shop-card,
body:not(.admin-page) .product-info,
body:not(.admin-page) .stat-card,
body:not(.admin-page) .panel,
body:not(.admin-page) .box,
body:not(.admin-page) .list-card,
body:not(.admin-page) .form-card,
body:not(.admin-page) .order-card,
body:not(.admin-page) .msg-card,
body:not(.admin-page) .notice-card,
body:not(.admin-page) .login-card,
body:not(.admin-page) .auth-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .fav-item,
body:not(.admin-page) .report-item,
body:not(.admin-page) .comment-item,
body:not(.admin-page) .form-section,
body:not(.admin-page) .setting-group,
body:not(.admin-page) .config-block,
body:not(.admin-page) .filter-bar,
body:not(.admin-page) .toolbar,
body:not(.admin-page) .rank-item,
body:not(.admin-page) .user-card,
body:not(.admin-page) .menu-card,
body:not(.admin-page) .guard-card,
body:not(.admin-page) .info-card,
body:not(.admin-page) .about-card,
body:not(.admin-page) .service-item,
body:not(.admin-page) .service-list,
body:not(.admin-page) .rank-list,
body:not(.admin-page) .checkin-card,
body:not(.admin-page) .register-box,
body:not(.admin-page) .batch-bar,
body:not(.admin-page) .search-bar{
  background:var(--lg-glass)!important;
  background-image:var(--lg-glass)!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r)!important;
  box-shadow:var(--lg-inset), var(--lg-cast)!important;
}
body:not(.admin-page) .card,
body:not(.admin-page) .shop-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .menu-card,
body:not(.admin-page) .order-card,
body:not(.admin-page) .guard-card,
body:not(.admin-page) .user-card,
body:not(.admin-page) .fav-item{
  transition:transform .22s var(--lg-ease), box-shadow .22s var(--lg-ease);
}
body:not(.admin-page) .card:active,
body:not(.admin-page) .shop-card:active,
body:not(.admin-page) .tool-card:active,
body:not(.admin-page) .menu-card:active,
body:not(.admin-page) .guard-card:active{
  transform:scale(.985);
}

/* ------------------------------- 4. 顶部 / 底部工具条 ------------------- */
body:not(.admin-page) .top-glass-bar,
body:not(.admin-page) .topbar,
body:not(.admin-page) .chat-header{
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.58))!important;
  border:none!important;
  border-radius:0!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.50),
             0 10px 30px -26px rgba(16,32,64,.60)!important;
}
body:not(.admin-page) .bottom-bar{
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.70))!important;
  border:none!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 -16px 36px -24px rgba(16,32,64,.45)!important;
}
body:not(.admin-page) .chat-input-bar{
  background:rgba(255,255,255,.46)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r-sm)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
}

/* 页面标题区 / 工具页 Hero：做成玻璃面板 */
body:not(.admin-page) .page-header,
body:not(.admin-page) .hero{
  margin:14px 16px 8px!important;
  padding:16px 18px!important;
  background:var(--lg-glass)!important;
  background-image:var(--lg-glass)!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r)!important;
  box-shadow:var(--lg-inset), var(--lg-cast)!important;
}
body:not(.admin-page) .page-title,
body:not(.admin-page) .hero h1{
  color:var(--lg-ink)!important;
  font-weight:800!important;
  letter-spacing:-.4px!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
}
body:not(.admin-page) .section-title{
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:var(--lg-ink)!important;
  margin:22px 16px 10px!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
}

/* --------------------------------------- 5. 按钮：玻璃 + 玻璃蓝 --------- */
body:not(.admin-page) .btn-primary,
body:not(.admin-page) .ent-btn-primary,
body:not(.admin-page) .btn-buy,
body:not(.admin-page) .btn-confirm,
body:not(.admin-page) .submit-btn,
body:not(.admin-page) .login-btn,
body:not(.admin-page) .register-btn,
body:not(.admin-page) .save-btn,
body:not(.admin-page) .checkin-btn,
body:not(.admin-page) .redeem-btn,
body:not(.admin-page) .query-order-btn,
body:not(.admin-page) .code-btn,
body:not(.admin-page) .send-code-btn,
body:not(.admin-page) .verify-btn,
body:not(.admin-page) .send-btn,
body:not(.admin-page) .cs-send,
body:not(.admin-page) .btn-submit,
body:not(.admin-page) .live-service-btn,
body:not(.admin-page) .pill-btn-primary{
  background:linear-gradient(180deg,#568aff,#2f6bff)!important;
  background-image:linear-gradient(180deg,#568aff,#2f6bff)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.45)!important;
  border-radius:var(--lg-r-xs)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.50), 0 12px 26px -14px rgba(47,107,255,.85)!important;
  font-weight:700!important;
}
/* 内联渐变按钮（先前被「渐变清零」压平）统一恢复为玻璃蓝 */
body:not(.admin-page) a[style*="linear-gradient"],
body:not(.admin-page) button[style*="linear-gradient"],
body:not(.admin-page) a[style*="radial-gradient"],
body:not(.admin-page) button[style*="radial-gradient"]{
  background-image:linear-gradient(180deg,#568aff,#2f6bff)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.45)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.50), 0 12px 26px -16px rgba(47,107,255,.90)!important;
}
/* 其它被压平的内联渐变元素：补一层浅玻璃底，避免「隐形元素」 */
body:not(.admin-page) [style*="linear-gradient"],
body:not(.admin-page) [style*="radial-gradient"]{
  background-color:rgba(255,255,255,.50);
}
/* 次要按钮：玻璃描边 */
body:not(.admin-page) .btn-outline,
body:not(.admin-page) .ent-btn-ghost,
body:not(.admin-page) .btn-cancel,
body:not(.admin-page) .btn-favorite,
body:not(.admin-page) .btn-comment,
body:not(.admin-page) .pill-btn-glass,
body:not(.admin-page) .pill-btn-warm,
body:not(.admin-page) .back-btn,
body:not(.admin-page) .order-btn,
body:not(.admin-page) .action-btn,
body:not(.admin-page) .report-btn,
body:not(.admin-page) .search-btn,
body:not(.admin-page) .like-btn,
body:not(.admin-page) .batch-delete-btn{
  background:var(--lg-glass2)!important;
  background-image:var(--lg-glass2)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r-xs)!important;
  color:var(--lg-ink2)!important;
  box-shadow:var(--lg-inset), 0 8px 20px -16px rgba(16,32,64,.60)!important;
}
body:not(.admin-page) .pill-btn,
body:not(.admin-page) .btn-lg{border-radius:999px!important}
/* 危险按钮 */
body:not(.admin-page) .btn-danger,
body:not(.admin-page) .ent-btn-danger,
body:not(.admin-page) .logout-btn{
  background-image:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,240,240,.68))!important;
  background-color:rgba(255,255,255,.66)!important;
  color:var(--lg-danger)!important;
  border:1px solid rgba(255,59,48,.22)!important;
  border-radius:var(--lg-r-xs)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
  box-shadow:var(--lg-inset)!important;
}

/* --------------------------------------------- 6. 表单控件 ------------- */
body:not(.admin-page) .form-input,
body:not(.admin-page) .form-textarea,
body:not(.admin-page) .form-select,
body:not(.admin-page) .ent-input,
body:not(.admin-page) .search-input,
body:not(.admin-page) .remark-input,
body:not(.admin-page) .boost-select,
body:not(.admin-page) .cs-input,
body:not(.admin-page) .cs-input input,
body:not(.admin-page) .chat-input-bar input,
body:not(.admin-page) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),
body:not(.admin-page) textarea,
body:not(.admin-page) select{
  background:rgba(255,255,255,.62)!important;
  background-image:none!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r-xs)!important;
  color:var(--lg-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.90)!important;
}
body:not(.admin-page) input:focus,
body:not(.admin-page) textarea:focus,
body:not(.admin-page) select:focus{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(47,107,255,.55)!important;
  box-shadow:0 0 0 4px rgba(47,107,255,.14)!important;
}
body:not(.admin-page) .form-label,
body:not(.admin-page) .ent-label,
body:not(.admin-page) .section-label{color:var(--lg-sub)!important}

/* ------------------------------------- 7. 徽章 / 标签 / 价格 ------------ */
body:not(.admin-page) .badge,
body:not(.admin-page) .tag,
body:not(.admin-page) .label,
body:not(.admin-page) .chip,
body:not(.admin-page) .ent-badge,
body:not(.admin-page) .status-badge,
body:not(.admin-page) .order-status,
body:not(.admin-page) .status-tag,
body:not(.admin-page) .shop-card-badge,
body:not(.admin-page) .shop-badge-tag,
body:not(.admin-page) .role-tag,
body:not(.admin-page) .unread-badge{
  border-radius:999px!important;
  background-image:none!important;
  font-weight:600!important;
  border:1px solid var(--lg-hair)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
body:not(.admin-page) .price,
body:not(.admin-page) .product-price,
body:not(.admin-page) .price-text,
body:not(.admin-page) .order-amount{color:#e5484d!important}

/* --------------------------------------- 8. 弹窗 / 遮罩 --------------- */
body:not(.admin-page) .modal-overlay,
body:not(.admin-page) .notice-mask,
body:not(.admin-page) .shop-notice-mask,
body:not(.admin-page) .cs-mask,
body:not(.admin-page) .plus-mask,
body:not(.admin-page) .report-modal{
  background:rgba(14,22,40,.28)!important;
  -webkit-backdrop-filter:blur(12px) saturate(150%)!important;
  backdrop-filter:blur(12px) saturate(150%)!important;
}
body:not(.admin-page) .modal-box,
body:not(.admin-page) .modal-content,
body:not(.admin-page) .glass-modal-box,
body:not(.admin-page) .dialog,
body:not(.admin-page) .popup,
body:not(.admin-page) .notice-card,
body:not(.admin-page) .notice-box,
body:not(.admin-page) .shop-notice-card,
body:not(.admin-page) .shop-notice-box,
body:not(.admin-page) .cs-sheet,
body:not(.admin-page) .report-box,
body:not(.admin-page) .plus-panel{
  background:var(--lg-glass2)!important;
  background-image:var(--lg-glass2)!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r)!important;
  box-shadow:var(--lg-inset), 0 30px 70px -32px rgba(10,20,40,.65)!important;
}

/* ------------------------------------- 9. 细节：空态 / 头像 / 聊天 ------ */
body:not(.admin-page) .empty-state,
body:not(.admin-page) .empty-box,
body:not(.admin-page) .no-data,
body:not(.admin-page) .no-result,
body:not(.admin-page) .cs-empty,
body:not(.admin-page) .empty-chat{
  background:rgba(255,255,255,.42)!important;
  border:1px dashed rgba(255,255,255,.85)!important;
  border-radius:var(--lg-r)!important;
  color:var(--lg-sub)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
}
body:not(.admin-page) .avatar-img,
body:not(.admin-page) .user-avatar,
body:not(.admin-page) .cmt-avatar,
body:not(.admin-page) .msg-avatar,
body:not(.admin-page) .rank-avatar,
body:not(.admin-page) .shop-card-avatar-wrap,
body:not(.admin-page) .shop-avatar-wrap,
body:not(.admin-page) .service-avatar,
body:not(.admin-page) .podium-avatar,
body:not(.admin-page) .author-avatar{
  background:rgba(255,255,255,.55)!important;
  border:2px solid rgba(255,255,255,.90)!important;
  box-shadow:0 6px 16px -10px rgba(16,32,64,.50)!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
body:not(.admin-page) img{background-color:rgba(255,255,255,.35)!important}
body:not(.admin-page) .msg-row.other .msg-bubble,
body:not(.admin-page) .msg-bubble{
  background:var(--lg-glass2)!important;
  background-image:var(--lg-glass2)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
  border:1px solid var(--lg-hair)!important;
  color:var(--lg-ink)!important;
  box-shadow:var(--lg-inset)!important;
}
body:not(.admin-page) .msg-row.mine .msg-bubble{
  background:linear-gradient(180deg,#568aff,#2f6bff)!important;
  background-image:linear-gradient(180deg,#568aff,#2f6bff)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.40), 0 10px 22px -16px rgba(47,107,255,.90)!important;
}
body:not(.admin-page) table{
  background:var(--lg-glass)!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  border-radius:var(--lg-r)!important;
  box-shadow:var(--lg-inset), var(--lg-cast)!important;
}

/* --------------------------------- 10. 降低透明度 / 无障碍降级 --------- */
@media (prefers-reduced-transparency: reduce){
  body:not(.admin-page),
  body:not(.admin-page) .card,
  body:not(.admin-page) .glass-card,
  body:not(.admin-page) .shop-card,
  body:not(.admin-page) .tool-card,
  body:not(.admin-page) .menu-card,
  body:not(.admin-page) .order-card,
  body:not(.admin-page) .user-card,
  body:not(.admin-page) .guard-card,
  body:not(.admin-page) .page-header,
  body:not(.admin-page) .hero,
  body:not(.admin-page) .modal-content,
  body:not(.admin-page) .top-glass-bar,
  body:not(.admin-page) .bottom-bar{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  body:not(.admin-page){
    background-image:linear-gradient(180deg,#f2f5fb 0%,#e9eef9 100%)!important;
  }
  body:not(.admin-page) .card,
  body:not(.admin-page) .glass-card,
  body:not(.admin-page) .shop-card,
  body:not(.admin-page) .tool-card,
  body:not(.admin-page) .menu-card,
  body:not(.admin-page) .order-card,
  body:not(.admin-page) .user-card,
  body:not(.admin-page) .guard-card,
  body:not(.admin-page) .page-header,
  body:not(.admin-page) .hero,
  body:not(.admin-page) .modal-content{
    background:rgba(255,255,255,.97)!important;
    background-image:none!important;
  }
}

/* ------------- 11. 登录 / 注册 / 账户切换 / 兑换 / 支付页补充 ------------ */
body:not(.admin-page) .login-card,
body:not(.admin-page) .sw-acc,
body:not(.admin-page) .success-card,
body:not(.admin-page) .order-info,
body:not(.admin-page) .card-section,
body:not(.admin-page) .stats-card,
body:not(.admin-page) .profile-header,
body:not(.admin-page) .query-form,
body:not(.admin-page) .info-card,
body:not(.admin-page) .card-item{
  background:var(--lg-glass)!important;
  background-image:var(--lg-glass)!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r)!important;
  box-shadow:var(--lg-inset), var(--lg-cast)!important;
}
/* 分段控件 / 小玻璃块 */
body:not(.admin-page) .role-tabs,
body:not(.admin-page) .sw-tabs,
body:not(.admin-page) .card-data-box,
body:not(.admin-page) .card-data-content,
body:not(.admin-page) .remark-tag,
body:not(.admin-page) .no-card{
  background:rgba(255,255,255,.50)!important;
  background-image:none!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r-xs)!important;
  box-shadow:var(--lg-inset)!important;
}
/* 圆角胶囊按钮 */
body:not(.admin-page) .sw-btn,
body:not(.admin-page) .sw-add,
body:not(.admin-page) .btn-glass,
body:not(.admin-page) .copy-btn{
  background:var(--lg-glass2)!important;
  background-image:var(--lg-glass2)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:999px!important;
  color:var(--lg-ink2)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
  box-shadow:var(--lg-inset), 0 8px 20px -16px rgba(16,32,64,.60)!important;
}
body:not(.admin-page) .btn-login{
  background-color:transparent!important;
  background-image:linear-gradient(180deg,#568aff,#2f6bff)!important;
  border:1px solid rgba(255,255,255,.45)!important;
  border-radius:999px!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.50), 0 14px 28px -16px rgba(47,107,255,.90)!important;
}
/* 提示 / 错误 */
body:not(.admin-page) .err,
body:not(.admin-page) .error-msg{
  border-radius:var(--lg-r-xs)!important;
  -webkit-backdrop-filter:var(--lg-blur-soft)!important;
  backdrop-filter:var(--lg-blur-soft)!important;
}
/* 文字色统一 */
body:not(.admin-page) .login-title,
body:not(.admin-page) .title,
body:not(.admin-page) .success-title,
body:not(.admin-page) .sw-name,
body:not(.admin-page) .info-title,
body:not(.admin-page) .card-title,
body:not(.admin-page) .profile-name{color:var(--lg-ink)!important}
body:not(.admin-page) .login-sub,
body:not(.admin-page) .login-subtitle,
body:not(.admin-page) .tips,
body:not(.admin-page) .register-link,
body:not(.admin-page) .back-link,
body:not(.admin-page) .query-hint,
body:not(.admin-page) .subtitle,
body:not(.admin-page) .hint,
body:not(.admin-page) .sw-sub,
body:not(.admin-page) .info-label,
body:not(.admin-page) .order-label,
body:not(.admin-page) .success-subtitle{color:var(--lg-sub)!important}
body:not(.admin-page) .info-value,
body:not(.admin-page) .order-value,
body:not(.admin-page) .card-content,
body:not(.admin-page) .sw-info{color:var(--lg-ink2)!important}
body:not(.admin-page) .sw-avatar{
  background:rgba(255,255,255,.55)!important;
  border:2px solid rgba(255,255,255,.90)!important;
  box-shadow:0 6px 16px -10px rgba(16,32,64,.50)!important;
}
body:not(.admin-page) .sw-tag{border:1px solid var(--lg-hair)!important;border-radius:999px!important}

/* ------------- 12. 私信 / 收藏 等列表页补充 ----------------------------- */
body:not(.admin-page) .msg-list,
body:not(.admin-page) .msg-item,
body:not(.admin-page) .product-card{
  background:var(--lg-glass)!important;
  background-image:var(--lg-glass)!important;
  -webkit-backdrop-filter:var(--lg-blur)!important;
  backdrop-filter:var(--lg-blur)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r)!important;
  box-shadow:var(--lg-inset), var(--lg-cast)!important;
}
body:not(.admin-page) .msg-reply,
body:not(.admin-page) .product-thumb{
  background:rgba(255,255,255,.50)!important;
  background-image:none!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:var(--lg-r-xs)!important;
}
body:not(.admin-page) .reply-btn{
  background:var(--lg-glass2)!important;
  background-image:var(--lg-glass2)!important;
  border:1px solid var(--lg-hair)!important;
  border-radius:999px!important;
  color:var(--lg-ink2)!important;
  box-shadow:var(--lg-inset)!important;
}
body:not(.admin-page) .remove-btn{
  background-color:rgba(255,255,255,.66)!important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,240,240,.68))!important;
  border:1px solid rgba(255,59,48,.22)!important;
  border-radius:999px!important;
  color:var(--lg-danger)!important;
  box-shadow:var(--lg-inset)!important;
}
body:not(.admin-page) .msg-sender-name,
body:not(.admin-page) .product-name{color:var(--lg-ink)!important}
body:not(.admin-page) .msg-content{color:var(--lg-ink2)!important}

/* ==========================================================================
   13. 滚动性能优化（保持丝滑，几乎不牺牲观感）
   --------------------------------------------------------------------------
   卡顿主因：
     · background-attachment:fixed —— 已去掉（手机上是第一号滚动杀手）
     · 每个列表卡片都做实时 backdrop-filter —— 已关掉
   （吸顶顶栏 / 底部导航 / 弹窗仍然保留真玻璃模糊）
   背景本身是柔和渐变、没有细节，去掉 blur 视觉几乎无差别，
   但滚动时能省掉大量离屏渲染。
   ========================================================================== */
body:not(.admin-page) .card,
body:not(.admin-page) .glass-card,
body:not(.admin-page) .shop-card,
body:not(.admin-page) .product-info,
body:not(.admin-page) .stat-card,
body:not(.admin-page) .panel,
body:not(.admin-page) .box,
body:not(.admin-page) .list-card,
body:not(.admin-page) .form-card,
body:not(.admin-page) .order-card,
body:not(.admin-page) .msg-card,
body:not(.admin-page) .notice-card,
body:not(.admin-page) .login-card,
body:not(.admin-page) .auth-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .fav-item,
body:not(.admin-page) .report-item,
body:not(.admin-page) .comment-item,
body:not(.admin-page) .form-section,
body:not(.admin-page) .setting-group,
body:not(.admin-page) .config-block,
body:not(.admin-page) .filter-bar,
body:not(.admin-page) .toolbar,
body:not(.admin-page) .rank-item,
body:not(.admin-page) .rank-list,
body:not(.admin-page) .user-card,
body:not(.admin-page) .menu-card,
body:not(.admin-page) .guard-card,
body:not(.admin-page) .info-card,
body:not(.admin-page) .about-card,
body:not(.admin-page) .service-item,
body:not(.admin-page) .service-list,
body:not(.admin-page) .checkin-card,
body:not(.admin-page) .register-box,
body:not(.admin-page) .batch-bar,
body:not(.admin-page) .search-bar,
body:not(.admin-page) .msg-list,
body:not(.admin-page) .msg-item,
body:not(.admin-page) .product-card,
body:not(.admin-page) .sw-acc,
body:not(.admin-page) .success-card,
body:not(.admin-page) .order-info,
body:not(.admin-page) .card-section,
body:not(.admin-page) .stats-card,
body:not(.admin-page) .profile-header,
body:not(.admin-page) .query-form,
body:not(.admin-page) .card-item{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
/* 卡片改用不带模糊的实一点的白玻璃，保留高光描边和圆角，观感基本一致 */
body:not(.admin-page) .shop-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .order-card,
body:not(.admin-page) .card,
body:not(.admin-page) .menu-card,
body:not(.admin-page) .user-card,
body:not(.admin-page) .guard-card,
body:not(.admin-page) .rank-item,
body:not(.admin-page) .service-item,
body:not(.admin-page) .msg-item,
body:not(.admin-page) .product-card,
body:not(.admin-page) .fav-item{
  background-image:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.70))!important;
}
/* 滚动容器开启滚动边界隔离，减少滚动时整页重绘 */
body:not(.admin-page) .shop-list,
body:not(.admin-page) .msg-list,
body:not(.admin-page) .rank-list,
body:not(.admin-page) .service-list,
body:not(.admin-page) .container{
  overscroll-behavior-y:contain;
}

/* ==========================================================================
   14. 蜜罐链接（防爬虫）
   --------------------------------------------------------------------------
   真人完全看不到、不占位、不可聚焦，但源码里存在真实可点的 <a>，
   采集器/爬虫会跟着抓 → 一访问就命中蜜罐规则被记录/拦截。
   ========================================================================== */
.guard-honeypot{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  -webkit-clip-path:inset(50%)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
  font-size:0!important;line-height:0!important;
}


/* ==========================================================================
   15. MIUI 全站主题（皮肤层）
   --------------------------------------------------------------------------
   设计语言：冷白底 + 纯白大圆角卡片 + 双层柔和阴影 + 彩色渐变图标
   重要：本层只覆盖「视觉皮肤」——颜色 / 圆角 / 阴影 / 字体 / 背景。
         绝不改动布局属性（display / flex-direction / position / width / height），
         以免压塌各页面精心设计的结构（此前 product.php 就吃过这个亏）。
   ========================================================================== */

body:not(.admin-page){
  --mi-bg:#f7f8fa;
  --mi-surface:#ffffff;
  --mi-surface2:#f2f3f5;
  --mi-ink:#111111;
  --mi-ink2:#3a3f47;
  --mi-sub:#9aa0ad;
  --mi-mute:#c2c6cd;
  --mi-line:rgba(24,30,60,.06);
  --mi-line2:rgba(24,30,60,.10);
  --mi-accent:#2f6bff;
  --mi-accent2:#7c4dff;
  --mi-danger:#ff3b30;
  --mi-success:#12a150;
  --mi-warn:#f7981c;
  --mi-r-lg:24px;
  --mi-r:18px;
  --mi-r-sm:14px;
  --mi-shadow:0 2px 10px rgba(24,30,60,.06), 0 1px 2px rgba(24,30,60,.04);
  --mi-shadow-press:0 1px 5px rgba(24,30,60,.08);
  --mi-ease:cubic-bezier(.32,.72,0,1);
  /* 同步旧令牌，避免残留的「收口」规则继续用旧色值 */
  --g-bg:#f7f8fa; --g-surface:#ffffff; --g-soft:#f2f3f5; --g-soft2:#eef0f3;
  --g-ink:#111111; --g-text:#111111; --g-sub:#9aa0ad; --g-mute:#c2c6cd;
  --g-line:rgba(24,30,60,.06); --g-line2:rgba(24,30,60,.10);
  --g-accent:#2f6bff; --g-accent-soft:rgba(47,107,255,.10);
  --g-danger:#ff3b30; --g-success:#12a150; --g-warn:#f7981c;
  --g-r:18px; --g-r-sm:14px;
  --g-shadow:var(--mi-shadow);
}

/* ---------- 1. 底色与字体：冷白纯净风 ---------- */
html{ background:#f7f8fa!important; }
body:not(.admin-page){
  background-color:#f7f8fa!important;
  background-image:none!important;
  color:var(--mi-ink)!important;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","MiSans","Microsoft YaHei",sans-serif!important;
  -webkit-font-smoothing:antialiased;
}

/* ---------- 2. 卡片：纯白 + 大圆角 + 双层柔和阴影（同时关掉玻璃模糊，更省性能） ---------- */
body:not(.admin-page) .card,
body:not(.admin-page) .glass-card,
body:not(.admin-page) .shop-card,
body:not(.admin-page) .product-info,
body:not(.admin-page) .stat-card,
body:not(.admin-page) .panel,
body:not(.admin-page) .box,
body:not(.admin-page) .list-card,
body:not(.admin-page) .form-card,
body:not(.admin-page) .order-card,
body:not(.admin-page) .msg-card,
body:not(.admin-page) .notice-card,
body:not(.admin-page) .login-card,
body:not(.admin-page) .auth-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .fav-item,
body:not(.admin-page) .report-item,
body:not(.admin-page) .comment-item,
body:not(.admin-page) .form-section,
body:not(.admin-page) .setting-group,
body:not(.admin-page) .config-block,
body:not(.admin-page) .filter-bar,
body:not(.admin-page) .toolbar,
body:not(.admin-page) .rank-item,
body:not(.admin-page) .rank-list,
body:not(.admin-page) .user-card,
body:not(.admin-page) .menu-card,
body:not(.admin-page) .guard-card,
body:not(.admin-page) .info-card,
body:not(.admin-page) .about-card,
body:not(.admin-page) .service-item,
body:not(.admin-page) .service-list,
body:not(.admin-page) .checkin-card,
body:not(.admin-page) .register-box,
body:not(.admin-page) .batch-bar,
body:not(.admin-page) .search-bar,
body:not(.admin-page) .msg-list,
body:not(.admin-page) .msg-item,
body:not(.admin-page) .product-card,
body:not(.admin-page) .sw-acc,
body:not(.admin-page) .success-card,
body:not(.admin-page) .order-info,
body:not(.admin-page) .card-section,
body:not(.admin-page) .stats-card,
body:not(.admin-page) .profile-header,
body:not(.admin-page) .query-form,
body:not(.admin-page) .card-item,
body:not(.admin-page) .podium,
body:not(.admin-page) .podium-item{
  background:var(--mi-surface)!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border:none!important;
  border-radius:var(--mi-r-lg)!important;
  box-shadow:var(--mi-shadow)!important;
}
body:not(.admin-page) .shop-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .order-card,
body:not(.admin-page) .card,
body:not(.admin-page) .menu-card,
body:not(.admin-page) .user-card,
body:not(.admin-page) .guard-card,
body:not(.admin-page) .rank-item,
body:not(.admin-page) .service-item,
body:not(.admin-page) .msg-item,
body:not(.admin-page) .product-card,
body:not(.admin-page) .fav-item{
  transition:transform .22s var(--mi-ease), box-shadow .22s var(--mi-ease);
}
body:not(.admin-page) .shop-card:active,
body:not(.admin-page) .tool-card:active,
body:not(.admin-page) .order-card:active,
body:not(.admin-page) .card:active,
body:not(.admin-page) .menu-card:active,
body:not(.admin-page) .user-card:active,
body:not(.admin-page) .guard-card:active{
  transform:scale(.975);
  box-shadow:var(--mi-shadow-press)!important;
}

/* ---------- 3. 顶栏 / 底部操作栏：MIUI 悬浮白条 ---------- */
body:not(.admin-page) .top-glass-bar,
body:not(.admin-page) .topbar,
body:not(.admin-page) .chat-header{
  background:rgba(255,255,255,.94)!important;
  background-image:none!important;
  border:none!important;
  -webkit-backdrop-filter:saturate(180%) blur(16px)!important;
  backdrop-filter:saturate(180%) blur(16px)!important;
  box-shadow:0 1px 0 rgba(24,30,60,.06)!important;
}
body:not(.admin-page) .bottom-bar{
  background:rgba(255,255,255,.96)!important;
  background-image:none!important;
  border:none!important;
  -webkit-backdrop-filter:saturate(180%) blur(16px)!important;
  backdrop-filter:saturate(180%) blur(16px)!important;
  box-shadow:0 -2px 14px rgba(24,30,60,.08)!important;
}
body:not(.admin-page) .chat-input-bar{
  background:var(--mi-surface2)!important;
  border:none!important;
  border-radius:var(--mi-r-sm)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* ---------- 4. 大标题 / 分区标题（MIUI 左侧渐变竖条） ---------- */
body:not(.admin-page) .page-header,
body:not(.admin-page) .hero{
  background:transparent!important;
  background-image:none!important;
  border:none!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) .page-title,
body:not(.admin-page) .hero h1{
  font-size:27px!important;
  font-weight:800!important;
  letter-spacing:-.6px!important;
  color:var(--mi-ink)!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
body:not(.admin-page) .section-title{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:var(--mi-ink)!important;
  margin:24px 20px 12px!important;
  background:none!important;
  -webkit-text-fill-color:currentColor!important;
}
body:not(.admin-page) .section-title::before{
  content:"";
  width:4px;height:15px;border-radius:3px;flex:0 0 4px;
  background:linear-gradient(180deg,#7c4dff,#2f6bff);
}

/* ---------- 5. 按钮：MIUI 蓝实心 + 圆角 ---------- */
body:not(.admin-page) .btn-primary,
body:not(.admin-page) .ent-btn-primary,
body:not(.admin-page) .btn-buy,
body:not(.admin-page) .btn-confirm,
body:not(.admin-page) .submit-btn,
body:not(.admin-page) .login-btn,
body:not(.admin-page) .register-btn,
body:not(.admin-page) .save-btn,
body:not(.admin-page) .checkin-btn,
body:not(.admin-page) .redeem-btn,
body:not(.admin-page) .query-order-btn,
body:not(.admin-page) .code-btn,
body:not(.admin-page) .send-code-btn,
body:not(.admin-page) .verify-btn,
body:not(.admin-page) .send-btn,
body:not(.admin-page) .cs-send,
body:not(.admin-page) .btn-submit,
body:not(.admin-page) .live-service-btn,
body:not(.admin-page) .pill-btn-primary{
  background:var(--mi-accent)!important;
  background-image:none!important;
  color:#fff!important;
  border:none!important;
  border-radius:var(--mi-r-sm)!important;
  box-shadow:0 6px 14px -8px rgba(47,107,255,.75)!important;
  font-weight:600!important;
}
body:not(.admin-page) .btn-outline,
body:not(.admin-page) .ent-btn-ghost,
body:not(.admin-page) .btn-cancel,
body:not(.admin-page) .btn-favorite,
body:not(.admin-page) .btn-comment,
body:not(.admin-page) .pill-btn-glass,
body:not(.admin-page) .pill-btn-warm,
body:not(.admin-page) .back-btn,
body:not(.admin-page) .order-btn,
body:not(.admin-page) .action-btn,
body:not(.admin-page) .report-btn,
body:not(.admin-page) .search-btn,
body:not(.admin-page) .like-btn,
body:not(.admin-page) .reply-btn,
body:not(.admin-page) .copy-btn,
body:not(.admin-page) .sw-btn,
body:not(.admin-page) .btn-glass{
  background:var(--mi-surface2)!important;
  background-image:none!important;
  border:none!important;
  border-radius:var(--mi-r-sm)!important;
  color:var(--mi-ink2)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) .btn-danger,
body:not(.admin-page) .ent-btn-danger,
body:not(.admin-page) .logout-btn,
body:not(.admin-page) .batch-delete-btn,
body:not(.admin-page) .remove-btn{
  background:rgba(255,59,48,.10)!important;
  background-image:none!important;
  color:var(--mi-danger)!important;
  border:none!important;
  border-radius:var(--mi-r-sm)!important;
  box-shadow:none!important;
}
/* 内联渐变按钮：统一成 MIUI 蓝 */
body:not(.admin-page) a[style*="linear-gradient"],
body:not(.admin-page) button[style*="linear-gradient"]{
  background-image:none!important;
  background-color:var(--mi-accent)!important;
  color:#fff!important;
  border:none!important;
  box-shadow:0 6px 14px -8px rgba(47,107,255,.75)!important;
}
body:not(.admin-page) [style*="linear-gradient"],
body:not(.admin-page) [style*="radial-gradient"]{ background-image:none!important; }

/* ---------- 6. 表单：MIUI 灰底无边框输入框 ---------- */
body:not(.admin-page) .form-input,
body:not(.admin-page) .form-textarea,
body:not(.admin-page) .form-select,
body:not(.admin-page) .ent-input,
body:not(.admin-page) .search-input,
body:not(.admin-page) .remark-input,
body:not(.admin-page) .boost-select,
body:not(.admin-page) .cs-input,
body:not(.admin-page) .cs-input input,
body:not(.admin-page) .chat-input-bar input,
body:not(.admin-page) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]):not([type=submit]):not([type=button]),
body:not(.admin-page) textarea,
body:not(.admin-page) select{
  background:var(--mi-surface2)!important;
  background-image:none!important;
  border:none!important;
  border-radius:var(--mi-r-sm)!important;
  color:var(--mi-ink)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) input:focus,
body:not(.admin-page) textarea:focus,
body:not(.admin-page) select:focus{
  background:#fff!important;
  box-shadow:0 0 0 2px var(--mi-accent)!important;
}
body:not(.admin-page) .form-label,
body:not(.admin-page) .ent-label,
body:not(.admin-page) .section-label{ color:var(--mi-sub)!important; }

/* ---------- 7. 徽章 / 标签 ---------- */
body:not(.admin-page) .badge,
body:not(.admin-page) .tag,
body:not(.admin-page) .label,
body:not(.admin-page) .chip,
body:not(.admin-page) .ent-badge,
body:not(.admin-page) .status-badge,
body:not(.admin-page) .order-status,
body:not(.admin-page) .status-tag,
body:not(.admin-page) .shop-card-badge,
body:not(.admin-page) .shop-badge-tag,
body:not(.admin-page) .role-tag,
body:not(.admin-page) .unread-badge,
body:not(.admin-page) .sw-tag{
  border:none!important;
  border-radius:999px!important;
  background-image:none!important;
  box-shadow:none!important;
  font-weight:600!important;
}
body:not(.admin-page) .badge-official,
body:not(.admin-page) .order-status.paid,
body:not(.admin-page) .status-tag.paid{ background:rgba(47,107,255,.10)!important; color:#1d4ed8!important; }
body:not(.admin-page) .badge-owner,
body:not(.admin-page) .order-status.unpaid,
body:not(.admin-page) .status-tag.unpaid,
body:not(.admin-page) .points-badge{ background:rgba(247,152,28,.12)!important; color:#b45309!important; }
body:not(.admin-page) .price,
body:not(.admin-page) .product-price,
body:not(.admin-page) .price-text,
body:not(.admin-page) .order-amount{ color:#ff3b30!important; background:none!important; -webkit-text-fill-color:currentColor!important; }

/* ---------- 8. 列表行 / 菜单（MIUI 设置页风格） ---------- */
body:not(.admin-page) .menu-item,
body:not(.admin-page) .list-row,
body:not(.admin-page) .setting-row{
  background:var(--mi-surface)!important;
  color:var(--mi-ink)!important;
  border-bottom:1px solid var(--mi-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body:not(.admin-page) .menu-item:active,
body:not(.admin-page) .list-row:active{ background:#f5f6f8!important; }
body:not(.admin-page) .menu-card{ overflow:hidden!important; }
body:not(.admin-page) .menu-icon,
body:not(.admin-page) .tool-icon,
body:not(.admin-page) .func-icon,
body:not(.admin-page) .entry-icon{
  border-radius:13px!important;
  background-image:none!important;
  box-shadow:none!important;
}
body:not(.admin-page) .menu-icon.order,
body:not(.admin-page) .menu-icon.user,
body:not(.admin-page) .menu-icon.lock,
body:not(.admin-page) .menu-icon.msg,
body:not(.admin-page) .menu-icon.fav{
  background-color:var(--mi-accent)!important;
  color:#fff!important;
}
body:not(.admin-page) .menu-text,
body:not(.admin-page) .list-row-title{ font-size:15.5px!important; font-weight:600!important; color:var(--mi-ink)!important; }
body:not(.admin-page) .menu-arrow{ color:var(--mi-mute)!important; }

/* ---------- 9. 弹窗 / 遮罩 ---------- */
body:not(.admin-page) .modal-overlay,
body:not(.admin-page) .notice-mask,
body:not(.admin-page) .shop-notice-mask,
body:not(.admin-page) .cs-mask,
body:not(.admin-page) .plus-mask,
body:not(.admin-page) .report-modal{
  background:rgba(16,20,32,.32)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) .modal-box,
body:not(.admin-page) .modal-content,
body:not(.admin-page) .glass-modal-box,
body:not(.admin-page) .dialog,
body:not(.admin-page) .popup,
body:not(.admin-page) .notice-card,
body:not(.admin-page) .notice-box,
body:not(.admin-page) .shop-notice-card,
body:not(.admin-page) .shop-notice-box,
body:not(.admin-page) .cs-sheet,
body:not(.admin-page) .report-box,
body:not(.admin-page) .plus-panel{
  background:var(--mi-surface)!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border:none!important;
  border-radius:var(--mi-r-lg)!important;
  box-shadow:0 24px 60px -24px rgba(16,20,32,.42)!important;
}
body:not(.admin-page) .modal-title,
body:not(.admin-page) .glass-modal-title{ color:var(--mi-ink)!important; font-weight:700!important; }

/* ---------- 10. 空状态 / 头像 / 聊天 ---------- */
body:not(.admin-page) .empty-state,
body:not(.admin-page) .empty-box,
body:not(.admin-page) .no-data,
body:not(.admin-page) .no-result,
body:not(.admin-page) .cs-empty,
body:not(.admin-page) .empty-chat{
  background:var(--mi-surface)!important;
  background-image:none!important;
  border:none!important;
  border-radius:var(--mi-r-lg)!important;
  color:var(--mi-sub)!important;
  box-shadow:var(--mi-shadow)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) .avatar-img,
body:not(.admin-page) .user-avatar,
body:not(.admin-page) .cmt-avatar,
body:not(.admin-page) .msg-avatar,
body:not(.admin-page) .rank-avatar,
body:not(.admin-page) .shop-card-avatar-wrap,
body:not(.admin-page) .shop-avatar-wrap,
body:not(.admin-page) .service-avatar,
body:not(.admin-page) .podium-avatar,
body:not(.admin-page) .author-avatar,
body:not(.admin-page) .sw-avatar,
body:not(.admin-page) .profile-avatar{
  border:none!important;
  box-shadow:none!important;
  background:var(--mi-surface2)!important;
}
body:not(.admin-page) img{ background-color:var(--mi-surface2)!important; }
body:not(.admin-page) .msg-bubble,
body:not(.admin-page) .msg-row.other .msg-bubble{
  background:var(--mi-surface2)!important;
  background-image:none!important;
  border:none!important;
  border-radius:16px!important;
  color:var(--mi-ink)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) .msg-row.mine .msg-bubble{
  background:var(--mi-accent)!important;
  background-image:none!important;
  border:none!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* ---------- 11. 表格 ---------- */
body:not(.admin-page) table{
  background:var(--mi-surface)!important;
  border:none!important;
  border-radius:var(--mi-r)!important;
  box-shadow:var(--mi-shadow)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:not(.admin-page) th{ background:var(--mi-surface2)!important; color:var(--mi-sub)!important; }
body:not(.admin-page) td,
body:not(.admin-page) th{ border-bottom:1px solid var(--mi-line)!important; }

/* ---------- 12. 清理玻璃层残留（更干净，也更省性能） ---------- */
body:not(.admin-page) .rank-list,
body:not(.admin-page) .service-list,
body:not(.admin-page) .msg-list,
body:not(.admin-page) .shop-list,
body:not(.admin-page) .filter-chips{ overscroll-behavior-y:contain; }

/* ---------- 13. 后台：轻量 MIUI 化（只统一卡片 / 按钮 / 输入 / 表格） ---------- */
body.admin-page{ --mi-surface:#ffffff; --mi-r:14px; --mi-shadow:0 2px 10px rgba(24,30,60,.06); }
body.admin-page .card,
body.admin-page .admin-card,
body.admin-page .stat-card,
body.admin-page .panel{
  border-radius:var(--mi-r)!important;
  border:none!important;
  box-shadow:var(--mi-shadow)!important;
}
body.admin-page .btn,
body.admin-page button,
body.admin-page .btn-primary{ border-radius:12px!important; }
body.admin-page .form-input,
body.admin-page input[type=text],
body.admin-page input[type=password],
body.admin-page textarea,
body.admin-page select{ border-radius:12px!important; }
body.admin-page table{ border-radius:14px!important; box-shadow:var(--mi-shadow)!important; }
body.admin-page th{ background:#f2f3f5!important; color:#9aa0ad!important; }

/* ---------- 14. 无障碍：降低透明度时全部走实色 ---------- */
@media (prefers-reduced-transparency: reduce){
  body:not(.admin-page) .top-glass-bar,
  body:not(.admin-page) .topbar,
  body:not(.admin-page) .chat-header,
  body:not(.admin-page) .bottom-bar{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:#fff!important;
  }
}
