/* BB Invoice Verification 7.0.0
 * Compact premium PDF.js canvas viewer.
 * 24px external viewport gutter, Elementor-resistant controls, light/dark theme support,
 * atomic double-buffer rendering and no opacity transition on PDF canvases.
 */

.bbiv-shell,
.bbiv-shell *,
.bbiv-shell *::before,
.bbiv-shell *::after {
    box-sizing: border-box !important;
}

/* Light is the safe default. Sites using .theme-light receive the same palette. */
.bbiv-shell,
.theme-light .bbiv-shell,
.bbiv-shell.theme-light {
    --bbiv-bg: #eef1f5;
    --bbiv-panel: rgba(255,255,255,.96);
    --bbiv-panel-solid: #ffffff;
    --bbiv-panel-2: #f7f8fa;
    --bbiv-panel-hover: #eef1f5;
    --bbiv-stage: #e7ebf0;
    --bbiv-border: rgba(15,23,42,.11);
    --bbiv-border-strong: rgba(15,23,42,.18);
    --bbiv-text: #151922;
    --bbiv-muted: #6d7480;
    --bbiv-subtle: #8f96a2;
    --bbiv-accent: #2563eb;
    --bbiv-accent-hover: #1d4ed8;
    --bbiv-success: #16845d;
    --bbiv-danger: #c43f4a;
    --bbiv-danger-bg: rgba(196,63,74,.08);
    --bbiv-focus: rgba(37,99,235,.30);
    --bbiv-shadow: 0 14px 38px rgba(16,24,40,.10), 0 2px 8px rgba(16,24,40,.06);
    --bbiv-canvas-shadow: 0 16px 46px rgba(16,24,40,.20), 0 2px 8px rgba(16,24,40,.10);
    --bbiv-loader-bg: rgba(255,255,255,.86);
}

/* The site's .theme-dark class automatically switches the plugin UI. */
.theme-dark .bbiv-shell,
.bbiv-shell.theme-dark {
    --bbiv-bg: #12151a;
    --bbiv-panel: rgba(25,29,35,.96);
    --bbiv-panel-solid: #191d23;
    --bbiv-panel-2: #22272f;
    --bbiv-panel-hover: #2a3039;
    --bbiv-stage: #101318;
    --bbiv-border: rgba(255,255,255,.10);
    --bbiv-border-strong: rgba(255,255,255,.18);
    --bbiv-text: #f3f5f7;
    --bbiv-muted: #a5adb9;
    --bbiv-subtle: #7f8895;
    --bbiv-accent: #4b82f4;
    --bbiv-accent-hover: #6394f5;
    --bbiv-success: #31a77a;
    --bbiv-danger: #ef6a74;
    --bbiv-danger-bg: rgba(239,106,116,.10);
    --bbiv-focus: rgba(99,148,245,.34);
    --bbiv-shadow: 0 16px 46px rgba(0,0,0,.24), 0 2px 10px rgba(0,0,0,.18);
    --bbiv-canvas-shadow: 0 18px 52px rgba(0,0,0,.42), 0 2px 8px rgba(0,0,0,.24);
    --bbiv-loader-bg: rgba(25,29,35,.88);
}

