/* Hide desktop view by default until grid data loads - prevents flicker */
#desktopView {
  display: none;
}

/* Show desktop by default in media query (will be overridden by JS based on data state) */
@media (min-width: 1000px) {
  #desktopView {
    display: none; /* Keep hidden until JS confirms data is loaded */
  }
}

/* Right-align numeric data cells in desktop grid (all columns except County) */
#desktopView #results-grid td:not(:first-child) {
    text-align: right !important;
}

/* Desktop grid: show dark black vertical borders between cells on row hover */
#desktopView #results-grid tbody tr:hover td {
    border-left: 1px solid #000 !important;
}

/* Ensure first cell in hovered row also gets left border */
#desktopView #results-grid tbody tr:hover td:first-child {
    border-left: 1px solid #000 !important;
}

.k-grid-header,
.k-grid-header .k-header,
.k-grouping-header,
.k-grid-pager,
.k-grid-footer {
    background-color: #C4E2F7 !important;
}

.k-table-alt-row{
    background-color: #F3FAFE !important;
}

.k-grid-header .k-header {
    font-weight: bold;
    /* removed underline for accessibility/visual clarification */
    text-decoration: none;
}
.white-button{
    background-color: white !important;
    border: 1px solid black !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-right: 5px;
}

.k-grid-pager {
    display: flex !important;
    flex-direction: row-reverse;
    align-items: center;
}

.k-pager-info{
    justify-content: flex-start;
}

.k-pager-numbers-wrap{
    justify-content: flex-end;
}

.k-pager-numbers-wrap .k-button {
    background-color: white !important;
    border: 1px solid #ccc !important;
    color: #333 !important;
    margin-left: 6px;
}

.k-pager-numbers-wrap .k-button.k-state-selected,
.k-pager-numbers-wrap .k-button.k-selected,
.k-pager-numbers-wrap .k-button.k-state-active,
.k-pager-numbers-wrap .k-button[aria-current="true"] {
    background-color: #1C84C6 !important;
    color: #ffffff !important;
    border-color: #000 !important;
    font-weight: bold;
    box-shadow: 0 0 0 2px #000, 0 2px 6px rgba(0,0,0,0.15);
}

#resultsGridContainer {
    width: 100% !important; /* Adjust as needed */
    margin: 0 auto;
    border-top: none !important;
    border-top-style: none !important;
    border-top-width: 0 !important;
    border: none !important; /* fallback to remove any remaining border */
}
#voterRegistrationStatisticsSearchResultsSection,
#searchResultsRegion {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
}

/* Reduce bottom margin to minimize space before footer */
#searchResultsRegion {
    margin-bottom: 0 !important;
}

#searchResultsRegion {
    background-color: #ffffff !important;
    padding-top: 0 !important; /* remove parent top padding to eliminate gap */
}

#searchResultsContent {
    margin-left: 20px !important;
    margin-right: 20px !important;
    margin-top: 0 !important; /* eliminate gap at top */
    padding-top: 0 !important; /* ensure no inner padding adds space */
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    border-top: none !important;
    border-top-style: none !important;
    border-top-width: 0 !important;
    border: none !important; /* fallback to remove any remaining border */
    overflow: hidden; /* prevent top margin collapsing into parent */
}
#searchResultsContent > :first-child {
    margin-top: 0 !important; /* remove top margin of first child to eliminate gap */
}

.instruction-panel {
    margin: 0 auto;
    border: 3px solid #1c84c6;
    font-weight: 600;
    line-height: 1.5;
    padding: 0;
    text-align: center;
}

.instruction-panel .k-expander-header {
    background-color: #f7fbff;
    padding: 6px 12px;
    min-height: auto;
}

.instruction-panel .k-expander-title {
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.instruction-list {
    text-align: left;
    margin: 0;
    padding-left: 1.5rem;
    line-height: 1.5;
}

.instruction-list li {
    margin-bottom: 4px;
}

/* Correct selector: the petition results grid's Name() is registrationStatisticsSearchResultsGrid */
#registrationStatisticsSearchResultsGrid { /* was #voterSearchResultsGrid */
    width: 100% !important;
    max-width: 100%;
}

