/* OpComm light/dark. Own-CSS tokens + chrome. Syncfusion stays a
   one-line stylesheet swap with no component overrides. data-theme on <html>. */

html[data-theme="dark"] {
  color-scheme: dark;
}

html[data-theme="light"] {
  color-scheme: light;
}

/* Light defaults match the pre-token hardcoded values so unthemed
   surfaces do not shift. Dark redefines the same names. */
:root {
  --oc-band-bg: #ADCDFD;
  --oc-band-fg: #253C80;
  --oc-band-accent-from: #4285f4;
  --oc-band-accent-to: #356dc9;
  --oc-band-accent-hover-from: #5e98f7;
  --oc-band-accent-hover-to: #4285f4;
  --oc-band-accent-selected-from: #79abff;
  --oc-surface: #ffffff;
  --oc-surface-border: #E7E7E7;
  --oc-text: #000000;
  --oc-text-muted: #9F9F9F;
  --oc-chrome-text: #253C80;
  --oc-progress-track: #f0f0f0;
  --oc-chip-pending-bg: #F2F2F2;
  --oc-chip-pending-fg: #7F7F7F;
  --oc-chip-pending-bd: #7F7F7F;
  --oc-chip-progress-bg: #ffff00;
  --oc-chip-progress-fg: #3a3822;
  --oc-chip-progress-bd: #b7ab31;
  --oc-chip-completed-bg: #BBEEB8;
  --oc-chip-completed-fg: #38803D;
  --oc-chip-completed-bd: #52B358;
  --oc-chip-cancelled-bg: #F8C8C8;
  --oc-chip-cancelled-fg: #C00000;
  --oc-chip-cancelled-bd: #E56D6D;
  --oc-chip-discharged-bg: #4184f1;
  --oc-chip-discharged-fg: #fff;
  --oc-chip-discharged-bd: #051733;
  --oc-chip-noshow-bg: orange;
  --oc-chip-noshow-fg: #fff;
  --oc-chip-noshow-bd: #8d6213;
  --oc-chip-transparent-fg: #000;
  --oc-chip-transparent-bd: #666;
  /* Same tenant pill in both themes (Lightbox round-5). Logos stay on a light well. */
  --oc-asset-well-bg: #f1f5f9;
  --oc-asset-well-pad: 4px 10px;
  --oc-asset-well-radius: 8px;
  --oc-asset-well-fg: #253C80;
  --oc-asset-well-muted: #4b5563;
  --oc-asset-well-margin: 6px 0;
  --oc-input-bg: #ffffff;
  --oc-input-fg: #253C80;
  --oc-input-border: #ccc;
  --oc-menu-bg: #ffffff;
  --oc-menu-fg: #1a202c;
  --oc-menu-item-fg: #4a5568;
  --oc-menu-border: #ccc;
  --oc-menu-hover-bg: #f0f0f0;
  --oc-menu-hover-fg: #1a202c;
  --oc-menu-selected-bg: #E6F0FE;
  --oc-menu-selected-fg: #1a365d;
  --oc-menu-accent-hover-bg: #253C80;
  --oc-menu-accent-hover-fg: #ffffff;
  --oc-control-hover-bg: #f0f4ff;
  --oc-nav-muted: #8593A9;
  --oc-nav-fg: #2C3E70;
  --oc-nav-link-fg: #7F7F7F;
  --oc-nav-hover-bg: rgba(27, 42, 107, 0.06);
  --oc-nav-selected-bg: #E6F0FE;
  --oc-nav-selected-fg: #1a365d;
  --nav-fg: var(--oc-nav-fg);
  --nav-hover-bg: var(--oc-nav-hover-bg);
  --nav-selected-bg: var(--oc-nav-selected-bg);
  --nav-selected-fg: var(--oc-nav-selected-fg);
  --oc-nav-active-bg: #E3ECF7;
  --oc-nav-active-fg: #1B2A6B;
  --oc-strip-bg: #F7F9FC;
  --oc-strip-border: #E3E8F0;
  --oc-strip-title: #5B6472;
  --oc-card-title: #1B2A6B;
  --oc-card-sub: #64748B;
  --oc-card-border: #ECEEF2;
  --oc-card-hover-border: #C9D4E6;
  --oc-context-card-bg: #ffffff;
  --oc-context-card-border: #E7E7E7;
  --oc-context-card-hover-bg: #f9fbff;
  --oc-section-bar-bg: #CEE1FE;
  --oc-section-bar-fg: #253C80;
  --oc-section-bar-bd: #253C80;
  --oc-section-bar-icon-bg: #253C80;
  --oc-section-bar-icon-fg: #ffffff;
  --oc-section-bar-done-bg: #BDEDB9;
  --oc-section-bar-done-fg: #548F56;
  --oc-section-bar-done-bd: #548F56;
  --oc-section-bar-done-icon-bg: #52B358;
  --oc-icon-accent: #ffffff;
  --oc-col-header-bg: #f5f5f5;
  --oc-col-header-fg: #253C80;
  --oc-col-header-border: #e0e0e0;
  --oc-splitter: #e0e0e0;
  --oc-panel-bg: #ffffff;
  --oc-check-outline: #D1D5DB;
  --oc-staff-card-bg: #ffffff;
  --oc-staff-card-border: #E7E7E7;
  --oc-staff-card-fg: #000000;
  --oc-staff-header-bg: #ADCDFD;
  --oc-staff-header-fg: #253C80;
  --oc-staff-action-bg: #233986;
  --oc-staff-action-hover-bg: #1a2c6a;
  --oc-chat-bg: #ffffff;
  --oc-chat-sent-bg: #007AFF;
  --oc-chat-sent-fg: #ffffff;
  --oc-chat-received-bg: #E9ECEF;
  --oc-chat-received-fg: #333333;
  --oc-chat-meta: #666666;
  --oc-chat-empty-fg: #2B439C;
  --oc-chat-composer-bg: #ffffff;
  --oc-chat-composer-border: #dddddd;
  --oc-family-sent-bg: #404040;
  --oc-family-sent-fg: #ffffff;
  --oc-family-received-bg: #1976d3;
  --oc-family-received-fg: #ffffff;
  --oc-invite-bg: #2B439C;
  --oc-invite-fg: #ffffff;
  --oc-invite-disabled-bg: #e3f2fd;
  --oc-invite-disabled-fg: #1976d2;
  --oc-participants-bar-bg: #bbdefb;
  --oc-participants-bar-fg: #333333;
  --oc-panel-header-bg: #e6f0ff;
  --oc-panel-header-fg: #1a365d;
  --oc-panel-nested-bg: #f0f7ff;
  --oc-switch-track: #cbd5e0;
  --oc-switch-track-on: #3182ce;
  --oc-switch-knob: #ffffff;
  --oc-pill-bg: #f3f4f6;
  --oc-pill-fg: #111827;
  --oc-pill-border: #e5e7eb;
  --oc-pill-hover-bg: #e9ebef;
  --oc-pill-prominent-bg: #f3f4f6;
  --oc-pill-prominent-fg: #111827;
  --oc-pill-prominent-border: #e5e7eb;
  /* Chrome (header / nav / page). Dark bar is darker than --oc-surface. */
  --oc-chrome-bg: #ffffff;
  --oc-chrome-border: #e2e8f0;
  --oc-chrome-muted: #718096;
  --oc-chrome-faint: #a0aec0;
  --oc-chrome-sep: #CBD5E0;
  --oc-page-bg: #ffffff;
  --oc-body-bg: #F5F5F5;
  --oc-page-bg-muted: #f8f9fa;
  --oc-nav-legal: #0e3876;
  --oc-nav-active-solid: #1a365d;
  --oc-nav-active-solid-fg: #ffffff;
  --oc-on-accent: #ffffff;
  --oc-danger: #e53e3e;
  --oc-danger-hover-bg: #fff5f5;
  --oc-link: #007bff;
  --oc-link-alt: #0078d4;
  --oc-spinner: #80bdef;
  --oc-overlay-bg: rgba(255, 255, 255, 0.8);
  --oc-notify-bg: #000033;
  --oc-brand-orange: #E95A28;
  --oc-index-text: #333333;
  --oc-index-spin-outer: #90a7d6;
  --oc-wait-from: #000080;
  --oc-wait-mid: #000060;
  --oc-wait-accent: #335599;
  --oc-wait-panel: #264482;
  --oc-wait-inner: #000000d0;
  --oc-ui-overlay: #f8f9fa;
  --oc-ui-spinner-track: #e9ecef;
  --oc-ui-spinner-fg: #007bff;
  --oc-ui-spinner-text: #6c757d;
  /* Line accents locked to mobile app-icon hues (same both themes). */
  --oc-line-or: #B45309;
  --oc-line-stroke: #6D28D9;
  --oc-line-stemi: #B91C1C;
  --oc-line-transfer: #0F766E;
  --oc-line-trauma: #C2410C;
  --oc-line-icu: #1D4ED8;
  --oc-line-surgery: #15803D;
  --oc-line-medicine: #AD014C;
  --oc-clock-warn: #B85410;
  --oc-debug-outline: #F5C542;
  --oc-overdue: #C64533;
  --oc-overdue-fg: #8B2E22;
  --oc-overdue-bg: #FDE8E5;
  --oc-overdue-border: #F0B4AB;
  --oc-overdue-item-border: #F0C8C2;
  --oc-overdue-hover-bg: #FFF5F3;
  --oc-overdue-grad-from: #FDF2F0;
  --oc-overdue-grad-to: #FFF8F6;
  --oc-census-icu: #0E7C86;
  --oc-census-surgery: #2F6FED;
  --oc-census-medicine: #6B4FBB;
  --oc-seen-yes: #1F8A4C;
  --oc-seen-yes-bg: #E6F6EC;
  --oc-seen-no: #C0C7D4;
  --oc-team-note-fg: #5A4A18;
  --oc-team-note-bg: #FFF8E8;
  --oc-team-note-bd: #F0DCA0;
  --oc-consults-fg: #8A6A3A;
  --oc-consult-row-bg: #F6F2EA;
  --oc-consult-row-selected-bg: #EDE6D6;
  --oc-consult-chip-fg: #6B4F3A;
  --oc-consult-chip-bg: #E8DFD0;
  --oc-census-chip-bg: #E8EEF8;
  --oc-coord: #C97F1B;
  --oc-collide: #6B4FBB;
  --oc-collide-fg: #4E3A8C;
  --oc-collide-bg: #F0ECFA;
  --oc-delta: #2F6FED;
  --oc-owner-bg: #F0F3F8;
  --oc-field-value: #1a2030;
  --oc-synthetic-pill-bg: #5B6B8C;
  --oc-synthetic-pill-fg: #F4F7FB;
}

