/* Shared visual layer. Loaded after the original styles; no backend dependencies. */
:root {
  --bg-main: #0B0F17;
  --bg-card: #141B29;
  --bg-card-hover: #1A2337;
  --border-color: #1E293B;
  --primary-accent: #00E575;
  --primary-hover: #00C464;
  --accent-yellow: #FFB800;
  --text-main: #FFFFFF;
  --text-muted: #94A3B8;
  --danger: #EF4444;
  --font-family: 'Inter', system-ui, -apple-system, sans-serif;
  --radius: 10px;
}
body.saas-ui {
  /* Legacy templates read these aliases, including dynamically loaded screens. */
  --primary-bg-color: var(--primary-accent);
  --primary-bg-hover: var(--primary-hover);
  --primary-bg-border: var(--primary-accent);
  --primary01: rgb(0 229 117 / 10%);
  --primary02: rgb(0 229 117 / 20%);
  --primary-color: var(--primary-accent);
  --primary: var(--primary-accent);
  --primary-light: var(--primary-hover);
  --primary-dark: var(--bg-main);
  --secondary-color: var(--bg-card);
  --accent-color: var(--primary-accent);
  --success-color: var(--primary-accent);
  --warning-color: var(--accent-yellow);
  --danger-color: var(--danger);
  --template1: var(--primary-accent);
  --template2: var(--bg-card-hover);
  --template3: var(--primary-hover);
  --dark-body: var(--bg-main);
  --dark-theme: var(--bg-card);
  --dark-border: var(--border-color);
  --dark-color: var(--text-main);
  --neutral-50: var(--bg-main);
  --neutral-100: var(--bg-card);
  --neutral-200: var(--border-color);
  --neutral-500: var(--text-muted);
  --neutral-600: var(--text-muted);
  --neutral-700: #CBD5E1;
  --neutral-800: #E2E8F0;
  --neutral-900: var(--text-main);
  --body-color-calendar: var(--bg-card);
  --header-color-calendar: #CBD5E1;
  --header-button-calendar: var(--bg-card-hover);
  --color-weekdays-calendar: #CBD5E1;
  --box-shadow-calendar: var(--border-color);
  --color-day-calendar: var(--bg-card-hover);
  --hover-calendar: #2B3A50;
  --current-day-calendar: #27583F;
  --event-color-calendar: #245738;
  --modal-event-calendar: var(--bg-card);
  background-color: var(--bg-main) !important;
  color: var(--text-main) !important;
  font-family: var(--font-family) !important;
  font-size: 14px;
  line-height: 1.6;
  color-scheme: dark;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
.saas-ui *, .saas-ui *::before, .saas-ui *::after { box-sizing: border-box; }
.saas-ui img { max-width: 100%; }
.saas-ui :is(button, input, select, textarea) { font: inherit; }
.saas-ui a { color: var(--primary-accent); text-decoration: none; }
.saas-ui a:hover { color: var(--primary-hover); }
.saas-ui :is(h1,h2,h3,h4,h5,h6,.modal-title,.card-title,.page-title,.summary-title,.summary-total) { color: var(--text-main); }
.saas-ui :is(h1,h2,h3) { letter-spacing: -.035em; }
.saas-ui :is(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid var(--primary-accent) !important;
  outline-offset: 4px;
}
.saas-ui ::selection { color: var(--bg-main); background: var(--primary-accent); }
.saas-ui ::placeholder { color: var(--text-muted) !important; opacity: 1; }
.saas-ui :is(.text-dark,.text-black,.tx-inverse) { color: var(--text-main) !important; }
.saas-ui :is(.text-muted,.text-secondary,.text-gray-400,.text-gray-500,.help-block,.form-text) { color: var(--text-muted) !important; }
.saas-ui :is(.text-primary,.text-success,.text-verde) { color: var(--primary-accent) !important; }
.saas-ui .text-danger { color: #FF8585 !important; }
.saas-ui .text-warning { color: var(--accent-yellow) !important; }
.saas-ui .text-info { color: #8ED8F8 !important; }
.saas-ui :is(.border,.border-top,.border-bottom,.border-start,.border-end,hr) { border-color: var(--border-color) !important; }
.saas-ui :is(.bg-white,.bg-light,.bg-gray-100,.bg-gray-200,.bg-primary-transparent) { background: var(--bg-card) !important; }
.saas-ui .bg-primary { background: var(--bg-card-hover) !important; }
.saas-ui :is(.card,.panel,.widget-shadow,.stats-card,.dashboard-card,.email-kpi-card,.kanban-card,.company-card,.order-summary,.payment-container,.checkout-container,.payment-card,.product-card,.cart-summary,.success-card) {
  color: var(--text-main);
  background: var(--bg-card) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 4px 24px rgb(0 0 0 / 10%);
}
.saas-ui :is(.card-header,.card-footer,.panel-heading,.kanban-card-header,.kanban-card-footer) {
  color: var(--text-main);
  background: transparent !important;
  border-color: var(--border-color) !important;
}
.saas-ui :is(.card-header,.card-body,.card-footer) { padding: 20px; }
.saas-ui :is(.stats-card,.dashboard-card,.email-kpi-card) { transition: border-color .18s, background-color .18s; }
.saas-ui :is(.stats-card,.dashboard-card,.email-kpi-card):hover { border-color: #35445D !important; transform: none; }
.saas-ui :is(.stats-card-title,.stats-card-subtitle,.card-subtitle,.email-kpi-label) { color: var(--text-muted) !important; }
.saas-ui :is(.stats-card-value,.card-value,.email-kpi-value) { font-size: clamp(1.65rem, 2.5vw, 2.25rem); font-weight: 700; letter-spacing: -.04em; }
.saas-ui :is(.stats-card-value,.card-value,.email-kpi-value) { color: var(--text-main); }
.saas-ui :is(.stats-card-icon,.card-icon) { border-radius: var(--radius); background: rgb(0 229 117 / 8%); color: var(--primary-accent); }
.saas-ui :is(.icon-danger,.bg-danger-transparent) { background: rgb(239 68 68 / 12%) !important; color: #FF8585 !important; }
.saas-ui :is(.icon-warning,.bg-warning-transparent) { background: rgb(255 184 0 / 12%) !important; color: var(--accent-yellow) !important; }
/* Buttons keep the original event handlers, IDs and Bootstrap modal behavior. */
.saas-ui :is(.btn,button[type=submit],.form button) { border-radius: var(--radius); min-height: 42px; font-weight: 600; transition: background-color .18s, border-color .18s; }
.saas-ui :is(.btn-primary,.btn-success,.btn-teal,.btn-subscribe,.form button) {
  background: var(--primary-accent) !important;
  border: 1px solid var(--primary-accent) !important;
  color: #07160F !important;
  box-shadow: none !important;
}
.saas-ui :is(.btn-primary,.btn-success,.btn-teal,.btn-subscribe,.form button):hover { background: var(--primary-hover) !important; border-color: var(--primary-hover) !important; color: #07160F !important; }
.saas-ui :is(.btn-primary,.btn-success) :is(i,.text-white) { color: inherit !important; }
.saas-ui :is(.btn-secondary,.btn-light,.btn-default,.btn-info,.btn-dark) { color: var(--text-main) !important; background: var(--bg-card-hover) !important; border: 1px solid #35445D !important; }
.saas-ui :is(.btn-outline-primary,.btn-outline-success,.btn-outline-info) { background: transparent !important; color: var(--primary-accent) !important; border-color: #28734F !important; }
.saas-ui :is(.btn-outline-primary,.btn-outline-success,.btn-outline-info):hover { background: rgb(0 229 117 / 10%) !important; }
.saas-ui :is(.btn-danger,.btn-outline-danger) { color: #FFAAAA !important; background: rgb(239 68 68 / 12%) !important; border: 1px solid #703139 !important; }
.saas-ui :is(.btn-danger,.btn-outline-danger):hover { background: rgb(239 68 68 / 22%) !important; }
.saas-ui .btn-warning { background: var(--accent-yellow) !important; color: #201600 !important; border-color: var(--accent-yellow) !important; }
.saas-ui .btn-sm { min-height: 34px; font-size: 12px; }
.saas-ui :is(button,.btn):disabled { opacity: .5; cursor: not-allowed; }
/* Forms */
.saas-ui :is(label,.form-label,.control-label) { color: #CBD5E1 !important; font-size: 13px; font-weight: 500; }
.saas-ui :is(.form-control,.form-select,.form-input,.form input:not([type=hidden]),.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.bootstrap-tagsinput) {
  background-color: var(--bg-main) !important;
  color: var(--text-main) !important;
  border: 1px solid #334155 !important;
  border-radius: var(--radius) !important;
  min-height: 44px;
  box-shadow: none;
}
.saas-ui :is(.form-control,.form-select,.form-input,.form input):focus {
  border-color: var(--primary-accent) !important;
  box-shadow: 0 0 0 3px rgb(0 229 117 / 12%) !important;
}
.saas-ui :is(input,select,textarea):disabled { opacity: .6; }
.saas-ui input:-webkit-autofill { -webkit-text-fill-color: var(--text-main); -webkit-box-shadow: 0 0 0 1000px var(--bg-main) inset; }
.saas-ui .form-check-input { background-color: var(--bg-main); border-color: #53627A; accent-color: var(--primary-accent); }
.saas-ui .form-check-input:checked { background-color: var(--primary-hover); border-color: var(--primary-hover); }
.saas-ui .input-group-text { background: var(--bg-card-hover); border-color: #334155; color: var(--text-muted); border-radius: var(--radius); }
.saas-ui .input-group > .form-control:not(:first-child) { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.saas-ui .input-group > .input-group-text:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.saas-ui :is(.select2-dropdown,.select2-search__field,.select2-results__option) { background: var(--bg-card); color: var(--text-main); border-color: #334155; }
.saas-ui .select2-selection__rendered { border: 0; color: var(--text-main) !important; }
.saas-ui .select2-container--default .select2-results__option--highlighted[aria-selected] { color: var(--primary-accent); background: var(--bg-card-hover); }
.saas-ui .select2-container { max-width: 100%; }
.saas-ui :is(.select2-selection__placeholder,.select2-search__field::placeholder) { color: var(--text-muted) !important; }
.saas-ui .select2-container--default .select2-selection--multiple .select2-selection__choice { background: var(--bg-card-hover); color: var(--text-main); border-color: #334155; }
.saas-ui .select2-container--default .select2-selection__choice__remove { color: #CBD5E1; }
.saas-ui .invalid-feedback { color: #FF9999; }
.saas-ui .valid-feedback { color: #82F5BA; }
.saas-ui .form-control::file-selector-button { background: var(--bg-card-hover); color: var(--text-main); border-color: #334155; }
/* Data tables: reset legacy row paint as well as cell paint (including inline
   finance colors). Email presentation tables are intentionally not targeted. */
.saas-ui :is(.table,table.dataTable) {
  width: 100%; margin-bottom: 0; color: #DCE5F2 !important;
  background: var(--bg-card) !important; border: 1px solid var(--border-color);
  border-collapse: separate !important; border-spacing: 0;
  --bs-table-bg: transparent; --bs-table-color: #DCE5F2;
  --bs-table-accent-bg: transparent; --bs-table-striped-bg: transparent;
  --bs-table-hover-bg: transparent; --bs-table-striped-color: #DCE5F2;
  --bs-table-hover-color: #FFFFFF;
}
.saas-ui :is(.table,table.dataTable) > :not(caption) > * > :is(th,td) {
  background: var(--ui-row-bg,var(--bg-card)) !important;
  color: #DCE5F2 !important; box-shadow: none !important;
  border-color: var(--border-color) !important; border-width: 0 0 1px;
  padding: 14px 16px; vertical-align: middle; font-size: 13px; line-height: 1.5;
}
.saas-ui :is(.table,table.dataTable) > thead > tr > :is(th,td) {
  background: #0F1724 !important; color: #A9B9CF !important;
  padding: 14px 16px !important; font-size: 10px; letter-spacing: .075em;
  line-height: 1.5; text-transform: uppercase; font-weight: 600;
  white-space: nowrap; border-bottom: 1px solid #2A374B !important;
}
.saas-ui :is(.table,table.dataTable) > tbody > tr {
  --ui-row-bg: var(--bg-card);
  background: var(--ui-row-bg) !important; color: #DCE5F2 !important;
}
.saas-ui :is(.table,table.dataTable) > tbody > tr:nth-child(even) { --ui-row-bg: #111927; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:hover { --ui-row-bg: var(--bg-card-hover); }
.saas-ui :is(.table,table.dataTable) > tbody > tr:last-child > :is(th,td) { border-bottom-width: 0; }
/* The PHP already emits these classes/colors for overdue, paid and pending
   records. Preserve that meaning with subtle dark fills, without changing data. */
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-danger,[style*="#ffdddd" i]) { --ui-row-bg: #291C28; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-danger,[style*="#ffdddd" i]):hover { --ui-row-bg: #352131; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-success,[style*="#ddffe1" i]) { --ui-row-bg: #12271F; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-success,[style*="#ddffe1" i]):hover { --ui-row-bg: #193429; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-warning,[style*="#fff8dd" i]) { --ui-row-bg: #29251B; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-warning,[style*="#fff8dd" i]):hover { --ui-row-bg: #363020; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.selected,[aria-selected=true]) { --ui-row-bg: #123025; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-danger,[style*="#ffdddd" i]) > :first-child { border-left: 2px solid #EF6464; }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-success,[style*="#ddffe1" i]) > :first-child { border-left: 2px solid var(--primary-accent); }
.saas-ui :is(.table,table.dataTable) > tbody > tr:is(.table-warning,[style*="#fff8dd" i]) > :first-child { border-left: 2px solid var(--accent-yellow); }
.saas-ui :is(.table,table.dataTable) > tbody > tr > .table-danger { --ui-row-bg: #291C28; color: #FF9999 !important; }
.saas-ui :is(.table,table.dataTable) > tbody > tr > .table-success { --ui-row-bg: #12271F; color: #82F5BA !important; }
.saas-ui :is(.table,table.dataTable) > tbody > tr > .table-warning { --ui-row-bg: #29251B; color: #FFD16B !important; }
.saas-ui :is(.table,table.dataTable) tbody :is(td,th).text-danger,
.saas-ui :is(.table,table.dataTable) tbody .text-danger:not(.btn) > a { color: #FF9999 !important; }
.saas-ui :is(.table,table.dataTable) tbody :is(td,th).text-success { color: #82F5BA !important; }
.saas-ui :is(.table,table.dataTable) tbody :is(td,th).text-warning { color: #FFD16B !important; }
.saas-ui :is(.table-responsive,.ui-table-scroll,.dataTables_scrollBody) {
  max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: #35465E #101724;
}
.saas-ui .ui-table-scroll { border: 1px solid var(--border-color); border-radius: 8px; }
.saas-ui .ui-table-scroll > :is(.table,table.dataTable) { border: 0; }
.saas-ui .dataTables_wrapper { min-width: 0; width: 100%; }
.saas-ui .dataTables_wrapper > .row { margin-inline: 0; row-gap: 12px; }
.saas-ui .dataTables_wrapper > .row > [class*="col-"] { min-width: 0; padding-inline: 0; }
.saas-ui .dataTables_wrapper > .row:first-child { align-items: center; padding-bottom: 18px; }
.saas-ui .dataTables_wrapper > .row:last-child { align-items: center; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border-color); }
.saas-ui .dataTables_wrapper :is(.dataTables_info,.dataTables_length,.dataTables_filter) { color: var(--text-muted) !important; font-size: 12px; padding-top: 0; }
.saas-ui .dataTables_wrapper :is(.dataTables_length,.dataTables_filter) label { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; color: var(--text-muted); font-weight: 400; }
.saas-ui .dataTables_wrapper :is(input,select) { background-color: var(--bg-main) !important; color: var(--text-main) !important; border: 1px solid #334155 !important; border-radius: 8px !important; min-height: 38px; height: 38px; padding: 7px 11px; margin: 0 !important; }
.saas-ui .dataTables_wrapper input[type=search] { width: clamp(150px,16vw,240px); max-width: 100%; }
.saas-ui .dataTables_wrapper select { min-width: 68px; padding-right: 28px; }
.saas-ui :is(.dataTables_paginate,.pagination) { gap: 5px; }
.saas-ui .dataTables_paginate .pagination { flex-wrap: wrap; margin: 0; justify-content: flex-end; }
.saas-ui .page-item .page-link { display: grid; place-items: center; min-width: 36px; min-height: 36px; padding: 7px 11px; color: #CBD5E1 !important; background: #101724 !important; border: 1px solid #2B3950 !important; border-radius: 7px !important; font-size: 12px; box-shadow: none; margin: 0; }
.saas-ui .page-item:not(.disabled):not(.active) .page-link:hover { color: var(--primary-accent) !important; background: var(--bg-card-hover) !important; border-color: #3F6854 !important; }
.saas-ui .page-item.active .page-link { background: var(--primary-accent) !important; color: #07160F !important; border-color: var(--primary-accent) !important; font-weight: 650; }
.saas-ui .dataTables_wrapper .dataTables_paginate .page-item.disabled .page-link { color: #73839B !important; background: #111824 !important; border-color: var(--border-color) !important; opacity: .65; cursor: default; }
/* Compact icon actions: never override hidden/permission classes or handlers. */
.saas-ui :is(.table,table.dataTable) .btn { min-height: 34px; padding: 7px 10px; border-radius: 7px; font-size: 12px; box-shadow: none !important; }
.saas-ui :is(.table,table.dataTable) .ui-table-action:not(.ocultar):not(.d-none):not([hidden]) { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; min-height: 34px; padding: 0; vertical-align: middle; margin-right: 3px; border-radius: 7px; }
.saas-ui :is(.table,table.dataTable) .ui-table-actions { white-space: nowrap; }
.saas-ui :is(.table,table.dataTable) .ui-table-action:not(.btn) { color: #8ED8F8; background: rgb(56 189 248 / 8%); border: 1px solid rgb(56 189 248 / 20%); }
.saas-ui :is(.table,table.dataTable) :is(.btn-info-light,.btn-outline-info) { color: #8ED8F8 !important; background: rgb(56 189 248 / 8%) !important; border: 1px solid rgb(56 189 248 / 20%) !important; }
.saas-ui :is(.table,table.dataTable) .btn-danger-light { color: #FF9999 !important; background: rgb(239 68 68 / 9%) !important; border: 1px solid rgb(239 68 68 / 23%) !important; }
.saas-ui :is(.table,table.dataTable) .btn-warning-light { color: #FFD16B !important; background: rgb(255 184 0 / 8%) !important; border: 1px solid rgb(255 184 0 / 20%) !important; }
.saas-ui :is(.table,table.dataTable) :is(.btn-success-light,.btn-primary-light) { color: #65EDAA !important; background: rgb(0 229 117 / 8%) !important; border: 1px solid rgb(0 229 117 / 19%) !important; }
.saas-ui :is(.table,table.dataTable) :is(.btn-dark-light,.btn-secondary-light,.btn-light) { color: #BECCE0 !important; background: #1B2639 !important; border: 1px solid #34445D !important; }
.saas-ui :is(.table,table.dataTable) :is(.ui-table-action,.btn) :is(i,svg) { color: inherit !important; }
.saas-ui :is(.table,table.dataTable) :is(.ui-table-action,.btn):hover { filter: brightness(1.2); }
.saas-ui :is(.table,table.dataTable) .badge { width: auto !important; min-width: 54px; max-width: 100%; padding: 5px 9px; font-size: 10px; line-height: 1.4; }
.saas-ui :is(.table,table.dataTable) .custom-control-label::before { background: var(--bg-main); border: 1px solid #53627A; border-radius: 4px; }
.saas-ui :is(.table,table.dataTable) .custom-control-input:checked ~ .custom-control-label::before { background: var(--primary-hover); border-color: var(--primary-hover); }
.saas-ui :is(.table,table.dataTable) input[type=checkbox] { accent-color: var(--primary-accent); }
.saas-ui table.dataTable > tbody > tr.child ul.dtr-details { width: 100%; }
.saas-ui table.dataTable > tbody > tr.child ul.dtr-details > li { padding: 10px 0; border-color: #2A374B; color: #DCE5F2; }
.saas-ui table.dataTable > tbody > tr.child .dtr-title { color: var(--text-muted); margin-right: 12px; }
@media(max-width:767px) {
  .saas-ui .dataTables_wrapper .dataTables_filter { text-align: left; }
  .saas-ui .dataTables_wrapper input[type=search] { width: min(240px,65vw); }
  .saas-ui .dataTables_wrapper .dataTables_paginate .pagination { justify-content: flex-start; }
  .saas-ui :is(.table,table.dataTable) > tbody > tr > :is(th,td) { padding: 12px; }
  .saas-ui :is(.table,table.dataTable) .ui-table-action:not(.ocultar):not(.d-none):not([hidden]) { width: 38px; height: 38px; min-height: 38px; }
}
.saas-ui :is(.badge,.label) { padding: 5px 9px; border-radius: 6px; font-size: 11px; font-weight: 600; letter-spacing: .01em; }
.saas-ui :is(.badge-success,.badge.bg-success,.badge.bg-primary,.badge.bg-success-transparent,.badge-primary,.label-success,.label-primary,.badge-success-transparent) { color: #61F5AB !important; background: rgb(0 229 117 / 12%) !important; }
.saas-ui :is(.badge-danger,.badge.bg-danger,.badge.bg-danger-transparent,.label-danger,.badge-danger-transparent) { color: #FF9999 !important; background: rgb(239 68 68 / 13%) !important; }
.saas-ui :is(.badge-warning,.badge.bg-warning,.badge.bg-warning-transparent,.label-warning) { color: #FFD16B !important; background: rgb(255 184 0 / 13%) !important; }
.saas-ui :is(.badge-secondary,.badge.bg-secondary,.badge-info,.badge.bg-info) { background: #24314A !important; color: #B7CEEE !important; }
.saas-ui .alert { border: 1px solid #35445D !important; border-radius: var(--radius); background: var(--bg-card-hover) !important; color: #DCE5F2; }
.saas-ui .alert-warning { border-color: #685322 !important; background: #292417 !important; color: #FFDA91; }
.saas-ui .alert-danger { border-color: #703139 !important; background: #2B1922 !important; color: #FFAAAA; }
.saas-ui .alert-success { border-color: #216345 !important; background: #11291F !important; color: #82F5BA; }
.saas-app .alert div[style*="color"] { color: inherit !important; }
/* Legacy dashboard sections and finance totals contain their own light colors. */
.saas-app :is(.chart-container,.info-panel,.kanban-card-body) { background: var(--bg-card) !important; color: var(--text-main); border-color: var(--border-color); }
.saas-app :is(.chart-title,.kanban-card-text) { color: var(--text-main) !important; }
.saas-app .info-panel-header { background: var(--bg-card-hover); color: var(--text-main); }
.saas-app #total_recebidas { color: #82F5BA !important; }
.saas-app #total_total { color: var(--text-main) !important; }
.saas-app #total_pendentes { color: #FF9999 !important; }
.saas-app .calendario_classe .day + #diasPassados { background: var(--bg-card-hover); color: #CBD5E1; }
.saas-app :is(.company-card-title,.company-card-stat-value) { color: var(--text-main); }
.saas-app :is(.company-card-subtitle,.company-card-stat-label) { color: var(--text-muted); }
.saas-app :is(.company-card-stat,.company-card-footer) { background: var(--bg-card-hover); border-color: var(--border-color); }
.saas-app .section-counter { background: var(--bg-card-hover); color: #E2E8F0; border: 1px solid #334155; }
.saas-app .section-counter input { color: var(--text-main) !important; border-bottom-color: #94A3B8 !important; }
.saas-app :is(.company-card-action,.toggle-view-btn-mobile,.kanban-toggle) { background: var(--primary-accent); color: #07160F; }
.saas-app .company-card:hover .company-card-action { background: var(--primary-hover); color: #07160F; }
.saas-app :is(.toggle-view-btn-mobile,.kanban-toggle):is(:hover,:focus) { background: var(--primary-hover); color: #07160F; }
/* Modals and existing third party controls. */
.saas-ui :is(.modal-content,.dropdown-menu,.popover,.swal2-popup,.sweet-alert,.accordion-item,.list-group-item) { color: var(--text-main) !important; background: var(--bg-card) !important; border: 1px solid #334155 !important; border-radius: var(--radius); }
.saas-ui :is(.modal-header,.modal-footer,.dropdown-header,.menu-header-content) { color: var(--text-main); background: var(--bg-card) !important; border-color: var(--border-color) !important; }
.saas-ui .modal-header { padding: 20px 24px; }
.saas-ui .modal-body { padding: 24px; }
.saas-app .modal-body { background: var(--bg-card); color: var(--text-main); }
.saas-ui :is(.modal-backdrop.show,.offcanvas-backdrop.show) { opacity: .75; }
.saas-ui .modal-content { box-shadow: 0 24px 80px rgb(0 0 0 / 35%); }
.saas-ui .btn-close { background-image: none; color: var(--text-muted); opacity: 1; }
.saas-ui .btn-close:empty::before { content: '\00d7'; font-size: 25px; line-height: 1; }
.saas-ui :is(.dropdown-item,.nav-link,.list-group-item) { color: #CBD5E1; }
.saas-ui :is(.dropdown-item-text,.popover-body) { color: #E2E8F0 !important; background: var(--bg-card-hover) !important; }
.saas-ui .dropdown-item-text p { color: inherit; }
.saas-ui .popover-header { background: var(--bg-card); color: var(--text-main); border-color: var(--border-color); }
.saas-ui :is(.dropdown-item,.list-group-item-action):hover { color: var(--primary-accent); background: var(--bg-card-hover); }
.saas-ui :is(.nav-tabs,.nav-tabs .nav-link,.nav-pills .nav-link) { border-color: var(--border-color); }
.saas-ui :is(.nav-tabs .nav-link.active,.nav-pills .nav-link.active) { color: var(--primary-accent); background: var(--bg-card-hover); border-color: var(--border-color); }
.saas-ui :is(.config-sidebar,.config-section,.config-content,.config-card,.config-shell,.config-panel,.config-image-preview,.email-step-card,.email-import-box,.email-recipient-box) { background: var(--bg-card) !important; color: var(--text-main); border-color: var(--border-color) !important; }
.saas-app .config-panel { background: var(--bg-card-hover) !important; }
.saas-app .config-section-title { border-color: var(--border-color); }
.saas-app .config-section-title :is(h5,small) { color: var(--text-main); }
.saas-app .config-sidebar .nav-link { color: #CBD5E1; }
.saas-app .config-sidebar .nav-link i { color: inherit; }
.saas-app #modalConfig :is(input[readonly]:not([type=hidden]),textarea[readonly]) { background: var(--bg-main) !important; color: #E2E8F0 !important; border-color: #334155 !important; opacity: 1; }
/* API plan details are inserted dynamically and also ship with light styles. */
.saas-app :is(.automatizaipro-plan-card,.automatizaipro-authkey-active-card) { background: var(--bg-card-hover); color: #82F5BA; border-color: #334155; }
.saas-app .automatizaipro-plan-head { color: var(--text-main); }
.saas-app .automatizaipro-plan-head i { color: var(--primary-accent); }
.saas-app .automatizaipro-plan-body { color: #CBD5E1; }
.saas-app .automatizaipro-plan-status { background: #11291F; color: #82F5BA; border-color: #216345; }
.saas-app .automatizaipro-plan-card.is-alert { background: #2B1922; border-color: #703139; }
.saas-app .automatizaipro-plan-card.is-alert .automatizaipro-plan-status { background: #2B1922; color: #FFAAAA; border-color: #703139; }
.saas-app .automatizaipro-authkey-hint.is-empty { background: #292417; color: #FFDA91; border-color: #685322; }
.saas-ui :is(.email-marketing-page,.email-page-hero,.email-report-heading,.email-report-metric,.email-file-guide-item,.email-upload-area,.email-attachment-item,.email-pdf-list,.email-import-guide,.email-recipient-summary) { color: var(--text-main); background: var(--bg-card) !important; border-color: var(--border-color) !important; }
.saas-ui :is(.email-page-subtitle,.email-campaign-meta,.email-kpi-label,.email-report-metric-label,.email-file-guide-item p,.email-report-heading p,.kanban-card-date,.kanban-card-id,.company-info) { color: var(--text-muted); }
.saas-ui :is(.email-kpi-card,.email-report-metric) { --kpi-color: var(--primary-accent); --kpi-soft: rgb(0 229 117 / 8%); }
.saas-ui :is(.email-kpi-returned) { --kpi-color: var(--accent-yellow); --kpi-soft: rgb(255 184 0 / 8%); }
.saas-ui .email-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.saas-ui :is(.email-page-hero::before,.email-primary-action) { background: var(--primary-accent); }
.saas-ui :is(.email-kpi-value,.email-report-metric strong) { color: var(--text-main); }
.saas-ui :is(.email-stage-badge,.email-paused-badge) { background: rgb(255 184 0 / 12%); color: #FFD16B; }
.saas-ui .email-scheduled-badge { background: rgb(0 229 117 / 12%); color: #61F5AB; }
.saas-ui :is(.email-finished-badge,.email-cancelled-badge) { background: #24314A; color: #B7CEEE; }
/* These components have page-local styles loaded after the shared stylesheet. */
.saas-app :is(.email-stage-notice,.email-campaign-title,.email-campaign-asset,.email-campaign-pdf,.email-campaign-pdf-info,.email-report-links,.email-report-section-title,.email-file-model,.email-file-example,.email-pdf-field,.email-pdf-current) { background: var(--bg-card-hover) !important; color: #E2E8F0; border-color: #334155 !important; }
.saas-app .email-stage-notice { color: #CBD5E1; }
.saas-app .email-stage-notice :is(i,.email-stage-title) { color: #8ED8F8; }
.saas-app :is(.email-page-heading,.email-empty-title,.email-campaign-title,.email-report-heading h5,.email-file-model strong) { color: var(--text-main); }
.saas-app :is(.email-empty-text,.email-campaign-pdf-info span,.email-report-label,.email-report-empty,.email-report-section-title small,.email-file-model small,.email-file-example) { color: #B8C5D8; }
.saas-app .email-file-model:hover { background: #24314A !important; color: var(--text-main); }
.saas-app :is(.email-stage-badge,.email-paused-badge) { background: #332918; color: #FFD16B; }
.saas-app :is(.email-finished-badge,.email-cancelled-badge) { background: #24314A; color: #B7CEEE; }
.saas-app .email-scheduled-badge { background: #123025; color: #82F5BA; }
.saas-ui :is(#modalFilaEmail,#modalBloqueiosEmail,#modalRelatorioEmail,#modalEmailCampanha) :is(.modal-header,.modal-body,.modal-footer) { background: var(--bg-card) !important; color: var(--text-main); border-color: var(--border-color); }
.saas-ui :is(#modalFilaEmail,#modalBloqueiosEmail,#modalRelatorioEmail) .table :is(th,td) { background: transparent !important; color: #E2E8F0; }
.saas-ui :is(#modalFilaEmail,#modalBloqueiosEmail,#modalRelatorioEmail) .table thead th { background: #101724 !important; color: var(--text-muted) !important; }
.saas-ui :is(#modalFilaEmail,#modalBloqueiosEmail,#modalRelatorioEmail) .table tbody tr:hover td { background: var(--bg-card-hover) !important; }
.saas-ui :is(.kanban-card-title,.company-name,.company-title) { color: var(--text-main); }
.saas-ui .company-card [style*="background-color"] { background-color: var(--bg-card-hover) !important; }
.saas-ui .config-sidebar .nav-link.active { background: rgb(0 229 117 / 10%); color: var(--primary-accent); box-shadow: none; }
.saas-ui :is(.ql-toolbar,.trumbowyg-button-pane,.trumbowyg-box,.ql-container) { border-color: #334155 !important; }
.saas-ui :is(.ql-toolbar,.trumbowyg-button-pane) { background: #E2E8F0; color-scheme: light; }
/* Message content stays readable as authored, as it will appear to recipients. */
.saas-ui :is(.trumbowyg-editor,.ql-editor) { background: #FFFFFF; color: #172033; color-scheme: light; }
.saas-ui :is(.trumbowyg-editor,.ql-editor) :is(h1,h2,h3,h4,h5,h6) { color: inherit; }
.saas-ui :is(.trumbowyg-editor,.ql-editor) a { color: #1556B8; }
.saas-ui .trumbowyg-editor[placeholder]:empty::before,
.saas-ui .ql-editor.ql-blank::before { color: #526079; }
.saas-ui .fc { --fc-border-color: var(--border-color); --fc-page-bg-color: var(--bg-card); --fc-neutral-bg-color: var(--bg-card-hover); --fc-today-bg-color: rgb(0 229 117 / 5%); --fc-button-bg-color: var(--bg-card-hover); --fc-button-border-color: #334155; --fc-button-active-bg-color: #27583F; --fc-button-active-border-color: #28734F; }
/* App shell: dimensions and toggling continue to be owned by the original menu. */
body.saas-app .page { background: var(--bg-main); }
.saas-app :is(.app-sidebar,.main-sidemenu,.main-sidebar-header) { background: #0E1420 !important; border-color: var(--border-color) !important; box-shadow: none; }
.saas-app .main-header { background: rgb(11 15 23 / 96%) !important; border-bottom: 1px solid var(--border-color); box-shadow: none; }
.saas-app .main-header .main-container { min-height: 70px; }
.saas-app .header-icon-svgs { fill: var(--text-muted); }
.saas-app .header-icon { color: var(--text-muted); }
.saas-app .main-sidebar-header { border-bottom: 1px solid var(--border-color); }
.saas-app .main-logo { object-fit: contain; max-height: 42px; max-width: 165px; }
.saas-app .side-menu { padding: 12px 10px; }
.saas-app .side-menu .slide { margin: 3px 0; }
.saas-app .side-menu__item { color: var(--text-muted) !important; border-radius: 8px; padding: 12px 14px; margin: 2px 0; border: 1px solid transparent; font-weight: 500; }
.saas-app :is(.side-menu__label,.side-menu__item i,.side-menu__item .text-white,.side-menu__item .angle) { color: inherit !important; }
.saas-app .side-menu__label { font-size: 13px; }
.saas-app .side-menu__item > i:first-child { font-size: 17px; width: 20px; text-align: center; }
.saas-app .side-menu__item:hover { background: var(--bg-card-hover) !important; color: var(--text-main) !important; }
.saas-app :is(.side-menu__item.active,.side-menu__item[aria-current=page]) { background: rgb(0 229 117 / 9%) !important; border-color: rgb(0 229 117 / 14%); color: var(--primary-accent) !important; }
.saas-app .slide-menu { background: transparent !important; border-left: 1px solid #2D3D51; margin: 6px 0 10px 24px; }
.saas-app .slide-item { color: var(--text-muted) !important; font-size: 12px; padding-block: 9px; }
.saas-app :is(.slide-item.active,.slide-item:hover) { color: var(--primary-accent) !important; }
.saas-app .main-content > .main-container { padding: 24px clamp(16px, 2.8vw, 40px); }
.saas-app .main-content .container { max-width: none; }
.saas-app .main-footer { background: var(--bg-main); border-color: var(--border-color); color: var(--text-muted); font-size: 11px; }
.saas-app .layout-setting { display: none !important; }
.saas-app .breadcrumb-header { gap: 12px; flex-wrap: wrap; margin-top: 0; }
.workspace-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 4px 0 28px; padding-bottom: 24px; border-bottom: 1px solid var(--border-color); }
.workspace-kicker { display: block; color: var(--text-muted); font-size: 10px; font-weight: 600; letter-spacing: .16em; margin-bottom: 5px; }
.workspace-heading h1 { font-size: clamp(23px, 3vw, 30px); font-weight: 650; margin: 0; line-height: 1.25; }
.session-badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; background: rgb(0 229 117 / 6%); border: 1px solid rgb(0 229 117 / 14%); color: #8CF6BF; font-size: 11px; border-radius: 7px; white-space: nowrap; }
.session-badge::before { content: ''; width: 6px; height: 6px; background: var(--primary-accent); border-radius: 50%; }
.saas-app .logo_painel { margin-left: 0 !important; }
.saas-app .responsive-logo { display: none; }
/* Login and password reset */
/* Fallback only: the configured login image in the PHP body style takes priority. */
body.saas-auth { background-image: radial-gradient(ellipse at 50% 0, rgb(0 229 117 / 7%), transparent 55%); min-height: 100svh; }
.saas-auth .square-box { display: none; }
.saas-auth .page { min-height: 100svh; }
.saas-auth .page-single { margin: 0; padding: 40px 16px; min-height: 100svh; display: flex; align-items: center; }
.saas-auth .card-sigin-main { width: 100%; max-width: 460px; flex: 0 1 460px; padding: 0 !important; }
.saas-auth :is(.card-sigin,.main-card-signin) { background: transparent; padding: 0; box-shadow: none; }
.saas-auth .main-card-signin > .wd-100p { background: var(--bg-card); border: 1px solid #29364B; padding: clamp(24px, 5vw, 40px); border-radius: 14px; width: 100%; box-shadow: 0 25px 80px rgb(0 0 0 / 20%); }
.saas-auth .sign-favicon { width: auto; max-width: 210px; max-height: 65px; object-fit: contain; }
.saas-auth .panel { border: 0 !important; box-shadow: none; }
.saas-auth .panel-body { padding: 0 !important; }
.auth-intro { text-align: center; margin-bottom: 28px; }
.auth-intro .workspace-kicker { color: var(--primary-accent); margin-bottom: 10px; }
.auth-intro h1 { font-size: 27px; font-weight: 700; margin: 0 0 8px; }
.auth-intro p { margin: 0; color: var(--text-muted); font-size: 13px; }
.saas-auth .main-signin-footer { border-top: 1px solid var(--border-color); padding-top: 22px; }
.saas-auth .main-signin-footer :is(p,a) { font-size: 12px; }
.saas-auth .main-signin-footer a { color: var(--text-muted) !important; }
.saas-auth .main-signin-footer a:hover { color: var(--primary-accent) !important; }
.saas-auth .login { width: 100%; max-width: 480px; margin: auto; padding: min(12vh, 100px) 20px 40px; }
.saas-auth .form { max-width: none; padding: 32px; margin: 0; background: var(--bg-card); border: 1px solid #29364B; border-radius: 14px; box-shadow: 0 25px 80px rgb(0 0 0 / 20%); }
.saas-auth .form .imagem { max-width: 180px; max-height: 65px; width: auto; object-fit: contain; margin-bottom: 24px; }
.saas-auth .form input { margin-bottom: 0; padding: 12px 14px; font-size: 14px; }
.saas-auth .form button { padding: 12px; text-transform: none; font-family: var(--font-family); font-size: 14px; }
.saas-auth .reset-label { display: block; text-align: left; margin-bottom: 7px; }
.saas-auth .auth-back { display: block; text-align: center; color: var(--text-muted); font-size: 12px; margin-top: 24px; }
/* Payment links reuse the same components without affecting providers or QR images. */
.saas-payment :is(.order-summary,.summary-card,.payment-form,.form-signin) { background: var(--bg-card) !important; color: var(--text-main); border-radius: var(--radius); border-color: var(--border-color); }
.saas-payment :is(.accordion-button,.accordion-button:not(.collapsed)) { color: var(--text-main); background: var(--bg-card-hover); box-shadow: none; }
.saas-payment :is(.accordion-body,.payment-header,.summary-header) { background: var(--bg-card); color: var(--text-main); }
.saas-payment :is(.payment-icon,.security-badge) { color: var(--primary-accent); }
.saas-payment :is(canvas,img[src*="qr"],img[src*="pix"]) { background: white; padding: 8px; border-radius: 8px; }
.saas-ui #global-loader { background: var(--bg-main); }
.saas-ui #back-to-top { color: #07160F; background: var(--primary-accent); border-radius: 8px; }
.saas-ui .ui-skip-link { position: fixed; top: 8px; left: 16px; z-index: 11000; padding: 10px 16px; color: #07160F; background: var(--primary-accent); border-radius: 8px; transform: translateY(-160%); }
.saas-ui .ui-skip-link:focus { transform: translateY(0); }
@media (max-width: 767px) {
  .saas-ui .email-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .saas-ui .email-kpi-body { padding: 14px 12px; gap: 9px; }
  .saas-ui .email-kpi-icon { flex-basis: 32px; width: 32px; height: 32px; }
  .saas-app .main-content > .main-container { padding: 20px 14px; }
  .saas-app .workspace-heading { margin-bottom: 20px; padding-bottom: 20px; }
  .workspace-heading .session-badge { font-size: 0; gap: 0; padding: 10px; }
  .saas-ui .modal-dialog { margin: 12px; }
  .saas-ui :is(.modal-body,.modal-header,.modal-footer) { padding: 18px; }
  .saas-ui .modal-footer { gap: 8px; }
  .saas-ui .modal-footer > .btn { flex: 1 1 auto; margin: 0; }
  .saas-ui .breadcrumb-header > div { max-width: 100%; }
  .saas-ui .dataTables_wrapper .row { row-gap: 12px; }
  .saas-ui .dataTables_wrapper .dataTables_filter { text-align: left; }
  .saas-ui .dataTables_wrapper .dataTables_filter input { max-width: 65vw; }
  .saas-auth .page-single { padding: 24px 16px; }
  .saas-auth .form { padding: 26px 22px; }
}
@media (min-width: 1600px) { .saas-ui .email-kpi-grid { grid-template-columns: repeat(6,minmax(0,1fr)); } }
@media (max-width: 359px) { .saas-ui .email-kpi-grid { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) {
  .saas-ui *, .saas-ui *::before, .saas-ui *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  body.saas-ui { color: #111 !important; background: white !important; color-scheme: light; }
  .saas-app :is(.app-sidebar,.main-header,.main-footer,.workspace-heading,.ui-skip-link) { display: none !important; }
  .saas-app .main-content { margin: 0 !important; }
  .saas-ui :is(.card,.widget-shadow,.table,table.dataTable) { color: #111 !important; background: white !important; box-shadow: none; }
  .saas-ui :is(.table,table.dataTable) > tbody > tr { --ui-row-bg: #FFFFFF !important; }
  .saas-ui :is(.table,table.dataTable) > :not(caption) > * > :is(th,td) { --ui-row-bg: #FFFFFF !important; background: #FFFFFF !important; color: #111111 !important; }
  .saas-ui :is(.table,table.dataTable) > thead > tr > :is(th,td) { background: #F1F5F9 !important; color: #333333 !important; }
}
