/* Dark-theme compatibility layer for legacy and independently loaded modules. */
body:not(.light-theme) {
  color-scheme: dark;
  --legacy-panel: var(--surface, #111);
  --legacy-panel-soft: var(--bg2, #171717);
  --legacy-control: var(--bg, #0a0a0a);
  --legacy-text: var(--text, #fafafa);
  --legacy-muted: var(--text2, #a1a1a1);
  --legacy-border: var(--border, rgba(250, 250, 250, .1));
}

body:not(.light-theme) :is(
  .view, .module-shell, .panel, .card, .modal-content,
  .financial-card, .financial-panel, .finance-card, .finance-panel,
  .accounting-card, .accounting-panel, .agenda-card, .agenda-panel,
  .contacts-card, .contacts-panel, .admin-card, .admin-panel,
  .crm-contacts-toolbar, .crm-contacts-table-wrap,
  .crm-inline-entity-modal, .crm-bitrix-table-wrap,
  .crm-bitrix-actions-menu, .crm-bitrix-real-board .crm-bitrix-card,
  .crm-bitrix-real-board .crm-bitrix-card-summary-item
) {
  border-color: var(--legacy-border) !important;
  background-color: var(--legacy-panel) !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) :is(
  .crm-contacts-toolbar button, .crm-contacts-table-wrap button,
  .crm-contacts-public-link
) {
  border-color: var(--legacy-border) !important;
  background-color: var(--legacy-panel-soft) !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) .crm-contacts-shell {
  background-color: var(--bg, #0a0a0a) !important;
  background-image:
    radial-gradient(circle at 84% 4%, rgba(200, 242, 74, .07), transparent 31%),
    linear-gradient(180deg, var(--bg, #0a0a0a), var(--bg, #0a0a0a)) !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) .crm-contacts-tabs button {
  border-color: var(--legacy-border) !important;
  background: var(--legacy-panel) !important;
  color: var(--legacy-muted) !important;
}

body:not(.light-theme) .crm-contacts-tabs button.active {
  border-color: var(--accent) !important;
  background: var(--accent-glow) !important;
  color: var(--accent) !important;
}

body:not(.light-theme) .crm-contacts-consolidated-card {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--legacy-border)) !important;
  background-color: var(--legacy-panel) !important;
  background-image: linear-gradient(135deg, rgba(200, 242, 74, .08), var(--legacy-panel) 72%) !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) :is(
  .crm-contacts-toolbar button:hover, .crm-contacts-table-wrap button:hover,
  .crm-contacts-public-link:hover
) {
  border-color: var(--accent) !important;
  background-color: var(--accent-glow) !important;
}

body:not(.light-theme) :is(
  input:not([type="checkbox"]):not([type="radio"]), select, textarea,
  .filter-control, .search-control, .date-control
) {
  border-color: var(--legacy-border) !important;
  background-color: var(--legacy-control) !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) :is(input, textarea)::placeholder {
  color: var(--text3, #666) !important;
  opacity: 1;
}

body:not(.light-theme) select option {
  background: #111 !important;
  color: #f5f5f5 !important;
}

body:not(.light-theme) :is(table, thead, tbody, tr, th, td) {
  border-color: var(--legacy-border) !important;
}

body:not(.light-theme) :is(th, thead tr) {
  background-color: var(--legacy-panel-soft) !important;
  color: var(--legacy-muted) !important;
}

body:not(.light-theme) :is(td, tbody tr) {
  background-color: transparent !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) tbody tr:hover td {
  background-color: rgba(200, 242, 74, .045) !important;
}

body:not(.light-theme) :is(
  .crm-inline-entity-modal header, .crm-inline-entity-modal footer,
  .crm-bitrix-actions-menu button, .crm-bitrix-real-board .crm-bitrix-card-summary-item
) {
  border-color: var(--legacy-border) !important;
  background-color: var(--legacy-panel) !important;
  color: var(--legacy-text) !important;
}

body:not(.light-theme) :is(
  .crm-inline-entity-modal label, .crm-inline-entity-modal small,
  .crm-bitrix-real-board .crm-bitrix-card-summary-item label,
  .crm-bitrix-real-board .crm-bitrix-card-summary-item strong
) {
  color: var(--legacy-muted) !important;
}

body:not(.light-theme) :is(.dropdown-menu, .popover, .tooltip-content, .context-menu) {
  border-color: var(--legacy-border) !important;
  background: var(--legacy-panel) !important;
  color: var(--legacy-text) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .5) !important;
}

body:not(.light-theme) input[type="date"]::-webkit-calendar-picker-indicator,
body:not(.light-theme) input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: .75;
}

body:not(.light-theme) a:not(.btn):not(.button) {
  text-decoration-color: color-mix(in srgb, var(--accent) 45%, transparent);
}
