@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
  --monster-primary: #8b5cf6;
  --monster-primary-rgb: 139, 92, 246;
  --monster-primary-light: #ad8bff;
  --monster-primary-light-rgb: 173, 139, 255;
  --monster-success: #39d49e;
  --monster-success-rgb: 57, 212, 158;
  --monster-warning: #ff9b5e;
  --monster-warning-rgb: 255, 155, 94;
  --monster-info: #54a7ff;
  --monster-info-rgb: 84, 167, 255;
  --monster-danger: #ff647c;
  --monster-danger-rgb: 255, 100, 124;
  --monster-radius-sm: 10px;
  --monster-radius: 12px;
  --monster-radius-lg: 16px;
  --bs-sidenav-width: 248px;
}

:root,
[data-bs-theme="light"] {
  color-scheme: light;
  --monster-bg: #f3f6fb;
  --monster-bg-soft: #eaf0f7;
  --monster-card: #ffffff;
  --monster-card-raised: #f8fafc;
  --monster-border: rgba(15, 23, 42, .10);
  --monster-border-strong: rgba(15, 23, 42, .16);
  --monster-text: #172033;
  --monster-muted: #64748b;
  --monster-accent: color-mix(in srgb, var(--monster-primary) 78%, var(--monster-text) 22%);
  --monster-text-soft: #334155;
  --monster-placeholder: #94a3b8;
  --monster-table-text: #243247;
  --monster-chip-text: #475569;
  --monster-input: #f8fafc;
  --monster-input-focus: #ffffff;
  --monster-control: #eef2f7;
  --monster-control-hover: #e7edf5;
  --monster-control-border: rgba(15, 23, 42, .2);
  --monster-subtle-fill: rgba(15, 23, 42, .035);
  --monster-deep-fill: rgba(15, 23, 42, .045);
  --monster-table-head: rgba(15, 23, 42, .035);
  --monster-nav-bg: rgba(255, 255, 255, .9);
  --monster-nav-bg-soft: rgba(248, 250, 252, .9);
  --monster-grid-line: rgba(15, 23, 42, .035);
  --monster-warning-text: #9a4d16;
  --monster-danger-text: #a5273d;
  --monster-shadow: 0 18px 50px rgba(15, 23, 42, .09);
  --monster-shadow-soft: 0 12px 30px rgba(15, 23, 42, .07);
  --monster-shadow-popover: 0 24px 60px rgba(15, 23, 42, .16);
  --app-modal-surface: var(--monster-card-raised);
  --app-modal-section-bg: linear-gradient(135deg, rgba(var(--monster-primary-rgb), .055), transparent 70%), var(--monster-card-raised);
  --app-modal-inset-bg: var(--monster-bg-soft);
  --app-modal-border: var(--monster-border-strong);
  --app-modal-divider: var(--monster-border);
  --app-modal-text: var(--monster-text);
  --app-modal-muted: var(--monster-muted);
  --app-modal-backdrop: rgba(15, 23, 42, .42);
  --app-modal-backdrop-mobile: rgba(15, 23, 42, .34);
  --app-modal-shadow: 0 28px 80px rgba(15, 23, 42, .24);
  --app-modal-radius: var(--monster-radius-lg);
  --bs-body-bg: var(--monster-bg);
  --bs-body-bg-rgb: 243, 246, 251;
  --bs-body-color: var(--monster-text);
  --bs-body-color-rgb: 23, 32, 51;
  --bs-secondary-color: var(--monster-muted);
  --bs-secondary-color-rgb: 100, 116, 139;
  --bs-primary: var(--monster-primary);
  --bs-primary-rgb: 139, 92, 246;
  --bs-link-color: var(--monster-primary);
  --bs-link-hover-color: color-mix(in srgb, var(--monster-primary) 82%, #000 18%);
  --bs-border-color: var(--monster-border);
  --bs-border-color-translucent: var(--monster-border);
  --bs-card-bg: var(--monster-card);
  --bs-card-border-color: var(--monster-border);
  --bs-card-border-radius: var(--monster-radius);
  --bs-tertiary-bg: var(--monster-card-raised);
  --bs-tertiary-bg-rgb: 248, 250, 252;
  --bs-secondary-bg: var(--monster-bg-soft);
  --bs-secondary-bg-rgb: 234, 240, 247;
  --bs-light-rgb: 248, 250, 252;
  --bs-dark: #172033;
  --bs-dark-rgb: 23, 32, 51;
  --bs-light: var(--monster-card-raised);
}

[data-bs-theme="dark"] {
  color-scheme: dark;
  --monster-bg: #080b12;
  --monster-bg-soft: #0c111a;
  --monster-card: #101722;
  --monster-card-raised: #131b28;
  --monster-border: rgba(255, 255, 255, .08);
  --monster-border-strong: rgba(255, 255, 255, .13);
  --monster-text: #f4f6f9;
  --monster-muted: #8995a7;
  --monster-accent: var(--monster-primary-light);
  --monster-text-soft: #cbd2dd;
  --monster-placeholder: #667286;
  --monster-table-text: #dce1e9;
  --monster-chip-text: #b7c0ce;
  --monster-input: #0c121c;
  --monster-input-focus: #0e1520;
  --monster-control: #0b111a;
  --monster-control-hover: #0d1520;
  --monster-control-border: rgba(255, 255, 255, .2);
  --monster-subtle-fill: rgba(255, 255, 255, .035);
  --monster-deep-fill: rgba(0, 0, 0, .12);
  --monster-table-head: rgba(255, 255, 255, .025);
  --monster-nav-bg: rgba(12, 17, 26, .9);
  --monster-nav-bg-soft: rgba(12, 17, 26, .82);
  --monster-grid-line: rgba(255, 255, 255, .025);
  --monster-warning-text: #f3c99f;
  --monster-danger-text: #ffd4db;
  --monster-shadow: 0 18px 50px rgba(0, 0, 0, .2);
  --monster-shadow-soft: 0 10px 30px rgba(0, 0, 0, .12);
  --monster-shadow-popover: 0 24px 60px rgba(0, 0, 0, .36);
  --app-modal-surface: var(--monster-card-raised);
  --app-modal-section-bg: linear-gradient(135deg, rgba(var(--monster-primary-rgb), .1), transparent 72%), var(--monster-card-raised);
  --app-modal-inset-bg: var(--monster-card);
  --app-modal-border: var(--monster-border-strong);
  --app-modal-divider: var(--monster-border);
  --app-modal-text: var(--monster-text);
  --app-modal-muted: var(--monster-muted);
  --app-modal-backdrop: rgba(0, 0, 0, .68);
  --app-modal-backdrop-mobile: rgba(0, 0, 0, .58);
  --app-modal-shadow: 0 30px 90px rgba(0, 0, 0, .55);
  --app-modal-radius: var(--monster-radius-lg);
  --bs-body-bg: var(--monster-bg);
  --bs-body-bg-rgb: 8, 11, 18;
  --bs-body-color: var(--monster-text);
  --bs-body-color-rgb: 244, 246, 249;
  --bs-secondary-color: var(--monster-muted);
  --bs-secondary-color-rgb: 137, 149, 167;
  --bs-primary: var(--monster-primary);
  --bs-primary-rgb: 139, 92, 246;
  --bs-link-color: var(--monster-primary-light);
  --bs-link-hover-color: color-mix(in srgb, var(--monster-primary) 62%, #fff 38%);
  --bs-border-color: var(--monster-border);
  --bs-border-color-translucent: var(--monster-border);
  --bs-card-bg: var(--monster-card);
  --bs-card-border-color: var(--monster-border);
  --bs-card-border-radius: var(--monster-radius);
  --bs-tertiary-bg: var(--monster-card-raised);
  --bs-tertiary-bg-rgb: 19, 27, 40;
  --bs-secondary-bg: var(--monster-bg-soft);
  --bs-secondary-bg-rgb: 12, 17, 26;
  --bs-light-rgb: 19, 27, 40;
  --bs-dark: #080b12;
  --bs-dark-rgb: 8, 11, 18;
  --bs-light: var(--monster-card-raised);
  --bs-dark-rgb: 8, 11, 18;
}

/* O ícone comunica a ação disponível: sol no Dark e lua no Light. */
[data-bs-theme="dark"] #light-dark-mode .light-mode {
  display: inline !important;
}

[data-bs-theme="dark"] #light-dark-mode .dark-mode {
  display: none !important;
}