/* Center-align all header content (desktop + mobile) */
#registrationStatisticsSearchResultsGrid .k-grid-header th,
#registrationStatisticsSearchResultsGrid .k-table-thead th,
.county-detail-wrapper .k-grid-header th,
.county-detail-wrapper .k-table-thead th {
    text-align: center !important;
    vertical-align: middle !important;
}
#registrationStatisticsSearchResultsGrid .k-grid-header th .k-link,
#registrationStatisticsSearchResultsGrid .k-table-thead th .k-link,
.county-detail-wrapper .k-grid-header th .k-link,
.county-detail-wrapper .k-table-thead th .k-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
    gap: 0.35rem;
}
#registrationStatisticsSearchResultsGrid .k-grid-header th .k-link .k-column-title,
#registrationStatisticsSearchResultsGrid .k-table-thead th .k-link .k-column-title,
.county-detail-wrapper .k-grid-header th .k-link .k-column-title,
.county-detail-wrapper .k-table-thead th .k-link .k-column-title {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    text-align: center !important;
    justify-content: center !important;
}
#registrationStatisticsSearchResultsGrid .k-grid-header th .k-link .k-sort-icon,
#registrationStatisticsSearchResultsGrid .k-table-thead th .k-link .k-sort-icon,
.county-detail-wrapper .k-grid-header th .k-link .k-sort-icon,
.county-detail-wrapper .k-table-thead th .k-link .k-sort-icon {
    margin-left: auto;
    align-self: center;
}

/* Responsive: Hide desktop columns on small screens, hide mobile column on wide screens */
@media (max-width: 1000px) { /* MOBILE <=1000px */
    .k-grid td.desktop-col,
    .k-grid th.desktop-col {
        display: none !important;
    }
    .k-grid td.mobile-combined-col,
    .k-grid th.mobile-combined-col {
        display: table-cell !important;
        width: 100% !important;
    }
    .k-grid table {
        table-layout: auto !important;
    }
    .k-grid-pager {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center;
        align-items: center;
        gap: 4px 6px;
        padding: 8px 14px; /* symmetric horizontal padding */
        overflow: visible !important; /* no horizontal scroll */
        width: 100%;
        box-sizing: border-box;
        min-width: 0;
    }
    .k-grid-pager > * { min-width: 0; }
    .k-grid-pager .k-button, .k-pager-numbers-wrap .k-button {
        margin: 0 2px !important;
    }
    #registrationStatisticsSearchResultsGrid,
    #registrationStatisticsSearchResultsGrid .k-grid-content,
    #registrationStatisticsSearchResultsGrid .k-table-wrap {
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        overflow-x:visible !important;
    }
    /* Ensure hierarchy (expand/collapse) cell has predictable narrow width */
    #registrationStatisticsSearchResultsGrid tr.k-master-row td.k-hierarchy-cell { width:34px !important; }
    /* Mobile combined column: occupy full remaining width and never clip text */
    #registrationStatisticsSearchResultsGrid td.mobile-combined-col {
        display:table-cell !important;
        width:calc(100% - 34px) !important; /* subtract hierarchy cell */
        white-space:normal !important;
        word-break:break-word !important;
        word-wrap:break-word !important;
        overflow-wrap:break-word !important;
        overflow:visible !important; /* prevent right-edge clipping */
    }
    /* Inner content should also not clip */
    #registrationStatisticsSearchResultsGrid td.mobile-combined-col > div,
    #registrationStatisticsSearchResultsGrid td.mobile-combined-col h4 {
        max-width:100% !important;
        white-space:normal !important;
        word-break:break-word !important;
        overflow-wrap:break-word !important;
        overflow:visible !important;
        display:block;
    }
    /* Detail row cell: allow content visibility (avoid clipping petition name width recalculation) */
    #registrationStatisticsSearchResultsGrid tr.k-detail-row td.petition-detail-cell { overflow:visible !important; }
}

