/*
 * 长知交门户 V4.0 商业化视觉体系
 * 只覆盖展示层，不改变既有路由、权限和业务逻辑。
 */
:root{
  --v4-navy-950:#071426;
  --v4-navy-900:#0b1f3a;
  --v4-navy-800:#12345a;
  --v4-blue-700:#0f56c9;
  --v4-blue-600:#1769e8;
  --v4-blue-500:#2b7df0;
  --v4-cyan-500:#08a6b5;
  --v4-green-600:#16865b;
  --v4-amber-600:#b56a08;
  --v4-red-600:#c93a4d;
  --v4-bg:#f5f7fb;
  --v4-surface:#ffffff;
  --v4-surface-soft:#f8fafc;
  --v4-text:#122033;
  --v4-muted:#617087;
  --v4-line:#dfe6ef;
  --v4-line-strong:#cdd8e5;
  --v4-shadow-sm:0 6px 20px rgba(12,31,58,.06);
  --v4-shadow-md:0 16px 42px rgba(12,31,58,.09);
  --v4-shadow-lg:0 26px 70px rgba(12,31,58,.13);
  --v4-radius-sm:10px;
  --v4-radius-md:16px;
  --v4-radius-lg:24px;
  --v4-container:1360px;
}

html{scroll-behavior:smooth;background:var(--v4-bg)}
body.portal-v4{
  margin:0;
  min-height:100%;
  color:var(--v4-text);
  background:
    radial-gradient(circle at 8% -10%,rgba(43,125,240,.08),transparent 30%),
    radial-gradient(circle at 95% 5%,rgba(8,166,181,.05),transparent 27%),
    var(--v4-bg);
  font-family:Inter,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
body.portal-v4 *{box-sizing:border-box}
body.portal-v4 a{text-decoration:none;color:inherit}
body.portal-v4 img{max-width:100%}
body.portal-v4 .container{max-width:var(--v4-container);padding-left:28px;padding-right:28px}
body.portal-v4 main{min-height:calc(100vh - 210px)}

/* 顶部品牌导航 */
.portal-v4 .topbar{
  position:sticky;
  top:0;
  z-index:100;
  border-bottom:1px solid rgba(205,216,229,.82);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 1px 0 rgba(255,255,255,.7);
}
.portal-v4 .topbar-inner{height:82px;gap:24px}
.portal-v4 .brand{min-width:330px;gap:13px}
.portal-v4 .brand-logo{
  width:54px;height:54px;border-radius:15px;
  background:#fff;border:1px solid var(--v4-line);
  box-shadow:var(--v4-shadow-sm);overflow:hidden;
}
.portal-v4 .brand-logo img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.portal-v4 .brand-text strong{
  color:var(--v4-navy-950);font-size:21px;font-weight:800;letter-spacing:.01em
}
.portal-v4 .brand-text span{margin-top:3px;color:var(--v4-muted);font-size:12px}
.portal-v4 .portal-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex:1}
.portal-v4 .portal-nav a{
  position:relative;padding:10px 12px;border-radius:10px;
  color:#44546b;font-size:14px;font-weight:600;white-space:nowrap;
  transition:color .18s ease,background .18s ease,transform .18s ease
}
.portal-v4 .portal-nav a:not(.nav-cta):hover{color:var(--v4-blue-700);background:#edf4ff;text-decoration:none}
.portal-v4 .portal-nav .nav-cta{
  margin-left:8px;padding:10px 17px;color:#fff!important;
  background:linear-gradient(135deg,var(--v4-blue-700),var(--v4-blue-500));
  border:1px solid rgba(15,86,201,.16);box-shadow:0 8px 20px rgba(23,105,232,.2)
}
.portal-v4 .portal-nav .nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(23,105,232,.25);text-decoration:none}
.portal-nav-toggle{
  display:none;width:42px;height:42px;border:1px solid var(--v4-line);border-radius:11px;
  background:#fff;color:var(--v4-navy-900);cursor:pointer;align-items:center;justify-content:center
}
.portal-nav-toggle span,.portal-nav-toggle::before,.portal-nav-toggle::after{
  content:"";display:block;width:19px;height:2px;background:currentColor;border-radius:2px;transition:.2s
}
.portal-nav-toggle span{margin:4px 0}
.portal-nav-toggle[aria-expanded="true"] span{opacity:0}
.portal-nav-toggle[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg)}
.portal-nav-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}

