/* The only dark neutral palette used by the rebuilt styles. */
html[data-theme="dark"] {
  --dark-page: #090a12;
  --dark-card: #101121;
  --dark-inset: #0c0d17;
  --dark-raised: #151728;
  --dark-border: #232741;
  --dark-border-strong: #353d60;
  --dark-text: #e8eaf4;
  --dark-muted: #a5abc2;
  --dark-text-alpha-0-72: rgba(232, 234, 244, 0.72);
  --dark-card-alpha-0-32: rgba(16, 17, 33, 0.32);
  --dark-card-alpha-0-045: rgba(16, 17, 33, 0.045);
  --dark-card-alpha-0-08: rgba(16, 17, 33, 0.08);
  --dark-card-alpha-0-07: rgba(16, 17, 33, 0.07);
  --dark-card-alpha-0-055: rgba(16, 17, 33, 0.055);
  --dark-card-alpha-0-96: rgba(16, 17, 33, 0.96);
  --dark-card-alpha-0-42: rgba(16, 17, 33, 0.42);
  --dark-card-alpha-0-52: rgba(16, 17, 33, 0.52);
  --dark-card-alpha-0-1: rgba(16, 17, 33, 0.1);
  --dark-card-alpha-0-16: rgba(16, 17, 33, 0.16);
  --dark-card-alpha-0-58: rgba(16, 17, 33, 0.58);
  --dark-card-alpha-0-025: rgba(16, 17, 33, 0.025);
  --dark-card-alpha-0-91: rgba(16, 17, 33, 0.91);
  --dark-card-alpha-0-44: rgba(16, 17, 33, 0.44);
  --dark-card-alpha-0-94: rgba(16, 17, 33, 0.94);
  --dark-card-alpha-0-86: rgba(16, 17, 33, 0.86);
  --dark-card-alpha-0-075: rgba(16, 17, 33, 0.075);
  --dark-card-alpha-0-24: rgba(16, 17, 33, 0.24);
  --dark-text-alpha-0-7: rgba(232, 234, 244, 0.7);
  --dark-card-alpha-0-48: rgba(16, 17, 33, 0.48);
  --dark-card-alpha-0-035: rgba(16, 17, 33, 0.035);
  --dark-card-alpha-0-18: rgba(16, 17, 33, 0.18);
  --dark-card-alpha-0-72: rgba(16, 17, 33, 0.72);
  --dark-card-alpha-0-97: rgba(16, 17, 33, 0.97);
  --dark-card-alpha-0-98: rgba(16, 17, 33, 0.98);
  --dark-card-alpha-0-34: rgba(16, 17, 33, 0.34);
  --dark-card-alpha-0-22: rgba(16, 17, 33, 0.22);
  --dark-border-alpha-0-78: rgba(35, 39, 65, 0.78);
  --dark-card-alpha-0-78: rgba(16, 17, 33, 0.78);
  --dark-card-alpha-0-06: rgba(16, 17, 33, 0.06);
  --dark-card-alpha-0-43: rgba(16, 17, 33, 0.43);
  --dark-card-alpha-0-88: rgba(16, 17, 33, 0.88);
  --dark-card-alpha-0-018: rgba(16, 17, 33, 0.018);
  --dark-card-alpha-0-105: rgba(16, 17, 33, 0.105);
  --dark-card-alpha-0-03: rgba(16, 17, 33, 0.03);
  --dark-card-alpha-0-7: rgba(16, 17, 33, 0.7);
  --dark-card-alpha-0-15: rgba(16, 17, 33, 0.15);
  --dark-card-alpha-0-12: rgba(16, 17, 33, 0.12);
  --dark-card-alpha-0-085: rgba(16, 17, 33, 0.085);
  --dark-card-alpha-0-92: rgba(16, 17, 33, 0.92);
  --dark-card-alpha-0-76: rgba(16, 17, 33, 0.76);
  --dark-card-alpha-0-68: rgba(16, 17, 33, 0.68);
  --dark-raised-alpha-0-9: rgba(21, 23, 40, 0.9);
  --dark-raised-alpha-0-82: rgba(21, 23, 40, 0.82);
  --dark-card-alpha-0-66: rgba(16, 17, 33, 0.66);
  --dark-card-alpha-0-56: rgba(16, 17, 33, 0.56);
}
/* Built by scripts/build-styles-r197.js; layout source: dark-theme-r196.css. */
/* Shared dark palette, loaded after page styles and legacy compatibility rules.
   Every rule is dark-only so the existing light theme stays unchanged. */
