/* BinStream modern theme overlay v1.5 — AdminLTE 2 + Bootstrap 3
 * Modo claro: cinza suave (sem branco puro — conforto visual).
 */

:root,
html[data-theme="light"] {
  --bs-font: "Source Sans Pro", "Segoe UI", system-ui, -apple-system, sans-serif;
  --bs-radius-sm: 8px;
  --bs-radius: 12px;
  --bs-radius-lg: 16px;
  --bs-shadow: 0 4px 20px rgba(15, 23, 42, 0.07);
  --bs-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.05);
  --bs-accent: #2563eb;
  --bs-accent-hover: #1d4ed8;
  --bs-accent-soft: rgba(37, 99, 235, 0.12);
  /* Paleta cinza-claro (sem #fff na interface) */
  --bs-bg: #dfe4ea;
  --bs-bg-elevated: #eceff3;
  --bs-bg-header: #e8ecf1;
  --bs-bg-surface: #f0f3f7;
  --bs-text: #1a2332;
  --bs-text-muted: #5c6b7f;
  --bs-border: #bcc6d4;
  --bs-input-bg: #f0f3f7;
  --bs-table-stripe: #e4e9ef;
  --bs-table-hover: #d8dfe8;
  --bs-login-bg: radial-gradient(1100px 520px at 8% -8%, #c8d8ee 0%, transparent 52%),
    radial-gradient(800px 420px at 100% 0%, #d4dced 0%, transparent 48%),
    #dfe4ea;
  /* Sidebar claro — mesma família de cinza do layout */
  --bs-sidebar-bg: #d2d9e3;
  --bs-sidebar-bg-sub: #c8d0dc;
  --bs-sidebar-hover: #bcc6d4;
  --bs-sidebar-text: #475569;
  --bs-sidebar-text-muted: #64748b;
  --bs-sidebar-active: #eceff3;
  --bs-sidebar-active-text: #1a2332;
}

html[data-theme="dark"] {
  --bs-accent: #60a5fa;
  --bs-accent-hover: #93c5fd;
  --bs-accent-soft: rgba(96, 165, 250, 0.15);
  --bs-bg: #0f1419;
  --bs-bg-elevated: #1a222d;
  --bs-bg-header: #151b24;
  --bs-text: #e8edf4;
  --bs-text-muted: #94a3b8;
  --bs-border: #2a3441;
  --bs-input-bg: #121820;
  --bs-table-stripe: #151c26;
  --bs-table-hover: #1c2530;
  --bs-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  --bs-shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.25);
  --bs-login-bg: radial-gradient(1000px 500px at 0% 0%, rgba(59, 130, 246, 0.12) 0%, transparent 55%),
    radial-gradient(800px 400px at 100% 100%, rgba(99, 102, 241, 0.1) 0%, transparent 50%),
    #0f1419;
  --bs-sidebar-bg: linear-gradient(180deg, #151b24 0%, #0f1419 100%);
  --bs-sidebar-hover: rgba(255, 255, 255, 0.08);
  --bs-sidebar-text: #cbd5e1;
  --bs-sidebar-active: rgba(96, 165, 250, 0.15);
}

html {
  scroll-behavior: smooth;
}

body,
.hold-transition {
  font-family: var(--bs-font) !important;
  color: var(--bs-text);
  background: var(--bs-bg) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ----- Topbar ----- */
.main-header {
  border-bottom: 1px solid var(--bs-border) !important;
  box-shadow: var(--bs-shadow-sm);
}

html[data-theme="light"] .main-header .logo,
html[data-theme="light"] .main-header .navbar {
  background: var(--bs-bg-header) !important;
}

html[data-theme="light"] .main-header .logo {
  color: var(--bs-text) !important;
  border-right: 1px solid var(--bs-border) !important;
}

html[data-theme="light"] .main-header .navbar .nav > li > a,
html[data-theme="light"] .main-header .navbar .sidebar-toggle {
  color: #334155 !important;
}

html[data-theme="light"] .main-header .navbar .nav > li > a:hover,
html[data-theme="light"] .main-header .navbar .sidebar-toggle:hover {
  background: var(--bs-table-hover) !important;
  color: #0f172a !important;
}

html[data-theme="dark"] .main-header .logo,
html[data-theme="dark"] .main-header .navbar {
  background: var(--bs-bg-header) !important;
}

html[data-theme="dark"] .main-header .logo {
  color: var(--bs-text) !important;
  border-right: 1px solid var(--bs-border) !important;
}

html[data-theme="dark"] .main-header .navbar .nav > li > a,
html[data-theme="dark"] .main-header .navbar .sidebar-toggle {
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .main-header .navbar .nav > li > a:hover,
html[data-theme="dark"] .main-header .navbar .sidebar-toggle:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}

.navbar-custom-menu > .navbar-nav > li > a {
  border-radius: var(--bs-radius-sm);
  transition: background 0.2s ease, color 0.2s ease;
}

/* Theme toggle */
#bs-theme-toggle,
.bs-theme-toggle {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 8px 6px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: var(--bs-accent-soft) !important;
  color: var(--bs-accent) !important;
  font-size: 18px;
  line-height: 42px;
  text-align: center;
}

#bs-theme-toggle:hover,
.bs-theme-toggle:hover {
  background: var(--bs-accent) !important;
  color: #fff !important;
}

html[data-theme="light"] .bs-theme-icon-dark { display: inline-block; }
html[data-theme="light"] .bs-theme-icon-light { display: none; }
html[data-theme="dark"] .bs-theme-icon-dark { display: none; }
html[data-theme="dark"] .bs-theme-icon-light { display: inline-block; }

/* ----- Sidebar ----- */
html[data-theme="light"] .main-sidebar,
html[data-theme="light"] .left-side {
  background: linear-gradient(180deg, #d8dee6 0%, #d0d7e1 100%) !important;
  border-right: 1px solid var(--bs-border) !important;
  border-radius: 0 !important;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.35) !important;
}

html[data-theme="light"] .sidebar {
  padding-bottom: 16px;
}

html[data-theme="light"] .sidebar-menu > li.header {
  color: var(--bs-sidebar-text-muted) !important;
  background: transparent !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 14px 16px 6px !important;
}

html[data-theme="light"] .sidebar-menu > li > a {
  color: var(--bs-sidebar-text) !important;
  border-radius: var(--bs-radius-sm) !important;
  margin: 2px 10px !important;
  width: calc(100% - 20px) !important;
  padding: 10px 12px !important;
  transition: background 0.18s ease, color 0.18s ease;
}

html[data-theme="light"] .sidebar-menu > li > a > .fa,
html[data-theme="light"] .sidebar-menu > li > a > i {
  color: #64748b !important;
  width: 20px;
  text-align: center;
}

html[data-theme="light"] .sidebar-menu > li > a:hover {
  background: var(--bs-sidebar-hover) !important;
  color: var(--bs-sidebar-active-text) !important;
}

html[data-theme="light"] .sidebar-menu > li.active > a,
html[data-theme="light"] .sidebar-menu > li.menu-open > a {
  background: var(--bs-sidebar-active) !important;
  color: var(--bs-sidebar-active-text) !important;
  font-weight: 600;
  box-shadow: var(--bs-shadow-sm);
  border-left: 3px solid var(--bs-accent) !important;
}

html[data-theme="light"] .sidebar-menu > li.active > a > .fa,
html[data-theme="light"] .sidebar-menu > li.menu-open > a > .fa,
html[data-theme="light"] .sidebar-menu > li.active > a > i,
html[data-theme="light"] .sidebar-menu > li.menu-open > a > i {
  color: var(--bs-accent) !important;
}

/* Treeview — Services e submenus */
html[data-theme="light"] .skin-blue .sidebar-menu .treeview-menu,
html[data-theme="light"] .sidebar-menu > li > .treeview-menu {
  background: var(--bs-sidebar-bg-sub) !important;
  padding: 6px 0 8px !important;
  margin: 0 10px 6px !important;
  border-radius: var(--bs-radius-sm);
  border: 1px solid rgba(0, 0, 0, 0.04);
}

html[data-theme="light"] .skin-blue .sidebar-menu .treeview-menu > li > a,
html[data-theme="light"] .sidebar-menu .treeview-menu > li > a {
  color: var(--bs-sidebar-text) !important;
  margin: 1px 6px !important;
  width: calc(100% - 12px) !important;
  padding: 8px 12px 8px 28px !important;
  border-radius: 6px !important;
  border-left: none !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}

html[data-theme="light"] .skin-blue .sidebar-menu .treeview-menu > li > a:hover,
html[data-theme="light"] .sidebar-menu .treeview-menu > li > a:hover {
  background: var(--bs-sidebar-hover) !important;
  color: var(--bs-sidebar-active-text) !important;
}

html[data-theme="light"] .skin-blue .sidebar-menu .treeview-menu > li.active > a,
html[data-theme="light"] .sidebar-menu .treeview-menu > li.active > a {
  background: var(--bs-sidebar-active) !important;
  color: var(--bs-accent) !important;
  font-weight: 600 !important;
  border-left: 2px solid var(--bs-accent) !important;
}

html[data-theme="light"] .skin-blue .sidebar-menu > li.treeview.menu-open > a,
html[data-theme="light"] .sidebar-menu > li.treeview.menu-open > a {
  background: var(--bs-sidebar-active) !important;
  color: var(--bs-sidebar-active-text) !important;
  border-left: 3px solid var(--bs-accent) !important;
}

html[data-theme="light"] .skin-blue .sidebar-menu li > a > .pull-right-container > .fa-angle-left,
html[data-theme="light"] .sidebar-menu li > a > .pull-right-container > .fa-angle-left {
  color: var(--bs-sidebar-text-muted) !important;
}

html[data-theme="light"] .main-sidebar .user-panel > .info,
html[data-theme="light"] .main-sidebar .user-panel > .info > a {
  color: var(--bs-sidebar-text) !important;
}

html[data-theme="light"] .main-sidebar .user-panel {
  border-bottom: 1px solid var(--bs-border) !important;
}

/* Anula skin-blue escuro no modo claro */
html[data-theme="light"].skin-blue .main-sidebar,
html[data-theme="light"] .skin-blue .main-sidebar,
html[data-theme="light"].skin-blue .sidebar-menu > li > a,
html[data-theme="light"] .skin-blue .sidebar-menu > li > a {
  background-color: transparent;
}

html[data-theme="light"].skin-blue .sidebar-menu > li.active > a,
html[data-theme="light"] .skin-blue .sidebar-menu > li.active > a,
html[data-theme="light"].skin-blue .sidebar-menu > li.menu-open > a,
html[data-theme="light"] .skin-blue .sidebar-menu > li.menu-open > a {
  background: var(--bs-sidebar-active) !important;
  color: var(--bs-sidebar-active-text) !important;
}

html[data-theme="dark"] .main-sidebar,
html[data-theme="dark"] .main-sidebar,
html[data-theme="dark"] .left-side {
  background: var(--bs-sidebar-bg) !important;
  border-radius: 0 !important;
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .sidebar-menu > li > a {
  color: var(--bs-sidebar-text) !important;
  border-radius: var(--bs-radius-sm);
  margin: 2px 8px;
  width: calc(100% - 16px);
}

html[data-theme="dark"] .sidebar-menu > li.active > a,
html[data-theme="dark"] .sidebar-menu > li > a:hover {
  background: var(--bs-sidebar-active) !important;
  color: #fff !important;
}

html[data-theme="dark"] .sidebar-menu > li.header {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: transparent !important;
}

html[data-theme="dark"] .main-sidebar .user-panel > .info,
html[data-theme="dark"] .main-sidebar .user-panel > .info > a {
  color: #fff !important;
}

/* ----- Content ----- */
.content-wrapper,
.right-side {
  background: var(--bs-bg) !important;
  min-height: calc(100vh - 50px);
}

.content-header {
  padding: 20px 24px 8px;
}

.content-header > h1 {
  font-weight: 600;
  font-size: 24px;
  color: var(--bs-text);
}

.content {
  padding: 0 20px 24px;
}

/* ----- Cards / boxes ----- */
.box {
  border: 1px solid var(--bs-border) !important;
  border-radius: var(--bs-radius) !important;
  box-shadow: var(--bs-shadow-sm) !important;
  background: var(--bs-bg-elevated) !important;
  overflow: hidden;
}

.box-header {
  border-bottom: 1px solid var(--bs-border) !important;
  background: transparent !important;
  color: var(--bs-text) !important;
  border-radius: var(--bs-radius) var(--bs-radius) 0 0 !important;
  padding: 14px 16px !important;
}

.box-header .box-title {
  font-weight: 600;
  font-size: 15px;
}

.box-body {
  color: var(--bs-text);
  background: var(--bs-bg-elevated) !important;
}

.box-footer {
  border-top: 1px solid var(--bs-border) !important;
  background: transparent !important;
}

html[data-theme="light"] .box.box-primary > .box-header {
  background: #3c8dbc !important;
  color: #ffffff !important;
}

html[data-theme="light"] .box.box-primary {
  border-top: 3px solid #367fa9 !important;
}

html[data-theme="dark"] .box.box-primary {
  border-top: 3px solid var(--bs-accent) !important;
}

html[data-theme="dark"] .box.box-primary > .box-header {
  color: var(--bs-accent) !important;
  background: transparent !important;
}

.small-box {
  border-radius: var(--bs-radius) !important;
  box-shadow: var(--bs-shadow-sm) !important;
  overflow: hidden;
}

/* ----- Tables ----- */
.table {
  color: var(--bs-text);
  background: transparent;
}

.table > thead > tr > th {
  border-bottom: 2px solid var(--bs-border) !important;
  color: var(--bs-text-muted);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th {
  border-top: 1px solid var(--bs-border) !important;
  vertical-align: middle !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--bs-table-stripe) !important;
}

.table-hover > tbody > tr:hover {
  background-color: var(--bs-table-hover) !important;
}

html[data-theme="dark"] .table-bordered,
html[data-theme="dark"] .table-bordered > thead > tr > th,
html[data-theme="dark"] .table-bordered > tbody > tr > td {
  border-color: var(--bs-border) !important;
}

/* DataTables */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border-radius: var(--bs-radius-sm) !important;
  border: 1px solid var(--bs-border) !important;
  background: var(--bs-input-bg) !important;
  color: var(--bs-text) !important;
}

/* ----- Forms ----- */
.form-control,
select.form-control,
textarea.form-control {
  border-radius: var(--bs-radius-sm) !important;
  border: 1px solid var(--bs-border) !important;
  background: var(--bs-input-bg) !important;
  color: var(--bs-text) !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus {
  border-color: var(--bs-accent) !important;
  box-shadow: 0 0 0 3px var(--bs-accent-soft) !important;
}

.input-group-addon {
  border-radius: var(--bs-radius-sm) !important;
  border: 1px solid var(--bs-border) !important;
  background: var(--bs-table-stripe) !important;
  color: var(--bs-text-muted) !important;
}

html[data-theme="light"] .control-label,
html[data-theme="light"] label,
html[data-theme="dark"] .control-label,
html[data-theme="dark"] label {
  color: var(--bs-text);
}

/* ----- Buttons ----- */
.btn {
  border-radius: var(--bs-radius-sm) !important;
  font-weight: 500;
  transition: transform 0.12s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.btn:active {
  transform: translateY(1px);
}

.btn-primary {
  background: var(--bs-accent) !important;
  border-color: var(--bs-accent) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: var(--bs-accent-hover) !important;
  border-color: var(--bs-accent-hover) !important;
}

.btn-default,
.btn-flat {
  border: 1px solid var(--bs-border) !important;
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text) !important;
}

html[data-theme="light"] .btn-default:hover,
html[data-theme="light"] .btn-flat:hover,
html[data-theme="dark"] .btn-default:hover,
html[data-theme="dark"] .btn-flat:hover {
  background: var(--bs-table-hover) !important;
  color: var(--bs-text) !important;
}

/* ----- Dropdowns ----- */
.dropdown-menu {
  border: 1px solid var(--bs-border) !important;
  border-radius: var(--bs-radius) !important;
  box-shadow: var(--bs-shadow) !important;
  background: var(--bs-bg-elevated) !important;
  padding: 6px;
}

.dropdown-menu > li > a {
  border-radius: var(--bs-radius-sm);
  color: var(--bs-text) !important;
}

.dropdown-menu > li > a:hover {
  background: var(--bs-accent-soft) !important;
  color: var(--bs-accent) !important;
}

.navbar-nav > .user-menu > .dropdown-menu > li.user-header {
  border-radius: var(--bs-radius-sm) var(--bs-radius-sm) 0 0;
}

html[data-theme="dark"] .navbar-nav > .user-menu > .dropdown-menu > .user-footer {
  background: var(--bs-bg-elevated) !important;
}

/* ----- Alerts ----- */
.alert {
  border-radius: var(--bs-radius-sm) !important;
  border: 1px solid transparent !important;
}

html[data-theme="dark"] .alert-success {
  background: rgba(34, 197, 94, 0.15) !important;
  color: #86efac !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
}

html[data-theme="dark"] .alert-danger {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #fca5a5 !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
}

html[data-theme="dark"] .alert-warning {
  background: rgba(245, 158, 11, 0.15) !important;
  color: #fcd34d !important;
}

html[data-theme="dark"] .alert-info {
  background: rgba(59, 130, 246, 0.15) !important;
  color: #93c5fd !important;
}

/* ----- Modals ----- */
.modal-content {
  border-radius: var(--bs-radius) !important;
  border: 1px solid var(--bs-border) !important;
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text);
  box-shadow: var(--bs-shadow) !important;
}

.modal-header,
.modal-footer {
  border-color: var(--bs-border) !important;
}

html[data-theme="dark"] .close {
  color: var(--bs-text);
  opacity: 0.7;
}

/* ----- Pagination ----- */
.pagination > li > a,
.pagination > li > span {
  border-radius: var(--bs-radius-sm) !important;
  margin: 0 2px;
  border-color: var(--bs-border) !important;
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text) !important;
}

.pagination > .active > a,
.pagination > .active > span {
  background: var(--bs-accent) !important;
  border-color: var(--bs-accent) !important;
}

/* ----- Login (AdminLTE login-page) ----- */
.login-page,
body.hold-transition.login-page {
  background: var(--bs-login-bg) !important;
  min-height: 100vh;
}

.login-box {
  width: 400px;
  max-width: calc(100vw - 32px);
}

.login-logo {
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}

.login-logo a,
.login-logo b {
  color: var(--bs-text) !important;
}

.login-box-body,
.register-box-body {
  border-radius: var(--bs-radius-lg) !important;
  border: 1px solid var(--bs-border) !important;
  background: var(--bs-bg-elevated) !important;
  box-shadow: var(--bs-shadow) !important;
  color: var(--bs-text);
  padding: 28px !important;
}

.login-box-msg {
  color: var(--bs-text-muted) !important;
}

/* Product signin */
body:has(.form-signin) {
  background: var(--bs-login-bg) !important;
}

.form-signin {
  background: var(--bs-bg-elevated);
  border: 1px solid var(--bs-border);
  border-radius: var(--bs-radius-lg);
  box-shadow: var(--bs-shadow);
  padding: 28px 24px !important;
}

.form-signin-heading {
  color: var(--bs-text) !important;
  font-weight: 600;
}

/* ----- Footer ----- */
.main-footer {
  border-top: 1px solid var(--bs-border) !important;
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text-muted) !important;
}