[data-bs-theme="light"] #light-dark-mode .light-mode {
  display: none !important;
}

[data-bs-theme="light"] #light-dark-mode .dark-mode {
  display: inline !important;
}

html,
body {
  min-height: 100%;
  background: var(--monster-bg);
  color: var(--monster-text);
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body:not(.authentication-bg) {
  background:
    radial-gradient(circle at 86% -10%, rgba(var(--monster-primary-rgb), .10), transparent 28rem),
    radial-gradient(circle at -5% 55%, rgba(var(--monster-info-rgb), .045), transparent 26rem),
    var(--monster-bg);
}

h1, h2, h3, h4, h5, h6,
.page-title,
.tile-number,
.card-title,
.navbar-brand,
.app-page-title-copy {
  color: var(--monster-text);
  font-family: "Manrope", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
}

.text-muted,
.text-secondary,
small,
.form-text { color: var(--monster-muted) !important; }

.bg-body-tertiary,
.bg-light,
.bg-body-secondary,
.bg-light-subtle {
  color: var(--monster-text) !important;
  background-color: var(--monster-card-raised) !important;
}

.text-bg-light,
.text-bg-secondary { color: var(--monster-text) !important; }

/* Neutraliza superfícies Bootstrap cinzentas que ainda escapem no Dark Premium. */
[data-bs-theme="dark"] .bg-secondary,
[data-bs-theme="dark"] .bg-dark-subtle,
[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] .thead-light,
[data-bs-theme="dark"] .list-group-item,
[data-bs-theme="dark"] .accordion-item,
[data-bs-theme="dark"] .accordion-button,
[data-bs-theme="dark"] .alert-light,
[data-bs-theme="dark"] .nav-tabs,
[data-bs-theme="dark"] .nav-tabs .nav-link,
[data-bs-theme="dark"] .pagination,
[data-bs-theme="dark"] .page-link {
  color: var(--monster-text) !important;
  background-color: var(--monster-card) !important;
  border-color: var(--monster-border) !important;
}

[data-bs-theme="dark"] .accordion-button:not(.collapsed),
[data-bs-theme="dark"] .nav-tabs .nav-link.active,
[data-bs-theme="dark"] .page-item.active .page-link {
  color: var(--monster-text) !important;
  background: rgba(var(--monster-primary-rgb), .13) !important;
  border-color: rgba(var(--monster-primary-rgb), .24) !important;
}

[data-bs-theme="dark"] .modal-header.bg-light,
[data-bs-theme="dark"] .modal-footer.bg-light,
[data-bs-theme="dark"] .offcanvas-header.bg-light,
[data-bs-theme="dark"] .card-header.bg-light,
[data-bs-theme="dark"] .card-footer.bg-light {
  background: var(--monster-card-raised) !important;
  color: var(--monster-text) !important;
}

[data-bs-theme="dark"] .border-light,
[data-bs-theme="dark"] .border-secondary {
  border-color: var(--monster-border) !important;
}

[data-bs-theme="dark"] .form-control-plaintext,
[data-bs-theme="dark"] .input-group-text {
  color: var(--monster-text) !important;
  background-color: var(--monster-card) !important;
  border-color: var(--monster-border-strong) !important;
}

.app-credit-activity-summary,
.app-credit-activity-list,
.app-escrow-modal .bg-body-tertiary,
.app-escrow-orders-list {
  background:
    radial-gradient(circle at 100% 0, rgba(var(--monster-primary-rgb), .055), transparent 48%),
    var(--monster-card-raised) !important;
  border-color: var(--monster-border) !important;
  border-radius: var(--monster-radius) !important;
}

.app-credit-activity-summary > div {
  background: var(--monster-card) !important;
  border-color: var(--monster-border) !important;
  border-radius: var(--monster-radius-sm) !important;
}

.app-credit-activity-item { border-color: var(--monster-border) !important; }

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

.content-page > .content > .container-fluid { max-width: 1680px; }

.navbar-custom {
  background: var(--monster-nav-bg) !important;
  border-bottom: 1px solid var(--monster-border) !important;
  box-shadow: var(--monster-shadow-soft) !important;
  backdrop-filter: blur(18px);
}

.navbar-custom .nav-link,
.navbar-custom .button-menu-mobile,
.navbar-custom .nav-user { color: var(--monster-text) !important; }

.navbar-custom .logo-box,
html[data-topbar-color] .navbar-custom .logo-box,
html[data-sidebar-size] .navbar-custom .logo-box {
  background: var(--monster-bg-soft) !important;
  border-right: 1px solid var(--monster-border) !important;
  box-shadow: none !important;
}

.navbar-custom .logo-box .logo,
.navbar-custom .logo-box .logo-sm,
.navbar-custom .logo-box .logo-lg {
  background: transparent !important;
}

.topnav {
  background: var(--monster-nav-bg-soft) !important;
  border-bottom: 1px solid var(--monster-border) !important;
  box-shadow: none !important;
  backdrop-filter: blur(16px);
}

.topnav .navbar-nav .nav-link {
  color: var(--monster-muted) !important;
  font-weight: 600;
}

.topnav .navbar-nav .nav-link:hover,
.topnav .navbar-nav .nav-item.active .nav-link,
.topnav .navbar-nav .nav-link.show { color: var(--monster-text) !important; }

.topnav .navbar-nav > .nav-item > .nav-link {
  position: relative;
  margin: .36rem .12rem;
  padding: .62rem .78rem !important;
  border: 1px solid transparent;
  border-radius: 10px;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.topnav .navbar-nav > .nav-item > .nav-link:hover,
.topnav .navbar-nav > .nav-item > .nav-link.show {
  background: rgba(var(--monster-primary-rgb), .09) !important;
  border-color: rgba(var(--monster-primary-rgb), .16) !important;
}

.topnav .navbar-nav > .nav-item > .dropdown-menu {
  position: absolute;
  margin-top: .48rem !important;
  padding: .55rem !important;
  background:
    radial-gradient(circle at 18% 0, rgba(var(--monster-primary-rgb), .1), transparent 9rem),
    linear-gradient(150deg, var(--monster-card-raised), var(--monster-bg-soft)) !important;
  border-color: rgba(var(--monster-primary-light-rgb), .17) !important;
  border-radius: 13px !important;
  box-shadow: var(--monster-shadow-popover) !important;
}

.topnav .navbar-nav > .nav-item > .dropdown-menu::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 25px;
  width: 11px;
  height: 11px;
  background: var(--monster-card-raised);
  border-top: 1px solid rgba(var(--monster-primary-light-rgb), .24);
  border-left: 1px solid rgba(var(--monster-primary-light-rgb), .24);
  transform: rotate(45deg);
  z-index: 0;
}

.topnav .dropdown-menu .dropdown-item {
  position: relative;
  min-height: 39px;
  margin: 2px 0;
  padding: .56rem .68rem !important;
  border: 1px solid transparent;
  border-radius: 9px;
}

.topnav .dropdown-menu .dropdown-item:hover,
.topnav .dropdown-menu .dropdown-item.show {
  border-color: rgba(var(--monster-primary-rgb), .12);
  background: linear-gradient(90deg, rgba(var(--monster-primary-rgb), .13), rgba(var(--monster-primary-rgb), .045)) !important;
}

.topnav .dropdown-menu .dropdown-item .feather,
.topnav .dropdown-menu .dropdown-item > .bi {
  color: var(--monster-accent) !important;
  opacity: .88;
}

.topnav .dropdown-submenu > .dropdown-menu {
  margin-left: .5rem !important;
  background: linear-gradient(150deg, var(--monster-card-raised), var(--monster-bg-soft)) !important;
  border: 1px solid rgba(var(--monster-primary-light-rgb), .15) !important;
  border-radius: 12px !important;
  box-shadow: var(--monster-shadow-popover) !important;
}

.left-side-menu,
.app-vertical-sidebar {
  background: var(--monster-bg-soft) !important;
  border-right: 1px solid var(--monster-border) !important;
  box-shadow: none !important;
}

.app-vertical-sidebar { padding: .65rem 0 1.25rem !important; }
.app-vertical-sidebar #sidebar-menu .menu-title { display: none !important; }

@media (min-width: 992px) {
  html[data-layout-mode="detached"] .navbar-custom .button-menu-mobile { display: none !important; }
}

.left-side-menu .side-menu a {
  color: var(--monster-muted) !important;
  min-height: 43px;
  padding: .68rem .78rem !important;
  border: 1px solid transparent !important;
  border-radius: var(--monster-radius-sm) !important;
  margin: 3px 10px !important;
  overflow: hidden;
  box-shadow: none !important;
}

.left-side-menu .side-menu a::before,
.left-side-menu .side-menu a::after { max-width: 100%; }

.app-vertical-sidebar .side-menu > li > a[aria-expanded="true"] {
  overflow: visible;
  color: var(--monster-text) !important;
  background: linear-gradient(135deg, rgba(var(--monster-primary-rgb), .17), rgba(var(--monster-primary-rgb), .065)) !important;
  border-color: rgba(var(--monster-primary-rgb), .18) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .12) !important;
}

