/* Shared responsive contract. Chart internals intentionally remain page-specific. */
body[data-design-system="qice-v1"] { overflow-x: hidden; }

@media (max-width: 1040px) {
  .site-topbar {
    grid-template-columns: minmax(180px, 1fr) minmax(260px, auto);
  }

  .site-topbar > .site-nav,
  .site-topbar > .product-nav,
  .site-topbar > .member-global-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .site-topbar > .member-link,
  .site-topbar > .member-access-link,
  .site-topbar > .member-global-entry,
  .site-topbar > .topbar-actions,
  .site-topbar > .site-account { grid-column: 2; grid-row: 1; }

  .site-nav a { flex: 1 1 0; }
  .app-shell > main { width: 100%; }
}

@media (max-width: 760px) {
  :root { --qice-page-gutter: 12px; }

  .site-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--qice-space-3);
    min-height: 72px;
    margin-bottom: var(--qice-space-4);
    padding: 8px 10px;
  }

  .site-brand .brand-mark,
  .site-brand .brand-logo,
  .member-global-brand > img { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; }
  .site-brand .brand-name,
  .site-brand .brand strong,
  .member-global-brand strong { font-size: 16px; }
  .site-brand .brand-tagline,
  .site-brand .brand p,
  .member-global-brand > span > span { font-size: 10px; }

  .site-nav { overflow-x: auto; justify-content: flex-start; }
  .site-nav a { min-width: 0; flex: 1 0 auto; padding-inline: 10px; font-size: 12px; }
  .site-topbar > .site-nav { display: none; }
  .site-topbar > .mobile-nav { display: block; grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .site-topbar > .mobile-nav > summary { width: 100%; }
  .admin-topbar .admin-nav { display: none; }
  .admin-topbar .mobile-nav { display: block; margin-inline-start: auto; }
  .admin-topbar .mobile-nav-panel { right: 0; left: auto; min-width: min(270px, calc(100vw - 24px)); }
  .topbar-actions { justify-content: flex-end; }
  .engine-status { display: none; }

  .admin-topbar .bar { width: min(var(--qice-content-max), calc(100% - (var(--qice-page-gutter) * 2))); min-height: 64px; }
  .admin-topbar .nav a { display: none; }
  .admin-topbar .nav button { min-height: var(--qice-control-height-compact); }

  .page-content,
  .shell > main,
  .app-shell > main { width: 100%; }
}

@media (max-width: 560px) {
  .site-topbar { align-items: start; }
  .site-brand .brand-tagline,
  .site-brand .brand p,
  .member-global-brand > span > span { display: none; }
  .member-link,
  .member-access-link,
  .member-global-entry,
  .topbar-link { min-height: var(--qice-control-height-compact); padding-inline: 9px; font-size: 11px; }

  .site-nav { grid-column: 1 / -1 !important; }
  .site-nav a { min-width: 90px; }
  .button,
  .primary-button,
  .actions button { min-height: var(--qice-control-height); }
}
