:root { color-scheme: light; font-family: system-ui, sans-serif; color: #172c40; background: #f3f6f9; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.55; }
header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 2rem; background: white; border-bottom: 1px solid #d8e1e9; }
header a { color: inherit; font-weight: 650; text-decoration: none; }
header nav { display: flex; gap: 1rem; margin-right: auto; }
header form { display: flex; align-items: center; gap: 1rem; }
main { max-width: 76rem; margin: 3rem auto; padding: 0 1.5rem; }
a { color: #164c70; font-weight: 650; }
.card { padding: 2rem; border: 1px solid #d8e1e9; background: white; border-radius: .75rem; }
.login { max-width: 30rem; margin: auto; }
h1 { margin-top: 0; line-height: 1.25; }
h2 { margin-top: 2rem; }
.eyebrow { font-size: .875rem; color: #436778; font-weight: 650; }
label { display: block; margin-bottom: .4rem; font-weight: 600; }
input, textarea, select { width: 100%; font: inherit; padding: .6rem .8rem; border: 1px solid #758797; border-radius: .35rem; }
textarea { min-height: 6rem; resize: vertical; }
input[type="checkbox"] { width: auto; }
button, .button { display: inline-block; border: 0; border-radius: .35rem; padding: .6rem 1rem; background: #164c70; color: white; font: inherit; cursor: pointer; text-decoration: none; }
button:hover, .button:hover { background: #103d5c; }
button:disabled { background: #758797; cursor: not-allowed; }
table { width: 100%; border-collapse: collapse; background: white; border: 1px solid #d8e1e9; }
th, td { padding: .75rem .9rem; border-bottom: 1px solid #d8e1e9; text-align: left; vertical-align: top; }
th { background: #edf3f7; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
.span-2 { grid-column: 1 / -1; }
.actions { display: flex; gap: .75rem; margin-top: 1rem; }
.inline-edit-form { min-width: 42rem; }
.compact-grid { display: grid; grid-template-columns: repeat(4, minmax(7rem, 1fr)); gap: .75rem; }
.compact-grid textarea { min-height: 4rem; }
.toolbar { display: grid; grid-template-columns: minmax(16rem, 1fr) auto auto; gap: .75rem; align-items: center; margin-bottom: 1.5rem; }
.inline { display: inline-flex; align-items: center; gap: .4rem; margin: 0; white-space: nowrap; }
.messages { padding: .75rem 1rem; background: #e7f4ea; border: 1px solid #b7d9bf; border-radius: .35rem; }
.messages li { list-style: none; }
.history { margin-top: 2rem; }
.dashboard-intro { margin-bottom: 1.5rem; }
.workflow-board { display: grid; grid-template-columns: repeat(5, minmax(14rem, 1fr)); gap: 1rem; align-items: stretch; overflow-x: auto; padding-bottom: .5rem; }
.workflow-column { min-width: 14rem; padding: 1rem; border: 1px solid #d8e1e9; background: white; border-radius: .5rem; }
.workflow-column h2 { margin-top: 0; font-size: 1.05rem; }
.workflow-column p { color: #436778; }
.workflow-steps { display: grid; gap: .75rem; padding: 0; margin: 1rem 0 0; list-style: none; }
.workflow-steps li { display: grid; gap: .25rem; padding: .75rem; border-left: 4px solid #164c70; background: #f7fafc; }
.workflow-steps a { text-decoration: none; }
.workflow-steps a:hover, .text-link:hover { text-decoration: underline; }
.workflow-steps small { color: #436778; }
.workflow-detail { margin-top: 2rem; }
.workflow-lanes { display: grid; grid-template-columns: repeat(5, minmax(12rem, 1fr)); gap: 1rem; }
.workflow-lanes > div { padding: 1rem 0; border-top: 3px solid #c18308; }
.workflow-lanes h3 { margin: 0 0 .5rem; font-size: 1rem; }
.text-link { display: inline-block; margin-top: .25rem; }
.document-sheet { padding: 2rem; background: white; border: 1px solid #d8e1e9; }
.document-head { display: flex; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.stamp { display: inline-block; padding: .35rem .55rem; border: 2px solid #a4262c; color: #a4262c; font-weight: 700; }
:focus-visible { outline: 3px solid #c18308; outline-offset: 3px; }
.errorlist { color: #a4262c; padding-left: 1.2rem; }
@media (max-width: 42rem) { header { align-items: flex-start; flex-direction: column; padding: 1rem; } header nav { margin-right: 0; flex-wrap: wrap; } main { margin: 1.5rem auto; padding: 0 1rem; } .card { padding: 1.25rem; } .form-grid, .toolbar, .workflow-lanes, .compact-grid { grid-template-columns: 1fr; } table { display: block; overflow-x: auto; } }
@media print { header, .print-hidden { display: none; } main { max-width: none; margin: 0; padding: 0; } body { background: white; } .document-sheet { border: 0; } }
