.portal-floating-nav {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2147483000;
  display: flex;
  gap: 10px;
  align-items: center;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

.portal-floating-nav a {
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 800;
  color: #ffffff !important;
  background: rgba(11, 22, 40, 0.96);
  border: 1px solid rgba(147, 197, 253, 0.55);
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

.portal-floating-nav a:hover {
  background: #1d4ed8;
}

.portal-floating-nav .portal-signout-btn {
  background: #991b1b;
  border-color: rgba(252, 165, 165, 0.75);
}

.portal-floating-nav .portal-signout-btn:hover {
  background: #dc2626;
}

/* Hide old portal signout tile/card. Floating nav handles signout now. */
a.card[href*="portal-signout"],
a.card[href*="/logout"],
a.card[href*="/signout"],
a.card[href*="/sso/logout"],
a.tile[href*="portal-signout"],
a.tile[href*="/logout"],
a.tile[href*="/signout"],
a.tile[href*="/sso/logout"],
a.service-card[href*="portal-signout"],
a.service-card[href*="/logout"],
a.service-card[href*="/signout"],
a.service-card[href*="/sso/logout"],
a.app-card[href*="portal-signout"],
a.app-card[href*="/logout"],
a.app-card[href*="/signout"],
a.app-card[href*="/sso/logout"],
.card:has(a[href*="portal-signout"]),
.card:has(a[href*="/sso/logout"]),
.tile:has(a[href*="portal-signout"]),
.tile:has(a[href*="/sso/logout"]),
.service-card:has(a[href*="portal-signout"]),
.service-card:has(a[href*="/sso/logout"]),
.app-card:has(a[href*="portal-signout"]),
.app-card:has(a[href*="/sso/logout"]) {
  display: none !important;
}

/* While auth state is unknown or signed out, never show floating signout. */
body.portal-auth-unknown .portal-signout-btn,
body.portal-signed-out .portal-signout-btn {
  display: none !important;
}

@media (max-width: 640px) {
  .portal-floating-nav {
    left: 10px;
    right: 10px;
    bottom: 10px;
    justify-content: center;
  }

  .portal-floating-nav a {
    font-size: 13px;
    padding: 9px 12px;
  }
}