.app-vertical-sidebar .side-menu > li > a[aria-expanded="true"]::after {
  content: "";
  position: absolute;
  left: 31px;
  bottom: -7px;
  width: 12px;
  height: 12px;
  background: var(--monster-card);
  border-right: 1px solid rgba(var(--monster-primary-light-rgb), .22);
  border-bottom: 1px solid rgba(var(--monster-primary-light-rgb), .22);
  transform: rotate(45deg);
  z-index: 4;
  pointer-events: none;
}

.app-vertical-sidebar .side-menu > li > a[aria-expanded="true"] .menu-arrow {
  color: var(--monster-accent) !important;
}

.left-side-menu .side-menu a:hover,
.left-side-menu .side-menu li.mm-active > a,
.left-side-menu .side-menu a.active {
  color: var(--monster-text) !important;
  background: linear-gradient(135deg, rgba(var(--monster-primary-rgb), .17), rgba(var(--monster-primary-rgb), .07)) !important;
  border-color: rgba(var(--monster-primary-rgb), .16) !important;
  box-shadow: none !important;
}

.app-vertical-sidebar #sidebar-menu .collapse,
.app-vertical-sidebar #sidebar-menu .collapsing,
.app-vertical-sidebar .nav-second-level,
.app-vertical-sidebar .nav-third-level {
  position: static !important;
  width: auto !important;
  background: color-mix(in srgb, var(--monster-bg) 86%, transparent) !important;
  box-shadow: none !important;
}

.app-vertical-sidebar .nav-second-level,
.app-vertical-sidebar .nav-third-level {
  margin: .42rem 10px .55rem 22px !important;
  padding: .42rem !important;
  border: 1px solid var(--monster-border) !important;
  border-color: rgba(var(--monster-primary-light-rgb), .13) !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 10% 0, rgba(var(--monster-primary-rgb), .075), transparent 8rem),
    color-mix(in srgb, var(--monster-bg) 90%, transparent) !important;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 10px 26px rgba(0, 0, 0, .12) !important;
}

.app-vertical-sidebar .nav-third-level {
  margin: .38rem 3px .25rem 10px !important;
  background: linear-gradient(145deg, var(--monster-card-raised), var(--monster-bg-soft)) !important;
  border-color: rgba(var(--monster-primary-light-rgb), .16) !important;
}

.app-vertical-sidebar .nav-second-level > li > a[aria-expanded="true"] {
  overflow: visible;
  color: var(--monster-text) !important;
  background: rgba(var(--monster-primary-rgb), .11) !important;
  border-color: rgba(var(--monster-primary-rgb), .14) !important;
}

.app-vertical-sidebar .nav-second-level > li > a[aria-expanded="true"]::after {
  content: "";
  position: absolute;
  left: 23px;
  bottom: -6px;
  width: 10px;
  height: 10px;
  background: var(--monster-card-raised);
  border-right: 1px solid rgba(var(--monster-primary-light-rgb), .2);
  border-bottom: 1px solid rgba(var(--monster-primary-light-rgb), .2);
  transform: rotate(45deg);
  z-index: 4;
}

