#footer p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 9pt;
	text-align: center;
}   

body {
  padding-bottom: 100px;
}


.is-invalid {
    border-color: red;
}



.colorblind {
    --bs-primary: #0072B2;   /* blue */
    --bs-secondary: #6c757d; /* keep neutral */
    --bs-success: #009E73;   /* teal (safe green) */
    --bs-danger: #D55E00;    /* orange */
    --bs-warning: #E69F00;   /* yellow-orange */
    --bs-info: #56B4E9;      /* light blue */

    /* Improve contrast */
    --bs-body-color: #000;
    --bs-body-bg: #ffffff;
}

/* Apply to buttons */
.colorblind .btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.colorblind .btn-secondary {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
}

.colorblind .btn-success {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
}

.colorblind .btn-danger {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
}

.colorblind .btn-warning {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    color: black !important;
}

.colorblind .btn-info {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
}

/* Tables (keep striping but improve contrast) */
.colorblind .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f2f2f2 !important;
}

.colorblind .modal-header.bg-warning {
    background-color: var(--bs-warning) !important;
    color: black !important;
}

.colorblind footer {
    background-color: #222 !important;
    color: #fff !important;
}

.colorblind a {
    color: var(--bs-primary) !important;
}

.colorblind img {
    filter: saturate(80%);
}