.announcement-banner {
  position: static;
  z-index: 70;
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  padding: 8px 14px;
  border-bottom: 1px solid #335c7e;
  background: #102132;
  color: #e8f4ff;
  box-shadow: 0 8px 28px #0008;
}
.announcement-banner[hidden] { display: none; }
.announcement-copy { display: flex; min-width: 0; flex: 1; align-items: baseline; gap: 10px; }
.announcement-copy strong { flex: 0 0 auto; font-size: 12px; }
.announcement-copy span { overflow: hidden; color: #b9cad8; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.announcement-banner a { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #4f8fc2; border-radius: 7px; color: #9fd3ff; font-size: 9px; text-decoration: none; }
.announcement-banner button { width: 27px; height: 27px; flex: 0 0 auto; border: 1px solid #3c5870; border-radius: 7px; background: #142a3d; color: #c4d4df; }
.announcement-banner.important { border-bottom-color: #8f4753; background: #321921; }
.announcement-banner.update { border-bottom-color: #725fae; background: #211b38; }
.announcement-banner.billing { border-bottom-color: #97732d; background: #30240e; }
.announcement-visible {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  height: 100vh;
}
.announcement-visible .monitor-shell {
  min-height: 0;
  height: 100%;
  margin-top: 0;
}
.announcement-visible .monitor-column { min-height: 0; height: 100%; }
@media (max-width: 700px) {
  .announcement-copy { display: grid; gap: 2px; }
  .announcement-copy span { white-space: normal; }
}
