body {
    background: #E6F0E6;
}

.bg-body {
    background: #E6F0E6 !important;
}

.text-primary {
    color: #1B4332 !important;
}

.text-body[href]:hover,
.text-heading[href]:hover {
    color: #2D6A4F !important;
}

.bg-primary {
    background-color: #1B4332 !important;
}

a.bg-primary:hover, a.bg-primary:focus {
    background-color: #2D6A4F !important;
}

.bg-label-primary {
    background-color: #D9EAD3 !important;
    color: #1B4332 !important;
}

.page-item .page-link:hover, .page-item .page-link:focus,
.pagination li > a:not(.page-link):hover,
.pagination li > a:not(.page-link):focus {
    background-color: #D9EAD3;
    color: #1B4332;
}

.page-item.active .page-link, .page-item.active .page-link:hover, .page-item.active .page-link:focus, .page-item.active .page-link:disabled, .page-item.active .page-link.disabled,
.pagination li.active > a:not(.page-link),
.pagination li.active > a:not(.page-link):hover,
.pagination li.active > a:not(.page-link):focus,
.pagination li.active > a:not(.page-link):disabled,
.pagination li.active > a:not(.page-link).disabled {
    border-color: #1B4332;
    background-color: #1B4332;
    color: #fff;
}

.page-item .page-link.waves-effect .waves-ripple,
.pagination li > a:not(.page-link).waves-effect .waves-ripple {
    background: radial-gradient(rgba(27, 67, 50, 0.2) 0, rgba(27, 67, 50, 0.3) 40%, rgba(27, 67, 50, 0.4) 50%, rgba(27, 67, 50, 0.5) 60%, rgba(46, 38, 61, 0) 70%);
}

.pagination-outline-primary .page-item.active .page-link, .pagination-outline-primary .page-item.active .page-link:hover, .pagination-outline-primary .page-item.active .page-link:focus,
.pagination-outline-primary.pagination li.active > a:not(.page-link),
.pagination-outline-primary.pagination li.active > a:not(.page-link):hover,
.pagination-outline-primary.pagination li.active > a:not(.page-link):focus {
    border-color: #1B4332 !important;
    color: #1B4332 !important;
    background-color: #D9EAD3 !important;
}

    .pagination-outline-primary .page-item.active .page-link.waves-effect .waves-ripple,
    .pagination-outline-primary.pagination li.active > a:not(.page-link).waves-effect .waves-ripple {
        background: radial-gradient(rgba(27, 67, 50, 0.2) 0, rgba(27, 67, 50, 0.3) 40%, rgba(27, 67, 50, 0.4) 50%, rgba(27, 67, 50, 0.5) 60%, rgba(46, 38, 61, 0) 70%);
    }

.progress-bar {
    background-color: #1B4332;
}

.list-group-item-primary {
    border-color: #2D6A4F;
    background-color: #E6F0E6;
    color: #2D6A4F !important;
}

a.list-group-item-primary,
button.list-group-item-primary {
    color: #2D6A4F;
}

    a.list-group-item-primary.active,
    button.list-group-item-primary.active {
        border-color: #1B4332 !important;
        background-color: #1B4332 !important;
        color: #fff !important;
    }

.list-group-item.active {
    background-color: #D9EAD3;
    color: #1B4332;
}

    .list-group-item.active.waves-effect .waves-ripple {
        background: radial-gradient(rgba(27, 67, 50, 0.2) 0, rgba(27, 67, 50, 0.3) 40%, rgba(27, 67, 50, 0.4) 50%, rgba(27, 67, 50, 0.5) 60%, rgba(46, 38, 61, 0) 70%);
    }

.alert-primary {
    background-color: #D9EAD3;
    border-color: #D9EAD3;
    color: #1B4332;
}

    .alert-primary .btn-close {
        background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231B4332'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
    }

    .alert-primary .alert-link {
        color: #1B4332;
    }

    .alert-primary hr {
        background-color: #1B4332 !important;
    }

    .alert-primary .alert-icon {
        background-color: #1B4332;
    }

