* { box-sizing: border-box; }
body { max-width: 1040px; margin: 24px auto; padding: 0 20px; font: 16px/1.5 Arial, sans-serif; color: #111; background: #fff; }
a { color: #0000bb; text-decoration: underline; overflow-wrap: anywhere; }
a:visited { color: #551a8b; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid #0000bb; outline-offset: 3px; }
.site-header { border-bottom: 1px solid #aaa; padding-bottom: 16px; }
.site-header p { margin: 4px 0 12px; }
.brand { font: bold 30px Georgia, serif; }
main { margin-top: 24px; }
h1 { font-size: 22px; margin: 0 0 16px; }
h2 { font-size: 20px; margin: 24px 0 12px; }
h3 { font-size: 16px; margin: 20px 0 8px; }
p { max-width: 75ch; }
form { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
input, button, select { font: inherit; }
input { min-width: 80px; flex: 1; padding: 4px 6px; }
button, select { cursor: pointer; padding: 4px 8px; }
button:disabled { cursor: wait; color: #555; }
.job-row { display: grid; grid-template-columns: minmax(0,1fr) 90px 130px; gap: 16px; border-bottom: 1px solid #ddd; padding: 14px 0; }
.job-row a { display: inline-block; }
.meta { color: #555; font-size: 13px; margin-top: 4px; overflow-wrap: anywhere; }
.amount { text-align: right; font-variant-numeric: tabular-nums; }
#more { margin-top: 16px; }
#list-status, footer { color: #555; font-size: 13px; }
#notice { color: #9c1b16; }
#detail-panel { margin-top: 32px; border-top: 1px solid #aaa; padding-top: 16px; overflow-wrap: anywhere; }
dt { font-weight: bold; margin-top: 12px; } dd { margin-left: 0; white-space: pre-wrap; }
pre { max-width: 100%; overflow: auto; padding: 12px; border: 1px solid #ccc; font-size: 14px; }
summary { cursor: pointer; }
aside, footer { margin-top: 32px; border-top: 1px solid #aaa; padding-top: 16px; }
aside p { margin: 6px 0; font-size: 14px; }
table { border-collapse: collapse; } th, td { padding: 12px; text-align: left; border-bottom: 1px solid #ccc; }
[hidden] { display: none !important; }
@media(max-width:650px) {
 body { padding: 0 16px; margin: 16px auto; }
 form { align-items: stretch; } form label { width: 100%; }
 #query { flex-basis: 100%; }
 .job-row { grid-template-columns: minmax(0,1fr) 85px; gap: 8px; }
 .job-status { grid-column: 1 / -1; font-size: 14px; }
}