html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] body.app-body {
  color-scheme: dark;
  --page: #090a12;
  --navy: #080910;
  --navy-2: #0d0e19;
  --white: #101121;
  --soft: #0c0d17;
  --surface: #101121;
  --surface-raised: #151728;
  --surface-soft: #0c0d17;
  --panel: #101121;
  --panel-2: #151728;
  --panel-3: #0c0d17;
  --border: #232741;
  --border-dark: #353d60;
  --line: #232741;
  --text: #e8eaf4;
  --ink: #e8eaf4;
  --muted: #a5abc2;
  --muted-2: #9199b1;
  --glass-surface: #101121;
  --glass-raised: #151728;
  --glass-subtle: #0c0d17;
  --glass-stroke: #232741;
  --glass-shadow: 0 8px 24px rgb(0 0 0 / 18%);
  --shadow: 0 4px 18px rgb(0 0 0 / 12%);
  --menu-shadow: 0 16px 40px rgb(0 0 0 / 45%);
  --shell-sidebar: #080910;
  --shell-topbar: #090a12;
  --shell-sidebar-hover: #151728;
  --shell-sidebar-active: #1a1e33;
  --shell-sidebar-active-hover: #222943;
  --shell-line: #232741;
}

/* Legacy components have their own palettes; point them at the shared surfaces. */
html[data-theme="dark"] body,
html[data-theme="dark"] body.app-body {
  --r154-page: var(--page);
  --r154-card: var(--surface);
  --r154-card-raised: var(--surface-raised);
  --r154-inset: var(--surface-soft);
  --r154-inset-hover: var(--surface-raised);
  --r154-line: var(--border);
  --r154-line-strong: var(--border-dark);
  --r154-ink: var(--text);
  --r154-copy: var(--text);
  --r154-muted: var(--muted);
  --r154-neutral-chip: var(--surface-raised);
  --r154-auth-page: var(--page);
  --r154-auth-card: var(--surface);
  --r154-auth-inset: var(--surface-soft);
  --r154-auth-input: var(--surface-soft);
  --r154-auth-line: var(--border);
  --r154-auth-ink: var(--text);
  --r154-auth-copy: var(--muted);
  --r154-auth-muted: var(--muted-2);
  --mp157-page: var(--page);
  --mp157-surface: var(--surface);
  --mp157-inset: var(--surface-soft);
  --mp157-hover: var(--surface-raised);
  --mp157-line: var(--border);
  --mp157-line-strong: var(--border-dark);
  --mp157-text: var(--text);
  --mp157-copy: var(--text);
  --mp157-muted: var(--muted);
  --sub62-bg: var(--surface);
  --sub62-soft: var(--surface-soft);
  --sub62-hover: var(--surface-raised);
  --sub62-border: var(--border);
  --sub62-text: var(--text);
  --sub62-dim: var(--muted);
  --ob154-page: var(--page);
  --ob154-card: var(--surface);
  --ob154-inset: var(--surface-soft);
  --ob154-line: var(--border);
  --ob154-ink: var(--text);
  --ob154-copy: var(--text);
  --ob154-muted: var(--muted);
  --ob154-hover: var(--surface-raised);
}
html[data-theme="dark"] body.server-files-v64-body {
  /* Files R73 declares these as important; retain that priority here. */
  --f64-bg: var(--page) !important;
  --f64-card: var(--surface) !important;
  --f64-card-2: var(--surface-soft) !important;
  --f64-hover: var(--surface-raised) !important;
  --f64-border: var(--border) !important;
  --f64-border-strong: var(--border-dark) !important;
  --f64-text: var(--text) !important;
  --f64-muted: var(--muted) !important;
  --f64-track: #252941 !important;
}
html[data-theme="dark"] .account-subusers-body .account-subuser-editor-page-v61 {
  --sub78-card: var(--surface);
  --sub78-soft: var(--surface-soft);
  --sub78-hover: var(--surface-raised);
  --sub78-border: var(--border);
  --sub78-border-strong: var(--border-dark);
  --sub78-text: var(--text);
  --sub78-muted: var(--muted);
}
html[data-theme="dark"] :is(.onboard162-modal, .onboard167-modal) {
  --ob-bg: var(--surface);
  --ob-surface: var(--surface-soft);
  --ob-surface-2: var(--surface-raised);
  --ob-surface-3: #1a1e33;
  --ob-line: var(--border);
  --ob-line-soft: var(--border);
  --ob-text: var(--text);
  --ob-copy: var(--text);
  --ob-muted: var(--muted);
  --ob166-panel: var(--surface);
  --ob166-card: var(--surface);
  --ob166-card-2: var(--surface-raised);
  --ob166-input: var(--surface-soft);
  --ob166-line: var(--border);
  --ob166-line-soft: var(--border);
  --ob166-text: var(--text);
  --ob166-copy: var(--text);
  --ob166-muted: var(--muted);
}

