/* ═══════════════════════════════════════════════════════════
   SanBernarda — CRM color overlay (admin + portal)
   Só cor / fundo / borda. Estrutura do Perfex permanece.
   Tokens: tokens.css
   ═══════════════════════════════════════════════════════════ */

/* ── Toggle (controle nosso, injetado via hook) ── */
.cc-theme-toggle {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  border: 1px solid var(--border-strong);
  background: transparent;
  color: var(--cc-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.cc-theme-toggle:hover {
  color: var(--cc-accent);
  border-color: var(--cc-accent);
}

.cc-theme-toggle:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--cc-focus);
}

.cc-theme-toggle__icon--moon {
  display: none;
}

[data-theme="dark"] .cc-theme-toggle__icon--sun {
  display: none;
}

[data-theme="dark"] .cc-theme-toggle__icon--moon {
  display: inline-flex;
}

[data-theme="light"] .cc-theme-toggle__icon--sun {
  display: inline-flex;
}

[data-theme="light"] .cc-theme-toggle__icon--moon {
  display: none;
}

#header .navbar-nav > li.header-cc-theme-toggle {
  display: flex;
  align-items: center;
  height: 57px;
}

#header .navbar-nav > li.header-cc-theme-toggle .cc-theme-toggle {
  color: var(--cc-header-text);
  border-color: var(--cc-panel-border);
}

.customers .navbar-nav > li.customers-nav-item-theme-toggle {
  display: flex;
  align-items: center;
}

.customers .navbar-nav > li.customers-nav-item-theme-toggle .cc-theme-toggle {
  color: var(--cc-header-text);
  border-color: var(--cc-panel-border);
}

/* ── Document / shell ── */
[data-theme] html,
[data-theme] body.admin,
[data-theme] body.customers {
  background-color: var(--cc-content-bg) !important;
  color: var(--text-primary) !important;
  color-scheme: inherit;
}

[data-theme] body.admin #wrapper,
[data-theme] .admin #wrapper,
[data-theme] #wrapper {
  background-color: var(--cc-content-bg) !important;
  color: var(--text-primary);
}

[data-theme] .content,
[data-theme] #content {
  background-color: var(--cc-content-bg);
  color: var(--text-primary);
}

/* ── Header ── */
[data-theme] .admin #header,
[data-theme] #header {
  background-color: var(--cc-header-bg) !important;
  color: var(--cc-header-text) !important;
  box-shadow: 0 1px 0 0 var(--cc-panel-border);
}

[data-theme] .admin .navbar-nav > li > a,
[data-theme] .admin .navbar-nav > li > a > span > i,
[data-theme] ul.mobile-icon-menu > li > a,
[data-theme] .mobile-menu-toggle,
[data-theme] .open-customizer-mobile,
[data-theme] .admin button.hide-menu,
[data-theme] #header .logo.logo-text {
  color: var(--cc-header-text) !important;
}

[data-theme] #header #logo img,
[data-theme] #logo img,
[data-theme] a.logo img {
  height: 48px !important;
  width: auto !important;
  max-width: 260px;
  object-fit: contain;
  object-position: left center;
}

[data-theme] .customers .navbar-brand.logo img,
[data-theme] .navbar-brand.logo img {
  height: 44px !important;
  width: auto !important;
  max-width: 240px;
  object-fit: contain;
  object-position: left center;
}

[data-theme] .navbar-nav > li > a:hover,
[data-theme] .navbar-nav > li > a:focus,
[data-theme] .navbar-nav .open > a,
[data-theme] .navbar-nav .open > a:hover,
[data-theme] .navbar-nav .open > a:focus {
  color: var(--cc-accent) !important;
  background-color: transparent !important;
}

[data-theme] #header li > a.active {
  background-color: var(--cc-sidebar-hover) !important;
  color: var(--cc-header-text) !important;
}

[data-theme] .mobile-navbar {
  background-color: var(--cc-header-bg) !important;
}

[data-theme] .mobile-navbar .navbar-nav {
  border-bottom-color: var(--cc-panel-border);
}

[data-theme] .mobile-navbar .navbar-nav > li > a {
  color: var(--cc-header-text) !important;
  border-bottom-color: var(--cc-panel-border) !important;
}

[data-theme] #search_input {
  background-color: var(--cc-input-bg) !important;
  color: var(--cc-input-text) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] #search_input::placeholder {
  color: var(--text-muted) !important;
}

[data-theme] #top_search_button button,
[data-theme] #top_search_button i {
  color: var(--text-muted) !important;
}

[data-theme] #search_results,
[data-theme] #search-history {
  background-color: var(--cc-dropdown-bg) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--text-primary) !important;
}

/* ── Sidebar ── */
[data-theme] .admin .sidebar,
[data-theme] .sidebar,
[data-theme] #menu,
[data-theme] #setup-menu-wrapper {
  background-color: var(--cc-sidebar-bg) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--cc-sidebar-text) !important;
}

[data-theme] .admin #side-menu li a,
[data-theme] .admin #setup-menu li a,
[data-theme] .admin #side-menu li a i.menu-icon,
[data-theme] .sidebar ul.nav li a,
[data-theme] .sidebar ul.nav li a i.menu-icon,
[data-theme] .admin #setup-menu-wrapper .customizer-heading,
[data-theme] .admin #setup-menu-wrapper .close-customizer {
  color: var(--cc-sidebar-text) !important;
}

