/* Shared palette. Existing component colors keep their original dark fallbacks. */
:root {
  --on-accent: #142313;
  --tile-0: #293c2e; --tile-1: #2d383e; --tile-2: #3e3533; --tile-3: #383442; --tile-4: #3e3b2b;
  --tile-ink: #dfeddd;
}
:root[data-theme="light"], :root[data-theme="repairngo"] {
  color-scheme: light;
  --bg: #f5f6f8; --surface: #ffffff; --surface-2: #f0f2f5;
  --text: #151b26; --muted: #626b79; --line: #dbe1e9;
  --accent: #145bdf; --accent-2: #114fbe; --blue: #145bdf;
  --green: #17734b; --red: #b42335; --yellow: #8b580d; --on-accent: #ffffff;
  --tone-text: var(--text); --tone-muted: var(--muted); --tone-accent: var(--accent);
  --tone-on-accent: var(--on-accent); --tone-surface: var(--surface);
  --tone-surface-soft: var(--surface-2); --tone-line: var(--line);
  --tone-tint: #145bdf0a; --tone-focus: #145bdf22; --tone-shadow: #15233b12;
  --tone-danger: var(--red); --tone-warning: var(--yellow);
  --tile-0: #e3edfb; --tile-1: #e2eeeb; --tile-2: #f7e8df; --tile-3: #ece6f5; --tile-4: #f4eddb;
  --tile-ink: #354562;
}
:root[data-theme="light"] {
  --bg: #f7f7f8; --surface-2: #f2f3f4; --text: #202327; --muted: #636970; --line: #dedfe3;
  --accent: #24272c; --accent-2: #111318; --blue: #245fba;
  --tone-tint: #20232706; --tone-focus: #24272c20;
  --tile-0: #e9eef3; --tile-1: #e7efeb; --tile-2: #f4e9e3; --tile-3: #eee9f2; --tile-4: #f1eddf;
  --tile-ink: #3f4955;
}
:root[data-theme="light"] .sidebar { background: #fff; }
:root[data-theme="repairngo"] .sidebar { background: #fff; }
:root[data-theme="light"] .workspace-topbar,
:root[data-theme="repairngo"] .workspace-topbar { background: #ffffffed; }
:root[data-theme="light"] .nav-item.selected,
:root[data-theme="repairngo"] .nav-item.selected { background: var(--tone-focus); color: var(--accent); border-color: transparent; }
:root[data-theme="light"] .nav-item.selected::before,
:root[data-theme="repairngo"] .nav-item.selected::before { background: var(--accent); }
:root[data-theme="light"] .button.primary,
:root[data-theme="repairngo"] .button.primary,
:root[data-theme="light"] .topbar-new,
:root[data-theme="repairngo"] .topbar-new,
:root[data-theme="light"] .brand-mark,
:root[data-theme="repairngo"] .brand-mark { background: var(--accent); color: var(--on-accent); box-shadow: none; border-color: var(--accent); }
:root[data-theme="light"] .button.primary:hover,
:root[data-theme="repairngo"] .button.primary:hover { background: var(--accent-2); }
:root[data-theme="light"] ::selection,
:root[data-theme="repairngo"] ::selection { background: var(--accent); color: #fff; }
.theme-picker { display: grid; grid-template-columns: 1fr 112px; align-items: center; gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 11px; color: var(--muted); }
.theme-picker select { min-height: 36px; padding: 6px 9px; font-size: 11px; color: var(--text); background: var(--surface); border: 1px solid var(--line); }
.register-theme { display: flex; gap: 9px; align-items: center; color: var(--muted); font-size: 12px; }
.register-theme select { background: var(--surface); border-color: var(--line); color: var(--text); min-height: 36px; padding: 5px 10px; width: 135px; }
@media print { .theme-picker, .register-theme { display: none !important; } }

.topbar-new { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 13px; min-height: 40px; border-radius: 7px; }
@media(pointer:coarse) { .topbar-new { min-height: 44px; } }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