html[data-theme="dark"] {
  --oc-band-bg: #1e293b;
  --oc-band-fg: #93c5fd;
  --oc-band-accent-from: #1d4ed8;
  --oc-band-accent-to: #1e3a8a;
  --oc-band-accent-hover-from: #2563eb;
  --oc-band-accent-hover-to: #1d4ed8;
  --oc-band-accent-selected-from: #3b82f6;
  --oc-surface: #1e2937;
  --oc-surface-border: #334155;
  --oc-text: #e5e7eb;
  --oc-text-muted: #94a3b8;
  --oc-chrome-text: #e5e7eb;
  --oc-progress-track: #334155;
  --oc-chip-pending-bg: #334155;
  --oc-chip-pending-fg: #e2e8f0;
  --oc-chip-pending-bd: #64748b;
  --oc-chip-progress-bg: #854d0e;
  --oc-chip-progress-fg: #fef3c7;
  --oc-chip-progress-bd: #d97706;
  --oc-chip-completed-bg: #14532d;
  --oc-chip-completed-fg: #bbf7d0;
  --oc-chip-completed-bd: #22c55e;
  --oc-chip-cancelled-bg: #7f1d1d;
  --oc-chip-cancelled-fg: #fecaca;
  --oc-chip-cancelled-bd: #ef4444;
  --oc-chip-discharged-bg: #1e40af;
  --oc-chip-discharged-fg: #dbeafe;
  --oc-chip-discharged-bd: #60a5fa;
  --oc-chip-noshow-bg: #9a3412;
  --oc-chip-noshow-fg: #ffedd5;
  --oc-chip-noshow-bd: #f97316;
  --oc-chip-transparent-fg: #e5e7eb;
  --oc-chip-transparent-bd: #64748b;
  --oc-asset-well-bg: #f1f5f9;
  --oc-asset-well-pad: 4px 10px;
  --oc-asset-well-radius: 8px;
  --oc-asset-well-fg: #253C80;
  --oc-asset-well-muted: #4b5563;
  --oc-asset-well-margin: 6px 0;
  --oc-input-bg: #0f172a;
  --oc-input-fg: #e5e7eb;
  --oc-input-border: #475569;
  --oc-menu-bg: #1e2937;
  --oc-menu-fg: #e5e7eb;
  --oc-menu-item-fg: #e5e7eb;
  --oc-menu-border: #334155;
  --oc-menu-hover-bg: #334155;
  --oc-menu-hover-fg: #f8fafc;
  --oc-menu-selected-bg: #1e3a8a;
  --oc-menu-selected-fg: #dbeafe;
  --oc-menu-accent-hover-bg: #2563eb;
  --oc-menu-accent-hover-fg: #ffffff;
  --oc-control-hover-bg: #334155;
  --oc-nav-muted: #c5d4e8;
  --oc-nav-fg: #e2e8f0;
  --oc-nav-link-fg: #cbd5e1;
  --oc-nav-hover-bg: rgba(148, 163, 184, 0.12);
  --oc-nav-selected-bg: #1e3a8a;
  --oc-nav-selected-fg: #dbeafe;
  --nav-fg: var(--oc-nav-fg);
  --nav-hover-bg: var(--oc-nav-hover-bg);
  --nav-selected-bg: var(--oc-nav-selected-bg);
  --nav-selected-fg: var(--oc-nav-selected-fg);
  --oc-nav-active-bg: #1e3a5f;
  --oc-nav-active-fg: #dbeafe;
  --oc-strip-bg: #1e2937;
  --oc-strip-border: #334155;
  --oc-strip-title: #94a3b8;
  --oc-card-title: #e5e7eb;
  --oc-card-sub: #94a3b8;
  --oc-card-border: #334155;
  --oc-card-hover-border: #64748b;
  --oc-context-card-bg: #1e2937;
  --oc-context-card-border: #475569;
  --oc-context-card-hover-bg: #273549;
  --oc-section-bar-bg: #1e3a8a;
  --oc-section-bar-fg: #bfdbfe;
  --oc-section-bar-bd: #3b82f6;
  --oc-section-bar-icon-bg: #1e40af;
  --oc-section-bar-icon-fg: #dbeafe;
  --oc-section-bar-done-bg: #14532d;
  --oc-section-bar-done-fg: #bbf7d0;
  --oc-section-bar-done-bd: #22c55e;
  --oc-section-bar-done-icon-bg: #166534;
  --oc-icon-accent: #93c5fd;
  --oc-col-header-bg: #1e2937;
  --oc-col-header-fg: #e5e7eb;
  --oc-col-header-border: #0f172a;
  --oc-splitter: #0f172a;
  --oc-panel-bg: #0f172a;
  --oc-check-outline: #64748b;
  --oc-staff-card-bg: #0f1b33;
  --oc-staff-card-border: #1e3a5f;
  --oc-staff-card-fg: #e5e7eb;
  --oc-staff-header-bg: #1e3a8a;
  --oc-staff-header-fg: #bfdbfe;
  --oc-staff-action-bg: #233986;
  --oc-staff-action-hover-bg: #1d4ed8;
  --oc-chat-bg: #0f172a;
  --oc-chat-sent-bg: #007AFF;
  --oc-chat-sent-fg: #ffffff;
  --oc-chat-received-bg: #334155;
  --oc-chat-received-fg: #e5e7eb;
  --oc-chat-meta: #94a3b8;
  --oc-chat-empty-fg: #93c5fd;
  --oc-chat-composer-bg: #1e2937;
  --oc-chat-composer-border: #475569;
  --oc-family-sent-bg: #334155;
  --oc-family-sent-fg: #e5e7eb;
  --oc-family-received-bg: #1e40af;
  --oc-family-received-fg: #dbeafe;
  --oc-invite-bg: #1d4ed8;
  --oc-invite-fg: #dbeafe;
  --oc-invite-disabled-bg: #1e3a8a;
  --oc-invite-disabled-fg: #93c5fd;
  --oc-participants-bar-bg: #1e3a8a;
  --oc-participants-bar-fg: #dbeafe;
  --oc-panel-header-bg: #1e3a8a;
  --oc-panel-header-fg: #bfdbfe;
  --oc-panel-nested-bg: #0f172a;
  --oc-switch-track: #475569;
  --oc-switch-track-on: #3b82f6;
  --oc-switch-knob: #e5e7eb;
  --oc-pill-bg: #334155;
  --oc-pill-fg: #e5e7eb;
  --oc-pill-border: #475569;
  --oc-pill-hover-bg: #475569;
  --oc-pill-prominent-bg: #f3f4f6;
  --oc-pill-prominent-fg: #111827;
  --oc-pill-prominent-border: #e5e7eb;
  --oc-chrome-bg: #111827;
  --oc-chrome-border: #1f2937;
  --oc-chrome-muted: #94a3b8;
  --oc-chrome-faint: #64748b;
  --oc-chrome-sep: #334155;
  --oc-page-bg: #0f172a;
  --oc-body-bg: #0f172a;
  --oc-page-bg-muted: #0f172a;
  --oc-nav-legal: #93c5fd;
  --oc-nav-active-solid: #1e3a8a;
  --oc-nav-active-solid-fg: #ffffff;
  --oc-on-accent: #ffffff;
  --oc-danger: #ef4444;
  --oc-danger-hover-bg: #7f1d1d;
  --oc-link: #60a5fa;
  --oc-link-alt: #60a5fa;
  --oc-spinner: #93c5fd;
  --oc-overlay-bg: rgba(15, 23, 42, 0.8);
  --oc-notify-bg: #020617;
  --oc-brand-orange: #E95A28;
  --oc-index-text: #e5e7eb;
  --oc-index-spin-outer: #64748b;
  --oc-wait-from: #000080;
  --oc-wait-mid: #000060;
  --oc-wait-accent: #335599;
  --oc-wait-panel: #264482;
  --oc-wait-inner: #000000d0;
  --oc-ui-overlay: #0f172a;
  --oc-ui-spinner-track: #334155;
  --oc-ui-spinner-fg: #60a5fa;
  --oc-ui-spinner-text: #94a3b8;
  --oc-line-or: #B45309;
  --oc-line-stroke: #6D28D9;
  --oc-line-stemi: #B91C1C;
  --oc-line-transfer: #0F766E;
  --oc-line-trauma: #C2410C;
  --oc-line-icu: #1D4ED8;
  --oc-line-surgery: #15803D;
  --oc-line-medicine: #AD014C;
  --oc-clock-warn: #fbbf24;
  --oc-debug-outline: #F5C542;
  --oc-overdue: #f87171;
  --oc-overdue-fg: #fecaca;
  --oc-overdue-bg: #7f1d1d;
  --oc-overdue-border: #991b1b;
  --oc-overdue-item-border: #b91c1c;
  --oc-overdue-hover-bg: #450a0a;
  --oc-overdue-grad-from: #7f1d1d;
  --oc-overdue-grad-to: #450a0a;
  --oc-census-icu: #0E7C86;
  --oc-census-surgery: #2F6FED;
  --oc-census-medicine: #6B4FBB;
  --oc-seen-yes: #4ade80;
  --oc-seen-yes-bg: #14532d;
  --oc-seen-no: #475569;
  --oc-team-note-fg: #fde68a;
  --oc-team-note-bg: #78350f;
  --oc-team-note-bd: #d97706;
  --oc-consults-fg: #e7d3b8;
  --oc-consult-row-bg: #292524;
  --oc-consult-row-selected-bg: #3f3a32;
  --oc-consult-chip-fg: #e7d3b8;
  --oc-consult-chip-bg: #44403c;
  --oc-census-chip-bg: #1e3a5f;
  --oc-coord: #C97F1B;
  --oc-collide: #6B4FBB;
  --oc-collide-fg: #ddd6fe;
  --oc-collide-bg: #2e1065;
  --oc-delta: #2F6FED;
  --oc-owner-bg: #1e2937;
  --oc-field-value: #e5e7eb;
  --oc-synthetic-pill-bg: #5B6B8C;
  --oc-synthetic-pill-fg: #F4F7FB;
}

