@charset "utf-8";
/* ============================================================
   newui.css - 云服务中心 阿里云风格响应式样式体系 (阶段A)
   适用: 会员登录页 / 会员中心框架 / 工单模块
   设计基调: 主色 #007FFF, 蓝白灰, 卡片化, 移动端优先适配
   ============================================================ */

/* ---------- 基础 ---------- */
:root{
  --nui-blue:#007FFF; --nui-blue-dark:#0064C8;
  --nui-bg:#F5F7FA; --nui-border:#E5E8ED;
  --nui-text:#1D2129; --nui-text2:#6B7785; --nui-text3:#A8B0BB;
  --nui-ok:#1BA854; --nui-warn:#FF9A2E; --nui-err:#F04747;
  /* 多色图标辅助色板（浅底 + 深色成对，供图标/标签/状态胶囊全站复用） */
  --nui-blue-bg:#E8F3FF;
  --nui-teal:#13C2C2;    --nui-teal-bg:#E6FFFB;
  --nui-green:#00B42A;   --nui-green-bg:#E8FFEA;
  --nui-orange:#FF7D00;  --nui-orange-bg:#FFF3E8;
  --nui-purple:#722ED1;  --nui-purple-bg:#F5EEFF;
  --nui-magenta:#EB2F96; --nui-magenta-bg:#FFF0F6;
  /* 状态胶囊语义色（浅底 + 深色成对）：成功/警告/错误/中性 */
  --nui-st-ok:#0E8A5A;    --nui-st-ok-bg:#E9F9F0;
  --nui-st-warn:#B76A0E;  --nui-st-warn-bg:#FFF4E6;
  --nui-st-err:#E0214A;   --nui-st-err-bg:#FFF0F3;
  --nui-st-gray:#6B7785;  --nui-st-gray-bg:#F2F3F5;
}
.nui-reset,.nui-reset *{margin:0;padding:0;box-sizing:border-box;
  font-family:"PingFang SC","Microsoft YaHei",sans-serif}
body{margin:0}

/* ---------- 顶部导航 ---------- */
.nui-topbar{height:56px;background:#fff;border-bottom:1px solid var(--nui-border);
  display:flex;align-items:center;padding:0 20px;gap:24px;position:sticky;top:0;z-index:100}
.nui-logo{font-size:18px;font-weight:700;color:var(--nui-blue);text-decoration:none}
.nui-menu{display:flex;gap:4px;flex:1;align-items:center}
.nui-menu a{padding:6px 14px;border-radius:6px;color:var(--nui-text2);
  text-decoration:none;font-size:14px;white-space:nowrap}
