.session-guard-status {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 95;
  max-width: min(560px, calc(100vw - 28px));
  transform: translate(-50%, 18px);
  padding: 12px 16px;
  border: 1px solid rgba(8, 174, 227, 0.35);
  border-left: 6px solid var(--cyan);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 18px 38px rgba(16, 39, 63, 0.17);
  color: var(--blue-dark);
  font-size: 0.94rem;
  font-weight: 950;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.session-guard-status.visible {
  transform: translate(-50%);
  opacity: 1;
}

.session-guard-status[data-state="offline"] {
  border-color: rgba(200, 72, 90, 0.32);
  border-left-color: var(--danger);
  background: #fff2f4;
  color: var(--danger);
}

.session-guard-status[data-state="syncing"] {
  border-left-color: var(--warning);
  background: #fff7e4;
  color: #75500f;
}

.session-guard-status[data-state="restored"] {
  border-left-color: var(--green);
  background: #e9fbf8;
  color: #0d6c63;
}

.team-portal-message.error {
  border-color: rgba(200, 72, 90, 0.32);
  background: #fff2f4;
  color: var(--danger);
}
