.nav-container img {
    width: auto;
}

.h2-link-looks-like-h2 {
    color: #666 !important;
}

.pref-form-group label {
    width: 200px;
}

.pref-form-group input[type=checkbox] {
    width: 15px !important;
}

.pref-form-group input[type=text] {
    margin-right: 5px;
}

input[type=radio] {
    width: 1em !important;
}

.width-auto {
    width: auto !important;
}

.text-white a {
    color: rgba(var(--bs-light-rgb),var(--bs-text-opacity)) !important;
}

.table-header-gray {
    background-color: #6c6c6c;
    color: white;
    vertical-align: top;
}

.table-footer-gray {
    background-color: #B8B6B6;
    font-weight: bold;
}

.table-footer-row-alt {
    background-color: #F0F0F0;
}

.filterVerdict-red {
    background-color: red !important;
}

.filterVerdict-yellow {
    background-color: yellow !important;
}

.filterVerdict-green {
    background-color: #00a900 !important;  /* Lighter green for 4.90:1 contrast with black text */
}

.table-col-thinner {
    min-width: 50px;
}

.table-col-thin2 {
    min-width: 90px;
}

.table-col-thin {
    min-width: 130px;
}

.table-col-medium {
    width: 160px;
}

.col-text-right {
    text-align: right;
}

/* Data Calendar */
.calendar-month {
    width: 320px;
    height: 215px;
    border: 1px solid black;
    display: inline-block;
}

.calendar-month-title {
    width: 100%;
    text-align: center;
    background-color: #6c6c6c;
    color: white;
    padding: 2px;
}

.calendar-month-daysofweek {
    height: 30px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    width: 100%;
    letter-spacing: 14px;
}

.calendar-day {
    width: 40px;
    height: 30px;
    display: inline-block;
    text-align: center;
}

/* End Data Calendar */

.button-bump-up {
    margin-top: -4px;
}

.form-control-plaintext{
    margin-bottom: 10px;
}

/* Global focus styles for all interactive elements - MAS 1.4.11 compliance */
a:focus, a:focus-visible,
button:focus, button:focus-visible,
input:focus, input:focus-visible,
select:focus, select:focus-visible,
textarea:focus, textarea:focus-visible,
.btn:focus, .btn:focus-visible {
    outline: 3px solid #0067b8 !important;   /* High contrast blue - 4.54:1 on white */
    outline-offset: 2px !important;          
    border-radius: 2px !important;           
}

a {
    color: #005a9e;                 
    text-decoration: underline !important;     
}

a:hover, a:active {
    color: #004578;                 
    text-decoration: underline !important;     
}

/* Accessibility: Ensure proper color contrast for nav links on primary background */
.bg-primary .nav-link.text-white,
.bg-primary .nav-link.text-white:hover,
.bg-primary .nav-link.text-white:focus,
.bg-primary .text-white {
    color: #ffffff !important;
}

/* Accessibility: Override Bootstrap's text-info for proper contrast - MAS 1.4.3 */
/* Bootstrap default #0dcaf0 only has 1.95:1 contrast on white, 1.85:1 on light gray */
.text-info {
    color: #047b94 !important;  /* 4.92:1 on white, 4.67:1 on #f8f9fa */
}

/* Accessibility: Override Bootstrap's text-muted for proper contrast on light backgrounds - MAS 1.4.3 */
/* Bootstrap default #6c757d has 4.11:1 on #f0f0f0, 4.44:1 on #f8f9fa - both below 4.5:1 */
.table-footer-row-alt .text-muted,
.bg-light .text-muted,
.text-muted {
    color: #5a6268 !important;  /* Darker gray: 4.91:1 on #f0f0f0, 4.86:1 on #f8f9fa, 5.74:1 on white */
}

/* Accessibility: Override Bootstrap's .text-white which uses #f8f9fa */
.navbar.bg-primary .text-white {
    color: #ffffff !important;
}

/* Accessibility: White nav links for proper contrast on blue background */
.navbar.bg-primary .nav-link-white,
.navbar.bg-primary .nav-link-white:hover,
.navbar.bg-primary .nav-link-white:focus,
.navbar.bg-primary .nav-link-white:active,
.navbar.bg-primary .nav-link-white:visited {
    color: #ffffff !important;
}

/* High contrast mode support for Windows - must come last to override all other styles */
@media screen and (-ms-high-contrast: active), 
       screen and (forced-colors: active),
       screen and (prefers-contrast: high) {
    *, *::before, *::after {
        background-color: Canvas !important;
        color: CanvasText !important;
        border-color: CanvasText !important;
    }
    
    a, a:hover, a:focus, a:active {
        color: LinkText !important;
    }
    
    a:visited {
        color: VisitedText !important;
    }
    
    button, input, select, textarea {
        background-color: ButtonFace !important;
        color: ButtonText !important;
        border-color: ButtonText !important;
    }
    
    /* Ensure images are visible in high contrast mode */
    img {
        forced-color-adjust: none !important;
        -ms-high-contrast-adjust: none !important;
    }
    
    /* Reset logo wrapper for high contrast */
    .outlook-logo-wrapper {
        background-color: transparent !important;
        padding: 0 !important;
        display: inline-block !important;
    }
    
    /* Ensure the image itself doesn't have conflicting backgrounds */
    .outlook-logo-wrapper img.outlook-logo {
        background-color: transparent !important;
        border: none !important;
    }
    
    /* Override filter verdict colors for high contrast */
    .filterVerdict-red,
    .filterVerdict-yellow,
    .filterVerdict-green {
        background-color: Canvas !important;
        color: CanvasText !important;
        border: 2px solid CanvasText !important;
    }
    
    /* Override table styling */
    .table-header-gray,
    .table-footer-gray,
    .table-footer-row-alt,
    .calendar-month-title {
        background-color: Canvas !important;
        color: CanvasText !important;
    }
}

/* High Contrast - Light Background (Desert, White) -> Black Logo */
@media screen and (forced-colors: active) and (prefers-color-scheme: light),
       screen and (-ms-high-contrast: black-on-white) {
    .outlook-logo-wrapper img.outlook-logo {
        filter: brightness(0) !important; /* Turn logo black */
    }
}

/* High Contrast - Dark Background (Aquatic, Black) -> White Logo */
@media screen and (forced-colors: active) and (prefers-color-scheme: dark),
       screen and (-ms-high-contrast: white-on-black) {
    .outlook-logo-wrapper img.outlook-logo {
        filter: brightness(100) grayscale(100%) invert(0) !important; /* Ensure logo is white */
    }
}

/* Date input sizing */
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
}

input[type="date"] {
    max-width: 250px;
}

/* Ensure date picker has proper spacing and positioning */
#DateInput {
    margin-bottom: 20px;
}

/* Add extra space below date input at high zoom to prevent calendar cutoff */
@media (max-width: 640px) {
    .main-container.form {
        padding-bottom: 400px !important; /* Extra space for calendar popup */
    }
    
    #DateInput {
        margin-bottom: 40px;
        max-width: 100%;
    }
    
    input[type="date"] {
        max-width: 100%;
    }
}