.bbiv-shell {
    --bbiv-type-12: 12px;
    --bbiv-leading-12: 1.333334;
    --bbiv-type-14: 14px;
    --bbiv-leading-14: 1.428572;
    --bbiv-type-17: 17px;
    --bbiv-leading-17: 1.411765;
    position: relative !important;
    left: 50% !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    min-width: 0 !important;
    height: calc(100vh - 48px) !important;
    height: calc(100dvh - 48px) !important;
    min-height: 560px !important;
    margin: 24px 0 24px calc(-50vw + 24px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 14px !important;
    background: var(--bbiv-bg) !important;
    color: var(--bbiv-text) !important;
    box-shadow: var(--bbiv-shadow) !important;
    font-family: "BB Display" !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.428572 !important;
    text-align: left !important;
    isolation: isolate !important;
    contain: layout paint style !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
}

.bbiv-shell:fullscreen {
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Elementor/theme reset for interactive controls only. */
.bbiv-shell button.bbiv-btn,
.bbiv-shell a.bbiv-btn,
.bbiv-shell input.bbiv-search-input,
.bbiv-shell input.bbiv-page-input {
    all: unset !important;
    box-sizing: border-box !important;
    font: inherit !important;
    -webkit-font-smoothing: antialiased !important;
}

.bbiv-shell button.bbiv-btn,
.bbiv-shell a.bbiv-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 7px !important;
    background: var(--bbiv-panel-2) !important;
    color: var(--bbiv-text) !important;
    box-shadow: 0 1px 1px rgba(0,0,0,.025) !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.333334 !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .08s ease !important;
}

.bbiv-shell button.bbiv-btn:hover,
.bbiv-shell a.bbiv-btn:hover {
    border-color: var(--bbiv-border-strong) !important;
    background: var(--bbiv-panel-hover) !important;
    color: var(--bbiv-text) !important;
}

.bbiv-shell button.bbiv-btn:active,
.bbiv-shell a.bbiv-btn:active {
    transform: translateY(1px) !important;
}

.bbiv-shell button.bbiv-btn:focus-visible,
.bbiv-shell a.bbiv-btn:focus-visible,
.bbiv-shell input.bbiv-search-input:focus-visible,
.bbiv-shell input.bbiv-page-input:focus-visible {
    outline: 0 !important;
    border-color: var(--bbiv-accent) !important;
    box-shadow: 0 0 0 3px var(--bbiv-focus) !important;
}

.bbiv-shell button.bbiv-btn:disabled {
    opacity: .34 !important;
    cursor: default !important;
}

.bbiv-shell .bbiv-btn.bbiv-btn-icon {
    width: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
}

.bbiv-icon {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.85 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke !important;
    pointer-events: none !important;
}

.bbiv-shell .bbiv-btn.bbiv-btn-primary {
    gap: 6px !important;
    min-width: 70px !important;
    border-color: var(--bbiv-accent) !important;
    background: var(--bbiv-accent) !important;
    color: #fff !important;
    box-shadow: 0 1px 2px rgba(37,99,235,.18) !important;
}

.bbiv-shell .bbiv-btn.bbiv-btn-primary:hover {
    border-color: var(--bbiv-accent-hover) !important;
    background: var(--bbiv-accent-hover) !important;
    color: #fff !important;
}

.bbiv-shell .bbiv-btn.bbiv-zoom-label {
    min-width: 54px !important;
    padding: 0 7px !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-variant-numeric: tabular-nums !important;
}

.bbiv-shell .bbiv-btn.bbiv-btn-toggle {
    gap: 4px !important;
    min-width: 57px !important;
    padding: 0 7px !important;
}

.bbiv-shell .bbiv-btn.bbiv-btn-toggle.bbiv-is-active {
    border-color: color-mix(in srgb, var(--bbiv-accent) 42%, var(--bbiv-border)) !important;
    background: color-mix(in srgb, var(--bbiv-accent) 10%, var(--bbiv-panel-solid)) !important;
    color: var(--bbiv-accent) !important;
}

.bbiv-btn-label {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.333334 !important;
    white-space: nowrap !important;
}

.bbiv-toolbar {
    position: relative !important;
    z-index: 20 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bbiv-border) !important;
    background: var(--bbiv-panel) !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.035) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    transform: translateZ(0) !important;
}

.bbiv-toolbar::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent 0%, var(--bbiv-accent) 46%, transparent 100%) !important;
    opacity: 0 !important;
    transform: translateX(-58%) scaleX(.32) !important;
    pointer-events: none !important;
}

.bbiv-shell.bbiv-is-rendering .bbiv-toolbar::after {
    opacity: .72 !important;
    animation: bbiv-progress 1.2s cubic-bezier(.4,0,.2,1) infinite !important;
}

.bbiv-toolbar-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.bbiv-toolbar-main {
    min-height: 46px !important;
    gap: 8px !important;
    padding: 7px 9px !important;
}

.bbiv-status-block {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex: 0 1 190px !important;
    min-width: 150px !important;
    margin: 0 !important;
}

.bbiv-verified-dot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 25px !important;
    width: 25px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: var(--bbiv-success) !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bbiv-success) 11%, transparent) !important;
}

.bbiv-verified-dot .bbiv-icon {
    width: 14px !important;
    height: 14px !important;
    stroke-width: 2.3 !important;
}

.bbiv-status-text {
    min-width: 0 !important;
}

.bbiv-status-text strong,
.bbiv-status-text span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    line-height: 1.333334 !important;
}

.bbiv-status-text strong {
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
}

.bbiv-status-text span {
    margin-top: 3px !important;
    overflow: hidden !important;
    color: var(--bbiv-muted) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.bbiv-toolbar-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 5px !important;
}

.bbiv-control-group,
.bbiv-toolbar-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bbiv-toolbar-actions {
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
}

