/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-4e8plqsddb] {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--bg-base);
}

main[b-4e8plqsddb] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-4e8plqsddb] {
    background: var(--bg-surface);
    border-right: 1px solid var(--border-default);
    transition: transform 300ms ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.top-row[b-4e8plqsddb] {
    background: var(--bg-top-bar);
    border-bottom: 1px solid var(--border-default);
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
}

.sidebar-overlay[b-4e8plqsddb] {
    display: none;
}

/* ── Mobile: < 992px ───────────────────────────────────── */
@media (max-width: 991.98px) {
    .page[b-4e8plqsddb] {
        flex-direction: column;
    }

    .sidebar[b-4e8plqsddb] {
        position: fixed;
        top: 0;
        left: 0;
        width: var(--sidebar-width);
        height: 100vh;
        z-index: 1050;
        transform: translateX(-100%);
    }

    .sidebar.mobile-open[b-4e8plqsddb] {
        transform: translateX(0);
    }

    .sidebar-overlay[b-4e8plqsddb] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1040;
        opacity: 0;
        visibility: hidden;
        transition: opacity 300ms ease, visibility 300ms ease;
    }

    .sidebar-overlay.open[b-4e8plqsddb] {
        opacity: 1;
        visibility: visible;
    }

    .top-row[b-4e8plqsddb] {
        position: sticky;
        top: 0;
        z-index: 1;
        padding: 0 0.75rem;
    }
}

/* ── Desktop: >= 992px ─────────────────────────────────── */
@media (min-width: 992px) {
    .page[b-4e8plqsddb] {
        flex-direction: row;
    }

    .sidebar[b-4e8plqsddb] {
        width: var(--sidebar-width);
        height: 100vh;
        position: sticky;
        top: 0;
        flex-shrink: 0;
    }

    .top-row[b-4e8plqsddb] {
        position: sticky;
        top: 0;
        z-index: 1;
    }
}

#blazor-error-ui[b-4e8plqsddb] {
    background: var(--bg-elevated);
    bottom: 0;
    box-shadow: 0 -1px 8px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    color: var(--status-warning);
    border-top: 1px solid var(--border-default);
}

    #blazor-error-ui .dismiss[b-4e8plqsddb] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar-brand[b-6i82s7l96i] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 1.1rem 1.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border-default);
}

.sidebar-brand .bi[b-6i82s7l96i] {
    color: var(--accent-primary);
    font-size: 1.25rem;
}

.sidebar-nav[b-6i82s7l96i] {
    display: flex;
    flex-direction: column;
    padding: 0.75rem 0.6rem;
    overflow-y: auto;
    flex: 1;
}

.nav-section-label[b-6i82s7l96i] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 600;
    padding: 0.75rem 0.65rem 0.35rem;
}

.sidebar-nav[b-6i82s7l96i]  .nav-link,
.sidebar-footer[b-6i82s7l96i]  .nav-link,
.nav-logout[b-6i82s7l96i] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--text-secondary);
    background: none;
    border: none;
    border-radius: var(--radius-sm);
    padding: 0.5rem 0.65rem;
    font-size: 0.875rem;
    width: 100%;
    text-align: left;
    transition: background-color var(--transition-fast), color var(--transition-fast);
}

.sidebar-nav[b-6i82s7l96i]  .nav-link .bi,
.sidebar-footer[b-6i82s7l96i]  .nav-link .bi {
    width: 1.1rem;
    text-align: center;
    font-size: 1rem;
}

.sidebar-nav[b-6i82s7l96i]  .nav-link:hover,
.sidebar-footer[b-6i82s7l96i]  .nav-link:hover,
.nav-logout:hover[b-6i82s7l96i] {
    background: var(--bg-elevated);
    color: var(--text-primary);
}

.sidebar-nav[b-6i82s7l96i]  .nav-link.active {
    background: var(--accent-primary-muted);
    color: var(--text-accent);
    font-weight: 500;
}

.sidebar-footer[b-6i82s7l96i] {
    padding: 0.6rem;
    border-top: 1px solid var(--border-default);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-khz9wgq6bz],
