/* === Base Reset === */
* {
    text-shadow: none !important;
}
/* body {
    font-family: Arial, sans-serif !important;
}
*/
/* === Header === */
.app .app-header.app-header-design-default {
    background: #ffffff;
    border-bottom: none;
}

/* === Top Navigation === */
.app .app-navigation-horizontal {
    background-color: #333333;
    border-color: #333333;
}
.app .app-navigation-horizontal nav > ul > li > a {
    color: #ffffff;
    border-radius: 0 !important;
    padding-top: 12px;
    padding-bottom: 12px;
    line-height: normal;
    height: 100%;
    display: flex;
    align-items: center;
    transition: none !important;
}
.app .app-navigation-horizontal nav > ul > li > a:hover {
    background-color: #ffffff !important;
    color: #333333 !important;
}
.app .app-navigation-horizontal nav > ul > li.active > a {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/* === Left Navigation === */
.app-navigation.app-navigation-style-default {
    background-color: #333333;
}

/* === First-Level Menu Items === */
.app-navigation.app-navigation-style-default nav > ul > li > a {
    background-color: #333333;
    color: #ffffff !important;
    padding: 10px 16px;
    line-height: 1.6;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    min-height: 40px;
    transition: none !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > a .fa,
.app-navigation.app-navigation-style-default nav > ul > li > a span.fa {
    color: #ffffff !important;
    transition: none !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > a:hover .fa,
.app-navigation.app-navigation-style-default nav > ul > li > a:hover span.fa {
    color: #333333 !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > a:hover {
    color: #333333 !important;
    background-color: #ffffff !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > a.active,
.app-navigation.app-navigation-style-default nav > ul > li.active > a {
    color: #a51c30 !important;
    background-color: #ffffff !important;
}

/* === Second-Level Menu Items === */
.app-navigation.app-navigation-style-default nav > ul > li > ul > li > a {
    background-color: #ffffff;
    color: #a51c30 !important;
    padding: 8px 20px;
    line-height: 1.5;
    letter-spacing: 0.4px;
    border-bottom: 1px solid #ebebeb;
    display: flex;
    align-items: center;
    min-height: 40px;
    transition: none !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > ul > li > a .fa,
.app-navigation.app-navigation-style-default nav > ul > li > ul > li > a span.fa {
    color: #000000 !important;
    transition: none !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > ul > li.active > a {
    background-color: #ffffff !important;
    color: #000000 !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > ul > li.active > a .fa,
.app-navigation.app-navigation-style-default nav > ul > li > ul > li.active > a span.fa {
    color: #333333 !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > ul > li:hover > a,
.app-navigation.app-navigation-style-default nav > ul > li > ul > li:hover > a > span {
    color: #ffffff !important;
    background-color: #333333 !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > ul > li:hover > a .fa,
.app-navigation.app-navigation-style-default nav > ul > li > ul > li:hover > a span.fa {
    color: #ffffff !important;
}

/* === Other Navigation States === */
.app-navigation.app-navigation-style-default nav > ul > li:not(.open) > a > span {
    color: #ffffff;
}
.app-navigation.app-navigation-style-default nav > ul > li.openable:not(.open):hover > a:after,
.app-navigation.app-navigation-style-default nav > ul > li:not(.open):hover > a > span {
    color: #ffffff;
}
.app-navigation.app-navigation-style-default nav > ul > li.openable > a:after {
    color: #ffffff;
}
.app-navigation.app-navigation-style-default nav > ul > li.openable.open > a,
.app-navigation.app-navigation-style-default nav > ul > li.openable.open > a > span {
    background-color: #a51c30 !important;
    color: #ffffff !important;
    border-bottom: 1px solid #ebebeb;
}
.app-navigation.app-navigation-style-default nav > ul > li.openable.open > a .fa,
.app-navigation.app-navigation-style-default nav > ul > li.openable.open > a span.fa {
    color: #ffffff !important;
}
.app-navigation.app-navigation-style-default nav > ul > li {
    border-bottom: 1px solid #ebebeb;
}

/* === Footer === */
.app .app-footer.app-footer-default {
    background-color: #333333;
}
.app .app-footer.app-footer-default a {
    color: #ffffff;
}
.app .app-footer.app-footer-default:after,
.app .app-footer.app-footer-default .app-footer-line.darken {
    background-color: #333333;
}

/* === Headings === */
h1, h2, h3, h4, h5, h6 {
    color: #000000 !important;
}

/* === Panels === */
.panel-primary > .panel-heading {
    background-color: #ffffff !important;
    border-color: #ffffff !important;
    color: #000000 !important;
}

/* === Primary Button Styles === */
.btn.btn-primary {
    color: #a51c30;
    background-color: #ffffff;
    border: 1px solid #a51c30;
    transition: none !important;
}
.btn.btn-primary:hover,
.btn.btn-primary.active,
.btn.btn-primary:active,
.btn.btn-primary:active:focus {
    color: #fff;
    background-color: #1e1e1e;
    border: 1px solid #1e1e1e;
}
.btn.btn-primary.btn-icon-fixed span[class^="icon-"],
.btn.btn-primary.btn-icon-fixed span.fa {
    border-right: 1px solid #a51c30;
    background: #a51c30;
    transition: none !important;
}
.btn-primary .btn-label {
    background-color: #a51c30;
    color: #fff;
}

/* === Icon Button with Fixed Width and Light Grey Border === */
.btn.btn-icon-fixed {
    border: 1px solid #d3d3d3 !important;
}

/* === Pagination === */
.app .pagination li.active > a,
.app .pagination li.active span {
    background: #a51c30;
    color: #fff;
    text-shadow: none !important;
}

/* === WCAG Focus Styles for Navigation === */
.app-navigation-horizontal nav > ul > li > a:focus,
.app-navigation.app-navigation-style-default nav > ul > li > a:focus {
    outline: 2px dotted #ffffff !important;
    outline-offset: 2px !important;
}
.app-navigation.app-navigation-style-default nav > ul > li > ul > li > a:focus {
    outline: 2px dotted #000000 !important;
    outline-offset: 2px !important;
}

/* === WCAG Form Controls === */
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
    border: 1px solid #8a8a8a;
    padding: 8px;
    font-size: 14px;
    color: #000000;
    background-color: #ffffff;
    border-radius: 4px;
    width: 100%;
    box-sizing: border-box;
    transition: none !important;
}
input:focus,
select:focus,
textarea:focus {
    outline: 2px dotted #333333 !important;
    outline-offset: 2px !important;
    border-color: #333333 !important;
    background-color: #ffffff;
    color: #000000;
}
input:disabled,
select:disabled,
textarea:disabled {
    background-color: #f5f5f5;
    color: #7a7a7a;
    cursor: not-allowed;
}
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
    border-color: #D0021B;
    background-color: #fff8f8;
    color: #D0021B;
}

/* SSO login button colouring controls */
/* Main button styles */
.btn.btn-full {
    color: #fff;
    padding: 14px 20px 12px;
    border-radius: 4px;
    border: 1px solid #9E9E9E;
    /*background-color: #a51c30 !important;*/
    background: #fff; /* Black background for the inactive state */
    width: 250px;
    font-weight: 600;
    text-transform: uppercase; /* Ensure text is uppercase */
    display: inline-block; /* Button-like behavior */
    text-align: center;
    text-decoration: none; /* Remove underline */
    /* box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /* Drop shadow */
    transition: all 0.25s ease-in-out; /* Smooth transition */
    font-size: 16px;
}

/* Hover state */
.btn.btn-full:hover {
    background: #fff; /* blue background on hover */
    color: #000000; /* white text on hover */
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3); /* Stronger shadow on hover */
    border: 1px solid #9E9E9E;
    box-sizing: border-box;
}

/* Focus-visible state */
.btn.btn-full:focus-visible {
    color: #a51c30; /* Black text on focus */
    border: dashed 2px #333333; /* Dashed border for focus */
    padding-bottom: 12px;
    border-radius: 4px;
    background: white; /* White background on focus */
    width: 250px;
    font-weight: 600;
    text-transform: uppercase; /* Maintain uppercase on focus */
    outline: none; /* Remove default outline */
    box-shadow: none; /* No shadow for focus-visible state */
}

.sso-image {
    height: 50px;
    margin-left: -12px; 
}

/* Alert Banners */

/* Green Success Banner alert-success*/
.alert.alert-success {
    background: #EDF9F2;
    color: #000;
    border: 1px solid #07b34e;
}
.alert.alert-success a {
    color: #0b2e13;
    text-shadow: none !important;
    text-decoration: underline;
}

/* Red Alert Banner alert-danger*/
.alert.alert-danger {
    background: #FDF2F2;
    color: #000 !important;
    border: 2px solid #ef4043;
}
.alert.alert-danger a {
    color: #491217;
    text-decoration: underline;
}
.validation-summary-errors >ul>li {
    font-weight: bold;
    color: #000;
} /*forces black text on red b/g to prevent event claim failure notices being unreadable. */

/* Yellow Alert Banner alert-warning*/
.alert.alert-warning {
    background: #FFD485;
    color: #000;
    border: 2px solid #F69F00;
}
.alert.alert-warning a {
    color: #533f03;
    text-decoration: underline;
}

/* Blue Alert Banner alert-info*/
.alert.alert-info {
    background: #E3F5FC;
    color: #000;
    border: 2px solid #4fb5dd;
}
.alert.alert-info a {
    color: #002752;
    text-decoration: underline;
}




/* ----------------------------------------------------
   BASE BUTTON STYLING (shared) verify buttons on OCR
---------------------------------------------------- */
.ocr-verify-btn,
.manual-verify-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    /* padding: 8px 14px !important;
    font-size: 14px !important; */
    border-radius: 4px !important;
    transition: background-color 0.2s ease,
                border-color 0.2s ease,
                color 0.2s ease,
                box-shadow 0.2s ease !important;
}

/* ----------------------------------------------------
   OCR BUTTON (Primary Action)
---------------------------------------------------- */
.ocr-verify-btn {
    background-color: #A9D43B !important;
    border: 1px solid #c6c8ca !important;
    color: #ffffff !important;
}

.ocr-verify-btn:hover:not(:disabled):not(.disabled) {
    background-color: #A9D43B !important;
    border-color: #0062cc !important;
    color: #ffffff !important;
}

.ocr-verify-btn:active:not(:disabled):not(.disabled) {
    background-color: #A9D43B !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

.ocr-verify-btn:focus-visible {
    outline: 3px solid rgba(0, 123, 255, 0.45) !important;
    outline-offset: 2px !important;
}

/* Disabled state */
.ocr-verify-btn:disabled,
.ocr-verify-btn.disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    background-color: #f8f9fa !important;
    border-color: #c6c8ca !important;
    color: #000000 !important;
}


/* ----------------------------------------------------
   MANUAL VERIFY BUTTON (Secondary Action)
---------------------------------------------------- */
.manual-verify-btn {
    background-color: #f8f9fa !important;
    border: 1px solid #ced4da !important;
    color: #333333 !important;
}

.manual-verify-btn:hover:not(.disabled) {
    background-color: #e2e6ea !important;
    border-color: #dae0e5 !important;
    color: #111111 !important;
}

.manual-verify-btn:active:not(.disabled) {
    background-color: #d6d8db !important;
    border-color: #c6c8ca !important;
    color: #111111 !important;
}

.manual-verify-btn:focus-visible {
    outline: 3px solid rgba(108, 117, 125, 0.45) !important;
    outline-offset: 2px !important;
}

/* Disabled / hidden / collapsed state */
.manual-verify-btn.disabled,
.manual-verify-btn[disabled],
.manual-verify-btn.ng-hide {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}