/* /Components/Layout/MainLayout.razor.rz.scp.css */
[data-app-header][b-7rm1bcbrqo] {
    background-color: var(--map-navy, #0C2340);
    padding: 0.75rem 1.25rem;
}

    [data-app-header] a[b-7rm1bcbrqo] {
        align-items: center;
        color: #FFFFFF;
        display: inline-flex;
        gap: 0.6rem;
        text-decoration: none;
    }

        [data-app-header] a span[b-7rm1bcbrqo] {
            font-size: 1.1rem;
            font-weight: 600;
        }

    [data-app-header] img[b-7rm1bcbrqo] {
        display: block;
        height: 36px;
        width: 36px;
    }

/* Persistent primary navigation bar (authenticated + workspace only). */
[data-app-nav][b-7rm1bcbrqo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4, 16px);
    background: #FFFFFF;
    border-bottom: 1px solid var(--map-border-subtle, #E2E5EA);
    padding: 0 var(--space-6, 32px);
    overflow-x: auto;
    white-space: nowrap;
}

    [data-app-nav] [data-nav-primary][b-7rm1bcbrqo],
    [data-app-nav] [data-nav-secondary][b-7rm1bcbrqo] {
        display: flex;
        align-items: center;
        gap: var(--space-1, 4px);
    }

    [data-app-nav] a[b-7rm1bcbrqo] {
        color: var(--map-navy, #0C2340);
        text-decoration: none;
        font-weight: 600;
        padding: 14px 12px;
        border-bottom: 3px solid transparent;
        display: inline-block;
    }

        [data-app-nav] a:hover[b-7rm1bcbrqo] {
            color: var(--map-azure, #006CB6);
            text-decoration: none;
        }

        [data-app-nav] a.active[b-7rm1bcbrqo] {
            color: var(--map-azure, #006CB6);
            border-bottom-color: var(--map-azure, #006CB6);
        }

    /* UAT F16: small, unobtrusive current-workspace-name indicator. */
    [data-app-nav] [data-current-workspace][b-7rm1bcbrqo] {
        color: var(--map-text-muted, #5B6472);
        font-size: 0.85rem;
        font-weight: 500;
        padding: 0 12px;
        white-space: nowrap;
    }

    [data-app-nav] [data-nav-signout][b-7rm1bcbrqo] {
        margin: 0;
        display: inline-flex;
    }

        [data-app-nav] [data-nav-signout] button[b-7rm1bcbrqo] {
            background: none;
            border: none;
            color: var(--map-navy, #0C2340);
            font-weight: 600;
            font-size: inherit;
            cursor: pointer;
            min-height: auto;
            padding: 14px 12px;
        }

            [data-app-nav] [data-nav-signout] button:hover[b-7rm1bcbrqo] {
                color: var(--map-azure, #006CB6);
            }

/* Centred, width-constrained page canvas that wraps every page's @Body. */
.page-container[b-7rm1bcbrqo] {
    max-width: 1200px;
    margin-inline: auto;
    padding: var(--space-5, 24px) var(--space-6, 32px);
}

/* Live after-pass fix: each reminder banner is a flex ROW - the message on the
   left, a compact inline dismiss control at the right - never an oversized
   block sitting below the text. */
[data-reminder-banner][b-7rm1bcbrqo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3, 12px);
    margin-bottom: var(--space-3, 12px);
}

    [data-reminder-banner] form[b-7rm1bcbrqo] {
        margin: 0;
        flex-shrink: 0;
    }

.alert-dismiss[b-7rm1bcbrqo] {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    min-height: auto;
    padding: 0 4px;
}

    .alert-dismiss:hover[b-7rm1bcbrqo] {
        opacity: 0.7;
    }

@media (max-width: 768px) {
    [data-app-nav][b-7rm1bcbrqo] {
        padding: 0 var(--space-4, 16px);
    }

    .page-container[b-7rm1bcbrqo] {
        padding: var(--space-4, 16px);
    }
}

#blazor-error-ui[b-7rm1bcbrqo] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-7rm1bcbrqo] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/Admin/AssetTypesAdmin.razor.rz.scp.css */
/* F16 UAT finding: the "Custom field schema (JSON)" label sat oddly beside its
   6-row textarea instead of stacking above it, because a label's inline text node
   and an inline-level textarea share the same line box by default (the app-wide
   `label { display: block; }` rule only makes the LABEL itself a block - it does not
   make a tall inline-level child drop to its own line). Mirrors the existing
   [data-item-notes] textarea fix in Walkaround.razor.css. */

[data-custom-field-schema] textarea[b-qc3nw95jk7] {
    display: block;
    width: 100%;
}
/* /Components/Pages/Admin/WorkspaceAdmin.razor.rz.scp.css */
.admin-tile-grid[b-ebzfmsbj0u] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-4, 16px);
    margin-top: var(--space-4, 16px);
}

.admin-tile[b-ebzfmsbj0u] {
    display: block;
    color: inherit;
}

    .admin-tile:hover[b-ebzfmsbj0u] {
        text-decoration: none;
        border-color: var(--map-azure, #006CB6);
    }

    .admin-tile h2[b-ebzfmsbj0u] {
        margin-top: 0;
        margin-bottom: var(--space-2, 8px);
    }

    .admin-tile p[b-ebzfmsbj0u] {
        margin: 0;
        color: var(--map-navy, #0C2340);
        font-size: var(--font-size-body, 15px);
    }

[data-admin-area="system-link"][b-ebzfmsbj0u] {
    margin-top: var(--space-4, 16px);
}
/* /Components/Pages/AssetDetail.razor.rz.scp.css */
[data-edit-form] .card form label[b-2drc44g47o],
[data-documents-tab] .card form label[b-2drc44g47o] {
    margin-bottom: var(--space-4, 16px);
}
/* /Components/Pages/AssetNew.razor.rz.scp.css */
.asset-new-card[b-96q5ry67q2] {
    max-width: 640px;
    margin-inline: auto;
}

    .asset-new-card form label[b-96q5ry67q2] {
        margin-bottom: var(--space-4, 16px);
    }

    .asset-new-card [data-draft-restore-offer][b-96q5ry67q2] {
        margin-bottom: var(--space-4, 16px);
    }

.asset-new-actions[b-96q5ry67q2] {
    display: flex;
    align-items: center;
    gap: var(--space-3, 12px);
}
/* /Components/Pages/Assets.razor.rz.scp.css */
/* Filter/search toolbar row (card): the three filter controls plus Search sit
   on one line on wide viewports, wrapping on narrower ones. */
.toolbar[b-8ynl1i1mev] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-4, 16px);
    margin-bottom: var(--space-4, 16px);
}

    .toolbar label[b-8ynl1i1mev] {
        margin: 0;
    }

.btn-sm[b-8ynl1i1mev] {
    min-height: 32px;
    padding: 0.3rem 0.85rem;
    font-size: 13px;
}

/* Re-declared (not overridden globally): app.css's button[type=submit] selector
   is more specific than a bare .btn-secondary class, so a submit button opting
   into the secondary look on THIS page needs its own scoped rule to win the
   cascade (the Blazor CSS-isolation scope attribute added to both the element
   and this selector supplies the extra specificity). */
.btn-secondary[b-8ynl1i1mev] {
    background-color: #FFFFFF;
    border-color: var(--map-border, #D2D6DC);
    color: var(--map-navy, #0C2340);
}

    .btn-secondary:hover[b-8ynl1i1mev] {
        background-color: #F0F3F7;
    }

/* Mobile: drop the two lowest-value columns (Next Action, Last Updated) so the
   grid's higher-value columns (Reference/Type/Identity/Compliance/Open) stay
   readable without relying solely on horizontal scroll. */
@media (max-width: 768px) {
    [data-assets-grid] th:nth-child(5)[b-8ynl1i1mev],
    [data-assets-grid] td:nth-child(5)[b-8ynl1i1mev],
    [data-assets-grid] th:nth-child(6)[b-8ynl1i1mev],
    [data-assets-grid] td:nth-child(6)[b-8ynl1i1mev] {
        display: none;
    }
}
/* /Components/Pages/Billing.razor.rz.scp.css */
/* Live after-pass polish fix: the current-subscription definition list (dt/dd
   pairs) was left to the browser's default stacked indentation. A 2-column
   grid aligns every term against its value. Consumes app.css tokens only. */
dl[b-asdenpxfgj] {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: var(--space-4, 16px);
    row-gap: var(--space-2, 8px);
    margin: 0;
}

    dl dt[b-asdenpxfgj] {
        font-weight: 600;
        margin: 0;
    }

    dl dd[b-asdenpxfgj] {
        margin: 0;
    }
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* UI wave-2: Dashboard front-door restyle. Consumes app.css tokens/utilities
   only (.card, .btn-secondary, .table-scroll, --space-*, --map-*); no global
   rule is edited here. */

/* ---- Signed-in byline / quick-links toolbar ------------------------------ */
/* Live after-pass fix: a single muted, RIGHT-ALIGNED small-text line - Switch
   workspace stays a real link, just no longer left-aligned/run-together with
   the rest of the page. */
.dashboard-byline[b-e6p6vmzfcb] {
    color: var(--map-navy);
    opacity: 0.65;
    font-size: 13px;
    text-align: right;
    margin-bottom: var(--space-2);
}

/* Live after-pass fix: the global nav (MainLayout, data-app-nav) now covers
   every destination this row used to carry except Handover pack and Out of
   office - a small secondary-button toolbar, not a run-together text row. */
.dashboard-quicklinks[b-e6p6vmzfcb] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}

.btn-sm[b-e6p6vmzfcb] {
    min-height: 32px;
    padding: 0.3rem 0.85rem;
    font-size: 13px;
}

/* ---- KPI cards ------------------------------------------------------------ */
.kpi-grid[b-e6p6vmzfcb] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

@media (min-width: 640px) {
    .kpi-grid[b-e6p6vmzfcb] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .kpi-grid[b-e6p6vmzfcb] {
        grid-template-columns: repeat(4, 1fr);
    }
}

.kpi-card[b-e6p6vmzfcb] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.kpi-label[b-e6p6vmzfcb] {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--map-azure);
    margin: 0;
}

.kpi-value[b-e6p6vmzfcb] {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--map-navy);
    margin: 0;
}

.kpi-subdetail[b-e6p6vmzfcb] {
    font-size: 13px;
    color: var(--map-navy);
    opacity: 0.7;
    margin: 0;
}

.kpi-breakdown[b-e6p6vmzfcb] {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: var(--map-navy);
    opacity: 0.7;
}

.kpi-progress[b-e6p6vmzfcb] {
    background: var(--map-light);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    width: 100%;
}

.kpi-progress-fill[b-e6p6vmzfcb] {
    height: 100%;
    border-radius: 999px;
}

.kpi-progress-fill.kpi-progress-red[b-e6p6vmzfcb] {
    background: var(--map-red);
}

.kpi-progress-fill.kpi-progress-amber[b-e6p6vmzfcb] {
    background: var(--map-amber);
}

.kpi-progress-fill.kpi-progress-green[b-e6p6vmzfcb] {
    background: var(--map-green);
}

/* ---- AI disclosure (EU AI Act Article 50) ---------------------------------- */
.ai-disclosure[b-e6p6vmzfcb] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 13px;
    color: var(--map-navy);
    opacity: 0.75;
    margin: 0 0 var(--space-3);
}

/* ---- Panels ---------------------------------------------------------------- */
.panel[b-e6p6vmzfcb] {
    margin-bottom: var(--space-5);
}

.panel-header[b-e6p6vmzfcb] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
}

    .panel-header h2[b-e6p6vmzfcb] {
        margin: 0;
    }

.panel-collapse-toggle[b-e6p6vmzfcb] {
    min-height: 32px;
    padding: 4px 12px;
    font-size: 13px;
    flex-shrink: 0;
}

/* ---- Upcoming actions ------------------------------------------------------- */
.upcoming-actions-list[b-e6p6vmzfcb] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.upcoming-action-row[b-e6p6vmzfcb] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-3);
    padding-bottom: var(--space-3);
    border-bottom: 1px solid var(--map-border-subtle);
}

    .upcoming-action-row:last-child[b-e6p6vmzfcb] {
        border-bottom: none;
        padding-bottom: 0;
    }

    .upcoming-action-row .action-button[b-e6p6vmzfcb] {
        margin-left: auto;
        min-height: 32px;
        padding: 4px 12px;
        font-size: 13px;
    }
