.admin-session-dock {
  align-items: center;
  background: #062b55;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 14px;
  bottom: max(14px, env(safe-area-inset-bottom));
  box-shadow: 0 12px 36px rgba(4, 25, 48, .32);
  color: #fff;
  display: flex;
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: .86rem;
  gap: .35rem;
  max-width: calc(100vw - 28px);
  padding: .4rem;
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  z-index: 10000;
}

.admin-session-dock__status {
  align-items: center;
  display: inline-flex;
  font-weight: 800;
  gap: .45rem;
  padding: .45rem .6rem;
  white-space: nowrap;
}

.admin-session-dock__status > span {
  background: #62d49a;
  border: 2px solid rgba(255, 255, 255, .85);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(98, 212, 154, .17);
  height: 9px;
  width: 9px;
}

.admin-session-dock__link,
.admin-session-dock__logout {
  align-items: center;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 9px;
  color: #fff !important;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 700;
  justify-content: center;
  min-height: 38px;
  padding: .45rem .7rem;
  text-decoration: none;
  white-space: nowrap;
}

.admin-session-dock__link:hover,
.admin-session-dock__logout:hover:not(:disabled) {
  background: rgba(255, 255, 255, .2);
  border-color: rgba(255, 255, 255, .48);
}

.admin-session-dock__logout {
  background: #fff;
  border-color: #fff;
  color: #7b211d !important;
}

.admin-session-dock__logout:hover:not(:disabled) {
  background: #fff1f0;
  border-color: #fff1f0;
}

.admin-session-dock__logout:disabled { cursor: wait; opacity: .65; }
.admin-session-dock__message:empty { display: none; }
.admin-session-dock__message { font-size: .76rem; padding: 0 .45rem; }
.admin-session-dock :focus-visible { outline: 3px solid #fbc104; outline-offset: 2px; }

@media (max-width: 620px) {
  .admin-session-dock {
    bottom: max(8px, env(safe-area-inset-bottom));
    left: max(8px, env(safe-area-inset-left));
    max-width: none;
    right: max(8px, env(safe-area-inset-right));
  }

  .admin-session-dock__status { flex: 1 1 auto; }
  .admin-session-dock__link,
  .admin-session-dock__logout { padding-inline: .6rem; }
}

@media (max-width: 420px) {
  .admin-session-dock { flex-wrap: wrap; }
  .admin-session-dock__status { flex: 1 1 100%; justify-content: center; padding-block: .25rem; }
  .admin-session-dock__link,
  .admin-session-dock__logout { flex: 1 1 calc(50% - .2rem); }
  .admin-session-dock__message { flex-basis: 100%; text-align: center; }
}
