:root { color-scheme: light; }

button.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 10px;
  font-size: 12px;
  white-space: nowrap;
}
button.theme-toggle svg {
  width: 16px;
  height: 16px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linejoin: round;
}
.login-theme-toggle { position: absolute; inset: 12px 16px auto auto; }
@media (max-width: 550px) {
  button.theme-toggle { min-height: 34px; padding-inline: 8px; font-size: 11px; }
  button.theme-toggle svg { width: 14px; height: 14px; }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --night-page: #101824;
  --night-surface: #182332;
  --night-subtle: #202e40;
  --night-hover: #293b51;
  --night-border: #364960;
  --night-control-border: #60758e;
  --night-text: #e2ebf5;
  --night-muted: #afc0d3;
  --night-accent: #a0ceff;
  --night-focus: #8cc5ff;
  --night-info-bg: #233c59;
  --night-success-bg: #193c35;
  --night-success: #a0e2c2;
  --night-warning-bg: #3b3224;
  --night-warning: #f4d496;
  --night-danger-bg: #432c38;
  --night-danger: #ffc0cb;
  --night-shadow: 0 12px 36px #0006;
  color: var(--night-text);
  background: var(--night-page);
}

[data-theme="dark"] body,
[data-theme="dark"] .session-screen { color: var(--night-text); background: var(--night-page); }
[data-theme="dark"] .login-screen {
  background: radial-gradient(ellipse at 20% 15%, #1b3046, transparent 60%), var(--night-page);
}
[data-theme="dark"] .sidebar { background: #0f1a29; }
[data-theme="dark"] :is(.nav-label, .nav-section-label, .sidebar-bottom small) { color: var(--night-muted); }

[data-theme="dark"] :is(.topbar, .panel, .stat-card, .node-card, .login-card, .modal, .upgrade-section, .account-panel),
[data-theme="dark"] :is(.bulk-action-menu>div, .node-card .action-menu-items) {
  background: var(--night-surface);
  border-color: var(--night-border);
  color: var(--night-text);
  box-shadow: none;
}
[data-theme="dark"] :is(.modal, .account-panel, .bulk-action-menu>div, .node-card .action-menu-items) { box-shadow: var(--night-shadow); }
[data-theme="dark"] .modal::backdrop { background: #060c15bd; }

[data-theme="dark"] :is(.data-table thead, .domain-workbench-bar, .query-indicator, .detail-summary, .detail-json,
  .allowlist-current-source, .entrypoints-control, .protection-observation, .upgrade-versions>div,
  .deploy-environment-options, .deploy-dialog input:read-only, .action-menu[open]),
[data-theme="dark"] #geo-db-status {
  background: var(--night-subtle);
  color: var(--night-muted);
}
[data-theme="dark"] :is(.data-table tbody tr:hover, .action-menu-items button:hover:not(:disabled),
  .action-menu-items button:focus-visible, .bulk-action-menu>div>button:hover,
  .account-trigger:hover, button.account-panel-action:hover:not(:disabled), button.text-button:hover,
  .row-actions button:hover, .search-clear:hover) { background: var(--night-hover); }
[data-theme="dark"] :is(.panel-toolbar, .data-table th, .data-table td, .pagination, .domain-workbench-bar,
  .query-indicator, .modal-footer, .preview-table, .detail-json, .certificate-item, .node-diagnostics,
  .node-card-footer, .certificate-node, .certificate-section-help, .deploy-dialog .advanced-settings,
  .deploy-results, .deploy-job, .deploy-environment-options, .deploy-environment-options #deploy-reboot-field,
  .security-setup, .allowlist-current-source, .entrypoints-control, .entrypoints-link, .entrypoints-certificate,
  .protection-observation, .upgrade-versions>div, .group-page-status, .action-menu[open], .operation-batch-row) {
  border-color: var(--night-border);
}
[data-theme="dark"] .account-panel-divider { background: var(--night-border); }

[data-theme="dark"] :is(label, .login-brand, .stat-card>strong, .data-table .domain-name,
  .node-info dd, .node-address>strong, .detail-summary dd, .certificate-item strong, .group-domain-count),
[data-theme="dark"] #account-name { color: var(--night-text); }
[data-theme="dark"] :is(.muted, .eyebrow, .breadcrumb, .breadcrumb-sep, .account .text-button,
  .stat-card>span, .stat-card>small, .search-wrap>span, .data-table th, .data-table td, .domain-note, .table-time,
  .group-summary, .workspace-footer, .empty-state, .empty-state h3, .empty-state p, .empty-icon, .loading-state,
  .field-help, .node-card .node-id, .node-info dt, .node-card-footer small, .node-sync-summary, .node-address,
  .detail-summary dt, .login-brand .brand-caption, .login-note, .login-footer, .session-card,
  .certificate-item small, .certificate-summary small, .certificate-section-help, .deploy-fingerprint,
  .deploy-dialog .advanced-settings>summary, .node-diagnostics>summary, .node-registration>summary,
  .protection-metrics dt, .upgrade-versions dt, .audit-raw summary, .account-panel-caption, .account-panel-action svg,
  .account-toolbar .account-chevron),
[data-theme="dark"] :is(.action-menu, .bulk-action-menu)>summary::after,
[data-theme="dark"] :is(#account-role, .pagination #page-label) { color: var(--night-muted); }
[data-theme="dark"] :is(a, .domain-random-label, .domain-sort-button:hover, .domain-sort-button span,
  button.text-button, .row-actions button, .action-menu>summary, .action-menu-items button, .search-clear,
  button.account-panel-action, button.account-panel-action:hover:not(:disabled), .group-folder-icon,
  .domain-table .domain-target, .daily-total-visits) { color: var(--night-accent); }

[data-theme="dark"] :is(button.secondary, button.icon-button, button.close-button,
  .account-toolbar button.header-entrypoint-button, .bulk-bar button, .bulk-action-menu>summary,
  input:not([type="checkbox"], [type="radio"], [type="hidden"]), select, textarea) {
  color: var(--night-text);
  background: var(--night-surface);
  border-color: var(--night-control-border);
}
[data-theme="dark"] :is(button.secondary, button.icon-button, button.close-button,
  .account-toolbar button.header-entrypoint-button, .bulk-bar button, .bulk-action-menu>summary):hover:not(:disabled) {
  background: var(--night-hover);
  border-color: var(--night-accent);
}
[data-theme="dark"] button.theme-toggle[aria-pressed="true"] {
  color: var(--night-accent);
  border-color: var(--night-focus);
  background: var(--night-info-bg);
}
[data-theme="dark"] :is(input, textarea)::placeholder { color: var(--night-muted); }
[data-theme="dark"] :focus-visible { outline-color: var(--night-focus); }
[data-theme="dark"] :is(input[type="checkbox"], input[type="radio"], .upgrade-progress progress) { accent-color: var(--night-focus); }
[data-theme="dark"] .spinner { border-color: var(--night-border); border-top-color: var(--night-focus); }

[data-theme="dark"] :is(.badge, .domain-group-label) { background: var(--night-subtle); color: var(--night-muted); }
[data-theme="dark"] :is(.badge.info, .role-badge, .account-avatar, .bulk-bar, .operation-result) {
  background: var(--night-info-bg);
  color: var(--night-accent);
  border-color: var(--night-border);
}
[data-theme="dark"] :is(.badge.success, .security-status) {
  background: var(--night-success-bg);
  color: var(--night-success);
  border-color: var(--night-border);
}
[data-theme="dark"] .domain-policy-label { color: var(--night-success); }
[data-theme="dark"] :is(.badge.warning, .node-message, .node-warning, .security-status.unprotected, .security-warning) {
  background: var(--night-warning-bg);
  color: var(--night-warning);
  border-color: var(--night-border);
}
[data-theme="dark"] :is(.group-page-status, .node-status-note) { color: var(--night-warning); }
[data-theme="dark"] :is(.badge.error, .danger, .form-error, button.account-signout:hover:not(:disabled)) {
  background: var(--night-danger-bg);
  color: var(--night-danger);
  border-color: var(--night-border);
}
[data-theme="dark"] :is(.danger-text, button.danger-text, button.account-signout, .account-signout svg) { color: var(--night-danger); }