/* ----- Nav pills / tabs ----- */
.nav-tabs {
  border-bottom: 1px solid var(--bs-border) !important;
}

.nav-tabs > li > a {
  border-radius: var(--bs-radius-sm) var(--bs-radius-sm) 0 0 !important;
  color: var(--bs-text-muted) !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover {
  background: var(--bs-bg-elevated) !important;
  border-color: var(--bs-border) !important;
  border-bottom-color: transparent !important;
  color: var(--bs-accent) !important;
}

html[data-theme="dark"] .nav-tabs > li > a:hover {
  background: var(--bs-table-hover) !important;
}

/* ----- Labels / badges ----- */
.label,
.badge {
  border-radius: 999px !important;
  font-weight: 600;
  padding: 0.35em 0.65em;
}

/* ----- Well / panel legacy ----- */
.well,
.panel {
  border-radius: var(--bs-radius) !important;
  border-color: var(--bs-border) !important;
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text);
}

html[data-theme="dark"] .panel-default > .panel-heading {
  background: var(--bs-table-stripe) !important;
  border-color: var(--bs-border) !important;
  color: var(--bs-text) !important;
}

/* ----- Select2 / xeditable (common in admin) ----- */
html[data-theme="dark"] .select2-container--default .select2-selection--single,
html[data-theme="dark"] .select2-dropdown {
  background: var(--bs-input-bg) !important;
  border-color: var(--bs-border) !important;
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .editable-input input,
html[data-theme="dark"] .editableform .form-control {
  background: var(--bs-input-bg) !important;
  color: var(--bs-text) !important;
}

/* ----- iCheck ----- */
html[data-theme="dark"] .icheckbox_square-blue,
html[data-theme="dark"] .iradio_square-blue {
  filter: brightness(1.15);
}

/* ----- Scrollbar (webkit) ----- */
html[data-theme="dark"] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

html[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: #3a4555;
  border-radius: 999px;
}

html[data-theme="dark"] ::-webkit-scrollbar-track {
  background: #121820;
}

/* ----- Light mode: legibilidade (evita branco em branco) ----- */
html[data-theme="light"] .content-wrapper,
html[data-theme="light"] .content-wrapper .content,
html[data-theme="light"] .box-body,
html[data-theme="light"] .box-body p,
html[data-theme="light"] .box-body span,
html[data-theme="light"] .box-body td,
html[data-theme="light"] .box-body th,
html[data-theme="light"] .box-body label {
  color: var(--bs-text);
}

/* .white do style.css — na área de conteúdo vira texto escuro */
html[data-theme="light"] .content-wrapper .white,
html[data-theme="light"] .content .white,
html[data-theme="light"] .box .white,
html[data-theme="light"] .modal-body .white {
  color: var(--bs-text) !important;
}

html[data-theme="light"] .content-wrapper .white a,
html[data-theme="light"] .content .white a,
html[data-theme="light"] .box .white a {
  color: var(--bs-accent) !important;
}

html[data-theme="light"] .main-sidebar .white,
html[data-theme="light"] .main-sidebar .white a {
  color: var(--bs-sidebar-text) !important;
}

html[data-theme="light"] .content-header > h1,
html[data-theme="light"] .content-header > h1 > small {
  color: var(--bs-text) !important;
}

html[data-theme="light"] .content-header > h1 > small {
  color: var(--bs-text-muted) !important;
}

html[data-theme="light"] .breadcrumb {
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text-muted);
}