/* /Components/Pages/DocumentReview.razor.rz.scp.css */
/* Stacked field rows inside the review .card. field-row-amber/field-row-red
   give a low-confidence field (below LowConfidenceThreshold, see @code) a
   left-border highlight so the eye lands on it without reading the badge. */
.field-row[b-5x0dqyfhgj] {
    padding: var(--space-2, 8px) var(--space-3, 12px);
    margin-bottom: var(--space-3, 12px);
    border-left: 4px solid transparent;
    border-radius: var(--radius-input, 6px);
}

.field-row-amber[b-5x0dqyfhgj] {
    border-left-color: var(--map-amber, #E8A317);
    background: rgba(232, 163, 23, 0.06);
}

.field-row-red[b-5x0dqyfhgj] {
    border-left-color: var(--map-red, #C0392B);
    background: rgba(192, 57, 43, 0.06);
}

.confidence-badge[b-5x0dqyfhgj] {
    display: inline-block;
    margin-left: var(--space-2, 8px);
}
/* /Components/Pages/Documents.razor.rz.scp.css */
/* Search/filter controls plus the "Clear filters" link, arranged as a single
   wrapping row (was a bare <form> followed by a bare <p><a>). */
.toolbar[b-kj94cvcsnt] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-4, 16px);
    margin-block: var(--space-4, 16px);
}

