:root { color-scheme: light; font-family: system-ui, sans-serif; color: #203046; background: #f3f6f9; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.topbar { background: #fff; border-bottom: 1px solid #dbe3eb; padding: 1rem clamp(1rem, 4vw, 3rem); display: flex; gap: 1rem; align-items: center; }
.brand { color: #174263; font-weight: 700; font-size: 1.3rem; text-decoration: none; }
.identity { margin-left: auto; color: #526273; font-size: .9rem; }
.container { max-width: 72rem; padding: 2rem 1rem; margin: 0 auto; }
h1 { font-size: 1.65rem; }
.card { background: #fff; border: 1px solid #dbe3eb; border-radius: .65rem; padding: 1.5rem; box-shadow: 0 3px 12px #14263d0d; }
.narrow { max-width: 26rem; margin: 3rem auto; }
form label { display: block; font-weight: 600; margin: 1rem 0 .3rem; }
form input { display: block; width: 100%; padding: .65rem .7rem; border: 1px solid #aab8c5; border-radius: .35rem; font: inherit; }
form input[type="checkbox"] { display: inline-block; width: auto; padding: 0; vertical-align: middle; }
form select { display: block; width: 100%; padding: .65rem .7rem; border: 1px solid #aab8c5; border-radius: .35rem; font: inherit; background: #fff; }
form textarea { display: block; width: 100%; padding: .65rem .7rem; border: 1px solid #aab8c5; border-radius: .35rem; font: inherit; resize: vertical; }
button { background: #174263; color: #fff; border: 0; padding: .65rem 1rem; margin-top: 1rem; border-radius: .35rem; font: inherit; cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid #317cc2; outline-offset: 2px; }
.alert { padding: .8rem 1rem; border-left: 4px solid #a94442; background: #fceceb; }
.inline-form { max-width: 32rem; margin-bottom: 2rem; }
.site-card { margin: 1rem 0; }
.site-card h3 { margin-top: 0; }
.site-card details { border-top: 1px solid #dbe3eb; padding-top: .7rem; }
.checks { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.checks label, .filters label:has(input[type="checkbox"]) { font-weight: 400; }
.filters { max-width: 40rem; margin-bottom: 1rem; }
.pre-line { white-space: pre-line; overflow-wrap: anywhere; }
details > summary { cursor: pointer; font-weight: 600; margin: .75rem 0; }
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .8rem; margin: 1rem 0; }
.stat-grid > div { background: #fff; border: 1px solid #dbe3eb; border-radius: .5rem; padding: 1rem; }
.stat-grid strong { display: block; font-size: 1.6rem; }
.stat-grid span { display: block; color: #526273; }
.inline-links { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; }
.inline-links a[aria-current="page"] { font-weight: 700; text-decoration: underline; }
.registry-item { border-top: 1px solid #dbe3eb; padding: 1rem 0; }
.registry-item dl { display: grid; grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr); gap: .25rem .75rem; overflow-wrap: anywhere; }
.registry-item dt { font-weight: 600; }
.registry-item dd { margin: 0; }
.check-line { display: flex; align-items: center; gap: .5rem; font-weight: 400; }
@media (max-width: 38rem) { .registry-item dl { grid-template-columns: 1fr; } .container { padding: 1rem; } }
