/*
 * Dashboard Moderno NEUTRO2
 * Camada visual não destrutiva: sobrescreve apenas apresentação, mantendo HTML, IDs e fluxos existentes.
 */
:root {
  --neo-bg: #070a12;
  --neo-bg-soft: #0d1324;
  --neo-surface: rgba(16, 24, 44, 0.78);
  --neo-surface-strong: rgba(18, 28, 52, 0.92);
  --neo-border: rgba(88, 214, 255, 0.18);
  --neo-border-hot: rgba(190, 86, 255, 0.34);
  --neo-text: #edf6ff;
  --neo-muted: #9fb3c8;
  --neo-cyan: #28d8ff;
  --neo-green: #24f0a5;
  --neo-magenta: #cf4dff;
  --neo-purple: #7b61ff;
  --neo-warning: #ffc857;
  --neo-danger: #ff5c8a;
  --neo-shadow: 0 18px 55px rgba(0, 0, 0, 0.42);
  --neo-glow: 0 0 24px rgba(40, 216, 255, 0.24), 0 0 48px rgba(207, 77, 255, 0.14);
}

html, body {
  min-height: 100%;
  background:
    radial-gradient(circle at 10% 10%, rgba(36, 240, 165, 0.12), transparent 28%),
    radial-gradient(circle at 90% 0%, rgba(207, 77, 255, 0.14), transparent 34%),
    radial-gradient(circle at 70% 90%, rgba(40, 216, 255, 0.10), transparent 32%),
    var(--neo-bg) !important;
  color: var(--neo-text);
}

body, input, button, select, textarea, .btn, .card, .table {
  font-family: Inter, "Source Sans Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

#layout-wrapper, .main-content, .page-content, .content-wrapper {
  background: transparent !important;
}

.page-content, .content-wrapper {
  position: relative;
}

.page-content::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent 78%);
  z-index: 0;
}

.container-fluid, .row, .card, .modal, .table-responsive {
  position: relative;
  z-index: 1;
}

/* Topbar e menu lateral */
.navbar-header, .main-header, .topnav, header, .vertical-menu, .main-sidebar, .navbar-brand-box {
  background: rgba(7, 10, 18, 0.88) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-color: var(--neo-border) !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.35);
}

.vertical-menu, .main-sidebar {
  border-right: 1px solid var(--neo-border) !important;
}

#sidebar-menu ul li a, .main-sidebar .nav-link, .navbar-nav .nav-link, .header-item, .navbar-header .btn, .breadcrumb-item a {
  color: var(--neo-muted) !important;
  transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

#sidebar-menu ul li a:hover, #sidebar-menu ul li.mm-active > a, .main-sidebar .nav-link:hover, .main-sidebar .nav-link.active, .navbar-nav .nav-link:hover, .header-item:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, rgba(36, 240, 165, 0.12), rgba(40, 216, 255, 0.10), rgba(207, 77, 255, 0.10)) !important;
  box-shadow: inset 3px 0 0 var(--neo-cyan), 0 0 24px rgba(40, 216, 255, 0.10);
  transform: translateX(2px);
}

#sidebar-menu i, .main-sidebar .nav-icon, .navbar-header i {
  color: var(--neo-cyan) !important;
  filter: drop-shadow(0 0 8px rgba(40, 216, 255, 0.34));
}

.page-title-box h4, .page-title, h1, h2, h3, h4, h5, h6 {
  color: var(--neo-text) !important;
  letter-spacing: -0.02em;
}

.page-title-box h4, .card-title, .modal-title {
  text-shadow: 0 0 22px rgba(40, 216, 255, 0.18);
}

/* Cards, estatísticas e painéis */
.card, .info-box, .small-box, .license-card, .modal-content, .dropdown-menu, .select2-dropdown {
  background: linear-gradient(145deg, rgba(20, 29, 54, 0.88), rgba(9, 14, 27, 0.78)) !important;
  color: var(--neo-text) !important;
  border: 1px solid var(--neo-border) !important;
  border-radius: 20px !important;
  box-shadow: var(--neo-shadow), var(--neo-glow) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.card::before, .info-box::before, .small-box::before, .modal-content::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(36, 240, 165, 0.48), rgba(40, 216, 255, 0.34), rgba(207, 77, 255, 0.38));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.42;
}

.card {
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.card:hover, .info-box:hover, .small-box:hover {
  transform: translateY(-3px);
  border-color: var(--neo-border-hot) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,0.48), 0 0 38px rgba(207,77,255,0.20), 0 0 28px rgba(40,216,255,0.22) !important;
}

.card-body p, .card-body span, .text-muted, .breadcrumb-item.active, p, label, .form-text {
  color: var(--neo-muted) !important;
}

.card-body strong, .info-box-number, .small-box .inner h3, .badge, .text-white {
  color: #ffffff !important;
}

/* Tabelas e DataTables */
.table, table.dataTable {
  color: var(--neo-text) !important;
  background: transparent !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}

.table thead th, table.dataTable thead th {
  background: rgba(40, 216, 255, 0.10) !important;
  color: #eafaff !important;
  border: none !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .76rem;
  letter-spacing: .06em;
}

.table tbody tr, table.dataTable tbody tr {
  background: rgba(16, 24, 44, 0.64) !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.18);
}

.table tbody td, table.dataTable tbody td {
  border-top: 1px solid rgba(255,255,255,0.04) !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  color: var(--neo-text) !important;
  vertical-align: middle;
}

.table-hover tbody tr:hover, table.dataTable tbody tr:hover {
  background: linear-gradient(90deg, rgba(36,240,165,0.12), rgba(40,216,255,0.10), rgba(207,77,255,0.12)) !important;
}

.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select, .page-link {
  background: rgba(8, 12, 24, 0.82) !important;
  border: 1px solid var(--neo-border) !important;
  color: var(--neo-text) !important;
  border-radius: 12px !important;
}

/* Botões */
.btn, button, .page-link {
  border-radius: 12px !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.btn-primary, .btn-success, .btn-info, .btn-secondary, .requestUpdate, .floating-bubble {
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan), var(--neo-magenta)) !important;
  border: 0 !important;
  color: #06101c !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 32px rgba(40,216,255,0.24), 0 0 22px rgba(207,77,255,0.18) !important;
}

.btn-danger {
  background: linear-gradient(135deg, #ff416c, #ff5c8a, #ff9f5a) !important;
  border: 0 !important;
  color: #fff !important;
}

.btn-warning {
  background: linear-gradient(135deg, #ffc857, #ffdf7e) !important;
  border: 0 !important;
  color: #15110a !important;
}

.btn:hover, button:hover, .page-link:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

/* Formulários */
.form-control, .custom-select, select, textarea, input[type="text"], input[type="password"], input[type="email"], input[type="number"], .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  background: rgba(8, 12, 24, 0.86) !important;
  border: 1px solid var(--neo-border) !important;
  color: var(--neo-text) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 0 18px rgba(40,216,255,0.04) !important;
}

.form-control:focus, .custom-select:focus, select:focus, textarea:focus, input:focus {
  border-color: var(--neo-cyan) !important;
  box-shadow: 0 0 0 .2rem rgba(40,216,255,0.16), 0 0 20px rgba(40,216,255,0.18) !important;
  color: #ffffff !important;
}

.form-control::placeholder, input::placeholder, textarea::placeholder {
  color: rgba(159, 179, 200, 0.72) !important;
}

/* Alertas e modais */
.alert {
  border: 1px solid var(--neo-border) !important;
  border-radius: 18px !important;
  color: var(--neo-text) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: var(--neo-shadow);
}

.alert-warning { background: rgba(255, 200, 87, 0.14) !important; }
.alert-info { background: rgba(40, 216, 255, 0.14) !important; }
.alert-success, .valid-license { background: rgba(36, 240, 165, 0.14) !important; }
.alert-danger, .expired-license { background: rgba(255, 92, 138, 0.14) !important; }

.modal-backdrop.show {
  opacity: .74 !important;
  background: #02040a !important;
}

.close, .modal-header .close {
  color: #fff !important;
  text-shadow: 0 0 14px rgba(255,255,255,0.35);
}

/* Gráficos */
[id$="_chart"], #iptv_chart, #p2p_chart, #utm_chart {
  border-radius: 16px;
  background: radial-gradient(circle at center, rgba(40,216,255,0.08), transparent 68%) !important;
}

/* Responsividade */
@media (max-width: 768px) {
  .page-content { padding-left: 10px !important; padding-right: 10px !important; }
  .card, .modal-content, .license-card { border-radius: 16px !important; }
  .table-responsive { border: 0 !important; }
  .floating-bubble { bottom: 14px; right: 14px; }
}

/* Hero do dashboard */
.neo-dashboard-hero {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 22px;
  padding: 28px;
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(36, 240, 165, 0.14), rgba(40, 216, 255, 0.10), rgba(207, 77, 255, 0.16)),
    rgba(12, 18, 34, 0.72);
  border: 1px solid rgba(88, 214, 255, 0.22);
  box-shadow: 0 24px 80px rgba(0,0,0,0.42), 0 0 48px rgba(40,216,255,0.16);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow: hidden;
  position: relative;
}

.neo-dashboard-hero::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -70px;
  top: -95px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(207,77,255,0.38), transparent 68%);
  pointer-events: none;
}

.neo-hero-content, .neo-hero-badges { position: relative; z-index: 1; }
.neo-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #24f0a5;
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  margin-bottom: 8px;
}

.neo-hero-content h1 {
  margin: 0 0 8px;
  font-size: clamp(1.85rem, 4vw, 3.15rem);
  line-height: 1.04;
  background: linear-gradient(135deg, #ffffff, #28d8ff 45%, #cf4dff 88%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}

.neo-hero-content p {
  margin: 0;
  max-width: 720px;
  color: #b7c8db !important;
  font-size: 1rem;
}

.neo-hero-badges {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-width: 245px;
}

.neo-hero-badges span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 13px;
  border-radius: 999px;
  color: #edf6ff;
  background: rgba(6, 10, 20, 0.52);
  border: 1px solid rgba(88, 214, 255, 0.18);
  box-shadow: inset 0 0 14px rgba(40,216,255,0.06);
  white-space: nowrap;
}

.neo-hero-badges i { color: #28d8ff; filter: drop-shadow(0 0 8px rgba(40,216,255,.42)); }

@keyframes neoSoftPulse {
  0%, 100% { box-shadow: 0 18px 55px rgba(0,0,0,.42), 0 0 18px rgba(40,216,255,.12); }
  50% { box-shadow: 0 22px 70px rgba(0,0,0,.46), 0 0 34px rgba(207,77,255,.18); }
}

.card:nth-of-type(2n), .neo-dashboard-hero {
  animation: neoSoftPulse 5.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 992px) {
  .neo-dashboard-hero { flex-direction: column; padding: 22px; }
  .neo-hero-badges { min-width: 0; flex-direction: row; flex-wrap: wrap; }
}

/* Complemento global: abas, configurações e personalização de cores Office */
:root {
  --neo-sidebar-custom: #07111f;
  --neo-topbar-custom: #082f49;
  --neo-sidebar-rgb: 7, 17, 31;
  --neo-topbar-rgb: 8, 47, 73;
}

body[data-neo-custom-theme="1"] .vertical-menu,
body[data-neo-custom-theme="1"] .main-sidebar,
body[data-neo-custom-theme="1"] .sidebar,
body[data-neo-custom-theme="1"] .navbar-brand-box {
  background:
    radial-gradient(circle at 20% 0%, rgba(var(--neo-topbar-rgb), .34), transparent 38%),
    linear-gradient(180deg, rgba(var(--neo-sidebar-rgb), .98), rgba(5, 9, 18, .94)) !important;
  border-right: 1px solid rgba(88, 214, 255, .22) !important;
}

body[data-neo-custom-theme="1"] #page-topbar,
body[data-neo-custom-theme="1"] .navbar-header,
body[data-neo-custom-theme="1"] .main-header,
body[data-neo-custom-theme="1"] .isvertical-topbar,
body[data-neo-custom-theme="1"] footer.footer {
  background:
    linear-gradient(135deg, rgba(var(--neo-topbar-rgb), .96), rgba(7, 10, 18, .90)) !important;
  border-bottom: 1px solid rgba(88, 214, 255, .18) !important;
  box-shadow: 0 12px 36px rgba(var(--neo-topbar-rgb), .22), 0 0 28px rgba(40,216,255,.08) !important;
}

.nav-tabs, .nav-pills, .settings-nav, .list-group {
  border: 1px solid rgba(88,214,255,.14) !important;
  border-radius: 18px !important;
  background: rgba(7, 10, 18, .46) !important;
  padding: 6px !important;
  gap: 6px;
}

.nav-tabs .nav-link, .nav-pills .nav-link, .list-group-item {
  color: var(--neo-muted) !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
}

.nav-tabs .nav-link.active, .nav-pills .nav-link.active, .list-group-item.active,
.nav-tabs .nav-link:hover, .nav-pills .nav-link:hover, .list-group-item:hover {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(36,240,165,.14), rgba(40,216,255,.12), rgba(207,77,255,.14)) !important;
  box-shadow: inset 0 0 0 1px rgba(88,214,255,.22), 0 0 22px rgba(40,216,255,.12) !important;
}

.dropdown-menu .dropdown-item, .select2-results__option, .select2-selection__choice {
  color: var(--neo-text) !important;
  border-radius: 10px !important;
}

.dropdown-menu .dropdown-item:hover, .select2-results__option--highlighted {
  background: linear-gradient(135deg, rgba(40,216,255,.16), rgba(207,77,255,.14)) !important;
  color: #fff !important;
}

.table-responsive, .dataTables_wrapper, .tab-content, .invoice, .profile-user-box,
.card-header, .card-footer, .box, .panel, fieldset {
  border-color: rgba(88,214,255,.16) !important;
}

.card-header, .card-footer, .modal-header, .modal-footer {
  background: linear-gradient(135deg, rgba(40,216,255,.08), rgba(207,77,255,.07)) !important;
  border-color: rgba(88,214,255,.14) !important;
}

.badge-primary, .badge-info, .badge-success, .label-primary, .label-info, .label-success {
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan)) !important;
  color: #06101c !important;
}

.badge-danger, .label-danger { background: linear-gradient(135deg, #ff416c, #ff5c8a) !important; color: #fff !important; }
.badge-warning, .label-warning { background: linear-gradient(135deg, #ffc857, #ffdf7e) !important; color: #15110a !important; }

.neo-color-modal .modal-header {
  align-items: center;
  padding: 22px 24px;
}

.neo-color-preview {
  display: grid;
  grid-template-columns: 150px 1fr;
  min-height: 160px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(88,214,255,.20);
  background: rgba(5,9,18,.72);
  box-shadow: inset 0 0 32px rgba(40,216,255,.06), 0 16px 46px rgba(0,0,0,.30);
}

.neo-preview-sidebar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 20px;
  background: linear-gradient(180deg, var(--neo-sidebar-custom), rgba(5,9,18,.96));
}

.neo-preview-sidebar span {
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,.84), rgba(40,216,255,.28));
  opacity: .82;
}

.neo-preview-main {
  padding: 18px;
  background:
    radial-gradient(circle at 82% 18%, rgba(207,77,255,.18), transparent 30%),
    linear-gradient(135deg, rgba(7,10,18,.94), rgba(12,18,34,.86));
}

.neo-preview-topbar {
  height: 34px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--neo-topbar-custom), rgba(40,216,255,.18));
  box-shadow: 0 0 24px rgba(var(--neo-topbar-rgb), .30);
  margin-bottom: 18px;
}

.neo-preview-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-height: 72px;
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(36,240,165,.12), rgba(40,216,255,.10), rgba(207,77,255,.12));
  border: 1px solid rgba(88,214,255,.18);
}

.neo-preview-card strong { color: #fff !important; font-size: 1.05rem; }
.neo-preview-card small { color: var(--neo-muted) !important; }

.neo-preset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.neo-preset {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  justify-content: flex-start;
  padding: 11px 12px;
  border: 1px solid rgba(88,214,255,.18) !important;
  border-radius: 14px !important;
  background: rgba(8,12,24,.76) !important;
  color: var(--neo-text) !important;
  font-weight: 700;
}

.neo-preset span {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--preset-a), var(--preset-b));
  box-shadow: 0 0 18px color-mix(in srgb, var(--preset-b) 50%, transparent);
  flex: 0 0 auto;
}

.neo-preset:hover, .neo-preset.is-active {
  transform: translateY(-2px);
  border-color: rgba(40,216,255,.42) !important;
  box-shadow: 0 0 26px rgba(40,216,255,.16), 0 0 18px rgba(207,77,255,.12) !important;
}

.neo-color-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.neo-color-field {
  padding: 15px;
  border-radius: 18px;
  border: 1px solid rgba(88,214,255,.16);
  background: rgba(8,12,24,.68);
}

.neo-color-field label {
  display: block;
  color: #fff !important;
  font-weight: 800;
  margin-bottom: 8px;
}

.neo-color-field input[type="color"] {
  width: 100%;
  height: 48px;
  padding: 4px;
  border-radius: 14px !important;
  background: rgba(5,9,18,.78) !important;
  cursor: pointer;
}

.neo-color-field small {
  display: block;
  margin-top: 8px;
  color: var(--neo-muted) !important;
}

.neo-color-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

@media (max-width: 768px) {
  .neo-color-preview { grid-template-columns: 105px 1fr; }
  .neo-color-form { grid-template-columns: 1fr; }
  .neo-color-actions { justify-content: stretch; }
  .neo-color-actions .btn { flex: 1 1 100%; }
}


/* Reforço global pós-auditoria: deixar páginas herdadas mais próximas do padrão neon sem mudar estrutura */
.page-content > .container-fluid,
.content-wrapper > .content,
.main-content .container-fluid {
  position: relative;
}

.page-title-box,
.page-header,
.content-header {
  margin-bottom: 22px !important;
  padding: 18px 22px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 88% 20%, rgba(207,77,255,.13), transparent 34%),
    linear-gradient(135deg, rgba(7,10,18,.58), rgba(14,22,42,.34)) !important;
  border: 1px solid rgba(88,214,255,.10) !important;
}

.table-responsive,
.dataTables_wrapper,
.card .table-responsive,
.box-body,
.panel-body,
[class*="card"] .dataTables_wrapper {
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(13, 21, 40, .56), rgba(5, 9, 18, .34)) !important;
  border: 1px solid rgba(88,214,255,.12) !important;
  box-shadow: inset 0 0 28px rgba(40,216,255,.035), 0 14px 42px rgba(0,0,0,.22) !important;
}

.table-bordered,
table.table-bordered,
table.dataTable,
.table-responsive table {
  border-color: rgba(88,214,255,.24) !important;
}

.table-bordered th,
.table-bordered td,
table.dataTable th,
table.dataTable td,
.table-responsive table th,
.table-responsive table td {
  border-color: rgba(88,214,255,.18) !important;
}

.dataTables_filter,
.dataTables_length,
.dataTables_info,
.dataTables_paginate,
div.dataTables_wrapper div.dataTables_filter label,
div.dataTables_wrapper div.dataTables_length label {
  color: var(--neo-muted) !important;
}

.input-group-text,
.input-group-prepend .input-group-text,
.input-group-append .input-group-text,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: rgba(8,12,24,.90) !important;
  color: var(--neo-text) !important;
  border-color: rgba(88,214,255,.18) !important;
}

.form-group,
.filter-group,
.search-box,
fieldset {
  border-radius: 16px;
}

.btn-outline-primary,
.btn-outline-info,
.btn-outline-success,
.btn-light,
.btn-default {
  background: rgba(8,12,24,.72) !important;
  border: 1px solid rgba(88,214,255,.28) !important;
  color: #eafaff !important;
  box-shadow: 0 0 18px rgba(40,216,255,.08) !important;
}

.btn-outline-primary:hover,
.btn-outline-info:hover,
.btn-outline-success:hover,
.btn-light:hover,
.btn-default:hover {
  background: linear-gradient(135deg, rgba(36,240,165,.18), rgba(40,216,255,.15), rgba(207,77,255,.16)) !important;
  color: #fff !important;
}

.footer,
footer.footer {
  color: var(--neo-muted) !important;
  background: rgba(7,10,18,.78) !important;
  border-top: 1px solid rgba(88,214,255,.12) !important;
}

/* O padrão do Office/revendedor continua moderno mesmo sem preferência salva. */
body:not([data-neo-custom-theme="1"]) .vertical-menu,
body:not([data-neo-custom-theme="1"]) .main-sidebar,
body:not([data-neo-custom-theme="1"]) .sidebar,
body:not([data-neo-custom-theme="1"]) .navbar-brand-box {
  background:
    radial-gradient(circle at 20% 0%, rgba(40,216,255,.10), transparent 38%),
    linear-gradient(180deg, rgba(5,14,28,.98), rgba(5,9,18,.96)) !important;
}

body:not([data-neo-custom-theme="1"]) #page-topbar,
body:not([data-neo-custom-theme="1"]) .navbar-header,
body:not([data-neo-custom-theme="1"]) .main-header,
body:not([data-neo-custom-theme="1"]) .isvertical-topbar {
  background:
    linear-gradient(135deg, rgba(5,18,32,.96), rgba(7,10,18,.92)) !important;
}


/* Correção pós-validação: Settings herdado, modo claro/escuro real e mobile */
body[data-layout-mode="light"],
body[data-bs-theme="light"] {
  --neo-bg: #f4f8ff;
  --neo-bg-soft: #eaf1ff;
  --neo-surface: rgba(255,255,255,.86);
  --neo-surface-strong: rgba(255,255,255,.94);
  --neo-border: rgba(43, 132, 255, .20);
  --neo-border-hot: rgba(123, 97, 255, .28);
  --neo-text: #102033;
  --neo-muted: #53657a;
  --neo-shadow: 0 18px 45px rgba(30, 64, 120, .16);
  --neo-glow: 0 0 24px rgba(40, 216, 255, .12), 0 0 38px rgba(123, 97, 255, .09);
  background:
    radial-gradient(circle at 10% 10%, rgba(36, 240, 165, .16), transparent 28%),
    radial-gradient(circle at 88% 0%, rgba(123, 97, 255, .14), transparent 34%),
    linear-gradient(180deg, #f7fbff, #eaf1ff) !important;
  color: var(--neo-text) !important;
}

body[data-layout-mode="light"] .card,
body[data-layout-mode="light"] .info-box,
body[data-layout-mode="light"] .small-box,
body[data-layout-mode="light"] .modal-content,
body[data-layout-mode="light"] .dropdown-menu,
body[data-layout-mode="light"] .select2-dropdown,
body[data-bs-theme="light"] .card,
body[data-bs-theme="light"] .info-box,
body[data-bs-theme="light"] .small-box,
body[data-bs-theme="light"] .modal-content,
body[data-bs-theme="light"] .dropdown-menu,
body[data-bs-theme="light"] .select2-dropdown {
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(235,244,255,.86)) !important;
  color: var(--neo-text) !important;
  border-color: rgba(43,132,255,.20) !important;
  box-shadow: var(--neo-shadow), var(--neo-glow) !important;
}

body[data-layout-mode="light"] .navbar-header,
body[data-layout-mode="light"] .main-header,
body[data-layout-mode="light"] .topnav,
body[data-layout-mode="light"] header,
body[data-layout-mode="light"] .vertical-menu,
body[data-layout-mode="light"] .main-sidebar,
body[data-layout-mode="light"] .navbar-brand-box,
body[data-bs-theme="light"] .navbar-header,
body[data-bs-theme="light"] .main-header,
body[data-bs-theme="light"] .topnav,
body[data-bs-theme="light"] header,
body[data-bs-theme="light"] .vertical-menu,
body[data-bs-theme="light"] .main-sidebar,
body[data-bs-theme="light"] .navbar-brand-box {
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(43,132,255,.18) !important;
  box-shadow: 0 10px 32px rgba(30,64,120,.14) !important;
}

body[data-layout-mode="light"] .page-title-box h4,
body[data-layout-mode="light"] .page-title,
body[data-layout-mode="light"] h1,
body[data-layout-mode="light"] h2,
body[data-layout-mode="light"] h3,
body[data-layout-mode="light"] h4,
body[data-layout-mode="light"] h5,
body[data-layout-mode="light"] h6,
body[data-bs-theme="light"] .page-title-box h4,
body[data-bs-theme="light"] .page-title,
body[data-bs-theme="light"] h1,
body[data-bs-theme="light"] h2,
body[data-bs-theme="light"] h3,
body[data-bs-theme="light"] h4,
body[data-bs-theme="light"] h5,
body[data-bs-theme="light"] h6 {
  color: #102033 !important;
}

body[data-layout-mode="light"] .form-control,
body[data-layout-mode="light"] .custom-select,
body[data-layout-mode="light"] select,
body[data-layout-mode="light"] textarea,
body[data-layout-mode="light"] input[type="text"],
body[data-layout-mode="light"] input[type="password"],
body[data-layout-mode="light"] input[type="email"],
body[data-layout-mode="light"] input[type="number"],
body[data-bs-theme="light"] .form-control,
body[data-bs-theme="light"] .custom-select,
body[data-bs-theme="light"] select,
body[data-bs-theme="light"] textarea,
body[data-bs-theme="light"] input[type="text"],
body[data-bs-theme="light"] input[type="password"],
body[data-bs-theme="light"] input[type="email"],
body[data-bs-theme="light"] input[type="number"] {
  background: rgba(255,255,255,.92) !important;
  color: #13253a !important;
  border-color: rgba(43,132,255,.22) !important;
}

body[data-layout-mode="light"] .card-body p,
body[data-layout-mode="light"] .card-body span,
body[data-layout-mode="light"] .text-muted,
body[data-layout-mode="light"] .breadcrumb-item.active,
body[data-layout-mode="light"] p,
body[data-layout-mode="light"] label,
body[data-layout-mode="light"] .form-text,
body[data-bs-theme="light"] .card-body p,
body[data-bs-theme="light"] .card-body span,
body[data-bs-theme="light"] .text-muted,
body[data-bs-theme="light"] .breadcrumb-item.active,
body[data-bs-theme="light"] p,
body[data-bs-theme="light"] label,
body[data-bs-theme="light"] .form-text {
  color: #53657a !important;
}

body[data-layout-mode="light"] .table tbody tr,
body[data-bs-theme="light"] .table tbody tr {
  background: rgba(255,255,255,.74) !important;
}

body[data-layout-mode="light"] .table tbody td,
body[data-layout-mode="light"] table.dataTable tbody td,
body[data-bs-theme="light"] .table tbody td,
body[data-bs-theme="light"] table.dataTable tbody td {
  color: #17263a !important;
  border-color: rgba(43,132,255,.14) !important;
}

/* Settings é uma página monolítica antiga; estes seletores modernizam abas, cards e formulários sem mudar HTML/PHP. */
body:has(#custom-tabs-one-tab) .page-content,
body:has(#custom-tabs-one-tab) .content-wrapper {
  padding-top: 90px !important;
}

#custom-tabs-one-tab {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(88,214,255,.18) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(7,10,18,.72), rgba(13,21,40,.62)) !important;
  box-shadow: inset 0 0 28px rgba(40,216,255,.04), 0 12px 36px rgba(0,0,0,.22) !important;
}

#custom-tabs-one-tab .nav-item {
  margin: 0 !important;
}

#custom-tabs-one-tab .nav-link.settings {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--neo-muted) !important;
  background: rgba(8,12,24,.62) !important;
  border: 1px solid rgba(88,214,255,.12) !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  box-shadow: none !important;
  text-decoration: none !important;
}

#custom-tabs-one-tab .nav-link.settings.active,
#custom-tabs-one-tab .nav-link.settings:hover {
  color: #06101c !important;
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan), var(--neo-magenta)) !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: 0 12px 28px rgba(40,216,255,.22), 0 0 22px rgba(207,77,255,.14) !important;
}

.card.card-primary.card-tabs {
  border-radius: 26px !important;
  overflow: visible !important;
}

.card.card-primary.card-tabs > .card-header {
  border-radius: 26px 26px 0 0 !important;
  padding: 14px !important;
}

.card.card-primary.card-tabs .card-body,
.card.card-primary.card-tabs form,
.tab-content,
.tab-pane {
  color: var(--neo-text) !important;
}

.card.card-primary.card-tabs .form-group {
  padding: 12px;
  border: 1px solid rgba(88,214,255,.10);
  border-radius: 18px;
  background: rgba(8,12,24,.30);
}

body[data-layout-mode="light"] .card.card-primary.card-tabs .form-group,
body[data-bs-theme="light"] .card.card-primary.card-tabs .form-group,
body[data-layout-mode="light"] #custom-tabs-one-tab .nav-link.settings,
body[data-bs-theme="light"] #custom-tabs-one-tab .nav-link.settings {
  background: rgba(255,255,255,.70) !important;
}

.note-editor.note-frame,
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
  border-color: rgba(88,214,255,.20) !important;
  border-radius: 14px !important;
  overflow: hidden;
}

.note-editor .note-toolbar,
.note-editor .note-statusbar {
  background: rgba(8,12,24,.74) !important;
  border-color: rgba(88,214,255,.16) !important;
}

@media (max-width: 768px) {
  body:has(#custom-tabs-one-tab) .page-content,
  body:has(#custom-tabs-one-tab) .content-wrapper {
    padding-top: 72px !important;
  }

  #custom-tabs-one-tab {
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-height: 58vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  #custom-tabs-one-tab .nav-link.settings {
    width: 100% !important;
    justify-content: flex-start !important;
    white-space: normal !important;
    border-radius: 16px !important;
    padding: 11px 14px !important;
  }

  .card.card-primary.card-tabs > .card-header,
  .card.card-primary.card-tabs .card-body {
    padding: 12px !important;
  }

  .card.card-primary.card-tabs .form-group {
    padding: 10px !important;
  }

  .main-content .container-fluid,
  .page-content > .container-fluid {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* Ícones do alternador claro/escuro: exibir apenas a ação oposta ao tema atual. */
#themeToggle .fa-moon,
#themeToggle .ri-moon-line,
#themeToggle [data-theme-icon="moon"] {
  display: inline-flex !important;
}
#themeToggle .fa-sun,
#themeToggle .ri-sun-line,
#themeToggle [data-theme-icon="sun"] {
  display: none !important;
}
body[data-layout-mode="dark"] #themeToggle .fa-moon,
body[data-bs-theme="dark"] #themeToggle .fa-moon,
body[data-layout-mode="dark"] #themeToggle .ri-moon-line,
body[data-bs-theme="dark"] #themeToggle .ri-moon-line,
body[data-layout-mode="dark"] #themeToggle [data-theme-icon="moon"],
body[data-bs-theme="dark"] #themeToggle [data-theme-icon="moon"] {
  display: none !important;
}
body[data-layout-mode="dark"] #themeToggle .fa-sun,
body[data-bs-theme="dark"] #themeToggle .fa-sun,
body[data-layout-mode="dark"] #themeToggle .ri-sun-line,
body[data-bs-theme="dark"] #themeToggle .ri-sun-line,
body[data-layout-mode="dark"] #themeToggle [data-theme-icon="sun"],
body[data-bs-theme="dark"] #themeToggle [data-theme-icon="sun"] {
  display: inline-flex !important;
}
#themeToggle {
  align-items: center !important;
  justify-content: center !important;
}


/* Refinamento mobile final: legibilidade, modais e controles marcados pelo usuário. */
.container-fluid, .row, .card, .table-responsive {
  position: relative;
  z-index: 1;
}
.modal,
.modal.fade,
.modal.show {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10650 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 12px !important;
  background: rgba(2, 6, 18, .62) !important;
  -webkit-overflow-scrolling: touch !important;
}
.modal-backdrop,
.modal-backdrop.show {
  z-index: 10640 !important;
}
.modal.show .modal-dialog,
.modal.fade .modal-dialog,
#fast_test_iptv_modal .modal-dialog,
#fast_test_p2p_modal .modal-dialog,
#fast_test_code_modal .modal-dialog,
#fast_test_hometv_modal .modal-dialog,
#colorModal .modal-dialog {
  width: min(94vw, 760px) !important;
  max-width: min(94vw, 760px) !important;
  margin: max(14px, env(safe-area-inset-top)) auto max(18px, env(safe-area-inset-bottom)) !important;
  transform: none !important;
  pointer-events: auto !important;
}
#fast_test_iptv_modal .modal-content,
#fast_test_p2p_modal .modal-content,
#fast_test_code_modal .modal-content,
#fast_test_hometv_modal .modal-content,
#colorModal .modal-content {
  max-height: calc(100dvh - 34px) !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  display: flex !important;
  flex-direction: column !important;
}
#fast_test_iptv_modal .modal-body,
#fast_test_p2p_modal .modal-body,
#fast_test_code_modal .modal-body,
#fast_test_hometv_modal .modal-body,
#colorModal .modal-body {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
#fast_test_iptv_modal textarea,
#fast_test_p2p_modal textarea,
#fast_test_code_modal textarea,
#fast_test_hometv_modal textarea {
  min-height: 260px !important;
  max-height: 48dvh !important;
  resize: vertical !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  color: var(--neo-text) !important;
}

.navbar-header .btn.btn-danger.btn-sm[data-toggle="dropdown"] {
  min-width: 118px !important;
  min-height: 64px !important;
  padding: 10px 18px !important;
  border: 0 !important;
  border-radius: 22px !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  text-align: center !important;
  background: linear-gradient(135deg, #ff2d73 0%, #ff5c8a 44%, #ff8a3d 100%) !important;
  box-shadow: 0 12px 28px rgba(255,45,115,.34), 0 0 26px rgba(255,92,138,.24) !important;
  position: relative !important;
  overflow: hidden !important;
}
.navbar-header .btn.btn-danger.btn-sm[data-toggle="dropdown"]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.24), transparent);
  transform: translateX(-120%);
  transition: transform .45s ease;
}
.navbar-header .btn.btn-danger.btn-sm[data-toggle="dropdown"]:hover::after,
.navbar-header .btn.btn-danger.btn-sm[data-toggle="dropdown"]:focus::after {
  transform: translateX(120%);
}
.navbar-header .dropdown-menu {
  z-index: 10700 !important;
  border-radius: 18px !important;
  padding: 10px !important;
  border: 1px solid rgba(88,214,255,.18) !important;
}

#sidebar-menu .sub-menu form,
.vertical-menu .sub-menu form,
.main-sidebar .sub-menu form {
  width: 100% !important;
  display: block !important;
}
#sidebar-menu .sub-menu form .nav-link,
.vertical-menu .sub-menu form .nav-link,
.main-sidebar .sub-menu form .nav-link,
#sidebar-menu .sub-menu a,
.vertical-menu .sub-menu a,
.main-sidebar .sub-menu a {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 16px !important;
  color: var(--neo-muted) !important;
  text-decoration: none !important;
}
#sidebar-menu .sub-menu form .nav-link:hover,
#sidebar-menu .sub-menu form .nav-link:focus,
#sidebar-menu .sub-menu a:hover,
#sidebar-menu .sub-menu a:focus {
  background: linear-gradient(135deg, rgba(40,216,255,.15), rgba(36,240,165,.10)) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 var(--neo-cyan), 0 10px 24px rgba(40,216,255,.10) !important;
}
#sidebar-menu .sub-menu form .nav-link .far,
#sidebar-menu .sub-menu form .nav-link i,
#sidebar-menu .sub-menu a i {
  flex: 0 0 auto !important;
}

