:root {
    --bankora-red: #7A0004;
    --bankora-red-dark: #620003;
    --bankora-gold: #D9282F;
    --bankora-gold-dark: #A91217;
    --bankora-gold-soft: #fff7dc;
}

.text-danger,
.text-red,
.invalid-feedback,
.error {
    color: var(--bankora-gold-dark) !important;
}

.bg-danger,
.badge-danger,
.btn-danger,
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.alert-danger,
.swal2-icon.swal2-error,
.dropdown-item.active,
.dropdown-item:active,
.page-item.active .page-link {
    background-color: var(--bankora-gold) !important;
    border-color: var(--bankora-gold) !important;
    color: #1F0001 !important;
}

.btn-outline-danger {
    color: var(--bankora-gold-dark) !important;
    border-color: var(--bankora-gold) !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background-color: var(--bankora-gold-dark) !important;
    border-color: var(--bankora-gold-dark) !important;
    color: #fff !important;
}

.alert-danger {
    background-color: var(--bankora-gold-soft) !important;
    border-color: var(--bankora-gold) !important;
    color: #4A0002 !important;
}

.border-danger {
    border-color: var(--bankora-gold) !important;
}

.table-danger,
.table-danger > th,
.table-danger > td {
    background-color: var(--bankora-gold-soft) !important;
    color: #4A0002 !important;
}

a.text-danger:hover,
a.text-red:hover {
    color: var(--bankora-gold-dark) !important;
}

.horizontal-menu li.active > a,
.horizontal-menu li a:hover,
.horizontal-menu .dropdown-menu a:hover,
.metismenu li.active > a,
.metismenu a:hover {
    background-color: var(--bankora-gold) !important;
    color: #1F0001 !important;
}

.form-control:focus,
.custom-select:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default .select2-selection--single:focus {
    border-color: var(--bankora-gold) !important;
    box-shadow: 0 0 0 0.15rem rgba(212, 175, 55, 0.22) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--bankora-gold) !important;
    border-color: var(--bankora-gold) !important;
    color: #1F0001 !important;
}

button[style*="red"],
span[style*="red"],
div[style*="red"],
a[style*="red"],
button[style*="#dc3545"],
span[style*="#dc3545"],
div[style*="#dc3545"],
a[style*="#dc3545"],
button[style*="#e3342f"],
span[style*="#e3342f"],
div[style*="#e3342f"],
a[style*="#e3342f"],
button[style*="#f44336"],
span[style*="#f44336"],
div[style*="#f44336"],
a[style*="#f44336"] {
    color: var(--bankora-gold-dark) !important;
}

button[style*="background: red"],
button[style*="background-color: red"],
span[style*="background: red"],
span[style*="background-color: red"],
div[style*="background: red"],
div[style*="background-color: red"],
a[style*="background: red"],
a[style*="background-color: red"],
button[style*="background: #dc3545"],
button[style*="background-color: #dc3545"],
span[style*="background: #dc3545"],
span[style*="background-color: #dc3545"],
div[style*="background: #dc3545"],
div[style*="background-color: #dc3545"],
a[style*="background: #dc3545"],
a[style*="background-color: #dc3545"] {
    background: var(--bankora-gold) !important;
    background-color: var(--bankora-gold) !important;
    color: #1F0001 !important;
}

button[style*="border-color: #dc3545"],
span[style*="border-color: #dc3545"],
div[style*="border-color: #dc3545"],
a[style*="border-color: #dc3545"] {
    border-color: var(--bankora-gold) !important;
}

/* Compact filter controls across institution dashboards and report tables. */
.page-title-area {
    margin-bottom: 12px !important;
}

.page-title-area .row.py-3 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.page-title-area .page-title {
    font-size: 25px;
    line-height: 1.2;
    margin-bottom: 0;
}

.page-title-area .dropdown.float-right,
.page-title-area .dropdown.float {
    margin-top: 0;
}

.page-title-area .dropdown-toggle.btn,
.compact-filter .btn,
.filter-toolbar .btn {
    min-height: 34px;
    padding: 6px 12px !important;
    font-size: 12px !important;
    line-height: 1.25;
    border-radius: 5px;
}

