:root { font-family: system-ui, -apple-system, sans-serif; color: #18202b; background: #f4f6f8; line-height: 1.55; }
* { box-sizing: border-box; }
body { margin: 0; }
.wrap { max-width: 1280px; margin: auto; padding: 28px 36px; }
header { background: #162634; color: #fff; }
header .wrap { padding-top: 38px; padding-bottom: 36px; }
.eyebrow { font-size: .72rem; letter-spacing: .14em; color: #bdd5d3; }
h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; margin: 16px 0 12px; }
header p { color: #d1dbdf; margin-top: 0; }
.badge { font-size: .8rem; border: 1px solid #71968f; padding: 6px 10px; border-radius: 5px; display: inline-block; }
h2 { font-size: 1.3rem; line-height: 1.25; margin: 0 0 12px; }
h3 { font-size: 1.05rem; margin: 28px 0 8px; }
p { margin: 8px 0 16px; }
.notice { margin: 0 0 26px; font-size: .9rem; color: #4c5561; max-width: 1000px; }
.layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: start; }
section { background: #fff; border: 1px solid #d9e0e6; border-radius: 10px; padding: 26px; }
label { display: block; font-weight: 600; font-size: .88rem; margin: 16px 0 6px; }
input, select, textarea { font: inherit; width: 100%; padding: 10px 12px; color: #18202b; border: 1px solid #aab7c3; border-radius: 5px; background: #fff; }
textarea { resize: vertical; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, summary:focus-visible, pre:focus-visible { outline: 3px solid #4b91b8; outline-offset: 3px; }
.hint { color: #556371; font-size: .82rem; margin: 7px 0 16px; }
.check { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; margin: 20px 0; }
.check input { flex: 0 0 18px; height: 18px; width: 18px; margin-top: 4px; }
button { border: 1px solid #246455; background: #246455; color: #fff; padding: 10px 15px; border-radius: 5px; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; min-height: 44px; }
button.secondary { color: #23483f; background: #fff; border-color: #9eb5b0; }
button:disabled { opacity: .55; cursor: wait; }
.section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.section-title h2 { margin: 0; }
.filters { display: flex; align-items: center; gap: 14px; margin: 16px 0; }
.filters label { margin: 0; }.filters select { width: auto; min-width: 160px; }
#counts { color: #526271; font-size: .9rem; }
details { border-top: 1px solid #dde3e8; padding: 14px 0; }
summary { cursor: pointer; overflow-wrap: anywhere; font-weight: 600; }
details p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9rem; }
.meta { color: #556371; font-size: .8rem; font-weight: 400; }
.record-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.reviewer { margin-bottom: 10px; }
.error { color: #a22f25; }.success { color: #245e49; }
pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 430px; overflow: auto; padding: 16px; background: #f2f5f7; border: 1px solid #d9e0e6; font-size: .75rem; }
@media (max-width: 860px) { .layout { grid-template-columns: 1fr; }.wrap { padding: 24px 18px; }section { padding: 22px; } }

[hidden] { display: none !important; }
