/* ============================================================
   THEME SURFACES — contrasto deterministico admin / admin_db / WS
   Token condivisi + override per default | bitrix | neoradar | cinema
   ============================================================ */

/* ── Superfici dashboard (tutti i temi) ───────────────────── */
:root {
  --tk-table-container-bg: var(--tk-bg-card, #fff);
}

.tk-dashboard-panel {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
  border: 1px solid var(--tk-border-color, var(--tk-border-soft, #dee2e6));
}

.tk-dashboard-filter-surface {
  background: var(--tk-filter-bar-bg, var(--tk-bg-surface, #f8f9fa)) !important;
  color: var(--tk-text-primary);
  border-color: var(--tk-border-color, #dee2e6) !important;
}

.tk-text-heading {
  color: var(--tk-text-primary) !important;
}

.tk-text-subtle {
  color: var(--tk-text-muted, #5c6570) !important;
}

/* ── /admin — Editor Database ─────────────────────────────── */
#adminTabsContent.tk-dashboard-panel,
#adminTabsContent.tab-content {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
}

#adminTabsContent .registry-create-title,
#adminTabsContent .admin-registry-heading h5 {
  color: var(--tk-text-primary) !important;
}

#adminTabsContent .admin-editor-title,
.admin-editor-title {
  color: var(--tk-text-primary) !important;
}

#adminTabsContent .form-floating > label {
  color: var(--tk-text-muted, #5c6570);
}

#adminTabsContent .form-floating > .form-control:focus ~ label,
#adminTabsContent .form-floating > .form-select:focus ~ label,
#adminTabsContent .form-floating > .form-control:not(:placeholder-shown) ~ label,
#adminTabsContent .form-floating > .form-select ~ label {
  color: var(--tk-text-primary);
  opacity: 0.92;
}

#adminTabsContent .registry-create-panel .form-control,
#adminTabsContent .registry-create-panel .form-select,
#adminTabsContent .form-floating > .form-control,
#adminTabsContent .form-floating > .form-select {
  background-color: var(--tk-input-bg, #fff);
  color: var(--tk-text-primary);
  border-color: var(--tk-border-color, #dee2e6);
}

#adminTabsContent .admin-registry-filters .input-group-text {
  background-color: var(--tk-input-bg, #fff) !important;
  color: var(--tk-primary, #0d6efd) !important;
  border-color: var(--tk-border-color, #dee2e6) !important;
}

#adminTabsContent .admin-registry-filters .form-control {
  background-color: var(--tk-input-bg, #fff) !important;
  color: var(--tk-text-primary) !important;
}

/* Righe reparto: tint leggero da hue badge (attività/utenti) */
#adminTabsContent tr.reparto-row {
  background-color: var(--reparto-row-bg, var(--tk-table-row-bg, transparent)) !important;
}

#adminTabsContent tr.reparto-row:nth-child(even) {
  background-color: var(--reparto-row-bg, var(--tk-table-row-alt-bg, rgba(0, 0, 0, 0.02))) !important;
}

.table-hover tbody tr.reparto-row:hover {
  background-color: var(--reparto-row-bg-hover, var(--tk-hover-row-bg)) !important;
}

#adminTabsContent tr.reparto-row td,
.table-hover tbody tr.reparto-row:hover td {
  background-color: inherit !important;
}

#adminTabsContent .table tbody td {
  color: var(--tk-text-primary);
}

#adminTabsContent .table tbody td .fw-bold {
  color: var(--tk-text-primary);
}

/* Tab pill indicator — token in admin-db-tables.css (--tk-tab-indicator-*) */

/* ── /admin_db — filtri + tabella ─────────────────────────── */
#filter-container .filters-card {
  margin-bottom: 0 !important;
}

#filter-container .filters-card .filters-body-tight,
#filter-container .admin-db-filter-bar.filters-body-tight {
  background: transparent !important;
  padding: 0.12rem 0.22rem 2px !important;
}

#filter-container .filters-grid {
  gap: 0.2rem !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#filter-container .filter-field-stack {
  gap: 0.06rem;
  margin-bottom: 0;
}

#filter-container .filters-actions {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Spinner filtri: overlay sul pulsante Filtra (zero altezza nel layout) */
.filters-btn-spinner {
  position: absolute;
  left: 0.42rem;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  line-height: 0;
  transition: opacity 0.15s ease;
}

#filter-form.htmx-request .filters-btn-spinner.htmx-indicator,
.filters-btn-spinner.htmx-request {
  opacity: 1;
  visibility: visible;
}

#filter-form.htmx-request button[type="submit"] .bi-filter {
  opacity: 0.35;
}

#filter-container .admin-db-filter-bar {
  background: var(--tk-filter-bar-bg, var(--tk-bg-surface)) !important;
}

