:root{
  /* 业务组件基础变量（index02 系列页面统一品牌色） */
  --blue-900:#0d2b5e;
  --blue-800:#123a7a;
  --blue-700:#1a4ea3;
  --blue-600:#2563c9;
  --blue-500:#3b7ce0;
  --orange:#f5820f;
  --orange-dark:#e06f00;
  --text-dark:#1c2b3d;
  --text-gray:#5c6b7a;
  --bg-light:#f4f7fb;
  --card-gray:#e2e6ea;
  --white:#ffffff;

  /* 公共基础变量 */
  --navy:#0e3a5f;
  --navy-deep:#082944;
  --blue:#1c5c8c;
  --blue-light:#4a8fc2;
  --bg:#f5f7f9;
  --card:#ffffff;
  --text:#1f2d3a;
  --name-color:#0f3f66;
  --muted:#5b6b7a;
  --unit-color:#6f93b3;
  --line:#e3e8ec;

  /* 公共品牌色 */
  --gold-1:#c8971f;
  --gold-2:#a87816;
  --blue-1:#1c4f7c;
  --blue-2:#123a5e;
  --blue-3:#e8f0f7;
  --text-mid:#4b5563;
  --border:#e2e8f0;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{height:100%;}
body{
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--text-dark);
  background:var(--white);
  line-height:1.5;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
img{display:block;max-width:100%;}

/* ============================================================
   index02 系列页面专属：Header / Footer
   现行 layout/header.jsp 与 layout/footer.jsp 使用裸标签
   选择器（<header> / <nav> / <footer>），本块与之配套；
   若未来切到 .site-header / .site-footer 命名空间，请同步
   修改 header.jsp / footer.jsp 与本块。
   ============================================================ */

/* ---------- Header ---------- */
header.site-header{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;
  height:80px;
  background:linear-gradient(90deg, var(--blue-700) 0%, var(--blue-500) 100%);
  box-shadow:0 1px 6px rgba(20,40,80,.08);
}
.header-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:#fff;width:auto;height:auto;border-radius:0;border:none;overflow:visible;background:none;justify-content:flex-start;}
.header-logo img{height:60px;vertical-align:middle;border-radius:0;border:none;}
.header-logo span{white-space:nowrap;color:#fff;}
.logo .mark{
  width:30px;height:30px;border-radius:8px;
  background:linear-gradient(135deg,#2563c9,#123a7a);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;
}
nav ul{display:flex;gap:6px;}
nav a{
  display:inline-block;padding:10px 16px;font-size:14.5px;color:#fff;
  border-radius:6px;transition:.2s;
  white-space:nowrap;
}
nav a:hover{color:#fff;background:rgba(255,255,255,.15);}
nav a.active{color:#fff;font-weight:600;background:rgba(255,255,255,.18);}
.login-btn{
  background:#f5820f;color:#fff;padding:9px 22px;border-radius:20px;
  font-size:14px;font-weight:600;white-space:nowrap;transition:.2s;
}
.login-btn:hover{background:#e06f00;}

/* ---------- Footer ---------- */
footer{
  background:#0b1526;color:#8993a4;padding:36px 40px 26px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;
  text-align:center;
  font-size:12.5px;
  margin-top:auto;
}
footer .foot-left p{margin-bottom:4px;}
.qr-group{display:flex;gap:14px;justify-content:center;}
.qr-box{width:58px;height:58px;background:#fff;border-radius:6px;}

/* ---------- Responsive（index02 header / nav / footer） ---------- */
@media (max-width:1100px){
  nav ul{gap:0;}
  nav a{padding:8px 10px;font-size:13px;}
}
@media (max-width:900px){
  header.site-header{flex-wrap:wrap;height:auto;padding:12px 20px;gap:10px;}
  nav ul{flex-wrap:wrap;justify-content:center;}
}
@media (max-width:520px){
  footer{flex-direction:column;text-align:center;}
}