.components-reconnect-repeated-attempt-visible[b-khz9wgq6bz],
.components-reconnect-failed-visible[b-khz9wgq6bz],
.components-pause-visible[b-khz9wgq6bz],
.components-resume-failed-visible[b-khz9wgq6bz],
.components-rejoining-animation[b-khz9wgq6bz] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-retrying[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-failed[b-khz9wgq6bz],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-khz9wgq6bz] {
    display: block;
}


#components-reconnect-modal[b-khz9wgq6bz] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-khz9wgq6bz 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-khz9wgq6bz 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-khz9wgq6bz 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-khz9wgq6bz]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-khz9wgq6bz 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-khz9wgq6bz {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-khz9wgq6bz {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-khz9wgq6bz {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-khz9wgq6bz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-khz9wgq6bz] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-khz9wgq6bz] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-khz9wgq6bz] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-khz9wgq6bz] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-khz9wgq6bz] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-khz9wgq6bz] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-khz9wgq6bz 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-khz9wgq6bz] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-khz9wgq6bz {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/CoveragePage.razor.rz.scp.css */
.target-input[b-9wz06mft9m] {
    width: 4.5rem;
    display: inline-block;
    text-align: center;
}

.country-row td[b-9wz06mft9m] {
    background: var(--bg-elevated);
    color: var(--text-accent);
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.country-toggle[b-9wz06mft9m] {
    cursor: pointer;
    user-select: none;
}
/* /Components/Pages/HazardsPage.razor.rz.scp.css */
/* Hazard coverage dashboard — the funnel from "nothing known" to "measured". */

.section-heading[b-xbr24w2wr2] {
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    margin-bottom: 0.25rem;
}

/* ── Header tiles ─────────────────────────────────────────── */
.stat-tile[b-xbr24w2wr2] {
    background: var(--bg-surface);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    padding: 1rem 1.1rem;
    height: 100%;
}

.stat-label[b-xbr24w2wr2] {
    color: var(--text-muted);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.stat-value[b-xbr24w2wr2] {
    font-size: 1.75rem;
    font-weight: 650;
    line-height: 1.15;
    margin-top: 0.15rem;
    font-variant-numeric: tabular-nums;
}

.stat-sub[b-xbr24w2wr2] {
    color: var(--text-secondary);
    font-size: 0.8rem;
    margin-top: 0.2rem;
}

.text-warn[b-xbr24w2wr2] { color: var(--status-warning); }
.text-danger-soft[b-xbr24w2wr2] { color: var(--status-danger); }

/* ── Trend chips ──────────────────────────────────────────── */
.trend[b-xbr24w2wr2] {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.05rem 0.35rem;
    border-radius: var(--radius-sm);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.trend.up[b-xbr24w2wr2] { color: var(--status-success); background: rgba(52, 211, 153, 0.12); }
.trend.down[b-xbr24w2wr2] { color: var(--status-danger); background: rgba(248, 113, 113, 0.12); }
.trend.flat[b-xbr24w2wr2] { color: var(--text-muted); background: rgba(148, 163, 184, 0.1); }

/* ── Tier colouring: worst-known to best-known, left to right ── */
.tier-osm[b-xbr24w2wr2] { color: var(--status-neutral); }
.tier-sign[b-xbr24w2wr2] { color: var(--status-info); }
.tier-human[b-xbr24w2wr2] { color: var(--status-warning); }
.tier-measured[b-xbr24w2wr2] { color: var(--status-success); }

th.tier-osm[b-xbr24w2wr2], th.tier-sign[b-xbr24w2wr2], th.tier-human[b-xbr24w2wr2], th.tier-measured[b-xbr24w2wr2] {
    font-weight: 600;
}

/* ── Stacked coverage bar ─────────────────────────────────── */
.funnel-bar[b-xbr24w2wr2],
.rate-bar[b-xbr24w2wr2] {
    display: flex;
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    background: var(--bg-input);
    border: 1px solid var(--border-default);
}

.funnel-bar .seg[b-xbr24w2wr2] { display: block; height: 100%; }
.seg-osm[b-xbr24w2wr2] { background: var(--status-neutral); }
.seg-sign[b-xbr24w2wr2] { background: var(--status-info); }
.seg-human[b-xbr24w2wr2] { background: var(--status-warning); }
.seg-measured[b-xbr24w2wr2] { background: var(--status-success); }

.rate-bar span[b-xbr24w2wr2] {
    display: block;
    height: 100%;
    background: var(--status-danger);
}

/* ── Country rollup rows (matches CoveragePage) ───────────── */
.country-row[b-xbr24w2wr2] {
    background: var(--bg-elevated);
    font-weight: 600;
}

.country-toggle[b-xbr24w2wr2] {
    cursor: pointer;
    user-select: none;
}

.country-toggle:hover[b-xbr24w2wr2] {
    background: var(--bg-input);
}

[b-xbr24w2wr2] table td,
[b-xbr24w2wr2] table th {
    font-variant-numeric: tabular-nums;
}

/* ── Layout guards ────────────────────────────────────────── */
.refresh-meta div[b-xbr24w2wr2] { white-space: nowrap; }

.rollup-cell[b-xbr24w2wr2] { white-space: nowrap; }

/* Territory + code stay on one line in the detail rows too. */
[b-xbr24w2wr2] td.ps-4 { white-space: nowrap; }

/* Bar + percentage on one line so a narrow column can't stack them. */
.bar-col[b-xbr24w2wr2] { width: 15%; min-width: 150px; }

.bar-wrap[b-xbr24w2wr2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.bar-wrap .funnel-bar[b-xbr24w2wr2],
.bar-wrap .rate-bar[b-xbr24w2wr2] {
    flex: 1 1 auto;
    min-width: 40px;
}

.bar-pct[b-xbr24w2wr2] {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 0.78rem;
    min-width: 3.2em;
    text-align: right;
}
/* /Components/Pages/MapPage.razor.rz.scp.css */
.map-shell[b-7vu798q77f] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 3.5rem);
    margin: -1.1rem -1.5rem 0;
}

.map-toolbar[b-7vu798q77f] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    border-bottom: 1px solid var(--border-default);
    background: var(--bg-surface);
}

.toolbar-row[b-7vu798q77f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.filter-row[b-7vu798q77f] {
    border-top: 1px solid var(--border-default);
    padding-top: 0.5rem;
}

.region-filter[b-7vu798q77f] {
    max-width: 9rem;
}

.chip[b-7vu798q77f] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: transparent;
    border: 1px solid var(--border-default);
    color: var(--text-secondary);
    border-radius: 20px;
    padding: 0.2rem 0.65rem;
    font-size: 0.78rem;
    transition: all var(--transition-fast);
}

.chip:hover[b-7vu798q77f] {
    border-color: var(--border-hover);
    color: var(--text-primary);
}

.chip.on[b-7vu798q77f] {
    background: var(--accent-primary-muted);
    border-color: var(--accent-primary);
    color: var(--text-primary);
}

.chip:not(.on) .poi-dot[b-7vu798q77f] {
    opacity: 0.35;
}

.map-body[b-7vu798q77f] {
    flex: 1;
    display: flex;
    min-height: 0;
}

.map-canvas[b-7vu798q77f] {
    flex: 1;
    min-width: 0;
    background: var(--bg-base);
    z-index: 0;
}

.map-panel[b-7vu798q77f] {
    width: 340px;
    flex-shrink: 0;
    border-left: 1px solid var(--border-default);
    background: var(--bg-surface);
    overflow-y: auto;
    padding: 1rem;
}

.map-panel.empty[b-7vu798q77f] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.panel-empty[b-7vu798q77f] {
    text-align: center;
    padding: 1.5rem;
}

.panel-empty .bi[b-7vu798q77f] {
    font-size: 1.75rem;
    display: block;
    margin-bottom: 0.5rem;
    opacity: 0.6;
}

.panel-head[b-7vu798q77f] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--border-default);
}

