/* ===================================================================================== */
/* Your existing styles (preserved)                                                      */
/* ===================================================================================== */

.open-list-table th {
    line-height: 1.2em !important;
    word-wrap: break-word !important;
    max-width: 120px !important;
}

.open-list-table td {
    line-height: 1.3em !important;
    word-wrap: break-word !important;
    max-width: 120px !important;
}

/* Original selector kept; not needed for cells but retained for compatibility */
.open-list-table:first-child {
    max-width: 70px !important;
}

/* Practical first column width rule targeting cells (safe addition) */
.open-list-table td:first-child {
    max-width: 70px !important;
}

.open-list-table td:nth-child(5n) {
    max-width: 90px !important;
}

.open-list-table {
    width: 100%;
    background: #FFF;
    border: 1px;
    margin: 0;
    padding: 0;
    display: inline;
}

@media (pointer:coarse) {
    .table-slide-mobile {
        overflow-x: auto;
    }
}

#classlist,
#methodlist,
#termlist,
#misclist,
#startlist,
#datelist {
    width: 150px;
    margin-right: 8px;
}

#querydata {
    margin-left: 8px;
    margin-right: 8px;
}

table.harperTable > tbody > tr > td,
table.harperTable > tbody > tr > th,
table.harperTable > tfoot > tr > td,
table.harperTable > tfoot > tr > th,
table.harperTable > thead > tr > td,
table.programTable > thead > tr > th {
    background-color: #fff !important;
    border-right-style: none;
    border-left-style: none;
    border: none;
    border-bottom: solid 1px #555;
}

input,
select,
textarea {
    border: 1px solid #000;
}

table.harperTable > tbody > tr:nth-child(odd) > td,
table.harperTable > tbody > tr:nth-child(odd) > th {
    background: #fff !important;
    --bs-table-accent-bg: #fff;
}

/* ===================================================================================== */
/* New: Force clickable cells to show pointer and anchors to look/act like links         */
/* (High specificity + !important to defeat opinionated global resets)                   */
/* ===================================================================================== */

/* Show a pointer anywhere inside a clickable cell */
.harperTable.open-list-table td.clickable-cell {
    cursor: pointer !important;
}

/* Baseline link appearance inside the open-list table */
.harperTable.open-list-table td a,
.harperTable.open-list-table th a,
.harperTable.open-list-table a {
    color: #0a58ca !important;           /* readable link blue */
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    text-decoration-thickness: 1px !important;
    cursor: pointer !important;          /* pointer over the actual link text */
    pointer-events: auto !important;     /* ensure anchors remain clickable in clickable cells */
}

/* Explicit link states to override any global resets */
.harperTable.open-list-table a:link {
    color: #0a58ca !important;
}

.harperTable.open-list-table a:visited {
    color: #6f42c1 !important;
}

.harperTable.open-list-table a:hover,
.harperTable.open-list-table a:active {
    color: #0a58ca !important;
    text-decoration: underline !important;
    filter: brightness(0.9);
}

/* Keyboard accessibility: clear focus ring */
.harperTable.open-list-table a:focus,
.harperTable.open-list-table a:focus-visible {
    outline: 2px solid #0a58ca !important;
    outline-offset: 2px !important;
    border-radius: 2px;
}

/* Make tiny icon links (like the ⓘ) bold and tappable */
.harperTable.open-list-table td a strong {
    font-weight: 700 !important;
}

/* Optional: subtle row hover so users discover interactivity */
.harperTable.open-list-table tbody tr:hover td {
    background-color: #f8f9fa;
}

td.clickable-cell {
    cursor: pointer !important;
    color: #076AB0;
    font-weight: 500;
}

td.clickable-cell:focus, td.clickable-cell:a:hover {
    color: #036;
    text-decoration: none;
    border-bottom: 2px dotted #036;
}