/**
 * 白泽网络 · DNS域名分发系统
 * 版权所有 (C) 2026 白泽网络，保留所有权利
 * 作者：白泽网络   联系微信/QQ：331727029
 * 未经授权不得删除本声明或用于二次售卖、去除署名分发
 */

:root{--nav-h:65px;

  
  --bxz-deep:#0029AE;   
  --bxz-2:#004BD7;      
  --bxz-1:#006AF3;      
  --bxz-3:#34ABFC;      
  --bxz-4:#E6F1FF;      
  --bxz-5:#F5F9FF;      
  --ink:#0A1C3D;        
  --sub:#4E6C9B;        
  --muted:#8AA6CE;      
  --line:#D7E7FF;       
  --ok:#12B76A; --warn:#F79009; --bad:#F04438;
  

  /* v1.9.248：中文区习惯「红增绿减」——加金额(入账)红、减金额(支出)绿；英文区相反，见下方 [data-lang="en"] 覆盖 */
  --amt-in:#C4271B;  --amt-out:#0A6B3C;
  --amt-in-soft:#FFF1EF; --amt-out-soft:#EAF7F0;
  --amt-in-e:#FF9B94; --amt-out-e:#7FD9A0;
  --amt-in-soft-e:#3A1F1D; --amt-out-soft-e:#16351F;
  --r-card:20px; --r-pill:999px;
  --grad-main:linear-gradient(135deg,var(--bxz-3) 0%,var(--bxz-1) 100%);
  --grad-deep:linear-gradient(135deg,var(--bxz-deep) 0%,var(--bxz-1) 55%,var(--bxz-3) 100%);
  --shadow-1:0 2px 10px rgba(0,106,243,.07);
  --shadow-2:0 10px 30px rgba(0,106,243,.13);
  --shadow-3:0 18px 48px rgba(0,106,243,.18);
  --shadow-blue:0 8px 22px rgba(0,106,243,.28);
  --max:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overscroll-behavior:none;
  overscroll-behavior-x:none;
  overscroll-behavior-y:none;
  touch-action:manipulation;
  scroll-behavior:smooth;
}
body{
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans SC",sans-serif;
  color:var(--ink);background:var(--bxz-5);
  font-size:14px;line-height:1.6;
  overscroll-behavior:none;
  overscroll-behavior-x:none;
  overscroll-behavior-y:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:default;
  touch-action:manipulation;
  user-select:text;
  -webkit-user-select:text;
  overflow-wrap:break-word;
  word-break:break-word;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
}
img{max-width:100%;display:block;border:0}
a{color:var(--bxz-1);text-decoration:none}
a:hover{color:var(--bxz-2)}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.02em;line-height:1.3}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button,input,select,textarea{font-family:inherit;font-size:14px;outline:none}
::selection{background:var(--bxz-3);color:#fff}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.center{display:flex;align-items:center;justify-content:center}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.row{display:flex;align-items:center;gap:12px}
.row.between{justify-content:space-between}
.row.wrap{flex-wrap:wrap}
.col{display:flex;flex-direction:column;gap:14px}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}
.mb12{margin-bottom:12px}.mb16{margin-bottom:16px}.mb24{margin-bottom:24px}
.tc{text-align:center}
.muted{color:var(--muted)}
.sub{color:var(--sub)}
.bxz-copyright{text-align:center;font-size:12px;color:var(--sub);line-height:1.9}
.hide{display:none !important}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  height:42px;padding:0 22px;border:0;border-radius:var(--r-pill);
  background:var(--grad-main);
  color:#fff;font-weight:600;font-size:14px;cursor:pointer;
  box-shadow:var(--shadow-blue);
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,106,243,.36);color:#fff}
.btn:active{transform:translateY(0) scale(.985)}
.btn:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(0,106,243,.28),var(--shadow-blue)}
.btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}