html[data-theme="light"] .breadcrumb > li,
html[data-theme="light"] .breadcrumb > li a {
  color: var(--bs-text-muted) !important;
}

html[data-theme="light"] .breadcrumb > .active {
  color: var(--bs-text) !important;
}

/* small-box colorido (fundo aqua/green/etc) — texto claro */
html[data-theme="light"] .small-box:not(.bg-white) .inner,
html[data-theme="light"] .small-box:not(.bg-white) .inner h3,
html[data-theme="light"] .small-box:not(.bg-white) .inner p {
  color: #fff !important;
}

html[data-theme="light"] .small-box:not(.bg-white) .small-box-footer {
  color: rgba(255, 255, 255, 0.9) !important;
  background: rgba(0, 0, 0, 0.1) !important;
}

/* dashboard: cards .bg-white no modo claro */
html[data-theme="light"] .small-box.bg-white {
  background-color: var(--bs-bg-elevated) !important;
  border: 1px solid var(--bs-border);
}

html[data-theme="light"] .small-box.bg-white,
html[data-theme="light"] .small-box.bg-white h4,
html[data-theme="light"] .small-box.bg-white .nor,
html[data-theme="light"] .small-box.bg-white p {
  color: var(--bs-text) !important;
}

html[data-theme="light"] .small-box.bg-white .small-box-footer {
  color: var(--bs-text-muted) !important;
  background: var(--bs-table-stripe) !important;
  border-top: 1px solid var(--bs-border);
}

