* { box-sizing: border-box; }
body { font-family: "Microsoft YaHei", sans-serif; margin: 0; background: #f5f6f8; color: #222; font-size: 14px; }
nav { background: #1f3a5f; color: #fff; padding: 10px 16px; display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
nav .brand { font-weight: bold; font-size: 16px; }
nav a { color: #cfe0f5; text-decoration: none; }
nav a:hover { color: #fff; }
nav .right { margin-left: auto; color: #cfe0f5; }
main { padding: 16px; max-width: 1500px; margin: 0 auto; }
h2 { font-size: 18px; margin: 8px 0 12px; }
table { border-collapse: collapse; width: 100%; background: #fff; }
th, td { border: 1px solid #dde3ea; padding: 6px 8px; text-align: left; white-space: nowrap; }
th { background: #eef2f7; }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
tr.total { background: #fdf6e3; font-weight: bold; }
.neg { color: #c0392b; }
.pos { color: #1e7e34; }
.flash { margin: 10px 16px 0; padding: 8px 12px; border-radius: 4px; }
.flash.ok { background: #d8f3dc; color: #1b4332; }
.flash.error { background: #fde2e2; color: #9b1c1c; }
.card { background: #fff; border: 1px solid #dde3ea; border-radius: 6px; padding: 12px 16px; margin-bottom: 14px; }
form.inline { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; }
form.inline label { display: flex; flex-direction: column; font-size: 12px; color: #555; gap: 3px; }
input, select { padding: 5px 8px; border: 1px solid #c4ccd6; border-radius: 4px; font-size: 14px; font-family: inherit; }
button { padding: 6px 14px; background: #1f3a5f; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; }
button:hover { background: #2c5282; }
button.danger { background: #b23b3b; }
button.small { padding: 3px 8px; font-size: 12px; }
a.btn { display: inline-block; padding: 6px 14px; background: #3a6ea5; color: #fff; border-radius: 4px; text-decoration: none; }
.scroll { overflow-x: auto; }
.muted { color: #777; font-size: 12px; }
.pager { margin: 10px 0; display: flex; gap: 10px; align-items: center; }
.login-box { max-width: 360px; margin: 80px auto; }
.login-box input { width: 100%; margin-bottom: 10px; }
.login-box button { width: 100%; }
