/*
 * VyraPlay Unified UI
 * Camada exclusivamente visual. Não altera JavaScript, PHP, APIs ou regras de negócio.
 */
:root,
html[data-theme="dark"] {
  color-scheme: dark;
  --vy-bg: #101112;
  --vy-bg-deep: #0b0c0d;
  --vy-surface: #171819;
  --vy-surface-2: #1d1f20;
  --vy-surface-3: #242627;
  --vy-border: #303234;
  --vy-border-strong: #424548;
  --vy-text: #f5f5f3;
  --vy-muted: #a1a5aa;
  --vy-muted-2: #73777d;
  --vy-gold: #f7b500;
  --vy-gold-2: #ffc93f;
  --vy-gold-rgb: 247, 181, 0;
  --vy-green: #20b864;
  --vy-green-rgb: 32, 184, 100;
  --vy-cyan: #18a9bd;
  --vy-purple: #8b5cf6;
  --vy-danger: #ef5350;
  --vy-danger-rgb: 239, 83, 80;
  --vy-radius-sm: 8px;
  --vy-radius: 12px;
  --vy-radius-lg: 16px;
  --vy-shadow: 0 14px 34px rgba(0, 0, 0, .28);
  --vy-shadow-soft: 0 8px 22px rgba(0, 0, 0, .18);

  /* Compatibilidade com variáveis já usadas pelo painel */
  --sigma-bg: var(--vy-bg) !important;
  --sigma-card: var(--vy-surface) !important;
  --sigma-card-alt: var(--vy-surface-2) !important;
  --sigma-sidebar-bg: #141516 !important;
  --sigma-header-bg: #111213 !important;
  --sigma-text: var(--vy-text) !important;
  --sigma-text-muted: var(--vy-muted) !important;
  --sigma-border: var(--vy-border) !important;
  --sigma-accent: var(--vy-gold) !important;
  --sigma-accent-hover: var(--vy-gold-2) !important;
  --sigma-accent-rgb: var(--vy-gold-rgb) !important;
  --sigma-active-bg: rgba(var(--vy-gold-rgb), .12) !important;
  --futuristic-bg: var(--vy-bg) !important;
  --futuristic-card-bg: var(--vy-surface) !important;
  --futuristic-sidebar-bg: #141516 !important;
  --bs-body-bg: var(--vy-bg) !important;
  --bs-body-color: var(--vy-text) !important;
  --bs-border-color: var(--vy-border) !important;
  --bs-primary: var(--vy-gold) !important;
  --bs-primary-rgb: var(--vy-gold-rgb) !important;
}