.app-vertical-sidebar .nav-second-level a,
.app-vertical-sidebar .nav-third-level a {
  color: var(--monster-muted) !important;
  background: transparent !important;
  border-radius: 9px !important;
  min-height: 36px;
  margin: 2px 0 !important;
  padding: .5rem .62rem !important;
  font-size: .79rem !important;
  box-shadow: none !important;
}

.app-vertical-sidebar .nav-second-level a:hover,
.app-vertical-sidebar .nav-third-level a:hover,
.app-vertical-sidebar .nav-second-level li.active > a,
.app-vertical-sidebar .nav-third-level li.active > a {
  color: var(--monster-text) !important;
  background: rgba(var(--monster-primary-rgb), .10) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#mobileNav,
#mobileNav .offcanvas-header,
#mobileNav .offcanvas-body { background: var(--monster-bg-soft) !important; }

#mobileNav .mobile-nav-sub,
#mobileNav .mobile-nav-sub2 {
  background: rgba(var(--monster-primary-rgb), .045) !important;
  border-color: var(--monster-border) !important;
}

#mobileNav .mobile-nav-item,
#mobileNav .mobile-nav-sub-item,
#mobileNav .mobile-nav-sub2-item {
  color: var(--monster-muted) !important;
  border-color: var(--monster-border) !important;
}

#mobileNav .mobile-nav-item:hover,
#mobileNav .mobile-nav-sub-item:hover,
#mobileNav .mobile-nav-sub2-item:hover,
#mobileNav .mobile-nav-toggle:not(.collapsed) {
  color: var(--monster-text) !important;
  background: rgba(var(--monster-primary-rgb), .10) !important;
}

.card,
.modal-content,
.offcanvas,
.dropdown-menu,
.app-client-table-shell,
.gridjs-container,
fieldset.dashboard-section {
  color: var(--monster-text);
  background: linear-gradient(145deg, var(--monster-card-raised), var(--monster-card)) !important;
  border: 1px solid var(--monster-border) !important;
  border-radius: var(--monster-radius-lg) !important;
  box-shadow: var(--monster-shadow);
}

.card { overflow: hidden; }
.card-header,
.card-footer,
.modal-header,
.modal-footer,
.offcanvas-header {
  color: var(--monster-text);
  background: transparent !important;
  border-color: var(--monster-border) !important;
}

.dropdown-menu {
  padding: .45rem;
  box-shadow: var(--monster-shadow-popover) !important;
}

.dropdown-item {
  color: var(--monster-muted);
  border-radius: 9px;
  padding: .6rem .72rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: var(--monster-text);
  background: rgba(var(--monster-primary-rgb), .12);
}

.form-control,
.form-select,
.input-group-text,
.gridjs-input {
  min-height: 36px;
  padding: .42rem .65rem;
  color: var(--monster-text) !important;
  background-color: var(--monster-input) !important;
  border: 1px solid var(--monster-border-strong) !important;
  border-radius: var(--monster-radius-sm) !important;
}

/* Bento UI: controles compactos e consistentes sem perder legibilidade. */
.form-control-sm,
.form-select-sm,
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text {
  min-height: 32px !important;
  padding: .34rem .55rem;
  font-size: .8rem;
}

textarea.form-control:not(.form-control-sm) {
  min-height: 92px;
}

.settings-nav-link {
  min-height: 36px !important;
  padding: .4rem .62rem !important;
  border-radius: 10px !important;
}

.form-check-input {
  width: 1.12rem;
  height: 1.12rem;
  min-height: 0 !important;
  margin-top: .18rem;
  vertical-align: top;
  cursor: pointer;
  background-color: var(--monster-control) !important;
  border: 1px solid var(--monster-control-border) !important;
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--monster-text) 12%, transparent) !important;
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.form-check-input[type="checkbox"] { border-radius: 5px !important; }
.form-check-input[type="radio"] { border-radius: 50% !important; }

.form-check-input:hover:not(:disabled) {
  border-color: rgba(var(--monster-primary-light-rgb), .62) !important;
}

.form-check-input:focus {
  border-color: rgba(var(--monster-primary-light-rgb), .82) !important;
  box-shadow: 0 0 0 3px rgba(var(--monster-primary-rgb), .16) !important;
}

.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--monster-primary) !important;
  border-color: var(--monster-primary-light) !important;
  box-shadow: 0 5px 13px rgba(var(--monster-primary-rgb), .24) !important;
}

.form-check-input:checked[type="checkbox"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='m5 10 3 3 7-7'/%3e%3c/svg%3e") !important;
}

.form-check-input:checked[type="radio"] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e") !important;
}

.form-switch { min-height: 1.35rem; }
.form-switch .form-check-input {
  width: 2rem;
  height: 1.125rem;
  min-height: 1.125rem !important;
  margin-top: .02rem;
  border-radius: 999px !important;
  background-color: var(--monster-control) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238995a7'/%3e%3c/svg%3e") !important;
  background-position: left center;
  background-size: contain;
  box-shadow: inset 0 1px 4px color-mix(in srgb, var(--monster-text) 14%, transparent) !important;
}

.form-switch .form-check-input:hover:not(:disabled) {
  background-color: var(--monster-control-hover) !important;
}

.form-switch .form-check-input:checked {
  background-color: var(--monster-primary) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
  background-position: right center;
  border-color: var(--monster-primary-light) !important;
  box-shadow: 0 6px 16px rgba(var(--monster-primary-rgb), .25) !important;
}

.form-check-input:disabled {
  cursor: not-allowed;
  opacity: .42;
  filter: saturate(.55);
}

.form-check-label { color: var(--monster-text-soft); cursor: pointer; }
.form-check-input:disabled ~ .form-check-label { color: var(--monster-muted) !important; cursor: not-allowed; }

.form-control::placeholder,
.gridjs-input::placeholder { color: var(--monster-placeholder); opacity: 1; }

.form-control:focus,
.form-select:focus,
.gridjs-input:focus {
  background-color: var(--monster-input-focus) !important;
  border-color: rgba(var(--monster-primary-rgb), .72) !important;
  box-shadow: 0 0 0 3px rgba(var(--monster-primary-rgb), .14) !important;
}

.form-label {
  color: var(--monster-text-soft);
  font-size: .82rem;
  font-weight: 600;
}