/* Desktop breakpoint mirrors voter search results behavior */
@media (min-width: 1001px) { /* DESKTOP >=1001px */
    .k-grid td.mobile-combined-col,
    .k-grid th.mobile-combined-col { display: none !important; }
    .k-grid td.desktop-col,
    .k-grid th.desktop-col { display: table-cell !important; }

    /* Reserve space for Kendo expand/collapse (hierarchy) column */
    #registrationStatisticsSearchResultsGrid .k-hierarchy-cell,
    #registrationStatisticsSearchResultsGrid th.k-hierarchy-cell { width: clamp(30px, 4%, 50px) !important; }

    /* Primary desktop width ratios (petition name set to 20%; remaining 8 columns share 76% (each 9.5%); sum = 20% + (8 * 9.5%) = 96% (+ 4% hierarchy = 100%). */
    /* UPDATED: Reduce petition name by 2% of 20% (0.4%) -> 19.6%; distribute freed 0.4% equally across 8 columns (+0.05% each: 9.5% -> 9.55%). New sum: 19.6% + (8 * 9.55%) = 96% (+ 4% hierarchy = 100%). */
    #registrationStatisticsSearchResultsGrid .col-petition-name { width:19.6% !important; }
    #registrationStatisticsSearchResultsGrid .col-required-signature { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-total-counties { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-total-checked-signature { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-total-valid-signature { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-status { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-certified-date { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-filing-date { width:9.55% !important; }
    #registrationStatisticsSearchResultsGrid .col-expiration-date { width:9.55% !important; }

    /* Remove min-width constraints - clamp() handles this now */
    /* Old min-width rules deleted - clamp() min values prevent undersizing */

    /* Right-align numeric data cells for clarity */
    #registrationStatisticsSearchResultsGrid td.col-required-signature,
    #registrationStatisticsSearchResultsGrid td.col-total-counties,
    #registrationStatisticsSearchResultsGrid td.col-total-checked-signature,
    #registrationStatisticsSearchResultsGrid td.col-total-valid-signature {
        text-align: right !important;
    }

    /* Center-align date columns for visual consistency */
    #registrationStatisticsSearchResultsGrid td.col-certified-date,
    #registrationStatisticsSearchResultsGrid td.col-filing-date,
    #registrationStatisticsSearchResultsGrid td.col-expiration-date {
        text-align: center !important;
    }

    /* Allow petition names to wrap without breaking words */
    #registrationStatisticsSearchResultsGrid td.col-petition-name {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        overflow: visible !important;
    }

    .k-grid table { table-layout:fixed !important; }
}


