/* Shared viewport constraints. Wide data stays reachable in local scrollers. */
.synq-site {
  margin: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.synq-site #main,
.synq-site #main :where(section, article, form, fieldset),
.synq-site :where(.flex, .grid) > * {
  min-width: 0;
}
.synq-site #main :where(section, article, form, fieldset) {
  max-width: 100%;
}
.synq-site :where(input, select, textarea, button) {
  box-sizing: border-box;
  max-width: 100%;
}
.synq-site :where(input, select, textarea) {
  min-width: 0;
}
.synq-site :where(button, [role="button"]) {
  overflow-wrap: anywhere;
}
.synq-site :where(img, video, canvas, iframe) {
  max-width: 100%;
}
.synq-site pre {
  max-width: 100%;
  overflow: auto;
}
.synq-table-scroll {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.synq-table-scroll:focus-visible {
  outline: 2px solid #0f766e;
  outline-offset: 2px;
}
.synq-site .site-header {
  overflow: visible;
}
.synq-site .site-header > div > .flex {
  gap: 1rem;
}
.synq-site #admin-menu-content-nav {
  max-width: calc(100vw - 2rem);
  max-height: min(480px, calc(100dvh - 6rem)) !important;
}
.synq-site #admin-menu-content-nav a {
  white-space: normal !important;
}
.synq-site #mobile-menu {
  max-height: calc(100vh - 5rem);
  max-height: calc(100dvh - 5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media (max-width: 1023px) {
  .synq-site .site-header nav[aria-label="Hauptnavigation"] { display: none !important; }
  .synq-site .site-mobile-toggle { display: flex; flex: 0 0 auto; }
  .synq-site .site-header img { max-width: min(58vw, 240px); height: auto; }
}
@media (min-width: 1024px) {
  .synq-site .site-mobile-toggle,
  .synq-site #mobile-menu { display: none !important; }
}
