:root {
    /* Color primary */
    --primary-50: #eefff2;
    --primary-100: #d7ffe3;
    --primary-200: #b1ffca;
    --primary-300: #74ffa1;
    --primary-400: #31f771;
    --primary-500: #07e951;
    --primary-600: #00bb3c;
    --primary-700: #039232;
    --primary-800: #09722d;
    --primary-900: #095e28;
    --primary-950: #003513;

    /* Color secondary */
    --secondary-50: #e8f1ff;
    --secondary-100: #d5e5ff;
    --secondary-200: #b3cdff;
    --secondary-300: #85aaff;
    --secondary-400: #5678ff;
    --secondary-500: #2f47ff;
    --secondary-600: #0c11ff;
    --secondary-700: #0003ff;
    --secondary-800: #060bcd;
    --secondary-900: #10179f;
    --secondary-950: #0a0c5c;

    /* Main */
    --bg: #0e0e11;
    --bg-opacity: rgba(0, 0, 0, .9);
    --bg-container: #18181b;
    --border-container: #27272a;
    --box-shadow: inset 0 2px 0 0 hsla(0, 0%, 100%, .2), inset 0 -1px 0 0 rgba(0, 0, 0, .25), 0 2px 6px 0 rgba(0, 0, 0, .1);
    --linear-primary: linear-gradient(to left, var(--primary-500), var(--primary-600));
    --linear-secondary: linear-gradient(to left, var(--secondary-500), var(--secondary-600));
    --linear-gray: linear-gradient(transparent 0%, var(--gray-900) 100%);
    --linear-bg-gray: linear-gradient(138deg, var(--gray-600), var(--gray-950));
}

a {
    color: var(--primary-500);
}

a:hover {
    color: var(--primary-700);
}

fieldset {
    border: 1px solid var(--gray-600);
}

legend {
    color: var(--gray-500);
}

input[type=file]::file-selector-button {
    background: linear-gradient(var(--gray-500) 0%, var(--gray-600) 100%) !important;
    color: var(--gray-100);
}

input[type=file]::file-selector-button:hover {
    background: linear-gradient(var(--gray-600) 0%, var(--gray-700) 100%) !important;
    color: var(--gray-200);
}

input[type=file]::file-selector-button:active {
    background: linear-gradient(var(--gray-700) 0%, var(--gray-800) 100%) !important;
    color: var(--gray-300);
}

input[type=file]::file-selector-button:disabled {
    background: var(--gray-950);
    color: var(--gray-700);
}

input[readonly] {
    background: var(--gray-800);
}

input[readonly]:focus {
    background: var(--gray-800);
}

select[readonly] {
    background: var(--gray-800);
}

select[readonly]:focus {
    background: var(--gray-800);
}

/* Webkit */
::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px var(--gray-950) !important;
    background-color: var(--gray-900) !important;
}

::-webkit-scrollbar {
    background-color: var(--gray-900) !important;
}

::-webkit-scrollbar-thumb {
    -webkit-box-shadow: inset 0 0 6px var(--gray-50) !important;
    background: var(--gray-100) !important;
}

.alert .btn-close {
    color: var(--gray-950) !important;
}

/* Btn Primary */
.btn-primary {
    background: linear-gradient(var(--secondary-500) 0%, var(--secondary-600) 100%);
    color: var(--secondary-50) !important;
}

.btn-primary:hover {
    background: linear-gradient(var(--secondary-600) 0%, var(--secondary-700) 100%);
    color: var(--secondary-100) !important;
}

.btn-primary:active {
    background: linear-gradient(var(--secondary-700) 0%, var(--secondary-800) 100%);
    color: var(--secondary-200) !important;
}

.btn-primary:disabled {
    background: var(--secondary-950);
    color: var(--secondary-700) !important;
}

/* Btn Secondary */
.btn-secondary {
    background: linear-gradient(var(--primary-500) 0%, var(--primary-600) 100%);
    color: var(--primary-50) !important;
}

.btn-secondary:hover {
    background: linear-gradient(var(--primary-600) 0%, var(--primary-700) 100%);
    color: var(--primary-100) !important;
}

.btn-secondary:active {
    background: linear-gradient(var(--primary-700) 0%, var(--primary-800) 100%);
    color: var(--primary-200) !important;
}

.btn-secondary:disabled {
    background: var(--primary-950);
    color: var(--primary-700) !important;
}

/* Btn Dark */
.btn-dark {
    background: linear-gradient(var(--gray-500) 0%, var(--gray-600) 100%);
    color: var(--gray-50) !important;
}

.btn-dark:hover {
    background: linear-gradient(var(--gray-600) 0%, var(--gray-700) 100%);
    color: var(--gray-100) !important;
}

.btn-dark:active {
    background: linear-gradient(var(--gray-700) 0%, var(--gray-800) 100%);
    color: var(--gray-200) !important;
}