html[data-theme="light"] .info-box-text,
html[data-theme="light"] .info-box-number {
  color: var(--bs-text) !important;
}

/* boxes coloridos AdminLTE */
html[data-theme="light"] .box.box-success > .box-header,
html[data-theme="light"] .box.box-info > .box-header,
html[data-theme="light"] .box.box-warning > .box-header,
html[data-theme="light"] .box.box-danger > .box-header {
  color: #fff !important;
}

html[data-theme="light"] .box.box-default > .box-header {
  background: var(--bs-table-stripe) !important;
  color: var(--bs-text) !important;
}

/* skin-blue: neutraliza navbar azul antiga no modo claro */
html[data-theme="light"].skin-blue .main-header .navbar,
html[data-theme="light"] .skin-blue .main-header .navbar {
  background-color: var(--bs-bg-header) !important;
}

html[data-theme="light"].skin-blue .main-header .logo,
html[data-theme="light"] .skin-blue .main-header .logo {
  background-color: var(--bs-bg-header) !important;
  color: var(--bs-text) !important;
}

html[data-theme="light"] .nav-tabs > li > a:hover {
  background: var(--bs-table-hover) !important;
  color: var(--bs-text) !important;
}

html[data-theme="light"] .panel-default > .panel-heading {
  background: var(--bs-table-stripe) !important;
  border-color: var(--bs-border) !important;
  color: var(--bs-text) !important;
}