/* County detail grid full-width behavior */
.county-detail-wrapper { width:100% !important; box-sizing:border-box; }
@media (min-width: 1001px) {
    .county-detail-wrapper { width:50% !important; }
}
.county-detail-wrapper .k-grid { width:100% !important; }
.county-detail-wrapper .k-grid table { width:100% !important; table-layout:fixed !important; }
.county-detail-wrapper .k-grid thead th.desktop-col,
.county-detail-wrapper .k-grid tbody td.desktop-col { width:auto !important; }
/* Distribute three columns evenly when desktop */
@media (min-width: 1001px) {
    .county-detail-wrapper .k-grid thead th.col-county-name,
    .county-detail-wrapper .k-grid tbody td.col-county-name { width:40% !important; }
    .county-detail-wrapper .k-grid thead th.col-total-sig-checked,
    .county-detail-wrapper .k-grid tbody td.col-total-sig-checked { width:30% !important; }
    .county-detail-wrapper .k-grid thead th.col-total-sig-valid,
    .county-detail-wrapper .k-grid tbody td.col-total-sig-valid { width:30% !important; }

    /* Right-align signature data cells in county detail grids */
    .county-detail-wrapper .k-grid tbody td.col-total-sig-checked,
    .county-detail-wrapper .k-grid tbody td.col-total-sig-valid {
        text-align: right !important;
    }
}
@media (max-width:1000px) {
    .county-detail-wrapper .k-grid td.mobile-combined-col,
    .county-detail-wrapper .k-grid th.mobile-combined-col { width:100% !important; display:table-cell !important; }

    /* Ensure text wraps properly in mobile view for county detail grid */
    .county-detail-wrapper .k-grid td.mobile-combined-col {
        white-space: normal !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* Ensure h4 elements in county detail grid mobile view wrap text */
    .county-detail-wrapper .k-grid td.mobile-combined-col h4 {
        white-space: normal !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100%;
    }
}


@media (min-width: 1001px) {
    /* Desktop: allow headers to expand for wrapped text */
    #registrationStatisticsSearchResultsGrid .k-grid-header tr,
    #registrationStatisticsSearchResultsGrid .k-table-thead tr {
        min-height: 34px !important;
        height: 34px !important;
    }

    #registrationStatisticsSearchResultsGrid .k-grid-header th.desktop-col,
    #registrationStatisticsSearchResultsGrid .k-table-thead th.desktop-col {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        line-height: 16px !important;
        white-space: normal !important;
        overflow: visible !important;
        vertical-align: middle !important;
    }

    #registrationStatisticsSearchResultsGrid .k-grid-header th.desktop-col .k-link,
    #registrationStatisticsSearchResultsGrid .k-table-thead th.desktop-col .k-link {
        display: grid !important;
        grid-template-columns: 1fr auto;
        align-items: center !important;
        width: 100%;
        white-space: normal !important;
        overflow: visible !important;
        min-width: 0 !important;
        line-height: 16px !important;
        font-size: 12.50px !important; /* match legacy relative sizing */
        height: 100% !important;
        column-gap: 6px;
    }

    #registrationStatisticsSearchResultsGrid .k-grid-header th.desktop-col .k-link .k-column-title,
    #registrationStatisticsSearchResultsGrid .k-table-thead th.desktop-col .k-link .k-column-title {
        justify-self: center;
        min-width: 0 !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        overflow: visible !important;
        line-height: inherit !important;
        font-size: 12.50px !important;
        hyphens: auto !important;
    }

    #registrationStatisticsSearchResultsGrid .k-grid-header th.desktop-col .k-link .k-sort-icon,
    #registrationStatisticsSearchResultsGrid .k-table-thead th.desktop-col .k-link .k-sort-icon {
        justify-self: end;
        align-self: center;
        margin-left: 4px;
        flex-shrink: 0;
    }

    #registrationStatisticsSearchResultsGrid .k-table-tbody tr td.desktop-col,
    #registrationStatisticsSearchResultsGrid .k-grid tbody tr td.desktop-col {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        line-height: 18px !important;
        min-height: 30px;
        height: 34px !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        overflow: visible !important;
    }
}

/* Desktop header wrapper: allow overflow visible so wrapped text is visible */
#registrationStatisticsSearchResultsGrid .k-grid-header,
#registrationStatisticsSearchResultsGrid .k-grid-header-wrap { overflow: visible !important; }


/* Focus / keyboard navigation: ensure focused grid cell has a clear 2px black border without clipping content. */
#registrationStatisticsSearchResultsGrid td.k-focus,
#registrationStatisticsSearchResultsGrid th.k-focus,
#registrationStatisticsSearchResultsGrid td:focus,
#registrationStatisticsSearchResultsGrid th:focus,
#registrationStatisticsSearchResultsGrid td.k-state-focused,
#registrationStatisticsSearchResultsGrid th.k-state-focused,
#registrationStatisticsSearchResultsGrid td[tabindex]:focus,
#registrationStatisticsSearchResultsGrid th[tabindex]:focus {
    outline: 2px solid #000 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
}
/* When the expand/collapse button inside the hierarchy cell has focus, show a full border on the TD wrapper. */
#registrationStatisticsSearchResultsGrid td.k-hierarchy-cell:focus-within {
    outline: 2px solid #000 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
    border-radius: 1px;
}
/* Child (county) detail grid focus styling */
.county-detail-wrapper .k-grid td.k-focus,
.county-detail-wrapper .k-grid th.k-focus,
.county-detail-wrapper .k-grid td:focus,
.county-detail-wrapper .k-grid th:focus,
.county-detail-wrapper .k-grid td.k-state-focused,
.county-detail-wrapper .k-grid th.k-state-focused,
.county-detail-wrapper .k-grid td[tabindex]:focus,
.county-detail-wrapper .k-grid th[tabindex]:focus {
    outline: 2px solid #000 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
}
@media (forced-colors: active) {
    .county-detail-wrapper .k-grid td.k-focus,
    .county-detail-wrapper .k-grid th.k-focus,
    .county-detail-wrapper .k-grid td:focus,
    .county-detail-wrapper .k-grid th:focus {
        outline: 2px solid CanvasText !important;
    }
}
/* High contrast mode (forced-colors): rely on outline for clarity */
@media (forced-colors: active) {
    #registrationStatisticsSearchResultsGrid td.k-focus,
    #registrationStatisticsSearchResultsGrid th.k-focus,
    #registrationStatisticsSearchResultsGrid td:focus,
    #registrationStatisticsSearchResultsGrid th:focus,
    #registrationStatisticsSearchResultsGrid td.k-hierarchy-cell:focus-within {
        outline: 2px solid CanvasText !important;
    }
}