/* Corrige textos invisíveis no modo claro sem perder o contraste do modo escuro. */
body[data-layout-mode="light"] .card-body strong,
body[data-layout-mode="light"] .card-body .text-white,
body[data-layout-mode="light"] .info-box-number,
body[data-layout-mode="light"] .small-box .inner h3,
body[data-layout-mode="light"] .modal-content strong,
body[data-layout-mode="light"] .modal-content .text-white,
body[data-layout-mode="light"] .neo-color-field label,
body[data-bs-theme="light"] .card-body strong,
body[data-bs-theme="light"] .card-body .text-white,
body[data-bs-theme="light"] .info-box-number,
body[data-bs-theme="light"] .small-box .inner h3,
body[data-bs-theme="light"] .modal-content strong,
body[data-bs-theme="light"] .modal-content .text-white,
body[data-bs-theme="light"] .neo-color-field label {
  color: #102033 !important;
  text-shadow: none !important;
}
body[data-layout-mode="light"] .card-body p,
body[data-layout-mode="light"] .card-body span,
body[data-layout-mode="light"] .card-body div,
body[data-layout-mode="light"] .card-body small,
body[data-layout-mode="light"] .modal-body,
body[data-layout-mode="light"] .modal-body p,
body[data-layout-mode="light"] .modal-body span,
body[data-layout-mode="light"] .dropdown-menu .dropdown-item,
body[data-bs-theme="light"] .card-body p,
body[data-bs-theme="light"] .card-body span,
body[data-bs-theme="light"] .card-body div,
body[data-bs-theme="light"] .card-body small,
body[data-bs-theme="light"] .modal-body,
body[data-bs-theme="light"] .modal-body p,
body[data-bs-theme="light"] .modal-body span,
body[data-bs-theme="light"] .dropdown-menu .dropdown-item {
  color: #23364d !important;
}
body[data-layout-mode="light"] #sidebar-menu ul li a,
body[data-layout-mode="light"] .main-sidebar .nav-link,
body[data-layout-mode="light"] .navbar-nav .nav-link,
body[data-layout-mode="light"] .header-item,
body[data-bs-theme="light"] #sidebar-menu ul li a,
body[data-bs-theme="light"] .main-sidebar .nav-link,
body[data-bs-theme="light"] .navbar-nav .nav-link,
body[data-bs-theme="light"] .header-item {
  color: #334761 !important;
}
body[data-layout-mode="light"] #sidebar-menu ul li a:hover,
body[data-layout-mode="light"] #sidebar-menu ul li a.mm-active,
body[data-layout-mode="light"] #sidebar-menu ul li a.active,
body[data-bs-theme="light"] #sidebar-menu ul li a:hover,
body[data-bs-theme="light"] #sidebar-menu ul li a.mm-active,
body[data-bs-theme="light"] #sidebar-menu ul li a.active {
  color: #07111f !important;
  background: linear-gradient(135deg, rgba(40,216,255,.20), rgba(36,240,165,.16)) !important;
}
body[data-layout-mode="light"] .card::before,
body[data-layout-mode="light"] .modal-content::before,
body[data-bs-theme="light"] .card::before,
body[data-bs-theme="light"] .modal-content::before {
  opacity: .55 !important;
}

@media (max-width: 768px) {
  .navbar-header {
    min-height: 72px !important;
    gap: 6px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .navbar-header .d-flex.flex-wrap.gap-3.align-items-center {
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  .navbar-header .btn.btn-danger.btn-sm[data-toggle="dropdown"] {
    min-width: 108px !important;
    min-height: 58px !important;
    padding: 9px 14px !important;
    border-radius: 18px !important;
    font-size: 16px !important;
  }
  .navbar-header .dropdown-menu {
    position: fixed !important;
    top: 76px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    margin: 0 !important;
    transform: none !important;
  }
  #fast_test_iptv_modal .modal-footer,
  #fast_test_p2p_modal .modal-footer,
  #fast_test_code_modal .modal-footer,
  #fast_test_hometv_modal .modal-footer,
  #colorModal .modal-footer,
  .modal-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  #fast_test_iptv_modal .modal-footer .btn,
  #fast_test_p2p_modal .modal-footer .btn,
  #fast_test_code_modal .modal-footer .btn,
  #fast_test_hometv_modal .modal-footer .btn,
  .modal-footer .btn {
    width: 100% !important;
    margin: 0 !important;
  }
  #colorModal .modal-dialog {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    margin: 9px auto !important;
  }
  .neo-color-preview {
    grid-template-columns: 82px 1fr !important;
    min-height: 126px !important;
  }
  .neo-preset-grid {
    grid-template-columns: 1fr !important;
  }
  .floating-bubble,
  .neo-color-fab,
  button[data-target="#colorModal"],
  [data-target="#colorModal"].btn {
    z-index: 10580 !important;
    bottom: max(20px, env(safe-area-inset-bottom)) !important;
    right: 14px !important;
    width: 66px !important;
    height: 66px !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 36px rgba(40,216,255,.26), 0 0 30px rgba(207,77,255,.22) !important;
  }
  .vertical-menu,
  .main-sidebar {
    max-width: min(86vw, 430px) !important;
  }
  #sidebar-menu .sub-menu a,
  #sidebar-menu .sub-menu form .nav-link {
    font-size: 15.5px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    text-align: left !important;
  }
}

/* Refinamento final mobile: contraste real em modo claro, modais utilizáveis e páginas legadas modernizadas. */
body[data-layout-mode="light"] .modal.show,
body[data-bs-theme="light"] .modal.show {
  color: #102033 !important;
}
body[data-layout-mode="light"] .modal.show .modal-dialog,
body[data-bs-theme="light"] .modal.show .modal-dialog {
  color: #102033 !important;
}
body[data-layout-mode="light"] .modal.show .modal-content,
body[data-bs-theme="light"] .modal.show .modal-content,
body.light-mode .modal.show .modal-content {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(236,248,255,.96)) !important;
  color: #102033 !important;
  border: 1px solid rgba(22, 151, 196, .28) !important;
  box-shadow: 0 22px 58px rgba(18, 55, 85, .22), 0 0 0 1px rgba(255,255,255,.72) inset !important;
}
body[data-layout-mode="light"] .modal.show .modal-content::before,
body[data-bs-theme="light"] .modal.show .modal-content::before,
body.light-mode .modal.show .modal-content::before {
  opacity: .22 !important;
  background: radial-gradient(circle at 18% 0%, rgba(40,216,255,.26), transparent 36%), radial-gradient(circle at 100% 12%, rgba(207,77,255,.18), transparent 34%) !important;
}
body[data-layout-mode="light"] .modal.show .modal-header,
body[data-layout-mode="light"] .modal.show .modal-footer,
body[data-bs-theme="light"] .modal.show .modal-header,
body[data-bs-theme="light"] .modal.show .modal-footer,
body.light-mode .modal.show .modal-header,
body.light-mode .modal.show .modal-footer {
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(22, 151, 196, .20) !important;
  color: #102033 !important;
}
body[data-layout-mode="light"] .modal.show .modal-title,
body[data-layout-mode="light"] .modal.show .modal-body,
body[data-layout-mode="light"] .modal.show .modal-body *,
body[data-bs-theme="light"] .modal.show .modal-title,
body[data-bs-theme="light"] .modal.show .modal-body,
body[data-bs-theme="light"] .modal.show .modal-body *,
body.light-mode .modal.show .modal-title,
body.light-mode .modal.show .modal-body,
body.light-mode .modal.show .modal-body * {
  color: #102033 !important;
  text-shadow: none !important;
}
body[data-layout-mode="light"] .modal.show textarea,
body[data-layout-mode="light"] .modal.show input,
body[data-layout-mode="light"] .modal.show select,
body[data-bs-theme="light"] .modal.show textarea,
body[data-bs-theme="light"] .modal.show input,
body[data-bs-theme="light"] .modal.show select,
body.light-mode .modal.show textarea,
body.light-mode .modal.show input,
body.light-mode .modal.show select {
  background: rgba(255,255,255,.96) !important;
  color: #102033 !important;
  border-color: rgba(22,151,196,.30) !important;
}
body[data-layout-mode="light"] .modal.show a,
body[data-bs-theme="light"] .modal.show a,
body.light-mode .modal.show a {
  color: #006fb8 !important;
  font-weight: 800 !important;
}
body[data-layout-mode="light"] .btn-close,
body[data-bs-theme="light"] .btn-close,
body.light-mode .btn-close,
body[data-layout-mode="light"] .close,
body[data-bs-theme="light"] .close,
body.light-mode .close {
  color: #102033 !important;
  opacity: .9 !important;
  text-shadow: none !important;
}
body[data-layout-mode="light"] .content-wrapper,
body[data-layout-mode="light"] .main-content,
body[data-layout-mode="light"] .page-content,
body[data-layout-mode="light"] .wrapper,
body[data-bs-theme="light"] .content-wrapper,
body[data-bs-theme="light"] .main-content,
body[data-bs-theme="light"] .page-content,
body[data-bs-theme="light"] .wrapper {
  color: #102033 !important;
}
body[data-layout-mode="light"] .card,
body[data-layout-mode="light"] .box,
body[data-layout-mode="light"] .card-box,
body[data-layout-mode="light"] .panel,
body[data-bs-theme="light"] .card,
body[data-bs-theme="light"] .box,
body[data-bs-theme="light"] .card-box,
body[data-bs-theme="light"] .panel {
  color: #102033 !important;
}
body[data-layout-mode="light"] .card-title,
body[data-layout-mode="light"] .box-title,
body[data-layout-mode="light"] label,
body[data-layout-mode="light"] th,
body[data-layout-mode="light"] td,
body[data-layout-mode="light"] .form-control,
body[data-layout-mode="light"] .select2-selection__rendered,
body[data-bs-theme="light"] .card-title,
body[data-bs-theme="light"] .box-title,
body[data-bs-theme="light"] label,
body[data-bs-theme="light"] th,
body[data-bs-theme="light"] td,
body[data-bs-theme="light"] .form-control,
body[data-bs-theme="light"] .select2-selection__rendered {
  color: #102033 !important;
}
body[data-layout-mode="dark"] .modal.show .modal-content,
body[data-bs-theme="dark"] .modal.show .modal-content,
body.dark-mode .modal.show .modal-content {
  background: linear-gradient(180deg, rgba(7,12,26,.98), rgba(9,22,42,.96)) !important;
  color: #eaf8ff !important;
  border-color: rgba(40,216,255,.30) !important;
}
body[data-layout-mode="dark"] .modal.show .modal-body,
body[data-layout-mode="dark"] .modal.show .modal-body *,
body[data-bs-theme="dark"] .modal.show .modal-body,
body[data-bs-theme="dark"] .modal.show .modal-body *,
body.dark-mode .modal.show .modal-body,
body.dark-mode .modal.show .modal-body * {
  color: #eaf8ff !important;
}

@media (max-width: 768px) {
  .modal.show {
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .modal.show .modal-dialog {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    min-height: calc(100dvh - 18px) !important;
    margin: 9px auto !important;
    display: flex !important;
    align-items: center !important;
    pointer-events: auto !important;
  }
  .modal.show .modal-content {
    max-height: calc(100dvh - 18px) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }
  .modal.show .modal-body {
    max-height: calc(100dvh - 190px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #fast_test_iptv_modal textarea,
  #fast_test_p2p_modal textarea,
  #fast_test_code_modal textarea,
  #fast_test_hometv_modal textarea {
    min-height: 240px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
  }
  .navbar-header .btn.btn-danger.btn-sm[data-toggle="dropdown"] {
    color: #fff !important;
    text-shadow: 0 1px 8px rgba(0,0,0,.24) !important;
  }
}

/* Refino final: contraste da saudação e hero (20260526-7) */
.neo-dashboard-hero .neo-hero-content,
.neo-dashboard-hero .neo-hero-content *,
.neo-dashboard-hero h1,
.neo-dashboard-hero .neo-eyebrow,
.neo-dashboard-hero p {
  opacity: 1 !important;
  -webkit-text-fill-color: currentColor !important;
}

body[data-layout-mode="light"] .neo-dashboard-hero,
body[data-bs-theme="light"] .neo-dashboard-hero {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(233,247,255,.92)) !important;
  border-color: rgba(20, 116, 180, .22) !important;
  box-shadow: 0 18px 42px rgba(12, 34, 64, .12), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

body[data-layout-mode="light"] .neo-dashboard-hero .neo-eyebrow,
body[data-bs-theme="light"] .neo-dashboard-hero .neo-eyebrow {
  color: #0b5c8f !important;
  text-shadow: none !important;
}

body[data-layout-mode="light"] .neo-dashboard-hero h1,
body[data-layout-mode="light"] .neo-dashboard-hero .neo-hero-content h1,
body[data-layout-mode="light"] .neo-dashboard-hero [class*="greeting"],
body[data-bs-theme="light"] .neo-dashboard-hero h1,
body[data-bs-theme="light"] .neo-dashboard-hero .neo-hero-content h1,
body[data-bs-theme="light"] .neo-dashboard-hero [class*="greeting"] {
  color: #071827 !important;
  -webkit-text-fill-color: #071827 !important;
  background: none !important;
  opacity: 1 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.82) !important;
}

body[data-layout-mode="light"] .neo-dashboard-hero p,
body[data-bs-theme="light"] .neo-dashboard-hero p {
  color: #17324a !important;
  -webkit-text-fill-color: #17324a !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body[data-layout-mode="dark"] .neo-dashboard-hero h1,
body[data-bs-theme="dark"] .neo-dashboard-hero h1,
body.dark-mode .neo-dashboard-hero h1 {
  color: #f4fbff !important;
  -webkit-text-fill-color: #f4fbff !important;
  opacity: 1 !important;
}
/* Fim refino final 20260526-7 */

/* Refino final v2: modo claro com fundo realmente claro e alto contraste (20260526-8) */
body[data-layout-mode="light"],
body[data-bs-theme="light"],
body.light-mode {
  background: #eef6ff !important;
  color: #102033 !important;
}
body[data-layout-mode="light"] .isvertical-topbar,
body[data-layout-mode="light"] .navbar-header,
body[data-bs-theme="light"] .isvertical-topbar,
body[data-bs-theme="light"] .navbar-header,
body.light-mode .isvertical-topbar,
body.light-mode .navbar-header {
  background: rgba(255,255,255,.94) !important;
  color: #102033 !important;
  border-bottom: 1px solid rgba(21, 101, 148, .14) !important;
  box-shadow: 0 12px 32px rgba(15, 42, 72, .10) !important;
}
body[data-layout-mode="light"] .content-wrapper,
body[data-layout-mode="light"] .main-content,
body[data-layout-mode="light"] .page-content,
body[data-layout-mode="light"] .container-fluid,
body[data-bs-theme="light"] .content-wrapper,
body[data-bs-theme="light"] .main-content,
body[data-bs-theme="light"] .page-content,
body[data-bs-theme="light"] .container-fluid,
body.light-mode .content-wrapper,
body.light-mode .main-content,
body.light-mode .page-content,
body.light-mode .container-fluid {
  background: #eef6ff !important;
  color: #102033 !important;
}
body[data-layout-mode="light"] .neo-dashboard-hero,
body[data-bs-theme="light"] .neo-dashboard-hero,
body.light-mode .neo-dashboard-hero {
  background: linear-gradient(135deg, #ffffff 0%, #eaf7ff 58%, #f7fbff 100%) !important;
  color: #102033 !important;
  border: 1px solid rgba(20, 116, 180, .22) !important;
}
body[data-layout-mode="light"] .neo-dashboard-hero .neo-hero-content,
body[data-layout-mode="light"] .neo-dashboard-hero .neo-hero-content *,
body[data-bs-theme="light"] .neo-dashboard-hero .neo-hero-content,
body[data-bs-theme="light"] .neo-dashboard-hero .neo-hero-content *,
body.light-mode .neo-dashboard-hero .neo-hero-content,
body.light-mode .neo-dashboard-hero .neo-hero-content * {
  color: #102033 !important;
  -webkit-text-fill-color: currentColor !important;
  opacity: 1 !important;
}
body[data-layout-mode="light"] .neo-dashboard-hero .neo-eyebrow,
body[data-bs-theme="light"] .neo-dashboard-hero .neo-eyebrow,
body.light-mode .neo-dashboard-hero .neo-eyebrow {
  color: #075d93 !important;
}
body[data-layout-mode="light"] .btn.btn-danger.btn-sm.waves-effect.waves-light,
body[data-bs-theme="light"] .btn.btn-danger.btn-sm.waves-effect.waves-light,
body.light-mode .btn.btn-danger.btn-sm.waves-effect.waves-light {
  color: #ffffff !important;
  background: linear-gradient(135deg, #f43f5e, #be123c) !important;
  border-color: rgba(190, 18, 60, .72) !important;
  box-shadow: 0 10px 22px rgba(190, 18, 60, .28) !important;
}
/* Fim refino final v2 20260526-8 */

/* Refino v4: Teste Rápido imediato e paginação/contagem sempre legíveis (20260526-10) */
#neoFastTestButton.neo-fast-test-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  contain: layout paint !important;
  will-change: transform, filter !important;
  min-width: 118px !important;
  min-height: 58px !important;
  flex: 0 0 auto !important;
}
#neoFastTestButton.neo-fast-test-button:active {
  transform: translateY(0) scale(.985) !important;
  filter: brightness(1.12) !important;
}
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_paginate span,
.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .dataTables_paginate .ellipsis,
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_paginate {
  color: #dff8ff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.dataTables_wrapper .pagination,
.dataTables_wrapper ul.pagination,
.dataTables_wrapper .dataTables_paginate .pagination {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-top: 12px !important;
}
.dataTables_wrapper .page-item .page-link,
.dataTables_wrapper .paginate_button.page-item .page-link,
.dataTables_wrapper .pagination .page-link,
.dataTables_wrapper .paginate_button,
.dataTables_wrapper a.paginate_button {
  min-width: 38px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  border: 1px solid rgba(88,214,255,.32) !important;
  background: rgba(8, 14, 28, .92) !important;
  color: #eafaff !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.20), inset 0 0 16px rgba(40,216,255,.055) !important;
  opacity: 1 !important;
}
.dataTables_wrapper .page-item.active .page-link,
.dataTables_wrapper .paginate_button.current,
.dataTables_wrapper .paginate_button.current:hover,
.dataTables_wrapper .pagination .active > .page-link {
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan), var(--neo-magenta)) !important;
  border-color: transparent !important;
  color: #06101c !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 30px rgba(40,216,255,.24), 0 0 18px rgba(207,77,255,.20) !important;
}
.dataTables_wrapper .page-item.disabled .page-link,
.dataTables_wrapper .paginate_button.disabled,
.dataTables_wrapper .paginate_button.disabled:hover,
.dataTables_wrapper .paginate_button.disabled:active {
  background: rgba(8, 14, 28, .55) !important;
  border-color: rgba(148, 170, 190, .22) !important;
  color: #8fa8bb !important;
  opacity: .92 !important;
}
body[data-layout-mode="light"] .dataTables_wrapper .dataTables_info,
body[data-layout-mode="light"] .dataTables_wrapper .dataTables_paginate,
body[data-layout-mode="light"] .dataTables_wrapper .dataTables_paginate span,
body[data-layout-mode="light"] .dataTables_wrapper .dataTables_paginate .paginate_button,
body[data-layout-mode="light"] div.dataTables_wrapper div.dataTables_info,
body[data-layout-mode="light"] div.dataTables_wrapper div.dataTables_paginate,
body[data-bs-theme="light"] .dataTables_wrapper .dataTables_info,
body[data-bs-theme="light"] .dataTables_wrapper .dataTables_paginate,
body[data-bs-theme="light"] .dataTables_wrapper .dataTables_paginate span,
body[data-bs-theme="light"] .dataTables_wrapper .dataTables_paginate .paginate_button,
body.light-mode .dataTables_wrapper .dataTables_info,
body.light-mode .dataTables_wrapper .dataTables_paginate,
body.light-mode .dataTables_wrapper .dataTables_paginate span,
body.light-mode .dataTables_wrapper .dataTables_paginate .paginate_button {
  color: #102033 !important;
  opacity: 1 !important;
}
body[data-layout-mode="light"] .dataTables_wrapper .page-item .page-link,
body[data-layout-mode="light"] .dataTables_wrapper .paginate_button.page-item .page-link,
body[data-layout-mode="light"] .dataTables_wrapper .pagination .page-link,
body[data-layout-mode="light"] .dataTables_wrapper .paginate_button,
body[data-bs-theme="light"] .dataTables_wrapper .page-item .page-link,
body[data-bs-theme="light"] .dataTables_wrapper .pagination .page-link,
body[data-bs-theme="light"] .dataTables_wrapper .paginate_button,
body.light-mode .dataTables_wrapper .page-item .page-link,
body.light-mode .dataTables_wrapper .pagination .page-link,
body.light-mode .dataTables_wrapper .paginate_button {
  background: #ffffff !important;
  border-color: rgba(14, 116, 144, .28) !important;
  color: #102033 !important;
  box-shadow: 0 8px 18px rgba(15, 42, 72, .10), inset 0 0 0 1px rgba(255,255,255,.70) !important;
}
body[data-layout-mode="light"] .dataTables_wrapper .page-item.active .page-link,
body[data-layout-mode="light"] .dataTables_wrapper .paginate_button.current,
body[data-layout-mode="light"] .dataTables_wrapper .pagination .active > .page-link,
body[data-bs-theme="light"] .dataTables_wrapper .page-item.active .page-link,
body[data-bs-theme="light"] .dataTables_wrapper .paginate_button.current,
body.light-mode .dataTables_wrapper .page-item.active .page-link,
body.light-mode .dataTables_wrapper .paginate_button.current {
  background: linear-gradient(135deg, #24f0a5, #28d8ff, #b44cff) !important;
  border-color: transparent !important;
  color: #06101c !important;
}
body[data-layout-mode="light"] .dataTables_wrapper .page-item.disabled .page-link,
body[data-layout-mode="light"] .dataTables_wrapper .paginate_button.disabled,
body[data-bs-theme="light"] .dataTables_wrapper .page-item.disabled .page-link,
body[data-bs-theme="light"] .dataTables_wrapper .paginate_button.disabled,
body.light-mode .dataTables_wrapper .page-item.disabled .page-link,
body.light-mode .dataTables_wrapper .paginate_button.disabled {
  background: #eef6ff !important;
  border-color: rgba(14, 116, 144, .16) !important;
  color: #657b8f !important;
}
@media (max-width: 768px) {
  .dataTables_wrapper .dataTables_info,
  div.dataTables_wrapper div.dataTables_info {
    display: block !important;
    width: 100% !important;
    margin: 12px 0 6px !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }
  .dataTables_wrapper .dataTables_paginate,
  div.dataTables_wrapper div.dataTables_paginate {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-bottom: 4px !important;
  }
  .dataTables_wrapper .pagination,
  .dataTables_wrapper ul.pagination,
  .dataTables_wrapper .dataTables_paginate .pagination {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    min-width: max-content !important;
  }
}
/* Fim refino v4 20260526-10 */

/* Refino v5: avatar mobile, UTM, formulários claros e edição de revendedor (20260526-11) */
.neo-user-dropdown-wrap {
  position: relative !important;
  overflow: visible !important;
  z-index: 10870 !important;
}
.neo-user-dropdown-wrap > .dropdown-menu,
.navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
  right: 0 !important;
  left: auto !important;
  top: calc(100% + 8px) !important;
  min-width: 190px !important;
  z-index: 10880 !important;
  pointer-events: auto !important;
}
.neo-user-dropdown-wrap > .dropdown-menu.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.neo-user-dropdown-wrap .dropdown-item {
  color: var(--neo-text) !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  margin: 2px 6px !important;
  width: calc(100% - 12px) !important;
}
.neo-user-dropdown-wrap .dropdown-item:hover,
.neo-user-dropdown-wrap .dropdown-item:focus {
  background: linear-gradient(135deg, rgba(36,240,165,.16), rgba(40,216,255,.14), rgba(207,77,255,.14)) !important;
  color: #ffffff !important;
}

.input-group-text,
.callout,
.list-group-item,
.card-footer,
.card-header {
  border-color: var(--neo-border) !important;
}
.input-group-text {
  background: rgba(40,216,255,.10) !important;
  color: var(--neo-cyan) !important;
  border-radius: 14px 0 0 14px !important;
}
.callout.callout-info,
.callout {
  background: linear-gradient(145deg, rgba(20, 29, 54, 0.86), rgba(9, 14, 27, 0.76)) !important;
  color: var(--neo-text) !important;
  border: 1px solid var(--neo-border) !important;
  border-left: 4px solid var(--neo-cyan) !important;
  border-radius: 18px !important;
  box-shadow: var(--neo-shadow), var(--neo-glow) !important;
}
.callout dt,
.callout dd,
.callout small {
  color: var(--neo-text) !important;
}

body[data-layout-mode="light"] .card,
body[data-layout-mode="light"] .info-box,
body[data-layout-mode="light"] .small-box,
body[data-layout-mode="light"] .modal-content,
body[data-layout-mode="light"] .select2-dropdown,
body[data-layout-mode="light"] .dropdown-menu,
body[data-bs-theme="light"] .card,
body[data-bs-theme="light"] .info-box,
body[data-bs-theme="light"] .small-box,
body[data-bs-theme="light"] .modal-content,
body[data-bs-theme="light"] .select2-dropdown,
body[data-bs-theme="light"] .dropdown-menu,
body.light-mode .card,
body.light-mode .info-box,
body.light-mode .small-box,
body.light-mode .modal-content,
body.light-mode .select2-dropdown,
body.light-mode .dropdown-menu {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(234,247,255,.94)) !important;
  color: #102033 !important;
  border-color: rgba(14, 116, 144, .22) !important;
  box-shadow: 0 18px 42px rgba(12, 34, 64, .12), 0 0 28px rgba(40,216,255,.10) !important;
}
body[data-layout-mode="light"] .card::before,
body[data-layout-mode="light"] .info-box::before,
body[data-layout-mode="light"] .small-box::before,
body[data-layout-mode="light"] .modal-content::before,
body[data-bs-theme="light"] .card::before,
body[data-bs-theme="light"] .info-box::before,
body[data-bs-theme="light"] .small-box::before,
body[data-bs-theme="light"] .modal-content::before,
body.light-mode .card::before,
body.light-mode .info-box::before,
body.light-mode .small-box::before,
body.light-mode .modal-content::before {
  opacity: .24 !important;
}
body[data-layout-mode="light"] .card-body,
body[data-layout-mode="light"] .card-body *,
body[data-layout-mode="light"] .card-header,
body[data-layout-mode="light"] .card-header *,
body[data-layout-mode="light"] .card-footer,
body[data-layout-mode="light"] .card-footer *,
body[data-layout-mode="light"] .content,
body[data-layout-mode="light"] .content *,
body[data-bs-theme="light"] .card-body,
body[data-bs-theme="light"] .card-body *,
body[data-bs-theme="light"] .card-header,
body[data-bs-theme="light"] .card-header *,
body[data-bs-theme="light"] .card-footer,
body[data-bs-theme="light"] .card-footer *,
body[data-bs-theme="light"] .content,
body[data-bs-theme="light"] .content *,
body.light-mode .card-body,
body.light-mode .card-body *,
body.light-mode .card-header,
body.light-mode .card-header *,
body.light-mode .card-footer,
body.light-mode .card-footer *,
body.light-mode .content,
body.light-mode .content * {
  color: #102033 !important;
  text-shadow: none !important;
}
body[data-layout-mode="light"] .text-muted,
body[data-layout-mode="light"] .form-text,
body[data-layout-mode="light"] small,
body[data-layout-mode="light"] .breadcrumb-item.active,
body[data-bs-theme="light"] .text-muted,
body[data-bs-theme="light"] .form-text,
body[data-bs-theme="light"] small,
body[data-bs-theme="light"] .breadcrumb-item.active,
body.light-mode .text-muted,
body.light-mode .form-text,
body.light-mode small,
body.light-mode .breadcrumb-item.active {
  color: #4b647a !important;
}
body[data-layout-mode="light"] .form-control,
body[data-layout-mode="light"] .custom-select,
body[data-layout-mode="light"] select,
body[data-layout-mode="light"] textarea,
body[data-layout-mode="light"] input[type="text"],
body[data-layout-mode="light"] input[type="password"],
body[data-layout-mode="light"] input[type="email"],
body[data-layout-mode="light"] input[type="number"],
body[data-layout-mode="light"] input[type="tel"],
body[data-layout-mode="light"] .dataTables_wrapper .dataTables_filter input,
body[data-layout-mode="light"] .dataTables_wrapper .dataTables_length select,
body[data-layout-mode="light"] .select2-container--default .select2-selection--single,
body[data-layout-mode="light"] .select2-container--default .select2-selection--multiple,
body[data-bs-theme="light"] .form-control,
body[data-bs-theme="light"] .custom-select,
body[data-bs-theme="light"] select,
body[data-bs-theme="light"] textarea,
body[data-bs-theme="light"] input[type="text"],
body[data-bs-theme="light"] input[type="password"],
body[data-bs-theme="light"] input[type="email"],
body[data-bs-theme="light"] input[type="number"],
body[data-bs-theme="light"] input[type="tel"],
body[data-bs-theme="light"] .dataTables_wrapper .dataTables_filter input,
body[data-bs-theme="light"] .dataTables_wrapper .dataTables_length select,
body[data-bs-theme="light"] .select2-container--default .select2-selection--single,
body[data-bs-theme="light"] .select2-container--default .select2-selection--multiple,
body.light-mode .form-control,
body.light-mode .custom-select,
body.light-mode select,
body.light-mode textarea,
body.light-mode input[type="text"],
body.light-mode input[type="password"],
body.light-mode input[type="email"],
body.light-mode input[type="number"],
body.light-mode input[type="tel"],
body.light-mode .dataTables_wrapper .dataTables_filter input,
body.light-mode .dataTables_wrapper .dataTables_length select,
body.light-mode .select2-container--default .select2-selection--single,
body.light-mode .select2-container--default .select2-selection--multiple {
  background: #ffffff !important;
  color: #102033 !important;
  border-color: rgba(14,116,144,.30) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.88), 0 8px 20px rgba(15,42,72,.08) !important;
}
body[data-layout-mode="light"] .form-control:focus,
body[data-layout-mode="light"] .custom-select:focus,
body[data-layout-mode="light"] select:focus,
body[data-layout-mode="light"] textarea:focus,
body[data-layout-mode="light"] input:focus,
body[data-bs-theme="light"] .form-control:focus,
body[data-bs-theme="light"] .custom-select:focus,
body[data-bs-theme="light"] select:focus,
body[data-bs-theme="light"] textarea:focus,
body[data-bs-theme="light"] input:focus,
body.light-mode .form-control:focus,
body.light-mode .custom-select:focus,
body.light-mode select:focus,
body.light-mode textarea:focus,
body.light-mode input:focus {
  color: #102033 !important;
  border-color: #1597c4 !important;
  box-shadow: 0 0 0 .2rem rgba(21,151,196,.16), 0 0 20px rgba(40,216,255,.15) !important;
}
body[data-layout-mode="light"] .form-control::placeholder,
body[data-layout-mode="light"] input::placeholder,
body[data-layout-mode="light"] textarea::placeholder,
body[data-bs-theme="light"] .form-control::placeholder,
body[data-bs-theme="light"] input::placeholder,
body[data-bs-theme="light"] textarea::placeholder,
body.light-mode .form-control::placeholder,
body.light-mode input::placeholder,
body.light-mode textarea::placeholder {
  color: #697f92 !important;
}
body[data-layout-mode="light"] .select2-container--default .select2-selection--single .select2-selection__rendered,
body[data-layout-mode="light"] .select2-container--default .select2-results__option,
body[data-layout-mode="light"] .select2-results__option,
body[data-bs-theme="light"] .select2-container--default .select2-selection--single .select2-selection__rendered,
body[data-bs-theme="light"] .select2-container--default .select2-results__option,
body[data-bs-theme="light"] .select2-results__option,
body.light-mode .select2-container--default .select2-selection--single .select2-selection__rendered,
body.light-mode .select2-container--default .select2-results__option,
body.light-mode .select2-results__option {
  color: #102033 !important;
}
body[data-layout-mode="light"] .select2-container--default .select2-results__option--highlighted[aria-selected],
body[data-bs-theme="light"] .select2-container--default .select2-results__option--highlighted[aria-selected],
body.light-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: linear-gradient(135deg, #24f0a5, #28d8ff) !important;
  color: #06101c !important;
}
body[data-layout-mode="light"] .input-group-text,
body[data-bs-theme="light"] .input-group-text,
body.light-mode .input-group-text {
  background: #eaf7ff !important;
  color: #0b5c8f !important;
  border-color: rgba(14,116,144,.30) !important;
}
body[data-layout-mode="light"] .callout.callout-info,
body[data-layout-mode="light"] .callout,
body[data-bs-theme="light"] .callout.callout-info,
body[data-bs-theme="light"] .callout,
body.light-mode .callout.callout-info,
body.light-mode .callout {
  background: linear-gradient(145deg, #ffffff, #eaf7ff) !important;
  color: #102033 !important;
  border-color: rgba(14,116,144,.24) !important;
  border-left-color: #1597c4 !important;
  box-shadow: 0 14px 32px rgba(12,34,64,.10) !important;
}
body[data-layout-mode="light"] .callout *,
body[data-bs-theme="light"] .callout *,
body.light-mode .callout * {
  color: #102033 !important;
}

body[data-layout-mode="light"] [id$="_chart"],
body[data-layout-mode="light"] #iptv_chart,
body[data-layout-mode="light"] #p2p_chart,
body[data-layout-mode="light"] #utm_chart,
body[data-bs-theme="light"] [id$="_chart"],
body[data-bs-theme="light"] #iptv_chart,
body[data-bs-theme="light"] #p2p_chart,
body[data-bs-theme="light"] #utm_chart,
body.light-mode [id$="_chart"],
body.light-mode #iptv_chart,
body.light-mode #p2p_chart,
body.light-mode #utm_chart {
  background: radial-gradient(circle at center, rgba(21,151,196,.10), rgba(255,255,255,.70) 68%) !important;
  color: #102033 !important;
}
body[data-layout-mode="light"] #utm_chart text,
body[data-layout-mode="light"] #iptv_chart text,
body[data-layout-mode="light"] #p2p_chart text,
body[data-layout-mode="light"] svg text,
body[data-bs-theme="light"] #utm_chart text,
body[data-bs-theme="light"] #iptv_chart text,
body[data-bs-theme="light"] #p2p_chart text,
body[data-bs-theme="light"] svg text,
body.light-mode #utm_chart text,
body.light-mode #iptv_chart text,
body.light-mode #p2p_chart text,
body.light-mode svg text {
  fill: #102033 !important;
  color: #102033 !important;
  opacity: 1 !important;
}

