:root {
    --dark-bg: #0b1220;
    --dark-surface: #131d2f;
    --dark-surface-2: #18253b;
    --dark-border: #243857;
    --dark-text: #e8efff;
    --dark-text-muted: #9fb0c9;
    --dark-accent: #ff8f3f;
}

.theme-toggle-btn {
    position: fixed;
    top: auto;
    bottom: 12px;
    right: 12px;
    z-index: 210001;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #cfd8ea;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #1f2c44;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

body.layout-main .theme-toggle-btn {
    bottom: 52px;
}

body.layout-login .theme-toggle-btn {
    bottom: 12px;
}

.theme-toggle-btn:hover {
    background: #ffffff;
    border-color: #b5c4df;
}

body.theme-dark .theme-toggle-btn,
body.theme-dark-login .theme-toggle-btn {
    background: rgba(11, 20, 35, 0.95);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body.theme-dark .theme-toggle-btn:hover,
body.theme-dark-login .theme-toggle-btn:hover {
    background: rgba(19, 33, 55, 0.98);
    border-color: #355583;
}

body.theme-dark {
    color: var(--dark-text);
    background: radial-gradient(circle at top, #1b2a42 0%, var(--dark-bg) 45%, #080d18 100%) !important;
}

body.theme-dark .page-content,
body.theme-dark .page-wrapper {
    color: var(--dark-text);
}

body.theme-dark .page-footer {
    background: rgba(10, 16, 29, 0.92);
    border-top: 1px solid var(--dark-border);
    color: var(--dark-text-muted);
}

body.theme-dark a {
    color: #8fc4ff;
}

body.theme-dark a:hover {
    color: #b5d8ff;
}

body.theme-dark .card,
body.theme-dark .modal-content,
body.theme-dark .dropdown-menu,
body.theme-dark .list-group-item,
body.theme-dark .table,
body.theme-dark .bg-white,
body.theme-dark .panel,
body.theme-dark .box {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .table td,
body.theme-dark .table th,
body.theme-dark .table thead th {
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .text-muted,
body.theme-dark .help-block,
body.theme-dark small {
    color: var(--dark-text-muted) !important;
}

/* Contrast fixes for legacy templates that force black text. */
body.theme-dark .text-dark,
body.theme-dark .text-black,
body.theme-dark .text-body,
body.theme-dark .text-default,
body.theme-dark .panel-title,
body.theme-dark .box-title,
body.theme-dark .modal-title,
body.theme-dark .nav > li > a,
body.theme-dark .dropdown-menu > li > a,
body.theme-dark .tab-bar > li > a,
body.theme-dark .tab-bar > li.active > a,
body.theme-dark .tab-bar > li.active > a:hover,
body.theme-dark .tab-bar > li.active > a:focus {
    color: var(--dark-text) !important;
}

body.theme-dark p,
body.theme-dark span,
body.theme-dark label,
body.theme-dark li,
body.theme-dark td,
body.theme-dark th,
body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6 {
    color: inherit;
}

body.theme-dark [style*="color:#000"],
body.theme-dark [style*="color: #000"],
body.theme-dark [style*="color:black"],
body.theme-dark [style*="color: black"],
body.theme-dark [style*="color:#222"],
body.theme-dark [style*="color: #222"],
body.theme-dark [style*="color:#333"],
body.theme-dark [style*="color: #333"] {
    color: var(--dark-text) !important;
}

body.theme-dark .form-control,
body.theme-dark .form-select,
body.theme-dark .select2-selection,
body.theme-dark .select2-dropdown,
body.theme-dark .bootstrap-select .dropdown-toggle {
    background-color: var(--dark-surface-2) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .form-control:focus,
body.theme-dark .form-select:focus {
    border-color: var(--dark-accent) !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 143, 63, 0.25) !important;
}

body.theme-dark .form-control::placeholder {
    color: #9fb0c9 !important;
}

body.theme-dark .border,
body.theme-dark .border-top,
body.theme-dark .border-end,
body.theme-dark .border-bottom,
body.theme-dark .border-start {
    border-color: var(--dark-border) !important;
}

body.theme-dark.layout-main {
    background: #0b1220 !important;
    color: var(--dark-text) !important;
}

body.theme-dark.layout-main #wrapper,
body.theme-dark.layout-main #main-container,
body.theme-dark.layout-main .padding-md,
body.theme-dark.layout-main .tab-content,
body.theme-dark.layout-main .content {
    background-color: #0f182a !important;
    color: var(--dark-text) !important;
}

body.theme-dark.layout-main #top-nav,
body.theme-dark.layout-main #top-nav.skin-3,
body.theme-dark.layout-main #top-nav .brand,
body.theme-dark.layout-main aside.fixed,
body.theme-dark.layout-main aside.skin-1.fixed {
    background: #121f34 !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark.layout-main #breadcrumb,
body.theme-dark.layout-main .main-header,
body.theme-dark.layout-main footer,
body.theme-dark.layout-main .main-footer {
    background: #111b2d !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark.layout-main .breadcrumb,
body.theme-dark.layout-main .breadcrumb a,
body.theme-dark.layout-main .breadcrumb > .active {
    color: var(--dark-text-muted) !important;
}

body.theme-dark.layout-main #top-nav .nav-notification > li > a,
body.theme-dark.layout-main .main-menu a,
body.theme-dark.layout-main .page-title h3,
body.theme-dark.layout-main .page-title small {
    color: var(--dark-text) !important;
}

body.theme-dark.layout-main .table-striped > tbody > tr:nth-of-type(odd),
body.theme-dark.layout-main .table-hover > tbody > tr:hover {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

/* Equipamentos > Status / Monitoramento cards */
.status-monitor-card,
.status-monitor-card .inner,
.status-monitor-card h3,
.status-monitor-card h5,
.status-monitor-card p,
.status-monitor-card b {
    color: #1f2c44 !important;
}

body.theme-dark .status-monitor-card {
    background-color: var(--dark-surface) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .status-monitor-card .inner,
body.theme-dark .status-monitor-card h3,
body.theme-dark .status-monitor-card h5,
body.theme-dark .status-monitor-card p,
body.theme-dark .status-monitor-card b {
    color: var(--dark-text) !important;
}

body.theme-dark #displayDados .small-box,
body.theme-dark #displayDados .small-box .inner,
body.theme-dark #displayDados .small-box h3,
body.theme-dark #displayDados .small-box p,
body.theme-dark #displayDados .small-box b {
    color: var(--dark-text) !important;
}

body.theme-dark .status-monitor-overview {
    border: 1px solid rgba(154, 223, 168, 0.45) !important;
    color: #f3fff5 !important;
}

body.theme-dark .status-monitor-overview .inner,
body.theme-dark .status-monitor-overview h5,
body.theme-dark .status-monitor-overview b {
    color: #f3fff5 !important;
}

/* Equipamentos > Detalhes page (Status, Parametros, Logs, Download, Acessos) */
body.theme-dark #DisplayDetalhes .panel,
body.theme-dark #DisplayArea .panel,
body.theme-dark #DisplayArea .box,
body.theme-dark #DisplayArea .box .box-header,
body.theme-dark #DisplayArea .box .box-body,
body.theme-dark #DisplayDetalhes .panel-body,
body.theme-dark #DisplayDetalhes .tab-content,
body.theme-dark #DisplayArea .mailbox-controls {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark #DisplayDetalhes h5,
body.theme-dark #DisplayDetalhes h5 b,
body.theme-dark #DisplayArea .box-title,
body.theme-dark #DisplayArea .table,
body.theme-dark #DisplayArea .table th,
body.theme-dark #DisplayArea .table td {
    color: var(--dark-text) !important;
}

body.theme-dark .box.box-solid > .box-header,
body.theme-dark .box.box-primary > .box-header {
    background: #16253d !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .nav.nav-pills.nav-stacked > li > a {
    color: var(--dark-text-muted) !important;
    border-left: 3px solid transparent;
}

body.theme-dark .nav.nav-pills.nav-stacked > li > a:hover,
body.theme-dark .nav.nav-pills.nav-stacked > li.active > a,
body.theme-dark .nav.nav-pills.nav-stacked > li.active > a:hover,
body.theme-dark .nav.nav-pills.nav-stacked > li.active > a:focus {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
    border-left-color: var(--dark-accent) !important;
}

body.theme-dark .tab-bar {
    border-bottom-color: var(--dark-border) !important;
}

body.theme-dark .tab-bar > li > a {
    background: transparent !important;
    color: var(--dark-text-muted) !important;
}

body.theme-dark .tab-bar > li.active > a,
body.theme-dark .tab-bar > li.active > a:hover,
body.theme-dark .tab-bar > li.active > a:focus {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
}

body.theme-dark #DisplayArea .editValue {
    color: var(--dark-text) !important;
    background-color: rgba(76, 175, 80, 0.35) !important;
}

body.theme-dark #DisplayArea .lastValue,
body.theme-dark #DisplayArea .equipValue {
    color: #dbe7fb !important;
}

body.theme-dark #DisplayArea .lastValue {
    background-color: rgba(244, 67, 54, 0.25) !important;
}

body.theme-dark #DisplayArea .equipValue {
    background-color: rgba(76, 175, 80, 0.25) !important;
}

body.theme-dark #DisplayArea .editValue.inative,
body.theme-dark #DisplayArea .lastValue.inative,
body.theme-dark #DisplayArea .equipValue.inative {
    background-color: #2a3346 !important;
    color: var(--dark-text-muted) !important;
}

/* Cadastros: panels and search footers */
body.theme-dark .box.box-default,
body.theme-dark .box.box-default .box-body,
body.theme-dark .box.box-default .box-footer {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .box.box-default .box-header-minus {
    background: #16253d !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .box.box-default .box-footer {
    border-top: 1px solid var(--dark-border) !important;
}

body.theme-dark .modal-content .panel.panel-default,
body.theme-dark .modal-content .panel.panel-default .panel-body,
body.theme-dark .modal-content .panel.panel-default .tab-content {
    background-color: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .modal-content .panel.panel-default .panel-tab {
    background: #16253d !important;
    border-bottom: 1px solid var(--dark-border) !important;
}

body.theme-dark .modal-content .panel.panel-default .control-label,
body.theme-dark .modal-content .panel.panel-default .form-group label,
body.theme-dark .modal-content .panel.panel-default .tab-pane,
body.theme-dark .modal-content .panel.panel-default .tab-pane b {
    color: var(--dark-text) !important;
}

body.theme-dark .modal-content .panel.panel-default .input-group-addon {
    background: #1a2a44 !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-muted) !important;
}

/* Equipamentos > Tab_Detalhes */
body.theme-dark #DisplayDetalhes .panel.panel-default {
    background: var(--dark-surface) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark #DisplayDetalhes .panel-tab {
    background: #16253d !important;
    border-bottom: 1px solid var(--dark-border) !important;
}

body.theme-dark #DisplayDetalhes #top_nav_bar.tab-bar > li > a {
    color: var(--dark-text-muted) !important;
}

body.theme-dark #DisplayDetalhes #top_nav_bar.tab-bar > li.active > a,
body.theme-dark #DisplayDetalhes #top_nav_bar.tab-bar > li.active > a:hover,
body.theme-dark #DisplayDetalhes #top_nav_bar.tab-bar > li.active > a:focus {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
}

body.theme-dark #DisplayDetalhes #Tab_Detalhes,
body.theme-dark #DisplayDetalhes #Tab_Detalhes h5,
body.theme-dark #DisplayDetalhes #Tab_Detalhes h5 b {
    color: var(--dark-text) !important;
}

