/* Correções globais para modo escuro em todo o sistema */

/* Correção específica para autofill no modo escuro - TODOS os campos */
.dark-mode input:-webkit-autofill,
.dark-mode input:-webkit-autofill:hover,
.dark-mode input:-webkit-autofill:focus,
.dark-mode input:-webkit-autofill:active,
.dark-mode textarea:-webkit-autofill,
.dark-mode textarea:-webkit-autofill:hover,
.dark-mode textarea:-webkit-autofill:focus,
.dark-mode textarea:-webkit-autofill:active,
.dark-mode select:-webkit-autofill,
.dark-mode select:-webkit-autofill:hover,
.dark-mode select:-webkit-autofill:focus,
.dark-mode select:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #141c26 inset !important;
  -webkit-background-clip: content-box !important;
  background-color: #141c26 !important;
  color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Correção específica para campos de senha */
.dark-mode input[type="password"]:-webkit-autofill,
.dark-mode input[type="password"]:-webkit-autofill:hover,
.dark-mode input[type="password"]:-webkit-autofill:focus,
.dark-mode input[type="password"]:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #141c26 inset !important;
  -webkit-background-clip: content-box !important;
  background-color: #141c26 !important;
  color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Correção específica para campos de email */
.dark-mode input[type="email"]:-webkit-autofill,
.dark-mode input[type="email"]:-webkit-autofill:hover,
.dark-mode input[type="email"]:-webkit-autofill:focus,
.dark-mode input[type="email"]:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #141c26 inset !important;
  -webkit-background-clip: content-box !important;
  background-color: #141c26 !important;
  color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Correção específica para campos de texto */
.dark-mode input[type="text"]:-webkit-autofill,
.dark-mode input[type="text"]:-webkit-autofill:hover,
.dark-mode input[type="text"]:-webkit-autofill:focus,
.dark-mode input[type="text"]:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #141c26 inset !important;
  -webkit-background-clip: content-box !important;
  background-color: #141c26 !important;
  color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Correção específica para campos de número */
.dark-mode input[type="number"]:-webkit-autofill,
.dark-mode input[type="number"]:-webkit-autofill:hover,
.dark-mode input[type="number"]:-webkit-autofill:focus,
.dark-mode input[type="number"]:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #141c26 inset !important;
  -webkit-background-clip: content-box !important;
  background-color: #141c26 !important;
  color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Correção específica para campos de telefone */
.dark-mode input[type="tel"]:-webkit-autofill,
.dark-mode input[type="tel"]:-webkit-autofill:hover,
.dark-mode input[type="tel"]:-webkit-autofill:focus,
.dark-mode input[type="tel"]:-webkit-autofill:active {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px #141c26 inset !important;
  -webkit-background-clip: content-box !important;
  background-color: #141c26 !important;
  color: #fff !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Garantir que os campos de formulário no modo escuro tenham a cor correta */
.dark-mode .form-control {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode .form-control:focus {
  background-color: #141c26 !important;
  border-color: #1ec095 !important;
  color: #fff !important;
  box-shadow: 0 0 0 0.2rem rgba(30, 192, 149, 0.25) !important;
}

/* Correção para placeholders no modo escuro */
.dark-mode .form-control::placeholder {
  color: #8094ae !important;
  opacity: 1;
}

.dark-mode .form-control::-webkit-input-placeholder {
  color: #8094ae !important;
  opacity: 1;
}

.dark-mode .form-control::-moz-placeholder {
  color: #8094ae !important;
  opacity: 1;
}

.dark-mode .form-control:-ms-input-placeholder {
  color: #8094ae !important;
  opacity: 1;
}

/* Correção para Select2 no modo escuro */
.dark-mode .select2-container--default .select2-selection--single {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #fff !important;
}

.dark-mode .select2-dropdown {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
}

.dark-mode .select2-container--default .select2-results__option {
  color: #fff !important;
}

.dark-mode .select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #1ec095 !important;
}

.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #17a085 !important;
}