#desktopView #results-grid td.k-focus,
#desktopView #results-grid th.k-focus,
#desktopView #results-grid td:focus,
#desktopView #results-grid th:focus,
#desktopView #results-grid td.k-state-focused,
#desktopView #results-grid th.k-state-focused,
#desktopView #results-grid td[tabindex]:focus,
#desktopView #results-grid th[tabindex]:focus {
    outline: 2px solid #000 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 2;
}
#desktopView #results-grid th.rs-header .k-link,
#desktopView #results-grid th.rs-header .k-link:focus,
#desktopView #results-grid th.rs-header .k-link:focus-visible {
    padding-left: 4px !important; /* keep text clear of focus outline */
    padding-right: 4px !important;
}
@media (forced-colors: active) {
    #desktopView #results-grid td.k-focus,
    #desktopView #results-grid th.k-focus,
    #desktopView #results-grid td:focus,
    #desktopView #results-grid th:focus {
        outline: 2px solid CanvasText !important;
    }
}

/* Pager buttons focused: 2px solid black border (avoid shift via box-shadow fallback if needed) */
.k-grid-pager .k-button:focus,
.k-grid-pager a:focus,
.k-grid-pager button:focus,
.k-grid-pager .k-pager-nav:focus,
.k-grid-pager .k-pager-first:focus,
.k-grid-pager .k-pager-last:focus,
.k-grid-pager .k-pager-numbers-wrap .k-button:focus {
    outline: none !important;
    border: 2px solid #000 !important;
    box-shadow: none !important;
}
/* High contrast mode fallback */
@media (forced-colors: active) {
    .k-grid-pager .k-button:focus,
    .k-grid-pager a:focus,
    .k-grid-pager button:focus {
        border: 2px solid CanvasText !important;
    }
}
@media (max-width: 1000px) {
    /* Center mobile summary column headers (parent & child grids) */
    .k-grid th.mobile-combined-col { text-align: center !important; }
    .k-grid th.mobile-combined-col .k-link {
        display: flex !important; /* Kendo often uses inline-flex or block; force flex for centering */
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        text-align: center !important;
    }
    .k-grid th.mobile-combined-col .k-link .k-column-title {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
}

/* Hover feedback: highlight entire row and show vertical dividers between cells */
#registrationStatisticsSearchResultsGrid .k-grid tbody tr.k-detail-row > td,
#registrationStatisticsSearchResultsGrid .k-table-tbody tr.k-detail-row > td {
    background-color: #ffffff !important;
    border-left: none !important;
}

#registrationStatisticsSearchResultsGrid .k-grid tbody tr.k-detail-row:hover > td,
#registrationStatisticsSearchResultsGrid .k-table-tbody tr.k-detail-row:hover > td {
    background-color: #ffffff !important;
}

#registrationStatisticsSearchResultsGrid .k-grid tbody tr.k-master-row:hover td,
#registrationStatisticsSearchResultsGrid .k-grid tbody tr.k-master-row:hover th,
#registrationStatisticsSearchResultsGrid .k-table-tbody tr.k-master-row:hover td,
#registrationStatisticsSearchResultsGrid .k-table-tbody tr.k-master-row:hover th,
#registrationStatisticsSearchResultsGrid .k-grid .k-detail-row .k-grid tbody tr:hover td,
#registrationStatisticsSearchResultsGrid .k-grid .k-detail-row .k-grid tbody tr:hover th,
#registrationStatisticsSearchResultsGrid .k-table .k-detail-row .k-table tbody tr:hover td,
#registrationStatisticsSearchResultsGrid .k-table .k-detail-row .k-table tbody tr:hover th {
    background-color: #f2f2f2 !important;
    transition: background-color 120ms ease-in-out;
}