[data-theme] .sidebar > ul.nav > li:hover a:first-child,
[data-theme] .sidebar > ul.nav > li.active a:first-child,
[data-theme] .admin #side-menu li.active > a,
[data-theme] .admin #setup-menu li.active > a,
[data-theme] #side-menu.nav > li > a:hover,
[data-theme] #side-menu.nav > li > a:focus,
[data-theme] #setup-menu > li > a:hover,
[data-theme] #setup-menu > li > a:focus {
  background-color: var(--cc-sidebar-active-bg) !important;
  color: var(--cc-sidebar-active-text) !important;
  border-color: var(--cc-panel-border) !important;
  box-shadow: none;
}

[data-theme] .admin #side-menu li.active > a:first-child,
[data-theme] .admin #side-menu li.active a i.menu-icon,
[data-theme] .admin #side-menu li:hover a:first-child,
[data-theme] .admin #side-menu li:hover a:first-child i.menu-icon,
[data-theme] .admin #setup-menu li.active > a:first-child,
[data-theme] .admin #setup-menu li.active a i.menu-icon,
[data-theme] .admin #setup-menu li:hover a:first-child,
[data-theme] .admin #setup-menu li:hover a:first-child i.menu-icon,
[data-theme] .sidebar ul.nav li.active > a,
[data-theme] .sidebar ul.nav > li > a:hover,
[data-theme] .sidebar ul.nav > li > a:focus,
[data-theme] .sidebar ul.nav li.active > a .menu-icon,
[data-theme] .sidebar ul.nav > li > a:hover .menu-icon,
[data-theme] .sidebar ul.nav > li > a:focus .menu-icon {
  color: var(--cc-sidebar-active-text) !important;
}

[data-theme] .sidebar ul.nav li .nav-second-level li a {
  color: var(--cc-sidebar-text) !important;
  background-color: transparent !important;
}

[data-theme] .sidebar ul.nav li .nav-second-level li.active a,
[data-theme] .sidebar ul.nav > li .nav-second-level > li:not(.active) > a:hover,
[data-theme] .sidebar ul.nav > li .nav-second-level > li:not(.active) > a:focus {
  color: var(--cc-sidebar-active-text) !important;
}

[data-theme] #setup-menu > li:first-child {
  border-bottom-color: var(--cc-panel-border);
  color: var(--cc-sidebar-active-text);
}

[data-theme] .sidebar-user-profile > a {
  background-color: var(--cc-panel-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-panel-border) !important;
}

/* ── Links ── */
[data-theme] a:not(.btn):not(.text-muted):not(.text-danger):not(.text-success):not(.text-warning):not(.text-info):not(.text-primary) {
  color: var(--cc-link);
}

[data-theme] a:not(.btn):hover,
[data-theme] a:not(.btn):focus {
  color: var(--cc-accent-hot);
}

[data-theme] .text-muted {
  color: var(--text-muted) !important;
}

[data-theme] .text-danger {
  color: var(--cc-danger) !important;
}

[data-theme] .text-warning {
  color: var(--cc-warning) !important;
}

[data-theme] .text-info {
  color: var(--cc-info) !important;
}

[data-theme] .text-success {
  color: var(--cc-success) !important;
}

[data-theme] .text-primary {
  color: var(--cc-accent) !important;
}

[data-theme] .text-dark {
  color: var(--text-primary) !important;
}

[data-theme] h1,
[data-theme] h2,
[data-theme] h3,
[data-theme] h4,
[data-theme] h5,
[data-theme] h6,
[data-theme] .tw-text-neutral-800,
[data-theme] .tw-text-neutral-900,
[data-theme] .tw-text-neutral-700,
[data-theme] .tw-text-gray-800,
[data-theme] .tw-text-gray-900,
[data-theme] .tw-text-slate-800 {
  color: var(--text-primary);
}

[data-theme] hr {
  border-color: var(--cc-panel-border);
}

