*{box-sizing:border-box}
body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color:#1d2330;background:#f5f6f8}
nav{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:10px 16px;background:#14325c;color:#fff}
nav a{color:#cfe0ff;text-decoration:none}nav a:hover{color:#fff}nav .sp{flex:1}
main{max-width:1200px;margin:0 auto;padding:16px}
h1{font-size:20px;margin:6px 0 14px}
table{border-collapse:collapse;width:100%;background:#fff;margin-bottom:16px}
th,td{border:1px solid #dde1e7;padding:6px 8px;text-align:left;vertical-align:top}
th{background:#eef1f5;font-weight:600}
form.inline{display:inline}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 16px}
label{display:block;font-weight:600;font-size:12px;color:#4a5363}
input,select,textarea{width:100%;padding:6px 8px;border:1px solid #c6ccd6;border-radius:4px;font:inherit;background:#fff}
button,.btn{display:inline-block;padding:7px 14px;border:0;border-radius:4px;background:#1f5fbf;color:#fff;font:inherit;cursor:pointer;text-decoration:none}
button.sec,.btn.sec{background:#6b7484}button.warn{background:#b54708}
.card{background:#fff;border:1px solid #dde1e7;border-radius:6px;padding:14px;margin-bottom:16px}
.flash{background:#e7f6ec;border:1px solid #9fd8b0;padding:8px 12px;border-radius:4px}
.flag{color:#b54708;font-weight:600}.muted{color:#6b7484}
.stats{display:flex;flex-wrap:wrap;gap:12px}.stats .card{min-width:160px}.stats b{font-size:22px;display:block}
@media (max-width:700px){table{display:block;overflow-x:auto}}