html[data-theme="light"] .alert-success {
  color: #166534 !important;
}

html[data-theme="light"] .alert-danger {
  color: #991b1b !important;
}

html[data-theme="light"] .alert-warning {
  color: #92400e !important;
}

html[data-theme="light"] .alert-info {
  color: #1e40af !important;
}

html[data-theme="light"] .select2-container--default .select2-selection--single,
html[data-theme="light"] .select2-dropdown {
  background: var(--bs-input-bg) !important;
  border-color: var(--bs-border) !important;
  color: var(--bs-text) !important;
}

html[data-theme="light"] .editable-input input,
html[data-theme="light"] .editableform .form-control {
  color: var(--bs-text) !important;
  background: var(--bs-input-bg) !important;
}

html[data-theme="light"] .text-muted {
  color: var(--bs-text-muted) !important;
}

html[data-theme="light"] .main-footer a,
html[data-theme="light"] .content a:not(.btn):not(.white) {
  color: var(--bs-accent);
}

html[data-theme="light"] pre,
html[data-theme="light"] code {
  background: var(--bs-table-stripe) !important;
  color: #334155 !important;
  border: 1px solid var(--bs-border);
  border-radius: var(--bs-radius-sm);
}

/* Modo claro: elimina branco puro em superfícies comuns */
html[data-theme="light"] .wrapper,
html[data-theme="light"] .content-wrapper,
html[data-theme="light"] .right-side {
  background: var(--bs-bg) !important;
}

