/* Public entry lists only. The same rows and links serve both layouts. */
.sj-public-entry-list .sj-entry-mobile-label { display: none; }
.sj-public-entry-list .sj-entry-logo-link { display: inline-block; }
.sj-public-entry-list img.sj-entry-logo {
    display: block; width: 72px; height: 48px; max-width: 100%;
    object-fit: contain; border: 0; margin: 0;
}
.sj-public-entry-list .sj-entry-forces-logos { display: flex; flex-wrap: wrap; gap: 8px; }
.sj-public-entry-list .sj-entry-forces-badge { display: inline-block; max-width: 100%; }
.sj-public-entry-list .sj-entry-logo-fallback[hidden],
.sj-public-entry-list img.sj-entry-logo[hidden] { display: none; }

@media screen and (max-width: 767px) {
    .sj-public-entry-list,
    .sj-public-entry-list * { box-sizing: border-box; }
    .sj-public-entry-list { min-width: 0; max-width: 100%; }
    .sj-public-entry-list .sj-entry-filters > div { flex: 1 1 100%; min-width: 0; }
    .sj-public-entry-list .sj-entry-filters select {
        width: 100%; min-width: 0; max-width: 100%; min-height: 44px; font-size: 16px;
    }
    .sj-public-entry-list .sj-entry-list-head h2 { overflow-wrap: anywhere; }
    .sj-public-entry-list table.sj-entry-table-responsive {
        display: block; width: 100%; min-width: 0; max-width: 100%;
        overflow: visible; border: 0; background: transparent;
    }
    /* Keep column headers available to assistive technology. */
    .sj-public-entry-list .sj-entry-table-responsive > thead {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%);
        white-space: nowrap; border: 0;
    }
    .sj-public-entry-list .sj-entry-table-responsive > tbody { display: block; width: 100%; }
    .sj-public-entry-list .sj-entry-table-responsive > tbody > tr {
        display: block; width: 100%; margin: 0 0 16px; padding: 8px 14px;
        border: 1px solid #d8dde5; border-radius: 10px; background: #fff;
    }
    .sj-public-entry-list .sj-entry-table-responsive > tbody > tr > td {
        display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 12px;
        width: 100%; min-width: 0; padding: 10px 0; margin: 0;
        border: 0; border-bottom: 1px solid #edf0f3; text-align: left;
        white-space: normal; word-break: normal; overflow-wrap: anywhere;
        float: none; background: transparent; line-height: 1.5;
    }
    .sj-public-entry-list .sj-entry-table-responsive > tbody > tr > td:last-child { border-bottom: 0; }
    .sj-public-entry-list .sj-entry-mobile-label { display: block; font-weight: 700; color: #374151; }
    .sj-public-entry-list .sj-entry-cell-value { display: block; min-width: 0; }
    .sj-public-entry-list .sj-entry-cell-value a { white-space: normal; overflow-wrap: anywhere; }
    .sj-public-entry-list .sj-entry-table-responsive > tbody > tr > td[colspan] { display: block; }
    /* Suppress theme-generated mobile labels; labels above are real markup. */
    .sj-public-entry-list .sj-entry-table-responsive td::before { content: none; display: none; }
}