.btn-dark:disabled {
    background: var(--gray-950);
    color: var(--gray-700) !important;
}

/* Btn Admin */
.btn-admin {
    background: linear-gradient(var(--orange-500) 0%, var(--orange-600) 100%);
    color: var(--orange-50) !important;
}

.btn-admin:hover {
    background: linear-gradient(var(--orange-600) 0%, var(--orange-700) 100%);
    color: var(--orange-100) !important;
}

.btn-admin:active {
    background: linear-gradient(var(--orange-700) 0%, var(--orange-800) 100%);
    color: var(--orange-200) !important;
}

.btn-admin:disabled {
    background: var(--orange-950);
    color: var(--orange-700) !important;
}

/* Btn Success */
.btn-success {
    background: linear-gradient(var(--success-500) 0%, var(--success-600) 100%);
    color: var(--success-50) !important;
}

.btn-success:hover {
    background: linear-gradient(var(--success-600) 0%, var(--success-700) 100%);
    color: var(--success-100) !important;
}

.btn-success:active {
    background: linear-gradient(var(--success-700) 0%, var(--success-800) 100%);
    color: var(--success-200) !important;
}

.btn-success:disabled {
    background: var(--success-950);
    color: var(--success-700) !important;
}

/* Btn Danger */
.btn-danger {
    background: linear-gradient(var(--danger-500) 0%, var(--danger-600) 100%);
    color: var(--danger-50) !important;
}

.btn-danger:hover {
    background: linear-gradient(var(--danger-600) 0%, var(--danger-700) 100%);
    color: var(--danger-100) !important;
}

.btn-danger:active {
    background: linear-gradient(var(--danger-700) 0%, var(--danger-800) 100%);
    color: var(--danger-200) !important;
}

.btn-danger:disabled {
    background: var(--danger-950);
    color: var(--danger-700) !important;
}

/* Btn Info */
.btn-info {
    background: linear-gradient(var(--info-500) 0%, var(--info-600) 100%);
    color: var(--info-50) !important;
}

.btn-info:hover {
    background: linear-gradient(var(--info-600) 0%, var(--info-700) 100%);
    color: var(--info-100) !important;
}

.btn-info:active {
    background: linear-gradient(var(--info-700) 0%, var(--info-800) 100%);
    color: var(--info-200) !important;
}

.btn-info:disabled {
    background: var(--info-950);
    color: var(--info-700) !important;
}