.opcomm-wordmark-on-dark {
  display: none;
}

html[data-theme="dark"] .opcomm-wordmark-on-light {
  display: none;
}

html[data-theme="dark"] .opcomm-wordmark-on-dark {
  display: block;
}

/* Identity login / signed-out / 2FA cards use the PNG wordmark+tagline. */
.logo > img.opcomm-wordmark-on-light,
.logo > img.opcomm-wordmark-on-dark {
  height: 60px;
  width: 200px;
  object-fit: contain;
}

/* Chrome — values come from tokens so scoped CSS that wins on
   specificity still follows the theme when it uses the same names. */
html[data-theme="dark"] body.OpCommMainBody,
html[data-theme="dark"] body {
  background-color: var(--oc-body-bg);
  color: var(--oc-text);
}

html[data-theme="dark"] .header,
html[data-theme="dark"] .admin-header {
  background: var(--oc-chrome-bg);
  border-bottom-color: var(--oc-chrome-border);
  color: var(--oc-chrome-text);
}

html[data-theme="dark"] .nav-sidebar {
  background: var(--oc-chrome-bg);
  border-right-color: var(--oc-chrome-border);
  color: var(--nav-fg);
}

html[data-theme="dark"] .nav-link {
  color: var(--nav-fg);
}

html[data-theme="dark"] .nav-link.active {
  color: var(--nav-selected-fg);
}

