:root {
  --panel-bg: #081a31;
  --panel-surface: #103158;
  --panel-surface-deep: #0b294a;
  --panel-border: rgba(148, 197, 255, 0.2);
  --panel-border-solid: #2f5f8d;
  --panel-text: #f3f8ff;
  --panel-muted: #b9cbe0;
  --panel-accent: #61a8ff;
  --panel-accent-strong: #2f80ed;
}

html,
body {
  color-scheme: dark;
}

/* Neutraliza o fundo branco estrutural criado pelo tema base. */
.row {
  background-color: transparent !important;
  border-color: var(--panel-border) !important;
}

.table-responsive {
  color: var(--panel-text) !important;
  background: rgba(7, 28, 51, 0.58) !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: 0.7rem;
}

.table > thead > tr > th,
.table thead th,
.table .thead-light th,
.table .thead-dark th {
  color: #cfe5ff !important;
  background-color: #0a2544 !important;
  border-color: var(--panel-border) !important;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th {
  color: var(--panel-text) !important;
  background-color: rgba(6, 26, 48, 0.62) !important;
  border-color: var(--panel-border) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > td,
.table-striped > tbody > tr:nth-of-type(odd) > th {
  background-color: rgba(30, 78, 124, 0.38) !important;
}

.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th,
.table > tbody > tr:hover > td,
.table > tbody > tr:hover > th {
  color: #fff !important;
  background-color: rgba(53, 112, 168, 0.38) !important;
}

.img-thumbnail,
.thumbnail,
.avatar,
.profile-image {
  background-color: #0c2d50 !important;
  border-color: var(--panel-border-solid) !important;
}

.breadcrumb,
.progress,
.progress-bar-wrapper,
.list-group-item-action:hover,
.list-group-item-action:focus,
.list-group-item-action:active,
.page-link:hover,
.page-link:focus {
  color: var(--panel-text) !important;
  background-color: #123d68 !important;
  border-color: var(--panel-border-solid) !important;
}

.alert-light,
.alert-secondary,
.badge-light,
.badge-secondary,
.btn-default,
.btn-secondary,
.btn-outline-secondary {
  color: var(--panel-text) !important;
  background-color: #163b64 !important;
  border-color: var(--panel-border-solid) !important;
}

.btn-default:hover,
.btn-secondary:hover,
.btn-outline-secondary:hover {
  color: #fff !important;
  background-color: #1b548c !important;
  border-color: #4388c7 !important;
}

.form-control:disabled,
.form-control[readonly],
.custom-select:disabled,
.custom-file-input:disabled ~ .custom-file-label,
.custom-file-input[disabled] ~ .custom-file-label {
  color: #9fb9d4 !important;
  background-color: #0a2544 !important;
  border-color: var(--panel-border-solid) !important;
  opacity: 1;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: var(--panel-text) !important;
  caret-color: var(--panel-text);
  -webkit-box-shadow: 0 0 0 1000px #0c2d50 inset !important;
  box-shadow: 0 0 0 1000px #0c2d50 inset !important;
  border-color: var(--panel-border-solid) !important;
}

input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="color"] {
  color: var(--panel-text) !important;
  background-color: #0c2d50 !important;
  border-color: var(--panel-border-solid) !important;
}

input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
  color: var(--panel-text) !important;
  background: #163b64 !important;
  border: 0 !important;
  border-right: 1px solid var(--panel-border-solid) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--panel-accent-strong) !important;
  border-color: var(--panel-accent) !important;
}

.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #d7ebff !important;
}

.custom-select {
  background-color: #0c2d50 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23b9cbe0' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 8px 10px !important;
}

.datepicker,
.datepicker .row,
.datepicker .calendar,
.datepicker .decades,
.datepicker .years,
.datepicker .months {
  color: var(--panel-text) !important;
  background: var(--panel-surface-deep) !important;
  border-color: var(--panel-border-solid) !important;
}

.datepicker a,
.datepicker .day,
.datepicker .days .cell,
.datepicker .cell {
  color: var(--panel-text) !important;
}

.datepicker .tip {
  border-bottom-color: var(--panel-border-solid) !important;
}

.datepicker .tip::before {
  border-bottom-color: var(--panel-surface-deep) !important;
}

.datepicker .cell.day.today,
.datepicker .cell:hover,
.datepicker .cell.selected {
  color: #fff !important;
  background: #1d5f9e !important;
  border-color: #4388c7 !important;
}

.xdsoft_datetimepicker button,
.xdsoft_datetimepicker .xdsoft_save_selected,
.xdsoft_datetimepicker .blue-gradient-button,
.xdsoft_datetimepicker .xdsoft_scrollbar,
.xdsoft_datetimepicker .xdsoft_scrollbar > .xdsoft_scroller {
  color: var(--panel-text) !important;
  background: #163b64 !important;
  border-color: var(--panel-border-solid) !important;
}