@media (max-width: 768px) {
  .navbar-header {
    overflow: visible !important;
  }
  .neo-user-dropdown-wrap > .dropdown-menu,
  .navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
    position: fixed !important;
    top: 64px !important;
    right: 10px !important;
    left: auto !important;
    width: min(245px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
  }
  #page-header-user-dropdown {
    min-width: 44px !important;
    min-height: 44px !important;
    touch-action: manipulation !important;
  }
  .card-body.table-responsive,
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}
/* Fim refino v5 20260526-11 */

/* Refino v6: topo mobile compacto com logo e avatar sempre visíveis (20260526-13) */
@media (max-width: 768px) {
  #page-topbar,
  #page-topbar.isvertical-topbar {
    min-height: 58px !important;
    height: auto !important;
    overflow: visible !important;
    z-index: 10860 !important;
  }
  #page-topbar .navbar-header {
    min-height: 58px !important;
    height: 58px !important;
    width: 100% !important;
    max-width: 100vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    padding: 4px 6px !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }
  #page-topbar .navbar-header > .d-flex:first-child {
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    gap: 2px !important;
  }
  #page-topbar .navbar-header .navbar-brand-box,
  #page-topbar .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 1px 0 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #page-topbar .navbar-brand-box .logo,
  #page-topbar .navbar-brand-box .logo-sm,
  .vertical-menu .navbar-brand-box .logo,
  .vertical-menu .navbar-brand-box .logo-sm {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
  }
  #page-topbar .navbar-brand-box img,
  .vertical-menu .navbar-brand-box img {
    display: block !important;
    max-width: 34px !important;
    max-height: 34px !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #page-topbar .vertical-menu-btn,
  #page-topbar .header-item,
  #page-topbar .btn.header-item,
  #page-topbar .btn.btn-soft-dark {
    flex: 0 0 auto !important;
    min-width: 34px !important;
    width: auto !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 4px 6px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #page-topbar .navbar-header .d-flex.flex-wrap.gap-3.align-items-center {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 3px !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }
  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 72px !important;
    width: 72px !important;
    max-width: 72px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 3px 6px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    letter-spacing: -.15px !important;
    white-space: normal !important;
    text-align: center !important;
    box-shadow: 0 7px 16px rgba(190,18,60,.24) !important;
  }
  #page-topbar .navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding-left: 2px !important;
  }
  #page-topbar .navbar-nav.ml-auto:not(.neo-user-dropdown-wrap) .nav-item,
  #page-topbar .navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) .nav-item {
    display: flex !important;
    align-items: center !important;
  }
  #page-topbar #creditDisplay {
    font-size: 12px !important;
    line-height: 1 !important;
  }
  #page-topbar .dropdown.d-inline-block {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
  }
  #page-topbar #themeToggle,
  #page-topbar .noti-icon {
    width: 32px !important;
    min-width: 32px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px !important;
  }
  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 40px !important;
    margin-left: 2px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 10890 !important;
  }
  #page-header-user-dropdown {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    overflow: visible !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    z-index: 10891 !important;
  }
  #page-header-user-dropdown .header-profile-user,
  #page-topbar .header-profile-user {
    display: block !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    padding: 2px !important;
    margin: 0 !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  #page-topbar .neo-user-dropdown-wrap > .dropdown-menu,
  #page-topbar .navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
    position: fixed !important;
    top: 56px !important;
    right: 6px !important;
    left: auto !important;
    width: min(235px, calc(100vw - 12px)) !important;
    max-width: calc(100vw - 12px) !important;
    transform: none !important;
    z-index: 10910 !important;
  }
}

@media (max-width: 380px) {
  #page-topbar .navbar-header {
    gap: 2px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  #page-topbar .navbar-header .navbar-brand-box,
  #page-topbar .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    display: inline-flex !important;
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }
  #page-topbar .navbar-brand-box img,
  .vertical-menu .navbar-brand-box img {
    max-width: 30px !important;
    max-height: 30px !important;
  }
  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 62px !important;
    width: 62px !important;
    max-width: 62px !important;
    font-size: 10px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  #page-topbar .vertical-menu-btn,
  #page-topbar .header-item,
  #page-topbar .btn.header-item,
  #page-topbar .btn.btn-soft-dark,
  #page-topbar #themeToggle,
  #page-topbar .noti-icon {
    min-width: 30px !important;
    width: 30px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 3px !important;
  }
  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap {
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }
  #page-header-user-dropdown {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
  }
  #page-header-user-dropdown .header-profile-user,
  #page-topbar .header-profile-user {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }
}
/* Fim refino v6 20260526-13 */

/* Refino v7: avatar fixo no viewport mobile e logo única (20260526-14) */
@media (max-width: 768px) {
  #page-topbar .navbar-header {
    padding-right: 48px !important;
  }
  #page-topbar .navbar-brand-box .logo.logo-dark,
  #page-topbar .navbar-brand-box a.logo.logo-dark {
    display: none !important;
  }
  #page-topbar .navbar-brand-box .logo.logo-light,
  #page-topbar .navbar-brand-box a.logo.logo-light {
    display: inline-flex !important;
  }
  #page-topbar .navbar-brand-box .logo.logo-light .logo-sm,
  #page-topbar .navbar-brand-box a.logo.logo-light .logo-sm {
    display: inline-flex !important;
  }
  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap {
    position: fixed !important;
    top: 9px !important;
    right: 7px !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10950 !important;
  }
  #page-header-user-dropdown {
    background: rgba(255,255,255,.72) !important;
    border: 1px solid rgba(40,216,255,.24) !important;
    box-shadow: 0 6px 18px rgba(7, 18, 34, .16) !important;
  }
  body[data-layout-mode="dark"] #page-header-user-dropdown,
  body[data-bs-theme="dark"] #page-header-user-dropdown,
  body:not([data-layout-mode="light"]):not(.light-mode) #page-header-user-dropdown {
    background: rgba(8,14,28,.78) !important;
    border-color: rgba(40,216,255,.30) !important;
  }
  #page-topbar .neo-user-dropdown-wrap > .dropdown-menu,
  #page-topbar .navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
    top: 50px !important;
    right: 7px !important;
    z-index: 10960 !important;
  }
}

@media (max-width: 420px) {
  #page-topbar .navbar-header {
    padding-right: 46px !important;
  }
  #page-topbar .navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-nav.ms-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .dropdown.d-inline-block:has(#themeToggle),
  #page-topbar .dropdown.d-inline-block:has(.noti-icon) {
    display: none !important;
  }
  #page-topbar .navbar-header > .d-flex:first-child {
    max-width: calc(100vw - 52px) !important;
  }
}

@media (max-width: 360px) {
  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 58px !important;
    width: 58px !important;
    max-width: 58px !important;
    font-size: 9.5px !important;
  }
}
/* Fim refino v7 20260526-14 */

/* Refino v8: avatar mobile com contraste visual forte (20260526-15) */
@media (max-width: 768px) {
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(8,18,34,.94), rgba(13,148,180,.90)) !important;
    border: 2px solid rgba(40,216,255,.92) !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.88), 0 8px 22px rgba(7,18,34,.28), 0 0 18px rgba(40,216,255,.34) !important;
    overflow: visible !important;
  }
  #page-header-user-dropdown .header-profile-user,
  #page-topbar #page-header-user-dropdown .header-profile-user,
  #page-topbar .header-profile-user {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: radial-gradient(circle at 50% 38%, #ffffff 0 22%, #28d8ff 23% 38%, #083047 39% 100%) !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    border-radius: 999px !important;
    object-fit: cover !important;
  }
}
/* Fim refino v8 20260526-15 */

/* Refino v9: limpar itens auxiliares do topo mobile sem :has (20260526-16) */
@media (max-width: 420px) {
  #page-topbar .navbar-header > ul.navbar-nav.ml-auto,
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto,
  #page-topbar .navbar-header > .dropdown.d-inline-block {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
  #page-topbar .navbar-header > .neo-user-dropdown-wrap,
  #page-topbar .navbar-header > .navbar-nav.neo-user-dropdown-wrap {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 40px !important;
    pointer-events: auto !important;
  }
}
/* Fim refino v9 20260526-16 */

/* Refino v10: avatar mobile fixo real e visível (20260526-17) */
@media (max-width: 768px) {
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    position: fixed !important;
    top: 9px !important;
    right: 7px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 2147483647 !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #07162a 0%, #0891b2 100%) !important;
    border: 2px solid #28d8ff !important;
    box-shadow: 0 0 0 2px #ffffff, 0 8px 24px rgba(8, 18, 34, .32), 0 0 18px rgba(40,216,255,.40) !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  #page-header-user-dropdown::after,
  #page-topbar #page-header-user-dropdown::after {
    content: "👤" !important;
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.45) !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }
  #page-header-user-dropdown .header-profile-user,
  #page-topbar #page-header-user-dropdown .header-profile-user {
    opacity: .18 !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;
  }
}
/* Fim refino v10 20260526-17 */


/* Refino v11: topbar mobile completa, sem ocultar créditos/notificações/tema (20260526-18) */
@media (max-width: 768px) {
  #page-topbar .navbar-header {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    padding-right: 48px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child,
  #page-topbar .navbar-header > ul.navbar-nav,
  #page-topbar .navbar-header > .dropdown.d-inline-block,
  #page-topbar .navbar-header > .neo-user-dropdown-wrap {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 30px !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  #page-topbar .navbar-header .btn.btn-soft-dark {
    min-width: 38px !important;
    max-width: 48px !important;
    height: 34px !important;
    padding: 3px 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #page-topbar #creditDisplay {
    display: inline-block !important;
    max-width: 38px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: inherit !important;
    font-style: normal !important;
  }

  #page-topbar #themeToggle,
  #page-topbar .noti-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px !important;
  }
}

@media (max-width: 420px) {
  #page-topbar .navbar-header > ul.navbar-nav.ml-auto,
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto,
  #page-topbar .navbar-header > .dropdown.d-inline-block {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-width: 30px !important;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    max-width: none !important;
    flex: 0 1 auto !important;
  }

  #page-topbar .navbar-header .navbar-brand-box,
  #page-topbar .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
  }
}

@media (max-width: 380px) {
  #page-topbar .navbar-header {
    gap: 2px !important;
    padding-left: 3px !important;
    padding-right: 45px !important;
  }

  #page-topbar .navbar-header .btn.btn-soft-dark {
    min-width: 32px !important;
    max-width: 38px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  #page-topbar #creditDisplay {
    max-width: 30px !important;
    font-size: 10px !important;
  }
}
/* Fim refino v11 20260526-18 */


/* Refino v12: topbar mobile com grupo de ações fixo e completo (20260526-19)
   Mantém créditos, notificações, tema e avatar visíveis em telas estreitas sem quebrar o layout existente. */
@media (max-width: 420px) {
  #page-topbar .navbar-header {
    position: relative !important;
    overflow: visible !important;
    padding-left: 5px !important;
    padding-right: 156px !important;
    gap: 4px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    max-width: calc(100vw - 162px) !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 82px !important;
    width: 82px !important;
    max-width: 82px !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 7px 8px !important;
    font-size: 13px !important;
    line-height: 1.08 !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    position: fixed !important;
    top: 12px !important;
    right: 118px !important;
    left: auto !important;
    z-index: 10935 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap) .nav-item,
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) .nav-item {
    margin: 0 !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    position: fixed !important;
    top: 12px !important;
    right: 78px !important;
    left: auto !important;
    z-index: 10936 !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    position: fixed !important;
    top: 12px !important;
    right: 42px !important;
    left: auto !important;
    z-index: 10937 !important;
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  #page-topbar .navbar-header .btn.btn-soft-dark,
  #page-topbar #themeToggle,
  #page-topbar .noti-icon {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  #page-topbar #creditDisplay {
    max-width: 32px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    top: 8px !important;
    right: 5px !important;
  }
}

@media (max-width: 360px) {
  #page-topbar .navbar-header {
    padding-right: 148px !important;
  }
  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 74px !important;
    width: 74px !important;
    max-width: 74px !important;
    font-size: 12px !important;
  }
  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) { right: 112px !important; }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) { right: 74px !important; }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) { right: 39px !important; }
}
/* Fim refino v12 20260526-19 */


/* Refino v13: acabamento visual profissional em menu, topbar, avatar, cards, filtros e tabelas (20260526-20)
   Camada não destrutiva: mantém estrutura, IDs, rotas e JavaScript existentes. */
:root {
  --neo-light-bg: #eef8ff;
  --neo-light-surface: rgba(255, 255, 255, 0.86);
  --neo-light-surface-strong: rgba(248, 253, 255, 0.96);
  --neo-light-border: rgba(20, 184, 216, 0.28);
  --neo-light-text: #102033;
  --neo-light-muted: #53677c;
}

body:not([data-layout-mode="dark"]),
body[data-layout-mode="light"] {
  color: var(--neo-light-text) !important;
}

body[data-layout-mode="light"] .page-content,
body:not([data-layout-mode="dark"]) .page-content {
  background:
    radial-gradient(circle at 8% 12%, rgba(40, 216, 255, .20), transparent 30%),
    radial-gradient(circle at 92% 4%, rgba(207, 77, 255, .14), transparent 34%),
    linear-gradient(180deg, rgba(239, 250, 255, .98), rgba(246, 252, 255, .94)) !important;
}

/* Menu lateral mobile: remove a segunda logo quebrada do drawer e preserva a logo correta da topbar. */
@media (max-width: 768px) {
  body.sidebar-enable .vertical-menu .navbar-brand-box,
  body.vertical-collpsed .vertical-menu .navbar-brand-box,
  .vertical-menu.mm-active .navbar-brand-box {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.sidebar-enable .vertical-menu .sidebar-menu-scroll,
  body.vertical-collpsed .vertical-menu .sidebar-menu-scroll,
  .vertical-menu.mm-active .sidebar-menu-scroll {
    padding-top: 18px !important;
  }

  .vertical-menu {
    border-radius: 0 26px 26px 0 !important;
    overflow: hidden !important;
    box-shadow: 18px 0 55px rgba(3, 12, 24, .28), 0 0 34px rgba(40, 216, 255, .16) !important;
  }

  #sidebar-menu .menu-title:first-child {
    margin-top: 4px !important;
  }
}

/* Logo/topbar: mais respiro, melhor alinhamento e sem caixa branca artificial no contêiner. */
#page-topbar,
#page-topbar .navbar-header {
  min-height: 62px !important;
}

#page-topbar .navbar-header {
  padding-left: 10px !important;
  padding-right: 12px !important;
  gap: 12px !important;
  align-items: center !important;
}

#page-topbar .navbar-brand-box,
#page-topbar .logo,
#page-topbar .logo-sm,
#page-topbar .logo-lg,
.vertical-menu .navbar-brand-box,
.vertical-menu .logo,
.vertical-menu .logo-sm,
.vertical-menu .logo-lg {
  background: transparent !important;
  box-shadow: none !important;
}

#page-topbar .navbar-brand-box {
  border-radius: 18px !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#page-topbar .navbar-brand-box img,
.vertical-menu .navbar-brand-box img {
  object-fit: contain !important;
  border-radius: 10px !important;
  background: transparent !important;
  box-shadow: none !important;
  mix-blend-mode: multiply;
}

body[data-layout-mode="dark"] #page-topbar .navbar-brand-box img,
body[data-layout-mode="dark"] .vertical-menu .navbar-brand-box img {
  mix-blend-mode: normal;
}

.vertical-menu-btn {
  margin-left: 4px !important;
  margin-right: 8px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(40,216,255,.16), rgba(207,77,255,.10)) !important;
  box-shadow: 0 8px 24px rgba(40,216,255,.12) !important;
}

#neoFastTestButton.neo-fast-test-button {
  margin-left: 2px !important;
  margin-right: 8px !important;
  box-shadow: 0 10px 28px rgba(255, 45, 108, .22), inset 0 1px 0 rgba(255,255,255,.28) !important;
}

/* Avatar profissional: troca o emoji por um ícone vetorial em CSS, com cabeça e tronco. */
#page-header-user-dropdown::after,
#page-topbar #page-header-user-dropdown::after {
  content: "" !important;
  position: absolute !important;
  width: 13px !important;
  height: 13px !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #eaffff 0%, #75ecff 100%) !important;
  box-shadow: 0 0 11px rgba(117, 236, 255, .72), inset 0 -2px 3px rgba(0, 68, 120, .20) !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

#page-header-user-dropdown::before,
#page-topbar #page-header-user-dropdown::before {
  content: "" !important;
  position: absolute !important;
  width: 25px !important;
  height: 13px !important;
  left: 50% !important;
  bottom: 7px !important;
  transform: translateX(-50%) !important;
  border-radius: 16px 16px 10px 10px !important;
  background: linear-gradient(180deg, #74f0ff 0%, #1ba7d4 45%, #126090 100%) !important;
  box-shadow: 0 0 14px rgba(40,216,255,.58), inset 0 1px 0 rgba(255,255,255,.35) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

#page-header-user-dropdown .header-profile-user,
#page-topbar #page-header-user-dropdown .header-profile-user {
  opacity: .08 !important;
}

/* Blocos, filtros e tabelas: substitui cinza pesado/preto ilegível por superfícies glass compatíveis com claro e escuro. */
.card,
.card.card-default,
.card .card,
.card-body,
.table-responsive,
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollHead,
.dataTables_scrollBody,
.dataTables_scrollFoot {
  background-color: transparent !important;
}

.card.card-default,
.card:has(table.dataTable),
.card:has(.dataTables_wrapper) {
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(40,216,255,.045)),
    linear-gradient(180deg, rgba(12, 22, 42, .86), rgba(7, 13, 26, .76)) !important;
  border: 1px solid rgba(40,216,255,.22) !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.34), 0 0 30px rgba(40,216,255,.13) !important;
}

.card-header {
  background: linear-gradient(135deg, rgba(40,216,255,.12), rgba(207,77,255,.10)) !important;
  border-bottom: 1px solid rgba(40,216,255,.18) !important;
  color: var(--neo-text) !important;
}

.card-header .card-title,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header strong {
  color: var(--neo-text) !important;
}

.table-responsive,
.dataTables_scrollBody {
  border-radius: 18px !important;
  border: 1px solid rgba(40,216,255,.16) !important;
  background: linear-gradient(145deg, rgba(11, 20, 39, .88), rgba(17, 28, 50, .70)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.table thead th,
table.dataTable thead th,
.table tfoot th,
table.dataTable tfoot th {
  background: linear-gradient(180deg, rgba(40,216,255,.18), rgba(40,216,255,.08)) !important;
  color: #f3fcff !important;
  border-color: rgba(40,216,255,.20) !important;
}

.table tbody td,
table.dataTable tbody td,
.table tbody th,
table.dataTable tbody th,
.dataTables_empty {
  color: #edf8ff !important;
  background: rgba(12, 22, 42, .52) !important;
  border-color: rgba(40,216,255,.12) !important;
}

.dataTables_info,
.dataTables_length label,
.dataTables_filter label,
.dataTables_paginate,
.dataTables_wrapper label,
.dataTables_wrapper .dataTables_empty {
  color: rgba(237, 248, 255, .86) !important;
}

.dataTables_length select,
.dataTables_filter input,
.form-control,
.custom-select,
select.form-control,
.select2-container--default .select2-selection--single,
.select2-container--bootstrap4 .select2-selection--single,
.select2-container--default .select2-selection--multiple,
select,
input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"],
textarea {
  background: rgba(255,255,255,.94) !important;
  color: #102033 !important;
  border: 1px solid rgba(40,216,255,.30) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 24px rgba(5, 22, 38, .10) !important;
}

.form-control:focus,
.custom-select:focus,
select.form-control:focus,
.dataTables_filter input:focus,
.dataTables_length select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: rgba(40,216,255,.72) !important;
  box-shadow: 0 0 0 3px rgba(40,216,255,.18), 0 10px 28px rgba(40,216,255,.10) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered,
.select2-results__option,
select option {
  color: #102033 !important;
}

.select2-dropdown,
.select2-results__option {
  background: rgba(255,255,255,.98) !important;
}

.select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0891b2, #7b61ff) !important;
}

body[data-layout-mode="light"] .card,
body:not([data-layout-mode="dark"]) .card,
body[data-layout-mode="light"] .card.card-default,
body:not([data-layout-mode="dark"]) .card.card-default,
body[data-layout-mode="light"] .card:has(table.dataTable),
body:not([data-layout-mode="dark"]) .card:has(table.dataTable),
body[data-layout-mode="light"] .card:has(.dataTables_wrapper),
body:not([data-layout-mode="dark"]) .card:has(.dataTables_wrapper) {
  background:
    linear-gradient(145deg, rgba(255,255,255,.93), rgba(240,250,255,.82)),
    radial-gradient(circle at 85% 0%, rgba(207,77,255,.10), transparent 42%) !important;
  color: var(--neo-light-text) !important;
  border: 1px solid var(--neo-light-border) !important;
  box-shadow: 0 18px 48px rgba(9, 55, 86, .13), 0 0 26px rgba(40,216,255,.12) !important;
}

body[data-layout-mode="light"] .card-header,
body:not([data-layout-mode="dark"]) .card-header {
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(222,245,255,.76), rgba(246,235,255,.60)) !important;
  color: var(--neo-light-text) !important;
  border-bottom: 1px solid rgba(40,216,255,.24) !important;
}

body[data-layout-mode="light"] .card-header .card-title,
body:not([data-layout-mode="dark"]) .card-header .card-title,
body[data-layout-mode="light"] .card-header strong,
body:not([data-layout-mode="dark"]) .card-header strong,
body[data-layout-mode="light"] h1,
body:not([data-layout-mode="dark"]) h1,
body[data-layout-mode="light"] h2,
body:not([data-layout-mode="dark"]) h2,
body[data-layout-mode="light"] h3,
body:not([data-layout-mode="dark"]) h3,
body[data-layout-mode="light"] h4,
body:not([data-layout-mode="dark"]) h4,
body[data-layout-mode="light"] h5,
body:not([data-layout-mode="dark"]) h5,
body[data-layout-mode="light"] h6,
body:not([data-layout-mode="dark"]) h6,
body[data-layout-mode="light"] label,
body:not([data-layout-mode="dark"]) label {
  color: var(--neo-light-text) !important;
}

body[data-layout-mode="light"] .table-responsive,
body:not([data-layout-mode="dark"]) .table-responsive,
body[data-layout-mode="light"] .dataTables_scrollBody,
body:not([data-layout-mode="dark"]) .dataTables_scrollBody {
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(232,247,255,.76)) !important;
  border-color: rgba(40,216,255,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.80), 0 12px 34px rgba(8, 56, 88, .10) !important;
}

body[data-layout-mode="light"] .table thead th,
body:not([data-layout-mode="dark"]) .table thead th,
body[data-layout-mode="light"] table.dataTable thead th,
body:not([data-layout-mode="dark"]) table.dataTable thead th,
body[data-layout-mode="light"] .table tfoot th,
body:not([data-layout-mode="dark"]) .table tfoot th,
body[data-layout-mode="light"] table.dataTable tfoot th,
body:not([data-layout-mode="dark"]) table.dataTable tfoot th {
  background: linear-gradient(180deg, rgba(222,246,255,.98), rgba(202,236,248,.90)) !important;
  color: #18324a !important;
  border-color: rgba(40,216,255,.22) !important;
}

body[data-layout-mode="light"] .table tbody td,
body:not([data-layout-mode="dark"]) .table tbody td,
body[data-layout-mode="light"] table.dataTable tbody td,
body:not([data-layout-mode="dark"]) table.dataTable tbody td,
body[data-layout-mode="light"] .table tbody th,
body:not([data-layout-mode="dark"]) .table tbody th,
body[data-layout-mode="light"] table.dataTable tbody th,
body:not([data-layout-mode="dark"]) table.dataTable tbody th,
body[data-layout-mode="light"] .dataTables_empty,
body:not([data-layout-mode="dark"]) .dataTables_empty {
  color: #102033 !important;
  background: rgba(255,255,255,.80) !important;
  border-color: rgba(40,216,255,.16) !important;
}

body[data-layout-mode="light"] .dataTables_info,
body:not([data-layout-mode="dark"]) .dataTables_info,
body[data-layout-mode="light"] .dataTables_length label,
body:not([data-layout-mode="dark"]) .dataTables_length label,
body[data-layout-mode="light"] .dataTables_filter label,
body:not([data-layout-mode="dark"]) .dataTables_filter label,
body[data-layout-mode="light"] .dataTables_wrapper label,
body:not([data-layout-mode="dark"]) .dataTables_wrapper label {
  color: var(--neo-light-muted) !important;
}

body[data-layout-mode="dark"] .form-control,
body[data-layout-mode="dark"] .custom-select,
body[data-layout-mode="dark"] select.form-control,
body[data-layout-mode="dark"] .dataTables_filter input,
body[data-layout-mode="dark"] .dataTables_length select,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--single,
body[data-layout-mode="dark"] .select2-container--bootstrap4 .select2-selection--single,
body[data-layout-mode="dark"] select,
body[data-layout-mode="dark"] input[type="text"],
body[data-layout-mode="dark"] input[type="search"],
body[data-layout-mode="dark"] input[type="number"],
body[data-layout-mode="dark"] input[type="email"],
body[data-layout-mode="dark"] input[type="password"],
body[data-layout-mode="dark"] textarea {
  background: rgba(12, 22, 42, .92) !important;
  color: #edf8ff !important;
  border-color: rgba(40,216,255,.26) !important;
}

body[data-layout-mode="dark"] select option,
body[data-layout-mode="dark"] .select2-results__option,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
body[data-layout-mode="dark"] .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
  color: #edf8ff !important;
  background: #101a2f !important;
}

.dataTables_paginate .paginate_button,
.page-link,
.pagination .page-item .page-link {
  border-radius: 12px !important;
  border: 1px solid rgba(40,216,255,.22) !important;
  background: rgba(255,255,255,.90) !important;
  color: #102033 !important;
  box-shadow: 0 8px 22px rgba(6, 31, 50, .10) !important;
}

body[data-layout-mode="dark"] .dataTables_paginate .paginate_button,
body[data-layout-mode="dark"] .page-link,
body[data-layout-mode="dark"] .pagination .page-item .page-link {
  background: rgba(12,22,42,.90) !important;
  color: #edf8ff !important;
}

.dataTables_paginate .paginate_button.current,
.dataTables_paginate .paginate_button:hover,
.page-item.active .page-link,
.pagination .page-item .page-link:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0891b2, #7b61ff) !important;
  border-color: rgba(40,216,255,.50) !important;
}

@media (max-width: 768px) {
  #page-topbar .navbar-header {
    min-height: 62px !important;
    padding-left: 8px !important;
    padding-right: 154px !important;
    gap: 8px !important;
  }

  #page-topbar .navbar-brand-box {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 48px !important;
    margin-right: 0 !important;
  }

  #page-topbar .navbar-brand-box img {
    max-width: 50px !important;
    max-height: 42px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    margin-left: 4px !important;
    min-width: 84px !important;
    width: 84px !important;
    height: 46px !important;
  }

  .card,
  .card.card-default,
  .card:has(table.dataTable),
  .card:has(.dataTables_wrapper) {
    border-radius: 22px !important;
  }

  .card-body {
    padding: 18px 14px !important;
  }

  .table-responsive,
  .dataTables_scrollBody {
    border-radius: 18px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .dataTables_wrapper .row,
  .dataTables_length,
  .dataTables_filter,
  .dataTables_info,
  .dataTables_paginate {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .dataTables_length select,
  .dataTables_filter input,
  .form-control,
  .custom-select,
  select.form-control,
  .select2-container {
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  #page-topbar .navbar-header {
    padding-left: 7px !important;
    padding-right: 154px !important;
    gap: 7px !important;
  }

  #page-topbar .navbar-brand-box {
    width: 55px !important;
    min-width: 55px !important;
    max-width: 55px !important;
  }

  .vertical-menu-btn {
    width: 40px !important;
    min-width: 40px !important;
    margin-left: 2px !important;
    margin-right: 6px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 82px !important;
    width: 82px !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) { right: 119px !important; top: 14px !important; }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) { right: 80px !important; top: 14px !important; }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) { right: 43px !important; top: 14px !important; }

  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    top: 10px !important;
    right: 6px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }
}
/* Fim refino v13 20260526-20 */

/* =====================================================================
   Refinamento visual v14 — selects, tabelas e acabamento mobile/desktop
   ===================================================================== */