html[data-theme="dark"] .nav-link-button {
  color: var(--oc-nav-link-fg);
}

html[data-theme="dark"] .nav-footer,
html[data-theme="dark"] .site-legal-footer {
  background: var(--oc-chrome-bg);
  border-top-color: var(--oc-chrome-border);
  color: var(--oc-chrome-muted);
}

html[data-theme="dark"] .site-legal-footer a,
html[data-theme="dark"] .nav-footer-links a {
  color: var(--oc-nav-link-fg);
}

html[data-theme="dark"] .main-content,
html[data-theme="dark"] .opcomm-content-container,
html[data-theme="dark"] .OpCommPortalContentArea {
  background-color: var(--oc-page-bg);
  color: var(--oc-text);
}

html[data-theme="dark"] .page {
  background-color: var(--oc-page-bg);
}

/* Login (identity) */
html[data-theme="dark"] .main-login-container {
  background-color: #0f172a !important;
}

html[data-theme="dark"] .login-container {
  background: #1e2937;
  color: #e5e7eb;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .login-container input[type="email"],
html[data-theme="dark"] .login-container input[type="password"] {
  background: #0f172a;
  color: #e5e7eb;
  border-color: #334155;
}

html[data-theme="dark"] .portal-title,
html[data-theme="dark"] .footer-copyright,
html[data-theme="dark"] .footer-legal a,
html[data-theme="dark"] .version-label,
html[data-theme="dark"] .version-number {
  color: #e5e7eb;
}

html[data-theme="dark"] .profile-dropdown,
html[data-theme="dark"] .profile-menu {
  background: #1e2937;
  color: #e5e7eb;
  border-color: #334155;
}

.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: transparent;
  color: #4a5568;
  cursor: pointer;
  flex-shrink: 0;
  line-height: 1;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.theme-toggle:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #1e2937;
}

