/* ==========================================================================
   Nova 主题 · 内页样式（购物大厅 / 个人中心）
   配色与首页一致：主题蓝 #1256d4 / 深蓝 #0d3f9e / 浅底 #f7faff / 描边 #e8eefb
   ========================================================================== */

/* ---------- 内页顶栏：与首页一样实占高度、白底 ---------- */
body.nv-page .pls-nav-air .pls-nav-mod{position:relative}
body.nv-page .pls-nav-air .pls-nav-mod:before{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
body.nv-page .pls-nav-air .pls-nav-top{background:#fff}
body.nv-page .pls-nav-air .pls-nav-top:after{background:#e5e9f2;opacity:1}
body.nv-page{background:#f7faff}

/* ---------- 导航菜单：内外页统一间距（首页/购物大厅/会员中心共用） ---------- */
.pls-nav-list .pls-nav-item{margin:0 18px}
.pls-nav-list .pls-nav-item:first-child{margin-left:0}
.pls-nav-list .pls-nav-item:last-child{margin-right:0}

/* ---------- 页头 ---------- */
.nvp-wrap{max-width:1440px;margin:0 auto;padding:0 28px}
.nvp-hero{position:relative;overflow:hidden;background:
  radial-gradient(1100px 260px at 14% -50%,rgba(78,136,245,.20),transparent 62%),
  radial-gradient(760px 220px at 92% -30%,rgba(18,86,212,.10),transparent 60%),
  linear-gradient(180deg,#edf4ff 0%,#f7faff 72%,#f7faff 100%);
  border-bottom:1px solid #e6edf9;padding:26px 0 30px}
/* 细横纹底纹（直角风格的点缀，不影响内容） */
.nvp-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:78px;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,rgba(18,86,212,.07) 0 1px,transparent 1px 64px);
  opacity:.55}
.nvp-hero>.nvp-wrap{position:relative;z-index:1}

/* ---------- 购物大厅页头：横幅背景图（左侧加白纱保证标题可读） ---------- */
body.nv-store .nvp-hero{
  display:flex;align-items:center;min-height:270px;padding:28px 0 32px;
  background-image:
    linear-gradient(90deg,rgba(247,250,255,.94) 0%,rgba(247,250,255,.80) 36%,rgba(247,250,255,.34) 66%,rgba(247,250,255,.10) 100%),
    url(../images/hero/store-hero.jpg);
  background-size:cover,auto 100%;
  background-position:center center,right center;
  background-repeat:no-repeat,no-repeat;
  border-bottom:1px solid #e6edf9}
body.nv-store .nvp-hero:after{display:none}
body.nv-store .nvp-hero>.nvp-wrap{width:100%}

/* 购物大厅：横向通栏（内容铺满视口，仅留安全边距） */
body.nv-store .nvp-wrap{max-width:none;padding:0 28px}

/* 购物大厅：底色加深一档，让「导航条 / 分类卡 / 商品卡」三层浮起来 */
body.nv-store{background:#eef3fa}
/* ---------- 内页固定：导航 / 页头 / 列表标题不随页面滚动 ---------- */
body.nv-page .pls-nav-air{position:sticky;top:0;z-index:1200;background:#fff}
/* 购物大厅：导航白条下加一道淡投影，与吸顶的「公告 + 标题」白容器分层 */
body.nv-store .pls-nav-air{box-shadow:0 10px 22px -20px rgba(15,40,90,.55)}
/* 购物大厅页头不吸顶：原来 sticky 在 62px 且 z-index 900，滚动后会把下方吸顶的
   「公告 + 标题」整块盖住（公告看起来"消失"），这里改为正常滚动 */
body.nv-store .nvp-hero{position:relative;z-index:1}
/* 列表顶部：一块白底容器，把「公告条 + 标题行」一起装进去，整块吸顶；
   左右贴边（左侧贴分类卡、右侧贴屏幕），上方贴页头 */
body.nv-store .nvp-main-top{position:sticky;top:62px;z-index:800;background:#fff;
  border:1px solid #e3ebf7;border-left:0;border-right:0;border-top:0;
  margin:-22px -28px 14px -20px;padding:14px 28px;
  box-shadow:inset 0 1px 0 #dfe9f7,0 18px 36px -34px rgba(15,40,90,.6)}
body.nv-store .nvp-main-hd{position:static;background:transparent;border:0;
  margin:0;padding:0;box-shadow:none}
/* 容器内的公告条：保留原有的浅蓝底与左侧蓝线，只把外边距收进容器；
   滚动列表（容器吸顶）时收起，只留标题行 */
body.nv-store .nvp-main-top .nvp-notice-box{margin:0 0 12px;padding:12px 14px;
  border:1px solid #dbe7fa;border-left:3px solid #1256d4;
  background:linear-gradient(90deg,#f2f7ff 0%,#fafdff 58%,#ffffff 100%);
  max-height:200px;overflow:hidden;opacity:1;
  transition:max-height .24s ease,opacity .16s ease,margin-bottom .24s ease,
    padding-top .24s ease,padding-bottom .24s ease}
body.nv-store .nvp-main-top.is-stuck .nvp-notice-box{max-height:0;opacity:0;margin-bottom:0;
  padding-top:0;padding-bottom:0;border-width:0}
/* 分类卡：贴左贴边、上下通栏（导航下沿 → 视口底部），幻彩毛玻璃 + 顶部多彩细线 */
body.nv-store .nvp-side{position:fixed;left:0;top:62px;bottom:0;width:248px;
  max-height:none;overflow-y:auto;overflow-x:hidden;z-index:700;
  background:
    linear-gradient(165deg,rgba(255,255,255,.8) 0%,rgba(255,255,255,.4) 44%,rgba(255,255,255,.68) 100%),
    linear-gradient(150deg,rgba(186,230,253,.62) 0%,rgba(221,214,254,.55) 38%,rgba(251,207,232,.5) 70%,rgba(209,250,229,.56) 100%);
  -webkit-backdrop-filter:blur(22px) saturate(190%);backdrop-filter:blur(22px) saturate(190%);
  background-origin:border-box;background-clip:border-box;
  border:0;border-top:2px solid transparent;
  border-image:linear-gradient(90deg,#f0abfc,#a78bfa,#7dd3fc,#6ee7b7) 1;
  box-shadow:18px 0 36px -32px rgba(15,40,90,.45);
  scrollbar-width:none;-ms-overflow-style:none}
body.nv-store .nvp-side::-webkit-scrollbar{width:0;height:0}
body.nv-store .nvp-main{margin-left:240px}
/* 页脚：购物大厅去掉上方服务保障条；正式页脚贴页底并居中 */
body.nv-store .pls-footer{display:none}
body.nv-store{display:flex;flex-direction:column;min-height:100vh}
body.nv-store .nv-main{flex:1 1 auto}
body.nv-store .nv-footer{margin:0 28px 0 268px;padding:16px 0;text-align:center;background:transparent}
body.nv-store .nv-footer .container{max-width:none;padding:0}
.nvp-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#8593a8}
.nvp-crumb a{color:#8593a8}
.nvp-crumb a:hover{color:#1256d4}
.nvp-crumb i{font-style:normal;color:#c2cbd9}
.nvp-crumb b{color:#0d3f9e;font-weight:600}
.nvp-hero h1{margin:14px 0 0;font-size:30px;line-height:1.22;font-weight:800;letter-spacing:-1px;
  color:#0b1526;background:linear-gradient(180deg,#0b1526 32%,#28456f 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nvp-hero p{margin:10px 0 0;max-width:780px;font-size:13.5px;line-height:1.85;color:#64748b}
.nvp-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.nvp-hero-meta span{display:inline-flex;align-items:baseline;gap:6px;padding:6px 13px;background:#fff;
  border:1px solid #dbe7fa;font-size:12.5px;color:#4b5f85;
  box-shadow:0 8px 18px -18px rgba(15,40,90,.55)}
.nvp-hero-meta b{color:#1256d4;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}

/* ---------- 两栏骨架 ---------- */
.nvp-body{display:flex;align-items:flex-start;gap:20px;padding:22px 0 60px}
.nvp-side{flex:none;width:252px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  border:1px solid #e6edf9;border-top:2px solid #1256d4;
  padding:12px;position:sticky;top:78px;box-shadow:0 16px 40px -34px rgba(15,40,90,.5);
  max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.nvp-side::-webkit-scrollbar{width:6px}
.nvp-side::-webkit-scrollbar-thumb{background:#d8e2f0}
.nvp-side::-webkit-scrollbar-thumb:hover{background:#b9c9de}
.nvp-side-hd{display:flex;align-items:center;gap:8px;padding:4px 8px 12px;font-size:12px;font-weight:700;
  letter-spacing:.6px;color:#8593a8;border-bottom:1px solid #eef3fb;margin-bottom:8px}
.nvp-side-hd:before{content:"";width:6px;height:6px;background:#1256d4;flex:none}
.nvp-side-hd>span{flex:1 1 auto;color:#33415c}
.nvp-side-hd>em{flex:none;font-style:normal;font-size:11px;font-weight:600;letter-spacing:0;
  color:#0d3f9e;background:#eef4ff;border:1px solid #dbe7fa;padding:1px 7px}
.nvp-main{flex:1 1 auto;min-width:0}

/* ---------- 分类树（一级点击展开二级，只开一个） ---------- */
.nvp-tree>.nvp-tg+.nvp-tg{border-top:1px solid #f1f5fb}
.nvp-t1{display:flex;align-items:center;gap:8px;padding:10px 10px;font-size:13.5px;line-height:20px;
  color:#33415c;cursor:pointer;transition:background .18s,color .18s}
.nvp-t1>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvp-t1>em{flex:none;font-style:normal;font-size:11.5px;line-height:16px;padding:0 6px;color:#1256d4;background:#eef4ff}
.nvp-t1:hover{background:#f7faff;color:#1256d4}
.nvp-t1.on{color:#1256d4;font-weight:700;
  background:linear-gradient(90deg,#eef4ff 0%,#f8fbff 100%);box-shadow:inset 3px 0 0 #1256d4}
.nvp-t1 .nvp-car{flex:none;font-style:normal;font-size:13px;color:#b6c0d0;transition:transform .18s}
.nvp-tg.open>.nvp-t1 .nvp-car{transform:rotate(90deg);color:#1256d4}
.nvp-sub{display:none;padding:2px 0 8px 14px;margin-left:10px;border-left:2px solid #e6eefb}
.nvp-tg.open>.nvp-sub{display:block}
.nvp-t2{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;line-height:20px;color:#4b5563}
.nvp-t2>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvp-t2:hover{color:#1256d4;background:#f7faff}
.nvp-t2.on{color:#1256d4;font-weight:600;background:#eef4ff}
/* 商品数量角标 */
.nvp-t1>em.cnt,.nvp-t2>em.cnt{font-style:normal;font-size:11px;line-height:16px;padding:0 5px;
  color:#1256d4;background:#eef4ff}
.nvp-t1.on>em.cnt{background:#dbe9fd;color:#0d3f9e}
.nvp-t2>em.cnt{margin-left:auto}

/* ---------- 购物大厅 · 分类卡层级：一级分组醒目、二级退后 ---------- */
body.nv-store .nvp-side{padding:10px 10px 22px}
body.nv-store .nvp-side-hd{padding:6px 8px 11px;margin-bottom:6px;font-size:12.5px;letter-spacing:.4px}
body.nv-store .nvp-side-hd>span{color:#0b1526;font-weight:800}
body.nv-store .nvp-side-hd{border-bottom-color:rgba(255,255,255,.75)}
body.nv-store .nvp-tree>.nvp-tg+.nvp-tg{border-top:1px solid rgba(255,255,255,.6)}
body.nv-store .nvp-t1{padding:11px 10px;font-size:14px;font-weight:700;color:#16233c;letter-spacing:-.1px;
  border-left:3px solid transparent}
/* 一级分组角标（测试 / 新…）用绿色，与商品卡「充足」标签同色；数量角标仍保持蓝色 */
body.nv-store .nvp-t1>em:not(.cnt){color:#fff;background:#16a34a}
body.nv-store .nvp-t1:hover{background:rgba(255,255,255,.55);color:#1256d4;border-left-color:#c3d7f5}
body.nv-store .nvp-t1.on,
body.nv-store .nvp-tg.open>.nvp-t1{color:#0d3f9e;font-weight:800;border-left-color:#1256d4;
  background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.4));box-shadow:none}
body.nv-store .nvp-t2{font-size:12.8px;font-weight:400;color:#5b6c84}
body.nv-store .nvp-t2:hover{color:#1256d4;background:rgba(255,255,255,.5)}
body.nv-store .nvp-t2.on{color:#0d3f9e;font-weight:700;background:rgba(255,255,255,.78)}

/* ---------- 商品列表（竖向卡片，一行多张） ---------- */
.nvp-main-hd{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;
  margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e9f0fb}
.nvp-main-hd h2{margin:0;flex:none;display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;
  letter-spacing:-.4px;color:#0b1526;white-space:nowrap}
.nvp-main-hd h2:before{content:"";width:7px;height:18px;background:linear-gradient(180deg,#4e88f5,#1256d4);flex:none}
.nvp-main-hd-l{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;flex:1 1 auto;min-width:0}
/* 分组标语（后台 商品分组 → 标语 tagline）：与标题同一排，超长省略不折行 */
.nvp-main-hd .nvp-tagline{position:relative;flex:1 1 auto;min-width:0;margin:0;padding:6px 12px;
  font-size:12.5px;line-height:1.6;font-weight:600;color:#0d3f9e;
  background:linear-gradient(90deg,#eef4ff 0%,#f7faff 100%);
  border:1px solid #dbe7fa;border-left:3px solid #1256d4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}
.nvp-tagline .nvp-tagline-t{display:inline-block;white-space:nowrap}
/* 内容超长：复制一份首尾相接，整体左移一段距离后循环，形成连续滚动 */
.nvp-tagline.is-scroll{text-overflow:clip}
.nvp-tagline.is-scroll .nvp-tagline-t{padding-right:48px;
  animation:nvTagScroll var(--nv-tag-dur,14s) linear infinite}
.nvp-tagline.is-scroll:hover .nvp-tagline-t{animation-play-state:paused}
@keyframes nvTagScroll{from{transform:translateX(0)}to{transform:translateX(calc(-1 * var(--nv-tag-dist,600px)))}}
.nvp-main-hd>span{font-size:12.5px;color:#0d3f9e;background:#eef4ff;border:1px solid #dbe7fa;
  padding:4px 11px;font-weight:600;flex:none}
/* PC 端固定一行四张；卡片整体放大、加高 */
/* 列表公告（独立后台配置 pages.store.notice） */
.nvp-notice-box{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:15px 18px;
  background:linear-gradient(90deg,#f2f7ff 0%,#fafdff 58%,#ffffff 100%);
  border:1px solid #dbe7fa;border-left:3px solid #1256d4;
  color:#22314a;font-size:14px;line-height:1.9;
  box-shadow:0 14px 34px -30px rgba(18,86,212,.55)}
.nvp-notice-box .ni{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.nvp-notice-box .ni svg{width:24px;height:24px;display:block}
.nvp-notice-box .tx{flex:1 1 auto;min-width:0;word-break:break-word;font-weight:500}
.nvp-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1400px){.nvp-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1024px){.nvp-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nvp-item{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;overflow:hidden;
  min-height:330px;
  background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
  border:1px solid #e6edf9;padding:16px 16px 14px 18px;
  box-shadow:0 12px 28px -32px rgba(15,40,90,.5);
  transition:border-color .22s,box-shadow .22s,background .22s}
/* 卡片右上角装饰背景图（向下渐隐） */
.nvp-item:after{content:"";position:absolute;top:0;right:0;width:100%;height:120px;
  background:url(../images/card-bg.png) no-repeat right top / auto 100%;
  -webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent);
  mask-image:linear-gradient(to bottom,#000 40%,transparent);
  pointer-events:none;z-index:0;opacity:.9}
.nvp-item-main,.nvp-item-buy{position:relative;z-index:1}
.nvp-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;
  transition:background .22s}
.nvp-item:hover{background:#fff;border-color:#c9dcfb;box-shadow:0 20px 44px -32px rgba(18,86,212,.45)}
.nvp-item:hover:before{background:linear-gradient(180deg,#4e88f5,#1256d4)}
.nvp-item.is-out{background:#fcfdff}
.nvp-item-main{flex:1 1 auto;min-width:0}
.nvp-item-hd{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.nvp-item-hd h3{margin:0;flex:1 1 auto;min-width:0;font-size:15px;line-height:1.4;font-weight:700;color:#12213a;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.nvp-specs--grid{margin:12px 0 0;display:grid;grid-template-columns:1fr;gap:3px 0}
.nvp-specs--grid li{position:relative;display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.8;
  min-width:0;padding:1px 0;background:none;border:0}
/* 每项前的小图标（浅色底 + 主题色线条），对齐成一条竖线 */
.nvp-ic{flex:0 0 20px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.nvp-ic svg{width:13px;height:13px;display:block}
/* 规格名固定同宽，值统一从左对齐成一条竖线 */
.nvp-specs .k{flex:0 0 56px;color:#6b7a90;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nvp-specs .v{flex:1 1 auto;min-width:0;color:#22314a;font-weight:600;word-break:break-word}
.nvp-specs .dim{color:#a8b3c4;font-weight:400}
/* 价格 + 立即购买压成一行，去掉整块面板占位 */
.nvp-item-buy{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:2px;padding:9px 0 0;background:none;border:0;border-top:1px solid #eef3fb}
.nvp-price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;min-width:0;justify-content:flex-start}
.nvp-price .amt{font-size:18px;font-weight:800;letter-spacing:-.5px;color:#1256d4;font-variant-numeric:tabular-nums}
.nvp-price .old{font-size:11.5px;color:#a8b3c4}
.nvp-price .cyc{font-size:11.5px;color:#8593a8}
.nvp-item-buy .nvp-buy{flex:none;width:auto;justify-content:center;padding:7px 14px;font-size:12.5px;
  background:linear-gradient(135deg,#2f6fe4,#1256d4);border-color:#1256d4;
  box-shadow:0 10px 20px -16px rgba(18,86,212,.85)}
.nvp-item-buy .nvp-buy:hover{background:linear-gradient(135deg,#1256d4,#0d3f9e);border-color:#0d3f9e}
.nvp-tag{flex:none;font-size:11px;line-height:17px;padding:1px 8px;border:1px solid #dbe7fa;color:#4b5f85;background:#f7fbff;
  white-space:nowrap;font-weight:600}
.nvp-tag.ok{color:#fff;border-color:#16a34a;background:#16a34a}
.nvp-tag.warn{color:#fff;border-color:#f59e0b;background:#f59e0b}
.nvp-tag.off{color:#fff;border-color:#dc2626;background:#dc2626}
.nvp-tag.hot{color:#fff;border-color:#1256d4;background:#1256d4}
.nvp-buy{flex:none;display:inline-flex;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:700;
  color:#fff;background:#1256d4;border:1px solid #1256d4;transition:background .2s,border-color .2s}
.nvp-buy:hover{background:#0d3f9e;border-color:#0d3f9e;color:#fff}
.nvp-buy.dis{background:#eef2f8;border-color:#e6ecf5;color:#a8b3c4;cursor:not-allowed}
.nvp-empty{padding:76px 20px;text-align:center;color:#8593a8;font-size:13.5px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px dashed #dbe7fa}

/* ---------- 个人中心 ---------- */
.nvp-uc-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nvp-av{flex:none;width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;color:#fff;background:linear-gradient(135deg,#4e88f5,#0d3f9e);overflow:hidden}
.nvp-av img{width:100%;height:100%;object-fit:cover}
.nvp-uc-id b{display:block;font-size:19px;font-weight:800;color:#0b1526}
.nvp-uc-id em{font-style:normal;font-size:12.5px;color:#64748b}
.nvp-bal{margin-left:auto;display:flex;align-items:baseline;gap:8px;padding:10px 18px;background:#fff;border:1px solid #dbe7fa}
.nvp-bal span{font-size:12.5px;color:#64748b}
.nvp-bal b{font-size:23px;font-weight:800;color:#1256d4;font-variant-numeric:tabular-nums}
.nvp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.nvp-stat{display:block;background:#fff;border:1px solid #e8eefb;border-radius:14px;padding:16px 18px;
  box-shadow:0 12px 30px -32px rgba(15,40,90,.45);transition:border-color .2s,box-shadow .2s}
.nvp-stat:hover{border-color:#c9dcfb;box-shadow:0 18px 34px -30px rgba(18,86,212,.5)}
.nvp-stat .k{font-size:12.5px;color:#8593a8}
.nvp-stat .v{margin-top:8px;font-size:26px;font-weight:800;line-height:1.1;color:#0b1526;font-variant-numeric:tabular-nums}
.nvp-stat.warn .v{color:#b45309}
.nvp-stat a.more{display:inline-block;margin-top:10px;font-size:12px;color:#1256d4}
.nvp-panels{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}
.nvp-panel{background:#fff;border:1px solid #e8eefb;border-radius:14px;padding:16px 18px 8px;
  box-shadow:0 12px 30px -34px rgba(15,40,90,.4)}
.nvp-panel-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.nvp-panel-hd h3{margin:0;font-size:14.5px;font-weight:700;color:#12213a}
.nvp-panel-hd a{font-size:12.5px;color:#1256d4}
.nvp-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #f1f5fb;font-size:13px}
.nvp-row:first-of-type{border-top:0}
.nvp-row .nm{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#33415c}
.nvp-row .dt{flex:none;font-size:12px;color:#95a2b6}
.nvp-row .am{flex:none;font-size:13px;font-weight:700;color:#1256d4;font-variant-numeric:tabular-nums}
.nvp-none{padding:26px 0 30px;text-align:center;font-size:12.5px;color:#a8b3c4}

/* ---------- 会员中心（仪表盘）：左主区 + 右侧信息栏 ---------- */
.nvp-uc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.nvp-uc-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.nvp-uc-grid .nvp-stats{margin-bottom:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.nvp-uc-grid .nvp-stat{border-radius:0;padding:14px 16px}
.nvp-stat .v .u{font-style:normal;font-size:12px;font-weight:600;color:#8593a8;margin-left:4px}
.nvp-stat .more{display:inline-block;margin-top:10px;font-size:12px;color:#8593a8;padding-top:9px;
  border-top:1px solid #eef3fb;width:100%}
.nvp-stat:hover .more{color:#1256d4}
/* 卡片 */
.nvp-card{background:#fff;border:1px solid #e8eefb;padding:16px 18px;border-radius:0;
  box-shadow:0 12px 30px -34px rgba(15,40,90,.4)}
.nvp-card-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #eef3fb}
.nvp-card-hd h3{margin:0;display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:#12213a}
.nvp-card-hd h3:before{content:"";width:3px;height:14px;background:#1256d4;flex:none}
.nvp-card-hd a{font-size:12.5px;color:#1256d4;flex:none}
.nvp-card-none{padding:24px 0 20px;text-align:center;font-size:12.5px;color:#a8b3c4}
.nvp-card-none .nvp-buy{margin-top:12px;display:inline-flex}
/* 已开通产品 */
.nvp-prods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nvp-prod{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;
  border:1px solid #e8eefb;background:#fbfdff;color:#33415c;font-size:13px;
  transition:border-color .18s,background .18s,color .18s}
.nvp-prod>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvp-prod>em{flex:none;font-style:normal;font-size:12px;color:#8593a8}
.nvp-prod:hover{border-color:#c9dcfb;background:#f4f9ff;color:#1256d4}
.nvp-prod:hover>em{color:#1256d4}
/* 资源列表表格 */
.nvp-table-wrap{overflow-x:auto}
.nvp-table{width:100%;border-collapse:collapse;font-size:12.5px}
.nvp-table th{text-align:left;font-weight:600;color:#8593a8;background:#f8fbff;
  padding:9px 8px;border-bottom:1px solid #eef3fb;white-space:nowrap}
.nvp-table td{padding:10px 8px;border-bottom:1px solid #f4f7fc;color:#33415c;white-space:nowrap}
.nvp-table tr:last-child td{border-bottom:0}
.nvp-table td a{color:#1256d4}
.nvp-table-none{text-align:center;color:#a8b3c4;padding:26px 0!important}
/* 右侧账号卡 */
.nvp-av--sm{width:48px;height:48px;font-size:19px}
.nvp-who{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #eef3fb}
.nvp-who-id{flex:1 1 auto;min-width:0}
.nvp-who-id>b{display:block;font-size:15px;font-weight:800;color:#0b1526;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvp-who-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.nvp-who-tags em{font-style:normal;font-size:11px;line-height:17px;padding:0 6px;
  color:#6b7a90;background:#f2f6fc;border:1px solid #e6eefb}
.nvp-who-tags em.ok{color:#15803d;background:#f0fdf4;border-color:#c9efd6}
.nvp-who-more{flex:none;font-size:12.5px;color:#1256d4}
.nvp-who-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px}
.nvp-who-stats a{text-align:center;padding:6px 0;border-left:1px solid #eef3fb}
.nvp-who-stats a:first-child{border-left:0}
.nvp-who-stats b{display:block;font-size:19px;font-weight:800;color:#0b1526;font-variant-numeric:tabular-nums}
.nvp-who-stats span{font-size:12px;color:#8593a8}
.nvp-who-stats a:hover b{color:#1256d4}
/* 费用信息 */
.nvp-bal-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.nvp-fin-k{display:block;font-size:12px;color:#8593a8;margin-bottom:3px}
.nvp-fin-amt{font-size:23px;font-weight:800;color:#1256d4;font-variant-numeric:tabular-nums}
.nvp-buy--sm{padding:6px 14px;font-size:12.5px}
.nvp-fin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nvp-fin .it{display:block;padding:10px 12px;background:#f8fbff;border:1px solid #eef3fb;
  transition:border-color .18s,background .18s}
.nvp-fin .it span{display:block;font-size:12px;color:#8593a8;margin-bottom:3px}
.nvp-fin .it b{font-size:15px;font-weight:700;color:#12213a;font-variant-numeric:tabular-nums}
.nvp-fin .it:hover{border-color:#c9dcfb;background:#f2f8ff}
.nvp-fin .it:hover b{color:#1256d4}
/* 公告 / 文档列表 */
.nvp-news{list-style:none;margin:0;padding:0}
.nvp-news li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f4f7fc;font-size:13px}
.nvp-news li:last-child{border-bottom:0;padding-bottom:0}
.nvp-news li>a{flex:1 1 auto;min-width:0;color:#33415c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nvp-news li>a:hover{color:#1256d4}
.nvp-news .dt{flex:none;font-style:normal;font-size:12px;color:#a8b3c4}
.nvp-news-none{color:#a8b3c4;font-size:12.5px;justify-content:center}
@media(max-width:1180px){
  .nvp-uc-grid{grid-template-columns:1fr}
  .nvp-uc-grid .nvp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.nv-uc .nvp-side{position:static;left:auto;top:auto;bottom:auto;width:auto;
    max-height:none;overflow:visible;border-right:0}
  body.nv-uc .nvp-main{margin-left:0}
  body.nv-uc .nv-footer{margin:0 20px}
  body.nv-uc .nvp-hero{margin-left:0;margin-right:0}
  body.nv-uc .nvp-uc-notice{margin:14px 20px 0}
  body.nv-uc .nvp-hero>.nvp-wrap{padding-left:32px;padding-right:32px}
}
@media(max-width:600px){
  .nvp-uc-grid .nvp-stats{grid-template-columns:1fr}
  .nvp-prods{grid-template-columns:1fr}
}

/* ---------- 会员中心：通栏大屏视觉 ---------- */
/* 顶栏右侧的「文档 / 控制台」与本页导航重复，个人中心不展示 */
body.nv-uc .pls-nav-top-links{display:none}
body.nv-uc{background:#f4f8ff}
body.nv-uc .nvp-wrap{max-width:none;padding:0 32px}
body.nv-uc .nvp-body{gap:22px;padding:26px 0 64px}
/* 顶部公告栏（后台 系统公告 → client_notice），位置与横幅对齐、避开侧栏 */
body.nv-uc .nvp-uc-notice{margin:18px 32px 14px 280px}
.nvp-uc-notice-in{display:flex;align-items:flex-start;gap:10px;padding:11px 16px;
  background:linear-gradient(90deg,#eef4ff 0%,#f7faff 100%);
  border:1px solid #dbe7fa;border-left:3px solid #1256d4;
  color:#33415c;font-size:13px;line-height:1.75}
.nvp-uc-notice-in .ni{flex:none;display:flex;align-items:center;height:22px;color:#1256d4}
.nvp-uc-notice-in .ni svg{width:16px;height:16px;display:block}
.nvp-uc-notice-in .tx{flex:1 1 auto;min-width:0;word-break:break-word}
.nvp-uc-notice-in .tx b{margin-right:8px;color:#0d3f9e}
/* 头部横幅：背景图右侧固定（不超出视口），左侧加白纱保证文字可读 */
body.nv-uc .nvp-hero{position:relative;overflow:hidden;display:flex;align-items:center;
  min-height:190px;padding:18px 0 26px;margin-left:280px;margin-right:32px;
  background-image:
    linear-gradient(90deg,rgba(247,250,255,.95) 0%,rgba(247,250,255,.82) 38%,rgba(247,250,255,.34) 68%,rgba(247,250,255,.10) 100%),
    url(../images/hero/uc-hero.jpg);
  background-size:cover,auto 100%;
  background-position:center center,right center;
  background-repeat:no-repeat,no-repeat;
  border-bottom:1px solid #e2ebf9}
body.nv-uc .nvp-hero:after{display:none}
body.nv-uc .nvp-hero>.nvp-wrap{position:relative;z-index:1;width:100%;margin:0;
  padding-left:20px;padding-right:0}
body.nv-uc .nvp-crumb{margin-bottom:14px}
body.nv-uc .nvp-uc-hero{gap:20px;padding-top:2px}
body.nv-uc .nvp-av{width:64px;height:64px;font-size:24px;border:2px solid #fff;
  box-shadow:0 14px 28px -18px rgba(18,86,212,.75)}
body.nv-uc .nvp-uc-id b{font-size:22px;letter-spacing:-.5px}
body.nv-uc .nvp-uc-id em{font-size:13px;color:#5b6b85}
body.nv-uc .nvp-bal{background:#fff;border:1px solid #dbe7fa;padding:13px 20px;
  box-shadow:0 16px 34px -30px rgba(18,86,212,.8)}
body.nv-uc .nvp-bal b{font-size:26px}
/* 两列骨架 */
body.nv-uc .nvp-uc-grid{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:18px}
body.nv-uc .nvp-uc-col{gap:18px}
/* 侧栏：贴左固定、上下通栏（内容超出时内部滚动，滚动条隐藏） */
body.nv-uc .nvp-side{position:fixed;left:0;top:62px;bottom:0;width:248px;max-height:none;
  border:0;border-top:3px solid #1256d4;border-right:1px solid #e6edf9;
  overflow-y:auto;overflow-x:hidden;z-index:700;
  scrollbar-width:none;-ms-overflow-style:none}
body.nv-uc .nvp-side::-webkit-scrollbar{width:0;height:0}
body.nv-uc .nvp-main{margin-left:248px}
/* 会员中心不展示服务保障条；版权信息在内容列内居中 */
body.nv-uc .pls-footer{display:none}
body.nv-uc .nv-footer{margin:0 32px 0 280px;text-align:center;background:transparent}
body.nv-uc .nv-footer p{margin:0}
/* 统计卡：顶部色条 + 大数字 */
body.nv-uc .nvp-uc-grid .nvp-stat{padding:18px 20px;border-top:3px solid #1256d4;
  transition:box-shadow .2s,transform .2s,border-color .2s}
body.nv-uc .nvp-uc-grid .nvp-stat:nth-child(2){border-top-color:#0ea5e9}
body.nv-uc .nvp-uc-grid .nvp-stat:nth-child(3){border-top-color:#16a34a}
body.nv-uc .nvp-uc-grid .nvp-stat:nth-child(4){border-top-color:#f59e0b}
body.nv-uc .nvp-uc-grid .nvp-stat:hover{transform:translateY(-2px);
  box-shadow:0 22px 40px -30px rgba(18,86,212,.55)}
body.nv-uc .nvp-stat .k{font-size:13px;font-weight:600;color:#5b6b85}
body.nv-uc .nvp-stat .v{font-size:30px;margin-top:10px}
body.nv-uc .nvp-stat .more{font-size:12.5px}
/* 卡片 */
body.nv-uc .nvp-card{padding:20px 22px;box-shadow:0 18px 40px -36px rgba(15,40,90,.55)}
body.nv-uc .nvp-card-hd{margin-bottom:14px;padding-bottom:12px}
body.nv-uc .nvp-card-hd h3{font-size:15px}
body.nv-uc .nvp-prod{padding:12px 14px;font-size:13.5px}
body.nv-uc .nvp-table th{padding:10px 10px}
body.nv-uc .nvp-table td{padding:12px 10px;font-size:13px}
body.nv-uc .nvp-fin-amt{font-size:26px}

/* ---------- 购物大厅：整页方正直角（不出现任何弧角） ---------- */
body.nv-store .nv-main,
body.nv-store .nv-main *{border-radius:0!important}
body.nv-store .pls-footer-service-item{border-radius:0}
/* 顶栏里参与本页视觉的胶囊（搜索框）也改直角 */
body.nv-store .pls-nav-search,
body.nv-store .pls-nav-search-bar-inner{border-radius:0}
/* 右下角 AI 悬浮按钮：全站统一保持圆形 */
body.nv-store .pls-floatbar .qcaa-launcher-btn__wrap{border-radius:50%!important}
body.nv-store .qcaa-launcher-btn,
body.nv-store .qcaa-launcher-video{border-radius:50%!important}

@media(max-width:1080px){
  .nvp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nvp-panels{grid-template-columns:1fr}
}
@media(max-width:860px){
  .nvp-wrap{padding:0 16px}
  .nvp-hero{padding:20px 0 22px}
  body.nv-store .nvp-wrap{padding:0 16px}
  body.nv-store .nvp-hero{min-height:200px;padding:22px 0 24px;background-position:center center,right center}
  body.nv-store .nvp-main-top{padding:12px 16px;margin:-16px -16px 12px}
  body.nv-store .nvp-main-hd{flex-wrap:wrap;padding:0}
  body.nv-store .nvp-main-top .nvp-notice-box{padding:10px 12px}
  body.nv-store .nvp-main-hd-l{flex-wrap:wrap;width:100%}
  body.nv-store .nvp-main-hd .nvp-tagline{flex:1 0 100%;white-space:nowrap}
  body.nv-store .nvp-side{position:static;left:auto;top:auto;bottom:auto;width:auto;overflow:visible}
  body.nv-store .nvp-main{margin-left:0}
  body.nv-store .nv-footer{margin:0;padding-left:0}
  .nvp-hero h1{font-size:22px}
  .nvp-body{flex-direction:column;align-items:stretch;gap:14px;padding:16px 0 44px}
  .nvp-side{width:auto;position:static;top:auto;max-height:none}
  .nvp-item{flex-direction:column;gap:10px;padding:14px}
  .nvp-item-buy{padding:9px 0 0;border:0;border-top:1px solid #eef3fb}
  .nvp-price{justify-content:flex-start}
  .nvp-item-buy .nvp-buy{width:100%}
  .nvp-bal{margin-left:0;width:100%;justify-content:space-between}
}