:root:not([data-bs-theme="dark"]) .navbar-brand-box,
body:not([data-bs-theme="dark"]) .navbar-brand-box {
  background: linear-gradient(135deg, rgba(255,255,255,.50), rgba(235,252,255,.20)) !important;
  border: 1px solid rgba(54,225,255,.22) !important;
  box-shadow: 0 10px 28px rgba(9,75,106,.12) !important;
  border-radius: 22px !important;
  margin-left: 8px !important;
  padding: 5px 7px !important;
}
.navbar-brand-box img,.navbar-brand-box .logo img,.navbar-brand img{background:transparent!important;border:0!important;box-shadow:none!important;object-fit:contain!important;display:block!important;}
.navbar-header,#page-topbar{padding-left:max(8px,env(safe-area-inset-left))!important;padding-right:max(8px,env(safe-area-inset-right))!important;}
@media(max-width:575.98px){.navbar-brand-box{min-width:52px!important;width:52px!important;height:52px!important;margin-right:6px!important}.navbar-brand-box img,.navbar-brand-box .logo img,.navbar-brand img{max-width:44px!important;max-height:40px!important}.navbar-header{gap:7px!important}#neoFastTestButton{margin-left:3px!important;margin-right:auto!important}}
#page-header-user-dropdown{position:relative!important;border-radius:999px!important;background:radial-gradient(circle at 34% 25%,rgba(255,255,255,.95),rgba(26,219,255,.82) 34%,rgba(13,50,90,.96) 70%,rgba(5,18,42,1))!important;border:2px solid rgba(42,225,255,.76)!important;box-shadow:0 0 0 4px rgba(53,229,255,.15),0 12px 30px rgba(0,170,210,.28)!important;overflow:hidden!important;}
#page-header-user-dropdown::before{content:"";position:absolute;width:34%;height:34%;left:33%;top:20%;border-radius:50%;background:linear-gradient(180deg,#eaffff,#71e8ff 58%,#2a78ad);box-shadow:0 2px 8px rgba(0,0,0,.18);z-index:2;}
#page-header-user-dropdown::after{content:"";position:absolute;width:58%;height:34%;left:21%;bottom:16%;border-radius:999px 999px 42% 42%;background:linear-gradient(180deg,#cfffff,#41d7ff 54%,#17669a);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 -1px 10px rgba(255,255,255,.2);z-index:2;}
#page-header-user-dropdown img,#page-header-user-dropdown .rounded-circle,#page-header-user-dropdown .header-profile-user{opacity:0!important;visibility:hidden!important;}
:root:not([data-bs-theme="dark"]) .card,body:not([data-bs-theme="dark"]) .card,:root:not([data-bs-theme="dark"]) .table-responsive,body:not([data-bs-theme="dark"]) .table-responsive,:root:not([data-bs-theme="dark"]) .dataTables_wrapper,body:not([data-bs-theme="dark"]) .dataTables_wrapper{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(236,252,255,.74))!important;color:#102033!important;border-color:rgba(59,224,255,.22)!important;box-shadow:0 18px 46px rgba(31,111,145,.12),inset 0 1px 0 rgba(255,255,255,.8)!important;}
[data-bs-theme="dark"] .card,body.dark .card,[data-bs-theme="dark"] .table-responsive,body.dark .table-responsive,[data-bs-theme="dark"] .dataTables_wrapper,body.dark .dataTables_wrapper{background:linear-gradient(145deg,rgba(9,20,43,.94),rgba(18,36,62,.86))!important;color:#edfaff!important;border-color:rgba(48,221,255,.20)!important;box-shadow:0 18px 52px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08)!important;}
.table,table.dataTable{background:transparent!important;color:inherit!important;border-collapse:separate!important;border-spacing:0!important;}
.table thead th,table.dataTable thead th,.table thead td,table.dataTable thead td{background:linear-gradient(135deg,rgba(41,220,255,.18),rgba(120,100,255,.10))!important;color:#0f2237!important;border-color:rgba(44,214,250,.20)!important;font-weight:800!important;letter-spacing:.07em!important;text-transform:uppercase!important;}
[data-bs-theme="dark"] .table thead th,body.dark .table thead th,[data-bs-theme="dark"] table.dataTable thead th,body.dark table.dataTable thead th{background:linear-gradient(135deg,rgba(20,226,255,.16),rgba(113,79,255,.18))!important;color:#effcff!important;border-color:rgba(42,221,255,.22)!important;}
.table tbody td,table.dataTable tbody td,.table tbody th,table.dataTable tbody th{background:rgba(255,255,255,.62)!important;color:#14263b!important;border-color:rgba(42,208,240,.14)!important;}
[data-bs-theme="dark"] .table tbody td,body.dark .table tbody td,[data-bs-theme="dark"] table.dataTable tbody td,body.dark table.dataTable tbody td,[data-bs-theme="dark"] .table tbody th,body.dark .table tbody th{background:rgba(10,22,42,.68)!important;color:#e9fbff!important;border-color:rgba(44,213,249,.14)!important;}
.dataTables_empty,table.dataTable tbody td.dataTables_empty{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(230,252,255,.88))!important;color:#24364d!important;font-weight:700!important;border-radius:14px!important;}
[data-bs-theme="dark"] .dataTables_empty,body.dark .dataTables_empty,[data-bs-theme="dark"] table.dataTable tbody td.dataTables_empty,body.dark table.dataTable tbody td.dataTables_empty{background:linear-gradient(135deg,rgba(17,35,60,.92),rgba(9,21,42,.94))!important;color:#ecfbff!important;}
.dataTables_processing,.dataTables_wrapper .dataTables_processing{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(232,253,255,.92))!important;color:#12263c!important;border:1px solid rgba(52,220,255,.28)!important;border-radius:20px!important;box-shadow:0 20px 50px rgba(21,100,130,.18)!important;font-weight:800!important;}
.form-control,.form-select,.custom-select,select,input[type="text"],input[type="search"],.dataTables_filter input,.dataTables_length select,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{background:rgba(255,255,255,.96)!important;color:#102033!important;border:1px solid rgba(48,204,236,.34)!important;border-radius:15px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 8px 22px rgba(17,96,126,.08)!important;}
.select2-container--default .select2-selection--single .select2-selection__rendered,.select2-container--default .select2-selection--multiple .select2-selection__rendered,.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#102033!important;opacity:1!important;line-height:42px!important;}
.select2-container--default .select2-selection--single{min-height:44px!important;display:flex!important;align-items:center!important;padding-left:14px!important;}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px!important;right:10px!important;}
.select2-dropdown,.select2-results__option{background:#fff!important;color:#102033!important;}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:linear-gradient(135deg,#25d8ff,#7b61ff)!important;color:#fff!important;}
[data-bs-theme="dark"] .form-control,body.dark .form-control,[data-bs-theme="dark"] .form-select,body.dark .form-select,[data-bs-theme="dark"] .custom-select,body.dark .custom-select,[data-bs-theme="dark"] select,body.dark select,[data-bs-theme="dark"] input[type="text"],body.dark input[type="text"],[data-bs-theme="dark"] input[type="search"],body.dark input[type="search"],[data-bs-theme="dark"] .dataTables_filter input,body.dark .dataTables_filter input,[data-bs-theme="dark"] .dataTables_length select,body.dark .dataTables_length select,[data-bs-theme="dark"] .select2-container--default .select2-selection--single,body.dark .select2-container--default .select2-selection--single,[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple,body.dark .select2-container--default .select2-selection--multiple{background:rgba(14,29,53,.96)!important;color:#effcff!important;border-color:rgba(54,222,255,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(0,0,0,.22)!important;}
[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,body.dark .select2-container--default .select2-selection--single .select2-selection__rendered,[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__rendered,body.dark .select2-container--default .select2-selection--multiple .select2-selection__rendered{color:#effcff!important;}
[data-bs-theme="dark"] .select2-dropdown,body.dark .select2-dropdown,[data-bs-theme="dark"] .select2-results__option,body.dark .select2-results__option{background:#101d34!important;color:#effcff!important;}
@media(max-width:767.98px){.page-content{padding-left:18px!important;padding-right:18px!important}.card,.table-responsive,.dataTables_wrapper{border-radius:24px!important}.card-body{padding:18px!important}.dataTables_wrapper{padding:14px!important;overflow-x:auto!important}.table-responsive{padding:10px!important;overflow-x:auto!important}.table,table.dataTable{min-width:560px!important}.dataTables_length,.dataTables_filter,.dataTables_length label,.dataTables_filter label{color:inherit!important;font-weight:700!important}}

/* =====================================================================
   Refinamento visual v15 — contraste final em filtros, tabelas e cards
   Correção focada em mobile/desktop sem alterar HTML, JS ou backend.
   ===================================================================== */
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card-body,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .table-responsive,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .dataTables_wrapper,
body[data-layout-mode="light"] .card,
body[data-layout-mode="light"] .card-body,
body[data-layout-mode="light"] .table-responsive,
body[data-layout-mode="light"] .dataTables_wrapper,
body[data-bs-theme="light"] .card,
body[data-bs-theme="light"] .card-body,
body[data-bs-theme="light"] .table-responsive,
body[data-bs-theme="light"] .dataTables_wrapper {
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(232,250,255,.84)) !important;
  color: #102033 !important;
  border: 1px solid rgba(43, 205, 240, .22) !important;
  box-shadow: 0 18px 48px rgba(31,111,145,.13), inset 0 1px 0 rgba(255,255,255,.86) !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card h1,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card h2,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card h3,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card h4,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card h5,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card h6,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .card label,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .dataTables_wrapper label,
body[data-layout-mode="light"] .card h1,
body[data-layout-mode="light"] .card h2,
body[data-layout-mode="light"] .card h3,
body[data-layout-mode="light"] .card h4,
body[data-layout-mode="light"] .card h5,
body[data-layout-mode="light"] .card h6,
body[data-layout-mode="light"] .card label,
body[data-layout-mode="light"] .dataTables_wrapper label,
body[data-bs-theme="light"] .card h1,
body[data-bs-theme="light"] .card h2,
body[data-bs-theme="light"] .card h3,
body[data-bs-theme="light"] .card h4,
body[data-bs-theme="light"] .card h5,
body[data-bs-theme="light"] .card h6,
body[data-bs-theme="light"] .card label,
body[data-bs-theme="light"] .dataTables_wrapper label {
  color: #102033 !important;
  text-shadow: none !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .form-control,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .form-select,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .custom-select,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .dataTables_filter input,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .dataTables_length select,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container .select2-selection,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--single,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--multiple,
body[data-layout-mode="light"] .form-control,
body[data-layout-mode="light"] .form-select,
body[data-layout-mode="light"] .custom-select,
body[data-layout-mode="light"] .dataTables_filter input,
body[data-layout-mode="light"] .dataTables_length select,
body[data-layout-mode="light"] .select2-container .select2-selection,
body[data-bs-theme="light"] .form-control,
body[data-bs-theme="light"] .form-select,
body[data-bs-theme="light"] .custom-select,
body[data-bs-theme="light"] .dataTables_filter input,
body[data-bs-theme="light"] .dataTables_length select,
body[data-bs-theme="light"] .select2-container .select2-selection {
  min-height: 44px !important;
  background: linear-gradient(180deg, #ffffff, #f2fbff) !important;
  color: #102033 !important;
  border: 1px solid rgba(39, 194, 229, .38) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 10px 24px rgba(16,93,126,.10) !important;
  opacity: 1 !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container .select2-selection__rendered,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--single .select2-selection__rendered,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection__placeholder,
body[data-layout-mode="light"] .select2-container .select2-selection__rendered,
body[data-layout-mode="light"] .select2-container--default .select2-selection__placeholder,
body[data-bs-theme="light"] .select2-container .select2-selection__rendered,
body[data-bs-theme="light"] .select2-container--default .select2-selection__placeholder {
  color: #102033 !important;
  opacity: 1 !important;
  line-height: 42px !important;
  font-weight: 600 !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--single .select2-selection__arrow b,
body[data-layout-mode="light"] .select2-container--default .select2-selection--single .select2-selection__arrow b,
body[data-bs-theme="light"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #102033 transparent transparent transparent !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .table thead th,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) table.dataTable thead th,
body[data-layout-mode="light"] .table thead th,
body[data-layout-mode="light"] table.dataTable thead th,
body[data-bs-theme="light"] .table thead th,
body[data-bs-theme="light"] table.dataTable thead th {
  background: linear-gradient(135deg, rgba(210,246,255,.96), rgba(229,232,255,.92)) !important;
  color: #102033 !important;
  border-color: rgba(38,193,230,.28) !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .table tbody td,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) table.dataTable tbody td,
body[data-layout-mode="light"] .table tbody td,
body[data-layout-mode="light"] table.dataTable tbody td,
body[data-bs-theme="light"] .table tbody td,
body[data-bs-theme="light"] table.dataTable tbody td {
  background: rgba(255,255,255,.78) !important;
  color: #15263a !important;
  border-color: rgba(40,196,232,.18) !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .dataTables_empty,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) table.dataTable tbody td.dataTables_empty,
body[data-layout-mode="light"] .dataTables_empty,
body[data-layout-mode="light"] table.dataTable tbody td.dataTables_empty,
body[data-bs-theme="light"] .dataTables_empty,
body[data-bs-theme="light"] table.dataTable tbody td.dataTables_empty {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(230,252,255,.92)) !important;
  color: #14263b !important;
  font-weight: 700 !important;
}

html[data-bs-theme="dark"] body .card,
body[data-bs-theme="dark"] .card,
body.dark .card,
html[data-bs-theme="dark"] body .card-body,
body[data-bs-theme="dark"] .card-body,
body.dark .card-body,
html[data-bs-theme="dark"] body .table-responsive,
body[data-bs-theme="dark"] .table-responsive,
body.dark .table-responsive,
html[data-bs-theme="dark"] body .dataTables_wrapper,
body[data-bs-theme="dark"] .dataTables_wrapper,
body.dark .dataTables_wrapper {
  background: linear-gradient(145deg, rgba(8,18,38,.96), rgba(13,33,60,.90)) !important;
  color: #edfaff !important;
  border-color: rgba(48,221,255,.22) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html[data-bs-theme="dark"] body .form-control,
body[data-bs-theme="dark"] .form-control,
body.dark .form-control,
html[data-bs-theme="dark"] body .form-select,
body[data-bs-theme="dark"] .form-select,
body.dark .form-select,
html[data-bs-theme="dark"] body .custom-select,
body[data-bs-theme="dark"] .custom-select,
body.dark .custom-select,
html[data-bs-theme="dark"] body .dataTables_filter input,
body[data-bs-theme="dark"] .dataTables_filter input,
body.dark .dataTables_filter input,
html[data-bs-theme="dark"] body .dataTables_length select,
body[data-bs-theme="dark"] .dataTables_length select,
body.dark .dataTables_length select,
html[data-bs-theme="dark"] body .select2-container .select2-selection,
body[data-bs-theme="dark"] .select2-container .select2-selection,
body.dark .select2-container .select2-selection {
  background: linear-gradient(180deg, rgba(13,29,54,.98), rgba(7,18,38,.96)) !important;
  color: #effcff !important;
  border-color: rgba(54,222,255,.30) !important;
}

html[data-bs-theme="dark"] body .select2-container .select2-selection__rendered,
body[data-bs-theme="dark"] .select2-container .select2-selection__rendered,
body.dark .select2-container .select2-selection__rendered {
  color: #effcff !important;
}

@media (max-width: 767.98px) {
  .card, .card-body, .table-responsive, .dataTables_wrapper {
    border-radius: 24px !important;
  }
  div.dataTables_wrapper div.dataTables_filter input,
  .select2-container .select2-selection,
  .dataTables_length select {
    width: 100% !important;
    max-width: 100% !important;
  }
  .dataTables_wrapper .row,
  .card-body .row {
    row-gap: 12px !important;
  }
  .dataTables_wrapper table.dataTable,
  .table-responsive table {
    min-width: 560px !important;
  }
}
/* Fim refino v15 */

/* =====================================================================
   Refinamento visual v16 — remoção definitiva do bloco escuro interno
   dos Select2/filtros no modo claro, preservando contraste no escuro.
   ===================================================================== */
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default,
body[data-layout-mode="light"] .select2-container,
body[data-bs-theme="light"] .select2-container {
  width: 100% !important;
  max-width: 100% !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container .select2-selection,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--single,
body[data-layout-mode="light"] .select2-container .select2-selection,
body[data-bs-theme="light"] .select2-container .select2-selection {
  overflow: hidden !important;
  background-color: #ffffff !important;
  background-image: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%) !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container .select2-selection__rendered,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--single .select2-selection__rendered,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body[data-layout-mode="light"] .select2-container .select2-selection__rendered,
body[data-bs-theme="light"] .select2-container .select2-selection__rendered,
body:not([data-bs-theme="dark"]) .select2-selection__rendered {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 46px 0 18px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #102033 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-selection__rendered *,
body[data-layout-mode="light"] .select2-selection__rendered *,
body[data-bs-theme="light"] .select2-selection__rendered * {
  background: transparent !important;
  background-color: transparent !important;
  color: #102033 !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) .select2-container--default .select2-selection--single .select2-selection__arrow,
body[data-layout-mode="light"] .select2-container--default .select2-selection--single .select2-selection__arrow,
body[data-bs-theme="light"] .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px !important;
  right: 12px !important;
}

html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) select.form-control,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) select.custom-select,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]) select.form-select,
body[data-layout-mode="light"] select.form-control,
body[data-layout-mode="light"] select.custom-select,
body[data-layout-mode="light"] select.form-select,
body[data-bs-theme="light"] select.form-control,
body[data-bs-theme="light"] select.custom-select,
body[data-bs-theme="light"] select.form-select {
  color: #102033 !important;
  background-color: #ffffff !important;
  background-image: linear-gradient(180deg, #ffffff, #f4fbff) !important;
}
/* Fim refino v16 */


/* =====================================================================
   Refinamento visual v17 — correção definitiva de tema, topbar e selects
   Objetivo: impedir mistura claro/escuro e alinhar mobile sem alterar lógica.
   ===================================================================== */
html[data-bs-theme="dark"],
html[data-layout-mode="dark"],
body[data-bs-theme="dark"],
body[data-layout-mode="dark"],
body.dark,
body.dark-mode {
  color-scheme: dark !important;
}

html[data-bs-theme="light"],
html[data-layout-mode="light"],
body[data-bs-theme="light"],
body[data-layout-mode="light"],
body.light-mode {
  color-scheme: light !important;
}

/* Fundo e estrutura base por tema, sem depender de :root vazio. */
html[data-bs-theme="dark"] body,
html[data-layout-mode="dark"] body,
body[data-bs-theme="dark"],
body[data-layout-mode="dark"],
body.dark,
body.dark-mode {
  background: radial-gradient(circle at 18% 0%, rgba(14, 76, 108, .22), transparent 34%),
              radial-gradient(circle at 90% 12%, rgba(113, 79, 255, .16), transparent 35%),
              linear-gradient(180deg, #071326 0%, #08162b 54%, #06111f 100%) !important;
  color: #edfaff !important;
}

html[data-bs-theme="light"] body,
html[data-layout-mode="light"] body,
body[data-bs-theme="light"],
body[data-layout-mode="light"],
body.light-mode {
  background: radial-gradient(circle at 15% 0%, rgba(38, 218, 255, .18), transparent 34%),
              radial-gradient(circle at 90% 10%, rgba(118, 97, 255, .10), transparent 36%),
              linear-gradient(180deg, #f3fcff 0%, #eaf8ff 52%, #f8fdff 100%) !important;
  color: #102033 !important;
}

/* Escuro: remove qualquer branco herdado dos refinos anteriores. */
html[data-bs-theme="dark"] body .page-content,
html[data-layout-mode="dark"] body .page-content,
body[data-bs-theme="dark"] .page-content,
body[data-layout-mode="dark"] .page-content,
html[data-bs-theme="dark"] body .content-wrapper,
html[data-layout-mode="dark"] body .content-wrapper,
body[data-bs-theme="dark"] .content-wrapper,
body[data-layout-mode="dark"] .content-wrapper,
html[data-bs-theme="dark"] body .card,
html[data-layout-mode="dark"] body .card,
body[data-bs-theme="dark"] .card,
body[data-layout-mode="dark"] .card,
html[data-bs-theme="dark"] body .card-body,
html[data-layout-mode="dark"] body .card-body,
body[data-bs-theme="dark"] .card-body,
body[data-layout-mode="dark"] .card-body,
html[data-bs-theme="dark"] body .table-responsive,
html[data-layout-mode="dark"] body .table-responsive,
body[data-bs-theme="dark"] .table-responsive,
body[data-layout-mode="dark"] .table-responsive,
html[data-bs-theme="dark"] body .dataTables_wrapper,
html[data-layout-mode="dark"] body .dataTables_wrapper,
body[data-bs-theme="dark"] .dataTables_wrapper,
body[data-layout-mode="dark"] .dataTables_wrapper {
  background: linear-gradient(145deg, rgba(7, 18, 37, .96), rgba(12, 31, 58, .92)) !important;
  color: #edfaff !important;
  border-color: rgba(45, 218, 255, .22) !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Claro: mantém cartões claros e textos escuros, sem pedaços pretos. */
html[data-bs-theme="light"] body .card,
html[data-layout-mode="light"] body .card,
body[data-bs-theme="light"] .card,
body[data-layout-mode="light"] .card,
html[data-bs-theme="light"] body .card-body,
html[data-layout-mode="light"] body .card-body,
body[data-bs-theme="light"] .card-body,
body[data-layout-mode="light"] .card-body,
html[data-bs-theme="light"] body .table-responsive,
html[data-layout-mode="light"] body .table-responsive,
body[data-bs-theme="light"] .table-responsive,
body[data-layout-mode="light"] .table-responsive,
html[data-bs-theme="light"] body .dataTables_wrapper,
html[data-layout-mode="light"] body .dataTables_wrapper,
body[data-bs-theme="light"] .dataTables_wrapper,
body[data-layout-mode="light"] .dataTables_wrapper {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(232,250,255,.88)) !important;
  color: #102033 !important;
  border-color: rgba(43, 205, 240, .24) !important;
  box-shadow: 0 18px 48px rgba(31,111,145,.12), inset 0 1px 0 rgba(255,255,255,.88) !important;
}

/* Tipografia e títulos coerentes por tema. */
body[data-bs-theme="dark"] .card,
body[data-layout-mode="dark"] .card,
body[data-bs-theme="dark"] .card *:not(.btn):not(i):not(svg):not(path),
body[data-layout-mode="dark"] .card *:not(.btn):not(i):not(svg):not(path),
html[data-bs-theme="dark"] body .card *:not(.btn):not(i):not(svg):not(path),
html[data-layout-mode="dark"] body .card *:not(.btn):not(i):not(svg):not(path) {
  color: #edfaff !important;
}

body[data-bs-theme="light"] .card,
body[data-layout-mode="light"] .card,
body[data-bs-theme="light"] .card *:not(.btn):not(i):not(svg):not(path),
body[data-layout-mode="light"] .card *:not(.btn):not(i):not(svg):not(path),
html[data-bs-theme="light"] body .card *:not(.btn):not(i):not(svg):not(path),
html[data-layout-mode="light"] body .card *:not(.btn):not(i):not(svg):not(path) {
  color: #102033 !important;
}

/* Tabelas/DataTables: cabeçalho, corpo, vazio e paginação nos dois temas. */
body[data-bs-theme="dark"] table.dataTable,
body[data-layout-mode="dark"] table.dataTable,
html[data-bs-theme="dark"] body table.dataTable,
html[data-layout-mode="dark"] body table.dataTable,
body[data-bs-theme="dark"] .table,
body[data-layout-mode="dark"] .table {
  background: transparent !important;
  color: #edfaff !important;
}

body[data-bs-theme="dark"] table.dataTable thead th,
body[data-layout-mode="dark"] table.dataTable thead th,
body[data-bs-theme="dark"] .table thead th,
body[data-layout-mode="dark"] .table thead th,
html[data-bs-theme="dark"] body table.dataTable thead th,
html[data-layout-mode="dark"] body table.dataTable thead th {
  background: linear-gradient(135deg, rgba(19, 227, 255, .18), rgba(116, 91, 255, .18)) !important;
  color: #f3fdff !important;
  border-color: rgba(44, 214, 249, .24) !important;
}

body[data-bs-theme="dark"] table.dataTable tbody td,
body[data-layout-mode="dark"] table.dataTable tbody td,
body[data-bs-theme="dark"] .table tbody td,
body[data-layout-mode="dark"] .table tbody td,
html[data-bs-theme="dark"] body table.dataTable tbody td,
html[data-layout-mode="dark"] body table.dataTable tbody td,
body[data-bs-theme="dark"] .dataTables_empty,
body[data-layout-mode="dark"] .dataTables_empty {
  background: rgba(9, 22, 42, .78) !important;
  color: #e9fbff !important;
  border-color: rgba(44, 213, 249, .16) !important;
}

body[data-bs-theme="light"] table.dataTable thead th,
body[data-layout-mode="light"] table.dataTable thead th,
body[data-bs-theme="light"] .table thead th,
body[data-layout-mode="light"] .table thead th,
html[data-bs-theme="light"] body table.dataTable thead th,
html[data-layout-mode="light"] body table.dataTable thead th {
  background: linear-gradient(135deg, rgba(210,246,255,.97), rgba(231,235,255,.94)) !important;
  color: #102033 !important;
  border-color: rgba(38,193,230,.30) !important;
}

body[data-bs-theme="light"] table.dataTable tbody td,
body[data-layout-mode="light"] table.dataTable tbody td,
body[data-bs-theme="light"] .table tbody td,
body[data-layout-mode="light"] .table tbody td,
html[data-bs-theme="light"] body table.dataTable tbody td,
html[data-layout-mode="light"] body table.dataTable tbody td,
body[data-bs-theme="light"] .dataTables_empty,
body[data-layout-mode="light"] .dataTables_empty {
  background: rgba(255,255,255,.82) !important;
  color: #14263b !important;
  border-color: rgba(40,196,232,.18) !important;
}

/* Campos, filtros e Select2 sem resíduos pretos no claro e sem branco no escuro. */
body[data-bs-theme="light"] .form-control,
body[data-layout-mode="light"] .form-control,
body[data-bs-theme="light"] .form-select,
body[data-layout-mode="light"] .form-select,
body[data-bs-theme="light"] .custom-select,
body[data-layout-mode="light"] .custom-select,
body[data-bs-theme="light"] select,
body[data-layout-mode="light"] select,
body[data-bs-theme="light"] input[type="text"],
body[data-layout-mode="light"] input[type="text"],
body[data-bs-theme="light"] input[type="search"],
body[data-layout-mode="light"] input[type="search"],
body[data-bs-theme="light"] .dataTables_filter input,
body[data-layout-mode="light"] .dataTables_filter input,
body[data-bs-theme="light"] .dataTables_length select,
body[data-layout-mode="light"] .dataTables_length select,
body[data-bs-theme="light"] .select2-container--default .select2-selection,
body[data-layout-mode="light"] .select2-container--default .select2-selection,
body[data-bs-theme="light"] .select2-container--default .select2-selection--single,
body[data-layout-mode="light"] .select2-container--default .select2-selection--single {
  background: linear-gradient(180deg, #ffffff, #f3fbff) !important;
  background-color: #ffffff !important;
  color: #102033 !important;
  border: 1px solid rgba(39,194,229,.40) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 9px 22px rgba(16,93,126,.09) !important;
  opacity: 1 !important;
}

body[data-bs-theme="light"] .select2-container--default .select2-selection__rendered,
body[data-layout-mode="light"] .select2-container--default .select2-selection__rendered,
body[data-bs-theme="light"] .select2-selection__rendered,
body[data-layout-mode="light"] .select2-selection__rendered,
body[data-bs-theme="light"] .select2-selection__rendered *,
body[data-layout-mode="light"] .select2-selection__rendered * {
  background: transparent !important;
  background-color: transparent !important;
  color: #102033 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body[data-bs-theme="dark"] .form-control,
body[data-layout-mode="dark"] .form-control,
body[data-bs-theme="dark"] .form-select,
body[data-layout-mode="dark"] .form-select,
body[data-bs-theme="dark"] .custom-select,
body[data-layout-mode="dark"] .custom-select,
body[data-bs-theme="dark"] select,
body[data-layout-mode="dark"] select,
body[data-bs-theme="dark"] input[type="text"],
body[data-layout-mode="dark"] input[type="text"],
body[data-bs-theme="dark"] input[type="search"],
body[data-layout-mode="dark"] input[type="search"],
body[data-bs-theme="dark"] .dataTables_filter input,
body[data-layout-mode="dark"] .dataTables_filter input,
body[data-bs-theme="dark"] .dataTables_length select,
body[data-layout-mode="dark"] .dataTables_length select,
body[data-bs-theme="dark"] .select2-container--default .select2-selection,
body[data-layout-mode="dark"] .select2-container--default .select2-selection,
body[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--single {
  background: linear-gradient(180deg, rgba(13,29,54,.98), rgba(7,18,38,.96)) !important;
  background-color: #0d1d36 !important;
  color: #effcff !important;
  border: 1px solid rgba(54,222,255,.30) !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.24) !important;
  opacity: 1 !important;
}

body[data-bs-theme="dark"] .select2-container--default .select2-selection__rendered,
body[data-layout-mode="dark"] .select2-container--default .select2-selection__rendered,
body[data-bs-theme="dark"] .select2-selection__rendered,
body[data-layout-mode="dark"] .select2-selection__rendered,
body[data-bs-theme="dark"] .select2-selection__rendered *,
body[data-layout-mode="dark"] .select2-selection__rendered * {
  background: transparent !important;
  background-color: transparent !important;
  color: #effcff !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.select2-container--default .select2-selection--single {
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  width: 100% !important;
  height: 42px !important;
  line-height: 42px !important;
  padding: 0 46px 0 16px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
  right: 10px !important;
}

/* Topbar e avatar: melhora respiro e separação entre tema e bonequinho. */
#page-topbar .navbar-header {
  align-items: center !important;
}
#themeToggle,
#page-topbar .noti-icon,
#page-header-user-dropdown {
  margin-inline: 3px !important;
}
#page-header-user-dropdown {
  isolation: isolate !important;
  border-radius: 999px !important;
  background: radial-gradient(circle at 36% 24%, #ffffff 0 8%, #bff9ff 9% 28%, #35dfff 29% 48%, #0e5f93 72%, #071830 100%) !important;
  border: 2px solid rgba(45,225,255,.80) !important;
  box-shadow: 0 0 0 4px rgba(53,229,255,.14), 0 10px 28px rgba(0,150,210,.28) !important;
}
#page-header-user-dropdown::before {
  width: 30% !important;
  height: 30% !important;
  left: 35% !important;
  top: 21% !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #f8ffff, #7defff 58%, #2c82bd) !important;
  box-shadow: 0 2px 7px rgba(0,0,0,.20) !important;
}
#page-header-user-dropdown::after {
  width: 56% !important;
  height: 30% !important;
  left: 22% !important;
  bottom: 17% !important;
  border-radius: 999px 999px 38% 38% !important;
  background: linear-gradient(180deg, #e4ffff, #4bdfff 55%, #176b9f) !important;
}

@media (max-width: 575.98px) {
  #page-topbar .navbar-header {
    min-height: 62px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 6px !important;
  }
  #page-topbar .navbar-brand-box {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 50px !important;
    margin: 0 4px 0 0 !important;
    padding: 4px !important;
  }
  #page-topbar .navbar-brand-box img,
  #page-topbar .navbar-brand-box .logo img {
    max-width: 46px !important;
    max-height: 40px !important;
  }
  .vertical-menu-btn {
    width: 38px !important;
    min-width: 38px !important;
    height: 42px !important;
    margin: 0 4px 0 0 !important;
  }
  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button {
    width: 84px !important;
    min-width: 84px !important;
    height: 44px !important;
    margin: 0 auto 0 0 !important;
    padding: 0 10px !important;
  }
  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 126px !important;
    top: 14px !important;
    width: 30px !important;
    min-width: 30px !important;
  }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 88px !important;
    top: 14px !important;
    width: 32px !important;
    min-width: 32px !important;
  }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 50px !important;
    top: 14px !important;
    width: 32px !important;
    min-width: 32px !important;
  }
  #themeToggle,
  #page-topbar .noti-icon {
    width: 32px !important;
    height: 34px !important;
    min-width: 32px !important;
    padding: 0 !important;
  }
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    top: 9px !important;
    right: 6px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }
}
/* Fim refino v17 */


/* =====================================================================
   Refinamento visual v18 — isolamento real entre modo claro e modo escuro
   Corrige vazamento de superfícies claras no dark mode e preserva o claro.
   ===================================================================== */
:root {
  --neo-v18-dark-bg: #061323;
  --neo-v18-dark-bg-2: #091b31;
  --neo-v18-dark-surface: rgba(9, 22, 42, .96);
  --neo-v18-dark-surface-2: rgba(13, 29, 54, .94);
  --neo-v18-dark-border: rgba(45, 218, 255, .24);
  --neo-v18-dark-text: #eefbff;
  --neo-v18-dark-muted: rgba(221, 245, 255, .76);
  --neo-v18-light-bg: #edf8ff;
  --neo-v18-light-surface: rgba(255, 255, 255, .94);
  --neo-v18-light-border: rgba(37, 194, 230, .25);
  --neo-v18-light-text: #102033;
  --neo-v18-light-muted: #52677c;
}

html[data-bs-theme="dark"],
html[data-layout-mode="dark"],
html[data-bs-theme="dark"] body,
html[data-layout-mode="dark"] body,
body[data-bs-theme="dark"],
body[data-layout-mode="dark"],
body.dark {
  color-scheme: dark;
  background: var(--neo-v18-dark-bg) !important;
  color: var(--neo-v18-dark-text) !important;
}

html[data-bs-theme="dark"] body #page-topbar,
html[data-bs-theme="dark"] body #page-topbar .navbar-header,
html[data-layout-mode="dark"] body #page-topbar,
html[data-layout-mode="dark"] body #page-topbar .navbar-header,
body[data-bs-theme="dark"] #page-topbar,
body[data-bs-theme="dark"] #page-topbar .navbar-header,
body[data-layout-mode="dark"] #page-topbar,
body[data-layout-mode="dark"] #page-topbar .navbar-header,
body.dark #page-topbar,
body.dark #page-topbar .navbar-header {
  background:
    radial-gradient(circle at 12% 0%, rgba(40,216,255,.10), transparent 32%),
    linear-gradient(180deg, rgba(6,17,32,.98), rgba(4,12,24,.98)) !important;
  border-bottom: 1px solid rgba(45,218,255,.13) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .26) !important;
}

html[data-bs-theme="dark"] body .page-content,
html[data-layout-mode="dark"] body .page-content,
body[data-bs-theme="dark"] .page-content,
body[data-layout-mode="dark"] .page-content,
body.dark .page-content,
html[data-bs-theme="dark"] body .main-content,
html[data-layout-mode="dark"] body .main-content,
body[data-bs-theme="dark"] .main-content,
body[data-layout-mode="dark"] .main-content,
body.dark .main-content,
html[data-bs-theme="dark"] body .content-wrapper,
html[data-layout-mode="dark"] body .content-wrapper,
body[data-bs-theme="dark"] .content-wrapper,
body[data-layout-mode="dark"] .content-wrapper,
body.dark .content-wrapper {
  background:
    radial-gradient(circle at 10% 8%, rgba(40,216,255,.13), transparent 31%),
    radial-gradient(circle at 92% 4%, rgba(207,77,255,.11), transparent 34%),
    linear-gradient(180deg, #071527 0%, #061323 54%, #05101e 100%) !important;
  color: var(--neo-v18-dark-text) !important;
}

html[data-bs-theme="dark"] body .page-title-box,
html[data-layout-mode="dark"] body .page-title-box,
body[data-bs-theme="dark"] .page-title-box,
body[data-layout-mode="dark"] .page-title-box,
body.dark .page-title-box,
html[data-bs-theme="dark"] body .page-title-box h1,
html[data-bs-theme="dark"] body .page-title-box h2,
html[data-bs-theme="dark"] body .page-title-box h3,
body[data-bs-theme="dark"] .page-title-box h1,
body[data-bs-theme="dark"] .page-title-box h2,
body[data-bs-theme="dark"] .page-title-box h3,
body.dark .page-title-box h1,
body.dark .page-title-box h2,
body.dark .page-title-box h3 {
  color: var(--neo-v18-dark-text) !important;
}

html[data-bs-theme="dark"] body .page-title-box,
html[data-layout-mode="dark"] body .page-title-box,
body[data-bs-theme="dark"] .page-title-box,
body[data-layout-mode="dark"] .page-title-box,
body.dark .page-title-box {
  background: linear-gradient(135deg, rgba(7,18,34,.96), rgba(19,33,60,.86), rgba(40,20,70,.72)) !important;
  border: 1px solid rgba(45,218,255,.18) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html[data-bs-theme="dark"] body .card,
html[data-bs-theme="dark"] body .card-body,
html[data-bs-theme="dark"] body .card.card-default,
html[data-bs-theme="dark"] body .table-responsive,
html[data-bs-theme="dark"] body .dataTables_wrapper,
html[data-bs-theme="dark"] body .dataTables_scroll,
html[data-bs-theme="dark"] body .dataTables_scrollHead,
html[data-bs-theme="dark"] body .dataTables_scrollBody,
html[data-layout-mode="dark"] body .card,
html[data-layout-mode="dark"] body .card-body,
html[data-layout-mode="dark"] body .card.card-default,
html[data-layout-mode="dark"] body .table-responsive,
html[data-layout-mode="dark"] body .dataTables_wrapper,
html[data-layout-mode="dark"] body .dataTables_scroll,
html[data-layout-mode="dark"] body .dataTables_scrollHead,
html[data-layout-mode="dark"] body .dataTables_scrollBody,
body[data-bs-theme="dark"] .card,
body[data-bs-theme="dark"] .card-body,
body[data-bs-theme="dark"] .card.card-default,
body[data-bs-theme="dark"] .table-responsive,
body[data-bs-theme="dark"] .dataTables_wrapper,
body[data-bs-theme="dark"] .dataTables_scroll,
body[data-bs-theme="dark"] .dataTables_scrollHead,
body[data-bs-theme="dark"] .dataTables_scrollBody,
body[data-layout-mode="dark"] .card,
body[data-layout-mode="dark"] .card-body,
body[data-layout-mode="dark"] .card.card-default,
body[data-layout-mode="dark"] .table-responsive,
body[data-layout-mode="dark"] .dataTables_wrapper,
body[data-layout-mode="dark"] .dataTables_scroll,
body[data-layout-mode="dark"] .dataTables_scrollHead,
body[data-layout-mode="dark"] .dataTables_scrollBody,
body.dark .card,
body.dark .card-body,
body.dark .card.card-default,
body.dark .table-responsive,
body.dark .dataTables_wrapper,
body.dark .dataTables_scroll,
body.dark .dataTables_scrollHead,
body.dark .dataTables_scrollBody {
  background: linear-gradient(145deg, rgba(9,22,42,.97), rgba(14,29,54,.91)) !important;
  background-color: #09162a !important;
  color: var(--neo-v18-dark-text) !important;
  border-color: var(--neo-v18-dark-border) !important;
  box-shadow: 0 18px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.07) !important;
}

html[data-bs-theme="dark"] body .card-header,
html[data-layout-mode="dark"] body .card-header,
body[data-bs-theme="dark"] .card-header,
body[data-layout-mode="dark"] .card-header,
body.dark .card-header {
  background: linear-gradient(135deg, rgba(15,39,67,.98), rgba(31,39,78,.84)) !important;
  color: var(--neo-v18-dark-text) !important;
  border-bottom-color: rgba(45,218,255,.22) !important;
}

html[data-bs-theme="dark"] body .card *,
html[data-layout-mode="dark"] body .card *,
body[data-bs-theme="dark"] .card *,
body[data-layout-mode="dark"] .card *,
body.dark .card * {
  color: inherit;
}

html[data-bs-theme="dark"] body .text-muted,
html[data-layout-mode="dark"] body .text-muted,
body[data-bs-theme="dark"] .text-muted,
body[data-layout-mode="dark"] .text-muted,
body.dark .text-muted,
html[data-bs-theme="dark"] body .dataTables_info,
html[data-bs-theme="dark"] body .dataTables_length label,
html[data-bs-theme="dark"] body .dataTables_filter label,
body[data-bs-theme="dark"] .dataTables_info,
body[data-bs-theme="dark"] .dataTables_length label,
body[data-bs-theme="dark"] .dataTables_filter label,
body.dark .dataTables_info,
body.dark .dataTables_length label,
body.dark .dataTables_filter label {
  color: var(--neo-v18-dark-muted) !important;
}

html[data-bs-theme="dark"] body table,
html[data-bs-theme="dark"] body .table,
html[data-bs-theme="dark"] body table.dataTable,
html[data-layout-mode="dark"] body table,
html[data-layout-mode="dark"] body .table,
html[data-layout-mode="dark"] body table.dataTable,
body[data-bs-theme="dark"] table,
body[data-bs-theme="dark"] .table,
body[data-bs-theme="dark"] table.dataTable,
body[data-layout-mode="dark"] table,
body[data-layout-mode="dark"] .table,
body[data-layout-mode="dark"] table.dataTable,
body.dark table,
body.dark .table,
body.dark table.dataTable {
  background: transparent !important;
  color: var(--neo-v18-dark-text) !important;
}

html[data-bs-theme="dark"] body .table thead th,
html[data-bs-theme="dark"] body table.dataTable thead th,
html[data-bs-theme="dark"] body .table tfoot th,
html[data-bs-theme="dark"] body table.dataTable tfoot th,
html[data-layout-mode="dark"] body .table thead th,
html[data-layout-mode="dark"] body table.dataTable thead th,
html[data-layout-mode="dark"] body .table tfoot th,
html[data-layout-mode="dark"] body table.dataTable tfoot th,
body[data-bs-theme="dark"] .table thead th,
body[data-bs-theme="dark"] table.dataTable thead th,
body[data-bs-theme="dark"] .table tfoot th,
body[data-bs-theme="dark"] table.dataTable tfoot th,
body[data-layout-mode="dark"] .table thead th,
body[data-layout-mode="dark"] table.dataTable thead th,
body[data-layout-mode="dark"] .table tfoot th,
body[data-layout-mode="dark"] table.dataTable tfoot th,
body.dark .table thead th,
body.dark table.dataTable thead th,
body.dark .table tfoot th,
body.dark table.dataTable tfoot th {
  background: linear-gradient(135deg, rgba(14,74,105,.96), rgba(31,42,93,.94)) !important;
  color: #f5fdff !important;
  border-color: rgba(45,218,255,.24) !important;
}

html[data-bs-theme="dark"] body .table tbody td,
html[data-bs-theme="dark"] body table.dataTable tbody td,
html[data-bs-theme="dark"] body .table tbody th,
html[data-bs-theme="dark"] body table.dataTable tbody th,
html[data-bs-theme="dark"] body .dataTables_empty,
html[data-layout-mode="dark"] body .table tbody td,
html[data-layout-mode="dark"] body table.dataTable tbody td,
html[data-layout-mode="dark"] body .table tbody th,
html[data-layout-mode="dark"] body table.dataTable tbody th,
html[data-layout-mode="dark"] body .dataTables_empty,
body[data-bs-theme="dark"] .table tbody td,
body[data-bs-theme="dark"] table.dataTable tbody td,
body[data-bs-theme="dark"] .table tbody th,
body[data-bs-theme="dark"] table.dataTable tbody th,
body[data-bs-theme="dark"] .dataTables_empty,
body[data-layout-mode="dark"] .table tbody td,
body[data-layout-mode="dark"] table.dataTable tbody td,
body[data-layout-mode="dark"] .table tbody th,
body[data-layout-mode="dark"] table.dataTable tbody th,
body[data-layout-mode="dark"] .dataTables_empty,
body.dark .table tbody td,
body.dark table.dataTable tbody td,
body.dark .table tbody th,
body.dark table.dataTable tbody th,
body.dark .dataTables_empty {
  background: rgba(7, 18, 35, .92) !important;
  color: #e9fbff !important;
  border-color: rgba(45,218,255,.15) !important;
}

html[data-bs-theme="dark"] body .form-control,
html[data-bs-theme="dark"] body .form-select,
html[data-bs-theme="dark"] body .custom-select,
html[data-bs-theme="dark"] body select,
html[data-bs-theme="dark"] body input,
html[data-bs-theme="dark"] body textarea,
html[data-bs-theme="dark"] body .dataTables_filter input,
html[data-bs-theme="dark"] body .dataTables_length select,
html[data-bs-theme="dark"] body .select2-container--default .select2-selection,
html[data-bs-theme="dark"] body .select2-container--default .select2-selection--single,
html[data-bs-theme="dark"] body .select2-container--default .select2-selection--multiple,
html[data-layout-mode="dark"] body .form-control,
html[data-layout-mode="dark"] body .form-select,
html[data-layout-mode="dark"] body .custom-select,
html[data-layout-mode="dark"] body select,
html[data-layout-mode="dark"] body input,
html[data-layout-mode="dark"] body textarea,
html[data-layout-mode="dark"] body .dataTables_filter input,
html[data-layout-mode="dark"] body .dataTables_length select,
html[data-layout-mode="dark"] body .select2-container--default .select2-selection,
html[data-layout-mode="dark"] body .select2-container--default .select2-selection--single,
html[data-layout-mode="dark"] body .select2-container--default .select2-selection--multiple,
body[data-bs-theme="dark"] .form-control,
body[data-bs-theme="dark"] .form-select,
body[data-bs-theme="dark"] .custom-select,
body[data-bs-theme="dark"] select,
body[data-bs-theme="dark"] input,
body[data-bs-theme="dark"] textarea,
body[data-bs-theme="dark"] .dataTables_filter input,
body[data-bs-theme="dark"] .dataTables_length select,
body[data-bs-theme="dark"] .select2-container--default .select2-selection,
body[data-bs-theme="dark"] .select2-container--default .select2-selection--single,
body[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple,
body[data-layout-mode="dark"] .form-control,
body[data-layout-mode="dark"] .form-select,
body[data-layout-mode="dark"] .custom-select,
body[data-layout-mode="dark"] select,
body[data-layout-mode="dark"] input,
body[data-layout-mode="dark"] textarea,
body[data-layout-mode="dark"] .dataTables_filter input,
body[data-layout-mode="dark"] .dataTables_length select,
body[data-layout-mode="dark"] .select2-container--default .select2-selection,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--single,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--multiple,
body.dark .form-control,
body.dark .form-select,
body.dark .custom-select,
body.dark select,
body.dark input,
body.dark textarea,
body.dark .dataTables_filter input,
body.dark .dataTables_length select,
body.dark .select2-container--default .select2-selection,
body.dark .select2-container--default .select2-selection--single,
body.dark .select2-container--default .select2-selection--multiple {
  background: linear-gradient(180deg, rgba(13,29,54,.98), rgba(7,18,35,.96)) !important;
  background-color: #0d1d36 !important;
  color: #effcff !important;
  border-color: rgba(54,222,255,.31) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.22) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-bs-theme="dark"] body .select2-selection__rendered,
html[data-layout-mode="dark"] body .select2-selection__rendered,
body[data-bs-theme="dark"] .select2-selection__rendered,
body[data-layout-mode="dark"] .select2-selection__rendered,
body.dark .select2-selection__rendered,
html[data-bs-theme="dark"] body .select2-selection__placeholder,
body[data-bs-theme="dark"] .select2-selection__placeholder,
body.dark .select2-selection__placeholder,
html[data-bs-theme="dark"] body select option,
body[data-bs-theme="dark"] select option,
body.dark select option {
  color: #effcff !important;
  background: transparent !important;
}

html[data-bs-theme="dark"] body .select2-dropdown,
html[data-bs-theme="dark"] body .select2-results__option,
html[data-layout-mode="dark"] body .select2-dropdown,
html[data-layout-mode="dark"] body .select2-results__option,
body[data-bs-theme="dark"] .select2-dropdown,
body[data-bs-theme="dark"] .select2-results__option,
body[data-layout-mode="dark"] .select2-dropdown,
body[data-layout-mode="dark"] .select2-results__option,
body.dark .select2-dropdown,
body.dark .select2-results__option {
  background: #0b1c33 !important;
  color: #effcff !important;
}

html[data-bs-theme="dark"] body .dataTables_paginate .paginate_button,
html[data-bs-theme="dark"] body .page-link,
body[data-bs-theme="dark"] .dataTables_paginate .paginate_button,
body[data-bs-theme="dark"] .page-link,
body.dark .dataTables_paginate .paginate_button,
body.dark .page-link {
  background: rgba(9,22,42,.96) !important;
  color: #e9fbff !important;
  border-color: rgba(45,218,255,.22) !important;
}

html[data-bs-theme="light"],
html[data-bs-theme="light"] body,
body[data-bs-theme="light"],
body[data-layout-mode="light"],
body:not([data-bs-theme="dark"]):not(.dark) {
  color-scheme: light;
  color: var(--neo-v18-light-text) !important;
}

html[data-bs-theme="light"] body .page-content,
body[data-bs-theme="light"] .page-content,
body[data-layout-mode="light"] .page-content,
body:not([data-bs-theme="dark"]):not(.dark) .page-content {
  background:
    radial-gradient(circle at 8% 12%, rgba(40,216,255,.20), transparent 30%),
    radial-gradient(circle at 92% 4%, rgba(207,77,255,.14), transparent 34%),
    linear-gradient(180deg, rgba(239,250,255,.98), rgba(246,252,255,.94)) !important;
  color: var(--neo-v18-light-text) !important;
}

html[data-bs-theme="light"] body .card,
html[data-bs-theme="light"] body .card-body,
html[data-bs-theme="light"] body .table-responsive,
html[data-bs-theme="light"] body .dataTables_wrapper,
body[data-bs-theme="light"] .card,
body[data-bs-theme="light"] .card-body,
body[data-bs-theme="light"] .table-responsive,
body[data-bs-theme="light"] .dataTables_wrapper,
body[data-layout-mode="light"] .card,
body[data-layout-mode="light"] .card-body,
body[data-layout-mode="light"] .table-responsive,
body[data-layout-mode="light"] .dataTables_wrapper {
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(232,250,255,.84)) !important;
  color: var(--neo-v18-light-text) !important;
  border-color: var(--neo-v18-light-border) !important;
  box-shadow: 0 18px 48px rgba(31,111,145,.13), inset 0 1px 0 rgba(255,255,255,.86) !important;
}

html[data-bs-theme="light"] body .form-control,
html[data-bs-theme="light"] body .form-select,
html[data-bs-theme="light"] body .custom-select,
html[data-bs-theme="light"] body select,
html[data-bs-theme="light"] body input,
html[data-bs-theme="light"] body textarea,
html[data-bs-theme="light"] body .dataTables_filter input,
html[data-bs-theme="light"] body .dataTables_length select,
html[data-bs-theme="light"] body .select2-container--default .select2-selection,
body[data-bs-theme="light"] .form-control,
body[data-bs-theme="light"] .form-select,
body[data-bs-theme="light"] .custom-select,
body[data-bs-theme="light"] select,
body[data-bs-theme="light"] input,
body[data-bs-theme="light"] textarea,
body[data-bs-theme="light"] .dataTables_filter input,
body[data-bs-theme="light"] .dataTables_length select,
body[data-bs-theme="light"] .select2-container--default .select2-selection,
body[data-layout-mode="light"] .form-control,
body[data-layout-mode="light"] .form-select,
body[data-layout-mode="light"] .custom-select,
body[data-layout-mode="light"] select,
body[data-layout-mode="light"] input,
body[data-layout-mode="light"] textarea,
body[data-layout-mode="light"] .dataTables_filter input,
body[data-layout-mode="light"] .dataTables_length select,
body[data-layout-mode="light"] .select2-container--default .select2-selection {
  background: linear-gradient(180deg, #ffffff, #f3fbff) !important;
  background-color: #ffffff !important;
  color: var(--neo-v18-light-text) !important;
  border-color: rgba(39,194,229,.40) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 9px 22px rgba(16,93,126,.09) !important;
}

.neo-avatar-svg {
  position: relative;
  z-index: 4;
  display: block;
  width: 31px;
  height: 31px;
  pointer-events: none;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.22));
}
#page-header-user-dropdown .neo-avatar-svg + img,
#page-header-user-dropdown .header-profile-user {
  display: none !important;
}

@media (max-width: 575.98px) {
  #page-topbar .navbar-header {
    gap: 8px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 132px !important;
    width: 32px !important;
    min-width: 32px !important;
  }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 94px !important;
    width: 34px !important;
    min-width: 34px !important;
  }
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 54px !important;
    width: 34px !important;
    min-width: 34px !important;
  }
  #themeToggle,
  #page-topbar .noti-icon {
    width: 34px !important;
    min-width: 34px !important;
  }
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    right: 7px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }
}
/* Fim refino v18 */

/* Complemento v18: prioriza o SVG inline do avatar sobre o desenho antigo em pseudo-elementos. */
#page-header-user-dropdown:has(.neo-avatar-svg)::before,
#page-header-user-dropdown:has(.neo-avatar-svg)::after,
#page-topbar #page-header-user-dropdown:has(.neo-avatar-svg)::before,
#page-topbar #page-header-user-dropdown:has(.neo-avatar-svg)::after {
  content: none !important;
  display: none !important;
}
#page-header-user-dropdown:has(.neo-avatar-svg),
#page-topbar #page-header-user-dropdown:has(.neo-avatar-svg) {
  justify-content: center !important;
  align-items: center !important;
}