.theme-toggle:focus-visible {
  outline: 2px solid #1e40af;
  outline-offset: 2px;
}

.theme-icon {
  display: none;
  line-height: 0;
}

html[data-theme="light"] .theme-icon-sun,
html:not([data-theme]) .theme-icon-sun {
  display: block;
}

html[data-theme="dark"] .theme-icon-moon {
  display: block;
}

.theme-menu {
  position: fixed;
  inset: unset;
  margin: 0;
  padding: 4px;
  min-width: 148px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  color: #1e2937;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
}

.theme-menu-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 12px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 0.875rem;
}

.theme-menu-item:hover,
.theme-menu-item:focus-visible {
  background: #f1f5f9;
  outline: none;
}

.theme-menu-item.is-selected,
.theme-menu-item[aria-checked="true"] {
  font-weight: 600;
}

.theme-menu-item.is-selected::after,
.theme-menu-item[aria-checked="true"]::after {
  content: " \2713";
  float: right;
  color: #1e40af;
}

html[data-theme="dark"] .theme-toggle {
  border-color: #334155;
  color: #e5e7eb;
}

html[data-theme="dark"] .theme-toggle:hover {
  background: #1e2937;
  border-color: #475569;
  color: #fff;
}

html[data-theme="dark"] .theme-menu {
  background: #1e2937;
  color: #e5e7eb;
  border-color: #334155;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .theme-menu-item:hover,
html[data-theme="dark"] .theme-menu-item:focus-visible {
  background: #334155;
}

html[data-theme="dark"] .theme-menu-item.is-selected::after,
html[data-theme="dark"] .theme-menu-item[aria-checked="true"]::after {
  color: #93c5fd;
}

.login-theme-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
}

.login-container {
  position: relative;
}

html[data-theme="dark"] .waitingArea {
  background: linear-gradient(180deg, #0f172a 0%, #111827 11%, #111827 89%, #0f172a 100%);
}

html[data-theme="dark"] .delayMessageArea {
  background: rgba(30, 41, 55, 0.94);
  color: #e5e7eb;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .delayMessageText {
  color: #e5e7eb;
}

html[data-theme="dark"] .delayMessageLink {
  color: #93c5fd;
}

html[data-theme="dark"] .sessionFooter {
  border-top-color: #334155;
  color: #cbd5e1;
}

html[data-theme="dark"] .sessionFooter .footer-legal a {
  color: #93c5fd;
}

html[data-theme="dark"] .sessionFooter .footer-legal .separator,
html[data-theme="dark"] .sessionFooter .version-label {
  color: #94a3b8;
}

html[data-theme="dark"] .sessionFooter .version-number {
  color: #e5e7eb;
}