@media (max-width: 767.98px) {
    .map-panel[b-7vu798q77f] {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 500;
        box-shadow: -4px 0 16px rgba(0, 0, 0, 0.4);
    }
    .map-panel.empty[b-7vu798q77f] {
        display: none;
    }
}
/* /Components/Pages/PoiListPage.razor.rz.scp.css */
.list-map-card[b-64o4q23fu5] {
    overflow: hidden;
}

.list-map-canvas[b-64o4q23fu5] {
    height: calc(100vh - 380px);
    min-height: 420px;
}

.selected-card strong[b-64o4q23fu5] {
    color: var(--text-primary, inherit);
}
/* /Components/Pages/QaGradePage.razor.rz.scp.css */
/* Explorer-large-icons thumbnail grid — ported look from Overpasses/verify_app.py. */

.qa-bar[b-yij3j8oofh] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--bg-base);
    padding: 8px 0;
    font-size: 15px;
}

.qa-grid[b-yij3j8oofh] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.qa-card[b-yij3j8oofh] {
    background: var(--bg-surface);
    border: 2px solid var(--bg-elevated);
    border-radius: 8px;
    padding: 8px;
    width: 360px;
    text-align: center;
}

.qa-card.done[b-yij3j8oofh] {
    opacity: .25;
    pointer-events: none;
}

