:root{font-family:system-ui,sans-serif;color:#233b36;background:#f4f5ef;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{padding:1rem 5%;background:#dae9de;display:flex;justify-content:space-between;gap:1rem;align-items:center}main{max-width:1100px;margin:auto;padding:1.2rem}h1{font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.25}.eyebrow{font-weight:700;color:#3b604d}a{color:#174f74;min-height:44px;display:inline-flex;align-items:center;font-weight:700}svg{max-width:240px;width:100%}svg rect{fill:#fff;stroke:#4c7560;stroke-width:3}svg text{text-anchor:middle;fill:#233b36;font-size:30px;font-weight:700}.heading,.pairs,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.heading{justify-content:space-between}button{font:inherit;font-weight:650;color:#233b36;background:#fff;border:2px solid #527562;border-radius:10px;padding:.55rem .7rem;min-height:48px;min-width:48px;cursor:pointer}button[aria-pressed=true]{border-color:#843f28;background:#fbe9d7}button:disabled{opacity:.6;cursor:default}.primary{background:#275a43;color:white;border-color:#275a43}:focus-visible{outline:3px solid #ae4a22;outline-offset:3px}.table-wrap{overflow:auto;margin:1rem 0;border:1px solid #a3b9aa;border-radius:10px;background:white}table{border-collapse:collapse;text-align:center}caption{text-align:left;font-weight:700;padding:.7rem}th,td{padding:.35rem;border:1px solid #d0ddd3}th{background:#e8f0e8;min-width:6rem}td button{width:100%}dialog{max-width:min(90vw,480px);border:2px solid #527562;border-radius:16px;padding:1.4rem;color:#233b36}dialog::backdrop{background:#10251ab3}footer{padding:2rem 5%;color:#42574a}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
:root select{font:inherit;color:#233b36;border:2px solid #527562;border-radius:10px;background:white;min-height:44px;padding:.55rem .7rem}
.compact-view{display:none;margin:1rem 0;padding:1rem;border:1px solid #a3b9aa;border-radius:10px;background:#fff}
.compact-view label{display:block;font-weight:700;margin-bottom:.4rem}
.compact-view select,.compact-view #compact-open{max-width:100%;margin:0 .5rem .7rem 0}
.compact-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.5rem}
.compact-cells button{text-align:left;overflow-wrap:anywhere}
@media (max-width: 860px){.compact-view{display:block}.table-wrap{display:none}}