.toolbar form[b-kj94cvcsnt] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: var(--space-3, 12px);
}

/* Per-row actions (Review / Share (24h) / Revoke shares): a horizontal,
   wrapping button group instead of stacked/cramped default form layout. */
.action-group[b-kj94cvcsnt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2, 8px);
}

.action-group form[b-kj94cvcsnt] {
    margin: 0;
}

.action-group .btn-secondary[b-kj94cvcsnt],
.action-group .btn-danger[b-kj94cvcsnt] {
    min-height: 32px;
    padding: 4px 10px;
    font-size: 13px;
    white-space: nowrap;
}

/* Lowest-value columns for a quick mobile glance: Issue Date, Issuer, Version.
   The table already scrolls horizontally (.table-scroll) so nothing is lost -
   this just declutters the narrow view. */
@media (max-width: 767px) {
    .col-issue-date[b-kj94cvcsnt],
    .col-issuer[b-kj94cvcsnt],
    .col-version[b-kj94cvcsnt] {
        display: none;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* Centred auth card (login, change-password, two-factor pages share this pattern -
   duplicated per page-scoped stylesheet since shared components/app.css are out of
   scope for this wave). */
.auth-page[b-ph6ffk1rix] {
    display: flex;
    justify-content: center;
    padding-top: var(--space-6, 32px);
}

.auth-card[b-ph6ffk1rix] {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: var(--space-5, 24px);
    text-align: center;
}

.auth-logo[b-ph6ffk1rix] {
    display: block;
    margin: 0 auto;
    width: 180px;
    height: auto;
}

.auth-card h1[b-ph6ffk1rix] {
    margin: 0;
}

.auth-form[b-ph6ffk1rix] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 16px);
    text-align: left;
}

    .auth-form label[b-ph6ffk1rix] {
        display: block;
    }

    .auth-form input[b-ph6ffk1rix] {
        width: 100%;
    }

    .auth-form button[type=submit][b-ph6ffk1rix] {
        width: 100%;
        margin-top: var(--space-2, 8px);
    }

