/* Identidade MangueBeat: grafite, ardósia e verde. O tema claro segue opcional. */
:root[data-theme="dark"] {
  --bg: #1d242b;
  --card: #202a32;
  --raised: #27313a;
  --border: #394651;
  --border2: #52616c;
  --green: #45e85f;
  --green-dim: #38d752;
  --green-bg: #183525;
  --text: #eef3f6;
  --muted: #b4c0c7;
  --faint: #87949e;
  --shadow: 0 16px 40px rgba(10, 16, 20, .22);
}

:root[data-theme="dark"] :is(.topbar, .public-top, .work-head) {
  background: #1a2229;
  border-color: var(--border);
}

:root[data-theme="dark"] .lgpd {
  background: #27313a;
  border-color: var(--border);
  color: var(--muted);
}

:root[data-theme="dark"] .public-main {
  background-color: var(--bg);
}

:root[data-theme="dark"] .public-main .title {
  color: var(--text);
  letter-spacing: -.012em;
}

.login-showcase-copy h1,
.login-unified-card .login-intro h1 {
  letter-spacing: -.015em;
  line-height: 1.16;
}

:root[data-theme="dark"] :is(.table-wrap, .public-table, .section-table, .panel, .kpi, .login-card, .modal) {
  border-color: var(--border);
  background: var(--card);
}

:root[data-theme="dark"] :is(.public-table, .section-table) th {
  background: var(--raised);
  border-bottom-color: var(--border);
  color: var(--muted);
}

:root[data-theme="dark"] .public-table th.sortable-active {
  background: var(--green-bg);
  color: var(--green);
}

:root[data-theme="dark"] :is(.public-table, .section-table) tbody tr:hover {
  background: #2d3942;
}

:root[data-theme="dark"] :is(.searchbox input, .field input, .field select, .field textarea) {
  background: var(--raised);
  border-color: var(--border);
  color: var(--text);
}

:root[data-theme="dark"] :is(.btn.primary, .page.active) {
  background: var(--green);
  border-color: var(--green);
  color: #102016;
}

:root[data-theme="dark"] :is(.sidebar, .nav, .filters) {
  border-color: var(--border);
}

:root[data-theme="dark"] .nav button.active {
  background: var(--green-bg);
  color: var(--green);
}

:root[data-theme="dark"] :is(button, a, input, select, textarea, [role="button"]):focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
