:root{font-family:Tahoma,system-ui,sans-serif;color:#173b39;background:#f3f7f6;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#164d48;padding:18px max(24px,calc((100vw - 1440px)/2));display:flex;gap:30px}header a{color:#fff;text-decoration:none}main{max-width:1488px;padding:32px 24px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:32px;margin:8px 0}p{line-height:1.7}.eyebrow{font-size:12px;letter-spacing:.06em;color:#52746f}form{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:22px;background:white;border:1px solid #dce7e4;border-radius:12px;margin:20px 0}label{display:grid;gap:8px}.search{flex:1;min-width:230px}input,select,button{font:inherit;border:1px solid #bdcfcb;border-radius:6px;padding:11px 13px;background:white;color:#173b39}button,a{cursor:pointer}button:hover{background:#e8f3ef}button:disabled{opacity:.45;cursor:default}.primary{background:#19685d;color:#fff;border-color:#19685d}.primary:hover{background:#124f47}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #7fc9b4;outline-offset:2px}.table-wrap{overflow:auto;background:white;border:1px solid #dce7e4;border-radius:10px}table{width:100%;border-collapse:collapse;min-width:1050px}th,td{text-align:left;padding:15px 14px;border-bottom:1px solid #e5eeeb;vertical-align:top;line-height:1.55}th{background:#e8f1ee;font-size:13px;white-space:nowrap}td small{display:block;color:#617976;margin-top:5px}td strong{color:#133f39}tbody tr:hover{background:#f8fcfa}td a{display:inline-block;color:#146856;font-weight:bold;white-space:nowrap}#pages{display:flex;justify-content:center;align-items:center;gap:22px;padding:22px}.note{font-size:13px;color:#617976}dialog{border:1px solid #b8cec7;border-radius:12px;padding:25px;max-width:750px;width:90vw}dialog::backdrop{background:#163a3866}#close-detail{float:right}#detail-body{clear:both;line-height:1.8}.error{color:#9e3226}@media(max-width:700px){main{padding:20px 12px}.heading{align-items:start;flex-direction:column}header{padding:15px;gap:15px;font-size:13px}form{padding:14px}label{width:100%}h1{font-size:27px}}

/* Keep narrow-screen filters and pagination within the available content width. */
@media(max-width:400px){
 header{flex-wrap:wrap}
 form .search{min-width:0}
 form input,form select{min-width:0;width:100%;max-width:100%}
 #pages{flex-wrap:wrap;gap:12px;padding:16px 0}
 #page-label{overflow-wrap:anywhere}
}