#registrationStatisticsSearchResultsGrid .k-grid tbody tr.k-master-row:hover td:first-child,
#registrationStatisticsSearchResultsGrid .k-table-tbody tr.k-master-row:hover td:first-child,
#registrationStatisticsSearchResultsGrid .k-grid .k-detail-row .k-grid tbody tr:hover td:first-child,
#registrationStatisticsSearchResultsGrid .k-table .k-detail-row .k-table tbody tr:hover td:first-child {
    border-left: 1px solid #6b6b6b !important;
}

#registrationStatisticsSearchResultsGrid .k-grid tbody tr.k-master-row:hover td + td,
#registrationStatisticsSearchResultsGrid .k-table-tbody tr.k-master-row:hover td + td,
#registrationStatisticsSearchResultsGrid .k-grid .k-detail-row .k-grid tbody tr:hover td + td,
#registrationStatisticsSearchResultsGrid .k-table .k-detail-row .k-table tbody tr:hover td + td {
    border-left: 1px solid #6b6b6b !important;
}

/* Mobile view hidden by default */
#mobileView {
  display: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Under 1000px: show mobile, hide desktop */
@media (max-width: 999px) {
  #desktopView {
    display: none !important; /* Always hide on mobile */
  }
  #mobileView {
    display: block;
  }
}

/* At 1000px and above: desktop visibility controlled by JavaScript based on data load state */
@media (min-width: 1000px) {
  #mobileView {
    display: none;
  }
  /* #desktopView visibility is controlled by JavaScript - no CSS rule here */
}

/* dt/dd inline on same line; break after each pair */
.inline-defs {
  margin: 0;
  padding: 0;
}
.inline-defs dt,
.inline-defs dd {
  display: inline;
  margin: 0;
  padding: 0;
}
/* Insert a line break after each dd (end of pair) */
.inline-defs dd::after {
  content: "\A"; /* newline */
  white-space: pre; /* respect newline */
}
/* Optional spacing between dt label and dd value */
.inline-defs dt::after {
  content: " ";
}

/* Fixed height for grid header row in desktopView */
#desktopView #results-grid .k-grid-header tr,
#desktopView #results-grid .k-table-thead tr,
#desktopView .k-grid .k-grid-header tr,
#desktopView .k-grid .k-table-thead tr {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
}

#desktopView #results-grid .k-grid-header th,
#desktopView #results-grid .k-table-thead th,
#desktopView .k-grid .k-grid-header th,
#desktopView .k-grid .k-table-thead th {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
    vertical-align: middle !important;
    text-align: center !important; /* Center header text horizontally */
    font-size: 13px !important; /* Set font size to 13px */
    white-space: normal !important; /* Allow text to wrap */
    word-wrap: normal !important; /* Do not break inside words */
    overflow-wrap: normal !important; /* Wrap only at natural word boundaries */
    word-break: normal !important; /* Don't break words mid-word */
    hyphens: none !important; /* No hyphenation - prevents "fi-ne" */
    padding: 4px 6px !important; /* Reduced padding to maximize space */
    overflow: hidden !important; /* Hide overflow to maintain fixed height */
    box-sizing: border-box !important; /* Include padding in height calculation */
}

/* Center text in header links and column titles */
#desktopView #results-grid .k-grid-header th .k-link,
#desktopView #results-grid .k-table-thead th .k-link,
#desktopView .k-grid .k-grid-header th .k-link,
#desktopView .k-grid .k-table-thead th .k-link {
    text-align: center !important;
    font-size: 13px !important; /* Set font size to 13px */
    white-space: normal !important; /* Allow text to wrap */
    word-wrap: normal !important; /* Do not break inside words */
    overflow-wrap: normal !important; /* Wrap only at natural word boundaries */
    word-break: normal !important; /* Don't break words mid-word */
    hyphens: none !important; /* No hyphenation */
    display: grid !important; /* Use grid to keep icon on same line */
    grid-template-columns: 1fr auto; /* title then icon */
    align-items: start !important; /* top-align items so icon stays with first line */
    height: 100% !important;
    max-height: 64px !important; /* 72px - 8px total padding (4px top + 4px bottom) */
    overflow: hidden !important; /* Prevent expansion beyond 72px */
    line-height: 1.2 !important; /* Tighter line height to fit more lines */
    padding: 0 5px !important; /* Increased inset keeps text clear of focus outline */
    margin: 0 !important; /* Remove any margins */
    column-gap: 6px; /* small gap between text and icon */
}