.auth-external[b-ph6ffk1rix] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2, 8px);
}

    .auth-external p[b-ph6ffk1rix] {
        margin: 0;
    }
/* /Components/Pages/Profile/ChangePassword.razor.rz.scp.css */
/* Centred auth card (login, change-password, two-factor pages share this pattern -
   duplicated per page-scoped stylesheet since shared components/app.css are out of
   scope for this wave). */
.auth-page[b-nmnhmdklmk] {
    display: flex;
    justify-content: center;
    padding-top: var(--space-6, 32px);
}

.auth-card[b-nmnhmdklmk] {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: var(--space-5, 24px);
    text-align: center;
}

.auth-card h1[b-nmnhmdklmk] {
    margin: 0;
}

.auth-form[b-nmnhmdklmk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 16px);
    text-align: left;
}

    .auth-form label[b-nmnhmdklmk] {
        display: block;
    }

    .auth-form input[b-nmnhmdklmk] {
        width: 100%;
    }

    .auth-form button[type=submit][b-nmnhmdklmk] {
        width: 100%;
        margin-top: var(--space-2, 8px);
    }

.auth-field[b-nmnhmdklmk] {
    display: flex;
    flex-direction: column;
    gap: var(--space-1, 4px);
}

.auth-hint[b-nmnhmdklmk] {
    margin: 0;
    color: #5A6472;
    font-size: 13px;
}
/* /Components/Pages/ReleaseNotes.razor.rz.scp.css */
[data-release-notes][b-przkbojtrj] {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 16px);
}

    [data-release-notes] h2[b-przkbojtrj] {
        margin-top: 0;
    }