.btn {
  min-height: 36px;
  padding: .42rem .78rem;
  border-radius: var(--monster-radius-sm);
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: -.005em;
  box-shadow: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.btn-sm {
  min-height: 32px;
  padding: .34rem .62rem;
  font-size: .78rem;
  border-radius: 9px;
}

.btn-lg {
  min-height: 40px;
  padding: .55rem .95rem;
  border-radius: 11px;
}

/* Input + ação: uma única superfície Bento, sem frestas entre as peças. */
.input-group > .form-control,
.input-group > .form-select,
.input-group > .input-group-text,
.input-group > .btn {
  min-height: 36px;
}

.input-group > :first-child {
  border-top-left-radius: var(--monster-radius-sm) !important;
  border-bottom-left-radius: var(--monster-radius-sm) !important;
}

.input-group > :last-child {
  border-top-right-radius: var(--monster-radius-sm) !important;
  border-bottom-right-radius: var(--monster-radius-sm) !important;
}

.input-group > :not(:first-child) {
  margin-left: -1px;
}

.input-group > .btn {
  padding-right: .78rem;
  padding-left: .78rem;
  border-color: var(--monster-border-strong) !important;
}

.input-group-sm > .btn {
  min-height: 32px;
  padding: .34rem .62rem;
}

/* O mesmo acabamento do campo pesquisaGlobal em todos os drawers e toolbars. */
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .form-control,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .form-select,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .input-group-text,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .btn,
#drawerGlobal .form-control,
#drawerGlobal .form-select,
#drawerGlobal .input-group-text,
#drawerGlobal .btn:not(.btn-action-mini):not(.btn-close) {
  min-height: 36px !important;
  padding-top: .42rem;
  padding-bottom: .42rem;
}

/* Controle composto Bento global: ícone, campo e sufixo formam uma única superfície. */
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) {
  min-height: 36px;
  flex-wrap: nowrap;
  align-items: stretch;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--monster-input);
  border: 1px solid var(--monster-border-strong);
  border-radius: var(--monster-radius-sm);
  box-shadow: inset 0 1px 0 rgba(var(--monster-primary-rgb), .035);
  transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)):hover:not(:focus-within) {
  border-color: rgba(var(--monster-primary-rgb), .32);
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)):focus-within {
  background-color: var(--monster-input-focus);
  border-color: rgba(var(--monster-primary-rgb), .72);
  box-shadow: 0 0 0 3px rgba(var(--monster-primary-rgb), .14), inset 0 1px 0 rgba(var(--monster-primary-rgb), .06);
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .form-control,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .form-select,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .input-group-text {
  min-width: 0;
  min-height: 34px !important;
  margin-left: 0 !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .form-control:focus,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .form-select:focus {
  background-color: transparent !important;
  box-shadow: none !important;
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .input-group-text:first-child {
  min-width: 40px;
  justify-content: center;
  padding-right: .55rem;
  padding-left: .55rem;
  color: var(--monster-accent) !important;
  background: linear-gradient(135deg, rgba(var(--monster-primary-rgb), .15), rgba(var(--monster-primary-rgb), .055)) !important;
  border-right: 1px solid rgba(var(--monster-primary-rgb), .16) !important;
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .input-group-text:first-child > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .92rem;
  line-height: 1;
  transition: color .16s ease, transform .16s ease;
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)):hover > .input-group-text:first-child > i,
.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)):focus-within > .input-group-text:first-child > i {
  color: var(--monster-accent);
  transform: translateY(-1px);
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .input-group-text:last-child:not(:first-child) {
  color: var(--monster-muted) !important;
  background-color: var(--monster-subtle-fill) !important;
  border-left: 1px solid var(--monster-border) !important;
}

.input-group:where(:not(.import-input-group):not(.app-modal-extra-copy-group)) > .btn {
  min-height: 34px !important;
  margin-left: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 1px solid var(--monster-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#drawerGlobal .input-group > .form-control,
#drawerGlobal .input-group > .form-select,
#drawerGlobal .input-group > .input-group-text,
#drawerGlobal .input-group > .btn:not(.btn-action-mini):not(.btn-close) {
  border-radius: 0 !important;
}

#drawerGlobal .input-group > :first-child {
  border-top-left-radius: var(--monster-radius-sm) !important;
  border-bottom-left-radius: var(--monster-radius-sm) !important;
}

#drawerGlobal .input-group > :last-child {
  border-top-right-radius: var(--monster-radius-sm) !important;
  border-bottom-right-radius: var(--monster-radius-sm) !important;
}

.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, var(--monster-primary), color-mix(in srgb, var(--monster-primary) 78%, #000 22%)) !important;
  border-color: rgba(var(--monster-primary-light-rgb), .42) !important;
  box-shadow: 0 9px 24px rgba(var(--monster-primary-rgb), .22) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  transform: translateY(-1px);
  background: linear-gradient(135deg, color-mix(in srgb, var(--monster-primary) 72%, #fff 28%), color-mix(in srgb, var(--monster-primary) 86%, #000 14%)) !important;
  box-shadow: 0 12px 30px rgba(var(--monster-primary-rgb), .3) !important;
}

.btn-outline-primary {
  color: var(--monster-accent) !important;
  border-color: rgba(var(--monster-primary-rgb), .42) !important;
  background: rgba(var(--monster-primary-rgb), .06) !important;
}

.btn-outline-secondary,
.btn-light,
.btn-secondary {
  color: var(--monster-text-soft) !important;
  border-color: var(--monster-border-strong) !important;
  background: var(--monster-subtle-fill) !important;
}

.table,
.gridjs-table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--monster-text);
  --bs-table-border-color: var(--monster-border);
  color: var(--monster-text) !important;
}

.table thead th,
.gridjs-th {
  color: var(--monster-muted) !important;
  background: var(--monster-table-head) !important;
  border-color: var(--monster-border) !important;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.table td,
.gridjs-td {
  color: var(--monster-table-text) !important;
  background: transparent !important;
  border-color: var(--monster-border) !important;
}

.table-hover > tbody > tr:hover > *,
.gridjs-tr:hover .gridjs-td { background: rgba(var(--monster-primary-rgb), .045) !important; }

/* Avisos informativos discretos, no mesmo acabamento dos cartões Bento. */
.alert.alert-warning {
  color: var(--monster-warning-text) !important;
  background: rgba(var(--monster-warning-rgb), .08) !important;
  border: 1px solid rgba(var(--monster-warning-rgb), .2) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.alert.alert-warning > i,
.alert.alert-warning .bi {
  color: var(--monster-warning) !important;
  opacity: .9;
}

/* Radio-buttons de período do DNS: o input é invisível, então o label precisa
   receber explicitamente o estado selecionado no tema Bento. */
.dns-years-group .btn-check:checked + .btn,
.dns-years-group .btn-check:focus-visible + .btn {
  color: #fff !important;
  background: var(--monster-primary) !important;
  border-color: var(--monster-primary) !important;
  box-shadow: 0 5px 14px rgba(var(--monster-primary-rgb), .2) !important;
}

.dns-years-group .btn-check:not(:checked) + .btn {
  color: var(--monster-muted) !important;
  background: transparent !important;
  border-color: var(--monster-border-strong) !important;
}

#renewPromotionBox {
  gap: .7rem !important;
  padding: .58rem .72rem !important;
  font-size: .78rem !important;
  line-height: 1.35;
}

#renewPromotionBox > span {
  min-width: 0;
}

