/* Shared theme and sign-out controls for every school service. */
.school-theme-switch, .school-logout {
  --control-line: var(--sui-line, var(--app-border, #dce5eb));
  --control-surface: var(--sui-card, var(--app-surface, #fff));
  --control-muted: var(--sui-muted, var(--app-muted, #637b8c));
}
.school-theme-switch { display: inline-flex; flex: none; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--control-line); border-radius: 999px; background: color-mix(in srgb, var(--control-muted) 5%, var(--control-surface)); }
.school-theme-switch .school-theme-choice { appearance: none; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--control-muted); box-shadow: none; cursor: pointer; }
.school-theme-choice[aria-pressed="true"][data-sui-theme-value="light"], .school-theme-choice[aria-pressed="true"][data-theme-choice="light"] { background: #fff1b8; color: #b7791f; }
.school-theme-choice[aria-pressed="true"][data-sui-theme-value="dark"], .school-theme-choice[aria-pressed="true"][data-theme-choice="dark"] { background: #304f63; color: #d6eafb; }
.school-logout.school-logout { appearance: none; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; min-height: 0; margin: 0; padding: 0; border: 1px solid var(--control-line); border-radius: 12px; background: var(--control-surface); color: var(--control-muted); text-decoration: none; cursor: pointer; box-shadow: none; }
.school-theme-switch svg, .school-logout svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.school-theme-choice:hover, .school-logout:hover { filter: brightness(.93); }
.school-theme-choice:focus-visible, .school-logout:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
