@font-face {
  font-family: 'Work Sans';
  src: url("/assets/WorkSans-VariableFont_wght-c0ac7ff0.ttf") format('truetype');
  font-style: normal;
  font-weight: 100 900;
}

@font-face {
  font-family: 'Work Sans';
  src: url("/assets/WorkSans-Italic-VariableFont_wght-a33864d2.ttf") format('truetype');
  font-style: italic;
  font-weight: 100 900;
}

.turbo-progress-bar {
  background-color: rgb(152 178 79); /* bg-olive-900 */
}

b,
strong {
  font-weight: bold; /* Override tailwind default of "bolder" which looks terrible with our fonts */
}

.hidden-empty:not(:has(*)) {
  display: none;
}

/*
 * AG Studio's AI assistant composer (flag-gated :ag_studio_ai_assistant) shows
 * an accent line between the text area and the Send button on focus. It is not
 * a plain border on the direct children (removing those did nothing), so clear
 * borders and box-shadows on every element *inside* the input box — but not the
 * box itself, so its own focus outline survives. Scoped, inert elsewhere.
 * `!important` because AG injects its own styles at runtime, after this sheet.
 */
.ag-studio-ai-assistant-input * {
  border: none !important;
  box-shadow: none !important;
}

/*
 * AG Grid draws fake 16px scrollbar strips over the grid's bottom/right edges
 * in browsers with overlay native scrollbars, but only auto-hides them on
 * macOS/iOS (`.ag-apple-scrollbar`). Elsewhere (notably Firefox on Windows 11)
 * the opaque strip stays visible and permanently covers most of the last row.
 * Extend AG's own apple-only auto-hide rules to every overlay-scrollbar
 * environment; AG's JS already toggles the active/scrolling classes there.
 * Upstream: https://github.com/ag-grid/ag-grid/issues/14373 — drop this once
 * fixed.
 */
.ag-body-horizontal-scroll.ag-scrollbar-invisible:not(.ag-apple-scrollbar),
.ag-body-vertical-scroll.ag-scrollbar-invisible:not(.ag-apple-scrollbar) {
  opacity: 0;
  transition: opacity 0.4s;
  visibility: hidden;
}

.ag-body-horizontal-scroll.ag-scrollbar-invisible:not(.ag-apple-scrollbar).ag-scrollbar-active,
.ag-body-horizontal-scroll.ag-scrollbar-invisible:not(.ag-apple-scrollbar).ag-scrollbar-scrolling,
.ag-body-vertical-scroll.ag-scrollbar-invisible:not(.ag-apple-scrollbar).ag-scrollbar-active,
.ag-body-vertical-scroll.ag-scrollbar-invisible:not(.ag-apple-scrollbar).ag-scrollbar-scrolling {
  opacity: 1;
  visibility: visible;
}

.tooltip {
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  background-color: rgb(var(--color-smoke-20));
  color: rgb(var(--color-smoke-80));
}

.tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: rgb(var(--color-smoke-20));
}

.ProseMirror .collaboration-cursor__caret {
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  margin-left: -1px;
  margin-right: -1px;
  pointer-events: none;
  position: relative;
  word-break: normal;
}

.ProseMirror .collaboration-cursor__label {
  border-radius: 3px 3px 3px 0;
  color: white;
  font-size: 12px;
  font-weight: 600;
  left: -1px;
  line-height: normal;
  padding: 0.125rem 0.3rem;
  position: absolute;
  bottom: calc(100% + 2px);
  user-select: none;
  white-space: nowrap;
}
