/* Skip link for keyboard navigation */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: white;
    padding: 8px;
    text-decoration: none;
    z-index: 100;
}

.skip-link:focus {
    top: 0;
}

/* Focus indicators */
a:focus, button:focus, input:focus, select:focus, textarea:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
}

/* WCAG 2.4.7: dropdown-toggle uses box-shadow focus indicator from site.css */
.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* Grid focus indicators — WCAG 2.4.7: visible focus for Kendo grid cells and
   plain report-grid table cells. #767676 gives ≥3:1 contrast on all cell
   backgrounds: #c4e2f7 (headers) → 3.35:1, #dbedf7 (even rows) → 3.94:1,
   #ffffff (odd rows) → 4.53:1.
   Kendo applies the .k-focus class on navigable cells in addition to :focus. */
.k-grid th:focus,
.k-grid th:focus-visible,
.k-grid th.k-focus,
.k-grid .k-table-th.k-focus,
.k-grid td:focus,
.k-grid td:focus-visible,
.k-grid td.k-focus,
.k-grid .k-table-td.k-focus,
.k-grid .k-link:focus,
.k-grid .k-link:focus-visible,
table.report-grid th:focus,
table.report-grid th:focus-visible,
table.report-grid td:focus,
table.report-grid td:focus-visible {
    outline: 3px solid #767676 !important;
    outline-offset: -3px !important;
}

/* Ensure sufficient color contrast */
.btn-primary {
    background-color: #0066cc;
    border-color: #0066cc;
    color: #ffffff;
}

/* Screen reader only content */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border-width: 0;
}