/* Sidebar integrada ao fundo, sem a linha vertical de separação. */
.left-side-menu,
.app-vertical-sidebar,
.navbar-custom .logo-box,
html[data-topbar-color] .navbar-custom .logo-box,
html[data-sidebar-size] .navbar-custom .logo-box {
  border-right: 0 !important;
}

/* Continuidade da linha inferior do topbar também sob o bloco da logo. */
.navbar-custom .logo-box,
html[data-topbar-color] .navbar-custom .logo-box,
html[data-sidebar-size] .navbar-custom .logo-box {
  border-bottom: 1px solid var(--monster-border) !important;
}

/* O cabeçalho de etapas do drawer herda a superfície do próprio painel. */
.client-add-progress-wrap {
  background: transparent !important;
  border-bottom: 0 !important;
}

.client-add-progress-wrap .rs-add-progress-item {
  background: var(--monster-card) !important;
}

.client-add-progress-wrap .rs-add-progress-item.is-active {
  background: rgba(var(--monster-primary-rgb), .08) !important;
}

/* Títulos de todos os drawers seguem a mesma hierarquia dos títulos de página. */
#drawerGlobal .drawer-header-title,
.offcanvas .drawer-header-title {
  color: var(--monster-text) !important;
  font-family: "Manrope", system-ui, sans-serif !important;
  font-weight: 750 !important;
  letter-spacing: -.02em;
}

#drawerGlobal .app-drawer-header [data-drawer-icon],
.offcanvas .app-drawer-header [data-drawer-icon] {
  color: var(--monster-accent) !important;
}

.badge,
.app-status-pill { border-radius: 999px !important; }

.bg-success,
.text-bg-success { background-color: var(--monster-success) !important; }
.bg-warning,
.text-bg-warning { background-color: var(--monster-warning) !important; }
.bg-info,
.text-bg-info { background-color: var(--monster-info) !important; }

.tilebox-one {
  min-height: 132px;
  background:
    radial-gradient(circle at 100% 0, rgba(var(--monster-primary-rgb), .12), transparent 48%),
    var(--monster-card) !important;
  border: 1px solid var(--monster-border) !important;
  border-radius: var(--monster-radius-lg) !important;
  box-shadow: none !important;
}

.tilebox-one:hover {
  border-color: rgba(var(--monster-primary-rgb), .24) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .18) !important;
  transform: translateY(-2px);
}

.page-title-box,
.app-page-title { margin-bottom: 1.5rem !important; }

.app-page-title-icon,
.settings-page-icon {
  background: linear-gradient(145deg, rgba(var(--monster-primary-rgb), .2), rgba(var(--monster-primary-rgb), .08)) !important;
  border-color: rgba(var(--monster-primary-rgb), .26) !important;
  border-radius: var(--monster-radius) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.footer {
  color: var(--monster-muted) !important;
  background: transparent !important;
  border-top-color: var(--monster-border) !important;
}

.authentication-bg {
  background:
    radial-gradient(circle at 18% 12%, rgba(var(--monster-primary-rgb), .19), transparent 31rem),
    radial-gradient(circle at 86% 84%, rgba(var(--monster-info-rgb), .09), transparent 28rem),
    var(--monster-bg) !important;
}

.authentication-bg::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image: linear-gradient(var(--monster-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--monster-grid-line) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

.authentication-bg .card {
  max-width: 470px;
  margin-inline: auto;
  background: linear-gradient(145deg, var(--monster-card-raised), var(--monster-bg-soft)) !important;
  border: 1px solid var(--monster-border-strong) !important;
  box-shadow: var(--monster-shadow-popover) !important;
  backdrop-filter: blur(20px);
}

.authentication-bg .card-body { padding: clamp(1.5rem, 4vw, 2.5rem) !important; }
.authentication-bg #intro-screen { background: var(--monster-bg) !important; }
.authentication-bg #msgErro.msg-min {
  color: var(--monster-danger-text);
  background: rgba(var(--monster-danger-rgb), .08);
  border-color: rgba(var(--monster-danger-rgb), .2);
}

@media (max-width: 991.98px) {
  .content-page > .content > .container-fluid { padding: 1.15rem !important; }
  .navbar-custom { backdrop-filter: blur(14px); }
  .card { border-radius: var(--monster-radius) !important; }
}

@media (max-width: 575.98px) {
  .authentication-bg { padding: 12px !important; }
  .authentication-bg .card-body { padding: 1.35rem !important; }
  .page-title-box,
  .app-page-title { margin-bottom: 1rem !important; }
}

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

/* Dashboard Bento */
.app-dashboard-toolbar {
  padding: .85rem !important;
  margin-bottom: 1.5rem !important;
  background: color-mix(in srgb, var(--monster-card) 88%, transparent) !important;
  border: 1px solid var(--monster-border) !important;
  border-radius: var(--monster-radius-lg) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, .14) !important;
  backdrop-filter: blur(16px);
}

.app-dashboard-section { margin-bottom: 1.8rem !important; }
.app-dashboard-section-head { margin-bottom: .8rem !important; }
.app-dashboard-section-label {
  color: var(--monster-text) !important;
  font-family: "Manrope", system-ui, sans-serif;
  font-size: .9rem !important;
  font-weight: 750 !important;
  letter-spacing: -.015em;
}
.app-dashboard-section-label i { color: var(--monster-accent) !important; }

.app-dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 1rem !important;
}

.app-dashboard-kpi-card {
  grid-column: span 3;
  min-height: 142px !important;
  padding: 1rem !important;
  background:
    radial-gradient(circle at 100% 0, rgba(var(--monster-primary-rgb), .13), transparent 52%),
    linear-gradient(145deg, var(--monster-card-raised), var(--monster-card)) !important;
  border: 1px solid var(--monster-border) !important;
  border-radius: var(--monster-radius-lg) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .15) !important;
}

.app-dashboard-section[data-tour-target="dashboard-finance"] .app-dashboard-kpi-card:nth-child(-n+2) { grid-column: span 4; }
.app-dashboard-section[data-tour-target="dashboard-finance"] .app-dashboard-kpi-card:nth-child(n+3) { grid-column: span 2; }

.app-dashboard-kpi-card:hover {
  border-color: rgba(var(--monster-primary-rgb), .27) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 19px 44px rgba(0, 0, 0, .22) !important;
}

.app-dashboard-kpi-icon {
  width: 38px !important;
  height: 38px !important;
  color: var(--monster-accent) !important;
  background: rgba(var(--monster-primary-rgb), .12) !important;
  border: 1px solid rgba(var(--monster-primary-rgb), .2) !important;
  border-radius: 11px !important;
}

.app-dashboard-kpi-label { color: var(--monster-muted) !important; font-weight: 600 !important; }
.app-dashboard-kpi-value {
  color: var(--monster-text) !important;
  font-family: "Manrope", system-ui, sans-serif !important;
  font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
  font-weight: 750 !important;
  letter-spacing: -.045em !important;
}

