.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger,
.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--gps-primary);
    --bs-btn-border-color: var(--gps-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--gps-primary-dark);
    --bs-btn-hover-border-color: var(--gps-primary-dark);
    --bs-btn-focus-shadow-rgb: 18, 107, 133;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--gps-primary-dark);
    --bs-btn-active-border-color: var(--gps-primary-dark);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--gps-primary);
    --bs-btn-disabled-border-color: var(--gps-primary);
    background: var(--gps-primary-gradient);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: linear-gradient(90deg, var(--gps-primary-dark), var(--gps-primary));
}

.btn-success {
    --bs-btn-bg: var(--gps-success);
    --bs-btn-border-color: var(--gps-success);
    --bs-btn-hover-bg: var(--gps-success-dark);
    --bs-btn-hover-border-color: var(--gps-success-dark);
    --bs-btn-focus-shadow-rgb: 57, 148, 70;
    --bs-btn-active-bg: var(--gps-success-dark);
    --bs-btn-active-border-color: var(--gps-success-dark);
    --bs-btn-disabled-bg: var(--gps-success);
    --bs-btn-disabled-border-color: var(--gps-success);
    background: var(--gps-success-gradient);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background: linear-gradient(90deg, var(--gps-success-dark), var(--gps-success));
}

.btn-info {
    --bs-btn-bg: var(--gps-info);
    --bs-btn-border-color: var(--gps-info);
    --bs-btn-hover-bg: var(--gps-info-dark);
    --bs-btn-hover-border-color: var(--gps-info-dark);
    --bs-btn-focus-shadow-rgb: 45, 145, 178;
    --bs-btn-active-bg: var(--gps-info-dark);
    --bs-btn-active-border-color: var(--gps-info-dark);
    --bs-btn-disabled-bg: var(--gps-info);
    --bs-btn-disabled-border-color: var(--gps-info);
    background: var(--gps-info-gradient);
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background: linear-gradient(90deg, var(--gps-info-dark), var(--gps-info));
}

.btn-warning {
    --bs-btn-bg: var(--gps-warning);
    --bs-btn-border-color: var(--gps-warning);
    --bs-btn-hover-bg: var(--gps-warning-dark);
    --bs-btn-hover-border-color: var(--gps-warning-dark);
    --bs-btn-focus-shadow-rgb: 207, 132, 29;
    --bs-btn-active-bg: var(--gps-warning-dark);
    --bs-btn-active-border-color: var(--gps-warning-dark);
    --bs-btn-disabled-bg: var(--gps-warning);
    --bs-btn-disabled-border-color: var(--gps-warning);
    background: var(--gps-warning-gradient);
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background: linear-gradient(90deg, var(--gps-warning-dark), var(--gps-warning));
}

.btn-danger {
    --bs-btn-bg: var(--gps-danger);
    --bs-btn-border-color: var(--gps-danger);
    --bs-btn-hover-bg: var(--gps-danger-dark);
    --bs-btn-hover-border-color: var(--gps-danger-dark);
    --bs-btn-focus-shadow-rgb: 195, 72, 85;
    --bs-btn-active-bg: var(--gps-danger-dark);
    --bs-btn-active-border-color: var(--gps-danger-dark);
    --bs-btn-disabled-bg: var(--gps-danger);
    --bs-btn-disabled-border-color: var(--gps-danger);
    background: var(--gps-danger-gradient);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background: linear-gradient(90deg, var(--gps-danger-dark), var(--gps-danger));
}

.btn-secondary {
    --bs-btn-bg: var(--gps-secondary);
    --bs-btn-border-color: var(--gps-secondary);
    --bs-btn-hover-bg: var(--gps-secondary-dark);
    --bs-btn-hover-border-color: var(--gps-secondary-dark);
    --bs-btn-focus-shadow-rgb: 101, 123, 141;
    --bs-btn-active-bg: var(--gps-secondary-dark);
    --bs-btn-active-border-color: var(--gps-secondary-dark);
    --bs-btn-disabled-bg: var(--gps-secondary);
    --bs-btn-disabled-border-color: var(--gps-secondary);
    background: var(--gps-secondary-gradient);
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    background: linear-gradient(90deg, var(--gps-secondary-dark), var(--gps-secondary));
}