html[data-theme="dark"] body,
html[data-theme="dark"] :is(.app-shell, .main-area, .auth-shell, .auth-main, .onboard141-shell, .onboard141-main) {
  color: var(--text);
  background: var(--page) !important;
}
html[data-theme="dark"] body :is(.sidebar, .auth-visual) {
  background: var(--navy) !important;
  border-color: var(--border);
  box-shadow: none;
}
html[data-theme="dark"] body .topbar {
  background: var(--page) !important;
  border-color: var(--border) !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
html[data-theme="dark"] body :is(.sidebar-link:hover, .sidebar-signout:hover) {
  background: var(--shell-sidebar-hover) !important;
}
html[data-theme="dark"] body .sidebar-link.active {
  background: var(--shell-sidebar-active) !important;
  box-shadow: inset 3px 0 var(--teal);
}

/* Card surfaces, including legacy pages that do not load the glass layer. */
html[data-theme="dark"] body :is(
  .form-card, .users-card, .settings-card, .settings-nav-card, .server-settings-card,
  .server-panel-card, .server-info-card, .server-fleet-card, .dashboard-server-panel-card,
  .resource97-card, .properties-control-card, .property-card, .security-confirm-card,
  .dashboard-empty-card, .customer145-panel, .dashboard145-stat, .servers145-summary > *,
  .servers145-create-strip, .dashboard145-action-list, .runtime-card,
  .console8-runtime-card, .console8-chart-card, .billing-section-card, .billing-hero-card,
  .billing-reward-card, .premium-plan-card, .ticket-summary-card, .ticket-section-card,
  .ticket-detail-card, .ticket-new-card, .ticket-search-card, .account-email-card,
  .account-google-card, .account-2fa-card, .account-provider-card, .account-invoice-history-card,
  .account-invoice-detail-card, .oauth-consent-card, .entity136-list-shell, .status-clean-card,
  .database-secret-card, .startup-setting-card, .startup-variable-card, .startup-command-card,
  .startup-image-card, .file-browser-card-v2, .file-editor-card-v2, .server-tool-table-wrap,
  .server-tool-empty-card, .create9-card, .create9-estimate, .create9-hero,
  .portal-error-card, .error-card, .auth-form-wrap, .user-dialog, .kill74-dialog,
  .file-dialog, .file64-dialog, .server-settings-dialog, .file64-new-popover,
  .console-card, .credits153-hero, .credits153-section, .credits153-facts article,
  .analytics-chart, .onboard141-rail, .onboard141-topbar,
  .admin-stat-card, .admin-secondary-card, .admin-snapshot-card, .admin-email-compose-card,
  .admin-email-delivery-card, .admin-email-info-card, .admin-email-overview-v2,
  .admin-smtp-test-card, .admin-smtp-test-preview, .admin-smtp-test-form,
  .admin-node-policy-card, .admin-node-stock-card, .admin-node-partner-card, .partner-admin-card,
  .billing-subscriptions-card, .paypal-sync-card, .paypal-rest-card, .security-provider-card,
  .primary-lock-card, .renewal70-card, .renewal68-stats > article, .analytics-chart-card,
  .analytics-stat, .alt73-stat, .analytics-live-card, .admin-promo-hero, .admin-promo-list-card,
  .admin-promo-item, .admin-promo-active, .bypass105-overview, .bypass105-automation,
  .bypass105-directory, .bypass105-row, .bypass105-stats > article, .auto-stock74-card,
  .admin-server-job, .premium-plan-manager, .premium-plan-dialog-body, .premium-plan-live-preview,
  .admin-credit-editor, .email-delivery-status, .email-service-row,
  .admin189-node, .admin189-command-center, .admin189-health-tile, .admin189-metric,
  .admin-monitor185-stats > article, .server-node-offline-card
) {
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] body.plugin-manager-body :is(
  .plugin-compatibility-panel, .plugin-manager-summary, .plugin-card, .mp96-controls,
  .plugin-managed-dialog, .plugin-managed-dialog-shell, .plugin-details-dialog,
  .plugin-details-dialog-shell, .plugin-external-dialog, .plugin-external-dialog-shell,
  .plugin-managed-dialog .dialog-header, .plugin-managed-dialog .dialog-actions,
  .plugin-details-dialog-header, .plugin-details-dialog-actions
) { background: var(--surface) !important; }

/* Inset controls and nested sections used to set graphite directly. */
html[data-theme="dark"] body :is(
  .button-secondary, .mini-action:not(.mini-danger), .icon-button, .auth-theme-toggle, .dialog-close,
  .user-dropdown, .sidebar-tooltip, .server-tool-menu-popover, .entity136-overflow-menu,
  .console-card-head, .console-command-form, .console-feedback, .console67-popover,
  .file-editor-toolbar-v2, .file-editor-footer,
  .servers171-create-menu, .settings-nav-link:hover, .server-control-tabs,
  .server-stats, .dashboard-server-billing, .dashboard-server-spec-grid,
  .ov44-server-meta, .ov44-resource-list, .ov44-pool-footer,
  .servers145-search, .account-settings-global-nav, .file-browser-footer-v2,
  .file-parent-row td, .input-suffix b, .dialog-options, .dialog-actions,
  .form-submit-bar, .check-row, .switch-row, .choice-box, .server-tool-form-note,
  .credits153-reward, .ticket-section-heading,
  .server-settings-switch-row, .server-hosting-grid > div, .server-identity-facts,
  .server-panel-unavailable, .server-info-list li, .create-resource-intro,
  .account-provider-rule, .account-provider-action-panel, .oauth-consent-note,
  .database-secret-field code, .file-editor-file-icon, .version80-software-icon,
  .billing-pool-meter-segment:not(.is-filled), .billing-resource-bar, .ticket-thread-messages,
  .ticket-composer-footer, .status-clean-card-head, .status-clean-specs,
  .status-clean-spec-row, .status-resource-meter, .status-resource-bar,
  .admin-list-filter-bar, .admin-list-filter-compact, .admin-pagination,
  .admin-email-user-search, .smtp-queue-summary, .admin-tab-group, .admin-filter-help,
  .admin-list-search, .admin-onboarding-control, .software-family-option,
  .resource-preview, .admin-node-option, .admin-monitor188-list-note,
  .admin189-node-kpis > div, .server-node-offline-monitor, .server-node-offline-fact,
  .account-subusers-body .sub63-section-head,
  .account-subusers-body .account-subuser-server-list-v59,
  .account-subusers-body .subuser-permission-dropdown,
  .account-subusers-body .subuser-permission-group-summary,
  .account-subusers-body .subuser-permission-dropdown-body,
  .account-subusers-body .subuser-permission-option-v51
) {
  background: var(--surface-soft) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] body :is(.button-secondary, .mini-action:not(.mini-danger), .icon-button, .dialog-close) {
  color: var(--text);
}
html[data-theme="dark"] body :is(
  .button-secondary:hover, .mini-action:not(.mini-danger):hover, .icon-button:hover, .dialog-close:hover,
  .user-dropdown a:hover, .user-dropdown button:hover, .server-tool-menu-popover button:hover,
  .server-control-tab:hover, .version79-version-list button:hover, .software-family-option:hover,
  .bypass105-row:hover, .account-subusers-body .subuser-permission-group-summary:hover,
  .account-subusers-body .subuser-permission-option-v51:hover
) { background: var(--surface-raised) !important; }
html[data-theme="dark"] body :is(.server-control-tab.active, .admin-tab.active) {
  background: #1a1e33 !important;
  border-color: var(--border-dark) !important;
  color: var(--text);
}
html[data-theme="dark"] body :is(
  .account-subusers-body .account-subuser-server-row-v59:has(input:checked),
  .account-subusers-body .subuser-permission-option-v51:has(input:checked)
) { background: #18233c !important; }
html[data-theme="dark"] body :is(.check-row, .choice-box):has(input:checked) {
  background: #18233c !important;
  border-color: var(--teal) !important;
}

/* Table headers, hover states and fields stay dark on every management page. */
html[data-theme="dark"] body table thead th {
  background: var(--surface-soft) !important;
  color: var(--muted) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] body :is(.user-table, .server-table, .server-tool-table, .file-table-v2) tbody tr:hover,
html[data-theme="dark"] body :is(.user-table, .server-table, .server-tool-table, .file-table-v2) tbody tr:hover td {
  background: var(--surface-raised) !important;
}
html[data-theme="dark"] body :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),
  select, textarea, .server-tool-search, .file64-search, .file65-search, .mp95-search, .version79-search
) {
  background: var(--surface-soft) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
/* Search inputs inside an already styled wrapper must remain transparent. */
html[data-theme="dark"] body :is(
  .entity136-search, .servers145-search, .server-tool-search,
  .file64-search-banner, .file65-search, .mp95-search, .version79-search
) input { background: transparent !important; }
html[data-theme="dark"] body :is(input, textarea)::placeholder { color: var(--muted-2); }
html[data-theme="dark"] body :is(.console-output, .console8-terminal, .file-editor-textarea-v2) {
  background: #080910 !important;
}
html[data-theme="dark"] body .file-editor-monaco { background: #080910; }
html[data-theme="dark"] #server-reinstall-dialog > form,
html[data-theme="dark"] #server-reinstall-dialog .dialog-actions { background: var(--surface) !important; }
html[data-theme="dark"] #server-reinstall-dialog .check-row { background: var(--surface-soft) !important; }
html[data-theme="dark"] body .ticket-message-mine { background: var(--surface-raised) !important; }
html[data-theme="dark"] body .ticket-list-row:hover { background: var(--surface-raised) !important; }
html[data-theme="dark"] body :is(.ticket-priority, .ticket-status-closed, .ticket-assignment:not(.ticket-assignment-open):not(.ticket-assignment-mine)) {
  background: var(--surface-raised) !important;
  color: var(--muted) !important;
  border-color: var(--border) !important;
}
html[data-theme="dark"] body :is(.ticket-section-claimed .ticket-section-heading, .ticket-claim-mine) {
  background: var(--surface) !important;
}
html[data-theme="dark"] body :is(.ticket-status-waiting_user, .ticket-assignment-mine, .ticket-claim-mine .ticket-claim-icon) {
  background: #14213a !important;
  color: #9bcaff !important;
}
html[data-theme="dark"] body .ticket-priority-high { color: #ff9ba8 !important; background: #291724 !important; }
html[data-theme="dark"] body .dashboard145-resource progress::-webkit-progress-bar { background: #252941; }
html[data-theme="dark"] * { scrollbar-color: #353d60 transparent; }
html[data-theme="dark"] *::-webkit-scrollbar-thumb { background: #353d60; }
html[data-theme="dark"] *::-webkit-scrollbar-thumb:hover { background: #495578; }