.app-dashboard-pill {
  color: var(--monster-chip-text) !important;
  background: var(--monster-subtle-fill) !important;
  border-color: var(--monster-border) !important;
}
.app-dashboard-pill.is-live {
  color: var(--monster-success) !important;
  background: rgba(var(--monster-success-rgb), .08) !important;
  border-color: rgba(var(--monster-success-rgb), .2) !important;
}

.app-dashboard-chart-card {
  background:
    radial-gradient(circle at 85% 0, rgba(var(--monster-info-rgb), .055), transparent 45%),
    linear-gradient(145deg, var(--monster-card-raised), var(--monster-card)) !important;
}
.app-dashboard-chart-card .card-body { padding: 1.15rem !important; }
.app-dashboard-chart-title { color: var(--monster-text) !important; font-family: "Manrope", sans-serif; }
.app-dashboard-chart-title i { color: var(--monster-accent) !important; }

@media (max-width: 1199.98px) {
  .app-dashboard-kpi-card,
  .app-dashboard-section[data-tour-target="dashboard-finance"] .app-dashboard-kpi-card:nth-child(n) { grid-column: span 6; }
}

@media (max-width: 767.98px) {
  .app-dashboard-grid { grid-template-columns: 1fr !important; }
  .app-dashboard-kpi-card,
  .app-dashboard-section[data-tour-target="dashboard-finance"] .app-dashboard-kpi-card:nth-child(n) { grid-column: 1; min-height: 116px !important; }
  .app-dashboard-toolbar { padding: .7rem !important; }
}