/* =====================================================================
   Blindagem v18.1 — estados mistos de classe/atributo no alternador de tema
   Se qualquer atributo indicar dark, o visual escuro vence mesmo que reste
   a classe antiga light-mode no body/html por cache ou transição.
   ===================================================================== */
html[data-bs-theme="dark"] body.light-mode,
html[data-layout-mode="dark"] body.light-mode,
body[data-bs-theme="dark"].light-mode,
body[data-layout-mode="dark"].light-mode,
body.dark.light-mode,
body.dark-mode.light-mode {
  background: #061323 !important;
  color: #eefbff !important;
  color-scheme: dark !important;
}

html[data-bs-theme="dark"] body.light-mode .content-wrapper,
html[data-bs-theme="dark"] body.light-mode .main-content,
html[data-bs-theme="dark"] body.light-mode .page-content,
html[data-bs-theme="dark"] body.light-mode .container-fluid,
html[data-bs-theme="dark"] body.light-mode section.content,
html[data-layout-mode="dark"] body.light-mode .content-wrapper,
html[data-layout-mode="dark"] body.light-mode .main-content,
html[data-layout-mode="dark"] body.light-mode .page-content,
html[data-layout-mode="dark"] body.light-mode .container-fluid,
html[data-layout-mode="dark"] body.light-mode section.content,
body[data-bs-theme="dark"].light-mode .content-wrapper,
body[data-bs-theme="dark"].light-mode .main-content,
body[data-bs-theme="dark"].light-mode .page-content,
body[data-bs-theme="dark"].light-mode .container-fluid,
body[data-bs-theme="dark"].light-mode section.content,
body[data-layout-mode="dark"].light-mode .content-wrapper,
body[data-layout-mode="dark"].light-mode .main-content,
body[data-layout-mode="dark"].light-mode .page-content,
body[data-layout-mode="dark"].light-mode .container-fluid,
body[data-layout-mode="dark"].light-mode section.content,
body.dark.light-mode .content-wrapper,
body.dark.light-mode .main-content,
body.dark.light-mode .page-content,
body.dark.light-mode .container-fluid,
body.dark.light-mode section.content,
body.dark-mode.light-mode .content-wrapper,
body.dark-mode.light-mode .main-content,
body.dark-mode.light-mode .page-content,
body.dark-mode.light-mode .container-fluid,
body.dark-mode.light-mode section.content {
  background:
    radial-gradient(circle at 10% 8%, rgba(40,216,255,.13), transparent 31%),
    radial-gradient(circle at 92% 4%, rgba(207,77,255,.11), transparent 34%),
    linear-gradient(180deg, #071527 0%, #061323 54%, #05101e 100%) !important;
  background-color: #061323 !important;
  color: #eefbff !important;
  box-shadow: none !important;
}

html[data-bs-theme="dark"] body.light-mode .page-title-box,
html[data-layout-mode="dark"] body.light-mode .page-title-box,
body[data-bs-theme="dark"].light-mode .page-title-box,
body[data-layout-mode="dark"].light-mode .page-title-box,
body.dark.light-mode .page-title-box,
body.dark-mode.light-mode .page-title-box {
  background: linear-gradient(135deg, rgba(7,18,34,.96), rgba(19,33,60,.86), rgba(40,20,70,.72)) !important;
  color: #eefbff !important;
  border-color: rgba(45,218,255,.18) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html[data-bs-theme="dark"] body.light-mode .form-control,
html[data-bs-theme="dark"] body.light-mode .form-select,
html[data-bs-theme="dark"] body.light-mode .custom-select,
html[data-bs-theme="dark"] body.light-mode select,
html[data-bs-theme="dark"] body.light-mode input,
html[data-bs-theme="dark"] body.light-mode textarea,
html[data-bs-theme="dark"] body.light-mode .dataTables_length select,
html[data-bs-theme="dark"] body.light-mode .dataTables_filter input,
html[data-bs-theme="dark"] body.light-mode .select2-container--default .select2-selection,
body[data-bs-theme="dark"].light-mode .form-control,
body[data-bs-theme="dark"].light-mode .form-select,
body[data-bs-theme="dark"].light-mode .custom-select,
body[data-bs-theme="dark"].light-mode select,
body[data-bs-theme="dark"].light-mode input,
body[data-bs-theme="dark"].light-mode textarea,
body[data-bs-theme="dark"].light-mode .dataTables_length select,
body[data-bs-theme="dark"].light-mode .dataTables_filter input,
body[data-bs-theme="dark"].light-mode .select2-container--default .select2-selection,
body.dark.light-mode .form-control,
body.dark.light-mode .form-select,
body.dark.light-mode .custom-select,
body.dark.light-mode select,
body.dark.light-mode input,
body.dark.light-mode textarea,
body.dark.light-mode .dataTables_length select,
body.dark.light-mode .dataTables_filter input,
body.dark.light-mode .select2-container--default .select2-selection,
body.dark-mode.light-mode .form-control,
body.dark-mode.light-mode .form-select,
body.dark-mode.light-mode .custom-select,
body.dark-mode.light-mode select,
body.dark-mode.light-mode input,
body.dark-mode.light-mode textarea,
body.dark-mode.light-mode .dataTables_length select,
body.dark-mode.light-mode .dataTables_filter input,
body.dark-mode.light-mode .select2-container--default .select2-selection {
  background: linear-gradient(180deg, rgba(13,29,54,.98), rgba(7,18,35,.96)) !important;
  background-color: #0d1d36 !important;
  color: #effcff !important;
  border-color: rgba(54,222,255,.31) !important;
}


/* =====================================================================
   Acabamento v18.2 — legibilidade fina em dashboard escuro e topbar mobile
   ===================================================================== */
body[data-bs-theme="dark"] canvas,
body[data-layout-mode="dark"] canvas,
body.dark canvas,
body.dark-mode canvas {
  filter: brightness(1.18) contrast(1.12) saturate(1.08) !important;
}

body[data-bs-theme="dark"] .card .text-muted,
body[data-bs-theme="dark"] .card small,
body[data-bs-theme="dark"] .card .small,
body[data-bs-theme="dark"] .card label,
body[data-layout-mode="dark"] .card .text-muted,
body[data-layout-mode="dark"] .card small,
body[data-layout-mode="dark"] .card .small,
body[data-layout-mode="dark"] .card label,
body.dark .card .text-muted,
body.dark .card small,
body.dark .card .small,
body.dark .card label,
body.dark-mode .card .text-muted,
body.dark-mode .card small,
body.dark-mode .card .small,
body.dark-mode .card label {
  color: rgba(238,251,255,.88) !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.45) !important;
}

body[data-bs-theme="dark"] .card h1,
body[data-bs-theme="dark"] .card h2,
body[data-bs-theme="dark"] .card h3,
body[data-bs-theme="dark"] .card h4,
body[data-bs-theme="dark"] .card h5,
body[data-bs-theme="dark"] .card h6,
body[data-layout-mode="dark"] .card h1,
body[data-layout-mode="dark"] .card h2,
body[data-layout-mode="dark"] .card h3,
body[data-layout-mode="dark"] .card h4,
body[data-layout-mode="dark"] .card h5,
body[data-layout-mode="dark"] .card h6,
body.dark .card h1,
body.dark .card h2,
body.dark .card h3,
body.dark .card h4,
body.dark .card h5,
body.dark .card h6,
body.dark-mode .card h1,
body.dark-mode .card h2,
body.dark-mode .card h3,
body.dark-mode .card h4,
body.dark-mode .card h5,
body.dark-mode .card h6 {
  color: #f4fdff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.38) !important;
}

#neoFastTestButton,
#neoFastTestButton span,
#neoFastTestButton strong,
#neoFastTestButton .btn-label {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(80,0,40,.38) !important;
  font-weight: 800 !important;
}

@media (max-width: 575.98px) {
  #page-topbar .navbar-header {
    min-height: 58px !important;
    align-items: center !important;
  }
  #neoFastTestButton {
    min-width: 86px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    line-height: 1.08 !important;
  }
}


/* =====================================================================
   Acabamento v18.3 — correção de legendas SVG/Google Charts no modo escuro
   ===================================================================== */
body[data-bs-theme="dark"] svg text,
body[data-layout-mode="dark"] svg text,
body.dark svg text,
body.dark-mode svg text {
  fill: rgba(238, 251, 255, .92) !important;
  color: rgba(238, 251, 255, .92) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.42) !important;
}

body[data-bs-theme="dark"] svg text[font-weight="bold"],
body[data-layout-mode="dark"] svg text[font-weight="bold"],
body.dark svg text[font-weight="bold"],
body.dark-mode svg text[font-weight="bold"] {
  fill: #f7fdff !important;
  color: #f7fdff !important;
}

body[data-bs-theme="dark"] svg path[fill="#102033"],
body[data-bs-theme="dark"] svg rect[fill="#102033"],
body[data-layout-mode="dark"] svg path[fill="#102033"],
body[data-layout-mode="dark"] svg rect[fill="#102033"],
body.dark svg path[fill="#102033"],
body.dark svg rect[fill="#102033"],
body.dark-mode svg path[fill="#102033"],
body.dark-mode svg rect[fill="#102033"] {
  fill: rgba(238,251,255,.9) !important;
}


/* =====================================================================
   Acabamento v18.4 — topbar mobile com avatar de perfil reconhecível
   e respiro maior entre claro/escuro e perfil
   ===================================================================== */
#page-header-user-dropdown .neo-avatar-profile,
#page-topbar #page-header-user-dropdown .neo-avatar-profile {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-radius: 999px !important;
  filter: drop-shadow(0 1px 4px rgba(0,0,0,.24)) drop-shadow(0 0 10px rgba(40,216,255,.28)) !important;
}

#page-header-user-dropdown:has(.neo-avatar-profile)::before,
#page-header-user-dropdown:has(.neo-avatar-profile)::after,
#page-topbar #page-header-user-dropdown:has(.neo-avatar-profile)::before,
#page-topbar #page-header-user-dropdown:has(.neo-avatar-profile)::after {
  content: none !important;
  display: none !important;
}

#page-header-user-dropdown .neo-avatar-profile + img,
#page-topbar #page-header-user-dropdown .neo-avatar-profile + img,
#page-topbar #page-header-user-dropdown .header-profile-user {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (max-width: 575.98px) {
  #page-topbar .navbar-header {
    padding-right: 180px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    max-width: calc(100vw - 184px) !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 150px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 108px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 66px !important;
  }

  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    right: 8px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.86), 0 10px 24px rgba(7,18,34,.28), 0 0 20px rgba(40,216,255,.36) !important;
  }
}

@media (max-width: 380px) {
  #page-topbar .navbar-header {
    padding-right: 164px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    max-width: calc(100vw - 168px) !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 134px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 96px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 58px !important;
  }

  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    right: 6px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  #page-header-user-dropdown .neo-avatar-profile,
  #page-topbar #page-header-user-dropdown .neo-avatar-profile {
    width: 35px !important;
    height: 35px !important;
    min-width: 35px !important;
    min-height: 35px !important;
    max-width: 35px !important;
    max-height: 35px !important;
  }
}


/* =====================================================================
   Acabamento v18.5 — topbar mobile proporcional, créditos flexíveis
   e avatar menos dominante após validação de login
   ===================================================================== */
@media (max-width: 575.98px) {
  #page-topbar,
  #page-topbar.isvertical-topbar,
  #page-topbar .navbar-header {
    min-height: 60px !important;
    height: 60px !important;
  }

  #page-topbar .navbar-header {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding-left: max(6px, env(safe-area-inset-left)) !important;
    padding-right: 162px !important;
    overflow: visible !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    max-width: calc(100vw - 166px) !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  #page-topbar .navbar-brand-box,
  #page-topbar .navbar-header .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    margin: 0 2px 0 0 !important;
    padding: 5px !important;
    border-radius: 18px !important;
  }

  #page-topbar .navbar-brand-box img,
  .vertical-menu .navbar-brand-box img {
    max-width: 42px !important;
    max-height: 38px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .btn.header-item.vertical-menu-btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 !important;
    margin: 0 2px 0 0 !important;
    border-radius: 15px !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }

  #page-topbar .vertical-menu-btn i,
  #page-topbar .btn.header-item.vertical-menu-btn i,
  #page-topbar .vertical-menu-btn .mdi,
  #page-topbar .vertical-menu-btn .bx {
    font-size: 23px !important;
    line-height: 1 !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    flex: 0 0 auto !important;
    width: clamp(80px, 22vw, 92px) !important;
    min-width: 80px !important;
    max-width: 92px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 4px 9px !important;
    border-radius: 16px !important;
    font-size: clamp(11px, 3.1vw, 13px) !important;
    line-height: 1.02 !important;
    letter-spacing: .01em !important;
    white-space: normal !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    position: fixed !important;
    right: 124px !important;
    top: 13px !important;
    min-width: 28px !important;
    max-width: clamp(28px, 15vw, 78px) !important;
    height: 36px !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 10882 !important;
  }

  #page-topbar #creditDisplay,
  #page-topbar .navbar-header > ul.navbar-nav:not(.neo-user-dropdown-wrap) #creditDisplay,
  #page-topbar .navbar-header > ul.navbar-nav:not(.neo-user-dropdown-wrap) .nav-link,
  #page-topbar .navbar-header > ul.navbar-nav:not(.neo-user-dropdown-wrap) .header-item {
    width: auto !important;
    max-width: 76px !important;
    min-width: 28px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: clamp(11px, 2.8vw, 13px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    border-radius: 13px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    position: fixed !important;
    right: 87px !important;
    top: 13px !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 10884 !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    position: fixed !important;
    right: 50px !important;
    top: 13px !important;
    width: 36px !important;
    height: 36px !important;
    z-index: 10886 !important;
  }

  #page-topbar #themeToggle,
  #page-topbar .noti-icon,
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) .header-item,
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) .header-item {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #page-topbar #themeToggle i,
  #page-topbar .noti-icon i,
  #page-topbar #themeToggle .mdi,
  #page-topbar .noti-icon .mdi,
  #page-topbar #themeToggle .bx,
  #page-topbar .noti-icon .bx {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap {
    position: fixed !important;
    top: 12px !important;
    right: 7px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    z-index: 10890 !important;
  }

  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    position: relative !important;
    inset: auto !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    border-width: 1.5px !important;
    border-radius: 999px !important;
    box-shadow: 0 0 0 1.5px rgba(255,255,255,.78), 0 8px 20px rgba(7,18,34,.22), 0 0 14px rgba(40,216,255,.28) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #page-header-user-dropdown .neo-avatar-profile,
  #page-topbar #page-header-user-dropdown .neo-avatar-profile {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
  }

  #page-topbar .neo-user-dropdown-wrap > .dropdown-menu,
  #page-topbar .navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
    top: 54px !important;
    right: 7px !important;
  }
}

@media (max-width: 390px) {
  #page-topbar .navbar-header {
    gap: 5px !important;
    padding-left: 4px !important;
    padding-right: 154px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    gap: 5px !important;
    max-width: calc(100vw - 158px) !important;
  }

  #page-topbar .navbar-brand-box,
  #page-topbar .navbar-header .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .btn.header-item.vertical-menu-btn {
    width: 39px !important;
    min-width: 39px !important;
    max-width: 39px !important;
    height: 39px !important;
    min-height: 39px !important;
    max-height: 39px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 74px !important;
    width: clamp(74px, 21vw, 84px) !important;
    max-width: 84px !important;
    height: 39px !important;
    min-height: 39px !important;
    max-height: 39px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
    font-size: clamp(10px, 2.9vw, 12px) !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 118px !important;
    max-width: 58px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 82px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 46px !important;
  }

  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap,
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }

  #page-header-user-dropdown .neo-avatar-profile,
  #page-topbar #page-header-user-dropdown .neo-avatar-profile {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
  }
}
/* Fim acabamento v18.5 20260526-26 */

/* Acabamento v18.6 20260526-27: respiro real entre tema e perfil no mobile, preservando créditos longos */
@media (max-width: 768px) {
  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 132px !important;
    max-width: min(92px, calc(100vw - 290px)) !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 94px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 54px !important;
  }

  #page-topbar #themeToggle,
  #page-topbar .noti-icon {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap,
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
  }
}

@media (max-width: 390px) {
  #page-topbar .navbar-header {
    padding-right: 160px !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    right: 132px !important;
    max-width: 62px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    right: 94px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    right: 54px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .btn.header-item.vertical-menu-btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 76px !important;
    width: clamp(76px, 21vw, 84px) !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
}
/* Fim acabamento v18.6 20260526-27 */

/* =========================================================
   v18.7 — Personalizador de cores redesenhado e persistente
   ========================================================= */
.neo-color-modal .modal-content,
#colorModal .modal-content {
  border: 1px solid rgba(88,214,255,.22) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(40,216,255,.16), transparent 34%),
    radial-gradient(circle at 92% 20%, rgba(207,77,255,.14), transparent 30%),
    linear-gradient(145deg, rgba(9,14,25,.97), rgba(16,24,39,.96)) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.48), 0 0 34px rgba(40,216,255,.12) !important;
}

.neo-color-modal .modal-title,
#colorModal .modal-title {
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

.neo-color-helper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 12px;
  align-items: center;
  margin: 14px 0 16px;
  padding: 13px 14px;
  border-radius: 18px;
  border: 1px solid rgba(88,214,255,.18);
  background: linear-gradient(135deg, rgba(36,240,165,.10), rgba(40,216,255,.08), rgba(207,77,255,.08));
}

.neo-color-helper strong {
  color: #eaffff !important;
  font-size: .92rem;
  white-space: nowrap;
}

.neo-color-helper span {
  color: rgba(232,246,255,.78) !important;
  font-size: .88rem;
  line-height: 1.35;
}

.neo-preview-card em {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-top: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-style: normal;
  font-size: .78rem;
  font-weight: 800;
  color: #06101c !important;
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan));
  box-shadow: 0 0 18px rgba(40,216,255,.22);
}

.neo-preset-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.neo-preset-section {
  display: grid;
  gap: 9px;
  padding: 12px;
  border-radius: 20px;
  border: 1px solid rgba(88,214,255,.16);
  background: rgba(5,9,18,.42);
}

.neo-preset-section-natural {
  border-color: rgba(167,139,250,.16);
  background: rgba(15,23,42,.45);
}

.neo-preset-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 2px;
  color: #f8fbff !important;
  font-size: .86rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.neo-preset-title i {
  color: var(--neo-cyan) !important;
  text-shadow: 0 0 14px rgba(40,216,255,.46);
}

.neo-preset {
  min-height: 64px;
  text-align: left !important;
  align-items: center !important;
  display: grid !important;
  grid-template-columns: 34px 1fr !important;
  grid-template-areas: "swatch title" "swatch desc";
  column-gap: 10px !important;
  row-gap: 2px !important;
  padding: 11px 12px !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}

.neo-preset span { grid-area: swatch; width: 32px !important; height: 32px !important; }
.neo-preset strong { grid-area: title; color: #f8fbff !important; font-size: .9rem; line-height: 1.1; }
.neo-preset small { grid-area: desc; color: rgba(232,246,255,.66) !important; font-size: .73rem; line-height: 1.18; }

.neo-preset:hover,
.neo-preset.is-active {
  background: linear-gradient(135deg, rgba(var(--neo-topbar-rgb), .20), rgba(40,216,255,.10), rgba(207,77,255,.10)) !important;
}

.neo-preset.is-active::after {
  content: "✓";
  position: absolute;
  right: 10px;
  top: 8px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: .76rem;
  font-weight: 900;
  color: #06101c;
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan));
  box-shadow: 0 0 16px rgba(40,216,255,.32);
}

.neo-preset { position: relative; }

.neo-color-field b {
  color: var(--neo-cyan) !important;
  font-weight: 900;
}

.neo-color-actions .btn {
  min-height: 44px;
  border-radius: 15px !important;
  font-weight: 900 !important;
}

.neo-color-actions #saveButton {
  background: linear-gradient(135deg, var(--neo-green), var(--neo-cyan), var(--neo-magenta)) !important;
  border: 0 !important;
  color: #06101c !important;
  box-shadow: 0 12px 28px rgba(40,216,255,.20) !important;
}

.neo-color-actions #resetThemeDefaultsBtn {
  background: rgba(15,23,42,.78) !important;
  border: 1px solid rgba(248,113,113,.32) !important;
  color: #fecaca !important;
}

.floating-bubble,
.neo-color-fab,
button[data-target="#colorModal"],
[data-target="#colorModal"].btn {
  background: linear-gradient(135deg, #22e7dd, #27d7ff 45%, #b45cff) !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 18px 40px rgba(31,215,230,.28), 0 0 0 1px rgba(255,255,255,.10) inset !important;
}

.floating-bubble i,
.neo-color-fab i,
button[data-target="#colorModal"] i,
[data-target="#colorModal"].btn i {
  color: #06101c !important;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.24));
}

body[data-layout-mode="light"] .neo-color-modal .modal-content,
body[data-bs-theme="light"] #colorModal .modal-content {
  background:
    radial-gradient(circle at 16% 0%, rgba(40,216,255,.18), transparent 34%),
    radial-gradient(circle at 92% 20%, rgba(207,77,255,.12), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,249,255,.96)) !important;
}

body[data-layout-mode="light"] .neo-color-helper,
body[data-bs-theme="light"] .neo-color-helper,
body[data-layout-mode="light"] .neo-preset-section,
body[data-bs-theme="light"] .neo-preset-section,
body[data-layout-mode="light"] .neo-color-field,
body[data-bs-theme="light"] .neo-color-field {
  background: rgba(255,255,255,.74) !important;
  border-color: rgba(14,116,144,.18) !important;
}

