.hero{
  background:
    linear-gradient(180deg, rgba(11,91,211,.08), rgba(11,91,211,0) 30%),
    url("../img/bg.jpg") center/cover no-repeat;
}
.hero-inner{
  display:grid; grid-template-columns: 1.1fr .9fr; gap:32px; padding:40px 0 60px;
}
.promo h2{margin:10px 0 12px; font-size:28px}
.promo-list{margin:0; padding-left:18px; color:var(--text-600)}
.promo-list li{margin:8px 0}

.login-card{
  background:#fff; border-radius:16px; box-shadow: var(--shadow-2);
  padding:20px; width:100%; max-width: 420px; justify-self:end;
}
.login-card h3{margin:0 0 14px}
.captcha{position:relative}
.captcha canvas{
  position:absolute; right:6px; top:26px; cursor:pointer; border-radius:8px; border:1px solid #e5e7eb;
}
.extra-links{display:flex; justify-content:space-between; margin-top:10px}
.links a{margin-left:6px}

@media (max-width: 960px){
  .hero-inner{grid-template-columns:1fr; gap:16px}
  .login-card{justify-self:stretch; max-width:unset}
}

@media (max-width: 768px){
  .hero-inner{
    grid-template-columns:1fr; gap:20px; padding:20px 0 40px
  }
  
  .promo{
    text-align:center; order:2
  }
  
  .promo h2{
    font-size:24px; margin:8px 0 10px
  }
  
  .login-card{
    order:1; padding:24px; border-radius:12px
  }
  
  .login-card h3{
    font-size:20px; margin:0 0 16px
  }
  
  .form-item input{
    height:48px; font-size:16px
  }
  
  .btn{
    height:48px; font-size:16px; padding:.8rem 1.5rem
  }
  
  .captcha canvas{
    right:8px; top:30px
  }
  
  .extra-links{
    flex-direction:column; gap:8px; text-align:center
  }
  
  .links a{
    margin:0 8px; display:inline-block
  }
}

@media (max-width: 480px){
  .hero-inner{
    padding:15px 0 30px
  }
  
  .promo h2{
    font-size:20px
  }
  
  .promo-list{
    font-size:14px
  }
  
  .login-card{
    padding:20px; margin:0 5px
  }
  
  .login-card h3{
    font-size:18px
  }
  
  .form-item input{
    height:52px; font-size:16px
  }
  
  .btn{
    height:52px; font-size:16px
  }
}

/* 通知公告和政策法规样式 */
.news-section{
  background:#fff; padding:40px 0; margin-top:20px;
}
.news-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:40px;
}
.news-column{
  background:#f8f9fa; border-radius:12px; padding:20px;
}
.news-header{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--blue-600);
}
.news-header h3{
  margin:0; color:var(--text-900); font-size:16px;
}
.more-link{
  color:var(--blue-600); font-size:14px; text-decoration:none;
}
.more-link:hover{text-decoration:underline}
.news-list{
  min-height:200px;
}
.news-item{
  display:flex; align-items:flex-start; gap:12px; padding:12px 0;
  border-bottom:1px solid #e5e7eb;
}
.news-item:last-child{border-bottom:none}
.news-date{
  flex-shrink:0; width:60px; text-align:center;
  background:var(--blue-100); border-radius:6px; padding:4px 8px;
  font-size:12px; color:var(--blue-600); font-weight:500;
}
.news-content{
  flex:1; min-width:0;
}
.news-title{
  font-size:14px; color:var(--text-900); margin:0 0 4px;
  line-height:1.4; display:-webkit-box; -webkit-line-clamp:2;
  -webkit-box-orient:vertical; overflow:hidden;
  cursor:pointer; transition:color 0.2s ease;
}
.news-title:hover{
  color:var(--blue-600); text-decoration:underline;
}
.news-summary{
  font-size:12px; color:var(--text-600); line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.loading{
  text-align:center; color:var(--text-600); padding:40px 0;
}

@media (max-width: 768px){
  .news-grid{grid-template-columns:1fr; gap:20px}
  .news-section{padding:20px 0}
}