
:root{
  --bg:#f5f7fa;
  --panel:#fff;
  --line:#e6eaf0;
  --line2:#eef1f5;
  --text:#1f2329;
  --text2:#4e5969;
  --muted:#86909c;
  --blue:#1677ff;
  --blue2:#0f6be8;
  --blue-soft:#eaf3ff;
  --nav:#132238;
  --nav-hover:#1b3150;
  --green:#00a870;
  --green-soft:#e8f7f1;
  --orange:#ff8f1f;
  --orange-soft:#fff3e6;
  --red:#f53f3f;
  --red-soft:#fff1f0;
  --shadow:0 4px 14px rgba(31,35,41,.04);
  --radius:8px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font:13px/1.65 "Microsoft YaHei","PingFang SC","Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.layout{min-height:100vh;display:grid;grid-template-columns:220px 1fr;grid-template-rows:58px 1fr}

/* header */
.top{
  grid-column:1/3;height:58px;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50
}
.brand{width:220px;height:58px;background:var(--nav);display:flex;align-items:center;gap:10px;padding:0 18px;color:#fff}
.logo{width:30px;height:30px;border-radius:7px;background:var(--blue);display:grid;place-items:center;font-weight:800;box-shadow:0 3px 10px rgba(22,119,255,.3)}
.brand b{font-size:15px}.brand small{display:block;font-size:12px;color:#8ca0b9;margin-top:-2px}
.top-center{flex:1;padding:0 22px}
.global-search{
  width:100%;max-width:460px;width:min(460px,100%);height:34px;border:1px solid var(--line);border-radius:6px;background:#f7f8fa;
  display:flex;align-items:center;gap:8px;padding:0 10px;color:var(--muted)
}
.global-search:focus-within{background:#fff;border-color:#8ebfff;box-shadow:0 0 0 2px rgba(22,119,255,.08)}
.global-search input{border:0;outline:0;background:transparent;width:100%;color:var(--text)}
.search-key{font-size:12px;color:#a1a9b3}
.topright{display:flex;align-items:center;gap:8px;padding-right:18px}
.topbtn,.iconbtn{height:32px;border:1px solid var(--line);background:#fff;border-radius:6px;color:var(--text2);cursor:pointer}
.topbtn{padding:0 11px}.iconbtn{width:32px}
.topbtn:hover,.iconbtn:hover{border-color:#b8d4ff;color:var(--blue);background:#f7fbff}

/* 顶部会员中心 / 退出登录 */
.top-member{border-color:#b9d5ff;color:#1668dc;background:#f5f9ff}
.top-member:hover{border-color:#7fb3ff;color:#0958d9;background:#eaf3ff}
.top-logout{border-color:#ffd0d0;color:#d4380d;background:#fff8f6}
.top-logout:hover{border-color:#ffaaa3;color:#cf1322;background:#fff1f0}
.user{display:flex;align-items:center;gap:8px;margin-left:4px;padding-left:12px;border-left:1px solid var(--line)}
.avatar{width:30px;height:30px;border-radius:50%;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-weight:700}
.user small{display:block;font-size:12px;color:var(--muted)}

/* sidebar */
.sidebar{background:var(--nav);color:#c8d2df;padding:12px 10px 22px;overflow:auto}
.host-switch{
  margin-bottom:12px;padding:10px;border-radius:7px;background:#182b46;border:1px solid rgba(255,255,255,.045);
  display:flex;align-items:center;gap:9px
}
.host-switch .dotbox{width:28px;height:28px;border-radius:6px;background:#24446c;color:#9ec6ff;display:grid;place-items:center;font-size:12px;font-weight:700}
.host-switch b{display:block;color:#eef4fb;font-size:12px}.host-switch small{display:block;color:#778ba6;font-size:12px}
.group{margin-bottom:12px}
.group-title{font-size:12px;color:#667b98;padding:7px 10px 5px;font-weight:700}
.nav{height:38px;border-radius:6px;display:flex;align-items:center;gap:9px;padding:0 10px;margin:2px 0;color:#c1ccd9;position:relative}
.nav:hover{background:var(--nav-hover);color:#fff}
.nav.active{background:#1c4f86;color:#fff}
.nav.active:before{content:"";position:absolute;left:-10px;top:8px;bottom:8px;width:3px;background:#4da1ff;border-radius:0 3px 3px 0}
.nav i{width:18px;height:18px;display:grid;place-items:center}
.nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* main */
.main{padding:18px 20px 30px;min-width:0}
.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.pagehead h1{font-size:19px;margin:0 0 3px;font-weight:700}
.crumb{font-size:12px;color:var(--muted)}
.page-actions{display:flex;gap:7px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:4px 9px;background:#fff;color:var(--text2);font-size:12px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.c12{grid-column:span 12}.c8{grid-column:span 8}.c7{grid-column:span 7}.c6{grid-column:span 6}.c5{grid-column:span 5}.c4{grid-column:span 4}
.muted{color:var(--muted)}

/* card */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}
.card-title{height:44px;padding:0 14px;border-bottom:1px solid var(--line2);display:flex;align-items:center;justify-content:space-between;font-weight:700}
.card-body{padding:14px}

/* dashboard */
.summary{
  grid-column:span 12;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  display:grid;grid-template-columns:1.25fr .75fr;overflow:hidden
}
.summary-main{padding:20px 22px}
.summary-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.summary-title h2{font-size:22px;margin:0;font-weight:700}
.status-ok{padding:3px 8px;border-radius:4px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:700}
.summary-sub{color:var(--muted);margin-top:5px}
.summary-meta{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:28px;margin-top:16px}
.summary-meta span{font-size:12px;color:var(--muted)}.summary-meta b{display:block;color:var(--text2);font-size:12px;margin-top:1px}
.summary-actions{display:flex;gap:8px;margin-top:16px}
.summary-side{border-left:1px solid var(--line);background:#fafcff;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.summary-item{border:1px solid #e8edf4;background:#fff;border-radius:7px;padding:11px}
.summary-item span{font-size:12px;color:var(--muted)}.summary-item strong{display:block;font-size:16px;margin-top:2px}
.metrics{grid-column:span 12;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.metric{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;align-items:center;gap:11px;box-shadow:var(--shadow)}
.metric-icon{width:38px;height:38px;border-radius:7px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:700}
.metric-icon.green{background:var(--green-soft);color:var(--green)}.metric-icon.orange{background:var(--orange-soft);color:var(--orange)}.metric-icon.red{background:var(--red-soft);color:var(--red)}
.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;font-size:18px;line-height:1.25}.metric small{font-size:12px;color:#a0a8b2}
.info-list{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.info-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed #e9edf2;padding:10px 0}.info-row span{color:var(--muted)}.info-row b{font-weight:600;text-align:right}
.copy-link{color:var(--blue);font-size:12px;cursor:pointer;margin-left:4px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.quick{border:1px solid var(--line);border-radius:7px;padding:11px;background:#fff}
.quick:hover{border-color:#b8d5ff;background:#f7fbff}.quick b{display:block;margin-bottom:2px}.quick small{font-size:12px;color:var(--muted)}
.resource{display:grid;gap:14px}.resource-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:12px}.resource-head span:last-child{color:var(--muted)}
.progress{height:7px;border-radius:99px;background:#eef1f5;overflow:hidden}.progress i{height:100%;display:block;background:var(--blue);border-radius:99px}.progress.green i{background:var(--green)}.progress.orange i{background:var(--orange)}
.sec-list{display:grid;gap:8px}.sec-row{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1px solid var(--line2);border-radius:6px;background:#fcfcfd}.sec-row em{font-style:normal;color:var(--green);font-size:12px}
.notice-list{display:grid}.notice-row{display:grid;grid-template-columns:80px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line2)}.notice-row:last-child{border-bottom:0}.notice-row small{color:var(--muted)}
.tag{display:inline-block;padding:2px 6px;border-radius:4px;background:#f2f3f5;color:#667085;font-size:12px}

/* controls */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.left,.right{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.btn{height:32px;padding:0 12px;border:1px solid #d9dee7;border-radius:6px;background:#fff;color:var(--text2);cursor:pointer}
.btn:hover{border-color:#91bfff;color:var(--blue);background:#f8fbff}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}
.btn.danger{background:#fff;border-color:#f0b4b4;color:var(--red)}
.input{height:32px;border:1px solid #d9dee7;border-radius:6px;padding:0 9px;outline:0;background:#fff;color:var(--text2)}
textarea.input{height:auto;padding:9px}.input:focus{border-color:#79aeef;box-shadow:0 0 0 2px rgba(22,119,255,.07)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px}
table{width:100%;border-collapse:collapse;min-width:720px}
th,td{padding:9px 10px;border-bottom:1px solid var(--line2);text-align:left;white-space:nowrap;font-weight:400}
th{background:#f7f8fa;color:#667085;font-size:12px;font-weight:600}
tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfdff}
.act a{color:var(--blue);margin-right:10px;font-size:12px}
.form{display:grid;grid-template-columns:170px 1fr}
.fl,.fc{padding:12px 14px;border-bottom:1px solid var(--line2)}.fl{background:#fafbfc;color:#667085}.fc .input{width:min(620px,100%)}
.help{font-size:12px;color:var(--muted);margin-top:5px}
.switch{display:inline-flex;gap:8px;align-items:center}.toggle{width:36px;height:20px;background:#c9d0d9;border-radius:12px;position:relative;cursor:pointer}.toggle:after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.18s}.toggle.on{background:var(--blue)}.toggle.on:after{left:18px}
.alert{padding:10px 12px;border-radius:6px;background:#fff8e8;border:1px solid #f6dfaa;color:#8a691e}.alert.red{background:#fff2f1;border-color:#f5c6c3;color:#a63c35}
.pager{display:flex;justify-content:flex-end;gap:5px;margin-top:12px}.pager a{height:28px;min-width:28px;border:1px solid var(--line);border-radius:5px;display:grid;place-items:center;background:#fff;color:#667085;font-size:12px}.pager a.on{background:var(--blue);color:#fff;border-color:var(--blue)}

/* log */
.operation-log{margin-top:12px}.log-title-left{display:flex;align-items:center;gap:8px}.log-icon{width:25px;height:25px;border-radius:5px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:12px}.log-filter{display:flex;gap:6px}.log-summary{display:flex;gap:12px;color:var(--muted);font-size:12px;margin-bottom:10px}.log-summary b{color:var(--text2)}.log-result{font-size:12px;font-weight:700}.log-result.ok{color:var(--green)}.log-result.fail{color:var(--red)}

/* login */
.login{min-height:100vh;display:grid;place-items:center;background:#f2f5f9;padding:24px}
.loginbox{width:100%;max-width:900px;width:min(900px,100%);min-height:500px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 38px rgba(31,35,41,.08);display:grid;grid-template-columns:1fr .92fr;overflow:hidden}
.loginhero{background:linear-gradient(145deg,#12243d,#173966);padding:42px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.loginhero h1{font-size:27px;line-height:1.45;margin:0 0 12px}.loginhero p{color:#b7c7da;line-height:1.9}.login-points{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.login-point{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);padding:10px;border-radius:7px}.login-point b{display:block;font-size:12px}.login-point small{color:#96a9c2;font-size:12px}
.loginform{padding:48px 42px}.loginform h2{font-size:23px;margin:0 0 5px}.loginform .sub{color:var(--muted);margin-bottom:24px}.field{margin-bottom:15px}.field label{display:block;margin-bottom:5px;color:var(--text2)}.field .input{width:100%;height:38px}.loginform .btn{width:100%;height:38px;margin-top:6px}.footer-note{text-align:center;color:var(--muted);font-size:12px;margin-top:14px}

@media(max-width:1080px){.summary{grid-template-columns:1fr}.summary-side{border-left:0;border-top:1px solid var(--line)}.metrics{grid-template-columns:repeat(2,1fr)}.c8,.c7,.c6,.c5,.c4{grid-column:span 12}.top-center{display:none}}
@media(max-width:760px){.layout{grid-template-columns:68px 1fr}.brand{width:68px;padding:0 19px}.brand .brand-text,.host-switch,.group-title,.nav span{display:none}.nav{justify-content:center}.main{padding:14px}.metrics{grid-template-columns:1fr}.summary-meta{grid-template-columns:1fr 1fr;gap:12px}.summary-side{grid-template-columns:1fr}.info-list{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.fl{padding-bottom:5px;border-bottom:0}.fc{padding-top:5px}.loginbox{grid-template-columns:1fr}.loginhero{display:none}.loginform{padding:36px 26px}}


/* ===== 细节优化：字重、间距、层级 ===== */
body{font-weight:400;color:#252a34}
.brand b{font-weight:600}
.user b{font-weight:500}
.pagehead h1{font-weight:600;font-size:18px;letter-spacing:0}
.card-title{font-weight:600;font-size:12px;color:#2f3542}
.card-title .muted{font-weight:400}
.summary-title h2{font-weight:600;font-size:21px}
.summary-meta b{font-weight:400;color:#394150}
.summary-item strong{font-weight:500;font-size:15px}
.metric strong{font-weight:500;font-size:17px}
.metric small{font-weight:400}
.info-row b{font-weight:400;color:#394150}
.quick b{font-weight:500;color:#303846}
.quick small{line-height:1.55}
.sec-row{font-weight:400}.sec-row em{font-weight:400}
.notice-row{font-weight:400}
.notice-row .tag{font-weight:400}
.badge{font-weight:400}
.status-ok{font-weight:500}
.group-title{font-weight:500;letter-spacing:.2px}
.nav{font-weight:400}
.host-switch b{font-weight:500}
.host-switch small{font-weight:400}
.btn{font-weight:400}
.btn.primary{font-weight:400}
.table-wrap th{font-weight:500}
.table-wrap td{font-weight:400;color:#3f4652}
.form .fl{font-weight:400}
.form .fc{font-weight:400}
.help{font-weight:400}
.log-summary b{font-weight:500}
.log-result{font-weight:500}
.loginhero h1{font-weight:600}
.login-point b{font-weight:500}
.loginform h2{font-weight:600}

/* 视觉密度优化 */
.main{padding:17px 20px 28px}
.pagehead{margin-bottom:13px}
.grid{gap:11px}
.card{border-color:#e7ebf0;box-shadow:0 2px 8px rgba(31,35,41,.035)}
.card-title{height:42px;padding:0 13px}
.card-body{padding:13px}
.summary-main{padding:18px 20px}
.summary-side{padding:13px;gap:7px}
.summary-item{padding:10px}
.summary-meta{gap:24px;margin-top:14px}
.summary-actions{margin-top:14px}
.metric{padding:13px}
.metric-icon{width:36px;height:36px}
.info-row{padding:9px 0}
.quick-grid{gap:7px}
.quick{padding:10px;min-height:62px}
.resource{gap:13px}
.sec-list{gap:7px}
.sec-row{padding:8px 9px}
.notice-row{padding:9px 0}

/* 表单与表格更精细 */
.toolbar{margin-bottom:10px}
.btn{height:31px;padding:0 11px;border-radius:5px}
.input{height:31px;border-radius:5px}
textarea.input{line-height:1.65}
.table-wrap{border-radius:5px}
th,td{padding:8px 10px}
th{background:#f6f8fa;color:#5f6b7a}
tbody tr:hover td{background:#f9fbfd}
.form{grid-template-columns:160px 1fr}
.fl,.fc{padding:11px 13px}
.fl{background:#fafbfc;color:#6b7584}
.alert{padding:9px 11px}
.pager{margin-top:10px}
.operation-log{margin-top:11px}
.log-summary{margin-bottom:9px}

/* 仅关键数值强调，不扩大普通信息 */
.metric strong,.summary-item strong{letter-spacing:0}
.copy-link{font-weight:400}

/* 顶部和侧边栏细节 */
.top{height:56px}.layout{grid-template-rows:56px 1fr}
.brand{height:56px}
.global-search{height:32px}
.topbtn,.iconbtn{height:30px}
.avatar{width:28px;height:28px}
.sidebar{padding-top:10px}
.host-switch{padding:9px;margin-bottom:10px}
.nav{height:36px}
.group{margin-bottom:10px}

/* 登录页字重和比例 */
.loginbox{min-height:480px}
.loginhero{padding:40px}
.loginform{padding:44px 40px}
.loginform .field .input{height:36px}
.loginform .btn{height:36px}

.info-value{font-weight:400;color:#394150;text-align:right}


/* ===== V2 detail refinement ===== */
html{scrollbar-gutter:stable}
.sidebar{
  height:calc(100vh - 58px);
  position:sticky;
  top:58px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:#39536f #132238;
  padding-right:7px;
}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-track{background:#132238;border-radius:8px}
.sidebar::-webkit-scrollbar-thumb{
  background:#38536f;
  border:2px solid #132238;
  border-radius:8px;
  min-height:48px;
}
.sidebar::-webkit-scrollbar-thumb:hover{background:#4a6787}
.sidebar::-webkit-scrollbar-corner{background:#132238}

.group{margin-bottom:10px}
.group-title{padding-top:8px;padding-bottom:4px}
.nav{height:37px;margin:1px 0}
.nav span{font-weight:400}
.nav.active span{font-weight:500}

.card{box-shadow:0 2px 8px rgba(31,35,41,.035)}
.card-title{height:43px}
.card-title>span:first-child,.card-title>.log-title-left{font-weight:500}
.pagehead h1{font-weight:600}
.btn{font-weight:400}
.btn.primary{font-weight:400}
table th{font-weight:500}
table td{font-weight:400}
.form .fl{font-weight:400}
.form .fc{font-weight:400}
.summary-title h2{font-weight:600}
.summary-item strong{font-weight:500}
.metric strong{font-weight:500}
.quick b{font-weight:500}
.info-row b{font-weight:400}
.sec-row{font-weight:400}
.sec-row em{font-weight:400}
.log-summary b{font-weight:500}

.pagehead{min-height:42px}
.card-body{padding:13px 14px 14px}
.table-wrap{background:#fff}
th,td{height:38px}
.input{transition:border-color .15s,box-shadow .15s,background .15s}
.input:hover{border-color:#c8d2df}
.btn{transition:border-color .15s,color .15s,background .15s}
.operation-log{margin-top:14px}

.form-note{
  color:#86909c;
  font-size:12px;
  line-height:1.8;
  margin-top:5px;
}
.security-tip{
  display:flex;
  gap:9px;
  padding:10px 12px;
  margin-bottom:12px;
  border:1px solid #d8e8fb;
  border-radius:6px;
  background:#f5f9ff;
  color:#4e5969;
}
.security-tip .tip-icon{
  width:19px;height:19px;flex:0 0 auto;border-radius:50%;
  display:grid;place-items:center;background:#e3efff;color:#1677ff;font-size:12px;margin-top:1px
}
.field-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.field-inline .input{width:min(420px,100%)}
.password-wrap{display:flex;gap:7px;align-items:center;max-width:480px}
.password-wrap .input{flex:1}
.protected-list{margin-top:12px}
.status-small{display:inline-flex;align-items:center;gap:5px;color:#00a870;font-size:12px}
.status-small:before{content:"";width:6px;height:6px;border-radius:50%;background:#00a870}
.danger-note{color:#f53f3f;font-size:12px;margin-left:6px}

/* ===== V3 全站精修 ===== */
html,body,button,input,select,textarea{font-family:"Microsoft YaHei","微软雅黑",Arial,sans-serif !important;}
.top{border-bottom:none !important;box-shadow:0 1px 0 rgba(22,34,56,.035)}
.brand{border-right:none !important;box-shadow:none !important;height:58px;padding:0 14px 0 17px}
.sidebar{border-right:none !important;box-shadow:none !important;background:#132238;padding-top:8px}
.sidebar:before,.sidebar:after,.brand:after{display:none !important;content:none !important}
.logo{width:29px;height:29px;border-radius:6px;font-size:13px}
.brand b{font-size:14px;font-weight:500;line-height:1.3}.brand small{font-size:12px;letter-spacing:.2px;color:#8195af;line-height:1.3;margin-top:1px}
.group{margin-bottom:9px}.group-title{padding:8px 10px 4px;font-size:12px;font-weight:400;color:#6f829c}
.nav{height:36px;border-radius:5px;padding-left:10px;margin:1px 0;font-size:12px}.nav i{width:17px;height:17px}.nav svg{width:15px;height:15px;stroke-width:1.65}
.nav:hover{background:#1a304d}.nav.active{background:#1b4d82}.nav.active:before{top:9px;bottom:9px;width:2px;background:#5aa7ff}
.sidebar{height:calc(100vh - 58px);position:sticky;top:58px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#314c69 transparent;padding-right:7px}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#314c69;border-radius:6px}.sidebar::-webkit-scrollbar-thumb:hover{background:#42617f}
.topright{gap:6px}.topbtn,.iconbtn{height:31px;border-radius:5px}.topbtn{padding:0 10px;font-size:12px}.user{padding-left:11px;gap:7px}.avatar{width:29px;height:29px;font-size:12px}
.main{padding:17px 19px 28px}.pagehead{margin-bottom:13px}.pagehead h1{font-size:18px;font-weight:500;letter-spacing:0}.crumb{margin-top:2px;font-size:12px}.badge{border-radius:5px;padding:3px 8px;font-size:12px}
.card{border-radius:7px;border-color:#e7ebf0;box-shadow:0 2px 7px rgba(31,35,41,.025)}.card-title{height:42px;padding:0 13px;font-size:12px}.card-title>span:first-child,.card-title>.log-title-left{font-weight:500}.card-body{padding:13px}
.summary{border-radius:7px;box-shadow:0 2px 7px rgba(31,35,41,.025)}.summary-main{padding:18px 20px}.summary-title h2{font-size:20px;font-weight:500}.summary-sub{font-size:12px}.summary-meta{gap:23px;margin-top:14px}.summary-meta span{font-size:12px}.summary-meta b{font-size:12px;font-weight:400}.summary-actions{margin-top:14px}.summary-item{padding:10px;border-radius:6px}.summary-item strong{font-size:15px;font-weight:400}
.metric{padding:13px;border-radius:7px}.metric-icon{width:36px;height:36px;border-radius:6px;font-size:12px}.metric strong{font-size:17px;font-weight:400}.metric small{font-size:12px}
.quick{padding:10px;border-radius:6px}.quick b{font-size:12px;font-weight:400}.quick small{font-size:12px}
.info-row b{font-weight:400}.sec-row em{font-weight:400}
.table-wrap{border-radius:5px}table{font-size:12px}th,td{height:37px;padding:8px 10px}th{font-size:12px;font-weight:400;color:#667085}td{font-weight:400;color:#3f4752}tbody tr:hover td{background:#fafcff}
.form{grid-template-columns:165px 1fr}.fl,.fc{padding:11px 13px}.fl{font-size:12px;color:#606a78;font-weight:400}.fc{color:#3f4752;font-weight:400}.input{height:31px;border-radius:5px;font-size:12px}textarea.input{padding:8px 9px}.form-note,.help{font-size:12px;line-height:1.7}
.btn{height:31px;padding:0 11px;border-radius:5px;font-size:12px;font-weight:400}.btn.primary{font-weight:400}
.operation-log{margin-top:13px}.log-icon{width:23px;height:23px;border-radius:4px;font-size:12px}.log-summary{margin-bottom:9px;gap:10px}.log-summary b{font-weight:400}.log-result{font-weight:400}.pager a{width:27px;min-width:27px;height:27px;border-radius:4px}
.archive-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.archive-box{border:1px solid #e6eaf0;background:#fbfcfe;border-radius:6px;padding:14px}.archive-box-title{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:13px;font-weight:500;color:#303846}.archive-box-title .archive-ico{width:28px;height:28px;border-radius:6px;background:#eaf3ff;color:#1677ff;display:grid;place-items:center;font-size:12px}.archive-box p{margin:0 0 11px;color:#86909c;font-size:12px;line-height:1.7}.archive-form-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.archive-form-row:last-child{margin-bottom:0}.archive-form-row .input{flex:1;min-width:180px}.archive-note{font-size:12px;color:#86909c;margin-top:7px}.file-type{display:inline-block;min-width:34px;padding:1px 5px;text-align:center;border-radius:4px;background:#f2f4f7;color:#667085;font-size:12px}.file-type.zip{background:#eaf3ff;color:#1677ff}.file-type.dir{background:#fff4e8;color:#d97706}
.security-tip{border-radius:5px;padding:9px 11px;font-size:12px}.protected-list{margin-top:12px}
.loginbox{border-radius:8px}.loginhero{padding:40px}.loginhero h1{font-weight:500}.loginform h2{font-weight:500}
.user>div:last-child>span:first-child{display:block;font-size:12px;font-weight:400;color:#303846}.user>div:last-child>small{display:block;font-weight:400}
@media(max-width:900px){.archive-tools{grid-template-columns:1fr}}


/* ===== V4 配色与细节精修：靠近用户给出的 WebFTP 风格 ===== */
:root{
  --bg:#f2f4f7;
  --panel:#ffffff;
  --line:#dde3ea;
  --line2:#edf1f5;
  --text:#2f3640;
  --text2:#4f5b67;
  --muted:#8a97a6;
  --blue:#1f2937;
  --blue2:#111827;
  --blue-soft:#eff3f6;
  --nav:#1e2732;
  --nav-hover:#263241;
  --green:#25a43b;
  --green-soft:#eaf8ee;
  --red:#e25555;
  --red-soft:#fff2f2;
  --orange:#d98a1d;
  --orange-soft:#fff4e5;
}
html,body,button,input,select,textarea{
  font-family:"Microsoft YaHei","微软雅黑",Arial,sans-serif !important;
}
body{background:var(--bg);color:var(--text);font-weight:400}
.layout{grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;background:var(--bg)}

/* 顶部整体深色，不做分隔线感 */
.top{
  height:56px;
  background:linear-gradient(90deg,#1c2430 0%, #202a37 60%, #202a37 100%);
  color:#eef3f7;
  border-bottom:none !important;
  box-shadow:none !important;
}
.brand{
  width:220px;height:56px;
  background:transparent !important;
  border-right:none !important;
  box-shadow:none !important;
  color:#ffffff;
  padding:0 14px 0 12px;
}
.logo{
  width:30px;height:30px;border-radius:6px;
  background:#2d89ff;
  box-shadow:none;
  font-weight:600;
}
.brand b{font-size:13px;font-weight:600;line-height:1.25;color:#fff}
.brand small{font-size:12px;color:#9db0c4;line-height:1.2;margin-top:0;font-weight:400}
.top-center{padding:0 12px}
.global-search{
  width:100%;max-width:430px;width:min(430px,100%);height:32px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.06);
  color:#aab6c3;border-radius:4px;
}
.global-search input{color:#eef3f7}
.global-search input::placeholder{color:#97a6b5}
.global-search:focus-within{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.12);box-shadow:none}
.search-key{color:#93a0ad;font-size:12px;font-weight:400}
.topright{gap:6px;padding-right:12px}
.topbtn,.iconbtn{
  height:30px;border-radius:4px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#dbe4ec;
}
.topbtn{padding:0 10px;font-size:12px;font-weight:400}
.iconbtn{width:30px}
.topbtn:hover,.iconbtn:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.12);color:#fff}
.user{border-left:none;padding-left:4px;gap:7px;margin-left:2px}
.avatar{width:28px;height:28px;background:#eaf3ff;color:#2170ff;font-weight:600}
.user>div:last-child>span:first-child{color:#edf2f7;font-size:12px;font-weight:400}
.user>div:last-child>small{color:#9cadbe;font-size:12px;font-weight:400}

/* 左侧导航与顶部连成一体，滚动条更隐蔽 */
.sidebar{
  background:#1e2732 !important;
  height:calc(100vh - 56px);
  position:sticky;top:56px;
  overflow-y:auto;overflow-x:hidden;
  padding:9px 7px 18px 8px;
  border-right:none !important;
  scrollbar-width:thin;
  scrollbar-color:#465667 transparent;
}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:#465667;border-radius:6px}
.sidebar::-webkit-scrollbar-thumb:hover{background:#556678}
.group{margin-bottom:8px}
.group-title{
  padding:8px 10px 4px;
  font-size:12px;
  color:#8ea0b2;
  font-weight:400;
}
.nav{
  height:35px;
  margin:1px 0;
  border-radius:4px;
  padding:0 10px;
  color:#c3ced8;
  font-size:12px;
  font-weight:400;
}
.nav i{width:16px;height:16px}
.nav svg{width:15px;height:15px;stroke-width:1.5}
.nav:hover{background:#293544;color:#fff}
.nav.active{background:#2e3c4d;color:#fff}
.nav.active:before{left:-8px;top:9px;bottom:9px;width:2px;background:#25a43b}
.nav span{font-weight:400}

/* 主区域、卡片、按钮更贴近截图风格 */
.main{padding:16px 18px 24px;background:var(--bg)}
.pagehead{margin-bottom:12px;min-height:38px}
.pagehead h1{font-size:18px;font-weight:500;color:#2f3640;margin:0 0 2px}
.crumb{font-size:12px;color:#8d98a5;font-weight:400}
.badge{
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:3px 8px;font-size:12px;color:#55606c;font-weight:400
}
.grid{gap:10px}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  box-shadow:none;
}
.card-title{
  height:40px;padding:0 12px;
  border-bottom:1px solid var(--line2);
  font-size:12px;font-weight:500;color:#313843
}
.card-title .muted{font-weight:400}
.card-body{padding:12px}

.summary{border-radius:4px;box-shadow:none;border:1px solid var(--line)}
.summary-main{padding:16px 18px}
.summary-title h2{font-size:20px;font-weight:500;color:#2f3640}
.status-ok{background:#ebf8ef;color:#289842;font-size:12px;font-weight:400;border-radius:4px}
.summary-sub{font-size:12px;color:#8390a0}
.summary-meta{gap:20px;margin-top:12px}
.summary-meta span{font-size:12px;font-weight:400;color:#8a97a6}
.summary-meta b{font-size:12px;font-weight:400;color:#47515d}
.summary-actions{margin-top:12px;gap:7px}
.summary-side{background:#f7f8fa;border-left:1px solid var(--line);padding:12px;gap:7px}
.summary-item{border:1px solid var(--line);border-radius:4px;padding:10px;background:#fff}
.summary-item span{font-size:12px;font-weight:400;color:#8a97a6}
.summary-item strong{font-size:15px;font-weight:400;color:#3b4450}

.metrics{gap:10px}
.metric{border-radius:4px;box-shadow:none;padding:12px;gap:10px;background:#fff;border:1px solid var(--line)}
.metric-icon{width:34px;height:34px;border-radius:4px;font-weight:400}
.metric span{font-size:12px;font-weight:400;color:#8a97a6}
.metric strong{font-size:16px;font-weight:400;color:#3b4450}
.metric small{font-size:12px;font-weight:400;color:#9aa5b1}

.quick-grid{gap:8px}
.quick{border-radius:4px;padding:10px;border:1px solid var(--line);background:#fff;min-height:60px}
.quick:hover{border-color:#cfd6de;background:#fafbfc}
.quick b{font-size:12px;font-weight:400;color:#2f3640;margin-bottom:2px}
.quick small{font-size:12px;font-weight:400;color:#8d98a5;line-height:1.55}
.info-row{padding:8px 0;border-bottom:1px dashed #e7ebf0}
.info-row span{font-size:12px;font-weight:400;color:#778392}
.info-row b,.info-value{font-size:12px;font-weight:400;color:#43505d}
.resource-head{font-size:12px;font-weight:400}
.resource-head span:last-child{color:#8d98a5}
.progress{height:6px;background:#eef2f5}
.progress i{background:#25a43b}.progress.green i{background:#25a43b}.progress.orange i{background:#d98a1d}
.sec-row{padding:8px 9px;border-radius:4px;background:#fff;border:1px solid var(--line2);font-weight:400}
.sec-row em{font-size:12px;font-weight:400;color:#25a43b}
.notice-row{padding:8px 0;font-size:12px}
.tag{padding:2px 6px;border-radius:4px;background:#f2f4f7;font-size:12px;font-weight:400}

.toolbar{margin-bottom:10px;gap:7px}
.left,.right{gap:7px}
.btn{
  height:30px;padding:0 11px;border-radius:4px;
  background:#fff;border:1px solid #d6dde5;color:#475463;
  font-size:12px;font-weight:400;box-shadow:none
}
.btn:hover{background:#fafbfc;border-color:#c7d0da;color:#3d4854}
.btn.primary{background:#25a43b;border-color:#25a43b;color:#fff;font-weight:400}
.btn.primary:hover{background:#229637;border-color:#229637;color:#fff}
.btn.danger{background:#fff;border-color:#f0c3c3;color:#d95353}
.input{
  height:30px;padding:0 9px;border-radius:4px;
  background:#fff;border:1px solid #d6dde5;color:#475463;
  font-size:12px;font-weight:400
}
.input:hover{border-color:#c9d1da}
.input:focus{border-color:#9db2c7;box-shadow:none}
textarea.input{padding:8px 9px;line-height:1.65}
.form{grid-template-columns:160px 1fr}
.fl,.fc{padding:10px 12px;font-size:12px}
.fl{background:#fafbfc;color:#687482;font-weight:400}
.fc{font-weight:400;color:#3f4956}
.form-note,.help,.archive-note{font-size:12px;font-weight:400;color:#8b96a3;line-height:1.7}
.switch{font-size:12px;font-weight:400}
.toggle{width:34px;height:18px;background:#cdd4dc}
.toggle:after{width:14px;height:14px}
.toggle.on{background:#25a43b}.toggle.on:after{left:18px}
.alert{font-size:12px;font-weight:400;border-radius:4px}
.pager{gap:4px;margin-top:10px}
.pager a{width:26px;min-width:26px;height:26px;border-radius:4px;font-size:12px;font-weight:400}
.pager a.on{background:#25a43b;border-color:#25a43b;color:#fff}

.table-wrap{border-radius:4px;background:#fff}
table{font-size:12px}
th,td{padding:8px 10px;height:36px;font-weight:400}
th{background:#f6f7f9;color:#657180;font-size:12px;font-weight:400}
td{color:#42505c;font-size:12px;font-weight:400}
tbody tr:hover td{background:#fbfbfc}
.act a{font-size:12px;font-weight:400}
.log-title-left{gap:7px}
.log-icon{width:22px;height:22px;border-radius:4px;background:#eef2f5;color:#5e6c79;font-size:12px;font-weight:400}
.log-filter{gap:6px}
.log-summary{gap:10px;margin-bottom:8px;font-size:12px;font-weight:400;color:#8a97a6}
.log-summary b{font-weight:400;color:#55606c}
.log-result,.log-result.ok,.log-result.fail{font-size:12px;font-weight:400}

/* 小于12px的字一律不加粗 */
small,
.search-key,
.brand small,
.crumb,
.badge,
.metric span,
.metric small,
.summary-meta span,
.summary-meta b,
.summary-item span,
.status-ok,
.quick small,
.resource-head,
.sec-row em,
.notice-row small,
.tag,
.form-note,
.help,
.archive-note,
.table-wrap th,
.act a,
.log-summary,
.log-summary b,
.log-result,
.pager a,
.group-title,
.user small,
.field label,
.login-point small,
.footer-note,
.file-type{
  font-weight:400 !important;
}

/* 在线压缩解压页面继续贴近业务场景 */
.archive-tools{gap:10px;margin-bottom:12px}
.archive-box{background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px}
.archive-box-title{font-size:13px;font-weight:500;color:#313843;margin-bottom:7px}
.archive-box-title .archive-ico{width:26px;height:26px;border-radius:4px;background:#eef2f5;color:#5a6877;font-size:12px;font-weight:400}
.archive-box p{font-size:12px;font-weight:400;color:#8b96a3;line-height:1.7;margin:0 0 10px}
.archive-form-row{gap:7px;margin-bottom:8px}
.file-type{min-width:32px;padding:1px 5px;border-radius:4px;background:#f1f3f5;color:#6d7784}
.file-type.zip{background:#eef7ef;color:#289842}
.file-type.dir{background:#fff2e2;color:#c57a11}

.security-tip{border-radius:4px;background:#f7fafc;border:1px solid #e3e8ee;font-size:12px;font-weight:400;color:#54606d}
.security-tip .tip-icon{width:18px;height:18px;background:#eef2f5;color:#647280;font-size:12px;font-weight:400}
.status-small{font-size:12px;font-weight:400;color:#25a43b}
.status-small:before{width:6px;height:6px;background:#25a43b}
.danger-note{font-size:12px;font-weight:400}

/* 登录页 */
.login{background:#eef1f4}
.loginbox{border-radius:4px;box-shadow:none;border:1px solid var(--line)}
.loginhero{background:linear-gradient(145deg,#1e2732,#263241);padding:36px}
.loginhero h1{font-size:24px;font-weight:500}
.loginhero p{font-size:12px;color:#b6c1cc}
.login-point{border-radius:4px;background:rgba(255,255,255,.04);padding:10px}
.login-point b{font-size:12px;font-weight:400}
.login-point small{font-size:12px;font-weight:400}
.loginform{padding:40px 36px}
.loginform h2{font-size:22px;font-weight:500}
.footer-note{font-size:12px;font-weight:400}

@media(max-width:1080px){
  .top-center{display:none}
}
@media(max-width:760px){
  .layout{grid-template-columns:68px 1fr}
  .brand{width:68px;padding:0 19px}
  .brand .brand-text,.group-title,.nav span{display:none}
  .nav{justify-content:center}
  .main{padding:14px}
  .quick-grid{grid-template-columns:1fr 1fr}
  .archive-tools{grid-template-columns:1fr}
}


/* ===== V5 字体体系升级：14px 基准 ===== */
html,body,button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","微软雅黑","Helvetica Neue",Arial,sans-serif !important;
}
html,body{
  font-size:14px;
  line-height:1.7;
}
body{font-weight:400}

/* 顶部 */
.brand b{font-size:14px;font-weight:500}
.brand small{font-size:12px;font-weight:400}
.topbtn{font-size:13px}
.global-search input{font-size:13px}
.search-key{font-size:12px;font-weight:400}
.user>div:last-child>span:first-child{font-size:13px;font-weight:400}
.user>div:last-child>small{font-size:12px;font-weight:400}

/* 左侧导航 */
.group-title{font-size:12px;font-weight:400}
.nav{font-size:13px;font-weight:400}

/* 页面层级 */
.pagehead h1{font-size:20px;font-weight:500;line-height:1.45}
.crumb{font-size:12px;font-weight:400}
.badge{font-size:12px;font-weight:400}
.card-title{font-size:13px;font-weight:500}
.card-title .muted{font-size:12px;font-weight:400}

/* 首页 */
.summary-title h2{font-size:22px;font-weight:500}
.summary-sub{font-size:13px}
.status-ok{font-size:12px;font-weight:400}
.summary-meta span{font-size:12px;font-weight:400}
.summary-meta b{font-size:13px;font-weight:400}
.summary-item span{font-size:12px;font-weight:400}
.summary-item strong{font-size:16px;font-weight:400}
.metric span{font-size:12px;font-weight:400}
.metric strong{font-size:18px;font-weight:400}
.metric small{font-size:12px;font-weight:400}
.info-row span,.info-row b,.info-value{font-size:13px;font-weight:400}
.quick b{font-size:13px;font-weight:400}
.quick small{font-size:12px;font-weight:400}
.resource-head{font-size:12px;font-weight:400}
.sec-row{font-size:13px;font-weight:400}
.sec-row em{font-size:12px;font-weight:400}
.notice-row{font-size:13px}
.notice-row small{font-size:12px;font-weight:400}
.tag{font-size:12px;font-weight:400}

/* 控件 */
.btn{font-size:13px;font-weight:400}
.input{font-size:13px;font-weight:400}
.fl,.fc{font-size:13px;font-weight:400}
.form-note,.help,.archive-note{font-size:12px;font-weight:400}
.switch{font-size:13px;font-weight:400}
.alert{font-size:13px;font-weight:400}

/* 表格 */
table{font-size:13px}
th{font-size:12px;font-weight:400}
td{font-size:13px;font-weight:400}
.act a{font-size:12px;font-weight:400}
.file-type{font-size:12px;font-weight:400}

/* 日志 */
.log-summary{font-size:12px;font-weight:400}
.log-summary b{font-weight:400}
.log-result{font-size:12px;font-weight:400}
.pager a{font-size:12px;font-weight:400}

/* 压缩解压 */
.archive-box-title{font-size:14px;font-weight:500}
.archive-box-title .archive-ico{font-size:12px;font-weight:400}
.archive-box p{font-size:12px;font-weight:400}

/* 后台保护 */
.security-tip{font-size:13px;font-weight:400}
.security-tip .tip-icon{font-size:12px;font-weight:400}
.status-small{font-size:12px;font-weight:400}
.danger-note{font-size:12px;font-weight:400}

/* 登录 */
.loginhero h1{font-size:26px;font-weight:500}
.loginhero p{font-size:13px;font-weight:400}
.login-point b{font-size:12px;font-weight:400}
.login-point small{font-size:12px;font-weight:400}
.loginform h2{font-size:23px;font-weight:500}
.field label{font-size:13px;font-weight:400}
.footer-note{font-size:12px;font-weight:400}

/* 小于 12px 的文字强制不加粗 */
small,
.search-key,
.brand small,
.crumb,
.card-title .muted,
.status-ok,
.summary-meta span,
.summary-item span,
.metric span,
.metric small,
.quick small,
.sec-row em,
.notice-row small,
.tag,
.form-note,
.help,
.archive-note,
.file-type,
.log-summary,
.log-summary b,
.log-result,
.pager a,
.group-title,
.user small,
.login-point small,
.footer-note{
  font-weight:400 !important;
}

/* 14px 基准后同步增大控件高度 */
.top{height:58px}
.layout{grid-template-rows:58px 1fr}
.brand{height:58px}
.sidebar{height:calc(100vh - 58px);top:58px}
.nav{height:37px}
.global-search{height:34px}
.topbtn,.iconbtn{height:32px}
.btn{height:32px}
.input{height:32px}
th,td{height:38px}
.card-title{height:42px}


/* ===== V6：减少单调感 + 操作按钮化 + 空间容量页增强 ===== */

/* 卡片标题增加非常轻的层次，不做花哨渐变 */
.card-title{
  background:#fbfcfd;
}
.card-title>span:first-child,
.card-title>.log-title-left{
  position:relative;
}
.card-title>span:first-child:before,
.card-title>.log-title-left:before{
  content:"";
  display:inline-block;
  width:3px;
  height:14px;
  margin-right:7px;
  vertical-align:-2px;
  border-radius:2px;
  background:#25a43b;
}
.card-title>.log-title-left:before{
  margin-right:0;
}

/* 工具栏适当形成操作区，不再显得页面全是白块 */
.toolbar{
  padding:8px 9px;
  background:#fafbfc;
  border:1px solid #e7ebf0;
  border-radius:4px;
}
.card-body>.toolbar:first-child{
  margin-top:-1px;
}

/* 表格操作列统一小按钮化 */
.act{
  white-space:nowrap;
}
.act a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:26px;
  padding:0 8px;
  margin-right:5px;
  border:1px solid #d8dee6;
  border-radius:4px;
  background:#fff;
  color:#4e5b68;
  font-size:12px;
  font-weight:400;
  line-height:24px;
  cursor:pointer;
  transition:.15s;
}
.act a:hover{
  background:#f7f9fb;
  border-color:#bac6d2;
  color:#28323d;
}
.act a:first-child{
  border-color:#b9ddbf;
  color:#238a36;
  background:#f7fcf8;
}
.act a:first-child:hover{
  background:#eef9f0;
  border-color:#91cb9b;
}
.act a[style*="f53f3f"],
.act a[style*="e55757"],
.act a[style*="red"]{
  border-color:#efc5c5 !important;
  color:#d84c4c !important;
  background:#fffafa !important;
}
.act a[style*="f53f3f"]:hover,
.act a[style*="e55757"]:hover,
.act a[style*="red"]:hover{
  background:#fff1f1 !important;
  border-color:#e7a9a9 !important;
}

/* 表单页面加入更明确的内容区层次 */
.form{
  background:#fff;
}
.form .fl{
  color:#596675;
}
.form .fc{
  min-height:44px;
}

/* 状态标签 */
.state-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:24px;
  padding:0 8px;
  border-radius:12px;
  font-size:12px;
  font-weight:400;
}
.state-pill.ok{
  background:#edf8ef;
  color:#238a36;
}
.state-pill.warn{
  background:#fff6e8;
  color:#b87517;
}
.state-pill.gray{
  background:#f1f3f5;
  color:#66717d;
}

/* 容量详情 */
.storage-overview{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:10px;
}
.storage-stat{
  position:relative;
  padding:14px 15px;
  background:#fff;
  border:1px solid #e2e7ed;
  border-radius:5px;
  overflow:hidden;
}
.storage-stat:after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:#d7dde5;
}
.storage-stat.used:after{background:#25a43b}
.storage-stat.free:after{background:#4c91d9}
.storage-stat.rate:after{background:#d98a1d}
.storage-stat .label{
  color:#7f8b98;
  font-size:12px;
  font-weight:400;
  margin-bottom:4px;
}
.storage-stat .value{
  color:#303943;
  font-size:22px;
  line-height:1.25;
  font-weight:400;
}
.storage-stat .sub{
  margin-top:4px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.storage-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:10px;
  margin-bottom:10px;
}
.storage-bar-wrap{
  padding:4px 0 2px;
}
.storage-bar{
  display:flex;
  width:100%;
  height:14px;
  overflow:hidden;
  border-radius:7px;
  background:#edf1f4;
  margin:13px 0 12px;
}
.storage-bar span{display:block;height:100%}
.storage-bar .web{width:12.8%;background:#25a43b}
.storage-bar .log{width:3.86%;background:#4c91d9}
.storage-bar .backup{width:1.74%;background:#d98a1d}
.storage-bar .other{width:1%;background:#9aa6b2}
.storage-legend{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.storage-legend-item{
  display:flex;
  align-items:center;
  gap:7px;
  color:#66717d;
  font-size:12px;
  font-weight:400;
}
.storage-legend-item i{
  width:8px;height:8px;border-radius:2px;
  display:block;
}
.storage-legend-item .web{background:#25a43b}
.storage-legend-item .log{background:#4c91d9}
.storage-legend-item .backup{background:#d98a1d}
.storage-legend-item .other{background:#9aa6b2}
.storage-category-list{
  display:grid;
  gap:7px;
}
.storage-category{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e8ecf1;
  border-radius:4px;
  background:#fff;
}
.storage-category:hover{
  background:#fbfcfd;
}
.storage-category .name{
  color:#4d5966;
  font-size:13px;
  font-weight:400;
}
.storage-category .name small{
  display:block;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
  margin-top:1px;
}
.storage-category .size{
  color:#3d4854;
  font-size:13px;
  font-weight:400;
  text-align:right;
}
.storage-category .percent{
  display:block;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.disk-tip{
  padding:10px 12px;
  border:1px solid #dce9df;
  background:#f7fbf8;
  color:#5d6b61;
  border-radius:4px;
  font-size:12px;
  font-weight:400;
  line-height:1.75;
}
.path-cell{
  color:#33404d;
}
.size-bar{
  width:120px;
  height:6px;
  background:#edf1f4;
  border-radius:4px;
  overflow:hidden;
}
.size-bar i{
  display:block;
  height:100%;
  background:#25a43b;
  border-radius:4px;
}

/* 页面按钮稍有层次，但仍保持克制 */
.btn.soft-green{
  color:#238a36;
  border-color:#b9ddbf;
  background:#f6fbf7;
}
.btn.soft-green:hover{
  background:#edf8ef;
  border-color:#99cc9f;
}

/* 空间容量详情响应式 */
@media(max-width:1100px){
  .storage-overview{grid-template-columns:repeat(2,1fr)}
  .storage-layout{grid-template-columns:1fr}
}
@media(max-width:650px){
  .storage-overview{grid-template-columns:1fr}
  .storage-legend{grid-template-columns:1fr 1fr}
}

/* 11px及以下仍保持常规字重 */
.storage-stat .sub,
.storage-category .name small,
.storage-category .percent{
  font-weight:400 !important;
}


/* ===== V7：首页资料复制 / 安全状态 / 域名管理精修 ===== */

/* 主机资料：复制按钮仅悬停时出现 */
.info-row{
  position:relative;
  min-height:38px;
  align-items:center;
}
.info-value{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
}
.copy-hover{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 7px;
  border:1px solid #d8dee6;
  border-radius:4px;
  background:#fff;
  color:#5b6672;
  font-size:12px;
  font-weight:400;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateX(3px);
  transition:opacity .15s,visibility .15s,transform .15s,border-color .15s,color .15s;
}
.info-row:hover .copy-hover{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
}
.copy-hover:hover{
  color:#238a36;
  border-color:#a9d5b0;
  background:#f7fcf8;
}
.secret-value{
  letter-spacing:1px;
  color:#65717d;
}

/* 首页安全状态：独立视觉 */
.security-overview{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:12px;
  align-items:stretch;
}
.security-score{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:150px;
  border:1px solid #dfe8e1;
  border-radius:5px;
  background:#f8fcf9;
}
.security-ring{
  width:66px;
  height:66px;
  border:6px solid #dff0e3;
  border-top-color:#25a43b;
  border-right-color:#25a43b;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#238a36;
  font-size:18px;
  font-weight:500;
  transform:rotate(-12deg);
}
.security-ring span{
  transform:rotate(12deg);
}
.security-score .text{
  margin-top:8px;
  color:#2d7e3b;
  font-size:13px;
  font-weight:400;
}
.security-score .sub{
  margin-top:2px;
  color:#8b978f;
  font-size:12px;
  font-weight:400;
}
.security-items{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.security-item{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px;
  border:1px solid #e7ebef;
  border-radius:5px;
  background:#fff;
}
.security-item:hover{
  background:#fbfcfd;
}
.security-item-icon{
  width:30px;
  height:30px;
  border-radius:5px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#edf8ef;
  color:#25a43b;
  font-size:13px;
}
.security-item-main{
  min-width:0;
  flex:1;
}
.security-item-main .name{
  color:#414d59;
  font-size:12px;
  font-weight:400;
}
.security-item-main .desc{
  margin-top:1px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.security-item-state{
  color:#25a43b;
  font-size:12px;
  font-weight:400;
  white-space:nowrap;
}

/* 首页取消流量后，指标与资源重新布局 */
.metrics.metrics-3{
  grid-template-columns:repeat(3,1fr);
}
.resource.resource-2{
  gap:18px;
  padding-top:2px;
  padding-bottom:2px;
}

/* 域名管理概览 */
.domain-overview{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:10px;
}
.domain-stat{
  padding:12px 13px;
  border:1px solid #e2e7ed;
  border-radius:5px;
  background:#fff;
}
.domain-stat .label{
  color:#8995a2;
  font-size:12px;
  font-weight:400;
}
.domain-stat .value{
  margin-top:2px;
  color:#34404c;
  font-size:20px;
  line-height:1.3;
  font-weight:400;
}
.domain-stat .desc{
  margin-top:3px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.domain-stat.green{
  border-top:2px solid #25a43b;
}
.domain-stat.blue{
  border-top:2px solid #4c91d9;
}
.domain-stat.orange{
  border-top:2px solid #d98a1d;
}
.domain-stat.gray{
  border-top:2px solid #8e9aa6;
}

/* 添加域名区域 */
.domain-add-box{
  padding:12px;
  margin-bottom:10px;
  border:1px solid #dde5df;
  border-radius:5px;
  background:#f9fcfa;
}
.domain-add-title{
  margin-bottom:8px;
  color:#394550;
  font-size:13px;
  font-weight:500;
}
.domain-add-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 150px auto;
  gap:8px;
  align-items:center;
}
.domain-add-row .input{
  width:100%;
}
.domain-add-help{
  margin-top:7px;
  color:#8e99a5;
  font-size:12px;
  font-weight:400;
}

/* 域名表格展示 */
.domain-cell{
  display:flex;
  align-items:center;
  gap:8px;
}
.domain-icon{
  width:28px;
  height:28px;
  border-radius:5px;
  background:#eef2f5;
  color:#64717e;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:12px;
}
.domain-name{
  color:#36424e;
  font-size:13px;
  font-weight:400;
}
.domain-sub{
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
  margin-top:1px;
}
.domain-badge{
  display:inline-flex;
  align-items:center;
  height:23px;
  padding:0 7px;
  border-radius:4px;
  font-size:12px;
  font-weight:400;
}
.domain-badge.main{
  color:#257839;
  background:#edf8ef;
}
.domain-badge.alias{
  color:#4c6886;
  background:#eef4fa;
}
.domain-badge.sub{
  color:#9a6a20;
  background:#fff6e9;
}
.https-state{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#238a36;
  font-size:12px;
  font-weight:400;
}
.https-state:before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#25a43b;
}
.https-state.off{
  color:#8a96a2;
}
.https-state.off:before{
  background:#b8c0c9;
}

/* 域名工具栏 */
.domain-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 9px;
  margin-bottom:10px;
  background:#fafbfc;
  border:1px solid #e7ebf0;
  border-radius:4px;
}
.domain-filter{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}

/* 小于12px字不加粗 */
.copy-hover,
.security-score .sub,
.security-item-main .desc,
.security-item-state,
.domain-stat .label,
.domain-stat .desc,
.domain-add-help,
.domain-sub,
.domain-badge{
  font-weight:400 !important;
}

@media(max-width:1100px){
  .metrics.metrics-3{grid-template-columns:1fr 1fr 1fr}
  .domain-overview{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  .security-overview{grid-template-columns:1fr}
  .security-score{min-height:120px}
  .domain-add-row{grid-template-columns:1fr}
}
@media(max-width:650px){
  .metrics.metrics-3{grid-template-columns:1fr}
  .domain-overview{grid-template-columns:1fr}
  .security-items{grid-template-columns:1fr}
}


/* ===== V8：首页主机资料 / 基本信息精修 ===== */

/* 顶部摘要区细化为“基本信息 + 套餐信息” */
.summary-main{
  padding:18px 20px 16px;
}
.summary-title{
  align-items:center;
  gap:9px;
}
.summary-title h2{
  font-size:22px;
  letter-spacing:.2px;
}
.summary-sub{
  margin-top:6px;
}
.basic-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:15px;
}
.basic-meta-card{
  padding:11px 12px;
  background:#f8fafb;
  border:1px solid #e7ecf1;
  border-radius:5px;
}
.basic-meta-card .label{
  color:#8d98a5;
  font-size:12px;
  font-weight:400;
}
.basic-meta-card .value{
  margin-top:4px;
  color:#36414d;
  font-size:15px;
  line-height:1.35;
  font-weight:400;
}
.basic-meta-card .value.small{
  font-size:14px;
}
.summary-actions{
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed #e7ebf0;
}

.summary-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:9px;
  padding:14px 12px;
}
.summary-side-top{
  margin-bottom:1px;
  color:#7e8a97;
  font-size:12px;
  font-weight:400;
}
.plan-card{
  padding:12px;
  border:1px solid #dfe6ec;
  border-radius:5px;
  background:#fff;
}
.plan-card .plan-name{
  color:#33404d;
  font-size:15px;
  font-weight:500;
}
.plan-card .plan-sub{
  margin-top:3px;
  color:#95a0ac;
  font-size:12px;
  font-weight:400;
}
.plan-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
}
.plan-feature{
  padding:8px 9px;
  border-radius:4px;
  background:#f8fafb;
  border:1px solid #e8edf2;
}
.plan-feature .k{
  color:#8a96a2;
  font-size:12px;
  font-weight:400;
}
.plan-feature .v{
  margin-top:2px;
  color:#404b57;
  font-size:13px;
  font-weight:400;
}

/* 主机资料块重做 */
.host-profile{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:2px 0 12px;
  margin-bottom:4px;
  border-bottom:1px dashed #e8edf2;
}
.host-profile-left{
  min-width:0;
}
.host-profile-title{
  color:#313b46;
  font-size:16px;
  font-weight:500;
}
.host-profile-sub{
  margin-top:3px;
  color:#8f9aa6;
  font-size:12px;
  font-weight:400;
}
.host-profile-tags{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.mini-tag{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 8px;
  border:1px solid #dbe3ea;
  border-radius:12px;
  background:#fff;
  color:#596573;
  font-size:12px;
  font-weight:400;
}
.mini-tag.green{
  border-color:#bfe0c4;
  background:#f5fbf6;
  color:#238a36;
}

.host-sections{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.host-section{
  border:1px solid #e6ebf0;
  border-radius:5px;
  background:#fff;
  overflow:hidden;
}
.host-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  background:#fbfcfd;
  border-bottom:1px solid #eef2f5;
}
.host-section-title{
  color:#394450;
  font-size:13px;
  font-weight:500;
}
.host-section-desc{
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.host-section-body{
  padding:2px 12px;
}
.host-kv{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:9px 0;
  border-bottom:1px dashed #ecf0f3;
}
.host-kv:last-child{
  border-bottom:0;
}
.host-kv .k{
  color:#74808d;
  font-size:13px;
  font-weight:400;
}
.host-kv .v{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
  color:#3f4b57;
  font-size:13px;
  font-weight:400;
  text-align:right;
}
.host-kv .v.status-green{
  color:#25a43b;
}
.host-kv .v.masked{
  letter-spacing:1px;
  color:#707c89;
}
.host-kv .v.wrap{
  flex-wrap:wrap;
}
.host-inline-note{
  margin-top:10px;
  padding:9px 10px;
  border:1px solid #e7edf3;
  border-radius:5px;
  background:#fafcfd;
  color:#7f8b97;
  font-size:12px;
  font-weight:400;
  line-height:1.75;
}

/* 悬停复制在新布局中适配 */
.host-kv .copy-hover{
  margin-left:2px;
}

@media(max-width:1200px){
  .basic-meta-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:900px){
  .host-sections{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .basic-meta-grid{
    grid-template-columns:1fr;
  }
  .plan-features{
    grid-template-columns:1fr 1fr;
  }
}


/* ===== V9：首页“基本信息 / 主机资料”重新设计 ===== */

/* 顶部概览改成更清晰的服务摘要结构 */
.summary.service-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);
  gap:0;
  overflow:hidden;
}
.summary.service-hero .summary-main{
  padding:20px 22px 18px;
}
.summary.service-hero .summary-side{
  border-left:1px solid #e6ebf1;
  background:linear-gradient(180deg,#fafbfd 0%, #f5f8fb 100%);
  padding:18px 16px;
}

.hero-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.hero-site{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.hero-site-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  background:linear-gradient(145deg,#2f7cf6,#25a43b);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:16px;
  font-weight:600;
  box-shadow:0 8px 18px rgba(47,124,246,.14);
  flex:0 0 auto;
}
.hero-site-title{
  min-width:0;
}
.hero-site-title h2{
  margin:0;
  font-size:24px;
  font-weight:500;
  color:#2e3742;
  line-height:1.35;
}
.hero-site-title p{
  margin:3px 0 0;
  color:#8e99a5;
  font-size:12px;
  font-weight:400;
}
.hero-badges{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.hero-badge{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 10px;
  border-radius:14px;
  background:#f1f6ff;
  border:1px solid #dce8ff;
  color:#4b6b8a;
  font-size:12px;
  font-weight:400;
}
.hero-badge.ok{
  background:#eef8f0;
  border-color:#cde7d2;
  color:#238a36;
}
.hero-intro{
  padding:12px 14px;
  border:1px solid #e7edf3;
  border-radius:8px;
  background:#fafcfd;
  color:#5c6875;
  font-size:13px;
  line-height:1.8;
  font-weight:400;
}
.basic-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.basic-info-item{
  position:relative;
  padding:12px 13px;
  border:1px solid #e6ebf0;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.basic-info-item::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  border-radius:3px;
  background:#e3e8ef;
}
.basic-info-item.blue::before{background:#4c91d9}
.basic-info-item.green::before{background:#25a43b}
.basic-info-item.orange::before{background:#d98a1d}
.basic-info-item.gray::before{background:#94a0ad}
.basic-info-item .k{
  color:#8c97a4;
  font-size:12px;
  font-weight:400;
}
.basic-info-item .v{
  margin-top:5px;
  color:#36414c;
  font-size:16px;
  line-height:1.4;
  font-weight:400;
  word-break:break-all;
}
.basic-info-item .s{
  margin-top:3px;
  color:#a0aab5;
  font-size:12px;
  font-weight:400;
}
.hero-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:13px;
  border-top:1px dashed #e7edf3;
}
.hero-actions .btn{
  min-width:94px;
}

.service-panel-title{
  color:#7f8a97;
  font-size:12px;
  font-weight:400;
  margin-bottom:8px;
}
.service-health{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 14px;
  border:1px solid #dfebe2;
  border-radius:10px;
  background:linear-gradient(180deg,#fbfefb 0%,#f3faf5 100%);
}
.service-health-left .t{
  color:#2f7e3d;
  font-size:14px;
  font-weight:500;
}
.service-health-left .d{
  margin-top:3px;
  color:#8b988f;
  font-size:12px;
  font-weight:400;
}
.health-score{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  border:5px solid #d9efde;
  color:#25a43b;
  background:#fff;
  font-size:14px;
  font-weight:500;
}
.service-mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.service-mini{
  padding:10px 11px;
  border:1px solid #e6ebf1;
  border-radius:8px;
  background:#fff;
}
.service-mini .k{
  color:#8d98a5;
  font-size:12px;
  font-weight:400;
}
.service-mini .v{
  margin-top:4px;
  color:#37424e;
  font-size:14px;
  font-weight:400;
}
.service-tips{
  margin-top:10px;
  padding:10px 11px;
  border-radius:8px;
  border:1px solid #e7edf2;
  background:#fff;
}
.service-tips .tip{
  display:flex;
  align-items:flex-start;
  gap:7px;
  color:#697583;
  font-size:12px;
  line-height:1.75;
  font-weight:400;
}
.service-tips .tip + .tip{
  margin-top:6px;
}
.service-tips .dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#25a43b;
  margin-top:7px;
  flex:0 0 auto;
}

/* 主机资料区域重新设计为分组卡片 */
.host-data-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.host-data-card{
  border:1px solid #e5ebf1;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.host-data-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 13px;
  background:linear-gradient(180deg,#fbfcfd 0%, #f7f9fb 100%);
  border-bottom:1px solid #edf1f5;
}
.host-data-head-left{
  display:flex;
  align-items:center;
  gap:9px;
}
.host-data-icon{
  width:30px;
  height:30px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef4fa;
  color:#5a6b7b;
  font-size:13px;
  font-weight:500;
  flex:0 0 auto;
}
.host-data-icon.green{
  background:#eef8f0;
  color:#238a36;
}
.host-data-icon.orange{
  background:#fff6ea;
  color:#b97518;
}
.host-data-icon.gray{
  background:#f2f4f6;
  color:#6c7783;
}
.host-data-title{
  color:#3a4551;
  font-size:14px;
  font-weight:500;
}
.host-data-desc{
  margin-top:1px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.host-data-tag{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 8px;
  border-radius:12px;
  font-size:12px;
  font-weight:400;
  background:#f2f6fb;
  border:1px solid #e0e8f0;
  color:#617181;
}
.host-data-body{
  padding:4px 14px;
}
.data-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:10px 0;
  border-bottom:1px dashed #edf1f4;
}
.data-row:last-child{
  border-bottom:none;
}
.data-row .label{
  color:#74808d;
  font-size:13px;
  font-weight:400;
}
.data-row .value{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
  color:#3d4955;
  font-size:13px;
  font-weight:400;
  text-align:right;
  word-break:break-all;
}
.data-row .value.green{
  color:#25a43b;
}
.data-row .value.mask{
  color:#6c7885;
  letter-spacing:1px;
}
.data-note-box{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid #e8edf2;
  border-radius:8px;
  background:#fafcfd;
}
.data-note-box .note-title{
  color:#465260;
  font-size:13px;
  font-weight:500;
  margin-bottom:5px;
}
.data-note-box p{
  margin:0;
  color:#7f8b98;
  font-size:12px;
  line-height:1.8;
  font-weight:400;
}

@media(max-width:1200px){
  .basic-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .summary.service-hero{grid-template-columns:1fr}
  .summary.service-hero .summary-side{border-left:none;border-top:1px solid #e6ebf1}
  .host-data-shell{grid-template-columns:1fr}
}
@media(max-width:700px){
  .basic-info-grid{grid-template-columns:1fr}
  .service-mini-grid{grid-template-columns:1fr 1fr}
}


/* ===== V10：首页取消资源使用后的布局调整 ===== */
.host-data-shell{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.quick-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.security-overview{
  grid-template-columns:118px 1fr;
}
@media(max-width:980px){
  .host-data-shell{grid-template-columns:1fr}
  .quick-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .quick-grid{grid-template-columns:1fr}
}


/* ===== V11：首页整理：减法布局，降低杂乱感 ===== */
.home-page .grid{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.home-page .pagehead{
  margin-bottom:10px;
}
.home-page .summary.service-hero{
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);
}
.home-page .summary.service-hero .summary-main{
  padding:18px 20px 16px;
}
.home-page .summary.service-hero .summary-side{
  padding:16px 14px;
}
.home-page .hero-topline{
  margin-bottom:8px;
}
.home-page .hero-site-title h2{
  font-size:22px;
}
.home-page .hero-intro{
  padding:10px 12px;
  font-size:12px;
  line-height:1.75;
}
.home-page .basic-info-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.home-page .basic-info-item{
  padding:10px 11px;
  border-radius:6px;
}
.home-page .basic-info-item .k{
  font-size:12px;
}
.home-page .basic-info-item .v{
  font-size:15px;
  margin-top:4px;
}
.home-page .basic-info-item .s{
  display:none;
}
.home-page .hero-actions{
  margin-top:12px;
  padding-top:11px;
}
.home-page .hero-actions .btn{
  min-width:auto;
}
.home-page .service-mini-grid{
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.home-page .service-tips{
  display:none;
}

/* 主机资料更整齐 */
.home-page .host-data-shell{
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.home-page .host-data-card{
  border-radius:8px;
}
.home-page .host-data-head{
  padding:10px 12px;
}
.home-page .host-data-body{
  padding:3px 12px;
}
.home-page .data-row{
  min-height:42px;
  padding:8px 0;
}

/* 快捷操作与安全状态并排，形成单独信息层 */
.home-homegrid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:12px;
}
.home-quick-card .quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.home-quick-card .quick{
  min-height:66px;
  padding:10px 10px 9px;
}
.home-quick-card .quick b{
  display:block;
  margin-bottom:3px;
}

.home-security-card .security-overview{
  grid-template-columns:90px 1fr;
  gap:10px;
}
.home-security-card .security-score{
  min-height:136px;
}
.home-security-card .security-ring{
  width:60px;height:60px;font-size:16px;
}
.home-security-card .security-items{
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.home-security-card .security-item{
  padding:9px;
}

.home-log-card .card-body{
  padding-top:10px;
}
.home-log-card table th:nth-child(6),
.home-log-card table td:nth-child(6){
  display:none;
}

/* 删除多余间距 */
.home-page .metrics,
.home-page .c5.resource-card-removed{
  display:none !important;
}

@media (max-width: 1200px){
  .home-page .basic-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-homegrid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 900px){
  .home-page .summary.service-hero{
    grid-template-columns:1fr;
  }
  .home-page .host-data-shell{
    grid-template-columns:1fr;
  }
}
@media (max-width: 700px){
  .home-page .basic-info-grid{
    grid-template-columns:1fr;
  }
  .home-quick-card .quick-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-security-card .security-items{
    grid-template-columns:1fr;
  }
}


/* ===== V12：首页进一步整理：主机资料重排 / 安全状态上移 / 搜索修复 ===== */

/* 顶部搜索修复错位 */
.top-center{
  min-width: 320px;
}
.global-search{
  display:flex;
  align-items:center;
  gap:10px;
}
.global-search > span:first-child{
  flex:0 0 auto;
  line-height:1;
}
.global-search input{
  min-width:0;
  flex:1 1 auto;
}
.search-key{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:20px;
  padding:0 8px;
  white-space:nowrap;
  border-radius:4px;
  line-height:1;
}

/* 深色顶栏下的小提示块 */
.top .search-key{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#9fb0c1;
}

/* 首页重新梳理 */
.home-page .grid{
  gap:14px;
}
.home-page .summary.service-hero{
  grid-template-columns:minmax(0,1.6fr) 360px;
}
.home-page .summary.service-hero .summary-main{
  padding:18px 20px 16px;
}
.home-page .summary.service-hero .summary-side{
  padding:16px 15px;
}
.home-page .basic-info-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.home-page .hero-actions{
  margin-top:12px;
  padding-top:12px;
}
.home-page .hero-actions .btn{
  min-width:88px;
}
.home-page .service-panel-title{
  margin-bottom:8px;
}
.home-page .service-health{
  border-color:#dfe7e2;
}
.home-page .service-mini-grid{
  margin-top:8px;
}
.home-page .service-tips{
  display:block;
  margin-top:8px;
  padding:9px 10px;
  border-radius:8px;
}

/* 安全状态列表（放到原主机健康位置） */
.security-brief{
  display:grid;
  gap:7px;
  margin-top:10px;
}
.security-brief-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e6ebf0;
  border-radius:8px;
  background:#fff;
}
.security-brief-left{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.security-brief-icon{
  width:26px;
  height:26px;
  border-radius:7px;
  display:grid;
  place-items:center;
  background:#eef8f0;
  color:#238a36;
  font-size:12px;
  flex:0 0 auto;
}
.security-brief-name{
  color:#42505d;
  font-size:12px;
  font-weight:400;
}
.security-brief-desc{
  margin-top:1px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.security-brief-state{
  color:#25a43b;
  font-size:12px;
  font-weight:400;
  white-space:nowrap;
}

/* 主机资料重新设计为一个主卡片 + 内部分组，更整洁 */
.host-compact-wrap{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.host-compact-group{
  border:1px solid #e6ebf1;
  border-radius:8px;
  background:#fbfcfd;
  overflow:hidden;
}
.host-compact-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  background:#fff;
  border-bottom:1px solid #edf1f5;
}
.host-compact-head-left{
  display:flex;
  align-items:center;
  gap:8px;
}
.host-compact-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:#5d6f82;
  font-size:12px;
  flex:0 0 auto;
}
.host-compact-icon.green{background:#eef8f0;color:#238a36}
.host-compact-icon.orange{background:#fff6ea;color:#bb7b20}
.host-compact-icon.gray{background:#f2f4f6;color:#677280}
.host-compact-title{
  color:#3c4854;
  font-size:14px;
  font-weight:500;
}
.host-compact-desc{
  margin-top:1px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.host-compact-tag{
  display:inline-flex;
  align-items:center;
  height:23px;
  padding:0 8px;
  border-radius:12px;
  border:1px solid #dfe6ed;
  background:#f6f9fc;
  color:#61707f;
  font-size:12px;
  font-weight:400;
}
.host-compact-body{
  padding:4px 12px;
}
.host-compact-row{
  display:grid;
  grid-template-columns:120px 1fr;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:8px 0;
  border-bottom:1px dashed #e9eef3;
}
.host-compact-row:last-child{
  border-bottom:none;
}
.host-compact-row .k{
  color:#74808d;
  font-size:13px;
  font-weight:400;
}
.host-compact-row .v{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
  color:#3d4955;
  font-size:13px;
  font-weight:400;
  text-align:right;
  word-break:break-all;
}
.host-compact-row .v.green{
  color:#25a43b;
}
.host-compact-row .v.mask{
  letter-spacing:1px;
  color:#6e7986;
}
.host-compact-note{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #e8edf2;
  border-radius:8px;
  background:#fafcfd;
  color:#7d8996;
  font-size:12px;
  line-height:1.8;
  font-weight:400;
}

/* 快捷操作独立整行，减少与安全卡混排的凌乱 */
.home-quick-row .quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.home-quick-row .quick{
  min-height:70px;
  padding:11px 11px 10px;
}
.home-quick-row .quick b{
  margin-bottom:4px;
}

/* 日志更清楚 */
.home-log-card .card-title{
  height:auto;
  min-height:42px;
}
.home-log-card .log-summary{
  gap:14px;
}

/* 小屏处理 */
@media(max-width:1200px){
  .home-page .summary.service-hero{
    grid-template-columns:minmax(0,1fr) 320px;
  }
}
@media(max-width:980px){
  .home-page .summary.service-hero{
    grid-template-columns:1fr;
  }
  .host-compact-wrap{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .home-page .basic-info-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-quick-row .quick-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .home-page .basic-info-grid{
    grid-template-columns:1fr;
  }
  .home-quick-row .quick-grid{
    grid-template-columns:1fr;
  }
}


/* ===== V13：首页总览重构：修正不合理布局 ===== */
.home-page .pagehead{
  margin-bottom:12px;
}
.home-page .grid{
  gap:14px;
}

/* 新总览卡 */
.home-overview{
  border:1px solid #dfe5eb;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.home-overview-top{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) 360px;
}
.home-overview-main{
  padding:18px 20px 16px;
}
.home-overview-side{
  border-left:1px solid #e9eef3;
  background:linear-gradient(180deg,#fbfcfd 0%,#f7f9fb 100%);
  padding:16px;
}
.overview-site-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.overview-site{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.overview-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  font-weight:600;
  background:linear-gradient(145deg,#2f7cf6,#25a43b);
  box-shadow:0 8px 16px rgba(47,124,246,.14);
  flex:0 0 auto;
}
.overview-title h2{
  margin:0;
  font-size:24px;
  line-height:1.3;
  font-weight:600;
  color:#2f3944;
}
.overview-title p{
  margin:4px 0 0;
  font-size:12px;
  color:#8d98a5;
  font-weight:400;
}
.overview-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.overview-tag{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 11px;
  border-radius:14px;
  font-size:12px;
  font-weight:400;
  border:1px solid #dde7f5;
  background:#f3f7fc;
  color:#50657c;
}
.overview-tag.ok{
  border-color:#cde7d2;
  background:#eef8f0;
  color:#238a36;
}
.overview-desc{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #e8edf2;
  border-radius:8px;
  background:#fafcfd;
  color:#5f6b78;
  font-size:13px;
  line-height:1.8;
}
.overview-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.overview-stat{
  padding:12px 13px;
  border:1px solid #e5ebf1;
  border-radius:8px;
  background:#fff;
  position:relative;
}
.overview-stat::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  border-radius:3px;
  background:#dbe3ec;
}
.overview-stat.blue::before{background:#4c91d9}
.overview-stat.green::before{background:#25a43b}
.overview-stat.orange::before{background:#d98a1d}
.overview-stat.gray::before{background:#9aa6b2}
.overview-stat .k{
  color:#8d98a5;
  font-size:12px;
  font-weight:400;
}
.overview-stat .v{
  margin-top:5px;
  color:#36414d;
  font-size:18px;
  line-height:1.35;
  font-weight:500;
}
.overview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px dashed #e8edf2;
}
.overview-actions .btn{
  min-width:92px;
}

/* 右侧安全卡 */
.sec-side-title{
  color:#7f8b97;
  font-size:12px;
  font-weight:400;
  margin-bottom:8px;
}
.sec-score-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border:1px solid #dfe9e1;
  border-radius:10px;
  background:linear-gradient(180deg,#fbfefb 0%,#f4faf5 100%);
}
.sec-score-main .t{
  color:#2f7e3d;
  font-size:15px;
  font-weight:600;
}
.sec-score-main .d{
  margin-top:3px;
  color:#8b988f;
  font-size:12px;
  line-height:1.6;
  font-weight:400;
}
.sec-score-ring{
  width:56px;
  height:56px;
  border-radius:50%;
  border:5px solid #d8eedc;
  display:grid;
  place-items:center;
  font-size:15px;
  font-weight:600;
  color:#25a43b;
  background:#fff;
  flex:0 0 auto;
}
.sec-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.sec-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e6ebf0;
  border-radius:8px;
  background:#fff;
}
.sec-item-left{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.sec-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef8f0;
  color:#238a36;
  font-size:12px;
  flex:0 0 auto;
}
.sec-name{
  color:#3f4c59;
  font-size:12px;
  font-weight:400;
}
.sec-desc{
  margin-top:1px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.sec-state{
  color:#25a43b;
  font-size:12px;
  font-weight:400;
  white-space:nowrap;
}
.sec-tip{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid #e7edf2;
  border-radius:8px;
  background:#fff;
  color:#6e7a87;
  font-size:12px;
  line-height:1.75;
}

/* 主机资料整块化 */
.host-panel .card-body{
  padding:16px 16px 14px;
}
.host-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.host-info-section{
  border:1px solid #e6ebf1;
  border-radius:8px;
  background:#fbfcfd;
  overflow:hidden;
}
.host-info-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  background:#fff;
  border-bottom:1px solid #edf1f5;
}
.host-info-head-left{
  display:flex;
  align-items:center;
  gap:8px;
}
.host-info-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:#5d6f82;
  font-size:12px;
  flex:0 0 auto;
}
.host-info-icon.green{background:#eef8f0;color:#238a36}
.host-info-icon.orange{background:#fff6ea;color:#b97518}
.host-info-icon.gray{background:#f2f4f6;color:#6a7581}
.host-info-title{
  color:#3a4652;
  font-size:14px;
  font-weight:500;
}
.host-info-desc{
  margin-top:1px;
  color:#9aa4af;
  font-size:12px;
  font-weight:400;
}
.host-info-tag{
  display:inline-flex;
  align-items:center;
  height:23px;
  padding:0 8px;
  border-radius:12px;
  border:1px solid #dfe6ed;
  background:#f6f9fc;
  color:#61707f;
  font-size:12px;
  font-weight:400;
}
.host-info-body{
  padding:4px 12px;
}
.host-info-row{
  display:grid;
  grid-template-columns:104px 1fr;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:8px 0;
  border-bottom:1px dashed #e9eef3;
}
.host-info-row:last-child{
  border-bottom:none;
}
.host-info-row .k{
  color:#74808d;
  font-size:13px;
  font-weight:400;
}
.host-info-row .v{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
  color:#3d4955;
  font-size:13px;
  font-weight:400;
  text-align:right;
  word-break:break-all;
}
.host-info-row .v.green{
  color:#25a43b;
}
.host-info-row .v.mask{
  color:#6c7885;
  letter-spacing:1px;
}
.host-info-foot{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #e8edf2;
  border-radius:8px;
  background:#fafcfd;
  color:#7d8996;
  font-size:12px;
  line-height:1.8;
}

/* 快捷操作行 */
.quick-row .card-body{
  padding-top:14px;
}
.quick-row .quick-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
}
.quick-row .quick{
  min-height:70px;
  padding:11px 10px 10px;
}
.quick-row .quick b{
  display:block;
  margin-bottom:4px;
}

/* 去掉旧布局残留的影响 */
.home-page .service-hero,
.home-page .home-homegrid,
.home-page .home-security-card,
.home-page .host-compact-wrap,
.home-page .security-brief,
.home-page .service-tips,
.home-page .summary.service-hero{
  /* no-op override by replacement structure */
}

@media(max-width:1250px){
  .home-overview-top{
    grid-template-columns:minmax(0,1fr) 320px;
  }
  .quick-row .quick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .home-overview-top{
    grid-template-columns:1fr;
  }
  .home-overview-side{
    border-left:none;
    border-top:1px solid #e9eef3;
  }
  .overview-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .host-info-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .overview-stats{
    grid-template-columns:1fr;
  }
  .quick-row .quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .quick-row .quick-grid{
    grid-template-columns:1fr;
  }
}


/* ===== V14：首页：快捷操作并入基本信息，主机资料对齐修复 ===== */
.home-overview-top{
  grid-template-columns:minmax(0,1.55fr) 350px;
}
.overview-main{
  display:block;
}
.overview-actions.inline-actions{
  margin-top:12px;
  padding-top:0;
  border-top:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.overview-actions.inline-actions a{
  text-decoration:none;
}
.overview-actions.inline-actions .quick-mini{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:66px;
  padding:10px 12px;
  border:1px solid #e4eaf0;
  border-radius:8px;
  background:#fbfcfd;
  transition:.15s ease;
}
.overview-actions.inline-actions .quick-mini:hover{
  border-color:#cdd9e6;
  background:#ffffff;
  box-shadow:0 4px 12px rgba(36,56,80,.05);
}
.overview-actions.inline-actions .quick-mini b{
  display:block;
  color:#314152;
  font-size:13px;
  font-weight:500;
  margin-bottom:4px;
}
.overview-actions.inline-actions .quick-mini small{
  color:#8c97a4;
  font-size:12px;
  line-height:1.5;
  font-weight:400;
}

/* 主机资料对齐修复：使用稳定的左右两列描述布局 */
.host-info-grid{
  gap:12px;
}
.host-info-body{
  padding:6px 14px;
}
.host-info-row{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:9px 0;
}
.host-info-row .k{
  text-align:left;
  white-space:nowrap;
}
.host-info-row .v{
  justify-content:flex-start;
  text-align:left;
  color:#2f4153;
  flex-wrap:wrap;
}
.host-info-row .v .copy-hover,
.host-info-row .v .copy{
  margin-left:6px;
}
.host-info-row .v.green{
  justify-content:flex-start;
}
.host-info-tag{
  flex:0 0 auto;
}
.host-info-head{
  align-items:center;
}

/* 主机资料整体更收紧，减少空洞感 */
.host-panel .card-body{
  padding:14px;
}
.host-info-section{
  background:#fff;
}
.host-info-foot{
  margin-top:12px;
}

/* 删除原独立快捷操作区的影响 */
.quick-row{
  display:none !important;
}

@media(max-width:1200px){
  .overview-actions.inline-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .overview-actions.inline-actions{
    grid-template-columns:1fr;
  }
  .host-info-row{
    grid-template-columns:92px minmax(0,1fr);
  }
}


/* ===== V15：首页新增资源配额显著展示 ===== */
.resource-strip{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.resource-card{
  border:1px solid #e5ebf1;
  border-radius:10px;
  background:linear-gradient(180deg,#ffffff 0%, #fbfcfd 100%);
  padding:12px 13px;
  box-shadow:0 3px 10px rgba(29, 53, 87, .03);
}
.resource-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.resource-title{
  color:#4a5968;
  font-size:12px;
  font-weight:500;
}
.resource-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:24px;
  padding:0 8px;
  border-radius:12px;
  font-size:12px;
  font-weight:500;
  background:#f3f7fc;
  border:1px solid #dce6f0;
  color:#56708a;
}
.resource-badge.green{
  background:#eef8f0;
  border-color:#cfe8d4;
  color:#238a36;
}
.resource-badge.orange{
  background:#fff7ec;
  border-color:#f0d8af;
  color:#b77718;
}
.resource-main{
  margin-top:10px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
}
.resource-value{
  color:#2f4153;
  font-size:22px;
  line-height:1.2;
  font-weight:600;
}
.resource-sub{
  color:#8d98a5;
  font-size:12px;
  font-weight:400;
}
.resource-meta{
  color:#8d98a5;
  font-size:12px;
  white-space:nowrap;
}
.resource-bar{
  position:relative;
  margin-top:10px;
  height:8px;
  border-radius:999px;
  background:#edf2f6;
  overflow:hidden;
}
.resource-bar > i{
  display:block;
  height:100%;
  border-radius:999px;
}
.resource-bar .blue{background:linear-gradient(90deg,#5aa7ff,#2f7cf6)}
.resource-bar .green{background:linear-gradient(90deg,#55d07b,#25a43b)}
.resource-bar .orange{background:linear-gradient(90deg,#f2b35a,#d98a1d)}
.resource-foot{
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#7f8b98;
  font-size:12px;
}
.resource-foot b{
  font-weight:500;
  color:#516171;
}

/* 让概览区层级更完整 */
.overview-stats{
  margin-bottom:2px;
}
.overview-actions.inline-actions{
  margin-top:14px;
}
.host-info-row .v .dim{
  color:#8a96a2;
  font-size:12px;
  margin-left:6px;
}

@media(max-width:980px){
  .resource-strip{
    grid-template-columns:1fr;
  }
}


/* ===== V16：首页简化重构：更友好、更清爽 ===== */
.home-page .grid{
  gap:14px;
}

/* 顶部总览区：整体更简洁 */
.home-overview.clean-overview{
  border-radius:10px;
  overflow:hidden;
}
.clean-overview .home-overview-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:0;
}
.clean-overview .home-overview-main{
  padding:18px 20px 16px;
}
.clean-overview .home-overview-side{
  padding:16px;
  border-left:1px solid #e9eef3;
  background:linear-gradient(180deg,#fbfcfd 0%, #f8fafc 100%);
}

.clean-overview .overview-site-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.clean-overview .overview-title h2{
  font-size:22px;
  font-weight:600;
  margin:0;
}
.clean-overview .overview-title p{
  margin:4px 0 0;
  font-size:12px;
  color:#8d98a5;
}
.clean-overview .overview-tags{
  gap:8px;
}
.clean-overview .overview-desc{
  margin-top:12px;
  padding:10px 12px;
  font-size:12px;
  line-height:1.75;
  border-radius:8px;
}
.clean-overview .overview-stats{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.clean-overview .overview-stat{
  padding:11px 12px;
  border-radius:8px;
}
.clean-overview .overview-stat .k{
  font-size:12px;
}
.clean-overview .overview-stat .v{
  margin-top:4px;
  font-size:15px;
  font-weight:500;
}

/* 资源配额简化为轻量卡片 */
.resource-strip.compact{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.resource-strip.compact .resource-card{
  padding:11px 12px 10px;
  border-radius:8px;
  box-shadow:none;
}
.resource-strip.compact .resource-head{
  align-items:flex-start;
}
.resource-strip.compact .resource-title{
  font-size:12px;
  font-weight:500;
}
.resource-strip.compact .resource-badge{
  min-width:auto;
  height:22px;
  padding:0 8px;
  font-size:12px;
}
.resource-strip.compact .resource-main{
  margin-top:8px;
  align-items:center;
}
.resource-strip.compact .resource-value{
  font-size:16px;
  font-weight:600;
}
.resource-strip.compact .resource-sub{
  margin-top:2px;
  font-size:12px;
}
.resource-strip.compact .resource-meta{
  font-size:12px;
}
.resource-strip.compact .resource-bar{
  margin-top:8px;
  height:6px;
}
.resource-strip.compact .resource-foot{
  margin-top:7px;
  font-size:12px;
}

/* 快捷操作改为轻量按钮栏 */
.action-toolbar{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed #e8edf2;
}
.action-toolbar-title{
  margin-bottom:8px;
  color:#7f8b98;
  font-size:12px;
  font-weight:400;
}
.action-toolbar-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.action-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 14px;
  border:1px solid #dfe6ed;
  border-radius:17px;
  background:#fff;
  color:#4e6072;
  font-size:13px;
  font-weight:400;
  text-decoration:none;
  transition:.15s ease;
}
.action-chip:hover{
  border-color:#c9d6e4;
  background:#f8fbff;
}

/* 右侧安全状态更轻巧 */
.sec-side-title{
  margin-bottom:8px;
}
.sec-score-card{
  padding:12px 13px;
  border-radius:8px;
}
.sec-score-main .t{
  font-size:14px;
}
.sec-score-main .d{
  font-size:12px;
}
.sec-score-ring{
  width:52px;
  height:52px;
  font-size:14px;
}
.sec-list{
  gap:7px;
  margin-top:8px;
}
.sec-item{
  padding:8px 9px;
  border-radius:8px;
}
.sec-name{
  font-size:12px;
}
.sec-desc{
  font-size:12px;
}
.sec-state{
  font-size:12px;
}
.sec-tip{
  margin-top:8px;
  padding:9px 10px;
  font-size:12px;
}

/* 主机资料区简化 */
.host-panel .card-body{
  padding:14px;
}
.host-info-grid{
  gap:10px;
}
.host-info-section{
  border-radius:8px;
}
.host-info-head{
  padding:10px 12px;
}
.host-info-body{
  padding:4px 12px;
}
.host-info-row{
  min-height:40px;
  padding:7px 0;
  grid-template-columns:100px minmax(0,1fr);
}
.host-info-row .k,
.host-info-row .v{
  font-size:13px;
}
.host-info-foot{
  padding:9px 11px;
  font-size:12px;
}

/* 操作日志整体也更轻一点 */
.home-log-card .card-body{
  padding-top:12px;
}
.home-log-card .log-summary{
  gap:14px;
  font-size:12px;
}
.home-log-card table th{
  font-size:12px;
}
.home-log-card table td{
  font-size:12px;
}

/* 隐藏旧的大快捷操作块 */
.quick-row{
  display:none !important;
}

@media(max-width:1200px){
  .clean-overview .overview-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .clean-overview .home-overview-top{
    grid-template-columns:1fr;
  }
  .clean-overview .home-overview-side{
    border-left:none;
    border-top:1px solid #e9eef3;
  }
  .resource-strip.compact{
    grid-template-columns:1fr;
  }
  .host-info-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .clean-overview .overview-stats{
    grid-template-columns:1fr;
  }
}


/* ===== V17：首页：基本信息改为横向摘要栏 ===== */
.clean-overview .overview-stats.summary-ribbon{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:12px;
  border:1px solid #e5ebf1;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.clean-overview .overview-stats.summary-ribbon .overview-stat{
  border:none;
  border-radius:0;
  background:transparent;
  padding:14px 16px;
  box-shadow:none;
  position:relative;
  min-height:72px;
  display:flex;
  align-items:center;
}
.clean-overview .overview-stats.summary-ribbon .overview-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:3px;
  background:#dbe3ec;
}
.clean-overview .overview-stats.summary-ribbon .overview-stat:not(:last-child)::after{
  content:"";
  position:absolute;
  top:16px;
  right:0;
  bottom:16px;
  width:1px;
  background:#edf1f4;
}
.clean-overview .overview-stats.summary-ribbon .overview-stat.blue::before{background:#4c91d9}
.clean-overview .overview-stats.summary-ribbon .overview-stat.green::before{background:#25a43b}
.clean-overview .overview-stats.summary-ribbon .overview-stat.orange::before{background:#d98a1d}
.clean-overview .overview-stats.summary-ribbon .overview-stat.gray::before{background:#9aa6b2}

.summary-ribbon .stat-inner{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-left:4px;
}
.summary-ribbon .stat-label{
  color:#8d98a5;
  font-size:12px;
  line-height:1.2;
  font-weight:400;
}
.summary-ribbon .stat-value{
  color:#2f4153;
  font-size:24px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.1px;
}
.summary-ribbon .stat-note{
  color:#a0aab5;
  font-size:12px;
  line-height:1.2;
  font-weight:400;
}

@media(max-width:1200px){
  .clean-overview .overview-stats.summary-ribbon{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .clean-overview .overview-stats.summary-ribbon .overview-stat:nth-child(2)::after{
    display:none;
  }
}
@media(max-width:700px){
  .clean-overview .overview-stats.summary-ribbon{
    grid-template-columns:1fr;
  }
  .clean-overview .overview-stats.summary-ribbon .overview-stat:not(:last-child)::after{
    display:none;
  }
  .clean-overview .overview-stats.summary-ribbon .overview-stat{
    min-height:68px;
  }
}


/* ===== V18：首页总览区重构：取消左右割裂，改为一体化总览 ===== */
.home-page .grid{
  gap:14px;
}

.unified-overview{
  border:1px solid #dfe6ed;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.unified-overview-inner{
  padding:18px 20px 16px;
}
.unified-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.unified-head-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.unified-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:22px;
  font-weight:600;
  background:linear-gradient(145deg,#2f7cf6,#22ad5c);
  box-shadow:0 10px 18px rgba(47,124,246,.14);
  flex:0 0 auto;
}
.unified-title h2{
  margin:0;
  color:#2f3b47;
  font-size:24px;
  line-height:1.25;
  font-weight:600;
}
.unified-title p{
  margin:5px 0 0;
  color:#8c97a3;
  font-size:12px;
  font-weight:400;
}
.unified-head-right{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.u-badge{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 12px;
  border-radius:16px;
  border:1px solid #dce5ef;
  background:#f6f9fc;
  color:#51667d;
  font-size:12px;
  font-weight:400;
}
.u-badge.ok{
  border-color:#cde7d2;
  background:#eef8f0;
  color:#238a36;
}

.unified-intro{
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #e7edf3;
  border-radius:8px;
  background:#fafcfd;
  color:#5f6c79;
  font-size:12px;
  line-height:1.8;
}

/* 第一行：基本信息 + 安全状态 */
.unified-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) 360px;
  gap:12px;
  margin-top:14px;
}
.info-ribbon{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.info-ribbon-item{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:13px 14px;
  border:1px solid #e5ebf1;
  border-radius:10px;
  background:#fff;
}
.info-ribbon-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:#59708b;
  font-size:14px;
  flex:0 0 auto;
}
.info-ribbon-icon.blue{background:#eef5ff;color:#377fe2}
.info-ribbon-icon.green{background:#eef8f0;color:#24a23b}
.info-ribbon-icon.orange{background:#fff6ea;color:#cb7f14}
.info-ribbon-icon.gray{background:#f1f3f5;color:#71808d}
.info-ribbon-main{
  min-width:0;
}
.info-ribbon-main .k{
  color:#8f99a4;
  font-size:12px;
  line-height:1.2;
  font-weight:400;
}
.info-ribbon-main .v{
  margin-top:4px;
  color:#304150;
  font-size:24px;
  line-height:1.15;
  font-weight:600;
}
.info-ribbon-main .s{
  margin-top:4px;
  color:#a0aab4;
  font-size:12px;
  line-height:1.2;
}

.security-card-merged{
  border:1px solid #dfe9e1;
  border-radius:10px;
  background:linear-gradient(180deg,#fbfefb 0%,#f4faf5 100%);
  padding:14px;
}
.security-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.security-card-copy .t{
  color:#2f7e3d;
  font-size:15px;
  font-weight:600;
  line-height:1.3;
}
.security-card-copy .d{
  margin-top:4px;
  color:#8b988f;
  font-size:12px;
  line-height:1.6;
  font-weight:400;
}
.security-score-pill{
  width:58px;
  height:58px;
  border-radius:50%;
  border:5px solid #d8eedc;
  display:grid;
  place-items:center;
  background:#fff;
  color:#25a43b;
  font-size:16px;
  font-weight:600;
  flex:0 0 auto;
}
.security-mini-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.security-mini{
  padding:9px 10px;
  border:1px solid #e7eee8;
  border-radius:8px;
  background:#fff;
}
.security-mini .n{
  color:#41505d;
  font-size:12px;
  font-weight:400;
}
.security-mini .m{
  margin-top:3px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#97a29b;
  font-size:12px;
}
.security-mini .st{
  color:#25a43b;
  white-space:nowrap;
}

/* 第二行：容量 */
.resource-strip.rebalanced{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.resource-strip.rebalanced .resource-card{
  padding:12px 13px 11px;
  border-radius:10px;
  box-shadow:none;
}
.resource-strip.rebalanced .resource-title{
  font-size:12px;
  font-weight:500;
}
.resource-strip.rebalanced .resource-value{
  font-size:18px;
  font-weight:600;
}
.resource-strip.rebalanced .resource-main{
  margin-top:8px;
}
.resource-strip.rebalanced .resource-bar{
  margin-top:8px;
  height:7px;
}
.resource-strip.rebalanced .resource-foot{
  margin-top:8px;
}

/* 第三行：快捷操作 */
.unified-actionbar{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed #e8edf2;
}
.unified-actionbar .title{
  margin-bottom:9px;
  color:#7f8b98;
  font-size:12px;
  font-weight:400;
}
.unified-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.unified-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid #dde5ed;
  border-radius:18px;
  background:#fff;
  color:#4c6278;
  font-size:13px;
  font-weight:400;
  text-decoration:none;
  transition:.15s ease;
}
.unified-action:hover{
  border-color:#cbd7e4;
  background:#f8fbff;
}
.unified-action.primary{
  background:#eaf4ff;
  border-color:#cfe1f6;
  color:#2f6baf;
}

@media(max-width:1180px){
  .unified-top-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:980px){
  .resource-strip.rebalanced{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .info-ribbon{
    grid-template-columns:1fr;
  }
  .security-mini-list{
    grid-template-columns:1fr;
  }
  .unified-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .unified-head-right{
    justify-content:flex-start;
  }
}

/* ===== V19 仅首页右侧重构 ===== */
.home-v19{padding:16px 18px 28px}.home-v19 .pagehead{margin-bottom:12px}
.v19-overview{background:#fff;border:1px solid #dde4eb;border-radius:8px;padding:17px 18px 15px}
.v19-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.v19-site{display:flex;align-items:center;gap:11px}.v19-site-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#3388ff,#22a95b);color:#fff;font-size:17px;font-weight:600}
.v19-site h2{margin:0;font-size:22px;line-height:1.25;font-weight:600;color:#293744}.v19-site p{margin:4px 0 0;font-size:12px;color:#8a96a3;font-weight:400}
.v19-status{display:flex;gap:7px;flex-wrap:wrap}.v19-pill{display:inline-flex;align-items:center;height:27px;padding:0 10px;border:1px solid #dce5ef;border-radius:14px;background:#f6f9fc;color:#52667a;font-size:12px;font-weight:400}.v19-pill.ok{background:#eef8f0;border-color:#cce6d1;color:#238a36}
.v19-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 300px;gap:10px;margin-top:14px}
.v19-resource,.v19-security{border:1px solid #e3e9ef;border-radius:7px;background:#fff;padding:12px 13px}
.v19-resource-top{display:flex;align-items:center;gap:8px}.v19-r-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:500}
.v19-r-icon.blue{background:#eef5ff;color:#387fe0}.v19-r-icon.green{background:#eef8f0;color:#25a43b}.v19-r-icon.purple{background:#f3efff;color:#7957d9}.v19-r-title{font-size:12px;color:#526171;font-weight:500}
.v19-r-number{margin-top:10px;font-size:20px;color:#263847;font-weight:600}.v19-r-meta,.v19-r-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#8995a2}.v19-r-meta{margin-top:3px}.v19-r-foot{margin-top:7px}.v19-r-foot a{color:#4d86c6;text-decoration:none}
.v19-progress{height:6px;margin-top:9px;background:#edf1f5;border-radius:5px;overflow:hidden}.v19-progress i{display:block;height:100%;border-radius:5px}.v19-progress .blue{background:#428ef1}.v19-progress .green{background:#2bb458}.v19-progress .orange{background:#e9941d}
.v19-security{background:#f8fcf9;border-color:#dce9df}.v19-sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.v19-sec-title{font-size:14px;color:#2f7d3d;font-weight:600}.v19-sec-sub{font-size:12px;color:#89968d;margin-top:2px}.v19-score{width:48px;height:48px;border-radius:50%;border:4px solid #d3ecd9;background:#fff;display:grid;place-items:center;color:#25a43b;font-size:14px;font-weight:600}
.v19-sec-list{display:grid;gap:6px;margin-top:10px}.v19-sec-list div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#586b5e}.v19-sec-list em{font-style:normal;color:#25a43b;font-size:12px}
.v19-info-tip{margin-top:10px;padding:9px 11px;border:1px solid #e4eaf0;border-radius:6px;background:#fafcfd;color:#667482;font-size:12px}
.v19-basic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.v19-basic-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e5eaf0;border-radius:6px;background:#fff}.v19-basic-item span{font-size:12px;color:#87939f}.v19-basic-item b{font-size:13px;color:#34414e;font-weight:500}
.v19-actions{margin-top:12px;padding-top:11px;border-top:1px dashed #e5eaf0}.v19-actions-title{font-size:12px;color:#7d8995;margin-bottom:8px}.v19-actions-list{display:flex;flex-wrap:wrap;gap:7px}.v19-actions-list a{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid #dce4ec;border-radius:15px;background:#fff;color:#4f6173;text-decoration:none;font-size:12px}.v19-actions-list a:hover{background:#f7fafc;border-color:#cbd7e2}
.v19-host{margin-top:12px}.v19-host-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v19-host-box{border:1px solid #e5eaf0;border-radius:7px;background:#fff;overflow:hidden}
.v19-host-title{display:flex;align-items:center;gap:8px;padding:10px 11px;background:#fafbfc;border-bottom:1px solid #edf1f4}.v19-host-title .ico{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#eef4fa;color:#5a7088;font-size:12px}.v19-host-title .ico.green{background:#eef8f0;color:#238a36}.v19-host-title .ico.orange{background:#fff5e8;color:#b97819}.v19-host-title .ico.gray{background:#f2f4f6;color:#6e7984}.v19-host-title b{display:block;font-size:13px;color:#3c4854;font-weight:500}.v19-host-title small{display:block;margin-top:1px;font-size:12px;color:#98a3ae;font-weight:400}
.v19-kv{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:10px;min-height:39px;padding:7px 11px;border-bottom:1px dashed #edf0f3}.v19-kv:last-child{border-bottom:0}.v19-kv>span{font-size:12px;color:#778491}.v19-kv strong{display:flex;align-items:center;justify-content:flex-start;gap:5px;font-size:12px;color:#374552;font-weight:400}.v19-kv strong.good{color:#25a43b}
@media(max-width:1280px){.v19-resource-grid{grid-template-columns:repeat(3,1fr)}.v19-security{grid-column:1/-1}.v19-sec-list{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.v19-resource-grid{grid-template-columns:1fr}.v19-security{grid-column:auto}.v19-sec-list{grid-template-columns:1fr 1fr}.v19-basic{grid-template-columns:1fr 1fr}.v19-host-grid{grid-template-columns:1fr}}@media(max-width:600px){.v19-head{align-items:flex-start;flex-direction:column}.v19-basic{grid-template-columns:1fr}.v19-sec-list{grid-template-columns:1fr}}


/* =========================================================
   V20 - 保持布局不变，仅重做视觉风格
   全站中文最小字号：12px
   ========================================================= */

:root{
  --v20-bg:#f4f6f8;
  --v20-panel:#ffffff;
  --v20-border:#dfe5eb;
  --v20-border-soft:#ebeff3;
  --v20-text:#273442;
  --v20-text2:#51606f;
  --v20-muted:#7d8a97;
  --v20-primary:#2878d8;
  --v20-primary-soft:#eef5ff;
  --v20-green:#20a64a;
  --v20-green-soft:#eef9f1;
  --v20-orange:#df8a16;
  --v20-purple:#7658d7;
}

/* ---------- 全站字号底线 ---------- */
html,body,button,input,select,textarea,
.main,.sidebar,.top,.card,table,.form,
p,span,a,b,strong,em,small,label,div{
  font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Segoe UI",Arial,sans-serif;
}

/* 所有常见中文辅助文字最小 12px */
small,
.group-title,
.brand small,
.user small,
.crumb,
.badge,
.form-note,
.help,
.muted,
.log-summary,
.log-result,
.tag,
.file-type,
.domain-sub,
.domain-badge,
.storage-stat .sub,
.storage-category .name small,
.storage-category .percent,
.host-info-desc,
.host-info-tag,
.v19-site p,
.v19-r-meta,
.v19-r-foot,
.v19-sec-sub,
.v19-sec-list em,
.v19-info-tip,
.v19-basic-item span,
.v19-actions-title,
.v19-host-title small,
.security-item-main .desc,
.security-item-state,
.resource-sub,
.resource-meta,
.resource-foot,
.quick small,
.metric small,
.summary-sub,
.summary-meta span,
.summary-meta b,
.summary-item span,
.archive-box p,
.archive-note,
.domain-add-help,
.footer-note{
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.6;
}

/* 菜单和基础正文 */
body{font-size:14px}
.nav{font-size:13px}
.group-title{font-size:12px!important}
.topbtn,.btn,.input,table,th,td,.fl,.fc{font-size:13px}
.card-title{font-size:13px}
.pagehead h1{font-size:20px}
.pagehead .crumb{font-size:12px!important}

/* ---------- 整体质感 ---------- */
body{background:var(--v20-bg)}
.main{background:var(--v20-bg)}
.card,
.v19-overview{
  border-color:var(--v20-border);
  box-shadow:0 2px 7px rgba(33,51,71,.035);
}
.card-title{
  background:#fbfcfd;
  border-bottom-color:var(--v20-border-soft);
}

/* ---------- 首页右侧样式重构，但保持原布局 ---------- */
.v19-overview{
  border-radius:10px;
  padding:18px 19px 16px;
  background:linear-gradient(180deg,#fff 0%,#fdfefe 100%);
}

.v19-head{
  padding-bottom:13px;
  border-bottom:1px solid var(--v20-border-soft);
}
.v19-site{gap:12px}
.v19-site-icon{
  width:44px;
  height:44px;
  border-radius:11px;
  background:linear-gradient(145deg,#2f83ee,#20aa58);
  box-shadow:0 6px 14px rgba(40,120,216,.14);
  font-size:16px;
}
.v19-site h2{
  font-size:21px;
  color:#22313f;
  font-weight:600;
}
.v19-site p{
  margin-top:3px;
  color:#7d8b99;
}
.v19-status{gap:8px}
.v19-pill{
  height:29px;
  padding:0 11px;
  border-radius:15px;
  border-color:#d8e3ef;
  background:#f7f9fb;
  color:#52677e;
  font-size:12px!important;
}
.v19-pill.ok{
  background:#eff9f1;
  border-color:#c9e7d0;
  color:#1d923d;
}

/* 容量与安全卡 */
.v19-resource-grid{
  gap:11px;
  margin-top:14px;
}
.v19-resource,
.v19-security{
  border-radius:9px;
  border-color:#e1e7ed;
  padding:13px 14px;
  box-shadow:0 2px 5px rgba(40,58,78,.025);
}
.v19-resource{
  background:#fff;
  transition:border-color .16s,box-shadow .16s,transform .16s;
}
.v19-resource:hover{
  border-color:#ccd7e2;
  box-shadow:0 5px 14px rgba(39,59,82,.06);
  transform:translateY(-1px);
}
.v19-resource-top{gap:9px}
.v19-r-icon{
  width:31px;
  height:31px;
  border-radius:8px;
  font-size:12px;
}
.v19-r-icon.blue{background:#edf5ff;color:#2677d8}
.v19-r-icon.green{background:#eef9f1;color:#20a64a}
.v19-r-icon.purple{background:#f3f0ff;color:#7456d2}
.v19-r-title{
  font-size:13px;
  color:#526170;
  font-weight:500;
}
.v19-r-number{
  margin-top:11px;
  font-size:22px;
  color:#243341;
  font-weight:600;
}
.v19-r-meta{
  margin-top:5px;
  color:#7f8d9b;
}
.v19-progress{
  height:7px;
  margin-top:10px;
  background:#edf1f4;
}
.v19-progress .blue{background:linear-gradient(90deg,#5ca8ff,#2d7fdc)}
.v19-progress .green{background:linear-gradient(90deg,#57d57d,#25a94e)}
.v19-progress .orange{background:linear-gradient(90deg,#f1b34f,#df8a16)}
.v19-r-foot{
  margin-top:8px;
  color:#6f7d8b;
}
.v19-r-foot a{
  color:#2d78c5;
  font-weight:400;
}

/* 安全状态 */
.v19-security{
  background:linear-gradient(180deg,#fbfefb 0%,#f5fbf6 100%);
  border-color:#d8e8dc;
}
.v19-sec-title{
  font-size:15px;
  color:#247a37;
}
.v19-sec-sub{color:#7b8d80}
.v19-score{
  width:50px;
  height:50px;
  border-width:4px;
  border-color:#cee9d4;
  color:#20a64a;
  font-size:15px;
  box-shadow:inset 0 0 0 1px #eef8f1;
}
.v19-sec-list{
  gap:7px;
  margin-top:11px;
}
.v19-sec-list div{
  min-height:27px;
  padding:0 2px;
  font-size:12px;
  color:#50645a;
}
.v19-sec-list em{
  color:#1b9a3e;
  font-size:12px!important;
}

/* 提示条 */
.v19-info-tip{
  margin-top:11px;
  padding:10px 12px;
  border-radius:7px;
  border-color:#e0e8ef;
  background:#f8fafc;
  color:#627181;
  font-size:12px!important;
}

/* 基础信息横栏 */
.v19-basic{
  gap:9px;
  margin-top:10px;
}
.v19-basic-item{
  min-height:45px;
  padding:10px 12px;
  border-radius:7px;
  border-color:#e1e7ed;
  background:#fbfcfd;
}
.v19-basic-item span{
  color:#7b8996;
  font-size:12px!important;
}
.v19-basic-item b{
  color:#30404f;
  font-size:14px;
  font-weight:500;
}

/* 快捷操作 */
.v19-actions{
  margin-top:13px;
  padding-top:12px;
}
.v19-actions-title{
  color:#6f7d8a;
  font-size:12px!important;
}
.v19-actions-list{gap:8px}
.v19-actions-list a{
  height:33px;
  padding:0 13px;
  border-radius:17px;
  border-color:#d7e0e9;
  background:#fff;
  color:#4d6073;
  font-size:12px;
  transition:.15s;
}
.v19-actions-list a:hover{
  background:#f4f8fc;
  border-color:#bfcddd;
  color:#2d6dad;
}

/* ---------- 主机资料区继续统一 ---------- */
.v19-host{
  margin-top:13px;
  border-radius:10px;
}
.v19-host-grid{gap:11px}
.v19-host-box{
  border-radius:9px;
  border-color:#e1e7ed;
}
.v19-host-title{
  min-height:50px;
  padding:10px 12px;
  background:#fafcfd;
  border-bottom-color:#e9eef2;
}
.v19-host-title .ico{
  width:29px;
  height:29px;
  border-radius:8px;
  font-size:12px;
}
.v19-host-title b{
  font-size:14px;
  font-weight:500;
}
.v19-host-title small{
  font-size:12px!important;
  color:#84919d;
}
.v19-kv{
  grid-template-columns:112px minmax(0,1fr);
  min-height:42px;
  padding:8px 12px;
  border-bottom-color:#ebeff3;
}
.v19-kv>span{
  font-size:12px;
  color:#71808e;
}
.v19-kv strong{
  font-size:13px;
  color:#30404f;
}

/* ---------- 其他页面全站最低12px兜底 ---------- */
.operation-log,
.operation-log *,
.table-wrap,
.table-wrap *,
.form,
.form *,
.toolbar,
.toolbar *,
.card-body,
.card-body *{
  --min-cn-font:12px;
}
table th{font-size:12px!important}
table td{font-size:13px!important}
.act a{font-size:12px!important}
.pager a{font-size:12px!important}
.log-summary{font-size:12px!important}
.log-result{font-size:12px!important}
.status-small{font-size:12px!important}
.domain-stat .label,
.domain-stat .desc,
.domain-add-help,
.domain-sub,
.domain-badge,
.https-state,
.state-pill,
.storage-stat .label,
.storage-stat .sub,
.storage-category .name small,
.storage-category .percent{
  font-size:12px!important;
}

/* 登录页和顶部 */
.login-point small,
.loginhero p,
.footer-note{
  font-size:12px!important;
}
.search-key{
  font-size:12px!important;
}
.user>div:last-child>small{
  font-size:12px!important;
}
.brand small{
  font-size:12px!important;
}

/* 侧栏最小12 */
.sidebar .group-title{
  font-size:12px!important;
}
.sidebar .nav{
  font-size:13px!important;
}

/* 响应式 */
@media(max-width:1280px){
  .v19-resource-grid{grid-template-columns:repeat(3,1fr)}
  .v19-security{grid-column:1/-1}
  .v19-sec-list{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .v19-resource-grid{grid-template-columns:1fr}
  .v19-security{grid-column:auto}
  .v19-sec-list{grid-template-columns:1fr 1fr}
  .v19-basic{grid-template-columns:1fr 1fr}
  .v19-host-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .v19-head{align-items:flex-start;flex-direction:column}
  .v19-basic{grid-template-columns:1fr}
  .v19-sec-list{grid-template-columns:1fr}
}


/* =========================================================
   V21 - 首页右侧续改：安全状态加伪开关，概况重做
   ========================================================= */
.home-v21{padding:16px 18px 28px}
.home-v21 .pagehead{margin-bottom:12px}

.v21-overview{
  background:#fff;
  border:1px solid #dde4eb;
  border-radius:10px;
  padding:18px;
  box-shadow:0 2px 7px rgba(33,51,71,.035);
}
.v21-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid #ebeff3;
}
.v21-site{display:flex;align-items:center;gap:12px}
.v21-site-icon{
  width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(145deg,#2f83ee,#20aa58);color:#fff;font-size:16px;font-weight:600;
  box-shadow:0 6px 14px rgba(40,120,216,.14)
}
.v21-site h2{margin:0;font-size:21px;color:#22313f;font-weight:600;line-height:1.2}
.v21-site p{margin:4px 0 0;font-size:12px;color:#7d8b99;line-height:1.5}
.v21-status{display:flex;gap:8px;flex-wrap:wrap}
.v21-pill{
  display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:15px;
  border:1px solid #d8e3ef;background:#f7f9fb;color:#52677e;font-size:12px;line-height:1;
}
.v21-pill.ok{background:#eff9f1;border-color:#c9e7d0;color:#1d923d}

.v21-resource-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 320px;gap:12px;margin-top:15px
}
.v21-resource,.v21-security{
  border:1px solid #e1e7ed;border-radius:10px;background:#fff;padding:14px 14px 13px;
}
.v21-resource{
  box-shadow:0 2px 5px rgba(40,58,78,.025);
}
.v21-resource.blue{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.v21-resource.green{background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%)}
.v21-resource.orange{background:linear-gradient(180deg,#ffffff 0%,#fffdf9 100%)}
.v21-resource-top{display:flex;align-items:center;gap:9px}
.v21-r-icon{
  width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:600
}
.v21-resource.blue .v21-r-icon{background:#edf5ff;color:#2677d8}
.v21-resource.green .v21-r-icon{background:#eef9f1;color:#20a64a}
.v21-resource.orange .v21-r-icon{background:#fff6e8;color:#df8a16}
.v21-r-title{font-size:13px;color:#526170;font-weight:500}
.v21-r-value{margin-top:12px;font-size:22px;color:#243341;font-weight:600;line-height:1.2}
.v21-r-subline{
  margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:12px;color:#7f8d9b;line-height:1.5
}
.v21-progress{
  height:7px;margin-top:10px;background:#edf1f4;border-radius:7px;overflow:hidden
}
.v21-progress i{display:block;height:100%;border-radius:7px}
.v21-resource.blue .v21-progress i{background:linear-gradient(90deg,#5ca8ff,#2d7fdc)}
.v21-resource.green .v21-progress i{background:linear-gradient(90deg,#57d57d,#25a94e)}
.v21-resource.orange .v21-progress i{background:linear-gradient(90deg,#f1b34f,#df8a16)}
.v21-progress.soft i{opacity:.95}
.v21-r-foot{
  margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:12px;color:#6f7d8b;line-height:1.5
}
.v21-r-foot a{color:#2d78c5;text-decoration:none}

/* 安全状态 + 伪装开关 */
.v21-security{
  background:linear-gradient(180deg,#fbfefb 0%,#f5fbf6 100%);
  border-color:#d8e8dc;
}
.v21-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.v21-sec-title{font-size:16px;color:#247a37;font-weight:600;line-height:1.3}
.v21-sec-desc{margin-top:4px;font-size:12px;color:#7b8d80;line-height:1.5}
.v21-score{
  width:52px;height:52px;border-radius:50%;border:4px solid #cee9d4;background:#fff;
  display:grid;place-items:center;color:#20a64a;font-size:16px;font-weight:600;
  box-shadow:inset 0 0 0 1px #eef8f1
}
.v21-switch-list{display:grid;gap:10px}
.v21-switch-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 0;border-top:1px dashed #e3ece5;
}
.v21-switch-item:first-child{border-top:0;padding-top:0}
.v21-switch-text{min-width:0}
.v21-switch-text b{
  display:block;font-size:13px;font-weight:500;color:#355240;line-height:1.4
}
.v21-switch-text span{
  display:block;margin-top:2px;font-size:12px;color:#7d9184;line-height:1.5
}
.v21-toggle{
  position:relative;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto
}
.v21-toggle i{
  position:relative;display:block;width:42px;height:24px;border-radius:999px;
  background:#d6dde3;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)
}
.v21-toggle i::after{
  content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.2s ease
}
.v21-toggle.on i{background:linear-gradient(90deg,#59d77f,#24aa4d)}
.v21-toggle.on i::after{left:21px}
.v21-toggle em{
  font-style:normal;font-size:12px;color:#1c983e;line-height:1
}

/* 概况信息重新设计 */
.v21-summary-card{
  margin-top:13px;padding:14px;border:1px solid #e1e7ed;border-radius:10px;background:#fbfcfd;
}
.v21-summary-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px
}
.v21-summary-title{
  font-size:14px;font-weight:600;color:#334150;line-height:1.4
}
.v21-summary-note{
  font-size:12px;color:#6f7d8b;line-height:1.6;text-align:right;max-width:70%
}
.v21-basic{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px
}
.v21-basic-item{
  min-height:68px;padding:12px 14px;border:1px solid #e3e8ee;border-radius:9px;background:#fff;
  display:flex;flex-direction:column;justify-content:center;gap:7px;position:relative;overflow:hidden
}
.v21-basic-item::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:#d8e0e8
}
.v21-basic-item:nth-child(1)::before{background:#4b90ea}
.v21-basic-item:nth-child(2)::before{background:#23a54a}
.v21-basic-item:nth-child(3)::before{background:#df8a16}
.v21-basic-item:nth-child(4)::before{background:#9aa6b2}
.v21-basic-item .k{
  padding-left:8px;font-size:12px;color:#7b8996;line-height:1.4
}
.v21-basic-item .v{
  padding-left:8px;font-size:22px;color:#30404f;font-weight:600;line-height:1.15
}

/* 快捷操作 */
.v21-actions{
  margin-top:13px;padding-top:12px;border-top:1px dashed #e5eaf0
}
.v21-actions-title{
  font-size:12px;color:#6f7d8a;margin-bottom:9px;line-height:1.5
}
.v21-actions-list{display:flex;flex-wrap:wrap;gap:8px}
.v21-actions-list a{
  display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid #d7e0e9;border-radius:17px;
  background:#fff;color:#4d6073;text-decoration:none;font-size:12px;transition:.15s
}
.v21-actions-list a:hover{
  background:#f4f8fc;border-color:#bfcddd;color:#2d6dad
}

/* 沿用主机资料卡，但微调使之衔接 */
.home-v21 .v19-host{margin-top:13px}
.home-v21 .v19-host .card-title{background:#fbfcfd}

@media(max-width:1280px){
  .v21-resource-grid{grid-template-columns:repeat(3,1fr)}
  .v21-security{grid-column:1/-1}
}
@media(max-width:920px){
  .v21-resource-grid{grid-template-columns:1fr}
  .v21-security{grid-column:auto}
  .v21-basic{grid-template-columns:1fr 1fr}
  .v21-summary-head{flex-direction:column}
  .v21-summary-note{max-width:none;text-align:left}
}
@media(max-width:600px){
  .v21-head{align-items:flex-start;flex-direction:column}
  .v21-basic{grid-template-columns:1fr}
  .v21-switch-item{align-items:flex-start}
}


/* =========================================================
   V22 - 首页右侧重新设计：安全状态加宽并双列
   ========================================================= */
.home-v22{padding:16px 18px 28px}
.home-v22 .pagehead{margin-bottom:12px}

.v22-overview{
  background:#fff;
  border:1px solid #dde4eb;
  border-radius:10px;
  padding:18px;
  box-shadow:0 2px 7px rgba(33,51,71,.035);
}
.v22-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:15px;
  border-bottom:1px solid #ebeff3;
}
.v22-site{display:flex;align-items:center;gap:12px}
.v22-site-icon{
  width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(145deg,#2f83ee,#20aa58);color:#fff;font-size:16px;font-weight:600;
  box-shadow:0 6px 14px rgba(40,120,216,.14)
}
.v22-site-meta h2{margin:0;font-size:21px;color:#22313f;font-weight:600;line-height:1.2}
.v22-site-meta p{margin:4px 0 0;font-size:12px;color:#7d8b99;line-height:1.5}
.v22-pills{display:flex;gap:8px;flex-wrap:wrap}
.v22-pill{
  display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:15px;
  border:1px solid #d8e3ef;background:#f7f9fb;color:#52677e;font-size:12px;line-height:1
}
.v22-pill.ok{background:#eff9f1;border-color:#c9e7d0;color:#1d923d}

.v22-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:14px;
  margin-top:16px;
}
.v22-capacity-board,
.v22-security-card{
  border:1px solid #e1e7ed;
  border-radius:10px;
  background:#fff;
  padding:14px;
}
.v22-capacity-board{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.v22-cap-title{
  font-size:14px;
  font-weight:600;
  color:#334150;
  margin-bottom:12px;
  line-height:1.4;
}
.v22-cap-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.v22-cap-card{
  border:1px solid #e5eaf0;
  border-radius:10px;
  background:#fff;
  padding:14px 14px 12px;
}
.v22-cap-card.blue{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
.v22-cap-card.green{background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%)}
.v22-cap-card.orange{background:linear-gradient(180deg,#ffffff 0%,#fffdf9 100%)}

.v22-cap-card-head{display:flex;align-items:center;gap:9px}
.v22-cap-icon{
  width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:600
}
.v22-cap-card.blue .v22-cap-icon{background:#edf5ff;color:#2677d8}
.v22-cap-card.green .v22-cap-icon{background:#eef9f1;color:#20a64a}
.v22-cap-card.orange .v22-cap-icon{background:#fff6e8;color:#df8a16}
.v22-cap-name{font-size:13px;color:#526170;font-weight:500;line-height:1.5}
.v22-cap-value{margin-top:14px;font-size:22px;color:#243341;font-weight:600;line-height:1.2}
.v22-cap-meta{
  margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:12px;color:#7f8d9b;line-height:1.5
}
.v22-progress{
  height:7px;margin-top:10px;background:#edf1f4;border-radius:7px;overflow:hidden
}
.v22-progress i{display:block;height:100%;border-radius:7px}
.v22-cap-card.blue .v22-progress i{background:linear-gradient(90deg,#5ca8ff,#2d7fdc)}
.v22-cap-card.green .v22-progress i{background:linear-gradient(90deg,#57d57d,#25a94e)}
.v22-cap-card.orange .v22-progress i{background:linear-gradient(90deg,#f1b34f,#df8a16)}
.v22-cap-foot{
  margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-size:12px;color:#6f7d8b;line-height:1.5
}
.v22-cap-foot a{color:#2d78c5;text-decoration:none}

/* 安全状态卡 */
.v22-security-card{
  background:linear-gradient(180deg,#fbfefb 0%,#f5fbf6 100%);
  border-color:#d8e8dc;
}
.v22-security-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #e5eee7;
}
.v22-security-title{font-size:16px;color:#247a37;font-weight:600;line-height:1.3}
.v22-security-desc{margin-top:4px;font-size:12px;color:#7b8d80;line-height:1.5}
.v22-security-score{
  width:56px;height:56px;border-radius:50%;border:4px solid #cee9d4;background:#fff;
  display:grid;place-items:center;color:#20a64a;font-size:17px;font-weight:600;
  box-shadow:inset 0 0 0 1px #eef8f1
}
.v22-security-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
  margin-top:13px;
}
.v22-security-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:78px;
  padding:11px 12px;
  border:1px solid #dfebe2;
  border-radius:10px;
  background:rgba(255,255,255,.78);
}
.v22-security-text b{
  display:block;
  font-size:13px;
  font-weight:500;
  color:#355240;
  line-height:1.4;
}
.v22-security-text span{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#7d9184;
  line-height:1.5;
}
.v22-fake-switch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.v22-fake-switch i{
  position:relative;
  display:block;
  width:42px;
  height:24px;
  border-radius:999px;
  background:#d6dde3;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);
}
.v22-fake-switch i::after{
  content:"";
  position:absolute;
  left:3px;
  top:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
}
.v22-fake-switch.on i{
  background:linear-gradient(90deg,#59d77f,#24aa4d);
}
.v22-fake-switch.on i::after{left:21px}
.v22-fake-switch em{
  font-style:normal;
  font-size:12px;
  color:#1c983e;
  line-height:1;
}

/* 概况信息 */
.v22-summary{
  margin-top:14px;
  padding:14px;
  border:1px solid #e1e7ed;
  border-radius:10px;
  background:#fbfcfd;
}
.v22-summary-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.v22-summary-title{
  font-size:14px;
  font-weight:600;
  color:#334150;
  line-height:1.4;
}
.v22-summary-tip{
  max-width:72%;
  font-size:12px;
  color:#6f7d8b;
  line-height:1.6;
  text-align:right;
}
.v22-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.v22-summary-item{
  position:relative;
  min-height:74px;
  padding:12px 14px 12px 16px;
  border:1px solid #e3e8ee;
  border-radius:9px;
  background:#fff;
}
.v22-summary-item .line{
  position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:#d8e0e8
}
.v22-summary-item .line.blue{background:#4b90ea}
.v22-summary-item .line.green{background:#23a54a}
.v22-summary-item .line.orange{background:#df8a16}
.v22-summary-item .line.gray{background:#9aa6b2}
.v22-summary-item .k{
  padding-left:8px;
  font-size:12px;
  color:#7b8996;
  line-height:1.4;
}
.v22-summary-item .v{
  padding-left:8px;
  margin-top:8px;
  font-size:18px;
  color:#30404f;
  font-weight:600;
  line-height:1.2;
}

/* 快捷操作 */
.v22-actions{
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed #e5eaf0;
}
.v22-actions-title{
  font-size:12px;
  color:#6f7d8a;
  margin-bottom:9px;
  line-height:1.5;
}
.v22-actions-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.v22-actions-list a{
  display:inline-flex;
  align-items:center;
  height:34px;
  padding:0 14px;
  border:1px solid #d7e0e9;
  border-radius:17px;
  background:#fff;
  color:#4d6073;
  text-decoration:none;
  font-size:12px;
  transition:.15s;
}
.v22-actions-list a:hover{
  background:#f4f8fc;
  border-color:#bfcddd;
  color:#2d6dad;
}

@media(max-width:1280px){
  .v22-top-grid{grid-template-columns:1fr}
  .v22-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .v22-cap-row{grid-template-columns:1fr}
  .v22-security-grid{grid-template-columns:1fr}
  .v22-summary-head{flex-direction:column}
  .v22-summary-tip{max-width:none;text-align:left}
}
@media(max-width:640px){
  .v22-header{align-items:flex-start;flex-direction:column}
  .v22-summary-grid{grid-template-columns:1fr}
}


/* =========================================================
   V23 - 首页右侧紧凑化
   仅收紧间距与尺寸，不改现有结构
   ========================================================= */

.home-v22{padding:14px 16px 22px}
.home-v22 .pagehead{margin-bottom:10px}

.v22-overview{
  padding:14px 14px 12px;
  border-radius:8px;
}
.v22-header{
  padding-bottom:11px;
  gap:10px;
}
.v22-site{gap:10px}
.v22-site-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  font-size:15px;
}
.v22-site-meta h2{
  font-size:18px;
}
.v22-site-meta p{
  margin-top:2px;
  font-size:12px;
}
.v22-pill{
  height:28px;
  padding:0 10px;
  font-size:12px;
}

.v22-top-grid{
  margin-top:12px;
  gap:12px;
  grid-template-columns:minmax(0,1fr) 390px;
}

.v22-capacity-board,
.v22-security-card{
  padding:12px;
  border-radius:8px;
}
.v22-cap-title{
  margin-bottom:10px;
  font-size:13px;
}
.v22-cap-row{
  gap:10px;
}
.v22-cap-card{
  padding:12px 12px 10px;
  border-radius:8px;
}
.v22-cap-card-head{
  gap:8px;
}
.v22-cap-icon{
  width:28px;
  height:28px;
  border-radius:7px;
}
.v22-cap-name{
  font-size:13px;
}
.v22-cap-value{
  margin-top:11px;
  font-size:18px;
}
.v22-cap-meta{
  margin-top:7px;
  font-size:12px;
}
.v22-progress{
  margin-top:8px;
  height:6px;
}
.v22-cap-foot{
  margin-top:7px;
  font-size:12px;
}

.v22-security-head{
  padding-bottom:10px;
  gap:10px;
}
.v22-security-title{
  font-size:15px;
}
.v22-security-desc{
  margin-top:2px;
}
.v22-security-score{
  width:50px;
  height:50px;
  font-size:16px;
}
.v22-security-grid{
  margin-top:10px;
  gap:8px 10px;
}
.v22-security-item{
  min-height:64px;
  padding:9px 10px;
  border-radius:8px;
}
.v22-security-text b{
  font-size:13px;
}
.v22-security-text span{
  margin-top:1px;
  font-size:12px;
}
.v22-fake-switch i{
  width:40px;
  height:22px;
}
.v22-fake-switch i::after{
  width:16px;
  height:16px;
}
.v22-fake-switch.on i::after{
  left:21px;
}

.v22-summary{
  margin-top:12px;
  padding:12px;
  border-radius:8px;
}
.v22-summary-head{
  margin-bottom:10px;
  gap:10px;
}
.v22-summary-title{
  font-size:13px;
}
.v22-summary-grid{
  gap:8px;
}
.v22-summary-item{
  min-height:62px;
  padding:10px 12px 10px 14px;
  border-radius:8px;
}
.v22-summary-item .line{
  top:12px;
  bottom:12px;
}
.v22-summary-item .k{
  font-size:12px;
}
.v22-summary-item .v{
  margin-top:6px;
  font-size:16px;
}

.v22-actions{
  margin-top:12px;
  padding-top:10px;
}
.v22-actions-title{
  margin-bottom:7px;
  font-size:12px;
}
.v22-actions-list{
  gap:7px;
}
.v22-actions-list a{
  height:31px;
  padding:0 12px;
  border-radius:15px;
  font-size:12px;
}

.home-v22 .v19-host{
  margin-top:12px;
}
.home-v22 .home-log-card{
  margin-top:12px;
}

@media(max-width:1280px){
  .v22-top-grid{grid-template-columns:1fr}
}


/* =========================================================
   V24 - 首页右侧另一套样式
   方向：更清爽的企业控制台风格
   保持结构不变，只换视觉表现
   ========================================================= */

.home-v22{
  padding:14px 16px 22px;
  background:#f4f7fb;
}

.home-v22 .pagehead{
  margin-bottom:10px;
}

.home-v22 .pagehead h1{
  font-size:20px;
  font-weight:600;
  color:#2a3950;
}

.v22-overview{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid #d9e3ee;
  border-radius:12px;
  padding:16px;
  box-shadow:0 4px 14px rgba(32,52,75,.05);
}

.v22-header{
  padding-bottom:13px;
  gap:12px;
  border-bottom:1px solid #e8eef5;
}

.v22-site{
  gap:12px;
}

.v22-site-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  background:linear-gradient(135deg,#2f86eb 0%,#21b26a 100%);
  box-shadow:0 8px 18px rgba(47,134,235,.16);
  font-size:16px;
  font-weight:700;
}

.v22-site-meta h2{
  font-size:18px;
  color:#223349;
  font-weight:600;
}

.v22-site-meta p{
  margin-top:2px;
  color:#7d8c9a;
}

.v22-pills{
  gap:8px;
}

.v22-pill{
  height:28px;
  padding:0 11px;
  border-radius:14px;
  border:1px solid #d7e1eb;
  background:#f8fbff;
  color:#54708c;
  font-size:12px;
}

.v22-pill.ok{
  background:#eefaf2;
  border-color:#cfe8d6;
  color:#1f9850;
}

.v22-top-grid{
  margin-top:13px;
  gap:12px;
  grid-template-columns:minmax(0,1fr) 420px;
  align-items:stretch;
}

.v22-capacity-board,
.v22-security-card,
.v22-summary{
  border-radius:12px;
  border:1px solid #dfe7f0;
  box-shadow:0 2px 8px rgba(25,45,70,.03);
}

.v22-capacity-board{
  background:#ffffff;
  padding:13px;
}

.v22-cap-title,
.v22-summary-title{
  font-size:13px;
  font-weight:600;
  color:#2d4058;
  letter-spacing:.2px;
}

.v22-cap-row{
  gap:10px;
}

.v22-cap-card{
  position:relative;
  border:1px solid #e6edf4;
  border-radius:10px;
  padding:13px 13px 11px;
  background:#fff;
  overflow:hidden;
}

.v22-cap-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:3px;
  opacity:.95;
}

.v22-cap-card.blue::before{background:linear-gradient(90deg,#62a6ff,#2f84e8)}
.v22-cap-card.green::before{background:linear-gradient(90deg,#55d778,#24aa50)}
.v22-cap-card.orange::before{background:linear-gradient(90deg,#f4b24b,#e18b13)}

.v22-cap-card.blue{
  background:linear-gradient(180deg,#ffffff 0%,#fafdff 100%);
}
.v22-cap-card.green{
  background:linear-gradient(180deg,#ffffff 0%,#fbfffc 100%);
}
.v22-cap-card.orange{
  background:linear-gradient(180deg,#ffffff 0%,#fffdfa 100%);
}

.v22-cap-card-head{
  gap:8px;
}

.v22-cap-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  font-size:12px;
  font-weight:700;
}

.v22-cap-card.blue .v22-cap-icon{
  background:#edf5ff;
  color:#2d7fe1;
}
.v22-cap-card.green .v22-cap-icon{
  background:#eefaf2;
  color:#24a44c;
}
.v22-cap-card.orange .v22-cap-icon{
  background:#fff6e8;
  color:#db8916;
}

.v22-cap-name{
  font-size:13px;
  color:#476178;
  font-weight:500;
}

.v22-cap-value{
  margin-top:12px;
  font-size:17px;
  line-height:1.2;
  color:#1f344b;
  font-weight:700;
}

.v22-cap-meta,
.v22-cap-foot{
  font-size:12px;
  color:#738395;
}

.v22-cap-meta{
  margin-top:8px;
}

.v22-progress{
  margin-top:8px;
  height:6px;
  background:#edf2f7;
  border-radius:999px;
}

.v22-progress i{
  border-radius:999px;
}

.v22-cap-foot{
  margin-top:8px;
}

.v22-cap-foot a{
  color:#2d7edb;
  font-weight:500;
}

/* 安全状态做成更像控制面板 */
.v22-security-card{
  padding:13px;
  background:linear-gradient(180deg,#fbfffc 0%,#f5fbf6 100%);
  border-color:#d6e8dc;
}

.v22-security-head{
  padding-bottom:11px;
  border-bottom:1px solid #e2eee6;
}

.v22-security-title{
  font-size:15px;
  font-weight:700;
  color:#257b3c;
}

.v22-security-desc{
  margin-top:3px;
  color:#789082;
}

.v22-security-score{
  width:50px;
  height:50px;
  border:4px solid #cae8d1;
  background:#ffffff;
  color:#1fa14a;
  font-size:16px;
  font-weight:700;
  box-shadow:none;
}

.v22-security-grid{
  margin-top:11px;
  gap:10px;
}

.v22-security-item{
  min-height:72px;
  padding:10px 12px;
  border:1px solid #dce9df;
  border-radius:10px;
  background:#ffffff;
  box-shadow:0 1px 2px rgba(0,0,0,.01);
}

.v22-security-text b{
  font-size:13px;
  font-weight:600;
  color:#345642;
}

.v22-security-text span{
  margin-top:2px;
  color:#7b9082;
}

.v22-fake-switch{
  gap:7px;
}

.v22-fake-switch i{
  width:40px;
  height:22px;
  background:#d4dde5;
}

.v22-fake-switch i::after{
  width:16px;
  height:16px;
}

.v22-fake-switch.on i{
  background:linear-gradient(90deg,#5cd879,#25ac4d);
}

.v22-fake-switch em{
  color:#1e9f44;
  font-weight:500;
}

/* 概况信息 */
.v22-summary{
  margin-top:12px;
  padding:13px;
  background:#ffffff;
}

.v22-summary-head{
  margin-bottom:10px;
  align-items:center;
}

.v22-summary-tip{
  max-width:72%;
  color:#6f8093;
}

.v22-summary-grid{
  gap:9px;
}

.v22-summary-item{
  min-height:64px;
  padding:11px 12px 11px 15px;
  border:1px solid #e5edf5;
  border-radius:10px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
}

.v22-summary-item .line{
  top:11px;
  bottom:11px;
  width:3px;
}

.v22-summary-item .k{
  color:#8090a0;
}

.v22-summary-item .v{
  margin-top:6px;
  font-size:15px;
  color:#273b52;
  font-weight:700;
}

/* 快捷操作做成胶囊按钮 */
.v22-actions{
  margin-top:12px;
  padding-top:11px;
  border-top:1px dashed #e5ecf3;
}

.v22-actions-title{
  margin-bottom:8px;
  color:#6d7f91;
  font-size:12px;
}

.v22-actions-list{
  gap:8px;
}

.v22-actions-list a{
  height:32px;
  padding:0 13px;
  border:1px solid #d9e3ed;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  color:#4b637b;
  font-size:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.02);
}

.v22-actions-list a:hover{
  color:#276ec6;
  border-color:#bcd0e5;
  background:#f3f8ff;
}

/* 主机资料和日志与新首页衔接 */
.home-v22 .v19-host,
.home-v22 .home-log-card{
  margin-top:12px;
}

.home-v22 .v19-host,
.home-v22 .home-log-card{
  border-radius:12px;
  border-color:#dfe7f0;
  box-shadow:0 2px 8px rgba(25,45,70,.03);
}

.home-v22 .v19-host .card-title,
.home-v22 .home-log-card .card-title{
  background:#fbfcfe;
}

/* 响应式 */
@media(max-width:1280px){
  .v22-top-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   V25 - 首页多方案对比
   最小中文 12px
   ========================================================= */
html,body{font-size:14px}
body,button,input,select,textarea{font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Noto Sans SC",Arial,sans-serif}
small,.muted,.crumb,.badge,.pill,.panel-title,.v19-host small,.log-summary,.input,select,option,.copy-hover{font-size:12px}

/* 通用 */
.style-compare-page,.home-a,.home-b,.home-c{padding:16px 18px 28px;background:#f5f7fa}
.home-a .v19-host,.home-a .home-log-card,
.home-b .v19-host,.home-b .home-log-card,
.home-c .v19-host,.home-c .home-log-card{margin-top:14px}
.a-wrap,.b-wrap,.c-wrap{
  background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:16px;
  box-shadow:0 2px 10px rgba(32,51,74,.04)
}
.panel-title{color:#2f4154;font-weight:600;line-height:1.5;margin-bottom:10px}

/* compare */
.compare-wrap{background:#fff;border:1px solid #dbe3ec;border-radius:12px;padding:18px}
.compare-intro{font-size:13px;color:#68798b;line-height:1.8;margin-bottom:14px}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.compare-card{
  display:block;text-decoration:none;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  border:1px solid #dfe7f0;border-radius:12px;padding:16px;color:#2e3e4f
}
.compare-card .tag{display:inline-flex;height:24px;padding:0 10px;align-items:center;border-radius:12px;background:#eef5ff;color:#2c79d6;font-size:12px}
.compare-card h3{margin:14px 0 8px;font-size:18px;color:#233448}
.compare-card p{margin:0;color:#718193;font-size:13px;line-height:1.8;min-height:72px}
.compare-card span{display:inline-block;margin-top:14px;color:#1d74dd;font-size:13px;font-weight:600}

/* common pills */
.pill{
  display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:15px;
  border:1px solid #d8e2ec;background:#f8fbff;color:#556d86;font-size:12px
}
.pill.ok{background:#eff9f1;border-color:#cae7d1;color:#1f9647}

/* option A */
.a-hero{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #ebeff3}
.a-site{display:flex;align-items:center;gap:12px}
.a-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#2f84ea,#20aa59);color:#fff;font-size:18px;font-weight:700}
.a-site-text h2{margin:0;font-size:20px;color:#223448}
.a-site-text p{margin:4px 0 0;color:#7c8b99;font-size:12px}
.a-pills{display:flex;flex-wrap:wrap;gap:8px}
.a-summary-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px
}
.a-summary-strip .item{
  border:1px solid #e4eaf0;border-radius:10px;background:#fbfcfe;padding:12px 14px
}
.a-summary-strip .item span{display:block;color:#7f8d99;font-size:12px}
.a-summary-strip .item strong{display:block;margin-top:8px;color:#24364b;font-size:18px;font-weight:600}
.a-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;margin-top:14px}
.a-resource-panel,.a-security-panel,.a-actions-card{
  border:1px solid #e2e8ee;border-radius:10px;padding:14px;background:#fff
}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.r-card{border:1px solid #e5ebf1;border-radius:10px;padding:14px}
.r-card.blue{background:#fbfdff}.r-card.green{background:#fbfffc}.r-card.orange{background:#fffdfa}
.r-head{display:flex;align-items:center;gap:8px;color:#506373;font-size:13px}
.r-head i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700}
.r-card.blue .r-head i{background:#edf5ff;color:#277bde}.r-card.green .r-head i{background:#eef9f1;color:#20a44b}.r-card.orange .r-head i{background:#fff5e7;color:#db8a17}
.r-value{font-size:20px;font-weight:700;color:#23364a;margin-top:12px}
.r-meta,.r-foot{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#738394}
.bar{height:6px;background:#edf2f6;border-radius:99px;overflow:hidden;margin:10px 0}
.bar b{display:block;height:100%;border-radius:99px}
.blue .bar b{background:#4d98f0}.green .bar b{background:#38ba61}.orange .bar b{background:#e7a23a}
.r-foot a{color:#2778d8;text-decoration:none}
.s-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #ebf0ee}
.s-top h3{margin:0;color:#24783b;font-size:18px}
.s-top p{margin:6px 0 0;font-size:12px;color:#7a8f81}
.score{width:56px;height:56px;border:4px solid #cde8d4;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:700;color:#20a64a;background:#fff}
.s-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.s-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #dce8df;border-radius:10px;padding:12px;background:#fbfefb}
.s-item b{display:block;font-size:13px;color:#355042}
.s-item small{display:block;margin-top:3px;font-size:12px;color:#7e9286}
.switch{display:inline-block;width:42px;height:24px;border-radius:99px;background:#d3dce3;position:relative}
.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16)}
.switch.on{background:linear-gradient(90deg,#59d67a,#24ab4d)} .switch.on:after{left:21px}
.state.ok{color:#1e9f46;font-size:13px;font-weight:600}
.a-actions-card{margin-top:12px}
.action-list{display:flex;flex-wrap:wrap;gap:8px}
.action-list a{display:inline-flex;height:34px;align-items:center;padding:0 14px;border:1px solid #d7e1ea;border-radius:17px;background:#fff;text-decoration:none;color:#4d657d;font-size:12px}

/* option B */
.b-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid #ebeff3}
.b-host{display:flex;align-items:center;gap:12px}
.b-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#2d83e8;color:#fff;font-size:18px;font-weight:700}
.b-text h2{margin:0;font-size:20px;color:#233549}
.b-text p{margin:4px 0 0;color:#7d8b98;font-size:12px}
.b-pills{display:flex;flex-wrap:wrap;gap:8px}
.b-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;margin-top:14px}
.b-card{border:1px solid #e1e7ee;border-radius:10px;background:#fff;padding:14px}
.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mini-grid > div{border:1px solid #e6ecf2;border-radius:9px;background:#fbfcfe;padding:12px}
.mini-grid span{display:block;color:#7c8a98;font-size:12px}
.mini-grid strong{display:block;margin-top:7px;color:#283a4f;font-size:18px;font-weight:600}
.usage-list{display:grid;gap:10px}
.usage-item{border:1px solid #e6ebf1;border-radius:10px;padding:12px 14px}
.usage-item.blue{background:#fbfdff}.usage-item.green{background:#fbfffc}.usage-item.orange{background:#fffdfa}
.u-top,.u-sub,.u-foot{display:flex;justify-content:space-between;gap:8px}
.u-top b{font-size:14px;color:#34485d}
.u-top span{font-size:18px;font-weight:700;color:#22364c}
.u-sub,.u-foot{font-size:12px;color:#738393;margin-top:6px}
.secure-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.secure-head h3{margin:0;color:#25793a;font-size:18px}
.secure-head p{margin:5px 0 0;color:#7c8f82;font-size:12px}
.secure .score{width:52px;height:52px;font-size:17px}
.secure-list .row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px dashed #e4ece6}
.secure-list .row:first-child{border-top:none;padding-top:4px}
.secure-list .row span{font-size:13px;color:#3f5467}
.secure-list .row b.ok{color:#1c9a43;font-size:13px}
.secure-list .row em.switch{font-style:normal}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.quick-grid a{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #d9e2eb;border-radius:10px;text-decoration:none;color:#4f6780;font-size:12px;background:#fbfcfe}

/* option C */
.c-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 16px}
.c-left{display:flex;align-items:center;gap:12px}
.c-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2f86eb,#20b26a);color:#fff;font-size:18px;font-weight:700}
.c-left h2{margin:0;font-size:21px;color:#213347}
.c-left p{margin:4px 0 0;color:#8090a0;font-size:12px}
.c-right{display:flex;gap:8px;flex-wrap:wrap}
.c-cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.c-mini{border:1px solid #e5ecf3;border-radius:10px;padding:12px 14px;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.c-mini span{display:block;color:#8090a0;font-size:12px}
.c-mini strong{display:block;margin-top:7px;color:#26384d;font-size:18px;font-weight:600}
.c-main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;margin-top:14px}
.c-resource,.c-security,.c-actions{border:1px solid #e1e8ef;border-radius:12px;background:#fff;padding:14px}
.c-resource-grid{display:grid;gap:10px}
.c-res{border:1px solid #e5ebf1;border-radius:12px;padding:14px}
.c-res small{display:block;font-size:12px;color:#788898}
.c-res strong{display:block;margin-top:8px;font-size:22px;color:#213449}
.c-res span{display:block;margin-top:6px;font-size:12px;color:#738392}
.c-res em{display:block;margin-top:8px;font-style:normal;font-size:12px;color:#55687a}
.c-res.blue{background:#fbfdff}.c-res.green{background:#fbfffc}.c-res.orange{background:#fffdfa}
.c-security .head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.c-security .head h3{margin:0;font-size:18px;color:#23783a}
.c-sec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.c-sec-grid .box{border:1px solid #dce8df;border-radius:10px;padding:12px;background:#fbfefb}
.c-sec-grid .box b{display:block;font-size:13px;color:#355143}
.c-sec-grid .box span{display:block;margin-top:5px;font-size:12px;color:#1d9c44}
.c-action-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.c-action-list a{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid #d9e2eb;border-radius:10px;text-decoration:none;color:#4f6680;font-size:12px;background:#fbfcfe}

/* responsive */
@media(max-width:1280px){
  .compare-grid{grid-template-columns:1fr}
  .a-main-grid,.b-grid,.c-main{grid-template-columns:1fr}
}
@media(max-width:900px){
  .a-summary-strip,.c-cards-4{grid-template-columns:repeat(2,1fr)}
  .resource-grid,.s-grid,.c-sec-grid,.quick-grid,.c-action-list{grid-template-columns:1fr}
  .mini-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .a-hero,.b-top,.c-hero{flex-direction:column;align-items:flex-start}
  .a-summary-strip,.c-cards-4{grid-template-columns:1fr}
}


/* =========================================================
   V26 - 五套首页样式方案
   最小中文字号 12px
   ========================================================= */
body,button,input,select,textarea{
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Noto Sans SC",Arial,sans-serif;
}
html,body{font-size:14px}
small,.muted,.crumb,.badge,.copy-hover,.page-actions span,.pagehead .crumb,.v19-host small,.log-summary,.input,select,option{
  font-size:12px
}
.scheme-card p,.compare-note,.a-right-tip,.row small,.a-right-tip,.a-res .meta,.a-res .foot,
.b-shell .sub,.b-shell .foot,.c-card span,.c-card em,.d-simple-table th,.d-simple-table td,
.e-card .sub,.e-card .note,.e-sec-grid span{font-size:12px}

/* compare */
.style-compare-v26{padding:16px 18px 28px;background:#f5f7fa}
.compare-board-v26{background:#fff;border:1px solid #dce4ed;border-radius:12px;padding:18px;box-shadow:0 2px 10px rgba(30,47,69,.04)}
.compare-note{color:#6f8092;line-height:1.8;margin-bottom:15px}
.compare-grid-v26{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.scheme-card{display:block;text-decoration:none;color:#2d3d4f;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);border:1px solid #e0e7ef;border-radius:12px;padding:15px}
.scheme-badge{display:inline-flex;height:24px;align-items:center;padding:0 10px;border-radius:12px;background:#edf5ff;color:#2c78d7;font-size:12px}
.scheme-card h3{margin:13px 0 8px;font-size:17px;color:#233548}
.scheme-card p{margin:0;min-height:66px;color:#718293;line-height:1.7}
.scheme-card em{display:inline-block;margin-top:12px;color:#1e74da;font-style:normal;font-weight:600;font-size:13px}

/* common */
.dash-a,.dash-b,.dash-c,.dash-d,.dash-e{padding:16px 18px 28px;background:#f5f7fa}
.a-shell,.b-shell,.c-shell,.d-shell,.e-shell{
  background:#fff;border:1px solid #dce4ed;border-radius:12px;padding:16px;box-shadow:0 2px 10px rgba(30,47,69,.04)
}
.dash-a .v19-host,.dash-a .home-log-card,
.dash-b .v19-host,.dash-b .home-log-card,
.dash-c .v19-host,.dash-c .home-log-card,
.dash-d .v19-host,.dash-d .home-log-card,
.dash-e .v19-host,.dash-e .home-log-card{margin-top:14px}
.sect-title{font-size:14px;color:#314255;font-weight:600;line-height:1.5;margin-bottom:10px}
.ab,.pb,.dash-c .tags span,.d-badges span,.e-pills span{
  display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid #d8e1eb;border-radius:15px;
  background:#f7fafc;color:#576e87;font-size:12px
}
.ab.ok,.pb.ok,.dash-c .tags span:first-child,.d-badges span:first-child,.e-pills span:first-child{
  color:#1f9647;background:#eff9f1;border-color:#cbe7d2
}
.switch{display:inline-block;width:42px;height:24px;border-radius:99px;background:#d5dde4;position:relative}
.switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16)}
.switch.on{background:linear-gradient(90deg,#5bd77a,#24aa4e)} .switch.on:after{left:21px}

/* A */
.a-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #ebeff3}
.a-titlebox{display:flex;align-items:center;gap:12px}
.a-mark{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#2e84ea,#22af62);color:#fff;font-size:18px;font-weight:700}
.a-titlebox h2{margin:0;font-size:20px;color:#24364a}
.a-titlebox p{margin:4px 0 0;color:#7d8c98}
.a-badges{display:flex;gap:8px;flex-wrap:wrap}
.a-overview-grid{display:grid;grid-template-columns:1fr 320px;gap:12px;margin-top:14px}
.a-info-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.a-info-strip div,.a-right-tip{border:1px solid #e4ebf1;border-radius:10px;background:#fbfcfe;padding:12px 14px}
.a-info-strip span{display:block;color:#7f8c98}
.a-info-strip strong{display:block;margin-top:8px;font-size:18px;color:#25364a;font-weight:600}
.a-right-tip{color:#6f8092;line-height:1.8}
.a-mid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;margin-top:14px}
.a-resource,.a-security,.a-actions{border:1px solid #e3e9ef;border-radius:10px;background:#fff;padding:14px}
.a-res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.a-res{border:1px solid #e6ecf2;border-radius:10px;padding:14px}
.a-res.blue{background:#fbfdff}.a-res.green{background:#fbfffc}.a-res.orange{background:#fffdfa}
.a-res h4{margin:0;color:#4f6276;font-size:13px;font-weight:500}
.a-res .num{font-size:22px;color:#1f3449;font-weight:700;margin-top:12px}
.a-res .meta,.a-res .foot{display:flex;justify-content:space-between;gap:8px;color:#728392}
.a-res .meta{margin-top:8px}
.a-res .foot{margin-top:8px}
.a-res .line{margin-top:9px;height:6px;background:#edf2f6;border-radius:99px;overflow:hidden}
.a-res .line i{display:block;height:100%;border-radius:99px}
.a-res.blue .line i{background:#4d98f0}.a-res.green .line i{background:#36ba62}.a-res.orange .line i{background:#e5a13a}
.a-res a{color:#2b77d7;text-decoration:none}
.a-sec-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #ebf0ee}
.a-sec-head h3{margin:0;color:#24773b;font-size:18px}
.a-sec-head p{margin:5px 0 0;color:#7b8e83}
.a-sec-head .score{width:56px;height:56px;border:4px solid #cde7d3;border-radius:50%;display:grid;place-items:center;color:#20a64b;font-size:18px;font-weight:700;background:#fff}
.a-sec-list .row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px dashed #e3ece5}
.a-sec-list .row:first-child{border-top:none;padding-top:10px}
.a-sec-list .row span{font-size:13px;color:#3e5367}
.a-sec-list .row b{font-size:13px}
.a-sec-list .row .on{color:#1d9b45}
.a-actions{margin-top:12px}
.a-actions .alist{display:flex;flex-wrap:wrap;gap:8px}
.a-actions .alist a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid #d8e2eb;border-radius:17px;background:#fff;color:#4e667f;text-decoration:none;font-size:12px}

/* B */
.b-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #ebeff3}
.b-hero .left{display:flex;align-items:center;gap:12px}
.b-hero .mark{width:44px;height:44px;border-radius:10px;background:#2f84ea;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700}
.b-hero h2{margin:0;font-size:20px;color:#223548}
.b-hero p{margin:4px 0 0;color:#7d8d99}
.b-hero .right{display:flex;gap:8px;flex-wrap:wrap}
.b-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;margin-top:14px}
.b-card{border:1px solid #e3e9ef;border-radius:10px;background:#fff;padding:14px}
.b-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.b-kv-grid > div{border:1px solid #e5ebf1;border-radius:10px;background:#fbfcfe;padding:12px}
.b-kv-grid span{display:block;color:#7e8b98}
.b-kv-grid strong{display:block;margin-top:8px;color:#23364b;font-size:18px;font-weight:600}
.b-usage-list{display:grid;gap:10px}
.b-usage-list .u{border:1px solid #e5ebf1;border-radius:10px;padding:12px 14px}
.b-usage-list .u.blue{background:#fbfdff}.b-usage-list .u.green{background:#fbfffc}.b-usage-list .u.orange{background:#fffdfa}
.b-usage-list .top,.b-usage-list .sub,.b-usage-list .foot{display:flex;justify-content:space-between;gap:8px}
.b-usage-list .top b{font-size:14px;color:#33475b}
.b-usage-list .top strong{font-size:18px;color:#1f3449}
.b-usage-list .sub,.b-usage-list .foot{color:#728291;margin-top:6px}
.b-usage-list .line{height:6px;background:#edf2f6;border-radius:99px;margin-top:8px;overflow:hidden}
.b-usage-list .line i{display:block;height:100%;border-radius:99px}
.b-usage-list .u.blue .line i{background:#4d98f0}.b-usage-list .u.green .line i{background:#36ba62}.b-usage-list .u.orange .line i{background:#e5a13a}
.b-usage-list a{color:#2c79d8;text-decoration:none}
.b-state-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.b-state-head h3{margin:0;font-size:18px;color:#24773b}
.b-state-head p{margin:4px 0 0;color:#7c8f82}
.b-state-head .score{width:52px;height:52px;border-radius:50%;border:4px solid #cce7d2;display:grid;place-items:center;font-size:17px;font-weight:700;color:#20a64b}
.b-state-grid{display:grid;gap:10px}
.b-state-grid > div{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #dfe9e2;border-radius:10px;padding:11px 12px;background:#fbfefb}
.b-state-grid span{font-size:13px;color:#405467}
.b-state-grid b{font-size:13px;color:#1f9d46}
.b-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.b-btn-grid a{display:flex;min-height:38px;align-items:center;justify-content:center;border:1px solid #d9e2eb;border-radius:10px;background:#fbfcfe;text-decoration:none;color:#4f6780;font-size:12px}

/* C */
.c-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px}
.c-hero .site{display:flex;align-items:center;gap:12px}
.c-hero .tag{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#2f86eb,#21b06a);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:700}
.c-hero h2{margin:0;font-size:21px;color:#223447}
.c-hero p{margin:4px 0 0;color:#7e8e9f}
.c-hero .tags{display:flex;gap:8px;flex-wrap:wrap}
.c-topcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.c-topcards .mini{border:1px solid #e5ecf3;border-radius:12px;background:linear-gradient(180deg,#fff,#fbfdff);padding:13px 14px}
.c-topcards span{display:block;color:#8090a0}
.c-topcards strong{display:block;margin-top:8px;font-size:18px;color:#26384c}
.c-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.c-card{border:1px solid #e2e9ef;border-radius:14px;background:#fff;padding:15px}
.c-card.res small{display:block;color:#7b8b9c}
.c-card.res strong{display:block;margin-top:8px;font-size:24px;color:#1f3448}
.c-card.res span{display:block;margin-top:7px;color:#728292}
.c-card.res em{display:block;margin-top:8px;font-style:normal;color:#5f7286}
.c-card.res .line{height:6px;background:#edf2f6;border-radius:99px;margin-top:10px;overflow:hidden}
.c-card.res .line i{display:block;height:100%;border-radius:99px}
.c-card.res.blue{background:#fbfdff}.c-card.res.green{background:#fbfffc}.c-card.res.orange{background:#fffdfa}
.c-card.res.blue .line i{background:#4d98f0}.c-card.res.green .line i{background:#36ba62}.c-card.res.orange .line i{background:#e5a13a}
.c-card.sec{grid-column:span 1;background:linear-gradient(180deg,#fbfffc,#f6fbf7)}
.c-card.sec .head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.c-card.sec .head h3{margin:0;font-size:18px;color:#25773c}
.c-card.sec .head .score{width:50px;height:50px;border:4px solid #cde7d3;border-radius:50%;display:grid;place-items:center;font-size:16px;color:#1fa24a;font-weight:700;background:#fff}
.c-card.sec .grid{display:grid;gap:10px}
.c-card.sec .grid > div{border:1px solid #dfe9e2;border-radius:10px;background:#fff;padding:10px 11px}
.c-card.sec .grid b{display:block;font-size:13px;color:#355143}
.c-card.sec .grid span{display:block;margin-top:4px;color:#1f9c44}
.c-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.c-actions a{display:inline-flex;height:34px;align-items:center;padding:0 14px;border:1px solid #d8e2eb;border-radius:17px;background:#fff;text-decoration:none;color:#4e667e;font-size:12px}

/* D */
.d-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #ebeff3}
.d-brand{display:flex;align-items:center;gap:12px}
.d-brand .mark{width:46px;height:46px;border-radius:10px;background:#2f84ea;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700}
.d-brand h2{margin:0;font-size:20px;color:#233447}
.d-brand p{margin:4px 0 0;color:#7d8d9a}
.d-badges{display:flex;gap:8px;flex-wrap:wrap}
.d-status-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.d-status-bar .box{border:1px solid #e2e8ef;border-radius:10px;padding:14px;background:#fbfcfe}
.d-status-bar .box.green{background:#f6fcf7}
.d-status-bar label{display:block;color:#7d8b99}
.d-status-bar strong{display:block;margin-top:8px;color:#24374c;font-size:22px}
.d-status-bar small{display:block;margin-top:7px;color:#6f8092;font-size:12px;line-height:1.7}
.d-table-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.d-shell .panel,.d-action-panel{border:1px solid #e2e8ef;border-radius:10px;background:#fff;overflow:hidden}
.d-shell .panel-hd{height:44px;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid #e9eef3;background:#fbfcfd;font-size:14px;color:#314255;font-weight:600}
.d-simple-table{width:100%;border-collapse:collapse}
.d-simple-table th,.d-simple-table td{padding:13px 14px;border-top:1px solid #edf2f6;text-align:left}
.d-simple-table th{width:22%;color:#748392;font-weight:400;background:#fbfcfd}
.d-simple-table td{color:#24364a}
.d-simple-table td.ok{color:#1e9c45;font-weight:600}
.d-action-panel{margin-top:12px}
.d-action-panel .btns{padding:14px;display:flex;flex-wrap:wrap;gap:8px}
.d-action-panel .btns a{display:inline-flex;height:34px;align-items:center;padding:0 14px;border:1px solid #d8e2eb;border-radius:17px;background:#fff;text-decoration:none;color:#4e667f;font-size:12px}

/* E */
.e-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #ebeff3}
.e-site{display:flex;align-items:center;gap:12px}
.e-logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#2f86eb,#1fb069);display:grid;place-items:center;color:#fff;font-size:18px;font-weight:700}
.e-site h2{margin:0;font-size:21px;color:#223448}
.e-site p{margin:4px 0 0;color:#7d8d9c}
.e-pills{display:flex;gap:8px;flex-wrap:wrap}
.e-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.e-card{border:1px solid #e2e9ef;border-radius:12px;background:#fff;padding:14px}
.e-card.metric{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
.e-card.security{background:linear-gradient(180deg,#fbfffc 0%,#f6fbf7 100%)}
.e-card.overview{grid-column:span 2}
.e-card.actions{grid-column:span 2}
.e-card .hd{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#4c6176;font-size:13px}
.e-card .hd a{color:#2a78d7;text-decoration:none;font-size:12px}
.e-card .big{margin-top:12px;font-size:24px;color:#213447;font-weight:700}
.e-card .sub{margin-top:7px;color:#718292}
.e-card .note{margin-top:8px;color:#5f7287}
.e-card .line{height:7px;background:#edf2f6;border-radius:99px;margin-top:10px;overflow:hidden}
.e-card .line i{display:block;height:100%;border-radius:99px}
.e-card .line.blue i{background:#4d98f0}.e-card .line.green i{background:#36ba62}.e-card .line.orange i{background:#e5a13a}
.e-card.security .sec-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.e-card.security .sec-head h3{margin:0;color:#24773b;font-size:18px}
.e-card.security .sec-head p{margin:4px 0 0;color:#7c8f83}
.e-card.security .score{width:52px;height:52px;border:4px solid #cde7d3;border-radius:50%;display:grid;place-items:center;color:#1fa24a;font-size:17px;font-weight:700;background:#fff}
.e-sec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.e-sec-grid > div{border:1px solid #dce8df;border-radius:10px;background:#fff;padding:11px}
.e-sec-grid b{display:block;font-size:13px;color:#355042}
.e-sec-grid span{display:block;margin-top:5px;color:#1e9b44}
.e-over-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.e-over-grid > div{border:1px solid #e6ecf1;border-radius:10px;background:#fbfcfe;padding:12px}
.e-over-grid label{display:block;color:#7d8c99;font-size:12px}
.e-over-grid strong{display:block;margin-top:7px;color:#25374b;font-size:18px}
.e-act-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.e-act-grid a{display:flex;min-height:38px;align-items:center;justify-content:center;border:1px solid #d9e2eb;border-radius:10px;background:#fbfcfe;text-decoration:none;color:#4e667f;font-size:12px}

/* responsive */
@media(max-width:1500px){
  .compare-grid-v26{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1280px){
  .a-overview-grid,.a-mid,.b-main-grid,.d-table-panels{grid-template-columns:1fr}
  .a-info-strip,.c-topcards,.d-status-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .a-res-grid,.c-grid,.e-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .e-card.overview,.e-card.actions{grid-column:span 2}
  .e-act-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .compare-grid-v26{grid-template-columns:1fr}
  .a-info-strip,.b-kv-grid,.c-topcards,.d-status-bar,.e-over-grid,.e-sec-grid{grid-template-columns:1fr}
  .a-res-grid,.c-grid,.e-dashboard-grid{grid-template-columns:1fr}
  .s-grid,.b-btn-grid{grid-template-columns:1fr}
  .e-card.overview,.e-card.actions{grid-column:span 1}
}
@media(max-width:640px){
  .a-topbar,.b-hero,.c-hero,.d-top,.e-hero{flex-direction:column;align-items:flex-start}
}


/* =========================================================
   V27 首页重构 - 宝塔布局风格 / 中国审美
   ========================================================= */
.bt27-home{padding:16px 18px 28px;background:#f3f6fb}
.bt27-home .pagehead h1{font-size:20px;font-weight:600;color:#263445}
.bt27-home .crumb,.bt27-home .badge{font-size:12px}
.bt27-shell{display:grid;gap:14px}
.bt27-panel,.bt27-log.card{background:#fff;border:1px solid #e7edf3;border-radius:10px;box-shadow:0 1px 6px rgba(15,34,58,.04)}
.bt27-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #e7edf3;border-radius:10px;padding:18px 20px;box-shadow:0 1px 6px rgba(15,34,58,.04)}
.bt27-site{display:flex;align-items:center;gap:14px}
.bt27-logo{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#20a53a,#38bf56);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700}
.bt27-site-text h2{margin:0;font-size:28px;line-height:1.2;color:#1f2d3d;font-weight:600}
.bt27-site-text p{margin:6px 0 0;color:#6c7a89;font-size:13px;line-height:1.7}
.bt27-state-tags{display:flex;gap:8px;flex-wrap:wrap}
.bt27-tag{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:1px solid #d9e3ef;border-radius:15px;background:#f8fafc;color:#5d6c7c;font-size:12px}
.bt27-tag.ok{background:#eff9f0;border-color:#cfe9d4;color:#1f9547}
.bt27-top-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(360px,1fr);gap:14px}
.bt27-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 18px 0}
.bt27-panel-head.small{padding-bottom:0}
.bt27-panel-head-line{padding-bottom:12px;border-bottom:1px solid #edf2f7}
.bt27-panel-head h3{margin:0;font-size:16px;color:#263445;font-weight:600}
.bt27-panel-head p{margin:4px 0 0;color:#8a97a6;font-size:12px;line-height:1.5}
.bt27-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 18px 18px}
.bt27-resource-card{border:1px solid #e8eef5;border-radius:10px;padding:16px;background:#fff}
.bt27-resource-card.blue{background:linear-gradient(180deg,#ffffff 0,#fbfdff 100%)}
.bt27-resource-card.green{background:linear-gradient(180deg,#ffffff 0,#fbfffc 100%)}
.bt27-resource-card.orange{background:linear-gradient(180deg,#ffffff 0,#fffdfa 100%)}
.bt27-resource-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:14px;font-weight:700;margin-bottom:10px}
.bt27-resource-card.blue .bt27-resource-icon{background:#edf5ff;color:#2c7be5}
.bt27-resource-card.green .bt27-resource-icon{background:#edf9ef;color:#20a53a}
.bt27-resource-card.orange .bt27-resource-icon{background:#fff3e4;color:#e68a00}
.bt27-resource-name{font-size:14px;color:#4f5f70}
.bt27-resource-value{margin-top:10px;font-size:34px;line-height:1.1;color:#1f2d3d;font-weight:600}
.bt27-resource-meta,.bt27-resource-foot{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#748293}
.bt27-resource-meta{margin-top:10px}
.bt27-resource-foot{margin-top:8px}
.bt27-progress{height:8px;background:#edf2f6;border-radius:20px;overflow:hidden;margin-top:10px}
.bt27-progress i{display:block;height:100%;border-radius:20px}
.bt27-resource-card.blue .bt27-progress i{background:#4a96f0}
.bt27-resource-card.green .bt27-progress i{background:#31b557}
.bt27-resource-card.orange .bt27-progress i{background:#e59a2f}
.bt27-resource-foot a{text-decoration:none;color:#2c7be5;font-size:12px}
.bt27-security-panel{padding-bottom:16px}
.bt27-score{width:62px;height:62px;border-radius:50%;border:4px solid #cfe9d5;display:grid;place-items:center;color:#1fa24b;font-size:22px;font-weight:700;background:#fff}
.bt27-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 18px 0}
.bt27-safe-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e4efe6;border-radius:10px;background:#f9fdf9;padding:14px 14px}
.bt27-safe-text b{display:block;color:#2f4152;font-size:14px;font-weight:600}
.bt27-safe-text span{display:block;margin-top:4px;color:#8794a2;font-size:12px;line-height:1.5}
.bt27-switch{width:42px;height:24px;border-radius:12px;background:#d7dee6;position:relative;flex:0 0 auto}
.bt27-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.16)}
.bt27-switch.on{background:linear-gradient(90deg,#57cf75,#20a53a)}
.bt27-switch.on:after{left:21px}
.bt27-status{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:14px;background:#eff9f0;color:#1f9547;font-style:normal;font-size:12px}
.bt27-mid-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(420px,1fr);gap:14px}
.bt27-basic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 18px 18px}
.bt27-basic-item{border:1px solid #e8eef5;border-radius:10px;background:#fbfcfe;padding:14px 15px}
.bt27-basic-item span{display:block;color:#8693a2;font-size:12px}
.bt27-basic-item strong{display:block;margin-top:8px;color:#223244;font-size:22px;line-height:1.2;font-weight:600}
.bt27-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px 18px}
.bt27-action-grid a{text-decoration:none;display:flex;justify-content:center;align-items:center;min-height:40px;border:1px solid #d8e4d9;border-radius:8px;background:#fff;color:#35506b;font-size:13px}
.bt27-action-grid a:hover{border-color:#a9d4af;background:#f7fcf8;color:#1f9547}
.bt27-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bt27-kv-list{padding:10px 18px 18px}
.bt27-kv{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px dashed #e9eef4}
.bt27-kv:last-child{border-bottom:none}
.bt27-kv span{color:#8693a2;font-size:12px}
.bt27-kv strong{color:#223244;font-size:14px;font-weight:500;text-align:right;line-height:1.7}
.bt27-log .card-title{height:auto;padding:14px 16px;border-bottom:1px solid #edf2f7;background:#fff;font-size:14px}
.bt27-log .card-body{padding:14px 16px 16px}

/* Ensure home min Chinese size 12px */
.bt27-home .bt27-panel *,
.bt27-home .bt27-hero *,
.bt27-home .bt27-log *{font-size:inherit}
.bt27-home .bt27-panel p,
.bt27-home .bt27-panel span,
.bt27-home .bt27-panel a,
.bt27-home .bt27-panel em,
.bt27-home .bt27-panel b,
.bt27-home .bt27-log span,
.bt27-home .bt27-log td,
.bt27-home .bt27-log th{font-size:12px}
.bt27-home .bt27-panel h3{font-size:16px}
.bt27-home .bt27-site-text h2{font-size:28px}
.bt27-home .bt27-resource-value{font-size:34px}
.bt27-home .bt27-basic-item strong{font-size:22px}

@media(max-width:1400px){
  .bt27-top-grid,.bt27-mid-grid{grid-template-columns:1fr}
}
@media(max-width:1200px){
  .bt27-resource-grid,.bt27-basic-grid,.bt27-action-grid,.bt27-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .bt27-hero{flex-direction:column;align-items:flex-start}
  .bt27-resource-grid,.bt27-security-grid,.bt27-basic-grid,.bt27-action-grid,.bt27-account-grid{grid-template-columns:1fr}
  .bt27-site-text h2{font-size:24px}
}


/* =========================================================
   V28 首页 - 更紧凑的宝塔式布局
   12-14px为主，减少大字号与大留白
   ========================================================= */
.bt28-home{
  padding:14px 16px 24px;
  background:#f4f6f8;
}
.bt28-home .pagehead{
  margin-bottom:10px;
}
.bt28-home .pagehead h1{
  font-size:18px;
  font-weight:600;
  color:#253444;
}
.bt28-home .crumb,
.bt28-home .badge{
  font-size:12px;
}

.bt28-panel{
  background:#fff;
  border:1px solid #e2e8ef;
  border-radius:6px;
  box-shadow:none;
}

.bt28-summary{
  padding:0;
}

.bt28-site-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #edf1f5;
}

.bt28-site-main{
  display:flex;
  align-items:center;
  gap:10px;
}

.bt28-site-icon{
  width:38px;
  height:38px;
  border-radius:7px;
  display:grid;
  place-items:center;
  color:#fff;
  background:#20a53a;
  font-size:15px;
  font-weight:600;
}

.bt28-site-main h2{
  margin:0;
  font-size:18px;
  line-height:1.3;
  font-weight:600;
  color:#223243;
}

.bt28-site-main p{
  margin:3px 0 0;
  font-size:12px;
  color:#7c8996;
  line-height:1.5;
}

.bt28-site-tags{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.bt28-tag{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 9px;
  border-radius:13px;
  border:1px solid #dce4ec;
  background:#f8fafc;
  color:#5c6b7a;
  font-size:12px;
}

.bt28-tag.ok{
  border-color:#cbe6d0;
  background:#eff9f1;
  color:#1f9344;
}

.bt28-stat-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.bt28-stat{
  padding:12px 16px;
  border-right:1px solid #edf1f5;
}
.bt28-stat:last-child{border-right:0}

.bt28-stat span{
  display:block;
  color:#7b8895;
  font-size:12px;
}

.bt28-stat strong{
  display:block;
  margin-top:5px;
  color:#223243;
  font-size:19px;
  line-height:1.2;
  font-weight:600;
}

.bt28-stat em{
  display:block;
  margin-top:5px;
  color:#8995a2;
  font-size:12px;
  line-height:1.5;
  font-style:normal;
}

.bt28-stat.security{
  background:#fbfefb;
}

.bt28-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}

.bt28-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}

.bt28-panel-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:46px;
  padding:10px 14px;
  border-bottom:1px solid #edf1f5;
}

.bt28-panel-title h3{
  margin:0;
  color:#2d3d4e;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
}

.bt28-panel-title p{
  margin:2px 0 0;
  color:#8b97a3;
  font-size:12px;
  line-height:1.4;
}

.bt28-info-table{
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:2px 14px 10px;
}

.bt28-info-table .row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:42px;
  padding:8px 0;
  border-bottom:1px dashed #edf1f4;
}

.bt28-info-table .row:nth-last-child(-n+2){
  border-bottom:0;
}

.bt28-info-table .row:nth-child(odd){
  margin-right:16px;
}

.bt28-info-table .row span{
  color:#7b8794;
  font-size:12px;
}

.bt28-info-table .row b{
  color:#2e3c4a;
  font-size:13px;
  font-weight:500;
}

.bt28-safe-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:12px 14px 14px;
}

.bt28-safe-item{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e4ebe5;
  border-radius:5px;
  background:#fbfefb;
}

.bt28-safe-item b{
  display:block;
  color:#354657;
  font-size:13px;
  font-weight:500;
}

.bt28-safe-item span{
  display:block;
  margin-top:2px;
  color:#86928f;
  font-size:12px;
}

.bt28-switch{
  width:38px;
  height:20px;
  border-radius:10px;
  background:#d5dde4;
  position:relative;
  flex:0 0 auto;
}

.bt28-switch:after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.16);
}

.bt28-switch.on{
  background:#35b85a;
}

.bt28-switch.on:after{
  left:20px;
}

.bt28-ok{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 8px;
  border-radius:12px;
  background:#eff9f1;
  color:#1f9444;
  font-size:12px;
  font-style:normal;
}

.bt28-resource-list{
  padding:4px 14px 10px;
}

.bt28-resource-row{
  display:grid;
  grid-template-columns:130px 90px minmax(180px,1fr) 150px 120px;
  align-items:center;
  gap:12px;
  min-height:48px;
  border-bottom:1px solid #edf1f5;
}

.bt28-resource-row:last-child{
  border-bottom:0;
}

.bt28-resource-row .name{
  display:flex;
  align-items:center;
  gap:7px;
  color:#405164;
  font-size:13px;
}

.bt28-resource-row .dot{
  width:7px;
  height:7px;
  border-radius:50%;
}

.bt28-resource-row .dot.blue{background:#4a96f0}
.bt28-resource-row .dot.green{background:#31b557}
.bt28-resource-row .dot.orange{background:#e59a2f}

.bt28-resource-row .value{
  color:#243343;
  font-size:14px;
  font-weight:600;
}

.bt28-resource-row .bar{
  height:6px;
  border-radius:6px;
  background:#edf2f6;
  overflow:hidden;
}

.bt28-resource-row .bar i{
  display:block;
  height:100%;
  border-radius:6px;
}

.bt28-resource-row .bar i.blue{background:#4a96f0}
.bt28-resource-row .bar i.green{background:#31b557}
.bt28-resource-row .bar i.orange{background:#e59a2f}

.bt28-resource-row .desc,
.bt28-resource-row .tail{
  color:#7d8a97;
  font-size:12px;
}

.bt28-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:12px 14px 14px;
}

.bt28-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:31px;
  padding:0 11px;
  border:1px solid #d8e1e9;
  border-radius:4px;
  background:#fff;
  color:#4a6076;
  text-decoration:none;
  font-size:12px;
}

.bt28-actions a:hover{
  color:#1f9444;
  border-color:#a9d3b1;
  background:#f7fcf8;
}

.bt28-kv{
  padding:4px 14px 10px;
}

.bt28-kv>div{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  min-height:40px;
  padding:8px 0;
  border-bottom:1px dashed #edf1f4;
}

.bt28-kv>div:last-child{
  border-bottom:0;
}

.bt28-kv span{
  color:#7d8996;
  font-size:12px;
}

.bt28-kv b{
  color:#2e3c4a;
  font-size:13px;
  font-weight:500;
  text-align:right;
}

.bt28-log{
  margin-top:10px;
  border-radius:6px;
  box-shadow:none;
}

.bt28-log .card-title{
  height:auto;
  min-height:44px;
  padding:10px 14px;
  font-size:13px;
}

.bt28-log .card-body{
  padding:12px 14px 14px;
}

@media(max-width:1200px){
  .bt28-stat-strip{grid-template-columns:1fr 1fr}
  .bt28-stat:nth-child(2){border-right:0}
  .bt28-stat:nth-child(-n+2){border-bottom:1px solid #edf1f5}
  .bt28-grid-2,.bt28-grid-3{grid-template-columns:1fr}
  .bt28-resource-row{grid-template-columns:120px 90px 1fr 130px}
  .bt28-resource-row .tail{display:none}
}

@media(max-width:780px){
  .bt28-site-row{align-items:flex-start;flex-direction:column}
  .bt28-stat-strip{grid-template-columns:1fr}
  .bt28-stat{border-right:0;border-bottom:1px solid #edf1f5}
  .bt28-stat:last-child{border-bottom:0}
  .bt28-info-table,.bt28-safe-grid{grid-template-columns:1fr}
  .bt28-info-table .row:nth-child(odd){margin-right:0}
  .bt28-resource-row{grid-template-columns:1fr}
  .bt28-resource-row{padding:10px 0;gap:7px}
}


/* V29 - 统一首页 DIV 间距与卡片留白 */
.bt28-home{padding:12px 14px 20px}
.bt28-home .pagehead{margin-bottom:8px}
.bt28-home > .bt28-panel,
.bt28-home > .bt28-grid-2,
.bt28-home > .bt28-grid-3,
.bt28-home > .bt28-log{margin-top:8px}
.bt28-home > .bt28-panel:first-of-type{margin-top:0}

.bt28-grid-2{gap:8px;margin-top:8px}
.bt28-grid-3{gap:8px;margin-top:8px}

.bt28-panel{border-radius:5px}
.bt28-site-row{padding:12px 14px}
.bt28-panel-title{min-height:42px;padding:9px 14px}
.bt28-panel-title h3{font-size:14px}
.bt28-panel-title p{margin-top:1px}

.bt28-stat{padding:10px 14px}
.bt28-info-table{padding:0 14px 8px}
.bt28-info-table .row{min-height:38px;padding:7px 0}
.bt28-info-table .row:nth-child(odd){margin-right:12px}

.bt28-safe-grid{gap:8px;padding:10px 14px 12px}
.bt28-safe-item{min-height:54px;padding:8px 10px}

.bt28-resource-list{padding:2px 14px 8px}
.bt28-resource-row{min-height:42px;gap:10px}
.bt28-actions{gap:6px;padding:10px 14px 12px}
.bt28-actions a{height:30px;padding:0 10px}

.bt28-kv{padding:2px 14px 8px}
.bt28-kv>div{min-height:36px;padding:7px 0}
.bt28-log{margin-top:8px}
.bt28-log .card-title{min-height:42px;padding:9px 14px}
.bt28-log .card-body{padding:10px 14px 12px}

@media(max-width:780px){
  .bt28-home{padding:10px 10px 16px}
  .bt28-grid-2,.bt28-grid-3{gap:6px;margin-top:6px}
}


/* V30 - 主机概况与资料区美化 */
.bt30-basic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 14px 14px}
.bt30-basic-item{position:relative;border:1px solid #e7edf3;border-radius:6px;background:linear-gradient(180deg,#fff 0%,#fafcfe 100%);padding:12px 14px 10px;overflow:hidden}
.bt30-basic-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cfd8e3}
.bt30-basic-item span{display:block;color:#7c8996;font-size:12px;line-height:1.4}
.bt30-basic-item strong{display:block;margin-top:7px;color:#243445;font-size:20px;line-height:1.25;font-weight:600}
.bt30-basic-item.blue:before{background:#4a96f0}.bt30-basic-item.cyan:before{background:#3fa7d6}.bt30-basic-item.green:before{background:#31b557}.bt30-basic-item.purple:before{background:#8d7cf5}.bt30-basic-item.orange:before{background:#e59a2f}.bt30-basic-item.gray:before{background:#93a1af}

.bt30-info-card .bt28-panel-title{padding-bottom:8px}
.bt30-kv-list{padding:0 14px 10px}
.bt30-kv-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:6px 0;border-bottom:1px dashed #edf1f4}
.bt30-kv-row:last-child{border-bottom:0}
.bt30-kv-row>span{display:block;color:#7d8996;font-size:12px;white-space:nowrap}
.bt30-kv-value{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;text-align:right}
.bt30-kv-value b{color:#2d3d4e;font-size:14px;font-weight:500;line-height:1.5;word-break:break-all}
.bt30-copy{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 8px;border:1px solid #d6e0ea;border-radius:4px;background:#f8fbfd;color:#5d6d7d;font-size:12px;text-decoration:none;cursor:pointer;flex:0 0 auto}
.bt30-copy:hover{color:#1f9444;border-color:#a9d5b0;background:#f7fcf8}

@media(max-width:1200px){
  .bt30-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .bt30-basic-grid{grid-template-columns:1fr;gap:8px}
  .bt30-kv-row{align-items:flex-start;flex-direction:column;gap:6px}
  .bt30-kv-value{justify-content:flex-start;text-align:left}
}


/* V31 - 主机概况最终微调 */
.bt30-basic-item strong{
  font-size:14px !important;
  line-height:1.6;
  font-weight:400 !important;
  margin-top:6px;
}
.bt30-basic-item span{
  font-size:12px;
}


/* =========================================================
   V32 - 整站细节精修
   ========================================================= */

/* 全站基础字号与字体 */
html,body{
  font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Segoe UI",Arial,sans-serif;
  font-size:14px;
  color:#2f3b47;
}
button,input,select,textarea{
  font-family:inherit;
}
body{background:#f4f6f8}

/* 页面标题统一，不做过大字号 */
.pagehead{margin-bottom:10px}
.pagehead h1{
  font-size:18px;
  line-height:1.4;
  font-weight:600;
  color:#263445;
}
.crumb,.muted,.form-note,.help,.group-title,.brand small,.user small,.search-key,
.domain-sub,.domain-badge,.state-pill,.https-state,.log-summary,.log-result,
.storage-category .percent,.storage-category .name small,.footer-note{
  font-size:12px !important;
  font-weight:400 !important;
}

/* 统一卡片 */
.card{
  border-color:#e2e8ef;
  border-radius:6px;
  box-shadow:none;
}
.card-title{
  min-height:44px;
  padding:10px 14px;
  border-bottom-color:#edf1f5;
  background:#fff;
  font-size:14px;
  font-weight:600;
}
.card-body{padding:12px 14px 14px}

/* 表格 */
table th{
  font-size:12px !important;
  font-weight:500;
  color:#5f6d7b;
  background:#fafbfc;
}
table td{
  font-size:13px !important;
  color:#2f3d4a;
}
table th,table td{
  padding-top:10px;
  padding-bottom:10px;
}
.table-wrap{border-color:#e5eaf0}

/* 表单 */
.form{
  grid-template-columns:150px minmax(0,1fr);
}
.fl{
  font-size:13px;
  color:#596878;
}
.fc{
  font-size:13px;
}
.input{
  min-height:34px;
  font-size:13px !important;
  border-color:#d9e1e9;
  border-radius:4px;
}
.btn{
  min-height:32px;
  padding:0 12px;
  border-radius:4px;
  font-size:13px;
}
.btn.primary{
  background:#20a53a;
  border-color:#20a53a;
}
.btn.primary:hover{
  background:#199332;
  border-color:#199332;
}

/* 操作链接统一为更像按钮的交互 */
.act a{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 8px;
  margin:2px 3px 2px 0;
  border:1px solid #dce4ec;
  border-radius:4px;
  background:#fff;
  color:#4e6072;
  font-size:12px !important;
  text-decoration:none;
}
.act a:hover{
  border-color:#b9c8d7;
  background:#f7f9fb;
  color:#2878d8;
}

/* 日志区 */
.operation-log{
  margin-top:10px;
}
.operation-log .card-body{
  padding-top:10px;
}
.log-filter{
  gap:6px;
}
.pager a{
  font-size:12px !important;
  min-width:28px;
  height:28px;
  border-radius:4px;
}

/* 左侧菜单细节统一 */
.sidebar .group-title{
  font-size:12px !important;
}
.sidebar .nav{
  font-size:13px !important;
}
.sidebar .nav span{
  font-weight:400;
}

/* 顶部搜索 */
.global-search input{
  font-size:13px;
}
.search-key{
  min-width:42px;
}

/* 首页主机概况：用户指定 13px、不加粗 */
.bt30-basic-item strong{
  font-size:13px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  margin-top:5px !important;
}
.bt30-basic-item span{
  font-size:12px !important;
  font-weight:400 !important;
}
.bt30-basic-item{
  padding-top:10px !important;
  padding-bottom:8px !important;
}

/* 首页资料区 */
.bt30-kv-value b{
  font-size:13px !important;
  font-weight:400 !important;
}
.bt30-copy{
  height:23px;
  padding:0 7px;
  font-size:12px !important;
}

/* 首页资源/安全/快捷操作继续保持紧凑 */
.bt28-resource-row .value{
  font-size:13px !important;
  font-weight:500 !important;
}
.bt28-resource-row .name,
.bt28-safe-item b,
.bt28-actions a{
  font-size:13px !important;
}
.bt28-stat strong{
  font-size:16px !important;
  font-weight:500 !important;
}
.bt28-site-main h2{
  font-size:17px !important;
  font-weight:600 !important;
}

/* 域名页等统计卡，避免大数字突兀 */
.domain-stat .value,
.storage-stat .value,
.metric .value{
  font-size:20px !important;
  font-weight:600 !important;
}

/* 清理过小中文字号：常见辅助区域统一至少 12px */
.form-note,.domain-add-help,.domain-sub,.host-info-desc,.security-item-main .desc,
.archive-note,.archive-box p,.storage-stat .sub,.storage-category .name small{
  font-size:12px !important;
}

/* 响应式 */
@media(max-width:780px){
  .form{grid-template-columns:1fr}
  .fl{padding-bottom:2px}
}


/* =========================================================
   V33 - 整站表单、按钮、开关与属性对齐最终修复
   ========================================================= */

/* 所有表单属性文字右对齐 */
.form{
  grid-template-columns:160px minmax(0,1fr) !important;
}
.form .fl{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:right !important;
  min-height:46px;
  padding:10px 14px !important;
  background:#fafbfc;
  color:#5f6d7b;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1.5;
  box-sizing:border-box;
}
.form .fc{
  min-height:46px;
  padding:8px 12px !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
  color:#344150;
  font-size:13px !important;
  font-weight:400 !important;
}

/* 空标签对应按钮行保持干净 */
.form .fl:empty{
  background:#fafbfc;
}

/* 输入框统一 */
.form .input,
.toolbar .input,
.log-filter .input{
  height:34px !important;
  min-height:34px !important;
  line-height:32px;
  padding:0 10px;
  border:1px solid #d7e0e9;
  border-radius:4px !important;
  background:#fff;
  color:#344150;
  font-size:13px !important;
  box-sizing:border-box;
}
.form textarea.input{
  height:auto !important;
  min-height:88px !important;
  line-height:1.6;
  padding:8px 10px;
}

/* 行内字段 */
.field-inline{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap;
  gap:7px;
  min-height:34px;
}
.field-inline > span{
  font-size:13px;
  color:#596878;
  white-space:nowrap;
}

/* 
   关键修复：
   旧版后续 CSS 中有全局 .switch 样式，
   会覆盖 <span class="switch"><i class="toggle"></i>文字</span>
*/
.form .switch{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  width:auto !important;
  height:auto !important;
  min-height:24px;
  position:static !important;
  background:transparent !important;
  border-radius:0 !important;
  color:#536170;
  font-size:13px !important;
  font-style:normal;
  line-height:24px;
  overflow:visible !important;
  vertical-align:middle;
}

/* 去掉错误套在 switch 容器上的圆点 */
.form .switch::after{
  content:none !important;
  display:none !important;
}

/* 真正的开关 */
.form .toggle{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:40px !important;
  height:22px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#cfd7df !important;
  position:relative !important;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);
  vertical-align:middle;
}
.form .toggle::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  width:18px !important;
  height:18px !important;
  left:2px !important;
  top:2px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 3px rgba(0,0,0,.18) !important;
  transition:left .15s ease;
}
.form .toggle.on{
  background:#25a43b !important;
}
.form .toggle.on::after{
  left:20px !important;
}

/* 按钮统一，解决不同页面高度/文字偏移 */
button.btn,
a.btn,
input.btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border:1px solid #d7e0e9;
  border-radius:4px !important;
  background:#fff;
  color:#425466;
  font-family:inherit;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  white-space:nowrap;
  box-sizing:border-box;
  text-decoration:none;
  cursor:pointer;
}
button.btn:hover,
a.btn:hover,
input.btn:hover{
  border-color:#b8c7d5;
  background:#f8fafc;
  color:#2878d8;
}
button.btn.primary,
a.btn.primary,
input.btn.primary{
  background:#20a53a !important;
  border-color:#20a53a !important;
  color:#fff !important;
}
button.btn.primary:hover,
a.btn.primary:hover,
input.btn.primary:hover{
  background:#199332 !important;
  border-color:#199332 !important;
}
button.btn.danger,
a.btn.danger,
input.btn.danger{
  background:#fff !important;
  border-color:#efb5b5 !important;
  color:#d95353 !important;
}

/* 同一行多个按钮的间距 */
.form .fc > .btn + .btn,
.form .fc > button + button,
.form .fc > a.btn + a.btn{
  margin-left:6px;
}

/* 表单说明文字 */
.form-note,
.form .help{
  margin-top:5px;
  color:#8a96a3;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.65;
}

/* 首页安全开关：默认关态为灰色，开启为绿色 */
.bt28-switch{
  background:#cfd7df !important;
}
.bt28-switch.on{
  background:#35b85a !important;
}

/* 首页 CC 关闭时不影响其他安全项 */
.bt28-safe-item .bt28-switch:not(.on){
  background:#cfd7df !important;
}

/* 表格中的属性型表头也保持右对齐时更规整 */
.property-table th:first-child,
.detail-table th:first-child{
  text-align:right;
}

/* 移动端属性文字改回左对齐 */
@media(max-width:780px){
  .form{
    grid-template-columns:1fr !important;
  }
  .form .fl{
    justify-content:flex-start !important;
    text-align:left !important;
    min-height:auto;
    padding:9px 12px 4px !important;
    border-bottom:0 !important;
  }
  .form .fc{
    min-height:auto;
    padding:4px 12px 10px !important;
  }
}


/* =========================================================
   V34 - 表单按钮宽度修复 + FTP随机密码
   ========================================================= */

/* 
   .fc 是纵向 flex 容器时，默认 align-items:stretch 会把按钮拉满整行。
   所有直接放在 .fc 中的按钮恢复为内容宽度。
*/
.form .fc > .btn,
.form .fc > button.btn,
.form .fc > a.btn,
.form .fc > input.btn{
  width:auto !important;
  max-width:100%;
  align-self:flex-start !important;
  flex:0 0 auto !important;
}

/* 同一行按钮组也不允许被拉伸 */
.form .field-inline .btn,
.form .button-row .btn,
.form .action-row .btn{
  width:auto !important;
  flex:0 0 auto !important;
}

/* FTP 密码输入 + 随机生成按钮 */
.ftp-password-row{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  max-width:720px;
}
.ftp-password-row .ftp-password-input{
  flex:1 1 auto;
  width:auto !important;
  min-width:0;
}
.ftp-password-row .ftp-generate-btn{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:84px;
  align-self:center !important;
  color:#425466;
  background:#fff;
  border-color:#d7e0e9;
}
.ftp-password-row .ftp-generate-btn:hover{
  color:#1f9444;
  background:#f7fcf8;
  border-color:#acd4b3;
}

/* 保存类按钮保持正常内容宽度 */
.form .fc > .btn.primary{
  min-width:88px;
}

/* 窄屏 */
@media(max-width:680px){
  .ftp-password-row{
    align-items:stretch;
    flex-direction:column;
  }
  .ftp-password-row .ftp-generate-btn{
    align-self:flex-start !important;
  }
}


/* =========================================================
   V35 - 首页增加昨日流量 / 昨日 CPU 占用
   ========================================================= */

.bt35-stat-strip .bt35-stat{
  position:relative;
  background:#fff;
}

.bt35-stat-strip .bt35-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  bottom:11px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:#d2dbe4;
}

.bt35-stat-strip .bt35-stat.space::before{
  background:#4a96f0;
}
.bt35-stat-strip .bt35-stat.traffic::before{
  background:#31b557;
}
.bt35-stat-strip .bt35-stat.database::before{
  background:#e59a2f;
}
.bt35-stat-strip .bt35-stat.cpu::before{
  background:#8d7cf5;
}

/* 继续保持紧凑，不增大文字 */
.bt35-stat-strip .bt35-stat strong{
  font-size:16px !important;
  font-weight:500 !important;
}
.bt35-stat-strip .bt35-stat span,
.bt35-stat-strip .bt35-stat em{
  font-size:12px !important;
  font-weight:400 !important;
}

/* CPU 与流量无需模拟配额条，作为昨日统计值展示 */
.bt35-stat-strip .traffic,
.bt35-stat-strip .cpu{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
}


/* =========================================================
   V36 - 首页四个概览参数增加 CSS 内嵌 SVG 图标
   图标通过 data:image/svg+xml 写在 CSS 中，无需额外图片文件
   ========================================================= */

.bt35-stat-strip .bt35-stat{
  padding-left: 58px !important;
  min-height: 84px;
}

.bt35-stat-strip .bt35-stat::after{
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  opacity: .95;
}

.bt35-stat-strip .bt35-stat.space::after{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234a96f0' d='M4 5.75A1.75 1.75 0 0 1 5.75 4h12.5A1.75 1.75 0 0 1 20 5.75v12.5A1.75 1.75 0 0 1 18.25 20H5.75A1.75 1.75 0 0 1 4 18.25zm3 1.75a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-7a1 1 0 0 0-1-1zm0 9.5h4v1.5H7zm6 0h4v1.5h-4z'/%3E%3C/svg%3E");
}

.bt35-stat-strip .bt35-stat.traffic::after{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2331b557' d='M12 3a9 9 0 1 0 9 9h-2a7 7 0 1 1-2.05-4.95l-3.24 3.24A4.5 4.5 0 1 0 16.5 12h2.5V5.5H12zm0 6a3 3 0 1 1-3 3c0-.42.09-.81.26-1.17l3.8 2.2 1-1.73-3.79-2.19c.51-.2 1.07-.31 1.73-.31'/%3E%3C/svg%3E");
}

.bt35-stat-strip .bt35-stat.database::after{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='6.5' rx='7' ry='3.5' fill='%23e59a2f'/%3E%3Cpath fill='%23e59a2f' d='M5 6.5V11c0 1.93 3.13 3.5 7 3.5s7-1.57 7-3.5V6.5c0 1.93-3.13 3.5-7 3.5S5 8.43 5 6.5m0 6V17c0 1.93 3.13 3.5 7 3.5s7-1.57 7-3.5v-4.5c0 1.93-3.13 3.5-7 3.5s-7-1.57-7-3.5'/%3E%3C/svg%3E");
}

.bt35-stat-strip .bt35-stat.cpu::after{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238d7cf5' d='M9 2h2v2h2V2h2v2h1a3 3 0 0 1 3 3v1h2v2h-2v2h2v2h-2v1a3 3 0 0 1-3 3h-1v2h-2v-2h-2v2H9v-2H8a3 3 0 0 1-3-3v-1H3v-2h2v-2H3V8h2V7a3 3 0 0 1 3-3h1zm-1 4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zm1.25 7.75L11.1 9.5l1.65 2.25 1.55-1.75 1.45 3.75H9.25z'/%3E%3C/svg%3E");
}

.bt35-stat-strip .bt35-stat span{
  display:block;
  margin-bottom:6px;
}


/* =========================================================
   V38 - 域名绑定管理页简化与精修
   ========================================================= */
.domain-add-row-simple{
  display:grid !important;
  grid-template-columns:minmax(320px,680px) auto !important;
  justify-content:start;
  gap:8px !important;
}
.domain-add-row-simple .input{
  width:100%;
}
.domain-add-row-simple .btn{
  width:auto !important;
  min-width:88px;
}

.domain-table-v38 .domain-cell{
  display:flex;
  align-items:center;
  gap:10px;
}
.domain-table-v38 .domain-main{
  min-width:0;
}
.domain-table-v38 .domain-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.domain-table-v38 .domain-name{
  font-size:13px;
  font-weight:500;
  color:#2d3d4e;
  white-space:nowrap;
}
.domain-copy{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:23px;
  padding:0 7px;
  border:1px solid #d7e1ea;
  border-radius:4px;
  background:#fff;
  color:#5f7081;
  font-size:12px;
  font-weight:400;
  text-decoration:none;
  cursor:pointer;
  flex:0 0 auto;
}
.domain-copy:hover{
  color:#1f9444;
  border-color:#acd3b2;
  background:#f7fcf8;
}
.domain-table-v38 .domain-sub{
  margin-top:2px;
  font-size:12px;
  color:#8a96a3;
  font-weight:400;
}
.cert-expire{
  font-size:13px;
  color:#3f4f60;
  white-space:nowrap;
}
.cert-expire.warning{
  color:#d98816;
}
.cert-expire.muted{
  color:#a0a9b3;
}
.domain-table-v38 th,
.domain-table-v38 td{
  vertical-align:middle;
}

@media(max-width:760px){
  .domain-add-row-simple{
    grid-template-columns:1fr !important;
  }
  .domain-add-row-simple .btn{
    justify-self:start;
  }
}


/* =========================================================
   V39 - 域名绑定管理页精修
   ========================================================= */
.domain-bind-card-v39 .card-body{padding-top:14px}

.domain-add-v39{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(520px,1.4fr);
  gap:14px;
  margin-bottom:12px;
}
.domain-add-main-v39,
.domain-dns-v39{
  border:1px solid #e3e9ef;
  border-radius:6px;
  background:#fbfcfd;
  padding:14px;
}
.domain-add-label-v39,
.domain-info-title-v39{
  margin-bottom:9px;
  color:#314255;
  font-size:13px;
  font-weight:600;
}
.domain-add-input-v39{
  display:flex;
  align-items:center;
  gap:8px;
}
.domain-add-input-v39 .input{
  flex:1 1 auto;
  min-width:0;
  height:36px;
}
.domain-add-input-v39 .btn{
  flex:0 0 auto;
  height:36px !important;
}
.domain-add-help-v39,
.domain-dns-note-v39{
  margin-top:8px;
  color:#83909d;
  font-size:12px;
  line-height:1.65;
}
.domain-dns-grid-v39{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.domain-dns-item-v39{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:58px;
  padding:9px 10px;
  border:1px solid #e4eaf0;
  border-radius:5px;
  background:#fff;
}
.domain-dns-badge-v39{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:26px;
  padding:0 7px;
  border-radius:4px;
  background:#edf5ff;
  color:#2878d8;
  font-size:12px;
  font-weight:600;
}
.domain-dns-badge-v39.cname{
  background:#eef9f1;
  color:#209443;
}
.domain-dns-content-v39{min-width:0}
.domain-dns-content-v39 span{
  display:block;
  color:#7c8996;
  font-size:12px;
}
.domain-dns-content-v39 strong{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:#2e3c4b;
  font-size:13px;
  font-weight:500;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.domain-copy-v39,
.domain-name-row .domain-copy{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:24px;
  padding:0 7px;
  border:1px solid #d8e1ea;
  border-radius:4px;
  background:#fff;
  color:#5b6b7b;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
}
.domain-copy-v39:hover,
.domain-name-row .domain-copy:hover{
  border-color:#afd1b5;
  background:#f7fcf8;
  color:#209443;
}
.domain-warning-v39{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid #f1d9ae;
  border-radius:5px;
  background:#fffaf0;
}
.domain-warning-icon-v39{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#e99a22;
  color:#fff;
  font-size:12px;
  font-weight:600;
}
.domain-warning-v39 b{
  display:block;
  color:#8c5a11;
  font-size:12px;
  font-weight:600;
}
.domain-warning-v39 span:not(.domain-warning-icon-v39){
  display:block;
  margin-top:2px;
  color:#8b6e45;
  font-size:12px;
  line-height:1.6;
}
.https-stack-v39{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:108px;
}
.https-stack-v39 small{
  color:#83909d;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1.4;
}
.https-stack-v39 small.warning{color:#d88716}
.domain-table-v38 td{vertical-align:middle}
.domain-name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}

@media(max-width:1180px){
  .domain-add-v39{grid-template-columns:1fr}
}
@media(max-width:760px){
  .domain-dns-grid-v39{grid-template-columns:1fr}
  .domain-add-input-v39{align-items:stretch;flex-direction:column}
  .domain-add-input-v39 .btn{align-self:flex-start}
}


/* =========================================================
   V40 - 域名绑定新增区域重新规划
   ========================================================= */
.domain-bind-card-v40 .card-body{
  padding:14px 16px 16px;
}
.domain-bind-body-v40{
  display:grid;
  gap:12px;
}

/* DNS 解析说明：改为整行信息区 */
.domain-resolve-v40{
  border:1px solid #e2e8ef;
  border-radius:6px;
  background:#fbfcfe;
  padding:13px 14px 12px;
}
.domain-section-label-v40{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:11px;
}
.domain-section-icon-v40{
  width:30px;
  height:30px;
  border-radius:6px;
  display:grid;
  place-items:center;
  background:#eef5ff;
  color:#2c7be5;
  font-size:13px;
  font-weight:600;
  flex:0 0 auto;
}
.domain-section-label-v40 b{
  display:block;
  color:#2b3b4c;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}
.domain-section-label-v40 small{
  display:block;
  margin-top:2px;
  color:#8794a1;
  font-size:12px;
  font-weight:400;
}
.domain-resolve-options-v40{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);
  align-items:center;
  gap:8px;
}
.domain-resolve-option-v40{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border:1px solid #e1e7ed;
  border-radius:5px;
  background:#fff;
}
.domain-record-tag-v40{
  min-width:32px;
  height:28px;
  padding:0 7px;
  border-radius:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:600;
  flex:0 0 auto;
}
.domain-record-tag-v40.a{
  background:#edf5ff;
  color:#2b78d6;
}
.domain-record-tag-v40.cname{
  background:#eef9f1;
  color:#209746;
}
.domain-resolve-value-v40{
  min-width:0;
  flex:1 1 auto;
}
.domain-resolve-value-v40 small{
  display:block;
  color:#7c8996;
  font-size:12px;
  line-height:1.4;
}
.domain-resolve-value-v40 strong{
  display:block;
  margin-top:4px;
  color:#263647;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  word-break:break-all;
}
.domain-copy-btn-v40{
  height:28px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d7e0e9;
  border-radius:4px;
  background:#fff;
  color:#566779;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
  flex:0 0 auto;
}
.domain-copy-btn-v40:hover{
  border-color:#b6c7d6;
  color:#2878d8;
  background:#f8fafc;
}
.domain-resolve-or-v40{
  text-align:center;
  color:#9aa5b0;
  font-size:12px;
}
.domain-resolve-tip-v40{
  margin-top:9px;
  padding-left:39px;
  color:#7e8b98;
  font-size:12px;
  line-height:1.6;
}

/* 绑定域名：独立简洁输入区 */
.domain-add-form-v40{
  border:1px solid #e2e8ef;
  border-radius:6px;
  background:#fff;
  padding:13px 14px 12px;
}
.domain-add-title-v40{
  margin-bottom:9px;
  color:#2b3b4c;
  font-size:14px;
  font-weight:600;
}
.domain-add-row-v40{
  display:flex;
  align-items:center;
  gap:8px;
  max-width:820px;
}
.domain-add-row-v40 .input{
  flex:1 1 auto;
  width:auto !important;
  min-width:0;
  height:35px !important;
}
.domain-add-row-v40 .btn{
  flex:0 0 auto;
  width:auto !important;
  height:35px !important;
  min-width:86px;
}
.domain-add-help-v40{
  margin-top:7px;
  color:#7f8c99;
  font-size:12px;
  line-height:1.6;
}

/* 删除提示：紧凑信息条，不再占大面积 */
.domain-delete-note-v40{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 12px;
  border:1px solid #f0d39d;
  border-radius:5px;
  background:#fffaf0;
}
.domain-delete-icon-v40{
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-top:1px;
  background:#eda12b;
  color:#fff;
  font-size:12px;
  font-weight:700;
  flex:0 0 auto;
}
.domain-delete-note-v40 b{
  display:block;
  color:#8d5b11;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
}
.domain-delete-note-v40 span{
  display:block;
  margin-top:2px;
  color:#98734a;
  font-size:12px;
  line-height:1.6;
}

/* 工具栏与新增区拉开合理间距 */
.domain-bind-card-v40 .domain-toolbar{
  margin-top:2px;
}

@media(max-width:920px){
  .domain-resolve-options-v40{
    grid-template-columns:1fr;
  }
  .domain-resolve-or-v40{
    display:none;
  }
  .domain-resolve-tip-v40{
    padding-left:0;
  }
}
@media(max-width:620px){
  .domain-add-row-v40{
    flex-direction:column;
    align-items:stretch;
  }
  .domain-add-row-v40 .btn{
    align-self:flex-start;
  }
}


/* =========================================================
   V41 - 域名绑定页重新规划
   主操作突出，只保留 CNAME 别名解析
   ========================================================= */

.domain-bind-card-v41{
  border-color:#dfe6ed;
  border-radius:6px;
  overflow:hidden;
}

.domain-bind-card-v41 .card-title{
  min-height:44px;
  padding:10px 14px;
  background:#fff;
}

.domain-bind-body-v41{
  padding:14px !important;
  background:#fff;
}

/* 主绑定区域：页面视觉重点 */
.domain-primary-v41{
  position:relative;
  padding:16px 18px 15px;
  border:1px solid #cae7d0;
  border-left:4px solid #20a53a;
  border-radius:6px;
  background:linear-gradient(180deg,#fbfefb 0%,#f7fcf8 100%);
}

.domain-primary-head-v41{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.domain-primary-head-v41 h3{
  margin:0;
  font-size:15px;
  line-height:1.4;
  color:#263746;
  font-weight:600;
}

.domain-primary-head-v41 p{
  margin:3px 0 0;
  font-size:12px;
  color:#7a8996;
  line-height:1.5;
}

.domain-step-v41{
  display:inline-flex;
  align-items:center;
  height:25px;
  padding:0 9px;
  border-radius:13px;
  background:#e9f7ec;
  color:#1e9442;
  font-size:12px;
  white-space:nowrap;
}

.domain-input-row-v41{
  display:flex;
  align-items:center;
  gap:8px;
  max-width:900px;
}

.domain-input-v41{
  flex:1 1 auto;
  width:auto !important;
  height:38px !important;
  min-height:38px !important;
  border-color:#bfcfdc !important;
  font-size:13px !important;
  background:#fff;
}

.domain-input-v41:focus{
  border-color:#52b66a !important;
  box-shadow:0 0 0 2px rgba(32,165,58,.08);
}

.domain-add-btn-v41{
  height:38px !important;
  min-height:38px !important;
  min-width:92px;
  padding:0 16px !important;
  font-size:13px !important;
  font-weight:500 !important;
}

.domain-input-help-v41{
  margin-top:8px;
  color:#778694;
  font-size:12px;
  line-height:1.6;
}

/* CNAME 说明做成辅助信息，不抢主操作视觉 */
.domain-cname-v41{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:10px;
  padding:11px 13px;
  border:1px solid #e1e8ef;
  border-radius:5px;
  background:#fafcfe;
}

.domain-cname-left-v41{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.domain-cname-badge-v41{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:26px;
  min-width:58px;
  padding:0 8px;
  border-radius:4px;
  background:#eaf8ed;
  color:#15913a;
  font-size:12px;
  font-weight:600;
}

.domain-cname-text-v41{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.domain-cname-text-v41 span{
  color:#6d7c8b;
  font-size:12px;
  white-space:nowrap;
}

.domain-cname-text-v41 strong{
  color:#253747;
  font-size:13px;
  font-weight:500;
  word-break:break-all;
}

.domain-cname-right-v41{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}

.domain-cname-right-v41 > span{
  color:#87939f;
  font-size:12px;
  line-height:1.5;
  text-align:right;
}

.domain-copy-btn-v41{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:28px;
  padding:0 9px;
  border:1px solid #d3dde7;
  border-radius:4px;
  background:#fff;
  color:#4f6274;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
}

.domain-copy-btn-v41:hover{
  color:#1d9442;
  border-color:#abd2b3;
  background:#f7fcf8;
}

/* 删除提醒压成紧凑提示条 */
.domain-warning-v41{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:10px;
  padding:9px 12px;
  border:1px solid #f1d3a0;
  border-radius:5px;
  background:#fffaf1;
}

.domain-warning-icon-v41{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#e99a20;
  color:#fff;
  font-size:12px;
  font-weight:600;
}

.domain-warning-v41 > div{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.domain-warning-v41 b{
  color:#9b6512;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}

.domain-warning-v41 div span{
  color:#8a7655;
  font-size:12px;
  line-height:1.5;
}

/* toolbar 与上方区块拉开但不过散 */
.domain-bind-card-v41 .domain-toolbar{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf1f5;
}

/* 域名列表细节继续统一 */
.domain-bind-card-v41 .domain-table-wrap{
  margin-top:10px;
}

@media(max-width:960px){
  .domain-cname-v41{
    align-items:flex-start;
    flex-direction:column;
  }
  .domain-cname-right-v41{
    width:100%;
    justify-content:space-between;
  }
  .domain-cname-right-v41 > span{
    text-align:left;
  }
}

@media(max-width:680px){
  .domain-primary-head-v41{
    flex-direction:column;
  }
  .domain-input-row-v41{
    flex-direction:column;
    align-items:stretch;
  }
  .domain-add-btn-v41{
    align-self:flex-start !important;
  }
  .domain-cname-text-v41{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .domain-cname-right-v41{
    align-items:flex-start;
    flex-direction:column;
  }
  .domain-warning-v41{
    align-items:flex-start;
  }
  .domain-warning-v41 > div{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}


/* =========================================================
   V42 - 域名绑定区居中重排
   提示/CNAME/警告全部收进绑定框
   ========================================================= */
.domain-bind-card-v42{
  border-color:#dfe6ed;
  border-radius:6px;
  overflow:hidden;
}

.domain-card-title-v42{
  min-height:54px !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center !important;
  align-items:center !important;
  gap:2px;
  text-align:center;
  padding:8px 14px !important;
}
.domain-card-title-v42>span:first-child{
  font-size:14px;
  font-weight:600;
  color:#263746;
}
.domain-card-title-v42 .muted{
  font-size:12px !important;
  font-weight:400 !important;
}

.domain-bind-body-v42{
  padding:14px !important;
  background:#fff;
}

.domain-primary-v42{
  max-width:980px;
  margin:0 auto;
  padding:18px 22px 16px;
  border:1px solid #c9e6cf;
  border-top:3px solid #20a53a;
  border-radius:6px;
  background:linear-gradient(180deg,#fbfefb 0%,#f8fcf9 100%);
  text-align:center;
}

.domain-primary-head-v42{
  text-align:center;
  margin-bottom:13px;
}
.domain-primary-head-v42 h3{
  margin:0;
  font-size:15px;
  line-height:1.4;
  font-weight:600;
  color:#263746;
}
.domain-primary-head-v42 p{
  margin:4px 0 0;
  font-size:12px;
  line-height:1.5;
  color:#7c8996;
}

.domain-input-row-v42{
  width:100%;max-width:760px;width:min(760px,100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.domain-input-v42{
  flex:1 1 auto;
  width:auto !important;
  height:38px !important;
  min-height:38px !important;
  border-color:#bfcfdc !important;
  background:#fff;
  font-size:13px !important;
  text-align:left;
}
.domain-input-v42:focus{
  border-color:#52b66a !important;
  box-shadow:0 0 0 2px rgba(32,165,58,.08);
}
.domain-add-btn-v42{
  height:38px !important;
  min-height:38px !important;
  min-width:96px;
  padding:0 16px !important;
  font-size:13px !important;
  font-weight:500 !important;
  flex:0 0 auto;
}
.domain-input-help-v42{
  margin:8px auto 0;
  max-width:760px;
  text-align:center;
  color:#778694;
  font-size:12px;
  line-height:1.65;
}

/* CNAME 说明同样居中 */
.domain-cname-v42{
  width:100%;max-width:760px;width:min(760px,100%);
  margin:14px auto 0;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:9px 12px;
  border:1px solid #e0e8ef;
  border-radius:5px;
  background:#fff;
}
.domain-cname-badge-v42{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:26px;
  min-width:58px;
  padding:0 8px;
  border-radius:4px;
  background:#eaf8ed;
  color:#15913a;
  font-size:12px;
  font-weight:600;
  flex:0 0 auto;
}
.domain-cname-content-v42{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:0;
}
.domain-cname-content-v42 span{
  color:#6d7c8b;
  font-size:12px;
  white-space:nowrap;
}
.domain-cname-content-v42 strong{
  color:#253747;
  font-size:13px;
  font-weight:500;
  word-break:break-all;
}
.domain-copy-btn-v42{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:28px;
  padding:0 9px;
  border:1px solid #d3dde7;
  border-radius:4px;
  background:#f9fbfd;
  color:#4f6274;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  flex:0 0 auto;
}
.domain-copy-btn-v42:hover{
  color:#1d9442;
  border-color:#abd2b3;
  background:#f7fcf8;
}
.domain-cname-help-v42{
  margin:6px auto 0;
  max-width:760px;
  text-align:center;
  color:#87939f;
  font-size:12px;
  line-height:1.55;
}

/* 删除提示放在绑定框内，居中但不过度突出 */
.domain-warning-v42{
  width:100%;max-width:760px;width:min(760px,100%);
  margin:13px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid #f0d4a5;
  border-radius:5px;
  background:#fffaf2;
  text-align:center;
}
.domain-warning-icon-v42{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#e99a20;
  color:#fff;
  font-size:12px;
  font-weight:600;
}
.domain-warning-v42>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
}
.domain-warning-v42 b{
  color:#9b6512;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}
.domain-warning-v42 div span{
  color:#8a7655;
  font-size:12px;
  line-height:1.5;
}

/* 列表筛选与绑定区也保持整体居中感 */
.domain-bind-card-v42 .domain-toolbar{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf1f5;
}

@media(max-width:760px){
  .domain-primary-v42{padding:15px 12px 13px}
  .domain-input-row-v42{flex-direction:column;align-items:stretch}
  .domain-add-btn-v42{align-self:center !important}
  .domain-cname-v42{flex-wrap:wrap}
  .domain-cname-content-v42{flex-direction:column;gap:2px}
  .domain-warning-v42{align-items:flex-start}
}


/* =========================================================
   V43 - 域名绑定区继续精修
   删除提醒融入绑定框，不再单独形成大警告块
   ========================================================= */

/* 主绑定区域进一步收紧，控制整体宽度 */
.domain-bind-card-v42 .domain-primary-v42{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
  padding:18px 22px 14px;
}

/* 输入区统一宽度与居中 */
.domain-bind-card-v42 .domain-input-row-v42{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}

.domain-bind-card-v42 .domain-input-help-v42{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
  margin-top:8px;
  text-align:center;
}

/* CNAME 信息条继续居中，并减轻视觉重量 */
.domain-bind-card-v42 .domain-cname-v42{
  max-width:760px;
  margin:14px auto 0;
  padding:10px 12px;
  background:#fff;
  border-color:#dfe7ef;
  box-shadow:none;
}

.domain-bind-card-v42 .domain-cname-content-v42{
  justify-content:center;
}

.domain-bind-card-v42 .domain-cname-help-v42{
  max-width:760px;
  margin:6px auto 0;
  text-align:center;
  color:#84919e;
}

/* 删除提示改成轻量内嵌说明，不再像警告框 */
.domain-inline-note-v43{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:760px;
  margin:10px auto 0;
  padding-top:9px;
  border-top:1px dashed #e4e9ee;
  color:#8a7760;
  font-size:12px;
  line-height:1.6;
  text-align:center;
}

.domain-inline-dot-v43{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#f0a133;
  color:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1;
}

/* 进一步压低绑定区标题的视觉重量 */
.domain-bind-card-v42 .domain-primary-head-v42 h3{
  font-size:14px;
  font-weight:600;
}

.domain-bind-card-v42 .domain-primary-head-v42 p{
  margin-top:3px;
  font-size:12px;
}

/* 输入框、按钮保持紧凑 */
.domain-bind-card-v42 .domain-input-v42{
  height:36px !important;
  min-height:36px !important;
}

.domain-bind-card-v42 .domain-add-btn-v42{
  height:36px !important;
  min-height:36px !important;
}

/* 顶部标题区也稍微收紧 */
.domain-bind-card-v42 .domain-card-title-v42{
  min-height:42px;
  padding-top:9px;
  padding-bottom:9px;
}

@media(max-width:680px){
  .domain-inline-note-v43{
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }
}


/* =========================================================
   V44 - 域名绑定页重新整理
   左对齐 / 自适应 / 输入框内说明 / 独立删除警告
   ========================================================= */

.domain-bind-card-v44{
  border-color:#dfe6ed;
  border-radius:6px;
  overflow:hidden;
}

.domain-card-title-v44{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:10px 14px !important;
  text-align:left !important;
  background:#fff;
}

.domain-card-title-v44 > span:first-child{
  position:relative;
  padding-left:10px;
  color:#263645;
  font-size:14px;
  font-weight:600;
}

.domain-card-title-v44 > span:first-child::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:3px;
  border-radius:2px;
  background:#20a53a;
}

.domain-card-title-v44 .muted{
  font-size:12px !important;
  color:#87939f;
  font-weight:400 !important;
}

.domain-bind-body-v44{
  padding:14px !important;
  background:#fff;
}

/* 主绑定框自适应整个内容区 */
.domain-primary-v44{
  width:auto;
  max-width:none;
  margin:0;
  padding:14px 16px 15px;
  border:1px solid #dce5ec;
  border-radius:6px;
  background:#fbfcfd;
}

.domain-primary-head-v44{
  display:block;
  margin-bottom:10px;
  text-align:left;
}

.domain-primary-head-v44 h3{
  margin:0;
  color:#293949;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
}

.domain-primary-head-v44 p{
  margin:3px 0 0;
  color:#84909c;
  font-size:12px;
  line-height:1.5;
}

/* 输入区：说明真正放进输入框容器内部 */
.domain-bind-row-v44{
  display:flex;
  align-items:stretch;
  gap:8px;
  width:100%;
}

.domain-input-shell-v44{
  flex:1 1 auto;
  min-width:0;
  height:56px;
  border:1px solid #cbd7e2;
  border-radius:5px;
  background:#fff;
  overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
}

.domain-input-shell-v44:focus-within{
  border-color:#52b66a;
  box-shadow:0 0 0 2px rgba(32,165,58,.07);
}

.domain-input-v44{
  display:block;
  width:100%;
  height:33px;
  padding:7px 11px 3px;
  border:0;
  outline:0;
  background:transparent;
  color:#2d3c4b;
  font-family:inherit;
  font-size:13px;
  line-height:1.4;
  box-sizing:border-box;
}

.domain-input-v44::placeholder{
  color:#9aa5af;
}

.domain-input-inside-help-v44{
  padding:0 11px 6px;
  color:#84919d;
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.domain-add-btn-v44{
  align-self:stretch !important;
  width:auto !important;
  min-width:94px;
  height:56px !important;
  min-height:56px !important;
  padding:0 17px !important;
  border-radius:5px !important;
  font-size:13px !important;
  font-weight:500 !important;
}

/* CNAME 辅助信息：靠左、自适应 */
.domain-cname-v44{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  min-height:44px;
  padding:8px 10px;
  border:1px solid #e2e8ef;
  border-radius:5px;
  background:#fff;
  text-align:left;
}

.domain-cname-label-v44{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:25px;
  min-width:58px;
  padding:0 7px;
  border-radius:4px;
  background:#eaf8ed;
  color:#15913a;
  font-size:12px;
  font-weight:600;
}

.domain-cname-main-v44{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.domain-cname-main-v44 span{
  color:#667687;
  font-size:12px;
  white-space:nowrap;
}

.domain-cname-main-v44 strong{
  color:#253747;
  font-size:13px;
  font-weight:500;
  word-break:break-all;
}

.domain-copy-btn-v44{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:27px;
  padding:0 9px;
  margin-left:2px;
  border:1px solid #d4dee8;
  border-radius:4px;
  background:#f8fafc;
  color:#536577;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
}

.domain-copy-btn-v44:hover{
  border-color:#a9d3b0;
  background:#f7fcf8;
  color:#1f9444;
}

.domain-cname-note-v44{
  margin-left:auto;
  color:#8a96a2;
  font-size:12px;
  white-space:nowrap;
}

/* 删除提示彻底移出绑定框，独立显示 */
.domain-warning-v44{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:10px;
  padding:9px 12px;
  border:1px solid #f0d3a4;
  border-radius:5px;
  background:#fffaf2;
  text-align:left;
}

.domain-warning-icon-v44{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#e99a20;
  color:#fff;
  font-size:12px;
  font-weight:600;
}

.domain-warning-v44 > div{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.domain-warning-v44 b{
  color:#9a6515;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}

.domain-warning-v44 div span{
  color:#846e50;
  font-size:12px;
  line-height:1.5;
}

/* 绑定区与列表工具栏之间保持正常节奏 */
.domain-bind-card-v44 .domain-toolbar{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf1f5;
}

/* 删除旧版居中样式对新结构的干扰 */
.domain-bind-card-v44 .domain-bind-body-v42,
.domain-bind-card-v44 .domain-primary-v42,
.domain-bind-card-v44 .domain-primary-v41{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}

/* 响应式 */
@media(max-width:960px){
  .domain-cname-v44{
    flex-wrap:wrap;
  }
  .domain-cname-note-v44{
    width:100%;
    margin-left:68px;
  }
}

@media(max-width:680px){
  .domain-card-title-v44{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }

  .domain-bind-row-v44{
    flex-direction:column;
  }

  .domain-add-btn-v44{
    align-self:flex-start !important;
    height:34px !important;
    min-height:34px !important;
  }

  .domain-input-inside-help-v44{
    white-space:normal;
  }

  .domain-input-shell-v44{
    height:auto;
    min-height:58px;
  }

  .domain-cname-v44{
    align-items:flex-start;
  }

  .domain-cname-main-v44{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }

  .domain-cname-note-v44{
    margin-left:0;
  }

  .domain-warning-v44{
    align-items:flex-start;
  }

  .domain-warning-v44 > div{
    align-items:flex-start;
    flex-direction:column;
    gap:1px;
  }
}


/* =========================================================
   V45 - 域名绑定页精修
   短输入框居中 / 单独提示框 / CNAME小卡 / 更明显边框
   ========================================================= */
.domain-bind-card-v45{
  border:1px solid #d6e0e8;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}

.domain-card-title-v45{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:10px 14px !important;
  background:#fff;
  border-bottom:1px solid #e4eaf0;
  text-align:left !important;
}

.domain-card-title-v45 > span:first-child{
  position:relative;
  padding-left:10px;
  color:#263645;
  font-size:14px;
  font-weight:600;
}
.domain-card-title-v45 > span:first-child::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:3px;
  border-radius:2px;
  background:#20a53a;
}
.domain-card-title-v45 .muted{
  color:#87939f;
  font-size:12px !important;
  font-weight:400 !important;
}

.domain-bind-body-v45{
  padding:14px !important;
  background:#f8fafc;
}

/* 绑定主框：边框更明显，浅背景提升层次 */
.domain-primary-v45{
  width:auto;
  margin:0;
  padding:16px 18px 18px;
  border:1px solid #bfcdd8;
  border-top:3px solid #20a53a;
  border-radius:6px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfb 100%);
  box-shadow:0 1px 2px rgba(31,54,77,.03);
}

.domain-primary-head-v45{
  text-align:left;
  margin-bottom:14px;
}
.domain-primary-head-v45 h3{
  margin:0;
  color:#293949;
  font-size:14px;
  line-height:1.4;
  font-weight:600;
}
.domain-primary-head-v45 p{
  margin:3px 0 0;
  color:#84909c;
  font-size:12px;
  line-height:1.5;
}

/* 中心操作区域 */
.domain-form-center-v45{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}

.domain-bind-row-v45{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

/* 输入框不再过长 */
.domain-input-v45{
  flex:0 1 520px;
  width:520px !important;
  max-width:100%;
  height:36px !important;
  min-height:36px !important;
  border:1px solid #c8d4df !important;
  border-radius:4px !important;
  background:#fff;
  font-size:13px !important;
}
.domain-input-v45:focus{
  border-color:#56b86d !important;
  box-shadow:0 0 0 2px rgba(32,165,58,.07);
}

.domain-add-btn-v45{
  flex:0 0 auto !important;
  width:auto !important;
  min-width:92px;
  height:36px !important;
  min-height:36px !important;
  padding:0 16px !important;
  font-size:13px !important;
  font-weight:500 !important;
}

/* 指定提示句：只在这个提示框中显示 */
.domain-tip-v45{
  max-width:620px;
  margin:10px auto 0;
  padding:8px 11px;
  border:1px solid #d9e5ef;
  border-radius:5px;
  background:#f3f8fc;
  color:#687b8d;
  font-size:12px;
  line-height:1.6;
  text-align:left;
}
.domain-tip-v45::before{
  content:"提示：";
  color:#3b79b5;
  font-weight:500;
}

/* CNAME 改为短边框小卡片，不再占满整行 */
.domain-cname-card-v45{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:100%;
  margin:12px auto 0;
  padding:9px 10px;
  border:1px solid #cfe0d3;
  border-radius:5px;
  background:#f8fcf9;
  box-shadow:0 1px 2px rgba(32,165,58,.03);
}
.domain-cname-badge-v45{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:25px;
  padding:0 8px;
  border-radius:4px;
  background:#e8f7eb;
  color:#158f39;
  font-size:12px;
  font-weight:600;
}
.domain-cname-info-v45{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  text-align:left;
}
.domain-cname-info-v45 span{
  color:#71808f;
  font-size:12px;
  white-space:nowrap;
}
.domain-cname-info-v45 strong{
  color:#253747;
  font-size:13px;
  font-weight:500;
  word-break:break-all;
}
.domain-copy-btn-v45{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:27px;
  padding:0 9px;
  border:1px solid #cbd8e3;
  border-radius:4px;
  background:#fff;
  color:#536577;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
}
.domain-copy-btn-v45:hover{
  color:#1f9444;
  border-color:#a8d0b0;
  background:#f4fbf6;
}
.domain-cname-desc-v45{
  margin-top:5px;
  color:#8a96a2;
  font-size:12px;
  line-height:1.5;
  text-align:center;
}

/* 删除警告独立显示 */
.domain-warning-v45{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:10px;
  padding:9px 12px;
  border:1px solid #edc981;
  border-radius:5px;
  background:#fff8ea;
  text-align:left;
}
.domain-warning-icon-v45{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#e99a20;
  color:#fff;
  font-size:12px;
  font-weight:600;
}
.domain-warning-v45 > div{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.domain-warning-v45 b{
  color:#98620f;
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}
.domain-warning-v45 div span{
  color:#826c4c;
  font-size:12px;
  line-height:1.5;
}

.domain-bind-card-v45 .domain-toolbar{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e4eaf0;
}

@media(max-width:760px){
  .domain-card-title-v45{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .domain-bind-row-v45{
    flex-direction:column;
    align-items:stretch;
  }
  .domain-input-v45{
    width:100% !important;
    flex-basis:auto;
  }
  .domain-add-btn-v45{
    align-self:center !important;
  }
  .domain-tip-v45{
    text-align:left;
  }
  .domain-cname-card-v45{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .domain-cname-info-v45{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
  .domain-warning-v45{
    align-items:flex-start;
  }
  .domain-warning-v45 > div{
    align-items:flex-start;
    flex-direction:column;
    gap:1px;
  }
}


/* =========================================================
   V46 - 域名绑定主区域：钻石切面 SVG 背景
   ========================================================= */

.domain-bind-card-v46{
  border-color:#dce5ed;
  border-radius:6px;
  overflow:hidden;
  background:#fff;
}

.domain-bind-body-v46{
  padding:14px !important;
  background:#fff;
}

/* 主绑定框：增强边框 + SVG 钻石切面背景 */
.domain-primary-v46{
  position:relative;
  overflow:hidden;
  padding:24px 22px 22px;
  border:1px solid #38a852;
  border-top-width:2px;
  border-radius:7px;
  background-color:#fbfefc;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.90),rgba(249,253,250,.92)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 280'%3E%3Cg fill='none'%3E%3Cpolygon points='0,0 150,0 78,76' fill='%2320a53a' fill-opacity='.055'/%3E%3Cpolygon points='0,0 78,76 0,165' fill='%232c7be5' fill-opacity='.035'/%3E%3Cpolygon points='0,165 78,76 175,185' fill='%2320a53a' fill-opacity='.045'/%3E%3Cpolygon points='0,165 175,185 95,280 0,280' fill='%232c7be5' fill-opacity='.025'/%3E%3Cpolygon points='150,0 300,0 228,95 78,76' fill='%2320a53a' fill-opacity='.025'/%3E%3Cpolygon points='228,95 318,176 175,185 78,76' fill='%232c7be5' fill-opacity='.025'/%3E%3Cpolygon points='1400,0 1250,0 1322,76' fill='%2320a53a' fill-opacity='.055'/%3E%3Cpolygon points='1400,0 1322,76 1400,165' fill='%232c7be5' fill-opacity='.035'/%3E%3Cpolygon points='1400,165 1322,76 1225,185' fill='%2320a53a' fill-opacity='.045'/%3E%3Cpolygon points='1400,165 1225,185 1305,280 1400,280' fill='%232c7be5' fill-opacity='.025'/%3E%3Cpolygon points='1250,0 1100,0 1172,95 1322,76' fill='%2320a53a' fill-opacity='.025'/%3E%3Cpolygon points='1172,95 1082,176 1225,185 1322,76' fill='%232c7be5' fill-opacity='.025'/%3E%3Cpolygon points='238,126 258,101 278,126 258,151' fill='%2320a53a' fill-opacity='.10'/%3E%3Cpolygon points='1162,126 1142,101 1122,126 1142,151' fill='%2320a53a' fill-opacity='.10'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;
  background-position:center,center;
  background-size:cover,cover;
  box-shadow:0 3px 12px rgba(31,148,68,.055);
}

.domain-primary-v46::after{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.78) 36%,rgba(255,255,255,.18) 72%,rgba(255,255,255,0) 100%);
}

.domain-primary-v46 > *{
  position:relative;
  z-index:1;
}

/* 标题：更醒目但不夸张 */
.domain-primary-head-v46{
  text-align:center;
  margin-bottom:18px;
}

.domain-primary-head-v46 h2{
  margin:0;
  color:#233344;
  font-size:22px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.5px;
}

.domain-primary-head-v46 p{
  margin:5px 0 0;
  color:#7c8996;
  font-size:12px;
  line-height:1.5;
}

.domain-title-line-v46{
  display:block;
  width:34px;
  height:3px;
  margin:10px auto 0;
  border-radius:3px;
  background:#20a53a;
}

.domain-form-center-v46{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.domain-bind-row-v46{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

/* 输入框维持中等宽度 */
.domain-input-v46{
  flex:0 1 500px;
  width:500px !important;
  max-width:100%;
  height:38px !important;
  min-height:38px !important;
  padding:0 12px !important;
  border:1px solid #cbd7e2 !important;
  border-radius:5px !important;
  background:rgba(255,255,255,.94) !important;
  color:#334354;
  font-size:13px !important;
  box-shadow:0 1px 2px rgba(33,54,75,.025);
}

.domain-input-v46:focus{
  border-color:#58b96e !important;
  box-shadow:0 0 0 2px rgba(32,165,58,.07);
}

.domain-add-btn-v46{
  flex:0 0 auto !important;
  min-width:94px;
  height:38px !important;
  min-height:38px !important;
  padding:0 17px !important;
  border-radius:5px !important;
  font-size:13px !important;
  font-weight:500 !important;
  box-shadow:0 2px 5px rgba(32,165,58,.10);
}

/* 只显示用户指定的提示 */
.domain-tip-v46{
  max-width:602px;
  margin:10px auto 0;
  padding:8px 12px;
  border:1px solid #d6e4ef;
  border-radius:5px;
  background:rgba(242,248,253,.94);
  color:#557895;
  font-size:12px;
  line-height:1.6;
  text-align:left;
}

.domain-tip-v46::before{
  content:"提示：";
  color:#2d78bb;
  font-weight:500;
}

/* 紧凑 CNAME 信息卡 */
.domain-cname-card-v46{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:100%;
  margin:12px auto 0;
  padding:9px 10px;
  border:1px solid #cfe0d3;
  border-radius:5px;
  background:rgba(248,252,249,.95);
  box-shadow:0 1px 3px rgba(32,165,58,.035);
}

.domain-cname-badge-v46{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:25px;
  padding:0 8px;
  border-radius:4px;
  background:#e8f7eb;
  color:#158f39;
  font-size:12px;
  font-weight:600;
}

.domain-cname-info-v46{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  text-align:left;
}

.domain-cname-info-v46 span{
  color:#71808f;
  font-size:12px;
  white-space:nowrap;
}

.domain-cname-info-v46 strong{
  color:#253747;
  font-size:13px;
  font-weight:500;
  word-break:break-all;
}

.domain-copy-btn-v46{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:27px;
  padding:0 9px;
  border:1px solid #cbd8e3;
  border-radius:4px;
  background:#fff;
  color:#536577;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
}

.domain-copy-btn-v46:hover{
  color:#1f9444;
  border-color:#a8d0b0;
  background:#f4fbf6;
}

/* 删除警告继续独立，不放入主边框 */
.domain-bind-card-v46 .domain-warning-v45{
  margin-top:10px;
}

.domain-bind-card-v46 .domain-toolbar{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e4eaf0;
}

@media(max-width:760px){
  .domain-primary-v46{
    padding:18px 14px 16px;
    background-size:auto 100%,auto 100%;
  }
  .domain-primary-head-v46 h2{
    font-size:20px;
  }
  .domain-bind-row-v46{
    flex-direction:column;
    align-items:stretch;
  }
  .domain-input-v46{
    width:100% !important;
    flex-basis:auto;
  }
  .domain-add-btn-v46{
    align-self:center !important;
  }
  .domain-cname-card-v46{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .domain-cname-info-v46{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}


/* =========================================================
   V47 - 修复域名绑定区 SVG 钻石切面背景不可见
   原因：V46 白色渐变层 + ::after 遮罩把 SVG 覆盖
   ========================================================= */

/* 主容器只保留基础底色，SVG 改由 ::before 单独承载 */
.domain-primary-v46{
  isolation:isolate;
  background:#f9fdfb !important;
  background-image:none !important;
  box-shadow:
    0 3px 12px rgba(31,148,68,.06),
    inset 0 0 0 1px rgba(255,255,255,.65);
}

/* 独立 SVG 背景层，确保真正可见 */
.domain-primary-v46::before{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  z-index:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 300' preserveAspectRatio='none'%3E%3Cg%3E%3Cpolygon points='0,0 180,0 90,78' fill='%2320a53a' fill-opacity='.11'/%3E%3Cpolygon points='0,0 90,78 0,165' fill='%233b8eea' fill-opacity='.075'/%3E%3Cpolygon points='0,165 90,78 205,186' fill='%2320a53a' fill-opacity='.09'/%3E%3Cpolygon points='0,165 205,186 118,300 0,300' fill='%233b8eea' fill-opacity='.055'/%3E%3Cpolygon points='180,0 340,0 248,96 90,78' fill='%2320a53a' fill-opacity='.06'/%3E%3Cpolygon points='248,96 352,178 205,186 90,78' fill='%233b8eea' fill-opacity='.055'/%3E%3Cpolygon points='205,186 352,178 316,300 118,300' fill='%2320a53a' fill-opacity='.045'/%3E%3Cpolygon points='1600,0 1420,0 1510,78' fill='%2320a53a' fill-opacity='.11'/%3E%3Cpolygon points='1600,0 1510,78 1600,165' fill='%233b8eea' fill-opacity='.075'/%3E%3Cpolygon points='1600,165 1510,78 1395,186' fill='%2320a53a' fill-opacity='.09'/%3E%3Cpolygon points='1600,165 1395,186 1482,300 1600,300' fill='%233b8eea' fill-opacity='.055'/%3E%3Cpolygon points='1420,0 1260,0 1352,96 1510,78' fill='%2320a53a' fill-opacity='.06'/%3E%3Cpolygon points='1352,96 1248,178 1395,186 1510,78' fill='%233b8eea' fill-opacity='.055'/%3E%3Cpolygon points='1395,186 1248,178 1284,300 1482,300' fill='%2320a53a' fill-opacity='.045'/%3E%3Cpolygon points='275,125 301,94 327,125 301,158' fill='%2320a53a' fill-opacity='.16'/%3E%3Cpolygon points='1325,125 1299,94 1273,125 1299,158' fill='%2320a53a' fill-opacity='.16'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% 100%;
}

/* 去掉 V46 用于提亮中心的强白色遮罩 */
.domain-primary-v46::after{
  content:"";
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.08) 0%,
    rgba(255,255,255,.82) 30%,
    rgba(255,255,255,.94) 50%,
    rgba(255,255,255,.82) 70%,
    rgba(255,255,255,.08) 100%
  ) !important;
}

/* 内容始终位于 SVG 和轻遮罩之上 */
.domain-primary-v46 > *{
  position:relative;
  z-index:2;
}


/* V48 - 域名列表进一步精简 */
.domain-table-v38 .domain-main{
  justify-content:center;
}
.domain-table-v38 .domain-name-row{
  min-height:28px;
}
.domain-table-v38 td.act{
  white-space:nowrap;
}
.domain-table-v38 td.act a{
  margin-right:5px;
}


/* =========================================================
   V49 - 网站日志生成 / 数据清空删除
   ========================================================= */

/* 网站日志生成 */
.weblog49-generator .card-body{padding:14px}
.weblog49-tip{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 12px;
  border:1px solid #cfe0f3;
  border-radius:5px;
  background:#f4f9ff;
  color:#4e6580;
}
.weblog49-tip-icon{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:20px;height:20px;border-radius:50%;
  background:#3d8ee8;color:#fff;font-size:12px;font-weight:600;
}
.weblog49-tip b{
  display:block;
  margin-bottom:3px;
  color:#36536f;
  font-size:13px;
  font-weight:500;
}
.weblog49-tip span{
  font-size:12px;
  line-height:1.7;
}
.weblog49-tip strong{
  color:#2878d8;
  font-size:12px;
  font-weight:600;
}
.weblog49-range-title{
  margin:14px 0 8px;
  color:#394b5e;
  font-size:13px;
  font-weight:500;
}
.weblog49-range-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.weblog49-range-card{
  position:relative;
  min-height:70px;
  padding:12px 13px;
  border:1px solid #dfe6ed;
  border-radius:6px;
  background:#fff;
  cursor:pointer;
  transition:.15s;
}
.weblog49-range-card:hover{
  border-color:#acd5b4;
  background:#fbfefb;
}
.weblog49-range-card input{
  position:absolute;
  right:11px;
  top:11px;
  accent-color:#20a53a;
}
.weblog49-range-name{
  display:block;
  color:#2f4051;
  font-size:14px;
  font-weight:500;
}
.weblog49-range-desc{
  display:block;
  margin-top:6px;
  padding-right:18px;
  color:#84919e;
  font-size:12px;
  line-height:1.5;
}
.weblog49-range-card:has(input:checked){
  border-color:#9fd0a9;
  background:#f7fcf8;
  box-shadow:inset 0 0 0 1px rgba(32,165,58,.05);
}
.weblog49-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #edf1f5;
}
.weblog49-path{
  margin-left:auto;
  color:#81909e;
  font-size:12px;
}
.weblog49-files{margin-top:10px}
.weblog49-files .danger-link{color:#d95353 !important}

/* 数据清空删除 */
.clear49-warning{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid #f0c9c9;
  border-radius:6px;
  background:#fff7f7;
}
.clear49-warning-icon{
  display:inline-grid;
  place-items:center;
  width:20px;height:20px;border-radius:50%;
  background:#e05252;color:#fff;font-size:12px;font-weight:600;
  flex:0 0 auto;
}
.clear49-warning-icon svg{
  width:12px;
  height:12px;
  fill:none;
  stroke:#fff;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.clear49-warning b{
  display:block;
  color:#a83e3e;
  font-size:13px;
  font-weight:500;
}
.clear49-warning>div>span{
  display:block;
  margin-top:2px;
  color:#8a6666;
  font-size:12px;
  line-height:1.6;
}
.clear49-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.clear49-card{
  position:relative;
  min-height:220px;
  padding:16px;
}
.clear49-card-icon{
  width:36px;height:36px;border-radius:8px;
  display:grid;place-items:center;
  margin-bottom:12px;
}
.clear49-card-icon svg{
  width:20px;height:20px;
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.clear49-card-icon.red{background:#fff0f0;color:#d84e4e}
.clear49-card-icon.orange{background:#fff5e8;color:#dc8a17}
.clear49-card-icon.green{background:#edf9ef;color:#20a53a}
.clear49-card-body h3{
  margin:0;
  color:#2c3d4e;
  font-size:15px;
  font-weight:600;
}
.clear49-card-body p{
  min-height:44px;
  margin:6px 0 12px;
  color:#7c8996;
  font-size:12px;
  line-height:1.7;
}
.clear49-path{
  margin-bottom:12px;
  padding:8px 10px;
  border:1px solid #e5ebf1;
  border-radius:4px;
  background:#fafbfc;
  color:#5d6d7c;
  font-size:12px;
}
.clear49-inline{
  display:flex;
  gap:7px;
  align-items:center;
}
.clear49-select{
  flex:1 1 auto;
  min-width:0;
}
.clear49-help{
  margin-top:8px;
  color:#8b97a3;
  font-size:12px;
  line-height:1.6;
}
.clear49-rebuild{
  background:#20a53a !important;
  border-color:#20a53a !important;
}
.clear49-note-card{margin-top:10px}
.clear49-notes{
  display:grid;
  gap:6px;
  color:#6f7d8a;
  font-size:12px;
  line-height:1.6;
}

@media(max-width:1100px){
  .weblog49-range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clear49-grid{grid-template-columns:1fr}
  .clear49-card{min-height:auto}
}
@media(max-width:650px){
  .weblog49-range-grid{grid-template-columns:1fr}
  .weblog49-path{width:100%;margin-left:0}
  .clear49-inline{align-items:stretch;flex-direction:column}
  .clear49-inline .btn{align-self:flex-start}
}


/* =========================================================
   V50
   ========================================================= */

/* 在线FTP管理 */
.webftp50-hero{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 6px}
.webftp50-icon{width:54px;height:54px;border-radius:10px;display:grid;place-items:center;background:#edf9ef;color:#20a53a}
.webftp50-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.webftp50-info h3{margin:0;color:#2b3c4d;font-size:16px;font-weight:600}
.webftp50-info p{margin:6px 0 10px;color:#7a8794;font-size:12px;line-height:1.7}
.webftp50-meta{display:flex;flex-wrap:wrap;gap:8px 18px}
.webftp50-meta span{font-size:12px;color:#637385}.webftp50-meta b{margin-right:5px;color:#394c5f;font-weight:500}
.webftp50-open{height:36px!important;min-height:36px!important;padding:0 16px!important}
.webftp50-note{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #d8e7f5;border-radius:5px;background:#f6faff;color:#60778e;font-size:12px;line-height:1.6}
.webftp50-note-icon{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#418fe5;color:#fff;font-size:12px;font-weight:600;flex:0 0 auto}

/* 日志时间选择：伪装成按钮，不展示原生 radio */
.weblog50-range-tabs{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px}
.weblog50-range-btn{
  position:relative;min-width:148px;height:52px;padding:7px 14px 7px 36px;
  border:1px solid #dce4ec;border-radius:5px;background:#fff;color:#435466;
  font-family:inherit;text-align:left;cursor:pointer;transition:.15s
}
.weblog50-range-btn::before{
  content:"";position:absolute;left:13px;top:50%;width:14px;height:14px;margin-top:-7px;
  border:1px solid #bcc8d3;border-radius:50%;background:#fff;box-sizing:border-box
}
.weblog50-range-btn span{display:block;font-size:13px;font-weight:500;line-height:1.4}
.weblog50-range-btn small{display:block;margin-top:2px;color:#8995a2;font-size:12px;font-weight:400;line-height:1.3}
.weblog50-range-btn:hover{border-color:#acd4b4;background:#fbfefb}
.weblog50-range-btn.active{border-color:#70bd81;background:#f2faf4;color:#1e8f3f;box-shadow:inset 0 0 0 1px rgba(32,165,58,.04)}
.weblog50-range-btn.active::before{border:4px solid #20a53a}
.weblog50-range-btn.active small{color:#6f8976}

/* 攻击防护提示及按钮对齐 */
.safe50-warning{display:flex;align-items:flex-start;gap:7px;width:100%;max-width:720px;padding:9px 11px;border:1px solid #efd2a2;border-radius:5px;background:#fffaf2;color:#876f50;font-size:12px;line-height:1.6;box-sizing:border-box}
.safe50-warning-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e99a20;color:#fff;font-size:12px;font-weight:600;flex:0 0 auto}
.safe50-actions{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap;gap:7px}
.safe50-actions .btn{width:auto!important;align-self:center!important;margin:0!important}
.safe50-actions>.btn+.btn{margin-left:0!important}

@media(max-width:850px){
  .webftp50-hero{grid-template-columns:54px 1fr}
  .webftp50-action{grid-column:1/-1}
  .weblog50-range-btn{flex:1 1 calc(50% - 8px)}
}
@media(max-width:560px){.weblog50-range-btn{flex-basis:100%}}


/* =========================================================
   V51 - 首页流量统计显示当日 / 当月流量
   ========================================================= */
.bt51-traffic-stat{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.bt51-traffic-stat > span{
  margin-bottom:6px !important;
}
.bt51-traffic-values{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.bt51-traffic-values > div{
  min-width:0;
}
.bt51-traffic-values > div + div{
  padding-left:14px;
  border-left:1px solid #e7edf2;
}
.bt51-traffic-values em{
  display:block;
  margin:0 0 3px;
  color:#83909d;
  font-size:12px !important;
  font-style:normal;
  font-weight:400 !important;
  line-height:1.3;
}
.bt51-traffic-values strong{
  display:block;
  color:#233445;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.35;
  white-space:nowrap;
}
@media(max-width:780px){
  .bt51-traffic-values{gap:10px}
  .bt51-traffic-values > div + div{padding-left:10px}
}


/* =========================================================
   V52 - MIME新增映射 / 后台保护 / PHP版本选择
   ========================================================= */
.mime52-card .card-title{align-items:center}
.mime52-editor{margin-bottom:12px;border:1px solid #dfe7ee;border-radius:6px;background:#fafcfd;overflow:hidden}
.mime52-editor[hidden]{display:none!important}
.mime52-editor-head{min-height:42px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf2;background:#fff}
.mime52-editor-head>div{display:flex;align-items:center;gap:9px}.mime52-editor-head b{font-size:13px;font-weight:500;color:#314253}.mime52-editor-head span{font-size:12px;color:#8a96a3}
.mime52-close{width:26px;height:26px;border:0;background:transparent;color:#8793a0;font-size:20px;line-height:24px;cursor:pointer;border-radius:4px}.mime52-close:hover{background:#f0f3f6;color:#425466}
.mime52-fields{display:grid;grid-template-columns:180px minmax(280px,1fr);gap:10px;padding:12px}
.mime52-fields label>span{display:block;margin-bottom:6px;color:#667585;font-size:12px}.mime52-fields .input{width:100%}
.mime52-status{display:flex!important;align-items:flex-end;gap:6px;flex-wrap:wrap}.mime52-status>span{width:100%}
.mime52-state{height:31px;padding:0 14px;border:1px solid #d9e1e8;border-radius:5px;background:#fff;color:#647383;font:inherit;font-size:12px;cursor:pointer}.mime52-state.active{border-color:#20a53a;background:#edf9ef;color:#168b31;box-shadow:inset 0 0 0 1px rgba(32,165,58,.04)}
.mime52-actions{display:flex;align-items:center;gap:7px;padding:0 12px 12px}

.backend52-actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap}.backend52-actions .btn{margin:0!important;white-space:nowrap}.password-wrap{max-width:620px}.password-wrap .btn{flex:0 0 auto;white-space:nowrap}

.php52-card .form{grid-template-columns:128px minmax(0,1fr)}
.php52-card .fc{min-width:0}
.php52-versions{display:grid;grid-template-columns:repeat(8,minmax(92px,1fr));gap:9px;width:100%;max-width:none}
.php52-version{position:relative;height:42px;padding:0 28px 0 12px;border:1px solid #d8e1ea;border-radius:5px;background:#fff;color:#40566b;font-family:inherit;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s;overflow:hidden;box-sizing:border-box}
.php52-version span{font-size:13px;font-weight:500;white-space:nowrap}.php52-version em{display:none}.php52-version i{position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;border:1px solid #cbd6e0;border-radius:50%;background:#fff;box-sizing:border-box;transition:.15s}
.php52-version:hover{border-color:#84b995;background:#f8fcf9;color:#178b32;box-shadow:0 2px 7px rgba(42,77,55,.07);transform:translateY(-1px)}
.php52-version.active{border-color:#20a53a;background:#20a53a;color:#fff;box-shadow:0 3px 9px rgba(32,165,58,.18)}
.php52-version.active span{font-weight:600}.php52-version.active em{display:inline-block;position:absolute;right:27px;top:50%;transform:translateY(-50%);padding:0 5px;height:18px;line-height:18px;border-radius:9px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;font-style:normal}.php52-version.active i{border-color:#fff;background:#fff}
.php52-version.active i:after{content:"";position:absolute;left:3px;top:1px;width:5px;height:8px;border-right:2px solid #20a53a;border-bottom:2px solid #20a53a;transform:rotate(45deg)}
.php52-note{margin-top:9px;color:#8a98a7}.php52-scope{display:flex;gap:7px;flex-wrap:wrap}.php52-scope button{height:31px;padding:0 16px;border:1px solid #dce4eb;border-radius:5px;background:#fff;color:#5f6e7e;font:inherit;font-size:12px;cursor:pointer}.php52-scope button.active{border-color:#20a53a;background:#edf9ef;color:#168b31}
.php52-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap;padding-top:2px}.php52-actions>span{font-size:12px;color:#7c8996}.php52-actions b{color:#168b31;font-weight:600}
@media(max-width:1300px){.php52-versions{grid-template-columns:repeat(6,minmax(92px,1fr))}}
@media(max-width:1000px){.php52-card .form{grid-template-columns:110px minmax(0,1fr)}.mime52-fields{grid-template-columns:180px minmax(0,1fr)}.php52-versions{grid-template-columns:repeat(4,minmax(92px,1fr))}}
@media(max-width:700px){.mime52-fields{grid-template-columns:1fr}.php52-card .form{grid-template-columns:1fr}.php52-versions{grid-template-columns:repeat(2,minmax(100px,1fr))}}


/* =========================================================
   V57 - MIME 常用映射快捷填充
   ========================================================= */
.mime57-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:10px 12px 0}
.mime57-presets-label{margin-right:2px;color:#667585;font-size:12px}
.mime57-preset{height:28px;padding:0 11px;border:1px solid #d9e2ea;border-radius:4px;background:#fff;color:#506477;font:inherit;font-size:12px;line-height:26px;cursor:pointer;transition:.15s}
.mime57-preset:hover{border-color:#20a53a;background:#f6fbf7;color:#168b31}
.mime57-preset.active{border-color:#20a53a;background:#edf9ef;color:#168b31;box-shadow:inset 0 0 0 1px rgba(32,165,58,.04)}
.mime57-presets-tip{margin-left:3px;color:#9aa6b2;font-size:12px}
@media(max-width:700px){.mime57-presets-tip{width:100%;margin-left:0}}


/* v58 mime compact redesign */
.mime58-formline{display:flex;align-items:flex-end;gap:12px;padding:12px 12px 14px;flex-wrap:wrap}
.mime58-item{display:flex;flex-direction:column;gap:6px}
.mime58-item>span{color:#667585;font-size:12px}
.mime58-ext{flex:0 0 180px;max-width:180px}
.mime58-type{flex:0 0 360px;max-width:360px}
.mime58-item .input{width:100%}
.mime58-submit{display:flex;align-items:flex-end;min-width:108px}
.mime58-submit .btn{height:34px;padding:0 16px}
.mime58-note{padding:0 12px 12px;color:#8a96a3;font-size:12px}
@media(max-width:1100px){.mime58-type{flex-basis:300px;max-width:300px}}
@media(max-width:760px){.mime58-formline{display:grid;grid-template-columns:1fr;gap:10px}.mime58-ext,.mime58-type,.mime58-submit{max-width:none;min-width:0;flex:1 1 auto}.mime58-submit .btn{width:100%}}

/* ===== ASP functional layer additions ===== */
html{scroll-behavior:smooth}
body.is-busy{overflow:hidden}
.ajax-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(20,35,55,.28);z-index:9998;display:none;align-items:center;justify-content:center}
.ajax-mask.show{display:flex}.ajax-mask-card{min-width:260px;background:#fff;border-radius:8px;padding:18px 22px;box-shadow:0 16px 50px rgba(0,0,0,.16);text-align:center}
.ajax-spinner{width:26px;height:26px;border:3px solid #e8eef5;border-top-color:#1677ff;border-radius:50%;animation:aspSpin .8s linear infinite;margin:0 auto 10px}
@keyframes aspSpin{to{transform:rotate(360deg)}}
.toast-stack{position:fixed;right:18px;top:72px;z-index:10010;width:330px;display:flex;flex-direction:column;gap:8px}
.toast-item{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #1677ff;border-radius:6px;padding:10px 12px;box-shadow:0 9px 28px rgba(20,45,75,.15);font-size:12px}
.toast-item.ok{border-left-color:#26a269}.toast-item.err{border-left-color:#d64545}.toast-item b{display:block;margin-bottom:2px;font-size:13px}.toast-item small{color:#7c899a}
.asp-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.asp-data-card{border:1px solid #e3e8ef;border-radius:6px;background:#fbfcfe;padding:12px}
.asp-data-card span{display:block;color:#8a96a6;font-size:12px}.asp-data-card strong{display:block;margin-top:4px;font-size:16px;font-weight:500;color:#253a55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asp-empty{padding:34px 20px;text-align:center;color:#98a4b3}.asp-empty b{display:block;color:#55677d;margin-bottom:4px}
.asp-table-actions{display:flex;gap:6px;flex-wrap:wrap}.asp-mini-btn{border:1px solid #d8e1eb;background:#fff;color:#42617f;border-radius:4px;padding:4px 8px;cursor:pointer;font:12px "Microsoft YaHei"}
.asp-mini-btn.danger{color:#bf4141;border-color:#eccaca}.asp-mini-btn:hover{background:#f6f9fc}
.asp-note{padding:10px 12px;border:1px solid #dce7f2;background:#f7fbff;border-radius:6px;color:#52677d;margin:10px 0;font-size:12px}
.asp-note.warn{background:#fffaf0;border-color:#f1dfb8;color:#8c6728}.asp-note.danger{background:#fff5f5;border-color:#edcaca;color:#a64242}
.asp-form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.asp-form-row .input{max-width:420px}.asp-form-row .select{max-width:220px}
.asp-seg{display:flex;gap:6px;flex-wrap:wrap}.asp-seg button{height:32px;border:1px solid #d9e1ea;background:#fff;border-radius:5px;padding:0 12px;cursor:pointer;color:#50627a;font:12px "Microsoft YaHei"}.asp-seg button.active{border-color:#1677ff;color:#1677ff;background:#f3f8ff}
.asp-status{display:inline-flex;align-items:center;gap:6px}.asp-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#aab4c1}.asp-status.ok:before{background:#2bb673}.asp-status.stop:before{background:#d64c4c}
.asp-json{white-space:pre-wrap;word-break:break-all;background:#111a24;color:#dce7f2;padding:12px;border-radius:6px;max-height:320px;overflow:auto;font:12px/1.6 Consolas,"Courier New",monospace}
.asp-result{margin-top:12px;display:none}.asp-result.show{display:block}
.asp-supported{display:inline-block;padding:2px 7px;border-radius:10px;background:#eaf8ef;color:#258451;font-size:12px}.asp-pending{display:inline-block;padding:2px 7px;border-radius:10px;background:#fff3df;color:#a56b16;font-size:12px}
.asp-page-tools{display:flex;gap:8px;flex-wrap:wrap}.asp-inline-help{font-size:12px;color:#8e9baa}
.asp-copy{cursor:pointer;color:#1677ff}.asp-code{font-family:Consolas,"Courier New",monospace;font-size:12px;background:#f6f8fb;padding:2px 5px;border-radius:3px}
.asp-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.asp-three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.asp-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(20,35,55,.35);z-index:10020;display:none;align-items:center;justify-content:center;padding:20px}.asp-modal.show{display:flex}
.asp-modal-box{width:100%;max-width:440px;width:min(440px,100%);background:#fff;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.asp-modal-head{padding:14px 16px;border-bottom:1px solid #edf1f5;font-size:14px}.asp-modal-body{padding:16px;color:#53657b}.asp-modal-foot{padding:12px 16px;border-top:1px solid #edf1f5;display:flex;justify-content:flex-end;gap:8px}
.unsupported-box{border:1px dashed #d4dde8;background:#fafbfd;border-radius:7px;padding:20px}.unsupported-box h3{font-size:14px;margin:0 0 6px}.unsupported-box p{margin:0;color:#7e8c9d}
@media(max-width:1000px){.asp-data-grid{grid-template-columns:repeat(2,1fr)}.asp-two,.asp-three{grid-template-columns:1fr}}
@media(max-width:640px){.asp-data-grid{grid-template-columns:1fr}.toast-stack{left:12px;right:12px;width:auto}.asp-form-row .input,.asp-form-row .select{max-width:none;width:100%}}


/* ===== V59 域名页 HTTPS 集成弹窗 ===== */
.domain-https-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:none}
.domain-https-modal.show{display:block}
.domain-https-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(20,35,55,.38)}
.domain-https-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 36px);max-width:860px;width:min(860px,calc(100vw - 36px));max-height:calc(100vh - 52px);background:#fff;border-radius:8px;box-shadow:0 24px 70px rgba(20,35,55,.26);overflow:hidden}
.domain-https-head{height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9edf2;background:#fff}
.domain-https-head h3{margin:0;font-size:16px;color:#26384e;font-weight:500}.domain-https-head p{margin:5px 0 0;color:#8a97a8;font-size:12px}.domain-https-head p strong{color:#42617f;font-weight:500}
.domain-https-close{width:32px;height:32px;border:0;background:#f4f6f8;color:#7a8797;border-radius:4px;font-size:22px;line-height:30px;cursor:pointer}
.domain-https-close:hover{background:#e9edf2;color:#344054}
.domain-https-body{padding:16px 20px 20px;max-height:calc(100vh - 170px);overflow:auto}
.domain-https-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.domain-https-status-item{border:1px solid #e5eaf0;border-radius:6px;background:#fafbfd;padding:10px 12px}.domain-https-status-item span{display:block;color:#8b97a6;font-size:12px}.domain-https-status-item strong{display:block;color:#34495f;font-size:13px;font-weight:500;margin-top:4px}
.domain-https-status-item strong.ok{color:#21885b}.domain-https-status-item strong.off{color:#9b6b24}
.domain-https-tabs{display:flex;gap:2px;border-bottom:1px solid #e8edf3;margin-bottom:14px}.domain-https-tabs button{border:0;background:transparent;padding:9px 16px;color:#69788a;cursor:pointer;font:12px "Microsoft YaHei";border-bottom:2px solid transparent}.domain-https-tabs button.active{color:#1677ff;border-bottom-color:#1677ff}
.domain-https-pane{display:none}.domain-https-pane.active{display:block}
.domain-https-result{margin-top:12px;padding:10px 12px;border:1px solid #e2e7ed;background:#f9fbfd;border-radius:5px;color:#66788d;white-space:pre-wrap;word-break:break-all;font-size:12px}
.domain-https-foot{height:56px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9edf2;background:#fafbfd;color:#8995a5;font-size:12px}
.domain-table-v38 .act{white-space:nowrap}.domain-table-v38 .act a{cursor:pointer;margin-right:12px}
.domain-table-v38 .act a:last-child{margin-right:0}
.domain-row-https{color:#1677ff}.domain-row-delete{color:#f53f3f!important}
.domain-https-stack .https-state.off{color:#909cab}
@media(max-width:760px){.domain-https-status-grid{grid-template-columns:repeat(2,1fr)}.domain-https-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.domain-https-body{max-height:calc(100vh - 138px)}}


/* =========================================================
   V59 ASP - 首页顶部概览修复
   原模板 .bt35-stat .span 为 block；
   ASP 实时数据又在 <em> 内嵌了 <span>，导致已用空间/百分比竖排变形。
   这里仅修复内嵌动态值，不改变 V59 原始卡片结构。
   ========================================================= */
.bt35-stat-strip .bt35-stat em span{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  color:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
}
.bt35-stat-strip .bt35-stat em{
  white-space:nowrap;
}
.bt35-stat-strip .bt35-stat{
  overflow:hidden;
}
.bt51-traffic-values em,
.bt51-traffic-values strong{
  white-space:nowrap;
}

/* 首页“HTTPS 证书”伪装按钮：沿用 V59 小按钮/状态风格 */
.bt28-safe-https-btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  height:24px;
  padding:0 10px;
  border:1px solid #d9e2ec;
  border-radius:12px;
  background:#f8fafc;
  color:#66778b;
  font:12px/1 "Microsoft YaHei","Segoe UI",sans-serif;
  cursor:pointer;
  box-shadow:none;
  transition:.15s ease;
}
.bt28-safe-https-btn:hover{
  border-color:#9fc5f5;
  background:#f2f7fd;
  color:#1677ff;
}
.bt28-safe-https-btn.on{
  border-color:#c9ead4;
  background:#effaf3;
  color:#259653;
}
.bt28-safe-https-btn.off{
  border-color:#e1e5ea;
  background:#f7f8fa;
  color:#8a96a5;
}


/* =========================================================
   V59 统一开关
   ========================================================= */
.ui-switch{
  position:relative;display:inline-block;width:40px;height:22px;padding:0;border:0;
  border-radius:12px;background:#cbd5e1;cursor:pointer;vertical-align:middle;
  transition:background .18s ease;box-shadow:none;outline:0;
}
.ui-switch i{
  position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(31,45,61,.20);transition:left .18s ease;
}
.ui-switch.on{background:#22b455}
.ui-switch.on i{left:21px}
.ui-switch:disabled{opacity:.55;cursor:not-allowed}

/* =========================================================
   浏览器中央友好提示：显示后自动消失
   ========================================================= */
.center-notice-mask{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:18000;display:flex;align-items:center;justify-content:center;
  background:rgba(21,35,50,.18);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
}
.center-notice-mask.show{opacity:1;visibility:visible;pointer-events:auto}
.center-notice{
  width:calc(100vw - 36px);max-width:420px;width:min(420px,calc(100vw - 36px));padding:22px 24px 20px;border-radius:8px;
  background:#fff;border:1px solid #e5eaf0;box-shadow:0 18px 55px rgba(18,38,63,.20);
  text-align:center;transform:translateY(8px);transition:transform .16s ease;
}
.center-notice-mask.show .center-notice{transform:translateY(0)}
.center-notice-icon{
  width:38px;height:38px;margin:0 auto 10px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;
  background:#edf9f1;color:#1fa653;
}
.center-notice.err .center-notice-icon{background:#fff1f0;color:#e5484d}
.center-notice.warn .center-notice-icon{background:#fff8e8;color:#d68b13}
.center-notice-title{font-size:15px;color:#26384e;font-weight:500}
.center-notice-message{margin-top:7px;color:#607086;font-size:12px;line-height:1.7;word-break:break-word}
.center-notice-code{margin-top:6px;color:#9aa6b5;font-size:12px;word-break:break-all}

/* =========================================================
   MIME 页面
   ========================================================= */
.mime-config-card .card-body{padding:18px 20px}
.mime-form-grid{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.mime-field{width:220px}
.mime-field:nth-child(2){width:280px}
.mime-field label{display:block;margin-bottom:7px;color:#34495e;font-size:12px}
.mime-field small{display:block;margin-top:6px;color:#98a3b2;font-size:12px}
.mime-field .input{width:100%;height:34px}
.mime-submit{padding-bottom:19px}
.mime-submit .btn{height:34px;padding:0 18px}
.mime-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid #eef1f4}
.mime-presets-label{color:#8290a3;font-size:12px;margin-right:3px}
.mime-chip{
  height:26px;padding:0 11px;border:1px solid #dce3eb;border-radius:13px;background:#fff;
  color:#53667d;font:12px "Microsoft YaHei";cursor:pointer;transition:.15s ease
}
.mime-chip:hover{border-color:#9fc4ef;background:#f5f9fe;color:#1677ff}
.mime-list-tools{display:flex;align-items:center;gap:10px}
.mime-search{width:220px!important;height:30px!important}
.mime-col-ext{width:180px}.mime-col-op{width:100px}
.mime-table tbody td{height:39px}
.mime-ext-badge{display:inline-flex;padding:3px 8px;border-radius:4px;background:#f3f6fa;color:#3f5873;font-family:Consolas,"Microsoft YaHei";font-size:12px}

/* =========================================================
   网站目录保护
   ========================================================= */
.dir-global-row{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:58px;padding:3px 2px 15px;border-bottom:1px solid #edf1f5
}
.dir-global-info b{display:block;color:#30445a;font-size:13px;font-weight:500}
.dir-global-info span{display:block;margin-top:5px;color:#8491a2;font-size:12px}
.dir-global-control{display:flex;align-items:center;gap:12px;white-space:nowrap}
.dir-global-state{font-size:12px;color:#7b899b}
.dir-global-state.on{color:#20a255}.dir-global-state.off{color:#e04f4f}
.dir-note{margin-top:14px}
.dir-toolbar{display:flex;align-items:center;gap:10px;margin-top:12px}
.dir-search-wrap{width:300px}.dir-search-wrap .input{width:100%}
.dir-table .dir-op-col{width:90px;text-align:center}
.dir-table td:last-child{text-align:center}
.dir-path{display:inline-flex;align-items:center;gap:7px}
.dir-path .folder{
  width:20px;height:20px;border-radius:4px;background:#eef5fd;color:#3d8de3;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px
}
.dir-policy{font-family:Consolas,"Microsoft YaHei";font-size:12px;color:#5d6d7f}
.dir-state-ok{color:#20a255}.dir-state-off{color:#e24b4b}
@media(max-width:760px){
  .mime-field,.mime-field:nth-child(2),.dir-search-wrap{width:100%}
  .mime-submit{padding-bottom:0}
  .dir-global-row{align-items:flex-start;flex-direction:column}
}

/* ===== 空间容量详情 ===== */
.disk-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.disk-summary-item{position:relative;min-height:92px;padding:14px 15px;border:1px solid #e3e9f0;border-radius:6px;background:#fbfcfe;overflow:hidden}
.disk-summary-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.disk-summary-item.blue:before{background:#4c96f4}.disk-summary-item.cyan:before{background:#27afd8}.disk-summary-item.green:before{background:#2db765}.disk-summary-item.purple:before{background:#8b75f6}
.disk-summary-item span{display:block;color:#75869b;font-size:12px}.disk-summary-item strong{display:block;margin-top:8px;color:#1f3349;font-size:18px;font-weight:500}.disk-summary-item small{display:block;margin-top:7px;color:#a0a9b6;font-size:12px}
.disk-progress-panel{margin-top:14px;padding:16px 18px;border:1px solid #e2e8ef;border-radius:6px;background:#fff}
.disk-progress-head{display:flex;align-items:flex-end;justify-content:space-between}.disk-progress-head b{display:block;color:#30455c;font-size:13px;font-weight:500}.disk-progress-head span{display:block;margin-top:4px;color:#8b98a9;font-size:12px}.disk-progress-head>strong{color:#1677ff;font-size:21px;font-weight:500}
.disk-progress-track{height:10px;margin-top:12px;border-radius:6px;background:#edf1f5;overflow:hidden}.disk-progress-track i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#43a0ff,#5b7cf1);transition:width .35s ease}.disk-progress-track i.warn{background:linear-gradient(90deg,#f2b13c,#ee8b2d)}.disk-progress-track i.danger{background:linear-gradient(90deg,#f06c65,#e74848)}
.disk-progress-foot{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#7e8da0;font-size:12px}.disk-progress-foot b{color:#50647c;font-weight:500}

/* ===== 网站篡改保护 ===== */
.tamper-global-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 2px 15px;border-bottom:1px solid #edf1f5}.tamper-global-info b{display:block;color:#30445a;font-size:13px;font-weight:500}.tamper-global-info span{display:block;margin-top:5px;color:#8190a2;font-size:12px;line-height:1.7}
.tamper-global-control{display:flex;align-items:center;gap:12px;white-space:nowrap}.tamper-state-text{color:#8592a2;font-size:12px}.tamper-state-text.on{color:#20a255}.tamper-state-text.off{color:#d9664e}.tamper-warning{margin-top:14px}.tamper-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.tamper-table .tamper-op{width:110px;text-align:center}.tamper-table td:last-child{text-align:center}.tamper-dir{display:inline-flex;align-items:center;gap:7px}.tamper-dir i{display:inline-flex;width:21px;height:21px;align-items:center;justify-content:center;border-radius:4px;background:#eef5fd;color:#3489df;font-style:normal;font-size:12px}.tamper-readonly{color:#20a255}.tamper-writable{color:#d78227}.tamper-scope{color:#7d8c9e;font-size:12px}

/* ===== 简化 301 ===== */
.redirect-enable-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0 15px;border-bottom:1px solid #edf1f5}.redirect-enable-row b{display:block;color:#30445a;font-size:13px;font-weight:500}.redirect-enable-row span{display:block;margin-top:4px;color:#8794a4;font-size:12px}
.redirect-mode-title{margin:16px 0 9px;color:#53657a;font-size:12px}.redirect-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.redirect-mode-card{display:flex;align-items:center;gap:11px;min-height:70px;padding:12px 14px;border:1px solid #dfe6ee;border-radius:6px;background:#fff;cursor:pointer;transition:.15s}.redirect-mode-card:hover{border-color:#a9c9ef;background:#fbfdff}.redirect-mode-card.active{border-color:#68a8ef;background:#f6faff}.redirect-mode-card input{display:none}.redirect-mode-icon{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:6px;background:#eef5fd;color:#1677ff;font-style:normal;font-size:12px}.redirect-mode-card span b{display:block;color:#31465d;font-size:12px;font-weight:500}.redirect-mode-card span small{display:block;margin-top:5px;color:#8996a6;font-size:12px}
.redirect-options-box{margin-top:12px;border:1px solid #e4eaf1;border-radius:6px;overflow:hidden}.redirect-option-row{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#fbfcfe;border-bottom:1px solid #edf1f5}.redirect-option-row:last-child{border-bottom:0}.redirect-option-row b{display:block;color:#40546b;font-size:12px;font-weight:500}.redirect-option-row span{display:block;margin-top:3px;color:#929dab;font-size:12px}
.redirect-target-group{margin-top:13px}.redirect-target-group label,.redirect-advanced-body label{display:block;margin-bottom:7px;color:#52657a;font-size:12px}.redirect-target-group label span,.redirect-advanced-body label span{color:#9aa5b2;margin-left:6px}.redirect-target-group .input,.redirect-advanced-body .input{max-width:620px;width:100%}.redirect-advanced{margin-top:12px;border-top:1px dashed #e1e7ee;padding-top:10px}.redirect-advanced summary{cursor:pointer;color:#718096;font-size:12px;user-select:none}.redirect-advanced-body{padding-top:10px}.redirect-save-row{display:flex;align-items:center;gap:12px;margin-top:15px}
@media(max-width:900px){.disk-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.disk-summary-grid,.redirect-mode-grid{grid-template-columns:1fr}.disk-progress-foot,.tamper-actions{flex-direction:column;align-items:flex-start}.tamper-global-row{align-items:flex-start;flex-direction:column}}


/* ===== 篡改保护 60 秒权限同步冻结 ===== */
.tamper-action-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tamper-freeze-badge{
  display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid #f1d9a8;
  border-radius:14px;background:#fff9ec;color:#9a6a16;font-size:12px
}
.tamper-freeze-badge b{margin:0 3px;color:#d07a10;font-size:12px;font-weight:500}
.tamper-freeze-active .ui-switch,
.tamper-freeze-active #tamperReload{opacity:.55;cursor:not-allowed}
.tamper-freeze-active .tamper-table{pointer-events:none}


/* ===== 篡改保护后台任务 / 10秒确认 ===== */
.tamper-task-panel{
  margin-top:12px;padding:13px 15px;border:1px solid #dfe7ef;border-radius:6px;background:#fbfcfe
}
.tamper-task-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}
.tamper-task-head b{display:block;color:#30465d;font-size:12px;font-weight:500}
.tamper-task-head span{display:block;margin-top:4px;color:#8492a4;font-size:12px}
.tamper-task-head>strong{color:#1677ff;font-size:17px;font-weight:500}
.tamper-task-track{height:8px;margin-top:10px;border-radius:5px;background:#e9eef4;overflow:hidden}
.tamper-task-track i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#3f9bf3,#5d79eb);transition:width .25s ease}
.tamper-task-track i.done{background:linear-gradient(90deg,#2ebd68,#25a85b)}
.tamper-task-track i.fail{background:linear-gradient(90deg,#f06b61,#df4545)}
.tamper-task-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:#8b97a6;font-size:12px}
.tamper-task-meta b{color:#5d6d80;font-weight:500}
.tamper-job-active .ui-switch,
.tamper-job-active #tamperReload{opacity:.55;cursor:not-allowed}


/* ===== HTTPS 简化设置 ===== */
.https-simple-dialog{width:calc(100vw - 32px);max-width:760px;width:min(760px,calc(100vw - 32px))}
.https-simple-body{padding-top:15px}
.https-simple-status{border:1px solid #e2e8ef;border-radius:6px;background:#fbfcfe;overflow:hidden}
.https-simple-status-main{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #e8edf3}
.https-simple-status-main span{color:#718096;font-size:12px}
.https-simple-status-main strong{font-size:12px;font-weight:500;color:#8a96a5}
.https-simple-status-main strong.ok{color:#20a45b}.https-simple-status-main strong.off{color:#d05b52}
.https-simple-switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid #edf1f5;background:#fff}
.https-simple-switch-row:last-child{border-bottom:0}
.https-simple-switch-row b{display:block;color:#34495e;font-size:12px;font-weight:500}
.https-simple-switch-row span{display:block;margin-top:4px;color:#8b97a5;font-size:12px;line-height:1.5}
.https-simple-cert{margin-top:13px;padding:14px;border:1px solid #e2e8ef;border-radius:6px;background:#fff}
.https-simple-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.https-simple-section-title b{display:block;color:#34495e;font-size:12px;font-weight:500}
.https-simple-section-title span{display:block;margin-top:3px;color:#909baa;font-size:12px}
.https-cert-state{padding:3px 8px;border-radius:10px;background:#f2f5f8;color:#7d8b9b!important;margin:0!important}
.https-cert-state.ok{background:#edf9f1;color:#239957!important}.https-cert-state.off{background:#fff2f0;color:#d65a50!important}
.https-simple-field{margin-bottom:10px}
.https-simple-field label{display:block;margin-bottom:6px;color:#52647a;font-size:12px}
.https-simple-field .input{width:100%}
.https-simple-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.https-simple-advanced{margin-top:13px;border:1px dashed #dfe6ee;border-radius:6px;background:#fbfcfe}
.https-simple-advanced summary{padding:10px 13px;cursor:pointer;color:#6f7f91;font-size:12px;user-select:none}
.https-simple-advanced-body{padding:0 13px 13px}
.https-advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.https-verify-title{margin-top:14px;padding-top:12px;border-top:1px solid #e8edf2}
@media(max-width:700px){.https-advanced-grid{grid-template-columns:1fr}.https-simple-switch-row{align-items:flex-start}}


/* ===== 确认窗口必须位于 HTTPS 设置弹窗上层 ===== */
#confirmModal.asp-modal{
  z-index:22050 !important;
  background:rgba(17,31,46,.42);
}
#confirmModal .asp-modal-box{
  position:relative;
  z-index:22051;
  box-shadow:0 24px 70px rgba(15,30,48,.30);
}


/* ===== 伪静态模板 / Rewrite 规则管理 ===== */
.rewrite-template-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}
.rewrite-template-item{
  position:relative;min-height:132px;padding:14px;border:1px solid #e1e7ee;border-radius:6px;
  background:#fff;transition:border-color .15s ease,box-shadow .15s ease
}
.rewrite-template-item:hover{border-color:#a9c9ed;box-shadow:0 4px 14px rgba(33,73,115,.06)}
.rewrite-template-item.applied{border-color:#a8dbb9;background:#fbfffc}
.rewrite-template-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rewrite-template-head b{color:#334a61;font-size:13px;font-weight:500}
.rewrite-template-state{
  display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:10px;
  background:#f1f4f7;color:#8794a4;font-size:12px
}
.rewrite-template-item.applied .rewrite-template-state{background:#edf9f1;color:#229653}
.rewrite-template-item p{min-height:34px;margin:8px 0 12px;color:#8491a1;font-size:12px;line-height:1.7}
.rewrite-apply-btn{height:28px;padding:0 12px;font-size:12px}
.rewrite-custom{margin-top:13px;border-top:1px dashed #e1e7ed;padding-top:10px}
.rewrite-custom summary{cursor:pointer;color:#718196;font-size:12px;user-select:none}
.rewrite-custom-body{padding-top:10px}
.rewrite-custom-row{display:flex;align-items:center;gap:8px}
.rewrite-custom-row .input{width:260px}
.rewrite-rule-table td{vertical-align:middle}
.rewrite-rule-name{display:flex;align-items:center;gap:6px}
.rewrite-rule-badge{
  display:inline-flex;height:18px;align-items:center;padding:0 6px;border-radius:9px;
  background:#eef5fd;color:#3a83cf;font-size:12px
}
.rewrite-rule-state.ok{color:#209954}.rewrite-rule-state.off{color:#9a6470}
.rewrite-rule-code{font-family:Consolas,"Microsoft YaHei";font-size:12px;color:#596c81;word-break:break-all}
.rewrite-rule-action b{font-weight:500;color:#445a71}.rewrite-rule-action span{display:block;margin-top:3px;color:#76869a;font-size:12px;word-break:break-all}
@media(max-width:1000px){.rewrite-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.rewrite-template-grid{grid-template-columns:1fr}.rewrite-custom-row{align-items:stretch;flex-direction:column}.rewrite-custom-row .input{width:100%}}

.rewrite-cnblog-tag{
  display:inline-flex;align-items:center;height:19px;margin-left:7px;padding:0 7px;
  border-radius:10px;background:#edf8f1;color:#269858;font-size:12px;font-weight:400;vertical-align:middle
}


/* ===== 全站页面区块间距统一 =====
   旧页面很多 card 直接相邻，但 .card 自身没有 margin，导致上下边框贴在一起。
   仅处理 main 的直接子级，不影响卡片内部 grid / modal / dashboard 布局。 */
.main > section.card + section.card{margin-top:12px}
.main > .card + .card{margin-top:12px}
.main > .pagehead + section.card,
.main > .pagehead + .card{margin-top:0}
.main > section.card + .operation-log,
.main > .card + .operation-log{margin-top:12px}

/* rewrite 页不再使用自定义服务器模板，规则区保持统一间距 */
.rewrite-template-card + .card{margin-top:12px}


/* ===== FTP 信息 / 密码管理 ===== */
.ftp-info-list{border:1px solid #e3e9ef;border-radius:6px;overflow:hidden;background:#fff}
.ftp-info-row{
  display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;
  min-height:48px;border-bottom:1px solid #edf1f5
}
.ftp-info-row:last-child{border-bottom:0}
.ftp-info-label{
  align-self:stretch;display:flex;align-items:center;justify-content:flex-end;
  padding:0 14px;background:#f8fafc;color:#50637a;font-size:12px
}
.ftp-info-value{padding:0 14px;color:#2f455d;font-size:12px;word-break:break-all}
.ftp-password-value{font-family:Consolas,"Microsoft YaHei";letter-spacing:.4px}
.ftp-info-actions{display:flex;align-items:center;gap:7px;padding:0 12px}
.ftp-mini-btn{height:27px;padding:0 10px;font-size:12px}
.ftp-info-note{margin-top:10px;color:#8a97a7;font-size:12px}
.ftp-pass-card .asp-form-row{max-width:620px}
.ftp-pass-card .fc>.input{max-width:620px}
@media(max-width:700px){
  .ftp-info-row{grid-template-columns:100px minmax(0,1fr)}
  .ftp-info-actions{grid-column:2;padding:0 14px 10px}
  .ftp-info-label{justify-content:flex-start}
}


/* ===== 数据清空删除 / WEB 一级目录 ===== */
.clear-danger-note{margin-bottom:13px}
.clear-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.clear-action-item{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;
  min-height:78px;padding:13px 14px;border:1px solid #e2e8ef;border-radius:6px;background:#fbfcfe
}
.clear-action-item.danger{border-color:#f2d2cf;background:#fffafa}
.clear-action-icon{
  display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:7px;
  background:#fff0ef;color:#dc554f;font-size:12px
}
.clear-action-icon.rebuild{background:#edf8f1;color:#249b58}
.clear-action-content b{display:block;color:#33495f;font-size:12px;font-weight:500}
.clear-action-content span{display:block;margin-top:5px;color:#8491a1;font-size:12px;line-height:1.6}
.clear-dir-title-right{display:flex;align-items:center;gap:10px}
.clear-dir-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px
}
.clear-dir-item{
  display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;
  min-height:58px;padding:10px 11px;border:1px solid #e2e8ef;border-radius:6px;background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease
}
.clear-dir-item:hover{border-color:#b7cce4;box-shadow:0 3px 12px rgba(37,71,106,.05)}
.clear-dir-folder{
  display:flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:6px;
  background:#eef5fd;color:#3985d1;font-size:12px
}
.clear-dir-info{min-width:0}
.clear-dir-info b{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#354a61;font-size:12px;font-weight:500
}
.clear-dir-info span{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  margin-top:4px;color:#98a3b1;font-size:12px;font-family:Consolas,"Microsoft YaHei"
}
.clear-dir-delete{height:27px;padding:0 9px;font-size:12px}
.clear-dir-loading,.clear-dir-empty{
  grid-column:1/-1;padding:26px 12px;text-align:center;border:1px dashed #dfe6ed;border-radius:6px;
  color:#8b97a6;font-size:12px;background:#fbfcfe
}
@media(max-width:1000px){.clear-dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .clear-action-grid,.clear-dir-grid{grid-template-columns:1fr}
  .clear-action-item{grid-template-columns:38px minmax(0,1fr)}
  .clear-action-item>.btn{grid-column:2;justify-self:start}
}


/* ===== 删除目录按钮 15 秒冻结 ===== */
.clear-dir-delete.is-freezing,
.clear-dir-delete:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.clear-dir-delete.is-freezing{
  min-width:72px;
}


/* netver */
.netv-card .card-body{padding-top:14px}
.netv-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.netv-stat{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:14px 16px;min-height:104px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.netv-stat small{font-size:12px;color:#667085}
.netv-stat strong{font-size:20px;line-height:1.25;color:#1d2939;word-break:break-all}
.netv-tip{font-size:12px;color:#98a2b3}
.netv-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:999px;font-size:12px;border:1px solid #d5dae2;background:#f8fafc;color:#475467;align-self:flex-start}
.netv-badge.ok{background:#ecfdf3;border-color:#c7ead4;color:#027a48}
.netv-badge.warn{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
.netv-alert{border-radius:10px;border:1px solid #e6ebf2;padding:12px 14px;line-height:1.75;margin-bottom:12px;font-size:13px}
.netv-alert.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.netv-alert.info{background:#eff8ff;border-color:#bfdbfe;color:#1d4ed8}
.netv-target-box{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #cdd5df;background:#f8fafc;border-radius:10px;padding:12px 14px}
.netv-target-main{display:flex;flex-direction:column;gap:4px}
.netv-target-title{font-size:12px;color:#667085}
.netv-target-main b{font-size:15px;color:#101828;word-break:break-all}
.netv-target-side{padding:4px 10px;border-radius:999px;background:#ecfdf3;color:#027a48;font-size:12px;border:1px solid #c7ead4;white-space:nowrap}
.netv-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media (max-width:1100px){.netv-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.netv-overview{grid-template-columns:1fr}.netv-target-box{flex-direction:column;align-items:flex-start}}


/* ===== 默认首页设置 ===== */
.defaultdoc-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.defaultdoc-summary-item{border:1px solid #e4eaf1;border-radius:8px;background:#fbfcfe;padding:12px 14px}
.defaultdoc-summary-item small{display:block;color:#8996a8;font-size:12px}
.defaultdoc-summary-item strong{display:block;margin-top:4px;color:#334a61;font-size:15px;font-weight:500;word-break:break-all}
.defaultdoc-note{margin-bottom:12px;border:1px solid #d7e7f8;background:#f5faff;border-radius:7px;padding:10px 12px;color:#55708d;font-size:12px}
.defaultdoc-card fieldset{border:0;margin:0;padding:0;min-width:0}
.defaultdoc-card fieldset:disabled{opacity:.62}
.defaultdoc-enable-row{display:flex;align-items:center;gap:10px;max-width:620px}
.defaultdoc-enable-row .input{flex:1}
.defaultdoc-inline-state{display:inline-flex;height:24px;align-items:center;padding:0 9px;border-radius:12px;background:#f1f4f7;color:#7b8796;font-size:12px;white-space:nowrap}
.defaultdoc-inline-state.on{background:#edf9f1;color:#229653}
.defaultdoc-inline-state.off{background:#fff2f0;color:#d65a50}
.defaultdoc-textarea{max-width:620px;min-height:190px;line-height:1.75}
.defaultdoc-templates{display:flex;gap:8px;flex-wrap:wrap}
.defaultdoc-template{min-width:130px;text-align:left;border:1px solid #dfe6ee;border-radius:7px;background:#fff;padding:8px 10px;cursor:pointer;color:#53657a}
.defaultdoc-template:hover{border-color:#9fc5ef;background:#f8fbff}
.defaultdoc-template b{display:block;font-size:12px;font-weight:500;color:#34495e}
.defaultdoc-template span{display:block;margin-top:2px;font-size:12px;color:#9aa5b2}
.defaultdoc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.defaultdoc-summary{grid-template-columns:1fr}}

/* ===== WEB 一级目录读取状态 ===== */
.clear-dir-progress{grid-column:1/-1;border:1px dashed #dbe4ee;border-radius:7px;background:#fbfcfe;padding:22px 12px;text-align:center}
.clear-dir-progress b{display:block;color:#52677d;font-size:12px;font-weight:500}
.clear-dir-progress span{display:block;margin-top:5px;color:#98a4b1;font-size:12px}


/* ===== MIME 页面精简美化 ===== */
.mime-config-card .card-body{padding-top:14px}
.mime-editor{max-width:880px}
.mime-editor-main{display:grid;grid-template-columns:220px 280px auto;align-items:end;gap:12px}
.mime-field{min-width:0}
.mime-field label{display:block;margin-bottom:6px;color:#3e536b;font-size:12px}
.mime-field .input{width:100%;height:34px}
.mime-field small{display:block;margin-top:5px;color:#9aa6b5;font-size:12px;line-height:1.5}
.mime-submit{padding-bottom:20px}
.mime-submit .btn{height:34px;padding:0 16px}
.mime-preset-row{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:11px;border-top:1px solid #edf1f5}
.mime-presets-label{color:#7b8999;font-size:12px;white-space:nowrap}
.mime-chip-list{display:flex;flex-wrap:wrap;gap:7px}
.mime-chip{height:27px;padding:0 11px;border:1px solid #dce5ee;border-radius:14px;background:#fff;color:#5e7187;font-size:12px;cursor:pointer}
.mime-chip:hover{border-color:#9dc4ed;background:#f7fbff;color:#2d79c7}
.mime-list-tools{display:flex;align-items:center;gap:10px}
.mime-search{width:240px;height:30px}
@media(max-width:760px){
  .mime-editor-main{grid-template-columns:1fr}
  .mime-submit{padding-bottom:0}
  .mime-submit .btn{width:100%}
  .mime-preset-row{align-items:flex-start;flex-direction:column}
}

/* ===== 数据清空删除细节 ===== */
.clear-main-card .card-body,.clear-dir-card .card-body{padding-top:14px}
.clear-action-item .btn{min-width:88px}
.clear-dir-title-right .btn{height:30px}
.clear-dir-progress{grid-column:1/-1;border:1px dashed #dce4ec;border-radius:8px;background:#fbfcfe;padding:24px 12px;text-align:center}
.clear-dir-progress b{display:block;color:#52667c;font-size:12px;font-weight:500}
.clear-dir-progress span{display:block;margin-top:5px;color:#97a3b1;font-size:12px}

.clear-dir-empty b{font-weight:500;color:#52667c}
.clear-dir-retry{margin-top:10px;height:29px;padding:0 12px}


/* ===== WEB 一级目录：列表显示 ===== */
.clear-dir-list{
  margin-top:12px;
  border:1px solid #e2e8ef;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
}
.clear-dir-list-head,
.clear-dir-list-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr) 100px;
  align-items:center;
}
.clear-dir-list-head{
  min-height:38px;
  padding:0 12px;
  background:#f7f9fc;
  border-bottom:1px solid #e6ebf1;
  color:#6d7d90;
  font-size:12px;
}
.clear-dir-list-row{
  min-height:48px;
  padding:0 12px;
  border-bottom:1px solid #edf1f5;
  transition:background .12s ease;
}
.clear-dir-list-row:last-child{border-bottom:0}
.clear-dir-list-row:hover{background:#fbfdff}
.clear-dir-list-name{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.clear-dir-folder{
  display:flex;
  width:26px;
  height:26px;
  flex:0 0 26px;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:#eef5fd;
  color:#3985d1;
  font-size:12px;
}
.clear-dir-name-text{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#34495f;
  font-size:12px;
}
.clear-dir-list-path{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#8a97a8;
  font-family:Consolas,"Microsoft YaHei";
  font-size:12px;
}
.clear-dir-list-op{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.clear-dir-list-op .clear-dir-delete{
  min-width:52px;
  height:27px;
  padding:0 9px;
}
.clear-dir-list .clear-dir-empty,
.clear-dir-list .clear-dir-progress{
  margin:0;
  border:0;
  border-radius:0;
}
@media(max-width:760px){
  .clear-dir-list-head{display:none}
  .clear-dir-list-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:5px 10px;
    padding:9px 10px;
  }
  .clear-dir-list-name{grid-column:1}
  .clear-dir-list-path{grid-column:1;padding-left:35px}
  .clear-dir-list-op{grid-column:2;grid-row:1/3}
}

.https-cert-state.warn{background:#fff7ed!important;color:#c2410c!important;border-color:#fed7aa!important}

/* archive V59 compact enhancements */
.archive-v60 .card-title{display:flex;align-items:center;justify-content:space-between}
.archive-path-input{display:flex;align-items:center;border:1px solid #d9e2ec;border-radius:4px;background:#f8fafc;overflow:hidden}
.archive-path-input>span{padding:0 10px;color:#64748b;white-space:nowrap;border-right:1px solid #e5eaf0}
.archive-path-input .input{border:0!important;border-radius:0!important;box-shadow:none!important}
.archive-estimate{min-height:34px;display:flex;align-items:center;padding:0 10px;background:#f8fafc;border:1px solid #e7edf3;border-radius:4px;color:#64748b}
.archive-v60 .asp-tip{margin-top:5px;color:#8a96a3;font-size:12px}


/* ===== Archive page refined layout ===== */
.archive-guide{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 14px;
  padding:12px 14px;
  background:#f7fbff;
  border:1px solid #dbe9f6;
  border-radius:6px;
  color:#516273;
}
.archive-guide-icon{
  flex:0 0 22px;
  width:22px;
  height:22px;
  line-height:22px;
  text-align:center;
  border-radius:50%;
  background:#2f78c4;
  color:#fff;
  font-size:12px;
  margin-top:1px;
}
.archive-guide-text{display:flex;flex-direction:column;gap:3px;line-height:1.65}
.archive-guide-text b{font-size:13px;color:#2f4054;font-weight:500}
.archive-guide-text span{font-size:12px;color:#6f7f90}
.archive-guide-text strong{font-weight:500;color:#2f78c4}

.archive-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
.archive-panel{
  min-width:0;
  background:#fff;
  border:1px solid #dfe6ee;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(31,49,67,.025);
}
.archive-panel-head{
  height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 15px;
  background:#fbfcfe;
  border-bottom:1px solid #e8edf2;
}
.archive-panel-title{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
}
.archive-panel-mark{
  width:3px;
  height:28px;
  border-radius:2px;
  background:#14a83b;
}
.archive-panel-title>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.archive-panel-title b{font-size:14px;color:#2f3f52;font-weight:500;line-height:1.2}
.archive-panel-title small{font-size:12px;color:#94a0ad;line-height:1.2;font-weight:400}
.archive-panel-badge{
  display:inline-flex;
  align-items:center;
  height:22px;
  padding:0 8px;
  border:1px solid #d6e6d9;
  border-radius:3px;
  background:#f4fbf5;
  color:#38a54d;
  font-size:12px;
}
.archive-refresh-btn{
  height:28px;
  padding:0 10px;
  border:1px solid #ced9e5;
  border-radius:4px;
  background:#fff;
  color:#55718f;
  cursor:pointer;
  font-size:12px;
}
.archive-refresh-btn:hover{
  border-color:#7fa7cf;
  color:#2f78c4;
  background:#f6faff;
}

.archive-panel-body{padding:10px 15px 13px}
.archive-field{
  display:grid;
  grid-template-columns:115px minmax(0,1fr);
  min-height:61px;
  border-bottom:1px solid #edf1f5;
}
.archive-field:last-of-type{border-bottom:0}
.archive-label{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  gap:3px;
  padding:8px 14px 8px 0;
  background:#fafbfd;
  color:#52647a;
}
.archive-label span{font-size:13px;line-height:1.25}
.archive-label small{font-size:12px;color:#9aa6b2;font-weight:400;line-height:1.2}
.archive-control{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:8px 0 8px 12px;
}
.archive-control .input{
  width:100%;
  min-width:0;
  height:34px;
  box-sizing:border-box;
}
.archive-help{
  margin-top:5px;
  color:#8996a4;
  font-size:12px;
  line-height:1.5;
}
.archive-path-input{
  height:34px;
  display:flex;
  align-items:stretch;
  border:1px solid #cedae6;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
}
.archive-path-prefix{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  padding:0 10px;
  background:#f3f6f9;
  border-right:1px solid #dde5ed;
  color:#6e7f91;
  font-size:12px;
}
.archive-path-input .input{
  height:32px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.archive-select{padding-right:28px}

.archive-field-estimate .archive-control{padding-top:9px;padding-bottom:9px}
.archive-estimate{
  min-height:34px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  border:1px solid #dfe8f1;
  border-radius:4px;
  background:#f7f9fb;
  color:#728195;
  font-size:12px;
}
.archive-estimate-dot{
  flex:0 0 7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#91a8bf;
}
.archive-actions{
  display:flex;
  align-items:center;
  min-height:50px;
  padding:7px 0 0 127px;
}
.archive-main-btn{
  min-width:88px;
  height:34px;
  padding:0 16px;
}

.archive-freeze-note{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:14px;
  padding:10px 13px;
  border:1px solid #f0dfb4;
  border-radius:5px;
  background:#fffaf0;
  color:#8a6d31;
  font-size:12px;
  line-height:1.55;
}
.archive-freeze-icon{
  flex:0 0 19px;
  width:19px;
  height:19px;
  line-height:19px;
  text-align:center;
  border-radius:50%;
  background:#f3b43a;
  color:#fff;
  font-size:12px;
}
.archive-log-card{margin-top:14px}

@media (max-width:1100px){
  .archive-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .archive-panel-body{padding:8px 10px 12px}
  .archive-field{grid-template-columns:1fr;min-height:0}
  .archive-label{
    align-items:flex-start;
    background:transparent;
    padding:10px 0 3px;
  }
  .archive-label small{display:none}
  .archive-control{padding:3px 0 9px}
  .archive-actions{padding:10px 0 0}
  .archive-main-btn{width:100%}
  .archive-guide{padding:10px 11px}
}

.domain-db-warn{color:#d88718;font-size:12px}.state-pill.warn{background:#fff7e8;color:#c97a08;border-color:#f1d49f}

/* Domain DB-first sync */
.domain-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.domain-filter #domainSyncBtn{white-space:nowrap}

/* Domain DNS guidance */
.domain-dns-card-v60{min-width:430px}
.domain-dns-info-v60{min-width:0}
.domain-dns-info-v60 span{display:block}
.domain-dns-info-v60 strong{display:block;margin-top:3px;word-break:break-all}
.domain-dns-info-v60 small{display:block;margin-top:3px;color:#8a96a3}
@media(max-width:760px){.domain-dns-card-v60{min-width:0;width:100%}}

/* Domain DNS compact card v61 */
.domain-dns-card-v61{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;max-width:620px;width:min(620px,100%);
  padding:12px 14px;
  border:1px solid #dbe6ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 10px rgba(34,55,80,.05);
}
.domain-dns-type-v61{
  flex:0 0 auto;
  min-width:52px;
  height:30px;
  padding:0 10px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:600;
  letter-spacing:.3px;
}
.domain-dns-type-v61.cname{background:#eaf8ef;color:#16823a}
.domain-dns-type-v61.ip{background:#edf4ff;color:#2b63b8}
.domain-dns-main-v61{flex:1;min-width:0;text-align:left}
.domain-dns-main-v61 span{display:block;color:#8693a3;font-size:12px;margin-bottom:3px}
.domain-dns-main-v61 strong{
  display:block;
  color:#253447;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.domain-copy-btn-v46{
  flex:0 0 auto;
  border:1px solid #cdd8e3;
  border-radius:6px;
  padding:6px 11px;
  background:#fff;
}
.domain-primary-badge{
  display:inline-flex;
  align-items:center;
  margin-left:7px;
  padding:1px 6px;
  border-radius:8px;
  background:#eef4fb;
  color:#55708d;
  font-size:12px;
  font-weight:400;
}
.domain-lock-v61{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 9px;
  border-radius:5px;
  background:#f5f6f8;
  color:#9aa4af;
  font-size:12px;
}
.domain-primary-row td{background:#fbfcfe}
@media(max-width:760px){
  .domain-dns-card-v61{width:100%;gap:8px;padding:10px}
  .domain-dns-main-v61 strong{font-size:13px}
}

/* Dashboard quick action buttons */
.bt28-actions .bt28-action-btn{
  appearance:none;
  border:1px solid #dce3ea;
  background:#fff;
  color:#36465a;
  cursor:pointer;
  font:inherit;
  text-align:center;
  border-radius:6px;
  padding:10px 14px;
}
.bt28-actions .bt28-action-btn:hover{border-color:#20a53a;color:#16882f;background:#f7fff8}
.bt28-actions .bt28-action-btn.danger:hover{border-color:#ef6b6b;color:#d94747;background:#fff8f8}

/* Domain DNS compact single-line v62 */
.domain-dns-card-v62{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:10px;
  width:100%;max-width:720px;width:min(720px,100%);
  padding:11px 13px;
  border:1px solid #d8e4ee;
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 4px 16px rgba(32,52,74,.06);
  overflow:hidden;
}
.domain-dns-type-v62{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:28px;
  min-width:50px;
  padding:0 10px;
  border-radius:7px;
  font-size:12px;
  font-weight:600;
}
.domain-dns-type-v62.cname{background:#eaf8ef;color:#16823a}
.domain-dns-type-v62.ip{background:#edf4ff;color:#2b63b8}
.domain-dns-label-v62{
  flex:0 0 auto;
  color:#8290a2;
  font-size:12px;
  white-space:nowrap;
}
.domain-dns-value-v62{
  flex:1 1 auto;
  min-width:0;
  color:#253447;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.domain-dns-card-v62 .domain-copy-btn-v46{flex:0 0 auto;white-space:nowrap}
@media(max-width:760px){
  .domain-dns-card-v62{gap:7px;padding:9px 10px}
  .domain-dns-label-v62{display:none}
  .domain-dns-value-v62{font-size:13px}
}


/* Dashboard quick actions: start/stop stay aligned with links */
.bt28-actions .bt28-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  height:31px;
  padding:0 11px;
  border-radius:4px;
  font-size:12px;
  line-height:1;
  font-family:inherit;
  font-weight:400;
  white-space:nowrap;
  min-width:0;
  margin:0;
}
.bt28-actions .bt28-action-btn.start{
  border:1px solid #3f83d7;
  background:#3f83d7;
  color:#fff;
}
.bt28-actions .bt28-action-btn.start:hover{
  border-color:#2f72c5;
  background:#2f72c5;
  color:#fff;
}
.bt28-actions .bt28-action-btn.danger{
  border:1px solid #e15b5b;
  background:#e15b5b;
  color:#fff;
}
.bt28-actions .bt28-action-btn.danger:hover{
  border-color:#cf4848;
  background:#cf4848;
  color:#fff;
}

/* Dashboard quick actions: all entries use identical dimensions */
.bt28-actions > a,
.bt28-actions > .bt28-action-btn{
  width:88px;
  min-width:88px;
  max-width:88px;
  height:32px;
  min-height:32px;
  box-sizing:border-box;
  padding:0 6px;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:4px;
  font-size:12px;
  line-height:1;
  font-family:inherit;
  font-weight:400;
  white-space:nowrap;
}
.bt28-actions > .bt28-action-btn.start{
  border-color:#3f83d7;
  background:#3f83d7;
  color:#fff;
}
.bt28-actions > .bt28-action-btn.danger{
  border-color:#e15b5b;
  background:#e15b5b;
  color:#fff;
}

/* Start / stop use the exact same link geometry as the other quick actions */
.bt28-actions a.bt28-action-state.start{
  border-color:#3f83d7;
  background:#3f83d7;
  color:#fff;
}
.bt28-actions a.bt28-action-state.start:hover{
  border-color:#2f72c5;
  background:#2f72c5;
  color:#fff;
}
.bt28-actions a.bt28-action-state.danger{
  border-color:#e15b5b;
  background:#e15b5b;
  color:#fff;
}
.bt28-actions a.bt28-action-state.danger:hover{
  border-color:#cf4848;
  background:#cf4848;
  color:#fff;
}

/* PHP version page v63 */
.php63-page{padding-bottom:22px}
.php63-current-badge b{font-weight:500;color:#2468b3}
.php63-card .card-title{
  min-height:48px;
  align-items:center;
}
.php63-card .card-title>div{
  display:flex;
  align-items:center;
  gap:12px;
}
.php63-title-sub{
  color:#98a4b1;
  font-size:12px;
  font-weight:400;
}
.php63-body{padding:18px}
.php63-current-panel{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px 17px;
  margin-bottom:18px;
  border:1px solid #dbe6f0;
  border-radius:8px;
  background:#f8fbff;
}
.php63-current-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#e8f2ff;
  color:#2f73c7;
  font-size:13px;
  font-weight:600;
}
.php63-current-info{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.php63-current-info span{font-size:12px;color:#8492a2}
.php63-current-info strong{font-size:19px;font-weight:500;color:#24364a}
.php63-current-info small{font-size:12px;color:#9aa5b1}
.php63-section{
  border-top:1px solid #edf1f5;
  padding-top:16px;
}
.php63-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:12px;
}
.php63-section-head h3{
  margin:0 0 3px;
  font-size:14px;
  font-weight:500;
  color:#28394b;
}
.php63-section-head p{
  margin:0;
  color:#8d99a7;
  font-size:12px;
}
.php63-version-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.php63-version{
  position:relative;
  min-height:70px;
  padding:11px 34px 10px 12px;
  border:1px solid #dbe3eb;
  border-radius:7px;
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.php63-version:hover{
  border-color:#9ebfe5;
  background:#fbfdff;
}
.php63-version.active{
  border-color:#3f83d7;
  background:#f4f9ff;
  box-shadow:0 0 0 1px rgba(63,131,215,.08);
}
.php63-version-main{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}
.php63-version-name{
  font-size:14px;
  color:#2a3b4d;
  font-weight:500;
}
.php63-current-mark{
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 7px;
  border-radius:10px;
  background:#e8f5eb;
  color:#21833b;
  font-size:12px;
  font-style:normal;
}
.php63-version-path{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#9aa5b1;
  font-size:12px;
}
.php63-radio{
  position:absolute;
  right:12px;
  top:50%;
  width:15px;
  height:15px;
  margin-top:-8px;
  border:1px solid #bac6d2;
  border-radius:50%;
  background:#fff;
}
.php63-version.active .php63-radio{
  border:5px solid #3f83d7;
}
.php63-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding:13px 15px;
  border:1px solid #e1e8ef;
  border-radius:7px;
  background:#fafcfe;
}
.php63-selected{
  display:flex;
  align-items:center;
  gap:9px;
  color:#8995a3;
  font-size:12px;
}
.php63-selected strong{
  color:#2b4056;
  font-size:15px;
  font-weight:500;
}
.php63-apply{
  min-width:150px;
}
.php63-note{
  margin-top:12px;
}
@media(max-width:1200px){
  .php63-version-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .php63-version-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .php63-footer{align-items:flex-start;flex-direction:column}
}

/* PHP version list v64 */
.php64-version-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.php64-version-row{
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:9px 13px;
  border:1px solid #dbe3eb;
  border-radius:7px;
  background:#fff;
  cursor:pointer;
  text-align:left;
  transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;
}

.php64-version-row:hover{
  border-color:#a8c7e9;
  background:#fbfdff;
}

.php64-version-row.active{
  border-color:#3f83d7;
  background:#f4f9ff;
  box-shadow:0 0 0 1px rgba(63,131,215,.06);
}

.php64-version-left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
}

.php64-version-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#edf4fc;
  color:#3d74b0;
  font-size:12px;
  font-weight:600;
}

.php64-version-row.active .php64-version-icon{
  background:#e3f0ff;
  color:#2c6fbd;
}

.php64-version-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.php64-version-title{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}

.php64-version-title strong{
  color:#28394b;
  font-size:14px;
  font-weight:500;
}

.php64-version-path{
  color:#98a4b2;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.php64-version-right{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:12px;
}

.php64-version-state{
  min-width:48px;
  color:#9aa6b2;
  font-size:12px;
  text-align:right;
}

.php64-version-row.active .php64-version-state{
  color:#2f78c8;
}

.php64-radio{
  width:16px;
  height:16px;
  flex:0 0 16px;
  border:1px solid #bcc7d2;
  border-radius:50%;
  background:#fff;
  box-sizing:border-box;
}

.php64-version-row.active .php64-radio{
  border:5px solid #3f83d7;
}

.php64-version-row .php63-current-mark{
  height:18px;
  padding:0 6px;
  font-size:12px;
}

@media(max-width:700px){
  .php64-version-row{
    min-height:54px;
    padding:8px 10px;
  }
  .php64-version-state{
    display:none;
  }
}

/* Domain DNS card: content-width, responsive */
.domain-dns-card-v62{
  width:auto;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:9px;
  padding:9px 11px;
  align-self:flex-start;
}
.domain-dns-value-v62{
  flex:0 1 auto;
  min-width:120px;
  max-width:360px;max-width:min(360px,42vw);
}
@media(max-width:760px){
  .domain-dns-card-v62{
    width:100%;
    box-sizing:border-box;
  }
  .domain-dns-value-v62{
    min-width:0;
    max-width:none;
    flex:1 1 auto;
  }
}

/* Gift uphost.top domains do not expose HTTPS settings */
.domain-https-disabled{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:not-allowed !important;
  pointer-events:none;
  border-color:#d9dee5 !important;
  background:#f3f5f7 !important;
  color:#a5adb7 !important;
  opacity:.9;
}

/* Rewrite table loading / empty / error message */
.rewrite-rule-table td.rewrite-table-message{
  height:110px;
  padding:18px !important;
  text-align:center !important;
  vertical-align:middle !important;
  color:#8b98a8;
}
.rewrite-rule-table .rewrite-empty-center,
.rewrite-rule-table td.rewrite-table-message .asp-empty{
  width:100%;
  min-height:70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:5px;
  box-sizing:border-box;
}
.rewrite-rule-table .rewrite-empty-center b,
.rewrite-rule-table td.rewrite-table-message .asp-empty b{
  font-weight:400;
  color:#6f8093;
}
.rewrite-rule-table .rewrite-empty-center span,
.rewrite-rule-table td.rewrite-table-message .asp-empty span{
  text-align:center;
  color:#96a3b2;
}


/* HTTPS：访问开关与 HTTP 跳转横向排列 */
.https-simple-status{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
.https-simple-status-main{
  grid-column:1 / -1;
}
.https-simple-switch-row{
  margin:0 !important;
  min-width:0;
  height:auto;
  min-height:66px;
  box-sizing:border-box;
  border:1px solid #e1e8ef;
  border-radius:6px;
  padding:11px 12px !important;
  background:#fff;
}
.https-simple-switch-row > div{
  min-width:0;
}
.https-simple-switch-row > div span{
  white-space:normal;
  line-height:1.45;
}
@media(max-width:760px){
  .https-simple-status{
    grid-template-columns:1fr;
  }
  .https-simple-status-main{
    grid-column:1;
  }
}


/* HTTPS 横向开关区域：修正内边距与边框贴边问题 */
.https-simple-status{
  padding:0 10px 10px !important;
  box-sizing:border-box;
}
.https-simple-status-main{
  margin:0 -10px !important;
  box-sizing:border-box;
}
.https-simple-switch-row{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:760px){
  .https-simple-status{
    padding:0 10px 10px !important;
  }
  .https-simple-status-main{
    margin:0 -10px !important;
  }
}


/* =========================================================
   V59 统一弹窗 / 提醒视觉优化
   仅覆盖公共确认、结果提示、处理中遮罩，不改变业务逻辑。
   ========================================================= */

/* 操作确认 */
#confirmModal.ysiis-confirm-modal{
  z-index:22050 !important;
  padding:20px;
  background:rgba(22,34,49,.38);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
#confirmModal.ysiis-confirm-modal.show{
  display:flex;
  animation:ysiisMaskIn .16s ease-out both;
}
#confirmModal .ysiis-confirm-box{
  position:relative;
  z-index:22051;
  width:100%;max-width:430px;width:min(430px,100%);
  overflow:hidden;
  border:1px solid rgba(219,227,236,.96);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 55px rgba(18,38,63,.22);
  transform-origin:center;
  animation:ysiisDialogIn .18s cubic-bezier(.2,.8,.2,1) both;
}
#confirmModal .ysiis-confirm-main{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:21px 22px 18px;
}
#confirmModal .ysiis-confirm-icon{
  flex:0 0 36px;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff7e8;
  border:1px solid #f5dfb1;
  color:#d68a12;
  font:600 18px/1 "Microsoft YaHei","Segoe UI",sans-serif;
}
#confirmModal .ysiis-confirm-content{
  min-width:0;
  flex:1;
  padding-top:1px;
}
#confirmModal .ysiis-confirm-title{
  color:#26384d;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
}
#confirmModal .ysiis-confirm-message{
  margin-top:7px;
  color:#596b80;
  font-size:12px;
  line-height:1.75;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
#confirmModal .ysiis-confirm-tip{
  margin-top:8px;
  color:#9aa6b5;
  font-size:12px;
  line-height:1.5;
}
#confirmModal .ysiis-confirm-foot{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-height:54px;
  padding:0 22px;
  border-top:1px solid #edf1f5;
  background:#fafbfd;
}
#confirmModal .ysiis-confirm-foot .btn{
  min-width:72px;
  height:30px;
  padding:0 14px;
  border-radius:5px;
  font-size:12px;
}
#confirmModal .ysiis-confirm-cancel{
  border-color:#d9e1ea;
  background:#fff;
  color:#5f7084;
}
#confirmModal .ysiis-confirm-cancel:hover{
  border-color:#b9c6d4;
  background:#f7f9fb;
  color:#35495f;
}
#confirmModal .ysiis-confirm-ok{
  border-color:#1677ff;
  background:#1677ff;
  color:#fff;
  box-shadow:0 2px 5px rgba(22,119,255,.14);
}
#confirmModal .ysiis-confirm-ok:hover{
  border-color:#0f6ee8;
  background:#0f6ee8;
}
#confirmModal .ysiis-confirm-foot .btn:focus-visible{
  outline:2px solid rgba(22,119,255,.22);
  outline-offset:2px;
}

/* 成功 / 失败 / 提示：中央轻量卡片 */
.center-notice-mask{
  z-index:23000;
  background:rgba(22,34,49,.16);
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}
.center-notice-mask.show{
  animation:ysiisMaskIn .15s ease-out both;
}
.center-notice{
  position:relative;
  width:calc(100vw - 32px);max-width:390px;width:min(390px,calc(100vw - 32px));
  padding:22px 24px 20px;
  overflow:hidden;
  border:1px solid #e2e8ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 55px rgba(18,38,63,.18);
  text-align:center;
}
.center-notice:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:#28a964;
}
.center-notice.err:before{background:#e45454}
.center-notice.warn:before{background:#e5a02b}
.center-notice-icon{
  width:40px;
  height:40px;
  margin:1px auto 11px;
  border:1px solid #d6eddf;
  background:#edf9f2;
  color:#22a05b;
  font-size:19px;
  font-weight:500;
}
.center-notice.err .center-notice-icon{
  border-color:#f1d5d3;
  background:#fff2f1;
  color:#df4f4f;
}
.center-notice.warn .center-notice-icon{
  border-color:#f1e0ba;
  background:#fff8e9;
  color:#d58c17;
}
.center-notice-title{
  color:#27394d;
  font-size:14px;
  line-height:1.5;
  font-weight:500;
}
.center-notice-message{
  margin-top:7px;
  color:#617287;
  font-size:12px;
  line-height:1.7;
}
.center-notice-code{
  min-height:0;
  margin-top:5px;
  color:#9aa6b5;
  font-size:12px;
  line-height:1.55;
}
.center-notice-code:empty{display:none}

/* “正在处理”遮罩也统一成同一套风格 */
.ajax-mask{
  background:rgba(22,34,49,.18);
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}
.ajax-mask-card{
  min-width:250px;
  max-width:360px;
  padding:20px 24px 18px;
  border:1px solid #e2e8ef;
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 55px rgba(18,38,63,.18);
}
.ajax-mask-card b{
  display:block;
  color:#33485e;
  font-size:13px;
  font-weight:500;
}
.ajax-mask-card .asp-inline-help{
  margin-top:5px;
  color:#98a4b3;
  font-size:12px;
}
.ajax-spinner{
  width:27px;
  height:27px;
  margin:0 auto 11px;
  border-width:3px;
}

/* 旧右上角 toast 如有残留调用，也统一视觉 */
.toast-stack{
  right:16px;
  top:66px;
  width:320px;
  gap:7px;
}
.toast-item{
  padding:11px 13px;
  border:1px solid #e2e8ef;
  border-left-width:3px;
  border-radius:7px;
  box-shadow:0 10px 28px rgba(18,38,63,.12);
  color:#52657a;
  font-size:12px;
}
.toast-item b{
  color:#30465d;
  font-size:12px;
  font-weight:500;
}

@keyframes ysiisMaskIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes ysiisDialogIn{
  from{opacity:0;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:640px){
  #confirmModal.ysiis-confirm-modal{padding:14px}
  #confirmModal .ysiis-confirm-main{padding:18px 17px 16px}
  #confirmModal .ysiis-confirm-foot{padding:0 17px}
  #confirmModal .ysiis-confirm-icon{width:34px;height:34px;flex-basis:34px}
  .center-notice{width:calc(100vw - 28px);padding:20px 18px 18px}
}


/* HTTPS 301 开关：读取/提交期间冻结，避免未知状态下重复点击 */
#httpsRedirectSwitch.is-frozen,
#httpsRedirectSwitch:disabled{
  cursor:not-allowed !important;
  opacity:.58;
  pointer-events:none;
}
#httpsRedirectSwitch.is-frozen.on,
#httpsRedirectSwitch:disabled.on{
  opacity:.72;
}

/* 301 操作中的非阻塞浮动提示 */
.https-redirect-working{
  position:fixed;
  left:50%;
  top:74px;
  z-index:26000;
  display:flex;
  align-items:center;
  gap:9px;
  min-width:230px;
  max-width:calc(100vw - 32px);
  padding:11px 16px;
  border:1px solid #dbe5ef;
  border-radius:8px;
  background:rgba(255,255,255,.98);
  box-shadow:0 10px 30px rgba(18,38,63,.16);
  color:#42566d;
  font-size:12px;
  line-height:1.5;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-8px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
}
.https-redirect-working.show{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.https-redirect-working i{
  flex:0 0 16px;
  width:16px;
  height:16px;
  border:2px solid #d7e3ef;
  border-top-color:#1677ff;
  border-radius:50%;
  animation:httpsRedirectSpin .7s linear infinite;
}
@keyframes httpsRedirectSpin{
  to{transform:rotate(360deg)}
}


/* ==================== 子站点管理 ==================== */
.subsite-overview .card-body{padding:16px 18px}
.sub-quota-row{display:flex;align-items:center;gap:0;min-height:58px;border:1px solid #e7edf4;border-radius:7px;background:#fbfcfe;overflow:hidden}
.sub-quota-row>div:not(.sub-quota-note){display:flex;align-items:baseline;gap:5px;min-width:145px;padding:0 18px;border-right:1px solid #e7edf4}
.sub-quota-label{margin-right:6px;color:#738397;font-size:12px}
.sub-quota-row b{color:#263b52;font-size:21px;font-weight:500}
.sub-quota-row small{color:#8b98a8;font-size:12px}
.sub-quota-note{flex:1;padding:0 18px;color:#65768a;font-size:12px;text-align:right}
.asp-supported.off{border-color:#e5e8ec;background:#f5f6f8;color:#8b96a3}
.subsite-table th,.subsite-table td{vertical-align:middle}
.subsite-table th:nth-child(1){width:16%}.subsite-table th:nth-child(2){width:39%}.subsite-table th:nth-child(3){width:12%}.subsite-table th:nth-child(4){width:12%}.subsite-table th:nth-child(5){width:21%}
.sub-dir-name{display:inline-block;padding:4px 8px;border-radius:5px;background:#f3f6fa;color:#314860;font-size:12px;font-family:Consolas,"Microsoft YaHei",sans-serif}
.sub-domain-list{display:flex;flex-wrap:wrap;gap:5px}
.sub-domain-item{display:inline-block;padding:3px 7px;border:1px solid #e0e8f0;border-radius:4px;background:#fff;color:#435a70;font-size:12px;line-height:1.4}
.sub-empty-host{color:#9aa6b3;font-size:12px}
.sub-php-tag{display:inline-block;padding:3px 7px;border:1px solid #dbe5f0;border-radius:4px;background:#f5f8fb;color:#3f5870;font-size:12px}
.sub-op-col,.sub-op-cell{text-align:right!important;white-space:nowrap}
.sub-op-cell .btn{height:27px;padding:0 10px;font-size:12px;margin-left:5px}
.subsite-create-form{max-width:760px}
.subsite-create-form .fl{width:110px}
.subsite-create-form .input{max-width:520px}
.sub-disabled{opacity:.72}
.sub-disabled #subCreateBtn{cursor:not-allowed}
.sub-edit-box{width:calc(100vw - 28px);max-width:560px;width:min(560px,calc(100vw - 28px))}
.sub-edit-box .asp-modal-body{padding:18px 20px}
.sub-edit-box .form .fl{width:90px}
.sub-edit-box textarea.input{min-height:94px;resize:vertical}
.sub-readonly{height:32px;display:flex;align-items:center;padding:0 10px;border:1px solid #e5eaf0;border-radius:5px;background:#f7f9fb;color:#5d6f82;font-size:12px}
@media(max-width:900px){.sub-quota-row{flex-wrap:wrap}.sub-quota-row>div:not(.sub-quota-note){min-width:33.333%;height:54px}.sub-quota-note{flex-basis:100%;padding:10px 16px;text-align:left;border-top:1px solid #e7edf4}.subsite-table{min-width:760px}}


/* ===== 子站点管理 V2 ===== */
.sub-live-state,.sub-runtime-badge,.sub-domain-ssl{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:24px;padding:0 9px;border-radius:12px;font-size:12px;background:#f1f4f8;color:#6c7886}
.sub-live-state.running,.sub-runtime-badge.running{background:#e9f8f0;color:#16824b}
.sub-live-state.stopped,.sub-runtime-badge.stopped{background:#fff0f0;color:#c74646}
.sub-manager-box{width:94vw;max-width:820px;width:min(820px,94vw);max-height:88vh;display:flex;flex-direction:column}
.sub-manager-body{overflow:auto;padding:16px 20px}
.sub-manager-head>div:first-child{display:flex;align-items:center;gap:12px}
.sub-manager-head small{font-size:12px;color:#8a96a3;font-weight:400}
.sub-runtime-head{display:flex;align-items:center;gap:12px}
.sub-manager-section{border:1px solid #e7ebf0;border-radius:8px;margin-bottom:14px;background:#fff}
.sub-manager-section:last-child{margin-bottom:0}
.sub-manager-section-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f4;background:#fafbfd}
.sub-manager-section-head>div{display:flex;flex-direction:column;gap:3px}
.sub-manager-section-head b{font-size:13px;color:#263445;font-weight:500}
.sub-manager-section-head span{font-size:12px;color:#8a96a3}
.sub-runtime-panel{display:flex;align-items:center;justify-content:space-between;padding:16px 14px}
.sub-runtime-panel>div:first-child{display:flex;align-items:center;gap:12px}
.sub-runtime-panel span{color:#7b8794;font-size:12px}
.sub-runtime-panel strong{font-size:14px;color:#263445;font-weight:500}
.sub-runtime-actions{display:flex;gap:8px}
.sub-domain-manage-list{padding:8px 14px 2px}
.sub-domain-manage-row{display:grid;grid-template-columns:minmax(180px,1fr) 92px 76px 76px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f4}
.sub-domain-manage-row:last-of-type{border-bottom:0}
.sub-domain-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.sub-domain-main strong{font-size:13px;font-weight:400;color:#263445;overflow:hidden;text-overflow:ellipsis}
.sub-domain-main small{font-size:12px;color:#9aa5b1;overflow:hidden;text-overflow:ellipsis}
.sub-domain-ssl.ok{background:#e9f8f0;color:#16824b}
.sub-domain-ssl.off{background:#f1f4f8;color:#7b8794}
.sub-last-domain-tip{padding:8px 10px;margin:5px 0 10px;background:#fff8e8;color:#9b6a13;border-radius:5px;font-size:12px}
.sub-domain-add-row{display:flex;gap:8px;padding:12px 14px 6px}
.sub-domain-add-row .input{flex:1}
.sub-manager-section>.form-note{padding:0 14px 13px}
.sub-php-row{display:flex;align-items:center;gap:14px;padding:14px}
.sub-php-row label{width:70px;color:#65717e}
.sub-php-row .input{width:180px}
.sub-manager-foot{justify-content:space-between}
.sub-manager-foot>span{font-size:12px;color:#8a96a3}
.sub-manager-foot>div{display:flex;gap:8px}
.sub-ssl-box{width:94vw;max-width:680px;width:min(680px,94vw);max-height:88vh;display:flex;flex-direction:column}
.sub-ssl-box .asp-modal-body{overflow:auto}
.sub-ssl-status-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #e7ebf0;border-radius:7px;background:#fafbfd}
.sub-ssl-status-row>div{display:flex;align-items:center;gap:10px}
.sub-ssl-status-row span{font-size:12px;color:#7b8794}
.sub-ssl-status-row strong{font-size:13px;font-weight:500}
.sub-ssl-status-row strong.ok{color:#16824b}
.sub-ssl-status-row strong.off{color:#c74646}
.sub-ssl-result{white-space:pre-line;margin:10px 0 14px;padding:11px 12px;background:#f7f9fb;border-radius:6px;color:#65717e;font-size:12px;line-height:1.7}
.sub-ssl-fields{display:flex;flex-direction:column;gap:7px}
.sub-ssl-fields label{font-size:12px;color:#536170;margin-top:4px}
.sub-ssl-fields label span{color:#9aa5b1}
@media(max-width:700px){
  .sub-domain-manage-row{grid-template-columns:1fr 88px}
  .sub-domain-manage-row .sub-domain-ssl-btn,.sub-domain-manage-row .sub-domain-remove-btn{width:100%}
  .sub-runtime-panel{align-items:flex-start;gap:12px;flex-direction:column}
  .sub-domain-add-row{flex-direction:column}
  .sub-manager-foot{align-items:flex-start;gap:10px;flex-direction:column}
}


/* ===== 子站点管理 V3：紧凑网站管理弹窗 ===== */
.sub-manager-box{width:94vw!important;max-width:760px!important;width:min(760px,94vw)!important;max-height:86vh!important;border-radius:9px!important;box-shadow:0 18px 48px rgba(20,37,63,.20)!important}
.sub-manager-head{min-height:56px!important;padding:0 18px!important;border-bottom:1px solid #e8edf3!important}
.sub-manager-head>div:first-child{gap:9px!important}.sub-manager-head>div:first-child>span{font-size:14px;color:#25364b;font-weight:500}
.sub-manager-head small{display:inline-flex;padding:2px 7px;border-radius:4px;background:#f1f5f9;color:#718096!important}
.sub-runtime-head{display:flex;align-items:center;gap:10px}.sub-runtime-head .sub-runtime-badge{height:22px;min-width:58px;padding:0 8px}
.sub-manager-body{padding:14px 18px!important;background:#f7f9fc}
.sub-manager-section{margin-bottom:12px!important;border:1px solid #e3e9f0!important;border-radius:7px!important;box-shadow:none!important;overflow:hidden}
.sub-runtime-section{background:#fff}.sub-runtime-panel{padding:13px 14px!important;min-height:58px}
.sub-runtime-info{display:flex!important;align-items:center!important;gap:10px!important}
.sub-runtime-info .sub-section-icon{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:6px;background:#edf5ff;color:#2878d0;font-size:12px}
.sub-runtime-info>div{display:flex;flex-direction:column;gap:2px}.sub-runtime-info b{font-size:13px;font-weight:400;color:#2c3d50}.sub-runtime-info small{font-size:12px;color:#98a4b2}
.sub-runtime-info>strong{margin-left:12px;padding-left:12px;border-left:1px solid #e6ebf1;font-size:13px!important;font-weight:400!important}
.sub-runtime-actions{gap:6px!important}.sub-runtime-actions .btn{height:30px;padding:0 12px}
.ghost-danger{background:#fff!important;color:#d84a4a!important;border-color:#efb8b8!important}
.sub-manager-section-head.compact{min-height:49px;padding:9px 13px!important;background:#fbfcfe!important}
.sub-manager-section-head.compact b{font-weight:400!important;color:#2b3b4d}.sub-manager-section-head.compact span{font-size:12px!important}
.sub-domain-table-head{display:grid;grid-template-columns:minmax(210px,1fr) 180px 154px;gap:10px;padding:8px 13px;background:#f5f7fa;border-bottom:1px solid #e7ecf2;color:#8793a1;font-size:12px}
.sub-domain-manage-list{padding:0!important}
.sub-domain-manage-row{grid-template-columns:minmax(210px,1fr) 180px 154px!important;gap:10px!important;padding:11px 13px!important;border-bottom:1px solid #edf1f5!important}
.sub-domain-manage-row:hover{background:#fbfdff}.sub-domain-main{gap:1px!important}.sub-domain-main strong{font-size:13px!important;color:#2c3d50!important}.sub-domain-main small{font-size:12px!important}
.sub-domain-ssl{min-width:0!important;height:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:2px!important}
.sub-domain-ssl i{font-style:normal;font-size:12px}.sub-domain-ssl em{font-style:normal;font-size:12px;color:#98a4b2}.sub-domain-ssl.ok i{color:#15945b}.sub-domain-ssl.warn i{color:#b67b16}.sub-domain-ssl.off i{color:#7d8997}
.sub-domain-actions{display:flex;justify-content:flex-end;gap:6px}.sub-domain-actions .btn{height:28px;padding:0 9px;font-size:12px}
.text-danger{background:#fff!important;color:#d84a4a!important;border-color:#e4e9ef!important}.text-danger:hover{border-color:#efb8b8!important;background:#fff7f7!important}.text-danger:disabled{color:#c7ced7!important;background:#fafbfc!important;border-color:#edf0f3!important}
.sub-last-domain-tip{margin:8px 13px 10px!important;padding:7px 9px!important;background:#fff8e9!important;color:#9a6a17!important;border:1px solid #f7e8bf;border-radius:5px!important}
.sub-domain-add-row{margin:0!important;padding:10px 13px 5px!important;border-top:1px solid #edf1f5;background:#fbfcfe}.sub-domain-add-row .input,.sub-domain-add-row .btn{height:32px}
.sub-manager-section>.form-note{padding:2px 13px 11px!important;background:#fbfcfe;font-size:12px!important}
.sub-env-section .sub-php-row{padding:11px 13px!important}.sub-php-row label{width:72px!important}.sub-php-row .input{height:32px!important;width:170px!important}
.sub-manager-foot{min-height:54px;padding:9px 18px!important;background:#fff!important;border-top:1px solid #e6ebf1!important}.sub-manager-foot>span{font-size:12px!important}.sub-manager-foot .btn{height:32px}
.sub-ssl-box{width:94vw!important;max-width:650px!important;width:min(650px,94vw)!important;border-radius:9px!important}.sub-ssl-status-row{padding:10px 12px!important}.sub-ssl-result{margin:9px 0 12px!important}
@media(max-width:700px){.sub-domain-table-head{display:none}.sub-domain-manage-row{grid-template-columns:1fr!important}.sub-domain-actions{justify-content:flex-start}.sub-runtime-info>strong{margin-left:0;padding-left:0;border-left:0}.sub-runtime-info{flex-wrap:wrap}}

/* ===== V3.1 弹窗标题栏 / 关闭按钮修正 ===== */
.sub-manager-head{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  box-sizing:border-box!important;
}
.sub-manager-head .sub-runtime-head{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin-left:auto!important;
}
.sub-manager-head .asp-modal-x,
.sub-ssl-box .asp-modal-head .asp-modal-x{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#7b8794!important;
  font-family:Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
  outline:0!important;
  transition:background .15s ease,color .15s ease!important;
}
.sub-manager-head .asp-modal-x:hover,
.sub-ssl-box .asp-modal-head .asp-modal-x:hover{
  background:#f1f4f8!important;
  color:#263445!important;
}
.sub-manager-head .asp-modal-x:focus-visible,
.sub-ssl-box .asp-modal-head .asp-modal-x:focus-visible{
  box-shadow:0 0 0 2px rgba(40,120,208,.18)!important;
}
.sub-ssl-box .asp-modal-head{
  min-height:56px!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  box-sizing:border-box!important;
}
.sub-ssl-box .asp-modal-head>div:first-child{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.sub-ssl-box .asp-modal-head small{
  max-width:360px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#8a96a3!important;
  font-size:12px!important;
  font-weight:400!important;
}
@media(max-width:700px){
  .sub-manager-head{padding:0 12px!important}
  .sub-manager-head .sub-runtime-head{gap:6px!important}
  .sub-manager-head .asp-modal-x,
  .sub-ssl-box .asp-modal-head .asp-modal-x{width:28px!important;height:28px!important;min-width:28px!important}
}


/* ===== 网站木马扫描 ===== */
.malware-overview .card-body{padding:18px}
.malware-hero{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid #e4eaf1;border-radius:8px;background:#fbfcfe}
.malware-hero-icon{display:flex;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;border-radius:9px;background:#edf5ff;color:#2878d0}
.malware-hero-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.malware-hero-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}.malware-hero-main b{font-size:14px;font-weight:400;color:#28394d}.malware-hero-main span{font-size:12px;line-height:1.65;color:#84909d}
.malware-scan-btn{min-width:100px;height:34px}
.malware-progress{margin-top:14px;padding:14px 16px;border:1px solid #dce7f4;border-radius:8px;background:#f8fbff}
.malware-progress-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.malware-progress-head>div{display:flex;flex-direction:column;gap:3px}
.malware-progress-head b{font-size:13px;font-weight:400;color:#2b3c50}.malware-progress-head span{font-size:12px;color:#83909e}
.malware-progress-head strong{display:flex;width:40px;height:30px;align-items:center;justify-content:center;border-radius:6px;background:#e8f2ff;color:#2878d0;font-size:15px;font-weight:500}
.malware-progress-track{height:6px;margin-top:12px;overflow:hidden;border-radius:4px;background:#e6edf5}.malware-progress-track i{display:block;height:100%;border-radius:4px;background:#2e7ed3;transition:width .35s ease}
.malware-progress-foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.malware-progress-foot>span{font-size:12px;color:#929eaa}.malware-progress-foot .btn{height:28px;padding:0 10px;font-size:12px}
.malware-warning{margin-top:14px!important}
.malware-result-state{display:inline-flex;height:23px;align-items:center;padding:0 9px;border-radius:12px;background:#f1f4f7;color:#7f8b98;font-size:12px}.malware-result-state.scanning,.malware-result-state.waiting{background:#edf5ff;color:#2878d0}.malware-result-state.ok{background:#e9f8f0;color:#16824b}
.malware-empty{display:flex;min-height:180px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed #dce3eb;border-radius:7px;background:#fafbfd}.malware-empty b{font-size:13px;font-weight:400;color:#5b6876}.malware-empty span{font-size:12px;color:#98a3ae}
.malware-result-output{box-sizing:border-box;max-height:520px;margin:0;padding:14px 16px;overflow:auto;border:1px solid #dfe5ec;border-radius:7px;background:#f8fafc;color:#334155;font:12px/1.75 Consolas,"Microsoft YaHei",monospace;white-space:pre-wrap;word-break:break-all}
.malware-result-tip{margin-top:8px;padding:8px 10px;border-radius:5px;background:#fff8e8;color:#946a1c;font-size:12px}
.malware-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.malware-help-grid>div{display:flex;min-height:64px;flex-direction:column;gap:5px;padding:11px 12px;border:1px solid #e7ebf0;border-radius:7px;background:#fbfcfd}.malware-help-grid b{font-size:12px;font-weight:400;color:#334155}.malware-help-grid span{font-size:12px;line-height:1.65;color:#8995a2}
@media(max-width:700px){.malware-hero{align-items:flex-start;flex-wrap:wrap}.malware-scan-btn{width:100%}.malware-help-grid{grid-template-columns:1fr}}

.malware-last-scan{margin-top:2px!important;color:#738296!important}
.malware-last-scan em{font-style:normal;color:#40546b}
#malwareCountdown{width:auto;min-width:40px;padding:0 8px;box-sizing:border-box}

/* ===== CC 攻击防护 ===== */
.cc-card .card-body{padding:18px}.cc-status-badge{display:inline-flex;height:23px;align-items:center;padding:0 10px;border-radius:12px;font-size:12px}.cc-status-badge.on{background:#e9f8f0;color:#16824b}.cc-status-badge.off{background:#f1f4f7;color:#7d8996}
.cc-hero{display:flex;align-items:center;gap:14px;padding:14px 15px;border:1px solid #e4eaf1;border-radius:8px;background:#fbfcfe}.cc-shield{display:flex;width:42px;height:42px;flex:0 0 42px;align-items:center;justify-content:center;border-radius:8px;background:#edf5ff;color:#2878d0}.cc-shield svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cc-hero-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.cc-hero-main b{font-size:14px;font-weight:400;color:#2b3c50}.cc-hero-main span{font-size:12px;line-height:1.65;color:#84909d}
.cc-state-panel{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:10px;margin-top:13px;padding:13px 15px;border:1px solid #e5eaf0;border-radius:8px;background:#fff}.cc-state-panel>div:not(.cc-state-actions){display:flex;flex-direction:column;gap:4px}.cc-state-panel span{font-size:12px;color:#8a96a3}.cc-state-panel strong{font-size:13px;font-weight:400;color:#314256}.cc-state-actions{display:flex;gap:7px}.cc-state-actions .btn{height:32px;padding:0 13px}.cc-warning{margin-top:13px!important}.cc-warning b{font-weight:400;color:#8b6118}.cc-sync-note{margin-top:9px;color:#8995a2;font-size:12px}
@media(max-width:800px){.cc-state-panel{grid-template-columns:1fr 1fr}.cc-state-actions{grid-column:1/-1}.cc-hero{align-items:flex-start;flex-wrap:wrap}.cc-hero>#ccRefreshBtn{margin-left:56px}}

/* CC 防护状态交互：沿用 V59 全站 ui-switch，不另造视觉体系 */
.cc-master-switch{flex:0 0 40px;margin-left:auto}
.cc-state-panel #ccStateText.is-on{color:#20a53a}
.cc-state-panel #ccStateText.is-off{color:#314256}
.cc-state-actions .btn:disabled,
.cc-state-actions .btn.primary:disabled,
.cc-state-actions .btn.danger:disabled{
  cursor:default!important;
  color:#aab3bd!important;
  background:#f2f4f6!important;
  border-color:#e4e8ed!important;
  opacity:1!important;
  box-shadow:none!important;
}
.cc-state-actions .btn.primary:not(:disabled){
  color:#fff!important;
  background:#20a53a!important;
  border-color:#20a53a!important;
}
.cc-state-actions .btn.danger:not(:disabled){
  color:#d95353!important;
  background:#fff!important;
  border-color:#efb5b5!important;
}



/* ===== 后台访问保护 V1.5：与 V59 后台统一 ===== */
.backend-title-actions{display:flex;align-items:center;gap:9px}.backend-state{display:inline-flex;height:23px;align-items:center;padding:0 9px;border-radius:12px;font-size:12px;font-weight:400}.backend-state.pending,.backend-state.off{background:#f1f4f7;color:#7d8996}.backend-state.on{background:#e9f8f0;color:#16824b}.backend-state.warn{background:#fff5e6;color:#a96a08}
.backend-benefit{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid #dfe9e2;border-radius:8px;background:#f8fcf9}.backend-lock{display:flex;width:46px;height:46px;flex:0 0 46px;align-items:center;justify-content:center;border-radius:9px;background:#e9f8ee;color:#20a53a}.backend-lock svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.backend-benefit-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}.backend-benefit-main>b{font-size:14px;font-weight:500;color:#263b2c}.backend-benefit-main>span{font-size:12px;line-height:1.75;color:#6f8075}.backend-benefit-points{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.backend-benefit-points em{display:inline-flex;height:24px;align-items:center;padding:0 9px;border-radius:12px;background:#edf8f0;color:#2d8d43;font-size:12px;font-style:normal;font-weight:400}
.backend-status-tip{margin:13px 0;padding:10px 12px;border:1px solid #e3e8ee;border-radius:6px;background:#fafbfc;color:#748292;font-size:12px;line-height:1.65}.backend-status-tip.configured{border-color:#cfe8d5;background:#f5fbf6;color:#3c7d4b}.backend-status-tip.warning{border-color:#f1d8a8;background:#fff9ee;color:#95681d}.backend-status-tip.empty{border-color:#dce6f1;background:#f8fbff;color:#61758b}
.backend-form .fc{min-width:0}.backend-password-row,.backend-action-row{display:flex;align-items:center;gap:8px;max-width:540px}.backend-password-row .input{flex:1;min-width:0}.backend-form .input:disabled{background:#f4f6f8!important;border-color:#e3e7eb!important;color:#8b96a2!important;cursor:not-allowed}.backend-form .btn:disabled{cursor:not-allowed!important;color:#aab3bd!important;background:#f2f4f6!important;border-color:#e4e8ed!important;opacity:1!important}.backend-delete-btn{min-width:104px}
@media(max-width:700px){.backend-benefit{align-items:flex-start}.backend-title-actions{gap:6px}.backend-password-row,.backend-action-row{max-width:none;flex-wrap:wrap}}
.backend-delete-btn[hidden]{display:none!important}


/* V1.8 域名页：站点运行目录 */
.domain-runtime-v18{max-width:760px;margin:14px auto 0;padding:12px 14px;border:1px solid #d9e3eb;border-radius:5px;background:rgba(255,255,255,.94);text-align:left}
.domain-runtime-head-v18{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.domain-runtime-head-v18 b{display:block;color:#2d3d4d;font-size:13px;font-weight:500;line-height:20px}
.domain-runtime-head-v18 span{display:block;color:#82909d;font-size:12px;line-height:18px}
.domain-runtime-state-v18{flex:0 0 auto!important;padding:2px 8px;border-radius:10px;background:#f1f4f7;color:#687786!important;white-space:nowrap}
.domain-runtime-state-v18.synced{background:#eaf7ed;color:#1c963b!important}.domain-runtime-state-v18.warn{background:#fff3e6;color:#b86a12!important}
.domain-runtime-row-v18{display:flex;align-items:center;gap:8px}.domain-runtime-row-v18 .input{width:280px;max-width:100%;height:34px!important;min-height:34px!important}
.domain-runtime-row-v18 .btn{height:34px;min-height:34px;padding:0 12px;font-size:12px}
.domain-runtime-tip-v18{margin-top:8px;color:#8996a3;font-size:12px;line-height:18px}
@media(max-width:760px){.domain-runtime-head-v18{flex-direction:column;gap:5px}.domain-runtime-row-v18{flex-wrap:wrap}.domain-runtime-row-v18 .input{width:100%}}


/* V1.9 域名页：站点运行目录独立卡片 */
.domain-runtime-card-v19{margin-top:12px}
.domain-runtime-card-v19 .card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.domain-runtime-body-v19{padding:14px 18px 16px!important}
.domain-runtime-desc-v19{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}
.domain-runtime-desc-v19 b{color:#2d3d4d;font-size:13px;font-weight:500;line-height:20px}
.domain-runtime-desc-v19 span{color:#82909d;font-size:12px;line-height:18px}
.domain-runtime-card-v19 .domain-runtime-row-v18{justify-content:flex-start}
.domain-runtime-card-v19 .domain-runtime-row-v18 .input{width:320px}
@media(max-width:760px){.domain-runtime-card-v19 .card-title{align-items:flex-start}.domain-runtime-card-v19 .domain-runtime-row-v18 .input{width:100%}}

/* V1.12 - 站点运行目录独立置顶，右上角使用同步刷新按钮 */
.domain-runtime-card-v112{margin-top:0;margin-bottom:12px}
.domain-runtime-card-v112 .card-title{min-height:42px}
.domain-runtime-sync-v112{display:inline-flex!important;align-items:center;gap:5px;padding:5px 11px!important;font-size:12px!important;font-weight:400!important;color:#536273!important;background:#fff!important;border:1px solid #d7e0e8!important;border-radius:4px!important}
.domain-runtime-sync-v112:hover{color:#168f3c!important;border-color:#9fd6af!important;background:#f7fcf8!important}
.domain-runtime-refresh-icon-v112{font-size:15px;line-height:1;color:#60758a}
.domain-runtime-sync-v112:hover .domain-runtime-refresh-icon-v112{color:#168f3c}
.domain-runtime-dbline-v112{display:flex;align-items:center;gap:8px;margin:9px 0 8px;color:#7b8996;font-size:12px}
.domain-runtime-dbline-v112 .domain-runtime-state-v18{display:inline-flex;align-items:center;padding:2px 8px}
@media(max-width:760px){.domain-runtime-card-v112 .card-title{align-items:center}.domain-runtime-sync-v112{flex:0 0 auto}.domain-runtime-dbline-v112{flex-wrap:wrap}}

/* V1.15 - 站点运行目录：紧凑统一布局，减少重复信息 */
.domain-runtime-card-v115{margin-top:0;margin-bottom:12px}
.domain-runtime-title-v115{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:12px}
.domain-runtime-sync-v115{height:30px!important;min-height:30px!important;padding:0 12px!important;font-size:12px!important;font-weight:400!important;color:#536273!important;background:#fff!important;border:1px solid #d7e0e8!important;border-radius:4px!important}
.domain-runtime-sync-v115:hover{color:#168f3c!important;border-color:#9fd6af!important;background:#f7fcf8!important}
.domain-runtime-body-v115{padding:14px 18px 15px!important}
.domain-runtime-summary-v115{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #edf1f4}
.domain-runtime-summary-text-v115{display:flex;align-items:center;gap:10px;min-width:0}
.domain-runtime-label-v115{color:#445363;font-size:13px;white-space:nowrap}
.domain-runtime-current-v115{display:inline-flex!important;align-items:center;max-width:360px;padding:3px 9px!important;border-radius:3px!important;background:#f1f4f7!important;color:#526272!important;font-size:12px!important;font-weight:400!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.domain-runtime-current-v115.synced{background:#eaf7ed!important;color:#168f3c!important}
.domain-runtime-current-v115.warn{background:#fff3e6!important;color:#b86a12!important}
.domain-runtime-help-v115{color:#8996a3;font-size:12px;line-height:18px;text-align:right}
.domain-runtime-setting-v115{display:flex;align-items:center;gap:14px}
.domain-runtime-setting-v115>label{flex:0 0 78px;color:#445363;font-size:13px}
.domain-runtime-controls-v115{display:flex;align-items:center;gap:8px;min-width:0}
.domain-runtime-controls-v115 .input{width:320px;max-width:100%;height:34px!important;min-height:34px!important}
.domain-runtime-controls-v115 .btn{height:34px;min-height:34px;padding:0 12px;font-size:12px}
.domain-runtime-tip-v115{margin:10px 0 0 92px;color:#94a0ab;font-size:12px;line-height:18px}
@media(max-width:900px){
  .domain-runtime-summary-v115{align-items:flex-start;flex-direction:column;gap:5px}
  .domain-runtime-help-v115{text-align:left}
}
@media(max-width:760px){
  .domain-runtime-title-v115{align-items:center}
  .domain-runtime-setting-v115{align-items:flex-start;flex-direction:column;gap:7px}
  .domain-runtime-setting-v115>label{flex:auto}
  .domain-runtime-controls-v115{width:100%;flex-wrap:wrap}
  .domain-runtime-controls-v115 .input{width:100%}
  .domain-runtime-tip-v115{margin-left:0}
}
\n/* V1.17 - runtime directory single-row compact layout */\n.domain-runtime-body-v117{padding:14px 18px!important}\n.domain-runtime-row-v117{display:flex;align-items:center;gap:10px;min-height:34px;white-space:nowrap}\n.domain-runtime-label-v117{color:#445363;font-size:13px;font-weight:400;line-height:34px;white-space:nowrap}\n.domain-runtime-current-v117{display:inline-block!important;max-width:240px;padding:0!important;margin-right:8px;background:transparent!important;border:0!important;border-radius:0!important;color:#536273!important;font-size:13px!important;font-weight:400!important;line-height:34px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.domain-runtime-current-v117.synced{background:transparent!important;color:#168f3c!important;font-weight:400!important}\n.domain-runtime-current-v117.warn{background:transparent!important;color:#b86a12!important;font-weight:400!important}\n.domain-runtime-sep-v117{width:1px;height:20px;background:#e6ebef;margin:0 4px}\n.domain-runtime-select-v117{width:320px!important;height:34px!important;min-height:34px!important;font-size:13px!important}\n.domain-runtime-save-v117{height:34px!important;min-height:34px!important;padding:0 13px!important;font-size:12px!important}\n.domain-runtime-tip-v117{margin-left:8px;color:#98a3ad;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n@media(max-width:900px){.domain-runtime-row-v117{flex-wrap:wrap;white-space:normal}.domain-runtime-sep-v117{display:none}.domain-runtime-tip-v117{flex-basis:100%;margin-left:0}.domain-runtime-select-v117{width:260px!important}}\n

/* V1.22 首页安全状态：开关展示数据库状态，点击进入对应管理页面 */
.bt28-switch-link{cursor:pointer;transition:background .18s ease,box-shadow .18s ease;}
.bt28-switch-link:hover{box-shadow:0 0 0 3px rgba(53,184,90,.10);}
.bt28-switch-link:focus{outline:none;box-shadow:0 0 0 3px rgba(53,184,90,.16);}


/* V1.24 - 全站主机到期提醒 */
.host-expiry-warning{
  position:fixed;
  top:58px;
  left:220px;
  right:0;
  z-index:49;
  min-height:42px;
  padding:8px 20px;
  border-top:1px solid #ffe2a8;
  border-bottom:1px solid #f3cf82;
  background:#fff8e8;
  color:#8a5a00;
  display:flex;
  align-items:center;
  gap:9px;
  box-shadow:0 2px 6px rgba(120,82,0,.04);
  font-size:12px;
}
.host-expiry-warning-mark{
  flex:0 0 20px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#f5a623;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  line-height:20px;
}
.host-expiry-warning strong{font-weight:500;color:#9a6100;margin-right:12px}
.host-expiry-warning em{font-style:normal;color:#a67520;margin-right:12px}
.host-expiry-warning-tip{color:#8a6a2f}
.has-expiry-warning .main{padding-top:59px}
@media(max-width:900px){
  .host-expiry-warning{left:0;padding:8px 12px;align-items:flex-start}
  .host-expiry-warning strong,.host-expiry-warning em,.host-expiry-warning-tip{display:inline}
  .has-expiry-warning .main{padding-top:72px}
}


/* V1.25 - 代理专用导航 / 旧版 HTTPS 兼容页 */
.sidebar .agent-only-title{
  color:#f2a65a!important;
}
.sidebar .agent-only-group .nav:hover{
  background:#342d27;
}
.legacy-ssl-card .card-body{position:relative}
.legacy-ssl-route-note{
  min-height:76px;border:1px solid #e3e9ef;background:#fafcfd;border-radius:6px;
  padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.legacy-ssl-route-note>div{display:flex;flex-direction:column;gap:5px;color:#6e7d8d}
.legacy-ssl-route-note b{font-size:13px;font-weight:500;color:#26384b}
.legacy-ssl-route-note span{font-size:12px}
.legacy-ssl-warn{margin-bottom:12px}
.legacy-ssl-frame-wrap{border:1px solid #e5eaf0;border-radius:6px;overflow:hidden;background:#fff}
.legacy-ssl-frame{display:block;width:100%;height:1200px;border:0;background:#fff}
.legacy-ssl-mask{
  position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(20,29,39,.34);
  display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;
}
.legacy-ssl-dialog{
  width:500px;max-width:calc(100vw - 40px);background:#fff;border:1px solid #e3e8ee;
  border-radius:8px;box-shadow:0 16px 42px rgba(20,29,39,.18);padding:18px 20px 16px;
}
.legacy-ssl-dialog-title{font-size:15px;font-weight:500;color:#26384b;margin-bottom:10px}
.legacy-ssl-dialog-text{font-size:13px;line-height:1.7;color:#607184}
.legacy-ssl-dialog-text p{margin:0 0 10px}
.legacy-ssl-method{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:8px 10px;margin-top:7px;background:#f8fafc;border:1px solid #edf0f3;border-radius:5px}
.legacy-ssl-method b{font-weight:500;color:#34495e}
.legacy-ssl-tip{margin-top:9px;color:#a36b22}
.legacy-ssl-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
@media(max-width:760px){
  .legacy-ssl-route-note{align-items:flex-start;flex-direction:column}
  .legacy-ssl-dialog-actions{flex-direction:column-reverse}
  .legacy-ssl-dialog-actions .btn{width:100%;justify-content:center}
}

/* V1.27 - 环境检测 / 一键缓存清理 */
.envcheck-card .asp-note{margin-bottom:12px}
.envcheck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e4e9ef;border-radius:6px;overflow:hidden;background:#fff}
.envcheck-item{position:relative;min-height:84px;padding:15px 92px 14px 16px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;display:flex;flex-direction:column;gap:7px}
.envcheck-item:nth-child(4n){border-right:0}.envcheck-item:nth-last-child(-n+4){border-bottom:0}
.envcheck-item>span{font-size:12px;color:#8090a0}.envcheck-item>b{font-size:13px;font-weight:400;color:#22364a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.env-state{position:absolute;right:14px;top:31px;display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:24px;padding:0 9px;border-radius:12px;font-size:12px;font-style:normal;font-weight:400}
.env-state.idle{background:#f1f4f7;color:#7c8b99}.env-state.ok{background:#eaf8ef;color:#169447}.env-state.warn{background:#fff6e6;color:#b7791f}.env-state.bad{background:#fff0f0;color:#d64a4a}
.env-perm-card table th:nth-child(1){width:55%}.env-perm-card table th:nth-child(2),.env-perm-card table th:nth-child(3){width:22.5%}
.env-perm-name{color:#33475b}.env-perm-ok{color:#169447}.env-perm-no{color:#d64a4a}
.cache-clean-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 0 12px}
.cache-clean-info{display:flex;flex-direction:column;gap:5px}.cache-clean-info b{font-size:13px;font-weight:400;color:#26394d}.cache-clean-info span{font-size:12px;color:#7c8c9d;line-height:1.7}
.cache-paths{display:flex;gap:8px;margin:0 0 12px}.cache-paths span{padding:5px 9px;border:1px solid #e2e7ec;border-radius:4px;background:#f8fafc;color:#52677b;font-size:12px;font-family:Consolas,"Microsoft YaHei",sans-serif}
@media(max-width:1100px){.envcheck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.envcheck-item:nth-child(4n){border-right:1px solid #edf0f3}.envcheck-item:nth-child(2n){border-right:0}.envcheck-item:nth-last-child(-n+4){border-bottom:1px solid #edf0f3}.envcheck-item:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:700px){.envcheck-grid{grid-template-columns:1fr}.envcheck-item{border-right:0!important;border-bottom:1px solid #edf0f3!important}.envcheck-item:last-child{border-bottom:0!important}.cache-clean-row{align-items:flex-start;flex-direction:column}.cache-paths{flex-wrap:wrap}}

/* V1.29 环境检测：未检测时仅显示提示，检测完成后使用列表 */
.envcheck-empty{padding:34px 18px;text-align:center;color:#7d8c9b;background:#fafbfd;border:1px dashed #dce3ea;border-radius:6px;font-size:13px}
.envcheck-result{margin-top:0}
.envcheck-list{width:100%;table-layout:fixed}
.envcheck-list th:nth-child(1){width:22%}.envcheck-list th:nth-child(2){width:58%}.envcheck-list th:nth-child(3){width:20%}
.envcheck-list td{height:42px;vertical-align:middle}
.envcheck-list .env-state{position:static;display:inline-flex;min-width:54px;height:22px;padding:0 9px;border-radius:11px}
@media(max-width:700px){.envcheck-list th:nth-child(1){width:28%}.envcheck-list th:nth-child(2){width:47%}.envcheck-list th:nth-child(3){width:25%}}

/* V1.32 FTP 账号直接登录 */
.ftp-login-divider{display:flex;align-items:center;gap:10px;margin:17px 0 11px;color:#98a2b3;font-size:12px}
.ftp-login-divider:before,.ftp-login-divider:after{content:"";height:1px;background:#e7ebf0;flex:1}


/* V1.33 首页操作日志分页 */
.log-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-top:12px;flex-wrap:wrap}
.log-pagination .log-page-btn{min-width:34px;height:30px;padding:0 10px;font-size:12px}
.log-pagination .log-page-btn.active{background:#18a84a;border-color:#18a84a;color:#fff}
.log-pagination .log-page-btn:disabled{opacity:.45;cursor:not-allowed}
.log-pagination .log-page-info{margin-left:6px;color:#7b8da6;font-size:12px}

/* V1.34 - 首页 FTP 资料快捷入口 */
.bt30-ftp-online{height:28px;line-height:26px;padding:0 10px;font-size:12px;font-weight:400;white-space:nowrap}


/* V1.36 在线FTP：简洁布局 */
.webftp136-box{border:1px solid #e2e8ee;border-radius:5px;background:#fff;overflow:hidden}
.webftp136-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px 14px}
.webftp136-text{min-width:0}
.webftp136-name{margin:0 0 5px;color:#26394b;font-size:14px;font-weight:500;line-height:1.4}
.webftp136-desc{color:#7d8b99;font-size:12px;line-height:1.6}
.webftp136-action{flex:0 0 auto}
.webftp136-open{height:34px!important;min-height:34px!important;padding:0 15px!important}
.webftp136-detail{display:flex;align-items:center;flex-wrap:wrap;gap:8px 28px;padding:10px 18px;border-top:1px solid #edf1f4;background:#fafbfd;color:#778694;font-size:12px;line-height:1.5}
.webftp136-detail em{color:#405366;font-style:normal}
.webftp136-tip{padding:9px 18px;border-top:1px solid #edf1f4;color:#81909d;font-size:12px;line-height:1.6}
.webftp136-tip-error{color:#b16d2c;background:#fffaf4}
@media(max-width:700px){.webftp136-main{align-items:flex-start;flex-direction:column}.webftp136-action{width:100%}.webftp136-open{width:100%}.webftp136-detail{gap:7px 18px}}

/* =========================================================
   V1.39 - 在线FTP简洁版
   ========================================================= */
.webftp139-panel{border:1px solid #e5e9ee;border-radius:6px;background:#fff;overflow:hidden}
.webftp139-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px}
.webftp139-title{display:flex;align-items:flex-start;gap:10px;min-width:0}
.webftp139-dot{width:3px;height:32px;margin-top:1px;border-radius:2px;background:#20a53a;flex:0 0 auto}
.webftp139-name{color:#25384a;font-size:14px;line-height:1.4}
.webftp139-desc{margin-top:5px;color:#8996a3;font-size:12px;line-height:1.5}
.webftp139-open{height:34px!important;min-height:34px!important;padding:0 17px!important;flex:0 0 auto}
.webftp139-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 36px;padding:10px 20px;border-top:1px solid #edf0f3;background:#fafbfc;font-size:12px;line-height:1.5}
.webftp139-meta span{display:flex;align-items:center;gap:10px}.webftp139-meta label{color:#8a97a4}.webftp139-meta em{color:#405367;font-style:normal}
.webftp139-note{padding:9px 20px;border-top:1px solid #edf0f3;color:#8794a0;font-size:12px;line-height:1.55}
.webftp139-note.error{color:#b06c2d;background:#fffaf4}
@media(max-width:700px){.webftp139-top{align-items:stretch;flex-direction:column}.webftp139-open{width:100%}.webftp139-meta{gap:8px 22px}}


/* =========================================================
   V1.43 - 在线FTP管理：简洁信息卡布局
   ========================================================= */
.webftp143-panel{border:1px solid #e3e9ef;border-radius:7px;background:#fff;overflow:hidden}
.webftp143-main{position:relative;display:flex;align-items:center;gap:16px;min-height:116px;padding:20px 22px;background:linear-gradient(100deg,#fbfefd 0%,#fff 66%,#f3fbf6 100%)}
.webftp143-icon{display:flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:58px;border-radius:10px;background:#eaf8ef;color:#1ca64a}
.webftp143-icon svg{width:31px;height:31px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.webftp143-copy{min-width:0;flex:1}
.webftp143-name{color:#25384a;font-size:15px;line-height:1.4}
.webftp143-desc{margin-top:5px;color:#7f8e9d;font-size:12px;line-height:1.6}
.webftp143-tags{display:flex;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}
.webftp143-tags span{display:inline-flex;align-items:center;height:24px;padding:0 9px;border:1px solid #e4e9ee;border-radius:4px;background:#fff;color:#66788a;font-size:12px}
.webftp143-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:13px;flex:0 0 auto;height:38px!important;min-height:38px!important;padding:0 16px!important;font-size:13px!important;box-shadow:0 2px 5px rgba(24,168,74,.10)}
.webftp143-open b{font-size:19px;font-weight:400;line-height:1;margin-top:-2px}
.webftp143-info{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(180px,.55fr) minmax(360px,1.55fr);border-top:1px solid #e9edf1;background:#fafbfd}
.webftp143-info-item{min-width:0;display:flex;align-items:center;gap:11px;min-height:70px;padding:13px 18px;border-right:1px solid #e9edf1}
.webftp143-info-item:last-child{border-right:0}
.webftp143-info-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:7px;background:#eef5ff;color:#3d7fd6;font-size:12px;font-style:normal}
.webftp143-info-icon.window{background:#edf8f1;color:#1a9b47;font-size:18px}
.webftp143-info-icon.help{background:#fff5e8;color:#d68a25;font-size:15px}
.webftp143-info-item>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.webftp143-info-item label{color:#8a98a6;font-size:12px;line-height:1.3}
.webftp143-info-item strong{color:#34495d;font-size:12px;font-weight:400;line-height:1.55;overflow:hidden;text-overflow:ellipsis}
.webftp143-info-item:not(.tip) strong{white-space:nowrap}
.webftp143-info-item.tip strong{color:#718294}
.webftp143-info-item .webftp143-error{color:#b46c2d}
@media(max-width:980px){.webftp143-info{grid-template-columns:1fr 1fr}.webftp143-info-item.tip{grid-column:1/-1;border-top:1px solid #e9edf1}.webftp143-info-item.compact{border-right:0}}
@media(max-width:700px){.webftp143-main{align-items:flex-start;flex-wrap:wrap;padding:17px}.webftp143-icon{flex-basis:50px;width:50px;height:50px}.webftp143-copy{width:calc(100% - 66px)}.webftp143-open{width:100%;margin-top:2px}.webftp143-info{grid-template-columns:1fr}.webftp143-info-item,.webftp143-info-item.compact{border-right:0;border-bottom:1px solid #e9edf1}.webftp143-info-item.tip{grid-column:auto;border-top:0;border-bottom:0}}


/* =========================================================
   V1.44 - 全站提示系统统一设计 / 最小字号 12px
   公共 footer 弹窗覆盖全部后台页面，不改业务提交逻辑。
   ========================================================= */
:root{--prompt-green:#20a53a;--prompt-line:#e3eaf0;--prompt-ink:#26384d;--prompt-muted:#66788d}

/* 通用遮罩：统一明度、层级、留白，加载提示不再出现过小灰字 */
.ajax-mask,.center-notice-mask,#confirmModal.ysiis-confirm-modal{
  padding:18px;background:rgba(27,43,62,.30);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
}
.ajax-mask{z-index:21000}
.ajax-mask.show{display:flex;animation:ysiisMaskIn .18s ease both}
.ajax-mask-card{
  position:relative;width:100%;max-width:420px;width:min(420px,100%);min-width:0;max-width:420px;
  padding:24px 24px 19px;text-align:left;
  border:1px solid #e3eaf0;border-radius:12px;background:#fff;
  box-shadow:0 22px 64px rgba(21,39,61,.20);
  animation:ysiisDialogIn .2s ease-out both;
}
.ajax-mask-row{display:flex;align-items:center;gap:17px;min-width:0}
.ajax-spinner{
  flex:0 0 40px;width:40px;height:40px;margin:0;
  border:3px solid #e4f3e8;border-top-color:#20a53a;border-right-color:#67ca82;
  border-radius:50%;animation:aspSpin .85s linear infinite;
}
.ajax-mask-copy{min-width:0;flex:1}
.ajax-mask-eyebrow{margin-bottom:3px;color:#20a53a;font-size:12px;line-height:1.4}
.ajax-mask-card b{display:block;color:#293e51;font-size:15px;font-weight:500;line-height:1.55;overflow-wrap:anywhere}
.ajax-mask-card .asp-inline-help{margin-top:5px;color:#738398;font-size:12px;line-height:1.65}
.ajax-mask-progress{height:3px;margin-top:19px;overflow:hidden;border-radius:4px;background:#eaf2ec}
.ajax-mask-progress span{display:block;width:34%;height:100%;border-radius:4px;background:linear-gradient(90deg,#93ddb0,#20a53a);animation:ysiisPromptProgress 1.6s ease-in-out infinite}
@keyframes ysiisPromptProgress{0%{transform:translateX(-120%)}100%{transform:translateX(310%)}}

/* 成功 / 失败 / 普通提醒：图标和正文并排，错误码独立显示 */
.center-notice-mask{z-index:23000}
.center-notice{width:100%;max-width:440px;width:min(440px,100%);padding:0;border:1px solid #e2e9ef;border-radius:12px;
  background:#fff;text-align:left;box-shadow:0 22px 64px rgba(21,39,61,.20);overflow:hidden}
.center-notice:before{height:3px;background:#20a53a}
.center-notice.err:before{background:#e25454}
.center-notice.warn:before{background:#e7a23d}
.center-notice-main{display:flex;align-items:flex-start;gap:14px;padding:23px 42px 24px 22px}
.center-notice-icon{flex:0 0 40px;width:40px;height:40px;margin:0;border-radius:11px;
  background:#eaf8ef;border:1px solid #d5efdd;color:#1c9c4b;font-size:21px;font-weight:500}
.center-notice.err .center-notice-icon{background:#fff0f0;border-color:#f5d8d8;color:#dc4a4a}
.center-notice.warn .center-notice-icon{background:#fff7e9;border-color:#f4e4c4;color:#c68a27}
.center-notice-content{flex:1;min-width:0;padding-top:1px}
.center-notice-title{color:#26384d;font-size:16px;font-weight:500;line-height:1.5}
.center-notice-message{margin-top:6px;color:#596d81;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.center-notice-code{display:block;margin-top:11px;padding:9px 11px;border:1px solid #e8edf2;
  border-radius:6px;background:#f7f9fb;color:#65768a;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.center-notice-code:empty{display:none}
.center-notice-close{position:absolute;right:12px;top:13px;display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#8390a0;
  font:400 22px/1 "Microsoft YaHei",sans-serif;cursor:pointer;transition:background .15s,color .15s}
.center-notice-close:hover{background:#f0f3f6;color:#40556a}
.center-notice-close:focus-visible{outline:2px solid #20a53a;outline-offset:2px}

/* 全站确认框：紧凑双栏，确认动作沿用后台绿色 */
#confirmModal.ysiis-confirm-modal{z-index:22050}
#confirmModal .ysiis-confirm-box{width:100%;max-width:450px;width:min(450px,100%);border-radius:12px;border-color:#e3eaf0;
  box-shadow:0 22px 64px rgba(21,39,61,.20)}
#confirmModal .ysiis-confirm-main{gap:14px;padding:24px 24px 22px}
#confirmModal .ysiis-confirm-icon{flex-basis:40px;width:40px;height:40px;border-radius:10px;font-size:20px}
#confirmModal .ysiis-confirm-title{font-size:16px;line-height:1.5;color:#26384d}
#confirmModal .ysiis-confirm-message{margin-top:6px;font-size:13px;line-height:1.75;color:#5c6e80}
#confirmModal .ysiis-confirm-tip{margin-top:9px;font-size:12px;line-height:1.65;color:#8290a0}
#confirmModal .ysiis-confirm-foot{min-height:64px;padding:10px 24px;background:#fbfcfd}
#confirmModal .ysiis-confirm-foot .btn{min-width:86px;height:36px;border-radius:6px;font-size:13px}
#confirmModal .ysiis-confirm-ok,#confirmModal .ysiis-confirm-ok:hover{
  border-color:#20a53a;background:#20a53a;color:#fff;box-shadow:none}
#confirmModal .ysiis-confirm-ok:hover{background:#198b32;border-color:#198b32}
#confirmModal .ysiis-confirm-foot .btn:focus-visible{outline-color:#92d9a3}

/* 页面内提示、帮助文案、次要标签与旧 toast 统一不小于 12px */
.asp-note,.asp-inline-help,.form-note,.tip,.hint,.help-text,.muted,
.toast-item,.toast-item small,.toast-item b,.asp-modal-body,.asp-modal-foot,
.asp-modal-body small,.asp-modal-head small,.domain-https-head p,
.webftp143-info-item label,.webftp143-info-item strong{font-size:max(12px,1em)}
.toast-item{font-size:13px;line-height:1.65}
.toast-item small{font-size:12px}
.asp-note,.form-note{line-height:1.65}
.asp-modal-box{border-radius:10px;box-shadow:0 22px 64px rgba(21,39,61,.20)}
@media(max-width:600px){
  .ajax-mask,.center-notice-mask,#confirmModal.ysiis-confirm-modal{padding:14px}
  .ajax-mask-card{padding:21px 18px 17px}
  .center-notice{width:100%}
  .center-notice-main{padding:21px 38px 22px 17px;gap:11px}
  .center-notice-icon{flex-basis:36px;width:36px;height:36px}
  #confirmModal .ysiis-confirm-main{padding:21px 18px 19px}
  #confirmModal .ysiis-confirm-foot{padding:10px 18px}
}
@media(prefers-reduced-motion:reduce){
  .ajax-mask-card,.center-notice,#confirmModal .ysiis-confirm-box{animation:none!important}
  .ajax-mask-progress span{animation-duration:3s}
}

/* =========================================================
   V1.45 - 统一开关尺寸修复
   防止 flex 布局中开关被压缩后，圆点超出轨道。
   ========================================================= */
.ui-switch{
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  display:inline-block;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  max-width:40px;
  height:22px;
  min-height:22px;
  max-height:22px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:11px;
  vertical-align:middle;
}
.ui-switch i{
  box-sizing:border-box;
  display:block;
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  min-width:16px;
  height:16px;
  min-height:16px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
}
.ui-switch.on i{left:21px}
.https-simple-switch-row > .ui-switch{
  flex:0 0 40px;
  align-self:center;
}

/* V1.47 免费SSL证书 */
.https-cert-tabs{display:flex;gap:4px;padding:4px;background:#f5f7fa;border:1px solid #e6ebf0;border-radius:7px;margin:14px 0}
.https-cert-tab{height:34px;padding:0 18px;border:0;background:transparent;border-radius:5px;color:#5d6b7a;font-size:13px;cursor:pointer}
.https-cert-tab.active{background:#fff;color:#159447;box-shadow:0 1px 4px rgba(25,45,70,.08)}
.https-cert-panel{display:none}.https-cert-panel.active{display:block}
.acme-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid #e5ebe7;border-radius:7px;background:#fbfdfb}
.acme-intro>div{display:flex;flex-direction:column;gap:5px}.acme-intro b{font-size:14px;color:#253746}.acme-intro span{font-size:12px;color:#7b8996;line-height:1.65}
.acme-progress{margin-top:12px;border:1px solid #e8edf1;border-radius:7px;overflow:hidden;background:#fff}
.acme-progress>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-bottom:1px solid #eef1f4;font-size:12px}.acme-progress>div:last-child{border-bottom:0}
.acme-progress i{display:flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#eef2f5;color:#7e8b97;font-style:normal;font-size:12px}.acme-progress span{color:#465767}.acme-progress b{font-size:12px;font-weight:400;color:#98a3ad}
.acme-progress>div.running i{background:#e8f7ee;color:#16964a}.acme-progress>div.running b{color:#16964a}.acme-progress>div.ok i{background:#18a84a;color:#fff}.acme-progress>div.ok b{color:#18a84a}.acme-progress>div.fail i{background:#fff0f0;color:#d64a4a}.acme-progress>div.fail b{color:#d64a4a}
.acme-progress>div.ready{background:#fffdf7}.acme-progress>div.ready i{background:#fff2cf;color:#a86f00}.acme-progress>div.ready b{color:#a86f00}
.acme-issued{margin-top:12px;padding:14px;border:1px solid #dcebe1;border-radius:7px;background:#fcfffd}.acme-issued-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.acme-issued-head b{font-size:13px;color:#188f48}.acme-issued-head span{font-size:12px;color:#7c8995}
.acme-pem{font-family:Consolas,"Courier New",monospace!important;font-size:12px!important;line-height:1.55!important;background:#fff!important}
.acme-save-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.acme-save-row span{font-size:12px;color:#7a8793;line-height:1.6}
.acme-log{margin-top:10px;padding:9px 11px;border-radius:6px;background:#f7f9fb;color:#7c8995;font-size:12px;line-height:1.55;white-space:pre-wrap;max-height:110px;overflow:auto}
@media(max-width:760px){.acme-intro,.acme-save-row{align-items:stretch;flex-direction:column}.acme-intro .btn,.acme-save-row .btn{width:100%}.acme-issued-head{flex-direction:column}}

/* V1.55 HTTPS/ACME status emphasis */
.domain-https-result.cert-active{border-color:#b9e5c8;background:#f0fbf4;color:#176b38;box-shadow:0 0 0 1px rgba(24,168,74,.04) inset}
.domain-https-result.cert-active::first-line{font-weight:600;color:#13813d}
.domain-https-result.cert-warning{border-color:#f4d49a;background:#fffaf0;color:#9a650e}
.domain-https-result.cert-error{border-color:#f0c2bd;background:#fff5f4;color:#b64237}
.acme-working-notice{margin-top:12px;min-height:42px;align-items:center;gap:9px;padding:9px 12px;border:1px solid #bfe4ca;border-radius:7px;background:#f2fbf5;color:#31704a;font-size:12px;line-height:1.5}
.acme-working-notice b{font-size:12px;color:#168c45;font-weight:600}.acme-working-notice>span:last-child{color:#667c6e}
.acme-working-dot{width:8px;height:8px;border-radius:50%;background:#18a84a;box-shadow:0 0 0 0 rgba(24,168,74,.28);animation:acmePulse 1.15s infinite}
@keyframes acmePulse{0%{box-shadow:0 0 0 0 rgba(24,168,74,.30)}70%{box-shadow:0 0 0 7px rgba(24,168,74,0)}100%{box-shadow:0 0 0 0 rgba(24,168,74,0)}}

/* V1.62 后台访问密码：随机生成/显示按钮在可操作状态下保持清晰 */
.backend-password-row .backend-password-action:not(:disabled){background:#fff!important;border-color:#b9c8d8!important;color:#425466!important;cursor:pointer!important}.backend-password-row .backend-password-action:not(:disabled):hover{border-color:#20a53a!important;color:#16852d!important;background:#f7fff9!important}

/* V1.64 主机到期阻断页 */
.host-expired-page{margin:0;min-height:100vh;background:#f5f7fa;color:#263445;font-family:"Microsoft YaHei","Segoe UI",Arial,sans-serif;font-size:13px}
.expired-shell{width:calc(100% - 32px);max-width:720px;width:min(720px,calc(100% - 32px));margin:0 auto;padding:56px 0}
.expired-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px;color:#183b63}
.expired-brand .logo{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#1f5d94;color:#fff;font-size:18px}
.expired-brand b{display:block;font-size:15px;font-weight:500}
.expired-brand small{display:block;margin-top:2px;color:#8a99aa;font-size:12px;letter-spacing:.5px}
.expired-card{background:#fff;border:1px solid #ead9b5;border-radius:9px;padding:34px 38px;box-shadow:0 8px 28px rgba(31,53,78,.06);text-align:center}
.expired-icon{width:48px;height:48px;margin:0 auto 15px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff3d8;border:1px solid #f0d79c;color:#c48617;font-size:25px}
.expired-card h1{margin:0;color:#b36d08;font-size:21px;font-weight:500}
.expired-desc{max-width:570px;margin:13px auto 22px;line-height:1.9;color:#66778a}
.expired-date{display:flex;align-items:center;justify-content:space-between;max-width:420px;margin:0 auto;padding:12px 15px;background:#f8fafc;border:1px solid #e3e9ef;border-radius:6px;text-align:left}
.expired-date span{color:#77889a}.expired-date strong{font-weight:500;color:#34495e}
.expired-notice{max-width:520px;margin:18px auto 0;padding:10px 13px;border-radius:6px;background:#fff9ea;color:#8a6a28;line-height:1.7}
.expired-actions{display:flex;justify-content:center;gap:10px;margin-top:24px;flex-wrap:wrap}
.expired-actions .btn{min-width:145px}
@media(max-width:600px){.expired-shell{padding:28px 0}.expired-card{padding:27px 20px}.expired-date{display:block}.expired-date strong{display:block;margin-top:5px}.expired-actions .btn{width:100%}}


/* V1.76 domain HTTPS entry refinement */
.asp-empty-actions{margin-top:12px;display:flex;justify-content:center}.asp-empty-actions .btn{min-width:110px}
.btn-https-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-https-entry .btn-ssl-mark{display:inline-flex;align-items:center;justify-content:center;height:16px;padding:0 5px;border-radius:10px;border:1px solid rgba(34,147,93,.25);background:rgba(34,147,93,.08);color:#22935d;font-size:10px;line-height:1;letter-spacing:.3px}.domain-https-disabled.btn-https-entry .btn-ssl-mark{border-color:rgba(145,154,165,.35);background:rgba(145,154,165,.12);color:#97a1ab}


/* V1.82 domain search frozen */


/* V1.85 Dashboard site-state action locking */
.bt28-actions a.bt28-action-state.disabled,
.bt28-actions a.bt28-action-state.disabled:hover{
  border-color:#d9dee5 !important;
  background:#f3f5f7 !important;
  color:#a5adb7 !important;
  cursor:not-allowed !important;
  pointer-events:none;
  box-shadow:none !important;
  opacity:.92;
}


/* V1.86 dashboard database management entry */
.bt30-db-manage{height:28px;line-height:26px;padding:0 11px;font-size:12px;font-weight:400;white-space:nowrap}
.dashboard-db-modal{z-index:10050}
.dashboard-db-modal-box{width:100%;max-width:520px;width:min(520px,100%);overflow:hidden}
.dashboard-db-modal .asp-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px 19px}
.dashboard-db-modal .asp-modal-head h3{margin:0;color:#263a50;font-size:15px;font-weight:500}
.dashboard-db-modal .asp-modal-head p{margin:4px 0 0;color:#8b98a8;font-size:12px}
.dashboard-db-modal .asp-modal-close{width:30px;height:30px;min-width:30px;border:0;background:transparent;color:#8b98a8;border-radius:5px;cursor:pointer;font:22px/28px Arial,sans-serif}
.dashboard-db-modal .asp-modal-close:hover{background:#f2f5f8;color:#41576d}
.dashboard-db-choices{display:grid;gap:10px;padding:16px 18px 8px}
.dashboard-db-choice{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 13px;border:1px solid #e1e8ef;border-radius:7px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.dashboard-db-choice:hover{border-color:#9fcbb1;background:#fbfefc;box-shadow:0 5px 18px rgba(38,112,71,.06)}
.dashboard-db-choice-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border-radius:7px;background:#edf8f1;color:#22935d;font-size:11px;font-weight:500;letter-spacing:.3px}
.dashboard-db-choice-main{display:block;min-width:0;flex:1}
.dashboard-db-choice-main b{display:block;color:#2d4054;font-size:13px;font-weight:500;margin-bottom:4px}
.dashboard-db-choice-main small{display:block;color:#8a97a6;font-size:12px;line-height:1.55}
.dashboard-db-choice-go{color:#22935d;font-size:12px;white-space:nowrap}
.dashboard-db-modal-note{margin:6px 18px 17px;padding:10px 11px;border-radius:5px;background:#f6f8fa;color:#7c8998;font-size:12px;line-height:1.65}
@media(max-width:640px){.dashboard-db-choice{align-items:flex-start}.dashboard-db-choice-go{display:none}.dashboard-db-modal-box{width:100%}}


/* V1.89 database common management */
.dbtool-page{max-width:1280px}.dbtool-overview .card-body{padding-bottom:16px}.dbtool-data-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dbtool-top-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.dbtool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.dbtool-card{margin:0}.dbtool-form-row{display:flex;gap:8px;align-items:center}.dbtool-form-row .input{flex:1;min-width:0}.dbtool-maint-actions{display:flex;gap:8px;flex-wrap:wrap}.dbtool-ip-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}.dbtool-ip-row label{color:#66778b;font-size:12px}.dbtool-danger-card{border-color:#f0d2d2}.dbtool-danger-card .card-title{border-top:2px solid #d9534f}
@media(max-width:820px){.dbtool-grid{grid-template-columns:1fr}.dbtool-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dbtool-ip-row{grid-template-columns:1fr}.dbtool-ip-row label{margin-bottom:-3px}.dbtool-form-row{align-items:stretch;flex-direction:column}}


/* =========================================================
   V1.134 手机端导航 / 域名绑定布局优化
   ========================================================= */
.mobile-menu-btn,.mobile-nav-mask{display:none}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden}

  /* 手机端改成单列主内容，不再保留 68px 图标侧栏 */
  .layout{
    display:block!important;
    min-height:100vh;
    width:100%;
  }
  .top{
    position:sticky!important;
    top:0;
    z-index:130;
    width:100%;
    height:56px!important;
    padding:0 10px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    background:#fff;
    border-bottom:1px solid #e7ebf0!important;
  }
  .mobile-menu-btn{
    display:flex;
    flex:0 0 36px;
    width:36px;
    height:36px;
    padding:8px;
    border:1px solid #dfe5eb;
    border-radius:6px;
    background:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:4px;
    cursor:pointer;
  }
  .mobile-menu-btn span{
    display:block;
    width:17px;
    height:2px;
    border-radius:2px;
    background:#40556b;
    transition:transform .18s ease,opacity .18s ease;
  }
  .mobile-nav-open .mobile-menu-btn span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .mobile-nav-open .mobile-menu-btn span:nth-child(2){opacity:0}
  .mobile-nav-open .mobile-menu-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .brand{
    width:auto!important;
    height:56px!important;
    min-width:0;
    padding:0!important;
    background:transparent!important;
    color:#27394c!important;
    gap:8px;
  }
  .brand .logo{width:28px;height:28px;flex:0 0 28px}
  .brand .brand-text{display:block!important}
  .brand .brand-text b{font-size:13px;color:#27394c;white-space:nowrap}
  .brand .brand-text small{display:none!important}

  .top-center{display:none!important}
  .topright{
    margin-left:auto;
    padding-right:0!important;
    gap:5px;
    min-width:0;
  }
  .topright .user{display:none!important}
  .topright .top-member{
    height:30px;
    padding:0 8px;
    font-size:12px;
    white-space:nowrap;
  }

  .mobile-nav-mask{
    display:block;
    position:fixed;
    top:56px;
    right:0;
    bottom:0;
    left:0;
    z-index:118;
    background:rgba(18,31,48,.46);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
  }
  .mobile-nav-open .mobile-nav-mask{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  /* 抽屉菜单本身可以完整上下滚动 */
  .sidebar{
    display:block!important;
    position:fixed!important;
    left:0!important;
    top:56px!important;
    bottom:0!important;
    z-index:120!important;
    width:268px!important;
    height:auto!important;
    max-height:calc(100vh - 56px)!important;
    padding:10px 9px 28px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    transform:translateX(-101%);
    transition:transform .20s ease;
    box-shadow:10px 0 28px rgba(8,20,34,.18);
  }
  .mobile-nav-open .sidebar{transform:translateX(0)}
  .sidebar .host-switch{display:flex!important}
  .sidebar .group-title{display:block!important;padding:9px 10px 4px!important}
  .sidebar .nav{
    display:flex!important;
    justify-content:flex-start!important;
    height:38px!important;
    padding:0 11px!important;
    gap:10px!important;
  }
  .sidebar .nav span{display:inline!important}
  .sidebar .nav.active:before{left:-9px}
  .sidebar::-webkit-scrollbar{width:5px}
  .sidebar::-webkit-scrollbar-thumb{background:#3b5673;border:0}

  .main{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:12px 10px 24px!important;
    margin:0!important;
  }
  .pagehead{
    min-height:0!important;
    margin-bottom:10px!important;
    align-items:flex-start!important;
    gap:8px;
  }
  .pagehead h1{font-size:17px!important}
  .pagehead .crumb{font-size:11px}
  .page-actions{flex:0 0 auto}
  .page-actions .badge{font-size:11px;padding:3px 6px}

  .host-expiry-warning{margin-left:0!important;width:100%!important}

  /* 域名页：所有主要区块改为纵向，不依赖左右滑动 */
  .domain-overview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .domain-stat{min-width:0!important}
  .domain-runtime-row-v117{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
  }
  .domain-runtime-sep-v117{display:none!important}
  .domain-runtime-select-v117,
  .domain-runtime-save-v117,
  .domain-runtime-sync-v115{width:100%!important;max-width:none!important}
  .domain-runtime-title-v115{
    height:auto!important;
    min-height:44px;
    padding:8px 12px!important;
    gap:8px;
    flex-wrap:wrap;
  }

  .domain-bind-body-v46{padding:12px!important}
  .domain-primary-v46{min-width:0!important}
  .domain-form-center-v46{width:100%!important;max-width:none!important}
  .domain-bind-row-v46{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .domain-input-v46,.domain-add-btn-v46{
    width:100%!important;
    max-width:none!important;
    flex:none!important;
  }
  .domain-dns-card-v62{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    gap:6px 8px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
    padding:10px!important;
  }
  .domain-dns-label-v62{min-width:0}
  .domain-dns-value-v62{
    grid-column:1 / -1;
    min-width:0!important;
    width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:break-all;
  }
  .domain-copy-btn-v46{white-space:nowrap}
  .domain-warning-v45{align-items:flex-start!important;padding:10px!important}
  .domain-toolbar{display:block!important}
  .domain-filter{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    width:100%;
  }
  .domain-filter .input,.domain-filter .btn{width:100%!important}

  /* 域名绑定列表：手机端表格改卡片，一条域名一张卡，不横向滚动 */
  .domain-table-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
  }
  .domain-table-v38{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
  }
  .domain-table-v38 thead{display:none!important}
  .domain-table-v38 tbody{display:block!important;width:100%!important}
  .domain-table-v38 tbody tr{
    display:block!important;
    width:100%!important;
    margin:0 0 9px!important;
    padding:11px!important;
    border:1px solid #e4e9ef!important;
    border-radius:7px!important;
    background:#fff!important;
    box-shadow:0 1px 3px rgba(28,45,65,.03);
  }
  .domain-table-v38 tbody td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    white-space:normal!important;
  }
  .domain-table-v38 tbody td+td{
    margin-top:9px!important;
    padding-top:9px!important;
    border-top:1px solid #eef1f4!important;
  }
  .domain-table-v38 .domain-cell{width:100%;min-width:0}
  .domain-table-v38 .domain-main{min-width:0;flex:1}
  .domain-table-v38 .domain-name-row{
    display:flex!important;
    min-width:0;
    align-items:center;
    gap:7px;
  }
  .domain-table-v38 .domain-name{
    min-width:0!important;
    overflow-wrap:anywhere;
    word-break:break-all;
  }
  .domain-table-v38 .domain-copy{flex:0 0 auto;white-space:nowrap}
  .domain-table-v38 .https-stack-v39{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    width:100%;
  }
  .domain-table-v38 .https-stack-v39 small{
    min-width:0;
    text-align:right;
    line-height:1.45;
  }
  .domain-table-v38 td.act{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:6px!important;
  }
  .domain-table-v38 td.act .btn,
  .domain-table-v38 td.act button,
  .domain-table-v38 td.act a{
    margin:0!important;
    flex:1 1 auto;
    min-width:72px;
    text-align:center;
    justify-content:center;
  }

  /* HTTPS 弹窗手机端保持纵向，避免弹窗内部左右滚动 */
  .domain-https-dialog{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    max-height:calc(100vh - 20px)!important;
    margin:10px!important;
  }
  .domain-https-body{overflow-x:hidden!important}
  .https-cert-tabs{
    width:100%;
    overflow:visible!important;
    flex-wrap:wrap!important;
  }
  .https-cert-tab{flex:1 1 120px!important;padding:0 9px!important}
  .https-simple-switch-row{gap:10px!important}
}

@media(max-width:390px){
  .brand .logo{display:none}
  .brand .brand-text b{font-size:12px}
  .topright .top-member{padding:0 6px;font-size:11px}
  .domain-overview{grid-template-columns:1fr 1fr!important}
}


/* =========================================================
   V1.135 手机顶部按钮文字与会员中心按钮可视性修复
   ========================================================= */
@media(max-width:760px){
  .mobile-menu-btn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:64px!important;
    height:34px!important;
    padding:0 9px!important;
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    border:1px solid #cfd9e5!important;
    background:#fff!important;
    color:#31465b!important;
    border-radius:6px!important;
    font-style:normal!important;
  }
  .mobile-menu-btn .mobile-menu-icon{
    display:flex!important;
    width:16px!important;
    height:16px!important;
    flex:0 0 16px!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:3px!important;
  }
  .mobile-menu-btn .mobile-menu-icon i{
    display:block!important;
    width:16px!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:2px!important;
    background:#40556b!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  .mobile-menu-btn em{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-style:normal!important;
    font-size:12px!important;
    line-height:1!important;
    color:#31465b!important;
    white-space:nowrap!important;
  }
  .mobile-nav-open .mobile-menu-btn .mobile-menu-icon i:nth-child(1){transform:translateY(5px) rotate(45deg)!important}
  .mobile-nav-open .mobile-menu-btn .mobile-menu-icon i:nth-child(2){opacity:0!important}
  .mobile-nav-open .mobile-menu-btn .mobile-menu-icon i:nth-child(3){transform:translateY(-5px) rotate(-45deg)!important}

  .topright .top-member{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:31px!important;
    padding:0 10px!important;
    border:1px solid #8fbcff!important;
    background:#f2f7ff!important;
    color:#0958d9!important;
    opacity:1!important;
    visibility:visible!important;
    text-shadow:none!important;
    box-shadow:none!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .topright .top-member:hover,
  .topright .top-member:active{
    border-color:#5f9fff!important;
    background:#e7f1ff!important;
    color:#074fbf!important;
  }
}

@media(max-width:390px){
  .mobile-menu-btn{
    min-width:60px!important;
    padding:0 7px!important;
    gap:5px!important;
  }
  .topright .top-member{
    padding:0 7px!important;
    font-size:11px!important;
  }
}


/* =========================================================
   V1.137 手机菜单图标修复
   V1.134 旧规则 .mobile-menu-btn span 会误作用到
   .mobile-menu-icon 容器，导致三横线被压成菱形/方块。
   ========================================================= */
@media(max-width:760px){
  .mobile-menu-btn > .mobile-menu-icon{
    display:flex!important;
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    min-height:16px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    opacity:1!important;
    flex:0 0 16px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
  }
  .mobile-menu-btn > .mobile-menu-icon > i{
    display:block!important;
    width:16px!important;
    min-width:16px!important;
    height:2px!important;
    min-height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:2px!important;
    background:#40556b!important;
    box-shadow:none!important;
    opacity:1;
    transform:none;
  }
  .mobile-nav-open .mobile-menu-btn > .mobile-menu-icon{
    transform:none!important;
  }
  .mobile-nav-open .mobile-menu-btn > .mobile-menu-icon > i:nth-child(1){
    transform:translateY(5px) rotate(45deg)!important;
  }
  .mobile-nav-open .mobile-menu-btn > .mobile-menu-icon > i:nth-child(2){
    opacity:0!important;
  }
  .mobile-nav-open .mobile-menu-btn > .mobile-menu-icon > i:nth-child(3){
    transform:translateY(-5px) rotate(-45deg)!important;
  }
}


/* =========================================================
   V1.138 网站空间超限警告
   ========================================================= */
.space-overlimit-alert{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 12px;
  padding:12px 14px;
  border:1px solid #f1b7b7;
  border-left:4px solid #e5484d;
  border-radius:7px;
  background:#fff5f5;
  box-shadow:0 2px 8px rgba(184,48,48,.05);
  color:#9f2f35;
}
.space-overlimit-alert-icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e5484d;
  color:#fff;
  font-size:16px;
  font-weight:600;
}
.space-overlimit-alert-main{flex:1;min-width:0}
.space-overlimit-alert-main b{display:block;font-size:13px;font-weight:500;color:#bd3339}
.space-overlimit-alert-main span{display:block;margin-top:2px;font-size:12px;line-height:1.65;color:#a9575b}
.space-overlimit-detail-btn{
  flex:0 0 auto;
  border-color:#e7a1a4!important;
  color:#b73238!important;
  background:#fff!important;
}

.bt28-stat.space.over-limit{
  background:#fff7f7!important;
  box-shadow:inset 3px 0 0 #e5484d;
}
.bt28-stat.space.over-limit strong,
.bt28-stat.space.over-limit #dashSpacePercent{color:#d9363e!important}
.bt28-resource-row.over-limit{
  margin-left:-6px;
  margin-right:-6px;
  padding-left:6px!important;
  padding-right:6px!important;
  border-radius:5px;
  background:#fff7f7;
}
.bt28-resource-row .bar i.over-limit{background:#e5484d!important}
#dashResourceSpaceTail.over-limit,
#dashResourceSpaceTail.over-limit b{color:#d9363e!important;font-weight:500!important}

.space-overlimit-modal{
  display:none;
  position:fixed;
  top:0;right:0;bottom:0;left:0;
  z-index:12050;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.space-overlimit-modal.show{display:flex}
.space-overlimit-mask{
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  background:rgba(17,29,43,.48);
}
.space-overlimit-dialog{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  max-width:520px;
  padding:24px;
  border:1px solid #efc2c4;
  border-radius:10px;
  background:#fff;
  box-shadow:0 22px 64px rgba(25,38,53,.24);
  gap:14px;
}
.space-overlimit-mark{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff0f0;
  border:1px solid #efb2b5;
  color:#d9363e;
  font-size:22px;
  font-weight:600;
}
.space-overlimit-content{flex:1;min-width:0}
.space-overlimit-content h3{margin:1px 0 8px;font-size:17px;font-weight:500;color:#a62f35}
.space-overlimit-content p{margin:0;color:#68798a;font-size:12px;line-height:1.8}
.space-overlimit-values{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:16px;
}
.space-overlimit-values>div{
  padding:10px 11px;
  border:1px solid #e8edf2;
  border-radius:6px;
  background:#f8fafc;
}
.space-overlimit-values span{display:block;color:#8996a4;font-size:11px}
.space-overlimit-values b{display:block;margin-top:4px;color:#3e5266;font-size:13px;font-weight:500}
.space-overlimit-values .danger{border-color:#f2c4c6;background:#fff6f6}
.space-overlimit-values .danger b{color:#d9363e}
.space-overlimit-advice{
  margin-top:12px;
  padding:9px 11px;
  border-radius:6px;
  background:#fff8e8;
  color:#8a6926;
  font-size:12px;
  line-height:1.7;
}
.space-overlimit-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:16px;
}
body.space-overlimit-open{overflow:hidden}

@media(max-width:600px){
  .space-overlimit-alert{align-items:flex-start;padding:11px 10px}
  .space-overlimit-alert-icon{flex-basis:25px;width:25px;height:25px}
  .space-overlimit-detail-btn{align-self:center;padding:0 7px}
  .space-overlimit-modal{padding:12px}
  .space-overlimit-dialog{padding:19px 16px;gap:10px}
  .space-overlimit-mark{flex-basis:35px;width:35px;height:35px;font-size:18px}
  .space-overlimit-values{grid-template-columns:1fr}
  .space-overlimit-actions{flex-direction:column-reverse}
  .space-overlimit-actions .btn{width:100%}
}