body[data-layout-mode="light"] .neo-color-helper strong,
body[data-bs-theme="light"] .neo-color-helper strong,
body[data-layout-mode="light"] .neo-color-helper span,
body[data-bs-theme="light"] .neo-color-helper span,
body[data-layout-mode="light"] .neo-preset-title,
body[data-bs-theme="light"] .neo-preset-title,
body[data-layout-mode="light"] .neo-preset strong,
body[data-bs-theme="light"] .neo-preset strong {
  color: #102033 !important;
}

body[data-layout-mode="light"] .neo-preset small,
body[data-bs-theme="light"] .neo-preset small {
  color: rgba(16,32,51,.66) !important;
}

@media (max-width: 768px) {
  .neo-color-helper { grid-template-columns: 1fr !important; gap: 5px !important; }
  .neo-preset-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .neo-preset-section { padding: 11px !important; }
  .neo-preset { min-height: 62px !important; }
  .neo-color-preview { grid-template-columns: 92px 1fr !important; min-height: 138px !important; }
  .neo-preview-main { padding: 14px !important; }
  .neo-preview-card { padding: 12px !important; }
  .neo-color-actions { gap: 9px !important; }
}


/* =========================================================
   Refino v18.8 — alinhamento profissional dos alertas de login
   Observação: as telas de login usam CSS inline próprio; esta camada
   documenta e reforça o padrão visual v18.8 para componentes globais.
   ========================================================= */
.login-toast-v18-8,
body .toast-container.login-toast-container-v18-8 {
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 480px) {
  .login-toast-v18-8,
  body .toast-container.login-toast-container-v18-8 {
    max-width: calc(100vw - 20px);
  }
}

/* Refino final mobile topbar/header Manus 20260526 */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  #page-topbar,
  #page-topbar .navbar-header {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  #page-topbar .navbar-header {
    min-width: 0 !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 3px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    min-width: 0 !important;
    flex: 0 1 auto !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > .dropdown.d-inline-block:not(.neo-user-dropdown-wrap) {
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }

  #page-topbar .navbar-header .btn,
  #page-topbar .navbar-header .header-item {
    touch-action: manipulation !important;
  }

  .main-content,
  .page-content,
  .container-fluid,
  .card,
  .neo-dashboard-shell,
  .neo-page-shell {
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  .page-title-box {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .card-body.table-responsive,
  .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 360px) {
  #page-topbar .navbar-header {
    gap: 1px !important;
    padding-left: 3px !important;
    padding-right: 44px !important;
  }

  #page-topbar .navbar-header .navbar-brand-box,
  #page-topbar .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
  }

  #page-topbar .navbar-brand-box img,
  .vertical-menu .navbar-brand-box img {
    max-width: 28px !important;
    max-height: 28px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    min-width: 56px !important;
    width: 56px !important;
    max-width: 56px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 2px 3px !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .header-item,
  #page-topbar .btn.header-item,
  #page-topbar .btn.btn-soft-dark,
  #page-topbar #themeToggle,
  #page-topbar .noti-icon {
    min-width: 28px !important;
    width: 28px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 2px !important;
  }
}
/* Fim refino final mobile topbar/header Manus 20260526 */


/* Ajustes finais NEUTRO2 — saldo mobile e Criar Revenda mobile (20260526-30) */
#page-topbar .neo-credit-dropdown {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

#page-topbar .neo-credit-toggle {
  gap: 6px !important;
  max-width: 128px !important;
  overflow: hidden !important;
  border: 1px solid rgba(40,216,255,.22) !important;
  background: rgba(9, 18, 34, .72) !important;
  color: #eaf7ff !important;
}

#page-topbar .neo-credit-label {
  display: none;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}

#page-topbar .neo-credit-value {
  display: inline-block !important;
  max-width: 78px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

#page-topbar .neo-credit-menu {
  min-width: 148px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(40,216,255,.22) !important;
  background: rgba(9, 18, 34, .97) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.28) !important;
  color: #eaf7ff !important;
  text-align: left !important;
}

#page-topbar .neo-credit-menu-title {
  color: rgba(234,247,255,.72) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  margin-bottom: 4px !important;
}

#page-topbar .neo-credit-menu-value {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  word-break: break-word !important;
}

body[data-layout-mode="light"] #page-topbar .neo-credit-toggle,
body[data-bs-theme="light"] #page-topbar .neo-credit-toggle,
body.light-mode #page-topbar .neo-credit-toggle {
  background: rgba(255,255,255,.88) !important;
  color: #102033 !important;
  border-color: rgba(25,118,210,.22) !important;
}

body[data-layout-mode="light"] #page-topbar .neo-credit-menu,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu,
body.light-mode #page-topbar .neo-credit-menu {
  background: rgba(255,255,255,.98) !important;
  color: #102033 !important;
  border-color: rgba(25,118,210,.20) !important;
}

body[data-layout-mode="light"] #page-topbar .neo-credit-menu-title,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu-title,
body.light-mode #page-topbar .neo-credit-menu-title {
  color: rgba(16,32,51,.68) !important;
}

body[data-layout-mode="light"] #page-topbar .neo-credit-menu-value,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu-value,
body.light-mode #page-topbar .neo-credit-menu-value {
  color: #102033 !important;
}

@media (max-width: 768px) {
  #page-topbar .neo-credit-dropdown {
    flex: 0 0 auto !important;
    max-width: 58px !important;
  }

  #page-topbar .neo-credit-toggle {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px 5px !important;
    gap: 0 !important;
  }

  #page-topbar .neo-credit-label {
    display: inline-block !important;
  }

  #page-topbar .neo-credit-value {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  #page-topbar .neo-credit-menu {
    position: fixed !important;
    top: 54px !important;
    right: 96px !important;
    left: auto !important;
    transform: none !important;
    z-index: 10940 !important;
  }

  #page-topbar .neo-credit-dropdown:focus-within .neo-credit-menu,
  #page-topbar .neo-credit-dropdown:hover .neo-credit-menu {
    display: block !important;
  }

  .content-wrapper .card,
  .content-wrapper .card-body,
  .content-wrapper form,
  .content-wrapper .row,
  .content-wrapper [class*="col-"] {
    min-width: 0 !important;
  }

  #member_group + .select2-container,
  #member_group + .select2-container .select2-selection--single,
  #member_group.select2-hidden-accessible + .select2-container .select2-selection--single {
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #member_group + .select2-container .select2-selection--single,
  #member_group.select2-hidden-accessible + .select2-container .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    border: 1px solid rgba(40,216,255,.26) !important;
    background: rgba(8, 16, 31, .78) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 8px 22px rgba(0,0,0,.12) !important;
  }

  #member_group + .select2-container .select2-selection__rendered,
  #member_group.select2-hidden-accessible + .select2-container .select2-selection__rendered {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 34px !important;
    line-height: 40px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #member_group + .select2-container .select2-selection__arrow,
  #member_group.select2-hidden-accessible + .select2-container .select2-selection__arrow {
    height: 40px !important;
    right: 8px !important;
  }

  .custom-control.custom-switch {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding-left: 3.05rem !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .custom-switch .custom-control-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    line-height: 1.25 !important;
    color: inherit !important;
  }

  .custom-switch .custom-control-label::before {
    left: -3.05rem !important;
    width: 2.45rem !important;
    height: 1.28rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(40,216,255,.30) !important;
    background: rgba(8, 16, 31, .82) !important;
    box-shadow: none !important;
  }

  .custom-switch .custom-control-label::after {
    left: calc(-3.05rem + 3px) !important;
    top: calc(.25rem + 2px) !important;
    width: calc(1.28rem - 4px) !important;
    height: calc(1.28rem - 4px) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 7px rgba(0,0,0,.22) !important;
  }

  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    transform: translateX(1.17rem) !important;
  }

  textarea.form-control,
  .content-wrapper textarea.form-control[name="notes"] {
    display: block !important;
    width: 100% !important;
    min-height: 96px !important;
    border-radius: 14px !important;
    overflow: auto !important;
    resize: vertical !important;
    background-clip: padding-box !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
  }

  .card-footer .btn[type="submit"],
  .card-footer .btn.btn-primary {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 380px) {
  #page-topbar .neo-credit-dropdown {
    max-width: 50px !important;
  }

  #page-topbar .neo-credit-toggle {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    font-size: 10px !important;
  }

  #page-topbar .neo-credit-menu {
    right: 84px !important;
    min-width: 138px !important;
  }
}

@media (max-width: 768px) {
  body[data-layout-mode="light"] #member_group + .select2-container .select2-selection--single,
  body[data-bs-theme="light"] #member_group + .select2-container .select2-selection--single,
  body.light-mode #member_group + .select2-container .select2-selection--single {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(25,118,210,.20) !important;
    box-shadow: inset 0 0 0 1px rgba(16,32,51,.025), 0 8px 20px rgba(16,32,51,.08) !important;
  }

  body[data-layout-mode="light"] .custom-switch .custom-control-label::before,
  body[data-bs-theme="light"] .custom-switch .custom-control-label::before,
  body.light-mode .custom-switch .custom-control-label::before {
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(25,118,210,.20) !important;
  }
}
/* Fim ajustes finais NEUTRO2 — saldo mobile e Criar Revenda mobile */

/* Refinamento pós-validação visual mobile — switches limpos e prioridade de saldo (20260526-31) */
@media (max-width: 768px) {
  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 4px 5px !important;
  }

  .custom-control.custom-switch .custom-control-input,
  .custom-switch .custom-control-input,
  input.custom-control-input[type="checkbox"] {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  .custom-control.custom-switch .custom-control-label::before,
  .custom-control.custom-switch .custom-control-label::after {
    display: block !important;
    visibility: visible !important;
  }

  .custom-control.custom-switch .custom-control-input:focus ~ .custom-control-label::before,
  .custom-control.custom-switch .custom-control-input:active ~ .custom-control-label::before {
    box-shadow: 0 0 0 .12rem rgba(40,216,255,.18) !important;
  }

  .content-wrapper textarea.form-control,
  .content-wrapper textarea[name="notes"],
  textarea.form-control[name="notes"] {
    border: 1px solid rgba(40,216,255,.26) !important;
    background-color: rgba(8, 16, 31, .78) !important;
    background-image: none !important;
    background-clip: padding-box !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 8px 20px rgba(0,0,0,.10) !important;
    outline: 0 !important;
  }

  .content-wrapper textarea.form-control::after,
  .content-wrapper textarea[name="notes"]::after,
  textarea.form-control[name="notes"]::after {
    display: none !important;
    content: none !important;
  }
}

@media (max-width: 380px) {
  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }
}
/* Fim refinamento pós-validação visual mobile */

/* Ajuste de micro-layout para 375px: impedir qualquer interseção entre Saldo e sino */
@media (max-width: 380px) {
  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
    font-size: 8.6px !important;
    letter-spacing: .01em !important;
  }
}

/* Ajuste final 375px: margem matemática entre Saldo e notificações */
@media (max-width: 380px) {
  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
  #page-topbar .neo-credit-toggle .neo-credit-label {
    font-size: 7.7px !important;
    letter-spacing: -.02em !important;
    line-height: 1 !important;
  }
}

/* Refinamento inteligente do indicador Saldo/Créditos mobile — 20260527 */
#page-topbar .neo-credit-mobile-display,
#page-topbar .neo-credit-chevron {
  display: none !important;
}

#page-topbar .neo-credit-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#page-topbar .neo-credit-chevron {
  font-size: 9px !important;
  line-height: 1 !important;
  opacity: .72 !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 768px) {
  #page-topbar .neo-credit-dropdown,
  #page-topbar .neo-credit-dropdown.neo-credit-short,
  #page-topbar .neo-credit-dropdown.neo-credit-long,
  #page-topbar .neo-credit-dropdown.neo-credit-infinite {
    flex: 0 0 auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    width: auto !important;
    min-width: 42px !important;
    max-width: 54px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 7px !important;
    gap: 2px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    background: rgba(9, 18, 34, .84) !important;
    border: 1px solid rgba(40,216,255,.28) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 8px 20px rgba(0,0,0,.14) !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle {
    min-width: 38px !important;
    max-width: 42px !important;
    padding-left: 7px !important;
    padding-right: 6px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle {
    min-width: 48px !important;
    max-width: 54px !important;
    padding-left: 6px !important;
    padding-right: 5px !important;
  }

  #page-topbar .neo-credit-label,
  #page-topbar .neo-credit-value {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  #page-topbar .neo-credit-mobile-display {
    display: inline-block !important;
    max-width: 36px !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    color: #eaf7ff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    font-style: normal !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-mobile-display {
    max-width: 31px !important;
    font-size: 10.2px !important;
    letter-spacing: -.045em !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-infinite .neo-credit-mobile-display {
    max-width: 20px !important;
    font-size: 20px !important;
    line-height: .9 !important;
    letter-spacing: 0 !important;
  }

  #page-topbar .neo-credit-chevron {
    display: inline-block !important;
    color: rgba(234,247,255,.72) !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-infinite .neo-credit-chevron {
    font-size: 8px !important;
    margin-left: -1px !important;
  }

  #page-topbar .neo-credit-menu {
    position: fixed !important;
    top: 48px !important;
    right: 88px !important;
    left: auto !important;
    transform: none !important;
    min-width: 144px !important;
    max-width: calc(100vw - 28px) !important;
    padding: 9px 11px !important;
    border-radius: 14px !important;
    z-index: 10940 !important;
    text-align: left !important;
  }

  #page-topbar .neo-credit-dropdown.show .neo-credit-menu,
  #page-topbar .neo-credit-menu.show,
  #page-topbar .neo-credit-dropdown:focus-within .neo-credit-menu,
  #page-topbar .neo-credit-dropdown:hover .neo-credit-menu {
    display: block !important;
  }

  #page-topbar .neo-credit-menu-title {
    font-size: 10px !important;
    margin-bottom: 3px !important;
  }

  #page-topbar .neo-credit-menu-value {
    font-size: 17px !important;
    line-height: 1.12 !important;
  }
}

@media (max-width: 390px) {
  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    min-width: 40px !important;
    max-width: 50px !important;
    height: 36px !important;
    padding-left: 6px !important;
    padding-right: 5px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle {
    min-width: 46px !important;
    max-width: 50px !important;
    padding-left: 5px !important;
    padding-right: 4px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle {
    min-width: 37px !important;
    max-width: 40px !important;
  }

  #page-topbar .neo-credit-mobile-display {
    max-width: 31px !important;
    font-size: 11.4px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-mobile-display {
    max-width: 28px !important;
    font-size: 9.5px !important;
  }

  #page-topbar .neo-credit-menu {
    top: 47px !important;
    right: 82px !important;
    min-width: 140px !important;
  }
}

@media (max-width: 360px) {
  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle {
    min-width: 42px !important;
    max-width: 46px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-mobile-display {
    max-width: 24px !important;
    font-size: 8.8px !important;
  }

  #page-topbar .neo-credit-menu {
    right: 72px !important;
  }
}
/* Fim refinamento inteligente do indicador Saldo/Créditos mobile */

/* Ajuste definitivo do indicador de créditos mobile — limite visual de 4 caracteres (20260527-02)
   Regra: até 4 caracteres aparece direto; valores maiores exibem "Créd" + seta; infinito exibe ∞. */
@media (max-width: 768px) {
  #page-topbar .neo-credit-dropdown.neo-credit-short > .neo-credit-toggle,
  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle,
  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle,
  #page-topbar .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown > .btn.btn-soft-dark.neo-credit-toggle {
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 13px !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-short > .neo-credit-toggle {
    min-width: 42px !important;
    max-width: 54px !important;
    padding-left: 6px !important;
    padding-right: 5px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle {
    min-width: 48px !important;
    max-width: 50px !important;
    padding-left: 5px !important;
    padding-right: 4px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle {
    min-width: 37px !important;
    max-width: 40px !important;
    padding-left: 7px !important;
    padding-right: 5px !important;
  }

  #page-topbar .neo-credit-mobile-display {
    display: inline-block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    transform: translateY(0) !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-short .neo-credit-mobile-display {
    max-width: 34px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-mobile-display {
    max-width: 27px !important;
    font-size: 10.6px !important;
    letter-spacing: -.055em !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-infinite .neo-credit-mobile-display {
    max-width: 18px !important;
    font-size: 20px !important;
    line-height: .88 !important;
    letter-spacing: 0 !important;
  }

  #page-topbar .neo-credit-chevron {
    display: inline-block !important;
    font-size: 8px !important;
    line-height: 1 !important;
    margin-left: 0 !important;
    opacity: .74 !important;
    transform: translateY(-1px) !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-chevron {
    margin-left: -1px !important;
  }

  #page-topbar .neo-credit-menu {
    top: 44px !important;
    right: 84px !important;
    min-width: 146px !important;
    padding: 8px 11px !important;
  }
}

@media (max-width: 390px) {
  #page-topbar .neo-credit-dropdown.neo-credit-short > .neo-credit-toggle {
    min-width: 40px !important;
    max-width: 50px !important;
    padding-left: 5px !important;
    padding-right: 4px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle {
    min-width: 45px !important;
    max-width: 48px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-short .neo-credit-mobile-display {
    max-width: 31px !important;
    font-size: 11.6px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-mobile-display {
    max-width: 25px !important;
    font-size: 10px !important;
  }

  #page-topbar .neo-credit-menu {
    top: 44px !important;
    right: 78px !important;
    min-width: 140px !important;
  }
}

@media (max-width: 360px) {
  #page-topbar .neo-credit-dropdown.neo-credit-long > .neo-credit-toggle {
    min-width: 42px !important;
    max-width: 45px !important;
  }

  #page-topbar .neo-credit-dropdown.neo-credit-long .neo-credit-mobile-display {
    max-width: 23px !important;
    font-size: 9.1px !important;
  }

  #page-topbar .neo-credit-menu {
    right: 70px !important;
  }
}

/* Ajuste fino do símbolo infinito no indicador mobile — folga dedicada entre ∞ e seta (20260527-03) */
@media (max-width: 768px) {
  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle {
    min-width: 42px !important;
    max-width: 44px !important;
    padding-left: 8px !important;
    padding-right: 6px !important;
    gap: 3px !important;
    justify-content: center !important;
  }
  #page-topbar .neo-credit-dropdown.neo-credit-infinite .neo-credit-mobile-display {
    max-width: 16px !important;
    font-size: 19px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    transform: translateY(-1px) !important;
  }
  #page-topbar .neo-credit-dropdown.neo-credit-infinite .neo-credit-chevron {
    flex: 0 0 auto !important;
    margin-left: 2px !important;
    font-size: 8px !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
  }
}
@media (max-width: 390px) {
  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle {
    min-width: 42px !important;
    max-width: 44px !important;
    padding-left: 7px !important;
    padding-right: 6px !important;
    gap: 3px !important;
  }
}
@media (max-width: 360px) {
  #page-topbar .neo-credit-dropdown.neo-credit-infinite > .neo-credit-toggle {
    min-width: 40px !important;
    max-width: 42px !important;
    padding-left: 6px !important;
    padding-right: 5px !important;
    gap: 2px !important;
  }
}

/* Ajuste final do infinito mobile — seletor específico para neo-credit-short + neo-credit-infinite (20260527-04) */
@media (max-width: 768px) {
  #page-topbar .neo-credit-dropdown.neo-credit-short.neo-credit-infinite > .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown.neo-credit-short.neo-credit-infinite > button.neo-credit-toggle {
    min-width: 42px !important;
    width: 42px !important;
    max-width: 44px !important;
    padding-left: 7px !important;
    padding-right: 6px !important;
    column-gap: 3px !important;
    gap: 3px !important;
    justify-content: center !important;
  }
  #page-topbar .neo-credit-dropdown.neo-credit-short.neo-credit-infinite .neo-credit-mobile-display {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    max-width: 16px !important;
    min-width: 16px !important;
    font-size: 19px !important;
    line-height: 1 !important;
    margin: 0 !important;
    transform: translateY(-1px) !important;
  }
  #page-topbar .neo-credit-dropdown.neo-credit-short.neo-credit-infinite .neo-credit-chevron {
    flex: 0 0 8px !important;
    width: 8px !important;
    min-width: 8px !important;
    max-width: 8px !important;
    margin-left: 1px !important;
    text-align: center !important;
    font-size: 8px !important;
    line-height: 1 !important;
    transform: translateY(-1px) !important;
  }
}
@media (max-width: 360px) {
  #page-topbar .neo-credit-dropdown.neo-credit-short.neo-credit-infinite > .btn.btn-soft-dark.neo-credit-toggle,
  #page-topbar .neo-credit-dropdown.neo-credit-short.neo-credit-infinite > button.neo-credit-toggle {
    min-width: 41px !important;
    width: 41px !important;
    max-width: 43px !important;
    padding-left: 6px !important;
    padding-right: 5px !important;
    column-gap: 3px !important;
    gap: 3px !important;
  }
}


/* Ajuste final P1 — sidebar/menu estável no desktop e fluida no mobile.
   Mantém o menu aberto quando o usuário escolhe o tamanho grande e impede que hover/submenu
   provoquem recolhimento, flickering ou perda de área de clique. */
@media (min-width: 992px) {
  body[data-layout="vertical"] .vertical-menu,
  body[data-layout="vertical"] .main-sidebar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    will-change: auto !important;
    z-index: 1042 !important;
    overflow: visible !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .vertical-menu,
  body[data-layout="vertical"].neo-sidebar-locked-open .vertical-menu {
    width: 255px !important;
    min-width: 255px !important;
    max-width: 255px !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .main-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .main-content,
  body[data-layout="vertical"][data-sidebar-size="lg"] .page-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .page-content {
    margin-left: 255px !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] #page-topbar,
  body[data-layout="vertical"].neo-sidebar-locked-open #page-topbar {
    left: 255px !important;
  }

  .vertical-menu #sidebar-menu,
  .vertical-menu #sidebar-menu .metismenu,
  .vertical-menu #sidebar-menu ul,
  .vertical-menu #sidebar-menu li {
    overflow: visible !important;
  }

  #sidebar-menu .has-arrow,
  #sidebar-menu .sub-menu,
  #sidebar-menu .sub-menu a,
  #sidebar-menu .sub-menu form .nav-link {
    pointer-events: auto !important;
  }

  #sidebar-menu .sub-menu,
  #sidebar-menu .mm-collapse.mm-show,
  #sidebar-menu .collapse.show {
    position: relative !important;
    transform: none !important;
    transition: height .18s ease, opacity .18s ease !important;
    opacity: 1 !important;
    z-index: 2 !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover {
    width: 255px !important;
    min-width: 255px !important;
    max-width: 255px !important;
    box-shadow: 22px 0 60px rgba(0, 0, 0, .35) !important;
  }
}

@media (max-width: 991.98px) {
  body.sidebar-enable .vertical-menu,
  body.sidebar-enable .main-sidebar {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 1060 !important;
    max-width: min(86vw, 430px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body:not(.sidebar-enable) .vertical-menu {
    transform: translate3d(-105%, 0, 0) !important;
  }

  .vertical-menu #sidebar-menu,
  .vertical-menu .simplebar-content-wrapper {
    overscroll-behavior: contain !important;
  }
}


/* Ajuste final P2 — topbar/header alinhado e consistente em desktop, tablet e mobile. */
#page-topbar.isvertical-topbar {
  min-height: 72px !important;
  z-index: 1050 !important;
  border-bottom: 1px solid rgba(88, 214, 255, .12) !important;
  box-shadow: 0 12px 38px rgba(0, 0, 0, .20) !important;
}

#page-topbar .navbar-header {
  min-height: 72px !important;
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 18px !important;
  overflow: visible !important;
}

#page-topbar .navbar-header > .d-flex:first-child,
#page-topbar .navbar-header > .navbar-nav,
#page-topbar .navbar-header > .dropdown,
#page-topbar .neo-user-dropdown-wrap {
  height: 72px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

#page-topbar .navbar-brand-box {
  height: 72px !important;
  min-height: 72px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#page-topbar .header-item,
#page-topbar .vertical-menu-btn,
#page-topbar #themeToggle,
#page-topbar .noti-icon,
#page-topbar .neo-credit-toggle,
#page-topbar .neo-user-dropdown-wrap > .btn {
  height: 48px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 18px !important;
  margin: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

#page-topbar .vertical-menu-btn {
  width: 54px !important;
  min-width: 54px !important;
  padding: 0 !important;
  background: linear-gradient(180deg, rgba(25, 186, 224, .16), rgba(8, 20, 38, .64)) !important;
  border: 1px solid rgba(88, 214, 255, .12) !important;
  box-shadow: 0 0 22px rgba(40, 216, 255, .12) !important;
}

#page-topbar .vertical-menu-btn i,
#page-topbar .vertical-menu-btn .fa-bars {
  color: #26d8ff !important;
  font-size: 25px !important;
}

#page-topbar .neo-fast-test-button,
#page-topbar #neoFastTestButton,
#page-topbar .btn.btn-danger.btn-sm.neo-fast-test-button {
  width: 132px !important;
  min-width: 132px !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 8px 18px !important;
  border: 0 !important;
  border-radius: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff2d73 0%, #ff5c8a 44%, #ff8a3d 100%) !important;
  box-shadow: 0 12px 28px rgba(255,45,115,.30), 0 0 26px rgba(255,92,138,.22) !important;
}

#page-topbar .neo-credit-toggle {
  min-width: 74px !important;
  max-width: 128px !important;
  padding: 0 12px !important;
  gap: 5px !important;
  border: 1px solid rgba(88, 214, 255, .18) !important;
  background: rgba(4, 13, 27, .68) !important;
}

#page-topbar .noti-icon,
#page-topbar #themeToggle {
  width: 46px !important;
  min-width: 46px !important;
  padding: 0 !important;
  position: relative !important;
}

#page-topbar .neo-user-dropdown-wrap {
  margin-left: 2px !important;
  gap: 0 !important;
}

#page-topbar .neo-user-dropdown-wrap > .btn,
#page-topbar .neo-avatar-svg,
#page-topbar .header-profile-user {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
}

@media (max-width: 991.98px) {
  #page-topbar.isvertical-topbar {
    left: 0 !important;
    right: 0 !important;
    min-height: 72px !important;
  }

  #page-topbar .navbar-header {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 8px !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    overflow-x: clip !important;
  }

  #page-topbar .navbar-brand-box {
    width: 58px !important;
    min-width: 58px !important;
    padding: 0 !important;
  }

  #page-topbar .navbar-brand-box img {
    max-width: 46px !important;
    height: auto !important;
  }

  #page-topbar .vertical-menu-btn {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
  }

  #page-topbar .neo-fast-test-button,
  #page-topbar #neoFastTestButton,
  #page-topbar .btn.btn-danger.btn-sm.neo-fast-test-button {
    width: 104px !important;
    min-width: 104px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 7px 10px !important;
    border-radius: 21px !important;
    font-size: 15px !important;
  }

  #page-topbar .neo-credit-toggle {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    padding: 0 !important;
  }

  #page-topbar .neo-credit-label,
  #page-topbar .neo-credit-chevron {
    display: none !important;
  }

  #page-topbar .noti-icon,
  #page-topbar #themeToggle {
    width: 40px !important;
    min-width: 40px !important;
    height: 46px !important;
    min-height: 46px !important;
  }

  #page-topbar .neo-user-dropdown-wrap > .btn,
  #page-topbar .neo-avatar-svg,
  #page-topbar .header-profile-user {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
  }
}

@media (max-width: 420px) {
  #page-topbar .navbar-header { gap: 4px !important; padding: 0 6px !important; }
  #page-topbar .navbar-brand-box { width: 52px !important; min-width: 52px !important; }
  #page-topbar .vertical-menu-btn { width: 48px !important; min-width: 48px !important; }
  #page-topbar .neo-fast-test-button,
  #page-topbar #neoFastTestButton { width: 96px !important; min-width: 96px !important; font-size: 14px !important; }
  #page-topbar .neo-credit-toggle { width: 48px !important; min-width: 48px !important; }
  #page-topbar .noti-icon,
  #page-topbar #themeToggle { width: 36px !important; min-width: 36px !important; }
  #page-topbar .neo-user-dropdown-wrap > .btn,
  #page-topbar .neo-avatar-svg,
  #page-topbar .header-profile-user { width: 48px !important; min-width: 48px !important; height: 48px !important; }
}


/* Ajuste final P4 — switches de permissão com estado visual inequívoco.
   Corrige apenas aparência: o input original continua comandando o valor salvo. */
.custom-control.custom-switch {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding-left: 4.35rem !important;
  margin: 10px 0 16px !important;
  overflow: visible !important;
}

.custom-control.custom-switch .custom-control-input,
.custom-switch .custom-control-input,
input.custom-control-input[type="checkbox"] {
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 56px !important;
  height: 32px !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

.custom-control.custom-switch .custom-control-label {
  position: relative !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--neo-text) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  cursor: pointer !important;
  padding-top: 0 !important;
}

.custom-control.custom-switch .custom-control-label::before {
  content: "" !important;
  position: absolute !important;
  left: -4.35rem !important;
  top: 50% !important;
  width: 58px !important;
  height: 30px !important;
  transform: translateY(-50%) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(88, 214, 255, .28) !important;
  background: linear-gradient(180deg, rgba(6, 14, 28, .94), rgba(3, 10, 22, .88)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 0 14px rgba(40,216,255,.08) !important;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

.custom-control.custom-switch .custom-control-label::after {
  content: "" !important;
  position: absolute !important;
  left: calc(-4.35rem + 3px) !important;
  top: 50% !important;
  width: 24px !important;
  height: 24px !important;
  transform: translate(0, -50%) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  box-shadow: 0 3px 9px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.18) inset !important;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease !important;
}

.custom-control.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  border-color: rgba(36,240,165,.72) !important;
  background: linear-gradient(135deg, rgba(36,240,165,.96), rgba(40,216,255,.86)) !important;
  box-shadow: 0 0 18px rgba(36,240,165,.25), inset 0 0 0 1px rgba(255,255,255,.24) !important;
}

.custom-control.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translate(28px, -50%) !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.32), 0 0 12px rgba(255,255,255,.42) !important;
}

.custom-control.custom-switch .custom-control-input:focus ~ .custom-control-label::before,
.custom-control.custom-switch .custom-control-input:active ~ .custom-control-label::before {
  outline: 0 !important;
  box-shadow: 0 0 0 .15rem rgba(40,216,255,.22), 0 0 18px rgba(40,216,255,.18) !important;
}

.custom-control.custom-switch .custom-control-input:disabled ~ .custom-control-label {
  opacity: .64 !important;
  cursor: not-allowed !important;
}

@media (max-width: 768px) {
  .custom-control.custom-switch {
    min-height: 42px !important;
    padding-left: 4.2rem !important;
    margin: 12px 0 18px !important;
  }

  .custom-control.custom-switch .custom-control-input,
  .custom-switch .custom-control-input,
  input.custom-control-input[type="checkbox"] {
    width: 58px !important;
    height: 34px !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .custom-control.custom-switch .custom-control-label {
    min-height: 42px !important;
    font-size: 16px !important;
  }

  .custom-control.custom-switch .custom-control-label::before {
    left: -4.2rem !important;
    width: 58px !important;
    height: 30px !important;
  }

  .custom-control.custom-switch .custom-control-label::after {
    left: calc(-4.2rem + 3px) !important;
    width: 24px !important;
    height: 24px !important;
  }
}

body[data-layout-mode="light"] .custom-control.custom-switch .custom-control-label,
body[data-bs-theme="light"] .custom-control.custom-switch .custom-control-label,
body.light-mode .custom-control.custom-switch .custom-control-label {
  color: #102033 !important;
}

body[data-layout-mode="light"] .custom-control.custom-switch .custom-control-label::before,
body[data-bs-theme="light"] .custom-control.custom-switch .custom-control-label::before,
body.light-mode .custom-control.custom-switch .custom-control-label::before {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(231,242,250,.95)) !important;
  border-color: rgba(25,118,210,.24) !important;
}

/* === Ajuste final pós-teste visual: tabelas vazias no mobile === */
@media (max-width: 575.98px) {
  .dataTables_wrapper table.dataTable tbody td.dataTables_empty,
  .dataTables_wrapper table tbody td.dataTables_empty,
  table.dataTable tbody td.dataTables_empty {
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .dataTables_wrapper .dataTables_scroll,
  .dataTables_wrapper .dataTables_scrollBody,
  .dataTables_wrapper .table-responsive {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}


/* Refino v14: espaçamento fino entre menu e Teste Rápido em desktop/mobile (20260527-01)
   Camada visual não destrutiva: evita aparência de encostado em notebooks/monitores menores sem alterar HTML, rotas ou permissões. */
#page-topbar .navbar-header {
  column-gap: 14px !important;
  row-gap: 0 !important;
}

#page-topbar .navbar-header > .d-flex:first-child {
  gap: 10px !important;
  align-items: center !important;
}

#page-topbar .vertical-menu-btn,
#page-topbar .navbar-header .vertical-menu-btn {
  margin-left: 4px !important;
  margin-right: 10px !important;
  flex: 0 0 auto !important;
}

#neoFastTestButton.neo-fast-test-button,
#page-topbar #neoFastTestButton.neo-fast-test-button,
#page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
  margin-left: 8px !important;
  margin-right: 10px !important;
  flex: 0 0 auto !important;
}

@media (min-width: 769px) and (max-width: 1180px) {
  #page-topbar .navbar-header {
    gap: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    gap: 10px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .navbar-header .vertical-menu-btn {
    margin-right: 12px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    margin-left: 10px !important;
    min-width: 118px !important;
  }
}

@media (max-width: 768px) {
  #page-topbar .navbar-header {
    gap: 6px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    gap: 6px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .navbar-header .vertical-menu-btn {
    margin-left: 2px !important;
    margin-right: 6px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    margin-left: 6px !important;
    margin-right: 6px !important;
  }
}

@media (max-width: 420px) {
  #page-topbar .navbar-header {
    gap: 4px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    gap: 5px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .navbar-header .vertical-menu-btn {
    margin-right: 5px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    margin-left: 5px !important;
    margin-right: 4px !important;
  }
}
/* Fim refino v14 20260527-01 */

/* =====================================================================
   Refino v16 — topbar profissional mobile/desktop (20260527-16)
   Correção final não destrutiva: remove posicionamentos fixos antigos,
   alinha todos os controles no mesmo eixo e melhora créditos/avatar.
   ===================================================================== */
#page-topbar,
#page-topbar.isvertical-topbar {
  overflow: visible !important;
  z-index: 10960 !important;
}

#page-topbar .navbar-header {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 66px !important;
  height: 66px !important;
  overflow: visible !important;
  gap: 12px !important;
  padding-left: max(12px, env(safe-area-inset-left)) !important;
  padding-right: max(14px, env(safe-area-inset-right)) !important;
}

#page-topbar .navbar-header > .d-flex:first-child {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  gap: 10px !important;
  height: 100% !important;
  overflow: visible !important;
}

#page-topbar .navbar-header .d-flex.flex-wrap.gap-3.align-items-center {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  gap: 0 !important;
  min-width: 0 !important;
}