#filter-container .admin-db-filter-bar .form-control,
#filter-container .admin-db-filter-bar .form-select {
  background-color: var(--tk-input-bg, #fff) !important;
  color: var(--tk-text-primary) !important;
  border-color: var(--tk-border-color, rgba(13, 110, 253, 0.35)) !important;
}

#filter-container .admin-db-filter-bar .input-group-text {
  background-color: var(--tk-input-bg, #fff) !important;
  color: var(--tk-primary) !important;
  border-color: var(--tk-border-color, rgba(13, 110, 253, 0.35)) !important;
}

#filter-container .admin-db-filter-bar .filter-field-label {
  color: var(--tk-text-muted, #5b636e) !important;
}

#filter-container .filters-entity-cluster {
  background: var(--tk-filter-cluster-bg, rgba(255, 255, 255, 0.82)) !important;
  border-color: var(--tk-border-color, rgba(13, 110, 253, 0.22)) !important;
}

#tabella_tot.tk-dashboard-panel,
#tabella_tot.bg-white {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
  margin-top: 0.25rem !important;
  padding-top: 0 !important;
}

#tabella_tot > .card {
  border: none;
  background: transparent;
  box-shadow: none;
}

#tabella_tot .table-responsive,
#tabella_tot .table-responsive-fixed {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#tabella_tot .tabella-rapportini thead th {
  border-top: none;
}

.admin-db-pill-widget {
  background: var(--tk-pill-widget-bg, var(--tk-bg-surface)) !important;
}

.admin-db-pill-widget .text-dark {
  color: var(--tk-text-primary) !important;
}

/* Pager admin_db — profilo ultraslim */
#tabella_tot .pager-bar {
  padding: 0.1rem 0.28rem !important;
  gap: 0.1rem !important;
  min-height: 0 !important;
  border-top-width: 1px !important;
  background: var(--tk-bg-card, #fff) !important;
}

#tabella_tot .pager-bar small,
#tabella_tot .pager-bar .pager-bar-meta {
  font-size: 0.62rem !important;
  line-height: 1 !important;
}

#tabella_tot .pager-bar .page-link {
  padding: 0.06rem 0.22rem !important;
  font-size: 0.64rem !important;
  min-height: 22px !important;
  line-height: 1 !important;
}

#tabella_tot .pager-bar .pager-go-form .form-control,
#tabella_tot .pager-bar .pager-go-form .btn {
  min-height: 22px !important;
  height: 22px !important;
  font-size: 0.64rem !important;
  padding: 0.04rem 0.2rem !important;
}

