* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei","PingFang SC",sans-serif; background:#eef2f7; color:#2c3e50; min-height:100vh; }
.header { background:linear-gradient(135deg,#1e3c72,#2a5298); color:#fff; padding:16px 24px; box-shadow:0 2px 8px rgba(0,0,0,.15);}
.header h1 { font-size:19px; font-weight:600; }
.header p { font-size:12px; opacity:.85; margin-top:3px; }
.container { max-width:1200px; margin:0 auto; padding:24px 16px; }
.card { background:#fff; border-radius:12px; padding:20px 22px; margin-bottom:18px; box-shadow:0 2px 10px rgba(0,0,0,.05);}
.card h3 { font-size:16px; color:#1e3c72; margin-bottom:14px; padding-left:10px; border-left:4px solid #2a5298;}
.btn { padding:10px 18px; border:none; border-radius:8px; cursor:pointer; font-size:14px; font-weight:600; transition:.2s;}
.btn-primary { background:linear-gradient(135deg,#1e3c72,#2a5298); color:#fff;}
.btn-primary:hover { box-shadow:0 4px 12px rgba(42,82,152,.35);}
.btn-ghost { background:#fff; border:1.5px solid #dce3ec; color:#555;}
.btn-ghost:hover { border-color:#2a5298; color:#2a5298;}
.btn-danger { background:#e74c3c; color:#fff;}
.btn-sm { padding:5px 12px; font-size:12px;}
input, select, textarea { width:100%; padding:10px 12px; border:1.5px solid #dce3ec; border-radius:8px; font-size:14px; background:#fafbfd;}
input:focus, select:focus { outline:none; border-color:#2a5298; background:#fff;}
label { display:block; font-size:13px; color:#555; margin-bottom:5px; font-weight:600;}
.row { display:flex; gap:14px; flex-wrap:wrap;}
.row > div { flex:1; min-width:140px;}
.msg { padding:10px 14px; border-radius:8px; margin:10px 0; font-size:13px;}
.msg-err { background:#fdecea; color:#e74c3c;}
.msg-ok { background:#e8f8ef; color:#27ae60;}
.msg-info { background:#e8f0fb; color:#2a5298;}
table.tbl { width:100%; border-collapse:collapse; font-size:13px;}
table.tbl th, table.tbl td { border:1px solid #e3e9f0; padding:8px 10px; text-align:left;}
table.tbl thead th { background:#f4f7fb; color:#1e3c72;}
.nav { display:flex; gap:10px; align-items:center; margin-bottom:18px; flex-wrap:wrap;}
.nav .spacer { flex:1;}
.tag { display:inline-block; background:#e8f0fb; color:#2a5298; font-size:12px; padding:2px 10px; border-radius:10px;}