html[data-theme="light"] .box,
html[data-theme="light"] .box-body,
html[data-theme="light"] .box-footer,
html[data-theme="light"] .login-box-body,
html[data-theme="light"] .register-box-body,
html[data-theme="light"] .form-signin,
html[data-theme="light"] .modal-content,
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .main-footer,
html[data-theme="light"] .breadcrumb,
html[data-theme="light"] .well,
html[data-theme="light"] .panel,
html[data-theme="light"] .nav-tabs > li.active > a {
  background-color: var(--bs-bg-elevated) !important;
}

html[data-theme="light"] .form-control,
html[data-theme="light"] select.form-control,
html[data-theme="light"] textarea.form-control,
html[data-theme="light"] .input-group-addon {
  background-color: var(--bs-input-bg) !important;
}

html[data-theme="light"] .btn-default,
html[data-theme="light"] .btn-flat {
  background: var(--bs-bg-surface) !important;
}

html[data-theme="light"] .pagination > li > a,
html[data-theme="light"] .pagination > li > span {
  background: var(--bs-bg-surface) !important;
}

html[data-theme="light"] .table > thead > tr > th {
  background: var(--bs-table-stripe) !important;
}

html[data-theme="light"] .dataTables_wrapper .dataTables_filter input,
html[data-theme="light"] .dataTables_wrapper .dataTables_length select {
  background: var(--bs-input-bg) !important;
}