.nui-menu a.active,.nui-menu a:hover{background:#E8F3FF;color:var(--nui-blue)}
.nui-avatar{width:32px;height:32px;border-radius:50%;background:var(--nui-blue);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.nui-burger{display:none;border:none;background:none;font-size:22px;color:var(--nui-text);cursor:pointer}

/* 顶部下拉 */
.nui-topbar .nui-dropdown{position:relative}
.nui-topbar .nui-dropdown > a::after{content:"";display:inline-block;margin-left:4px;
  vertical-align:middle;border:4px solid transparent;border-top-color:var(--nui-text2)}
.nui-dropdown-panel{display:none;position:absolute;top:100%;left:0;margin-top:6px;
  background:#fff;border:1px solid var(--nui-border);border-radius:8px;
  box-shadow:0 8px 24px rgba(29,33,41,.12);padding:8px;min-width:180px;z-index:110;
  grid-template-columns:1fr 1fr;gap:2px}
.nui-dropdown-panel::before{content:"";position:absolute;top:-6px;left:32px;
  width:10px;height:10px;background:#fff;border-left:1px solid var(--nui-border);
  border-top:1px solid var(--nui-border);transform:rotate(45deg)}
.nui-dropdown:hover .nui-dropdown-panel,
.nui-dropdown.open .nui-dropdown-panel{display:grid}
.nui-dropdown-panel a{display:block;padding:9px 12px;border-radius:6px;color:var(--nui-text);
  font-size:13px;font-weight:400;line-height:1.5;text-decoration:none;white-space:nowrap}
.nui-dropdown-panel a:hover{background:#E8F3FF;color:var(--nui-blue)}
.nui-dropdown-panel a:active{background:#D6E9FF;color:var(--nui-blue)}
.nui-dropdown-panel a.disabled,
.nui-dropdown-panel a[aria-disabled="true"]{color:var(--nui-text3);background:transparent;cursor:not-allowed;pointer-events:none}

/* 单列下拉（财务/工单）*/
.nui-dropdown-panel.col1{grid-template-columns:1fr;min-width:0}

/* 右侧菜单区的下拉：水平居中（面板中心对齐触发文字中心）*/
.nui-menu-right .nui-dropdown-panel{left:50%;right:auto;transform:translateX(-50%)}
.nui-menu-right .nui-dropdown-panel::before{left:50%;right:auto;transform:translateX(-50%) rotate(45deg)}

/* 余额项（纯展示 + 眼睛开关）*/
.bal-item{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:6px;
  font-size:13px;color:var(--nui-text);cursor:default}
.bal-item:hover{background:#E8F3FF}
.bal-row{display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap}
.bal-lbl{color:var(--nui-text3)}
.bal-val{font-weight:600;color:var(--nui-blue);text-align:left;white-space:nowrap}
.bal-eye{display:inline-flex;cursor:pointer;color:var(--nui-text3);padding:2px}
.bal-eye:hover{color:var(--nui-blue)}

/* 头像下拉（交互优化：热区扩展 + 透明桥接消除 hover gap + 右对齐 + open 类）*/
.avatar-dd{position:relative}
.avatar-dd .nui-avatar{position:relative;cursor:pointer}
.avatar-dd .nui-avatar::before{content:"";position:absolute;inset:-6px;border-radius:50%}
.avatar-dd::after{content:"";position:absolute;top:100%;right:0;left:0;height:14px;z-index:105}
.avatar-dd .nui-dropdown-panel{right:0;left:auto;grid-template-columns:1fr;min-width:176px}
.avatar-dd .nui-dropdown-panel::before{left:auto;right:14px}
.avatar-dd.open .nui-dropdown-panel{display:grid}
.avatar-name{padding:12px 14px;border-bottom:1px solid var(--nui-border);margin-bottom:4px;
  font-size:13px;font-weight:600;color:var(--nui-text);white-space:nowrap}
.avatar-name small{display:block;font-weight:400;color:var(--nui-text3);font-size:11.5px;margin-top:2px}

/* ---------- 布局: 侧边栏 + 内容 ---------- */
.nui-layout{display:flex;min-height:calc(100vh - 56px);max-width:1440px;margin:0 auto}
html.wide .nui-layout{max-width:none}
.nui-width-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--nui-text2);cursor:pointer;transition:.2s;flex-shrink:0}
.nui-width-toggle:hover{background:#F5F7FA;color:var(--nui-blue)}
.nui-width-toggle:active{transform:scale(.95)}
.nui-width-toggle svg{display:block;flex-shrink:0}
.nui-width-toggle .ic-compress{display:none}
html.wide .nui-width-toggle .ic-expand{display:none}
html.wide .nui-width-toggle .ic-compress{display:block}
.nui-menu-right a.nui-cart-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;color:var(--nui-text2);text-decoration:none;position:relative}
.nui-menu-right a.nui-cart-icon:hover{background:#F5F7FA;color:var(--nui-blue)}
.nui-menu-right a.nui-cart-icon svg{display:block}
.nui-cart-icon .nui-cart-badge{top:0;right:0;transform:translate(50%,-50%)}
.nui-sidebar{width:200px;background:#fff;border-right:1px solid var(--nui-border);
  padding:10px 8px;flex-shrink:0;overflow-y:auto;
  position:sticky;top:56px;align-self:flex-start;height:calc(100vh - 56px)}
.nui-m1{display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;border-radius:6px;color:var(--nui-text);font-size:14px;
  font-weight:500;cursor:pointer;user-select:none}
.nui-m1:hover{background:#F7F8FA}
.nui-m1 .nui-arrow{width:0;height:0;border:4px solid transparent;
  border-left-color:var(--nui-text2);transition:transform .2s}
.nui-m1.open .nui-arrow{transform:rotate(90deg)}
.nui-m2{display:none;padding:2px 0 4px}
.nui-m1.open + .nui-m2{display:block}
.nui-m2 a{display:block;padding:8px 14px 8px 34px;border-radius:6px;
  color:var(--nui-text2);text-decoration:none;font-size:13px;font-weight:400;position:relative}
.nui-m2 a:hover{background:#F7F8FA}
.nui-m2 a.active{background:#E8F3FF;color:var(--nui-blue);font-weight:600}
.nui-m2 a.active::before{content:"";position:absolute;left:18px;top:50%;
  transform:translateY(-50%);width:3px;height:14px;background:var(--nui-blue);border-radius:2px}
.nui-main{flex:1;padding:16px 20px;min-width:0}

/* ---------- 通用组件 ---------- */
.nui-breadcrumb{font-size:13px;color:var(--nui-text2);margin-bottom:12px}
.nui-breadcrumb b{color:var(--nui-text)}
.nui-breadcrumb a{color:var(--nui-text2);text-decoration:none}
.nui-breadcrumb a:hover{color:var(--nui-blue)}
.nui-card{background:#fff;border:1px solid var(--nui-border);border-radius:8px;
  padding:16px;margin-bottom:16px;box-shadow:0 1px 2px rgba(29,33,41,.04);
  transition:box-shadow .2s}
.nui-card:hover{box-shadow:0 8px 24px rgba(31,56,88,.10)}
.nui-card h3{font-size:15px;margin-bottom:14px;display:flex;
  justify-content:space-between;align-items:center}
.nui-btn{background:var(--nui-blue);color:#fff;border:1px solid transparent;border-radius:6px;
  padding:7px 18px;font-size:13px;cursor:pointer;display:inline-block;
  text-decoration:none;text-align:center}
.nui-btn:hover{background:var(--nui-blue-dark)}
.nui-btn-ghost{background:#fff;color:var(--nui-blue);border:1px solid var(--nui-blue);
  padding:7px 18px;font-size:13px;border-radius:6px;cursor:pointer}
.nui-btn-ghost:hover{background:#E8F3FF}

.nui-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.nui-stat{background:#fff;border:1px solid var(--nui-border);border-radius:8px;padding:16px}
.nui-stat .nui-num{font-size:24px;font-weight:700;margin-top:6px}
.nui-stat .nui-lbl{font-size:13px;color:var(--nui-text2)}
.nui-stat .nui-btn{padding:4px 12px;font-size:12px;margin-top:8px}
.nui-num-row{display:flex;align-items:center;justify-content:space-between}

.nui-table{width:100%;border-collapse:collapse;font-size:13px}
.nui-table th{background:#F7F8FA;color:var(--nui-text2);text-align:center;
  padding:9px 8px;font-weight:normal;border-bottom:1px solid #ebeef2;white-space:nowrap}
.nui-table th a{color:inherit;text-decoration:none}
.nui-table th a:hover{color:var(--nui-blue)}
.nui-table td{padding:10px 12px;border-top:1px solid var(--nui-border)}
.nui-table tr:hover td{background:#FAFBFC}
.nui-tbl-wrap{overflow-x:auto}
/* 表格内操作按钮统一间距 */
.nui-table td input[type=button]{margin:2px 4px;vertical-align:middle}
.nui-table td a.nui-btn{margin:2px 4px;vertical-align:middle}
/* 公告等简洁列表（无表头） */
.nui-list{width:100%;border-collapse:collapse;font-size:13px}
.nui-list td{padding:8px 6px;border-top:1px solid var(--nui-border)}
.nui-list tr:first-child td{border-top:none}
.nui-list tr:hover td{background:#FAFBFC}
.nui-td-dim{color:var(--nui-text2);font-size:12px}
/* 工单模块：选项卡 / 状态标签 / 对话流 */
.nui-tabs{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nui-tabs a{padding:6px 14px;border-radius:6px;color:var(--nui-text2);
  text-decoration:none;font-size:13px}
.nui-tabs a:hover{background:#F7F8FA}
.nui-tabs a.active{background:#E8F3FF;color:var(--nui-blue);font-weight:600}
.nui-tag-err{color:var(--nui-err);background:#FDECEE;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-tag-blue{color:#0052D9;background:#E8F3FF;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-tag-gray{color:#6B7785;background:#F2F3F5;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-post{border:1px solid var(--nui-border);border-radius:8px;
  margin-bottom:12px;overflow:hidden}
.nui-post-head{background:#F7F8FA;padding:8px 14px;font-size:13px;
  display:flex;justify-content:space-between;align-items:center}
.nui-post-head b{color:var(--nui-text)}
.nui-post-head .nui-post-admin{color:#0052D9;font-weight:600}
.nui-post-head .nui-td-dim{margin-left:12px}
.nui-post-body{padding:12px 14px;font-size:14px;line-height:1.7;
  word-break:break-word;overflow-wrap:break-word}
.nui-pager{display:flex;gap:8px;align-items:center;justify-content:center;
  flex-wrap:wrap;font-size:13px;color:var(--nui-text2);margin-top:12px}
.nui-pager .nui-btn{padding:4px 12px;font-size:12px;margin-top:0}
/* 翻页按钮（incs/config.asp page_turn 输出 class=cbutton），视觉对齐 nui-btn-ghost nui-btn-xs */
input.cbutton{background:#fff;color:var(--nui-blue);border:1px solid var(--nui-blue);
  border-radius:5px;padding:3px 10px;font-size:12px;cursor:pointer}
input.cbutton:hover{background:#E8F3FF}
.nui-meta-line{font-size:12px;color:var(--nui-text2);border-top:1px dashed var(--nui-border);
  padding:8px 14px;display:flex;gap:16px;flex-wrap:wrap}
.nui-note{font-size:12px;color:var(--nui-warn);margin-bottom:12px}
/* 主机管理等详情页：小按钮 / 键值行 */
.nui-btn-xs{padding:3px 10px;font-size:12px;border-radius:5px;cursor:pointer}
.nui-btn-xs.nui-btn:not(.nui-btn-ghost):not(.nui-btn-danger-ghost):hover{background:var(--nui-blue-dark)}
/* a 标签形态的 nui 按钮：去下划线、对齐基线（display 统一由下方 a.nui-btn 系列规则提供，避免 inline-block/inline-flex 混用致高度不一） */
a.nui-btn-ghost,a.nui-btn-xs{text-decoration:none;vertical-align:middle}
.nui-kv{display:flex;align-items:flex-start;padding:9px 0;
  border-top:1px solid var(--nui-border);font-size:13px}
.nui-kv:first-child{border-top:none;padding-top:0}
.nui-kv .nui-kv-label{width:150px;flex-shrink:0;color:var(--nui-text2)}
.nui-kv .nui-kv-val{flex:1;min-width:0;word-break:break-all}
.nui-kv-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.nui-tag-ok{color:var(--nui-ok);background:#E8F7EF;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-tag-warn{color:var(--nui-warn);background:#FFF4E6;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
/* nui-list 带表头形态（控制台到期产品表） */
.nui-list th{text-align:left;background:#F7F8FA;color:var(--nui-text2);
  font-weight:500;padding:9px 6px;white-space:nowrap}
.nui-nowrap{white-space:nowrap}
.nui-ellip{display:inline-block;max-width:180px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.nui-notice-tag{width:52px}
.nui-tag-top{color:var(--nui-warn);background:#FFF4E6;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-tag-act{color:var(--nui-ok);background:#E8F7EF;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-link{color:var(--nui-blue);text-decoration:none;margin-right:10px}
.nui-link:hover{text-decoration:underline}
.nui-tname{color:var(--nui-blue);text-decoration:none;font-weight:bold}
.nui-tname:hover{text-decoration:underline}

/* 表单 */
.nui-form-row{display:flex;align-items:flex-start;margin-bottom:14px}
.nui-form-row label{width:110px;text-align:right;padding-right:14px;font-size:14px;
  color:var(--nui-text2);padding-top:8px;flex-shrink:0}
.nui-form-row .nui-req::before{content:"*";color:var(--nui-err);margin-right:2px}
.nui-input,.nui-select,.nui-textarea{width:100%;max-width:420px;border:1px solid var(--nui-border);
  border-radius:6px;padding:8px 10px;font-size:14px;outline:none;background:#fff;
  font-family:inherit;transition:border-color .15s}
.nui-input:focus,.nui-select:focus,.nui-textarea:focus{border-color:var(--nui-blue)}
.nui-input.err{border-color:var(--nui-err)}
.nui-textarea{height:110px}
.nui-tip{font-size:12px;color:var(--nui-err);margin-top:5px;display:none}
/* 多选控件（chip 复选组：目标市场/语种/平台等通用）
   选中态由 JS 给 label 加 .sel 实现蓝底高亮；input:checked 仅作文字变色兜底 */
.nui-chk-group{display:flex;flex-wrap:wrap;gap:8px}
.nui-chk-group label{display:flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--nui-border);border-radius:8px;font-size:13px;color:var(--nui-text2);cursor:pointer;transition:border-color .15s,color .15s,background-color .15s;background:#fff}
.nui-chk-group label:hover{border-color:var(--nui-blue)}
.nui-chk-group input{accent-color:var(--nui-blue);cursor:pointer}
.nui-chk-group input:checked + span{color:var(--nui-blue-dark);font-weight:600}
.nui-chk-group label.sel{border-color:var(--nui-blue);background:#F0F7FF}
.nui-chk-group label.sel span{color:var(--nui-blue-dark);font-weight:600}

/* 广告位 */
.nui-banner{position:relative;border-radius:8px;overflow:hidden;margin-bottom:16px;
  background:linear-gradient(105deg,#007FFF 0%,#0052D9 55%,#003BA7 100%);
  color:#fff;padding:28px 32px;display:flex;align-items:center;justify-content:space-between}
.nui-banner h2{font-size:22px;font-weight:700;margin-bottom:8px}
.nui-banner p{font-size:13px;opacity:.85}
.nui-banner .nui-btn{background:#fff;color:#0052D9;font-weight:600;margin-left:12px}
.nui-banner .nui-decor{position:absolute;right:-30px;top:-30px;width:160px;height:160px;
  border-radius:50%;background:rgba(255,255,255,.08)}
.nui-banner .nui-decor2{position:absolute;right:60px;bottom:-50px;width:120px;height:120px;
  border-radius:50%;background:rgba(255,255,255,.06)}

/* ---------- 登录页专属 ---------- */
.nui-login-wrap{min-height:calc(100vh - 56px);display:flex;flex-direction:column;
  background:linear-gradient(115deg,#F7F9FC 0%,#EEF3F9 55%,#E6EEF7 100%);
  position:relative;overflow:hidden}
.nui-login-wrap::before{content:"";position:absolute;right:-140px;top:-160px;width:460px;height:460px;
  border-radius:90px;transform:rotate(45deg);
  background:linear-gradient(135deg,rgba(0,127,255,.10),rgba(0,82,217,.04))}
.nui-login-wrap::after{content:"";position:absolute;right:12%;bottom:-140px;width:360px;height:360px;
  border-radius:50%;background:linear-gradient(135deg,rgba(0,127,255,.09),rgba(0,127,255,.02))}
.nui-login-main{flex:none;width:calc(100% - 48px);max-width:1000px;margin:auto;
  display:flex;align-items:stretch;background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 20px 60px rgba(31,56,88,.14);position:relative}
.nui-login-panel{flex:0 0 460px;display:flex;align-items:center;position:relative;
  padding:52px 44px;background:#fff}
.nui-login-box{width:100%}
.nui-reg-ribbon{position:absolute;top:0;left:0;width:64px;height:64px;overflow:hidden;
  text-decoration:none}
.nui-reg-ribbon span{position:absolute;display:block;width:96px;padding:5px 0;
  background:var(--nui-blue);color:#fff;font-size:12px;text-align:center;
  transform:rotate(-45deg);left:-26px;top:14px;letter-spacing:2px}
.nui-reg-ribbon:hover span{background:var(--nui-blue-dark)}
.nui-brand{flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:52px 48px;position:relative;color:#fff;overflow:hidden;
  background:linear-gradient(135deg,#118AFF 0%,#0052D9 55%,#0143B8 100%)}
.nui-brand::before{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;
  border-radius:50%;background:rgba(255,255,255,.08)}
.nui-brand::after{content:"";position:absolute;left:-50px;bottom:-90px;width:200px;height:200px;
  border-radius:50%;background:rgba(255,255,255,.06)}
.nui-brand h1{font-size:30px;line-height:1.45;color:#fff;margin-bottom:12px;position:relative}
.nui-brand h1 em{color:#BFE0FF;font-style:normal}
.nui-brand p{font-size:14px;color:rgba(255,255,255,.88);font-weight:600;line-height:1.9;margin-bottom:24px;position:relative}
.nui-brand ul{list-style:none;position:relative}
.nui-brand li{font-size:14px;color:rgba(255,255,255,.92);margin-bottom:13px;display:flex;align-items:center}
.nui-brand li::before{content:"\2713";display:inline-flex;width:20px;height:20px;margin-right:10px;
  background:rgba(255,255,255,.18);color:#fff;border-radius:50%;align-items:center;justify-content:center;
  font-size:12px;flex-shrink:0}
.nui-brand-cta{display:inline-flex;align-items:center;margin-top:28px;width:fit-content;
  padding:11px 28px;background:#fff;color:var(--nui-blue-dark);border-radius:6px;font-size:14px;
  font-weight:600;text-decoration:none;transition:background .15s;position:relative}
.nui-brand-cta:hover{background:#E8F1FF;color:var(--nui-blue-dark)}
/* 中屏：卡片收窄、登录区加宽、营销区精简 */
@media (max-width:1199px){
  .nui-login-main{max-width:780px}
  .nui-login-panel{flex:0 0 400px;padding:44px 34px}
  .nui-brand{padding:44px 30px}
  .nui-brand h1{font-size:24px}
  .nui-brand p{font-size:13px;margin-bottom:16px}
  .nui-brand li{font-size:13px;margin-bottom:9px}
  .nui-brand-cta{margin-top:18px;padding:9px 22px}
}
/* 中小屏：只留登录卡片，垂直排列 */
@media (max-width:860px){
  .nui-login-wrap::before,.nui-login-wrap::after{display:none}
  .nui-login-main{flex-direction:column;max-width:460px}
  .nui-brand{display:none}
  .nui-login-panel{flex:none;padding:40px 30px}
}
.nui-login-box h2{font-size:22px;margin-bottom:6px}
.nui-login-box .nui-sub{font-size:13px;color:var(--nui-text2);margin-bottom:28px}
.nui-login-box .nui-field{margin-bottom:18px}
.nui-login-box .nui-field label{display:block;font-size:13px;color:var(--nui-text2);margin-bottom:6px}
.nui-login-box .nui-input{max-width:100%;padding:11px 12px}
.nui-cap-row{display:flex;gap:10px}
.nui-cap-row .nui-input{flex:1}
.nui-cap-img{width:110px;height:44px;border-radius:6px;border:1px solid var(--nui-border);
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;overflow:hidden}
.nui-cap-img img{width:100%;height:100%;border:none}
.nui-assist{display:flex;justify-content:space-between;align-items:center;
  font-size:13px;margin:4px 0 20px}
.nui-assist a{color:var(--nui-blue);text-decoration:none}
.nui-chk{display:flex;align-items:center;gap:6px;color:var(--nui-text2);cursor:pointer}
.nui-chk input{width:15px;height:15px;accent-color:var(--nui-blue)}
.nui-btn-login{width:100%;background:var(--nui-blue);color:#fff;border:none;
  border-radius:6px;padding:12px;font-size:15px;cursor:pointer;transition:background .15s}
.nui-btn-login:hover{background:var(--nui-blue-dark)}
.nui-divider{display:flex;align-items:center;color:var(--nui-text2);font-size:12px;margin:26px 0 16px}
.nui-divider::before,.nui-divider::after{content:"";flex:1;height:1px;background:var(--nui-border)}
.nui-divider span{padding:0 14px}
.nui-oauth{display:flex;justify-content:center;gap:22px}
.nui-oauth a{width:40px;height:40px;border-radius:50%;border:1px solid var(--nui-border);
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-size:12px;font-weight:700;transition:all .15s}
.nui-oauth a:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.08)}
.nui-oauth .qq{color:#12B7F5}.nui-oauth .wx{color:#1BA854}.nui-oauth .zfb{color:#1677FF}
.nui-reg-tip{text-align:center;font-size:13px;color:var(--nui-text2);margin-top:26px}
.nui-reg-tip a{color:var(--nui-blue);text-decoration:none;font-weight:600}
.nui-foot{margin-top:auto;padding:14px 0;text-align:center;font-size:12px;
  color:var(--nui-text2);width:100%}
.nui-foot a{color:var(--nui-text2);text-decoration:none;margin:0 10px}

/* 页脚(通用) */
.nui-sitefoot{background:#fff;border-top:1px solid var(--nui-border);
  padding:20px;text-align:center;font-size:13px;color:var(--nui-text2)}
.nui-sitefoot a{color:var(--nui-text2);text-decoration:none;margin:0 8px}
.nui-sitefoot a:hover{color:var(--nui-blue)}

/* ---------- 框架补充 ---------- */
.nui-menu-right{display:flex;gap:4px;align-items:center;margin-left:auto;padding-right:8px}
.nui-menu-right a{padding:6px 12px;border-radius:6px;color:var(--nui-text2);
  text-decoration:none;font-size:14px;white-space:nowrap}
.nui-menu-right a:hover{background:#E8F3FF;color:var(--nui-blue)}
.nui-dash{display:block;padding:9px 14px;border-radius:6px;background:#E8F3FF;
  color:var(--nui-blue);font-weight:600;font-size:14px;margin-bottom:4px;
  text-decoration:none}
.nui-dash.active{background:#E8F3FF;color:var(--nui-blue)}
.nui-rnw p{padding:8px 2px;border-bottom:1px dashed var(--nui-border);
  font-size:13px;margin:0;line-height:1.8}
.nui-rnw p:last-child{border-bottom:none}
.nui-rnw a{color:var(--nui-blue);text-decoration:none}
.nui-two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:16px}
.nui-welcome{display:flex;gap:16px;align-items:flex-start}
.nui-welcome img{width:56px;height:56px;border-radius:50%;border:1px solid var(--nui-border)}
.nui-welcome p{font-size:13px;color:var(--nui-text2);margin-bottom:6px;line-height:1.8}
.nui-welcome b{color:var(--nui-text);font-size:15px}

/* ---------- 主机模块补充组件 ---------- */
.nui-quicklinks{display:flex;align-items:center;justify-content:space-between;
  background:#fff;border:1px solid var(--nui-border);border-radius:8px;
  padding:10px 16px;margin-bottom:14px;font-size:13px;color:var(--nui-text2)}
.nui-quicklinks a{color:var(--nui-text2);text-decoration:none;margin-left:12px}
.nui-quicklinks a:hover{color:var(--nui-blue)}
.nui-quicklinks-r a:first-child{margin-left:0}
.nui-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.nui-input-sm{max-width:90px;padding:5px 8px}
.nui-radio{margin-right:4px;vertical-align:-2px}
.nui-btn-danger-ghost{background:#fff;color:#F04747;border:1px solid #F04747}
.nui-btn-danger-ghost:hover{background:#FEECEC;border-color:#F04747}
.nui-checklist{display:flex;flex-wrap:wrap;gap:6px 18px}
.nui-check{display:inline-flex;align-items:center;font-size:13px;
  color:var(--nui-text);cursor:pointer;white-space:nowrap}
.nui-check input{margin-right:5px}
.nui-text-danger{color:#F04747}
.nui-dim{color:var(--nui-text2);font-size:12.5px;line-height:1.8}
@media(max-width:768px){
  .nui-form-grid{grid-template-columns:1fr}
  .nui-quicklinks{flex-direction:column;align-items:flex-start;gap:6px}
}

/* ---------- 移动端适配 ---------- */
@media(max-width:768px){
  .nui-burger{display:block}
  .nui-menu,.nui-menu-right{display:none}
  .nui-layout{flex-direction:column}
  .nui-sidebar{display:none;position:fixed;top:56px;left:0;bottom:0;z-index:120;
    width:220px;box-shadow:4px 0 12px rgba(0,0,0,.08)}
  .nui-sidebar.open{display:block}
  .nui-stats{grid-template-columns:repeat(2,1fr)}
  .nui-form-row{flex-direction:column}
  .nui-form-row label{width:auto;text-align:left;padding:0 0 6px}
  .nui-two-col{grid-template-columns:1fr !important}
  .nui-banner{flex-direction:column;align-items:flex-start;padding:20px}
  .nui-banner .nui-btn{margin:12px 0 0}
  /* 登录页：小屏卡片留边距占满 */
  .nui-login-panel{padding:32px 22px}
}

/* ---------- svr_mng 云服务器模块补充 ---------- */
.nui-card-head{display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;margin-bottom:12px}
.nui-card-head h3{margin-bottom:0}
.nui-tc{text-align:center}
.nui-th-sort{color:inherit;text-decoration:none}
.nui-th-sort:hover{color:var(--nui-blue)}
.nui-page-btn{display:inline-block;padding:4px 12px;border:1px solid var(--nui-border);
  border-radius:6px;color:var(--nui-text2);text-decoration:none;font-size:12px;background:#fff}
.nui-page-btn:hover{color:var(--nui-blue);border-color:var(--nui-blue)}
.nui-empty{text-align:center;color:var(--nui-text2);font-size:13px;padding:28px 0}
.nui-inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--nui-text2)}
.nui-inline-form .nui-btn{margin:0}
.nui-select-sm{padding:6px 8px;font-size:13px;border:1px solid var(--nui-border);
  border-radius:6px;background:#fff;color:var(--nui-text);outline:none}
.nui-select-sm:focus{border-color:var(--nui-blue)}
.nui-btn-sm{padding:6px 14px;font-size:12px}
.nui-btn-danger{background:#F04747;color:#fff;border:1px solid transparent;border-radius:6px;
  padding:7px 18px;font-size:13px;cursor:pointer}
.nui-btn-danger:hover{background:#D93A3A}

/* ---------- article 帮助中心 ---------- */
.nui-pager-center{display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--nui-border);font-size:13px;color:var(--nui-text2)}
.nui-pager-center form{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0}
.nui-pager-center input[type=button],.nui-pager-center input[type=submit]{
  padding:5px 14px;border:1px solid var(--nui-border);border-radius:6px;
  background:#fff;color:var(--nui-text2);font-size:12px;cursor:pointer}
.nui-pager-center input[type=button]:hover,.nui-pager-center input[type=submit]:hover{
  color:var(--nui-blue);border-color:var(--nui-blue)}
.nui-pager-center select{padding:5px 8px;font-size:13px;border:1px solid var(--nui-border);
  border-radius:6px;background:#fff;color:var(--nui-text);outline:none}
.nui-pager-center select:focus{border-color:var(--nui-blue)}
.nui-pager-center b{color:var(--nui-blue)}
.nui-pager-info{font-size:13px;color:var(--nui-text2)}
.nui-art-title{font-size:20px;font-weight:700;color:var(--nui-text);
  margin-bottom:8px;line-height:1.5}
.nui-article{margin-top:16px;line-height:1.9;font-size:14px;color:var(--nui-text);
  word-break:break-word}
.nui-article img{max-width:100%;height:auto}
.nui-article p{margin-bottom:12px}
.nui-article table{border-collapse:collapse}

/* ===== 高级查询条（demo 同款 flex 横排） ===== */
.nui-qbar { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; padding:2px 0 12px; border-bottom:1px solid var(--nui-border,#ebeef2); margin-bottom:12px; }
.nui-qbar .lbl { color:var(--nui-text2,#666); font-size:13px; white-space:nowrap; }
.nui-qbar .nui-input { width:150px; }
.nui-qbar .nui-input-date { width:110px; }
@media screen and (max-width:768px) {
  .nui-qbar .nui-input, .nui-qbar .nui-input-date { width:100%; flex:1; }
}

/* ===== 响应式表格：窄屏(<=768px)变卡片，仅作用于 .nui-table-rsp ===== */
@media screen and (max-width:768px) {
  .nui-table-rsp, .nui-table-rsp tbody, .nui-table-rsp tr, .nui-table-rsp td { display:block; width:100%; }
  .nui-table-rsp thead { display:none; }
  .nui-table-rsp tbody tr { background:#fff; border:1px solid var(--nui-border,#ebeef2); border-radius:6px; padding:10px 12px 12px; margin-bottom:10px; }
  .nui-table-rsp tbody tr:hover { background:#fff; }
  .nui-table-rsp td { border:none; padding:3px 0; text-align:left; display:flex; align-items:center; }
  .nui-table-rsp td::before { content:attr(data-label); color:#999; font-size:12px; flex:0 0 64px; }
  .nui-table-rsp td.cell-name { padding-bottom:6px; border-bottom:1px dashed #f0f0f0; margin-bottom:4px; font-size:14px; font-weight:bold; }
  .nui-table-rsp td.cell-name::before { content:none; }
  .nui-table-rsp td.cell-op { padding-top:8px; margin-top:4px; border-top:1px dashed #f0f0f0; justify-content:flex-end; gap:8px; }
  .nui-table-rsp td.cell-op::before { content:none; }
}

/* ===== 响应式表单：窄屏(<=768px)单列堆叠，仅作用于 .nui-form-rsp ===== */
@media screen and (max-width:768px) {
  .nui-form-rsp, .nui-form-rsp tbody, .nui-form-rsp tr, .nui-form-rsp td { display:block; width:100%; }
  .nui-form-rsp td { padding:4px 0; text-align:left; }
  .nui-form-rsp td[style*="width:160px"] { width:auto; color:#999; font-size:12px; padding:8px 0 2px; }
  .nui-form-rsp .nui-input, .nui-form-rsp .nui-select { width:100%; max-width:100%; }
  .nui-form-rsp input[type=radio] { margin-left:0 !important; margin-right:6px; }
}

/* DNSPod-style form hint strip */
.nui-formhint{background:#F7F8FA;border-radius:4px;padding:8px 12px;margin:6px 0;font-size:12px;line-height:1.9}
.nui-formhint h3{font-size:12px;color:#333;font-weight:bold;margin:0 0 2px}
.nui-formhint p{margin:0;color:#999}

/* auth pages (register / getpass) */
.nui-auth-sec{padding:20px 0;border-top:1px dashed var(--nui-border)}
.nui-auth-sec:first-of-type{border-top:none;padding-top:0}
.nui-auth-sec h3{font-size:15px;margin-bottom:14px}
.nui-auth-sec .nui-btn{margin-top:4px}
.nui-auth-tips{margin-top:26px;padding:14px 16px;background:#F7F8FA;border-radius:6px;font-size:12px;color:var(--nui-text2);line-height:2}
.nui-auth-tips b{color:var(--nui-text)}

/* 到期产品：加载更多 */
.nui-rnw-morewrap{text-align:center;margin-top:12px}
.nui-rnw-morewrap .nui-btn{padding:6px 22px;font-size:13px}


/* ---------- 账户信息卡（方案三：安全评分环） ---------- */
.ak3-body{display:flex;align-items:stretch}
.ak3-left{flex:1 1 auto;max-width:620px;min-width:0;padding-right:28px}
.ak3-hello{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.ak3-hello b{font-size:17px;color:var(--nui-text)}
.ak3-level{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;
  color:#B25E00;background:#FFF4E6;font-weight:500}
.ak3-meta{font-size:13px;color:var(--nui-text2);line-height:2;margin-bottom:16px}
.ak3-meta .ak-ip{font-family:Consolas,monospace}
.ak3-actions{display:flex;gap:10px;flex-wrap:wrap}
.ak3-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 16px;border-radius:6px;
  font-size:13px;text-decoration:none;border:1px solid var(--nui-border);
  background:#fff;color:var(--nui-text2);transition:all .15s;cursor:pointer}
.ak3-btn:hover{color:var(--nui-blue);border-color:var(--nui-blue);background:#F7FBFF}
.ak3-btn-ghost{color:var(--nui-err);border-color:#F6C9C9}
.ak3-btn-ghost:hover{color:var(--nui-err);border-color:var(--nui-err);background:#FFF7F7}
.ak3-right{flex:0 0 420px;border-left:1px dashed var(--nui-border);padding-left:28px;
  display:flex;align-items:center;gap:22px}
.ak3-ring{position:relative;width:104px;height:104px;flex-shrink:0}
.ak3-ring svg{transform:rotate(-90deg)}
.ak3-ring .bg{fill:none;stroke:#EEF1F5;stroke-width:10}
.ak3-ring .fg{fill:none;stroke:var(--nui-warn);stroke-width:10;stroke-linecap:round;
  stroke-dasharray:283;stroke-dashoffset:141.5}
.ak3-ring-c{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center}
.ak3-ring-c b{font-size:24px;color:var(--nui-text)}
.ak3-ring-c span{font-size:11px;color:var(--nui-text2)}
.ak3-list{flex:1}
.ak3-li{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:13px;
  border-bottom:1px dashed var(--nui-border)}
.ak3-li:last-child{border-bottom:none}
.ak3-li .ic{width:16px;height:16px;border-radius:50%;flex-shrink:0;display:flex;
  align-items:center;justify-content:center;font-size:10px;color:#fff}
.ic-ok{background:var(--nui-ok)} .ic-no{background:#C9CFD6}
.ak3-li .nm{color:var(--nui-text2);flex:1}
.ak3-li a{font-size:12px;color:var(--nui-blue);text-decoration:none;white-space:nowrap}
.ak3-li a:hover{text-decoration:underline}
@media (max-width:900px){
  .ak3-body{flex-direction:column}
  .ak3-left{padding-right:0;padding-bottom:18px;border-bottom:1px dashed var(--nui-border)}
  .ak3-right{flex:none;border-left:none;padding-left:0;padding-top:18px;width:100%;align-items:flex-start}
}

/* ---------- 证书弹窗皮肤（磨砂玻璃风） ---------- */
.nui-cert-layer{border:1px solid rgba(255,255,255,.55);border-radius:14px;overflow:hidden;
  box-shadow:0 24px 70px rgba(31,56,88,.30);animation:nuiCertIn .22s ease-out}
@keyframes nuiCertIn{from{opacity:0;transform:translateY(14px) scale(.97)}
  to{opacity:1;transform:none}}
.nui-cert-layer .layui-layer-title{height:46px;line-height:46px;
  background:rgba(255,255,255,.55);backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  color:#33475E;border:none;font-size:14px;letter-spacing:1px;font-weight:600}
.nui-cert-layer .layui-layer-setwin .layui-layer-close1,
.nui-cert-layer .layui-layer-setwin .layui-layer-close2{filter:none;opacity:.75}

/* ---------- 购物车 ---------- */
.nui-ptag{font-weight:600;font-size:13px}
.nui-cart-note{margin-left:auto;font-size:12px;color:var(--nui-text2);font-weight:normal}
.nui-tag-buy{color:#0052D9;background:#E8F3FF;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-tag-rnw{color:#FF9A2E;background:#FFF4E6;border-radius:4px;
  padding:2px 8px;font-size:12px;display:inline-block}
.nui-cart-empty{text-align:center;padding:52px 0 44px;color:var(--nui-text2)}
.nui-cart-empty-ico{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;
  background:#F0F4F9;color:#9FB3C8;font-size:26px;line-height:64px}
.nui-cart-empty p{margin:0 0 18px;font-size:14px}
.nui-cart-sum{display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--nui-border);border-radius:10px;
  padding:14px 22px;margin-top:16px}
.nui-cart-sum .lbl{color:var(--nui-text2);font-size:13px;margin-right:8px}
.nui-cart-sum .num{color:#E34D59;font-size:18px;font-weight:700}
.nui-cart-sum-tip{color:var(--nui-text2);font-size:13px;margin-left:auto}

/* ============================================================
   首页改版（index_demo2 落地）：欢迎横幅 / 统计卡 / 快捷宫格 / 账户安全卡
   ============================================================ */
/* 欢迎横幅：行业双 CTA */
.nui-hero{position:relative;overflow:hidden;border-radius:12px;margin-bottom:16px;color:#fff;
  background:linear-gradient(120deg,#0A2A66 0%,#0052D9 45%,#007FFF 100%);padding:26px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.nui-hero::before{content:"";position:absolute;right:-70px;top:-100px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.09)}
.nui-hero::after{content:"";position:absolute;right:170px;bottom:-130px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.06)}
.nui-hero-l{position:relative}
.nui-hero-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 10px;border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);margin-bottom:10px}
.nui-hero-tag i{width:6px;height:6px;border-radius:50%;background:#52FFB8;display:inline-block}
.nui-hero-h{font-size:22px;font-weight:700;margin-bottom:6px}
.nui-hero-h .hi{opacity:.85;font-weight:400;font-size:20px}
.nui-hero-lv{display:inline-block;margin-left:10px;vertical-align:3px;font-size:12px;font-weight:400;padding:2px 10px;border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4)}
.nui-hero-sub{font-size:13px;opacity:.88}
.nui-hero-sub span{margin-right:18px}
.nui-hero-cta{display:flex;gap:10px;position:relative;flex-wrap:wrap;align-items:center}
.nui-hbtn{padding:10px 22px;border-radius:8px;background:#fff;color:#0052D9;font-weight:600;font-size:13px;border:none;cursor:pointer;min-height:38px;text-decoration:none;display:inline-block}
.nui-hbtn:hover{background:#EAF3FF;color:#0052D9}
.nui-hbtn.sec{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.5)}
.nui-hbtn.sec:hover{background:rgba(255,255,255,.24);color:#fff}
.nui-hero-mini{position:relative;text-align:right;font-size:12px;opacity:.85}
.nui-hero-mini b{display:block;font-size:22px;font-weight:700;opacity:1;font-variant-numeric:tabular-nums}
/* 统计卡：图标标签 + 余额渐变主卡 */
.nui-stat .nui-lbl{display:flex;align-items:center;gap:8px}
.nui-sic{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nui-sic.ic-b{background:#E8F3FF;color:var(--nui-blue)}
.nui-sic.ic-g{background:#E8F7EF;color:var(--nui-ok)}
.nui-sic.ic-o{background:#FFF4E6;color:var(--nui-warn)}
.nui-stat-balance{background:linear-gradient(135deg,#0052D9,#007FFF 70%,#2E90FF);border:none;color:#fff}
.nui-stat-balance:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(31,56,88,.18);border-color:transparent}
.nui-stat-balance .nui-lbl{color:rgba(255,255,255,.85)}
.nui-stat-balance .nui-num{color:#fff}
.nui-bpay{background:#fff;color:#0052D9;border:none;border-radius:7px;padding:7px 16px;font-weight:600;font-size:12px;cursor:pointer;min-height:32px;text-decoration:none;display:inline-block}
.nui-bpay:hover{background:#EAF3FF;color:#0052D9}
.nui-num small{font-size:12px;font-weight:400;color:var(--nui-text2);margin-left:2px}
.nui-stat-balance .nui-num small{color:rgba(255,255,255,.75)}
.nui-stat{transition:.2s}
.nui-stat:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(31,56,88,.10);border-color:#BEDAFF}
/* 快捷宫格：12 项业务入口 */
.nui-qgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.nui-qa{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:10px;border:1px solid transparent;transition:.18s;font-size:13px;color:var(--nui-text2);text-decoration:none}
.nui-qa:hover{background:#F7FAFF;border-color:#D6E8FF;color:#0052D9;transform:translateY(-2px)}
.nui-qa .nui-qi{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.nui-qi.ic-b{background:#E8F3FF;color:var(--nui-blue)}
.nui-qi.ic-g{background:#E8F7EF;color:var(--nui-ok)}
.nui-qi.ic-o{background:#FFF4E6;color:var(--nui-warn)}
.nui-qi.ic-p{background:#F0EBFF;color:#722ED1}
/* 账户安全卡（评分环 + 待办清单 + 快捷操作） */
.ak3-sec{display:flex;align-items:center;gap:28px}
.ak3-sec .ak3-ring{flex-shrink:0}
.ak3-sec .ak3-list{flex:1;min-width:0}
.ak3-sec-act{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.ak3-sec-act .ak3-btn{text-align:center;justify-content:center}
/* 响应式 */
@media (max-width:1199px){
.nui-qgrid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
.ak3-sec{flex-direction:column;align-items:flex-start}
.nui-hero-mini{display:none}
}
@media (max-width:768px){
.nui-hero{padding:20px}
.nui-hero-h{font-size:18px}
.nui-hero-cta{width:100%}
.nui-hbtn{flex:1;min-width:120px;text-align:center}
.nui-qgrid{grid-template-columns:repeat(3,1fr);gap:6px}
.nui-qa{font-size:12px;padding:10px 4px}
.nui-qa .nui-qi{width:36px;height:36px}
}

/* ---------- 我的云服务器速览（演示数据） ---------- */
.nui-ecs h3{display:flex;align-items:center;gap:8px}
.nui-dot{width:4px;height:14px;border-radius:2px;background:var(--nui-blue);display:inline-block;flex-shrink:0}
.nui-ecs-more{margin-left:auto;font-weight:400;font-size:12px;color:var(--nui-text2);text-decoration:none}
.nui-ecs-more:hover{color:var(--nui-blue)}
.nui-ecsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nui-ecsc{border:1px solid var(--nui-border);border-radius:10px;padding:14px 16px;transition:.18s;cursor:pointer;background:#fff}
.nui-ecsc:hover{border-color:#BEDAFF;box-shadow:0 4px 14px rgba(0,82,217,.10);transform:translateY(-2px)}
.nui-ecsc .nm{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:14px;gap:8px}
.nui-st{font-size:12px;padding:1px 9px;border-radius:4px;font-weight:400;flex-shrink:0}
.nui-st-run{color:var(--nui-ok);background:#E8F7EF}
.nui-st-stop{color:var(--nui-text2);background:#F2F3F5}
.nui-st-exp{color:var(--nui-warn);background:#FFF4E6}
.nui-ecsc .cfg{font-size:12px;color:var(--nui-text2);margin:7px 0;word-break:break-all}
.nui-ecsc .ft{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--nui-text2)}
.nui-ecsc .ft .ip{font-family:Consolas,monospace}
@media(max-width:1200px){.nui-ecsgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.nui-ecsgrid{grid-template-columns:1fr}}

/* ---------- hero 内嵌账户安全卡 ---------- */
.nui-hero-sec{position:relative;background:#fff;border-radius:10px;padding:14px 18px 12px;
  flex:0 1 460px;min-width:0;box-shadow:0 6px 20px rgba(0,32,80,.18)}
.nui-hero-sec .ak3-sec{gap:16px}
.nui-hero-sec .ak3-ring{width:88px;height:88px}
.nui-hero-sec .ak3-ring svg{width:88px;height:88px}
.nui-hero-sec .ak3-ring-c b{font-size:20px}
.nui-hero-sec .ak3-li{padding:4px 0;font-size:12px}
.nui-hero-sec .ak3-li:last-child{border-bottom:none}
.nui-hero-sec .ak3-sec-act{flex-direction:row;justify-content:center;flex-wrap:wrap;
  margin-top:10px;padding-top:10px;border-top:1px dashed var(--nui-border)}
.nui-hero-sec .ak3-btn{padding:4px 14px;font-size:12px}
@media(max-width:1100px){.nui-hero-sec{flex:1 1 100%}}
@media(max-width:560px){
  .nui-hero-sec .ak3-sec{flex-direction:column;align-items:center}
  .nui-hero-sec .ak3-list{width:100%}
}

/* ---------- 演示版细节对齐 ---------- */
body.nui-reset{background:
  radial-gradient(1000px 400px at 85% -120px,rgba(0,127,255,.07),transparent 60%),
  radial-gradient(700px 300px at -5% 30%,rgba(0,180,120,.04),transparent 60%),var(--nui-bg)}
.nui-logo em{font-style:normal;font-size:11px;font-weight:400;color:var(--nui-text2);
  margin-left:8px;letter-spacing:1px}
.nui-card h3.nui-h3{justify-content:flex-start;gap:8px}
.nui-card h3.nui-h3::before{content:"";width:4px;height:14px;border-radius:2px;
  background:var(--nui-blue);display:inline-block;flex-shrink:0}
.nui-card h3.nui-h3 .nui-h3-more{margin-left:auto}
.nui-card h3.nui-h3 .sub{margin-left:auto;font-size:12px;color:var(--nui-text3);font-weight:400}
.nui-nlist{list-style:none;margin:0;padding:0}
.nui-nlist li{display:flex;align-items:center;gap:10px;padding:9px 6px;border-radius:6px;font-size:13px}
.nui-nlist li:hover{background:#F7FAFF}
.nui-nlist .nui-tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nui-nlist li:hover .nui-tt a{color:var(--nui-blue-dark)}
.nui-nlist .nui-dt{color:var(--nui-text2);font-size:12px;flex-shrink:0}
.nui-nlist .nui-tag-top,.nui-nlist .nui-tag-act{flex-shrink:0}
.nui-nlist-empty{color:var(--nui-text2);font-size:13px;padding:9px 6px;display:block}
.nui-rnw-morewrap .nui-morebtn{background:#fff;border:1px solid var(--nui-blue);color:var(--nui-blue);
  border-radius:7px;padding:7px 22px;cursor:pointer;font-size:13px;min-height:34px}
.nui-rnw-morewrap .nui-morebtn:hover{background:#E8F3FF}

/* ---------- 模块切换菜单（menu_nui，2026-09-27 方案B：胶囊装进卡片） ---------- */
.nui-subnav{background:#fff;border:1px solid var(--nui-border);border-radius:8px;
  padding:8px;margin-bottom:16px;display:flex;gap:4px;flex-wrap:wrap;align-items:center;
  box-shadow:0 1px 2px rgba(29,33,41,.04);transition:box-shadow .2s}
.nui-subnav:hover{box-shadow:0 8px 24px rgba(31,56,88,.10)}
.nui-subnav a{padding:6px 14px;border-radius:6px;color:var(--nui-text2);
  text-decoration:none;font-size:13px;white-space:nowrap}
.nui-subnav a:hover{background:#F7F8FA;color:var(--nui-text)}
.nui-subnav a.active{background:#E8F3FF;color:var(--nui-blue);font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(0,127,255,.25)}
.nui-subnav-side{margin-left:auto;display:flex;gap:4px;align-items:center;flex-shrink:0}
.nui-subnav-side a{font-size:12px;font-weight:600;color:var(--nui-blue);padding:6px 10px}
.nui-subnav-side a:hover{background:#F7F8FA;color:var(--nui-blue-dark)}
@media (max-width:768px){
  .nui-subnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ---------- 证件上传组件（2026-09-27 实名认证改造） ---------- */
.nui-up-box{border:1px dashed var(--nui-border);border-radius:8px;background:#FAFBFC;
  padding:12px;text-align:center;transition:.15s;cursor:pointer}
.nui-up-box:hover{border-color:var(--nui-blue);background:#F7FAFF}
.nui-up-box.drag{border-color:var(--nui-blue);background:#E8F3FF}
.nui-up-box .nui-up-ph{font-size:12px;color:var(--nui-text2);line-height:1.8}
.nui-up-box .nui-up-ph b{color:var(--nui-blue);font-size:13px}
.nui-up-item{display:flex;gap:10px;align-items:center;text-align:left}
.nui-up-item img{width:64px;height:44px;object-fit:cover;border-radius:6px;
  border:1px solid var(--nui-border);flex-shrink:0;background:#F2F3F5}
.nui-up-meta{flex:1;min-width:0;font-size:12px;color:var(--nui-text2)}
.nui-up-meta b{font-size:13px;color:var(--nui-text);font-weight:600}
.nui-up-meta .nui-tag{margin-left:6px}
.nui-up-act{color:var(--nui-blue);font-size:12px;cursor:pointer;flex-shrink:0;padding:0 4px}
.nui-up-act:hover{color:var(--nui-blue-dark)}
.nui-up-bar{height:5px;background:#EDEFF2;border-radius:3px;overflow:hidden;margin-top:6px}
.nui-up-bar i{display:block;height:100%;width:0;background:var(--nui-blue);border-radius:3px}
.nui-up-err{font-size:12px;color:var(--nui-err);margin-top:6px;text-align:left}

/* ===== 修改DNS服务器页 dme_dns.asp ===== */
.nui-dns-hero{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px dashed var(--nui-border)}
.nui-dns-hero .nui-dns-dm{font-family:Tahoma,verdana,arial;font-size:20px;font-weight:700;color:var(--nui-text)}
.nui-dns-hero .nui-dns-tgs{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.nui-dns-hero .nui-dns-rt{margin-left:auto;text-align:right;font-size:13px;color:var(--nui-text)}
.nui-dns-hero .nui-dns-rt .k{color:var(--nui-text2);font-size:12px}

.nui-dns-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.nui-dns-row .lb{width:110px;flex:none;font-size:13px;color:var(--nui-text2)}
.nui-dns-row .cur{font-family:Consolas,Monaco,monospace;font-size:13px;color:var(--nui-text2)}
.nui-dns-row .arw{color:var(--nui-text2);font-size:13px}
.nui-dns-row .nui-input{flex:1;min-width:220px;font-family:Consolas,Monaco,monospace}
.nui-dns-row .mk{flex:none}

.nui-dns-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed var(--nui-border)}
.nui-dns-chips .ct{font-size:12px;color:var(--nui-text2)}
.nui-dns-chips .nui-chip{padding:5px 12px;min-height:30px;font-size:12px}

/* 弱化 chip 按钮：常态灰边灰字，hover 转蓝（与演示版 chips 一致） */
.nui-chip{display:inline-block;background:#fff;border:1px solid var(--nui-border);color:var(--nui-text2);
  border-radius:6px;padding:5px 12px;font-size:12px;line-height:18px;min-height:30px;cursor:pointer;
  text-decoration:none;transition:.15s}
.nui-chip:hover{border-color:var(--nui-blue);color:var(--nui-blue);background:#E8F3FF}

.nui-dns-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px dashed var(--nui-border)}
.nui-dns-foot .tip{font-size:12px;color:var(--nui-text2)}

.nui-warnbox{background:#FFF9EC;border:1px solid #FFE0B2;border-radius:8px;padding:12px 16px;font-size:12px;color:#8A5A00;line-height:1.9}
.nui-warnbox b{color:var(--nui-warn)}
.nui-warnbox ul{margin:6px 0 0 18px;padding:0}

/* 灰底说明条：与演示版 .note 一致（常态灰底灰字，强调词为橙） */
.nui-notebox{font-size:12px;color:#86909C;background:#F7F8FA;border-radius:8px;padding:9px 14px;line-height:1.7}
.nui-notebox b{color:var(--nui-warn)}

/* ---------- 修改域名信息页 dme_ctt.asp：只读展示 + 模板过户引导 ---------- */
/* 蓝色引导条：说明“不可修改”，并给出办理入口 */
.nui-ctabox{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:#F0F7FF;border:1px solid #BBD9FF;border-radius:8px;padding:12px 16px;margin-bottom:14px}
.nui-ctabox .tx{flex:1;min-width:240px;font-size:12px;color:#1F5C99;line-height:1.9}
.nui-ctabox .tx b{color:var(--nui-blue-dark)}
/* 分组标题 */
.nui-gt{font-size:13px;font-weight:600;color:var(--nui-text);margin:16px 0 4px;
  padding-left:8px;border-left:3px solid var(--nui-blue);line-height:1.3}
.nui-gt .tip{font-weight:400;font-size:12px;color:#A9AEB8;margin-left:6px}
/* 紧凑行式：一行 = 标签 + 中/英成对只读块 */
.nui-frow{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #F5F6F8}
.nui-frow:last-child{border-bottom:none}
.nui-frow .lb{width:170px;flex:none;font-size:13px;color:var(--nui-text2);line-height:1.4}
.nui-frow .lb i{color:var(--nui-err);font-style:normal}
.nui-frow .ctl{flex:1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* 只读块 */
.nui-ro{flex:1;min-width:130px;background:#F7F8FA;border:1px solid var(--nui-border);
  border-radius:6px;padding:6px 10px;font-size:13px;color:var(--nui-text2);
  min-height:34px;display:flex;align-items:center}
.nui-ro b{color:var(--nui-text);font-weight:600}
.nui-ro.empty{color:#A9AEB8}
.nui-lk-red{color:var(--nui-err);font-size:12px;text-decoration:none;flex:none}
.nui-lk-red:hover{text-decoration:underline}
@media (max-width:900px){
  .nui-frow .lb{width:100%}
  .nui-frow{align-items:flex-start}
  .nui-frow .ctl{width:100%}
}

/* ---------- 注册信息模板页 dme_template.asp：列表 + 新增/编辑 ---------- */
/* 搜索框（放大镜图标 + 回车提交，无独立按钮） */
.nui-search{position:relative;flex:none}
.nui-qbar .nui-search input{width:210px;padding-left:30px}
.nui-search::before{content:"";position:absolute;left:9px;top:11px;width:12px;height:12px;
  border:1.5px solid #C0C4CC;border-radius:50%}
.nui-search::after{content:"";position:absolute;left:18px;top:21px;width:6px;height:1.5px;
  background:#C0C4CC;transform:rotate(45deg)}
.nui-qbar-lbl{color:var(--nui-text2);font-size:13px;white-space:nowrap}
/* 统计小卡强调色 */
.nui-stat{padding:14px 16px}
.nui-stat .nui-num{margin-top:0;font-variant-numeric:tabular-nums}
.nui-stat .nui-lbl{font-size:12px}
.nui-stat.ok .nui-num{color:var(--nui-ok)}
.nui-stat.blue .nui-num{color:var(--nui-blue)}
.nui-stat.err .nui-num{color:var(--nui-err)}
/* 列表：模板名单元 */
.nui-tm{display:flex;align-items:center;gap:10px}
.nui-tm .av{width:30px;height:30px;border-radius:8px;background:#E8F3FF;color:var(--nui-blue-dark);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.nui-tm .nm{font-size:13px}
.nui-tm .sub{display:flex;gap:6px;align-items:center;margin-top:2px}
.nui-mini{font-size:11px;color:#A9AEB8}
.nui-em2{font-size:12px;color:#A9AEB8}
.nui-reason{display:block;font-size:11px;color:var(--nui-err);margin-top:3px}
.nui-op{display:flex;gap:10px;justify-content:flex-end;white-space:nowrap}
.nui-link-err{color:var(--nui-err)}
/* 空状态 */
.nui-empty{text-align:center;padding:36px 20px}
.nui-empty .ic{width:60px;height:60px;margin:0 auto 12px;border-radius:50%;background:#F7F8FA;
  display:flex;align-items:center;justify-content:center;font-size:28px;color:#C9CDD4}
.nui-empty .t1{font-size:14px;font-weight:600;color:var(--nui-text)}
.nui-empty .t2{font-size:12px;color:var(--nui-text2);margin:6px 0 14px}
/* 编辑页头 */
.nui-phead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.nui-phead .tt{font-size:16px;font-weight:700;color:var(--nui-text)}
/* 模板类型卡片单选 */
.nui-tcards{display:flex;gap:10px;flex-wrap:wrap}
.nui-tcard{border:1px solid var(--nui-border);border-radius:8px;padding:9px 14px;cursor:pointer;
  display:flex;gap:10px;align-items:center;min-width:180px;background:#fff;transition:.15s}
.nui-tcard:hover{border-color:var(--nui-blue)}
.nui-tcard.on{border-color:var(--nui-blue);background:#E8F3FF;box-shadow:inset 0 0 0 1px rgba(0,127,255,.25)}
.nui-tcard input{margin:0;flex:none}
.nui-tcard .ic{width:26px;height:26px;border-radius:6px;background:#F2F3F5;color:var(--nui-text2);
  display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.nui-tcard.on .ic{background:#fff;color:var(--nui-blue)}
.nui-tcard b{display:block;font-size:13px;font-weight:600;color:var(--nui-text)}
.nui-tcard em{display:block;font-style:normal;font-size:11px;color:#A9AEB8}
/* 表单行内控件（中英成对时铺满） */
/* 过户概览：域名 chips（可移出）+ 数量 + 费用 */
.nui-ov{border:1px solid var(--nui-border);border-radius:8px;padding:12px 14px;margin-bottom:14px;background:#FCFDFE}
.nui-dchips{display:flex;flex-wrap:wrap;gap:8px}
.nui-dchips .nui-chip{max-width:100%;display:flex;align-items:center;gap:4px;word-break:break-all}
.nui-chip i{font-style:normal;margin-left:6px;color:#A9AEB8;font-size:13px;line-height:1;cursor:pointer}
.nui-chip i:hover{color:var(--nui-err)}
.nui-ovrow{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.nui-ovmain{flex:1;min-width:260px}
.nui-feebox{flex:none;min-width:190px;background:#F7F8FA;border-radius:8px;padding:12px 14px}
.nui-feebox .fl{font-size:12px;color:var(--nui-text2)}
.nui-feebox .fn{font-size:22px;font-weight:700;color:var(--nui-text);line-height:1.3}
.nui-feebox .fd{font-size:11px;color:var(--nui-text2);margin-top:2px;line-height:1.6}
/* 模板选择卡片（过户页） */
.nui-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.nui-tpl{border:1px solid var(--nui-border);border-radius:8px;padding:10px 12px;background:#fff;cursor:pointer;transition:.15s}
.nui-tpl:hover{border-color:var(--nui-blue)}
.nui-tpl.on{border-color:var(--nui-blue);background:#E8F3FF;box-shadow:inset 0 0 0 1px rgba(0,127,255,.25)}
.nui-tpl .hd{display:flex;align-items:center;gap:8px;min-width:0}
.nui-tpl .ic{width:24px;height:24px;flex:none;border-radius:6px;background:#F2F3F5;color:var(--nui-text2);font-size:12px;display:flex;align-items:center;justify-content:center}
.nui-tpl.on .ic{background:#fff;color:var(--nui-blue)}
.nui-tpl b{flex:1;font-size:13px;font-weight:600;color:var(--nui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nui-tpl em{display:block;font-style:normal;font-size:12px;color:var(--nui-text2);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nui-tpl .mt{font-size:11px;color:#A9AEB8;margin-top:6px}
.nui-tplmore{font-size:12px;color:var(--nui-text2);margin-top:10px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.nui-tplmore a{color:var(--nui-blue);text-decoration:none}
.nui-tplmore a:hover{text-decoration:underline}
.nui-tplmgr{margin-left:auto}
.nui-subtip{text-align:center;font-size:12px;color:var(--nui-text2);margin-top:8px}
@media (max-width:900px){
  .nui-tpls{grid-template-columns:1fr}
  .nui-ovrow{gap:10px}
  .nui-feebox{min-width:0;width:100%}
}
.nui-frow .ctl .nui-input,.nui-frow .ctl .nui-select{max-width:none;width:100%;flex:1;min-width:150px}
.nui-hint{font-size:12px;color:var(--nui-text2);line-height:1.6;flex-basis:100%}
.nui-pbtn{border:1px dashed var(--nui-border);background:#fff;color:var(--nui-blue);border-radius:6px;
  font-size:12px;padding:5px 8px;cursor:pointer;min-height:30px;display:none;flex:none}
.nui-pbtn.on{display:inline-block}
.nui-pbtn:hover{background:#E8F3FF;border-color:var(--nui-blue)}
.nui-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:14px;
  border-top:1px dashed var(--nui-border)}
.nui-foot-tip{font-size:12px;color:var(--nui-text2);flex-basis:100%}
a.nui-btn,a.nui-btn-ghost,a.nui-btn-danger,a.nui-btn-danger-ghost{display:inline-flex;align-items:center;line-height:normal}
@media (max-width:900px){.nui-stats{grid-template-columns:repeat(2,1fr)}}

@media (max-width:900px){
  .nui-dns-hero .nui-dns-rt{margin-left:0;text-align:left}
  .nui-dns-row .lb{width:100%}
}

/* 过户资料只读行：中英成对（对齐演示稿 .ro/.rlb/.rctl） */
.nui-robox{border-top:1px solid #F5F6F8}
.nui-rorow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #F5F6F8}
.nui-rorow:last-child{border-bottom:none}
.nui-rorow .rlb{width:150px;flex:none;font-size:13px;color:var(--nui-text2);line-height:1.4}
.nui-rorow .rctl{flex:1;display:flex;gap:14px;flex-wrap:wrap;min-width:0}
.nui-rorow .rctl .nui-input{max-width:none;width:100%;flex:1;min-width:150px}
.nui-rorow .rctl .nui-select{max-width:none;width:100%;flex:1;min-width:150px}
.nui-pair{flex:1;min-width:150px;display:flex;gap:6px}
.nui-pair .nui-input{max-width:none;width:100%;flex:1;min-width:60px}
.nui-input.ro{background:#F7F8FA;border-color:#EBEEF2;cursor:default;color:var(--nui-text)}
.nui-input.ro:focus{border-color:#EBEEF2}
.nui-input.ro.en{color:var(--nui-text2);font-family:Consolas,Monaco,"Courier New",monospace}
@media (max-width:900px){
  .nui-rorow{flex-wrap:wrap}
  .nui-rorow .rlb{width:100%}
  .nui-rorow{align-items:flex-start}
  .nui-rorow .rctl{width:100%}
}

/* 步骤标题（过户页：1.选择模板 2.确认资料） */
.nui-step{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.nui-step .no{width:22px;height:22px;border-radius:50%;background:var(--nui-blue);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.nui-step .no.gray{background:#C9CDD4}
.nui-step .tt{font-size:14px;font-weight:600;color:var(--nui-text)}
.nui-step .ds{font-size:12px;color:var(--nui-text2)}
.nui-step .more{margin-left:auto;font-size:12px;color:var(--nui-blue);font-weight:600;text-decoration:none}
.nui-step .more:hover{text-decoration:underline}
@media (max-width:900px){
  .nui-step{flex-wrap:wrap}
  .nui-step .ds{width:100%}
  .nui-step .more{margin-left:0}
}

/* 只读资料文本值（替代 input 的紧凑展示）：中文后紧跟英文，单行流式 */
.nui-roval{font-size:13px;color:var(--nui-text);word-break:break-all;overflow-wrap:anywhere;line-height:1.7;flex:1;min-width:0}
.nui-roval .en{color:var(--nui-text2);font-family:Consolas,Monaco,"Courier New",monospace;margin-left:12px}
.nui-roval .lb{font-size:11px;color:#A9AEB8;margin-right:4px}
.nui-roval .lb+.en{margin-left:0}
.nui-roval .en+.lb{margin-left:12px}
.nui-roempty{color:#C0C4CC}
/* 窄屏（手机）：英文换行独立成行，避免中英挤在一行超出屏宽 */
@media (max-width:560px){
  .nui-roval .en{display:block;margin-left:0}
  .nui-roval .lb{display:inline-block}
  .nui-roval .lb+.en{display:inline;margin-left:0}
  .nui-roval .en+.lb{display:block;margin-left:0}
  .nui-roval .en+.lb+.en{display:inline;margin-left:0}
}
/* 注册方式卡片（立即开通 / 只交订单） */
.nui-way{border:1px solid var(--nui-border);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;background:#fff;transition:.15s}
.nui-way:hover{border-color:var(--nui-blue)}
.nui-way.on{border-color:var(--nui-blue);background:#E8F3FF;box-shadow:inset 0 0 0 1px rgba(0,127,255,.25)}
.nui-way.dis{opacity:.55;cursor:not-allowed}
.nui-way b{font-size:13px;color:var(--nui-text)}
.nui-way .wd{display:block;font-size:12px;color:var(--nui-text2);margin-top:4px;line-height:1.7;word-break:break-all}
@media (max-width:560px){.nui-way{padding:10px}}

/* ---------- 购物车数量角标 ---------- */
.nui-cart-link,.nui-badge-link{position:relative}
.nui-cart-badge,.nui-badge{position:absolute;top:-5px;right:-6px;min-width:16px;height:16px;padding:0 4px;
  border-radius:8px;background:#F53F3F;color:#fff;font-size:10px;font-weight:600;line-height:16px;
  text-align:center;white-space:nowrap;pointer-events:none;z-index:5}
/* 侧栏（含移动端抽屉）内的角标：垂直居中靠右，如列表徽标，不遮挡文字 */
.nui-sidebar .nui-cart-badge,.nui-sidebar .nui-badge{top:50%;right:12px;transform:translateY(-50%)}

/* ---------- 主内容区域统一宽度（全站共享；修改此处即可全局生效） ---------- */
/* 用法：页面主容器加 class="xxx-main nui-page"；页面内不要再重复声明 max-width/居中 */
/* 当前：100% = 宽屏铺满（恢复改造前表现）；如需限制宽度，只改下面这一个值即可 */
.nui-page{max-width:100%;margin:0 auto}

/* ===================== 统一按钮/链接规范（2026-10-06 沉淀，四类按钮 + 状态字体） ===================== */
/* 四类按钮：①主按钮 .nui-btn（提交/确认）②链接按钮 .nui-btn-ghost + .nui-link（次级/跳转）
   ③复制按钮 .nui-copy-btn（提炼自 dme_idx 的 .dme-copy）④删除按钮 .nui-btn-danger* + .nui-link-err（危险）
   统一六态：默认 / 悬停 / 按下(active) / 成功(done) / 禁用(disabled)。
   状态字体统一：主按钮 13px/400/#fff；小按钮(xs/sm/copy) 12px；成功态 var(--nui-ok)；危险态 var(--nui-err)；辅助 var(--nui-text2)。
   新页面一律引用本区块类名，不得在页面内联重定义按钮样式。 */

/* ---------- 通用禁用态（四类按钮 + 链接共用） ---------- */
.nui-btn:disabled,.nui-btn[disabled],
.nui-btn-ghost:disabled,.nui-btn-ghost[disabled],
.nui-btn-danger:disabled,.nui-btn-danger[disabled],
.nui-btn-danger-ghost:disabled,.nui-btn-danger-ghost[disabled],
.nui-copy-btn:disabled,.nui-copy-btn[disabled],
.nui-link:disabled,.nui-link-err:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}

/* ---------- 按下态补全（active，四类按钮） ---------- */
.nui-btn:active:not(:disabled){background:var(--nui-blue-dark)}
.nui-btn-ghost:active:not(:disabled){background:#D6E9FF}
.nui-btn-danger:active:not(:disabled){background:#D93A3A}
.nui-btn-danger-ghost:active:not(:disabled){background:#FEECEC}
.nui-link:active{color:var(--nui-blue-dark)}

/* ---------- 文本链接统一：补全 .nui-link-err（危险/删除文本链接，提炼自 dme_idx 的 .dme-auth-op） ---------- */
.nui-link-err{color:var(--nui-err);text-decoration:none;font-size:12.5px;cursor:pointer}
.nui-link-err:hover{color:var(--nui-err);text-decoration:underline}

/* ---------- 复制按钮（提炼自 dme_idx 的 .dme-copy，全局复用） ---------- */
.nui-copy-btn{border:1px solid var(--nui-border);background:#fff;color:var(--nui-text2);
  border-radius:6px;padding:3px 9px;font-size:12px;cursor:pointer;transition:.15s}
.nui-copy-btn:hover:not(:disabled){border-color:var(--nui-blue);color:var(--nui-blue)}
.nui-copy-btn:active:not(:disabled){border-color:var(--nui-blue-dark);color:var(--nui-blue-dark)}
.nui-copy-btn.done{border-color:var(--nui-ok);color:var(--nui-ok);background:#E8F7EF}
.nui-copy-btn.done:hover{border-color:var(--nui-ok);color:var(--nui-ok)}

/* ===================== 产品详情页统一规范（dme_idx/eml_idx 提炼，后续 hst/sql/svr 等产品页共用） ===================== */
/* 说明：产品详情页通用组件用 nui-pd-* 前缀，与已有 .nui-hero(营销横幅)/.nui-empty(整页空状态)/.nui-tip(表单错误) 语义区分。
   用法：页面卡片加 class="nui-card nui-pd-hero" 等，后续产品页一律复用本区块，不得页面内联重定义。 */

/* 概览卡：渐变底 + 图标 + 产品名 + 胶囊 + 指标 + 快捷操作 */
.nui-pd-hero{background:linear-gradient(180deg,#F7FBFF,#fff);border:1px solid #D6E9FF}
.nui-pd-hero-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nui-pd-ico{width:44px;height:44px;border-radius:10px;background:#E8F3FF;color:var(--nui-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nui-pd-ico svg{width:24px;height:24px}
.nui-pd-title{font-size:20px;font-weight:700;font-family:Tahoma,Consolas,Monaco,monospace}

/* 指标卡 4 列栅格 */
.nui-pd-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px;padding-top:16px;border-top:1px dashed #DDE7F5}
.nui-pd-metric .k{font-size:12px;color:var(--nui-text2);margin-bottom:5px}
.nui-pd-metric .v{font-size:15px;font-weight:600;word-break:break-all;font-variant-numeric:tabular-nums}
.nui-pd-metric .v small{font-size:12px;font-weight:400;color:var(--nui-text3);margin-left:3px}

/* 快捷操作（带图标按钮，hot=橙色主推） */
.nui-pd-quick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px dashed #DDE7F5}
.nui-pd-quick-lb{font-size:12px;color:var(--nui-text3);flex-shrink:0}
.nui-pd-quick-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:7px;border:1px solid var(--nui-border);background:#fff;color:var(--nui-text);font-size:13px;cursor:pointer;transition:.15s;text-decoration:none}
.nui-pd-quick-btn:hover{border-color:var(--nui-blue);color:var(--nui-blue);background:#F0F7FF}
.nui-pd-quick-btn.hot{border-color:#FFD9B0;background:#FFF9F0;color:var(--nui-warn)}
.nui-pd-quick-btn.hot:hover{background:#FFF4E6;border-color:var(--nui-warn)}
.nui-pd-quick-btn svg{width:15px;height:15px}

/* 功能卡片网格（增值服务等，带图标 + 状态胶囊 + 去开通引导） */
.nui-pd-addons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.nui-pd-addon{border:1px solid var(--nui-border);border-radius:8px;padding:12px 14px;display:flex;align-items:center;gap:10px}
.nui-pd-addon .ic{width:30px;height:30px;border-radius:8px;background:#E8F3FF;color:var(--nui-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nui-pd-addon .ic svg{width:16px;height:16px}
.nui-pd-addon .nm{font-size:13px}
.nui-pd-addon .nui-tag{margin-left:auto}
.nui-pd-addon .go{margin-left:6px;font-size:12px;color:var(--nui-blue);cursor:pointer;white-space:nowrap;text-decoration:none}
.nui-pd-addon .go:hover{color:var(--nui-blue-dark)}

/* 同步状态条（成功绿 / 失败橙 + 重试） */
.nui-pd-sync{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:6px;font-size:12.5px;margin-bottom:12px}
.nui-pd-sync.ok{background:#E9F9F0;color:var(--nui-ok)}
.nui-pd-sync.fail{background:#FFF9F0;color:var(--nui-warn)}
.nui-pd-sync svg{width:15px;height:15px;flex-shrink:0}
.nui-pd-sync .rt{margin-left:auto;font-size:12px;color:var(--nui-blue);cursor:pointer;font-weight:500;white-space:nowrap}

/* 空状态引导（虚线框 + 去添加链接） */
.nui-pd-empty{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;border:1px dashed var(--nui-border);color:var(--nui-text2);font-size:12.5px}
.nui-pd-empty a{color:var(--nui-blue);font-weight:500}
.nui-pd-empty a:hover{color:var(--nui-blue-dark)}

/* 提示条（浅底 + 图标；.warn 橙色警示） */
.nui-pd-tip{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 14px;border-radius:6px;font-size:12.5px;line-height:1.75;background:#F7F9FC;color:var(--nui-text2);border:1px solid #EDF1F7}
.nui-pd-tip.warn{background:#FFF9F0;border-color:#FFE3BF;color:var(--nui-warn)}
.nui-pd-tip svg{width:15px;height:15px;flex-shrink:0;margin-top:2px}

/* 分组小标题（标题 + 分隔线） */
.nui-pd-sec{display:flex;align-items:center;gap:10px;margin:16px 0 4px;font-size:12.5px;color:var(--nui-text3);font-weight:600}
.nui-pd-sec:first-child{margin-top:0}
.nui-pd-sec::after{content:"";flex:1;height:1px;background:#F0F2F5}

/* 开关控件 */
.nui-switch{position:relative;display:inline-block;width:40px;height:22px;border-radius:11px;background:#C9CDD4;cursor:pointer;transition:background .2s;vertical-align:middle;flex-shrink:0}
.nui-switch.on{background:var(--nui-blue)}
.nui-switch::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.nui-switch.on::after{left:20px}

/* 产品详情页响应式 */
@media(max-width:1100px){ .nui-pd-metrics{grid-template-columns:repeat(2,1fr)} }
@media(max-width:900px){ .nui-pd-addons{grid-template-columns:1fr} }
@media(max-width:560px){ .nui-pd-metrics{grid-template-columns:1fr} }

/* ---------- 产品展示页公共图标（提炼自 pdtshw 6 个产品页私有 .ic/.fi，2026-10-11 沉淀） ----------
   .nui-pd-ic：页头大图标（52px 蓝色渐变底 + 白 SVG）
   .nui-pd-fi：特性小图标（34px 浅蓝底 + 蓝 SVG，原 emoji 已全部 SVG 化） */
.nui-pd-ic{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#007FFF,#3D9BFF);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px rgba(0,127,255,.28),inset 0 1px 0 rgba(255,255,255,.35)}
.nui-pd-fi{width:34px;height:34px;border-radius:9px;background:#E8F3FF;color:#007FFF;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.nui-pd-fi svg{width:18px;height:18px;display:block}
/* 特性图标多彩配色（浅底 + 深色，保证对比度；默认蓝） */
.nui-pd-fi.c-blue{background:#E8F3FF;color:#007FFF}
.nui-pd-fi.c-green{background:#E9F9F0;color:#0E8A5A}
.nui-pd-fi.c-orange{background:#FFF4E6;color:#E8790B}
.nui-pd-fi.c-red{background:#FFF0F3;color:#E0214A}
.nui-pd-fi.c-purple{background:#F0EBFF;color:#722ED1}
.nui-pd-fi.c-teal{background:#E6F7F7;color:#0E8A8A}
.nui-pd-fi.c-indigo{background:#EEF1FF;color:#3D5AFE}
.nui-pd-fi.c-amber{background:#FFF7E0;color:#D48806}

/* ---------- 金额闪动反馈（选中配置后金额变化时提示，提炼自 ecs_frm 的 priceFlash） ----------
   用法：JS 调 nuiFlashPrice(el)（见 /js/nui_flash.js），首次加载不触发由调用方控制 */
@keyframes nuiPriceFlash{0%{transform:scale(1.18)}100%{transform:scale(1)}}
.nui-price-flash{animation:nuiPriceFlash .4s ease}

/* 表单提交锁定态（nui_ajax.js 锁定整表时给 form 加 .nui-form-locked）：
   所有输入控件明显变灰 + 禁用光标，让"锁定"一眼可见 */
.nui-form-locked input,
.nui-form-locked select,
.nui-form-locked textarea{background:#F2F3F5 !important;color:#A8B0BB !important;border-color:#E5E8ED !important;cursor:not-allowed !important}
.nui-form-locked button,
.nui-form-locked input[type="submit"],
.nui-form-locked input[type="button"],
.nui-form-locked input[type="reset"]{opacity:.6 !important;cursor:not-allowed !important;pointer-events:none !important}

/* ---------- AJAX 提交 loading 旋转（nui_ajax.js 的「提交中…」按钮用） ---------- */
@keyframes nuiAjaxSpin{to{transform:rotate(360deg)}}

/* ===== 确认页（*_pay.asp）旧类名 nui 化覆盖（2026-10-12 批量落地）===== */
/* 旧 btable 确认表单 → 蓝白卡片风；字段 name/逻辑不变，仅重定义样式 */
.btable{background:#fff;border:1px solid #E5E6EB;border-radius:10px;border-collapse:separate;border-spacing:0;width:100%;max-width:880px;margin:0 auto 16px;font-size:14px;color:#1D2129;overflow:hidden}
.btrtitle td{background:#F7F9FC;font-weight:600;color:#1D2129;padding:13px 18px;border-bottom:1px solid #E5E6EB}
.btrcommon td{border-bottom:1px solid #F0F2F5}
.btdtitle{padding:13px 18px}
.btdleft{width:20%;padding:12px 16px;color:#4E5969;text-align:right;background:#FAFBFC;vertical-align:top}
.btdright{padding:12px 16px;color:#1D2129;line-height:1.7}
.binput,.bselect,.btext{border:1px solid #E5E6EB;border-radius:6px;padding:7px 10px;font-size:13px;color:#1D2129;outline:none;transition:border-color .15s;font-family:inherit;background:#fff}
.binput:focus,.bselect:focus,.btext:focus{border-color:#007FFF}
.binput[readonly],.binput[disabled]{background:#F7F8FA;color:#4E5969;cursor:not-allowed}
.bradio{accent-color:#007FFF;width:15px;height:15px;vertical-align:-2px}
.bsubmit{background:#007FFF;color:#fff;border:none;border-radius:7px;padding:10px 30px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}
.bsubmit:hover{background:#0052D9}
.bsubmit:disabled{opacity:.65;cursor:not-allowed;background:#007FFF}
.breset{background:#fff;color:#4E5969;border:1px solid #E5E6EB;border-radius:7px;padding:10px 30px;font-size:14px;cursor:pointer;transition:border-color .15s,color .15s}
.breset:hover{border-color:#007FFF;color:#007FFF}
.breset:disabled{opacity:.65;cursor:not-allowed}
/* 确认页旧面包屑/标题容器降级为无干扰块（避免 nui 化后残留旧样式） */
#nbframe{display:none}
.ordertitle{margin:0 0 16px;font-size:15px;color:#1D2129;max-width:880px;margin-left:auto;margin-right:auto}
.ordertitle strong{font-weight:700}
@media(max-width:640px){
  .btable{max-width:100%}
  .btdleft{width:32%;word-break:break-all}
}