/* WS — neoradar: card scura; default/bitrix usano regole light sotto */
html[data-theme="neoradar"] body.admin-db-ws-view #ws_container .card {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
  border-color: var(--tk-border-color, #dee2e6) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view #ws_container .card-header {
  background: var(--tk-table-header-bg, #212529) !important;
  color: var(--tk-table-header-color, #f8f9fa) !important;
  border-bottom-color: var(--tk-border-color, rgba(255, 255, 255, 0.12)) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view #ws_container .card-body {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
}

html[data-theme="neoradar"] body.admin-db-ws-view .container-fluid {
  background: var(--tk-bg-page, var(--tk-bg-surface)) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view #ws_container {
  background: var(--tk-bg-surface, #0a1018) !important;
  border: 1px solid var(--tk-border-soft, rgba(0, 229, 255, 0.14));
  border-radius: 0.5rem;
  padding: 0.28rem 0.22rem 0.35rem !important;
}

body.admin-db-ws-view .ws-unified-table thead th .ws-sort-indicator {
  opacity: 0.85;
}

body.admin-db-ws-view .ws-unified-table tbody td {
  color: var(--tk-text-primary);
  border-color: var(--tk-border-soft, #dee2e6);
}

body.admin-db-ws-view .ws-ctx-chip,
body.admin-db-ws-view .ws-toolbar-context .badge {
  background: var(--tk-chip-bg, #f3f5f7) !important;
  color: var(--tk-chip-text, #5c6570) !important;
  border-color: var(--tk-chip-border, #dde3ea) !important;
}

body.admin-db-ws-view .ws-ctx-chip.ws-ctx-chip--active {
  background: var(--tk-chip-active-bg, #e8f0fe) !important;
  color: var(--tk-chip-active-text, #1e4b8f) !important;
  border-color: var(--tk-chip-active-border, #c5d9f5) !important;
}

body.admin-db-ws-view .ws-toolbar .form-control,
body.admin-db-ws-view .ws-toolbar .form-select,
body.admin-db-ws-view .ws-toolbar .input-group-text {
  background-color: var(--tk-input-bg, #fff) !important;
  color: var(--tk-text-primary) !important;
  border-color: var(--tk-border-color, #ced4da) !important;
}

body.admin-db-ws-view .ws-toolbar .input-group-text {
  color: var(--tk-primary, var(--bs-primary)) !important;
}

body.admin-db-ws-view .ws-toolbar .input-group-text .bi-search {
  color: inherit !important;
}

body.admin-db-ws-view .ws-empty-hint,
body.admin-db-ws-view #ws_summary .alert,
body.admin-db-ws-view #ws_grid_responsive .alert {
  background: var(--tk-empty-hint-bg, rgba(13, 110, 253, 0.08)) !important;
  color: var(--tk-text-primary) !important;
  border-color: var(--tk-primary, #0d6efd) !important;
}

body.admin-db-ws-view #ws_container #ws_detail_card .pager-bar {
  min-height: 0 !important;
  padding: 0.1rem 0.28rem !important;
}

/* ── TEMA: default (TEKNA) ────────────────────────────────── */
html[data-theme="default"] {
  --tk-input-bg: #ffffff;
  --tk-filter-bar-bg: #f8f9fa;
  --tk-filter-cluster-bg: rgba(255, 255, 255, 0.92);
  --tk-table-container-bg: #ffffff;
  --tk-table-row-bg: transparent;
  --tk-table-row-alt-bg: rgba(0, 0, 0, 0.018);
  --tk-text-muted: #5c6570;
  --tk-chip-bg: #f3f5f7;
  --tk-chip-text: #5c6570;
  --tk-chip-border: #dde3ea;
  --tk-empty-hint-bg: rgba(13, 110, 253, 0.07);
}

/* ── TEMA: bitrix ─────────────────────────────────────────── */
html[data-theme="bitrix"] {
  --tk-input-bg: #ffffff;
  --tk-filter-bar-bg: #eef3f9;
  --tk-filter-cluster-bg: rgba(255, 255, 255, 0.95);
  --tk-table-container-bg: #ffffff;
  --tk-table-row-alt-bg: rgba(27, 58, 107, 0.03);
  --tk-chip-active-bg: rgba(45, 188, 247, 0.14);
  --tk-chip-active-text: #1b3a6b;
}

/* ── TEMA: cinema (projection screen surfaces) ────────────── */
html[data-theme="cinema"] {
  --tk-input-bg: #ffffff;
  --tk-filter-bar-bg: #e8ecf1;
  --tk-filter-cluster-bg: rgba(244, 246, 248, 0.96);
  --tk-table-container-bg: transparent;
  --tk-table-row-bg: transparent;
  --tk-table-row-alt-bg: rgba(26, 29, 36, 0.025);
  --tk-text-muted: #6b7380;
  --tk-chip-bg: #e8ecf1;
  --tk-chip-text: #5a6270;
  --tk-chip-border: rgba(26, 29, 36, 0.1);
  --tk-empty-hint-bg: rgba(61, 107, 138, 0.08);
  --tk-pill-widget-bg: #e8ecf1;
  --tk-chip-active-bg: rgba(61, 107, 138, 0.12);
  --tk-chip-active-text: #2a4f68;
  --tk-actions-cell-bg: #f4f6f8;
  --tk-actions-cell-bg-hover: #e8ecf1;
  --tk-actions-head-bg: transparent;
  --tk-actions-head-color: #5a6270;
  --tk-actions-col-border: rgba(26, 29, 36, 0.1);
}

html[data-theme="cinema"] body.admin-db-ws-view #ws_container .card,
html[data-theme="cinema"] body.admin-db-costi-view .card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

html[data-theme="cinema"] body.admin-db-ws-view #ws_container .card-header,
html[data-theme="cinema"] body.admin-db-costi-view .card-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(26, 29, 36, 0.1) !important;
}

html[data-theme="cinema"] #tabella_tot.tk-dashboard-panel,
html[data-theme="cinema"] #table_container {
  background: transparent;
  box-shadow: none;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
}

html[data-theme="cinema"] #filter-container .admin-db-filter-bar,
html[data-theme="cinema"] #filter-container .tk-dashboard-filter-surface {
  background: var(--tk-filter-bar-bg) !important;
  max-width: 100%;
  min-width: 0;
}

/* ── TEMA: neoradar ───────────────────────────────────────── */
html[data-theme="neoradar"] {
  --tk-input-bg: rgba(10, 18, 30, 0.92);
  --tk-filter-bar-bg: rgba(14, 22, 36, 0.88);
  --tk-filter-cluster-bg: rgba(12, 20, 34, 0.75);
  --tk-table-container-bg: transparent;
  --tk-pill-widget-bg: rgba(14, 22, 36, 0.85);
  --tk-table-row-bg: transparent;
  --tk-table-row-alt-bg: rgba(255, 255, 255, 0.025);
  --tk-text-muted: rgba(184, 212, 240, 0.72);
  --tk-chip-bg: rgba(0, 229, 255, 0.08);
  --tk-chip-text: #b8d4f0;
  --tk-chip-border: rgba(0, 229, 255, 0.2);
  --tk-chip-active-bg: rgba(0, 229, 255, 0.16);
  --tk-chip-active-text: #e8f8ff;
  --tk-chip-active-border: rgba(0, 229, 255, 0.35);
  --tk-empty-hint-bg: rgba(0, 229, 255, 0.1);
}

html[data-theme="neoradar"] #adminTabsContent tr.reparto-row:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.03) !important;
}

html[data-theme="neoradar"] {
  --tk-tab-indicator-bg: rgba(0, 229, 255, 0.12);
  --tk-tab-indicator-shadow: inset 0 0 0 1px rgba(0, 229, 255, 0.28), 0 0 10px rgba(0, 229, 255, 0.06);
}

html[data-theme="neoradar"] .admin-tabs-inline {
  background: rgba(8, 14, 24, 0.78) !important;
  border-color: var(--tk-border-soft) !important;
  box-shadow: inset 0 0 0 1px rgba(0, 229, 255, 0.06);
}

html[data-theme="neoradar"] .admin-tabs-inline .nav-link {
  color: rgba(184, 212, 240, 0.75);
}

html[data-theme="neoradar"] .admin-tabs-inline .nav-link.active {
  color: var(--tk-primary) !important;
}

html[data-theme="neoradar"] [data-reparto-badge] {
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
}

html[data-theme="neoradar"] .pager-bar {
  background: var(--tk-bg-card) !important;
  border-top-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] .pager-bar .page-link {
  background-color: transparent;
  color: var(--tk-text-primary);
  border-color: var(--tk-border-soft);
}

html[data-theme="neoradar"] .pager-bar .page-item.active .page-link {
  background-color: var(--tk-primary);
  color: #041018;
  border-color: var(--tk-primary);
}

/* ── Costi view (admin_db?view=costi) — Neo-Radar table readability ── */
html[data-theme="neoradar"] body.admin-db-costi-view #costi_container {
  color: var(--tk-text-primary);
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-filter-bar {
  background: var(--tk-bg-card) !important;
  border-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-filter-bar .form-control,
html[data-theme="neoradar"] body.admin-db-costi-view .costi-filter-bar .form-select {
  background-color: var(--tk-input-bg, rgba(12, 18, 30, 0.88)) !important;
  color: var(--tk-text-primary) !important;
  border-color: var(--tk-border-color) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-filter-bar .text-success {
  color: #6ee7b7 !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-filter-bar .text-primary {
  color: var(--tk-primary) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view .card {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
  border-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view .card-header {
  background: var(--tk-table-header-bg) !important;
  color: var(--tk-table-header-color) !important;
  border-bottom-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view .card-body {
  background: transparent !important;
  color: var(--tk-text-primary);
}

html[data-theme="neoradar"] body.admin-db-costi-view #costi_container .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--tk-text-primary);
  --bs-table-striped-bg: var(--tk-table-row-alt-bg, rgba(255, 255, 255, 0.04));
  --bs-table-hover-bg: var(--tk-hover-row-bg);
  --bs-border-color: var(--tk-border-soft);
}

html[data-theme="neoradar"] body.admin-db-costi-view #costi_container .table tbody td {
  color: var(--tk-text-primary) !important;
  border-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view #costi_container .table tbody tr:nth-child(even) td {
  background-color: var(--tk-table-row-alt-bg, rgba(255, 255, 255, 0.03)) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view #costi_container .table tbody tr:hover td {
  background-color: var(--tk-hover-row-bg) !important;
}

html[data-theme="neoradar"] body.admin-db-costi-view #costi_container .tk-code-pill--commessa {
  color: #7ee8ff;
  background: rgba(0, 229, 255, 0.12);
  border-color: rgba(0, 229, 255, 0.35);
}

html[data-theme="neoradar"] body.admin-db-costi-view #costi_container .tk-code-pill:not(.tk-code-pill--commessa) {
  color: #a5f3fc;
  background: rgba(0, 180, 220, 0.1);
  border-color: rgba(0, 229, 255, 0.25);
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-tipo-badge--effettivo {
  color: #6ee7b7;
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.4);
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-tipo-badge--stimato,
html[data-theme="neoradar"] body.admin-db-costi-view .costi-tipo-badge--warn {
  color: #fcd34d;
  background: rgba(245, 158, 11, 0.14);
  border-color: rgba(245, 158, 11, 0.35);
}

html[data-theme="neoradar"] body.admin-db-costi-view .costi-row-stima td {
  background-color: rgba(255, 193, 7, 0.1) !important;
}

body.admin-db-costi-view .costi-stima-budget {
  color: #0d6efd;
}

body.admin-db-costi-view .costi-stima-pos {
  color: var(--bs-success);
  font-weight: 600;
}

body.admin-db-costi-view .costi-stima-neg {
  color: var(--bs-danger);
  font-weight: 700;
}

body.admin-db-costi-view .costi-tipo-badge--delta {
  color: #0d6efd;
  background: rgba(13, 110, 253, 0.1);
  border: 1px solid rgba(13, 110, 253, 0.25);
  font-size: 0.65rem;
  vertical-align: middle;
}

body.admin-db-costi-view .costi-charts-duo .costi-chart-col {
  flex: 0 0 auto;
  width: 50%;
  max-width: 50%;
}

body.admin-db-costi-view .costi-charts-solo .costi-chart-col:not(.d-none) {
  flex: 0 0 auto;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}

html[data-theme="neoradar"] body.admin-db-costi-view .text-muted {
  color: rgba(184, 212, 240, 0.72) !important;
}

/* ── Inserimento: prefs opzionali (default OFF) ─────────────── */
html:not([data-tk-guided-flow="on"]) #inserimento-flow-panel,
html[data-tk-guided-flow="off"] #inserimento-flow-panel {
  display: none !important;
}

html:not([data-tk-guided-flow="on"]) .tk-flow-section > h6,
html[data-tk-guided-flow="off"] .tk-flow-section > h6 {
  display: none !important;
}

html:not([data-tk-guided-flow="on"]) .tk-flow-section,
html[data-tk-guided-flow="off"] .tk-flow-section {
  border: none !important;
  box-shadow: none !important;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
}

html:not([data-tk-field-hints="on"]) .tk-context-hint-wrap,
html[data-tk-field-hints="off"] .tk-context-hint-wrap {
  display: none !important;
}

html:not([data-tk-guided-flow="on"]) .tk-inserimento-tagline,
html[data-tk-guided-flow="off"] .tk-inserimento-tagline {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   TABLE UNIFICATION — Azioni, thead, tbody, admin_db shell
   ═══════════════════════════════════════════════════════════ */

:root {
  --tk-actions-cell-bg: var(--tk-bg-card, #ffffff);
  --tk-actions-cell-bg-hover: var(--tk-hover-row-bg, #f8fbff);
  --tk-actions-head-bg: var(--tk-table-header-bg, #212529);
  --tk-actions-head-color: var(--tk-table-header-color, #f8f9fa);
  --tk-actions-toggle-bg: transparent;
  --tk-actions-toggle-bg-hover: rgba(255, 255, 255, 0.12);
}

/* Colonna Azioni — superficie neutra, mai pastel reparto */
.table-has-actions-col thead th.table-actions-col,
.table-has-actions-col tbody td.table-actions-col,
.table-has-actions-col tbody td.sticky-col-cell.table-actions-col,
#adminTabsContent tr.reparto-row td.table-actions-col,
#adminTabsContent tr.reparto-row td.sticky-col-cell.table-actions-col,
#table-utenti-container tr.reparto-row td:last-child.table-actions-col,
#table-reparti-container tr.reparto-row td.sticky-col-cell,
#table-commesse-container tr.reparto-row td.sticky-col-cell,
#table-attivita-container tr.reparto-row td.sticky-col-cell {
  background-color: var(--tk-actions-cell-bg) !important;
  border-left-color: var(--tk-actions-col-border, var(--tk-border-soft, #dee2e6)) !important;
}

.table-hover tbody tr:hover td.table-actions-col,
.table-hover tbody tr:hover td.sticky-col-cell.table-actions-col {
  background-color: var(--tk-actions-cell-bg-hover) !important;
}

/* Header Azioni unificato — tk-table-head legacy + table-dark canonico */
.table-has-actions-col thead th.table-actions-col,
#adminTabsContent .table-has-actions-col thead th.table-actions-col,
#tabella_tot .tabella-rapportini thead.tk-table-head th.table-actions-col,
#tabella_tot .tabella-rapportini thead.table-dark th.table-actions-col,
#table-utenti-container .table-has-actions-col thead th.table-actions-col,
#table-reparti-container .table-has-actions-col thead th.table-actions-col,
#table-commesse-container .table-has-actions-col thead th.table-actions-col,
#table-attivita-container .table-has-actions-col thead th.table-actions-col {
  background-color: var(--tk-actions-head-bg) !important;
  color: var(--tk-actions-head-color) !important;
}

.table-actions-toggle {
  color: var(--tk-actions-head-color) !important;
  background: var(--tk-actions-toggle-bg) !important;
  border-radius: 0.25rem;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.table-actions-toggle:hover,
.table-actions-toggle:focus {
  color: var(--tk-actions-head-color) !important;
  background: var(--tk-actions-toggle-bg-hover) !important;
  box-shadow: none !important;
}

.table-actions-heading-label {
  color: var(--tk-actions-head-color) !important;
}

/* Tabelle — token Bootstrap */
#adminTabsContent .table,
#tabella_tot .tabella-rapportini {
  --bs-table-bg: transparent;
  --bs-table-color: var(--tk-text-primary);
  --bs-table-striped-bg: var(--tk-table-row-alt-bg, rgba(0, 0, 0, 0.02));
  --bs-table-hover-bg: var(--tk-hover-row-bg);
  --bs-border-color: var(--tk-border-soft, #dee2e6);
}

#adminTabsContent .table thead.tk-table-head th,
#adminTabsContent .table thead.table-dark th,
#tabella_tot .tabella-rapportini thead.table-dark th,
#riepilogo-container #tabella-riepilogo-container .tabella-rapportini thead.table-dark th,
.tk-table-standard thead.table-dark th,
#table-utenti-container .table thead.table-dark th,
body.admin-db-ws-view .ws-unified-table thead.table-dark th,
body.admin-db-ws-view .ws-unified-table thead.sticky-top th,
body.admin-db-costi-view .tk-table-standard thead.table-dark th {
  background-color: var(--tk-table-header-bg, #212529) !important;
  color: var(--tk-table-header-color, #f8f9fa) !important;
  border-color: var(--tk-border-soft, rgba(255, 255, 255, 0.12)) !important;
}

#adminTabsContent .table tbody td,
#tabella_tot .tabella-rapportini tbody td {
  color: var(--tk-text-primary);
  border-color: var(--tk-border-soft, #dee2e6);
}

/* Registro reparti / commesse / attività — stessi token tabella admin */
#table-reparti-container,
#table-commesse-container,
#table-attivita-container {
  background: var(--tk-bg-card) !important;
  color: var(--tk-text-primary);
}

#table-reparti-container .table-responsive,
#table-commesse-container .table-responsive,
#table-attivita-container .table-responsive {
  background: transparent !important;
}

#table-reparti-container .table,
#table-commesse-container .table,
#table-attivita-container .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--tk-text-primary);
  --bs-table-striped-bg: var(--tk-table-row-alt-bg, rgba(0, 0, 0, 0.02));
  --bs-table-hover-bg: var(--tk-hover-row-bg);
  --bs-border-color: var(--tk-border-soft, #dee2e6);
}

#table-reparti-container .table thead.table-dark th,
#table-commesse-container .table thead.table-dark th,
#table-attivita-container .table thead.table-dark th,
#table-utenti-container .table thead.table-dark th {
  background-color: var(--tk-table-header-bg, #212529) !important;
  color: var(--tk-table-header-color, #f8f9fa) !important;
  border-color: var(--tk-border-soft, rgba(255, 255, 255, 0.12)) !important;
}

#table-reparti-container .table tbody td,
#table-commesse-container .table tbody td,
#table-attivita-container .table tbody td {
  color: var(--tk-text-primary) !important;
  background-color: transparent !important;
  border-color: var(--tk-border-soft, #dee2e6) !important;
}

#table-reparti-container .table tbody tr:nth-child(even) td,
#table-commesse-container .table tbody tr:nth-child(even) td,
#table-attivita-container .table tbody tr:nth-child(even) td {
  background-color: var(--tk-table-row-alt-bg, rgba(0, 0, 0, 0.02)) !important;
}

#table-reparti-container .table-hover tbody tr:hover td,
#table-commesse-container .table-hover tbody tr:hover td,
#table-attivita-container .table-hover tbody tr:hover td {
  background-color: var(--tk-hover-row-bg) !important;
}

#table-reparti-container .text-muted,
#table-commesse-container .text-muted,
#table-attivita-container .text-muted {
  color: var(--tk-text-muted, #6c757d) !important;
}

.tk-table-cell-primary,
#tabella_tot .tabella-rapportini .tk-table-cell-primary {
  color: var(--tk-text-primary) !important;
}

#tabella_tot .text-muted,
#tabella_tot .cell-svolgimento {
  color: var(--tk-text-muted, #6c757d) !important;
}

/* Shell tabella admin_db — niente card bianca */
#tabella_tot .tk-table-card-shell {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#tabella_tot.tk-dashboard-panel {
  border: none !important;
  box-shadow: none !important;
}

/* Gap filtri → tabella: max 3px */
#filter-container {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#table_container > .col-12 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#tabella_tot.tk-dashboard-panel,
#tabella_tot.bg-white {
  margin-top: 3px !important;
  padding-top: 0 !important;
}

/* Gestione attività — bordi sticky neutri */
#table-attivita-container .sticky-col-header:not(.table-actions-col),
#table-attivita-container .sticky-col-cell:not(.table-actions-col),
#table-utenti-container .sticky-col-header:not(.table-actions-col),
#table-commesse-container .sticky-col-header:not(.table-actions-col) {
  background-color: var(--tk-actions-cell-bg) !important;
  border-left-color: var(--tk-border-soft, #dee2e6) !important;
  box-shadow: -4px 0 6px -6px rgba(0, 0, 0, 0.25);
}

#table-attivita-container tr:hover td.sticky-col-cell:not(.table-actions-col) {
  background-color: var(--tk-actions-cell-bg-hover) !important;
}

/* WS — tekna/bitrix: header card chiaro, non navy sopra tabella */
html[data-theme="default"] body.admin-db-ws-view #ws_container .card-header,
html[data-theme="bitrix"] body.admin-db-ws-view #ws_container .card-header {
  background: var(--tk-bg-card, #ffffff) !important;
  color: var(--tk-text-primary) !important;
  border-bottom: 1px solid var(--tk-border-color, #dee2e6) !important;
}

html[data-theme="default"] body.admin-db-ws-view #ws_container .card-body,
html[data-theme="bitrix"] body.admin-db-ws-view #ws_container .card-body {
  background: var(--tk-bg-card, #ffffff) !important;
}

html[data-theme="default"] body.admin-db-ws-view #ws_container,
html[data-theme="bitrix"] body.admin-db-ws-view #ws_container {
  background: transparent !important;
}

/* WS neoradar mantiene header scuro (già in blocco sopra) */

/* Tema: token azioni */
html[data-theme="default"] {
  --tk-actions-toggle-bg: rgba(13, 110, 253, 0.9);
  --tk-actions-toggle-bg-hover: #0d6efd;
}

html[data-theme="bitrix"] {
  --tk-actions-toggle-bg: rgba(45, 188, 247, 0.88);
  --tk-actions-toggle-bg-hover: #2dbcf7;
  --tk-actions-head-bg: #1b3a6b;
}

html[data-theme="neoradar"] {
  --tk-actions-cell-bg: rgba(12, 20, 34, 0.95);
  --tk-actions-cell-bg-hover: rgba(0, 229, 255, 0.08);
  --tk-actions-toggle-bg: rgba(0, 229, 255, 0.22);
  --tk-actions-toggle-bg-hover: rgba(0, 229, 255, 0.38);
  --tk-actions-head-bg: rgba(8, 14, 24, 0.98);
  --tk-actions-head-color: #b8d4f0;
}

/* Riepilogo personale — colonna data leggibile su neoradar */
html[data-theme="neoradar"] #riepilogo-container #tabella-riepilogo-container .tabella-rapportini .riep-col-data,
html[data-theme="neoradar"] #riepilogo-container #tabella-riepilogo-container .tabella-rapportini td.riep-col-data {
  color: var(--tk-text-primary, #e8f4ff) !important;
}

html[data-theme="neoradar"] #riepilogo-container #tabella-riepilogo-container .tabella-rapportini .riep-col-data .bi-calendar3 {
  color: var(--tk-primary, #00e5ff) !important;
  opacity: 0.88 !important;
}

html[data-theme="neoradar"] #riepilogo-container #tabella-riepilogo-container .tabella-rapportini tbody td {
  color: var(--tk-text-primary);
  border-color: var(--tk-border-soft, rgba(0, 229, 255, 0.12));
}

html[data-theme="neoradar"] #riepilogo-container #tabella-riepilogo-container .tabella-rapportini thead th {
  background-color: var(--tk-table-header-bg, #0d1520) !important;
  color: var(--tk-table-header-color, #f0f6ff) !important;
}

/* Neo-Radar — token righe / filtri (mobile card layout incluso) */
html[data-theme="neoradar"] {
  --tk-table-row-bg: rgba(14, 22, 36, 0.62);
  --tk-table-row-alt-bg: rgba(10, 16, 28, 0.78);
  --tk-filter-bar-bg: rgba(12, 20, 34, 0.88);
  --tk-input-bg: rgba(8, 14, 24, 0.72);
}

/* admin_db neoradar — superficie scura senza cornice chiara esterna */
html[data-theme="neoradar"] #tabella_tot.tk-dashboard-panel,
html[data-theme="neoradar"] #tabella_tot.table-panel-viewport {
  background: var(--tk-bg-card) !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--tk-text-primary);
}

html[data-theme="neoradar"] #tabella_tot .pager-bar {
  background: var(--tk-bg-card) !important;
  border-top-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini {
  --bs-table-bg: var(--tk-table-row-bg);
  --bs-table-striped-bg: var(--tk-table-row-alt-bg);
  --bs-table-hover-bg: var(--tk-hover-row-bg);
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini thead th,
html[data-theme="neoradar"] #tabella_tot .tabella-rapportini tbody td {
  border-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] #tabella_tot .table-responsive,
html[data-theme="neoradar"] #tabella_tot .table-responsive-fixed,
html[data-theme="neoradar"] #tabella_tot .tk-table-card-shell {
  background: transparent !important;
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini tbody tr {
  background-color: var(--tk-table-row-bg) !important;
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini tbody tr:nth-child(even) {
  background-color: var(--tk-table-row-alt-bg) !important;
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini tbody td {
  background-color: inherit !important;
  color: var(--tk-text-primary, #e6edf7) !important;
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini tbody tr:hover {
  background-color: var(--tk-hover-row-bg) !important;
}

html[data-theme="neoradar"] #tabella_tot .tabella-rapportini .tk-table-cell-primary,
html[data-theme="neoradar"] #tabella_tot .tabella-rapportini td.ps-4 .fw-bold {
  color: var(--tk-text-primary, #e6edf7) !important;
}

html[data-theme="neoradar"] #tabella_tot .cell-svolgimento,
html[data-theme="neoradar"] #tabella_tot .text-muted,
html[data-theme="neoradar"] #tabella_tot .extra-small {
  color: var(--tk-text-muted, rgba(180, 200, 220, 0.88)) !important;
}

html[data-theme="neoradar"] #filter-container .admin-db-filter-bar,
html[data-theme="neoradar"] #filter-container .tk-dashboard-filter-surface {
  background: var(--tk-filter-bar-bg) !important;
  border-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] #filter-container .admin-db-filter-bar .form-control,
html[data-theme="neoradar"] #filter-container .admin-db-filter-bar .form-select,
html[data-theme="neoradar"] #filter-container .admin-db-filter-bar .input-group-text {
  background-color: var(--tk-input-bg) !important;
  color: var(--tk-text-primary) !important;
  border-color: var(--tk-border-color) !important;
}

html[data-theme="neoradar"] #filter-container .admin-db-filter-bar .filter-field-label {
  color: var(--tk-text-muted) !important;
}

html[data-theme="neoradar"] #table_container {
  background: var(--tk-table-container-bg) !important;
  box-shadow: none;
}

html[data-theme="neoradar"] #filter-container .filters-entity-cluster {
  background: rgba(10, 16, 28, 0.55) !important;
  border-color: var(--tk-border-soft) !important;
}

/* admin registry neoradar — mobile card + desktop */
html[data-theme="neoradar"] #adminTabsContent table[data-table-id^="registry-"] tbody tr {
  background: var(--tk-table-row-bg) !important;
  border-bottom-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] #adminTabsContent table[data-table-id^="registry-"] tbody tr:hover {
  background: var(--tk-hover-row-bg) !important;
}

html[data-theme="neoradar"] #adminTabsContent .tk-registry-primary-cell,
html[data-theme="neoradar"] #adminTabsContent .tk-registry-primary-cell .fw-bold,
html[data-theme="neoradar"] #adminTabsContent table[data-table-id^="registry-"] tbody td.tk-registry-primary-cell {
  color: var(--tk-text-primary, #e6edf7) !important;
}

html[data-theme="neoradar"] #table-utenti-container,
html[data-theme="neoradar"] #table-reparti-container,
html[data-theme="neoradar"] #table-commesse-container,
html[data-theme="neoradar"] #table-attivita-container {
  background: var(--tk-bg-card) !important;
  border-color: var(--tk-border-soft) !important;
}

/* Navbar mobile — dropdown utente allineato al contenitore */
@media (max-width: 991.98px) {
  #navbarResponsive .dropdown {
    position: static;
    width: 100%;
  }

  #navbarResponsive .dropdown-menu {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    right: auto !important;
    left: 0 !important;
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0.35rem 0 0.5rem !important;
    box-sizing: border-box;
  }

  #navbarResponsive > .d-flex.align-items-center.border-start {
    border-left: 0 !important;
    padding-left: 0 !important;
    margin-top: 0.35rem;
    width: 100%;
  }
}

