:root {
  color-scheme: light;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #172b3a;
  background: #f4f6f8;
  line-height: 1.5;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #14557d; text-underline-offset: .18em; }
a:hover { color: #08314c; }
h1, h2, h3 { line-height: 1.25; }
h1 { font-size: 1.8rem; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1.05rem; }
.site-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2.5rem;
  padding: 1rem 2rem;
  background: #fff;
  border-bottom: 1px solid #cbd5de;
}
.brand { font-weight: 750; font-size: 1.3rem; text-decoration: none; }
nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1.3rem; }
main { margin: 0 auto; max-width: 1500px; padding: 1.5rem 2rem 3rem; }
footer { padding: 1rem 2rem; color: #465a6a; font-size: .85rem; }
.panel { background: #fff; padding: 1.25rem; border: 1px solid #d1dae2; border-radius: .4rem; margin-bottom: 1.25rem; }
.narrow { max-width: 46rem; }
.filters { display: flex; flex-wrap: wrap; align-items: end; gap: .8rem; margin-bottom: 1rem; }
label { display: block; font-weight: 600; margin-bottom: .25rem; }
input, select, textarea, button { font: inherit; }
input, select, textarea { max-width: 100%; padding: .5rem .65rem; border: 1px solid #8194a3; border-radius: .25rem; background: #fff; color: inherit; }
textarea { display: block; width: 100%; margin-bottom: .65rem; }
input[type="file"] { display: block; margin-bottom: 1rem; }
button, .button {
  display: inline-block;
  padding: .5rem .8rem;
  border: 1px solid #18577a;
  border-radius: .25rem;
  background: #18577a;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
button:hover, .button:hover { background: #103b55; color: #fff; }
.secondary { background: #fff; color: #18577a; }
.link-button { background: none; border: 0; color: #14557d; padding: 0; text-decoration: underline; text-underline-offset: .18em; }
.link-button:hover { background: none; color: #08314c; }
.inline { display: inline-flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0; }
:focus-visible { outline: 3px solid #b54e00; outline-offset: 3px; }
.table-wrap { max-width: 100%; overflow-x: auto; background: #fff; border: 1px solid #d1dae2; border-radius: .25rem; }
table { width: 100%; border-collapse: collapse; text-align: left; }
th, td { padding: .7rem .85rem; vertical-align: top; border-bottom: 1px solid #dce3e9; }
th { background: #eaf0f4; white-space: nowrap; font-weight: 650; }
tbody tr:last-child td { border-bottom: 0; }
.small-table { font-size: .9rem; }
.small-table td, .small-table th { padding: .4rem .6rem; }
small { display: block; font-size: .8rem; font-weight: normal; color: #465a6a; }
.muted { color: #465a6a; }
.badge { display: inline-block; padding: .12rem .45rem; margin: .1rem; border-radius: .25rem; background: #e8eef4; font-size: .85rem; }
.summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 1rem; margin: 0; }
dt { font-weight: 650; }
dd { margin: .2rem 0 0; min-width: 0; }
.fields { margin: 0; }
.fields > div { display: grid; grid-template-columns: minmax(8rem, 25%) minmax(0, 1fr); gap: .8rem; padding: .45rem 0; border-bottom: 1px solid #e5eaee; }
.fields > div:last-child { border-bottom: 0; }
.workflow { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 1rem; }
.tag-list { padding-left: 1.2rem; }
.tag-list li { margin-bottom: .5rem; }
.value { white-space: pre-wrap; overflow-wrap: anywhere; }
.event-value { min-width: 15rem; max-width: 40rem; overflow-wrap: anywhere; font-size: .9rem; }
.note { border-top: 1px solid #dce3e9; margin-top: 1rem; padding-top: .5rem; }
.message { padding: 1rem; border: 1px solid #9c570d; background: #fff4d8; margin-bottom: 1rem; border-radius: .25rem; }
summary { cursor: pointer; font-weight: 650; }
details[open] summary { margin-bottom: 1rem; }
.visually-hidden, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { display: block; background: #fff; padding: .5rem; }
@media (max-width: 650px) {
  main, .site-header, footer { padding-left: 1rem; padding-right: 1rem; }
  .fields > div { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
  .panel { padding: 1rem; }
  .filters > div { width: 100%; }
  .filters input, .filters select { width: 100%; }
}