* { box-sizing: border-box; }
html { background: var(--vy-bg-deep) !important; }
html, body {
  min-height: 100%;
  background: var(--vy-bg) !important;
  color: var(--vy-text) !important;
  accent-color: var(--vy-gold);
}
body {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  letter-spacing: -.012em;
  background-image:
    radial-gradient(900px 480px at 92% -12%, rgba(var(--vy-gold-rgb), .075), transparent 62%),
    radial-gradient(720px 420px at -8% 108%, rgba(var(--vy-green-rgb), .035), transparent 66%),
    linear-gradient(180deg, #121314 0%, #0e0f10 100%) !important;
  background-attachment: fixed !important;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 36px 36px;
}

::selection { background: rgba(var(--vy-gold-rgb), .28); color: #fff; }

/* Estrutura principal */
main,
.main-content,
.content-wrapper,
.page-wrapper,
.page-content,
.content-area,
.sigma-content,
#content,
#main-content {
  background: transparent !important;
  color: var(--vy-text) !important;
}
.container,
.container-fluid {
  color: var(--vy-text);
}

/* Cabeçalho */
.main-header,
header.fixed-top,
header.navbar,
.navbar.fixed-top,
.topbar,
.top-bar,
.sigma-topbar,
.header-main {
  background: rgba(17, 18, 19, .96) !important;
  border-bottom: 1px solid var(--vy-border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.main-header::after,
header.fixed-top::after,
.sigma-topbar::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(var(--vy-gold-rgb), .38), transparent);
}
.navbar-brand,
.navbar-brand span {
  color: var(--vy-text) !important;
}
.navbar-brand > span:first-child,
.navbar-brand .brand-accent {
  color: var(--vy-gold) !important;
}
.hdr-icon-btn,
.menu-toggle-btn,
.sigma-notif-btn,
.header-action,
.header-icon-btn {
  background: var(--vy-surface-2) !important;
  color: var(--vy-muted) !important;
  border: 1px solid var(--vy-border) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.hdr-icon-btn:hover,
.menu-toggle-btn:hover,
.sigma-notif-btn:hover,
.header-action:hover,
.header-icon-btn:hover {
  color: var(--vy-gold) !important;
  border-color: rgba(var(--vy-gold-rgb), .46) !important;
  background: #24231f !important;
}
.hdr-action-teste,
.hdr-action-btn,
.btn-test,
.test-button {
  background: linear-gradient(135deg, var(--vy-gold), var(--vy-gold-2)) !important;
  border: 1px solid var(--vy-gold-2) !important;
  color: #17130a !important;
  box-shadow: 0 7px 20px rgba(var(--vy-gold-rgb), .18) !important;
}

/* Menu lateral */
.navigation-sidebar,
.sidebar,
.sigma-sidebar,
.left-sidebar,
.main-sidebar,
.offcanvas.sidebar-menu {
  background: #141516 !important;
  border-right: 1px solid var(--vy-border) !important;
  box-shadow: 8px 0 28px rgba(0,0,0,.14) !important;
}
.sidebar-profile {
  background: #161718 !important;
  border-bottom: 1px solid var(--vy-border) !important;
}
.nav-section-label,
.sidebar-section-title,
.menu-section-title,
.nav-section-title,
.sigma-section-title {
  color: #72767b !important;
  font-size: .66rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
}
.navigation-sidebar .nav-link,
.sidebar .nav-link,
.sigma-sidebar .nav-link,
.menu-item,
.submenu-item,
.navigation-sidebar a {
  color: var(--vy-muted) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease !important;
}
.navigation-sidebar .nav-link:hover,
.sidebar .nav-link:hover,
.sigma-sidebar .nav-link:hover,
.menu-item:hover,
.submenu-item:hover,
.navigation-sidebar a:hover {
  color: #fff !important;
  background: #202223 !important;
  border-color: #2a2c2e !important;
}
.navigation-sidebar .nav-link.active,
.navigation-sidebar .nav-item.active > .nav-link,
.navigation-sidebar .nav-item .nav-link.active,
.sidebar .nav-link.active,
.sidebar .active > .nav-link,
.sigma-sidebar .nav-link.active,
.menu-item.active,
.submenu-item.active {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(var(--vy-gold-rgb), .16), rgba(var(--vy-gold-rgb), .055)) !important;
  border-color: rgba(var(--vy-gold-rgb), .24) !important;
  box-shadow: inset 3px 0 0 var(--vy-gold) !important;
}
.navigation-sidebar .nav-link.active .icon,
.navigation-sidebar .nav-link.active i,
.navigation-sidebar .nav-item.active > .nav-link i,
.sidebar .nav-link.active i,
.sidebar .active > .nav-link i,
.submenu-item.active i {
  color: var(--vy-gold) !important;
}
.submenu {
  border-left-color: #2b2d2f !important;
}

/* Títulos, cabeçalhos de página e divisores */
h1, h2, h3, h4, h5, h6,
.page-title,
.section-title,
.card-title,
.modal-title,
.panel-title {
  color: var(--vy-text) !important;
  letter-spacing: -.027em;
}
p,
.text-muted,
.small,
.help-text,
.form-text,
.subtitle,
.page-subtitle {
  color: var(--vy-muted) !important;
}
hr,
.divider,
.section-divider,
.page-header,
.content-header,
.section-header {
  border-color: var(--vy-border) !important;
}

/* Superfícies, cards e painéis */
.card,
.panel,
.box,
.sigma-card,
.dashboard-card,
.stat-card,
.metric-card,
.info-card,
.content-card,
.panel-card,
.summary-card,
.vendas-summary-card,
.dc-card,
.widget,
.widget-card,
.tile,
[class$="-card"],
[class*="-card "] {
  background: linear-gradient(180deg, var(--vy-surface-2), var(--vy-surface)) !important;
  color: var(--vy-text) !important;
  border: 1px solid var(--vy-border) !important;
  border-radius: var(--vy-radius) !important;
  box-shadow: var(--vy-shadow-soft) !important;
}
.card-header,
.card-footer,
.panel-heading,
.panel-footer,
.box-header,
.box-footer,
.widget-header,
.section-card-header {
  color: var(--vy-text) !important;
  background: rgba(255,255,255,.012) !important;
  border-color: var(--vy-border) !important;
}
.card:hover,
.panel:hover,
.sigma-card:hover,
.dashboard-card:hover,
.stat-card:hover,
.metric-card:hover,
.info-card:hover,
.content-card:hover,
.widget-card:hover {
  border-color: var(--vy-border-strong) !important;
  box-shadow: var(--vy-shadow) !important;
}

/* Destaques de dashboard */
.stat-value,
.metric-value,
.summary-value,
.dashboard-number,
.kpi-value,
.counter-value,
.total-number {
  color: var(--vy-text) !important;
  font-weight: 850 !important;
  letter-spacing: -.045em !important;
}
.stat-card:nth-child(5n+1) .stat-value,
.metric-card:nth-child(5n+1) .metric-value { color: var(--vy-gold) !important; }
.stat-card:nth-child(5n+2) .stat-value,
.metric-card:nth-child(5n+2) .metric-value { color: var(--vy-green) !important; }
.stat-card:nth-child(5n+3) .stat-value,
.metric-card:nth-child(5n+3) .metric-value { color: #e4b91c !important; }
.stat-card:nth-child(5n+4) .stat-value,
.metric-card:nth-child(5n+4) .metric-value { color: var(--vy-cyan) !important; }
.stat-card:nth-child(5n+5) .stat-value,
.metric-card:nth-child(5n+5) .metric-value { color: var(--vy-purple) !important; }

/* Botões */
.btn,
button:not(.swal2-close):not(.btn-close):not(.navbar-toggler),
input[type="button"],
input[type="submit"] {
  border-radius: var(--vy-radius-sm) !important;
  font-weight: 750 !important;
  letter-spacing: -.01em;
  box-shadow: none !important;
  transition: filter .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}
.btn:hover,
button:not(.swal2-close):not(.btn-close):hover {
  transform: translateY(-1px);
}
.btn-primary,
.btn-warning,
.btn-success,
.action-primary,
.sigma-btn-primary,
.primary-action,
button.btn-primary,
input.btn-primary[type="submit"] {
  color: #17130a !important;
  background: linear-gradient(135deg, var(--vy-gold), var(--vy-gold-2)) !important;
  border-color: var(--vy-gold-2) !important;
  box-shadow: 0 8px 20px rgba(var(--vy-gold-rgb), .15) !important;
}
.btn-primary:hover,
.btn-warning:hover,
.btn-success:hover,
.action-primary:hover,
.sigma-btn-primary:hover,
.primary-action:hover {
  color: #0f0d08 !important;
  filter: brightness(1.06) !important;
}
.btn-secondary,
.btn-dark,
.btn-light,
.action-secondary {
  color: #ececeb !important;
  background: var(--vy-surface-3) !important;
  border-color: var(--vy-border-strong) !important;
}
.btn-outline-primary,
.btn-outline-warning,
.btn-outline-success {
  color: var(--vy-gold) !important;
  background: rgba(var(--vy-gold-rgb), .06) !important;
  border-color: rgba(var(--vy-gold-rgb), .35) !important;
}
.btn-outline-primary:hover,
.btn-outline-warning:hover,
.btn-outline-success:hover {
  color: #151108 !important;
  background: var(--vy-gold) !important;
  border-color: var(--vy-gold) !important;
}
.btn-danger,
.btn-outline-danger:hover,
.action-danger {
  color: #fff !important;
  background: #b73535 !important;
  border-color: #d14a47 !important;
}
.btn-outline-danger {
  color: #ff7773 !important;
  background: rgba(var(--vy-danger-rgb), .06) !important;
  border-color: rgba(var(--vy-danger-rgb), .34) !important;
}
.btn-link { color: var(--vy-gold) !important; }
.btn-close { filter: invert(1) grayscale(1); opacity: .65; }

/* Campos e controles */
.form-control,
.form-select,
.input-group-text,
textarea,
select,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.dataTables_filter input,
.dt-search input,
.select2-selection,
.choices__inner {
  color: var(--vy-text) !important;
  background: #151617 !important;
  border: 1px solid #393c3e !important;
  border-radius: var(--vy-radius-sm) !important;
  box-shadow: none !important;
}
.input-group-text {
  color: var(--vy-gold) !important;
  background: #1c1d1e !important;
}
.form-control:focus,
.form-select:focus,
textarea:focus,
select:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
.select2-container--focus .select2-selection {
  color: #fff !important;
  background: #171819 !important;
  border-color: var(--vy-gold) !important;
  box-shadow: 0 0 0 3px rgba(var(--vy-gold-rgb), .12) !important;
  outline: none !important;
}
.form-control::placeholder,
textarea::placeholder,
input::placeholder { color: #74787d !important; opacity: 1; }
.form-label,
label,
.field-label { color: #d3d5d7 !important; font-weight: 650; }
.form-check-input {
  background-color: #171819 !important;
  border-color: #55595d !important;
}
.form-check-input:checked,
.form-switch .form-check-input:checked {
  background-color: var(--vy-gold) !important;
  border-color: var(--vy-gold) !important;
}
.form-range::-webkit-slider-thumb { background: var(--vy-gold) !important; }
.form-range::-moz-range-thumb { background: var(--vy-gold) !important; }
option { background: #171819; color: #fff; }

/* Tabelas e DataTables */
.table-responsive,
.dt-layout-table,
.dataTables_scroll {
  border: 1px solid var(--vy-border) !important;
  border-radius: var(--vy-radius) !important;
  overflow: auto;
  background: var(--vy-surface) !important;
}
.table,
.dataTable,
table {
  --bs-table-bg: transparent !important;
  --bs-table-color: var(--vy-text) !important;
  --bs-table-border-color: var(--vy-border) !important;
  color: var(--vy-text) !important;
  background: transparent !important;
}
.table thead th,
.dataTable thead th,
table thead th {
  color: #b6b9bd !important;
  background: #202223 !important;
  border-color: var(--vy-border) !important;
  text-transform: uppercase;
  font-size: .69rem;
  letter-spacing: .055em;
  font-weight: 800;
}
.table tbody tr,
.dataTable tbody tr,
table tbody tr { background: transparent !important; }
.table tbody tr:nth-child(even),
.dataTable tbody tr:nth-child(even) { background: rgba(255,255,255,.012) !important; }
.table tbody tr:hover,
.dataTable tbody tr:hover,
table tbody tr:hover { background: #212324 !important; }
.table td,
.table th,
.dataTable td,
.dataTable th,
table td,
table th {
  color: inherit !important;
  border-color: #292b2d !important;
  vertical-align: middle !important;
}
.dataTables_wrapper,
.dt-container,
.dt-info,
.dataTables_info,
.dataTables_length,
.dt-length { color: var(--vy-muted) !important; }
.page-link,
.dt-paging-button,
.dataTables_paginate .paginate_button {
  color: #c0c3c6 !important;
  background: #1b1c1d !important;
  border-color: #393b3e !important;
  border-radius: 7px !important;
}
.page-item.active .page-link,
.dt-paging-button.current,
.dataTables_paginate .paginate_button.current {
  color: #151108 !important;
  background: var(--vy-gold) !important;
  border-color: var(--vy-gold) !important;
}

/* Navegação secundária, abas e filtros */
.nav-tabs,
.nav-pills,
.tabs,
.filter-tabs { border-color: var(--vy-border) !important; }
.nav-tabs .nav-link,
.nav-pills .nav-link,
.tab-button,
.filter-tab {
  color: var(--vy-muted) !important;
  background: #191a1b !important;
  border: 1px solid var(--vy-border) !important;
  border-radius: 8px !important;
}
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active,
.tab-button.active,
.filter-tab.active {
  color: #17130a !important;
  background: var(--vy-gold) !important;
  border-color: var(--vy-gold) !important;
}

/* Badges, status e chips */
.badge,
.status-badge,
.chip,
.tag,
.pill,
.label {
  border-radius: 999px !important;
  font-weight: 750 !important;
  border: 1px solid rgba(255,255,255,.08);
}
.badge.bg-primary,
.badge.bg-warning,
.badge.bg-success,
.status-active,
.status-online {
  color: #151108 !important;
  background: var(--vy-gold) !important;
}
.badge.bg-danger,
.status-expired,
.status-offline { color: #ff8581 !important; background: rgba(var(--vy-danger-rgb), .12) !important; border-color: rgba(var(--vy-danger-rgb), .25) !important; }
.badge.bg-info { color: #7ee8f4 !important; background: rgba(24,169,189,.12) !important; border-color: rgba(24,169,189,.24) !important; }

/* Alertas, mensagens e progresso */
.alert,
.notice,
.notification,
.info-box {
  color: #e2e3e4 !important;
  background: #1d1f20 !important;
  border: 1px solid #393c3e !important;
  border-radius: 10px !important;
}
.alert-info,
.alert-warning { border-left: 3px solid var(--vy-gold) !important; }
.alert-success { border-left: 3px solid var(--vy-green) !important; }
.alert-danger { border-left: 3px solid var(--vy-danger) !important; }
.progress {
  background: #292b2c !important;
  border-radius: 999px !important;
  overflow: hidden;
}
.progress-bar {
  color: #17130a !important;
  background: linear-gradient(90deg, var(--vy-gold), var(--vy-gold-2)) !important;
}

/* Modais, dropdowns e SweetAlert */
.modal-backdrop.show { opacity: .76 !important; backdrop-filter: blur(4px); }
.modal-content,
.dropdown-menu,
.popover,
.offcanvas,
.accordion-item,
.list-group-item,
.swal2-popup {
  color: var(--vy-text) !important;
  background: linear-gradient(180deg, #1d1f20, #161718) !important;
  border: 1px solid var(--vy-border-strong) !important;
  border-radius: var(--vy-radius-lg) !important;
  box-shadow: 0 26px 75px rgba(0,0,0,.48) !important;
}
.modal-header,
.modal-footer,
.dropdown-divider,
.accordion-header,
.list-group-item { border-color: var(--vy-border) !important; }
.dropdown-item,
.dropdown-menu a { color: var(--vy-muted) !important; border-radius: 7px; }
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active { color: #fff !important; background: #262829 !important; }
.accordion-button {
  color: var(--vy-text) !important;
  background: var(--vy-surface-2) !important;
  box-shadow: none !important;
}
.accordion-button:not(.collapsed) { color: var(--vy-gold) !important; }
.swal2-title { color: var(--vy-text) !important; }
.swal2-html-container { color: var(--vy-muted) !important; }
.swal2-confirm { color: #17130a !important; background: var(--vy-gold) !important; }
.swal2-cancel { color: #eee !important; background: #303234 !important; }

/* Links e utilidades de cor */
a { color: var(--vy-gold); }
a:hover { color: var(--vy-gold-2); }
.text-primary,
.text-warning { color: var(--vy-gold) !important; }
.text-success { color: var(--vy-green) !important; }
.text-danger { color: #ff7773 !important; }
.text-info { color: #69dbe8 !important; }
.bg-primary,
.bg-warning { background-color: var(--vy-gold) !important; }
.border-primary,
.border-warning { border-color: var(--vy-gold) !important; }

/* Elementos específicos comuns do painel */
.sigma-notif-panel,
.ref-modal,
.ref-panel,
.ass-sidebar-widget,
.category-order-panel,
.order-panel,
.sync-panel,
.support-panel,
.ticket-panel,
.source-panel {
  background: linear-gradient(180deg, var(--vy-surface-2), var(--vy-surface)) !important;
  border-color: var(--vy-border) !important;
  box-shadow: var(--vy-shadow) !important;
}
.sigma-notif-dot { background: var(--vy-gold) !important; }
.online-num,
.sp-credits i,
.ass-sw-icon,
.icon-accent { color: var(--vy-gold) !important; }

/* Login e páginas públicas */
.login-shell,
.login-page,
.auth-page,
.public-page {
  color: var(--vy-text) !important;
}
.login-shell .wrap,
.auth-card,
.login-card,
.register-card,
.recovery-card {
  background: linear-gradient(180deg, rgba(28,29,30,.985), rgba(18,19,20,.985)) !important;
  border: 1px solid var(--vy-border-strong) !important;
  border-radius: 16px !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.login-shell .btn-login,
.auth-card .btn-primary,
.login-card .btn-primary {
  color: #17130a !important;
  background: linear-gradient(135deg, var(--vy-gold), var(--vy-gold-2)) !important;
}
.login-shell .security-note { background: rgba(255,255,255,.018) !important; border-color: var(--vy-border) !important; }
.login-shell .security-note i { color: var(--vy-green) !important; }

/* Catálogo, lojas e páginas de cliente */
.catalog-header,
.store-header,
.client-header,
.public-header,
.hero-card,
.catalog-card,
.product-card,
.movie-card,
.app-card,
.plan-card,
.client-card,
.renew-card {
  background: linear-gradient(180deg, var(--vy-surface-2), var(--vy-surface)) !important;
  border: 1px solid var(--vy-border) !important;
  color: var(--vy-text) !important;
  border-radius: var(--vy-radius) !important;
  box-shadow: var(--vy-shadow-soft) !important;
}
.catalog-card img,
.product-card img,
.movie-card img,
.app-card img {
  border-color: var(--vy-border) !important;
}

/* Rodapé */
footer,
.footer,
.page-footer,
.main-footer {
  color: var(--vy-muted-2) !important;
  border-color: var(--vy-border) !important;
  background: transparent !important;
}

/* Scrollbar */
* { scrollbar-width: thin; scrollbar-color: #56595d #171819; }
*::-webkit-scrollbar { width: 9px; height: 9px; }
*::-webkit-scrollbar-track { background: #171819; }
*::-webkit-scrollbar-thumb { background: #4a4d50; border: 2px solid #171819; border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: #666a6e; }

/* Responsividade */
img, svg, video, canvas { max-width: 100%; }
.table-responsive { -webkit-overflow-scrolling: touch; }
@media (max-width: 1199.98px) {
  .container-fluid { --bs-gutter-x: 1.2rem; }
  .card, .panel, .sigma-card { border-radius: 11px !important; }
}
@media (max-width: 991.98px) {
  main,
  .main-content,
  .content-wrapper,
  .page-content { padding-left: 12px !important; padding-right: 12px !important; }
  .navigation-sidebar,
  .sidebar { box-shadow: 18px 0 50px rgba(0,0,0,.44) !important; }
  .table-responsive { width: 100%; overflow-x: auto !important; }
  .modal-dialog { margin: .75rem !important; }
  .modal-content { max-height: calc(100dvh - 1.5rem); }
  .modal-body { overflow: auto; }
}
@media (max-width: 767.98px) {
  .container,
  .container-fluid { --bs-gutter-x: .95rem; }
  .page-header,
  .content-header,
  .section-header { gap: 10px; flex-wrap: wrap; }
  .btn { min-height: 40px; }
  .card-body,
  .panel-body { padding: 14px !important; }
  .table td,
  .table th,
  .dataTable td,
  .dataTable th { white-space: nowrap; }
}
@media (max-width: 575.98px) {
  body { background-image: linear-gradient(180deg, #111213 0%, #0d0e0f 100%) !important; }
  .container,
  .container-fluid { --bs-gutter-x: .8rem; }
  .card,
  .panel,
  .sigma-card,
  .modal-content { border-radius: 10px !important; }
  .modal-dialog { margin: .5rem !important; }
  .modal-content { max-height: calc(100dvh - 1rem); }
  .dropdown-menu { max-width: calc(100vw - 20px); }
  .btn-group { max-width: 100%; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* ========================================================================== 
   VyraPlay Professional UI v2
   Correção exclusivamente visual: consolida a identidade grafite + dourado
   em todas as telas que já carregam este arquivo, inclusive o catálogo.
   ========================================================================== */

:root,
html[data-theme="dark"] {
  color-scheme: dark !important;

  /* Variáveis usadas nas páginas públicas antigas */
  --bg: #0d0e0f !important;
  --surface: #171819 !important;
  --surface-2: #1d1f20 !important;
  --text: #f6f6f3 !important;
  --muted: #9ca0a5 !important;
  --line: rgba(255,255,255,.105) !important;
  --green: #f7b500 !important;
  --green-2: #d99500 !important;
  --green-rgb: 247,181,0 !important;
  --shadow: 0 18px 46px rgba(0,0,0,.34) !important;
  --danger: #ef5b5b !important;

  /* Aliases frequentes em páginas independentes */
  --primary: #f7b500 !important;
  --primary-hover: #ffc83d !important;
  --accent: #f7b500 !important;
  --accent-rgb: 247,181,0 !important;
  --card-bg: #171819 !important;
  --input-bg: #141516 !important;
  --border-color: #343638 !important;
}


body.vyraplay-unified-ui {
  background:
    radial-gradient(900px 520px at 8% -12%, rgba(247,181,0,.10), transparent 64%),
    radial-gradient(760px 440px at 96% 110%, rgba(247,181,0,.055), transparent 68%),
    linear-gradient(180deg,#111213 0%,#0b0c0d 100%) !important;
}

/* Neutraliza resíduos cromáticos da identidade anterior sem afetar estados */
.vyraplay-unified-ui .bg-gradient-primary,
.vyraplay-unified-ui .gradient-primary,
.vyraplay-unified-ui .accent-gradient,
.vyraplay-unified-ui .primary-gradient {
  background: linear-gradient(135deg,var(--vy-gold),var(--vy-gold-2)) !important;
  color: #17130a !important;
}

.vyraplay-unified-ui .page-header-icon,
.vyraplay-unified-ui .section-icon,
.vyraplay-unified-ui .title-icon,
.vyraplay-unified-ui .card-icon,
.vyraplay-unified-ui .metric-icon,
.vyraplay-unified-ui .stat-icon,
.vyraplay-unified-ui .feature-icon,
.vyraplay-unified-ui .icon-box {
  color: var(--vy-gold) !important;
  background: rgba(var(--vy-gold-rgb),.10) !important;
  border-color: rgba(var(--vy-gold-rgb),.22) !important;
  box-shadow: none !important;
}

.vyraplay-unified-ui .page-title::before,
.vyraplay-unified-ui .section-title::before,
.vyraplay-unified-ui .card-title::before {
  background: var(--vy-gold) !important;
}

/* Barra superior, menu e conteúdo: um único padrão visual */
.vyraplay-unified-ui .main-header,
.vyraplay-unified-ui .navigation-sidebar,
.vyraplay-unified-ui .page-content {
  transition: none !important;
}

.vyraplay-unified-ui .main-header {
  min-height: 58px !important;
  background: rgba(16,17,18,.985) !important;
}

.vyraplay-unified-ui .navigation-sidebar {
  background: #131415 !important;
}

.vyraplay-unified-ui .page-content {
  background: transparent !important;
}

.vyraplay-unified-ui .navigation-sidebar .nav-link,
.vyraplay-unified-ui .navigation-sidebar a {
  font-weight: 650 !important;
}

.vyraplay-unified-ui .navigation-sidebar .nav-link.active,
.vyraplay-unified-ui .navigation-sidebar .nav-item.active > .nav-link,
.vyraplay-unified-ui .navigation-sidebar .submenu .active,
.vyraplay-unified-ui .navigation-sidebar a.active {
  color: #fff !important;
  background: linear-gradient(90deg,rgba(247,181,0,.16),rgba(247,181,0,.045)) !important;
  border-color: rgba(247,181,0,.26) !important;
  box-shadow: inset 3px 0 0 #f7b500 !important;
}

/* Superfícies uniformes: remove mistura de verde, vermelho ou azul nos cards */
.vyraplay-unified-ui .card,
.vyraplay-unified-ui .panel,
.vyraplay-unified-ui .box,
.vyraplay-unified-ui .widget,
.vyraplay-unified-ui .content-box,
.vyraplay-unified-ui .content-panel,
.vyraplay-unified-ui .dashboard-section,
.vyraplay-unified-ui .table-card,
.vyraplay-unified-ui .form-card,
.vyraplay-unified-ui .settings-card,
.vyraplay-unified-ui .summary-card,
.vyraplay-unified-ui .filter-card,
.vyraplay-unified-ui .list-card {
  background: linear-gradient(180deg,#1c1d1e 0%,#161718 100%) !important;
  border: 1px solid #303235 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.22) !important;
}

.vyraplay-unified-ui .card-header,
.vyraplay-unified-ui .panel-heading,
.vyraplay-unified-ui .box-header,
.vyraplay-unified-ui .widget-header,
.vyraplay-unified-ui .modal-header,
.vyraplay-unified-ui .modal-footer {
  background: rgba(255,255,255,.012) !important;
  border-color: #303235 !important;
}

/* Botões: dourado para ações principais, grafite para secundárias */
.vyraplay-unified-ui .btn-primary,
.vyraplay-unified-ui .btn-warning,
.vyraplay-unified-ui .action-primary,
.vyraplay-unified-ui .primary-action,
.vyraplay-unified-ui .save-btn,
.vyraplay-unified-ui .submit-btn,
.vyraplay-unified-ui .filter-btn,
.vyraplay-unified-ui button[type="submit"]:not(.btn-danger):not(.swal2-confirm) {
  background: linear-gradient(135deg,#f7b500,#ffc83d) !important;
  border-color: #ffc83d !important;
  color: #181308 !important;
  box-shadow: 0 8px 20px rgba(247,181,0,.16) !important;
}

.vyraplay-unified-ui .btn-secondary,
.vyraplay-unified-ui .btn-dark,
.vyraplay-unified-ui .secondary-action,
.vyraplay-unified-ui .cancel-btn {
  background: #252728 !important;
  border-color: #3b3e40 !important;
  color: #efefed !important;
}

/* Mantém cores semânticas somente onde representam estado real */
.vyraplay-unified-ui .status-online,
.vyraplay-unified-ui .status-active,
.vyraplay-unified-ui .badge-success,
.vyraplay-unified-ui .badge.bg-success,
.vyraplay-unified-ui .alert-success {
  color: #55dc91 !important;
  background: rgba(32,184,100,.11) !important;
  border-color: rgba(32,184,100,.24) !important;
}

.vyraplay-unified-ui .status-offline,
.vyraplay-unified-ui .status-expired,
.vyraplay-unified-ui .badge-danger,
.vyraplay-unified-ui .badge.bg-danger,
.vyraplay-unified-ui .alert-danger {
  color: #ff7773 !important;
  background: rgba(239,83,80,.10) !important;
  border-color: rgba(239,83,80,.24) !important;
}

/* Inputs, selects e filtros com acabamento uniforme */
.vyraplay-unified-ui .form-control,
.vyraplay-unified-ui .form-select,
.vyraplay-unified-ui input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
.vyraplay-unified-ui textarea,
.vyraplay-unified-ui select,
.vyraplay-unified-ui .field {
  min-height: 42px;
  background: #141516 !important;
  border: 1px solid #37393c !important;
  color: #f5f5f3 !important;
}

.vyraplay-unified-ui .form-control:focus,
.vyraplay-unified-ui .form-select:focus,
.vyraplay-unified-ui input:focus,
.vyraplay-unified-ui textarea:focus,
.vyraplay-unified-ui select:focus,
.vyraplay-unified-ui .field:focus {
  border-color: #f7b500 !important;
  box-shadow: 0 0 0 3px rgba(247,181,0,.11) !important;
}

/* ========================================================================== 
   CATÁLOGO PÚBLICO
   ========================================================================== */
.vyraplay-unified-ui .shell {
  width: min(1320px,calc(100% - 34px)) !important;
  padding-top: 18px !important;
}

.vyraplay-unified-ui .topbar {
  background: rgba(18,19,20,.94) !important;
  border: 1px solid #303235 !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.28) !important;
}

.vyraplay-unified-ui .brand-logo {
  background: #f5f5f2 !important;
  border: 1px solid rgba(247,181,0,.28) !important;
  box-shadow: none !important;
}

.vyraplay-unified-ui .brand-title {
  color: #fff !important;
  font-weight: 850 !important;
}

.vyraplay-unified-ui .brand-sub,
.vyraplay-unified-ui .updated,
.vyraplay-unified-ui .lead,
.vyraplay-unified-ui .category,
.vyraplay-unified-ui .page-info {
  color: #969a9f !important;
}

.vyraplay-unified-ui .contact-btn,
.vyraplay-unified-ui .floating-contact,
.vyraplay-unified-ui #filter-btn,
.vyraplay-unified-ui .filters .btn {
  color: #171308 !important;
  background: linear-gradient(135deg,#f7b500,#ffc83d) !important;
  border-color: #ffc83d !important;
  box-shadow: 0 10px 28px rgba(247,181,0,.20) !important;
}

.vyraplay-unified-ui .icon-btn {
  background: #242627 !important;
  color: #c4c6c8 !important;
  border-color: #3b3d40 !important;
}

.vyraplay-unified-ui .icon-btn:hover {
  color: #f7b500 !important;
  border-color: rgba(247,181,0,.48) !important;
}

.vyraplay-unified-ui .hero {
  padding-top: 48px !important;
  border-bottom: 1px solid rgba(255,255,255,.055);
  margin-bottom: 20px;
}

.vyraplay-unified-ui .eyebrow {
  color: #f7b500 !important;
  letter-spacing: .12em !important;
}

.vyraplay-unified-ui .hero h1 {
  color: #f7f7f4 !important;
  max-width: 780px;
  font-weight: 900 !important;
  letter-spacing: -.055em !important;
  text-shadow: none !important;
}

.vyraplay-unified-ui .catalog-logo-box {
  background:
    radial-gradient(circle at 50% 32%,rgba(247,181,0,.11),transparent 62%),
    linear-gradient(145deg,#1d1f20,#141516) !important;
  border: 1px solid rgba(247,181,0,.20) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.30) !important;
}

.vyraplay-unified-ui .stats {
  gap: 12px !important;
}

.vyraplay-unified-ui .stat {
  background: linear-gradient(180deg,#1b1d1e,#151617) !important;
  border: 1px solid #303235 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
}

.vyraplay-unified-ui .stat::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: #f7b500;
  opacity: .82;
}

.vyraplay-unified-ui .stat-value {
  color: #f7b500 !important;
}

.vyraplay-unified-ui .filters {
  background: #171819 !important;
  border: 1px solid #303235 !important;
  border-radius: 13px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.20) !important;
}

.vyraplay-unified-ui .grid .card {
  background: linear-gradient(180deg,#1b1d1e,#151617) !important;
  border: 1px solid #303235 !important;
  border-radius: 12px !important;
  box-shadow: 0 9px 22px rgba(0,0,0,.20) !important;
}

.vyraplay-unified-ui .grid .card:hover {
  border-color: rgba(247,181,0,.52) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.32) !important;
}

.vyraplay-unified-ui .grid .cover {
  background: #101112 !important;
  border-bottom: 1px solid #2e3032;
}

.vyraplay-unified-ui .grid .type {
  color: #181308 !important;
  background: #f7b500 !important;
  border: 1px solid #ffc83d;
}

.vyraplay-unified-ui .grid .name {
  color: #f5f5f3 !important;
}

.vyraplay-unified-ui .status.ok {
  color: #54d98e !important;
  background: rgba(32,184,100,.10) !important;
  border-color: rgba(32,184,100,.24) !important;
}

.vyraplay-unified-ui .status.off {
  color: #ff7773 !important;
  background: rgba(239,83,80,.09) !important;
  border-color: rgba(239,83,80,.22) !important;
}

.vyraplay-unified-ui .spinner {
  border-color: #343638 !important;
  border-top-color: #f7b500 !important;
}

.vyraplay-unified-ui .page-btn {
  color: #dddeda !important;
  background: #1b1d1e !important;
  border-color: #383a3d !important;
}

.vyraplay-unified-ui .page-btn:not(:disabled):hover {
  color: #181308 !important;
  background: #f7b500 !important;
  border-color: #f7b500 !important;
}

/* ========================================================================== 
   LOJAS, PAINÉIS DE CLIENTE E PÁGINAS PÚBLICAS
   ========================================================================== */
.vyraplay-unified-ui .hero-card,
.vyraplay-unified-ui .plan-card,
.vyraplay-unified-ui .product-card,
.vyraplay-unified-ui .app-card,
.vyraplay-unified-ui .client-card,
.vyraplay-unified-ui .renew-card,
.vyraplay-unified-ui .auth-card,
.vyraplay-unified-ui .login-card,
.vyraplay-unified-ui .register-card,
.vyraplay-unified-ui .recovery-card {
  background: linear-gradient(180deg,#1c1d1e,#151617) !important;
  border-color: #343638 !important;
}

.vyraplay-unified-ui .price,
.vyraplay-unified-ui .plan-price,
.vyraplay-unified-ui .highlight,
.vyraplay-unified-ui .accent-text {
  color: #f7b500 !important;
}

.vyraplay-unified-ui .public-header,
.vyraplay-unified-ui .store-header,
.vyraplay-unified-ui .client-header,
.vyraplay-unified-ui .catalog-header {
  background: rgba(18,19,20,.96) !important;
  border-color: #303235 !important;
}

/* Redução de efeitos em telas menores e melhor leitura */
@media (max-width: 991.98px) {
  .vyraplay-unified-ui .hero {
    padding-top: 34px !important;
  }
  .vyraplay-unified-ui .grid {
    gap: 10px !important;
  }
}

@media (max-width: 680px) {
  .vyraplay-unified-ui .shell {
    width: calc(100% - 18px) !important;
  }
  .vyraplay-unified-ui .topbar {
    border-radius: 11px !important;
  }
  .vyraplay-unified-ui .hero h1 {
    font-size: clamp(2.15rem,13vw,3.25rem) !important;
  }
  .vyraplay-unified-ui .stat,
  .vyraplay-unified-ui .filters,
  .vyraplay-unified-ui .grid .card {
    border-radius: 10px !important;
  }
}

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

/* ========================================================================== 
   CORREÇÃO VISUAL — BOTÕES E CONTROLES SEM BRILHO/SOMBRA EXCESSIVA
   Camada somente visual. Mantém HTML, JavaScript, PHP e regras de negócio.
   ========================================================================== */

/* Remove brilhos herdados de estilos antigos em todos os controles clicáveis. */
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="-btn "],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[role="button"],
  .hdr-action-teste,
  .hdr-action-btn,
  .test-button,
  .contact-btn,
  .floating-contact,
  .filter-btn,
  .save-btn,
  .submit-btn,
  .action-primary,
  .action-secondary,
  .primary-action,
  .secondary-action,
  .cancel-btn,
  .icon-btn,
  .header-action,
  .header-icon-btn,
  .hdr-icon-btn,
  .menu-toggle-btn,
  .sigma-notif-btn
) {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Hover limpo: sem flutuação e sem reaparecimento de glow. */
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="-btn "],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[role="button"],
  .hdr-action-teste,
  .hdr-action-btn,
  .test-button,
  .contact-btn,
  .floating-contact,
  .filter-btn,
  .save-btn,
  .submit-btn,
  .action-primary,
  .action-secondary,
  .primary-action,
  .secondary-action,
  .cancel-btn,
  .icon-btn
):hover {
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Clique discreto, sem deslocar o layout. */
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="-btn "],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[role="button"]
):active {
  box-shadow: none !important;
  filter: brightness(.96) !important;
  transform: none !important;
}

/* Mantém indicação de teclado sem usar sombra ao redor do botão. */
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="-btn "],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[role="button"]
):focus {
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="-btn "],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a[role="button"]
):focus-visible {
  outline: 2px solid rgba(247,181,0,.78) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* Ações douradas continuam destacadas apenas pela cor e pela borda. */
body.vyraplay-unified-ui :is(
  .btn-primary,
  .btn-warning,
  .action-primary,
  .primary-action,
  .save-btn,
  .submit-btn,
  .filter-btn,
  .hdr-action-teste,
  .hdr-action-btn,
  .test-button,
  .contact-btn,
  .floating-contact,
  button[type="submit"]:not(.btn-danger):not(.swal2-confirm)
) {
  border-color: #dca300 !important;
  box-shadow: none !important;
}

/* Ícones e botões pequenos também ficam planos. */
body.vyraplay-unified-ui :is(
  .btn-icon,
  .icon-btn,
  .action-btn,
  .table-action,
  .table-action-btn,
  .pagination .page-link,
  .dataTables_paginate .paginate_button,
  .dt-paging-button
) {
  box-shadow: none !important;
  filter: none !important;
}

/* Evita que pseudo-elementos antigos criem halos sobre os botões. */
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  a[role="button"]
)::before,
body.vyraplay-unified-ui :is(
  .btn,
  [class*="btn-"],
  [class$="-btn"],
  [class*="button"],
  button,
  input[type="button"],
  input[type="submit"],
  a[role="button"]
)::after {
  box-shadow: none !important;
  filter: none !important;
}

/* Suaviza sombras de cards sem retirar profundidade da interface. */
body.vyraplay-unified-ui :is(
  .card,
  .panel,
  .box,
  .widget,
  .content-box,
  .content-panel,
  .dashboard-section,
  .table-card,
  .form-card,
  .settings-card,
  .summary-card,
  .filter-card,
  .list-card
) {
  box-shadow: 0 5px 16px rgba(0,0,0,.16) !important;
}
body.vyraplay-unified-ui :is(
  .card,
  .panel,
  .box,
  .widget,
  .content-box,
  .content-panel,
  .dashboard-section,
  .table-card,
  .form-card,
  .settings-card,
  .summary-card,
  .filter-card,
  .list-card
):hover {
  box-shadow: 0 7px 20px rgba(0,0,0,.20) !important;
}

/* Catálogo: remove glow dos botões e mantém cards com profundidade discreta. */
body.vyraplay-unified-ui :is(
  .contact-btn,
  .floating-contact,
  #filter-btn,
  .filters .btn
) {
  box-shadow: none !important;
}
body.vyraplay-unified-ui .grid .card {
  box-shadow: 0 5px 15px rgba(0,0,0,.17) !important;
}
body.vyraplay-unified-ui .grid .card:hover {
  box-shadow: 0 8px 22px rgba(0,0,0,.22) !important;
}

/* ========================================================================== 
   CORREÇÃO FINAL — INTERFACE LIMPA, SEM CONTORNOS DUPLICADOS
   Somente CSS. Remove linhas decorativas e bordas redundantes, preservando
   campos, estados e hierarquia visual por contraste, espaço e superfícies.
   ========================================================================== */

/* Estrutura: elimina linhas que dividiam cabeçalho e menu sem necessidade. */
body.vyraplay-unified-ui :is(
  .main-header,
  header.fixed-top,
  header.navbar,
  .navbar.fixed-top,
  .topbar,
  .top-bar,
  .sigma-topbar,
  .header-main
) {
  border-bottom: 0 !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.18) !important;
}
body.vyraplay-unified-ui :is(
  .main-header,
  header.fixed-top,
  .sigma-topbar
)::after { display: none !important; }
body.vyraplay-unified-ui :is(
  .navigation-sidebar,
  .sidebar,
  .sigma-sidebar,
  .left-sidebar,
  .main-sidebar,
  .offcanvas.sidebar-menu
) {
  border-right: 0 !important;
  box-shadow: 6px 0 22px rgba(0,0,0,.13) !important;
}
body.vyraplay-unified-ui .sidebar-profile { border-bottom: 0 !important; }

/* Menu: seleção por fundo, sem caixas ou linhas em volta de cada item. */
body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-link,
  .sidebar .nav-link,
  .sigma-sidebar .nav-link,
  .menu-item,
  .submenu-item,
  .navigation-sidebar a
) {
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-link.active,
  .navigation-sidebar .nav-item.active > .nav-link,
  .navigation-sidebar .nav-item .nav-link.active,
  .sidebar .nav-link.active,
  .sidebar .active > .nav-link,
  .sigma-sidebar .nav-link.active,
  .menu-item.active,
  .submenu-item.active
) {
  border: 0 !important;
  box-shadow: none !important;
  background: linear-gradient(90deg,rgba(247,181,0,.17),rgba(247,181,0,.055)) !important;
}
body.vyraplay-unified-ui .submenu { border-left: 0 !important; }
body.vyraplay-unified-ui :is(
  .nav-section-label,
  .sidebar-section-title,
  .menu-section-title,
  .nav-section-title,
  .sigma-section-title
)::before,
body.vyraplay-unified-ui :is(
  .nav-section-label,
  .sidebar-section-title,
  .menu-section-title,
  .nav-section-title,
  .sigma-section-title
)::after { display: none !important; }

/* Formulários: o agrupador não recebe contorno; somente o controle real. */
body.vyraplay-unified-ui :is(
  .field:not(input):not(select):not(textarea),
  .form-group,
  .input-group,
  .form-floating,
  fieldset
) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui .field:not(input):not(select):not(textarea) {
  min-height: 0 !important;
  padding: 0 !important;
}
body.vyraplay-unified-ui :is(
  .form-control,
  .form-select,
  textarea,
  select,
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  .dataTables_filter input,
  .dt-search input,
  .select2-selection,
  .choices__inner
) {
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(
  .form-control,
  .form-select,
  textarea,
  select,
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  .select2-selection,
  .choices__inner
):focus {
  border-color: rgba(247,181,0,.72) !important;
  box-shadow: none !important;
  outline: none !important;
}
body.vyraplay-unified-ui .input-group-text {
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui .show-pass {
  border-left: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Cards: remove molduras repetidas e usa contraste/sombra discreta. */
body.vyraplay-unified-ui :is(
  .card,
  .panel,
  .box,
  .sigma-card,
  .dashboard-card,
  .stat-card,
  .metric-card,
  .info-card,
  .content-card,
  .panel-card,
  .summary-card,
  .vendas-summary-card,
  .dc-card,
  .widget,
  .widget-card,
  .tile,
  [class$="-card"],
  [class*="-card "]
) {
  border: 0 !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.16) !important;
}
body.vyraplay-unified-ui :is(
  .card,
  .panel,
  .box,
  .sigma-card,
  .dashboard-card,
  .stat-card,
  .metric-card,
  .info-card,
  .content-card,
  .panel-card,
  .summary-card,
  .widget,
  .widget-card
):hover {
  border: 0 !important;
  box-shadow: 0 7px 19px rgba(0,0,0,.19) !important;
}
body.vyraplay-unified-ui :is(
  .card-header,
  .card-footer,
  .panel-heading,
  .panel-footer,
  .box-header,
  .box-footer,
  .widget-header,
  .section-card-header,
  .modal-header,
  .modal-footer
) {
  border: 0 !important;
}
/* Cards dentro de cards não recebem nova moldura/sombra. */
body.vyraplay-unified-ui :is(.card,.panel,.box,.widget) :is(.card,.panel,.box,.widget,[class$="-card"]) {
  border: 0 !important;
  box-shadow: none !important;
}

/* Divisores: mantém apenas espaço; linhas horizontais ficam quase invisíveis. */
body.vyraplay-unified-ui :is(
  .divider,
  .section-divider,
  .page-header,
  .content-header,
  .section-header,
  .dropdown-divider
) {
  border: 0 !important;
}
body.vyraplay-unified-ui hr {
  border: 0 !important;
  height: 1px !important;
  background: rgba(255,255,255,.045) !important;
}

/* Tabelas: sem caixa externa e sem grade completa; apenas separação de linhas. */
body.vyraplay-unified-ui :is(
  .table-responsive,
  .dt-layout-table,
  .dataTables_scroll
) {
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(.table,.dataTable,table) :is(th,td) {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.055) !important;
}
body.vyraplay-unified-ui :is(.table,.dataTable,table) tbody tr:last-child td {
  border-bottom: 0 !important;
}

/* Abas, paginação, badges e ações pequenas sem contornos decorativos. */
body.vyraplay-unified-ui :is(.nav-tabs,.nav-pills,.tabs,.filter-tabs) { border: 0 !important; }
body.vyraplay-unified-ui :is(
  .nav-tabs .nav-link,
  .nav-pills .nav-link,
  .tab-button,
  .filter-tab,
  .page-link,
  .dt-paging-button,
  .dataTables_paginate .paginate_button,
  .badge,
  .status-badge,
  .chip,
  .tag,
  .pill,
  .label
) {
  border: 0 !important;
  box-shadow: none !important;
}

/* Botões preenchidos usam cor, não moldura nem brilho. */
body.vyraplay-unified-ui :is(
  .btn-primary,
  .btn-warning,
  .btn-success,
  .action-primary,
  .sigma-btn-primary,
  .primary-action,
  .save-btn,
  .submit-btn,
  .filter-btn,
  .hdr-action-teste,
  .hdr-action-btn,
  .test-button,
  .contact-btn,
  .floating-contact,
  button[type="submit"]:not(.btn-outline-danger)
) {
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(
  .hdr-icon-btn,
  .menu-toggle-btn,
  .sigma-notif-btn,
  .header-action,
  .header-icon-btn,
  .icon-btn,
  .btn-icon,
  .action-btn,
  .table-action,
  .table-action-btn
) {
  border: 0 !important;
  box-shadow: none !important;
}

/* Alertas e estados usam barra lateral/cor; sem caixa desenhada em volta. */
body.vyraplay-unified-ui :is(.alert,.notice,.notification,.info-box) {
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(.badge,.status-badge,.chip,.tag,.pill,.label) { border: 0 !important; }

/* Modal, dropdown e acordeão: uma única superfície, sem linhas internas. */
body.vyraplay-unified-ui :is(
  .modal-content,
  .dropdown-menu,
  .popover,
  .offcanvas,
  .accordion-item,
  .swal2-popup
) {
  border: 0 !important;
}
body.vyraplay-unified-ui .list-group-item {
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}
body.vyraplay-unified-ui .list-group-item:last-child { border-bottom: 0 !important; }

/* Login: remove exatamente os contornos duplicados indicados. */
body.vyraplay-unified-ui .login-shell .wrap {
  border: 0 !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.42) !important;
}
body.vyraplay-unified-ui .login-shell :is(.field,.input-wrap) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
}
body.vyraplay-unified-ui .login-shell .security-note {
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui .login-shell .btn-news {
  border: 0 !important;
  background: rgba(247,181,0,.075) !important;
}

/* Catálogo: elimina molduras repetidas, preservando a organização visual. */
body.vyraplay-unified-ui :is(
  .topbar,
  .catalog-logo-box,
  .stat,
  .filters,
  .grid .card,
  .public-header,
  .store-header,
  .client-header,
  .catalog-header
) {
  border: 0 !important;
}
body.vyraplay-unified-ui .grid .cover { border-bottom: 0 !important; }
body.vyraplay-unified-ui .hero { border-bottom: 0 !important; }
body.vyraplay-unified-ui .stat::before { display: none !important; }

/* Mantém acessibilidade sem criar novo retângulo visual ao clicar. */
body.vyraplay-unified-ui :focus { box-shadow: none !important; }
body.vyraplay-unified-ui :focus-visible {
  outline: 2px solid rgba(247,181,0,.62) !important;
  outline-offset: 2px !important;
}

/* ========================================================================== 
   CORREÇÃO PROFISSIONAL DE CONSISTÊNCIA — 2026-07-28
   Ajustes estritamente visuais. Não altera eventos, formulários ou lógica.
   ========================================================================== */

/* Controles reais nunca devem herdar o reset aplicado aos agrupadores .field. */
body.vyraplay-unified-ui :is(input.field,select.field,textarea.field) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 0 13px !important;
  color: var(--vy-text) !important;
  background: #151617 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  outline: 0 !important;
}
body.vyraplay-unified-ui textarea.field {
  min-height: 108px !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  resize: vertical;
}
body.vyraplay-unified-ui :is(input.field,select.field,textarea.field):focus {
  background: #18191a !important;
  border-color: rgba(247,181,0,.70) !important;
  box-shadow: none !important;
}

/* Catálogo: restaura altura, recuo e alinhamento correto da pesquisa. */
body.vyraplay-unified-ui .filters {
  align-items: center !important;
  gap: 10px !important;
  padding: 10px !important;
  background: #171819 !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.13) !important;
}
body.vyraplay-unified-ui .filters > * { min-width: 0 !important; }
body.vyraplay-unified-ui .search-wrap {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
}
body.vyraplay-unified-ui .search-wrap > i,
body.vyraplay-unified-ui .search-wrap > .fa,
body.vyraplay-unified-ui .search-wrap > .fas,
body.vyraplay-unified-ui .search-wrap > .fa-solid {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  z-index: 2 !important;
  margin: 0 !important;
  color: #8e9297 !important;
  background: transparent !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  line-height: 1 !important;
}
body.vyraplay-unified-ui .search-wrap :is(input.field,input[type="search"],input[type="text"]) {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 14px 0 42px !important;
  line-height: 44px !important;
}
body.vyraplay-unified-ui .filters :is(select.field,.btn,button) {
  min-height: 44px !important;
}
body.vyraplay-unified-ui .filters select.field {
  padding-right: 38px !important;
}

/* DataTables e pesquisas internas: mesma proporção e alinhamento do catálogo. */
body.vyraplay-unified-ui :is(.dataTables_filter,.dt-search) {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.vyraplay-unified-ui :is(.dataTables_filter input,.dt-search input) {
  min-height: 40px !important;
  padding: 0 12px !important;
  line-height: normal !important;
}

/* Ícones de cabeçalho: contraste elegante, sem bloco amarelo sólido. */
body.vyraplay-unified-ui :is(
  [class*="title-icon"],
  [class*="header-icon"],
  [class*="hdr-icon"]
):not(.hdr-icon-btn):not(.header-icon-btn) {
  color: #e7bd4a !important;
  background: linear-gradient(145deg,#29261d,#1d1e1f) !important;
  border: 1px solid rgba(247,181,0,.18) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.vyraplay-unified-ui :is(
  [class*="title-icon"],
  [class*="header-icon"],
  [class*="hdr-icon"]
):not(.hdr-icon-btn):not(.header-icon-btn) :is(i,svg) {
  color: inherit !important;
  fill: currentColor !important;
  filter: none !important;
  text-shadow: none !important;
}

/* Caixas de ícones de cartões usam dourado moderado e preservam legibilidade. */
body.vyraplay-unified-ui :is(
  .page-header-icon,
  .section-icon,
  .title-icon,
  .card-icon,
  .metric-icon,
  .stat-icon,
  .feature-icon,
  .icon-box
) {
  color: #e7bd4a !important;
  background: rgba(247,181,0,.075) !important;
  border: 1px solid rgba(247,181,0,.14) !important;
  box-shadow: none !important;
}

/* Ícones em botões preenchidos recebem contraste escuro; botões de perigo ficam brancos. */
body.vyraplay-unified-ui :is(
  .btn-primary,
  .btn-warning,
  .btn-success,
  .action-primary,
  .sigma-btn-primary,
  .primary-action,
  .save-btn,
  .submit-btn,
  .filter-btn,
  .hdr-action-teste,
  .hdr-action-btn,
  .test-button,
  .contact-btn,
  .floating-contact,
  button[type="submit"]:not(.btn-danger):not(.btn-outline-danger)
) :is(i,svg) {
  color: #17130a !important;
  fill: currentColor !important;
  background: transparent !important;
  filter: none !important;
}
body.vyraplay-unified-ui :is(.btn-danger,.action-danger,.btn-outline-danger:hover) :is(i,svg) {
  color: #fff !important;
  fill: currentColor !important;
}

/* Botões de ícone escuros não recebem fundo dourado acidental. */
body.vyraplay-unified-ui :is(
  .hdr-icon-btn,
  .menu-toggle-btn,
  .sigma-notif-btn,
  .header-action,
  .header-icon-btn,
  .icon-btn,
  .btn-icon,
  .action-btn,
  .table-action,
  .table-action-btn
) {
  color: #c7c9cc !important;
  background: #232526 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.vyraplay-unified-ui :is(
  .hdr-icon-btn,
  .menu-toggle-btn,
  .sigma-notif-btn,
  .header-action,
  .header-icon-btn,
  .icon-btn,
  .btn-icon,
  .action-btn,
  .table-action,
  .table-action-btn
):hover {
  color: #e7bd4a !important;
  background: #2a2924 !important;
}

/* Evita quebra visual em grids e formulários estreitos. */
body.vyraplay-unified-ui :is(.row,.grid,[class*="-grid"],[class*="-form"]) > * {
  min-width: 0;
}
body.vyraplay-unified-ui :is(input,select,textarea,button,.btn) {
  max-width: 100%;
}

/* O foco continua acessível, porém sem retângulos duplicados dentro do controle. */
body.vyraplay-unified-ui :is(input,select,textarea,button,a):focus-visible {
  outline: 2px solid rgba(247,181,0,.55) !important;
  outline-offset: 2px !important;
}
body.vyraplay-unified-ui :is(input,select,textarea):focus-visible {
  outline: 0 !important;
}

@media (max-width: 980px) {
  body.vyraplay-unified-ui .filters {
    grid-template-columns: minmax(0,1fr) minmax(150px,1fr) !important;
  }
}
@media (max-width: 680px) {
  body.vyraplay-unified-ui .filters {
    grid-template-columns: minmax(0,1fr) !important;
    padding: 9px !important;
  }
  body.vyraplay-unified-ui .filters :is(input.field,select.field,.btn,button) {
    width: 100% !important;
  }
}


/* ========================================================================== 
   CORREÇÃO — ABA SELECIONADA COM DOURADO CLARO E ÍCONE LEGÍVEL
   Somente visual. Remove o bloco amarelo forte sem alterar a navegação.
   ========================================================================== */
body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-item.active > .nav-link,
  .navigation-sidebar .nav-link.active,
  .navigation-sidebar .nav-item .nav-link.active,
  .sidebar .nav-item.active > .nav-link,
  .sidebar .nav-link.active,
  .sidebar .active > .nav-link,
  .sigma-sidebar .nav-item.active > .nav-link,
  .sigma-sidebar .nav-link.active,
  .menu-item.active,
  .submenu-item.active
) {
  color: #f8d77a !important;
  background: linear-gradient(
    90deg,
    rgba(247, 181, 0, .105) 0%,
    rgba(247, 181, 0, .055) 58%,
    rgba(247, 181, 0, .025) 100%
  ) !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-item.active > .nav-link,
  .navigation-sidebar .nav-link.active,
  .sidebar .nav-item.active > .nav-link,
  .sidebar .nav-link.active,
  .sigma-sidebar .nav-item.active > .nav-link,
  .sigma-sidebar .nav-link.active,
  .menu-item.active,
  .submenu-item.active
)::before {
  display: none !important;
}

body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-item.active > .nav-link .icon,
  .navigation-sidebar .nav-link.active .icon,
  .sidebar .nav-item.active > .nav-link .icon,
  .sidebar .nav-link.active .icon,
  .sidebar .active > .nav-link .icon,
  .sigma-sidebar .nav-item.active > .nav-link .icon,
  .sigma-sidebar .nav-link.active .icon,
  .menu-item.active .icon,
  .submenu-item.active .icon,
  .submenu .nav-item.active > .nav-link .icon
) {
  color: #f8d77a !important;
  background: rgba(248, 215, 122, .105) !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-item.active > .nav-link .icon i,
  .navigation-sidebar .nav-link.active .icon i,
  .sidebar .nav-item.active > .nav-link .icon i,
  .sidebar .nav-link.active .icon i,
  .sidebar .active > .nav-link .icon i,
  .sigma-sidebar .nav-item.active > .nav-link .icon i,
  .sigma-sidebar .nav-link.active .icon i,
  .menu-item.active .icon i,
  .submenu-item.active .icon i,
  .submenu .nav-item.active > .nav-link .icon i
) {
  color: #f8d77a !important;
  text-shadow: none !important;
  filter: none !important;
}

/* Hover da aba ativa: mantém a mesma leitura, sem voltar ao amarelo intenso. */
body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-item.active > .nav-link:hover,
  .navigation-sidebar .nav-link.active:hover,
  .sidebar .nav-item.active > .nav-link:hover,
  .sidebar .nav-link.active:hover,
  .sigma-sidebar .nav-item.active > .nav-link:hover,
  .sigma-sidebar .nav-link.active:hover,
  .menu-item.active:hover,
  .submenu-item.active:hover
) {
  color: #ffe39a !important;
  background: linear-gradient(
    90deg,
    rgba(247, 181, 0, .13) 0%,
    rgba(247, 181, 0, .07) 58%,
    rgba(247, 181, 0, .03) 100%
  ) !important;
}


/* ========================================================================== 
   CORREÇÃO DEFINITIVA — MODO CLARO VYRAPLAY
   Exclusivamente visual. O seletor de tema já existente continua responsável
   pela troca; esta camada apenas fornece a paleta clara completa.
   ========================================================================== */
html[data-theme="light"] {
  color-scheme: light !important;
  --vy-bg: #f3f2ee;
  --vy-bg-deep: #e9e7e1;
  --vy-surface: #ffffff;
  --vy-surface-2: #f8f7f3;
  --vy-surface-3: #eeece6;
  --vy-border: #ddd9cf;
  --vy-border-strong: #c9c4b8;
  --vy-text: #202225;
  --vy-muted: #666a70;
  --vy-muted-2: #858990;
  --vy-shadow: 0 14px 34px rgba(44, 40, 31, .10);
  --vy-shadow-soft: 0 7px 20px rgba(44, 40, 31, .075);

  --sigma-bg: var(--vy-bg) !important;
  --sigma-card: var(--vy-surface) !important;
  --sigma-card-alt: var(--vy-surface-2) !important;
  --sigma-sidebar-bg: #f8f7f3 !important;
  --sigma-header-bg: rgba(255,255,255,.96) !important;
  --sigma-text: var(--vy-text) !important;
  --sigma-text-muted: var(--vy-muted) !important;
  --sigma-border: var(--vy-border) !important;
  --sigma-accent: #c98f00 !important;
  --sigma-accent-hover: #aa7800 !important;
  --sigma-active-bg: rgba(247,181,0,.12) !important;
  --futuristic-bg: var(--vy-bg) !important;
  --futuristic-card-bg: var(--vy-surface) !important;
  --futuristic-sidebar-bg: #f8f7f3 !important;
  --bs-body-bg: var(--vy-bg) !important;
  --bs-body-color: var(--vy-text) !important;
  --bs-border-color: var(--vy-border) !important;

  --bg: #f3f2ee !important;
  --surface: #ffffff !important;
  --surface-2: #f8f7f3 !important;
  --text: #202225 !important;
  --muted: #6b6f75 !important;
  --line: rgba(32,34,37,.115) !important;
  --card-bg: #ffffff !important;
  --input-bg: #ffffff !important;
  --border-color: #ddd9cf !important;
  --shadow: 0 14px 34px rgba(44,40,31,.10) !important;
}

html[data-theme="light"],
html[data-theme="light"] body,
html[data-theme="light"] body.vyraplay-unified-ui {
  background-color: var(--vy-bg) !important;
  color: var(--vy-text) !important;
  background-image:
    radial-gradient(920px 500px at 92% -10%, rgba(247,181,0,.11), transparent 64%),
    radial-gradient(760px 430px at -8% 108%, rgba(122,105,60,.045), transparent 68%),
    linear-gradient(180deg,#f8f7f3 0%,#efede7 100%) !important;
}
html[data-theme="light"] body::before {
  opacity: .45 !important;
  background-image:
    linear-gradient(rgba(26,28,31,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,28,31,.026) 1px, transparent 1px) !important;
}
html[data-theme="light"] ::selection {
  background: rgba(247,181,0,.25) !important;
  color: #29200b !important;
}

/* Estrutura, cabeçalho e menu lateral */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  main,.main-content,.content-wrapper,.page-wrapper,.page-content,.content-area,
  .sigma-content,#content,#main-content,.container,.container-fluid
) {
  color: var(--vy-text) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .main-header,header.fixed-top,header.navbar,.navbar.fixed-top,.topbar,.top-bar,
  .sigma-topbar,.header-main
) {
  background: rgba(255,255,255,.965) !important;
  color: var(--vy-text) !important;
  border-bottom: 1px solid var(--vy-border) !important;
  box-shadow: 0 7px 22px rgba(48,43,32,.075) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .navigation-sidebar,.sidebar,.sigma-sidebar,.left-sidebar,.main-sidebar,
  .offcanvas.sidebar-menu
) {
  background: #f8f7f3 !important;
  color: var(--vy-text) !important;
  border-right: 1px solid var(--vy-border) !important;
  box-shadow: 7px 0 22px rgba(48,43,32,.055) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui .sidebar-profile {
  background: #f2f0ea !important;
  border-bottom-color: var(--vy-border) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .nav-section-label,.sidebar-section-title,.menu-section-title,.nav-section-title,
  .sigma-section-title
) { color: #8b877d !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-link,.sidebar .nav-link,.sigma-sidebar .nav-link,
  .menu-item,.submenu-item,.navigation-sidebar a
) {
  color: #62666d !important;
  background: transparent !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-link:hover,.sidebar .nav-link:hover,
  .sigma-sidebar .nav-link:hover,.menu-item:hover,.submenu-item:hover,
  .navigation-sidebar a:hover
) {
  color: #24262a !important;
  background: #ece9e1 !important;
  border-color: transparent !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-item.active > .nav-link,
  .navigation-sidebar .nav-link.active,
  .sidebar .nav-item.active > .nav-link,
  .sidebar .nav-link.active,
  .sigma-sidebar .nav-item.active > .nav-link,
  .sigma-sidebar .nav-link.active,
  .menu-item.active,.submenu-item.active
) {
  color: #8a6200 !important;
  background: linear-gradient(90deg,rgba(247,181,0,.17),rgba(247,181,0,.06)) !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .navigation-sidebar .nav-link.active i,.navigation-sidebar .nav-link.active .icon,
  .sidebar .nav-link.active i,.sidebar .nav-link.active .icon,
  .sigma-sidebar .nav-link.active i,.sigma-sidebar .nav-link.active .icon,
  .menu-item.active i,.menu-item.active .icon,.submenu-item.active i,.submenu-item.active .icon
) {
  color: #a87800 !important;
  background: rgba(247,181,0,.105) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui .submenu {
  border-left-color: #d8d4ca !important;
}

/* Texto e títulos */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  h1,h2,h3,h4,h5,h6,.page-title,.section-title,.card-title,.modal-title,
  .panel-title,.navbar-brand,.navbar-brand span,strong,b,label,.form-label
) { color: var(--vy-text) !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  p,.text-muted,.small,.help-text,.form-text,.subtitle,.description,
  .card-subtitle,.page-subtitle
) { color: var(--vy-muted) !important; }

/* Cards, painéis, métricas e agrupadores */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .card,.panel,.box,.widget,.content-box,.content-panel,.dashboard-section,
  .table-card,.form-card,.settings-card,.summary-card,.filter-card,.list-card,
  .sigma-card,.bp-card,.dash6-card,.fin-card-v2,.cnt-card-v2,.rev-card,
  [class*="stat-card"],[class*="metric-card"],[class*="summary-card"]
) {
  background: #ffffff !important;
  color: var(--vy-text) !important;
  border-color: var(--vy-border) !important;
  box-shadow: var(--vy-shadow-soft) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .card-header,.panel-heading,.box-header,.widget-header,.modal-header,.modal-footer,
  .table-header,.section-header
) {
  background: #faf9f6 !important;
  color: var(--vy-text) !important;
  border-color: var(--vy-border) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .page-header-icon,.section-icon,.title-icon,.card-icon,.metric-icon,.stat-icon,
  .feature-icon,.icon-box,[class*="title-icon"],[class*="header-icon"]
):not(.hdr-icon-btn):not(.header-icon-btn) {
  color: #9c7000 !important;
  background: rgba(247,181,0,.105) !important;
  border-color: rgba(177,126,0,.17) !important;
}

/* Campos e filtros */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,
  .form-control,.form-select,.field,.input-group-text,.select2-selection,
  .dataTables_filter input,.dt-search input
) {
  background-color: #ffffff !important;
  color: #25272a !important;
  border-color: #d7d3c9 !important;
  box-shadow: none !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  input,textarea,.form-control
)::placeholder { color: #979b9f !important; opacity: 1 !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  input:not([type="checkbox"]):not([type="radio"]),select,textarea,
  .form-control,.form-select,.field,.select2-selection
):focus {
  background-color: #ffffff !important;
  color: #202225 !important;
  border-color: rgba(180,128,0,.58) !important;
  box-shadow: 0 0 0 3px rgba(247,181,0,.10) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .filters,.filter-bar,.search-bar,.toolbar,.table-toolbar,.dataTables_wrapper
) {
  background-color: #f8f7f3 !important;
  color: var(--vy-text) !important;
  border-color: var(--vy-border) !important;
}

/* Tabelas e paginação */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  table,.table,table.dataTable,.dataTable
) { color: #2b2d30 !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .table thead th,.table thead td,table.dataTable thead th,table.dataTable thead td,
  .dataTable thead th,.dataTable thead td
) {
  background: #f0ede5 !important;
  color: #555960 !important;
  border-color: #dcd8ce !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .table tbody tr,.table tbody td,table.dataTable tbody tr,table.dataTable tbody td,
  .dataTable tbody tr,.dataTable tbody td
) {
  background: #ffffff !important;
  color: #303236 !important;
  border-color: #e7e4dc !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .table tbody tr:nth-child(even),table.dataTable tbody tr.even,
  table.dataTable tbody tr.even > td
) { background: #fbfaf7 !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .table tbody tr:hover,.table tbody tr:hover > td,
  table.dataTable tbody tr:hover,table.dataTable tbody tr:hover > td
) { background: #fff8e3 !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .dataTables_info,.dataTables_length label,.dataTables_filter label,.dt-info
) { color: #6b6f75 !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .paginate_button,.dt-paging-button,.page-link,.pagination .page-item .page-link
) {
  background: #eceae4 !important;
  color: #4f5359 !important;
  border-color: transparent !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .paginate_button.current,.dt-paging-button.current,.page-item.active .page-link
) {
  background: #f7b500 !important;
  color: #201806 !important;
}

/* Menus suspensos, modais e alertas */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .dropdown-menu,.sigma-notif-panel,.sigma-qa-menu,.modal-content,.swal2-popup,
  .offcanvas,.popover,.tooltip-inner
) {
  background: #ffffff !important;
  color: #25272a !important;
  border-color: var(--vy-border) !important;
  box-shadow: 0 18px 46px rgba(43,39,30,.14) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .dropdown-item,.sigma-qa-item,.list-group-item,.modal-body,.swal2-title,
  .swal2-html-container
) { color: #2b2d31 !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .dropdown-item:hover,.sigma-qa-item:hover,.list-group-item:hover
) { background: #f5f1e7 !important; color: #6f5100 !important; }
html[data-theme="light"] body.vyraplay-unified-ui .modal-backdrop.show {
  opacity: .34 !important;
}

/* Botões e controles do cabeçalho */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .hdr-icon-btn,.menu-toggle-btn,.sigma-notif-btn,.header-action,.header-icon-btn,
  .icon-btn,.btn-icon,.action-btn,.table-action,.table-action-btn
) {
  background: #eceae4 !important;
  color: #595d63 !important;
  border-color: transparent !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .hdr-icon-btn,.menu-toggle-btn,.sigma-notif-btn,.header-action,.header-icon-btn,
  .icon-btn,.btn-icon,.action-btn,.table-action,.table-action-btn
):hover {
  background: #e2ded4 !important;
  color: #8c6500 !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .btn-secondary,.btn-dark,.secondary-action,.cancel-btn
) {
  background: #ebe9e3 !important;
  color: #34363a !important;
  border-color: #d8d4ca !important;
}

/* Rodapé, separadores e scrollbar */
html[data-theme="light"] body.vyraplay-unified-ui :is(footer,.footer,.main-footer) {
  color: #777b81 !important;
  border-color: var(--vy-border) !important;
}
html[data-theme="light"] body.vyraplay-unified-ui :is(hr,.divider,.separator) {
  border-color: var(--vy-border) !important;
  background-color: var(--vy-border) !important;
}
html[data-theme="light"] ::-webkit-scrollbar-track { background: #eceae4 !important; }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: #c8c3b8 !important; }
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: #aaa498 !important; }

/* Mantém estados semânticos legíveis no modo claro. */
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .status-online,.status-active,.badge-success,.badge.bg-success,.alert-success
) { color: #11824a !important; }
html[data-theme="light"] body.vyraplay-unified-ui :is(
  .status-offline,.status-error,.badge-danger,.badge.bg-danger,.alert-danger
) { color: #c63b3b !important; }