/* 通用按钮和卡片 */
.portal-v4 .btn{
  min-height:42px;padding:10px 16px;border-radius:11px;border:1px solid var(--v4-line-strong);
  background:#fff;color:var(--v4-navy-900);box-shadow:none;font-size:14px;font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease
}
.portal-v4 .btn:hover{transform:translateY(-1px);border-color:#aec4dd;box-shadow:var(--v4-shadow-sm);text-decoration:none}
.portal-v4 .btn.primary{
  border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--v4-blue-700),var(--v4-blue-500));
  box-shadow:0 10px 24px rgba(23,105,232,.2)
}
.portal-v4 .btn.ghost{background:rgba(255,255,255,.82)}
.portal-v4 .btn.small{min-height:36px;padding:7px 12px;font-size:13px}
.portal-v4 .btn.danger{color:#fff;background:var(--v4-red-600);border-color:var(--v4-red-600)}
.portal-v4 .card,.portal-v4 .form-card{
  border:1px solid var(--v4-line)!important;border-radius:var(--v4-radius-md)!important;
  background:rgba(255,255,255,.96)!important;box-shadow:var(--v4-shadow-sm)!important
}
.portal-v4 .badge{
  padding:6px 11px;border-radius:999px;border:1px solid #cfe0f6;background:#edf5ff;color:#235b98;
  font-size:12px;font-weight:700;letter-spacing:.02em
}
.portal-v4 .hint{color:var(--v4-muted)}
.portal-v4 .alert{border-radius:12px;box-shadow:none}

/* 首页 */
.portal-v4 .portal-home{padding-top:28px;padding-bottom:46px}
.portal-v4 .home-hero{padding:0 0 28px}
.portal-v4 .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:22px}
.portal-v4 .hero-card,.portal-v4 .hero-aside{
  min-height:510px;border:1px solid rgba(205,216,229,.9);border-radius:28px;background:#fff;
  box-shadow:var(--v4-shadow-md);overflow:hidden
}
.portal-v4 .hero-card{
  position:relative;background:
    linear-gradient(120deg,rgba(236,247,255,.98),rgba(255,255,255,.96) 49%,rgba(238,249,247,.94)),
    #fff
}
.portal-v4 .hero-card::before{
  content:"";position:absolute;inset:0 auto auto 0;width:100%;height:5px;
  background:linear-gradient(90deg,var(--v4-blue-700),var(--v4-cyan-500),#68c18d)
}
.portal-v4 .hero-card::after{
  content:"";position:absolute;right:-100px;top:-130px;width:360px;height:360px;border-radius:50%;
  border:70px solid rgba(23,105,232,.035);pointer-events:none
}
.portal-v4 .hero-card .pad{position:relative;z-index:1;padding:44px 46px 34px!important;height:100%;display:flex;flex-direction:column}
.portal-v4 .hero-kicker{display:flex;align-items:center;gap:8px;margin-bottom:24px}
.portal-v4 .hero-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--v4-cyan-500);box-shadow:0 0 0 5px rgba(8,166,181,.1)}
.portal-v4 .hero-title{
  margin:0;color:var(--v4-navy-950);font-size:clamp(39px,4vw,58px);line-height:1.17;
  letter-spacing:-.035em;font-weight:900
}
.portal-v4 .hero-title span{display:block;color:var(--v4-blue-700)}
.portal-v4 .hero-description{max-width:720px;margin:24px 0 0;color:#4c5c72;font-size:16px;line-height:1.95}
.portal-v4 .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.portal-v4 .hero-entry{
  min-height:58px;justify-content:flex-start;padding:13px 16px;border-radius:14px;text-align:left
}
.portal-v4 .hero-entry .entry-mark{
  display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;
  background:#eaf2ff;color:var(--v4-blue-700);font-size:16px;font-weight:900
}
.portal-v4 .hero-entry.primary .entry-mark{background:rgba(255,255,255,.18);color:#fff}
.portal-v4 .hero-entry .entry-copy{display:grid;gap:1px;min-width:0}
.portal-v4 .hero-entry .entry-copy small{font-size:11px;font-weight:600;opacity:.72}
.portal-v4 .hero-entry .entry-copy strong{overflow:hidden;text-overflow:ellipsis;font-size:14px}
.portal-v4 .account-contact{
  margin-top:auto;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border-top:1px solid rgba(205,216,229,.8)
}
.portal-v4 .account-contact strong{display:block;font-size:14px;color:var(--v4-navy-900)}
.portal-v4 .account-contact p{margin:3px 0 0;color:var(--v4-muted);font-size:13px}
.portal-v4 .account-contact a.email{color:var(--v4-blue-700);font-weight:700}

.portal-v4 .hero-aside{display:grid;grid-template-rows:auto 1fr;padding:0;background:#fff}
.portal-v4 .hero-aside .aside-top{padding:27px 30px 18px;border-bottom:1px solid var(--v4-line)}
.portal-v4 .news-label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.portal-v4 .news-label h2{margin:0;font-size:20px;color:var(--v4-navy-950)}
.portal-v4 .news-label span{color:var(--v4-blue-700);font-size:12px;font-weight:700}
.portal-v4 #newsTitle{margin-top:8px!important;color:#53637a;font-size:14px;line-height:1.6;min-height:45px}
.portal-v4 .hero-aside .aside-bottom{min-height:0;padding:20px 22px 22px}
.portal-v4 .hero-aside .carousel{height:100%;min-height:350px;border:0;border-radius:19px;box-shadow:none;background:#eef3f8}
.portal-v4 .hero-aside .carousel .slide{height:100%;min-height:350px;border-radius:19px}
.portal-v4 .hero-aside .carousel img{border:0;border-radius:19px;box-shadow:none;transition:transform 6s ease}
.portal-v4 .hero-aside .carousel .slide.active img{transform:scale(1.025)}

.portal-v4 .section{padding:36px 0 0!important;background:transparent!important}
.portal-v4 .section-head{
  margin:0 0 17px!important;display:flex;align-items:flex-end!important;justify-content:space-between;gap:20px
}
.portal-v4 .section-title{
  position:relative;margin:0!important;padding-left:16px;color:var(--v4-navy-950);
  font-size:30px!important;font-weight:850!important;letter-spacing:-.02em
}
.portal-v4 .section-title::before{
  content:"";position:absolute;left:0;top:.2em;bottom:.18em;width:5px;border-radius:5px;
  background:linear-gradient(180deg,var(--v4-blue-600),var(--v4-cyan-500))
}
.portal-v4 .section-head>.hint{max-width:640px;color:var(--v4-muted);font-size:13px!important;text-align:right}
.portal-v4 #intro .card{padding:26px 30px!important;line-height:2!important;color:#33445b;font-size:16px}
.portal-v4 #intro .card p{margin:0}
.portal-v4 #features .grid-2{gap:16px}
.portal-v4 #features .feature{
  min-height:176px;padding:24px!important;grid-template-columns:58px 1fr;gap:17px;align-items:start;
  border-color:var(--v4-line)!important;box-shadow:none!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.portal-v4 #features .feature:hover{transform:translateY(-2px);border-color:#bfd1e5!important;box-shadow:var(--v4-shadow-sm)!important}
.portal-v4 #features .feature-no,.portal-v4 #features .icon{
  width:54px;height:54px;border:0;border-radius:15px;background:linear-gradient(145deg,#edf5ff,#e1eefc);
  color:var(--v4-blue-700);font-size:18px;font-weight:900;box-shadow:inset 0 0 0 1px #d0e1f6
}
.portal-v4 #features .feature-title{font-size:18px;font-weight:800;color:var(--v4-navy-950)}
.portal-v4 #features .feature .hint{margin-top:8px!important;color:#58687e;line-height:1.85!important;font-size:14px}

/* 首页热力图 */
.portal-v4 #heatmap-preview .heatmap-v36-card{
  border:1px solid var(--v4-line)!important;border-radius:22px!important;background:#eef2f7!important;
  box-shadow:var(--v4-shadow-md)!important
}
.portal-v4 #heatmap-preview .heatmap-v36-viewport{background:#eef2f7!important}
.portal-v4 #heatmap-preview .btn{margin-bottom:1px}

/* 行业动态 */
.portal-v4 #industry .card{padding:8px!important;border-radius:18px!important;box-shadow:var(--v4-shadow-sm)!important}
.portal-v4 #industry .list{gap:0!important}
.portal-v4 #industry .list-item{
  display:block;padding:15px 17px!important;border:0!important;border-bottom:1px solid #edf1f6!important;
  border-radius:11px!important;background:transparent!important;transition:background .16s ease,transform .16s ease
}
.portal-v4 #industry .list-item:last-child{border-bottom:0!important}
.portal-v4 #industry .list-item:hover{transform:none;background:#f6f9fd!important;box-shadow:none!important;text-decoration:none}
.portal-v4 #industry .row1{display:flex;align-items:center;justify-content:space-between;gap:20px}
.portal-v4 #industry .list-title{color:#28384e;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-v4 #industry .list-date{color:#8793a4;font-size:12px;white-space:nowrap}

/* 列表、详情、系统汇总等公共页面 */
.portal-v4 .page-shell{padding:34px 0 54px}
.portal-v4 .page-hero{padding:28px 0 20px}
.portal-v4 .page-hero h1{margin:0;color:var(--v4-navy-950);font-size:34px;letter-spacing:-.02em}
.portal-v4 .page-hero p{margin:8px 0 0;color:var(--v4-muted)}
.portal-v4 .list-item{border-color:var(--v4-line);background:#fff}
.portal-v4 .table{
  border:1px solid var(--v4-line);border-radius:14px;background:#fff;box-shadow:none
}
.portal-v4 .table th{padding:13px 14px;background:#f5f8fc;color:#4e5d72;font-size:12px}
.portal-v4 .table td{padding:13px 14px;border-color:#edf1f6;color:#34445a}
.portal-v4 .table tr:hover td{background:#fbfcfe}
.portal-v4 .field label{color:#3e4d62;font-weight:700}
.portal-v4 .field input,.portal-v4 .field select,.portal-v4 .field textarea,
.portal-v4 .input,.portal-v4 input,.portal-v4 select,.portal-v4 textarea{
  border-color:#cfd9e6;border-radius:10px;background:#fff;color:var(--v4-text);font:inherit
}
.portal-v4 input:focus,.portal-v4 select:focus,.portal-v4 textarea:focus{
  border-color:#6da5eb;box-shadow:0 0 0 4px rgba(23,105,232,.1);outline:none
}

/* 网站管理后台 */
.portal-v4 .site-admin-page{padding-top:30px;padding-bottom:52px}
.portal-v4 .site-admin-header{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px
}
.portal-v4 .site-admin-header .admin-kicker{color:var(--v4-blue-700);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.portal-v4 .site-admin-header h1{margin:5px 0 0;color:var(--v4-navy-950);font-size:30px;letter-spacing:-.02em}
.portal-v4 .site-admin-header p{margin:5px 0 0;color:var(--v4-muted);font-size:13px}
.portal-v4 .site-admin-header-actions{display:flex;gap:9px;flex-wrap:wrap}
.portal-v4 .site-admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}
.portal-v4 .site-admin-sidebar{
  align-self:start;position:sticky;top:105px;padding:12px;border:1px solid var(--v4-line);
  border-radius:18px;background:#fff;box-shadow:var(--v4-shadow-sm)
}
.portal-v4 .site-admin-sidebar .sidebar-label{padding:10px 11px 7px;color:#8995a6;font-size:11px;font-weight:800;letter-spacing:.08em}
.portal-v4 .site-admin-sidebar a{
  display:flex;align-items:center;gap:10px;padding:11px 12px;margin:3px 0;border-radius:10px;
  color:#4d5e73;font-size:14px;font-weight:650;transition:.16s
}
.portal-v4 .site-admin-sidebar a::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#c5d0dc;transition:.16s
}
.portal-v4 .site-admin-sidebar a:hover{background:#f1f6fc;color:var(--v4-blue-700);text-decoration:none}
.portal-v4 .site-admin-sidebar a.active{background:#eaf3ff;color:var(--v4-blue-700);font-weight:800}
.portal-v4 .site-admin-sidebar a.active::before{background:var(--v4-blue-600);box-shadow:0 0 0 4px rgba(23,105,232,.12)}
.portal-v4 .site-admin-workspace{min-width:0}
.portal-v4 .site-admin-content{
  padding:22px;border:1px solid var(--v4-line);border-radius:18px;background:#fff;box-shadow:var(--v4-shadow-sm)
}
.portal-v4 .site-admin-content>.card{box-shadow:none!important;border-radius:14px!important}

/* 门户后台登录 */
.portal-v4.portal-login-page main{display:grid;align-items:center;min-height:calc(100vh - 220px)}
.portal-v4 .portal-login-shell{padding:48px 0}
.portal-v4 .portal-login-frame{
  display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);max-width:980px;margin:0 auto;
  overflow:hidden;border:1px solid var(--v4-line);border-radius:26px;background:#fff;box-shadow:var(--v4-shadow-lg)
}
.portal-v4 .portal-login-aside{
  position:relative;padding:48px 42px;color:#fff;background:
    radial-gradient(circle at 85% 15%,rgba(66,174,255,.35),transparent 32%),
    linear-gradient(145deg,var(--v4-navy-950),var(--v4-navy-800));
  overflow:hidden
}
.portal-v4 .portal-login-aside::after{
  content:"";position:absolute;left:-90px;bottom:-120px;width:330px;height:330px;border:55px solid rgba(255,255,255,.045);border-radius:50%
}
.portal-v4 .portal-login-aside>*{position:relative;z-index:1}
.portal-v4 .portal-login-aside .login-logo{width:68px;height:68px;border:2px solid rgba(255,255,255,.22);border-radius:18px;overflow:hidden;background:#fff}
.portal-v4 .portal-login-aside h1{margin:28px 0 12px;font-size:29px;line-height:1.35}
.portal-v4 .portal-login-aside p{margin:0;color:rgba(255,255,255,.72);line-height:1.9}
.portal-v4 .login-security-points{display:grid;gap:10px;margin-top:34px;color:rgba(255,255,255,.85);font-size:13px}
.portal-v4 .login-security-points span{display:flex;align-items:center;gap:9px}
.portal-v4 .login-security-points span::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(66,201,157,.16);color:#7ce3bc;font-weight:900}
.portal-v4 .portal-login-form{padding:48px 46px}
.portal-v4 .portal-login-form h2{margin:0;color:var(--v4-navy-950);font-size:27px}
.portal-v4 .portal-login-form>.hint{margin:7px 0 28px}
.portal-v4 .portal-login-form .field{margin-top:16px}
.portal-v4 .portal-login-form input{height:46px;padding:10px 13px}
.portal-v4 .portal-login-form .captcha-box{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:9px;align-items:center}
.portal-v4 .portal-login-form .captcha-box img{width:160px;height:52px;border:1px solid var(--v4-line);border-radius:10px;background:#fff;cursor:pointer}
.portal-v4 .portal-login-actions{display:flex;align-items:center;gap:10px;margin-top:24px}

/* 页脚 */
.portal-v4 footer{
  margin-top:52px;padding:30px 0;border-top:1px solid var(--v4-line);background:#fff
}
.portal-v4 .footer-inner{grid-template-columns:minmax(0,1fr) auto;gap:26px}
.portal-v4 .footer-left p{color:#68768a;font-size:12px;line-height:1.8}
.portal-v4 .beian-line{color:#768397;font-size:12px}
.portal-v4 .beian-line a{color:#768397}

/* 响应式 */
@media(max-width:1120px){
  body.portal-v4 .container{padding-left:22px;padding-right:22px}
  .portal-v4 .brand{min-width:280px}
  .portal-v4 .portal-nav a{padding:9px 9px;font-size:13px}
  .portal-v4 .hero-grid{grid-template-columns:1fr}
  .portal-v4 .hero-card,.portal-v4 .hero-aside{min-height:auto}
  .portal-v4 .hero-aside{min-height:430px}
}
@media(max-width:920px){
  .portal-v4 .topbar-inner{height:72px}
  .portal-v4 .brand{min-width:0;flex:1}
  .portal-v4 .brand-logo{width:48px;height:48px}
  .portal-v4 .brand-text strong{font-size:18px}
  .portal-v4 .brand-text span{display:none}
  .portal-nav-toggle{display:flex;flex-direction:column}
  .portal-v4 .portal-nav{
    display:none;position:absolute;left:20px;right:20px;top:78px;padding:10px;
    flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--v4-line);border-radius:16px;
    box-shadow:var(--v4-shadow-lg)
  }
  .portal-v4 .portal-nav.open{display:flex}
  .portal-v4 .portal-nav a{padding:12px 14px}
  .portal-v4 .portal-nav .nav-cta{margin:4px 0 0;text-align:center;justify-content:center}
  .portal-v4 .site-admin-layout{grid-template-columns:1fr}
  .portal-v4 .site-admin-sidebar{position:static;display:flex;gap:5px;overflow:auto;padding:8px}
  .portal-v4 .site-admin-sidebar .sidebar-label{display:none}
  .portal-v4 .site-admin-sidebar a{white-space:nowrap;margin:0}
  .portal-v4 .portal-login-frame{grid-template-columns:1fr;max-width:620px}
  .portal-v4 .portal-login-aside{padding:34px 34px}
  .portal-v4 .login-security-points{display:none}
}
@media(max-width:720px){
  body.portal-v4 .container{padding-left:16px;padding-right:16px}
  .portal-v4 .portal-home{padding-top:18px}
  .portal-v4 .hero-card .pad{padding:32px 24px 25px!important}
  .portal-v4 .hero-title{font-size:36px}
  .portal-v4 .hero-description{font-size:14px}
  .portal-v4 .hero-actions{grid-template-columns:1fr}
  .portal-v4 .account-contact{align-items:flex-start;flex-direction:column}
  .portal-v4 .hero-aside .aside-top{padding:22px 22px 15px}
  .portal-v4 .hero-aside .aside-bottom{padding:16px}
  .portal-v4 .section{padding-top:28px!important}
  .portal-v4 .section-head{align-items:flex-start!important;flex-direction:column;gap:8px}
  .portal-v4 .section-title{font-size:25px!important}
  .portal-v4 .section-head>.hint{text-align:left}
  .portal-v4 #features .grid-2{grid-template-columns:1fr}
  .portal-v4 .site-admin-header{align-items:flex-start;flex-direction:column}
  .portal-v4 .site-admin-content{padding:16px}
  .portal-v4 .portal-login-shell{padding:22px 0}
  .portal-v4 .portal-login-aside,.portal-v4 .portal-login-form{padding:30px 24px}
  .portal-v4 .portal-login-form .captcha-box{grid-template-columns:1fr 150px}
  .portal-v4 .portal-login-form .captcha-box .btn{grid-column:1/-1}
  .portal-v4 .portal-login-actions{align-items:stretch;flex-direction:column}
  .portal-v4 .portal-login-actions .btn{width:100%}
  .portal-v4 .footer-inner{grid-template-columns:1fr}
  .portal-v4 .beian-line{justify-content:flex-start}
}
.portal-v4 #heatmap-preview .heatmap-v36-card{position:relative;overflow:hidden}
.portal-v4 #heatmap-preview .heatmap-v36-viewport{position:relative;width:100%;height:640px;overflow:hidden;background:#eef2f7}
.portal-v4 #heatmap-preview .heatmap-v36-stage{position:absolute;left:0;top:0;width:1440px;height:1500px;transform-origin:top left;will-change:transform,top}
.portal-v4 #heatmap-preview iframe{display:block;width:1440px;height:1500px;border:0;background:#eef2f7;overflow:hidden;pointer-events:none}
.portal-v4 #heatmap-preview .heatmap-v36-link{position:absolute;inset:0;z-index:5;display:block;cursor:pointer;background:transparent}
.portal-v4 #heatmap-preview .heatmap-v36-link:focus-visible{outline:3px solid var(--v4-blue-600);outline-offset:-4px}
.portal-v4 .hero-title{font-size:clamp(38px,3.65vw,53px)}
.portal-v4 .hero-title span{white-space:nowrap}
@media(max-width:720px){.portal-v4 .hero-title span{white-space:normal}}
