body { font-family: system-ui, sans-serif; margin: 0; color: #1a1a1a; }
header { display: flex; justify-content: space-between; align-items: center; padding: 0.75rem 1rem; background: #1f3a5f; color: #fff; }
header .brand { margin: 0; font-weight: 600; }
header form.signed-in { display: flex; gap: 0.5rem; align-items: center; margin: 0; }
nav { padding: 0.5rem 1rem; border-bottom: 1px solid #ddd; }
main { padding: 1rem; max-width: 72rem; }
.message { color: #a40000; }
label { display: block; }
input[type=email], input[type=password] { display: block; padding: 0.4rem; width: 20rem; max-width: 100%; }
nav ul { list-style: none; display: flex; gap: 1rem; margin: 0; padding: 0; }
nav a, .filters a { color: #1f3a5f; text-decoration: none; }
nav a.current, .filters a.current { font-weight: 600; text-decoration: underline; }
.filters { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.notice { color: #1d5c2e; }
table { border-collapse: collapse; margin: 0.5rem 0 1rem; }
th, td { border: 1px solid #ddd; padding: 0.3rem 0.5rem; text-align: left; vertical-align: top; }
dl.facts { display: grid; grid-template-columns: max-content 1fr; gap: 0.2rem 1rem; }
dl.facts dt { font-weight: 600; }
dl.facts dd { margin: 0; }
section { margin-bottom: 1.5rem; }
ul.cards { list-style: none; display: flex; flex-wrap: wrap; gap: 1rem; padding: 0; }
ul.cards a { display: block; padding: 1rem; border: 1px solid #ddd; border-radius: 0.4rem; color: inherit; text-decoration: none; min-width: 12rem; }
ul.cards .count { display: block; font-size: 2rem; font-weight: 600; }
article.document { border: 1px solid #ddd; padding: 0.75rem; margin-bottom: 1rem; }
article.document.superseded { opacity: 0.6; }
img.document-file, img.truck { max-width: 100%; max-height: 24rem; }
iframe.document-file { width: 100%; height: 32rem; border: 1px solid #ddd; }
form.inline { display: inline; }
form label { margin: 0.3rem 0; }
input[type=text], input[type=url], input[type=search], input[type=number], input[type=date], select, textarea { padding: 0.3rem; max-width: 100%; }
textarea { width: 30rem; }
tr.by-quote { color: #777; background: #f3f3f3; }
.price-card.editor input { width: 6rem; }
.driver-card { border: 1px solid #ddd; padding: 0.75rem; max-width: 24rem; }
.driver-card .name { font-size: 1.25rem; font-weight: 600; margin-top: 0; }
