:root { color: #17243b; background: #f1f4f9; font: 16px system-ui, sans-serif; }
* { box-sizing: border-box; }
header { display: flex; align-items: center; gap: 1rem; background: #14213a; color: white; padding: 1rem 5%; }
header button { margin-left: auto; }
main { max-width: 74rem; margin: auto; padding: 1.25rem; }
#signin { max-width: 28rem; margin: 3rem auto; }
#signin, form, #results:not(:empty) { background: white; border: 1px solid #dce3ee; border-radius: .75rem; padding: 1.25rem; }
#signin form { border: 0; padding: 0; }
form, nav { display: flex; gap: .75rem; flex-wrap: wrap; align-items: end; margin-bottom: 1rem; }
#signin label { width: 100%; }
label { display: grid; gap: .35rem; font-size: .9rem; font-weight: 600; }
input, select, button { font: inherit; border: 1px solid #c6d0df; border-radius: .45rem; padding: .55rem; max-width: 100%; }
button { background: #164fa9; color: white; cursor: pointer; }
button[aria-current="page"] { background: #14213a; }
button:disabled { opacity: .55; cursor: wait; }
#results { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; }
td, th { padding: .65rem; border-bottom: 1px solid #dce3ee; }
#notice { min-height: 1.3rem; }
fieldset { border: 1px solid #dce3ee; display: flex; flex-wrap: wrap; gap: .65rem; }
#lines { flex-basis: 100%; display: grid; gap: .6rem; }
[hidden] { display: none !important; }
