/* Sidebar appearance only. Preserve widths, row metrics, order, drawer
 * visibility and navigation handlers, including the compact icon rail. */
#emr-sidebar {
  --sidebar-rest: var(--emr-bg-muted);
  --sidebar-hover: var(--emr-bg-subtle);
  --sidebar-focus: var(--emr-sidebar-text);
}
html:is([data-theme="dark"],[data-theme="dim"]) #emr-sidebar {
  --sidebar-rest: var(--emr-bg-subtle);
  --sidebar-hover: var(--emr-bg-elevated);
}

/* Neutral hover is distinct from the persistent accent of the open page. */
#emr-sidebar #emr-sidebar-nav :is(.emr-nav-item, .emr-nav-subitem) {
  border-radius: 0;
  transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}
#emr-sidebar #emr-sidebar-nav :is(.emr-nav-item, .emr-nav-subitem):hover {
  background: var(--sidebar-hover);
  color: var(--emr-sidebar-hover-text);
}
#emr-sidebar #emr-sidebar-nav :is(.emr-nav-item, .emr-nav-subitem).active {
  background: transparent;
  color: var(--emr-sidebar-text);
  font-weight: 600;
}
#emr-sidebar #emr-sidebar-nav .emr-nav-subitem.active {
  box-shadow: inset 3px 0 0 var(--emr-gold);
}

/* Section hierarchy without adding vertical space or moving any entries. */
#emr-sidebar #emr-sidebar-nav .emr-nav-dept-header {
  background: transparent;
  border-radius: 0;
  letter-spacing: .08em;
  color: var(--emr-sidebar-text);
  box-shadow: inset 0 -1px 0 var(--emr-sidebar-border);
  transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}
#emr-sidebar #emr-sidebar-nav .emr-nav-dept-header:hover {
  background: var(--sidebar-hover);
  color: var(--emr-sidebar-hover-text);
}
#emr-sidebar #emr-sidebar-nav .emr-nav-dept.has-active > .emr-nav-dept-header {
  box-shadow: inset 3px 0 0 var(--emr-gold), inset 0 -1px 0 var(--emr-sidebar-border);
}
#emr-sidebar #emr-sidebar-nav .emr-nav-dept-caret { opacity: .85; }

/* Steady hit targets: no shrinking controls or enlarging icons on click. */
#emr-sidebar button,
#emr-sidebar .emr-nav-icon {
  transform: none;
  filter: none;
}
#emr-sidebar #emr-sidebar-nav .emr-nav-icon { opacity: 1; }
#emr-sidebar :is(.emr-nav-item, .emr-nav-subitem, .emr-nav-dept-header,
  .emr-theme-toggle, .emr-sb-expand-toggle, .emr-sidebar-la, .emr-build-banner):focus-visible {
  outline: 2px solid var(--sidebar-focus);
  outline-offset: -2px;
}

/* Footer controls keep readable text and a visible switch in both themes. */
#emr-sidebar .emr-sidebar-footer { background: var(--sidebar-rest); }
#emr-sidebar .emr-theme-toggle {
  background: var(--emr-sidebar-bg);
  color: var(--emr-sidebar-text);
}
#emr-sidebar :is(.emr-theme-toggle, .emr-sb-expand-toggle):hover {
  background: var(--sidebar-hover);
  color: var(--emr-sidebar-hover-text);
}
#emr-sidebar .emr-theme-toggle-track { background: var(--emr-sidebar-text-muted); }
html:is([data-theme="dark"],[data-theme="dim"]) #emr-sidebar .emr-theme-toggle-track { background: var(--emr-gold); }
/* The legacy rail hides the whole label, including its icon. Paint an
 * indicator inside the existing button without changing its box metrics. */
body.emr-sb-rail:not(.emr-sb-expanded) #emr-sidebar .emr-theme-toggle { position: relative; }
body.emr-sb-rail:not(.emr-sb-expanded) #emr-sidebar .emr-theme-toggle::before {
  content: '\2600';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 16px;
  pointer-events: none;
}
html:is([data-theme="dark"],[data-theme="dim"]) body.emr-sb-rail:not(.emr-sb-expanded) #emr-sidebar .emr-theme-toggle::before {
  content: '\263E';
}
#emr-sidebar .emr-sidebar-user-name { color: var(--emr-sidebar-text); }
#emr-sidebar .emr-sidebar-la:hover {
  /* The existing online-now control carries its base background inline. */
  background: var(--sidebar-hover) !important;
  color: var(--emr-sidebar-hover-text) !important;
}
#emr-sidebar #emr-sidebar-nav {
  scrollbar-color: var(--emr-sidebar-text-muted) transparent;
}
#emr-sidebar #emr-sidebar-nav::-webkit-scrollbar-thumb {
  background-color: var(--emr-sidebar-text-muted);
}

@media (prefers-reduced-motion: reduce) {
  #emr-sidebar *, #emr-sidebar *::before, #emr-sidebar *::after {
    transition: none !important;
    animation: none !important;
  }
}