/* /Components/Pages/SageDrillDown.razor.rz.scp.css */
/* ---- AI disclosure (EU AI Act Article 50) ---------------------------------- */
.ai-disclosure[b-ugu4qmjfec] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 13px;
    color: var(--map-navy);
    opacity: 0.75;
    margin: 0 0 var(--space-3);
}
/* /Components/Pages/SelectWorkspace.razor.rz.scp.css */
.select-workspace[b-ofzgthwvef] {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
}

.workspace-grid[b-ofzgthwvef] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-4, 16px);
    margin-top: var(--space-5, 24px);
    text-align: left;
}

.workspace-tile form[b-ofzgthwvef] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3, 12px);
    align-items: flex-start;
    margin: 0;
}

.workspace-tile .workspace-name[b-ofzgthwvef] {
    font-size: var(--font-size-h3, 16px);
    font-weight: 600;
    color: var(--map-navy, #0C2340);
}

    .workspace-tile .workspace-name em[b-ofzgthwvef] {
        font-style: normal;
        font-weight: 400;
        color: var(--map-azure, #006CB6);
        font-size: var(--font-size-body, 15px);
    }

.workspace-tile button[b-ofzgthwvef] {
    width: 100%;
}
/* /Components/Pages/SponsorshipUpsellObservations.razor.rz.scp.css */
/* ---- AI disclosure (EU AI Act Article 50) ---------------------------------- */
.ai-disclosure[b-eig6ibr0ef] {
    display: flex;
    align-items: center;
    gap: var(--space-2, 8px);
    font-size: 13px;
    color: var(--map-navy, #0C2340);
    opacity: 0.75;
    margin: 0 0 var(--space-3, 12px);
}

[data-upsell-observations][b-eig6ibr0ef] {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3, 12px);
}

    [data-upsell-observations] li span[b-eig6ibr0ef] {
        display: block;
    }
/* /Components/Pages/TwoFactorChallenge.razor.rz.scp.css */
/* Centred auth card (login, change-password, two-factor pages share this pattern -
   duplicated per page-scoped stylesheet since shared components/app.css are out of
   scope for this wave). */
.auth-page[b-pktuf1pnaf] {
    display: flex;
    justify-content: center;
    padding-top: var(--space-6, 32px);
}

.auth-card[b-pktuf1pnaf] {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: var(--space-5, 24px);
    text-align: center;
}

.auth-card h1[b-pktuf1pnaf], .auth-card h2[b-pktuf1pnaf] {
    margin: 0;
}

.auth-form[b-pktuf1pnaf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 16px);
    text-align: left;
}

    .auth-form label[b-pktuf1pnaf] {
        display: block;
    }

    .auth-form input[b-pktuf1pnaf] {
        width: 100%;
    }

    .auth-form button[type=submit][b-pktuf1pnaf] {
        width: 100%;
        margin-top: var(--space-2, 8px);
    }
/* /Components/Pages/TwoFactorEnrol.razor.rz.scp.css */
/* Centred auth card (login, change-password, two-factor pages share this pattern -
   duplicated per page-scoped stylesheet since shared components/app.css are out of
   scope for this wave). */
.auth-page[b-on9yw7nkig] {
    display: flex;
    justify-content: center;
    padding-top: var(--space-6, 32px);
}

.auth-card[b-on9yw7nkig] {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: var(--space-5, 24px);
    text-align: center;
}

.auth-card h1[b-on9yw7nkig] {
    margin: 0;
}

.auth-intro[b-on9yw7nkig] {
    text-align: left;
    margin: 0;
}

.auth-qr[b-on9yw7nkig] {
    display: flex;
    justify-content: center;
}

    .auth-qr svg[b-on9yw7nkig] {
        width: 180px;
        height: 180px;
    }

.auth-manual-entry[b-on9yw7nkig] {
    text-align: left;
    word-break: break-all;
    margin: 0;
}

.auth-form[b-on9yw7nkig] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4, 16px);
    text-align: left;
}

    .auth-form label[b-on9yw7nkig] {
        display: block;
    }

    .auth-form input[b-on9yw7nkig] {
        width: 100%;
    }

    .auth-form button[type=submit][b-on9yw7nkig] {
        width: 100%;
        margin-top: var(--space-2, 8px);
    }