.bbiv-separator {
    display: block !important;
    flex: 0 0 1px !important;
    width: 1px !important;
    height: 18px !important;
    margin: 0 2px !important;
    background: var(--bbiv-border) !important;
}

.bbiv-shell input.bbiv-page-input {
    display: block !important;
    width: 38px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 7px !important;
    background: var(--bbiv-panel-solid) !important;
    color: var(--bbiv-text) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.333334 !important;
    text-align: center !important;
    font-variant-numeric: tabular-nums !important;
    -moz-appearance: textfield !important;
}

.bbiv-shell input.bbiv-page-input::-webkit-outer-spin-button,
.bbiv-shell input.bbiv-page-input::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

.bbiv-page-total {
    display: inline-flex !important;
    align-items: center !important;
    height: 30px !important;
    min-width: 29px !important;
    margin: 0 !important;
    color: var(--bbiv-muted) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    font-variant-numeric: tabular-nums !important;
}

.bbiv-search-form {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.bbiv-search-form-toolbar {
    flex: 0 1 280px !important;
    width: min(280px, 24vw) !important;
    min-width: 180px !important;
    max-width: 300px !important;
}

.bbiv-search-form-lookup {
    width: 100% !important;
    max-width: 510px !important;
}

.bbiv-shell input.bbiv-search-input {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 7px !important;
    background: var(--bbiv-panel-solid) !important;
    color: var(--bbiv-text) !important;
    box-shadow: none !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.333334 !important;
    text-transform: uppercase !important;
    letter-spacing: .018em !important;
}

.bbiv-shell input.bbiv-search-input::placeholder {
    color: var(--bbiv-subtle) !important;
    opacity: 1 !important;
}


.bbiv-stage {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    outline: 0 !important;
    background: var(--bbiv-stage) !important;
    cursor: grab !important;
    touch-action: none !important;
    overscroll-behavior: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    transform: translateZ(0) !important;
    contain: layout paint style !important;
}

.bbiv-stage::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    background: radial-gradient(circle at 50% 34%, color-mix(in srgb, var(--bbiv-text) 4%, transparent), transparent 38%) !important;
    pointer-events: none !important;
}

.bbiv-stage.bbiv-is-panning {
    cursor: grabbing !important;
}

/* Back/front canvases. There is deliberately NO opacity transition here. */
.bbiv-canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
    display: block !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: var(--bbiv-canvas-shadow) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform-origin: 0 0 !important;
    will-change: transform !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    image-rendering: auto !important;
    pointer-events: none !important;
    transition: none !important;
}

.bbiv-canvas.bbiv-canvas-visible {
    z-index: 2 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.bbiv-canvas.bbiv-canvas-front {
    z-index: 3 !important;
}

/* During active zoom, only transform the current front texture. No effects, fades or swaps. */
.bbiv-shell.bbiv-is-zooming .bbiv-canvas-visible {
    transition: none !important;
    filter: none !important;
}

.bbiv-loading,
.bbiv-viewer-error {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    z-index: 8 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: min(300px, calc(100% - 40px)) !important;
    margin: 0 !important;
    padding: 15px 17px !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 11px !important;
    background: var(--bbiv-loader-bg) !important;
    color: var(--bbiv-text) !important;
    box-shadow: 0 12px 36px rgba(0,0,0,.12) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.1) !important;
    backdrop-filter: blur(14px) saturate(1.1) !important;
    text-align: center !important;
    transform: translate3d(-50%, -50%, 0) scale(.99) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s !important;
}

.bbiv-shell.bbiv-is-initializing .bbiv-loading,
.bbiv-shell.bbiv-is-rendering .bbiv-loading {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(-50%, -50%, 0) scale(1) !important;
    transition-delay: 0s !important;
}

/* Never show rendering UI during zoom refinement. */
.bbiv-shell.bbiv-is-zooming .bbiv-loading {
    opacity: 0 !important;
    visibility: hidden !important;
}

.bbiv-shell.bbiv-has-rendered-page.bbiv-is-rendering .bbiv-loading {
    top: auto !important;
    left: auto !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    min-width: 112px !important;
    flex-direction: row !important;
    gap: 7px !important;
    padding: 7px 9px !important;
    border-radius: 999px !important;
    transform: translate3d(0,0,0) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    line-height: 1.333334 !important;
}

.bbiv-shell.bbiv-has-rendered-page.bbiv-is-rendering .bbiv-loading .bbiv-spinner {
    width: 13px !important;
    height: 13px !important;
    border-width: 1.5px !important;
}

