/* ============================================================
   CONTRACT WINDOW BANNER (#142)
   ============================================================
   Persistent reminder for any team that hasn't submitted its staged
   contract package while the post-draft window is open. Mirrors
   install-banner.css's fixed-position pattern but docks to the TOP
   (install-banner already owns the bottom edge; the Owner Window's own
   sticky submit bar also lives at the bottom on that specific page).
   Consumed by ContractWindowBanner.js. */

.contract-window-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-sticky);
  padding: var(--space-sm) var(--space-base);
  padding-top: max(var(--space-sm), env(safe-area-inset-top, 0px));
  background: var(--bg-scoreboard);
  border-bottom: 2px solid var(--color-danger-primary);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.contract-window-banner-content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  max-width: 500px;
  margin: 0 auto;
}

.contract-window-banner-icon {
  font-size: var(--font-size-xl);
  flex-shrink: 0;
}

.contract-window-banner-text {
  flex: 1;
  min-width: 0;
}

.contract-window-banner-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--font-size-md);
  letter-spacing: 1px;
  color: var(--text-inverse);
}

.contract-window-banner-sub {
  margin: var(--space-2xs) 0 0;
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  color: var(--color-structure-light);
}

.contract-window-banner-btn {
  min-height: 44px;
  padding: 0 var(--space-md);
  background: var(--color-action-primary);
  color: var(--text-inverse);
  border: none;
  border-radius: var(--border-radius-default);
  font-family: var(--font-display);
  font-size: var(--font-size-sm);
  letter-spacing: 1px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