body.theme-dark #DisplayDetalhes #Tab_Detalhes .text-success {
    color: #9fe9bc !important;
}

body.theme-dark #DisplayDetalhes #Tab_Detalhes .text-danger {
    color: #ff9b8c !important;
}

/* Generic dark fixes requested: form-inline, main-menu draggable blocks, padding-md */
body.theme-dark .form-inline,
body.theme-dark .form-inline .form-group,
body.theme-dark .form-inline label {
    color: var(--dark-text) !important;
}

body.theme-dark .form-inline .form-control,
body.theme-dark .form-inline .input-group-addon,
body.theme-dark .form-inline .btn {
    border-color: var(--dark-border) !important;
}

body.theme-dark .form-inline .input-group-addon {
    background: #1a2a44 !important;
    color: var(--dark-text-muted) !important;
}

body.theme-dark .main-menu,
body.theme-dark .main-menu.ui-draggable,
body.theme-dark .main-menu.ui-draggable.ui-draggable-handle {
    background: #121f34 !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .main-menu a,
body.theme-dark .main-menu .dropdown-toggle,
body.theme-dark .main-menu .nav-notification > li > a {
    color: var(--dark-text) !important;
}

body.theme-dark .main-menu .dropdown-menu {
    background: #16253d !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .main-menu .dropdown-menu > li > a {
    color: var(--dark-text-muted) !important;
}

body.theme-dark .main-menu .dropdown-menu > li > a:hover {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
}

/* Full coverage for main-menu (including ui-draggable/ui-draggable-handle descendants) */
body.theme-dark .main-menu.ui-draggable,
body.theme-dark .main-menu.ui-draggable.ui-draggable-handle,
body.theme-dark aside .main-menu {
    background: #121f34 !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .main-menu.ui-draggable .brand,
body.theme-dark .main-menu.ui-draggable.ui-draggable-handle .brand,
body.theme-dark .main-menu .brand,
body.theme-dark .main-menu .navbar-toggle,
body.theme-dark .main-menu .navbar-toggle .icon-bar,
body.theme-dark .main-menu .nav-notification > li > a,
body.theme-dark .main-menu .nav-notification > li.profile > a,
body.theme-dark .main-menu .nav-notification > li.profile > a strong,
body.theme-dark .main-menu .nav-notification > li.profile > a span {
    color: var(--dark-text) !important;
}

body.theme-dark .main-menu .nav-notification > li:hover,
body.theme-dark .main-menu .nav-notification > li.open {
    background: #1a2a44 !important;
}

body.theme-dark .main-menu .dropdown-menu,
body.theme-dark .main-menu .dropdown-menu.dark,
body.theme-dark .main-menu .dropdown-menu.message,
body.theme-dark .main-menu .dropdown-menu.notification,
body.theme-dark .main-menu .dropdown-menu.task {
    background: #16253d !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .main-menu .dropdown-menu li,
body.theme-dark .main-menu .dropdown-menu li a,
body.theme-dark .main-menu .dropdown-menu li a .detail,
body.theme-dark .main-menu .dropdown-menu li a .detail p,
body.theme-dark .main-menu .dropdown-menu li a .time,
body.theme-dark .main-menu .dropdown-menu li a .notification-icon {
    color: var(--dark-text-muted) !important;
}

body.theme-dark .main-menu .dropdown-menu li a:hover,
body.theme-dark .main-menu .dropdown-menu li a:focus {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
}

body.theme-dark aside .main-menu > ul > li,
body.theme-dark aside .main-menu > ul > li > a,
body.theme-dark aside .main-menu > ul > li > a .text,
body.theme-dark aside .main-menu > ul > li > a .menu-icon,
body.theme-dark aside .main-menu > ul > li > a .badge,
body.theme-dark aside .main-menu > ul > li > a .menu-hover {
    color: var(--dark-text-muted) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark aside .main-menu > ul > li > a:hover,
body.theme-dark aside .main-menu > ul > li > a:focus,
body.theme-dark aside .main-menu > ul > li.active > a,
body.theme-dark aside .main-menu > ul > li.display > a {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
}

body.theme-dark aside .main-menu > ul > li.active .menu-hover,
body.theme-dark aside .main-menu > ul > li.display .menu-hover,
body.theme-dark aside .main-menu > ul > li > a:hover .menu-hover {
    background: var(--dark-accent) !important;
}

body.theme-dark aside .main-menu > ul > li .submenu,
body.theme-dark aside .main-menu > ul > li .dropdown-menu {
    background: #16253d !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark aside .main-menu > ul > li .submenu li a,
body.theme-dark aside .main-menu > ul > li .submenu li a .submenu-label,
body.theme-dark aside .main-menu > ul > li .dropdown-menu li a {
    color: var(--dark-text-muted) !important;
}

body.theme-dark aside .main-menu > ul > li .submenu li a:hover,
body.theme-dark aside .main-menu > ul > li .submenu li a:focus,
body.theme-dark aside .main-menu > ul > li .dropdown-menu li a:hover,
body.theme-dark aside .main-menu > ul > li .dropdown-menu li a:focus {
    background: #1a2a44 !important;
    color: var(--dark-text) !important;
}

body.theme-dark .padding-md {
    background-color: #0f182a !important;
    color: var(--dark-text) !important;
}

/* Extra fixes requested: form-inline, menu-icon, tab-pane fade in active */
body.theme-dark .form-inline,
body.theme-dark .form-inline * {
    color: var(--dark-text) !important;
}

body.theme-dark .form-inline .btn-default {
    background: #1a2a44 !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark aside .main-menu > ul > li > a .menu-icon,
body.theme-dark .main-menu .menu-icon {
    color: var(--dark-text-muted) !important;
}

body.theme-dark aside .main-menu > ul > li.active > a .menu-icon,
body.theme-dark aside .main-menu > ul > li > a:hover .menu-icon,
body.theme-dark aside .main-menu > ul > li > a:focus .menu-icon {
    color: var(--dark-text) !important;
}

body.theme-dark .tab-pane.fade.in.active,
body.theme-dark .tab-content > .tab-pane.active {
    background-color: transparent !important;
    color: var(--dark-text) !important;
}

body.theme-dark .tab-pane.fade.in.active *,
body.theme-dark .tab-content > .tab-pane.active * {
    border-color: var(--dark-border);
}

body.theme-dark .tab-pane.fade.in.active p,
body.theme-dark .tab-pane.fade.in.active label,
body.theme-dark .tab-pane.fade.in.active span,
body.theme-dark .tab-pane.fade.in.active b,
body.theme-dark .tab-pane.fade.in.active h1,
body.theme-dark .tab-pane.fade.in.active h2,
body.theme-dark .tab-pane.fade.in.active h3,
body.theme-dark .tab-pane.fade.in.active h4,
body.theme-dark .tab-pane.fade.in.active h5,
body.theme-dark .tab-pane.fade.in.active h6,
body.theme-dark .tab-pane.fade.in.active a {
    color: var(--dark-text) !important;
}

/* DataTables + panel/well contrast fixes for legacy pages */
body.theme-dark .well,
body.theme-dark .well-margin-bottom-only {
    background-color: var(--dark-surface) !important;
    border: 1px solid var(--dark-border) !important;
    box-shadow: none !important;
    color: var(--dark-text) !important;
}

body.theme-dark .panel .dt-buttons {
    border: 1px dashed var(--dark-border) !important;
    background: rgba(18, 31, 52, 0.55) !important;
}

body.theme-dark .dataTables_wrapper .dt-buttons .btn,
body.theme-dark .dataTables_wrapper .dt-buttons .btn.btn-default,
body.theme-dark .dataTables_wrapper .dt-buttons .btn.btn-primary {
    background: #1a2a44 !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .dataTables_wrapper .dt-buttons .btn:hover,
body.theme-dark .dataTables_wrapper .dt-buttons .btn:focus,
body.theme-dark .dataTables_wrapper .dt-buttons .btn:active {
    background: #223858 !important;
    border-color: #355583 !important;
    color: #ffffff !important;
}

body.theme-dark .dataTables_wrapper .dataTables_filter label,
body.theme-dark .dataTables_wrapper .dataTables_length label,
body.theme-dark .dataTables_wrapper .dataTables_processing {
    color: var(--dark-text-muted) !important;
}

body.theme-dark .dataTables_wrapper .dataTables_info {
    color: var(--dark-text) !important;
    background: #16253d !important;
    border: 1px solid var(--dark-border) !important;
    border-radius: 4px;
    padding: 6px 10px !important;
}

body.theme-dark .dataTables_wrapper .dataTables_info .select-info,
body.theme-dark .dataTables_wrapper .dataTables_info .select-item {
    color: var(--dark-text-muted) !important;
}

body.theme-dark .dataTables_wrapper .dataTables_filter input,
body.theme-dark .dataTables_wrapper .dataTables_length select {
    background: var(--dark-surface-2) !important;
    border: 1px solid var(--dark-border) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button > a {
    background: #16253d !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-muted) !important;
}

body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button.active > a,
body.theme-dark .dataTables_wrapper .dataTables_paginate .paginate_button > a:hover {
    background: #1f3452 !important;
    border-color: #355583 !important;
    color: var(--dark-text) !important;
}

body.theme-dark .table tbody > tr.selected > td,
body.theme-dark table.dataTable tbody > tr.selected > td {
    background: rgba(143, 196, 255, 0.18) !important;
    color: var(--dark-text) !important;
}

body.theme-dark .toggle-vis {
    background-color: #1b2b44 !important;
    color: var(--dark-text-muted) !important;
    border: 1px solid var(--dark-border) !important;
}

body.theme-dark a.toggle-vis:hover,
body.theme-dark .toggle-vis.label.label-primary {
    background-color: #263e61 !important;
    color: var(--dark-text) !important;
}

/* DataTable row/header/menu contrast improvements */
body.theme-dark table.dataTable,
body.theme-dark table.dataTable.no-footer,
body.theme-dark .table.table-condensed.table-small.table-hover.dataTable {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark table.dataTable thead th,
body.theme-dark table.dataTable thead td,
body.theme-dark .table.dataTable > thead > tr > th {
    background: #16253d !important;
    color: var(--dark-text) !important;
    border-bottom: 1px solid var(--dark-border) !important;
    border-top: 1px solid var(--dark-border) !important;
}

body.theme-dark table.dataTable tbody td,
body.theme-dark table.dataTable tbody th {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text) !important;
    border-top: 1px solid var(--dark-border) !important;
}

body.theme-dark table.dataTable.stripe tbody tr.odd td,
body.theme-dark table.dataTable.display tbody tr.odd td,
body.theme-dark table.dataTable tbody tr.odd td {
    background-color: #142239 !important;
}

body.theme-dark table.dataTable.hover tbody tr:hover td,
body.theme-dark table.dataTable.display tbody tr:hover td,
body.theme-dark .table-hover.dataTable tbody tr:hover td {
    background-color: #1c2f4b !important;
    color: #ffffff !important;
}

body.theme-dark table.dataTable tbody tr.selected > td,
body.theme-dark .table.dataTable tbody tr.selected > td,
body.theme-dark .table tbody > tr.selected > td {
    background: #274463 !important;
    color: #ffffff !important;
}

body.theme-dark table.dataTable tbody td a {
    color: #9ecbff !important;
}

body.theme-dark table.dataTable tbody td a:hover,
body.theme-dark table.dataTable tbody td a:focus {
    color: #c9e2ff !important;
}

body.theme-dark table.dataTable tbody .btn.btn-info.dropdown-toggle {
    background: #1e5a7a !important;
    border-color: #2b6e91 !important;
    color: #ffffff !important;
}

body.theme-dark table.dataTable tbody .btn.btn-info.dropdown-toggle:hover,
body.theme-dark table.dataTable tbody .btn.btn-info.dropdown-toggle:focus {
    background: #267199 !important;
    border-color: #2f81ae !important;
    color: #ffffff !important;
}

body.theme-dark table.dataTable tbody .dropdown-menu {
    background: #16253d !important;
    border: 1px solid var(--dark-border) !important;
}

body.theme-dark table.dataTable tbody .dropdown-menu > li > a {
    color: var(--dark-text) !important;
}

body.theme-dark table.dataTable tbody .dropdown-menu > li > a:hover,
body.theme-dark table.dataTable tbody .dropdown-menu > li > a:focus {
    background: #1f3452 !important;
    color: #ffffff !important;
}

body.theme-dark table.dataTable tbody .dropdown-menu .divider {
    background-color: var(--dark-border) !important;
}

/* Form panels (Cadastro/Edicao) contrast fixes */
body.theme-dark .panel,
body.theme-dark .panel-default,
body.theme-dark .panel-body,
body.theme-dark .modal-body {
    background-color: var(--dark-surface) !important;
    color: var(--dark-text) !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .panel .panel-footer,
body.theme-dark .panel-footer {
    background: #16253d !important;
    color: var(--dark-text) !important;
    border-top: 1px solid var(--dark-border) !important;
}

body.theme-dark .form-horizontal .control-label,
body.theme-dark .form-group label,
body.theme-dark .form-horizontal .help-block {
    color: var(--dark-text) !important;
}

body.theme-dark .input-group-addon,
body.theme-dark .input-group .input-group-addon {
    background: #1a2a44 !important;
    border-color: var(--dark-border) !important;
    color: var(--dark-text-muted) !important;
}

body.theme-dark .form-control[disabled],
body.theme-dark .form-control[readonly],
body.theme-dark fieldset[disabled] .form-control {
    background-color: #1a2740 !important;
    color: #c8d6ec !important;
    border-color: var(--dark-border) !important;
}

body.theme-dark .field-validation-error,
body.theme-dark .text-danger {
    color: #ff9b8c !important;
}

body.theme-dark-login {
    color: var(--dark-text-muted);
    background: #08101c !important;
}

body.theme-dark-login .side-right {
    background: linear-gradient(180deg, #0f1a2d 0%, #0b1423 100%);
    border-left: 1px solid var(--dark-border);
    color: var(--dark-text-muted);
}

body.theme-dark-login .side-right h2,
body.theme-dark-login .side-right label,
body.theme-dark-login .side-right .form-row label {
    color: var(--dark-text);
}

body.theme-dark-login .form-control {
    background-color: #0f1a2c;
    border: 1px solid var(--dark-border);
    color: var(--dark-text);
}

body.theme-dark-login .form-control:focus {
    background-color: #13233a;
    border-color: var(--dark-accent) !important;
    color: var(--dark-text);
}

body.theme-dark-login .form-control::placeholder {
    color: #8ca0bd !important;
}

body.theme-dark-login .copyco {
    color: #89a0c0;
}

body.theme-dark-login .sid-layy-img:before {
    background: linear-gradient(120deg, rgba(8, 16, 28, 0.65) 0%, rgba(12, 28, 50, 0.35) 100%);
}

body.theme-dark-login .btn-info {
    background-color: var(--dark-accent) !important;
    border-color: var(--dark-accent) !important;
    color: #1b1208 !important;
    box-shadow: none !important;
}

body.theme-dark-login .btn-info:hover,
body.theme-dark-login .btn-info:focus,
body.theme-dark-login .btn-info:active,
body.theme-dark-login .btn-info:focus-visible {
    background-color: #ffa65f !important;
    border-color: #ffa65f !important;
    color: #1b1208 !important;
}

body.theme-dark-login .text-danger {
    color: #ff9b8c !important;
}