.btn-outline-primary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-secondary {
    --bs-btn-color: var(--gps-primary);
    --bs-btn-border-color: var(--gps-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--gps-primary);
    --bs-btn-hover-border-color: var(--gps-primary);
    --bs-btn-focus-shadow-rgb: 18, 107, 133;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--gps-primary-dark);
    --bs-btn-active-border-color: var(--gps-primary-dark);
    --bs-btn-disabled-color: var(--gps-primary);
    --bs-btn-disabled-border-color: var(--gps-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.active {
    background: var(--gps-primary-gradient);
}

.btn-outline-success {
    --bs-btn-color: var(--gps-success);
    --bs-btn-border-color: var(--gps-success);
    --bs-btn-hover-bg: var(--gps-success);
    --bs-btn-hover-border-color: var(--gps-success);
    --bs-btn-focus-shadow-rgb: 57, 148, 70;
    --bs-btn-active-bg: var(--gps-success-dark);
    --bs-btn-active-border-color: var(--gps-success-dark);
    --bs-btn-disabled-color: var(--gps-success);
    --bs-btn-disabled-border-color: var(--gps-success);
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success.active {
    background: var(--gps-success-gradient);
}

.btn-outline-info {
    --bs-btn-color: var(--gps-info);
    --bs-btn-border-color: var(--gps-info);
    --bs-btn-hover-bg: var(--gps-info);
    --bs-btn-hover-border-color: var(--gps-info);
    --bs-btn-focus-shadow-rgb: 45, 145, 178;
    --bs-btn-active-bg: var(--gps-info-dark);
    --bs-btn-active-border-color: var(--gps-info-dark);
    --bs-btn-disabled-color: var(--gps-info);
    --bs-btn-disabled-border-color: var(--gps-info);
}

.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info.active {
    background: var(--gps-info-gradient);
}

.btn-outline-warning {
    --bs-btn-color: var(--gps-warning);
    --bs-btn-border-color: var(--gps-warning);
    --bs-btn-hover-bg: var(--gps-warning);
    --bs-btn-hover-border-color: var(--gps-warning);
    --bs-btn-focus-shadow-rgb: 207, 132, 29;
    --bs-btn-active-bg: var(--gps-warning-dark);
    --bs-btn-active-border-color: var(--gps-warning-dark);
    --bs-btn-disabled-color: var(--gps-warning);
    --bs-btn-disabled-border-color: var(--gps-warning);
}

.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning.active {
    background: var(--gps-warning-gradient);
}

.btn-outline-danger {
    --bs-btn-color: var(--gps-danger);
    --bs-btn-border-color: var(--gps-danger);
    --bs-btn-hover-bg: var(--gps-danger);
    --bs-btn-hover-border-color: var(--gps-danger);
    --bs-btn-focus-shadow-rgb: 195, 72, 85;
    --bs-btn-active-bg: var(--gps-danger-dark);
    --bs-btn-active-border-color: var(--gps-danger-dark);
    --bs-btn-disabled-color: var(--gps-danger);
    --bs-btn-disabled-border-color: var(--gps-danger);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger.active {
    background: var(--gps-danger-gradient);
}

.btn-outline-secondary {
    --bs-btn-color: var(--gps-secondary);
    --bs-btn-border-color: var(--gps-secondary);
    --bs-btn-hover-bg: var(--gps-secondary);
    --bs-btn-hover-border-color: var(--gps-secondary);
    --bs-btn-focus-shadow-rgb: 101, 123, 141;
    --bs-btn-active-bg: var(--gps-secondary-dark);
    --bs-btn-active-border-color: var(--gps-secondary-dark);
    --bs-btn-disabled-color: var(--gps-secondary);
    --bs-btn-disabled-border-color: var(--gps-secondary);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary.active {
    background: var(--gps-secondary-gradient);
}

.bg-primary {
    background: var(--gps-primary-gradient) !important;
}

.bg-success {
    background: var(--gps-success-gradient) !important;
}

.bg-info {
    background: var(--gps-info-gradient) !important;
}

.bg-warning {
    background: var(--gps-warning-gradient) !important;
}

.bg-danger {
    background: var(--gps-danger-gradient) !important;
}

.bg-secondary {
    background: var(--gps-secondary-gradient) !important;
}

.border-primary {
    border-color: var(--gps-primary) !important;
}

.border-success {
    border-color: var(--gps-success) !important;
}

.border-info {
    border-color: var(--gps-info) !important;
}

.border-warning {
    border-color: var(--gps-warning) !important;
}

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

.border-secondary {
    border-color: var(--gps-secondary) !important;
}

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

.text-success {
    color: var(--gps-success) !important;
}

.text-info {
    color: var(--gps-info) !important;
}

.text-warning {
    color: var(--gps-warning) !important;
}

.text-danger {
    color: var(--gps-danger) !important;
}

.text-secondary {
    color: var(--gps-secondary) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background: var(--gps-primary-gradient);
    border-color: var(--gps-primary);
}

.card:not(.card-no-modern).border-primary {
    border-color: var(--gps-primary) !important;
}

.card:not(.card-no-modern).border-success {
    border-color: var(--gps-success) !important;
}

.card:not(.card-no-modern).border-info {
    border-color: var(--gps-info) !important;
}

.card:not(.card-no-modern).border-warning {
    border-color: var(--gps-warning) !important;
}

.card:not(.card-no-modern).border-danger {
    border-color: var(--gps-danger) !important;
}

.card:not(.card-no-modern).border-secondary {
    border-color: var(--gps-secondary) !important;
}

.card:not(.card-no-modern) > .card-header.bg-primary,
.card:not(.card-no-modern) > .card-heading.bg-primary {
    background: var(--gps-primary-gradient) !important;
    border-color: var(--gps-primary) !important;
}

.card:not(.card-no-modern) > .card-header.bg-success,
.card:not(.card-no-modern) > .card-heading.bg-success {
    background: var(--gps-success-gradient) !important;
    border-color: var(--gps-success) !important;
}

.card:not(.card-no-modern) > .card-header.bg-info,
.card:not(.card-no-modern) > .card-heading.bg-info {
    background: var(--gps-info-gradient) !important;
    border-color: var(--gps-info) !important;
}

.card:not(.card-no-modern) > .card-header.bg-warning,
.card:not(.card-no-modern) > .card-heading.bg-warning {
    background: var(--gps-warning-gradient) !important;
    border-color: var(--gps-warning) !important;
}

.card:not(.card-no-modern) > .card-header.bg-danger,
.card:not(.card-no-modern) > .card-heading.bg-danger {
    background: var(--gps-danger-gradient) !important;
    border-color: var(--gps-danger) !important;
}

.card:not(.card-no-modern) > .card-header.bg-secondary,
.card:not(.card-no-modern) > .card-heading.bg-secondary {
    background: var(--gps-secondary-gradient) !important;
    border-color: var(--gps-secondary) !important;
}

.card:not(.card-no-modern) > .card-header.bg-primary a:not(.btn),
.card:not(.card-no-modern) > .card-heading.bg-primary a:not(.btn),
.card:not(.card-no-modern) > .card-header.bg-success a:not(.btn),
.card:not(.card-no-modern) > .card-heading.bg-success a:not(.btn),
.card:not(.card-no-modern) > .card-header.bg-info a:not(.btn),
.card:not(.card-no-modern) > .card-heading.bg-info a:not(.btn),
.card:not(.card-no-modern) > .card-header.bg-warning a:not(.btn),
.card:not(.card-no-modern) > .card-heading.bg-warning a:not(.btn),
.card:not(.card-no-modern) > .card-header.bg-danger a:not(.btn),
.card:not(.card-no-modern) > .card-heading.bg-danger a:not(.btn),
.card:not(.card-no-modern) > .card-header.bg-secondary a:not(.btn),
.card:not(.card-no-modern) > .card-heading.bg-secondary a:not(.btn) {
    color: rgba(255, 255, 255, 0.94) !important;
    text-decoration-color: rgba(255, 255, 255, 0.55);
    text-underline-offset: 0.12em;
}

.card:not(.card-no-modern) > .card-header.bg-primary a:not(.btn):hover,
.card:not(.card-no-modern) > .card-heading.bg-primary a:not(.btn):hover,
.card:not(.card-no-modern) > .card-header.bg-success a:not(.btn):hover,
.card:not(.card-no-modern) > .card-heading.bg-success a:not(.btn):hover,
.card:not(.card-no-modern) > .card-header.bg-info a:not(.btn):hover,
.card:not(.card-no-modern) > .card-heading.bg-info a:not(.btn):hover,
.card:not(.card-no-modern) > .card-header.bg-warning a:not(.btn):hover,
.card:not(.card-no-modern) > .card-heading.bg-warning a:not(.btn):hover,
.card:not(.card-no-modern) > .card-header.bg-danger a:not(.btn):hover,
.card:not(.card-no-modern) > .card-heading.bg-danger a:not(.btn):hover,
.card:not(.card-no-modern) > .card-header.bg-secondary a:not(.btn):hover,
.card:not(.card-no-modern) > .card-heading.bg-secondary a:not(.btn):hover,
.card:not(.card-no-modern) > .card-header.bg-primary a:not(.btn):focus,
.card:not(.card-no-modern) > .card-heading.bg-primary a:not(.btn):focus,
.card:not(.card-no-modern) > .card-header.bg-success a:not(.btn):focus,
.card:not(.card-no-modern) > .card-heading.bg-success a:not(.btn):focus,
.card:not(.card-no-modern) > .card-header.bg-info a:not(.btn):focus,
.card:not(.card-no-modern) > .card-heading.bg-info a:not(.btn):focus,
.card:not(.card-no-modern) > .card-header.bg-warning a:not(.btn):focus,
.card:not(.card-no-modern) > .card-heading.bg-warning a:not(.btn):focus,
.card:not(.card-no-modern) > .card-header.bg-danger a:not(.btn):focus,
.card:not(.card-no-modern) > .card-heading.bg-danger a:not(.btn):focus,
.card:not(.card-no-modern) > .card-header.bg-secondary a:not(.btn):focus,
.card:not(.card-no-modern) > .card-heading.bg-secondary a:not(.btn):focus {
    color: #fff !important;
    text-decoration-color: #fff;
}

body.gps-mobile-shell .card:not(.card-no-modern) {
    background: var(--gps-surface);
    border-color: rgba(14, 90, 112, 0.16);
    border-radius: 0.75rem;
    box-shadow: 0 0.45rem 1.2rem rgba(23, 35, 49, 0.06);
    overflow: hidden;
}

body.gps-mobile-shell .card:not(.card-no-modern) > .card-header:first-child {
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
}

body.gps-mobile-shell .card:not(.card-no-modern) > .card-footer:last-child {
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
}
