/* Banner shown while an administrator uses the application as another person (see Impersonation). */
:root { --impersonation-height: 0px; }
body.has-impersonation { --impersonation-height: 44px; }

.impersonation-banner {
  position: sticky; top: 0; z-index: 60;
  display: flex; align-items: center; gap: 12px;
  min-height: var(--impersonation-height); padding: 6px 16px;
  background: var(--warning-ink); color: #fff;
  font-size: 0.875rem; line-height: 1.3;
}
.impersonation-banner__icon { display: inline-grid; flex: none; }
.impersonation-banner__text { flex: 1 1 auto; min-width: 0; }
.impersonation-banner form { flex: none; margin: 0; }
.impersonation-banner__stop { background: #fff; color: var(--ink); border-color: transparent; white-space: nowrap; }

/* The sidebars are sticky to the viewport: leave room for the banner above them. */
body.has-impersonation .sidebar {
  top: var(--impersonation-height);
  height: calc(100vh - var(--impersonation-height));
}
body.has-impersonation .topbar { top: var(--impersonation-height); }
body.has-impersonation .app { min-height: calc(100vh - var(--impersonation-height)); }

@media (max-width: 900px) {
  body.has-impersonation .sidebar { top: var(--impersonation-height); inset-block-end: 0; }
  .impersonation-banner { flex-wrap: wrap; }
}
