.v245-collab-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #cfe0d7;
  border-radius: 7px;
  background: #f3faf6;
  color: #17314d;
}

.v245-collab-status {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  font-size: 13px;
  font-weight: 900;
}

.v245-collab-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #168252;
  box-shadow: 0 0 0 4px rgba(22, 130, 82, 0.12);
  flex: 0 0 auto;
}

.v245-collab-bar.is-editing {
  border-color: #b8d5c5;
  background: #edf8f2;
}

.v245-collab-bar.is-warning {
  border-color: #dfc476;
  background: #fff9e8;
}

.v245-collab-bar.is-warning .v245-collab-dot {
  background: #b57900;
  box-shadow: 0 0 0 4px rgba(181, 121, 0, 0.13);
}

.v245-collab-bar.is-offline {
  border-color: #d4dde4;
  background: #f7f9fa;
  color: #66788a;
}

.v245-collab-bar.is-offline .v245-collab-dot {
  background: #8a99a6;
  box-shadow: none;
}

.v245-collab-action {
  min-height: 36px !important;
  padding: 0 12px !important;
  white-space: nowrap;
  flex: 0 0 auto;
}

.v245-feed-notice {
  position: sticky;
  top: 8px;
  z-index: 80;
  margin-bottom: 12px;
  box-shadow: 0 8px 22px rgba(20, 45, 65, 0.1);
}

@media (max-width: 640px) {
  .v245-collab-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .v245-collab-action {
    width: 100% !important;
  }
}

/* v250: immediate, stable feedback while a main-menu navigation is loading. */
.main-nav a {
  position: relative;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.main-nav a.is-loading {
  border-color: #a9d4bd;
  background: #e7f4ed;
  color: #0f6f43;
}

.main-nav a.is-loading::after {
  content: "";
  position: absolute;
  right: 11px;
  bottom: 5px;
  left: 11px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transform-origin: left center;
  animation: v250-nav-link-progress .72s ease-out both;
}

html.is-page-navigating body::before {
  content: "";
  position: fixed;
  z-index: 100000;
  top: 0;
  left: 0;
  width: 82%;
  height: 3px;
  background: #138050;
  box-shadow: 0 1px 5px rgba(19, 128, 80, .25);
  transform-origin: left center;
  animation: v250-nav-progress 1.1s ease-out both;
  pointer-events: none;
}

@keyframes v250-nav-link-progress {
  from { transform: scaleX(.12); opacity: .55; }
  to { transform: scaleX(1); opacity: 1; }
}

@keyframes v250-nav-progress {
  from { transform: scaleX(.12); opacity: .75; }
  to { transform: scaleX(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .main-nav a.is-loading::after,
  html.is-page-navigating body::before {
    animation: none;
  }
}