.pair[b-yij3j8oofh] {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    justify-content: center;
}

.pair img.crop[b-yij3j8oofh] {
    max-width: 120px;
    max-height: 140px;
    border-radius: 4px;
}

.pair img.full[b-yij3j8oofh] {
    max-width: 220px;
    max-height: 140px;
    border-radius: 4px;
    cursor: zoom-in;
}

/* One click selects the whole id for pasting into chat. */
.cid[b-yij3j8oofh] {
    font-size: 13px;
    font-family: monospace;
    color: #9ecbff;
    margin-top: 4px;
    user-select: all;
}

.sv[b-yij3j8oofh] {
    font-size: 12px;
    margin-top: 4px;
}

.btns[b-yij3j8oofh] {
    display: flex;
    gap: 4px;
    margin-top: 6px;
    justify-content: center;
}

.btns button[b-yij3j8oofh] {
    border: 0;
    border-radius: 5px;
    padding: 6px 8px;
    cursor: pointer;
    font-weight: bold;
    font-size: 13px;
}

.v-yes[b-yij3j8oofh] { background: #2e7d32; color: #fff; }
.v-frame[b-yij3j8oofh] { background: #00695c; color: #fff; }
.v-no[b-yij3j8oofh] { background: #c62828; color: #fff; }
.v-hazard[b-yij3j8oofh] { background: #e65100; color: #fff; }
.v-reshoot[b-yij3j8oofh] { background: #f9a825; color: #000; }

.qa-modal[b-yij3j8oofh] {
    display: flex;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .85);
    z-index: 10;
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
}

.qa-modal img[b-yij3j8oofh] {
    max-width: 96vw;
    max-height: 96vh;
    border-radius: 6px;
}

.note-input[b-yij3j8oofh] {
    font-size: 12px;
}

.context[b-yij3j8oofh] {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
}

.sign-text[b-yij3j8oofh] {
    font-size: 12px;
    color: var(--text-accent, #a5b4fc);
    margin-top: 2px;
}

.corr[b-yij3j8oofh] {
    max-width: 110px;
}

.v-flag[b-yij3j8oofh] { background: #4527a0; color: #fff; }
.v-flag.flagged[b-yij3j8oofh] { background: #7e57c2; opacity: .6; }

.kind-select[b-yij3j8oofh] {
    max-width: 150px;
    font-size: 12px;
}

.kind-select.reclassed[b-yij3j8oofh] {
    border-color: #f9a825;
    color: #f9a825;
}

/* single-level undo: last-clicked card darkens with a centered Undo until the next verdict */
.qa-card[b-yij3j8oofh] { position: relative; }

.qa-card.undoable[b-yij3j8oofh] {
    opacity: 1;               /* the overlay does the darkening, not the .done fade */
}

.undo-overlay[b-yij3j8oofh] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: auto;     /* re-enable clicks inside the .done pointer-events:none card */
}

.undo-btn[b-yij3j8oofh] {
    border: 0;
    border-radius: 6px;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    background: var(--bg-elevated, #3a3f46);
    color: #fff;
}

.undo-btn:hover[b-yij3j8oofh] { filter: brightness(1.3); }
/* /Components/Pages/QaOverpassPage.razor.rz.scp.css */
/* Explorer-large-icons thumbnail grid — ported look from Overpasses/verify_app.py. */

.qa-bar[b-3clfa699m3] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--bg-base);
    padding: 8px 0;
    font-size: 15px;
}

.qa-grid[b-3clfa699m3] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.qa-card[b-3clfa699m3] {
    background: var(--bg-surface);
    border: 2px solid var(--bg-elevated);
    border-radius: 8px;
    padding: 8px;
    width: 360px;
    text-align: center;
}

.qa-card.done[b-3clfa699m3] {
    opacity: .25;
    pointer-events: none;
}

.pair[b-3clfa699m3] {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    justify-content: center;
}

.pair img.crop[b-3clfa699m3] {
    max-width: 120px;
    max-height: 140px;
    border-radius: 4px;
}

.pair img.full[b-3clfa699m3] {
    max-width: 220px;
    max-height: 140px;
    border-radius: 4px;
    cursor: zoom-in;
}

/* One click selects the whole id for pasting into chat. */
.cid[b-3clfa699m3] {
    font-size: 13px;
    font-family: monospace;
    color: #9ecbff;
    margin-top: 4px;
    user-select: all;
}

.sv[b-3clfa699m3] {
    font-size: 12px;
    margin-top: 4px;
}

.btns[b-3clfa699m3] {
    display: flex;
    gap: 4px;
    margin-top: 6px;
    justify-content: center;
}

.btns button[b-3clfa699m3] {
    border: 0;
    border-radius: 5px;
    padding: 6px 8px;
    cursor: pointer;
    font-weight: bold;
    font-size: 13px;
}

.v-yes[b-3clfa699m3] { background: #2e7d32; color: #fff; }
.v-frame[b-3clfa699m3] { background: #00695c; color: #fff; }
.v-no[b-3clfa699m3] { background: #c62828; color: #fff; }
.v-hazard[b-3clfa699m3] { background: #e65100; color: #fff; }
.v-reshoot[b-3clfa699m3] { background: #f9a825; color: #000; }

.qa-modal[b-3clfa699m3] {
    display: flex;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .85);
    z-index: 10;
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
}

.qa-modal img[b-3clfa699m3] {
    max-width: 96vw;
    max-height: 96vh;
    border-radius: 6px;
}

.note-input[b-3clfa699m3] {
    font-size: 12px;
}

.context[b-3clfa699m3] {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
}

.sign-text[b-3clfa699m3] {
    font-size: 12px;
    color: var(--text-accent, #a5b4fc);
    margin-top: 2px;
}

.corr[b-3clfa699m3] {
    max-width: 110px;
}

.v-flag[b-3clfa699m3] { background: #4527a0; color: #fff; }
.v-flag.flagged[b-3clfa699m3] { background: #7e57c2; opacity: .6; }

.kind-select[b-3clfa699m3] {
    max-width: 150px;
    font-size: 12px;
}

.kind-select.reclassed[b-3clfa699m3] {
    border-color: #f9a825;
    color: #f9a825;
}

/* single-level undo: last-clicked card darkens with a centered Undo until the next verdict */
.qa-card[b-3clfa699m3] { position: relative; }

.qa-card.undoable[b-3clfa699m3] {
    opacity: 1;               /* the overlay does the darkening, not the .done fade */
}

.undo-overlay[b-3clfa699m3] {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: auto;     /* re-enable clicks inside the .done pointer-events:none card */
}

.undo-btn[b-3clfa699m3] {
    border: 0;
    border-radius: 6px;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    background: var(--bg-elevated, #3a3f46);
    color: #fff;
}

.undo-btn:hover[b-3clfa699m3] { filter: brightness(1.3); }
/* /Components/Pages/QaRailPage.razor.rz.scp.css */
/* Explorer-large-icons thumbnail grid — ported look from Overpasses/verify_app.py. */

.qa-bar[b-7johfpl13n] {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--bg-base);
    padding: 8px 0;
    font-size: 15px;
}

.qa-grid[b-7johfpl13n] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.qa-card[b-7johfpl13n] {
    background: var(--bg-surface);
    border: 2px solid var(--bg-elevated);
    border-radius: 8px;
    padding: 8px;
    width: 360px;
    text-align: center;
}

.qa-card.done[b-7johfpl13n] {
    opacity: .25;
    pointer-events: none;
}

.pair[b-7johfpl13n] {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    justify-content: center;
}

.pair img.crop[b-7johfpl13n] {
    max-width: 120px;
    max-height: 140px;
    border-radius: 4px;
}

.pair img.full[b-7johfpl13n] {
    max-width: 220px;
    max-height: 140px;
    border-radius: 4px;
    cursor: zoom-in;
}

/* One click selects the whole id for pasting into chat. */
.cid[b-7johfpl13n] {
    font-size: 13px;
    font-family: monospace;
    color: #9ecbff;
    margin-top: 4px;
    user-select: all;
}

.sv[b-7johfpl13n] {
    font-size: 12px;
    margin-top: 4px;
}

.btns[b-7johfpl13n] {
    display: flex;
    gap: 4px;
    margin-top: 6px;
    justify-content: center;
}

.btns button[b-7johfpl13n] {
    border: 0;
    border-radius: 5px;
    padding: 6px 8px;
    cursor: pointer;
    font-weight: bold;
    font-size: 13px;
}

.v-yes[b-7johfpl13n] { background: #2e7d32; color: #fff; }
.v-frame[b-7johfpl13n] { background: #00695c; color: #fff; }
.v-no[b-7johfpl13n] { background: #c62828; color: #fff; }
.v-hazard[b-7johfpl13n] { background: #e65100; color: #fff; }
.v-reshoot[b-7johfpl13n] { background: #f9a825; color: #000; }

.qa-modal[b-7johfpl13n] {
    display: flex;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .85);
    z-index: 10;
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
}

.qa-modal img[b-7johfpl13n] {
    max-width: 96vw;
    max-height: 96vh;
    border-radius: 6px;
}

.note-input[b-7johfpl13n] {
    font-size: 12px;
}

.v-flag[b-7johfpl13n] { background: #4527a0; color: #fff; }
.v-flag.flagged[b-7johfpl13n] { background: #7e57c2; opacity: .6; }
/* /Components/Pages/QaWeightPage.razor.rz.scp.css */
/* ── the workbench: one bridge per screen ─────────────────────────────────── */

.wb-bar[b-e0420bitw8] {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
    position: sticky;
    top: 0;
    z-index: 20;
    padding: .35rem .5rem;
    background: var(--bs-body-bg, #14151d);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.wb-mode[b-e0420bitw8] { max-width: 10.5rem; }
.wb-bar .form-select[b-e0420bitw8] { width: auto; }
.wb-spacer[b-e0420bitw8] { flex: 1; }
.wb-lookup[b-e0420bitw8] { width: 10rem; }
.wb-pos[b-e0420bitw8] { font-variant-numeric: tabular-nums; white-space: nowrap; }
.wb-session[b-e0420bitw8] { white-space: nowrap; }

.wb-ten[b-e0420bitw8] {
    cursor: pointer;
    user-select: none;
    padding: .15rem .45rem;
    border: 1px solid rgba(255, 193, 7, .5);
    border-radius: 1rem;
    font-size: .8rem;
}

.wb-ten.on[b-e0420bitw8] { background: rgba(255, 193, 7, .25); }

.wb-cal[b-e0420bitw8] { max-width: 40rem; }

/* ── three-pane main ──────────────────────────────────────────────────────── */

.wb-main[b-e0420bitw8] {
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr) 19rem;
    gap: .6rem;
    margin-top: .5rem;
    /* leave room for the fixed verdict bar */
    padding-bottom: 3.4rem;
}

/* All three panes scroll INTERNALLY and stop above the fixed verdict bar — the page body
   never scrolls, and the last item in each pane can always be scrolled fully into view
   (bw2952 usability report: the strip's last thumbnail was cut off with nowhere to scroll). */
.wb-strip[b-e0420bitw8],
.wb-center[b-e0420bitw8],
.wb-context[b-e0420bitw8] {
    overflow-y: auto;
    max-height: calc(100vh - 11rem);
    padding-bottom: 1rem;
}

/* left: imagery strip */
.wb-strip[b-e0420bitw8] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.wb-thumb[b-e0420bitw8] {
    border: 2px solid transparent;
    border-radius: .35rem;
    cursor: pointer;
    background: rgba(255, 255, 255, .04);
    padding: 2px;
}

.wb-thumb.active[b-e0420bitw8] { border-color: var(--bs-info, #4dd4ff); }
.wb-thumb.winner[b-e0420bitw8] { box-shadow: 0 0 0 1px rgba(255, 215, 64, .6); }
.wb-thumb img[b-e0420bitw8] { width: 100%; border-radius: .25rem; display: block; }

.wb-thumb-meta[b-e0420bitw8],
.wb-thumb-votes[b-e0420bitw8] {
    display: flex;
    gap: .35rem;
    font-size: .68rem;
    line-height: 1.2;
    padding: 1px 2px;
    color: rgba(255, 255, 255, .75);
}

.wb-thumb-meta .w[b-e0420bitw8] { color: gold; }
.wb-thumb-meta .b[b-e0420bitw8] { color: #ff9c6b; }
.wb-thumb-votes .y[b-e0420bitw8] { color: #6bdc8f; font-weight: 700; }
.wb-thumb-votes .n[b-e0420bitw8] { color: #ff7d7d; text-decoration: line-through; }
.wb-parsed[b-e0420bitw8] { margin-left: auto; color: #9ecbff; }

/* center */
.wb-center[b-e0420bitw8] { min-width: 0; }

/* class legend (silhouette → vehicle_class mapping) */
.wb-legend[b-e0420bitw8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: .4rem .8rem;
    margin: .4rem 0;
    padding: .5rem;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: .4rem;
    font-size: .78rem;
}

.wb-legend .lg-item[b-e0420bitw8] { display: flex; align-items: center; gap: .55rem; }
.wb-legend svg[b-e0420bitw8] { flex: 0 0 64px; height: 30px; }
.wb-legend .sil[b-e0420bitw8] { fill: none; stroke: currentColor; stroke-width: 2; }
.wb-legend .sil-fill[b-e0420bitw8] { fill: currentColor; stroke: none; }
.wb-legend .lg-note[b-e0420bitw8] { grid-column: 1 / -1; opacity: .75; }

.wb-kind-tabs[b-e0420bitw8] {
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-bottom: .3rem;
}

.wb-kind-tabs button[b-e0420bitw8] {
    border: 1px solid rgba(255, 255, 255, .25);
    background: transparent;
    color: inherit;
    border-radius: .3rem;
    padding: .1rem .6rem;
    font-size: .8rem;
}

.wb-kind-tabs button.on[b-e0420bitw8] { background: rgba(77, 212, 255, .25); border-color: #4dd4ff; }
.wb-kind-tabs button:disabled[b-e0420bitw8] { opacity: .35; }
.wb-kind-tabs .gsv[b-e0420bitw8] { margin-left: .6rem; font-size: .8rem; }

.wb-kind-tabs .cid[b-e0420bitw8] {
    margin-left: auto;
    font-family: var(--bs-font-monospace, monospace);
    user-select: all;
    background: rgba(255, 255, 255, .08);
    padding: 0 .4rem;
    border-radius: .25rem;
}

.wb-hero[b-e0420bitw8] {
    max-width: 100%;
    max-height: 46vh;
    border-radius: .4rem;
    cursor: zoom-in;
    display: block;
}

.wb-warnings[b-e0420bitw8] { display: flex; flex-wrap: wrap; gap: .3rem; margin: .4rem 0; }

.wb-warn[b-e0420bitw8] {
    background: rgba(255, 152, 0, .18);
    border: 1px solid rgba(255, 152, 0, .55);
    border-radius: .3rem;
    padding: .05rem .45rem;
    font-size: .78rem;
}

/* the evidence table (editable vector) */
.wb-vector[b-e0420bitw8] { border-collapse: collapse; }
.wb-vector th[b-e0420bitw8] { font-size: .72rem; font-weight: 600; opacity: .7; padding: 0 .25rem; }
.wb-vector td[b-e0420bitw8] { padding: .1rem .25rem; }
.wb-vector select[b-e0420bitw8] { min-width: 9.5rem; }
.wb-vector input[type="number"][b-e0420bitw8] { width: 5.2rem; }
.wb-vector input.ax[b-e0420bitw8] { width: 3.6rem; }

.wb-transcripts[b-e0420bitw8] { margin-top: .5rem; }

.wb-transcript-grid[b-e0420bitw8] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: .4rem;
    margin-top: .3rem;
}

.wb-transcript-grid .tname[b-e0420bitw8] { font-size: .7rem; font-weight: 700; opacity: .7; }

.wb-transcript-grid pre[b-e0420bitw8] {
    white-space: pre-wrap;
    font-size: .72rem;
    background: rgba(255, 255, 255, .05);
    border-radius: .3rem;
    padding: .3rem .4rem;
    max-height: 9rem;
    overflow-y: auto;
    margin: 0;
}

/* right: context */
.wb-context[b-e0420bitw8] {
    font-size: .84rem;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    overflow-y: auto;
    max-height: calc(100vh - 9rem);
}

.wb-ctx-head[b-e0420bitw8] { display: flex; gap: .3rem; flex-wrap: wrap; }
.wb-ctx-line[b-e0420bitw8] { line-height: 1.3; }

.wb-map[b-e0420bitw8] {
    width: 100%;
    background: rgba(255, 255, 255, .04);
    border-radius: .4rem;
    border: 1px solid rgba(255, 255, 255, .1);
}

.wb-map .m-bridge[b-e0420bitw8] { fill: #b39ddb; }
.wb-map .m-pano[b-e0420bitw8] { fill: #6bb2ff; opacity: .75; }
.wb-map .m-winner[b-e0420bitw8] { fill: gold; }
.wb-map .m-sign[b-e0420bitw8] { fill: #ff6b8a; }
.wb-map-legend[b-e0420bitw8] { font-size: .7rem; }
.wb-map-legend .lg-bridge[b-e0420bitw8] { color: #b39ddb; }
.wb-map-legend .lg-pano[b-e0420bitw8] { color: #6bb2ff; }
.wb-map-legend .lg-winner[b-e0420bitw8] { color: gold; }
.wb-map-legend .lg-sign[b-e0420bitw8] { color: #ff6b8a; }

/* ── verdict bar ──────────────────────────────────────────────────────────── */

.wb-verdicts[b-e0420bitw8] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem .7rem;
    background: var(--bs-body-bg, #14151d);
    border-top: 1px solid rgba(255, 255, 255, .15);
}

.wb-verdicts button[b-e0420bitw8] {
    border: none;
    border-radius: .35rem;
    padding: .35rem .7rem;
    font-size: .88rem;
    color: #fff;
}

.wb-verdicts kbd[b-e0420bitw8] {
    background: rgba(0, 0, 0, .35);
    border-radius: .2rem;
    padding: 0 .25rem;
    font-size: .7rem;
    margin-left: .25rem;
}

.wb-verdicts .v-yes[b-e0420bitw8] { background: #2e7d46; }
.wb-verdicts .v-yes:disabled[b-e0420bitw8] { background: #2e7d4655; }
.wb-verdicts .v-no[b-e0420bitw8] { background: #8d3535; }
.wb-verdicts .v-reshoot[b-e0420bitw8] { background: #7a6417; }
.wb-verdicts .v-not[b-e0420bitw8] { background: #6b3fa0; }
.wb-verdicts .v-flag[b-e0420bitw8] { background: #444; }
.wb-verdicts .v-flag.flagged[b-e0420bitw8] { background: #b26a00; }

.wb-notweight[b-e0420bitw8] { display: flex; align-items: center; gap: .25rem; }
.wb-notweight .form-select[b-e0420bitw8] { width: auto; }
.wb-note[b-e0420bitw8] { flex: 1; max-width: 26rem; }

/* fullscreen modal (parity with the other QA pages: click anywhere / Esc closes) */
.qa-modal[b-e0420bitw8] {
    position: fixed;
    inset: 0;
    z-index: 100;
    background: rgba(0, 0, 0, .88);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
}

.qa-modal img[b-e0420bitw8] { max-width: 96vw; max-height: 96vh; }
