/* Loaded after existing styles so the light appearance is untouched. */
.theme-toggle { flex: 0 0 auto; white-space: nowrap; }
[data-theme="dark"] { color-scheme: dark; --bg:#0b1220; --surface:#162234; --surface-2:#1e2c40; --surface-3:#26364c; --line:#33465d; --line-strong:#455b73; --text:#e8eef7; --text-2:#c4d1e2; --muted:#a9b8ca; --primary:#79a8ff; --primary-600:#538bf5; --primary-50:#1d3352; --primary-100:#294366; --accent:#4bd6ab; --accent-600:#29b58d; --danger:#ff8495; --danger-bg:#442731; --shadow-sm:0 1px 2px #0004; --shadow-md:0 8px 24px #0005; --shadow-lg:0 24px 60px #0008; }
[data-theme="dark"] body { background-color:var(--bg); }
[data-theme="dark"] body::before { opacity:.2; }
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea { color:var(--text); background:var(--surface-2); border-color:var(--line-strong); }
[data-theme="dark"] input::placeholder, [data-theme="dark"] textarea::placeholder { color:var(--muted); }
/* Admin uses its own semantic palette. */
[data-theme="dark"]:has(.admin-header) { --ink:#e8eef7; --green:#4bd6ab; --green-dark:#27b58d; --green-soft:#193d38; --red:#ff8495; --red-soft:#442731; --amber:#f4c36b; --amber-soft:#44371f; --blue:#99bcff; --blue-soft:#233b5a; --shadow:0 10px 35px #0006; }
[data-theme="dark"] .admin-header, [data-theme="dark"] .sidebar, [data-theme="dark"] .panel, [data-theme="dark"] .auth-card, [data-theme="dark"] .domain-dialog, [data-theme="dark"] dialog, [data-theme="dark"] .metric, [data-theme="dark"] .setting-card { background:var(--surface); color:var(--text); border-color:var(--line); }
[data-theme="dark"] .button:not(.primary), [data-theme="dark"] .icon-button, [data-theme="dark"] .nav-item { background:var(--surface-2); color:var(--text); border-color:var(--line); }
[data-theme="dark"] .button:not(.primary):hover, [data-theme="dark"] .icon-button:hover, [data-theme="dark"] .nav-item:hover { background:var(--surface-3); }
[data-theme="dark"] input:read-only, [data-theme="dark"] .policy-savebar { background:var(--surface-2); color:var(--text); }
[data-theme="dark"] .notice, [data-theme="dark"] .pill { color:var(--text); border-color:var(--line-strong); }
[data-theme="dark"] .topbar, [data-theme="dark"] .modal-card, [data-theme="dark"] .account-card, [data-theme="dark"] .price-card { background:var(--surface); color:var(--text); border-color:var(--line); }
[data-theme="dark"] .text-input, [data-theme="dark"] .soft-btn { background:var(--surface-2); color:var(--text); border-color:var(--line-strong); }
/* IMAP quick setup only; the SMTP editor remains as it was. */
.domain-dialog[data-imap-simple="true"] label:has(> #domainName),
.domain-dialog[data-imap-simple="true"] .form-grid:has(#domainRole),
.domain-dialog[data-imap-simple="true"] .switch-row:has(#domainEnabled),
.domain-dialog[data-imap-simple="true"] details,
.domain-dialog[data-imap-simple="true"] #imapFields > label:not(.quick-email):not(:has(#imapPassword)),
.domain-dialog[data-imap-simple="true"] #imapFields > .form-grid,
.domain-dialog[data-imap-simple="true"] #imapFields > .muted,
.domain-dialog[data-imap-simple="true"] #domainWeight,
.domain-dialog[data-imap-simple="true"] #revealPassword { display:none!important; }
.domain-dialog[data-imap-simple="true"] #imapFields > label.quick-email { display:block; }

/* Contrast fixes keep the existing layout and light palette intact. */
.theme-toggle { width:42px; min-width:42px; height:42px; padding:0!important; display:inline-grid!important; place-items:center; font-size:23px!important; line-height:1; }
[data-theme="dark"] .desktop-nav { color:var(--text-2); }
[data-theme="dark"] .topbar.scrolled { background:var(--surface); }
[data-theme="dark"] .active-inbox-card { background:linear-gradient(135deg,var(--surface-2),var(--primary-50)); border-color:var(--line-strong); }
[data-theme="dark"] .workspace-ad-panel, [data-theme="dark"] .ad-slot { background:var(--surface-2); color:var(--muted); border-color:var(--line-strong); }
[data-theme="dark"] .inbox-chip { background:var(--surface); border-color:var(--line); }
[data-theme="dark"] .inbox-chip.active, [data-theme="dark"] .inbox-chip.selected:not(.active) { background:#17382f; border-color:#3d9f7b; }
[data-theme="dark"] .inbox-chip:hover { background:var(--surface-2); }
[data-theme="dark"] .inbox-chip.active:hover { background:#204638; }
[data-theme="dark"] .inbox-chip .inbox-email { color:var(--text); }
[data-theme="dark"] .inbox-card-stats, [data-theme="dark"] .inbox-expiry, [data-theme="dark"] .active-inbox-label { color:var(--text-2); }
[data-theme="dark"] .inbox-chip .inbox-expiry, [data-theme="dark"] .ready-pill { background:#193d38; color:#93efd0; }
[data-theme="dark"] .inbox-delete-btn { background:#442731; color:#ffb3c0; }
[data-theme="dark"] .inbox-delete-dialog { background:var(--surface); color:var(--text); border-color:var(--line); }
[data-theme="dark"] .inbox-delete-dialog p { color:var(--text-2); }
[data-theme="dark"] .delete-dialog-addresses { background:var(--surface-2); border-color:var(--line); }
[data-theme="dark"] .trust-row article, [data-theme="dark"] .message-dialog-bar { background:var(--surface); }
[data-theme="dark"] .brand-mail { color:var(--text-2); }