.table-primary {
    --bs-table-bg: #D9EAD3;
    --bs-table-striped-bg: #C5DCC2;
    --bs-table-striped-color: #164B37;
    --bs-table-active-bg: #B8CCAD;
    --bs-table-active-color: #164B37;
    --bs-table-hover-bg: #C9DDB7;
    --bs-table-hover-color: #164B37;
    color: #164B37;
    border-color: #A9C49F;
}

    .table-primary .btn-icon,
    .table-primary .btn {
        color: #164B37;
    }

.btn-primary {
    color: #fff;
    background-color: #1B4332;
    border-color: #1B4332;
}

    .btn-primary:hover {
        color: #fff !important;
        background-color: #2D6A4F !important;
        border-color: #2D6A4F !important;
    }

    .btn-check:focus + .btn-primary, .btn-primary:focus, .btn-primary.focus {
        color: #fff;
        background-color: #2D6A4F;
        border-color: #2D6A4F;
    }

    .btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .btn-primary.show.dropdown-toggle, .show > .btn-primary.dropdown-toggle {
        color: #fff !important;
        background-color: #2D6A4F !important;
        border-color: #2D6A4F !important;
    }

    .btn-primary.disabled, .btn-primary:disabled {
        color: #fff !important;
        background-color: #1B4332 !important;
        border-color: #1B4332 !important;
    }

.btn-group .btn-primary,
.input-group .btn-primary {
    border-right: 1px solid #2D6A4F;
    border-left: 1px solid #2D6A4F;
}

.btn-group-vertical .btn-primary {
    border-top: 1px solid #2D6A4F;
    border-bottom: 1px solid #2D6A4F;
}

