*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;background:#f4f6f8;color:#222}
.top{background:#1f4e79;color:#fff;padding:12px 24px;display:flex;justify-content:space-between}
.top a{color:#fff}.brand{font-weight:700;text-decoration:none}
main{max-width:860px;margin:24px auto;padding:0 16px}
.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0002;margin-bottom:16px}
label{display:block;margin:14px 0 4px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=file]{width:100%;padding:9px;border:1px solid #bbb;border-radius:6px;font:inherit}
input[type=color]{height:38px;width:80px;padding:2px}
.btn{display:inline-block;background:#1f4e79;color:#fff;border:0;border-radius:6px;padding:10px 18px;font:inherit;cursor:pointer;text-decoration:none}
.btn.sec{background:#e3e8ee;color:#222}
.flash{background:#e6f4ea;border:1px solid #9bd2ab;padding:10px 14px;border-radius:6px;margin-bottom:16px}
.err{background:#fdecea;border:1px solid #f0a8a0;padding:10px 14px;border-radius:6px;margin-bottom:16px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e5e5}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.small{color:#666;font-size:14px}
.login{max-width:380px;margin:80px auto}
input[type=number],input[type=tel]{width:100%;padding:8px;border:1px solid #bbb;border-radius:6px;font:inherit}
select{padding:8px;border:1px solid #bbb;border-radius:6px;font:inherit}
td input[type=number]{width:90px}td input[type=text]{min-width:110px}
.tabs a{display:inline-block;padding:8px 14px;border-radius:6px;text-decoration:none;color:#1f4e79;background:#e3e8ee;margin-right:6px}
.tabs a.on{background:#1f4e79;color:#fff}
.warn{color:#b45309}.bad{color:#b00020;font-weight:700}.muted{color:#777}