#page-topbar .vertical-menu-btn,
#page-topbar .header-item,
#page-topbar .btn.header-item,
#page-topbar .btn.btn-soft-dark,
#page-topbar .neo-credit-toggle,
#page-topbar #themeToggle,
#page-topbar .noti-icon,
#page-topbar #page-header-user-dropdown {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  vertical-align: middle !important;
}

#page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
#page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: 10972 !important;
}

#page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap) .nav-item,
#page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) .nav-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  height: 40px !important;
  overflow: visible !important;
}

#page-topbar .navbar-header > .dropdown.d-inline-block,
#page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon),
#page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 10971 !important;
}

#page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
  margin-left: 8px !important;
  margin-right: 1px !important;
}

#page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
  margin-left: 1px !important;
  margin-right: 5px !important;
}

#page-topbar .neo-credit-dropdown {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  z-index: 10990 !important;
}

#page-topbar .neo-credit-toggle {
  min-width: 76px !important;
  width: auto !important;
  max-width: 118px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 13px !important;
  gap: 6px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 1px solid rgba(40,216,255,.36) !important;
  background: linear-gradient(135deg, rgba(9,24,48,.92), rgba(19,73,104,.88), rgba(102,67,190,.78)) !important;
  color: #effcff !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#page-topbar .neo-credit-toggle::after,
#page-topbar .neo-credit-infinite .neo-credit-toggle::after,
#page-topbar .neo-credit-infinite .neo-credit-chevron {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

#page-topbar .neo-credit-label {
  display: inline-flex !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  opacity: .76 !important;
}

#page-topbar .neo-credit-mobile-display {
  display: none !important;
}

#page-topbar #creditDisplay,
#page-topbar .neo-credit-value {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 56px !important;
  min-width: 18px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  font-style: normal !important;
  color: #ffffff !important;
}

#page-topbar .neo-credit-infinite .neo-credit-toggle {
  min-width: 54px !important;
  max-width: 62px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  gap: 0 !important;
}

#page-topbar .neo-credit-infinite .neo-credit-label,
#page-topbar .neo-credit-infinite .neo-credit-mobile-display {
  display: none !important;
}

#page-topbar .neo-credit-infinite #creditDisplay,
#page-topbar .neo-credit-infinite .neo-credit-value {
  max-width: none !important;
  min-width: 24px !important;
  font-size: 24px !important;
  line-height: .9 !important;
  letter-spacing: 0 !important;
  overflow: visible !important;
}

#page-topbar .navbar-header .neo-credit-dropdown .dropdown-menu,
#page-topbar .navbar-header .neo-credit-menu,
#page-topbar .neo-credit-dropdown .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  min-width: 178px !important;
  max-width: min(230px, calc(100vw - 20px)) !important;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(40,216,255,.34) !important;
  background: linear-gradient(145deg, rgba(7,18,38,.98), rgba(15,45,70,.96)) !important;
  color: #f4fdff !important;
  box-shadow: 0 22px 56px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.06) inset !important;
  z-index: 11020 !important;
  overflow: hidden !important;
}

#page-topbar .neo-credit-menu.show,
#page-topbar .neo-credit-dropdown .dropdown-menu.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#page-topbar .neo-credit-menu-title {
  color: rgba(239,252,255,.70) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

#page-topbar .neo-credit-menu-value {
  color: #ffffff !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  margin-top: 5px !important;
  overflow-wrap: anywhere !important;
}

#page-topbar .noti-icon,
#page-topbar #themeToggle {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(40,216,255,.24) !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 20px rgba(0,0,0,.16) !important;
}

#page-topbar .noti-icon .icon-sm,
#page-topbar #themeToggle .icon-sm,
#page-topbar #themeToggle svg,
#page-topbar .noti-icon svg {
  width: 17px !important;
  height: 17px !important;
  color: rgba(232,248,255,.86) !important;
  stroke: currentColor !important;
}

#page-topbar .noti-dot {
  position: absolute !important;
  top: -4px !important;
  right: -5px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid rgba(7,18,38,.98) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

#page-topbar .neo-user-dropdown-wrap,
#page-topbar .navbar-nav.neo-user-dropdown-wrap,
#page-topbar .navbar-header > .neo-user-dropdown-wrap {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 38px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: 10982 !important;
}

#page-topbar #page-header-user-dropdown,
#page-header-user-dropdown,
#page-topbar #page-header-user-dropdown.btn.header-item.user {
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  border: 1px solid rgba(40,216,255,.46) !important;
  background: radial-gradient(circle at 34% 22%, #ffffff 0%, #79f0ff 28%, #1187bc 62%, #071a34 100%) !important;
  box-shadow: 0 0 0 3px rgba(40,216,255,.13), 0 10px 24px rgba(0,0,0,.24) !important;
}

#page-topbar #page-header-user-dropdown::before,
#page-topbar #page-header-user-dropdown::after,
#page-header-user-dropdown::before,
#page-header-user-dropdown::after {
  display: none !important;
  content: none !important;
}

#page-topbar #page-header-user-dropdown .neo-avatar-svg,
#page-topbar .neo-avatar-svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  flex: 0 0 auto !important;
}

#page-topbar #page-header-user-dropdown img,
#page-topbar #page-header-user-dropdown .rounded-circle,
#page-topbar #page-header-user-dropdown .header-profile-user {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

#page-topbar .neo-user-dropdown-wrap > .dropdown-menu,
#page-topbar .navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  min-width: 210px !important;
  border-radius: 18px !important;
  z-index: 11010 !important;
}

@media (min-width: 769px) {
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    margin-left: 10px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    margin-right: 8px !important;
  }

  #page-topbar #page-header-user-dropdown,
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
}

@media (max-width: 768px) {
  #page-topbar,
  #page-topbar.isvertical-topbar {
    min-height: 60px !important;
    height: 60px !important;
  }

  #page-topbar .navbar-header {
    min-height: 60px !important;
    height: 60px !important;
    padding-left: max(6px, env(safe-area-inset-left)) !important;
    padding-right: max(6px, env(safe-area-inset-right)) !important;
    gap: 4px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    flex: 1 1 auto !important;
    gap: 4px !important;
    max-width: none !important;
  }

  #page-topbar .navbar-brand-box,
  #page-topbar .navbar-header .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 1px 0 0 !important;
    padding: 4px !important;
    border-radius: 14px !important;
    flex: 0 0 38px !important;
  }

  #page-topbar .navbar-brand-box img,
  .vertical-menu .navbar-brand-box img {
    max-width: 31px !important;
    max-height: 31px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .navbar-header .vertical-menu-btn {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    margin: 0 2px 0 0 !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 5px 6px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    border-radius: 14px !important;
  }

  #page-topbar .navbar-header > ul.navbar-nav.ml-auto:not(.neo-user-dropdown-wrap),
  #page-topbar .navbar-header > ul.navbar-nav.ms-auto:not(.neo-user-dropdown-wrap) {
    height: 38px !important;
    margin-left: auto !important;
  }

  #page-topbar .neo-credit-toggle {
    min-width: 49px !important;
    max-width: 60px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    gap: 0 !important;
  }

  #page-topbar .neo-credit-label,
  #page-topbar .neo-credit-chevron {
    display: none !important;
  }

  #page-topbar .neo-credit-mobile-display {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 42px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    color: #ffffff !important;
  }

  #page-topbar #creditDisplay,
  #page-topbar .neo-credit-value {
    display: none !important;
  }

  #page-topbar .neo-credit-infinite .neo-credit-toggle {
    min-width: 48px !important;
    max-width: 52px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #page-topbar .neo-credit-infinite .neo-credit-mobile-display {
    display: inline-flex !important;
    max-width: none !important;
    min-width: 24px !important;
    font-size: 24px !important;
    line-height: .9 !important;
    overflow: visible !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block,
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon),
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 38px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon) {
    margin-left: 5px !important;
    margin-right: 0 !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    margin-left: 0 !important;
    margin-right: 3px !important;
  }

  #page-topbar .noti-icon,
  #page-topbar #themeToggle {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  #page-topbar .neo-user-dropdown-wrap,
  #page-topbar .navbar-nav.neo-user-dropdown-wrap,
  #page-topbar .navbar-header > .neo-user-dropdown-wrap {
    min-width: 34px !important;
    height: 38px !important;
  }

  #page-topbar #page-header-user-dropdown,
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  #page-topbar .navbar-header .neo-credit-dropdown .dropdown-menu,
  #page-topbar .navbar-header .neo-credit-menu,
  #page-topbar .neo-credit-dropdown .dropdown-menu {
    top: calc(100% + 9px) !important;
    right: -72px !important;
    min-width: 168px !important;
    max-width: calc(100vw - 14px) !important;
  }

  #page-topbar .neo-user-dropdown-wrap > .dropdown-menu,
  #page-topbar .navbar-header .neo-user-dropdown-wrap > .dropdown-menu {
    top: calc(100% + 9px) !important;
    right: 0 !important;
    min-width: 198px !important;
    max-width: calc(100vw - 14px) !important;
  }
}

@media (max-width: 380px) {
  #page-topbar .navbar-header {
    padding-left: max(4px, env(safe-area-inset-left)) !important;
    padding-right: max(4px, env(safe-area-inset-right)) !important;
    gap: 2px !important;
  }

  #page-topbar .navbar-header > .d-flex:first-child {
    gap: 2px !important;
  }

  #page-topbar .navbar-brand-box,
  #page-topbar .navbar-header .navbar-brand-box,
  .vertical-menu .navbar-brand-box {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    flex-basis: 32px !important;
    padding: 3px !important;
  }

  #page-topbar .navbar-brand-box img,
  .vertical-menu .navbar-brand-box img {
    max-width: 27px !important;
    max-height: 27px !important;
  }

  #page-topbar .vertical-menu-btn,
  #page-topbar .navbar-header .vertical-menu-btn {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    margin-right: 1px !important;
  }

  #neoFastTestButton.neo-fast-test-button,
  #page-topbar #neoFastTestButton.neo-fast-test-button,
  #page-topbar .navbar-header .btn.btn-danger.btn-sm.neo-fast-test-button {
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 11px !important;
  }

  #page-topbar .neo-credit-toggle {
    min-width: 46px !important;
    max-width: 50px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  #page-topbar .navbar-header > .dropdown.d-inline-block,
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(.noti-icon),
  #page-topbar .navbar-header > .dropdown.d-inline-block:has(#themeToggle) {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
  }

  #page-topbar .noti-icon,
  #page-topbar #themeToggle,
  #page-topbar #page-header-user-dropdown,
  #page-header-user-dropdown,
  #page-topbar #page-header-user-dropdown.btn.header-item.user {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
  }
}
/* Fim refino v16 20260527-16 */

/* =====================================================================
   Refino v17 — dropdown de créditos abaixo da topbar e fechamento limpo
   ===================================================================== */
#page-topbar .neo-credit-dropdown .dropdown-menu:not(.show),
#page-topbar .neo-credit-menu:not(.show) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (min-width: 769px) {
  #page-topbar .navbar-header .neo-credit-dropdown .dropdown-menu,
  #page-topbar .navbar-header .neo-credit-menu,
  #page-topbar .neo-credit-dropdown .dropdown-menu {
    top: calc(100% + 19px) !important;
  }
}

@media (max-width: 768px) {
  #page-topbar .navbar-header .neo-credit-dropdown .dropdown-menu,
  #page-topbar .navbar-header .neo-credit-menu,
  #page-topbar .neo-credit-dropdown .dropdown-menu {
    top: calc(100% + 13px) !important;
  }
}
/* Fim refino v17 */

/* =====================================================================
   Refino v18 — modo claro premium sem quebrar o dark
   ===================================================================== */
body[data-layout-mode="light"],
body[data-bs-theme="light"] {
  --neo-bg: #f7fbff;
  --neo-bg-soft: #eef7ff;
  --neo-surface: rgba(255,255,255,.92);
  --neo-surface-strong: rgba(255,255,255,.98);
  --neo-border: rgba(31, 143, 194, .18);
  --neo-border-hot: rgba(40, 174, 220, .26);
  --neo-text: #071523;
  --neo-muted: #43566d;
  --neo-shadow: 0 18px 44px rgba(34, 104, 148, .12);
  --neo-glow: 0 0 22px rgba(43, 205, 240, .10), 0 0 32px rgba(128, 94, 255, .055);
  background:
    radial-gradient(circle at 12% 6%, rgba(43, 205, 240, .12), transparent 32%),
    radial-gradient(circle at 90% 4%, rgba(149, 104, 255, .10), transparent 34%),
    linear-gradient(180deg, #fbfdff 0%, #eff8ff 50%, #f8fcff 100%) !important;
  color: var(--neo-text) !important;
}

html[data-bs-theme="light"],
body[data-bs-theme="light"] html,
body[data-layout-mode="light"] html {
  background: #f7fbff !important;
}

body[data-layout-mode="light"] #layout-wrapper,
body[data-layout-mode="light"] .main-content,
body[data-layout-mode="light"] .page-content,
body[data-layout-mode="light"] .content-wrapper,
body[data-bs-theme="light"] #layout-wrapper,
body[data-bs-theme="light"] .main-content,
body[data-bs-theme="light"] .page-content,
body[data-bs-theme="light"] .content-wrapper {
  background: transparent !important;
  color: #071523 !important;
}

body[data-layout-mode="light"] .page-content::before,
body[data-bs-theme="light"] .page-content::before {
  background-image:
    linear-gradient(rgba(21, 101, 148, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 101, 148, .035) 1px, transparent 1px) !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.18), transparent 70%) !important;
  opacity: .62 !important;
}

body[data-layout-mode="light"][data-neo-custom-theme="1"] #page-topbar,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .navbar-header,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .main-header,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .isvertical-topbar,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .vertical-menu,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .main-sidebar,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .sidebar,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .navbar-brand-box,
body[data-bs-theme="light"][data-neo-custom-theme="1"] #page-topbar,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .navbar-header,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .main-header,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .isvertical-topbar,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .vertical-menu,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .main-sidebar,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .sidebar,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .navbar-brand-box {
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(239,249,255,.92)) !important;
  border-color: rgba(43, 132, 255, .16) !important;
  box-shadow: 0 12px 34px rgba(28, 92, 132, .10), 0 0 22px rgba(43,205,240,.07) !important;
  color: #071523 !important;
}

body[data-layout-mode="light"] #page-topbar,
body[data-bs-theme="light"] #page-topbar {
  background: linear-gradient(180deg, rgba(251,253,255,.98), rgba(237,249,255,.94)) !important;
  border-bottom: 1px solid rgba(43, 132, 255, .14) !important;
  box-shadow: 0 10px 28px rgba(19, 76, 116, .10) !important;
}

body[data-layout-mode="light"] #page-topbar::before,
body[data-layout-mode="light"] #page-topbar::after,
body[data-bs-theme="light"] #page-topbar::before,
body[data-bs-theme="light"] #page-topbar::after {
  background: transparent !important;
  opacity: 0 !important;
}

body[data-layout-mode="light"] .navbar-header,
body[data-bs-theme="light"] .navbar-header {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid rgba(21, 101, 148, .12) !important;
  box-shadow: 0 12px 32px rgba(15, 42, 72, .10) !important;
}

body[data-layout-mode="light"] .navbar-brand-box,
body[data-bs-theme="light"] .navbar-brand-box,
body[data-layout-mode="light"] #page-topbar .navbar-brand-box,
body[data-bs-theme="light"] #page-topbar .navbar-brand-box {
  background: rgba(255,255,255,.86) !important;
  border: 1px solid rgba(43, 205, 240, .20) !important;
  box-shadow: 0 10px 26px rgba(35, 104, 150, .10) !important;
}

body[data-layout-mode="light"] .vertical-menu,
body[data-layout-mode="light"] .main-sidebar,
body[data-bs-theme="light"] .vertical-menu,
body[data-bs-theme="light"] .main-sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,249,255,.94)) !important;
  color: #24384f !important;
  border-right: 1px solid rgba(43, 132, 255, .13) !important;
  box-shadow: 18px 0 42px rgba(35, 104, 150, .07) !important;
}

body[data-layout-mode="light"] #sidebar-menu ul li a,
body[data-layout-mode="light"] .main-sidebar .nav-link,
body[data-bs-theme="light"] #sidebar-menu ul li a,
body[data-bs-theme="light"] .main-sidebar .nav-link {
  color: #34495f !important;
  text-shadow: none !important;
}

body[data-layout-mode="light"] #sidebar-menu i,
body[data-layout-mode="light"] .main-sidebar .nav-icon,
body[data-bs-theme="light"] #sidebar-menu i,
body[data-bs-theme="light"] .main-sidebar .nav-icon {
  color: #16b8de !important;
  filter: drop-shadow(0 0 6px rgba(22,184,222,.22)) !important;
}

body[data-layout-mode="light"] .card,
body[data-layout-mode="light"] .info-box,
body[data-layout-mode="light"] .small-box,
body[data-layout-mode="light"] .license-card,
body[data-layout-mode="light"] .modal-content,
body[data-layout-mode="light"] .dropdown-menu,
body[data-layout-mode="light"] .select2-dropdown,
body[data-bs-theme="light"] .card,
body[data-bs-theme="light"] .info-box,
body[data-bs-theme="light"] .small-box,
body[data-bs-theme="light"] .license-card,
body[data-bs-theme="light"] .modal-content,
body[data-bs-theme="light"] .dropdown-menu,
body[data-bs-theme="light"] .select2-dropdown {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(240,251,255,.86)) !important;
  border-color: rgba(43, 205, 240, .18) !important;
  color: #071523 !important;
  box-shadow: 0 18px 48px rgba(31,111,145,.11), inset 0 1px 0 rgba(255,255,255,.86) !important;
}

body[data-layout-mode="light"] .card:hover,
body[data-layout-mode="light"] .info-box:hover,
body[data-layout-mode="light"] .small-box:hover,
body[data-bs-theme="light"] .card:hover,
body[data-bs-theme="light"] .info-box:hover,
body[data-bs-theme="light"] .small-box:hover {
  border-color: rgba(29, 181, 220, .32) !important;
  box-shadow: 0 22px 58px rgba(31,111,145,.14), 0 0 26px rgba(43,205,240,.14) !important;
}

body[data-layout-mode="light"] .card::before,
body[data-layout-mode="light"] .info-box::before,
body[data-layout-mode="light"] .small-box::before,
body[data-layout-mode="light"] .modal-content::before,
body[data-bs-theme="light"] .card::before,
body[data-bs-theme="light"] .info-box::before,
body[data-bs-theme="light"] .small-box::before,
body[data-bs-theme="light"] .modal-content::before {
  background: linear-gradient(135deg, rgba(43,205,240,.22), rgba(49,220,169,.16), rgba(157,112,255,.18)) !important;
  opacity: .70 !important;
}

body[data-layout-mode="light"] .page-title-box,
body[data-bs-theme="light"] .page-title-box {
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,248,255,.78)) !important;
  border: 1px solid rgba(43, 132, 255, .14) !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 36px rgba(31,111,145,.09) !important;
}

body[data-layout-mode="light"] .breadcrumb,
body[data-bs-theme="light"] .breadcrumb,
body[data-layout-mode="light"] .breadcrumb-item,
body[data-bs-theme="light"] .breadcrumb-item,
body[data-layout-mode="light"] .breadcrumb-item a,
body[data-bs-theme="light"] .breadcrumb-item a {
  color: #455a70 !important;
}

body[data-layout-mode="light"] .neo-dashboard-hero,
body[data-bs-theme="light"] .neo-dashboard-hero {
  background:
    radial-gradient(circle at 92% 0%, rgba(226, 112, 255, .16), transparent 38%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(238,250,255,.88)) !important;
  border-color: rgba(43,205,240,.20) !important;
  box-shadow: 0 18px 48px rgba(31,111,145,.12), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

body[data-layout-mode="light"] .neo-dashboard-hero::after,
body[data-bs-theme="light"] .neo-dashboard-hero::after {
  background: radial-gradient(circle, rgba(218, 90, 255, .16), transparent 68%) !important;
}

body[data-layout-mode="light"] .neo-eyebrow,
body[data-bs-theme="light"] .neo-eyebrow {
  color: #08759a !important;
  text-shadow: none !important;
}

body[data-layout-mode="light"] .neo-hero-content h1,
body[data-bs-theme="light"] .neo-hero-content h1 {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: #071523 !important;
  text-shadow: none !important;
}

body[data-layout-mode="light"] .neo-hero-content p,
body[data-bs-theme="light"] .neo-hero-content p {
  color: #263a50 !important;
}

body[data-layout-mode="light"] .neo-hero-badges span,
body[data-bs-theme="light"] .neo-hero-badges span {
  color: #203247 !important;
  background: linear-gradient(135deg, rgba(255,255,255,.90), rgba(232,246,255,.78)) !important;
  border-color: rgba(43,132,255,.16) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.54), 0 8px 22px rgba(31,111,145,.08) !important;
}

body[data-layout-mode="light"] .neo-hero-badges i,
body[data-bs-theme="light"] .neo-hero-badges i {
  color: #0aa8d6 !important;
  filter: drop-shadow(0 0 5px rgba(10,168,214,.22)) !important;
}

body[data-layout-mode="light"] .table-responsive,
body[data-layout-mode="light"] .dataTables_wrapper,
body[data-layout-mode="light"] .card .table-responsive,
body[data-bs-theme="light"] .table-responsive,
body[data-bs-theme="light"] .dataTables_wrapper,
body[data-bs-theme="light"] .card .table-responsive {
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(43,205,240,.15) !important;
  box-shadow: 0 12px 34px rgba(31,111,145,.08) !important;
}

body[data-layout-mode="light"] .table thead th,
body[data-layout-mode="light"] table.dataTable thead th,
body[data-bs-theme="light"] .table thead th,
body[data-bs-theme="light"] table.dataTable thead th {
  background: linear-gradient(135deg, rgba(226,247,255,.96), rgba(213,240,255,.86)) !important;
  color: #102033 !important;
  border-bottom: 1px solid rgba(43,132,255,.18) !important;
  text-shadow: none !important;
}

body[data-layout-mode="light"] .table tbody tr,
body[data-layout-mode="light"] table.dataTable tbody tr,
body[data-bs-theme="light"] .table tbody tr,
body[data-bs-theme="light"] table.dataTable tbody tr {
  background: rgba(255,255,255,.78) !important;
  box-shadow: 0 8px 20px rgba(31,111,145,.06) !important;
}

body[data-layout-mode="light"] .table tbody td,
body[data-layout-mode="light"] table.dataTable tbody td,
body[data-bs-theme="light"] .table tbody td,
body[data-bs-theme="light"] table.dataTable tbody td {
  color: #182a3d !important;
  border-color: rgba(43,132,255,.12) !important;
}

body[data-layout-mode="light"] #page-topbar .noti-icon,
body[data-layout-mode="light"] #page-topbar #themeToggle,
body[data-bs-theme="light"] #page-topbar .noti-icon,
body[data-bs-theme="light"] #page-topbar #themeToggle {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(230,245,252,.92)) !important;
  color: #16324a !important;
  border: 1px solid rgba(29, 181, 220, .24) !important;
  box-shadow: 0 8px 20px rgba(31,111,145,.10), inset 0 1px 0 rgba(255,255,255,.90) !important;
}

body[data-layout-mode="light"] #page-topbar .noti-icon i,
body[data-layout-mode="light"] #page-topbar #themeToggle i,
body[data-layout-mode="light"] #page-topbar #themeToggle svg,
body[data-bs-theme="light"] #page-topbar .noti-icon i,
body[data-bs-theme="light"] #page-topbar #themeToggle i,
body[data-bs-theme="light"] #page-topbar #themeToggle svg {
  color: #16324a !important;
  fill: #16324a !important;
  stroke: #16324a !important;
  opacity: 1 !important;
  filter: none !important;
}

body[data-layout-mode="light"] #page-topbar .neo-credit-toggle,
body[data-bs-theme="light"] #page-topbar .neo-credit-toggle {
  background: linear-gradient(145deg, rgba(18,32,52,.92), rgba(7,17,31,.86)) !important;
  color: #ffffff !important;
  border-color: rgba(43,205,240,.26) !important;
  box-shadow: 0 9px 22px rgba(15,42,72,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body[data-layout-mode="light"] #page-topbar .neo-credit-toggle *,
body[data-bs-theme="light"] #page-topbar .neo-credit-toggle * {
  color: #ffffff !important;
  text-shadow: none !important;
}

body[data-layout-mode="light"] #page-topbar #page-header-user-dropdown,
body[data-bs-theme="light"] #page-topbar #page-header-user-dropdown {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(229,247,255,.90)) !important;
  border-color: rgba(43,205,240,.42) !important;
  box-shadow: 0 8px 20px rgba(31,111,145,.12), 0 0 0 3px rgba(43,205,240,.10) !important;
}

body[data-layout-mode="light"] .dropdown-menu,
body[data-bs-theme="light"] .dropdown-menu,
body[data-layout-mode="light"] #page-topbar .neo-credit-menu,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,249,255,.94)) !important;
  color: #102033 !important;
  border-color: rgba(43,132,255,.18) !important;
  box-shadow: 0 18px 44px rgba(31,111,145,.14) !important;
}

body[data-layout-mode="light"] .dropdown-menu .dropdown-item,
body[data-bs-theme="light"] .dropdown-menu .dropdown-item {
  color: #203247 !important;
}

body[data-layout-mode="light"] .dropdown-menu .dropdown-item:hover,
body[data-bs-theme="light"] .dropdown-menu .dropdown-item:hover {
  color: #071523 !important;
  background: linear-gradient(135deg, rgba(43,205,240,.16), rgba(49,220,169,.12)) !important;
}

body[data-layout-mode="light"] .main-footer,
body[data-layout-mode="light"] footer.main-footer,
body[data-layout-mode="light"] footer.footer,
body[data-bs-theme="light"] .main-footer,
body[data-bs-theme="light"] footer.main-footer,
body[data-bs-theme="light"] footer.footer,
body[data-layout-mode="light"][data-neo-custom-theme="1"] .main-footer,
body[data-layout-mode="light"][data-neo-custom-theme="1"] footer.main-footer,
body[data-bs-theme="light"][data-neo-custom-theme="1"] .main-footer,
body[data-bs-theme="light"][data-neo-custom-theme="1"] footer.main-footer {
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(236,248,255,.92)) !important;
  color: #2e4056 !important;
  border-top: 1px solid rgba(43,132,255,.16) !important;
  box-shadow: 0 -10px 28px rgba(31,111,145,.08) !important;
}

body[data-layout-mode="light"] .main-footer a,
body[data-layout-mode="light"] footer.main-footer a,
body[data-bs-theme="light"] .main-footer a,
body[data-bs-theme="light"] footer.main-footer a {
  color: #0b6f97 !important;
  font-weight: 800 !important;
}

body[data-layout-mode="light"] .floating-bubble,
body[data-bs-theme="light"] .floating-bubble {
  box-shadow: 0 18px 34px rgba(31,111,145,.20), 0 0 24px rgba(157,112,255,.16) !important;
}

@media (max-width: 768px) {
  body[data-layout-mode="light"] #page-topbar,
  body[data-bs-theme="light"] #page-topbar {
    background: linear-gradient(180deg, rgba(250,253,255,.98), rgba(238,249,255,.94)) !important;
  }

  body[data-layout-mode="light"] .navbar-header,
  body[data-bs-theme="light"] .navbar-header {
    background: rgba(255,255,255,.94) !important;
    border-radius: 0 !important;
  }

  body[data-layout-mode="light"] .page-title-box,
  body[data-bs-theme="light"] .page-title-box {
    margin-top: 6px !important;
  }

  body[data-layout-mode="light"] .neo-hero-badges span,
  body[data-bs-theme="light"] .neo-hero-badges span {
    width: 100% !important;
    justify-content: center !important;
  }

  body[data-layout-mode="light"] .main-footer,
  body[data-layout-mode="light"] footer.main-footer,
  body[data-bs-theme="light"] .main-footer,
  body[data-bs-theme="light"] footer.main-footer {
    min-height: 52px !important;
    padding: 12px 16px !important;
  }
}
/* Fim refino v18 */

/* =====================================================================
   Refino v19 — sino/ticket visível no modo claro
   ===================================================================== */
body[data-layout-mode="light"] #page-topbar .noti-icon,
body[data-bs-theme="light"] #page-topbar .noti-icon {
  position: relative !important;
  overflow: visible !important;
}

body[data-layout-mode="light"] #page-topbar .noti-icon > i[data-feather="bell"],
body[data-bs-theme="light"] #page-topbar .noti-icon > i[data-feather="bell"],
body[data-layout-mode="light"] #page-topbar .noti-icon > svg.feather-bell,
body[data-bs-theme="light"] #page-topbar .noti-icon > svg.feather-bell {
  display: none !important;
}

body[data-layout-mode="light"] #page-topbar .noti-icon::before,
body[data-bs-theme="light"] #page-topbar .noti-icon::before {
  content: "\f0f3" !important;
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome", Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: #16324a !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  opacity: 1 !important;
  text-shadow: none !important;
  filter: drop-shadow(0 0 5px rgba(22, 184, 222, .18)) !important;
}

body[data-layout-mode="light"] #page-topbar .noti-icon:hover::before,
body[data-bs-theme="light"] #page-topbar .noti-icon:hover::before {
  color: #08759a !important;
}
/* Fim refino v19 */


/* =====================================================================
   Refinamento visual v20 — botão de menu no modo claro
   Escopo restrito ao tema claro para melhorar o hambúrguer sem alterar o dark.
   ===================================================================== */
html[data-bs-theme="light"] body #page-topbar .vertical-menu-btn,
html[data-layout-mode="light"] body #page-topbar .vertical-menu-btn,
body[data-bs-theme="light"] #page-topbar .vertical-menu-btn,
body[data-layout-mode="light"] #page-topbar .vertical-menu-btn,
body.light-mode #page-topbar .vertical-menu-btn {
  background:
    radial-gradient(circle at 32% 20%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.72) 24%, transparent 52%),
    linear-gradient(145deg, rgba(244, 253, 255, .98), rgba(218, 246, 255, .92)) !important;
  border: 1px solid rgba(38, 192, 226, .34) !important;
  color: #0f6f8e !important;
  box-shadow:
    0 10px 24px rgba(20, 118, 156, .14),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(40,216,255,.10) !important;
  text-shadow: none !important;
  filter: none !important;
}

html[data-bs-theme="light"] body #page-topbar .vertical-menu-btn i,
html[data-layout-mode="light"] body #page-topbar .vertical-menu-btn i,
body[data-bs-theme="light"] #page-topbar .vertical-menu-btn i,
body[data-layout-mode="light"] #page-topbar .vertical-menu-btn i,
body.light-mode #page-topbar .vertical-menu-btn i,
html[data-bs-theme="light"] body #page-topbar .vertical-menu-btn .fa,
html[data-layout-mode="light"] body #page-topbar .vertical-menu-btn .fa,
body[data-bs-theme="light"] #page-topbar .vertical-menu-btn .fa,
body[data-layout-mode="light"] #page-topbar .vertical-menu-btn .fa,
body.light-mode #page-topbar .vertical-menu-btn .fa {
  color: #12aeca !important;
  opacity: 1 !important;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.80)) drop-shadow(0 0 7px rgba(40,216,255,.22)) !important;
}

html[data-bs-theme="light"] body #page-topbar .vertical-menu-btn:hover,
html[data-bs-theme="light"] body #page-topbar .vertical-menu-btn:focus,
html[data-layout-mode="light"] body #page-topbar .vertical-menu-btn:hover,
html[data-layout-mode="light"] body #page-topbar .vertical-menu-btn:focus,
body[data-bs-theme="light"] #page-topbar .vertical-menu-btn:hover,
body[data-bs-theme="light"] #page-topbar .vertical-menu-btn:focus,
body[data-layout-mode="light"] #page-topbar .vertical-menu-btn:hover,
body[data-layout-mode="light"] #page-topbar .vertical-menu-btn:focus,
body.light-mode #page-topbar .vertical-menu-btn:hover,
body.light-mode #page-topbar .vertical-menu-btn:focus {
  background:
    radial-gradient(circle at 32% 20%, rgba(255,255,255,1) 0%, rgba(255,255,255,.82) 24%, transparent 52%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(204, 242, 255, .96)) !important;
  border-color: rgba(18, 174, 202, .48) !important;
  box-shadow:
    0 12px 28px rgba(20, 118, 156, .18),
    0 0 0 3px rgba(38, 192, 226, .11),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 575.98px) {
  html[data-bs-theme="light"] body #page-topbar .vertical-menu-btn,
  html[data-layout-mode="light"] body #page-topbar .vertical-menu-btn,
  body[data-bs-theme="light"] #page-topbar .vertical-menu-btn,
  body[data-layout-mode="light"] #page-topbar .vertical-menu-btn,
  body.light-mode #page-topbar .vertical-menu-btn {
    border-radius: 16px !important;
    background:
      radial-gradient(circle at 30% 18%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.70) 26%, transparent 54%),
      linear-gradient(145deg, #f8feff 0%, #d9f5ff 100%) !important;
  }
}
/* Fim refino v20 */

/* =====================================================================
   Refino v21 — dropdown de créditos legível no modo claro
   Escopo restrito ao tema claro. Mantém o botão de crédito escuro aprovado,
   mas transforma a caixinha aberta em um card claro, legível e profissional.
   ===================================================================== */
html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show {
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,1) 0%, rgba(255,255,255,.88) 34%, transparent 62%),
    linear-gradient(145deg, rgba(255,255,255,.99) 0%, rgba(232,248,255,.97) 58%, rgba(245,252,255,.98) 100%) !important;
  color: #0b1f33 !important;
  border: 1px solid rgba(35, 188, 220, .34) !important;
  box-shadow:
    0 18px 42px rgba(18, 88, 122, .18),
    0 0 0 1px rgba(255,255,255,.88) inset,
    inset 0 1px 0 rgba(255,255,255,.98) !important;
  backdrop-filter: blur(16px) saturate(1.22) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.22) !important;
  opacity: 1 !important;
}

html[data-bs-theme="light"] body #page-topbar .neo-credit-menu .neo-credit-menu-title,
html[data-layout-mode="light"] body #page-topbar .neo-credit-menu .neo-credit-menu-title,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu .neo-credit-menu-title,
body[data-layout-mode="light"] #page-topbar .neo-credit-menu .neo-credit-menu-title,
body.light-mode #page-topbar .neo-credit-menu .neo-credit-menu-title,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-menu .neo-credit-menu-title {
  color: #0b6f97 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-bs-theme="light"] body #page-topbar .neo-credit-menu .neo-credit-menu-value,
