* { box-sizing: border-box; }
body { margin: 0; font: 14px/1.4 Arial, Helvetica, sans-serif; color: #1a1a1a; background: #fff; }
a { color: #0b4f8a; }
header { display: flex; align-items: center; gap: 24px; padding: 0 16px; height: 44px; background: #1f2a36; color: #fff; }
header .brand { font-weight: bold; }
header nav { display: flex; gap: 16px; flex: 1; }
header a { color: #fff; text-decoration: none; }
header a:hover { text-decoration: underline; }
header .user { display: flex; gap: 12px; align-items: center; margin: 0; }
main { padding: 16px; max-width: 1400px; }
h1 { font-size: 20px; margin: 0 0 12px; }
h2 { font-size: 15px; margin: 20px 0 8px; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid #d0d4d9; padding: 5px 8px; text-align: left; vertical-align: top; }
th { background: #f0f2f4; font-weight: bold; white-space: nowrap; }
tr:hover td { background: #f7f9fb; }
.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.props { width: auto; min-width: 480px; }
.props th { width: 180px; }
.muted, tr.muted td { color: #777; }
.bad { color: #b00020; font-weight: bold; }
.st-quarantine { color: #8a5a00; }
.st-released { color: #1b6e2e; }
.st-rejected { color: #b00020; }
.count { display: inline-block; min-width: 22px; padding: 0 6px; border: 1px solid #999; text-align: center; font-weight: normal; }
.count.bad { border-color: #b00020; }
input, select, button, .btn { font: inherit; padding: 5px 8px; border: 1px solid #8a9199; background: #fff; border-radius: 0; }
button, .btn { background: #1f2a36; color: #fff; border-color: #1f2a36; cursor: pointer; text-decoration: none; display: inline-block; }
button.link { background: none; border: 0; color: #fff; padding: 0; text-decoration: underline; }
.filters { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
.card { border: 1px solid #d0d4d9; padding: 12px; }
.card h1, .card h2 { margin-top: 0; }
.narrow { max-width: 460px; }
.card > div { margin-bottom: 10px; }
.card label { display: block; margin-bottom: 3px; font-weight: bold; }
.card input:not([type=checkbox]), .card select { width: 100%; }
.card input[type=checkbox] { margin-right: 6px; }
.helptext { color: #777; font-size: 12px; }
.errorlist { color: #b00020; margin: 0 0 4px; padding: 0; list-style: none; }
.cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; margin: 16px 0; }
.msg { border: 1px solid #1b6e2e; padding: 8px; margin: 0 0 12px; }
.msg.error { border-color: #b00020; }
.pager { display: flex; gap: 12px; }
.pick { display: flex; gap: 6px; }
.pick select { flex: 1; }
.pick button { width: 34px; padding: 5px 0; }
.sub { margin-top: 8px; padding: 8px; border: 1px solid #d0d4d9; background: #f7f9fb; }
.sub > label { margin-top: 0; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.two > div { margin-top: 8px; }
.card > .two { margin-top: -8px; }
.tabs { display: flex; gap: 0; margin: 0 0 12px; border-bottom: 1px solid #1f2a36; }
.tabs a { padding: 6px 14px; text-decoration: none; color: #1a1a1a; border: 1px solid #d0d4d9; border-bottom: 0; margin-right: 4px; }
.tabs a.on { background: #1f2a36; color: #fff; border-color: #1f2a36; }
input.fact { width: 110px; text-align: right; }
button.danger { background: #b00020; border-color: #b00020; }
button.link.dark { color: #0b4f8a; }
.addline { margin-top: 16px; }
.addline .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 10px; }
.addline .sub label { margin-top: 6px; }
h1 .count { font-size: 13px; vertical-align: middle; }
@media print {
  header, .noprint, .msg { display: none !important; }
  main { padding: 0; }
  a { color: inherit; text-decoration: none; }
}
.props.wide { min-width: 640px; }
.props.wide th { width: auto; }