/* Btn Microsoft */
.btn-microsoft {
    background: linear-gradient(var(--gray-50) 0%, var(--gray-100) 100%);
    color: var(--gray-950) !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-microsoft img {
    height: 1rem;
}

.btn-microsoft:hover {
    background: linear-gradient(var(--gray-100) 0%, var(--gray-200) 100%);
    color: var(--gray-900) !important;
}

.btn-microsoft:active {
    background: linear-gradient(var(--gray-200) 0%, var(--gray-300) 100%);
    color: var(--gray-800) !important;
}

/* Btn Outline Primary */
.btn-outline-primary {
    background: transparent;
    color: var(--secondary-50);
}

.btn-outline-primary:hover {
    background: linear-gradient(var(--secondary-600) 0%, var(--secondary-700) 100%);
}

.btn-outline-primary:active {
    background: linear-gradient(var(--secondary-700) 0%, var(--secondary-800) 100%);
}

.btn-outline-primary:focus {
    color: var(--secondary-50);
}

.btn-outline-primary:disabled {
    background: var(--secondary-950);
    color: var(--secondary-700) !important;
}

/* Btn Outline Secondary */
.btn-outline-secondary {
    background: transparent;
    color: var(--primary-50) !important;
}

.btn-outline-secondary:hover {
    background: linear-gradient(var(--primary-600) 0%, var(--primary-700) 100%);
}

.btn-outline-secondary:active {
    background: linear-gradient(var(--primary-700) 0%, var(--primary-800) 100%);
}

.btn-outline-secondary:focus {
    color: var(--primary-50) !important;
}

.btn-outline-secondary:disabled {
    background: var(--primary-950);
    color: var(--primary-700) !important;
}

/* Btn Link */
.btn-link {
    color: var(--primary-500) !important;
}

.btn-link:hover {
    color: var(--primary-700) !important;
}

.btn-link:active {
    color: var(--primary-800) !important;
}

.btn-link:focus {
    color: var(--primary-500);
}

.btn-link:disabled {
    color: var(--primary-950) !important;
}

/* Btn Link Admin */
.btn-link-admin {
    color: var(--orange-500) !important;
}

.btn-link-admin:hover {
    color: var(--orange-700) !important;
}

.btn-link-admin:active {
    color: var(--orange-800) !important;
}

.btn-link-admin:focus {
    color: var(--orange-500) !important;
}

.btn-link-admin:disabled {
    color: var(--orange-950);
}

.btnPlus,
.btnPlusTri,
.btnPlusMes,
.btnPlusCol {
    color: var(--gray-400);
}

/* Text */
.text-primary {
    color: var(--primary-500) !important;
}

.text-dark {
    color: var(--gray-950) !important;
}

.text-light {
    color: var(--gray-50) !important;
}

.text-orange {
    color: var(--orange-500);
}

.text-muted {
    color: var(--gray-400) !important;
}

.text-success {
    color: var(--success-500) !important;
}

.text-danger {
    color: var(--danger-500) !important;
}

.text-warning {
    color: var(--warning-500) !important;
}

.text-info {
    color: var(--info-500) !important;
}

.text-bg-theme {
    background-color: var(--gray-950) !important;
    color: var(--gray-100) !important;
}

.text-bg-dark {
    background-color: var(--gray-950) !important;
    color: var(--gray-100) !important;
}

.text-bg-primary {
    background-color: var(--primary-950) !important;
    color: var(--gray-100) !important;
}

.text-bg-secondary {
    background-color: var(--secondary-950) !important;
    color: var(--gray-100) !important;
}

.text-bg-success {
    background: var(--success-600) !important;
    color: var(--success-50) !important;
}

/* BG */
.bg-success {
    background: linear-gradient(var(--success-500) 0%, var(--success-600) 100%);
    color: var(--success-50);
}

.bg-danger {
    background: linear-gradient(var(--danger-500) 0%, var(--danger-600) 100%);
    color: var(--danger-50);
}

.bg-warning {
    background: linear-gradient(var(--warning-500) 0%, var(--warning-600) 100%);
    color: var(--warning-50);
}

.bg-dark {
    background-color: var(--bg-container) !important;
}

.bg-light {
    background: var(--gray-50) !important;
}

.bg-gray {
    background: var(--gray-950) !important;
}

.bg-dark-gray {
    background: var(--gray-950) !important;
}

.bg-secondary {
    background: var(--gray-950) !important;
}

/* Dropdown */
.dropdown-menu {
    border: 1px solid var(--gray-800) !important;
}

.dropdown-menu a.dropdown-item {
    color: var(--gray-400);
}

.dropdown-menu a.dropdown-item:hover {
    color: var(--gray-50);
    background-color: var(--gray-950);
}

.dropdown-menu a.dropdown-item:active {
    color: var(--gray-50);
    background-color: var(--secondary-950);
}

.dropdown-menu a.dropdown-item:disabled {
    color: var(--gray-800);
}

/* Accordion Default */
.accordion .accordion-item {
    border-color: var(--gray-950) !important;
    background-color: var(--gray-950);
    color: var(--gray-50);
}

.accordion .accordion-item .accordion-header button {
    color: var(--gray-50);
}

.accordion .accordion-item .accordion-header .accordion-button::after {
    color: var(--gray-50);
}

.accordion .accordion-item .accordion-header .accordion-button::after {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fefefe'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !important;
}

.accordion .list-group-item {
    color: var(--gray-50);
    border-color: var(--gray-600);
}

/* Imagens */
.img-thumbnail {
    background-color: var(--gray-950);
    border: 1px solid var(--gray-950);
}

/* Formulários */
.form-control,
.form-check-input,
.form-select {
    border: 1px solid var(--gray-900);
    color: var(--gray-50);
}

.form-check-input:checked {
    background-color: var(--primary-500);
    border-color: var(--primary-500);
}

.form-control:focus,
.form-check-input:focus,
.form-select:focus {
    border-color: var(--primary-500);
    color: var(--gray-200);
}

.form-control:disabled,
.form-check-input:disabled,
.form-select:disabled {
    background-color: var(--gray-900);
    border-color: var(--gray-900);
    color: var(--gray-200);
}

::placeholder {
    color: var(--gray-200) !important;
}

input:not([disabled])::placeholder,
textarea:not([disabled])::placeholder {
    color: var(--gray-500) !important;
}

.input-group-text {
    background-color: var(--gray-900);
    border: 1px solid var(--gray-900);
    color: var(--gray-50);
}

.wrapped-box {
    background: var(--gray-950);
}

/* Menu Tab Horizontal */
.nav-pills .nav-link {
    color: var(--gray-500);
}

.nav-pills .nav-link.active,
.nav-pills .nav-link:focus {
    color: var(--secondary-50);
}

.nav-pills .nav-link:not(.active):hover {
    color: var(--gray-100);
    background-color: var(--gray-950);
}

/* Card Default */
.card-default .card .card-header {
    color: var(--gray-50);
    border-bottom: 1px solid var(--gray-950);
}

.card-default .card .card-title {
    color: var(--gray-50);
}

.card-default .card .autor {
    color: var(--gray-200);
}

.card-default .card-footer {
    color: var(--gray-50);
    border-top: 1px solid var(--gray-950);
}

/* Menu lateral */
#side-nav::-webkit-scrollbar-track {
    background-color: var(--gray-950);
}