/* user dropdown header no light */
html[data-theme="light"] .navbar-nav > .user-menu > .dropdown-menu > li.user-header {
  background: var(--bs-accent) !important;
  color: #fff !important;
}

html[data-theme="light"] .navbar-nav > .user-menu > .dropdown-menu > .user-footer {
  background: var(--bs-bg-elevated) !important;
}

html[data-theme="light"] .container > .alert {
  color: inherit;
}

html[data-theme="light"] body > .container {
  color: var(--bs-text);
}

html[data-theme="light"] .form-signin .form-control {
  background: var(--bs-input-bg) !important;
  color: var(--bs-text) !important;
  border-color: var(--bs-border) !important;
}

html[data-theme="light"] .form-signin .alert {
  color: #991b1b !important;
}

/* ===== MODO ESCURO: dashboard, tabelas, gráficos, sidebar ===== */
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .small-box.bg-white {
  background-color: var(--bs-bg-elevated) !important;
  border: 1px solid var(--bs-border) !important;
}

html[data-theme="dark"] .small-box,
html[data-theme="dark"] .small-box h4,
html[data-theme="dark"] .small-box .nor,
html[data-theme="dark"] .small-box p {
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .small-box .green,
html[data-theme="dark"] .small-box .l1.green {
  color: #4ade80 !important;
}

html[data-theme="dark"] .small-box .red,
html[data-theme="dark"] .small-box .l1.red {
  color: #f87171 !important;
}

html[data-theme="dark"] .small-box .blue,
html[data-theme="dark"] .small-box .l1.blue {
  color: #60a5fa !important;
}

html[data-theme="dark"] .small-box .orange,
html[data-theme="dark"] .small-box .l1.orange,
html[data-theme="dark"] .small-box .yellow,
html[data-theme="dark"] .small-box .l1.yellow {
  color: #fbbf24 !important;
}

html[data-theme="dark"] .small-box-footer {
  background: var(--bs-table-stripe) !important;
  color: var(--bs-text-muted) !important;
  border-top: 1px solid var(--bs-border) !important;
}

html[data-theme="dark"] .small-box-footer:hover {
  color: var(--bs-accent) !important;
  background: var(--bs-table-hover) !important;
}

html[data-theme="dark"] .small-box .label-grey,
html[data-theme="dark"] .small-box .sub-title {
  color: var(--bs-text-muted) !important;
}

/* Boxes / gráficos (Morris, charts) */
html[data-theme="dark"] .box,
html[data-theme="dark"] .box-body,
html[data-theme="dark"] .box-footer {
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .box-header {
  background: var(--bs-table-stripe) !important;
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .morris-hover {
  background: var(--bs-bg-elevated) !important;
  border: 1px solid var(--bs-border) !important;
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .morris-hover-row-label {
  background: var(--bs-accent) !important;
  color: #fff !important;
}

html[data-theme="dark"] svg text {
  fill: var(--bs-text-muted) !important;
}

/* Highcharts — Peak viewers in 2 weeks for live */
html[data-theme="dark"] .highcharts-container,
html[data-theme="dark"] highchart.chart1,
html[data-theme="dark"] highchart.chart2,
html[data-theme="dark"] .chart1,
html[data-theme="dark"] .chart2,
html[data-theme="dark"] .chartMonitor {
  background: transparent !important;
}

html[data-theme="dark"] .highcharts-background {
  fill: var(--bs-bg-elevated) !important;
}

html[data-theme="dark"] .highcharts-plot-background {
  fill: var(--bs-table-stripe) !important;
}

html[data-theme="dark"] .highcharts-grid-line,
html[data-theme="dark"] .highcharts-tick {
  stroke: var(--bs-border) !important;
}

html[data-theme="dark"] .highcharts-axis-line {
  stroke: #3a4555 !important;
}

html[data-theme="dark"] .highcharts-axis-labels text,
html[data-theme="dark"] .highcharts-axis-title,
html[data-theme="dark"] .highcharts-title {
  fill: var(--bs-text-muted) !important;
}

html[data-theme="dark"] .highcharts-legend-item text {
  fill: var(--bs-text) !important;
}

html[data-theme="dark"] .small-box.bg-white .inner {
  background: transparent !important;
  padding-bottom: 8px;
}

html[data-theme="dark"] .content-wrapper h4,
html[data-theme="dark"] section > h4 {
  color: var(--bs-text) !important;
  font-weight: 600;
}

html[data-theme="light"] .highcharts-background {
  fill: var(--bs-bg-elevated) !important;
}

html[data-theme="light"] .highcharts-plot-background {
  fill: var(--bs-table-stripe) !important;
}

html[data-theme="light"] .highcharts-grid-line,
html[data-theme="light"] .highcharts-tick {
  stroke: var(--bs-border) !important;
}

html[data-theme="light"] .highcharts-axis-labels text,
html[data-theme="light"] .highcharts-axis-title {
  fill: var(--bs-text-muted) !important;
}

html[data-theme="light"] .highcharts-container {
  background: transparent !important;
}

/* Tabelas */
html[data-theme="dark"] .table,
html[data-theme="dark"] table.dataTable {
  background: var(--bs-bg-elevated) !important;
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .dataTables_wrapper,
html[data-theme="dark"] .dataTables_info,
html[data-theme="dark"] .dataTables_length,
html[data-theme="dark"] .dataTables_filter {
  color: var(--bs-text-muted) !important;
}

html[data-theme="dark"] .table > thead > tr > th {
  background: var(--bs-table-stripe) !important;
  color: var(--bs-text-muted) !important;
}

html[data-theme="dark"] .table > tbody > tr > td {
  background: transparent !important;
  color: var(--bs-text) !important;
}

/* Sidebar: treeview Services e submenu */
html[data-theme="dark"] .skin-blue .sidebar-menu > li.header {
  color: rgba(255, 255, 255, 0.45) !important;
  background: transparent !important;
}

html[data-theme="dark"] .skin-blue .sidebar-menu > li.active > a,
html[data-theme="dark"] .skin-blue .sidebar-menu > li.menu-open > a,
html[data-theme="dark"] .skin-blue .sidebar-menu > li.treeview.menu-open > a {
  background: var(--bs-sidebar-active) !important;
  color: #fff !important;
  border-left: 3px solid var(--bs-accent) !important;
}

html[data-theme="dark"] .skin-blue .sidebar-menu > li > a {
  color: var(--bs-sidebar-text) !important;
}

html[data-theme="dark"] .skin-blue .sidebar-menu .treeview-menu {
  background: #141a22 !important;
  padding: 4px 0 !important;
  margin: 0 !important;
}

html[data-theme="dark"] .skin-blue .sidebar-menu .treeview-menu > li > a {
  color: #a8b8c8 !important;
  border-radius: var(--bs-radius-sm);
  margin: 1px 8px;
  width: calc(100% - 16px);
}

html[data-theme="dark"] .skin-blue .sidebar-menu .treeview-menu > li.active > a,
html[data-theme="dark"] .skin-blue .sidebar-menu .treeview-menu > li > a:hover {
  background: rgba(96, 165, 250, 0.12) !important;
  color: #fff !important;
}

html[data-theme="dark"] .skin-blue .sidebar-menu li > a > .pull-right-container > .fa-angle-left {
  color: var(--bs-sidebar-text) !important;
}

html[data-theme="dark"] .main-sidebar .user-panel,
html[data-theme="dark"] .sidebar-form {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* info-box (stats alternativos) */
html[data-theme="dark"] .info-box {
  background: var(--bs-bg-elevated) !important;
  border: 1px solid var(--bs-border);
  border-radius: var(--bs-radius) !important;
}

html[data-theme="dark"] .info-box-content {
  color: var(--bs-text) !important;
}

html[data-theme="dark"] .info-box-text,
html[data-theme="dark"] .info-box-number {
  color: var(--bs-text) !important;
}

/* ----- Misc readability (dark) ----- */
html[data-theme="dark"] .text-muted {
  color: var(--bs-text-muted) !important;
}

html[data-theme="dark"] .main-footer a,
html[data-theme="dark"] .content a:not(.btn) {
  color: var(--bs-accent);
}

html[data-theme="dark"] pre,
html[data-theme="dark"] code {
  background: #121820 !important;
  color: #e2e8f0 !important;
  border-radius: var(--bs-radius-sm);
}

.bs-login-theme-toggle {
  position: fixed !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 9999 !important;
  margin: 0 !important;
}

/* Product login container */
html[data-theme="dark"] body > .container {
  color: var(--bs-text);
}

html[data-theme="dark"] .form-signin .form-control {
  background: var(--bs-input-bg) !important;
  color: var(--bs-text) !important;
  border-color: var(--bs-border) !important;
}

.wrapper,
.main-sidebar,
.content-wrapper,
.main-footer {
  /* no display/position overrides */
}

/* Smooth theme transition (only after first paint) */
html[data-bs-theme-ready="1"] body,
html[data-bs-theme-ready="1"] .box,
html[data-bs-theme-ready="1"] .main-header,
html[data-bs-theme-ready="1"] .form-control,
html[data-bs-theme-ready="1"] .login-box-body {
  transition: background-color 0.25s ease, color 0.2s ease, border-color 0.25s ease;
}
