:root { color-scheme: light; font-family: "Microsoft YaHei", system-ui, sans-serif; background:#f4f6f8; color:#17202a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; }
.site-header { display:flex; align-items:center; gap:2rem; padding:.8rem 1.4rem; background:#17324d; color:white; }
.site-header a { color:white; text-decoration:none; margin-right:1rem; }
.brand { font-weight:700; font-size:1.15rem; }
.container { width:100%; max-width:1440px; margin:0 auto; padding:1.2rem; flex:1 0 auto; }
.site-footer { flex:0 0 auto; padding:1rem 1.4rem; color:#5d6875; font-size:.9rem; text-align:center; }
.site-footer a { color:#445b70; text-decoration:none; }
.site-footer a:hover,.site-footer a:focus { text-decoration:underline; }
.card { background:white; border-radius:.55rem; padding:1rem; box-shadow:0 1px 4px #0002; margin-bottom:1rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.table-wrap { overflow:auto; background:white; }
table { border-collapse:collapse; width:100%; }
th,td { border-bottom:1px solid #dfe5eb; padding:.55rem; text-align:left; white-space:nowrap; }
th { background:#edf2f7; position:sticky; top:0; }
input,select,textarea,button { font:inherit; padding:.45rem .55rem; }
button,.button { background:#1769aa; color:white; border:0; border-radius:.3rem; cursor:pointer; text-decoration:none; display:inline-block; }
.danger { background:#b42318; }
.warning { color:#9a6700; }
.errorlist,.message.error { color:#b42318; }
.inline { display:inline; }
@media (max-width:720px) {
  .site-header { display:block; }
  .site-header nav { margin-top:.7rem; display:flex; gap:.7rem; overflow:auto; }
  .site-header a { margin:0; white-space:nowrap; }
  .container { padding:.7rem; }
}