#side-nav::-webkit-scrollbar {
    background-color: var(--gray-950);
}

#side-nav::-webkit-scrollbar-thumb {
    background: var(--linear-secondary);
}

#side-nav .sidenav-container .closebtn a {
    color: var(--gray-400) !important;
}

#side-nav .sidenav-container .closebtn a:hover {
    color: var(--gray-50) !important;
}

#side-nav .sidenav-container .nav-pills .nav-link {
    color: var(--gray-400);
}

#side-nav .sidenav-container .nav-pills .nav-link:not(.active):hover {
    background: var(--gray-900);
    color: var(--gray-100);
}

#side-nav .sidenav-container .nav-pills .nav-link.active {
    background: var(--gray-800);
    color: var(--gray-50);
}

#side-nav .sidenav-container .nav-pills .nav-category {
    color: var(--primary-600);
}

#side-nav .sidenav-container .side-nav-profile {
    color: var(--gray-50);
}

#side-nav .sidenav-container .side-nav-profile img {
    background: var(--gray-100);
}

#side-nav .sidenav-container .side-nav-user .collapse .nav-pills .nav-link {
    color: var(--gray-200);
}

/* Menu usuário */
.nav-options .dropdown img {
    background: var(--gray-100);
}

.nav-options .dropdown-menu {
    background: var(--gray-950);
}

.nav-options .dropdown-menu .dropdown-item {
    color: var(--gray-400);
}

.nav-options ul.dropdown-menu li .dropdown-item:hover {
    background: var(--gray-900);
    color: var(--gray-100);
}

.nav-options ul.dropdown-menu li .dropdown-item.active {
    background: var(--gray-900);
    color: var(--gray-50);
}

/* Table */
.table {
    color: var(--gray-50) !important;
    border-color: var(--gray-500);
}

.table-striped>tbody>tr:hover>* {
    color: var(--primary-500) !important;
    background: var(--gray-600) !important;
}

.table>:not(caption)>*>* {
    background-color: var(--gray-900);
}

.table tbody tr td fieldset p {
    color: var(--gray-100);
}

.table tbody tr td fieldset .list-group-item {
    border-color: var(--gray-900);
}

.table tbody tr td fieldset .border-top {
    border-top-color: var(--gray-900) !important;
}

div.dataTables_wrapper {
    color: var(--gray-50);
}

div.dataTables_wrapper div.dataTables_filter label {
    color: var(--gray-50);
}

.table>tbody>tr>th {
    background: var(--border-container) !important;
    color: var(--gray-500) !important;
}

.table>tbody>tr>th:hover {
    color: var(--gray-500);
}

table tr td:hover {
    color: var(--primary-500);
}

.table-striped>tbody>tr:nth-of-type(odd)>* {
    color: var(--gray-50);
    background: var(--gray-800);
}

.table-striped>tbody>tr.text-muted>* {
    color: var(--gray-400);
}

/* Timeline */
ul.timeline:before {
    background: var(--primary-500);
}

ul.timeline>li:before {
    background: var(--primary-500);
    border: 3px solid var(--primary-500);
}

ul.timeline p strong {
    color: var(--primary-500);
}

/* Modal */
.modal {
    color: var(--gray-50);
}

.modal .btn-close {
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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.414'/%3e%3c/svg%3e");
    color: var(--gray-50);
}

.modal .modal-header {
    background-color: var(--bg-container);
}

.modal .modal-header button.btnPlusTri,
.modal .modal-header button.btnPlusMes {
    color: var(--gray-50);
}

.modal .modal-content {
    background: var(--gray-950);
    color: var(--gray-50);
}

.modal .list-group-item {
    color: var(--gray-50);
}

.modal .table thead th {
    border-bottom: 1px solid var(--gray-700) !important;
}

.modal .table tfoot td {
    border-top: 1px solid var(--gray-700) !important;
}

.modal .modal-footer {
    background-color: var(--bg-container);
}

/* Pagination */
.pagination .page-item button.page-link {
    background: transparent;
    color: var(--gray-50);
}

.pagination .page-item button.page-link:hover {
    background: var(--primary-500);
    color: var(--primary-950) !important;
    border: 1px solid var(--primary-500);
}

.pagination .page-item.active button.page-link {
    background: var(--gray-900);
    color: var(--primary-500) !important;
    border: 1px solid var(--primary-500);
}

.pagination .page-item.disabled button.page-link {
    color: var(--gray-900) !important;
}

/* Footer */
.footer-dashboard {
    color: var(--gray-50);
}