/* Bespoke Quotes hub — global layout escape.
   The app container caps pages at 1440px, which is right for detail pages and
   wrong for a pricing workspace: the compare board earns every pixel of a big
   monitor. Loaded AFTER the scoped bundle so it wins the tie against the
   layout's scoped .app-container rule. */

div.app-container:has(.bq-shell) {
    max-width: none;
}

/* Keyboard users get a visible ring on every interactive element in the hub
   surfaces (page, drawer, dialogs, save bar) without disturbing mouse focus. */
.bq-shell :focus-visible,
.dd-drawer :focus-visible,
.emg-paste-dialog :focus-visible,
.sb-bar :focus-visible {
    outline: 2px solid #3a4394;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Respect reduced-motion: the hub's slides, shimmers and spins become instant. */
@media (prefers-reduced-motion: reduce) {
    .bq-shell *,
    .dd-scrim, .dd-drawer,
    .emg-paste-scrim, .emg-paste-dialog,
    .sb-container, .sb-whisper {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Quotes-in workbook: the sheet tabs dock to the bottom edge of the window, so the
   container's bottom padding would only add a scrollable sliver beneath them. */
div.app-container:has(.bq-shell.is-docked) {
    padding-bottom: 0;
}
