body.modal-open{overflow:hidden}
.icon-button{min-width:44px;min-height:44px;display:inline-grid;place-items:center;padding:0;border-radius:8px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #059fdd66;outline-offset:3px}
.login-platform-title{display:grid;gap:1px;margin:0 0 24px!important;line-height:1.25;letter-spacing:.01em}
.login-platform-title span{display:block}
.login-platform-title span:first-child{font-size:.82em;font-weight:650;letter-spacing:.08em;color:#28518d}

@media(min-width:851px) and (max-width:1050px){
  .login-shell{grid-template-columns:minmax(0,1fr) minmax(390px,470px)}
  .login-visual{padding-left:clamp(34px,5vw,54px);padding-right:clamp(22px,3vw,34px)}
  .login-visual h2{font-size:clamp(22px,2.6vw,27px);white-space:nowrap}
  .regulation-card p{font-size:11.5px;line-height:1.42}
  .regulation-card small{font-size:10.5px;line-height:1.3}
  .login-form-area{padding:28px}
  .login-card{padding:28px}
  .login-card h1{font-size:clamp(22px,2.5vw,25px);white-space:nowrap}
}

@media(min-width:761px) and (max-width:850px){
  .login-shell{grid-template-columns:1fr;grid-template-rows:220px auto}
  .login-visual{align-items:center;justify-content:center;text-align:center;padding:24px}
  .login-visual-content{width:min(360px,100%);max-width:360px}
  .login-logo-box{margin-bottom:12px}
  .login-logo-box img{width:130px}
  .login-visual h2{font-size:25px;margin-bottom:6px}
  .login-visual-content>p{font-size:13px;white-space:normal}
  .regulation-cloud{display:none}
  .login-form-area{padding:25px 18px 42px}
  .login-card{padding:28px}
}

@media(max-width:850px){
  .login-platform-title{margin-bottom:20px!important}
  .main-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .page{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
  .account-button,.hero-action,.export-button,.filters button,.compact-button,.show-more-button,.modal-body>.primary,.modal-body>.danger,.feedback>.primary{min-height:44px}
  .course-side .rating label{min-height:44px}
  .compact-button{padding:10px 14px}

  .table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}
  .table-wrap table,.table-wrap tbody{display:block;width:100%;min-width:0}
  .table-wrap thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .table-wrap tbody{display:grid;gap:12px}
  .table-wrap tbody tr{display:block;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
  .table-wrap tbody td{display:grid;grid-template-columns:minmax(84px,30%) minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}
  .table-wrap tbody td:last-child{border-bottom:0}
  .table-wrap tbody td:before{content:attr(data-label);color:#667085;font-size:12px;font-weight:700}
  .table-wrap tbody td[data-label="课程"]{font-weight:700;color:var(--navy)}
  .table-wrap tbody td[data-label="操作"] button,.table-wrap tbody td[data-label="人员调整"] button,.table-wrap tbody td[data-label="重置密码"] button,.table-wrap tbody td[data-label="状态操作"] button{width:100%}
  .table-wrap tbody td.empty{display:block;text-align:center}
  .table-wrap tbody td.empty:before{content:none}
  .learner-table table{min-width:0}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary,.module-card,.course-card,.course-close-button,.toast{transition:none}.spinner,.rights-loading-grid span{animation:none}}