/* Correção para DataTables no modo escuro */
.dark-mode .dataTables_wrapper .dataTables_filter input {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode .dataTables_wrapper .dataTables_length select {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para modais no modo escuro */
.dark-mode .modal-content {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
}

.dark-mode .modal-header {
  border-bottom-color: #1d2d40 !important;
}

.dark-mode .modal-footer {
  border-top-color: #1d2d40 !important;
}

/* Correção para tooltips no modo escuro */
.dark-mode .tooltip-inner {
  background-color: #141c26 !important;
  color: #fff !important;
}

.dark-mode .tooltip.bs-tooltip-top .tooltip-arrow::before {
  border-top-color: #141c26 !important;
}

.dark-mode .tooltip.bs-tooltip-bottom .tooltip-arrow::before {
  border-bottom-color: #141c26 !important;
}

.dark-mode .tooltip.bs-tooltip-start .tooltip-arrow::before {
  border-left-color: #141c26 !important;
}

.dark-mode .tooltip.bs-tooltip-end .tooltip-arrow::before {
  border-right-color: #141c26 !important;
}

/* Correção para popovers no modo escuro */
.dark-mode .popover {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
}

.dark-mode .popover-header {
  background-color: #1a2430 !important;
  border-bottom-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode .popover-body {
  color: #fff !important;
}

/* Correção para dropdowns no modo escuro */
.dark-mode .dropdown-menu {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
}

.dark-mode .dropdown-item {
  color: #fff !important;
}

.dark-mode .dropdown-item:hover {
  background-color: #1a2430 !important;
  color: #fff !important;
}

.dark-mode .dropdown-item.active {
  background-color: #1ec095 !important;
  color: #fff !important;
}

/* Correção para paginação no modo escuro */
.dark-mode .page-link {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode .page-link:hover {
  background-color: #1a2430 !important;
  color: #fff !important;
}

.dark-mode .page-item.active .page-link {
  background-color: #1ec095 !important;
  border-color: #1ec095 !important;
  color: #fff !important;
}

/* Correção para alertas no modo escuro */
.dark-mode .alert {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para badges no modo escuro */
.dark-mode .badge {
  color: #fff !important;
}

/* Correção para inputs de busca no modo escuro */
.dark-mode .search-wrap .form-control {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para textareas no modo escuro */
.dark-mode textarea.form-control {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para inputs de arquivo no modo escuro */
.dark-mode .custom-file-label {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para inputs de data no modo escuro */
.dark-mode input[type="date"] {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode input[type="datetime-local"] {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

.dark-mode input[type="time"] {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para inputs de URL no modo escuro */
.dark-mode input[type="url"] {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* Correção para inputs de busca no modo escuro */
.dark-mode input[type="search"] {
  background-color: #141c26 !important;
  border-color: #1d2d40 !important;
  color: #fff !important;
}

/* ========== Checkboxes e switches no modo escuro (contraste) ========== */

/* form-check-input: checkbox e radio – estado não selecionado (track/caixa bem visível) */
.dark-mode .form-check-input {
  background-color: #5a6b7d !important;
  border: 2px solid #7d8fa1 !important;
}

/* form-check-input: estado selecionado (verde bem evidente) */
.dark-mode .form-check-input:checked {
  background-color: #1ec095 !important;
  border: 2px solid #1ec095 !important;
  box-shadow: 0 0 0 2px rgba(30, 192, 149, 0.35) !important;
}

/* form-switch (toggle): track não selecionado – cinza claro e thumb claro para ficar óbvio */
.dark-mode .form-switch .form-check-input {
  background-color: #5a6b7d !important;
  border: 2px solid #7d8fa1 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23b6c6e3'/%3e%3c/svg%3e") !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

/* form-switch: track selecionado – verde preenchido e thumb branco bem evidente */
.dark-mode .form-switch .form-check-input:checked {
  background-color: #1ec095 !important;
  border: 2px solid #1ec095 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
  background-position: right center !important;
  box-shadow: 0 0 0 2px rgba(30, 192, 149, 0.4) !important;
}

/* custom-control (custom-checkbox / custom-switch): track/caixa não selecionado – mais contraste */
.dark-mode .custom-control-input:not(:checked) ~ .custom-control-label::before {
  background-color: #364152 !important;
  border-color: #5a6b7d !important;
}

/* custom-switch: thumb não selecionado – um pouco mais visível */
.dark-mode .custom-switch .custom-control-input:not(:checked) ~ .custom-control-label::after {
  background-color: #8fa8c9 !important;
}
