/* Account preference. Light fallbacks in module styles retain their exact colors. */
:root { color-scheme:light; }
:root[data-color-mode=dark],
:root[data-color-mode=dark] .workbench-ui {
  color-scheme:dark;
  --paper:#12151c;
  --surface:#1c202a;
  --surface-muted:#242936;
  --surface-hover:#2c3342;
  --ink:#e8ebf2;
  --muted:#adb6c8;
  --line:#3b4456;
  --field-line:#6a7994;
  --text:var(--ink);
  --canvas:var(--paper);
  --danger:#ffadbb;
  --navy:var(--ink);
  --navy-deep:#0e1118;
  --green:#8ed7ad;
  --green-soft:#193c2c;
  --amber:#eac77e;
  --brand-soft:color-mix(in srgb,var(--brand-accent,#5369d8) 18%,#1c202a);
  --brand-ink:color-mix(in srgb,var(--brand-accent,#5369d8) 42%,#fff);
  --brand-line:color-mix(in srgb,var(--brand-accent,#5369d8) 45%,#3b4456);
  --brand-nav:#1c202a;
  --brand-on-nav:var(--ink);
  --brand-nav-muted:var(--muted);
  --brand-nav-hover:var(--surface-hover);
  --brand-on-nav-hover:var(--ink);
  --accent-ink:var(--brand-ink);
  --accent-soft:var(--brand-soft);
  --coral-soft:var(--accent-soft);
  --theme-surface:var(--surface);
  --theme-surface-muted:var(--surface-muted);
  --theme-surface-hover:var(--surface-hover);
  --theme-ink:var(--ink);
  --theme-muted:var(--muted);
  --theme-line:var(--line);
  --theme-danger:#ffadbb;
  --error-soft:#432630;
  --error-line:#87505e;
  --shadow:0 20px 64px rgb(0 0 0 / 38%);
  --shadow-menu:0 12px 36px rgb(0 0 0 / 32%);
}
:root[data-color-mode=dark] * { scrollbar-color:var(--field-line) transparent; }
:root[data-color-mode=dark] body { color:var(--ink);background:var(--paper); }
:root[data-color-mode=dark] :is(.form-error:not(:empty),.dock-error,.poll-inline-error,.forms-editor-error,.run-error) {
  background:var(--error-soft);color:var(--theme-danger);border-color:var(--error-line);
}
:root[data-color-mode=dark] :is(.button.danger,.crud-danger) { color:var(--theme-danger)!important;border-color:var(--error-line)!important; }
:root[data-color-mode=dark] :is(.badge.green,.badge.success) { background:var(--green-soft);color:var(--green); }
:root[data-color-mode=dark] :is(.badge.amber,.badge.warning,.file-workspace-error) { background:#40331e;color:var(--amber); }
:root[data-color-mode=dark] :is(.badge.red,.badge.danger) { background:var(--error-soft);color:var(--theme-danger); }
:root[data-color-mode=dark] .avatar { background:var(--accent-soft);color:var(--accent-ink); }
:root[data-color-mode=dark] .category-label { background:var(--surface-hover);color:var(--ink); }
:root[data-color-mode=dark] .record-table tr.record-selected td { background:var(--accent-soft); }
:root[data-color-mode=dark] .search-keyboard kbd { background:var(--surface-muted);color:var(--muted); }
:root[data-color-mode=dark] .chat-channel-title>.icon { color:var(--muted); }
:root[data-color-mode=dark] .canvas-viewport { background-image:radial-gradient(var(--field-line) .8px,transparent .8px); }
:root[data-color-mode=dark] .thumb-paper { color:#203745;--ink:#203745; }
:root[data-color-mode=dark] .ql-toolbar :is(.ql-stroke,.ql-stroke-miter) { stroke:var(--muted); }
:root[data-color-mode=dark] .ql-toolbar .ql-fill { fill:var(--muted); }
:root[data-color-mode=dark] .ql-toolbar .ql-picker { color:var(--ink); }
:root[data-color-mode=dark] :is(.ql-picker-options,.ql-tooltip) { color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-menu); }
:root[data-color-mode=dark] #board-editor[data-kind=kanban] { --board-list:#242936;--board-text:#e8ebf2; }
/* The board's chosen background and colored labels stay authored. */
:root[data-color-mode=dark] #board-editor[data-kind=kanban] .kanban-column-heading { color:var(--ink); }
:root[data-color-mode=dark] #board-editor[data-kind=kanban]>.file-workspace-header .save-status { color:#fff; }
/* Documents users send or publish keep their own paper, media and colors. */
:root[data-color-mode=dark] :is(.email-envelope,.canvas-node,.branding-preview) {
  color-scheme:light;
  --theme-surface:initial;--theme-surface-muted:initial;--theme-surface-hover:initial;
  --theme-ink:initial;--theme-muted:initial;--theme-line:initial;--theme-danger:initial;
  --ink:#203745;--muted:#65747d;--line:#e5e9e9;
  color:#203745;
}
:root[data-color-mode=dark] .email-envelope { background:#fff; }
.appearance-options { display:flex;gap:6px;flex-wrap:wrap; }
.appearance-options>button {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:10px 14px;border:1px solid var(--field-line);
  border-radius:var(--radius-control);background:var(--surface);color:var(--ink);
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;
}
.appearance-options>button .icon { width:18px;height:18px;flex-shrink:0; }
.appearance-options>button:hover:not(:disabled) { background:var(--surface-hover); }
.appearance-options>button[aria-pressed=true] { background:var(--accent-soft);border-color:var(--accent-ink);color:var(--accent-ink); }
.appearance-options>button:focus-visible { outline:2px solid var(--accent-ink);outline-offset:3px; }
.appearance-options>button:disabled { cursor:progress;opacity:.7; }
.account-appearance { margin-top:8px;padding:12px 0 4px;border-top:1px solid var(--line); }
.account-menu .account-appearance>a { padding:0 10px 8px;font-size:12px;color:var(--muted); }
.account-menu .appearance-options { display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:4px;padding:0 6px; }
.account-menu .appearance-options>button { min-width:0;padding:8px 4px;flex-direction:column;gap:5px;font-size:10px;text-align:center; }
.account-menu .appearance-options>button .icon { color:inherit; }
@media(max-width:600px) { .account-section>.appearance-options { display:grid;grid-template-columns:1fr 1fr; }.account-section>.appearance-options>button:last-child { grid-column:1/-1; } }
