.sjn-board { margin: 1.5rem 0; color: inherit; }
.sjn-board [hidden] { display: none !important; }
.sjn-board .sjn-filters { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.sjn-filters label { display: flex; flex-direction: column; gap: .35rem; flex: 1 1 150px; font-size: .9rem; font-weight: 600; }
.sjn-filters input,.sjn-filters select { width: 100%; min-height: 42px; padding: .5rem; border: 1px solid #cbd5e1; border-radius: 4px; background: #fff; color: #1e293b; font: inherit; }
.sjn-count { font-size: .9rem; }
.sjn-table-wrap { overflow-x: auto; }
.sjn-board .sjn-table { border-collapse: collapse; width: 100%; min-width: 600px; margin: 0; text-align: left; }
.sjn-table th { background: #f1f5f9; color: #1e293b; }
.sjn-table th,.sjn-table td { padding: 14px; border: 0; border-bottom: 1px solid #e2e8f0; vertical-align: top; }
.sjn-table small { display: block; margin-top: 4px; font-size: .8rem; }
.sjn-board a.sjn-download { display: inline-block; padding: 8px 12px; border-radius: 4px; background: #075985; color: #fff; text-decoration: none; white-space: nowrap; font-weight: 600; font-size: .85rem; }
.sjn-board a.sjn-download:hover { background: #0c4a6e; color: #fff; }
.sjn-board :focus-visible { outline: 3px solid #0284c7; outline-offset: 3px; }
.sjn-superseded { display: inline-block; margin-top: 6px; padding: 2px 7px; border-radius: 3px; background: #fef3c7; color: #92400e; font-size: .8rem; }
@media (max-width: 600px) { .sjn-filters label { flex-basis: 45%; } .sjn-filters label:first-child { flex-basis: 100%; } .sjn-table th,.sjn-table td { padding: 10px; } }