.bbiv-viewer-error {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(-50%, -50%, 0) scale(1) !important;
}

.bbiv-viewer-error[hidden] {
    display: none !important;
}

.bbiv-viewer-error span {
    color: var(--bbiv-muted) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    line-height: 1.333334 !important;
}

.bbiv-spinner {
    width: 24px !important;
    height: 24px !important;
    border: 2px solid color-mix(in srgb, var(--bbiv-text) 14%, transparent) !important;
    border-top-color: var(--bbiv-text) !important;
    border-radius: 50% !important;
    animation: bbiv-spin .78s linear infinite !important;
    transform: translateZ(0) !important;
}

.bbiv-loading strong {
    margin: 0 !important;
    color: var(--bbiv-text) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.bbiv-lookup-screen {
    display: grid !important;
    place-items: center !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    overflow: auto !important;
    background: var(--bbiv-stage) !important;
}

.bbiv-lookup-card {
    width: min(560px, 100%) !important;
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 15px !important;
    background: var(--bbiv-panel-solid) !important;
    box-shadow: var(--bbiv-shadow) !important;
}

.bbiv-brand-mark {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background: var(--bbiv-accent) !important;
    color: #fff !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.333334 !important;
}

.bbiv-lookup-title {
    all: unset !important;
    display: block !important;
    margin: 0 0 7px !important;
    color: var(--bbiv-text) !important;
    font: inherit !important;
    font-family: "BB Text" !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.333334 !important;
    letter-spacing: -.025em !important;
}

.bbiv-lookup-copy,
.bbiv-folder-note {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--bbiv-muted) !important;
    font-family: "BB Display" !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.428572 !important;
}

.bbiv-folder-note {
    margin: 12px 0 0 !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    line-height: 1.333334 !important;
}

.bbiv-folder-note code {
    display: inline-block !important;
    margin-left: 4px !important;
    padding: 2px 5px !important;
    border: 1px solid var(--bbiv-border) !important;
    border-radius: 5px !important;
    background: var(--bbiv-panel-2) !important;
    color: var(--bbiv-text) !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.333334 !important;
}

.bbiv-alert {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 0 16px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    line-height: 1.333334 !important;
}

.bbiv-alert-error {
    border: 1px solid color-mix(in srgb, var(--bbiv-danger) 38%, transparent) !important;
    background: var(--bbiv-danger-bg) !important;
    color: var(--bbiv-danger) !important;
}

.bbiv-alert strong {
    color: inherit !important;
    font-family: "BB Display" !important;
    font-size: 12px !important;
    line-height: 1.333334 !important;
}

.bbiv-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* --------------------------------------------------------------------------
   BB typography system
   < 19px: BB Display. 19px and above: BB Text.
   Allowed weights: 400 / 500 / 600 only.
   Type rhythm: 12/16, 14/20, 17/24.
   -------------------------------------------------------------------------- */
.bbiv-shell button.bbiv-btn,
.bbiv-shell a.bbiv-btn,
.bbiv-shell input.bbiv-search-input,
.bbiv-shell input.bbiv-page-input,
.bbiv-status-text strong,
.bbiv-status-text span,
.bbiv-page-total,
.bbiv-loading,
.bbiv-loading strong,
.bbiv-viewer-error,
.bbiv-viewer-error span,
.bbiv-brand-mark,
.bbiv-folder-note,
.bbiv-folder-note code,
.bbiv-alert,
.bbiv-alert strong {
    font-family: "BB Display" !important;
}

.bbiv-shell button.bbiv-btn,
.bbiv-shell a.bbiv-btn,
.bbiv-shell input.bbiv-search-input,
.bbiv-shell input.bbiv-page-input,
.bbiv-status-text strong,
.bbiv-status-text span,
.bbiv-page-total,
.bbiv-loading,
.bbiv-loading strong,
.bbiv-viewer-error,
.bbiv-viewer-error span,
.bbiv-brand-mark,
.bbiv-folder-note,
.bbiv-folder-note code,
.bbiv-alert,
.bbiv-alert strong {
    font-size: 12px !important;
    line-height: 1.333334 !important;
}

.bbiv-lookup-copy {
    font-family: "BB Display" !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.428572 !important;
}

.bbiv-lookup-title {
    font-family: "BB Text" !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.333334 !important;
}

.bbiv-shell button.bbiv-btn,
.bbiv-shell a.bbiv-btn,
.bbiv-shell input.bbiv-search-input,
.bbiv-shell input.bbiv-page-input,
.bbiv-status-text span,
.bbiv-page-total,
.bbiv-folder-note,
.bbiv-folder-note code {
    font-weight: 500 !important;
}