.xdsoft_datetimepicker,
.xdsoft_datetimepicker .xdsoft_label,
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select,
.xdsoft_datetimepicker .xdsoft_monthpicker,
.xdsoft_datetimepicker .xdsoft_timepicker,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box,
.xdsoft_datetimepicker .xdsoft_calendar,
.xdsoft_datetimepicker .xdsoft_calendar table,
.xdsoft_datetimepicker .xdsoft_calendar td,
.xdsoft_datetimepicker .xdsoft_calendar th,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
  color: var(--panel-text) !important;
  background: var(--panel-surface-deep) !important;
  border-color: var(--panel-border-solid) !important;
}

.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover,
.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
  color: #fff !important;
  background: #1d5f9e !important;
  box-shadow: none !important;
}

.popover-header,
.popover-body,
.tooltip-inner,
pre,
code,
kbd,
details,
summary {
  color: var(--panel-text) !important;
  background-color: var(--panel-surface-deep) !important;
  border-color: var(--panel-border) !important;
}

.bs-popover-top > .arrow::after,
.bs-popover-auto[x-placement^="top"] > .arrow::after {
  border-top-color: var(--panel-surface-deep) !important;
}

.bs-popover-right > .arrow::after,
.bs-popover-auto[x-placement^="right"] > .arrow::after {
  border-right-color: var(--panel-surface-deep) !important;
}

.bs-popover-bottom > .arrow::after,
.bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  border-bottom-color: var(--panel-surface-deep) !important;
}

.bs-popover-left > .arrow::after,
.bs-popover-auto[x-placement^="left"] > .arrow::after {
  border-left-color: var(--panel-surface-deep) !important;
}

.border-white,
.border-light,
.border-left-light,
.border-bottom-light {
  border-color: var(--panel-border-solid) !important;
}

.topbar #sidebarToggleTop:hover,
.topbar #sidebarToggleTop:focus,
.topbar .dropdown-list .dropdown-item:active,
.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover,
.scroll-to-top {
  color: #fff !important;
  background-color: #174675 !important;
  border-color: var(--panel-border-solid) !important;
}

.swal2-popup,
.swal-modal,
.bootbox .modal-content,
.dataTables_scrollHead,
.dataTables_scrollBody,
.dataTables_empty {
  color: var(--panel-text) !important;
  background-color: var(--panel-surface) !important;
  border-color: var(--panel-border) !important;
}

/* Últimos componentes do Bootstrap que ainda podiam revelar branco. */
.dropdown-item,
.dropdown-header,
.list-group-item,
.toast,
.toast-header,
.accordion > .card,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.pagination,
.page-item,
.page-link,
.input-group,
.custom-file,
.custom-file-label,
.custom-file-label::after,
fieldset,
legend {
  color: var(--panel-text) !important;
  background-color: transparent !important;
  border-color: var(--panel-border) !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active,
.list-group-item-action:hover,
.list-group-item-action:focus,
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active,
.page-item.active .page-link {
  color: #fff !important;
  background-color: #174675 !important;
  border-color: #4388c7 !important;
}

.page-item.disabled .page-link,
.dropdown-item.disabled,
.dropdown-item:disabled {
  color: #8ba7c4 !important;
  background-color: #0a2544 !important;
  border-color: var(--panel-border) !important;
}

.spinner-border {
  border-color: rgba(97, 168, 255, 0.3) !important;
  border-right-color: var(--panel-accent) !important;
}

::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

::-webkit-scrollbar-track {
  background: #06162b;
}

::-webkit-scrollbar-thumb {
  background: var(--panel-border-solid);
  border: 2px solid #06162b;
  border-radius: 999px;
}

::-webkit-scrollbar-thumb:hover {
  background: #4388c7;
}

/* Acabamento final: remove halos claros de controles nativos e rodapés. */
.card-footer,
.modal-content,
.dropdown-menu,
.list-group,
.input-group-prepend,
.input-group-append,
.custom-file-label,
.custom-file-label::after,
.dataTables_wrapper .row,
footer,
footer.sticky-footer {
  color: var(--panel-text) !important;
  background-color: var(--panel-surface-deep) !important;
  border-color: var(--panel-border) !important;
}

#content-wrapper,
#content,
main,
.container,
.container-fluid,
.form-row,
.tab-pane {
  background-color: transparent !important;
}

input[type="color"] {
  padding: 0.2rem !important;
  overflow: hidden;
}

input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0 !important;
}

input[type="color"]::-webkit-color-swatch {
  border: 1px solid var(--panel-border-solid) !important;
  border-radius: 0.45rem;
}

input[type="color"]::-moz-color-swatch {
  border: 1px solid var(--panel-border-solid) !important;
  border-radius: 0.45rem;
}

iframe,
figure,
.embed-responsive,
.thumbnail {
  background-color: #0b294a !important;
  border-color: var(--panel-border-solid) !important;
}