.btn.ghost{background:#fff;color:var(--bxz-1);border:1px solid #BCD8FF;box-shadow:var(--shadow-1)}
.btn.ghost:hover{background:linear-gradient(135deg,#F4F9FF,#E8F2FF);color:var(--bxz-1);border-color:#9CC4FB;box-shadow:0 8px 18px rgba(0,106,243,.14)}
.btn.gray{background:#F1F5FD;color:var(--sub);box-shadow:none;border:1px solid var(--line)}
.btn.gray:hover{background:#E7EEFA;color:var(--ink);border-color:#D2DEF0}
.btn.sm{height:34px;padding:0 16px;font-size:13px}
.btn.xs{height:29px;padding:0 13px;font-size:12.5px;border-radius:var(--r-pill)}
.btn.block{width:100%}
.btn.danger{background:linear-gradient(135deg,#FF6A5E,#F04438);box-shadow:0 6px 16px rgba(240,68,56,.24)}
.btn.danger:hover{box-shadow:0 12px 26px rgba(240,68,56,.32)}

.btn.ok{background:linear-gradient(135deg,#28C08A,#12A06E);box-shadow:0 6px 16px rgba(18,160,110,.24)}
.btn.ok:hover{box-shadow:0 12px 26px rgba(18,160,110,.32)}

.btn > svg,.btn > .ico{width:16px;height:16px;flex:0 0 16px}

@media (max-width:860px){
  .btn{height:44px;padding:0 18px;font-size:14.5px;white-space:normal;line-height:1.35}
  .btn.sm{height:38px;padding:0 15px;font-size:13.5px}
  .btn.xs{height:32px;padding:0 12px;font-size:12.5px}
  
  .row .btn + .btn{margin-left:0}
  .page-head .right{display:flex;gap:8px;flex-wrap:wrap}
  .page-head .right .btn{flex:1 1 auto}
}

.back-home{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.back-home .bh-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.back-home .bh-ico svg{width:16px;height:16px;display:block}
@media (max-width:640px){ .back-home .bh-txt{display:none} .back-home{padding:0 12px} }

.rc-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rc-item{height:56px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;
  font-size:16px;font-weight:800;color:var(--ink);transition:all .18s var(--ease)}
.rc-item:hover{border-color:var(--bxz-2);color:var(--bxz-1);transform:translateY(-1px)}
.rc-item.on{border-color:var(--bxz-1);background:linear-gradient(135deg,var(--bxz-4),#fff);
  color:var(--bxz-1);box-shadow:inset 0 0 0 1px var(--bxz-1)}
@media (max-width:640px){ .rc-quick{grid-template-columns:repeat(2,minmax(0,1fr))} }

.rc-bal{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,var(--bxz-4),#fff);border:1px solid var(--line)}
.rc-bal span{font-size:13px;color:var(--sub);font-weight:600}
.rc-bal b{font-size:24px;font-weight:800;color:var(--bxz-1);letter-spacing:-.3px}
.rc-bal.big b{font-size:32px}
@media (max-width:640px){ .rc-bal b{font-size:20px} .rc-bal.big b{font-size:26px} }

.ap-doc{display:flex;flex-direction:column;gap:10px}
.ap-row{display:flex;flex-direction:column;gap:4px}
.ap-row .ap-k{font-size:12.5px;font-weight:700;color:var(--sub)}
.ap-row code{display:block;word-break:break-all;padding:8px 10px;border-radius:8px;
  background:var(--bxz-4);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;color:var(--ink)}
.ap-code{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:#0F1B2E;color:#8FE3B8;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.65;
  overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}

.rn-done{display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;
  background:linear-gradient(135deg,#E6F8F0,#fff);border:1px solid rgba(0,168,107,.25)}
.rn-ico{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--ok);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:19px;font-weight:800}

.rn-ico.bad{background:var(--bad,#E0523F)}
.rn-ico.warn{background:#E08A1E}
.rn-box{padding:16px;border-radius:12px;border:1px solid rgba(0,0,0,.08)}
.rn-rej{background:linear-gradient(135deg,#FFF1EE,#fff);border-color:rgba(224,82,63,.28)}
.rn-pend{background:linear-gradient(135deg,#FFF7E8,#fff);border-color:rgba(224,138,30,.28)}
.rn-row{display:flex;align-items:center;gap:14px}
.rn-why{margin-top:12px;padding:10px 12px;border-radius:9px;background:rgba(224,82,63,.08);
  border:1px dashed rgba(224,82,63,.3);font-size:12.5px;line-height:1.7}
.rn-why-k{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:5px;
  background:rgba(224,82,63,.14);color:#B5261E;font-weight:700}
.rn-why-v{color:#5A3A36;word-break:break-all}
.rn-tips{margin:10px 0 0;padding-left:18px;font-size:12.5px;line-height:1.9;color:#5A6B85}
.rn-tips li{list-style:disc}
.rn-resub{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.1);
  font-size:13px;font-weight:700;color:#1F2D3D}

@media (max-width:640px){
  .set-grp{margin:18px 0 10px;font-size:13px}
  .hd-ico{width:24px;height:24px;flex:0 0 24px;border-radius:7px}
  .hd-ico svg{width:15px;height:15px}
  .sw-item{align-items:flex-start;flex-direction:column;gap:9px;padding:13px 0}
  .sw-item>div:first-child{width:100%}
}

.pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 12px;border-radius:var(--r-pill);
  font-size:12.5px;font-weight:600;background:var(--bxz-4);color:var(--bxz-1)}

.pill.ok{background:#E6F8F0;color:#0B7A46}
.pill.brand{background:#EAF2FF;color:#1256D6}
html[data-eye-site="1"] .pill.brand,html[data-eye-admin="1"] .pill.brand{background:#16325C !important;color:#9CC4FB !important}
.dot-new{display:inline-block;width:8px;height:8px;border-radius:50%;background:#E5484D;margin-left:7px;vertical-align:middle;box-shadow:0 0 0 3px rgba(229,72,77,.16)}
.side-mini .dot-new{margin-left:0}

html[data-eye-site="1"] .pill.ok,html[data-eye-admin="1"] .pill.ok{
  background:#16351F !important;color:#7FD9A0 !important}
.pill.warn{background:#FEF3E4;color:var(--warn)}
.pill.bad{background:#FDECEA;color:var(--bad)}
.pill.gray{background:#F1F4FA;color:var(--sub)}
.pill.out{background:#fff;border:1px solid var(--line);color:var(--sub)}

.amt-in{color:var(--amt-in) !important}
.amt-out{color:var(--amt-out) !important}
.pill.amt-in{background:var(--amt-in-soft);color:var(--amt-in)}
.pill.amt-out{background:var(--amt-out-soft);color:var(--amt-out)}

html[data-eye-admin="1"] .amt-in,html[data-eye-site="1"] .amt-in{color:var(--amt-in-e) !important}
html[data-eye-admin="1"] .amt-out,html[data-eye-site="1"] .amt-out{color:var(--amt-out-e) !important}
html[data-eye-admin="1"] .pill.amt-in,html[data-eye-site="1"] .pill.amt-in{background:var(--amt-in-soft-e);color:var(--amt-in-e) !important}
html[data-eye-admin="1"] .pill.amt-out,html[data-eye-site="1"] .pill.amt-out{background:var(--amt-out-soft-e);color:var(--amt-out-e) !important}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1)}
.card .hd{display:flex;align-items:center;gap:9px;padding:14px 18px;border-bottom:1px solid var(--line);font-weight:700;font-size:14.5px}
.card .hd .more{margin-left:auto;font-size:12.5px;font-weight:500;color:var(--bxz-2)}
.card .bd{padding:18px}
/* v1.9.244：域名商城「解析规则」可折叠卡片 */
.rule-hd{cursor:pointer;user-select:none}
.rule-tog{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:12.5px;color:var(--bxz-2)}
.rule-chev{display:inline-flex;align-items:center;transition:transform .18s ease;color:var(--bxz-2)}
.rule-chev.up{transform:rotate(180deg)}
.rulegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 22px}
.rulecell{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bxz-5)}
.rulecell .rule-t{font-size:13px;font-weight:700;margin-bottom:9px;display:flex;align-items:center;gap:6px}

.hd-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:8px;background:linear-gradient(135deg,var(--bxz-4),#fff);color:var(--bxz-1);flex:0 0 26px}
.hd-ico svg{width:16px;height:16px;display:block}

.set-grp{display:flex;align-items:center;gap:9px;margin:24px 0 12px;font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:.2px}
.set-grp:first-of-type{margin-top:4px}
.set-grp::before{content:"";width:4px;height:15px;border-radius:3px;flex:0 0 4px;
  background:linear-gradient(180deg,var(--bxz-1),var(--bxz-2))}

.set-sub{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:12px}
.set-sub::after{content:"";flex:1;height:1px;background:var(--line)}

/* v1.9.250：站点设置分组锚点导航 */
.set-nav{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 4px;padding:10px 12px;border-radius:14px;
  background:var(--card,#fff);border:1px solid var(--line,#D7E7FF);box-shadow:var(--shadow-1,0 2px 10px rgba(0,106,243,.06))}
.set-nav a{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;
  background:var(--bxz-5,#F0F6FF);color:var(--sub,#4E6C9B);font-size:12.5px;font-weight:600;text-decoration:none;
  transition:background .18s,color .18s}
.set-nav a:hover{background:var(--bxz-4,#E2EEFF);color:var(--bxz-1,#006AF3)}
.set-nav a .ico{display:inline-flex;flex:0 0 15px}
.set-nav a .ico svg{width:15px;height:15px;display:block}
/* 分组锚点：跳转时避开顶部导航遮挡（顶栏 62px + 留白） */
.set-grp{scroll-margin-top:80px}

/* v1.9.253：站点设置改回顶部切换条——吸顶，一次只展示一个分组 */
.set-nav{position:sticky;top:70px;z-index:20}
.set-nav a .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-pane{animation:setFade .18s ease}
@keyframes setFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

/* v1.9.252：站点设置两栏布局——左侧分组导航（跟随滚动高亮）+ 右侧内容 */
.set-wrap{display:flex;gap:16px;align-items:flex-start}
.set-side{position:sticky;top:78px;flex:0 0 176px;width:176px;background:var(--card,#fff);
  border:1px solid var(--line,#D7E7FF);border-radius:14px;padding:10px;
  box-shadow:var(--shadow-1,0 2px 10px rgba(0,106,243,.06))}
.set-side .ss-hd{font-size:12px;font-weight:700;color:var(--sub,#6B7A91);padding:2px 8px 8px;letter-spacing:.2px}
.set-side a{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border-radius:10px;
  color:var(--sub,#4E6C9B);font-size:13px;font-weight:600;text-decoration:none;
  transition:background .18s,color .18s}
.set-side a:hover{background:var(--bxz-5,#F0F6FF);color:var(--bxz-1,#006AF3)}
.set-side a.on{background:var(--bxz-4,#E2EEFF);color:var(--bxz-1,#006AF3)}
.set-side a .ico{display:inline-flex;flex:0 0 15px}
.set-side a .ico svg{width:15px;height:15px;display:block}
.set-side a .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-side .ss-ft{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.set-side .ss-ft .btn{width:100%;justify-content:center}
.set-main{flex:1;min-width:0}
.set-main .set-grp:first-child{margin-top:0}
@media (max-width:1180px){
  /* 竖排后必须改成 stretch：外层 .set-wrap 的 align-items:flex-start 会把
     .set-main 横向收缩到内容宽度（实测仅 88px），此处撑满 */
  .set-wrap{flex-direction:column;align-items:stretch}
  .set-main{width:100%}
  .set-side{position:static;width:100%;flex:none;display:flex;align-items:center;gap:8px;
    overflow-x:auto;padding:8px 10px;-webkit-overflow-scrolling:touch}
  .set-side .ss-hd{display:none}
  .set-side a{flex:0 0 auto;height:32px;padding:0 12px;border-radius:999px;background:var(--bxz-5,#F0F6FF)}
  .set-side .ss-ft{margin:0 0 0 auto;padding:0;border-top:0;flex:0 0 auto}
  .set-side .ss-ft .btn{width:auto}
}
html[data-eye-admin="1"] .set-side{background:var(--card,#16202E);border-color:var(--line,#26344A)}
html[data-eye-admin="1"] .set-side a{color:#9FB3D1}
html[data-eye-admin="1"] .set-side a:hover{background:var(--bxz-4,#1B2739);color:#7FB6FF}
html[data-eye-admin="1"] .set-side a.on{background:var(--bxz-4,#1B2739);color:#7FB6FF}
html[data-eye-admin="1"] .set-nav{background:var(--card,#16202E);border-color:var(--line,#26344A)}
html[data-eye-admin="1"] .set-nav a{background:var(--bxz-4,#1B2739);color:#9FB3D1}
html[data-eye-admin="1"] .set-nav a:hover{color:#7FB6FF}

.set-note{margin-top:14px;padding:9px 12px;border-radius:10px;background:var(--bxz-4);
  font-size:12.5px;line-height:1.7;color:var(--sub)}

.sw-item{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 0;border-bottom:1px dashed var(--line)}
.sw-item:first-child{padding-top:0}
.sw-item:last-child{border-bottom:0;padding-bottom:0}
.sw-item>div:first-child{min-width:0}
.sw-item b{display:block;font-size:13.5px;font-weight:700;color:var(--ink)}
.sw-item .sub{font-size:12.5px;margin-top:3px;line-height:1.5}

.sw-item .switch{flex:0 0 auto}
.card.hover{transition:transform .2s ease,box-shadow .2s ease}
.card.hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}

.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:13px;color:var(--sub);font-weight:600}
.input{
  height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-pill);
  background:#FCFDFF;color:var(--ink);width:100%;transition:border-color .18s,box-shadow .18s;
}
.input:focus{border-color:var(--bxz-2);box-shadow:0 0 0 4px rgba(46,139,255,.13)}
.input::placeholder{color:#B6C7E0}

.input.bad{border-color:#C4271B;background:#FFF7F6}
.input.bad:focus{border-color:#C4271B;box-shadow:0 0 0 4px rgba(196,39,27,.13)}
textarea.input{height:auto;padding:12px 16px;border-radius:18px;resize:vertical;min-height:96px}
select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--sub) 50%),linear-gradient(135deg,var(--sub) 50%,transparent 50%);
  background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
.input-group{display:flex;gap:8px;align-items:center}
.input-group .input{flex:1}

.pwd-wrap{position:relative}
.pwd-wrap .input{padding-right:46px}
.pwd-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;
  color:#9AAECB;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:color .18s,background .18s;-webkit-tap-highlight-color:transparent}
.pwd-eye:hover{color:var(--bxz-1);background:var(--bxz-5)}
.pwd-eye:active{background:#E2EEFF}
.pwd-eye.on{color:var(--bxz-1)}
.pwd-eye svg{width:17px;height:17px;display:block}
.pwd-eye:focus-visible{outline:2px solid var(--bxz-1);outline-offset:1px}

.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table th{background:var(--bxz-5);color:var(--sub);font-weight:600;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.table td{padding:11px 14px;border-bottom:1px solid #F2F6FD;vertical-align:middle}
.table tr:hover td{background:#FAFCFF}

.table .op{color:var(--bxz-1);cursor:pointer;font-weight:600;
  display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle}
.table .op + .op{margin-left:10px}
.table .op.danger{color:var(--bad)}
/* v1.9.271：同步进行中——置灰并禁用点击，杜绝重复同步 */
.table .op.disabled{color:#B9C2CE;cursor:not-allowed;pointer-events:none;opacity:.6}

.table .op.warn{color:#B45309}

.table td.col-op,.table th.col-op{white-space:nowrap;min-width:180px;text-align:right;line-height:2.2}
.table td.col-op .op:first-child{margin-left:0}

.table .pill,.table .rtype,.table .icp-tag,.table .tag,.table .status,.table .badge{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  padding:2px 10px;border-radius:10px;font-size:12px;min-width:48px}

.table td.col-date,.table th.col-date,.table .nowrap{white-space:nowrap}
.table th.col-status,.table td.col-status{min-width:80px}
.table th.col-dns,.table td.col-dns{min-width:90px}
.table th.col-date,.table th.col-date{min-width:110px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media (max-width:860px){
  .table td.col-op,.table th.col-op{min-width:140px}
  .table td.col-op .op{margin-left:6px;font-size:12.5px}
}

.kpi{background:linear-gradient(135deg,#fff,var(--bxz-5));border:1px solid var(--line);border-radius:var(--r-card);padding:16px 18px}
.kpi .k{font-size:12.5px;color:var(--sub)}
.kpi .v{font-size:26px;font-weight:800;letter-spacing:-.02em;
  background:linear-gradient(135deg,var(--bxz-deep),var(--bxz-1) 60%,var(--bxz-3));-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi .d{font-size:12px;color:var(--ok)}

.qbar{height:4px;border-radius:99px;background:var(--line);margin-top:9px;overflow:hidden}
.qbar i{display:block;height:100%;border-radius:99px;transition:width .35s ease}

.kpi .qs{font-size:14px;font-weight:700;color:var(--muted);background:none;
  -webkit-background-clip:border-box;background-clip:border-box;margin-left:3px}

.empty{padding:44px 20px;text-align:center;color:var(--muted);font-size:13.5px}
.empty svg{opacity:.5;margin-bottom:8px}

.pager{display:flex;gap:6px;justify-content:flex-end;align-items:center;padding:14px 18px;flex-wrap:wrap}
.pager .p{min-width:32px;height:32px;padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--line);
  background:#fff;color:var(--sub);font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.pager .p.on{background:var(--grad-main);color:#fff;border-color:transparent}
/* v1.9.280：翻页条上的「共 N 条 · 本页 M」——靠左对齐，与右侧翻页按钮分开 */
.pager .fl{margin-right:auto;font-size:12.5px;color:var(--sub);white-space:nowrap}

.switch{width:42px;height:23px;border-radius:var(--r-pill);background:var(--grad-main);position:relative;cursor:pointer;transition:background .2s;display:inline-block;vertical-align:middle}
.switch::after{content:"";position:absolute;top:2px;right:2px;width:19px;height:19px;border-radius:50%;background:#fff;transition:all .2s}
.switch.off{background:#D7E1F2}
.switch.off::after{right:auto;left:2px}

.switch.on{background:var(--grad-main)}
.switch.on::after{right:2px;left:auto}

.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;height:64px;gap:10px}
.bxz-logo{image-rendering:auto;filter:drop-shadow(0 2px 6px rgba(0,106,243,.18))}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:16.5px;letter-spacing:-.02em}
.brand .tagline{font-size:11.5px;font-weight:600;color:#fff;background:var(--grad-main);padding:3px 10px;border-radius:var(--r-pill)}
.nav .menu{display:flex;align-items:center;gap:4px;margin-left:18px}
.nav .menu a{padding:8px 14px;border-radius:var(--r-pill);color:var(--sub);font-weight:600;font-size:14px}
.nav .menu a:hover{background:var(--bxz-4);color:var(--bxz-1)}
.nav .menu a.on{background:var(--bxz-4);color:var(--bxz-1)}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:8px}
.lang-switch{display:inline-flex;background:var(--bxz-4);border-radius:var(--r-pill);padding:3px}
.lang-switch button{border:0;background:transparent;color:var(--sub);font-size:12.5px;font-weight:700;
  padding:5px 13px;border-radius:var(--r-pill);cursor:pointer}
.lang-switch button.on{background:var(--grad-main);color:#fff;box-shadow:var(--shadow-blue)}
.burger{display:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;
  align-items:center;justify-content:center;cursor:pointer}
.burger span{display:block;width:17px;height:2px;background:var(--bxz-1);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:17px;height:2px;background:var(--bxz-1)}
.burger span::before{top:-6px}.burger span::after{top:6px}

.hero{position:relative;padding:64px 0 54px;background:
  radial-gradient(1200px 460px at 50% -12%, #E8F1FF 0%, rgba(232,241,255,0) 62%),
  linear-gradient(180deg,#F4F9FF 0%, var(--bxz-5) 100%);overflow:hidden}
.hero::before{content:"";position:absolute;left:50%;top:-160px;width:900px;height:420px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(46,139,255,.18),transparent);pointer-events:none}
.hero h1{font-size:40px;line-height:1.22}
.hero h1 em{font-style:normal;background:linear-gradient(135deg,var(--bxz-deep),var(--bxz-1) 55%,var(--bxz-3));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .desc{margin-top:14px;color:var(--sub);font-size:15.5px;max-width:660px}

.searchbar{margin:28px auto 0;max-width:720px;background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:8px;display:flex;gap:8px;box-shadow:var(--shadow-3)}
.searchbar .in{flex:1;display:flex;align-items:center;gap:6px;padding:0 14px}
.searchbar .in .fix{color:var(--bxz-1);font-weight:700}
.searchbar .in input{flex:1;height:40px;border:0;background:transparent;font-size:15px;color:var(--ink)}
.searchbar .in input::placeholder{color:#B6C7E0}
.searchbar .btn{height:44px}

.stats{display:flex;gap:26px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.stats .s{text-align:center}
.stats .s b{display:block;font-size:24px;font-weight:800;background:linear-gradient(135deg,var(--bxz-deep),var(--bxz-1) 60%,var(--bxz-3));-webkit-background-clip:text;background-clip:text;color:transparent}
.stats .s span{font-size:12.5px;color:var(--sub)}

.section{padding:44px 0}
.section .title{text-align:center;margin-bottom:8px}
.section .title h2{font-size:28px}
.section .title p{color:var(--sub);margin-top:8px;font-size:14.5px}
.feature{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:22px;transition:all .2s ease}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:#C9DEFF}
.feature .ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:var(--grad-main);color:#fff;font-size:21px;font-weight:800;margin-bottom:14px;box-shadow:var(--shadow-blue)}
.feature h3{font-size:16px;margin-bottom:7px}
.feature p{color:var(--sub);font-size:13.5px;line-height:1.75}

.price{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;position:relative;transition:all .2s}
.price:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.price.rec{border:2px solid var(--bxz-1);box-shadow:var(--shadow-2)}
.price.rec .flag{position:absolute;top:-13px;left:24px;background:var(--grad-main);
  color:#fff;font-size:12px;font-weight:700;padding:4px 14px;border-radius:var(--r-pill)}
.price h3{font-size:18px}

.price .plan-hd{display:flex;align-items:center;gap:10px}
.price .plan-ico{display:inline-flex;flex:0 0 auto;line-height:0}
.price .plan-hd h3{font-size:17px}
.price .num{font-size:32px;font-weight:800;color:var(--bxz-1);margin:10px 0 4px}
.price .num small{font-size:13px;color:var(--muted);font-weight:500}
.price ul{margin:14px 0 18px}
.price ul li{padding:6px 0;font-size:13.5px;color:var(--sub);display:flex;gap:8px;align-items:flex-start}
.price ul li::before{content:"✓";color:var(--ok);font-weight:800}

.faq .item{border-bottom:1px solid var(--line);padding:16px 4px}
.faq .item:last-child{border-bottom:0}
.faq .q{font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px;cursor:pointer}
.faq .a{color:var(--sub);font-size:13.5px;margin-top:8px;line-height:1.8;padding-left:26px}

.footer{background:#fff;border-top:1px solid var(--line);padding:30px 0;margin-top:20px}
.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer .links{display:flex;gap:16px;flex-wrap:wrap}
.footer .links a{color:var(--sub);font-size:13.5px}
.footer .links a:hover{color:var(--bxz-1)}

.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:34px 18px;
  background:radial-gradient(900px 420px at 50% 0%,#E9F2FF 0%,rgba(233,242,255,0) 60%),linear-gradient(180deg,#F4F9FF,#EEF5FF)}
.auth-box{width:100%;max-width:440px;background:#fff;border:1px solid var(--line);border-radius:26px;
  box-shadow:var(--shadow-3);padding:34px 32px 28px}
.auth-box .logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}
.auth-box h1{font-size:24px;text-align:center}
.auth-box .desc{text-align:center;color:var(--sub);font-size:13.5px;margin:8px 0 22px}
.auth-box .oauth{display:flex;gap:10px;justify-content:center;margin-top:18px}
.auth-box .oauth button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;
  color:var(--sub);font-size:15px;font-weight:700;cursor:pointer;transition:all .18s}
.auth-box .oauth button:hover{border-color:var(--bxz-2);color:var(--bxz-1);transform:translateY(-2px)}
.auth-box .foot{margin-top:18px;text-align:center;font-size:13.5px;color:var(--sub)}
.auth-box .captcha-img{height:44px;border-radius:var(--r-pill);border:1px solid var(--line);cursor:pointer;background:var(--bxz-5)}

.layout{display:flex;min-height:100vh;background:var(--bxz-5)}
.sidebar{width:220px;flex:0 0 220px;background:#fff;border-right:1px solid var(--line);padding:16px 12px;position:sticky;top:0;
  
  height:100vh;height:100dvh;
  overflow-y:auto;overflow-x:hidden;
  
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#CBD8EE transparent}

.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:#D6E2F5;border-radius:3px}
.sidebar::-webkit-scrollbar-thumb:hover{background:#B9CCEA}

.sidebar::after{content:"";display:block;height:14px;flex:0 0 14px}
.side-brand{display:flex;align-items:center;gap:10px;padding:10px 12px 16px;margin-bottom:6px;
  border-radius:16px;background:linear-gradient(135deg,var(--bxz-4),#fff);border:1px solid var(--line)}

.side-brand .logo-holder{width:56px;height:56px;flex:0 0 56px;border-radius:13px;background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:3px;box-shadow:var(--shadow-1);overflow:hidden}

.side-brand .logo-holder img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.side-brand .txt{display:flex;flex-direction:column;min-width:0}
.side-brand .txt b{font-size:15px;font-weight:800;line-height:1.3;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.side-brand .txt span{font-size:13px;font-weight:700;color:var(--sub);margin-top:3px;letter-spacing:.2px}
.sidebar a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;color:var(--sub);font-size:14px;font-weight:600;margin-bottom:2px;
  
  -webkit-user-drag:none;user-select:text;-webkit-user-select:text;cursor:pointer}
.sidebar a .ico,.sidebar a .i,.sidebar a .pill{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.sidebar .side-brand{user-select:text;-webkit-user-select:text}

.layout .sidebar a{user-select:text;-webkit-user-select:text;-webkit-user-drag:none}
.sidebar a:hover{background:var(--bxz-5);color:var(--bxz-1)}
.sidebar a.on{background:linear-gradient(135deg,var(--bxz-4),#fff);color:var(--bxz-1);box-shadow:inset 3px 0 0 var(--bxz-1);font-weight:700}
.sidebar a .i{width:20px;height:20px;border-radius:6px;flex:0 0 20px;background:var(--grad-main);opacity:.9}
.content{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:62px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:12px;padding:0 22px;position:sticky;top:0;z-index:50}
.topbar .crumb{font-size:13.5px;color:var(--muted)}
.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--grad-main);
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.page{padding:22px;flex:1}

.save-bar{position:sticky;bottom:0;z-index:30;margin-top:18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 16px;border:1px solid var(--line);border-radius:12px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  box-shadow:0 -4px 18px rgba(16,48,96,.10)}
.save-bar .sb-tip{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px;min-width:0}
.save-bar .sb-tip i{width:6px;height:6px;border-radius:50%;background:var(--warn,#F79009);flex:0 0 auto}
.save-bar .sb-act{display:flex;align-items:center;gap:10px;margin-left:auto}
@media (max-width:640px){
  .save-bar{padding:10px 12px;border-radius:10px}
  .save-bar .sb-tip{font-size:12px}
}
.page-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.page-head h2{font-size:21px}
.page-head .right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

.modal-mask{position:fixed;inset:0;background:rgba(16,42,84,.42);backdrop-filter:blur(3px);display:flex;
  align-items:center;justify-content:center;padding:20px;z-index:200}

.mask{position:fixed;inset:0;background:rgba(16,42,84,.42);backdrop-filter:blur(3px);z-index:200}
.mask + .modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);
  width:100%;max-width:520px;z-index:201;max-height:88vh}
.mask + .modal.wide{max-width:min(620px,94vw)}
.modal{width:100%;max-width:520px;background:#fff;border-radius:22px;box-shadow:var(--shadow-3);overflow:hidden;max-height:88vh;display:flex;flex-direction:column}
.modal .hd{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:700;display:flex;align-items:center}
.modal .hd .x{margin-left:auto;cursor:pointer;color:var(--muted);font-size:20px;line-height:1}
.modal .bd{padding:20px;overflow-y:auto}
.modal .ft{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}

.toast-wrap{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:999;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-2);border-radius:var(--r-pill);
  padding:10px 20px;font-size:13.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;
  animation:toastIn .24s ease}
.toast.ok{border-color:#A9E7C8;color:var(--ok)}
.toast.err{border-color:#FBC7C2;color:var(--bad)}
/* v1.9.254：'warn' 类型此前没有任何配色，与普通提示无法区分 */
.toast.warn{border-color:#FBD9A0;color:#B26A00}
/* v1.9.254：'bad' 是代码里大量使用的失败类型（20 处），但从未定义配色，
   失败提示一直渲染成中性灰，与 'err' 不一致。此处补齐，语义等同 err。 */
.toast.bad{border-color:#FBC7C2;color:var(--bad)}
@keyframes toastIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}

.loading{padding:40px;text-align:center;color:var(--muted);font-size:13.5px}
.spinner{width:26px;height:26px;border:3px solid var(--bxz-4);border-top-color:var(--bxz-1);border-radius:50%;
  animation:spin .8s linear infinite;margin:0 auto 10px}
@keyframes spin{to{transform:rotate(360deg)}}

.admin-login{min-height:100vh;min-height:100dvh;display:flex;padding:34px 18px;
  background:
    radial-gradient(1000px 520px at 12% 8%, rgba(52,171,252,.55) 0%, rgba(52,171,252,0) 58%),
    radial-gradient(900px 520px at 88% 92%, rgba(0,75,215,.65) 0%, rgba(0,75,215,0) 60%),
    linear-gradient(135deg,#0029AE 0%,#004BD7 38%,#006AF3 68%,#34ABFC 100%);
  position:relative;
  
  overflow-x:hidden;overflow-y:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
.admin-login::before{content:"";position:fixed;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.20),rgba(255,255,255,0));top:-190px;right:-150px;animation:floatY 9s ease-in-out infinite;pointer-events:none;z-index:0}
.admin-login::after{content:"";position:fixed;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.13),rgba(255,255,255,0));bottom:-210px;left:-160px;animation:floatY 11s ease-in-out infinite reverse;pointer-events:none;z-index:0}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(26px)}}
.admin-login .panel{position:relative;z-index:2;width:100%;max-width:980px;display:grid;grid-template-columns:1.02fr .98fr;
  background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 34px 80px rgba(0,20,80,.36);
  
  margin:auto}
.admin-login .left{position:relative;background:var(--grad-deep);color:#fff;padding:44px 40px;
  display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.admin-login .left::after{content:"";position:absolute;inset:0;
  background:radial-gradient(420px 420px at 78% 16%,rgba(255,255,255,.22),rgba(255,255,255,0) 62%)}
.admin-login .left > *{position:relative;z-index:2}
.admin-login .left .logo-box{margin-bottom:18px}
.admin-login .left h2{font-size:28px;margin:0 0 10px;letter-spacing:-.02em}
.admin-login .left .ver{display:inline-flex;align-items:center;height:26px;padding:0 13px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);font-size:12.5px;font-weight:700;margin-bottom:14px}
.admin-login .left p{opacity:.92;font-size:14px;line-height:1.95;margin:0}
.admin-login .left .points{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.admin-login .left .points div{display:flex;gap:10px;align-items:center;font-size:13.5px;opacity:.96}
.admin-login .left .points i{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:800}
.admin-login .right{padding:42px 38px;background:#fff}
.admin-login .right .head{text-align:center;margin-bottom:22px}
.admin-login .right .head img{margin:0 auto 10px}
.admin-login .right h1{font-size:23px;background:linear-gradient(135deg,var(--bxz-deep),var(--bxz-1));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.admin-login .right .desc{color:var(--sub);font-size:13.5px;margin-top:8px}
.admin-login .right .input{background:#F7FAFF}
.admin-login .right .input:focus{box-shadow:0 0 0 4px rgba(0,106,243,.14)}
.admin-login .right .btn.block{height:46px;font-size:15px;margin-top:4px}
.admin-login .right .captcha-img{height:44px;border-radius:var(--r-pill);border:1px solid var(--line);cursor:pointer;background:var(--bxz-5)}
.admin-login .shield{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;
  font-size:12px;color:var(--muted)}
.admin-login .shield b{color:var(--bxz-1);font-weight:700}

.layout .sidebar{background:linear-gradient(180deg,#fff 0%,#FBFCFF 100%)}
.sidebar .grp::after{content:"";display:block;height:1px;background:var(--line);margin-top:7px;opacity:.7}
.topbar{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(246,250,255,.96))}
.topbar .crumb{font-weight:600;color:var(--sub)}
.card .hd{background:transparent}
.card .hd::before{content:"";width:4px;height:15px;border-radius:3px;background:var(--grad-main);display:inline-block}
.table th{background:linear-gradient(180deg,#F7FAFF,#F2F7FF)}
.pill{background:var(--bxz-4)}
.pill.out{background:#fff}

@media (max-width:1024px){
  .g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero h1{font-size:32px}
}
@media (max-width:860px){
  .admin-login{padding:30px 14px;align-items:flex-start;overflow-y:auto}
  .admin-login .panel{grid-template-columns:1fr;max-width:520px;border-radius:24px}
  .admin-login .left{display:none}
  .admin-login .right{padding:30px 22px}
  
  .sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;height:100dvh;z-index:100;
    width:250px;flex:0 0 250px;
    transform:translateX(-100%);
    transition:transform .28s cubic-bezier(.22,.61,.36,1);
    box-shadow:var(--shadow-3);
    
    overflow-y:auto;overflow-x:hidden;
    -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
    
    padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .sidebar.open{transform:translateX(0)}
  
  .sidebar a{padding:12px 13px;font-size:14.5px;min-height:44px}
  .sidebar .side-brand{padding:12px 12px 14px}
  

  .layout{overflow-x:clip}
  @supports not (overflow-x: clip) { .layout{overflow-x:hidden} }
  .sidebar.open{transform:none}
  .sidebar-mask{position:fixed;inset:0;background:rgba(16,42,84,.4);z-index:99}
  .nav .menu{position:fixed;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;padding:10px 16px;gap:2px;transform:translateY(-12px);
    opacity:0;pointer-events:none;transition:all .2s ease;margin:0}
  .nav .menu.open{transform:none;opacity:1;pointer-events:auto}
  .burger{display:flex}

  
  .page{padding:16px 14px}
  .page-head{gap:10px;margin-bottom:14px}
  .page-head h2{font-size:19px}
  .page-head .right{width:100%;margin-left:0}
  .topbar{padding:0 14px;gap:8px}
  .topbar .crumb{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .topbar .right{gap:7px}
  
  .card .hd{padding:12px 14px;font-size:14px}
  .card .bd{padding:14px}
  
  

  .table-wrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
    max-width:100%;width:100%;min-width:0}
  .table{min-width:600px}
  .card{min-width:0;overflow:hidden}
  
  .table-wrap{position:relative}
  
  .grid.g2,.grid.g3,.grid.g4,.grid.g5{grid-template-columns:repeat(2,1fr);gap:12px}
  
  .kpi .v{font-size:21px}
}
@media (max-width:640px){
  .wrap{padding:0 14px}
  .g2,.g3,.g4,.g5{grid-template-columns:1fr}
  .hero{padding:40px 0 34px}
  .hero h1{font-size:26px}
  .hero .desc{font-size:14px}
  .searchbar{flex-direction:column;border-radius:22px;padding:12px}
  .searchbar .btn{width:100%}
  .section{padding:32px 0}
  .section .title h2{font-size:22px}
  .stats{gap:16px}
  .auth-box{padding:26px 20px 22px;border-radius:22px}
  .page{padding:14px}
  .page-head h2{font-size:18px}
  .table th,.table td{padding:9px 10px;font-size:12.8px}
  .kpi .v{font-size:22px}

  
  .page{padding:12px 10px}
  .grid.g2,.grid.g3,.grid.g4,.grid.g5{grid-template-columns:1fr}
  .card .hd{padding:11px 12px}
  .card .bd{padding:12px}
  .page-head h2{font-size:18px}
  .topbar{height:56px;padding:0 12px}
  
  .page-head .right .btn,.card .bd .row .btn{flex:1 1 auto;min-width:0}
  
  .modal{max-width:calc(100vw - 24px);max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
}
@media print{.nav,.sidebar,.topbar{display:none}}

.sidebar a .ico{width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--bxz-1);opacity:.85}
.sidebar a.on .ico{color:var(--bxz-1);opacity:1}
.sidebar a:hover .ico{opacity:1}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;
  border:1px solid rgba(0,0,0,.08)}

[data-scope="admin"][data-scheme="green"]{
  --bxz-deep:#075E3A; --bxz-2:#0A8A55; --bxz-1:#12B76A; --bxz-3:#5FE19F;
  --bxz-4:#E4F8EE; --bxz-5:#F3FCF7; --line:#CDEEDD;
  --grad-main:linear-gradient(135deg,var(--bxz-3) 0%,var(--bxz-1) 100%);
  --grad-deep:linear-gradient(135deg,var(--bxz-deep) 0%,var(--bxz-1) 55%,var(--bxz-3) 100%);
}
[data-scope="admin"][data-scheme="purple"]{
  --bxz-deep:#3A1F9E; --bxz-2:#5B37D6; --bxz-1:#7A5AF8; --bxz-3:#B79DFF;
  --bxz-4:#EFE9FF; --bxz-5:#F8F6FF; --line:#DFD4FF;
  --grad-main:linear-gradient(135deg,var(--bxz-3) 0%,var(--bxz-1) 100%);
  --grad-deep:linear-gradient(135deg,var(--bxz-deep) 0%,var(--bxz-1) 55%,var(--bxz-3) 100%);
}
[data-scope="admin"][data-scheme="orange"]{
  --bxz-deep:#9A4A00; --bxz-2:#D96B06; --bxz-1:#F79009; --bxz-3:#FFC46B;
  --bxz-4:#FFF2DF; --bxz-5:#FFFAF3; --line:#FFE0B8;
  --grad-main:linear-gradient(135deg,var(--bxz-3) 0%,var(--bxz-1) 100%);
  --grad-deep:linear-gradient(135deg,var(--bxz-deep) 0%,var(--bxz-1) 55%,var(--bxz-3) 100%);
}
[data-scope="admin"][data-scheme="dark"]{
  --bxz-deep:#0B1526; --bxz-2:#16233C; --bxz-1:#2B4472; --bxz-3:#5B7BB0;
  --bxz-4:#1B2A42; --bxz-5:#121C2E; --ink:#E8EEF9; --sub:#A6B7D2; --muted:#7C8FAE; --line:#26364F;
  --grad-main:linear-gradient(135deg,var(--bxz-3) 0%,var(--bxz-1) 100%);
  --grad-deep:linear-gradient(135deg,var(--bxz-deep) 0%,var(--bxz-1) 55%,var(--bxz-3) 100%);
}
[data-scope="admin"][data-scheme="dark"] .card,[data-scope="admin"][data-scheme="dark"] .topbar,[data-scope="admin"][data-scheme="dark"] .sidebar,
[data-scope="admin"][data-scheme="dark"] .table th,[data-scope="admin"][data-scheme="dark"] .input,[data-scope="admin"][data-scheme="dark"] .textarea{
  background:var(--bxz-4);color:var(--ink);border-color:var(--line)}
[data-scope="admin"][data-scheme="dark"] body{background:var(--bxz-5)}

.beian a{display:inline-flex;align-items:center;color:var(--muted);text-decoration:none}
.beian a:hover{color:var(--bxz-1)}

[data-scope="front"]{
  --bxz-1:var(--theme);
  --bxz-deep:var(--theme-deep);
  --bxz-3:var(--theme-soft);
}
[data-scope="front"] .btn:hover,[data-scope="front"] .nav a:hover{color:var(--theme-deep)}
[data-scope="front"] .searchbar .btn,[data-scope="front"] .price.rec .flag{background:var(--theme)}
[data-scope="front"] .pill.ok{background:var(--theme-soft);color:var(--theme-deep)}

[data-scope="front"] .pill.ok{background:var(--theme);color:#fff}

html[data-eye-site="1"] .pill.ok{background:#16325C !important;color:#9CC4FB !important}

.pill.paid{background:#E6F8F0;color:#15803D}
.pill.unpaid{background:#FEF3E4;color:#93370D}
[data-scope="front"] .pill.paid{background:#E6F8F0;color:#15803D}
[data-scope="front"] .pill.unpaid{background:#FEF3E4;color:#93370D}

html[data-eye-site="1"] .pill.paid,html[data-eye-admin="1"] .pill.paid{background:#16351F !important;color:#7FD9A0 !important}
html[data-eye-site="1"] .pill.unpaid,html[data-eye-admin="1"] .pill.unpaid{background:#3A2A12 !important;color:#F3C878 !important}

:root{--eye-bg:#F2EFE4;--eye-card:#FBF8EE;--eye-ink:#4A4436;--eye-line:#DED6C0;--eye-soft:#EAE3D0}

html[data-eye-site="1"] body,
html[data-eye-admin="1"] body,html[data-eye-site="1"] body{background:var(--eye-bg) !important;color:var(--eye-ink) !important}

html[data-eye-site="1"] .card,
html[data-eye-site="1"] .price,
html[data-eye-site="1"] .footer,
html[data-eye-site="1"] .searchbar,
html[data-eye-site="1"] .searchbar .in,
html[data-eye-admin="1"] .card,html[data-eye-site="1"] .card,
html[data-eye-admin="1"] .topbar,html[data-eye-site="1"] .topbar,
html[data-eye-admin="1"] .sidebar,html[data-eye-site="1"] .sidebar,
html[data-eye-admin="1"] .table th,html[data-eye-site="1"] .table th,
html[data-eye-admin="1"] .table td,html[data-eye-site="1"] .table td,
html[data-eye-admin="1"] .input,html[data-eye-site="1"] .input,
html[data-eye-admin="1"] .kpi,html[data-eye-site="1"] .kpi,
html[data-eye-admin="1"] .page-head,html[data-eye-site="1"] .page-head,
html[data-eye-admin="1"] .panel,html[data-eye-site="1"] .panel,
html[data-eye-admin="1"] .admin-login .right,html[data-eye-site="1"] .admin-login .right{
  background:var(--eye-card) !important;color:var(--eye-ink) !important;border-color:var(--eye-line) !important}

html[data-eye-site="1"] .hero,
html[data-eye-site="1"] .section:nth-child(even),
html[data-eye-admin="1"] .sidebar,html[data-eye-site="1"] .sidebar{background:var(--eye-soft) !important}

html[data-eye-site="1"] h1,html[data-eye-site="1"] h2,html[data-eye-site="1"] h3,
html[data-eye-site="1"] p,html[data-eye-site="1"] span,html[data-eye-site="1"] a,
html[data-eye-site="1"] li,html[data-eye-site="1"] td,html[data-eye-site="1"] th,
html[data-eye-site="1"] b,html[data-eye-site="1"] label,html[data-eye-site="1"] .muted,
html[data-eye-site="1"] .sub,
html[data-eye-admin="1"] h1,html[data-eye-site="1"] h1,html[data-eye-admin="1"] h2,html[data-eye-site="1"] h2,html[data-eye-admin="1"] h3,html[data-eye-site="1"] h3,
html[data-eye-admin="1"] p,html[data-eye-site="1"] p,html[data-eye-admin="1"] span,html[data-eye-site="1"] span,html[data-eye-admin="1"] a,html[data-eye-site="1"] a,
html[data-eye-admin="1"] td,html[data-eye-site="1"] td,html[data-eye-admin="1"] th,html[data-eye-site="1"] th,html[data-eye-admin="1"] b,html[data-eye-site="1"] b,
html[data-eye-admin="1"] label,html[data-eye-site="1"] label,html[data-eye-admin="1"] .muted,html[data-eye-site="1"] .muted,html[data-eye-admin="1"] .sub,html[data-eye-site="1"] .sub,
html[data-eye-admin="1"] .crumb,html[data-eye-site="1"] .crumb{color:var(--eye-ink) !important}

html[data-eye-site="1"] .btn,html[data-eye-admin="1"] .btn,html[data-eye-site="1"] .btn{
  background:var(--eye-soft) !important;color:var(--eye-ink) !important;border-color:var(--eye-line) !important}
html[data-eye-site="1"] .btn:hover,html[data-eye-admin="1"] .btn:hover,html[data-eye-site="1"] .btn:hover{filter:brightness(.96)}
html[data-eye-site="1"] .nav,html[data-eye-site="1"] .footer{border-color:var(--eye-line) !important}
html[data-eye-admin="1"] .sidebar a.on,html[data-eye-site="1"] .sidebar a.on{background:var(--eye-soft) !important}

.eye-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);
  background:#fff;border-radius:999px;padding:6px 13px;font-size:12.5px;cursor:pointer;
  color:var(--sub);line-height:1.4;transition:all .18s ease;font-family:inherit}
.eye-btn:hover{border-color:var(--bxz-1);color:var(--bxz-1)}
.eye-btn svg{width:15px;height:15px;flex:0 0 15px;display:block}
.eye-btn.on{background:linear-gradient(135deg,#FFE9B8,#FFD980);border-color:#E8B84B;color:#6B4E00;font-weight:600;
  box-shadow:0 2px 8px rgba(232,184,75,.28)}
.eye-btn .sun{display:none}
.eye-btn.on .sun{display:block}
.eye-btn.on .moon{display:none}

.pay-list{display:flex;flex-direction:column;gap:10px}
.pay-item{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.pay-head{display:flex;align-items:center;gap:8px;padding:11px 14px;cursor:pointer;user-select:none}
.pay-head:hover{background:var(--bxz-4,#F5F9FF)}
.pay-head .rank{min-width:22px;height:22px;border-radius:7px;background:var(--bxz-1);color:#fff;
  font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}
.pay-head .nm{font-size:14px}
.pay-head .code{font-size:12px;color:var(--muted);margin-left:4px}
.pay-head .grow{flex:1}
.pay-head .caret{color:var(--muted);font-size:13px;transition:transform .18s}
.pay-head .caret.up{transform:rotate(180deg)}
.pay-body{padding:4px 14px 14px;border-top:1px dashed var(--line)}
.lb{font-size:12.5px;color:var(--sub);min-width:52px}
.input.sm{padding:7px 10px;font-size:13px;height:auto;border-radius:9px}
select.input.sm{height:auto}
.cfg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.cfg label{display:block;font-size:12.5px;color:var(--sub);margin-bottom:4px}
@media (max-width:640px){.cfg-grid{grid-template-columns:1fr}.pay-head{padding:10px 12px}}

.pay-ico{width:22px;height:22px;flex:0 0 22px;align-self:center;display:inline-flex;align-items:center;justify-content:center;
  border-radius:7px;overflow:hidden;box-shadow:0 1px 3px rgba(10,40,90,.16)}
.pay-ico svg{width:100%;height:100%;display:block}
.pay-ico.lg{width:34px;height:34px;flex:0 0 34px;border-radius:10px;box-shadow:0 3px 9px rgba(10,40,90,.18)}

.pill.gray{background:#EEF2F7;color:#475467}

.pay-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
.pay-opt{display:flex;flex-direction:column;align-items:center;gap:7px;padding:13px 8px;
  border:1.5px solid var(--line);border-radius:13px;cursor:pointer;background:#fff;
  transition:all .18s ease;position:relative;user-select:none}
.pay-opt{position:relative}
.pay-opt .nm{font-size:12.5px;color:var(--ink);font-weight:500}
.pay-opt .tick{position:absolute;top:5px;right:6px;width:15px;height:15px;border-radius:50%;
  background:var(--bxz-1);color:#fff;font-size:10px;font-style:normal;display:flex;
  align-items:center;justify-content:center;font-weight:700}
.pay-opt.on .pay-ico{transform:scale(1.06)}
.pay-opt:hover{border-color:var(--bxz-1)}
.pay-opt.on{border-color:var(--bxz-1);background:var(--bxz-4,#F5F9FF);box-shadow:0 3px 10px rgba(0,106,243,.12)}
.pay-opt.off{opacity:.45;cursor:not-allowed}
.pay-opt.off:hover{border-color:var(--line)}
.pay-opt em{font-size:11px;font-style:normal;color:#B03030}

.req{color:#D93025;font-style:normal;margin-left:2px}

.card-ico{width:30px;height:30px;flex:0 0 30px;align-self:center;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;overflow:hidden;box-shadow:0 2px 6px rgba(10,40,90,.16)}
.card-ico svg{width:100%;height:100%;display:block}
.card-ico.sm{width:26px;height:26px;flex:0 0 26px;border-radius:8px}
.card-ico.xs{width:24px;height:24px;flex:0 0 24px;border-radius:7px;box-shadow:0 1px 4px rgba(10,40,90,.14)}
/* v1.9.267：同系统对接图标是 <span class="bico"><img></span>，需跟随容器尺寸，
   否则在 .card-ico.sm(26px) / .mc-brand(34px) / .bh-mark(42px) 里会溢出 */
.card-ico>.bico,.mc-brand>.bico,.bh-mark>.bico{width:100%!important;height:100%!important;border-radius:inherit}
.card-ico>.bico>img,.mc-brand>.bico>img,.bh-mark>.bico>img{width:86%!important;height:86%!important;object-fit:contain;display:block}

.page-head h1,.page-head h2{display:inline-flex;align-items:center;font-size:22px;margin:0;line-height:1.35}
.ph-ico{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;
  flex:0 0 29px;align-self:center;border-radius:9px;background:linear-gradient(135deg,var(--bxz-1),var(--bxz-2,#4A9BFF));
  color:#fff;margin-right:9px;box-shadow:0 2px 6px rgba(0,106,243,.22)}
.ph-ico svg{width:17px;height:17px}
.hd-ico{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  flex:0 0 24px;border-radius:7px;background:var(--bxz-4,#EAF3FF);color:var(--bxz-1)}
.hd-ico svg{width:15px;height:15px}

.dash-hero{display:grid;grid-template-columns:1fr 300px;gap:14px;
  border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(0,42,120,.16)}
.hero-main{padding:20px 22px;color:#fff;background:linear-gradient(120deg,#0029AE 0%,#006AF3 55%,#2C93FF 100%);position:relative}
.hero-main::after{content:"";position:absolute;right:-30px;top:-40px;width:170px;height:170px;
  border-radius:50%;background:rgba(255,255,255,.10)}
.hero-main::before{content:"";position:absolute;right:60px;bottom:-60px;width:130px;height:130px;
  border-radius:50%;background:rgba(255,255,255,.07)}
.hero-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:9px;background:rgba(255,255,255,.18);backdrop-filter:blur(2px)}
.hero-main>div:first-child{font-size:13.5px;opacity:.92;position:relative;z-index:1}
.hero-num{font-size:34px;font-weight:800;letter-spacing:-.5px;margin:8px 0 12px;
  position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,20,80,.25)}
.hero-sub{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.hero-sub .chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;
  background:rgba(255,255,255,.15);font-size:12.5px;backdrop-filter:blur(2px)}
.hero-sub .chip i{display:inline-flex}
.hero-sub .chip b{font-weight:700;margin-left:2px}
.hero-side{background:#fff;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.hero-side .hs{display:flex;align-items:center;justify-content:space-between;font-size:13px;
  padding-bottom:8px;border-bottom:1px dashed var(--line)}
.hero-side .hs:last-child{border-bottom:none;padding-bottom:0}
.hs-k{color:var(--sub)}
.hs-v{font-weight:700;font-size:15px;color:var(--ink)}
.hs-v.warn{color:#D97706}

.kpi{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:15px 16px}
.kpi .kpi-ico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 8px rgba(10,40,90,.14)}
.kpi .kpi-ico svg{width:19px;height:19px}
.kpi-ico.blue{background:linear-gradient(135deg,var(--bxz-2,#4A9BFF),var(--bxz-1,#0062E6))}
.kpi-ico.green{background:linear-gradient(135deg,#5BD6A8,var(--ok,#0E9F6E))}
.kpi-ico.orange{background:linear-gradient(135deg,#FFC24D,#F79009)}
.kpi-ico.purple{background:linear-gradient(135deg,#B39BFF,#7A5AF8)}
.kpi .kpi-txt{min-width:0}
.kpi .d{grid-column:1/-1;font-size:12px;color:var(--muted);margin-top:2px}

.kpi.mini{display:block;padding:14px 16px}
.kpi.mini .k{margin-bottom:6px}
.kpi.mini .v{font-size:16px;line-height:1.45;word-break:break-all;overflow-wrap:anywhere}
.kpi.mini .v.sm{font-size:14px}
@media (max-width:900px){.dash-hero{grid-template-columns:1fr}.hero-num{font-size:28px}}

[data-eye-admin="1"] .kpi-ico,[data-eye-site="1"] .kpi-ico,
[data-eye-site="1"] .kpi-ico{filter:saturate(.55) brightness(1.06);box-shadow:0 2px 5px rgba(0,0,0,.10)}
[data-eye-admin="1"] .ph-ico,[data-eye-site="1"] .ph-ico{filter:saturate(.5) brightness(1.08);box-shadow:0 1px 4px rgba(0,0,0,.10)}
[data-eye-admin="1"] .card-ico,[data-eye-site="1"] .card-ico,
[data-eye-site="1"] .card-ico{filter:saturate(.6) brightness(1.05)}
[data-eye-admin="1"] .hero-main,[data-eye-site="1"] .hero-main{background:linear-gradient(120deg,#3A4A5C 0%,#4C6076 55%,#5F7488 100%)}
[data-eye-admin="1"] .dash-hero,[data-eye-site="1"] .dash-hero{box-shadow:0 4px 14px rgba(0,0,0,.12)}

.cron-box{margin-top:14px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,var(--bxz-5),#fff);padding:14px 16px}
.cron-box .cron-hd{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.cron-box .cron-ico{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:inline-flex;
  align-items:center;justify-content:center;background:var(--bxz-1);color:#fff;
  box-shadow:0 4px 10px rgba(0,106,243,.25);align-self:center}
.cron-box .cron-ico svg{width:16px;height:16px;display:block}
.cron-box .cron-title{font-size:13.5px;font-weight:700;color:var(--bxz-deep);line-height:1.4}
.cron-box .cron-sub{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5}
.cron-box .cron-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.cron-box .cron-url{flex:1 1 260px;min-width:0;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12.5px;line-height:1.6;color:var(--bxz-deep);background:#fff;border:1px dashed var(--line);
  border-radius:10px;padding:8px 10px;word-break:break-all}
.cron-box .cron-url.sm{flex:1 1 200px;font-size:12px;padding:6px 9px}
.cron-box .btn{flex:0 0 auto;align-self:stretch;display:inline-flex;align-items:center}
.cron-box .cron-tips{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.cron-box .tip-tag{flex:0 0 auto;font-size:11.5px;font-weight:600;color:var(--bxz-1);
  background:var(--bxz-5);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.cron-box .cron-note{margin-top:10px;font-size:12px;line-height:1.7;color:var(--sub);
  border-top:1px dashed var(--line);padding-top:9px}
.cron-box .cron-note b{color:var(--bxz-deep)}

.steps{margin:0;padding-left:20px;font-size:13px;line-height:2;color:var(--sub)}
.steps li{margin-bottom:2px}
.steps li::marker{color:var(--bxz-1);font-weight:700}
@media(max-width:640px){
  .cron-box{padding:12px}
  .cron-box .cron-row{flex-direction:column}
  .cron-box .btn{width:100%;justify-content:center}
}

.hico{display:inline-block;vertical-align:middle;flex:0 0 auto}
.feature .ico svg{width:24px;height:24px}

.hero-tag{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 14px;margin-bottom:18px;
  border-radius:var(--r-pill);background:rgba(255,255,255,.92);border:1px solid #C9DEFF;
  color:var(--bxz-1);font-size:13px;font-weight:700;box-shadow:var(--shadow-1)}
.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(18,160,110,.18)}

.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:start}
.intro-main{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:24px;display:flex;gap:16px;min-width:0}
.intro-ico{width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:var(--grad-main);color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-blue)}
.intro-main h3{font-size:17px;margin-bottom:8px}
.intro-main p{color:var(--sub);font-size:13.8px;line-height:1.9}
.intro-main p + p{margin-top:8px}
.intro-demo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;
  background:var(--bxz-5);border:1px dashed #C9DEFF;border-radius:12px}
.intro-demo code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.8px;
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 9px;color:var(--bxz-deep);font-weight:600}
.intro-arrow{color:var(--bxz-2);display:inline-flex}

.intro-vs{display:flex;flex-direction:column;gap:12px;min-width:0}
.vs-col{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:18px}
.vs-col.bad{border-color:#F5D3D0}
.vs-col.good{border-color:#BFE6D5}
.vs-hd{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;margin-bottom:10px}
.vs-ico{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 24px}
.vs-ico.bad{background:linear-gradient(135deg,#FF6A5E,#F04438)}
.vs-ico.good{background:linear-gradient(135deg,#28C08A,#12A06E)}
.vs-col ul{display:flex;flex-direction:column;gap:8px}
.vs-col li{font-size:13px;color:var(--sub);line-height:1.6;padding-left:14px;position:relative}
.vs-col li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%}
.vs-col.bad li::before{background:#F04438}
.vs-col.good li::before{background:var(--ok)}

.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:0}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:20px 18px;transition:all .2s ease}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:#C9DEFF}
.step-no{position:absolute;top:14px;right:16px;font-size:26px;font-weight:800;color:var(--bxz-4);line-height:1}
.step-ico{width:44px;height:44px;border-radius:13px;background:var(--grad-main);color:#fff;
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:var(--shadow-blue)}
.step h3{font-size:15.5px;margin-bottom:6px}
.step p{font-size:13px;color:var(--sub);line-height:1.75}

.step:not(:last-child)::after{content:"";position:absolute;top:40px;right:-11px;width:8px;height:8px;
  border-top:2px solid var(--bxz-2);border-right:2px solid var(--bxz-2);transform:rotate(45deg);opacity:.55}

.scene{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:20px;transition:all .2s ease}
.scene:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:#C9DEFF}
.scene-ico{width:46px;height:46px;border-radius:14px;background:var(--bxz-4);color:var(--bxz-1);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.scene h3{font-size:15.5px;margin-bottom:6px}
.scene p{font-size:13px;color:var(--sub);line-height:1.75}

@media (max-width:860px){
  .intro{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:not(:last-child)::after{display:none}
  .intro-main{padding:20px}

  
  .nav .wrap{padding:0 12px;gap:8px}
  .nav .right{gap:6px;min-width:0}
  .nav .right .btn{padding:0 12px}
  .burger{width:38px;height:38px;flex:0 0 38px}
  .lang-switch button{padding:5px 10px;font-size:12px}
}
@media (max-width:640px){
  .steps{grid-template-columns:1fr}
  .intro-main{flex-direction:column;padding:18px;gap:12px}
  .intro-demo{gap:6px;padding:10px 12px}
  .intro-demo code{font-size:12px;padding:3px 7px}
  .scene,.step{padding:17px 16px}
  .hero-tag{font-size:12.5px;height:28px;padding:0 12px}

  
  .nav .wrap{height:58px;padding:0 10px;gap:6px}
  .nav .right{gap:5px}
  .nav .right .btn{padding:0 10px;font-size:12.5px}
  .lang-switch button{padding:4px 8px;font-size:11.5px}
  .burger{width:34px;height:34px;flex:0 0 34px}
  
  .nav .brand span{display:none}
  .nav .right{gap:4px}
  .nav .right .btn{padding:0 9px;font-size:12px}
  .lang-switch button{padding:4px 7px;font-size:11px}
  .eye-btn .eye-txt{display:none}
  .eye-btn{padding:0 9px}
}

#features .grid,#scenes .grid,.steps{grid-auto-rows:1fr}

.legal .bd{padding:26px 28px}
.legal-lead{font-size:13.8px;color:var(--sub);line-height:1.9;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.legal-toc{list-style:none;margin:0 0 22px;padding:16px 18px;background:var(--bxz-5);border:1px solid var(--line);border-radius:12px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:7px 18px}
.legal-toc li{font-size:13px}
.legal-toc a{color:var(--sub);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legal-toc a:hover{color:var(--bxz-1)}
.legal-toc li::before{content:"—";color:var(--bxz-2);margin-right:6px}
.legal-sec{margin-bottom:22px;scroll-margin-top:80px}
.legal-sec h3{font-size:15.5px;margin-bottom:8px;color:var(--ink)}
.legal-sec p{font-size:13.8px;color:var(--sub);line-height:2}
.legal-foot{margin-top:26px;padding-top:16px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted);line-height:1.9}

.logo-up{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.logo-prev{width:132px;height:76px;flex:0 0 132px;border:1px solid var(--line);border-radius:12px;background:var(--bxz-5);
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px}
.logo-prev img{max-width:100%;max-height:60px;width:auto;object-fit:contain}
.logo-act{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:9px}
.logo-act .err{color:var(--bad,#F04438)}
.logo-act .ok{color:var(--ok)}

.notice-item{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:#fff;transition:all .18s ease}
.notice-item:hover{border-color:#C9DEFF;box-shadow:var(--shadow-1)}
.notice-item .ni-hd{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.notice-item .ni-hd b{font-size:14.5px}
.notice-item .ni-date{margin-left:auto;font-size:12.5px;color:var(--muted)}
.notice-item .ni-bd{margin-top:9px;font-size:13.5px;color:var(--sub);line-height:1.9;white-space:pre-wrap}
.notice-item .ni-tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-pill);
  background:var(--bxz-4);color:var(--bxz-1);font-size:11.5px;font-weight:700}
.notice-unread{position:relative}
.notice-unread::after{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--warn)}

@media (max-width:860px){
  .legal .bd{padding:20px 18px}
  .legal-toc{grid-template-columns:1fr}
}
@media (max-width:640px){
  .legal .bd{padding:16px 14px}
  .legal-sec p{font-size:13.2px;line-height:1.9}
  .logo-up{gap:12px}
  .logo-prev{width:100%;flex:0 0 auto;height:70px}
}

.kw-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px auto 0;max-width:620px}
.kw{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--line);color:var(--sub);font-size:13px;font-weight:600;transition:all .18s ease}
.kw:hover{border-color:var(--bxz-2);color:var(--bxz-1);background:var(--bxz-5);transform:translateY(-2px)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lead{font-size:14px;color:var(--ink);line-height:1.95}
.prefix-demo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 16px;background:var(--bxz-5);
  border:1px dashed var(--bxz-2);border-radius:12px}
.prefix-demo code{font-size:13px;color:var(--sub);font-family:ui-monospace,Menlo,Consolas,monospace}
.prefix-demo code.hl{color:var(--bxz-1);font-weight:700;background:#fff;padding:3px 9px;border-radius:7px;border:1px solid var(--line)}
.prefix-demo .arw{color:var(--bxz-2);font-weight:700}

.vs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vs-col{border:1px solid var(--line);border-radius:var(--r-card);padding:16px}
.vs-col.bad{background:#FFF6F6;border-color:#FFD9D9}
.vs-col.ok{background:#F3FBF7;border-color:#CDEEDF}
.vs-hd{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;margin-bottom:10px}
.vs-col.bad .vs-ico{background:#F04438}
.vs-col.ok .vs-ico{background:#12B76A}
.vs-col ul{margin:0;padding:0;list-style:none}
.vs-col li{position:relative;padding-left:16px;font-size:13px;color:var(--sub);line-height:1.9}

.feat{display:flex;gap:13px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);transition:all .2s ease}
.feat:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:#C9DEFF}
.feat-ico{flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:var(--grad-main);color:#fff;
  display:inline-flex;align-items:center;justify-content:center}
.feat b{display:block;font-size:15px;margin-bottom:5px}
.feat p{font-size:13px;color:var(--sub);line-height:1.8}

.suffix{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-card);transition:all .18s ease}
.suffix:hover{border-color:#C9DEFF;box-shadow:var(--shadow-1);transform:translateY(-2px)}
.sf-name{font-weight:800;font-size:15px;color:var(--ink)}
.sf-price{margin-left:auto;font-weight:800;color:var(--bxz-1);font-size:15px}
.sf-vendor{font-size:12px;color:var(--muted);width:100%;order:3}
.sf-go{order:4;font-size:13px;font-weight:600;color:var(--bxz-1)}

.to-top{position:fixed;right:22px;bottom:26px;z-index:80;width:46px;height:46px;border:0;border-radius:50%;
  background:var(--grad-main);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(0,106,243,.32);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);
  transition:all .25s cubic-bezier(.4,0,.2,1)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,106,243,.42)}
.to-top:active{transform:translateY(0) scale(.94)}
.to-top::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--bxz-2);opacity:0;transition:opacity .2s}
.to-top:focus-visible::after{opacity:.5}

.back-home{display:inline-flex;align-items:center;gap:6px;font-size:12.8px;color:var(--sub);
  padding:6px 12px;border-radius:var(--r-pill);transition:all .18s ease}
.back-home:hover{background:var(--bxz-5);color:var(--bxz-1)}
.back-home .bh-ico{display:inline-flex;color:var(--bxz-1)}

.beian-link{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12.5px;transition:color .18s}
.beian-link:hover{color:var(--bxz-1)}
.beian-link svg{flex:0 0 auto;color:var(--bxz-2)}

.faq-page .bd{padding:8px 22px}
.qa{border-bottom:1px dashed var(--line)}
.qa:last-child{border-bottom:0}
.qa summary{display:flex;align-items:center;gap:10px;padding:16px 0;cursor:pointer;list-style:none;
  font-size:14.5px;transition:color .18s}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--bxz-1)}
.qa .qa-ico{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:var(--bxz-4);color:var(--bxz-1);
  display:inline-flex;align-items:center;justify-content:center}
.qa summary b{flex:1;min-width:0;font-weight:700}
.qa-arrow{flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:rotate(45deg) translateY(-2px);transition:transform .22s ease}
.qa[open] .qa-arrow{transform:rotate(-135deg) translateY(-2px)}
.qa[open] .qa-ico{background:var(--grad-main);color:#fff}
.qa-body{padding:0 0 18px 36px;font-size:13.6px;color:var(--sub);line-height:2;animation:qaIn .22s ease}
@keyframes qaIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

@media (max-width:860px){
  .split,.vs{grid-template-columns:1fr}
  .faq-page .bd{padding:6px 16px}
}
@media (max-width:640px){
  .kw-cloud{gap:6px}
  .kw{height:28px;padding:0 11px;font-size:12px}
  .to-top{right:14px;bottom:16px;width:42px;height:42px}
  .qa-body{padding-left:0}
  .suffix{padding:12px 14px}
}

.hero{overflow:hidden}
.qa{overflow:hidden}
.qa summary b{overflow-wrap:anywhere;word-break:break-word}
.qa-body{overflow-wrap:anywhere;word-break:break-word}
@media (max-width:640px){
  .stats{gap:16px}
  .stats .s b{font-size:21px}
  .hero{padding:48px 0 42px}
  .hero h1{font-size:28px}
}

.sidebar .grp{display:flex;align-items:center;gap:9px;padding:0 10px;height:46px;margin-top:12px;
  color:var(--txt);font-size:14.5px;font-weight:800;letter-spacing:.01em;
  user-select:none;cursor:pointer;border-radius:10px;
  transition:background .18s,color .18s}
.sidebar .grp:hover{background:var(--bxz-5)}
.sidebar .grp .grp-ico{flex:0 0 auto;width:28px;height:28px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 2px 6px rgba(16,48,96,.16)}
.sidebar .grp .grp-ico svg{width:15px;height:15px}
.sidebar .grp .grp-ico.blue{background:linear-gradient(135deg,#3E9CFF,#0A68F0)}
.sidebar .grp .grp-ico.cyan{background:linear-gradient(135deg,#22D3EE,#0891B2)}
.sidebar .grp .grp-ico.orange{background:linear-gradient(135deg,#FDB022,#F79009)}
.sidebar .grp .grp-ico.purple{background:linear-gradient(135deg,#9B8AFB,#6E5BF0)}
.sidebar .grp .grp-ico.green{background:linear-gradient(135deg,#32D583,#12B76A)}
.sidebar .grp .grp-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .grp .grp-tag{min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:#D92D20;color:#fff;
  font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.sidebar .grp .grp-ar{flex:0 0 auto;width:18px;height:18px;border-radius:6px;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--muted);transition:transform .22s ease,color .18s,background .18s}
.sidebar .grp:hover .grp-ar{background:rgba(16,48,96,.07);color:var(--bxz-1)}
.sidebar .grp .grp-ar.open{transform:rotate(180deg)}
.sidebar .grp-body{display:flex;flex-direction:column;gap:1px;
  padding-left:8px;margin-left:12px;border-left:1px dashed var(--line)}
.sidebar .grp-body>a{margin-bottom:1px}
[data-theme="eye"] .sidebar .grp .grp-ico{filter:saturate(.55)}
@media (max-width:860px){ .sidebar .grp{height:48px;font-size:14.5px} }

@media (max-height:820px) and (min-width:861px){
  .admin-login{padding:20px 18px}
  .admin-login .panel .right{padding-top:32px;padding-bottom:32px}
}

.admin-login .shield{display:flex;align-items:center;gap:8px;margin-top:2px;
  padding:8px 11px;border-radius:10px;
  background:linear-gradient(135deg,rgba(0,106,243,.07),rgba(0,41,174,.05));
  border:1px solid rgba(0,106,243,.16)}
.admin-login .shield .sh-ico{flex:0 0 auto;width:24px;height:24px;border-radius:7px;
  display:inline-flex;align-items:center;justify-content:center;align-self:center;
  background:var(--bxz-1);color:#fff;box-shadow:0 2px 6px rgba(0,106,243,.28)}
.admin-login .shield .sh-ico svg{width:14px;height:14px}

.admin-login .shield .sh-txt{flex:1;min-width:0;display:flex;align-items:center;
  gap:4px 10px;flex-wrap:wrap}
.admin-login .shield .sh-txt b{font-size:12.5px;color:var(--txt);font-weight:700;white-space:nowrap}
.admin-login .shield .sh-items{display:flex;flex-wrap:wrap;gap:4px 10px}
.admin-login .shield .sh-items span{display:inline-flex;align-items:center;gap:5px;
  font-size:11.5px;color:var(--sub);white-space:nowrap}
.admin-login .shield .dot{width:6px;height:6px;border-radius:50%;background:#12B76A;flex:0 0 auto}
.admin-login .shield .dot.ok{box-shadow:0 0 0 3px rgba(18,183,106,.16)}

.admin-login .back-front{display:inline-flex;align-items:center;gap:6px;margin-top:10px;
  padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;
  color:var(--bxz-1);text-decoration:none;
  background:#fff;border:1px solid rgba(0,106,243,.22);
  transition:all .18s}
.admin-login .back-front:hover{background:var(--bxz-1);color:#fff;border-color:var(--bxz-1);
  transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,106,243,.25)}
.admin-login .back-front .bf-ico{display:inline-flex;align-items:center}
.admin-login .back-front .bf-ico svg{width:15px;height:15px}
[data-theme="eye"] .admin-login .shield{background:rgba(120,130,140,.1);border-color:rgba(120,130,140,.2)}
[data-theme="eye"] .admin-login .shield .sh-ico{background:#6B7280;box-shadow:none}

.rs-box{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;
  background:var(--bxz-6);border:1px solid var(--line)}
.rs-box .rs-ico{flex:0 0 auto;width:32px;height:32px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center}
.rs-box .rs-ico.cyan{background:linear-gradient(135deg,#22D3EE,#0891B2)}
.rs-box .rs-ico.blue{background:linear-gradient(135deg,#3E9CFF,#0A68F0)}

.rs-box .rs-ico.green{background:linear-gradient(135deg,#34D399,#059669)}
.rs-box .rs-ico.grey{background:linear-gradient(135deg,#98A2B3,#667085)}
.rs-box .rs-ico svg{width:16px;height:16px}
.rs-box .rs-txt{min-width:0}
.rs-box .rs-k{font-size:12px;color:var(--sub)}
.rs-box .rs-v{font-size:22px;font-weight:800;line-height:1.2;color:var(--txt);
  font-variant-numeric:tabular-nums}

.gl{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;
  border-radius:14px;background:#fff;border:1px solid var(--line);
  box-shadow:0 2px 10px rgba(16,48,96,.05);transition:transform .2s,box-shadow .2s}
.gl:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(16,48,96,.11)}
.gl .gl-ico{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;margin-bottom:4px;
  background:linear-gradient(135deg,#EAF3FF,#D6E8FF);color:var(--bxz-1)}
.gl b{font-size:15px;color:var(--txt);font-weight:700}
.gl span:last-child{font-size:13px;color:var(--sub);line-height:1.7}

.ct-card{display:flex;flex-direction:column;align-items:center;gap:7px;
  padding:22px 16px;border-radius:14px;text-decoration:none;
  background:#fff;border:1px solid var(--line);
  box-shadow:0 2px 10px rgba(16,48,96,.05);transition:transform .2s,box-shadow .2s}
.ct-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(16,48,96,.11)}

.ct-card .ct-ico{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;color:#fff;
  box-shadow:inset 0 0 0 1.6px rgba(255,255,255,.34), 0 4px 13px rgba(16,48,96,.2);
  transition:transform .22s ease, box-shadow .22s ease}
.ct-card .ct-ico::before{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(120% 72% at 50% -14%, rgba(255,255,255,.48), rgba(255,255,255,0) 62%)}
.ct-card .ct-ico svg{width:22px;height:22px;position:relative;z-index:1;
  filter:drop-shadow(0 1px 1.2px rgba(0,0,0,.14))}
.ct-card:hover .ct-ico{transform:scale(1.07);
  box-shadow:inset 0 0 0 1.6px rgba(255,255,255,.42), 0 7px 18px rgba(16,48,96,.26)}
.ct-card b{font-size:14px;color:var(--txt);font-weight:700}
.ct-card span:last-child{font-size:13px;color:var(--sub);word-break:break-all;text-align:center}

@media (max-width:860px){
  .gl{padding:15px}
  .ct-card{padding:18px 12px}
}

.sidebar a.side-logout{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 12px;
  border-radius:12px;font-size:15.5px;font-weight:800;color:#D92D20;letter-spacing:.01em;
  background:linear-gradient(135deg,rgba(217,45,32,.08),rgba(217,45,32,.03));
  border:1px solid rgba(217,45,32,.16);
  transition:background .18s,color .18s,transform .18s,box-shadow .18s}
.sidebar a.side-logout:hover{background:linear-gradient(135deg,#F04438,#D92D20);color:#fff;
  border-color:transparent;transform:translateY(-1px);box-shadow:0 6px 16px rgba(217,45,32,.28)}
.sidebar a.side-logout .ico.lo{flex:0 0 auto;width:30px;height:30px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#F04438;color:#fff;box-shadow:0 2px 7px rgba(217,45,32,.32);
  transition:background .18s,box-shadow .18s}
.sidebar a.side-logout .ico.lo svg{width:16px;height:16px}
.sidebar a.side-logout:hover .ico.lo{background:rgba(255,255,255,.22);box-shadow:none}
.sidebar a.side-logout .lo-t{flex:1;min-width:0}
[data-theme="eye"] .sidebar a.side-logout{color:#B42318;background:rgba(180,35,24,.07);border-color:rgba(180,35,24,.16)}
[data-theme="eye"] .sidebar a.side-logout .ico.lo{background:#B42318;box-shadow:none}

.pay-item .pay-head .gw-ico{flex:0 0 auto;width:30px;height:30px;border-radius:9px;
  overflow:hidden;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 2px 7px rgba(16,48,96,.18)}
.pay-item .pay-head .gw-ico svg{width:30px;height:30px;display:block}
.pay-item .pay-head .rank{display:none}  

.acc-enter-active,.acc-leave-active{transition:max-height .28s cubic-bezier(.4,0,.2,1),
  opacity .22s ease,padding .28s cubic-bezier(.4,0,.2,1);overflow:hidden}
.acc-enter-from,.acc-leave-to{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
.acc-enter-to,.acc-leave-from{max-height:1200px;opacity:1}

.pay-item{border-radius:12px;transition:box-shadow .2s,border-color .2s}
.pay-item:hover{box-shadow:0 4px 16px rgba(16,48,96,.10)}
.pay-item .pay-head{cursor:pointer;transition:background .18s}
.pay-item .pay-head:hover{background:var(--bxz-5)}
.pay-item .pay-head .caret{display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:6px;color:var(--muted);
  transition:transform .26s cubic-bezier(.4,0,.2,1),color .18s,background .18s}
.pay-item .pay-head:hover .caret{background:rgba(16,48,96,.07);color:var(--bxz-1)}
.pay-item .pay-head .caret.up{transform:rotate(180deg)}

.title h2{position:relative;letter-spacing:.01em}

.title.tc h2{padding-bottom:14px}
.title.tc h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);
  bottom:0;width:44px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,#006AF3,#34ABFC)}

.title:not(.tc) h2{padding-left:14px}
.title:not(.tc) h2::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:22px;border-radius:2px;
  background:linear-gradient(180deg,#34ABFC,#006AF3)}

.title p{margin-top:12px;color:var(--sub);font-size:14px;line-height:1.8}

.cta-title{font-size:24px;font-weight:800;color:var(--txt);line-height:1.4;letter-spacing:.01em}
@media (max-width:640px){ .cta-title{font-size:20px} }

html{scroll-behavior:smooth}

@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

section[id],.legal-sec{scroll-margin-top:calc(var(--nav-h) + 14px)}

#vendors,#global,#flow,#features,#contact,#mall,#packages{scroll-margin-top:calc(var(--nav-h) + 20px)}

@media (max-width:860px){ :root{--nav-h:58px} }

.sidebar .ugrp{display:flex;align-items:center;gap:10px;padding:0 11px;height:46px;margin-top:10px;
  border-radius:11px;cursor:pointer;user-select:none;
  font-size:14.5px;font-weight:800;letter-spacing:.01em;color:var(--muted);
  transition:background .18s,color .18s}
.sidebar .ugrp:hover{background:var(--bxz-5);color:var(--txt)}
.sidebar .ugrp.open{color:var(--bxz-1)}
.sidebar .ugrp .ugrp-ico{flex:0 0 auto;width:26px;height:26px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--bxz-4);color:var(--muted);transition:background .18s,color .18s}
.sidebar .ugrp .ugrp-ico svg{width:15px;height:15px;display:block}
.sidebar .ugrp:hover .ugrp-ico{background:#fff;color:var(--bxz-1)}
.sidebar .ugrp.open .ugrp-ico{background:rgba(0,106,243,.1);color:var(--bxz-1)}
.sidebar .ugrp .ugrp-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .ugrp .ugrp-ar{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--muted);transition:transform .22s ease,color .18s}
.sidebar .ugrp .ugrp-ar svg{width:15px;height:15px;display:block}
.sidebar .ugrp .ugrp-ar.open{transform:rotate(180deg)}
.sidebar .ugrp.open .ugrp-ar{color:var(--bxz-1)}
.sidebar .ugrp-body{display:flex;flex-direction:column;gap:1px;padding:3px 0 6px 14px}
.sidebar .ugrp-body>a{margin-bottom:1px}

.bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;
  background:var(--bxz-4);color:var(--muted);cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.bell-btn:hover{background:var(--bxz-5);color:var(--bxz-1);border-color:rgba(0,106,243,.28)}
.bell-btn.on{color:var(--bxz-1);background:rgba(0,106,243,.09);border-color:rgba(0,106,243,.3)}
.bell-btn .bell-ico{display:inline-flex;flex:0 0 auto}
.bell-btn .bell-ico svg{width:17px;height:17px;display:block}

.np-hd{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px}
.np-hd .np-title{font-size:16px;font-weight:800;letter-spacing:.3px}
.np-hd .x{position:absolute;right:14px;top:50%;transform:translateY(-50%)}

.notice-item .ni-top{height:20px;padding:0 8px;font-size:11px;font-weight:700;flex:0 0 auto}

.bell-btn .bell-dot{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;
  border-radius:9px;background:#F04438;color:#fff;border:2px solid #fff;
  font-size:11px;font-weight:700;line-height:14px;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 1px 3px rgba(240,68,56,.45)}

.notice-item{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;overflow:hidden;background:#fff}
.notice-item.open{border-color:rgba(0,106,243,.35)}
.notice-item .ni-hd{display:flex;align-items:center;gap:8px;padding:11px 13px;cursor:pointer;user-select:none}
.notice-item .ni-hd:hover{background:var(--bxz-5)}
.notice-item .ni-hd b{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-item .ni-date{flex:0 0 auto;font-size:12px;color:var(--muted)}
.notice-item .ni-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#F04438}
.notice-item .ni-bd{padding:0 13px 13px;font-size:13.4px;line-height:1.75;color:var(--sub);
  white-space:pre-wrap;word-break:break-word;border-top:1px dashed var(--line);padding-top:11px}

.side-toggle{display:flex;align-items:center;gap:8px;margin:12px 10px 0;padding:0 10px;height:36px;
  border-radius:10px;background:var(--bxz-4);color:var(--muted);
  font-size:12.5px;font-weight:600;cursor:pointer;user-select:none;
  transition:background .18s,color .18s}
.side-toggle:hover{background:var(--bxz-5);color:var(--bxz-1)}
.side-toggle.on{color:var(--bxz-1);background:rgba(0,106,243,.09)}
.side-toggle .ico{display:inline-flex;flex:0 0 auto}
.side-toggle .ico svg{width:15px;height:15px;display:block}
.side-toggle .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-level{display:flex;align-items:center;gap:8px;margin:8px 10px 0;padding:8px 10px;border-radius:10px;background:var(--bxz-4);font-size:12.5px}
.side-level .lv-ico{width:26px;height:26px;border-radius:8px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff}
.side-level .lv-ico svg{width:16px;height:16px;display:block}

.plat-tip{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;margin-bottom:14px;
  border:1px solid #BCD8FF;border-radius:14px;background:linear-gradient(90deg,#EAF3FF,#fff)}
.plat-tip .pt-ico{flex:0 0 auto;margin-top:1px;color:var(--main);display:inline-flex}
.plat-tip .pt-txt{font-size:13px;line-height:1.85;color:var(--sub)}

.plat-card{display:flex;flex-direction:column}
.plat-card .bd{flex:1 1 auto}
.plat-card .hd .plat-name{font-weight:700;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plat-card .hd .plat-state{margin-left:auto;flex:0 0 auto}
.plat-state{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;
  font-size:11.5px;font-weight:700;background:#E6F8F0;color:var(--ok)}
.plat-state.off{background:#F1F4FA;color:var(--sub)}

.plat-card .ft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 18px;border-top:1px solid var(--line);background:#FCFDFF;border-radius:0 0 var(--r-card) var(--r-card)}
.plat-card .ft-l{display:flex;align-items:center;gap:8px;min-width:0}
.plat-card .ft-r{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plat-card .ft-txt{font-size:12.5px;font-weight:600;color:var(--sub)}
.plat-card .ft-sync{font-size:12px;color:var(--bxz-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mall-ft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 18px;border-top:1px solid var(--line);background:#FCFDFF;
  border-radius:0 0 var(--r-card) var(--r-card)}
.mall-ft-l{display:flex;align-items:center;gap:8px;min-width:0}
.mall-ft-r{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mall-ft-txt{font-size:12.5px;font-weight:600;color:var(--sub)}
@media (max-width:640px){
  .mall-ft{flex-direction:column;align-items:stretch}
  .mall-ft-r{margin-left:0;justify-content:flex-end}
}

.plat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:40px 20px;text-align:center}
.plat-empty .pe-ico{color:var(--bxz-2);display:inline-flex;opacity:.75}
.plat-empty .pe-txt{font-size:13.5px;color:var(--sub)}
@media (max-width:640px){
  .plat-card .ft{flex-direction:column;align-items:stretch}
  .plat-card .ft-r{margin-left:0;justify-content:flex-end}
  .plat-card .ft-sync{display:none}
}

.plat-test{margin:0 18px 14px;padding:11px 13px;border:1px solid var(--line);
  border-radius:10px;background:#FAFBFE}
.plat-test .ptt-hd{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink)}
.plat-test .ptt-dot{width:8px;height:8px;border-radius:50%;background:#B9C4D8;flex:0 0 auto}
.plat-test .ptt-hd.ok .ptt-dot{background:#15803D}
.plat-test .ptt-hd.bad .ptt-dot{background:#C4271B}
.plat-test .ptt-msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plat-test .ptt-steps{margin-top:9px;display:flex;flex-direction:column;gap:5px}
.plat-test .ptt-step{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;line-height:1.6}
.plat-test .ptt-ic{width:16px;height:16px;border-radius:50%;flex:0 0 auto;margin-top:2px;
  display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#fff}
.plat-test .ptt-ic.ok{background:#15803D}
.plat-test .ptt-ic.bad{background:#C4271B}
.plat-test .ptt-nm{flex:0 0 auto;color:var(--sub);font-weight:600}
.plat-test .ptt-dt{color:var(--bxz-2);word-break:break-all}

/* v1.9.252：连接测试状态条通用样式。
   此前只有 .plat-test 前缀的一套，而列表页/弹窗里的状态条用的是 .ptt-card，
   导致圆点无尺寸、步骤不换行、几乎等于没样式——测试结果"看不清、像没显示"。 */
.ptt-card .ptt-hd{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink)}
.ptt-card .ptt-dot{width:8px;height:8px;border-radius:50%;background:#B9C4D8;flex:0 0 auto}
.ptt-card .ptt-hd.ok .ptt-dot{background:#15803D}
.ptt-card .ptt-hd.bad .ptt-dot{background:#C4271B}
.ptt-card .ptt-msg{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptt-card .ptt-steps{margin-top:9px;display:flex;flex-direction:column;gap:5px}
.ptt-card .ptt-step{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;line-height:1.6}
.ptt-card .ptt-ic{width:16px;height:16px;border-radius:50%;flex:0 0 auto;margin-top:2px;
  display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#fff;background:#B9C4D8}
.ptt-card .ptt-ic.ok{background:#15803D}
.ptt-card .ptt-ic.bad{background:#C4271B}
.ptt-card .ptt-ic.ptt-sk{background:#F1F4FA;color:#64748B}
.ptt-card .ptt-nm{flex:0 0 auto;color:var(--sub);font-weight:600}
.ptt-card .ptt-dt{color:var(--bxz-2);word-break:break-all}
/* 弹窗内的测试状态条：独立成块，与表单区分开 */
.ptt-card.ptt-dlg{margin-top:14px;padding:11px 13px;border:1px solid var(--line);
  border-radius:10px;background:#FAFBFE}
html[data-eye-admin="1"] .ptt-card.ptt-dlg{background:var(--bxz-4,#1B2739);border-color:var(--line,#26344A)}

.modal.sm{max-width:400px}
.lo-ask{display:flex;gap:14px;align-items:flex-start;padding:4px 2px 2px}

.lo-ico{flex:0 0 auto;width:44px;height:44px;border-radius:14px;display:inline-flex;
  align-items:center;justify-content:center;background:#FDECEA;color:#D92D20}
.lo-ico svg{width:24px;height:24px;display:block}
.lo-txt{flex:1;min-width:0;padding-top:2px}
.lo-txt .lo-t1{font-size:15.5px;font-weight:800;color:var(--txt);line-height:1.5}
.lo-txt .lo-t2{margin-top:6px;font-size:13px;color:var(--sub);line-height:1.75}

.modal .ft.lo-ft{justify-content:flex-end;gap:10px}
.lo-ft .btn{min-width:88px;justify-content:center}

.bg-ask{padding:2px 2px 0}
.bg-ico{background:linear-gradient(135deg,rgba(15,98,224,.12),rgba(20,200,242,.16));color:var(--bxz-2)}
.bg-num{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;
  border-radius:12px;font-size:19px;font-weight:800;letter-spacing:.6px;color:var(--bxz-2);
  background:linear-gradient(135deg,rgba(15,98,224,.08),rgba(20,200,242,.1));
  border:1px dashed rgba(15,98,224,.32)}
@media (max-width:640px){
  .bg-num{font-size:17px;padding:8px 13px}
  .lo-ft .btn{min-width:0;flex:1}
}

.btn.danger{background:linear-gradient(135deg,#F97066,#D92D20);color:#fff;
  border:none;box-shadow:0 2px 8px rgba(217,45,32,.24)}
.btn.danger:hover{filter:brightness(1.05)}
@media (max-width:640px){
  .modal.sm{max-width:calc(100vw - 24px)}
  .lo-ask{gap:11px}
  .lo-ico{width:38px;height:38px;border-radius:12px}
  .lo-ico svg{width:21px;height:21px}
}

.sidebar.mini{width:64px;flex:0 0 64px;padding:16px 8px;
  overflow-x:hidden;overflow-y:auto;
  transition:width .22s ease,flex-basis .22s ease}
.sidebar{transition:width .22s ease,flex-basis .22s ease}

.sidebar.mini .side-brand{display:none}

.sidebar.mini a,
.sidebar.mini .grp,
.sidebar.mini .ugrp,
.sidebar.mini .side-toggle,
.sidebar.mini .side-collapse,
.sidebar.mini .side-logout,
.sidebar.mini .side-level{justify-content:center;gap:0;
  padding-left:0;padding-right:0;font-size:0}

.sidebar.mini .grp-t,
.sidebar.mini .ugrp-t,
.sidebar.mini .grp-ar,
.sidebar.mini .ugrp-ar,
.sidebar.mini .lo-t,
.sidebar.mini .side-toggle .t,
.sidebar.mini .side-collapse .t,

.sidebar.mini .grp-t,
.sidebar.mini .ugrp-t,
.sidebar.mini .grp-ar,
.sidebar.mini .ugrp-ar,
.sidebar.mini .lo-t,
.sidebar.mini .side-toggle .t,
.sidebar.mini .side-collapse .t,
.sidebar.mini .side-level b,
.sidebar.mini .side-level .sub{display:none}

.sidebar.mini .side-level .lv-ico{width:34px;height:34px;flex:0 0 34px;border-radius:11px;margin:0}

.sidebar.mini a .ico{width:22px;height:22px;flex:0 0 22px;opacity:1}
.sidebar.mini .grp .grp-ico,
.sidebar.mini .ugrp .ugrp-ico{width:30px;height:30px;border-radius:10px}
.sidebar.mini .grp .grp-ico svg,
.sidebar.mini .ugrp .ugrp-ico svg{width:17px;height:17px}

.sidebar.mini .grp-body,
.sidebar.mini .ugrp-body{padding:3px 0 6px;margin-left:0;border-left:none;align-items:stretch}

.sidebar.mini a.on{box-shadow:none;background:var(--bxz-4)}

.side-collapse{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:6px;
  border-radius:14px;cursor:pointer;user-select:none;color:var(--sub);
  font-size:14px;font-weight:600;transition:background .18s,color .18s}
.side-collapse:hover{background:var(--bxz-5);color:var(--bxz-1)}
.side-collapse .ico{width:20px;height:20px;flex:0 0 20px;display:inline-flex;
  align-items:center;justify-content:center;color:var(--bxz-1);opacity:.85}
.side-collapse .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-collapse.on .ico{opacity:1}
@media (max-width:860px){
  
  .sidebar.mini{width:220px;flex:0 0 220px;padding:16px 12px;font-size:14px}
  .side-collapse{display:none}
}

@media (min-width:861px){
  .sidebar{position:sticky;top:0;max-height:100vh;overflow-y:auto;overflow-x:hidden;
    scrollbar-width:thin;scrollbar-color:var(--line) transparent}
  .sidebar::-webkit-scrollbar{width:6px}
  .sidebar::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
  .sidebar::-webkit-scrollbar-track{background:transparent}
}

@media (min-width:861px){
  .sidebar .side-foot{position:sticky;bottom:0;z-index:3;background:#fff;
    box-shadow:0 -6px 14px rgba(16,42,84,.07)}
}

.side-foot{display:flex;gap:6px;padding:6px 0 0;margin-top:8px}
.side-foot>.side-toggle,.side-foot>.side-collapse{flex:1;min-width:0;height:52px;margin:0;
  flex-direction:column;gap:4px;padding:8px 4px;border-radius:12px;text-align:center}

.side-foot .t{flex:0 0 auto;font-size:11.5px;font-weight:600;line-height:1.25;letter-spacing:0;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  opacity:.85}
.side-foot .ico{opacity:1}
.side-foot .side-toggle:hover .t,.side-foot .side-collapse:hover .t{opacity:1}

.sidebar.mini .side-foot{flex-direction:column;gap:4px;padding:6px 0 0}
.sidebar.mini .side-foot>.side-toggle,
.sidebar.mini .side-foot>.side-collapse{padding:9px 0}

.sidebar.mini .side-level{justify-content:center;gap:0;padding:8px 0 12px;margin-bottom:2px}
.sidebar.mini .side-level b,.sidebar.mini .side-level .sub{display:none}
.sidebar.mini .side-level .lv-ico svg{width:19px;height:19px}

.side-foot{align-items:stretch}
.sidebar.mini .side-foot>.side-toggle,
.sidebar.mini .side-foot>.side-collapse{width:100%;height:44px;padding:0}

.sidebar.mini .grp,.sidebar.mini .ugrp,.sidebar.mini .grp-body a,.sidebar.mini .ugrp-body a{position:relative}
.sidebar.mini .grp-tag,
.sidebar.mini .grp-body a .pill{
  position:absolute;top:2px;right:5px;margin:0;z-index:2;
  min-width:15px;height:15px;padding:0 3px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:9.5px;font-weight:800;line-height:1;letter-spacing:0;
  box-shadow:0 0 0 2px #fff;                 
  text-overflow:clip;overflow:hidden;
}

.sidebar.mini .grp-body a .pill{max-width:26px}
.sidebar.mini .grp-tag{background:#D92D20;color:#fff}

.sidebar.mini .ugrp-tag,
.sidebar.mini .ugrp-body a .pill{display:none}

.sidebar.mini .grp:hover .grp-tag{box-shadow:0 0 0 2px var(--bxz-5)}

.sidebar a .pill.end{margin-left:auto}
.sidebar.mini a .pill.end{margin:0}

.sidebar a .pill.ok{background:#E6F8F0;color:#0B7A46}
.sidebar a .pill.bad{background:#FDECEA;color:#B42318}
.sidebar a .pill.warn{background:#FEF3E4;color:#93370D}
.sidebar a .pill.gray{background:#F1F4FA;color:#475467}
.sidebar a .pill{background:#F1F4FA;color:#475467}

html[data-eye-site="1"] .sidebar a .pill.ok,
html[data-eye-admin="1"] .sidebar a .pill.ok{background:#E6F8F0 !important;color:#0B7A46 !important}
html[data-eye-site="1"] .sidebar a .pill.bad,
html[data-eye-admin="1"] .sidebar a .pill.bad{background:#FDECEA !important;color:#B42318 !important}
html[data-eye-site="1"] .sidebar a .pill.warn,
html[data-eye-admin="1"] .sidebar a .pill.warn{background:#FEF3E4 !important;color:#93370D !important}
html[data-eye-site="1"] .sidebar a .pill.gray,
html[data-eye-admin="1"] .sidebar a .pill.gray{background:#F1F4FA !important;color:#475467 !important}
html[data-eye-site="1"] .sidebar a .pill,
html[data-eye-admin="1"] .sidebar a .pill{background:#F1F4FA !important;color:#475467 !important}
html[data-eye-site="1"] .sidebar .grp-tag,
html[data-eye-admin="1"] .sidebar .grp-tag,
html[data-eye-site="1"] .sidebar .ugrp-tag,
html[data-eye-admin="1"] .sidebar .ugrp-tag{background:#D92D20 !important;color:#fff !important}

.tk-imgs { display:flex; flex-wrap:wrap; gap:8px; }
.tk-thumb { position:relative; width:76px; height:76px; border-radius:8px; overflow:hidden;
  border:1px solid var(--bxz-line, #D7E1F2); background:var(--bxz-5, #F5F8FF); cursor:zoom-in; }
.tk-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.tk-thumb .del { position:absolute; top:0; right:0; width:20px; height:20px; line-height:20px;
  text-align:center; font-size:14px; color:#fff; background:rgba(0,0,0,.55);
  border-radius:0 0 0 8px; cursor:pointer; }
.tk-thumb .del:hover { background:var(--danger-color, #C4271B); }
.tk-add { width:76px; height:76px; border:1px dashed var(--bxz-line, #D7E1F2); border-radius:8px;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  color:var(--bxz-muted, #8AA0C4); font-size:26px; background:var(--bxz-5, #F5F8FF);
  transition:border-color .15s, color .15s; }
.tk-add:hover { border-color:var(--theme, #006AF3); color:var(--theme, #006AF3); }
.tk-preview { max-width:92vw; max-height:88vh; display:flex; align-items:center; justify-content:center; }
.tk-preview img { max-width:92vw; max-height:88vh; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.35); }
.captcha-img { height:38px; border-radius:8px; border:1px solid var(--bxz-line, #D7E1F2); cursor:pointer; }

.tk-prio { display:inline-flex; align-items:center; gap:6px; margin-left:12px; }
.tk-prio .pill { margin:0; }

[data-eye-site] .tk-thumb, [data-eye-site] .tk-add { background:var(--eye-card, #22303F); border-color:var(--eye-line, #3A4A5C); }

[data-eye-admin] .tk-thumb, [data-eye-admin] .tk-add { background:var(--eye-card, #22303F); border-color:var(--eye-line, #3A4A5C); }

.mall-bar{background:var(--card,#fff);border:1px solid var(--line,#e6ebf2);border-radius:14px;padding:14px 16px}
.mb-line{display:flex;align-items:flex-start;gap:12px;padding:6px 0}
.mb-line+.mb-line{border-top:1px dashed var(--line,#e6ebf2)}
.mb-label{flex:0 0 52px;font-size:12.5px;color:var(--sub,#6b7a90);line-height:30px;font-weight:600}
.mb-tabs{display:flex;flex-wrap:wrap;gap:8px;flex:1}
.mb-tab{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 13px;border-radius:15px;border:1px solid var(--line,#e6ebf2);
  background:var(--bg,#f7f9fc);color:var(--ink,#1b2a42);font-size:13px;cursor:pointer;transition:.18s;white-space:nowrap}
.mb-tab:hover{border-color:var(--theme,#006AF3);color:var(--theme,#006AF3)}
.mb-tab.on{background:var(--theme,#006AF3);border-color:var(--theme,#006AF3);color:#fff;font-weight:600}
.mb-tab.on .ico{color:#fff}
.mb-tab.t-icp.on{background:#0284C7;border-color:#0284C7}
.mb-tab.t-noicp.on{background:#64748B;border-color:#64748B}
.mb-logo-txt{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;
  background:rgba(0,106,243,.12);color:var(--theme,#006AF3);font-size:11px;font-weight:700}
.mb-tab.on .mb-logo-txt{background:rgba(255,255,255,.22);color:#fff}
.mb-sum{margin-top:8px;font-size:12.5px;color:var(--sub,#6b7a90)}

.mall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.mcard{position:relative;background:var(--card,#fff);border:1px solid var(--line,#e6ebf2);border-radius:14px;
  overflow:hidden;transition:.2s;display:flex;flex-direction:column}
.mcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(16,42,80,.10);border-color:var(--theme,#006AF3)}
.mcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.mcard.is-icp::before{background:linear-gradient(180deg,#38BDF8,#0284C7)}
.mcard.no-icp::before{background:linear-gradient(180deg,#CBD5E1,#94A3B8)}
.mc-head{display:flex;align-items:center;gap:11px;padding:14px 16px 10px 18px}
.mc-mark{flex:0 0 40px;border-radius:50%;overflow:hidden;box-shadow:0 2px 6px rgba(16,42,80,.12)}
.mc-title{flex:1;min-width:0}
/* v1.9.278：商城卡片域名放大，突出主体信息 */
.mc-title b{display:block;font-size:19px;letter-spacing:.3px;line-height:1.25;word-break:break-all}
.mc-vendor{font-size:12px;color:var(--sub,#6b7a90)}
.mc-icp{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:12px;font-size:11.5px;font-weight:600;white-space:nowrap}
.mc-icp.ok{background:#E0F2FE;color:#075985}
.mc-icp.gray{background:#F1F5F9;color:#64748B}
.mc-icp .ico{width:13px;height:13px}
.mc-body{padding:0 16px 12px 18px;flex:1}
.mc-price{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}
.mc-price .cur{font-size:14px;color:#D92D20;font-weight:600}
.mc-price b{font-size:26px;color:#D92D20;font-weight:800;line-height:1.1}
.mc-price .per{font-size:12.5px;color:var(--sub,#6b7a90);margin-left:2px}
.mc-price b.is-free{font-size:22px;color:#0B7A46;font-weight:800;line-height:1.1}
.mc-off{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:9px;background:#FEF3C7;color:#92400E;font-size:11px;font-weight:700}
.mc-meta{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--sub,#6b7a90)}
/* v1.9.272：可用区域（中国大陆 / 海外 / 全球通用） */
.mc-region{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:11px;
  border:1px solid transparent;font-size:11.5px;font-weight:700;white-space:nowrap;cursor:default}
.mc-region .ico{width:12px;height:12px;flex:0 0 12px}
.mc-region.rg-global{color:#0B6BCB;background:#EAF3FF;border-color:#C7DFFB}
.mc-region.rg-global .ico{color:#006AF3}
.mc-region.rg-cn{color:#B42318;background:#FEECEA;border-color:#FBCFC9}
.mc-region.rg-cn .ico{color:#D92D20}
.mc-region.rg-oversea{color:#08546B;background:#E6F6FB;border-color:#BCE6F3}
.mc-region.rg-oversea .ico{color:#0891B2}
/* v1.9.272：剩余解析次数进度条。四级配色随剩余比例变化 */
.mc-quota{margin-top:10px;padding:9px 11px;border-radius:10px;background:var(--bg,#f7f9fc);border:1px solid var(--line,#e6ebf2)}
.mq-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.mq-lb{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--sub,#6b7a90);white-space:nowrap}
.mq-lb .ico{width:12px;height:12px;flex:0 0 12px}
.mq-val{font-size:11.5px;font-weight:700;white-space:nowrap}
.mq-bar{position:relative;height:7px;border-radius:999px;background:#E8EDF5;overflow:hidden}
.mq-bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;transition:width .35s ease}
.mc-quota.lv0 .mq-lb{color:#B42318}.mc-quota.lv0 .mq-val{color:#B42318}
.mc-quota.lv0 .mq-lb .ico{color:#D92D20}.mc-quota.lv0 .mq-bar>i{background:linear-gradient(90deg,#F04438,#D92D20)}
.mc-quota.lv1 .mq-lb,.mc-quota.lv1 .mq-val{color:#B54708}
.mc-quota.lv1 .mq-lb .ico{color:#F79009}.mc-quota.lv1 .mq-bar>i{background:linear-gradient(90deg,#FDB022,#F79009)}
.mc-quota.lv2 .mq-lb,.mc-quota.lv2 .mq-val{color:#0B6BCB}
.mc-quota.lv2 .mq-lb .ico{color:#006AF3}.mc-quota.lv2 .mq-bar>i{background:linear-gradient(90deg,#53B1FD,#006AF3)}
.mc-quota.lv3 .mq-lb,.mc-quota.lv3 .mq-val{color:#087443}
.mc-quota.lv3 .mq-lb .ico{color:#12B76A}.mc-quota.lv3 .mq-bar>i{background:linear-gradient(90deg,#32D583,#12B76A)}
.mc-foot{padding:10px 16px 14px 18px;border-top:1px dashed var(--line,#e6ebf2);display:flex;gap:8px}
.mc-foot .btn{flex:1;justify-content:center}

/* v1.9.249：SVG 圆角为 viewBox 的 25%（rx=8/32），盒子用百分比圆角才能任意尺寸都贴合 */
.mc-brand{flex:0 0 34px;border-radius:25%;overflow:hidden;box-shadow:0 2px 7px rgba(16,42,80,.14)}
.mb-ico{display:inline-flex;width:16px;height:16px;margin-right:5px;vertical-align:-3px;border-radius:4px;overflow:hidden}
.mb-tab.on .mb-ico{box-shadow:0 0 0 1.5px rgba(255,255,255,.55)}

.mc-remark{margin:0 16px 10px 18px;display:flex;align-items:flex-start;gap:6px;
  padding:7px 10px;border-radius:8px;background:var(--bg,#f7f9fc);border-left:3px solid var(--theme,#006AF3);
  font-size:12.5px;color:var(--sub,#5a6b85);line-height:1.5;word-break:break-word}
.mc-remark .ico{width:14px;height:14px;flex:0 0 14px;margin-top:2px;opacity:.75}
.buy-remark{margin-top:8px;display:flex;align-items:flex-start;gap:6px;padding:8px 11px;border-radius:9px;
  background:#FFFBEB;border-left:3px solid #F59E0B;font-size:12.5px;color:#92400E;line-height:1.5}
.buy-remark .ico{width:14px;height:14px;flex:0 0 14px;margin-top:2px}

.mall-pager{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mp-info{font-size:12.5px;color:var(--sub,#6b7a90)}
.mp-btns{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.mp-btn{min-width:32px;height:32px;padding:0 9px;border-radius:8px;border:1px solid var(--line,#e6ebf2);
  background:var(--card,#fff);color:var(--ink,#1f2d3d);font-size:12.5px;cursor:pointer;transition:.15s}
.mp-btn:hover:not(:disabled){border-color:var(--theme,#006AF3);color:var(--theme,#006AF3)}
.mp-btn.on{background:var(--theme,#006AF3);border-color:var(--theme,#006AF3);color:#fff;font-weight:700}
.mp-btn:disabled{opacity:.45;cursor:not-allowed}

.buy-modal{max-width:520px}
.buy-top{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--bg,#f7f9fc);border:1px solid var(--line,#e6ebf2)}
.bt-mark{flex:0 0 46px;border-radius:50%;overflow:hidden;box-shadow:0 2px 6px rgba(16,42,80,.12)}
.bt-mid{flex:1;min-width:0}
.bt-name{font-size:18px;word-break:break-all}
.bt-badge{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:13px;font-size:12px;font-weight:600}
.bt-badge.ok{background:#E0F2FE;color:#075985}
.bt-badge.gray{background:#F1F5F9;color:#64748B}
.buy-info{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.bi{background:var(--bg,#f7f9fc);border:1px solid var(--line,#e6ebf2);border-radius:10px;padding:9px 10px;text-align:center}
.bi span{display:block;font-size:11.5px;color:var(--sub,#6b7a90);margin-bottom:3px}
.bi b{font-size:14px}
/* v1.9.278：当前折扣按有无折扣区分配色，有折扣醒目、无折扣弱化 */
.bi b.bi-off{display:inline-block;margin-top:-1px;padding:1px 8px;border-radius:9px;background:#E6F7EF;color:#087443;font-weight:800}
.bi b.bi-none{color:#94A3B8;font-weight:600;font-size:13px}
.buy-qty{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
.bq-label{font-size:13px;font-weight:600}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line,#e6ebf2);border-radius:9px;overflow:hidden;background:var(--card,#fff)}
.stepper button{width:34px;height:32px;border:0;background:transparent;font-size:17px;cursor:pointer;color:var(--ink,#1b2a42)}
.stepper button:hover{background:var(--bg,#f7f9fc);color:var(--theme,#006AF3)}
.stepper b{min-width:42px;text-align:center;font-size:15px}
/* v1.9.250：购买弹窗的解析数/租用时长支持手动输入 */
.stepper .sp-in{width:46px;height:32px;border:0;border-left:1px solid var(--line,#e6ebf2);border-right:1px solid var(--line,#e6ebf2);
  background:transparent;text-align:center;font-size:15px;font-weight:700;color:var(--ink,#1b2a42);padding:0;border-radius:0;
  -moz-appearance:textfield;appearance:textfield;font-family:inherit}
.stepper .sp-in::-webkit-outer-spin-button,.stepper .sp-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper .sp-in:focus{outline:none;background:var(--bg,#f7f9fc)}
html[data-eye-site="1"] .stepper .sp-in{color:var(--ink,#E6EDF7)}
.bq-hint{font-size:12.5px;color:var(--sub,#6b7a90)}
.buy-note{display:flex;gap:7px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:10px;
  background:#FFFBEB;border:1px solid #FDE68A;color:#92400E;font-size:12.5px;line-height:1.7}
.buy-note .ico{flex:0 0 15px;margin-top:2px}
.buy-amount{margin-right:auto;font-size:13px}
.buy-amount b{font-size:19px;color:#D92D20;font-weight:800}

.buy-rent{margin-top:14px;border:1px solid var(--line,#e6ebf2);border-radius:12px;padding:12px 14px;background:var(--card,#fff)}
.br-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.br-label{font-size:13px;font-weight:600}
.br-tabs{display:inline-flex;border:1px solid var(--line,#e6ebf2);border-radius:9px;overflow:hidden}
.br-tabs button{border:0;background:transparent;padding:6px 14px;font-size:12.5px;cursor:pointer;color:var(--sub,#6b7a90)}
.br-tabs button.on{background:var(--theme,#006AF3);color:#fff;font-weight:600}
.br-body{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.br-unit{font-size:13px}
.br-eq{font-size:12.5px;color:var(--sub,#6b7a90)}
.br-exp{margin-left:auto;font-size:12.5px;color:var(--sub,#6b7a90)}
.br-quick{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.br-quick button{border:1px solid var(--line,#e6ebf2);background:var(--card,#fff);border-radius:8px;
  padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--ink,#1b2a42)}
.br-quick button.on{border-color:var(--theme,#006AF3);color:var(--theme,#006AF3);font-weight:600}
@media (max-width:520px){.br-exp{margin-left:0;width:100%}}

.rec-panel{background:var(--card,#fff);border:1px solid var(--line,#e6ebf2);border-radius:14px;overflow:hidden}
.rp-head{display:flex;align-items:center;gap:12px;padding:14px 16px;
  background:linear-gradient(120deg,rgba(0,106,243,.07),rgba(0,106,243,.01));border-bottom:1px solid var(--line,#e6ebf2)}
.rp-mark{flex:0 0 44px;border-radius:50%;overflow:hidden;box-shadow:0 2px 6px rgba(16,42,80,.12)}
.rp-mid{flex:1;min-width:0}
.rp-name{display:block;font-size:18px;word-break:break-all}
.rp-sub{font-size:12.5px;color:var(--sub,#6b7a90);margin-top:3px}
.rp-badge{height:26px;padding:0 11px;border-radius:13px;font-size:12px;font-weight:600;display:inline-flex;align-items:center}
.rp-badge.ok{background:#DCFCE7;color:#15803D}
.rp-badge.gray{background:#F1F5F9;color:#64748B}
.rp-body{display:flex;gap:22px;padding:14px 16px;flex-wrap:wrap;align-items:flex-start}
.rp-quota{flex:0 0 230px;min-width:200px}
.rq-top{display:flex;justify-content:space-between;font-size:12.5px;color:var(--sub,#6b7a90);margin-bottom:6px}
.rq-top b{color:var(--ink,#1b2a42);font-size:13.5px}
.rq-bar{height:8px;border-radius:4px;background:#EEF2F7;overflow:hidden}
.rq-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#38BDF8,#006AF3);transition:width .3s}
.rp-types{flex:1;min-width:220px}
.rp-label{font-size:12.5px;color:var(--sub,#6b7a90);margin-bottom:7px}
.rtype{display:inline-block;margin:0 6px 6px 0;padding:3px 10px;border-radius:8px;font-size:12px;font-weight:700;
  background:#F1F5F9;color:#475569;border:1px solid #E2E8F0}
.rtype.sm{font-size:11.5px;padding:2px 8px;margin:0}
.rtype.t-a{background:#E0F2FE;color:#075985;border-color:#BAE6FD}
.rtype.t-cname{background:#CCFBF1;color:#115E59;border-color:#99F6E4}
.rtype.t-mx{background:#EDE9FE;color:#5B21B6;border-color:#DDD6FE}
.rtype.t-txt{background:#FEF3C7;color:#92400E;border-color:#FDE68A}
.rtype.t-aaaa{background:#DCFCE7;color:#15803D;border-color:#BBF7D0}
.rp-tip{display:flex;gap:7px;align-items:flex-start;padding:10px 16px;border-top:1px dashed var(--line,#e6ebf2);
  font-size:12px;color:var(--sub,#6b7a90);line-height:1.7}
.rp-tip .ico{flex:0 0 15px;margin-top:2px}
.rec-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rf-count{font-size:12.5px;color:var(--sub,#6b7a90)}
.rv{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;
  background:var(--bg,#f7f9fc);padding:2px 6px;border-radius:5px;word-break:break-all}

.rec-modal{max-width:460px}
.rm-domain{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;
  background:var(--bg,#f7f9fc);border:1px solid var(--line,#e6ebf2);margin-bottom:14px}
.rm-mark{flex:0 0 34px;border-radius:50%;overflow:hidden}
.rm-domain b{font-size:15px;word-break:break-all}
.rm-preview{margin-top:6px;font-size:12px;color:var(--sub,#6b7a90)}
.rm-preview b{color:var(--theme,#006AF3);font-family:ui-monospace,Menlo,Consolas,monospace}

.rm-resv{display:flex;gap:6px;align-items:center;margin-top:6px;font-size:12px;color:var(--sub,#6b7a90)}
.rm-resv .ico{flex:0 0 14px;opacity:.85}
.rm-tip{display:flex;gap:7px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:10px;
  background:#FFFBEB;border:1px solid #FDE68A;color:#92400E;font-size:12.5px;line-height:1.7}
.rm-tip .ico{flex:0 0 15px;margin-top:2px}

.rm-warn{display:flex;gap:6px;align-items:flex-start;margin-top:8px;padding:7px 10px;border-radius:8px;
  background:#FEF2F2;border:1px solid #FECACA;color:#B42318;font-size:12px;line-height:1.6}
.rm-warn .ico{flex:0 0 14px;margin-top:1px}
.rm-soon{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.soon-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;
  background:var(--bg,#f7f9fc);border:1px solid var(--line,#e6ebf2);color:var(--sub,#6b7a90);font-size:11.5px;line-height:1.5}
.soon-chip .ico{flex:0 0 12px;opacity:.85}
.soon-chip.gray{background:#F1F5F9}
.rp-guard{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}
.guard-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;
  background:#ECFDF3;border:1px solid #ABEFC6;color:#0B7A46;font-size:12px;font-weight:600;line-height:1.5}
.guard-chip .ico{flex:0 0 13px}
[data-eye-site] .rm-warn,[data-eye-site] .rm-tip{color:#3B2F14}
[data-eye-site] .guard-chip{background:#123018;color:#7FD9A0;border-color:#2A5C3A}

@media (max-width:640px){
  /* v1.9.278：小屏下商城域名略收，避免长域名换行过多 */
  .mc-title b{font-size:17px}
  .mall-grid{grid-template-columns:1fr}
  .buy-info{grid-template-columns:repeat(2,1fr)}
  .mb-label{flex:0 0 44px}
  .rp-quota{flex:1 1 100%}
}

.icp-tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:11px;font-size:11.5px;font-weight:600;white-space:nowrap}
.icp-tag.ok{background:#E0F2FE;color:#075985}
.icp-tag.gray{background:#F1F5F9;color:#64748B}

.buy-tipbox{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--soft,#f7f9fc);margin-top:12px}
.btp-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.65;color:var(--ink)}
.btp-row .ico{width:16px;height:16px;flex:0 0 16px;margin-top:1px;color:var(--brand,#006af3)}
.btp-sub{color:var(--muted,#8a94a6);font-size:12.5px}

.buy-calc{margin-top:12px;border:1px dashed var(--brand,#006af3);border-radius:10px;padding:12px 14px;
  background:var(--brand-soft,#eaf3ff)}
.bc-line{display:flex;align-items:flex-start;gap:8px;font-size:12.8px;line-height:1.75;color:var(--ink)}
.bc-line .ico{width:15px;height:15px;flex:0 0 15px;margin-top:3px;color:var(--brand,#006af3)}

.bh-price{display:inline-flex;align-items:baseline;gap:1px;font-size:17px;font-weight:800;color:#D92D20;line-height:1.2;white-space:nowrap}
.bh-price i{font-style:normal;font-size:12.5px;font-weight:700}
.bh-price em{font-style:normal;font-size:11.5px;font-weight:500;color:var(--muted,#8a94a6);margin-left:3px}
.bh-price.is-free{color:#0B7A46;font-size:15px;padding:3px 10px;border-radius:999px;
  background:#ECFDF3;border:1px solid #ABEFC6}
.bc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bcg{background:var(--card,#fff);border-radius:9px;padding:8px 6px;text-align:center}
.bcg span{display:block;font-size:11.5px;color:var(--muted,#8a94a6);margin-bottom:3px}
.bcg b{font-size:13.5px;color:var(--brand,#006af3);font-weight:700;word-break:break-all}
.buy-amount b.is-free{color:#0B7A46;font-size:17px}
@media (max-width:520px){.bc-grid{grid-template-columns:1fr 1fr}.bcg:last-child{grid-column:span 2}}
.bc-hd{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--brand,#006af3);margin-bottom:8px}
.bc-hd .ico{width:15px;height:15px;flex:0 0 15px}
.bc-row{display:flex;align-items:baseline;gap:10px;font-size:12.8px;line-height:1.7;padding:3px 0}
.bc-row .bc-k{flex:0 0 68px;color:var(--muted,#8a94a6);font-size:12.3px}
.bc-row .bc-v{flex:1;color:var(--ink);word-break:break-all}
.bc-row .bc-v b{color:var(--brand,#006af3);font-size:14px}
.bc-sum{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,106,243,.28);
  font-size:13px;font-weight:700;color:var(--brand,#006af3);letter-spacing:.2px}

.rm-quota{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;
  color:var(--brand,#006af3);background:var(--brand-soft,#eaf3ff);border-radius:999px;padding:4px 10px;white-space:nowrap}
.rm-quota .ico{width:14px;height:14px;flex:0 0 14px}

.rq-left{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--ok,#15803d)}

.vd-list{max-height:320px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:6px}
.vd-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13.5px;
  transition:background .15s}
.vd-item:hover{background:var(--soft,#f7f9fc)}
.vd-item.is-exists{opacity:.55;cursor:not-allowed}
.vd-item input[type=checkbox]{width:15px;height:15px;flex:0 0 15px;cursor:inherit}
.vd-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.vd-tag{flex:0 0 auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;
  background:#F1F5F9;color:#64748B}

.mc-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;padding:9px 14px 0 18px}
.mtag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:11px;
  font-size:11px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 2px 6px rgba(16,42,80,.12)}
.mtag .ico{width:11px;height:11px;flex:0 0 11px}
.mtag.hot{background:linear-gradient(135deg,#FF7A45,#E02D1B);color:#fff}
.mtag.sell{background:#FFF1E6;color:#C2410C;border:1px solid #FED7AA}
.mtag.new{background:linear-gradient(135deg,#4ADE80,#16A34A);color:#fff}
.mtag.limit{background:#FEF3C7;color:#92400E;border:1px solid #FDE68A}
.mtag.own{background:#E0F2FE;color:#075985;border:1px solid #BAE6FD}
/* v1.9.271：推荐标签——紫金渐变，与其他标签拉开层次 */
.mtag.rec{background:linear-gradient(135deg,#A78BFA,#7C3AED);color:#fff;letter-spacing:.3px}
.mtag.rec .ico{color:#FDE68A}
/* v1.9.274：库存售完——置顶的缺货标签、红色库存胶囊、整卡去饱和 */
.mtag.out{background:linear-gradient(135deg,#FB7185,#E11D48);color:#fff;letter-spacing:.3px}
.mtag.out .ico{color:#FFE4E6}
.mcard.is-out{filter:saturate(.62);opacity:.9}
.mcard.is-out:hover{transform:none;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.mcard.is-out .mc-title b{color:#64748B}
.mcard.is-out::before{background:linear-gradient(180deg,#CBD5E1,#94A3B8)}
.btn.is-out{background:#F1F5F9;color:#94A3B8;border:1px solid #E2E8F0;box-shadow:none}
.btn.is-out .ico{color:#94A3B8}
/* v1.9.271：推荐域名整卡高亮 */
.mcard.is-rec{border-color:#DDD6FE;box-shadow:0 2px 10px rgba(124,58,237,.10)}
.mcard.is-rec:hover{border-color:#A78BFA;box-shadow:0 12px 26px rgba(124,58,237,.18)}
.mcard.is-rec::before{background:linear-gradient(180deg,#C4B5FD,#7C3AED)}
.mcard.is-rec .mc-title b{color:#5B21B6}

.mall-grid{padding-top:10px}

/* v1.9.271：库存与销量并列成行（后台卡片已不再显示库存） */
.mc-footline{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mc-stock{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:11px;
  font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}
.mc-stock .ico{width:12px;height:12px;flex:0 0 12px}
.mc-stock.unl{color:#0B8A5B;background:#E7F8F0;border-color:#BBEBD5}
.mc-stock.unl .ico{color:#12A670}
.mc-stock.num{color:#92400E;background:#FEF7E6;border-color:#FBE3B0}
.mc-stock.num .ico{color:#D97706}
/* v1.9.274：售完用红色胶囊 */
.mc-stock.out{color:#B42318;background:#FEE4E2;border-color:#FECDCA}
.mc-stock.out .ico{color:#F04438}
html[data-eye-admin="1"] .mc-stock.out{color:#FDA29B !important;background:rgba(240,68,56,.18) !important;border-color:rgba(253,162,155,.35) !important}
html[data-eye-admin="1"] .mc-stock.unl{color:#7FD9A0 !important;background:rgba(18,166,112,.18) !important;border-color:rgba(127,217,160,.35) !important}
html[data-eye-admin="1"] .mc-stock.num{color:#FCD34D !important;background:rgba(217,119,6,.18) !important;border-color:rgba(252,211,77,.35) !important}
.mc-sold{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sub,#6b7a90)}
.mc-sold .ico{width:13px;height:13px;flex:0 0 13px;color:#F97316}
.mc-sold .dot{opacity:.5}

/* v1.9.273：按用户要求改回蓝色渐变（v1.9.271 原配色）。
   v1.9.272 那版浅底实测对比度更好，但用户认为不好看，故恢复蓝色；
   同时保留两项可读性改进：价格用白色胶囊底、"/ 条·月"改为琥珀色而非灰色。 */
.buy-hero{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:13px;color:#fff;
  background:linear-gradient(120deg,#0284C7,#0EA5E9)}
.buy-hero.no-icp{background:linear-gradient(120deg,#475569,#94A3B8)}
/* v1.9.274：会员卡不再用金色（用户反馈不好看），改为品牌蓝加深 + 卡面质感。
   卡种（月卡 / 年卡 / 3个月卡）用白色胶囊承载，与蓝色底形成清晰层级。 */
.buy-hero.is-vip{background:linear-gradient(120deg,#0753A8,#006AF3 60%,#2E8CFF);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 2px 12px rgba(0,106,243,.28)}
.buy-hero.is-vip .bh-mark{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.45)}
/* v1.9.274：会员卡卡面——白底胶囊，左侧卡图标，右侧卡种 */
.bh-vip{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 4px 3px 9px;border-radius:999px;
  background:#fff;color:#0B4A8F;font-size:11.5px;font-weight:700;line-height:20px;
  box-shadow:0 1px 4px rgba(2,32,71,.16)}
.bh-vip .ico{width:13px;height:13px;flex:0 0 13px;color:#006AF3}
.bh-vip b{font-weight:800;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bh-vip em{font-style:normal;margin-left:2px;padding:0 8px;border-radius:999px;
  background:linear-gradient(135deg,#006AF3,#3B8BFF);color:#fff;font-size:10.5px;font-weight:800;line-height:18px}
/* v1.9.249：图标盒与 SVG 精确等宽等高。
   旧写法 flex-basis 44px 而 SVG 仅 42px，且 SVG 为 inline 元素带来约 6px 基线间隙，
   盒子实际为 44×48，半透明白底在右侧与底部露出两条白边、圆角也对不上。 */
/* v1.9.272：浅底 hero 上不能再沿用半透明白底，改为白色实底 + 细描边 */
.bh-mark{flex:0 0 42px;width:42px;height:42px;display:block;line-height:0;
  border-radius:10.5px;overflow:hidden;background:rgba(255,255,255,.22)}
.bh-mark>svg{display:block;width:100%;height:100%}
.bh-mid{flex:1;min-width:0}
.bh-name{display:block;font-size:19px;font-weight:800;letter-spacing:.2px;word-break:break-all;line-height:1.25}
.bh-sub{font-size:12.5px;opacity:.92;margin-top:2px}
.bh-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:0 0 auto}
/* v1.9.273：价格用白色胶囊底，避免红色数字直接压在蓝色渐变上；
   "/ 条·月" 由灰色改为琥珀色，与价格红形成暖色层级、不再糊成一片。 */
.bh-price{background:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 3px rgba(3,42,84,.18);
  border-radius:11px;padding:3px 10px;line-height:1.15}
.bh-price em{color:#B54708 !important;font-weight:700}
.bh-icp{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:11px;
  font-size:11.5px;font-weight:700;background:#fff;border:1px solid #DCE3EC}
.bh-icp.ok{color:#075985;border-color:#BAE1F5;background:#E8F6FE}
.bh-icp.gray{color:#475569}
/* v1.9.272：可用区域（购买弹窗） */
.bh-region{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:11px;
  border:1px solid transparent;font-size:11.5px;font-weight:700;background:#fff}
.bh-region .ico{width:12px;height:12px}
.bh-region.rg-global{color:#0B6BCB;border-color:#C7DFFB}
.bh-region.rg-cn{color:#B42318;border-color:#FBCFC9}
.bh-region.rg-oversea{color:#08546B;border-color:#BCE6F3}
/* v1.9.272：标签改实底，去掉半透明白底（深底上几乎看不出边界） */
.bh-tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:11px;
  font-size:11px;font-weight:700;background:#EEF2F7;color:#334155;border:1px solid #DDE3EC}
.bh-tag.rec{background:#F4E8FF;color:#6941C6;border-color:#D9C2FB}
.bh-tag.new{background:#E5F8EE;color:#087443;border-color:#B6E8CE}
.bh-tag.hot{background:#FEECEA;color:#B42318;border-color:#FBCFC9}
.bh-tag.sell{background:#FFF6E5;color:#B54708;border-color:#FBE3B0}
.bh-tag.limit{background:#FEECEA;color:#B42318;border-color:#FBCFC9}
.bh-tag.own{background:#EAF3FF;color:#0B6BCB;border-color:#C7DFFB}
.bh-tag .ico{width:11px;height:11px}

.buy-qty{display:block;margin-top:14px;padding:12px 14px;border:1px solid var(--line,#e6ebf2);border-radius:12px;background:var(--card,#fff)}
.bq-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bq-label{font-size:13px;font-weight:700}
.bq-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bq-quick{display:flex;gap:7px;flex-wrap:wrap}
.bq-quick button{border:1px solid var(--line,#e6ebf2);background:var(--card,#fff);border-radius:8px;
  padding:5px 12px;font-size:12.5px;cursor:pointer;color:var(--ink,#1b2a42)}
.bq-quick button.on{border-color:var(--theme,#006AF3);color:var(--theme,#006AF3);font-weight:700}
.bq-quick button:disabled{opacity:.4;cursor:not-allowed}
.bq-eq{margin-left:auto;font-size:12.5px;color:var(--sub,#6b7a90)}
@media (max-width:520px){.bq-eq{margin-left:0;width:100%}}

.mini-bar{margin-top:4px;width:72px;height:5px;border-radius:3px;background:#EEF2F7;overflow:hidden}
.mini-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#38BDF8,#006AF3)}

.rm-hero{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:12px;margin-bottom:14px;
  background:linear-gradient(120deg,rgba(0,106,243,.09),rgba(0,106,243,.02));border:1px solid rgba(0,106,243,.18)}
.rm-mark{flex:0 0 38px;border-radius:50%;overflow:hidden;box-shadow:0 2px 6px rgba(16,42,80,.12)}
.rm-hmid{flex:1;min-width:0}
.rm-hname{display:block;font-size:17px;font-weight:800;word-break:break-all}
.rm-hsub{font-size:12px;color:var(--sub,#6b7a90);margin-top:2px}
.host-wrap{display:flex;align-items:stretch;border:1px solid var(--line,#e6ebf2);border-radius:9px;overflow:hidden;background:var(--card,#fff)}
.host-wrap .hw-in{flex:1;min-width:0;border:0;border-radius:0;background:transparent}
.hw-sfx{display:flex;align-items:center;padding:0 12px;font-size:13px;font-weight:700;color:var(--sub,#6b7a90);
  background:var(--bg,#f7f9fc);border-left:1px solid var(--line,#e6ebf2);white-space:nowrap;max-width:46%;overflow:hidden;text-overflow:ellipsis}

.type-chips{display:flex;gap:7px;flex-wrap:wrap}
.tchip{border:1px solid var(--line,#e6ebf2);background:var(--card,#fff);border-radius:9px;
  padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink,#1b2a42)}
.tchip:hover{border-color:var(--theme,#006AF3);color:var(--theme,#006AF3)}
.tchip.on{background:var(--theme,#006AF3);border-color:var(--theme,#006AF3);color:#fff}
.rm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width:460px){.rm-grid{grid-template-columns:1fr}}

.rp-tip.ok{color:#15803D}
[data-eye-site] .rp-tip.ok{color:#86EFAC}

.dm-tabs{display:flex;gap:8px;flex-wrap:wrap}
.dm-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;
  border:1px solid var(--line,#E6EDF7);background:#fff;color:var(--sub,#6B7A90);font-size:13.5px;font-weight:700;cursor:pointer;transition:.16s}
.dm-tab .ico{width:15px;height:15px;display:inline-flex}
.dm-tab:hover{border-color:var(--bxz-1,#006AF3);color:var(--bxz-1,#006AF3)}
.dm-tab.on{background:linear-gradient(135deg,var(--bxz-1,#006AF3),var(--bxz-2,#00A3FF));color:#fff;border-color:transparent;
  box-shadow:0 4px 12px rgba(0,106,243,.22)}
.dm-tab.on .ico{color:#fff}
.dt-n{margin-left:2px;padding:1px 7px;border-radius:9px;background:rgba(0,0,0,.07);font-size:11.5px;font-weight:800}
.dm-tab.on .dt-n{background:rgba(255,255,255,.28);color:#fff}
.dm-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;cursor:pointer;
  background:var(--bxz-soft,#EAF3FF);color:var(--bxz-1,#006AF3);font-size:12.5px;font-weight:700}

.pkg-card{position:relative;background:#fff;border:1px solid var(--line,#E6EDF7);border-radius:14px;padding:16px;
  display:flex;flex-direction:column;transition:.18s;overflow:hidden}
.pkg-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,42,74,.10)}
.pkg-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#F59E0B}
.pkg-card.pc-month::before{background:linear-gradient(180deg,#D97706,#F59E0B)}
.pkg-card.pc-year::before{background:linear-gradient(180deg,#A16207,#FACC15)}
.pkg-card.pc-custom::before{background:linear-gradient(180deg,#9D174D,#EC4899)}
.pkg-card.pc-rec{border-color:#F59E0B}
.pc-top{display:flex;align-items:center;gap:8px}
.pc-ico{width:34px;height:34px;display:inline-flex;flex:0 0 34px}
.pc-name{font-size:15.5px;font-weight:800;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-tag{padding:2px 8px;border-radius:8px;font-size:11px;font-weight:800;background:#FFF3D6;color:#B45309}
.pc-disc{display:flex;align-items:baseline;gap:5px;margin:10px 0 2px}
.pc-disc b{font-size:34px;font-weight:900;line-height:1;color:#D97706}
.pc-disc b:first-child{color:#D97706}
.pc-unit{font-size:14px;font-weight:800;color:#D97706}
.pc-off.none{background:#EEF2F7;color:#6B7A90}

.pc-dis{opacity:.62;filter:grayscale(.55)}
.pc-tag.gray{background:#EEF2F7;color:#6B7A90}
.pc-meta .pc-mk{color:var(--sub,#6B7A90);margin-right:4px}
.pc-off{margin-left:6px;padding:2px 8px;border-radius:8px;background:#FEF3C7;color:#B45309;font-size:11.5px;font-weight:800}
.pc-none{margin-left:6px;font-size:12px;color:var(--sub,#6B7A90)}
.pc-price{font-size:13px;color:var(--sub,#6B7A90)}
.pc-price b{font-size:19px;font-weight:800;color:var(--ink,#0F2B4C)}
.pc-period{font-size:12px;margin-left:3px}
.pc-desc{margin-top:6px;font-size:12.5px;color:var(--sub,#6B7A90);line-height:1.6;min-height:34px}
.pc-meta{margin-top:8px;font-size:12px;color:var(--sub,#6B7A90);display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pc-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:8px}

.cur-plan{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;
  background:linear-gradient(135deg,#EAF3FF,#F5FAFF);border:1px solid #D6E8FF}
.cp-ico{width:26px;height:26px;display:inline-flex;color:var(--bxz-1,#006AF3);flex:0 0 26px}
.cp-mid{flex:1;min-width:0}
.cp-mid b{font-size:15.5px;font-weight:800;display:block}
.cp-sub{font-size:12.5px;color:var(--sub,#6B7A90);margin-top:3px}
.cp-d{color:#D97706;font-weight:800}

.plan-v2{position:relative;padding-top:20px}
.plan-v2.cur{border-color:#F59E0B;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
.cur-flag{right:auto;left:12px;background:#F59E0B;color:#fff}
.pv-disc{display:flex;align-items:baseline;gap:5px;margin:8px 0 4px}
.pv-disc b{font-size:32px;font-weight:900;line-height:1;color:#D97706}
.pv-u{font-size:13.5px;font-weight:800;color:#D97706}
.pv-off{margin-left:6px;padding:2px 8px;border-radius:8px;background:#FEF3C7;color:#B45309;font-size:11.5px;font-weight:800}
.pv-none{margin-left:6px;font-size:12px;color:var(--sub,#6B7A90)}

.pv-save{display:flex;align-items:flex-start;gap:6px;margin:8px 0 2px;padding:7px 9px;
  border-radius:8px;background:#FFF7ED;color:#B45309;font-size:12.3px;line-height:1.55}
.pv-save .ico{width:14px;height:14px;flex:0 0 14px;margin-top:2px}
.pv-poor{margin:8px 0;padding:7px 10px;border-radius:9px;background:#FFF4E5;color:#B45309;font-size:12.5px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pv-poor .ico{width:14px;height:14px;display:inline-flex}

.dm-row{cursor:pointer}
.dm-row:hover{background:var(--bxz-soft,#F5F9FF)}
.dm-row.on{background:var(--bxz-soft,#EAF3FF);box-shadow:inset 3px 0 0 var(--bxz-1,#006AF3)}
.dm-recs{border:1px solid var(--line,#E6EDF7);border-radius:14px;background:#fff;overflow:hidden}
.dmr-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--line,#E6EDF7);background:linear-gradient(180deg,#FBFCFF,#F4F8FF)}
.dmr-head h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800;margin:0}
.dmr-head .ico{width:16px;height:16px;display:inline-flex;color:var(--bxz-1,#006AF3)}
.dmr-head .right{display:flex;align-items:center;gap:8px}
@media (max-width:640px){
  .dmr-head{flex-direction:column;align-items:flex-start}
  .pc-disc b{font-size:28px}
  .pv-disc b{font-size:26px}
}

.dm-row{cursor:pointer;transition:.14s}
.dm-row:hover{background:var(--bxz-5,#F4F9FF)}
.dm-row.dm-open{background:var(--bxz-soft,#EAF3FF)}
.dm-caret{display:inline-block;width:14px;color:var(--sub,#6B7A90);font-size:11px}
.dm-row.dm-open .dm-caret{color:var(--bxz-1,#006AF3)}
.dm-sub>td{padding:0 !important;background:#fff}
.dm-subbox{padding:12px 16px;border-top:1px solid var(--line,#E6EDF7);
  border-bottom:2px solid var(--bxz-soft,#EAF3FF);background:var(--bxz-5,#F4F9FF)}
.dm-subhd{font-size:13px;color:var(--txt,#1B2A42);margin-bottom:10px;
  display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.dm-subhd b{font-size:13.5px}
.table.sm th,.table.sm td{padding:7px 10px;font-size:12.5px}
[data-eye-site] .dm-subbox,[data-eye-admin] .dm-subbox{background:#12203A}
[data-eye-site] .dm-row.dm-open,[data-eye-admin] .dm-row.dm-open{background:#1B2F52}

.ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle;line-height:0}
.ico>svg,.ico svg{display:block;max-width:100%;max-height:100%}

.mc-brand,.bt-mark,.mc-mark{display:block;flex:0 0 auto}
.mc-brand>svg,.bt-mark>svg,.mc-mark>svg{display:block;width:100%;height:auto}

.mtag .ico,.bh-tag .ico{display:inline-flex}

.stat4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat4 .s4{background:var(--card,#fff);border:1px solid var(--line,#E6EDF7);border-radius:12px;
  padding:11px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.stat4 .s4 span{font-size:12px;color:var(--sub,#7A8AA3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat4 .s4 b{font-size:20px;font-weight:800;line-height:1.15;color:var(--txt,#1B2A42);font-variant-numeric:tabular-nums}
.stat4 .s4 b.ok{color:#15803D}
.stat4 .s4 b.warn{color:#B45309}
.stat4 .s4 b.danger{color:#DC2626}
.stat4 .s4 b.c1{color:var(--bxz-1,#006AF3)}
.stat4 .s4 b.gray{color:#64748B}
.stat4 .s4-risk{border-color:#FCA5A5;background:#FEF2F2}
@media(max-width:820px){.stat4{grid-template-columns:repeat(2,minmax(0,1fr))}}

.qt{min-width:96px}
.qt-t{display:flex;align-items:baseline;gap:2px;font-size:13px}
.qt-t b{font-size:14px;font-weight:800;color:var(--txt,#1B2A42)}
.qt-t .qs{font-size:12px;color:var(--sub,#7A8AA3)}
.qt .mini-bar{width:100%;max-width:110px;margin-top:5px}

.ar-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  background:var(--card,#fff);border:1px solid var(--line,#E6EDF7);border-radius:12px;padding:9px 14px}
.ar-bar-l{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ar-bar .ar-sel{font-size:12.5px;color:var(--sub,#7A8AA3)}
.ar-bar .ar-sel b{color:var(--bxz-1,#006AF3);font-size:14px}
.ar-bar .btn:disabled{opacity:.45;cursor:not-allowed}
.ar-bar-r{font-size:12.5px;color:var(--sub,#7A8AA3);display:flex;align-items:center;gap:6px}
.ar-bar-r b{color:var(--txt,#1B2A42)}
.ar-dom{color:var(--bxz-1,#006AF3);cursor:pointer;font-weight:600}
.ar-dom:hover{text-decoration:underline}
/* v1.9.280：完整解析域名（主机记录.域名），点击可复制 */
.ar-fulldom{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;
  cursor:pointer;color:var(--sub);margin-top:2px}
.ar-fulldom:hover{color:var(--bxz-1,#006AF3)}
/* v1.9.280：页头域名总数徽标 */
.pg-count{margin-left:10px;align-self:center;padding:3px 10px;border-radius:999px;
  background:rgba(var(--theme-rgb,0,106,243),.12);color:var(--theme,#006AF3);
  font-size:12.5px;font-weight:600;white-space:nowrap}
@media(max-width:640px){.ar-bar{flex-direction:column;align-items:flex-start}}

.dmp-hd .ico{display:inline-flex;color:var(--bxz-1,#006AF3)}
.dmp-hd .ico svg{width:15px;height:15px}
.dmp-hd b{font-weight:800}
.dmp-hd .right{margin-left:auto}
.dmp .table-wrap{border:1px solid var(--line,#E6EDF7);border-radius:10px;overflow:hidden;background:var(--card,#fff)}
.dmp .table{margin:0}
.dmp .table th{background:#EEF4FD;font-size:12px}
@media(max-width:640px){.dmp{padding:10px!important}.dmp-hd{font-size:12.5px}}

.kpi.k2{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:12px;
  align-items:center;padding:15px 16px;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.kpi.k2:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,42,90,.10);border-color:transparent}
.kpi.k2:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.k-c-blue:before{background:#006AF3}
.k-c-cyan:before{background:#0E9AA7}
.k-c-amber:before{background:#F97316}
.k-c-green:before{background:#16A34A}
.kpi.k2 .k2-bd{min-width:0}
.kpi.k2 .k2-ico{width:42px;height:42px;border-radius:13px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;color:#fff}
.kpi.k2 .k2-ico svg{display:block}
.k-c-blue  .k2-ico{background:linear-gradient(135deg,#5AA9FF,#006AF3);box-shadow:0 4px 10px rgba(0,106,243,.25)}
.k-c-cyan  .k2-ico{background:linear-gradient(135deg,#38D6C8,#0E9AA7);box-shadow:0 4px 10px rgba(14,154,167,.25)}
.k-c-amber .k2-ico{background:linear-gradient(135deg,#FFB01F,#F97316);box-shadow:0 4px 10px rgba(249,115,22,.25)}
.k-c-green .k2-ico{background:linear-gradient(135deg,#4ADE80,#16A34A);box-shadow:0 4px 10px rgba(22,163,74,.25)}

.kpi.k2 .qbar{grid-column:1 / -1;margin-top:2px}
@media(max-width:640px){.kpi.k2 .k2-ico{width:36px;height:36px;border-radius:11px}}

.vip-badge svg{display:block}

.pv-exp{display:flex;align-items:flex-start;gap:6px;margin-top:10px;padding:7px 10px;
  border-radius:9px;background:var(--bxz-5,#F5F8FD);border:1px dashed var(--line,#E6EDF7);
  font-size:12.5px;color:var(--sub,#6B7C99);line-height:1.5}
.pv-exp .ico{flex:0 0 14px;color:var(--bxz-1,#006AF3);margin-top:1px}
.pv-exp .ico svg{width:14px;height:14px}

.bal-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px 0}
.bal-tabs .bt{height:28px;padding:0 11px;border-radius:var(--r-pill,99px);border:1px solid var(--line,#E6EDF7);
  background:#fff;color:var(--sub,#6B7C99);font-size:12.5px;font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;transition:all .16s ease}
.bal-tabs .bt:hover{border-color:var(--bxz-3,#5AA9FF);color:var(--bxz-1,#006AF3)}
.bal-tabs .bt.on{background:var(--bxz-1,#006AF3);border-color:var(--bxz-1,#006AF3);color:#fff}
.bal-tabs .bt .bt-n{font-size:11px;opacity:.7}
.btag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-pill,99px);
  font-size:12px;font-weight:600;background:#F1F4FA;color:var(--sub,#6B7C99);white-space:nowrap}
.btag.bt-in{background:#E6F8F0;color:#0B7A46}
.btag.bt-out{background:#FDECEA;color:#C0392B}
.btag.bt-mall{background:#E7F1FF;color:#006AF3}
.btag.bt-plan{background:#F1E9FF;color:#7C3AED}
.btag.bt-renew{background:#E0F7F6;color:#0E7C88}
.btag.bt-admin{background:#F1F4FA;color:var(--sub,#6B7C99)}
.btag.bt-other{background:#F1F4FA;color:var(--muted,#94A3B8)}

html[data-eye-site="1"] .btag.bt-in,html[data-eye-admin="1"] .btag.bt-in{background:#16351F;color:#7FD9A0}
html[data-eye-site="1"] .btag.bt-out,html[data-eye-admin="1"] .btag.bt-out{background:#3A1A16;color:#F5A99F}

.btn, .tag, .status, .badge, .card, .mcard, .panel,
input, select, textarea, .op, .mb-tab, .br-tabs button {
  transition: background-color .22s cubic-bezier(.4,0,.2,1),
              border-color .22s cubic-bezier(.4,0,.2,1),
              color .22s cubic-bezier(.4,0,.2,1),
              box-shadow .22s cubic-bezier(.4,0,.2,1),
              transform .22s cubic-bezier(.4,0,.2,1);
}

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

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--bxz-1, #006AF3);
  outline-offset: 2px;
  border-radius: 6px;
}

.card, .panel, .mcard {
  border-radius: var(--r-card, 20px);
  box-shadow: var(--shadow-1, 0 2px 10px rgba(0,106,243,.07));
}
.card:hover, .panel:hover {
  box-shadow: var(--shadow-2, 0 10px 30px rgba(0,106,243,.13));
}

.sk, .skeleton {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg,#EEF3FA 25%,#F7FAFD 37%,#EEF3FA 63%);
  background-size: 400% 100%;
  animation: sk-flow 1.4s ease-in-out infinite;
  border-radius: 6px;
  color: transparent !important;
  user-select: none;
}
@keyframes sk-flow {
  0%   { background-position: 100% 50%; }
  100% { background-position: 0 50%; }
}
.sk-line  { height: 12px; margin: 6px 0; }
.sk-title { height: 18px; width: 40%; margin-bottom: 10px; }
.sk-avatar, .sk-dot { width: 36px; height: 36px; border-radius: 50%; }

.empty, .no-data {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 48px 20px; text-align: center;
  color: var(--muted, #8AA6CE);
}
.empty .empty-ico, .no-data .empty-ico {
  width: 72px; height: 72px; margin-bottom: 14px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--bxz-4, #E6F1FF);
  color: var(--bxz-1, #006AF3);
}
.empty .empty-t, .no-data .empty-t {
  font-size: 15px; font-weight: 600; color: var(--sub, #4E6C9B);
  margin-bottom: 6px;
}
.empty .empty-d, .no-data .empty-d { font-size: 13px; line-height: 1.7; }

table.list tbody tr:nth-child(even), .table tbody tr:nth-child(even) {
  background: rgba(0,106,243,.018);
}
table.list tbody tr:hover, .table tbody tr:hover {
  background: var(--bxz-4, #E6F1FF);
}
table.list td, table.list th, .table td, .table th { padding: 10px 12px; }

.tag, .status, .badge {
  display: inline-flex; align-items: center; justify-content: center;
  white-space: nowrap; padding: 2px 10px;
  border-radius: var(--r-pill, 999px);
  font-size: 12px; line-height: 1.7; min-width: 48px;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: rgba(0,106,243,.22); border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(0,106,243,.38); }

table th.col-status, table td.col-status { min-width: 80px; }
table th.col-dns, table td.col-dns { min-width: 90px; }
table th.col-date, table td.col-date { min-width: 110px; }
table th.col-op, table td.col-op { min-width: 190px; text-align: right; }
table th.col-id, table td.col-id { width: 56px; color: var(--sub); font-size: 12.5px; }
table th.col-ttl, table td.col-ttl { width: 62px; text-align: center; }
table th.col-key, table td.col-key { min-width: 130px; }

.pill, .icp-tag, .rtype, .tag, .badge {
  display: inline-flex; align-items: center; justify-content: center;
  white-space: nowrap; min-width: 48px;
}

table td.op, td.col-op { white-space: nowrap; line-height: 2.2; }
.op + .op { margin-left: 10px; }
@media (max-width: 860px) {
  table th.col-op, table td.col-op { min-width: 150px; }
  .op + .op { margin-left: 6px; }
}

.key-mask { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; color: var(--sub); }

.dm-copy { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.dm-copy .ico { opacity: .45; transition: opacity .18s; }
.dm-copy:hover .ico { opacity: 1; }

.rsync { margin-top: 4px; font-size: 12px; color: var(--warn); cursor: pointer; text-decoration: underline; }

.del-warn { padding: 10px 12px; border-radius: 8px; background: #fff2f0; border: 1px solid #ffccc7;
  color: #cf1322; font-size: 13px; line-height: 1.7; }

.mall-card .mall-dn { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mall-card.is-off { opacity: .78; }
.mall-card .mall-suffix { display: inline-block; padding: 1px 8px; border-radius: 6px;
  background: var(--brand-weak, #e6f0ff); color: var(--brand, #006AF3); font-size: 12px; font-weight: 600; }
.mall-card .mall-price .cur { font-size: 12px; color: var(--sub); }
.mall-card .mall-price b { font-size: 20px; color: #ff4d4f; margin: 0 2px; }
.mall-card .mall-price .per { font-size: 12px; color: var(--sub); }

.mc-origin { margin-right: 6px; font-size: 12.5px; color: var(--sub); text-decoration: line-through; }
/* v1.9.274：套餐有效期至统一用品牌蓝 #006AF3（原绿色 #52c41a 与卡片主色不搭） */
/* v1.9.277：套餐有效期至改为浅蓝色（原 #006AF3 偏深，与「库存/销量」等辅助信息抢视觉） */
.mc-pkg { margin-top: 4px; font-size: 12px; font-weight: 600; color: #3B8BFF; }
.mc-pkg .ico{width:12px;height:12px;flex:0 0 12px;color:#3B8BFF;vertical-align:-2px;margin-right:3px}
.mc-pkg.off { color: var(--sub); font-weight: 500; }
.mc-pkg.off { color: var(--sub); }

.exp-banner { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 8px;
  margin-bottom: 12px; border: 1px solid transparent; font-size: 13px; }
.exp-banner.warn { background: #fffbe6; border-color: #ffe58f; color: #ad6800; }
.exp-banner.bad { background: #fff2f0; border-color: #ffccc7; color: #cf1322; }
.exp-banner .eb-txt { display: flex; flex-direction: column; line-height: 1.5; }
.exp-banner .eb-txt span { opacity: .8; font-size: 12px; }
.exp-banner .btn { margin-left: auto; }
@media (max-width: 860px) { .exp-banner { flex-wrap: wrap; } .exp-banner .btn { margin-left: 0; } }

.bxz-confirm-mask{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;padding:20px;animation:bxzFadeIn .16s ease}
.bxz-confirm{width:100%;max-width:400px;background:var(--card,#fff);border-radius:14px;
  box-shadow:0 18px 50px rgba(15,23,42,.24);overflow:hidden;animation:bxzPopIn .18s cubic-bezier(.4,0,.2,1)}
.bxz-confirm-bd{padding:20px 20px 0;font-size:13.5px;line-height:1.75;color:var(--sub,#5A6B85);
  word-break:break-word;white-space:pre-line}
.bxz-confirm-hd{display:flex;align-items:center;gap:10px;padding:20px 20px 0;
  font-size:15.5px;font-weight:600;color:var(--text,#1f1f1f)}
/* v1.9.280：图标底色直接用 --theme-rgb 的 14% 透明度。
   旧写法用 var(--theme-soft)，而该变量是「88% 主题色 + 12% 白」混合出来的深蓝
   （#006AF3 下为 rgb(31,124,244)），与图标前景色 --theme rgb(0,106,243) 几乎同色，
   导致弹窗标题的警示图标看起来只有一个蓝圆块、三角完全看不见。 */
.bxz-confirm-ic{width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(var(--theme-rgb,0,106,243),.14);color:var(--theme,#006AF3)}
.bxz-confirm.is-danger .bxz-confirm-ic{background:#FFECEC;color:#E5484D}
.bxz-confirm-ic svg{width:19px;height:19px}
.bxz-confirm-ti{flex:1;min-width:0}
.bxz-confirm.has-ic .bxz-confirm-bd{padding:8px 20px 0 64px}
.bxz-confirm:not(.has-ic) .bxz-confirm-bd{padding-top:20px}
.bxz-confirm-ft{display:flex;justify-content:flex-end;gap:10px;padding:18px 20px 20px}
.bxz-confirm-ft .btn{min-width:76px;justify-content:center}
@keyframes bxzFadeIn{from{opacity:0}to{opacity:1}}
@keyframes bxzPopIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .bxz-confirm-mask,.bxz-confirm{animation:none}
}

td.empty, td.no-data { display: table-cell; vertical-align: middle; padding: 0; }
td.empty > .empty-in, td.no-data > .empty-in { padding: 40px 20px; }
.empty-in {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; color: var(--muted, #8AA6CE);
}
.empty-in .empty-ico {
  width: 64px; height: 64px; margin-bottom: 12px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--bxz-4, #E6F1FF);
  color: var(--bxz-1, #006AF3);
}
.empty-in .empty-t { font-size: 14.5px; font-weight: 600; color: var(--sub, #4E6C9B); margin-bottom: 5px; }
.empty-in .empty-d { font-size: 12.5px; line-height: 1.7; max-width: 420px; }

.pg { max-width: 1440px; margin: 0 auto; }

.pg-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.pg-hd-l { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pg-ico { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 13px; display: inline-flex;
  align-items: center; justify-content: center; background: var(--grad-main); color: #fff; box-shadow: var(--shadow-blue); }
.pg-ico svg { width: 22px; height: 22px; display: block; }
.pg-t { font-size: 19px; font-weight: 800; color: var(--ink); line-height: 1.3; letter-spacing: .2px; }
.pg-d { font-size: 12.5px; color: var(--sub); margin-top: 2px; line-height: 1.6; }
.pg-hd-r { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.statband { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.sb { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff;
  border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-1); overflow: hidden; }
.sb::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--bxz-1); }
.sb.g::before { background: var(--ok); }
.sb.o::before { background: var(--warn); }
.sb.r::before { background: var(--bad); }
.sb.s::before { background: var(--muted); }
.sb-ic { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 11px; display: inline-flex;
  align-items: center; justify-content: center; background: var(--bxz-4); color: var(--bxz-1); }
.sb-ic svg { width: 20px; height: 20px; display: block; }
.sb.g .sb-ic { background: #E6F8F0; color: #0B7A46; }
.sb.o .sb-ic { background: #FEF3E4; color: #B45309; }
.sb.r .sb-ic { background: #FDECEA; color: #C4271B; }
.sb.s .sb-ic { background: #F1F4FA; color: #64748B; }
.sb-b { min-width: 0; }
.sb-v { font-size: 21px; font-weight: 800; line-height: 1.15; color: var(--ink); font-variant-numeric: tabular-nums; }
.sb-l { font-size: 12.5px; color: var(--sub); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.fbar { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; padding: 12px 14px; }
.fld { display: inline-flex; align-items: center; gap: 6px; }
.fld > .fl { font-size: 12.5px; color: var(--sub); white-space: nowrap; }
.fbar .input { height: 34px; }
.fbar .btn { height: 34px; }
.fbar-end { margin-left: auto; display: inline-flex; gap: 8px; }

.table th { white-space: nowrap; }
.table td { vertical-align: middle; }
.table tbody tr { transition: background .16s ease; }
.table tbody tr:hover { background: var(--bxz-5); }

.msk { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px;
  background: var(--bxz-5); border: 1px solid var(--line); font-size: 12px; color: var(--sub);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.mallgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.mcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line);
  border-radius: 16px; box-shadow: var(--shadow-1); overflow: hidden; transition: box-shadow .18s ease, transform .18s ease; }
.mcard:hover { box-shadow: var(--shadow-2); transform: translateY(-2px); }
.mcard.off { opacity: .84; }
.mc-top { display: flex; align-items: center; gap: 8px; padding: 14px 14px 10px; }
.mc-name { flex: 1; min-width: 0; font-size: 16px; font-weight: 800; color: var(--ink);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mc-body { padding: 0 14px 12px; }
.mc-price { display: flex; align-items: baseline; gap: 4px; margin-top: 10px; }
.mc-price .cur { font-size: 13px; font-weight: 700; color: var(--bad); }
.mc-price b { font-size: 22px; font-weight: 800; color: var(--bad); line-height: 1; font-variant-numeric: tabular-nums; }
.mc-price .per { font-size: 12px; color: var(--sub); }
.mc-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 10px; font-size: 12px; color: var(--sub); align-items: center; }
.mc-ft { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 14px;
  border-top: 1px solid var(--line); background: var(--bxz-5); }
/* v1.9.243：商城域名库存为无限时的强调样式 */
.stk-unl { color: var(--ok, #12a06e); font-weight: 700; }
.mc-ft-r { display: inline-flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

/* v1.9.270：后台商城卡片——标签统一收成小尺寸 chip。
   此前用的是 .pill（高 26px / 内边距 12px），多行厂商名会把卡片撑得又高又散。 */
.mc-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.mchip { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 7px;
  border-radius: 6px; background: #F1F4FA; color: #5B6B85; font-size: 11.5px; line-height: 1;
  white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.mchip.suf { background: #EEF2F7; color: #475467; font-weight: 600; }
.mchip.vn { background: #EAF2FF; color: #1256D6; }
.mchip.vn.none { background: #F1F4FA; color: #6B7A90; }
.mchip.vn .vd { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; display: inline-block; }
.mchip.vn em { font-style: normal; margin-left: 2px; padding: 0 3px; border-radius: 4px;
  background: rgba(18, 86, 214, .12); font-size: 10.5px; line-height: 15px; }
.mchip.icp-y { background: #E6F8F0; color: #0B7A46; }
.mchip.icp-n { background: #F1F4FA; color: #6B7A90; }
.mchip.free { background: #EAF7F1; color: #0B8A5B; }
.mchip.src { background: #F4F0FF; color: #6547DB; }
html[data-eye-admin="1"] .mchip { background: #2A3648; color: #94A3B8; }
html[data-eye-admin="1"] .mchip.vn { background: #16325C !important; color: #9CC4FB !important; }
html[data-eye-admin="1"] .mchip.icp-y { background: #16351F !important; color: #7FD9A0 !important; }
html[data-eye-admin="1"] .mchip.src { background: #2A2150 !important; color: #B9A6FF !important; }
/* v1.9.273：后台商城卡片库存行。与前台 .mc-stock 同一套配色，
   无限为绿、有限为橙，管理员一眼分辨哪些域名快卖完了。 */
.mc-stockline{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.mc-stockline .ico{width:12px;height:12px;flex:0 0 12px;display:inline-block;vertical-align:-2px}
.mc-stockline.unl{color:#0B8A5B}
.mc-stockline.unl .ico{color:#12A670}
.mc-stockline.num{color:#B54708}
.mc-stockline.num .ico{color:#D97706}
html[data-eye-admin="1"] .mc-stockline.unl{color:#7FD9A0 !important}
html[data-eye-admin="1"] .mc-stockline.num{color:#FCD34D !important}

/* v1.9.270：公告正文预览区（后台编辑公告支持 HTML 后新增） */
.ntc-prev { min-height: 150px; max-height: 340px; overflow: auto; padding: 10px 12px;
  border: 1px solid var(--line); border-radius: 10px; background: #fff;
  font-size: 13px; line-height: 1.75; color: var(--txt, #1F2937); }
.ntc-prev img { max-width: 100%; height: auto; }
.ntc-prev a { color: var(--theme, #006AF3); }
.ntc-prev table { max-width: 100%; }
html[data-eye-admin="1"] .ntc-prev { background: #1B2433; color: #CBD5E1; }

/* 卡片细节：名称略收、价格与元信息间距收紧，整体更紧凑 */
.mcard { border-radius: 14px; }
.mc-top { padding: 12px 14px 8px; }
.mc-name { font-size: 15px; letter-spacing: .2px; }
.mc-price { margin-top: 9px; }
.mc-meta { margin-top: 8px; gap: 4px 12px; }
.mc-ft { padding: 9px 14px; }

/* v1.9.252：「跳过」状态圆点专用类 ptt-sk。
   此前用的是 .sk，与两处既有样式撞名：
     ① 骨架屏 .sk（2265 附近）含 color:transparent !important + 流光动画 → 圆点内字符不可见、还在闪
     ② 统计卡 .sk（2971 附近）含 border-radius:12px + :after 渐变竖条 → 圆点变方块、多出一道杠
   改类名并在此显式重置全部被污染的属性。 */
.ptt-card .ptt-ic.ptt-sk,
.plat-test .ptt-ic.ptt-sk {
  background: #F1F4FA;
  background-image: none;
  color: #64748B !important;
  animation: none;
  border: 0;
  border-radius: 50%;
  position: static;
  overflow: visible;
  user-select: auto;
}
.ptt-card .ptt-ic.ptt-sk:after,
.plat-test .ptt-ic.ptt-sk:after { content: none; display: none; }
html[data-eye-admin="1"] .ptt-card .ptt-ic.ptt-sk { background: #2A3648; color: #94A3B8 !important; }
.ptt-step .ptt-dt { color: var(--sub); font-size: 12px; word-break: break-all; }

@media (max-width: 1400px) { .mallgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) {
  .statband { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mallgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pg-ico { width: 38px; height: 38px; flex-basis: 38px; border-radius: 11px; }
  .pg-t { font-size: 17px; }
  .statband { gap: 10px; }
  .mallgrid { grid-template-columns: 1fr; }
  .sb { padding: 12px 12px; gap: 10px; }
  .sb-v { font-size: 19px; }
}

@media (min-width: 1401px) {
  .table td.col-op, .table th.col-op { min-width: 148px; }
  .table th.col-status, .table td.col-status { min-width: 64px; }
  .table th.col-date, .table td.col-date { min-width: 92px; }
  .table th.col-key, .table td.col-key { min-width: 116px; }
  .table th, .table td { padding: 10px 9px; }
  .table td .rv { max-width: 190px; }
}

@media (max-width: 1400px) {
  .table-wrap { overflow-x: visible; overflow-y: visible; }
  .table { min-width: 0 !important; width: 100%; table-layout: auto; }

  .table thead { display: none; }
  
  .table > tr:first-child, .table > tbody > tr:first-child { display: none; }

  .table > tr, .table > tbody > tr {
    display: block;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    padding: 10px 13px;
    margin: 0 0 10px;
  }
  .table > tr:last-child, .table > tbody > tr:last-child { margin-bottom: 0; }
  .table > tr > td, .table > tbody > tr > td {
    display: block;
    width: auto;
    border: 0;
    padding: 5px 0;
    text-align: left !important;
    white-space: normal;
  }
  
  .table > tr > td[data-lb], .table > tbody > tr > td[data-lb] {
    display: flex; gap: 10px; align-items: flex-start;
  }
  .table > tr > td[data-lb]::before, .table > tbody > tr > td[data-lb]::before {
    content: attr(data-lb);
    flex: 0 0 78px;
    color: var(--muted);
    font-size: 12.5px;
    line-height: 1.6;
  }

  
  .table td.col-op { min-width: 0; white-space: normal; line-height: 1.9; }
  .table td.col-op .op { margin-left: 0; margin-right: 14px; }
  .table td.col-op .op:last-child { margin-right: 0; }

  
  .table tr.empty-row { border: 0; background: none; padding: 0; margin: 0; }
  .table tr.empty-row > td { padding: 0; }
  .table td.empty { padding: 30px 12px !important; text-align: center; }

  
  .table th.col-id, .table td.col-id,
  .table th.col-ttl, .table td.col-ttl,
  .table th.col-key, .table td.col-key,
  .table th.col-status, .table td.col-status,
  .table th.col-date, .table td.col-date,
  .table th.col-dns, .table td.col-dns,
  .table th.col-op, .table td.col-op { width: auto; min-width: 0; text-align: left; }
}

.table-wrap.tbl-card { overflow-x: visible !important; overflow-y: visible; }
.table-wrap.tbl-card > .table { min-width: 0 !important; width: 100%; table-layout: auto; }

.table-wrap.tbl-card > .table > thead { display: none; }
.table-wrap.tbl-card > .table > tr:first-child,
.table-wrap.tbl-card > .table > tbody > tr:first-child { display: none; }

.table-wrap.tbl-card > .table > tr,
.table-wrap.tbl-card > .table > tbody > tr {
  display: block;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  padding: 10px 13px;
  margin: 0 0 10px;
}
.table-wrap.tbl-card > .table > tr:last-child,
.table-wrap.tbl-card > .table > tbody > tr:last-child { margin-bottom: 0; }
.table-wrap.tbl-card > .table > tr > td,
.table-wrap.tbl-card > .table > tbody > tr > td {
  display: block;
  width: auto;
  border: 0;
  padding: 5px 0;
  text-align: left !important;
  white-space: normal;
}
.table-wrap.tbl-card > .table > tr > td[data-lb],
.table-wrap.tbl-card > .table > tbody > tr > td[data-lb] {
  display: flex; gap: 10px; align-items: flex-start;
}
.table-wrap.tbl-card > .table > tr > td[data-lb]::before,
.table-wrap.tbl-card > .table > tbody > tr > td[data-lb]::before {
  content: attr(data-lb);
  flex: 0 0 78px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.6;
}
.table-wrap.tbl-card .table td.col-op { min-width: 0; white-space: normal; line-height: 1.9; }
.table-wrap.tbl-card .table td.col-op .op { margin-left: 0; margin-right: 14px; }
.table-wrap.tbl-card .table td.col-op .op:last-child { margin-right: 0; }
.table-wrap.tbl-card .table td.col-op .btn { margin-left: 0; margin-right: 8px; }
.table-wrap.tbl-card .table td.col-op .btn:last-child { margin-right: 0; }
.table-wrap.tbl-card .table tr.empty-row { border: 0; background: none; padding: 0; margin: 0; }
.table-wrap.tbl-card .table tr.empty-row > td { padding: 0; }
.table-wrap.tbl-card .table td.empty { padding: 30px 12px !important; text-align: center; }
.table-wrap.tbl-card .table th.col-id, .table-wrap.tbl-card .table td.col-id,
.table-wrap.tbl-card .table th.col-ttl, .table-wrap.tbl-card .table td.col-ttl,
.table-wrap.tbl-card .table th.col-key, .table-wrap.tbl-card .table td.col-key,
.table-wrap.tbl-card .table th.col-status, .table-wrap.tbl-card .table td.col-status,
.table-wrap.tbl-card .table th.col-date, .table-wrap.tbl-card .table td.col-date,
.table-wrap.tbl-card .table th.col-dns, .table-wrap.tbl-card .table td.col-dns,
.table-wrap.tbl-card .table th.col-op, .table-wrap.tbl-card .table td.col-op {
  width: auto; min-width: 0; text-align: left;
}

.rn-modal { border-radius: 16px; overflow: hidden; }
.rn-hd { display: flex; align-items: center; gap: 10px; padding: 14px 16px;
  background: linear-gradient(135deg, #006AF3, #3B8BFF); color: #fff; }
.rn-hd .rn-ico { display: inline-flex; width: 30px; height: 30px; border-radius: 9px;
  background: rgba(255,255,255,.22); align-items: center; justify-content: center; flex: 0 0 30px; }
.rn-hd .rn-ico svg { width: 17px; height: 17px; }
.rn-hd-t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.rn-hd-t b { font-size: 15px; font-weight: 700; }
.rn-hd-t span { font-size: 12.5px; opacity: .88; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rn-x { font-size: 22px; line-height: 1; cursor: pointer; opacity: .85; padding: 0 4px; }
.rn-x:hover { opacity: 1; }
.rn-row { display: flex; align-items: center; justify-content: space-between;
  font-size: 13.5px; padding: 9px 12px; border-radius: 10px; background: #F5F8FF; }
.rn-row b { font-size: 14px; }
.rn-lb { font-size: 13px; color: #6B7A90; font-weight: 600; }
.rn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.rn-chip { border: 1px solid #D9E4F5; background: #fff; color: #45566E;
  border-radius: 99px; padding: 7px 15px; font-size: 13px; cursor: pointer;
  transition: all .18s cubic-bezier(.4,0,.2,1); }
.rn-chip:hover { border-color: #006AF3; color: #006AF3; }
.rn-chip.on { background: linear-gradient(135deg, #006AF3, #3B8BFF); border-color: #006AF3; color: #fff; font-weight: 600;
  box-shadow: 0 4px 12px rgba(0,106,243,.25); }
.rn-sum { padding: 12px; border-radius: 12px; background: #F5F8FF; border: 1px solid #E6EDF7; }
.rn-line { display: flex; align-items: center; justify-content: space-between; font-size: 13.5px; color: #45566E; padding: 3px 0; }
.rn-total { display: flex; align-items: center; justify-content: space-between; margin-top: 8px;
  padding-top: 10px; border-top: 1px dashed #D9E4F5; font-size: 14px; font-weight: 700; }
.rn-total b { font-size: 20px; color: var(--theme-deep, var(--theme, #006AF3)); }
.rn-new { display: flex; align-items: center; gap: 6px; font-size: 12.8px; color: var(--theme-deep, var(--theme, #006AF3)); margin-top: 6px; }
.rn-new .ico svg { width: 14px; height: 14px; }
.rn-note { font-size: 12.2px; color: #8C9AB0; margin-top: 6px; line-height: 1.6; }

.rn-modal.rej .rn-hd { background: linear-gradient(135deg, #FF6A5E, #F04438); }
.rn-modal.rej .rn-chip:hover { border-color: #F04438; color: #F04438; }
.rn-modal.rej .rn-chip.on { background: linear-gradient(135deg, #FF6A5E, #F04438);
  border-color: #F04438; color: #fff; box-shadow: 0 4px 12px rgba(240,68,56,.25); }
.rn-count { text-align: right; font-size: 12px; color: #8A94A6; margin-top: 4px; }
.rn-st { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; max-width: 220px; }
.rn-why-sm { font-size: 11.5px; line-height: 1.6; color: #8A3A2E; word-break: break-all;
  background: rgba(240,68,56,.09); border-left: 3px solid #F04438; border-radius: 0 8px 8px 0; padding: 5px 9px; }
.rn-why-sm .rn-why-k { margin-right: 6px; }
.rn-why-sm.none { color: #8A94A6; background: #F4F6FA; border-left-color: #C8D2E0; }
.rn-why-sm.none .rn-why-k { background: rgba(0,0,0,.05); color: #6B7A90; }

.table-wrap:has(> table.keep-row),
.table-wrap.keep-row { overflow-x: auto !important; overflow-y: visible !important; }
table.table.keep-row { min-width: 1080px; }
table.table.keep-row th, table.table.keep-row td { vertical-align: middle; }
@media (max-width: 640px) { table.table.keep-row { min-width: 940px; } }

.vipcard{position:relative;overflow:hidden;border-radius:16px;padding:18px 20px;color:#fff;
  background:linear-gradient(135deg,#006AF3 0%,#34ABFC 55%,#5AC8FA 100%);
  box-shadow:0 10px 26px rgba(0,106,243,.22);transition:transform .18s ease,box-shadow .18s ease}
.vipcard:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,106,243,.28)}
.vipcard::after{content:"";position:absolute;right:-40px;top:-60px;width:190px;height:190px;border-radius:50%;
  background:rgba(255,255,255,.13);pointer-events:none}
.vipcard::before{content:"";position:absolute;right:40px;bottom:-70px;width:130px;height:130px;border-radius:50%;
  background:rgba(255,255,255,.08);pointer-events:none}
/* v1.9.276：会员卡分级卡面——折扣越低等级越高，视觉逐级升档。
   vt1 基础（品牌蓝） → vt2 进阶（蓝紫） → vt3 高级（紫） → vt4 尊享（曜石+流光）。
   刻意不用金色：v1.9.274 用户已明确反馈金色不好看。 */
.vipcard.vt1{background:linear-gradient(135deg,#006AF3 0%,#34ABFC 55%,#5AC8FA 100%);box-shadow:0 10px 26px rgba(0,106,243,.22)}
.vipcard.vt2{background:linear-gradient(135deg,#1E58F5 0%,#4F6BFF 50%,#8A5CFF 100%);box-shadow:0 12px 30px rgba(79,107,255,.28)}
.vipcard.vt3{background:linear-gradient(135deg,#3B2FB8 0%,#6D3BFF 48%,#A45CFF 100%);box-shadow:0 14px 34px rgba(109,59,255,.32)}
.vipcard.vt4{background:linear-gradient(135deg,#12103A 0%,#2A1D6E 45%,#4B2FA8 100%);box-shadow:0 16px 40px rgba(30,20,90,.42)}
.vipcard.vt3::after,.vipcard.vt4::after{background:rgba(255,255,255,.18)}
.vipcard.vt3::before,.vipcard.vt4::before{background:rgba(255,255,255,.10)}
/* 高档位追加斜向流光：缓慢扫过，不干扰阅读 */
.vipcard.vt4{position:relative}
.vipcard.vt4::after,.vipcard.vt3::after{animation:vt-sweep 7s ease-in-out infinite}
@keyframes vt-sweep{0%,100%{transform:translateX(0)}50%{transform:translateX(-18px)}}
@media (prefers-reduced-motion:reduce){.vipcard.vt3::after,.vipcard.vt4::after{animation:none}}
/* 等级徽章 */
.vc-tier{position:relative;z-index:1;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;
  padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.vc-tier .ico{width:13px;height:13px;flex:0 0 13px}
.vipcard.vt4 .vc-tier{background:linear-gradient(135deg,#7C5CFF,#B39BFF);color:#1A1246;box-shadow:none}
.vipcard.vt3 .vc-tier{background:rgba(255,255,255,.9);color:#4B23B8;box-shadow:none}
/* 套餐卡片分级：用顶部色条 + 边框区分，卡片本体保持白底以维持可读性 */
.price.plan-v2{position:relative}
.price.plan-v2.vt2 .plan-hd h3,.price.plan-v2.vt3 .plan-hd h3,.price.plan-v2.vt4 .plan-hd h3{letter-spacing:.2px}
.price.plan-v2.vt2{border-color:#C7D2FE;box-shadow:0 6px 18px rgba(79,107,255,.12)}
.price.plan-v2.vt3{border-color:#DDD0FE;box-shadow:0 8px 22px rgba(109,59,255,.16)}
.price.plan-v2.vt4{border-color:#CFC4FF;box-shadow:0 10px 26px rgba(75,47,168,.20)}
.price.plan-v2.vt2::before,.price.plan-v2.vt3::before,.price.plan-v2.vt4::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:14px 14px 0 0}
.price.plan-v2.vt2::before{background:linear-gradient(90deg,#1E58F5,#8A5CFF)}
.price.plan-v2.vt3::before{background:linear-gradient(90deg,#3B2FB8,#A45CFF)}
.price.plan-v2.vt4::before{background:linear-gradient(90deg,#12103A,#7C5CFF)}
/* 购买弹窗 hero 分级：与会员卡同一套色阶，越高级越沉稳有质感 */
.buy-hero.is-vip.vt1{background:linear-gradient(120deg,#0753A8,#006AF3 60%,#2E8CFF)}
.buy-hero.is-vip.vt2{background:linear-gradient(120deg,#1E58F5,#4F6BFF 55%,#8A5CFF)}
.buy-hero.is-vip.vt3{background:linear-gradient(120deg,#3B2FB8,#6D3BFF 55%,#A45CFF);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.30),0 3px 14px rgba(109,59,255,.30)}
.buy-hero.is-vip.vt4{background:linear-gradient(120deg,#12103A,#2A1D6E 55%,#4B2FA8);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.26),0 4px 18px rgba(30,20,90,.38)}
.buy-hero.is-vip.vt3 .bh-vip em,.buy-hero.is-vip.vt4 .bh-vip em{background:linear-gradient(135deg,#6D3BFF,#B39BFF)}

.vipcard.off{background:linear-gradient(135deg,#8C8C8C 0%,#BFBFBF 100%);box-shadow:0 8px 20px rgba(0,0,0,.10)}
.vipcard.none{background:#fff;border:1px dashed var(--bxz-4,#E5E7EB);color:var(--txt,#1F2937);box-shadow:none}
.vipcard.none::after,.vipcard.none::before{display:none}
.vc-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.vc-brand{display:flex;align-items:center;gap:8px;min-width:0}
.vc-logo{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.22);color:#fff}
.vipcard.none .vc-logo{background:linear-gradient(135deg,#34ABFC,#006AF3);color:#fff}
.vc-sys{font-size:13px;font-weight:700;letter-spacing:.4px;opacity:.92}
.vipcard.none .vc-sys{opacity:.6}
.vc-state{font-size:12px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.22);white-space:nowrap}
.vc-state.ok{background:rgba(82,196,26,.92)}
.vc-state.warn{background:rgba(255,77,79,.92)}
.vipcard.none .vc-state{background:var(--bxz-4,#F1F3F5);color:#6B7280}
.vc-mid{position:relative;z-index:1;margin-top:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.vc-name{font-size:19px;font-weight:800;letter-spacing:.3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vipcard.none .vc-name{font-size:15px;font-weight:600;color:#6B7280}
.vc-disc{display:flex;align-items:baseline;gap:6px}
.vc-disc b{font-size:34px;font-weight:800;line-height:1}
.vc-disc span{font-size:13px;opacity:.85}
.vc-disc em{font-style:normal;font-size:12px;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.24)}
.vipcard.none .vc-disc b{font-size:26px;color:#BFBFBF}
.vc-foot{position:relative;z-index:1;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);
  display:flex;gap:10px;flex-wrap:wrap}
.vipcard.none .vc-foot{border-top-color:var(--bxz-4,#E5E7EB)}
.vc-cell{flex:1 1 120px;min-width:110px}
.vc-cell i{display:block;font-style:normal;font-size:11.5px;opacity:.8;margin-bottom:3px}
.vc-cell b{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-cell b.mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px}
@media (max-width:640px){
  .vipcard{padding:14px 16px}
  .vc-disc b{font-size:28px}
  .vc-cell{flex:1 1 100%}
}

.op-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:99px;
  font-size:13px;line-height:1;cursor:pointer;user-select:none;
  border:1px solid var(--bxz-4,#E5E7EB);color:#4A5568;background:#fff;
  transition:color .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1),
             border-color .18s cubic-bezier(.4,0,.2,1)}
.op-tab:hover{border-color:#BCD8FF;color:#006AF3;background:#F5F9FF}
.op-tab.on{background:#006AF3;border-color:#006AF3;color:#fff;font-weight:600}
.op-tab em{font-style:normal;font-size:11px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;
  background:var(--bxz-4,#F1F3F5);color:#6B7280;
  display:inline-flex;align-items:center;justify-content:center}
.op-tab.on em{background:rgba(255,255,255,.26);color:#fff}

.vc-logo{width:36px;height:36px;flex:0 0 36px;border-radius:11px;position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#34ABFC 0%,#006AF3 100%);
  box-shadow:0 3px 10px rgba(0,60,160,.32),inset 0 1px 0 rgba(255,255,255,.45);
  color:#fff;overflow:hidden}

.vc-logo::after{content:"";position:absolute;left:-30%;top:-60%;width:160%;height:120%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.42) 0%,rgba(255,255,255,0) 62%);
  pointer-events:none}
.vc-logo svg{position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,40,120,.35))}
.vipcard.none .vc-logo{background:linear-gradient(135deg,#D8DEE7 0%,#AEB8C6 100%);
  box-shadow:0 2px 6px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.5)}
.vipcard.none .vc-logo::after{opacity:.5}
.vc-sys{font-size:13.5px;font-weight:800;letter-spacing:.6px;opacity:.95}
@media (max-width:640px){
  .vc-logo{width:32px;height:32px;flex:0 0 32px;border-radius:10px}
}

.autotip{display:flex;align-items:center;gap:6px;margin:0 0 12px;
  font-size:12.5px;line-height:1.6;color:#8A94A6}
.autotip .ico{display:inline-flex;align-items:center;color:#A9B2C1;flex:0 0 auto}
.autotip .ico svg{display:block}
@media (max-width:640px){ .autotip{font-size:12px;margin-bottom:10px} }

.pf-grp{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:0 2px}
.pf-grp-t{font-size:14px;font-weight:700;color:var(--txt,#1F2A3D)}
.pf-plan{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;
  font-size:12px;color:#9A6B00;background:#FFF6E5;border:1px solid #F3DFB8}
.dm-sum{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;
  border-radius:10px;background:linear-gradient(90deg,#F4F8FF,#fff);border:1px solid #E2EAF6}
.dm-sum-n{font-size:14px;font-weight:800;letter-spacing:.2px}
.dm-sum-q{margin-left:auto;font-size:12.5px;color:#8A94A6;font-variant-numeric:tabular-nums}

.pf-card{transition:box-shadow .16s ease,border-color .16s ease}
.pf-card:hover{box-shadow:0 6px 18px rgba(16,24,40,.10)}
.pf-card.pf-on{border-color:#BCD8FF;background:linear-gradient(180deg,#F7FAFF,#fff)}
.pf-card.pf-on:hover{border-color:#8FB6F5}
.pf-ico{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.pf-ico svg{display:block;border-radius:9px;box-shadow:0 3px 8px rgba(16,24,40,.16)}
.pf-card.pf-off .pf-ico svg{box-shadow:0 2px 5px rgba(16,24,40,.10);opacity:.94}
@media (max-width:640px){
  .dm-sum{gap:6px;padding:9px 10px}
  .dm-sum-n{font-size:13px}
  .dm-sum-q{margin-left:0;width:100%}
}

@media (max-width: 860px) {
  

  .sidebar.mini { width: 260px; flex: 0 0 260px; padding: 16px 12px; }
  .sidebar.mini a, .sidebar.mini .grp, .sidebar.mini .ugrp,
  .sidebar.mini .side-toggle, .sidebar.mini .side-collapse,
  .sidebar.mini .side-logout, .sidebar.mini .side-level {
    justify-content: flex-start; gap: 10px;
  }
  .sidebar.mini .grp-t, .sidebar.mini .ugrp-t, .sidebar.mini .lo-t,
  .sidebar.mini .side-toggle .t, .sidebar.mini .side-collapse .t,
  .sidebar.mini .txt { display: inline; }
  .sidebar.mini .side-brand { display: flex; }
  
  .sidebar .side-collapse { display: none; }
  
  .sidebar { height: 100dvh; padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 400px) {
  .wrap, .page { padding-left: 10px !important; padding-right: 10px !important; }
  .page-head h1, .page-head h2 { font-size: 17px !important; }
  .topbar { padding: 0 10px; }
  .topbar .crumb { font-size: 12px; }
  .kpi .v, .kpi-v { font-size: 19px !important; }
  .card .hd { padding: 11px 12px !important; font-size: 13.5px; }
  .card .bd { padding: 12px !important; }
  .modal { max-width: calc(100vw - 16px); border-radius: 18px; }
  .modal .bd { padding: 14px; }
  .btn { height: 42px; padding: 0 14px; font-size: 14px; }
  .table th, .table td { padding: 8px 8px !important; font-size: 12.2px; }
}

@media (min-width: 861px) and (max-width: 1024px) {
  .page, .wrap { padding-left: 16px; padding-right: 16px; }
  .grid.g4, .grid.g5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1600px) {
  .wrap, .container { max-width: 1440px; margin-left: auto; margin-right: auto; }
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.card, .kpi, .pf-card, .mall-card, .vipcard { transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }

img, svg, video, canvas { max-width: 100%; }

body { overflow-wrap: break-word; word-break: break-word; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #CFDCEF; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #AFC5E6; }

.intg-banner{display:flex;align-items:center;gap:10px;margin:12px 14px 0;padding:10px 12px;border-radius:10px;border:1px solid #f0b357;background:linear-gradient(180deg,#fff8ec,#fff3df);color:#8a5a00;font-size:12.5px;line-height:1.6}
.intg-banner .ib-ico{flex:0 0 auto;display:flex;color:#d98b0b}
.intg-banner .ib-txt{flex:1 1 auto;min-width:0}
.intg-banner .ib-txt b{display:block;font-weight:700}
.intg-banner .ib-txt span{display:block;color:#9a6a10}
.intg-banner .ib-bad{flex:0 0 auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:#d98b0b;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.intg-tag{margin:0 6px;padding:1px 8px;border-radius:10px;font-size:11.5px;font-weight:600;border:1px solid transparent}
.intg-tag.ok{color:#1a8a4c;background:#eaf7ef;border-color:#bde5cb}
.intg-tag.warn,.intg-tag.modified{color:#b3350f;background:#fdeee9;border-color:#f5c6b6}
.intg-banner .ib-btn{flex:0 0 auto;height:28px;padding:0 12px;border-radius:8px;border:1px solid #e0b366;background:#fff;color:#8a5a00;font-size:12.5px;font-weight:600;cursor:pointer;line-height:1}
.intg-banner .ib-btn:hover{background:#fff8ec}
.intg-banner .ib-btn-go{background:#d98b0b;border-color:#d98b0b;color:#fff}
.intg-banner .ib-btn-go:hover{background:#c47b09;border-color:#c47b09}
.intg-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}
.intg-row .ir-k{font-size:12.5px;font-weight:600;color:var(--txt)}
.intg-row .ir-tip{flex:1 1 240px;min-width:0;font-size:12px;color:var(--sub)}
.intg-row .ir-sp{flex:1 1 auto}
.intg-tag.unknown{color:#6b7280;background:#f1f3f5;border-color:#dfe3e8}

.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table-wrap::-webkit-scrollbar{height:8px}
.table-wrap::-webkit-scrollbar-track{background:#F1F4FA;border-radius:4px}
.table-wrap::-webkit-scrollbar-thumb{background:#C7D5EC;border-radius:4px}
.table-wrap::-webkit-scrollbar-thumb:hover{background:#A9BEDA}
@media (min-width:1401px){ .table{min-width:760px} }
.modal .table-wrap{max-width:100%}

.sidebar a .pill.ok,
html[data-lang="zh"] .sidebar a .pill.ok,
html[data-eye-site="1"] .sidebar a .pill.ok,
html[data-eye-admin="1"] .sidebar a .pill.ok{background:#FDECEA !important;color:#B42318 !important}
html[data-lang="en"] .sidebar a .pill.ok,
html[data-eye-site="1"][data-lang="en"] .sidebar a .pill.ok,
html[data-eye-admin="1"][data-lang="en"] .sidebar a .pill.ok{background:#E6F8F0 !important;color:#0B7A46 !important}

.seg{display:flex;gap:6px;padding:4px;background:#F1F4FA;border:1px solid #E3EAF6;border-radius:12px;margin-bottom:2px}
.seg button{flex:1;appearance:none;border:0;background:transparent;color:#5A6B85;font-size:13.5px;font-weight:700;
  padding:8px 10px;border-radius:9px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;font-family:inherit}
.seg button:hover{color:var(--bxz-1)}
.seg button.on{background:#fff;color:var(--bxz-1);box-shadow:0 2px 8px rgba(15,98,224,.14)}

.tm-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.tm-tabs-l{font-size:12px;color:rgba(200,225,255,.5);flex:none}
.tm-tabs-r{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.tm-tab{font-size:12px;padding:5px 12px;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.05);border:1px solid rgba(120,190,255,.18);
  color:rgba(215,235,255,.72);transition:.18s}
.tm-tab:hover{border-color:rgba(120,190,255,.4);color:#eaf5ff}
.tm-tab.on{background:linear-gradient(135deg,#0F62E0,#14C8F2);border-color:transparent;
  color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(15,98,224,.35)}
.tm-btn{font-size:12px;padding:5px 12px;border-radius:999px;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;background:rgba(255,255,255,.05);
  border:1px solid rgba(120,190,255,.18);color:rgba(215,235,255,.72);transition:.18s}
.tm-btn:hover{border-color:rgba(120,190,255,.4);color:#eaf5ff}
.tm-embed{background:rgba(255,255,255,.045);border:1px solid rgba(120,190,255,.16);
  border-radius:12px;padding:12px;margin-bottom:16px}
.tm-embed .sp-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:13px;font-weight:700;color:rgba(225,240,255,.9);margin-bottom:10px}
.tm-embed .sp-tag{font-size:10.5px;font-weight:400;color:rgba(200,225,255,.45)}

.tm-heart{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:6px;
  background:#2BD07A;opacity:.25;transition:opacity .3s}
.tm-heart.on{opacity:1;box-shadow:0 0 8px #2BD07A}

@keyframes tmflow{to{stroke-dashoffset:-8}}

@keyframes tmsrc{0%{r:.7;opacity:.95}70%{r:2.6;opacity:0}100%{r:2.6;opacity:0}}

@keyframes tmcore{0%{r:1.4;opacity:.5}100%{r:5;opacity:0}}

.tm-kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:12px}
.tm-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(120,190,255,.16);border-radius:14px;
  padding:12px 10px;text-align:center}
.tm-kpi .tk-v{font-size:21px;font-weight:800;color:#EAF5FF;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums}
.tm-kpi .tk-v.bad{color:#FF6B85}.tm-kpi .tk-v.warn{color:#FFC24D}
.tm-kpi .tk-v.ok{color:#2BD07A}.tm-kpi .tk-v.critical{color:#FF4D6D}
.tm-kpi .tk-v.high{color:#FF6B85}.tm-kpi .tk-v.medium{color:#FFC24D}
.tm-kpi .tk-v.low{color:#7FD8FF}.tm-kpi .tk-v.safe{color:#2BD07A}
.tm-kpi .tk-l{font-size:11px;color:rgba(200,225,255,.55);margin-top:3px}
.tm-kpi.lv .tk-v{font-size:18px}
.tm-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;margin-top:12px}
.tm-card{background:rgba(255,255,255,.045);border:1px solid rgba(120,190,255,.16);border-radius:14px;overflow:hidden}
.tm-card .tc-hd{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:700;
  color:#EAF5FF;border-bottom:1px solid rgba(120,190,255,.12)}
.tm-card .tc-tag{margin-left:auto;font-weight:400;font-size:11px;color:rgba(200,225,255,.5)}
.tm-card .tc-bd{padding:10px 14px;max-height:230px;overflow-y:auto}
.tl-row{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:5px 6px;border-radius:8px;
  color:rgba(215,235,255,.8)}
.tl-row.new{background:rgba(46,123,255,.16);animation:tlnew .8s ease}
@keyframes tlnew{from{background:rgba(255,77,109,.25)}to{background:rgba(46,123,255,.16)}}
.tl-dot{width:6px;height:6px;border-radius:50%;flex:none}
.tl-dot.bad{background:#FF4D6D}.tl-dot.warn{background:#FFC24D}
.tl-host{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.tl-geo{color:rgba(200,225,255,.55);flex:none;font-size:10.5px}
.tl-cat{flex:none;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:rgba(200,225,255,.6)}
.tl-t{flex:none;color:rgba(200,225,255,.4);font-size:10.5px}
.tl-empty{font-size:12px;color:rgba(200,225,255,.45);padding:16px 6px;text-align:center}
.tt-row{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:4px 0;color:rgba(215,235,255,.8)}
.tt-n{width:76px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-bar{flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.tt-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0F62E0,#14C8F2)}
.tt-c{flex:none;width:28px;text-align:right;font-weight:700}
.tc-nodes{display:flex;flex-wrap:wrap;gap:6px}
.tn{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:4px 9px;border-radius:999px;
  background:rgba(255,255,255,.06);color:rgba(215,235,255,.75)}
.tn i{width:6px;height:6px;border-radius:50%;background:#5A6B85}
.tn.on i{background:#2BD07A}
@media(max-width:1200px){.tm-kpis{grid-template-columns:repeat(4,1fr)}.tm-grid{grid-template-columns:1fr}}
@media(max-width:640px){.tm-kpis{grid-template-columns:repeat(2,1fr)}}
.tm-mapbd2{position:relative;padding:0;height:min(60vh,540px);min-height:340px;
  border-radius:10px;overflow:hidden;background:#04101f}
.tm-frame{width:100%;height:100%;border:0;display:block;background:#04101f}
.tm-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:12.5px;color:rgba(200,225,255,.65);background:rgba(4,16,31,.72)}
.tm-spin{width:16px;height:16px;border-radius:50%;flex:none;
  border:2px solid rgba(120,190,255,.25);border-top-color:#14C8F2;animation:tmspin .8s linear infinite}
@keyframes tmspin{to{transform:rotate(360deg)}}

.scr-wrap{padding:0;margin:-14px -14px 0}
.scr{background:radial-gradient(1200px 600px at 15% -10%,rgba(20,200,242,.16),transparent 60%),
  radial-gradient(900px 500px at 90% 0%,rgba(15,98,224,.20),transparent 55%),
  linear-gradient(180deg,#071427 0%,#0A1B33 45%,#071427 100%);
  color:#DCEBFF;padding:18px 20px 20px;min-height:calc(100vh - 60px);position:relative;overflow:hidden;border-radius:14px}
.scr:before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(120,190,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,190,255,.05) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(80% 60% at 50% 30%,#000 40%,transparent 100%)}
.scr:after{content:'';position:absolute;left:0;right:0;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(20,200,242,.55),transparent);
  animation:scrScan 7s linear infinite}
@keyframes scrScan{0%{top:0;opacity:0}10%{opacity:.9}90%{opacity:.9}100%{top:100%;opacity:0}}
.scr>*{position:relative;z-index:2}

.scr-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;
  border-bottom:1px solid rgba(120,190,255,.18);margin-bottom:16px}
.scr-brand{display:flex;align-items:center;gap:12px}
.scr-logo{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0F62E0,#14C8F2);box-shadow:0 8px 22px rgba(20,200,242,.35);color:#fff}
.scr-title{font-size:20px;font-weight:800;letter-spacing:.04em;
  background:linear-gradient(90deg,#fff,#8FD8FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.scr-sub{font-size:12px;color:rgba(200,225,255,.55);margin-top:3px}
.scr-clock{text-align:right}
.scr-time{display:block;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:#7FE3FF;
  text-shadow:0 0 14px rgba(20,200,242,.55)}
.scr-date{font-size:12px;color:rgba(200,225,255,.5)}

.scr-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}
.sk{position:relative;background:rgba(255,255,255,.045);border:1px solid rgba(120,190,255,.16);border-radius:12px;
  padding:13px 14px;display:flex;align-items:center;gap:10px;overflow:hidden;
  backdrop-filter:blur(6px);transition:transform .18s,border-color .18s}
.sk:hover{transform:translateY(-2px);border-color:rgba(20,200,242,.5)}
.sk:after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#14C8F2,#0F62E0)}
.sk-ic{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(20,200,242,.14);color:#7FE3FF}
.sk-b{min-width:0}
.sk-v{font-size:21px;font-weight:800;line-height:1.15;color:#fff;font-variant-numeric:tabular-nums;
  text-shadow:0 0 12px rgba(120,200,255,.35)}
.sk-v i{font-size:12px;font-style:normal;font-weight:600;color:rgba(200,225,255,.6);margin-left:2px}
.sk-l{font-size:12px;color:rgba(200,225,255,.6);margin-top:2px}
.sk-t{margin-left:auto;font-size:11px}
.sk-t .up{color:#31D158}.sk-t .down{color:#FF6B6B}

.scr-main{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.scr-pane{background:rgba(255,255,255,.045);border:1px solid rgba(120,190,255,.16);border-radius:12px;
  padding:12px 14px;backdrop-filter:blur(6px);min-height:158px}
.scr-pane.span2{grid-column:span 2}
.sp-hd{font-size:13px;font-weight:700;color:#CFE6FF;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sp-tag{font-size:11px;font-weight:500;color:rgba(200,225,255,.45)}
.sp-bd{position:relative}
.sp-bd.center{text-align:center}

.scr-chart{width:100%;height:150px;display:block}
.scr-chart .scr-grid line{stroke:rgba(120,190,255,.13);stroke-width:1}
.scr-chart .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(20,200,242,.55))}
.scr-chart .ln.a{stroke:#14C8F2}
.scr-chart .ln.b{stroke:#5B8DEF}
.scr-chart .pt{fill:#fff;stroke:#14C8F2;stroke-width:1.5}
.scr-x{display:flex;justify-content:space-between;font-size:10.5px;color:rgba(200,225,255,.45);margin-top:4px}

.scr-ring{width:112px;height:112px}
.scr-ring .ring-bg{fill:none;stroke:rgba(120,190,255,.14);stroke-width:9}
.scr-ring .ring-fg{fill:none;stroke:url(#gA);stroke:#14C8F2;stroke-width:9;stroke-linecap:round;
  transform:rotate(-90deg);transform-origin:60px 60px;transition:stroke-dasharray .8s ease;
  filter:drop-shadow(0 0 8px rgba(20,200,242,.6))}
.ring-txt{margin-top:6px}
.ring-txt b{font-size:22px;font-weight:800;color:#fff}
.ring-txt span{display:block;font-size:11.5px;color:rgba(200,225,255,.55);margin-top:2px}
.ring-sub{font-size:11px;color:rgba(200,225,255,.45);margin-top:4px}

.scr-heat{display:flex;align-items:flex-end;gap:2px;height:96px}
.scr-heat .hb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.scr-heat .hb i{width:100%;max-width:12px;border-radius:2px 2px 0 0;
  background:linear-gradient(180deg,#14C8F2,#0F62E0);box-shadow:0 0 8px rgba(20,200,242,.35)}
.scr-heat .hb span{font-size:8.5px;color:rgba(200,225,255,.4);margin-top:3px}

.scr-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;
  border-bottom:1px dashed rgba(120,190,255,.12);font-size:12.5px}
.scr-row:last-child{border-bottom:0}
.scr-row span{color:rgba(200,225,255,.65)}
.scr-row b{font-size:14px;color:#fff}
.scr-row b.bad{color:#FF6B6B}.scr-row b.warn{color:#FFC53D}.scr-row b.ok{color:#31D158}

.scr-bars .sbar{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.sbar-l{width:96px;font-size:12px;color:rgba(200,225,255,.7);flex:0 0 96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbar-t{flex:1;height:9px;border-radius:5px;background:rgba(120,190,255,.12);overflow:hidden}
.sbar-t i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#0F62E0,#14C8F2);
  box-shadow:0 0 10px rgba(20,200,242,.4);transition:width .8s ease}
.sbar-v{width:42px;text-align:right;font-size:12px;color:#fff;font-variant-numeric:tabular-nums}
.scr-suffix{display:flex;flex-wrap:wrap;gap:6px}
.sfx{font-size:11.5px;padding:3px 9px;border-radius:20px;background:rgba(20,200,242,.12);
  border:1px solid rgba(20,200,242,.28);color:#9FE6FF}
.sfx b{margin-right:5px;color:#fff}

.scr-live{max-height:150px;overflow:hidden}
.scr-live .lv{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;
  border-bottom:1px dashed rgba(120,190,255,.12)}
.scr-live .lv-n{flex:1;color:rgba(200,225,255,.7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scr-live .lv-a{color:#FFC53D;font-weight:700}
.scr-live .lv-s{font-size:11px;padding:1px 7px;border-radius:10px}
.scr-live .lv-s.ok{background:rgba(49,209,88,.16);color:#31D158}
.scr-live .lv-s.warn{background:rgba(255,197,61,.16);color:#FFC53D}
.scr-empty{text-align:center;font-size:12px;color:rgba(200,225,255,.4);padding:16px 0}

.scr-foot{margin-top:14px;padding-top:10px;border-top:1px solid rgba(120,190,255,.14);
  font-size:11.5px;color:rgba(200,225,255,.5);display:flex;align-items:center;gap:10px}
.scr-foot .dot{width:6px;height:6px;border-radius:50%;background:#31D158;box-shadow:0 0 8px #31D158;
  animation:scrBlink 1.6s infinite}
@keyframes scrBlink{0%,100%{opacity:1}50%{opacity:.3}}

@media (max-width:1100px){.scr-kpis{grid-template-columns:repeat(3,1fr)}.scr-main{grid-template-columns:repeat(2,1fr)}
  .scr-pane.span2{grid-column:span 2}}
@media (max-width:700px){.scr{padding:14px}.scr-kpis{grid-template-columns:repeat(2,1fr)}
  .scr-main{grid-template-columns:1fr}.scr-pane.span2{grid-column:span 1}.scr-title{font-size:17px}}

.rule-cat{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:9px;background:var(--bxz-5)}
.rc-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.rc-basis{font-size:11.5px;color:var(--sub);flex:1;min-width:180px}
.rc-words{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rw{font-size:12px;padding:3px 9px;border-radius:20px;background:#fff;border:1px solid var(--line);color:var(--muted);
  display:inline-flex;align-items:center;gap:5px}
.rw i{cursor:pointer;font-style:normal;color:var(--danger);font-weight:700;opacity:.6}
.rw i:hover{opacity:1}
.reason{max-width:330px}
.rs-t{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}
.rs-b{font-size:11px;color:var(--sub);margin-top:2px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
.ell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:14px 18px;margin-bottom:14px;border-radius:14px;
  background:linear-gradient(120deg,#F2F8FF 0%,#EAF4FF 55%,#F7FBFF 100%);
  border:1px solid rgba(15,98,224,.14);
  box-shadow:0 2px 10px rgba(15,98,224,.06)}
.page-head h2{display:flex;align-items:center;gap:9px;margin:0;font-size:17px;font-weight:800;
  color:#0B2B5B;letter-spacing:.02em}
.page-head h2 .ph-ico{display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:9px;color:#fff;
  background:linear-gradient(135deg,#0F62E0 0%,#14C8F2 100%);
  box-shadow:0 3px 8px rgba(15,98,224,.28)}
.page-head .right{margin-left:auto;display:flex;align-items:center;gap:8px}

.card{background:#fff;border:1px solid rgba(15,98,224,.10);border-radius:14px;
  box-shadow:0 1px 2px rgba(16,42,87,.04),0 8px 22px rgba(16,42,87,.05);
  transition:box-shadow .18s ease,transform .18s ease}
.card:hover{box-shadow:0 2px 6px rgba(16,42,87,.06),0 14px 30px rgba(16,42,87,.09)}
.card>.hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:12px 16px;border-bottom:1px solid rgba(15,98,224,.09);
  font-size:14px;font-weight:700;color:#0B2B5B;
  background:linear-gradient(180deg,#FAFCFF 0%,#F5F9FF 100%);
  border-radius:14px 14px 0 0}
.card>.bd{padding:14px 16px}

.tbl-wrap{border-radius:10px;overflow:hidden;border:1px solid rgba(15,98,224,.08)}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}
table.tbl thead th{padding:9px 10px;text-align:left;white-space:nowrap;font-weight:700;
  color:#0B2B5B;background:linear-gradient(180deg,#F3F8FF 0%,#EAF2FF 100%);
  border-bottom:1px solid rgba(15,98,224,.14)}
table.tbl tbody td{padding:9px 10px;border-bottom:1px solid #F1F5FB;color:#33415C;vertical-align:middle}
table.tbl tbody tr:nth-child(even){background:#FBFCFE}
table.tbl tbody tr:hover{background:#F2F8FF}
table.tbl tbody tr:last-child td{border-bottom:none}
table.tbl td.empty{padding:26px 10px;text-align:center;color:#97A3B8}

.kpi.mini{position:relative;padding:12px 14px;border-radius:12px;background:#fff;
  border:1px solid rgba(15,98,224,.10);overflow:hidden;
  box-shadow:0 1px 2px rgba(16,42,87,.04)}
.kpi.mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#0F62E0 0%,#14C8F2 100%)}
.kpi.mini .k{font-size:12px;color:#6B7A93;margin-bottom:5px}
.kpi.mini .v{font-size:21px;font-weight:800;color:#0B2B5B;letter-spacing:.01em;
  font-variant-numeric:tabular-nums}

.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.statband .sb{display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:13px;
  background:#fff;border:1px solid rgba(15,98,224,.10);
  box-shadow:0 1px 2px rgba(16,42,87,.04),0 6px 18px rgba(16,42,87,.05)}
.statband .sb .sb-ic{display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:11px;color:#fff;flex:0 0 36px;
  background:linear-gradient(135deg,#0F62E0 0%,#3B8BFF 100%);
  box-shadow:0 3px 8px rgba(15,98,224,.24)}
.statband .sb.g .sb-ic{background:linear-gradient(135deg,#0E9F6E 0%,#2BD08B 100%);
  box-shadow:0 3px 8px rgba(14,159,110,.24)}
.statband .sb.s .sb-ic{background:linear-gradient(135deg,#8A5CF6 0%,#A78BFA 100%);
  box-shadow:0 3px 8px rgba(138,92,246,.24)}
.statband .sb .sb-v{font-size:20px;font-weight:800;color:#0B2B5B;line-height:1.15;
  font-variant-numeric:tabular-nums}
.statband .sb .sb-l{font-size:12px;color:#6B7A93;margin-top:2px}

td.reason .rs-t{font-weight:600;color:#C0392B;font-size:12.5px;margin-top:3px}
td.reason .rs-b{color:#8A97AC;font-size:11.5px;margin-top:2px}

@media(max-width:900px){.statband{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.statband{grid-template-columns:1fr}
  .page-head{padding:12px 14px}.page-head h2{font-size:15.5px}}

.tm-kpis{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:12px}
.tm-kpis .tk{background:rgba(255,255,255,.05);border:1px solid rgba(120,190,255,.16);
  border-radius:12px;padding:10px 8px;text-align:center}
.tm-kpis .tk-v{font-size:20px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;line-height:1.2}
.tm-kpis .tk-v.bad{color:#FF6B6B}.tm-kpis .tk-v.warn{color:#FFC53D}.tm-kpis .tk-v.ok{color:#31D158}
.tm-kpis .tk-l{font-size:11.5px;color:rgba(200,225,255,.55);margin-top:3px}
.tm-kpis .tk.lv{border-color:rgba(255,107,107,.4);background:rgba(255,107,107,.08)}
.tm-kpis .tk.lv-high .tk-v{color:#FF8A5B}
.tm-kpis .tk.lv-medium .tk-v{color:#FFC53D}
.tm-kpis .tk.lv-low .tk-v{color:#7FE3FF}
.tm-kpis .tk.lv-safe .tk-v{color:#31D158}
.tm-kpis .tk.lv-critical .tk-v{color:#FF4D6D}

.tm-mapbd{position:relative}
.tm-map{width:100%;height:auto;max-height:330px;display:block}
.tm-map .tm-grid line{stroke:rgba(120,190,255,.09);stroke-width:.5}

@keyframes tmFly{0%{stroke-dashoffset:260}100%{stroke-dashoffset:-60}}
@keyframes tmRipple{0%{r:1.6;opacity:.9}100%{r:9;opacity:0}}
@keyframes tmPulse{0%{r:4;opacity:.7}100%{r:11;opacity:0}}

.modal.wide{width:min(620px,94vw)}
.modal .hd .x{float:right;cursor:pointer;font-size:20px;line-height:1;color:var(--muted);padding:0 4px}

@media (max-width:1100px){.tm-kpis{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.tm-kpis{grid-template-columns:repeat(2,1fr)}}

.adm-cell{display:inline-flex;align-items:center;gap:8px}
.adm-self{display:inline-block;padding:1px 7px;border-radius:6px;background:#EAF3FF;color:#2E7BFF;
  font-size:11px;font-weight:600;line-height:1.7;vertical-align:middle;white-space:nowrap}

.adm-self.muted{background:#F2F4F7;color:#8A94A6;font-weight:500}
.adm-ops{white-space:nowrap}
.adm-ops .op + .adm-self,.adm-ops .op + .op{margin-left:16px}
.tbl-nice td{vertical-align:middle}
.tbl-nice tbody tr:hover{background:#F7FAFF}

.modal .hint{margin-top:5px;font-size:12px;color:#8A94A6;line-height:1.7}

img,svg,video,canvas,iframe,table{max-width:100%}
iframe{border:0}
input,textarea,select,button{max-width:100%}
code,pre,kbd{overflow-wrap:anywhere;word-break:break-word}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
[hidden]{display:none!important}
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--bxz-1,#006AF3);outline-offset:2px;border-radius:6px}

@media (max-width:1200px){
  .g5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1024px){
  .wrap{padding:0 16px}
  .g3,.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .g2,.g3,.g4,.g5{grid-template-columns:minmax(0,1fr)}
  input,textarea,select{font-size:16px}
}
@media (max-width:640px){
  .wrap{padding:0 14px}
}
@media (max-width:390px){
  .wrap{padding:0 12px}
}
@media (hover:none) and (pointer:coarse){
  .btn,.op,.tab,.pill,.save-bar .btn{min-height:36px}
}
@supports (padding:env(safe-area-inset-bottom)){
  .save-bar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .to-bottom-gap{padding-bottom:env(safe-area-inset-bottom)}
}
@media print{
  .no-print,.sidebar,.to-top,.save-bar{display:none!important}
  body{background:#fff}
}

/* v1.9.231：角色权限分配 */
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px}
.perm-item{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;cursor:pointer;padding:6px 8px;border:1px solid var(--line, #E6ECF5);border-radius:8px;background:#FCFDFF;min-width:0}
.perm-item input{flex:0 0 auto;margin:0;width:15px;height:15px;accent-color:#2E7BFF}
.perm-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){
  .perm-grid{grid-template-columns:repeat(auto-fill,minmax(46%,1fr))}
}

/* v1.9.248：英文区按「绿增红减」显示——加金额绿、减金额红（与中文区相反）
   用变量覆盖写法，护眼模式(eye) 的 -e 变体一并切换 */
html[data-lang="en"]{
  --amt-in:#0A6B3C;  --amt-out:#C4271B;
  --amt-in-soft:#EAF7F0; --amt-out-soft:#FFF1EF;
  --amt-in-e:#7FD9A0; --amt-out-e:#FF9B94;
  --amt-in-soft-e:#16351F; --amt-out-soft-e:#3A1F1D;
}

/* v1.9.248：实名「已认证」标签固定为绿色
   此前沿用 .pill.ok，在前台主题作用域下会被主题色覆盖成蓝/红，与「已通过」语义不符 */
.pill.rn-ok{background:#E6F8F0;color:#15803D}
[data-scope="front"] .pill.rn-ok{background:#E6F8F0;color:#15803D}
html[data-eye-site="1"] .pill.rn-ok,html[data-eye-admin="1"] .pill.rn-ok{background:#16351F !important;color:#7FD9A0 !important}

/* v1.9.248：续费弹窗「应付金额」行 */
.rn-amt{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;
  border-radius:12px;background:#F5F8FF;border:1px solid #E6EDF7;font-size:13.5px}
.rn-amt span{color:#6B7A91}
/* v1.9.250：固定品牌蓝，不随站点主题色变化，中英文一致 */
.rn-amt b{font-size:17px;font-weight:800;color:#006AF3}
[data-scope="front"] .rn-amt b,[data-scope="user"] .rn-amt b{color:#006AF3}
/* 护眼模式下浅底变深底，纯 #006AF3 对比度不足，改用同色系浅调 */
html[data-eye-site="1"] .rn-amt,html[data-eye-admin="1"] .rn-amt{background:var(--bxz-4,#16202E);border-color:var(--line,#26344A)}
html[data-eye-site="1"] .rn-amt b,html[data-eye-admin="1"] .rn-amt b{color:#5FA8FF}
/* 域名续费弹窗总价/到期日同样固定品牌蓝 */
.rn-total b,.rn-exp b{color:#006AF3}
html[data-eye-site="1"] .rn-total b,html[data-eye-site="1"] .rn-exp b{color:#5FA8FF}

/* v1.9.250：编辑域名弹窗——状态改为带色标的分段选择，避免下拉框窄被挤压看不清 */
.dm-st{display:flex;gap:8px;flex-wrap:wrap}
.dm-st-i{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 15px;
  border:1px solid var(--line,#D7E7FF);border-radius:999px;background:#FCFDFF;
  color:var(--sub,#4E6C9B);font-size:13.5px;font-weight:600;cursor:pointer;
  transition:border-color .18s,background .18s,color .18s,box-shadow .18s}
.dm-st-i:hover{border-color:var(--bxz-2,#3B8BFF);color:var(--bxz-1,#006AF3)}
.dm-st-i .dot{width:9px;height:9px;border-radius:50%;background:#B6C7E0;flex:0 0 auto}
.dm-st-i .dot.d-active{background:#12B76A}
.dm-st-i .dot.d-disabled{background:#94A3B8}
.dm-st-i .dot.d-pending{background:#F79009}
.dm-st-i .dot.d-expired{background:#C4271B}
.dm-st-i .dot.d-banned{background:#7A1A12}
.dm-st-i.on{border-color:var(--bxz-1,#006AF3);background:var(--bxz-5,#F0F6FF);
  color:var(--bxz-1,#006AF3);box-shadow:0 0 0 3px rgba(0,106,243,.10)}
/* v1.9.251：内容合规命中后的域名级风险提示 */
.dm-risk{border:1px solid #FBD3D0;background:#FFF6F5;border-radius:10px;padding:10px 12px}
.dm-risk-r{font-size:13px;font-weight:600;color:#C4271B;line-height:1.5;word-break:break-all}
.dm-risk-tag{display:inline-block;margin-top:3px;padding:1px 7px;border-radius:999px;
  background:#FFECEC;color:#E5484D;font-size:11px;font-weight:700;cursor:help;white-space:nowrap}

/* v1.9.250：测试连接顶部状态条 */
.ptt-card .ptt-name{color:var(--sub,#6B7A91);font-size:12px;margin-left:6px;font-weight:500}
html[data-eye-admin="1"] .ptt-card .ptt-name{color:#8FA3BF}

/* v1.9.268：应用市场授权档位徽章——档位越高越醒目（免费→基础→专业→旗舰→公测） */
.pf-tier{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:11px;
  font-size:11.5px;font-weight:600;letter-spacing:.2px;white-space:nowrap;border:1px solid transparent}
.pf-tier .tk{font-size:11px;line-height:1;opacity:.95}
.pf-tier.t-free{background:#F1F4FA;color:#5A6B85;border-color:#E3E8F2}
.pf-tier.t-basic{background:#EAF2FF;color:#1256D6;border-color:#BCD8FF}
.pf-tier.t-pro{background:linear-gradient(135deg,#6D5BFF,#9B6BFF);color:#fff;
  box-shadow:0 2px 6px rgba(109,91,255,.28)}
.pf-tier.t-ultra{background:linear-gradient(135deg,#B7791F,#F5C34B);color:#fff;
  box-shadow:0 2px 8px rgba(245,195,75,.4)}
.pf-tier.t-beta{background:linear-gradient(135deg,#0284C7,#22D3EE);color:#fff;
  box-shadow:0 2px 6px rgba(34,211,238,.28)}
.pf-tier.t-blocked{background:#FDECEA;color:#B4232B;border-color:#FBC7C2}
html[data-eye-admin="1"] .pf-tier.t-pro,
html[data-eye-site="1"] .pf-tier.t-pro{background:#2A2350 !important;color:#C4B5FD !important;box-shadow:none}
html[data-eye-admin="1"] .pf-tier.t-ultra,
html[data-eye-site="1"] .pf-tier.t-ultra{background:#3A2E12 !important;color:#FCD34D !important;box-shadow:none}
html[data-eye-admin="1"] .pf-tier.t-beta,
html[data-eye-site="1"] .pf-tier.t-beta{background:#0B3A4A !important;color:#7DD3FC !important;box-shadow:none}

/* v1.9.268：批量编辑——字段行「修改」开关 */
.be-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.be-cell{border:1px solid var(--line);border-radius:var(--r-card);padding:10px 12px;background:#fff}
.be-cell.on{border-color:var(--bxz-2);background:#F7FBFF}
.be-hd{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:13px;font-weight:600}
.be-hd .be-lb{margin-left:auto;font-size:12px;font-weight:500;color:var(--sub)}
.be-bd{margin-top:10px}
.be-num{font-size:12px;color:var(--sub);margin-top:6px}
html[data-eye-admin="1"] .be-cell.on{background:#12233B;border-color:#2A4A78}


/* v1.9.269：多厂商备案——一个域名归属多家 DNS 厂商时的图标叠放 */
.vg-stack{display:inline-flex;align-items:center;flex:0 0 auto}
.vg-stack .vg-ic{display:inline-flex;position:relative;margin-left:-8px;
  border-radius:25%;box-shadow:0 0 0 2px #fff,0 1px 4px rgba(16,42,80,.16);
  background:#fff;line-height:0}
.vg-stack .vg-ic:first-child{margin-left:0}
.vg-stack .vg-more{display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 5px;margin-left:-4px;border-radius:10px;
  background:#EEF3FA;color:#4A5B72;font-size:11px;font-weight:700;line-height:1;
  box-shadow:0 0 0 2px #fff}
/* 叠放时容器不能再裁切，否则第二个图标会被 overflow:hidden 吃掉 */
.mc-brand.multi{flex:0 0 auto;overflow:visible;background:none;box-shadow:none;border-radius:0}
.card-ico.multi,.bh-mark.multi{flex:0 0 auto;overflow:visible;background:none;box-shadow:none;border-radius:0}

/* v1.9.269：域名商城「DNS 厂商」多选 */
.vd-pick{display:flex;flex-wrap:wrap;gap:7px}
.vd-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 6px;
  border:1px solid var(--line,#e2e8f0);border-radius:999px;background:#fff;
  font-size:12.5px;color:var(--sub,#5a6b85);cursor:pointer;user-select:none;
  transition:border-color .15s,background .15s,color .15s}
.vd-chip:hover{border-color:var(--bxz-2,#59A6FF)}
.vd-chip.on{border-color:var(--theme,#006AF3);background:#EAF4FF;color:var(--theme,#006AF3);font-weight:600}
.vd-chip .vd-ic{display:inline-flex;width:18px;height:18px;border-radius:5px;overflow:hidden;flex:0 0 18px}
.vd-chip .vd-x{font-size:13px;line-height:1;opacity:.55}
.vd-chip.on .vd-x{opacity:.9}
.vd-empty{font-size:12px;color:var(--sub);margin-top:6px}
html[data-eye-admin="1"] .vd-chip{background:#12233B;border-color:#2A4A78;color:#9FB2CC}
html[data-eye-admin="1"] .vd-chip.on{background:#123A5E;border-color:#3B8BFF;color:#8FC4FF}