.bbiv-status-text strong,
.bbiv-loading strong,
.bbiv-brand-mark,
.bbiv-alert strong {
    font-weight: 600 !important;
}

.bbiv-alert,
.bbiv-loading,
.bbiv-viewer-error,
.bbiv-viewer-error span {
    font-weight: 400 !important;
}

@keyframes bbiv-spin {
    to { transform: rotate(360deg); }
}

@keyframes bbiv-progress {
    0% { transform: translateX(-65%) scaleX(.25); }
    50% { transform: translateX(8%) scaleX(.58); }
    100% { transform: translateX(72%) scaleX(.25); }
}

@media (max-width: 940px) {
    /* Two compact toolbar lines on mobile/tablet. Nothing is hidden. */
    .bbiv-toolbar-main {
        display: grid !important;
        grid-template-columns: minmax(128px, .82fr) minmax(0, 1.18fr) !important;
        grid-template-areas:
            "status actions"
            "search center" !important;
        align-items: center !important;
        gap: 5px 6px !important;
        min-height: 0 !important;
        padding: 5px 6px !important;
        overflow: visible !important;
    }

    .bbiv-status-block {
        grid-area: status !important;
        flex: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        gap: 6px !important;
    }

    .bbiv-status-text span {
        max-width: 150px !important;
    }

    .bbiv-toolbar-actions {
        grid-area: actions !important;
        display: flex !important;
        min-width: 0 !important;
        max-width: min(100%, 142px) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        justify-content: flex-start !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-inline: contain !important;
    }

    .bbiv-search-form-toolbar {
        grid-area: search !important;
        flex: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .bbiv-toolbar-center {
        grid-area: center !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 0 1px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-inline: contain !important;
        scroll-snap-type: x proximity !important;
    }

    .bbiv-control-group,
    .bbiv-toolbar-actions {
        flex: 0 0 auto !important;
    }

    .bbiv-control-group {
        min-width: max-content !important;
        scroll-snap-align: start !important;
    }

    .bbiv-fit-group,
    .bbiv-fit-separator {
        display: inline-flex !important;
    }

    .bbiv-toolbar-actions::-webkit-scrollbar,
    .bbiv-toolbar-center::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }
}

@media (max-width: 760px) {
    .bbiv-shell {
        min-height: 420px !important;
    }

    .bbiv-verified-dot {
        flex-basis: 23px !important;
        width: 23px !important;
        height: 23px !important;
    }

    .bbiv-status-text span {
        max-width: 128px !important;
        margin-top: 1px !important;
    }

    .bbiv-toolbar-actions {
        max-width: 132px !important;
    }
}

@media (max-width: 520px) {
    .bbiv-search-form-toolbar .bbiv-btn-primary {
        min-width: 56px !important;
        padding: 0 6px !important;
    }

    .bbiv-search-form-toolbar .bbiv-search-input {
        padding-inline: 7px !important;
    }

    .bbiv-shell {
        width: calc(100vw - 48px) !important;
        max-width: calc(100vw - 48px) !important;
        min-height: 380px !important;
    }

    /* Every action remains available; compact rails scroll horizontally where needed. */
    .bbiv-shell button.bbiv-btn,
    .bbiv-shell a.bbiv-btn {
        min-width: 28px !important;
        height: 28px !important;
    }

    .bbiv-shell .bbiv-btn.bbiv-btn-icon {
        width: 28px !important;
        min-width: 28px !important;
    }

    .bbiv-shell input.bbiv-page-input,
    .bbiv-page-total,
    .bbiv-shell input.bbiv-search-input {
        height: 28px !important;
    }

    .bbiv-toolbar-main {
        gap: 4px 5px !important;
        padding: 4px 5px !important;
    }

    .bbiv-toolbar-actions {
        max-width: 126px !important;
        gap: 2px !important;
    }

    .bbiv-toolbar-center {
        gap: 3px !important;
    }

    .bbiv-control-group {
        gap: 2px !important;
    }

    .bbiv-separator {
        margin: 0 1px !important;
        height: 16px !important;
    }


    .bbiv-search-form-lookup {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .bbiv-search-form-lookup .bbiv-btn {
        width: 100% !important;
    }

    .bbiv-lookup-card {
        padding: 22px 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bbiv-shell *,
    .bbiv-shell *::before,
    .bbiv-shell *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}