.page-title-area .dropdown-menu {
    font-size: 13px;
    padding: 6px 0;
}

.page-title-area .dropdown-item {
    padding: 6px 14px;
}

#customDateModal .modal-dialog {
    max-width: 380px;
}

#customDateModal .modal-header,
#customDateModal .modal-footer {
    padding: 10px 14px;
}

#customDateModal .modal-body {
    padding: 14px;
}

#customDateModal .form-group {
    margin-bottom: 10px;
}

#customDateModal label {
    font-size: 13px;
    margin-bottom: 4px;
}

#customDateModal .form-control {
    min-height: 34px;
    height: 34px;
    padding: 5px 9px;
    font-size: 13px;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 10px;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
    font-size: 13px;
    margin-bottom: 0;
}

.dataTables_wrapper .dataTables_length select {
    width: 86px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px 8px !important;
    font-size: 13px !important;
}

.dataTables_wrapper .dataTables_filter input {
    width: 210px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 5px 9px !important;
    font-size: 13px !important;
}

.filter-select,
.filter-toolbar .form-control,
.compact-filter .form-control,
.report-filter .form-control,
.report-filter .custom-select,
.approval-filter .form-control,
.approval-filter .custom-select {
    max-width: 220px;
    min-height: 34px !important;
    height: 34px !important;
    padding: 5px 9px !important;
    font-size: 13px !important;
}

.filter-toolbar,
.compact-filter,
.report-filter,
.approval-filter {
    gap: 10px;
    align-items: flex-end;
}

.filter-toolbar label,
.compact-filter label,
.report-filter label,
.approval-filter label {
    font-size: 13px;
    margin-bottom: 4px;
}

@media (max-width: 767.98px) {
    .page-title-area .page-title {
        font-size: 22px;
    }

    .page-title-area .dropdown.float-right,
    .page-title-area .dropdown.float {
        margin-top: 8px;
    }

    .dataTables_wrapper .dataTables_filter input,
    .filter-select,
    .filter-toolbar .form-control,
    .compact-filter .form-control,
    .report-filter .form-control,
    .approval-filter .form-control {
        width: 100% !important;
        max-width: 100%;
    }
}

/* =====================================================================
   Teller360 rebrand — remap Bootstrap green (success/info/teal) utilities
   to the brand red family. Non-destructive override; loaded after Bootstrap.
   ===================================================================== */
:root {
    --t360-red: #D9282F;
    --t360-red-dark: #A81E23;
    --t360-red-deep: #8B171B;
    --t360-red-light: #E8555A;
    --t360-red-soft: #FDECEC;
    --t360-ink: #1F2937;
}

/* Solid success/info -> red */
.btn-success,
.badge-success,
.bg-success,
.label-success,
.alert-success {
    background-color: var(--t360-red) !important;
    border-color: var(--t360-red) !important;
    color: #fff !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
    background-color: var(--t360-red-dark) !important;
    border-color: var(--t360-red-dark) !important;
}
.btn-outline-success {
    color: var(--t360-red) !important;
    border-color: var(--t360-red) !important;
    background-color: transparent !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus {
    background-color: var(--t360-red) !important;
    color: #fff !important;
}

/* Info / teal -> red family too (green-adjacent in this theme) */
.btn-info,
.badge-info,
.bg-info,
.label-info {
    background-color: var(--t360-red-light) !important;
    border-color: var(--t360-red-light) !important;
    color: #fff !important;
}

/* Text + soft backgrounds */
.text-success { color: var(--t360-red) !important; }
.text-info { color: var(--t360-red-light) !important; }
.alert-success {
    background-color: var(--t360-red-soft) !important;
    border-color: var(--t360-red-light) !important;
    color: var(--t360-red-deep) !important;
}

/* Progress bars / table contextual rows */
.progress-bar-success,
.progress-bar.bg-success { background-color: var(--t360-red) !important; }
.table-success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th { background-color: var(--t360-red-soft) !important; }

/* Form validation "valid" green -> keep neutral (avoid confusing with error);
   use a muted grey-green-free tone */
.is-valid,
.was-validated .form-control:valid {
    border-color: var(--t360-red-light) !important;
}