/* /Components/Pages/Walkaround.razor.rz.scp.css */
/* Field-ops touch targets (used on phones/tablets): large tap areas for the
   per-item Pass/Fail radios, comfortably-sized notes textarea, and a block-label
   photo input - single column throughout. */

[data-item-passfail][b-mj4940ekfu] {
    display: flex;
    gap: var(--space-4, 16px);
    border: none;
    padding: 0;
    margin: var(--space-3, 12px) 0;
}

    [data-item-passfail] label[b-mj4940ekfu] {
        display: flex;
        align-items: center;
        gap: var(--space-2, 8px);
        font-weight: 400;
        padding: var(--space-2, 8px) var(--space-3, 12px);
        min-height: 44px;
        box-sizing: border-box;
    }

    [data-item-passfail] input[type="radio"][b-mj4940ekfu] {
        width: 22px;
        height: 22px;
    }

[data-item-photo][b-mj4940ekfu] {
    display: block;
    margin: var(--space-3, 12px) 0;
}

[data-item-notes][b-mj4940ekfu] {
    display: block;
    margin: var(--space-3, 12px) 0;
}

    [data-item-notes] textarea[b-mj4940ekfu] {
        display: block;
        width: 100%;
        min-height: 96px;
    }
/* /Components/Shared/Badge.razor.rz.scp.css */
.badge[b-npa9251h5d] {
    display: inline-block;
    border-radius: 4px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}

.badge-neutral[b-npa9251h5d] {
    background: var(--map-light, #E8EAED);
    color: var(--map-navy, #0C2340);
}

.badge-red[b-npa9251h5d] {
    background: rgba(192, 57, 43, 0.12);
    color: #8E241A;
}

.badge-amber[b-npa9251h5d] {
    background: rgba(232, 163, 23, 0.16);
    color: #8A5E00;
}

.badge-green[b-npa9251h5d] {
    background: rgba(30, 142, 62, 0.14);
    color: #14652C;
}

.badge-gold[b-npa9251h5d] {
    background: rgba(212, 175, 55, 0.20);
    color: #7A5C00;
}

.badge-silver[b-npa9251h5d] {
    background: rgba(140, 148, 158, 0.18);
    color: #4A525C;
}
/* /Components/Shared/TabLink.razor.rz.scp.css */
.tab-link[b-6vr4ngc5lq] {
    display: inline-block;
    padding: 10px 4px;
    color: var(--map-navy, #0C2340);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
}

    .tab-link:hover[b-6vr4ngc5lq] {
        color: var(--map-azure, #006CB6);
        text-decoration: none;
    }

    .tab-link.active[b-6vr4ngc5lq] {
        color: var(--map-azure, #006CB6);
        border-bottom-color: var(--map-azure, #006CB6);
    }
/* /Components/Shared/TabStrip.razor.rz.scp.css */
.tab-strip[b-658pfx2so2] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-5, 24px);
    border-bottom: 1px solid var(--map-border-subtle, #E2E5EA);
    margin-bottom: var(--space-4, 16px);
    overflow-x: auto;
    white-space: nowrap;
    /* Live after-pass polish fix: hide the scrollbar CHROME (the visible track/
       thumb artifact on Assets + AssetDetail) without losing scrollability -
       overflow-x stays auto above, only the browser-drawn scrollbar is hidden. */
    scrollbar-width: none;
}

    .tab-strip[b-658pfx2so2]::-webkit-scrollbar {
        display: none;
    }