#desktopView #results-grid .k-grid-header th .k-column-title,
#desktopView #results-grid .k-table-thead th .k-column-title,
#desktopView .k-grid .k-grid-header th .k-column-title,
#desktopView .k-grid .k-table-thead th .k-column-title {
    text-align: center !important;
    font-size: 13px !important; /* Set font size to 13px */
    white-space: normal !important; /* Allow text to wrap */
    word-wrap: normal !important; /* Do not break inside words */
    overflow-wrap: normal !important; /* Wrap only at natural word boundaries */
    word-break: normal !important; /* Don't break words mid-word */
    hyphens: none !important; /* No hyphenation */
    line-height: 1.2 !important; /* Tighter line-height to fit more lines */
    margin: 0 !important; /* Remove any margins */
    padding: 0 !important; /* Remove any padding */
    min-width: 0 !important; /* allow wrapping within grid cell */
    justify-self: center; /* keep title centered in its column */
}

#desktopView #results-grid .k-grid-header th.rs-header--single,
#desktopView #results-grid .k-table-thead th.rs-header--single,
#desktopView .k-grid .k-grid-header th.rs-header--single,
#desktopView .k-grid .k-table-thead th.rs-header--single {
    white-space: nowrap !important;
    overflow: hidden !important;
}

#desktopView #results-grid .k-grid-header th.rs-header--single .k-link,
#desktopView #results-grid .k-table-thead th.rs-header--single .k-link,
#desktopView .k-grid .k-grid-header th.rs-header--single .k-link,
#desktopView .k-grid .k-table-thead th.rs-header--single .k-link {
    align-items: center !important;
    white-space: nowrap !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
}

#desktopView #results-grid .k-grid-header th.rs-header--single .k-column-title,
#desktopView #results-grid .k-table-thead th.rs-header--single .k-column-title,
#desktopView .k-grid .k-grid-header th.rs-header--single .k-column-title,
#desktopView .k-grid .k-table-thead th.rs-header--single .k-column-title {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    justify-self: stretch !important;
}

#desktopView #results-grid .k-grid-header th.rs-header--multi,
#desktopView #results-grid .k-table-thead th.rs-header--multi,
#desktopView .k-grid .k-grid-header th.rs-header--multi,
#desktopView .k-grid .k-table-thead th.rs-header--multi {
    white-space: normal !important;
    overflow: hidden !important;
}

#desktopView #results-grid .k-grid-header th.rs-header--multi .k-link,
#desktopView #results-grid .k-table-thead th.rs-header--multi .k-link,
#desktopView .k-grid .k-grid-header th.rs-header--multi .k-link,
#desktopView .k-grid .k-table-thead th.rs-header--multi .k-link {
    white-space: normal !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
}

#desktopView #results-grid .k-grid-header th.rs-header--multi .k-column-title,
#desktopView #results-grid .k-table-thead th.rs-header--multi .k-column-title,
#desktopView .k-grid .k-grid-header th.rs-header--multi .k-column-title,
#desktopView .k-grid .k-table-thead th.rs-header--multi .k-column-title {
    display: block !important;
    white-space: normal !important;
    overflow: hidden !important;
    justify-self: stretch !important;
    width: 100% !important;
    overflow-wrap: break-word !important;
}

/* Ensure sort icon is aligned to the right within the header cell */
#desktopView #results-grid .k-grid-header th .k-sort-icon,
#desktopView #results-grid .k-table-thead th .k-sort-icon,
#desktopView .k-grid .k-grid-header th .k-sort-icon,
#desktopView .k-grid .k-table-thead th .k-sort-icon {
    justify-self: end;
    align-self: start; /* align with first text line */
    margin-right: 6px; /* nudge left to avoid border overlap */
}
