:root {
  --impersonation-brand: #a31e36;
  --impersonation-dark: #1f303e;
  --impersonation-line: #dfe5ea;
}

.impersonation-session-banner {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: min(680px, calc(100vw - 36px));
  padding: 12px 14px;
  border: 2px solid #fff;
  border-radius: 12px;
  color: #fff;
  background: #86172c;
  box-shadow: 0 14px 45px rgba(31, 48, 62, 0.34);
  font: 600 14px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.impersonation-session-banner strong { font-weight: 800; }
.impersonation-session-banner__copy { min-width: 0; }
.impersonation-session-banner__meta { display: block; margin-top: 2px; opacity: 0.84; font-size: 12px; }
.impersonation-session-banner button {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 0;
  border-radius: 8px;
  color: #86172c;
  background: #fff;
  font: inherit;
  cursor: pointer;
}
.impersonation-session-banner button:disabled { cursor: wait; opacity: 0.7; }

.impersonation-admin-page {
  min-height: 100vh;
  margin: 0;
  color: var(--impersonation-dark);
  background: #f4f6f8;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.impersonation-admin-main { width: min(1180px, calc(100% - 36px)); margin: 36px auto 70px; }
.impersonation-hero, .impersonation-section { padding: 26px; border: 1px solid var(--impersonation-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 28px rgba(31, 48, 62, 0.06); }
.impersonation-section { margin-top: 22px; }
.impersonation-hero h1, .impersonation-section h2 { margin: 3px 0 10px; }
.impersonation-hero > p:not(.impersonation-eyebrow) { max-width: 850px; color: #5d6f7e; line-height: 1.6; }
.impersonation-eyebrow { margin: 0; color: var(--impersonation-brand); font-size: 12px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.impersonation-warning { margin-top: 18px; padding: 13px 15px; border-left: 4px solid #d97706; border-radius: 8px; color: #78350f; background: #fffbeb; }
.impersonation-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.impersonation-section-heading > span { padding: 5px 9px; border-radius: 999px; color: #536879; background: #edf1f4; font-size: 12px; font-weight: 800; }
.impersonation-user-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 15px; margin-top: 18px; }
.impersonation-user-card { display: grid; grid-template-columns: auto 1fr; gap: 13px; padding: 17px; border: 1px solid var(--impersonation-line); border-radius: 13px; background: #fbfcfd; }
.impersonation-avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: var(--impersonation-brand); font-size: 18px; font-weight: 800; }
.impersonation-user-copy h3 { margin: 1px 0 3px; font-size: 16px; }
.impersonation-user-copy p { margin: 0; color: #687b8b; }
.impersonation-roles { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.impersonation-roles span, .event { padding: 4px 7px; border-radius: 6px; color: #7d2135; background: #f8e9ed; font-size: 11px; font-weight: 800; }
.impersonation-user-card form { grid-column: 1 / -1; }
.impersonation-user-card button { width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; color: #fff; background: var(--impersonation-brand); font-weight: 750; cursor: pointer; }
.impersonation-audit-wrap { margin-top: 15px; overflow-x: auto; }
.impersonation-audit { width: 100%; border-collapse: collapse; }
.impersonation-audit th, .impersonation-audit td { padding: 11px 10px; border-bottom: 1px solid #e9edf0; text-align: left; font-size: 13px; }
.impersonation-audit th { color: #627585; font-size: 11px; text-transform: uppercase; }
.event--stop { color: #176b52; background: #e5f5ef; }
.impersonation-empty { color: #687b8b; }
@media (max-width: 700px) {
  .impersonation-session-banner { align-items: stretch; flex-direction: column; }
}
.impersonation-list-action {
  color: #a31e36 !important;
}

.impersonation-list-action:hover,
.impersonation-list-action:focus {
  color: #7f1328 !important;
  background: #f8edf0 !important;
}