/* Neo-Radar WS — titoli sezione e testi descrittivi leggibili */
html[data-theme="neoradar"] body.admin-db-ws-view #ws_container .card-header.bg-white {
  background: var(--tk-bg-card) !important;
  border-bottom-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view .ws-summary-chart-toggle,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_card .fw-bold.text-dark,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_detail_card h6.text-dark,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_assignments_card .ws-summary-chart-toggle {
  color: var(--tk-text-primary, #e8f4ff) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_card .badge.ws-badge-date,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_card .badge.ws-badge-total,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_card .badge.ws-badge-user,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_card .badge.ws-badge-reparto {
  color: var(--tk-text-primary, #dce8f5) !important;
  background: rgba(0, 229, 255, 0.1) !important;
  border-color: var(--tk-border-soft) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view #ws_detail_table .ws-attivita-desc,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_detail_table .ws-col-attivita,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_summary_table .ws-commessa-desc,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_summary_table .ws-code-desc,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_table .ws-commessa-desc,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_table .ws-code-desc {
  color: var(--tk-text-primary, #dce8f5) !important;
}

html[data-theme="neoradar"] body.admin-db-ws-view #ws_summary_card .text-muted,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_assignments_card .text-muted,
html[data-theme="neoradar"] body.admin-db-ws-view #ws_grid_card .text-muted {
  color: var(--tk-text-muted, rgba(184, 212, 240, 0.88)) !important;
}

/* Neo-Radar admin — colonna descrizione attività registry */
html[data-theme="neoradar"] #adminTabsContent .cell-commessa-registry-desc,
html[data-theme="neoradar"] #adminTabsContent .admin-cell-subdesc-clamp {
  color: var(--tk-text-primary, #e6edf7) !important;
}

html[data-theme="neoradar"] #adminTabsContent .admin-cell-subdesc-clamp {
  color: var(--tk-text-muted, rgba(184, 212, 240, 0.85)) !important;
}