.btn-outline-primary {
    color: #1B4332;
    border-color: #1B4332;
    background: transparent;
}

    .btn-outline-primary.waves-effect .waves-ripple {
        background: radial-gradient(rgba(27, 67, 50, 0.2) 0, rgba(27, 67, 50, 0.3) 40%, rgba(27, 67, 50, 0.4) 50%, rgba(27, 67, 50, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
    }

    .btn-outline-primary:hover {
        color: #1B4332 !important;
        background-color: #E6F0E6 !important;
        border-color: #1B4332 !important;
    }

    .btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
        color: #1B4332;
        background-color: #E6F0E6;
        border-color: #1B4332;
    }

    .btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {
        color: #1B4332 !important;
        background-color: #E6F0E6 !important;
        border-color: #1B4332 !important;
    }

    .btn-outline-primary.disabled, .btn-outline-primary:disabled {
        color: #1B4332 !important;
        background-color: transparent !important;
    }

    .btn-outline-primary .badge {
        background: #1B4332;
        border-color: #1B4332;
        color: #fff;
    }

    .btn-outline-primary:hover .badge,
    .btn-outline-primary:focus:hover .badge,
    .btn-outline-primary:active .badge,
    .btn-outline-primary.active .badge,
    .show > .btn-outline-primary.dropdown-toggle .badge {
        background: #1B4332;
        border-color: #1B4332;
        color: #fff;
    }

/* Ajustes para dropdowns, navs, etc. */
.dropdown-item.waves-effect .waves-ripple {
    background: radial-gradient(rgba(27, 67, 50, 0.2) 0, rgba(27, 67, 50, 0.3) 40%, rgba(27, 67, 50, 0.4) 50%, rgba(27, 67, 50, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}

.dropdown-item:not(.disabled).active, .dropdown-item:not(.disabled):active {
    background-color: #D9EAD3;
    color: #1B4332 !important;
}

.dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active,
.dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item) {
    background-color: #D9EAD3;
    color: #1B4332;
}

    .dropdown-menu > li:not(.disabled) > a:not(.dropdown-item):active.btn,
    .dropdown-menu > li.active:not(.disabled) > a:not(.dropdown-item).btn {
        color: #164B37;
    }

.nav .nav-link:hover, .nav .nav-link:focus {
    color: #2D6A4F;
}

.nav-pills .nav-link.active, .nav-pills .nav-link.active:hover, .nav-pills .nav-link.active:focus {
    background-color: #1B4332;
    color: #fff;
}

.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:hover, .nav-tabs .nav-link.active:focus {
    color: #1B4332;
}

.nav-tabs .nav-link.waves-effect .waves-ripple {
    background: radial-gradient(rgba(27, 67, 50, 0.2) 0, rgba(27, 67, 50, 0.3) 40%, rgba(27, 67, 50, 0.4) 50%, rgba(27, 67, 50, 0.5) 60%, rgba(255, 255, 255, 0) 70%);
}

.nav-tabs .tab-slider {
    background-color: #1B4332;
}

/* Inputs */
.form-control:focus,
.form-select:focus {
    border-color: #1B4332 !important;
}

.form-floating-outline .form-control:focus,
.form-floating-outline .form-select:focus {
    border-color: #1B4332 !important;
}

.input-group:not(.input-group-floating):focus-within .form-control,
.input-group:not(.input-group-floating):focus-within .input-group-text {
    border-color: #1B4332;
}

.form-check-input:hover::after {
    background: rgba(46, 38, 61, 0.06);
}

.form-check-input:checked {
    background-color: #1B4332;
    border-color: #1B4332;
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: #1B4332;
    border-color: #1B4332;
}

.form-switch .form-check-input:focus {
    /* Mantenha igual se quiser ou adapte */
    background-image: url("data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg filter='url%28%23a%29'%3e%3ccircle cx='12' cy='11' r='8.5' fill='%23fff'/%3e%3c/g%3e%3cdefs%3e%3cfilter id='a' x='0' y='0' width='22' height='22' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3e%3cfeFlood flood-opacity='0' result='BackgroundImageFix'/%3e%3cfeColorMatrix in='SourceAlpha' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0' result='hardAlpha'/%3e%3cfeOffset dy='2'/%3e%3cfeGaussianBlur stdDeviation='2'/%3e%3cfeColorMatrix values='0 0 0 0 0.105882 0 0 0 0 0.258824 0 0 0 0 0.192157 0 0 0 0.16 0'/%3e%3cfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_6488_3264'/%3e%3cfeBlend in='SourceGraphic' in2='effect1_dropShadow_6488_3264' result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked {
    background-image: url("data:image/svg+xml,%3csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cg filter='url%28%23a%29'%3e%3ccircle cx='12' cy='11' r='8.5' fill='%23fff'/%3e%3c/g%3e%3cdefs%3e%3cfilter id='a' x='0' y='0' width='22' height='22' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3e%3cfeFlood flood-opacity='0' result='BackgroundImageFix'/%3e%3cfeColorMatrix in='SourceAlpha' values='0 0 0 0 0.105882 0 0 0 0 0.258824 0 0 0 0 0.192157 0 0 0 0.16 0' result='hardAlpha'/%3e%3cfeOffset dy='2'/%3e%3cfeGaussianBlur stdDeviation='2'/%3e%3cfeColorMatrix values='0 0 0 0 0.105882 0 0 0 0 0.258824 0 0 0 0 0.192157 0 0 0 0.16 0'/%3e%3cfeBlend in2='BackgroundImageFix' result='effect1_dropShadow_6488_3264'/%3e%3cfeBlend in='SourceGraphic' in2='effect1_dropShadow_6488_3264' result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e");
}

.form-control:focus ~ .form-label {
    border-color: #1B4332;
}

    .form-control:focus ~ .form-label::after {
        border-color: inherit;
    }

.form-range::-webkit-slider-thumb {
    background-color: #1B4332;
}

    .form-range::-webkit-slider-thumb:hover {
        box-shadow: 0 0 0 8px rgba(27, 67, 50, 0.15), 0px 3px 14px 0px rgba(46, 38, 61, 0.14);
    }

    .form-range::-webkit-slider-thumb:active {
        background-color: #1B4332;
        box-shadow: 0 0 0 10px rgba(27, 67, 50, 0.2), 0px 3px 14px 0px rgba(46, 38, 61, 0.14);
    }