/* Menu lateral expandido: hierarquia em trilho, sem cards aninhados. */
@media (min-width: 992px) {
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar {
    width: 272px !important;
    padding: 0 !important;
    background: var(--monster-bg-soft) !important;
    border: 0 !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .navbar-custom .logo-box {
    width: 272px !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .content-page {
    margin-left: 272px !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar #sidebar-menu {
    padding: .72rem .62rem 1.4rem !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu ul {
    margin: 0 !important;
    list-style: none !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li {
    margin: .18rem 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a[aria-expanded="true"] {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: .68rem;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: .62rem .74rem !important;
    overflow: visible !important;
    color: var(--monster-muted) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    font-size: .86rem;
    font-weight: 650;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a:hover {
    color: var(--monster-text) !important;
    background: rgba(var(--monster-primary-rgb), .065) !important;
    border-color: rgba(var(--monster-primary-rgb), .1) !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a[aria-expanded="true"],
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li.active > a,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li.mm-active > a,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a.active {
    color: var(--monster-text) !important;
    background: linear-gradient(135deg, rgba(var(--monster-primary-rgb), .14), rgba(var(--monster-primary-rgb), .035)) !important;
    border-color: rgba(var(--monster-primary-rgb), .2) !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a::after,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level > li > a::after {
    display: none !important;
    content: none !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a > svg,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > a > i {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    color: var(--monster-accent) !important;
    opacity: .9;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu .menu-arrow {
    margin-left: auto;
    color: var(--monster-muted) !important;
    opacity: .62;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar a[aria-expanded="true"] .menu-arrow {
    color: var(--monster-accent) !important;
    opacity: 1;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .side-menu > li > .collapse,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level > li > .collapse {
    position: static !important;
    width: auto !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level {
    display: block;
    position: static !important;
    width: auto !important;
    margin: .18rem .12rem .45rem 1.18rem !important;
    padding: .12rem 0 .18rem .72rem !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(var(--monster-primary-rgb), .24) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level {
    display: block;
    position: static !important;
    width: auto !important;
    margin: .12rem 0 .2rem .55rem !important;
    padding: .08rem 0 .1rem .62rem !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px dashed rgba(var(--monster-primary-light-rgb), .28) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level a,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level a {
    position: relative;
    display: flex !important;
    align-items: center;
    gap: .52rem;
    width: 100% !important;
    min-height: 36px !important;
    margin: .06rem 0 !important;
    padding: .45rem .62rem !important;
    color: var(--monster-muted) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: .8rem !important;
    font-weight: 500;
    transition: color .15s ease, background-color .15s ease;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level a {
    min-height: 34px !important;
    font-size: .77rem !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level a:hover,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level a:hover,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level > li > a[aria-expanded="true"] {
    color: var(--monster-text) !important;
    background: rgba(var(--monster-primary-rgb), .065) !important;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level li.active > a,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level li.active > a,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level a.active,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level a.active {
    color: var(--monster-text) !important;
    background: rgba(var(--monster-primary-rgb), .12) !important;
    font-weight: 650;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level a > svg,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level a > svg,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level a > i,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level a > i {
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    color: color-mix(in srgb, var(--monster-accent) 62%, var(--monster-muted) 38%) !important;
    opacity: .8;
  }

  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level li.active > a > svg,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-second-level li.active > a > i,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level li.active > a > svg,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar .nav-third-level li.active > a > i,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar a.active > svg,
  html[data-layout-mode="detached"]:not([data-sidebar-size="condensed"]) .app-vertical-sidebar a.active > i {
    color: var(--monster-accent) !important;
    opacity: 1;
  }
}

/* Estado compacto: ícones em botões quadrados, com a mesma identidade do painel */
@media (min-width: 992px) {
  html[data-layout-mode="detached"] .navbar-custom .button-menu-mobile {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin: 0 .55rem;
    padding: 0;
    color: var(--monster-muted) !important;
    background: var(--monster-card) !important;
    border: 1px solid var(--monster-border) !important;
    border-radius: 10px;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
  }

  html[data-layout-mode="detached"] .navbar-custom .button-menu-mobile:hover {
    color: var(--monster-text) !important;
    background: rgba(var(--monster-primary-rgb), .12) !important;
    border-color: rgba(var(--monster-primary-rgb), .24) !important;
    transform: translateY(-1px);
  }

  html[data-layout-mode="detached"] .navbar-custom .button-menu-mobile svg { width: 18px; height: 18px; }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar {
    width: 84px !important;
    padding: .72rem .42rem 1.2rem !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .content-page { margin-left: 84px !important; }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li { margin: .3rem 0 !important; }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a[aria-expanded="true"] {
    display: flex !important;
    align-items: center !important;
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    border-radius: 13px !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a > span:not(.menu-arrow) {
    display: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a .menu-arrow,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .nav-second-level,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .nav-third-level {
    display: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a > svg,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a > i {
    display: block !important;
    flex: 0 0 23px !important;
    width: 23px !important;
    min-width: 23px !important;
    height: 23px !important;
    margin: 0 !important;
    color: var(--monster-accent) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a:hover,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li.mm-active > a {
    transform: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li > a[aria-expanded="true"]::after {
    display: none !important;
    content: none !important;
  }
}

/* Acabamento do botão e flyouts do modo compacto */
@media (min-width: 992px) {
  html[data-layout-mode="detached"] .navbar-custom .topnav-menu-left > li:first-child {
    display: inline-flex !important;
    align-items: center !important;
    height: var(--bs-topbar-height, 70px) !important;
  }

  html[data-layout-mode="detached"] .navbar-custom .button-menu-mobile {
    position: relative;
    top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: middle;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .h-100,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar #sidebar-menu,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .simplebar-wrapper,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .simplebar-mask,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .simplebar-content-wrapper {
    overflow: visible !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li {
    position: relative;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: calc(100% + .55rem) !important;
    width: 248px !important;
    min-width: 248px !important;
    margin: 0 !important;
    padding: .38rem !important;
    z-index: 1200 !important;
    background: var(--monster-card-raised) !important;
    border: 1px solid var(--monster-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.32) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > ul,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing > ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing a {
    display: flex !important;
    width: 100% !important;
    min-height: 38px !important;
    justify-content: flex-start !important;
    padding: .5rem .65rem !important;
    color: var(--monster-muted) !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse a span:not(.menu-arrow),
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing a span:not(.menu-arrow) {
    display: inline !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Terceiro nível: abre para a direita do segundo nível, sem ficar cortado */
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-second-level > li,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing .nav-second-level > li {
    position: relative !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-second-level .nav-third-level,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing .nav-second-level .nav-third-level {
    display: none !important;
    position: absolute !important;
    top: -.38rem !important;
    left: calc(100% + .55rem) !important;
    width: 228px !important;
    min-width: 228px !important;
    margin: 0 !important;
    padding: .38rem !important;
    z-index: 1210 !important;
    background: var(--monster-card-raised) !important;
    border: 1px solid var(--monster-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.32) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-second-level > li:hover > .nav-third-level,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing .nav-second-level > li:hover > .nav-third-level {
    display: block !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-third-level a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing .nav-third-level a {
    display: flex !important;
    width: 100% !important;
    min-height: 36px !important;
    padding: .48rem .62rem !important;
    color: var(--monster-muted) !important;
    white-space: nowrap !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-third-level a span:not(.menu-arrow),
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapsing .nav-third-level a span:not(.menu-arrow) {
    display: inline !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Streams, Banners e Integrações usam um collapse aninhado dentro de Ferramentas */
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .side-menu > li,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > ul > li {
    position: relative !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .side-menu > li:hover > .collapse,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > ul > li:hover > .collapse,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .side-menu > li:hover > .collapsing,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > ul > li:hover > .collapsing {
    display: block !important;
    position: absolute !important;
    top: -.38rem !important;
    left: calc(100% + .55rem) !important;
    width: 228px !important;
    min-width: 228px !important;
    margin: 0 !important;
    padding: .38rem !important;
    z-index: 1220 !important;
    background: var(--monster-card-raised) !important;
    border: 1px solid var(--monster-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.32) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .side-menu > li:hover > .collapse a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > ul > li:hover > .collapse a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .side-menu > li:hover > .collapsing a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > ul > li:hover > .collapsing a {
    display: flex !important;
    width: 100% !important;
    min-height: 36px !important;
    justify-content: flex-start !important;
    padding: .48rem .62rem !important;
    color: var(--monster-muted) !important;
    white-space: nowrap !important;
  }

  /* Conteúdo interno dos flyouts aninhados (ex.: Streams) */
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-third-level {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-third-level > li,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-third-level > li > a {
    display: flex !important;
    width: 100% !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse .nav-third-level > li > a span:not(.menu-arrow) {
    display: inline !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* A lista principal de Ferramentas também precisa ser reativada no flyout */
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .nav-second-level {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .nav-second-level > li,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .app-vertical-sidebar .side-menu > li:hover > .collapse > .nav-second-level > li > a {
    display: flex !important;
    width: 100% !important;
  }
}

/* Estrutura definitiva dos flyouts compactos: Ferramentas > Streams */
@media (min-width: 992px) {
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    width: 248px !important;
    min-width: 248px !important;
    margin: 0 !important;
    padding: .38rem !important;
    z-index: 1200 !important;
    background: var(--monster-card-raised) !important;
    border: 1px solid var(--monster-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.32) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] .side-menu > li:hover > #sidebarFerramentas,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas .side-menu > li:hover > [id^="sidebarTool"] {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] > .nav-third-level {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] > .nav-third-level {
    height: auto !important;
    max-height: none !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level > li,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] > .nav-third-level > li {
    position: relative !important;
    display: block !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] a {
    display: flex !important;
    width: 100% !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: .48rem .62rem !important;
    color: var(--monster-muted) !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas a:hover,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] a:hover {
    color: var(--monster-text) !important;
    background: rgba(var(--monster-primary-rgb), .1) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas a span:not(.menu-arrow),
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] [id^="sidebarTool"] a span:not(.menu-arrow) {
    display: inline !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* Estrutura real: Ferramentas usa nav-second-level, incluindo Streams */
@media (min-width: 992px) {
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level > li:hover > [id^="sidebarTool"] {
    display: block !important;
    position: absolute !important;
    top: -.38rem !important;
    left: 100% !important;
    width: 228px !important;
    min-width: 228px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: .38rem !important;
    overflow: visible !important;
    visibility: visible !important;
    z-index: 1230 !important;
    background: var(--monster-card-raised) !important;
    border: 1px solid var(--monster-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.32) !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level > li:hover > [id^="sidebarTool"] > .nav-third-level {
    display: block !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level > li:hover > [id^="sidebarTool"] > .nav-third-level > li,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebarFerramentas > .nav-second-level > li:hover > [id^="sidebarTool"] > .nav-third-level > li > a {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
  }
}

/* Todos os menus de primeiro nível do modo compacto abrem lateralmente */
@media (min-width: 992px) {
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li {
    position: relative !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    width: 248px !important;
    min-width: 248px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: .38rem !important;
    overflow: visible !important;
    visibility: visible !important;
    z-index: 1190 !important;
    background: var(--monster-card-raised) !important;
    border: 1px solid var(--monster-border-strong) !important;
    border-radius: 12px !important;
    box-shadow: var(--monster-shadow-popover), inset 0 1px 0 rgba(var(--monster-primary-rgb), .08) !important;
  }

  /* Seta do submenu flutuante: conecta visualmente o painel ao ícone ativo. */
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse::before,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing::before,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse::after,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    pointer-events: none;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse::before,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing::before {
    top: 18px;
    left: -11px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 11px solid var(--monster-border-strong);
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse::after,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing::after {
    top: 19px;
    left: -9px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 10px solid var(--monster-card-raised);
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse > ul,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing > ul {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapse > ul > li > a,
  html[data-layout-mode="detached"][data-sidebar-size="condensed"] #sidebar-menu > .side-menu > li:hover > .collapsing > ul > li > a {
    display: flex !important;
    position: static !important;
    width: 100% !important;
    min-height: 38px !important;
    align-items: center !important;
    padding: .5rem .65rem !important;
    color: var(--monster-muted) !important;
    white-space: nowrap !important;
  }
}
