/* Shared appearance controls stay consistent in public, console and focus headers. */
.theme-switcher { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; }
.theme-switcher .theme-toggle { display: inline-flex; align-items: center; justify-content: center; width: var(--control-h, 42px); min-width: var(--control-h, 42px); height: var(--control-h, 42px); min-height: var(--control-h, 42px); padding: 0; border: 1px solid var(--line-strong, #c7d3e1); border-radius: var(--surface-control-radius, var(--workspace-control-radius, 10px)); background: var(--bg, #fff); color: var(--muted, #62748c); box-shadow: none; cursor: pointer; }
.theme-switcher .theme-toggle:hover, .theme-switcher .theme-toggle[aria-expanded="true"] { color: var(--sky, #1869c7); background: var(--sky-soft, #edf5ff); border-color: var(--line-strong, #b9cce3); }
.theme-switcher svg { width: 18px; height: 18px; flex: 0 0 auto; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; fill: none; }
.theme-toggle .theme-icon-dark, html[data-theme="dark"] .theme-toggle .theme-icon-light { display: none; }
html[data-theme="dark"] .theme-toggle .theme-icon-dark { display: block; }
.theme-menu { position: fixed; z-index: 2200; width: 220px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 8px; border: 1px solid var(--line, #d9e2ef); border-radius: 15px; color: var(--ink, #182435); background: var(--bg, #fff); box-shadow: 0 14px 42px rgba(10, 29, 54, .16); }
.theme-menu[hidden] { display: none !important; }
.theme-menu-title { padding: 5px 9px 8px; font-size: 12px; line-height: 1.5; font-weight: 600; color: var(--muted, #62748c); }
.theme-switcher .theme-menu button { display: flex; align-items: center; gap: 10px; width: 100%; height: auto; min-height: 42px; box-sizing: border-box; margin: 0; padding: 9px 10px; border: 0; border-radius: 9px; background: transparent; box-shadow: none; color: inherit; font: inherit; font-size: 14px; line-height: 1.5; white-space: nowrap; text-align: left; cursor: pointer; }
.theme-switcher .theme-menu button:hover, .theme-switcher .theme-menu button[aria-checked="true"] { background: var(--sky-soft, #edf5ff); color: var(--sky, #1869c7); }
.theme-choice-check { margin-left: auto; visibility: hidden; }
[aria-checked="true"] > .theme-choice-check { visibility: visible; }
.theme-menu-status { margin: 6px 4px 0; padding: 9px 6px 2px; border-top: 1px solid var(--line, #d9e2ef); font-size: 12px; line-height: 1.55; color: var(--muted, #62748c); overflow-wrap: anywhere; }
.theme-switcher button:focus-visible { outline: 2px solid var(--sky, #1869c7); outline-offset: 3px; }
.admin-topbar-actions .theme-toggle { width: var(--control-h-sm, 36px); min-width: var(--control-h-sm, 36px); height: var(--control-h-sm, 36px); min-height: var(--control-h-sm, 36px); }
@media (max-width: 1100px) {
  .admin-mobile-header { grid-template-columns: var(--control-h, 42px) minmax(0, 1fr) var(--control-h, 42px); }
}