html[data-layout-mode="light"] body #page-topbar .neo-credit-menu .neo-credit-menu-value,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu .neo-credit-menu-value,
body[data-layout-mode="light"] #page-topbar .neo-credit-menu .neo-credit-menu-value,
body.light-mode #page-topbar .neo-credit-menu .neo-credit-menu-value,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-menu .neo-credit-menu-value {
  color: #071523 !important;
  font-weight: 950 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-bs-theme="light"] body #page-topbar .neo-credit-menu::before,
html[data-layout-mode="light"] body #page-topbar .neo-credit-menu::before,
body[data-bs-theme="light"] #page-topbar .neo-credit-menu::before,
body[data-layout-mode="light"] #page-topbar .neo-credit-menu::before,
body.light-mode #page-topbar .neo-credit-menu::before,
html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-menu::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, rgba(43,205,240,.12), rgba(255,255,255,0) 48%, rgba(126,87,255,.08)) !important;
}

@media (max-width: 768px) {
  html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show {
    top: 50px !important;
    right: 92px !important;
    min-width: 150px !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
  }
}
/* Fim refino v21 */

/* Refino v22 — alinhamento horizontal do dropdown de créditos no modo claro mobile
   Corrige o deslocamento para a esquerda causado pelo right: 92px da v21.
   Mantém o visual claro aprovado e preserva o modo escuro. */
@media (max-width: 768px) {
  html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show {
    position: absolute !important;
    top: calc(100% + 13px) !important;
    right: -72px !important;
    left: auto !important;
    transform: none !important;
    min-width: 168px !important;
    max-width: calc(100vw - 14px) !important;
    margin: 0 !important;
  }
}

@media (max-width: 380px) {
  html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html[data-bs-theme="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html[data-layout-mode="light"] body #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body[data-bs-theme="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body[data-layout-mode="light"] #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  body.light-mode #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show,
  html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu,
  html:not([data-bs-theme="dark"]) body:not([data-bs-theme="dark"]):not([data-layout-mode="dark"]) #page-topbar .neo-credit-dropdown .dropdown-menu.neo-credit-menu.show {
    right: -70px !important;
    min-width: 162px !important;
  }
}
/* Fim refino v22 */

/* NEO-IPTV-BOUQUET-v23 */
/* Correção do Select2 múltiplo em Criar Testes IPTV > Personalizado.
   O Select2 usa um input[type="search"] interno para placeholder e digitação.
   As regras globais de inputs do tema estavam desenhando esse input como uma
   segunda caixa dentro da seleção múltipla. Este bloco preserva uma única caixa
   visual, mantém o select nativo acessivelmente oculto e melhora mobile/desktop. */
select.select2-hidden-accessible,
select.select2.select2-hidden-accessible,
.boquet-container select.select2-hidden-accessible,
.boquet-container select.select2[aria-hidden="true"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

.boquet-container .select2-container,
.form-group .select2-container {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

.boquet-container .select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--multiple {
  min-height: 48px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  padding: 6px 12px !important;
  border-radius: 16px !important;
  overflow: visible !important;
  background: rgba(255,255,255,.96) !important;
  color: #102033 !important;
  border: 1px solid rgba(48,204,236,.34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 8px 22px rgba(17,96,126,.08) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.boquet-container .select2-container--default.select2-container--focus .select2-selection--multiple,
.boquet-container .select2-container--default.select2-container--open .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--multiple {
  border-color: rgba(40,216,255,.72) !important;
  box-shadow: 0 0 0 3px rgba(40,216,255,.16), 0 14px 32px rgba(17,96,126,.14) !important;
}

.boquet-container .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 1.35 !important;
}

.boquet-container .select2-container--default .select2-search--inline,
.select2-container--default .select2-search--inline {
  flex: 1 1 180px !important;
  min-width: 140px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.boquet-container .select2-container--default .select2-search--inline .select2-search__field,
.select2-container--default .select2-search--inline .select2-search__field,
.boquet-container .select2-container--default .select2-selection--multiple input.select2-search__field,
.select2-container--default .select2-selection--multiple input.select2-search__field {
  width: 100% !important;
  min-width: 140px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #102033 !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: .94rem !important;
  line-height: 28px !important;
}

.boquet-container .select2-container--default .select2-search--inline .select2-search__field::placeholder,
.select2-container--default .select2-search--inline .select2-search__field::placeholder {
  color: #60758a !important;
  opacity: 1 !important;
}

.boquet-container .select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(8,145,178,.22) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(36,240,165,.18), rgba(40,216,255,.16)) !important;
  color: #102033 !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}

.boquet-container .select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  position: static !important;
  float: none !important;
  margin: 0 3px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #0f6b85 !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

[data-bs-theme="dark"] .boquet-container .select2-container--default .select2-selection--multiple,
body.dark .boquet-container .select2-container--default .select2-selection--multiple,
body[data-layout-mode="dark"] .boquet-container .select2-container--default .select2-selection--multiple,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple,
body.dark .select2-container--default .select2-selection--multiple,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--multiple {
  background: rgba(14,29,53,.96) !important;
  color: #effcff !important;
  border-color: rgba(54,222,255,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 12px 26px rgba(0,0,0,.22) !important;
}

[data-bs-theme="dark"] .boquet-container .select2-container--default .select2-search--inline .select2-search__field,
body.dark .boquet-container .select2-container--default .select2-search--inline .select2-search__field,
body[data-layout-mode="dark"] .boquet-container .select2-container--default .select2-search--inline .select2-search__field,
[data-bs-theme="dark"] .select2-container--default .select2-search--inline .select2-search__field,
body.dark .select2-container--default .select2-search--inline .select2-search__field,
body[data-layout-mode="dark"] .select2-container--default .select2-search--inline .select2-search__field {
  background: transparent !important;
  color: #effcff !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-bs-theme="dark"] .boquet-container .select2-container--default .select2-search--inline .select2-search__field::placeholder,
body.dark .boquet-container .select2-container--default .select2-search--inline .select2-search__field::placeholder,
body[data-layout-mode="dark"] .boquet-container .select2-container--default .select2-search--inline .select2-search__field::placeholder,
[data-bs-theme="dark"] .select2-container--default .select2-search--inline .select2-search__field::placeholder,
body.dark .select2-container--default .select2-search--inline .select2-search__field::placeholder,
body[data-layout-mode="dark"] .select2-container--default .select2-search--inline .select2-search__field::placeholder {
  color: #9fb9ca !important;
}

[data-bs-theme="dark"] .boquet-container .select2-container--default .select2-selection--multiple .select2-selection__choice,
body.dark .boquet-container .select2-container--default .select2-selection--multiple .select2-selection__choice,
body[data-layout-mode="dark"] .boquet-container .select2-container--default .select2-selection--multiple .select2-selection__choice,
[data-bs-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice,
body.dark .select2-container--default .select2-selection--multiple .select2-selection__choice,
body[data-layout-mode="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background: linear-gradient(135deg, rgba(36,240,165,.18), rgba(40,216,255,.18)) !important;
  color: #effcff !important;
  border-color: rgba(54,222,255,.30) !important;
}

@media (max-width: 767.98px) {
  .boquet-container .select2-container--default .select2-selection--multiple,
  .select2-container--default .select2-selection--multiple {
    min-height: 50px !important;
    padding: 8px 11px !important;
    border-radius: 15px !important;
  }

  .boquet-container .select2-container--default .select2-search--inline,
  .select2-container--default .select2-search--inline {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }

  .boquet-container .select2-container--default .select2-search--inline .select2-search__field,
  .select2-container--default .select2-search--inline .select2-search__field {
    min-width: 100% !important;
    font-size: 16px !important;
  }
}
/* /NEO-IPTV-BOUQUET-v23 */

/* NEO-DESKTOP-SIDEBAR-STABILITY-v24 */
/*
 * Estabilização desktop do layout vertical NEUTRO2.
 * Objetivo: eliminar estado híbrido da sidebar minimizada/hover, alinhar topbar,
 * conteúdo e footer, e impedir que pedaços da dashboard apareçam por baixo do menu.
 */
:root {
  --neo-sidebar-open-width: 255px;
  --neo-sidebar-rail-width: 76px;
  --neo-topbar-height: 72px;
}

@media (min-width: 992px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body[data-layout="vertical"] #layout-wrapper {
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  body[data-layout="vertical"] .vertical-menu,
  body[data-layout="vertical"] .main-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    z-index: 10970 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: width .22s ease, min-width .22s ease, max-width .22s ease, box-shadow .22s ease, background .22s ease !important;
    overflow: hidden !important;
    border-right: 1px solid rgba(88, 214, 255, .24) !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(var(--neo-topbar-rgb, 8,47,73), .36), transparent 35%),
      linear-gradient(180deg, rgba(var(--neo-sidebar-rgb, 7,17,31), .985), rgba(5, 9, 18, .975)) !important;
    box-shadow: 12px 0 38px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .vertical-menu,
  body[data-layout="vertical"].neo-sidebar-locked-open .vertical-menu,
  body[data-layout="vertical"][data-sidebar-size="lg"] .main-sidebar,
  body[data-layout="vertical"].neo-sidebar-locked-open .main-sidebar {
    width: var(--neo-sidebar-open-width) !important;
    min-width: var(--neo-sidebar-open-width) !important;
    max-width: var(--neo-sidebar-open-width) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .main-sidebar,
  body[data-layout="vertical"][data-sidebar-size="md"] .main-sidebar,
  body[data-layout="vertical"].neo-sidebar-collapsed .main-sidebar {
    width: var(--neo-sidebar-rail-width) !important;
    min-width: var(--neo-sidebar-rail-width) !important;
    max-width: var(--neo-sidebar-rail-width) !important;
    overflow: hidden !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover,
  body[data-layout="vertical"][data-sidebar-size="sm"] .main-sidebar:hover,
  body[data-layout="vertical"][data-sidebar-size="md"] .main-sidebar:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed .main-sidebar:hover {
    width: var(--neo-sidebar-open-width) !important;
    min-width: var(--neo-sidebar-open-width) !important;
    max-width: var(--neo-sidebar-open-width) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-shadow: 26px 0 68px rgba(0,0,0,.52), 0 0 34px rgba(40,216,255,.14) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .main-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .main-content,
  body[data-layout="vertical"][data-sidebar-size="lg"] .page-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .page-content {
    margin-left: var(--neo-sidebar-open-width) !important;
    width: calc(100% - var(--neo-sidebar-open-width)) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .main-content,
  body[data-layout="vertical"][data-sidebar-size="md"] .main-content,
  body[data-layout="vertical"].neo-sidebar-collapsed .main-content,
  body[data-layout="vertical"][data-sidebar-size="sm"] .page-content,
  body[data-layout="vertical"][data-sidebar-size="md"] .page-content,
  body[data-layout="vertical"].neo-sidebar-collapsed .page-content {
    margin-left: var(--neo-sidebar-rail-width) !important;
    width: calc(100% - var(--neo-sidebar-rail-width)) !important;
  }

  body[data-layout="vertical"] .main-content,
  body[data-layout="vertical"] .page-content {
    min-width: 0 !important;
    transition: margin-left .22s ease, width .22s ease !important;
  }

  body[data-layout="vertical"] #page-topbar,
  body[data-layout="vertical"] #page-topbar.isvertical-topbar {
    position: fixed !important;
    top: 0 !important;
    height: var(--neo-topbar-height) !important;
    min-height: var(--neo-topbar-height) !important;
    right: 0 !important;
    z-index: 10960 !important;
    transition: left .22s ease, width .22s ease !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] #page-topbar,
  body[data-layout="vertical"].neo-sidebar-locked-open #page-topbar {
    left: var(--neo-sidebar-open-width) !important;
    width: calc(100% - var(--neo-sidebar-open-width)) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #page-topbar,
  body[data-layout="vertical"][data-sidebar-size="md"] #page-topbar,
  body[data-layout="vertical"].neo-sidebar-collapsed #page-topbar {
    left: var(--neo-sidebar-rail-width) !important;
    width: calc(100% - var(--neo-sidebar-rail-width)) !important;
  }

  body[data-layout="vertical"] #page-topbar .navbar-header {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    overflow: visible !important;
  }

  body[data-layout="vertical"] .page-content {
    padding-top: calc(var(--neo-topbar-height) + 20px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body[data-layout="vertical"] .page-content > .container-fluid,
  body[data-layout="vertical"] .main-content .container-fluid {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body[data-layout="vertical"] footer.footer,
  body[data-layout="vertical"] .footer {
    position: fixed !important;
    bottom: 0 !important;
    right: 0 !important;
    z-index: 1030 !important;
    transition: left .22s ease, width .22s ease !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] footer.footer,
  body[data-layout="vertical"].neo-sidebar-locked-open footer.footer,
  body[data-layout="vertical"][data-sidebar-size="lg"] .footer,
  body[data-layout="vertical"].neo-sidebar-locked-open .footer {
    left: var(--neo-sidebar-open-width) !important;
    width: calc(100% - var(--neo-sidebar-open-width)) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] footer.footer,
  body[data-layout="vertical"][data-sidebar-size="md"] footer.footer,
  body[data-layout="vertical"].neo-sidebar-collapsed footer.footer,
  body[data-layout="vertical"][data-sidebar-size="sm"] .footer,
  body[data-layout="vertical"][data-sidebar-size="md"] .footer,
  body[data-layout="vertical"].neo-sidebar-collapsed .footer {
    left: var(--neo-sidebar-rail-width) !important;
    width: calc(100% - var(--neo-sidebar-rail-width)) !important;
  }

  body[data-layout="vertical"] .vertical-menu .vertical-menu-btn {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    margin: 14px auto 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    background: rgba(40,216,255,.10) !important;
    border: 1px solid rgba(88,214,255,.18) !important;
    box-shadow: inset 0 0 18px rgba(40,216,255,.06), 0 10px 24px rgba(0,0,0,.18) !important;
  }

  body[data-layout="vertical"] .vertical-menu .sidebar-menu-scroll {
    height: calc(100vh - 72px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: 92px !important;
  }

  body[data-layout="vertical"] .vertical-menu #sidebar-menu,
  body[data-layout="vertical"] .vertical-menu #side-menu,
  body[data-layout="vertical"] .vertical-menu .metismenu {
    width: 100% !important;
    overflow-x: hidden !important;
  }

  body[data-layout="vertical"] #sidebar-menu ul li a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 3px 10px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform: none !important;
  }

  body[data-layout="vertical"] #sidebar-menu ul li a:hover,
  body[data-layout="vertical"] #sidebar-menu ul li.mm-active > a {
    transform: none !important;
  }

  body[data-layout="vertical"] #sidebar-menu ul li a i,
  body[data-layout="vertical"] #sidebar-menu ul li a .nav-icon {
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    text-align: center !important;
    margin-right: 0 !important;
    font-size: 17px !important;
  }

  body[data-layout="vertical"] #sidebar-menu .menu-title {
    margin: 18px 22px 8px !important;
    padding: 0 !important;
    font-size: 11px !important;
    letter-spacing: .10em !important;
    color: rgba(186, 208, 229, .78) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu ul li a,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu ul li a,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu ul li a {
    justify-content: center !important;
    gap: 0 !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .menu-title,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .menu-item,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .badge,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .has-arrow::after {
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu ul li a,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu ul li a,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu ul li a {
    justify-content: flex-start !important;
    gap: 12px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .menu-title,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .menu-item,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .badge,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .has-arrow::after {
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    max-width: 170px !important;
    pointer-events: auto !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:not(:hover) #sidebar-menu .sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:not(:hover) #sidebar-menu .sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:not(:hover) #sidebar-menu .sub-menu {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

@media (max-width: 991.98px) {
  body[data-layout="vertical"] #page-topbar,
  body[data-layout="vertical"] .main-content,
  body[data-layout="vertical"] .page-content,
  body[data-layout="vertical"] footer.footer,
  body[data-layout="vertical"] .footer {
    left: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
}
/* /NEO-DESKTOP-SIDEBAR-STABILITY-v24 */

/* NEO-DESKTOP-SIDEBAR-FIXED-RAIL-v25 */
/*
 * Refinamento pós-v24 para desktop.
 * O menu minimizado vira um trilho fixo e estável: passar o mouse não expande
 * fisicamente a sidebar. A abertura completa fica apenas no clique do botão.
 * Também remove margem duplicada da page-content, mantendo só a main-content
 * responsável pelo deslocamento lateral.
 */
@media (min-width: 992px) {
  body[data-layout="vertical"] .main-content {
    min-width: 0 !important;
    width: auto !important;
    transition: margin-left .20s ease !important;
    overflow-x: hidden !important;
  }

  body[data-layout="vertical"] .page-content {
    margin-left: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-top: calc(var(--neo-topbar-height, 72px) + 20px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    transition: none !important;
  }

  body[data-layout="vertical"] .page-content > .container-fluid,
  body[data-layout="vertical"] .main-content .container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .main-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .main-content {
    margin-left: var(--neo-sidebar-open-width, 255px) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .main-content,
  body[data-layout="vertical"][data-sidebar-size="md"] .main-content,
  body[data-layout="vertical"].neo-sidebar-collapsed .main-content {
    margin-left: var(--neo-sidebar-rail-width, 76px) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu {
    width: var(--neo-sidebar-rail-width, 76px) !important;
    min-width: var(--neo-sidebar-rail-width, 76px) !important;
    max-width: var(--neo-sidebar-rail-width, 76px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-shadow: 10px 0 28px rgba(0,0,0,.30) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover,
  body[data-layout="vertical"][data-sidebar-size="sm"] .main-sidebar:hover,
  body[data-layout="vertical"][data-sidebar-size="md"] .main-sidebar:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed .main-sidebar:hover {
    width: var(--neo-sidebar-rail-width, 76px) !important;
    min-width: var(--neo-sidebar-rail-width, 76px) !important;
    max-width: var(--neo-sidebar-rail-width, 76px) !important;
    overflow-x: hidden !important;
    box-shadow: 10px 0 28px rgba(0,0,0,.30), 0 0 18px rgba(40,216,255,.10) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu ul li a,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu ul li a,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu ul li a,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu ul li a,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu ul li a,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu ul li a {
    justify-content: center !important;
    gap: 0 !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .menu-title,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .menu-item,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .badge,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .menu-title,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .menu-item,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .badge,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .has-arrow::after {
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu .menu-title,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu .menu-title,
  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu .menu-item,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu .menu-item,
  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu .badge,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu .badge,
  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu .has-arrow::after,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu .has-arrow::after {
    opacity: 1 !important;
    visibility: visible !important;
    width: auto !important;
    max-width: 180px !important;
    pointer-events: auto !important;
  }

  body[data-layout="vertical"] #page-topbar .navbar-header {
    min-width: 0 !important;
    gap: 12px !important;
  }

  body[data-layout="vertical"] #page-topbar .navbar-brand-box,
  body[data-layout="vertical"] .navbar-brand-box {
    flex: 0 0 auto !important;
    min-width: 52px !important;
  }
}
/* /NEO-DESKTOP-SIDEBAR-FIXED-RAIL-v25 */

/* NEO-DESKTOP-SIDEBAR-SUBMENU-LOCK-v26 */
/*
 * Refinamento final do desktop minimizado.
 * Em modo trilho, submenus do MetisMenu não devem abrir como caixas soltas
 * sobre a dashboard. O acesso completo aos submenus fica no clique para abrir
 * a sidebar. Isso evita a faixa lateral estranha percebida no hover.
 */
@media (min-width: 992px) {
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu #sidebar-menu .collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu #sidebar-menu .mm-collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .mm-collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .mm-collapse {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transform: none !important;
    pointer-events: none !important;
    position: static !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu #sidebar-menu li.mm-active > ul,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu #sidebar-menu li.mm-active > ul,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu #sidebar-menu li.mm-active > ul,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu li.mm-active > ul,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu li.mm-active > ul,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu li.mm-active > ul {
    display: none !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu #sidebar-menu a.has-arrow,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu #sidebar-menu a.has-arrow,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu #sidebar-menu a.has-arrow,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu a.has-arrow,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu a.has-arrow,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu a.has-arrow {
    pointer-events: auto !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .vertical-menu #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"].neo-sidebar-locked-open .vertical-menu #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="lg"] .vertical-menu #sidebar-menu .collapse.mm-show,
  body[data-layout="vertical"].neo-sidebar-locked-open .vertical-menu #sidebar-menu .collapse.mm-show,
  body[data-layout="vertical"][data-sidebar-size="lg"] .vertical-menu #sidebar-menu .mm-collapse.mm-show,
  body[data-layout="vertical"].neo-sidebar-locked-open .vertical-menu #sidebar-menu .mm-collapse.mm-show {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    overflow: visible !important;
  }
}
/* /NEO-DESKTOP-SIDEBAR-SUBMENU-LOCK-v26 */

/* NEO-DESKTOP-CONTENT-ALIGNMENT-v27 */
/*
 * Refinamento pós-v26 para desktop.
 * Corrige a margem duplicada detectada no estado aberto: o deslocamento lateral
 * deve existir apenas em .main-content, enquanto .page-content ocupa 100% da
 * área interna disponível. Mantém topbar/footer alinhados à sidebar.
 */
@media (min-width: 992px) {
  body[data-layout="vertical"] .main-content {
    min-width: 0 !important;
    width: auto !important;
    overflow-x: hidden !important;
    transition: margin-left .20s ease !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .main-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .main-content {
    margin-left: var(--neo-sidebar-open-width, 255px) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] .main-content,
  body[data-layout="vertical"][data-sidebar-size="md"] .main-content,
  body[data-layout="vertical"].neo-sidebar-collapsed .main-content {
    margin-left: var(--neo-sidebar-rail-width, 76px) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] .page-content,
  body[data-layout="vertical"].neo-sidebar-locked-open .page-content,
  body[data-layout="vertical"][data-sidebar-size="sm"] .page-content,
  body[data-layout="vertical"][data-sidebar-size="md"] .page-content,
  body[data-layout="vertical"].neo-sidebar-collapsed .page-content,
  body[data-layout="vertical"] .main-content > .page-content,
  body[data-layout="vertical"] .page-content {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-top: calc(var(--neo-topbar-height, 72px) + 20px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
    transition: none !important;
  }

  body[data-layout="vertical"] .page-content > .container-fluid,
  body[data-layout="vertical"] .main-content .container-fluid,
  body[data-layout="vertical"][data-sidebar-size="lg"] .page-content > .container-fluid,
  body[data-layout="vertical"][data-sidebar-size="sm"] .page-content > .container-fluid,
  body[data-layout="vertical"].neo-sidebar-collapsed .page-content > .container-fluid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] #page-topbar,
  body[data-layout="vertical"].neo-sidebar-locked-open #page-topbar,
  body[data-layout="vertical"][data-sidebar-size="lg"] footer.footer,
  body[data-layout="vertical"].neo-sidebar-locked-open footer.footer,
  body[data-layout="vertical"][data-sidebar-size="lg"] .footer,
  body[data-layout="vertical"].neo-sidebar-locked-open .footer {
    left: var(--neo-sidebar-open-width, 255px) !important;
    width: calc(100% - var(--neo-sidebar-open-width, 255px)) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #page-topbar,
  body[data-layout="vertical"][data-sidebar-size="md"] #page-topbar,
  body[data-layout="vertical"].neo-sidebar-collapsed #page-topbar,
  body[data-layout="vertical"][data-sidebar-size="sm"] footer.footer,
  body[data-layout="vertical"][data-sidebar-size="md"] footer.footer,
  body[data-layout="vertical"].neo-sidebar-collapsed footer.footer,
  body[data-layout="vertical"][data-sidebar-size="sm"] .footer,
  body[data-layout="vertical"][data-sidebar-size="md"] .footer,
  body[data-layout="vertical"].neo-sidebar-collapsed .footer {
    left: var(--neo-sidebar-rail-width, 76px) !important;
    width: calc(100% - var(--neo-sidebar-rail-width, 76px)) !important;
  }
}
/* /NEO-DESKTOP-CONTENT-ALIGNMENT-v27 */

/* NEO-DESKTOP-SIDEBAR-HOVER-ARTIFACT-LOCK-v28 */
/*
 * Refinamento pós-v27 para desktop minimizado.
 * Mantém o trilho de 76px absolutamente estável e elimina qualquer faixa,
 * caixa, pseudo-elemento ou submenu flutuante criado por hover/MetisMenu.
 * O menu completo e os submenus continuam disponíveis ao abrir a sidebar
 * pelo botão hamburger, no estado data-sidebar-size="lg".
 */
@media (min-width: 992px) {
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover {
    width: var(--neo-sidebar-rail-width, 76px) !important;
    min-width: var(--neo-sidebar-rail-width, 76px) !important;
    max-width: var(--neo-sidebar-rail-width, 76px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: none !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu {
    width: var(--neo-sidebar-rail-width, 76px) !important;
    max-width: var(--neo-sidebar-rail-width, 76px) !important;
    overflow-x: hidden !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu li,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu li,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu li,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu li,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu li,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu li {
    width: var(--neo-sidebar-rail-width, 76px) !important;
    max-width: var(--neo-sidebar-rail-width, 76px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    position: relative !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu li:hover,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu li:hover,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu li:hover,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu li.mm-active,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu li.mm-active,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu li.mm-active {
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu li::before,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu li::after,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu li::before,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu li::after,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu li::before,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu li::after,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu a::before,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu a::after,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu a::before,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu a::after,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu a::before,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu a::after {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .sub-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .collapsing,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu .mm-show,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .collapsing,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu .mm-show,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .collapsing,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .mm-collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu .mm-show,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .sub-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .collapsing,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu .mm-show,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .collapsing,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .mm-collapse,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu .mm-show,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu ul.sub-menu,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .collapsing,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .mm-collapse,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu .mm-show {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu a,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu a,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu a,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu a,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu a,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu a {
    width: var(--neo-sidebar-rail-width, 76px) !important;
    max-width: var(--neo-sidebar-rail-width, 76px) !important;
    min-width: 0 !important;
    justify-content: center !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  body[data-layout="vertical"][data-sidebar-size="sm"] #sidebar-menu a span,
  body[data-layout="vertical"][data-sidebar-size="md"] #sidebar-menu a span,
  body[data-layout="vertical"].neo-sidebar-collapsed #sidebar-menu a span,
  body[data-layout="vertical"][data-sidebar-size="sm"] .vertical-menu:hover #sidebar-menu a span,
  body[data-layout="vertical"][data-sidebar-size="md"] .vertical-menu:hover #sidebar-menu a span,
  body[data-layout="vertical"].neo-sidebar-collapsed .vertical-menu:hover #sidebar-menu a span {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-width: 0 !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu,
  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu li,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu li,
  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu a,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu a {
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body[data-layout="vertical"][data-sidebar-size="lg"] #sidebar-menu a span,
  body[data-layout="vertical"].neo-sidebar-locked-open #sidebar-menu a span {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 180px !important;
  }
}
/* /NEO-DESKTOP-SIDEBAR-HOVER-ARTIFACT-LOCK-v28 */


/* Ajuste responsivo NEUTRO2 — caixas grandes Template Mensagem Rápida (20260529) */
#template_iptv.quick-template-textarea,
#template_p2p.quick-template-textarea,
#template_hometv.quick-template-textarea,
#template_code.quick-template-textarea,
#template_exp_mesage.quick-template-textarea {
  width: 100% !important;
  min-height: 520px !important;
  height: min(66vh, 700px) !important;
  max-height: 820px !important;
  resize: vertical !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 20px 22px !important;
  font-size: 16.5px !important;
  line-height: 1.62 !important;
  letter-spacing: .01em !important;
  border-radius: 22px !important;
  border: 1px solid rgba(40,216,255,.42) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.045), 0 16px 36px rgba(0,0,0,.20) !important;
}

@media (min-width: 992px) {
  #div-iptv,
  #div-binstream,
  #div-hometv,
  #div-code,
  #div-expiration > .col-lg-6:first-child {
    flex: 0 0 68% !important;
    max-width: 68% !important;
    width: 68% !important;
  }

  #div-iptv + .callout,
  #div-binstream + .callout,
  #div-hometv + .callout,
  #div-code + .callout,
  #div-expiration > .callout {
    flex: 0 0 32% !important;
    max-width: 32% !important;
    width: 32% !important;
  }
}

@media (max-width: 991.98px) {
  #div-iptv,
  #div-binstream,
  #div-hometv,
  #div-code,
  #div-expiration > .col-lg-6:first-child,
  #div-iptv + .callout,
  #div-binstream + .callout,
  #div-hometv + .callout,
  #div-code + .callout,
  #div-expiration > .callout {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  #template_iptv.quick-template-textarea,
  #template_p2p.quick-template-textarea,
  #template_hometv.quick-template-textarea,
  #template_code.quick-template-textarea,
  #template_exp_mesage.quick-template-textarea {
    min-height: 480px !important;
    height: 62dvh !important;
    max-height: 720px !important;
    padding: 20px 18px !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 575.98px) {
  #template_iptv.quick-template-textarea,
  #template_p2p.quick-template-textarea,
  #template_hometv.quick-template-textarea,
  #template_code.quick-template-textarea,
  #template_exp_mesage.quick-template-textarea {
    min-height: 430px !important;
    height: 58dvh !important;
    max-height: 640px !important;
    padding: 18px 16px !important;
    border-radius: 20px !important;
  }
}
/* Fim ajuste responsivo NEUTRO2 — caixas grandes Template Mensagem Rápida */

/* Ajuste final NEUTRO2 — largura e altura reforçadas nos templates rápidos (mobile/desktop) 20260529-v3 */
#template_iptv.quick-template-textarea,
#template_p2p.quick-template-textarea,
#template_hometv.quick-template-textarea,
#template_code.quick-template-textarea,
#template_exp_mesage.quick-template-textarea {
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
#div-iptv .input-group,
#div-binstream .input-group,
#div-hometv .input-group,
#div-code .input-group,
#div-expiration .input-group {
  display: block !important;
  width: 100% !important;
}
@media (max-width: 575.98px) {
  #div-iptv,
  #div-binstream,
  #div-hometv,
  #div-code,
  #div-expiration > .col-lg-6:first-child {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #template_iptv.quick-template-textarea,
  #template_p2p.quick-template-textarea,
  #template_hometv.quick-template-textarea,
  #template_code.quick-template-textarea,
  #template_exp_mesage.quick-template-textarea {
    min-height: 470px !important;
    height: 62dvh !important;
    max-height: 700px !important;
    padding: 18px 16px !important;
  }
}
/* Fim ajuste final NEUTRO2 — templates rápidos 20260529-v3 */

/* Ajuste NEUTRO2 — tabelas de variáveis dos templates rápidos responsivas 20260529-v4 */
#div-iptv + .callout,
#div-binstream + .callout,
#div-hometv + .callout,
#div-code + .callout,
#div-expiration > .callout {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
#div-iptv + .callout .table,
#div-binstream + .callout .table,
#div-hometv + .callout .table,
#div-code + .callout .table,
#div-expiration > .callout .table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
#div-iptv + .callout .table th,
#div-iptv + .callout .table td,
#div-binstream + .callout .table th,
#div-binstream + .callout .table td,
#div-hometv + .callout .table th,
#div-hometv + .callout .table td,
#div-code + .callout .table th,
#div-code + .callout .table td,
#div-expiration > .callout .table th,
#div-expiration > .callout .table td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  vertical-align: middle !important;
}
#div-iptv + .callout .hover-var,
#div-binstream + .callout .hover-var,
#div-hometv + .callout .hover-var,
#div-code + .callout .hover-var,
#div-expiration > .callout .hover-var {
  display: inline-block !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
@media (max-width: 991.98px) {
  #div-iptv + .callout,
  #div-binstream + .callout,
  #div-hometv + .callout,
  #div-code + .callout,
  #div-expiration > .callout {
    margin-top: 18px !important;
    padding: 22px 18px !important;
    border-radius: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  #div-iptv + .callout h5,
  #div-binstream + .callout h5,
  #div-hometv + .callout h5,
  #div-code + .callout h5,
  #div-expiration > .callout h5 {
    font-size: 1.2rem !important;
    line-height: 1.28 !important;
    margin-bottom: 14px !important;
  }
  #div-iptv + .callout p,
  #div-binstream + .callout p,
  #div-hometv + .callout p,
  #div-code + .callout p,
  #div-expiration > .callout p {
    font-size: .98rem !important;
    line-height: 1.55 !important;
  }
  #div-iptv + .callout .table,
  #div-binstream + .callout .table,
  #div-hometv + .callout .table,
  #div-code + .callout .table,
  #div-expiration > .callout .table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse !important;
  }
  #div-iptv + .callout .table th,
  #div-iptv + .callout .table td,
  #div-binstream + .callout .table th,
  #div-binstream + .callout .table td,
  #div-hometv + .callout .table th,
  #div-hometv + .callout .table td,
  #div-code + .callout .table th,
  #div-code + .callout .table td,
  #div-expiration > .callout .table th,
  #div-expiration > .callout .table td {
    padding: 10px 8px !important;
    font-size: .88rem !important;
    line-height: 1.25 !important;
  }
  #div-iptv + .callout .table th:first-child,
  #div-iptv + .callout .table td:first-child,
  #div-binstream + .callout .table th:first-child,
  #div-binstream + .callout .table td:first-child,
  #div-hometv + .callout .table th:first-child,
  #div-hometv + .callout .table td:first-child,
  #div-code + .callout .table th:first-child,
  #div-code + .callout .table td:first-child,
  #div-expiration > .callout .table th:first-child,
  #div-expiration > .callout .table td:first-child {
    width: 48% !important;
  }
  #div-iptv + .callout .table th:nth-child(2),
  #div-iptv + .callout .table td:nth-child(2),
  #div-binstream + .callout .table th:nth-child(2),
  #div-binstream + .callout .table td:nth-child(2),
  #div-hometv + .callout .table th:nth-child(2),
  #div-hometv + .callout .table td:nth-child(2),
  #div-code + .callout .table th:nth-child(2),
  #div-code + .callout .table td:nth-child(2),
  #div-expiration > .callout .table th:nth-child(2),
  #div-expiration > .callout .table td:nth-child(2) {
    width: 52% !important;
  }
}
@media (max-width: 575.98px) {
  #div-iptv + .callout,
  #div-binstream + .callout,
  #div-hometv + .callout,
  #div-code + .callout,
  #div-expiration > .callout {
    padding: 20px 14px !important;
    border-radius: 22px !important;
  }
  #div-iptv + .callout .table th,
  #div-iptv + .callout .table td,
  #div-binstream + .callout .table th,
  #div-binstream + .callout .table td,
  #div-hometv + .callout .table th,
  #div-hometv + .callout .table td,
  #div-code + .callout .table th,
  #div-code + .callout .table td,
  #div-expiration > .callout .table th,
  #div-expiration > .callout .table td {
    padding: 9px 6px !important;
    font-size: .8rem !important;
    line-height: 1.22 !important;
  }
}
/* Fim ajuste NEUTRO2 — tabelas de variáveis dos templates rápidos responsivas 20260529-v4 */

