*{box-sizing:border-box}body{margin:0;font-family:system-ui,Arial,sans-serif;background:#f4f6f9;color:#222}
.top{display:flex;justify-content:space-between;align-items:center;background:#0b3d91;color:#fff;padding:12px 20px}
.top nav a{color:#fff;margin-left:16px;text-decoration:none;font-size:14px}
main{max-width:1000px;margin:24px auto;padding:0 16px}
.card{background:#fff;border-radius:8px;padding:18px;margin-bottom:18px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:8px 10px;border-bottom:1px solid #e5e8ee;text-align:left;font-size:14px}
input,select{padding:8px;border:1px solid #c6ccd6;border-radius:6px;margin:3px 0;width:100%}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
button,.btn{background:#0b3d91;color:#fff;border:0;padding:8px 14px;border-radius:6px;cursor:pointer;text-decoration:none;font-size:14px;display:inline-block}
button.danger{background:#c0392b}button.alt,.btn.alt{background:#5b6b82}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:14px}.flash.ok{background:#e3f6e8;color:#175a2b}.flash.err{background:#fde7e7;color:#8a1f1f}
.auth{max-width:380px;margin:80px auto}.badge{padding:2px 8px;border-radius:10px;font-size:12px;background:#e5e8ee}
.badge.good{background:#d8f3df}.badge.bad{background:#fbd9d9}
