:root {
    --h7-navy: #2f4368;
    --h7-teal: #11b7be;
    --h7-light: #e8fafb;
    --h7-link: #2f4368;
}

/* Typography + links */
body,
.page-content--bgf7,
#app {
    color: #24384f;
}

a {
    color: var(--h7-link);
}

a:hover {
    color: #213553;
}

/* Primary visual language */
.btn-primary,
.btn-success {
    background: linear-gradient(115deg, var(--h7-navy) 0%, var(--h7-teal) 100%);
    border-color: var(--h7-teal);
    color: #fff;
    transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}

.btn-primary:hover,
.btn-success:hover {
    background: var(--h7-teal);
    border-color: var(--h7-teal);
    color: #fff;
    filter: none;
}

.btn-primary:focus,
.btn-success:focus,
.btn-primary:active,
.btn-success:active {
    background: var(--h7-teal) !important;
    border-color: var(--h7-teal) !important;
    color: #fff !important;
}

.bg-primary,
.badge-primary {
    background: var(--h7-navy) !important;
}

.text-primary {
    color: var(--h7-navy) !important;
}

/* Keep semantic warning/danger untouched by design request */

/* Common cards across pages */
.page-content--bgf7 .card .card-header:not([class*="bg-"]),
#app .card .card-header:not([class*="bg-"]) {
    color: #fff;
    background: linear-gradient(110deg, var(--h7-navy) 0%, var(--h7-teal) 100%);
}

.page-content--bgf7 .card,
#app .card {
    border-color: #d6e3ef;
}

/* Inputs/focus globally */
.form-control:focus,
.custom-select:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--h7-teal) !important;
    box-shadow: 0 0 0 3px rgba(17, 183, 190, 0.16) !important;
}

/* Pagination */
.page-item.active .page-link {
    background: var(--h7-navy);
    border-color: var(--h7-navy);
}

/* Utility buttons used by theme */
.au-btn--green {
    background: linear-gradient(115deg, var(--h7-navy) 0%, var(--h7-teal) 100%);
    transition: background-color .22s ease, border-color .22s ease, color .22s ease;
}

.au-btn--green:hover,
.au-btn--green:focus,
.au-btn--green:active {
    background: var(--h7-teal) !important;
}
