/* Shared status strip: landing, deck, SOW, process ledger, budget */

:root {
  --announcement-bar-height: 28px;
  --breadcrumb-height: 28px;
  --menubar-height: 32px;
  --portal-chrome-height: calc(var(--breadcrumb-height) + var(--menubar-height));
}

.announcement-bar {
  margin: 0;
  padding: 0.4rem 1rem;
  text-align: center;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: #464b4b;
  border-bottom: 1px solid #727578;
  box-sizing: border-box;
  line-height: 1.3;
}

.announcement-bar strong {
  font-weight: 700;
  color: #fff;
}

/* Landing: bar lives inside the fixed .site-top header */
.site-top .announcement-bar {
  position: relative;
  z-index: auto;
}

/* Deck, SOW, budget, process ledger: fixed strip above page chrome */
body.has-announcement-bar > .announcement-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100001;
}

/* Breadcrumb + menubar sit below the announcement bar */
body.has-announcement-bar .portal-breadcrumb {
  top: var(--announcement-bar-height);
}

body.has-announcement-bar.deck-has-menubar,
body.has-announcement-bar.doc-has-menubar {
  padding-top: calc(var(--announcement-bar-height) + var(--portal-chrome-height));
}

body.has-announcement-bar.deck-has-menubar .deck-menubar,
body.has-announcement-bar.doc-has-menubar .deck-menubar {
  top: calc(var(--announcement-bar-height) + var(--breadcrumb-height));
}

body.has-announcement-bar.doc-has-menubar .app-container {
  height: calc(100vh - var(--announcement-bar-height) - var(--portal-chrome-height));
  height: calc(100dvh - var(--announcement-bar-height) - var(--portal-chrome-height));
  min-height: 0;
}

/* "Documents" dropdown (artifact navigation) injected into the menubar by portal-chrome.js */
.portal-tab-menu .portal-tab-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.portal-tab-menu .portal-tab-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  color: #171c8f;
  font-weight: 700;
}

.portal-tab-menu .portal-tab-item:not(.is-current) .portal-tab-check {
  visibility: hidden;
}

.portal-tab-menu .portal-tab-item.is-current {
  font-weight: 700;
}

/* Process ledger: flex layout below fixed announcement bar + menubar */
body.process-ledger-page #layout {
  height: auto;
}

@media print {
  body.process-ledger-page #layout {
    height: calc(100vh - 52px);
  }
}

/* Chat panel inset for fixed chrome */
.site-top,
.announcement-bar,
.portal-breadcrumb,
.deck-menubar {
  transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

body.chat-open .site-top,
body.chat-open .announcement-bar,
body.chat-open .portal-breadcrumb,
body.chat-open .deck-menubar {
  right: var(--bob-chat-panel-width, 420px);
}

body.bob-chat-resizing .site-top,
body.bob-chat-resizing .announcement-bar,
body.bob-chat-resizing .portal-breadcrumb,
body.bob-chat-resizing .deck-menubar {
  transition: none !important;
}

@media print {
  .announcement-bar {
    display: none !important;
  }

  body.has-announcement-bar.deck-has-menubar,
  body.has-announcement-bar.doc-has-menubar {
    padding-top: 0 !important;
  }

  body.has-announcement-bar .portal-breadcrumb,
  body.has-announcement-bar.deck-has-menubar .deck-menubar,
  body.has-announcement-bar.doc-has-menubar .deck-menubar {
    display: none !important;
  }

  body.process-ledger-page #layout {
    height: calc(100vh - 52px);
  }
}

@media (max-width: 768px) {
  .announcement-bar {
    font-size: 0.6rem;
    padding: 0.35rem 0.6rem;
  }

  body.chat-open .site-top,
  body.chat-open .announcement-bar,
  body.chat-open .portal-breadcrumb,
  body.chat-open .deck-menubar {
    right: 0;
  }
}

/* iOS Safari: flex children need min-height: 0 before overflow-y can scroll. */
@media (max-width: 900px) {
  body.has-announcement-bar.doc-has-menubar .app-container {
    max-height: calc(100dvh - var(--announcement-bar-height) - var(--portal-chrome-height));
  }
}
