/* Universal Contrast Fixes for All Sites */
/* This file contains universal contrast improvements that apply to all multi-tenant sites */

/* High contrast for better accessibility */
:root {
    --contrast-text-dark: #212529;
    --contrast-text-light: #ffffff;
    --contrast-border-dark: #6c757d;
}

/* Ensure high contrast for all text elements */
body {
    color: var(--contrast-text-dark);
}

/* Button contrast improvements */
.btn {
    border-width: 2px;
}

.btn:focus, .btn:active {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    outline: 2px solid transparent;
}

/* Form control contrast */
.form-control, .form-select {
    border: 2px solid var(--contrast-border-dark);
}

.form-control:focus, .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* Link contrast improvements */
a {
    text-decoration: underline;
}

a:hover, a:focus {
    text-decoration: underline;
    filter: brightness(1.2);
}

/* Navigation contrast */
.navbar-dark .navbar-nav .nav-link {
    color: var(--contrast-text-light);
}

.navbar-light .navbar-nav .nav-link {
    color: var(--contrast-text-dark);
}

/* Alert contrast improvements */
.alert {
    border-width: 2px;
}

/* Table contrast improvements */
.table {
    border-collapse: separate;
    border-spacing: 0;
}

.table th, .table td {
    border-top: 1px solid var(--contrast-border-dark);
    border-left: 1px solid var(--contrast-border-dark);
}

/* Skip link for accessibility */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: #000;
    color: #fff;
    padding: 8px;
    text-decoration: none;
    z-index: 1000;
    border-radius: 0 0 8px 8px;
}

.skip-link:focus {
    top: 0;
}

/* Ensure sufficient color contrast for all sites */
.text-muted {
    color: #6c757d !important;
}

/* Focus indicators */
*:focus {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* Remove focus outline on mouse click but keep for keyboard navigation */
*:focus:not(:focus-visible) {
    outline: none;
}

*:focus-visible {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}