/* ── Panels / cards / wells ── */
[data-theme] .panel,
[data-theme] .panel_s,
[data-theme] .panel-default,
[data-theme] .panel-body,
[data-theme] .well,
[data-theme] .bgwhite,
[data-theme] .card,
[data-theme] .widget,
[data-theme] .widget-dragger,
[data-theme] .screen-options-area {
  background-color: var(--cc-panel-bg) !important;
  color: var(--text-primary);
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .panel-heading,
[data-theme] .panel-footer,
[data-theme] .panel_s .panel-heading,
[data-theme] .panel-default > .panel-heading {
  background-color: var(--cc-panel-heading-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .list-group-item {
  background-color: var(--cc-panel-bg) !important;
  color: var(--text-primary);
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .list-group-item.active,
[data-theme] .list-group-item.active:hover,
[data-theme] .list-group-item.active:focus {
  background-color: var(--cc-sidebar-active-bg) !important;
  border-color: var(--cc-accent) !important;
  color: var(--cc-sidebar-active-text) !important;
}

[data-theme] .horizontal-scrollable-tabs {
  background-color: transparent;
}

[data-theme] .horizontal-tabs .nav-tabs-horizontal {
  background-color: var(--cc-panel-bg);
}

/* ── Tables ── */
[data-theme] .table,
[data-theme] table.dataTable,
[data-theme] .table > tbody > tr > td,
[data-theme] .table > tbody > tr > th,
[data-theme] .table > tfoot > tr > td,
[data-theme] .table > tfoot > tr > th {
  background-color: var(--cc-table-bg);
  color: var(--text-primary);
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .table > thead > tr > th,
[data-theme] table.dataTable thead tr > th,
[data-theme] .table.dataTable > thead:first-child > tr:first-child > th,
[data-theme] .table.items thead,
[data-theme] .table.items thead th {
  background-color: var(--cc-table-head) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .table-striped > tbody > tr:nth-of-type(odd) > td,
[data-theme] table.dataTable.stripe tbody tr.odd > td,
[data-theme] table.dataTable.display tbody tr.odd > td {
  background-color: var(--cc-table-stripe) !important;
}

[data-theme] .table-hover > tbody > tr:hover > td,
[data-theme] table.dataTable.hover tbody tr:hover > td,
[data-theme] table.dataTable.display tbody tr:hover > td {
  background-color: var(--cc-table-hover) !important;
}

[data-theme] .dataTables_wrapper,
[data-theme] .dt-buttons,
[data-theme] .dataTables_info,
[data-theme] .dataTables_length,
[data-theme] .dataTables_filter,
[data-theme] .dataTables_filter label,
[data-theme] .dataTables_empty {
  color: var(--text-primary);
  background-color: transparent;
}

[data-theme] .dataTables_wrapper table tbody a:not(.text-muted, .text-primary, .text-danger, .text-warning, .text-success, .text-info) {
  color: var(--cc-link) !important;
}

[data-theme] .dataTables_wrapper .row,
[data-theme] .table-responsive {
  background-color: transparent;
}

[data-theme] table.dataTable thead .sorting:after,
[data-theme] table.dataTable thead .sorting_asc:after,
[data-theme] table.dataTable thead .sorting_desc:after {
  color: var(--text-muted);
}

/* ── Forms ── */
[data-theme] .form-control,
[data-theme] input[type="text"],
[data-theme] input[type="password"],
[data-theme] input[type="email"],
[data-theme] input[type="number"],
[data-theme] input[type="search"],
[data-theme] input[type="url"],
[data-theme] input[type="tel"],
[data-theme] input[type="date"],
[data-theme] input[type="datetime-local"],
[data-theme] select,
[data-theme] textarea,
[data-theme] .input-group-addon,
[data-theme] .bootstrap-select .dropdown-toggle {
  background-color: var(--cc-bg-input) !important;
  color: var(--cc-input-text) !important;
  border-color: var(--cc-input-border) !important;
}

[data-theme] .form-control:focus,
[data-theme] input:focus,
[data-theme] select:focus,
[data-theme] textarea:focus {
  border-color: var(--cc-accent) !important;
  box-shadow: 0 0 0 3px var(--cc-focus) !important;
}

[data-theme] .form-control[disabled],
[data-theme] .form-control[readonly],
[data-theme] fieldset[disabled] .form-control {
  background-color: var(--bg-surface-alt) !important;
  color: var(--text-muted) !important;
}

[data-theme] label,
[data-theme] .control-label,
[data-theme] .form-group > label {
  color: var(--text-primary);
}

[data-theme] .help-block {
  color: var(--text-muted);
}

[data-theme] .checkbox label,
[data-theme] .radio label {
  color: var(--text-primary);
}

[data-theme] .onoffswitch-label {
  background-color: var(--cc-progress-track) !important;
  border-color: var(--cc-hairline) !important;
}

[data-theme] .onoffswitch-label:before {
  background-color: var(--cc-panel-bg) !important;
  border-color: var(--cc-hairline) !important;
}

[data-theme] .onoffswitch-checkbox:checked + .onoffswitch-label {
  background-color: var(--cc-accent) !important;
  border-color: var(--cc-accent) !important;
}

[data-theme] .onoffswitch-checkbox:checked + .onoffswitch-label:before {
  border-color: var(--cc-accent) !important;
}

/* ── Buttons ── */
[data-theme] .btn-primary,
[data-theme] .btn-primary:focus,
[data-theme] .btn-primary.focus {
  background-color: var(--cc-btn-bg) !important;
  border-color: var(--cc-btn-bg) !important;
  color: var(--cc-btn-text) !important;
}

[data-theme] .btn-primary:hover,
[data-theme] .btn-primary:active,
[data-theme] .btn-primary.active,
[data-theme] .open > .dropdown-toggle.btn-primary {
  background-color: var(--cc-btn-hover) !important;
  border-color: var(--cc-btn-hover) !important;
  color: var(--cc-btn-text) !important;
}

[data-theme] .btn-default,
[data-theme] .btn-default:focus,
[data-theme] .btn-default.focus {
  background-color: var(--cc-btn-default-bg) !important;
  border-color: var(--cc-btn-default-border) !important;
  color: var(--cc-btn-default-text) !important;
}

[data-theme] .btn-default:hover,
[data-theme] .btn-default:active,
[data-theme] .btn-default.active,
[data-theme] .open > .dropdown-toggle.btn-default {
  background-color: var(--cc-sidebar-hover) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--text-primary) !important;
}

[data-theme] .btn-info {
  background-color: var(--cc-info) !important;
  border-color: var(--cc-info) !important;
  color: #fff !important;
}

[data-theme] .btn-success {
  background-color: var(--cc-success) !important;
  border-color: var(--cc-success) !important;
  color: #fff !important;
}

[data-theme] .btn-warning {
  background-color: var(--cc-warning) !important;
  border-color: var(--cc-warning) !important;
  color: #16081f !important;
}

[data-theme] .btn-danger {
  background-color: var(--cc-danger) !important;
  border-color: var(--cc-danger) !important;
  color: #fff !important;
}

[data-theme] .btn-link {
  color: var(--cc-link) !important;
  background-color: transparent !important;
}

/* ── Dropdowns / popovers ── */
[data-theme] .dropdown-menu,
[data-theme] .bootstrap-select .dropdown-menu,
[data-theme] .popover,
[data-theme] .datepicker,
[data-theme] .xdsoft_datetimepicker,
[data-theme] .ui-datepicker {
  background-color: var(--cc-dropdown-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .dropdown-menu > li > a,
[data-theme] .dropdown-header,
[data-theme] .popover-title,
[data-theme] .popover-content {
  color: var(--text-primary) !important;
  background-color: transparent;
}

[data-theme] .dropdown-menu > li > a:hover,
[data-theme] .dropdown-menu > li > a:focus,
[data-theme] .dropdown-menu > .active > a,
[data-theme] .dropdown-menu > .active > a:hover,
[data-theme] .bootstrap-select .dropdown-menu li a:hover,
[data-theme] .bootstrap-select .dropdown-menu li.selected a {
  background-color: var(--cc-sidebar-hover) !important;
  color: var(--text-primary) !important;
}

[data-theme] .dropdown-menu .divider {
  background-color: var(--cc-panel-border) !important;
}

[data-theme] .tooltip-inner {
  background-color: var(--cc-dropdown-bg);
  color: var(--text-primary);
}

/* ── Modals ── */
[data-theme] .modal-content {
  background-color: var(--cc-modal-bg) !important;
  color: var(--text-primary);
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .modal-header,
[data-theme] .modal-footer {
  background-color: var(--cc-panel-heading-bg) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--text-primary) !important;
}

[data-theme] .modal-header .modal-title,
[data-theme] .modal-header > *:not(.modal-title) {
  color: var(--text-primary) !important;
}

[data-theme] .modal-header .close,
[data-theme] .modal-header .close span {
  color: var(--text-primary) !important;
  opacity: 0.8;
  text-shadow: none;
}

[data-theme] .modal-body {
  background-color: var(--cc-modal-bg) !important;
  color: var(--text-primary);
}

[data-theme] .modal-backdrop {
  background-color: #150122;
}

/* ── Tabs / pills / pagination ── */
[data-theme] .nav-tabs {
  border-bottom-color: var(--cc-panel-border);
}

[data-theme] .nav-tabs > li > a {
  color: var(--text-muted);
  background-color: transparent;
  border-color: transparent;
}

[data-theme] .nav-tabs > li.active > a,
[data-theme] .nav-tabs > li.active > a:hover,
[data-theme] .nav-tabs > li.active > a:focus,
[data-theme] .nav-tabs > li > a:hover,
[data-theme] .nav-tabs > li > a:focus {
  color: var(--text-primary) !important;
  background-color: var(--cc-panel-bg) !important;
  border-color: var(--cc-panel-border) !important;
  border-bottom-color: var(--cc-panel-bg) !important;
}

[data-theme] .nav-pills > li.active > a,
[data-theme] .nav-pills > li.active > a:hover,
[data-theme] .nav-pills > li.active > a:focus {
  background-color: var(--cc-accent) !important;
  color: #fff !important;
}

[data-theme] .pagination > li > a,
[data-theme] .pagination > li > span,
[data-theme] .dataTables_paginate .paginate_button {
  background-color: var(--cc-panel-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .pagination > .active > a,
[data-theme] .pagination > .active > span,
[data-theme] .dataTables_paginate .paginate_button.current {
  background-color: var(--cc-accent) !important;
  border-color: var(--cc-accent) !important;
  color: #fff !important;
}

[data-theme] .pagination > li > a:hover,
[data-theme] .dataTables_paginate .paginate_button:hover {
  background-color: var(--cc-sidebar-hover) !important;
  color: var(--text-primary) !important;
}

/* ── Alerts / labels / badges ── */
[data-theme] .alert-success {
  background-color: var(--cc-alert-success-bg) !important;
  border-color: var(--cc-success) !important;
  color: var(--cc-success) !important;
}

[data-theme] .alert-warning {
  background-color: var(--cc-alert-warning-bg) !important;
  border-color: var(--cc-warning) !important;
  color: var(--cc-warning) !important;
}

[data-theme] .alert-danger {
  background-color: var(--cc-alert-danger-bg) !important;
  border-color: var(--cc-danger) !important;
  color: var(--cc-danger) !important;
}

[data-theme] .alert-info {
  background-color: var(--cc-alert-info-bg) !important;
  border-color: var(--cc-info) !important;
  color: var(--cc-info) !important;
}

[data-theme] .label-success,
[data-theme] .badge-success,
[data-theme] .bg-success {
  background-color: var(--cc-success) !important;
  color: #fff !important;
}

[data-theme] .label-warning,
[data-theme] .badge-warning,
[data-theme] .bg-warning {
  background-color: var(--cc-warning) !important;
  color: #16081f !important;
}

[data-theme] .label-danger,
[data-theme] .badge-danger,
[data-theme] .bg-danger {
  background-color: var(--cc-danger) !important;
  color: #fff !important;
}

[data-theme] .label-info,
[data-theme] .badge-info,
[data-theme] .bg-info {
  background-color: var(--cc-info) !important;
  color: #16081f !important;
}

[data-theme] .label-default,
[data-theme] .badge {
  background-color: var(--cc-sidebar-hover);
  color: var(--text-primary);
}

[data-theme] .progress {
  background-color: var(--cc-input-bg);
}

[data-theme] .progress-bar {
  background-color: var(--cc-accent);
}

/* ── Kanban ── */
[data-theme] .kan-ban-col,
[data-theme] .kan-ban-content-wrapper {
  background-color: transparent !important;
  border-color: transparent !important;
}

[data-theme] .kan-ban-content {
  background-color: var(--cc-content-bg) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .kan-ban-col-wrapper .panel_s,
[data-theme] .kan-ban-body .panel_s,
[data-theme] #kan-ban .panel-body {
  background-color: var(--cc-panel-bg) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--text-primary);
}

[data-theme] .kan-ban-col .panel-heading.tw-bg-neutral-700:not([style]) {
  background-color: var(--cc-panel-heading-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme] .kan-ban-expand-top {
  background-color: var(--cc-panel-heading-bg) !important;
  color: var(--text-muted) !important;
}

[data-theme] .kanban-empty h4 {
  color: var(--text-muted) !important;
}

/* ── Misc chrome ── */
[data-theme] .breadcrumb {
  background-color: transparent;
  color: var(--text-muted);
}

[data-theme] .breadcrumb > li + li:before {
  color: var(--text-muted);
}

[data-theme] .page-title,
[data-theme] .tw-bg-neutral-50,
[data-theme] .tw-bg-neutral-100,
[data-theme] .\!tw-bg-neutral-100 {
  background-color: var(--bg-surface-alt) !important;
}

[data-theme] .note {
  background-color: var(--cc-alert-warning-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-warning) !important;
}

[data-theme] .email-templates li {
  border-bottom-color: var(--cc-panel-border);
}

[data-theme] .fc-unthemed td.fc-today,
[data-theme] .fc .fc-daygrid-day.fc-day-today {
  background-color: var(--cc-table-hover) !important;
}

[data-theme] .fc-theme-standard td,
[data-theme] .fc-theme-standard th,
[data-theme] .fc-scrollgrid,
[data-theme] .fc-theme-standard .fc-scrollgrid,
[data-theme] .fc .fc-daygrid-day,
[data-theme] .fc .fc-daygrid-day-frame,
[data-theme] .fc .fc-col-header-cell,
[data-theme] .fc .fc-timegrid-slot,
[data-theme] .fc .fc-scrollgrid-sync-table,
[data-theme] .fc .fc-daygrid-body {
  background-color: var(--cc-panel-bg) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--text-primary);
}

[data-theme] .fc .fc-daygrid-day-number,
[data-theme] .fc .fc-col-header-cell-cushion,
[data-theme] .fc .fc-toolbar-title {
  color: var(--text-primary) !important;
}

[data-theme] .fc .fc-button-primary {
  background-color: var(--cc-btn-default-bg) !important;
  border-color: var(--cc-btn-default-border) !important;
  color: var(--cc-btn-default-text) !important;
}

[data-theme] .fc .fc-button-primary:not(:disabled).fc-button-active,
[data-theme] .fc .fc-button-primary:hover {
  background-color: var(--cc-accent) !important;
  border-color: var(--cc-accent) !important;
  color: #fff !important;
}

[data-theme] .preview-tabs-top,
[data-theme] .horizontal-scrollable-tabs .scroller {
  background-color: var(--cc-panel-bg);
}

[data-theme] .task-info,
[data-theme] .task-single-col,
[data-theme] .task-info-separator {
  border-color: var(--cc-panel-border);
}

[data-theme] .task-modal-single .modal-body,
[data-theme] .task-single-col-left,
[data-theme] .task-single-col-right,
[data-theme] .task-modal-single .modal-content {
  background-color: var(--cc-modal-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme] .task-single-col-right {
  background-color: var(--cc-panel-heading-bg) !important;
  border-left-color: var(--cc-panel-border) !important;
}

[data-theme] .task-info-heading,
[data-theme] .task-info h5,
[data-theme] .task-info-created,
[data-theme] .task-single-col-right h4,
[data-theme] .task-single-col-right h5 {
  color: var(--text-primary) !important;
}

[data-theme] .task-info-icon {
  color: var(--cc-meta) !important;
}

[data-theme] .task-info-inline-input-edit,
[data-theme] input.task-single-inline-field,
[data-theme] .task-single-inline-field {
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 1px dashed var(--cc-hairline) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--text-primary) !important;
  height: auto !important;
  min-height: var(--cc-ctrl-h-sm);
}

[data-theme] textarea[name="checklist-description"]:disabled {
  background-color: transparent !important;
  color: var(--text-muted) !important;
}

[data-theme] .btn-bottom-toolbar,
[data-theme] .mobile-navbar {
  background-color: var(--cc-header-bg) !important;
  color: var(--text-primary);
  border-top: 1px solid var(--cc-panel-border);
}

[data-theme] #newsfeed .newsfeed_post .user-post-like,
[data-theme] .proposal-comment,
[data-theme] .proposal-comments .proposal-comment,
[data-theme] .dd-handle:hover,
[data-theme] #nestable2 .dd-handle,
[data-theme] .sub-items .dd3-content {
  background-color: var(--cc-panel-bg) !important;
  color: var(--text-primary) !important;
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .activity-feed .feed-item,
[data-theme] .feed-item {
  border-color: var(--cc-panel-border);
  color: var(--text-primary);
}

[data-theme] ::-webkit-scrollbar-track {
  background-color: var(--cc-scrollbar-track);
}

[data-theme] ::-webkit-scrollbar-thumb {
  background-color: var(--cc-scrollbar-thumb);
}

/* ── Tailwind utilities (Perfex 3.4, sem dark:) ── */
[data-theme] .tw-bg-white,
[data-theme] .\!tw-bg-white,
[data-theme] .tw-bg-white\/80 {
  background-color: var(--cc-panel-bg) !important;
}

[data-theme] .tw-bg-neutral-200,
[data-theme] .tw-bg-slate-100,
[data-theme] .tw-bg-gray-100 {
  background-color: var(--bg-surface-alt) !important;
}

[data-theme] .tw-text-neutral-500,
[data-theme] .tw-text-neutral-400,
[data-theme] .tw-text-neutral-600,
[data-theme] .tw-text-slate-500,
[data-theme] .tw-text-gray-500,
[data-theme] .\!tw-placeholder-neutral-500::placeholder {
  color: var(--text-muted) !important;
}

[data-theme] .tw-text-neutral-800,
[data-theme] .tw-text-neutral-700,
[data-theme] .tw-text-neutral-900,
[data-theme] .tw-text-gray-900,
[data-theme] .hover\:tw-text-neutral-800:hover,
[data-theme] .focus\:tw-text-neutral-800:focus,
[data-theme] .group-hover\:tw-text-neutral-800:hover {
  color: var(--text-primary) !important;
}

[data-theme] .tw-border-neutral-300,
[data-theme] .tw-border-neutral-300\/80,
[data-theme] .tw-border-neutral-200,
[data-theme] .tw-border-neutral-100,
[data-theme] .tw-border-slate-200,
[data-theme] .\!tw-border-white {
  border-color: var(--cc-panel-border) !important;
}

[data-theme] .tw-bg-primary-600,
[data-theme] .group-hover\:\!tw-bg-primary-700:hover {
  background-color: var(--cc-accent) !important;
}

[data-theme] .tw-text-primary-600,
[data-theme] .tw-text-primary-700 {
  color: var(--cc-accent) !important;
}

[data-theme="dark"] .tw-shadow-xs,
[data-theme="dark"] .tw-shadow-sm,
[data-theme="dark"] .tw-shadow {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .hover\:tw-bg-neutral-900\/5:hover,
[data-theme="dark"] .focus\:tw-bg-neutral-900\/5:focus,
[data-theme="dark"] .hover\:tw-bg-neutral-600\/10:hover {
  background-color: rgba(255, 255, 255, 0.06) !important;
}

[data-theme] .hover\:tw-bg-neutral-200\/60:hover,
[data-theme] .hover\:tw-bg-neutral-50:hover,
[data-theme] .hover\:tw-bg-neutral-100:hover {
  background-color: var(--cc-sidebar-hover) !important;
}

[data-theme="dark"] .tw-border-white\/10,
[data-theme="dark"] .hover\:tw-border-white\/30:hover {
  border-color: var(--cc-panel-border) !important;
}

/* ── Portal do cliente ── */
[data-theme] body.customers .navbar-default,
[data-theme] .customers .navbar-default {
  background-color: var(--cc-header-bg) !important;
  border-bottom-color: var(--cc-panel-border) !important;
}

[data-theme] .customers .navbar-default .navbar-nav > li > a,
[data-theme] .customers .navbar-default .navbar-brand,
[data-theme] .customers .navbar-default .navbar-brand.logo-text {
  color: var(--cc-header-text) !important;
}

[data-theme] .navbar-default .navbar-nav > li > a:focus,
[data-theme] .navbar-default .navbar-nav > li > a:hover,
[data-theme] .navbar-default .navbar-nav > .active > a,
[data-theme] .navbar-default .navbar-nav > .active > a:focus,
[data-theme] .navbar-default .navbar-nav > .active > a:hover {
  background-color: var(--cc-sidebar-hover) !important;
  color: var(--cc-accent) !important;
}

[data-theme] .customers footer {
  background-color: var(--cc-panel-heading-bg) !important;
  color: var(--text-muted) !important;
  border-top-color: var(--cc-panel-border) !important;
}

[data-theme] .customers .customer-top-submenu,
[data-theme] .customers .submenu {
  background-color: transparent;
}

[data-theme] .customers .customer-top-submenu a,
[data-theme] .customers .submenu a {
  color: var(--text-primary);
}

[data-theme] .navbar-default .navbar-toggle {
  border-color: var(--cc-panel-border);
}

[data-theme] .navbar-default .navbar-toggle .icon-bar {
  background-color: var(--cc-header-text);
}

[data-theme] .navbar-default .navbar-toggle:hover,
[data-theme] .navbar-default .navbar-toggle:focus {
  background-color: var(--cc-sidebar-hover);
}

[data-theme] .navbar-default .navbar-collapse,
[data-theme] .navbar-default .navbar-form {
  border-color: var(--cc-panel-border);
}

[data-theme] .customers .panel,
[data-theme] .customers .panel_s,
[data-theme] .customers .panel-body,
[data-theme] .customers .table {
  background-color: var(--cc-panel-bg);
  color: var(--text-primary);
  border-color: var(--cc-panel-border);
}

[data-theme] .announcement {
  color: var(--text-primary);
}

[data-theme] .announcement small {
  color: var(--text-muted);
}

[data-theme] .navbar-default .navbar-nav > li.customers-nav-item-login > a {
  background-color: var(--cc-accent) !important;
  color: #fff !important;
}

[data-theme] .navbar-default .navbar-nav > li.customers-nav-item-login > a:hover,
[data-theme] .navbar-default .navbar-nav > li.customers-nav-item-login > a:active {
  background-color: var(--cc-accent-hot) !important;
  color: #fff !important;
}

[data-theme] .jumbotron,
[data-theme] .kb-search-jumbotron {
  background-color: var(--cc-panel-heading-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme] .kb-search-heading {
  color: var(--text-primary) !important;
}

/* ── Widgets / overlays miúdos ── */
[data-theme] .top_stats_wrapper {
  background-color: var(--cc-panel-bg) !important;
}

[data-theme] .datepicker .datepicker-switch,
[data-theme] .datepicker .prev,
[data-theme] .datepicker .next,
[data-theme] .datepicker .dow,
[data-theme] .xdsoft_datetimepicker .xdsoft_label,
[data-theme] .xdsoft_datetimepicker .xdsoft_month,
[data-theme] .xdsoft_datetimepicker .xdsoft_year {
  color: var(--text-primary) !important;
  background-color: transparent !important;
}

[data-theme] .datepicker table tr td.disabled,
[data-theme] .datepicker table tr td.disabled:hover {
  color: var(--text-muted) !important;
  background: transparent !important;
}

[data-theme] .bootstrap-select .dropdown-menu .notify,
[data-theme] .bootstrap-select .no-results {
  color: var(--text-muted);
  background-color: transparent;
}

[data-theme] .tagit,
[data-theme] ul.tagit {
  background-color: var(--cc-bg-input) !important;
  border-color: var(--cc-input-border) !important;
}

[data-theme] .tagit .tagit-label,
[data-theme] .tagit input[type="text"] {
  color: var(--cc-input-text) !important;
  background: transparent !important;
}

[data-theme] .float-alert .close {
  color: var(--text-primary);
  opacity: 0.6;
  text-shadow: none;
}

[data-theme] .dropzone .dz-preview .dz-details {
  color: var(--text-primary);
}

[data-theme] .started-timers-top,
[data-theme] .notifications-wrapper .dropdown-menu {
  color: var(--text-primary);
}

[data-theme] .notification-title {
  color: var(--text-primary);
}

[data-theme] .notification-date {
  color: var(--text-muted);
}

/* ── Documentos na tela (não PDF) ── */
[data-theme] #invoice-preview,
[data-theme] #estimate-preview,
[data-theme] .proposal-view,
[data-theme] .tc-content {
  color: var(--text-primary);
}

[data-theme] .table.items .main,
[data-theme] .table.items .main td {
  background-color: var(--cc-panel-heading-bg) !important;
  border-color: var(--cc-panel-border) !important;
  color: var(--text-primary) !important;
}

[data-theme] .table.items tbody > tr > td,
[data-theme] .table.items tfoot > tr > td {
  background-color: var(--cc-table-bg) !important;
  color: var(--text-primary);
}

[data-theme] .tc-content table,
[data-theme] .tc-content table td {
  border-color: var(--cc-panel-border);
  color: var(--text-primary);
}

[data-theme] .border-right {
  border-right-color: var(--cc-panel-border) !important;
}

[data-theme] .highlight-bg {
  background-color: var(--cc-alert-info-bg) !important;
  border-color: var(--cc-info) !important;
  color: var(--text-primary) !important;
}

[data-theme] .preview-sticky-header,
[data-theme] .customers .preview-sticky-header,
[data-theme] .preview-top-wrapper {
  background-color: var(--cc-header-bg) !important;
  color: var(--text-primary);
  box-shadow: none;
  border-bottom: 1px solid var(--cc-panel-border);
}

[data-theme] .invoice-html-number,
[data-theme] .invoice-html-status,
[data-theme] .preview-sticky-container {
  color: var(--text-primary);
}

[data-theme] .panel_s > .tw-absolute.tw-w-px {
  background-color: var(--cc-hairline) !important;
}

[data-theme] .project-overview-open-tasks,
[data-theme] .project-overview-days-left,
[data-theme] .project-progress-bars > div {
  background-color: var(--cc-panel-bg);
  border-color: var(--cc-panel-border) !important;
}

[data-theme] #project_view_name .bootstrap-select .dropdown-toggle,
[data-theme] #project_view_name .bootstrap-select .dropdown-toggle:hover,
[data-theme] #project_view_name .bootstrap-select .dropdown-toggle:focus {
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: var(--text-primary) !important;
}

[data-theme] [class^="settings-group-"] a {
  color: var(--text-muted);
}

[data-theme] [class^="settings-group-"] a.tw-text-neutral-800 {
  color: var(--text-primary) !important;
  background-color: var(--cc-sidebar-hover);
}

/* ── Tickets ── */
[data-theme] .tw-bg-gradient-to-r.tw-from-neutral-50,
[data-theme] .tw-from-neutral-50.tw-to-white {
  background-image: none !important;
  background-color: var(--cc-header-bg) !important;
}

[data-theme] .ticket-thread {
  background-color: var(--cc-panel-bg) !important;
  color: var(--text-primary);
}

[data-theme] .ticket-thread.client-reply,
[data-theme] .client-reply .panel-body {
  background-color: var(--cc-alert-info-bg) !important;
  color: var(--text-primary) !important;
}

[data-theme] .tw-bg-info-50\/30:not(.client-reply) {
  background-color: var(--cc-panel-bg) !important;
}

[data-theme] span.mention {
  background-color: var(--cc-sidebar-hover) !important;
  color: var(--text-primary);
}

[data-theme] .ticketstaffnotes .tw-bg-neutral-50 {
  background-color: var(--cc-panel-heading-bg) !important;
}

/* ── Ficha do cliente ── */
[data-theme] .customer-profile-group-heading {
  color: var(--text-primary) !important;
}

[data-theme] .customer-profile-attachment {
  border-color: var(--cc-hairline) !important;
  background-color: var(--cc-panel-heading-bg);
}

[data-theme] .customer-tabs a.tw-bg-neutral-50 {
  background-color: var(--cc-sidebar-hover) !important;
}

/* ── Portal logado ── */
[data-theme] .customers form.dropzone,
[data-theme] .customers .dropzone {
  background-color: var(--cc-panel-heading-bg) !important;
  border-color: var(--cc-hairline) !important;
}

[data-theme] .customers .dropzone .dz-message {
  color: var(--text-muted) !important;
}

[data-theme] .customers .invoices-stats a,
[data-theme] .customers .stats-numbers {
  color: var(--text-primary);
}

[data-theme] .fc-event,
[data-theme] .fc .fc-event {
  color: inherit;
}

[data-theme] .fc .fc-daygrid-event {
  color: var(--text-primary);
}

[data-theme] ul.reports a,
[data-theme] ul.reports a.group {
  color: var(--text-muted) !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

[data-theme] ul.reports a:hover,
[data-theme] ul.reports a:focus {
  color: var(--text-primary) !important;
  background-color: var(--cc-sidebar-hover) !important;
}

[data-theme] ul.reports a[data-active="true"] {
  color: var(--cc-sidebar-active-text) !important;
  background-color: var(--cc-sidebar-active-bg) !important;
  border-color: var(--cc-hairline) !important;
}

[data-theme] ul.reports a svg {
  color: inherit !important;
}

[data-theme] .gantt .grid-header {
  fill: var(--cc-panel-heading-bg);
  stroke: var(--cc-hairline);
}

[data-theme] .gantt .grid-row {
  fill: var(--cc-panel-bg);
}

[data-theme] .gantt .grid-row:nth-child(even) {
  fill: var(--cc-table-stripe);
}

[data-theme] .gantt .row-line,
[data-theme] .gantt .tick {
  stroke: var(--cc-hairline);
}

[data-theme] .gantt .today-highlight {
  fill: var(--cc-accent);
  opacity: 0.12;
}

[data-theme] .gantt .arrow {
  stroke: var(--text-muted);
}

[data-theme] .gantt .bar {
  fill: var(--cc-btn-default-bg);
}

[data-theme] .gantt .bar-progress {
  fill: var(--cc-accent);
}

[data-theme] .gantt .upper-text,
[data-theme] .gantt .lower-text {
  fill: var(--text-muted);
}

[data-theme] .gantt .bar-label {
  fill: var(--text-primary);
}

[data-theme] .gantt-container .popup-wrapper {
  background: var(--cc-overlay);
  color: var(--text-primary);
}

[data-theme] .cc-invoice-stat {
  background-color: var(--cc-panel-bg);
  color: var(--text-primary) !important;
}

[data-theme] .cc-invoice-stat:hover {
  border-color: var(--cc-accent) !important;
}

[data-theme] .cc-invoice-stat__label {
  color: var(--text-muted);
}

[data-theme] .cc-invoice-stat__num {
  color: var(--text-primary);
}
