/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app[b-xvz1xsioyb] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ---------- masthead (top nav) ---------- */

.masthead[b-xvz1xsioyb] {
    border-bottom: 3px double var(--rule);
    background: var(--paper);
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(6px);
}

.masthead__inner[b-xvz1xsioyb] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--s-6);
    padding: var(--s-4) var(--s-5);
}

.masthead__brand[b-xvz1xsioyb] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    text-decoration: none;
    border: 0;
    color: var(--ink);
}

.masthead__mark[b-xvz1xsioyb] {
    font-family: var(--font-display);
    font-size: 2.5rem;
    line-height: 1;
    font-weight: 600;
    color: var(--ochre);
    margin-top: -4px;
}

.masthead__name[b-xvz1xsioyb] {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.masthead__title[b-xvz1xsioyb] {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.masthead__sub[b-xvz1xsioyb] {
    font-family: var(--font-ui);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--mute);
}

.masthead__nav[b-xvz1xsioyb] {
    display: flex;
    justify-content: center;
    gap: var(--s-6);
}

.masthead__link[b-xvz1xsioyb] {
    font-family: var(--font-ui);
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    color: var(--ink);
    text-decoration: none;
    border: 0;
    padding: var(--s-2) 0;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.masthead__link:hover[b-xvz1xsioyb] {
    color: var(--ochre);
    border-bottom-color: var(--ochre);
}

.masthead__link--active[b-xvz1xsioyb] {
    color: var(--ochre);
    border-bottom-color: var(--ochre);
}

.masthead__date[b-xvz1xsioyb] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--mute);
    letter-spacing: 0.04em;
}

/* ---------- body / footer ---------- */

.app__body[b-xvz1xsioyb] {
    flex: 1;
    padding: var(--s-7) 0 var(--s-9);
}

.colophon[b-xvz1xsioyb] {
    border-top: 1px solid var(--rule-soft);
    padding: var(--s-5) 0;
    background: var(--paper-deep);
}

.colophon__inner[b-xvz1xsioyb] {
    display: flex;
    align-items: center;
    gap: var(--s-4);
}

.colophon__rule[b-xvz1xsioyb] {
    flex: 0 0 60px;
    height: 1px;
    background: var(--ink);
}

.colophon__text[b-xvz1xsioyb] {
    font-family: var(--font-ui);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--mute);
}

@media (max-width: 800px) {
    .masthead__inner[b-xvz1xsioyb] {
        grid-template-columns: 1fr auto;
        gap: var(--s-3);
    }
    .masthead__nav[b-xvz1xsioyb] {
        grid-column: 1 / -1;
        justify-content: flex-start;
        gap: var(--s-4);
        padding-top: var(--s-3);
        border-top: 1px solid var(--rule-soft);
    }
    .masthead__date[b-xvz1xsioyb] { display: none; }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-adeewwcxy3],
.components-reconnect-repeated-attempt-visible[b-adeewwcxy3],
.components-reconnect-failed-visible[b-adeewwcxy3],
.components-pause-visible[b-adeewwcxy3],
.components-resume-failed-visible[b-adeewwcxy3],
.components-rejoining-animation[b-adeewwcxy3] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-retrying[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-failed[b-adeewwcxy3],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-adeewwcxy3] {
    display: block;
}


#components-reconnect-modal[b-adeewwcxy3] {
    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-adeewwcxy3 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-adeewwcxy3 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-adeewwcxy3 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-adeewwcxy3]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-adeewwcxy3 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-adeewwcxy3 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-adeewwcxy3 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-adeewwcxy3 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-adeewwcxy3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-adeewwcxy3] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-adeewwcxy3] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-adeewwcxy3] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-adeewwcxy3] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-adeewwcxy3] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-adeewwcxy3] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-adeewwcxy3 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-adeewwcxy3] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-adeewwcxy3 {
    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/Extract.razor.rz.scp.css */
.extract[b-c6v5o9l00m] { display: flex; flex-direction: column; gap: var(--s-7); }

.extract__head[b-c6v5o9l00m] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    border-bottom: 3px double var(--rule);
    padding-bottom: var(--s-5);
}

.extract__title[b-c6v5o9l00m] {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    margin: 0;
    line-height: 1;
}

.extract__lede[b-c6v5o9l00m] {
    font-size: 1rem;
    color: var(--mute);
    max-width: 580px;
    margin: 0;
}
/* /Components/Pages/History.razor.rz.scp.css */
.history[b-dnxd9iunrp] { display: flex; flex-direction: column; gap: var(--s-6); }

.history__head[b-dnxd9iunrp] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    border-bottom: 3px double var(--rule);
    padding-bottom: var(--s-5);
}

.history__title[b-dnxd9iunrp] {
    font-family: var(--font-display);
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    margin: 0;
    line-height: 1;
}

.history__lede[b-dnxd9iunrp] {
    font-size: 1rem;
    color: var(--mute);
    max-width: 580px;
    margin: 0;
}

.history__empty[b-dnxd9iunrp] {
    padding: var(--s-7) var(--s-5);
    text-align: center;
    background: var(--card);
    border: 1px dashed var(--rule);
    color: var(--mute);
}

.history__empty p[b-dnxd9iunrp] { margin: var(--s-2) 0 0; }

/* ---------- table ---------- */

.history__table[b-dnxd9iunrp] {
    width: 100%;
    border-collapse: collapse;
    background: var(--card);
    border: 1px solid var(--rule);
    font-family: var(--font-ui);
    font-size: 0.9rem;
}

.history__table thead th[b-dnxd9iunrp] {
    text-align: left;
    padding: var(--s-3) var(--s-4);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
    border-bottom: 2px solid var(--rule);
    background: var(--paper);
}

.history__table th.num[b-dnxd9iunrp] { text-align: right; }

.history__row[b-dnxd9iunrp] { cursor: pointer; transition: background 0.15s ease; }
.history__row:hover[b-dnxd9iunrp] { background: var(--paper); }
.history__row.is-open[b-dnxd9iunrp] { background: var(--ochre-soft); }

.history__row td[b-dnxd9iunrp] {
    padding: var(--s-3) var(--s-4);
    border-bottom: 1px solid var(--rule-faint);
    vertical-align: middle;
}

.history__row td.num[b-dnxd9iunrp] { text-align: right; }

.history__when[b-dnxd9iunrp] { color: var(--mute); white-space: nowrap; }
.history__file[b-dnxd9iunrp] { font-family: var(--font-mono); font-size: 0.85rem; }
.history__bank[b-dnxd9iunrp] { color: var(--ink); }
.history__bank .num[b-dnxd9iunrp] { color: var(--mute); font-size: 0.82rem; }

.history__status[b-dnxd9iunrp] {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.55rem;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid currentColor;
}

.history__status.is-pass[b-dnxd9iunrp] { color: var(--sage); background: var(--sage-soft); }
.history__status.is-warn[b-dnxd9iunrp] { color: var(--ochre-deep); background: var(--ochre-soft); }

.history__caret[b-dnxd9iunrp] {
    text-align: right;
    color: var(--mute);
    font-size: 0.7rem;
    width: 30px;
}

.history__detail td[b-dnxd9iunrp] {
    padding: 0;
    background: var(--paper-deep);
    border-bottom: 2px solid var(--rule);
}

.history__detail-inner[b-dnxd9iunrp] {
    padding: var(--s-6);
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* ---------- hero ---------- */

.hero[b-5yv3wpn3mi] {
    padding: var(--s-9) 0 var(--s-8);
    border-bottom: 3px double var(--rule);
    background:
        radial-gradient(ellipse at top right, rgba(184, 84, 26, 0.05) 0%, transparent 60%),
        var(--paper);
}

.hero__inner[b-5yv3wpn3mi] {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: var(--s-9);
    align-items: start;
}

.hero__copy[b-5yv3wpn3mi] { display: flex; flex-direction: column; gap: var(--s-5); }

.hero__eyebrow[b-5yv3wpn3mi] {
    color: var(--ochre);
}

.hero__title[b-5yv3wpn3mi] {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(3rem, 6vw, 5.4rem);
    line-height: 0.95;
    letter-spacing: -0.035em;
    color: var(--ink);
    margin: 0;
}

.hero__title-em[b-5yv3wpn3mi] {
    font-style: italic;
    font-weight: 400;
    color: var(--ochre);
    font-feature-settings: 'ss01' 1;
}

.hero__lede[b-5yv3wpn3mi] {
    font-family: var(--font-ui);
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--ink-soft);
    max-width: 540px;
    margin: 0;
}

.hero__actions[b-5yv3wpn3mi] {
    display: flex;
    gap: var(--s-3);
    margin-top: var(--s-3);
}

/* ---------- side plate ---------- */

.hero__plate[b-5yv3wpn3mi] {
    border: 1px solid var(--rule);
    background: var(--card);
    padding: var(--s-5);
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    position: relative;
}

.hero__plate-rule[b-5yv3wpn3mi] {
    height: 1px;
    background: var(--rule);
    margin: 0 -var(--s-5);
}

.hero__plate-rule--bottom[b-5yv3wpn3mi] { margin-top: var(--s-2); }

.hero__steps[b-5yv3wpn3mi] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.hero__steps li[b-5yv3wpn3mi] {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: var(--s-3);
    padding: var(--s-2) 0;
    align-items: baseline;
    border-bottom: 1px dotted var(--rule-faint);
    font-family: var(--font-ui);
    font-size: 0.95rem;
}

.hero__steps li:last-child[b-5yv3wpn3mi] { border-bottom: 0; }

.hero__steps .num[b-5yv3wpn3mi] {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--ochre);
    letter-spacing: 0.04em;
}

.hero__plate-caption[b-5yv3wpn3mi] {
    font-size: 0.85rem;
    color: var(--mute);
    font-style: italic;
    line-height: 1.5;
    margin: 0;
}

/* ---------- features ---------- */

.features__grid[b-5yv3wpn3mi] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--s-6);
    padding-top: var(--s-3);
}

.feature[b-5yv3wpn3mi] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4) 0;
    border-top: 1px solid var(--rule-soft);
}

.feature__num[b-5yv3wpn3mi] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-style: italic;
    font-weight: 500;
    color: var(--ochre);
    line-height: 1;
}

.feature__title[b-5yv3wpn3mi] {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 500;
    margin: 0;
}

.feature p[b-5yv3wpn3mi] {
    margin: 0;
    color: var(--mute);
    font-size: 0.92rem;
    line-height: 1.55;
}

/* ---------- cta strip ---------- */

.cta[b-5yv3wpn3mi] {
    background: var(--ink);
    color: var(--paper);
    padding: var(--s-7) 0;
}

.cta__inner[b-5yv3wpn3mi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-6);
}

.cta__copy[b-5yv3wpn3mi] { display: flex; flex-direction: column; gap: var(--s-2); }

.cta__copy .eyebrow[b-5yv3wpn3mi] { color: var(--ochre-soft); }

.cta__title[b-5yv3wpn3mi] {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    font-weight: 500;
    color: var(--paper);
    margin: 0;
    letter-spacing: -0.01em;
}

.cta .btn[b-5yv3wpn3mi] {
    background: var(--ochre);
    border-color: var(--ochre);
    color: var(--paper);
}

.cta .btn:hover[b-5yv3wpn3mi] { background: var(--paper); color: var(--ink); border-color: var(--paper); }

@media (max-width: 800px) {
    .hero__inner[b-5yv3wpn3mi] { grid-template-columns: 1fr; gap: var(--s-7); }
    .cta__inner[b-5yv3wpn3mi] { flex-direction: column; align-items: flex-start; }
}
/* /Components/Shared/DownloadButtons.razor.rz.scp.css */
.downloads[b-1oxe60f2ak] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding: var(--s-4) var(--s-5);
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: var(--radius-sm);
}

.downloads__row[b-1oxe60f2ak] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}
/* /Components/Shared/ErrorDisplay.razor.rz.scp.css */
.error[b-p40vq3brsp] {
    background: var(--card);
    border: 1px solid var(--crimson);
    border-left-width: 6px;
    padding: var(--s-6);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.error__head[b-p40vq3brsp] { display: flex; align-items: flex-start; gap: var(--s-4); }

.error__mark[b-p40vq3brsp] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    width: 44px;
    height: 44px;
    background: var(--crimson);
    color: var(--paper);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.error__title-block[b-p40vq3brsp] { display: flex; flex-direction: column; gap: var(--s-1); }

.error__title[b-p40vq3brsp] {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--ink);
    margin: 0;
}

.error__msg[b-p40vq3brsp] {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--ink-soft);
}

.error__raw[b-p40vq3brsp] {
    background: var(--ink);
    color: var(--paper-deep);
    padding: var(--s-4);
    border-radius: var(--radius-sm);
}

.error__raw summary[b-p40vq3brsp] {
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--paper-deep);
}

.error__raw pre[b-p40vq3brsp] {
    margin-top: var(--s-3);
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: var(--ochre-soft);
    white-space: pre-wrap;
    word-break: break-word;
}

.error__actions[b-p40vq3brsp] { display: flex; gap: var(--s-3); padding-top: var(--s-2); }

/* ---------- meta chips ---------- */

.error__meta[b-p40vq3brsp] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-2);
}

.error__chip[b-p40vq3brsp] {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.55rem;
    font-family: var(--font-mono);
    font-size: 0.74rem;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--rule-soft);
    border-radius: var(--radius-sm);
}

/* ---------- progress log ---------- */

.error__log[b-p40vq3brsp] {
    background: var(--paper);
    border: 1px solid var(--rule-soft);
    border-radius: var(--radius-sm);
    padding: var(--s-3) var(--s-4);
}

.error__log summary[b-p40vq3brsp] {
    cursor: pointer;
    font-family: var(--font-ui);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
    font-weight: 600;
}

.error__log-list[b-p40vq3brsp] {
    list-style: none;
    margin: var(--s-3) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.error__log-entry[b-p40vq3brsp] {
    display: grid;
    grid-template-columns: 96px 36px 1fr;
    gap: var(--s-3);
    padding: var(--s-1) var(--s-2);
    align-items: baseline;
    font-size: 0.85rem;
    border-left: 2px solid var(--rule-soft);
}

.error__log-entry.is-step-1[b-p40vq3brsp] { border-left-color: var(--ochre); }
.error__log-entry.is-step-2[b-p40vq3brsp] { border-left-color: var(--sage); }
.error__log-entry.is-step-3[b-p40vq3brsp] { border-left-color: var(--gold); }
.error__log-entry.is-error[b-p40vq3brsp]  {
    border-left-color: var(--crimson);
    background: var(--crimson-soft);
    color: var(--crimson);
    font-weight: 500;
}

.error__log-time[b-p40vq3brsp] { color: var(--mute); font-size: 0.78rem; }
.error__log-step[b-p40vq3brsp] { color: var(--mute); font-size: 0.78rem; font-weight: 600; }
.error__log-msg[b-p40vq3brsp]  { color: var(--ink); }
.error__log-entry.is-error .error__log-msg[b-p40vq3brsp] { color: var(--crimson); }
/* /Components/Shared/ExtractionProgress.razor.rz.scp.css */
.stepper[b-h6sphsltfk] {
    background: var(--card);
    border: 1px solid var(--rule);
    padding: var(--s-6);
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
}

.stepper__head[b-h6sphsltfk] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--s-5);
    border-bottom: 1px solid var(--rule-soft);
    padding-bottom: var(--s-4);
}

.stepper__file[b-h6sphsltfk] { display: flex; flex-direction: column; gap: var(--s-1); }

.stepper__file-name[b-h6sphsltfk] {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--ink);
}

.stepper__time[b-h6sphsltfk] { display: flex; flex-direction: column; gap: var(--s-1); align-items: flex-end; }

.stepper__time-value[b-h6sphsltfk] {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: 0.02em;
}

/* ---------- step list ---------- */

.stepper__list[b-h6sphsltfk] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    counter-reset: step;
}

.stepper__step[b-h6sphsltfk] {
    position: relative;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: var(--s-4);
    padding: var(--s-4) 0;
    align-items: center;
}

.stepper__step + .stepper__step[b-h6sphsltfk]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 27px;
    width: 1px;
    height: var(--s-4);
    background: var(--rule-soft);
}

.stepper__marker[b-h6sphsltfk] {
    width: 56px;
    height: 56px;
    border: 1.5px solid var(--rule);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--card);
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.stepper__step--done .stepper__marker[b-h6sphsltfk] {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--paper);
}

.stepper__step--active .stepper__marker[b-h6sphsltfk] {
    border-color: var(--ochre);
    background: var(--ochre-soft);
}

.stepper__step--pending .stepper__marker[b-h6sphsltfk] {
    color: var(--mute);
}

.stepper__check[b-h6sphsltfk] { font-size: 1.5rem; font-weight: 600; line-height: 1; }
.stepper__num[b-h6sphsltfk] { font-size: 1rem; font-weight: 500; color: inherit; }

.stepper__pulse[b-h6sphsltfk] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--ochre);
    animation: stepper-pulse-b-h6sphsltfk 1.4s ease-in-out infinite;
}

@keyframes stepper-pulse-b-h6sphsltfk {
    0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 0 0 rgba(184, 84, 26, 0.4); }
    50%      { transform: scale(0.85); opacity: 0.8; box-shadow: 0 0 0 12px rgba(184, 84, 26, 0); }
}

.stepper__body[b-h6sphsltfk] { display: flex; flex-direction: column; gap: 2px; }

.stepper__step-label[b-h6sphsltfk] {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--ink);
}

.stepper__step--pending .stepper__step-label[b-h6sphsltfk] { color: var(--mute); }

.stepper__step-status[b-h6sphsltfk] {
    font-family: var(--font-ui);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
}

.stepper__step--active .stepper__step-status[b-h6sphsltfk] { color: var(--ochre); font-weight: 600; }
.stepper__step--done .stepper__step-status[b-h6sphsltfk] { color: var(--sage); }

.stepper__cancel[b-h6sphsltfk] {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid var(--rule-soft);
    padding-top: var(--s-4);
}
/* /Components/Shared/FileUpload.razor.rz.scp.css */
.upload[b-umitfnmaxp] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.upload__zone[b-umitfnmaxp] {
    position: relative;
    border: 1.5px dashed var(--rule);
    border-radius: var(--radius-lg);
    background:
        repeating-linear-gradient(
            135deg,
            transparent 0,
            transparent 18px,
            rgba(184, 84, 26, 0.04) 18px,
            rgba(184, 84, 26, 0.04) 19px
        ),
        var(--card);
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.upload__zone.is-dragging[b-umitfnmaxp] {
    border-color: var(--ochre);
    background:
        repeating-linear-gradient(
            135deg,
            transparent 0,
            transparent 18px,
            rgba(184, 84, 26, 0.10) 18px,
            rgba(184, 84, 26, 0.10) 19px
        ),
        var(--card);
}

.upload__zone.has-error[b-umitfnmaxp] {
    border-color: var(--crimson);
}

.upload__input[b-umitfnmaxp] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.upload__inner[b-umitfnmaxp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--s-8) var(--s-5);
    gap: var(--s-4);
    cursor: pointer;
    text-align: center;
    color: var(--ink);
}

.upload__icon[b-umitfnmaxp] {
    width: 72px;
    height: 72px;
    color: var(--ink-soft);
}

.upload__icon svg[b-umitfnmaxp] { width: 100%; height: 100%; display: block; }

.upload__copy[b-umitfnmaxp] { display: flex; flex-direction: column; gap: var(--s-1); }

.upload__title[b-umitfnmaxp] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0;
    letter-spacing: -0.01em;
}

.upload__hint[b-umitfnmaxp] {
    font-family: var(--font-ui);
    font-size: 0.85rem;
    color: var(--mute);
    margin: 0;
}

.upload__browse[b-umitfnmaxp] {
    color: var(--ochre);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 500;
}

/* ---------- selected file row ---------- */

.upload__file[b-umitfnmaxp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--s-4);
    padding: var(--s-4) var(--s-5);
    background: var(--card);
    border: 1px solid var(--rule);
    border-left: 4px solid var(--ochre);
    border-radius: var(--radius);
}

.upload__file-meta[b-umitfnmaxp] {
    display: flex;
    flex-direction: column;
    gap: var(--s-1);
}

.upload__file-name[b-umitfnmaxp] {
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--ink);
}

.upload__file-size[b-umitfnmaxp] {
    font-size: 0.78rem;
    color: var(--mute);
}

.upload__file-actions[b-umitfnmaxp] {
    display: flex;
    gap: var(--s-2);
    align-items: center;
}

/* ---------- error ---------- */

.upload__error[b-umitfnmaxp] {
    display: flex;
    align-items: center;
    gap: var(--s-3);
    padding: var(--s-3) var(--s-4);
    background: var(--crimson-soft);
    border-left: 4px solid var(--crimson);
    color: var(--crimson);
    font-family: var(--font-ui);
    font-size: 0.88rem;
    border-radius: var(--radius);
}

.upload__error-mark[b-umitfnmaxp] {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--crimson);
    width: 20px;
    height: 20px;
    border: 1.5px solid var(--crimson);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* /Components/Shared/InspectView.razor.rz.scp.css */
.inspect[b-kpoys4ifbi] {
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
    min-height: 70vh;
}

.inspect__empty[b-kpoys4ifbi] {
    padding: var(--s-7);
    text-align: center;
    background: var(--card);
    border: 1px dashed var(--rule);
    color: var(--mute);
}

.inspect__empty p[b-kpoys4ifbi] { margin: var(--s-2) 0 0; max-width: 440px; margin-left: auto; margin-right: auto; }

/* ---------- top tab bar (page selector) ---------- */

.inspect__tabs[b-kpoys4ifbi] {
    display: flex;
    align-items: stretch;
    gap: var(--s-1);
    padding: var(--s-2);
    background: var(--card);
    border: 1px solid var(--rule);
    border-radius: var(--radius-sm);
    position: sticky;
    top: 82px;
    z-index: 5;
}

.inspect__tabs-scroll[b-kpoys4ifbi] {
    flex: 1;
    display: flex;
    gap: var(--s-1);
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    min-width: 0;
}

.inspect__tabs-scroll[b-kpoys4ifbi]::-webkit-scrollbar { height: 4px; }
.inspect__tabs-scroll[b-kpoys4ifbi]::-webkit-scrollbar-thumb { background: var(--rule-soft); border-radius: 2px; }

.inspect__nav-arrow[b-kpoys4ifbi] {
    border: 1px solid var(--rule-soft);
    background: var(--paper);
    width: 34px;
    font-size: 1.2rem;
    line-height: 1;
    color: var(--ink);
    cursor: pointer;
    border-radius: var(--radius-sm);
    padding: 0;
    flex-shrink: 0;
}

.inspect__nav-arrow:hover:not(:disabled)[b-kpoys4ifbi] { background: var(--ochre-soft); border-color: var(--ochre); }
.inspect__nav-arrow:disabled[b-kpoys4ifbi] { color: var(--mute-soft); cursor: not-allowed; opacity: 0.5; }

.inspect__tab[b-kpoys4ifbi] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border: 1px solid var(--rule-soft);
    border-bottom: 3px solid transparent;
    cursor: pointer;
    font-family: var(--font-ui);
    white-space: nowrap;
    transition: all 0.15s ease;
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    flex-shrink: 0;
}

.inspect__tab:hover[b-kpoys4ifbi] { background: var(--card); border-color: var(--rule); }

.inspect__tab.is-active[b-kpoys4ifbi] {
    background: var(--ochre-soft);
    border-color: var(--ochre);
    border-bottom-color: var(--ochre);
}

.inspect__tab-num[b-kpoys4ifbi] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: 0.02em;
}

.inspect__tab-type[b-kpoys4ifbi] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--mute);
}

.inspect__tab.is-active .inspect__tab-type[b-kpoys4ifbi] { color: var(--ochre-deep); }

.inspect__tab-count[b-kpoys4ifbi] {
    font-size: 0.7rem;
    background: var(--ink);
    color: var(--paper);
    padding: 2px 6px;
    border-radius: 999px;
    min-width: 22px;
    text-align: center;
    font-weight: 500;
}

/* ---------- 50/50 panes with visible divider ---------- */

.inspect__panes[b-kpoys4ifbi] {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: var(--s-4);
    align-items: start;
    width: 100%;
}

/* Prevent grid children from overflowing — default min-width is auto which
   can push the fr tracks out of 50/50. */
.inspect__left[b-kpoys4ifbi],
.inspect__right[b-kpoys4ifbi] {
    min-width: 0;
    width: 100%;
}

.inspect__divider[b-kpoys4ifbi] {
    width: 1px;
    align-self: stretch;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        var(--rule) 10%,
        var(--rule) 90%,
        transparent 100%
    );
    position: sticky;
    top: 160px;
    height: calc(100vh - 190px);
}

/* ---------- left pane (PDF) ---------- */

.inspect__left[b-kpoys4ifbi] {
    background: var(--card);
    border: 1px solid var(--rule);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: sticky;
    top: 160px;
    max-height: calc(100vh - 190px);
}

.inspect__toolbar[b-kpoys4ifbi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border-bottom: 1px solid var(--rule-soft);
    flex-shrink: 0;
}

.inspect__toolbar--right[b-kpoys4ifbi] {
    border: 1px solid var(--rule-soft);
    border-radius: var(--radius-sm);
    background: var(--paper);
}

.inspect__zoom[b-kpoys4ifbi] { display: flex; align-items: center; gap: var(--s-1); }

.inspect__zoom-btn[b-kpoys4ifbi] {
    border: 1px solid var(--rule-soft);
    background: var(--card);
    width: 28px;
    height: 28px;
    font-size: 1rem;
    color: var(--ink);
    cursor: pointer;
    border-radius: var(--radius-sm);
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.inspect__zoom-btn:hover[b-kpoys4ifbi] { background: var(--ochre-soft); border-color: var(--ochre); }

.inspect__zoom-val[b-kpoys4ifbi] {
    font-size: 0.78rem;
    color: var(--mute);
    min-width: 44px;
    text-align: center;
}

.inspect__canvas[b-kpoys4ifbi] {
    flex: 1;
    overflow: auto;
    background: var(--paper-deep);
    padding: var(--s-3);
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 0;
}

/* NO max-width on the image — let the inline width: N% drive actual size.
   Canvas is overflow:auto so > 100% scrolls horizontally. */
.inspect__canvas img[b-kpoys4ifbi] {
    display: block;
    height: auto;
    box-shadow: 0 4px 24px rgba(30, 26, 18, 0.15);
    transition: width 0.15s ease;
    flex-shrink: 0;
}

/* ---------- right pane ---------- */

.inspect__right[b-kpoys4ifbi] {
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
}

.inspect__meta[b-kpoys4ifbi] {
    padding-bottom: var(--s-3);
    border-bottom: 1px solid var(--rule-soft);
}

.inspect__meta .eyebrow[b-kpoys4ifbi] {
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    font-size: 1.1em;
    color: var(--ochre);
}

.inspect__meta-desc[b-kpoys4ifbi] {
    font-size: 0.85em;
    color: var(--mute);
    margin: var(--s-1) 0 0;
    font-style: italic;
}

.inspect__section[b-kpoys4ifbi] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}

.inspect__section-head[b-kpoys4ifbi] { display: flex; align-items: baseline; gap: var(--s-3); }

.inspect__section-head .eyebrow[b-kpoys4ifbi] {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 0.95em;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--ochre);
}

.inspect__section-title[b-kpoys4ifbi] {
    font-family: var(--font-display);
    font-size: 1.25em;
    font-weight: 500;
    color: var(--ink);
    margin: 0;
}

.inspect__section-title .num[b-kpoys4ifbi] { color: var(--mute); font-size: 1rem; }

.inspect__section--empty[b-kpoys4ifbi] {
    padding: var(--s-4);
    background: var(--paper);
    border: 1px dashed var(--rule-soft);
    color: var(--mute);
}

.inspect__section--empty p[b-kpoys4ifbi] { margin: var(--s-1) 0 0; font-size: 0.88em; }

/* ---------- txn table ---------- */

.inspect__txns[b-kpoys4ifbi] {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-ui);
    font-size: 0.84em;
    background: var(--card);
    border: 1px solid var(--rule);
}

.inspect__txns thead th[b-kpoys4ifbi] {
    text-align: left;
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    font-size: 0.68em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
    border-bottom: 2px solid var(--rule);
}

.inspect__txns th.num[b-kpoys4ifbi],
.inspect__txns td.num[b-kpoys4ifbi] { text-align: right; white-space: nowrap; }

.inspect__txns tbody td[b-kpoys4ifbi] {
    padding: var(--s-2) var(--s-3);
    border-bottom: 1px solid var(--rule-faint);
    vertical-align: middle;
}

.inspect__txns tbody tr.is-pending[b-kpoys4ifbi] { background: var(--gold-soft); }

.inspect__txns-desc[b-kpoys4ifbi] {
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inspect__txns-amt[b-kpoys4ifbi] { font-weight: 500; }
.inspect__txns-amt.is-debit[b-kpoys4ifbi] { color: var(--crimson); }
.inspect__txns-amt.is-credit[b-kpoys4ifbi] { color: var(--sage); }

.inspect__txns tfoot td[b-kpoys4ifbi] {
    padding: var(--s-2) var(--s-3);
    background: var(--paper);
    border-top: 2px solid var(--rule);
    font-size: 0.78em;
    color: var(--mute);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ---------- responsive ---------- */

@media (max-width: 900px) {
    .inspect__panes[b-kpoys4ifbi] { grid-template-columns: 1fr; }
    .inspect__divider[b-kpoys4ifbi] { display: none; }
    .inspect__left[b-kpoys4ifbi] { position: static; max-height: none; }
}
/* /Components/Shared/JsonViewer.razor.rz.scp.css */
.jsonview[b-lv80pkujvn] {
    background: var(--ink);
    color: var(--paper-deep);
    font-family: var(--font-mono);
    font-size: 0.78rem;
    line-height: 1.55;
    padding: var(--s-5);
    border: 1px solid var(--rule);
    border-radius: var(--radius-sm);
    max-height: 540px;
    overflow: auto;
    margin: 0;
    white-space: pre;
}

[b-lv80pkujvn] .jk { color: #E8C9A8; }       /* keys: ochre-soft */
[b-lv80pkujvn] .js { color: #C9D6BD; }       /* strings: sage-soft */
[b-lv80pkujvn] .jn { color: #E8DCA8; }       /* numbers: gold-soft */
[b-lv80pkujvn] .jb { color: #B8541A; font-weight: 600; }  /* bool/null: ochre */
/* /Components/Shared/PageAnalysisView.razor.rz.scp.css */
.pageview[b-6fogcxiv4o] {
    display: flex;
    flex-direction: column;
    gap: var(--s-7);
    background: var(--card);
    border: 1px solid var(--rule);
    padding: var(--s-6);
}

.pageview__row[b-6fogcxiv4o] { display: flex; flex-direction: column; gap: var(--s-3); }

.pageview__head[b-6fogcxiv4o] { display: flex; flex-direction: column; gap: 2px; }

.pageview__title[b-6fogcxiv4o] {
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--ink);
    margin: 0;
}

.pageview__table[b-6fogcxiv4o] {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-ui);
    font-size: 0.86rem;
}

.pageview__table thead th[b-6fogcxiv4o] {
    text-align: left;
    padding: var(--s-2) var(--s-3);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
    border-bottom: 1px solid var(--rule);
}

.pageview__table tbody td[b-6fogcxiv4o] {
    padding: var(--s-2) var(--s-3);
    border-bottom: 1px dotted var(--rule-faint);
}

.pageview__table tbody tr:last-child td[b-6fogcxiv4o] { border-bottom: 0; }

.pageview__table th.num[b-6fogcxiv4o],
.pageview__table td.num[b-6fogcxiv4o] { text-align: right; }

.pageview__table td.is-debit[b-6fogcxiv4o] { color: var(--crimson); }
.pageview__table td.is-credit[b-6fogcxiv4o] { color: var(--sage); }

.pageview__desc[b-6fogcxiv4o] { color: var(--mute); font-size: 0.85rem; }

/* ---------- chips ---------- */

.pageview__chip[b-6fogcxiv4o] {
    display: inline-block;
    padding: 0.18rem 0.55rem;
    font-family: var(--font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid var(--rule-soft);
    background: var(--paper);
    color: var(--ink);
}

.pageview__chip--account-summary[b-6fogcxiv4o] { background: var(--ochre-soft); border-color: var(--ochre); color: var(--ochre-deep); }
.pageview__chip--transactions[b-6fogcxiv4o]    { background: var(--sage-soft); border-color: var(--sage); color: var(--sage); }
.pageview__chip--check-images[b-6fogcxiv4o]    { background: var(--gold-soft); border-color: var(--gold); color: var(--gold); }
.pageview__chip--disclosures[b-6fogcxiv4o]     { background: var(--paper-deep); border-color: var(--rule-soft); color: var(--mute); }
.pageview__chip--marketing[b-6fogcxiv4o]       { background: var(--paper-deep); }
.pageview__chip--unreadable[b-6fogcxiv4o]      { background: var(--crimson-soft); border-color: var(--crimson); color: var(--crimson); }
.pageview__chip--other[b-6fogcxiv4o]           { background: var(--paper-deep); }

/* ---------- per-page block ---------- */

.pageview__pageblock[b-6fogcxiv4o] {
    border-top: 1px solid var(--rule-soft);
    padding-top: var(--s-3);
    margin-top: var(--s-3);
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.pageview__pageblock:first-of-type[b-6fogcxiv4o] { border-top: 0; padding-top: 0; margin-top: 0; }

.pageview__pageblock-head[b-6fogcxiv4o] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
}

.pageview__pageblock-num[b-6fogcxiv4o] {
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--ochre);
}

.pageview__table--inset[b-6fogcxiv4o] {
    background: var(--paper);
    border: 1px solid var(--rule-soft);
}
/* /Components/Shared/ResultsView.razor.rz.scp.css */
.results[b-hh4po6kpnd] { display: flex; flex-direction: column; gap: var(--s-7); }

.results__head[b-hh4po6kpnd] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--s-5);
    padding-bottom: var(--s-4);
    border-bottom: 3px double var(--rule);
}

.results__head-meta[b-hh4po6kpnd] { display: flex; flex-direction: column; gap: var(--s-1); }

.results__head-name[b-hh4po6kpnd] {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 500;
    line-height: 1.05;
    margin: 2px 0 0;
}

.results__head-time[b-hh4po6kpnd] {
    font-size: 0.78rem;
    color: var(--mute);
    letter-spacing: 0.06em;
}

.results__head-actions[b-hh4po6kpnd] {
    display: flex;
    gap: var(--s-3);
    align-items: center;
}

.results__section[b-hh4po6kpnd] { display: flex; flex-direction: column; gap: var(--s-3); }

.results__section-head[b-hh4po6kpnd] {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
    border-bottom: 1px solid var(--rule);
    padding-bottom: var(--s-2);
}

.results__section-head .eyebrow[b-hh4po6kpnd] {
    font-family: var(--font-display);
    font-size: 0.95rem;
    font-style: italic;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: var(--ochre);
}

.results__section-title[b-hh4po6kpnd] {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--ink);
    margin: 0;
}

.results__section-count[b-hh4po6kpnd] {
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 400;
    color: var(--mute);
    margin-left: var(--s-2);
}

/* ---------- streaming banner ---------- */

.results__streaming[b-hh4po6kpnd] {
    display: flex;
    align-items: center;
    gap: var(--s-4);
    padding: var(--s-3) var(--s-5);
    background: var(--ochre-soft);
    border-left: 4px solid var(--ochre);
    border-radius: var(--radius-sm);
}

.results__streaming-pulse[b-hh4po6kpnd] {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ochre);
    animation: results-pulse-b-hh4po6kpnd 1.2s ease-in-out infinite;
    flex-shrink: 0;
}

@keyframes results-pulse-b-hh4po6kpnd {
    0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 0 0 rgba(184, 84, 26, 0.35); }
    50%      { transform: scale(0.8); opacity: 0.75; box-shadow: 0 0 0 10px rgba(184, 84, 26, 0); }
}

.results__streaming-text[b-hh4po6kpnd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.results__streaming-text .eyebrow[b-hh4po6kpnd] { color: var(--ochre-deep); }

.results__streaming-status[b-hh4po6kpnd] {
    font-family: var(--font-ui);
    font-size: 0.92rem;
    color: var(--ink);
    font-weight: 500;
}

.results__streaming-count[b-hh4po6kpnd] {
    font-size: 0.82rem;
    color: var(--ochre-deep);
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ---------- layout badge ---------- */

.results__layout-badge[b-hh4po6kpnd] {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: 0.18rem 0.6rem;
    margin-top: var(--s-1);
    font-family: var(--font-ui);
    font-size: 0.72rem;
    border: 1px solid var(--rule-soft);
    background: var(--paper);
    border-radius: 999px;
    color: var(--ink);
    letter-spacing: 0.04em;
    max-width: fit-content;
}

.results__layout-badge-label[b-hh4po6kpnd] {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.16em;
    font-size: 0.62rem;
    color: var(--mute);
}

.results__layout-badge-fmt[b-hh4po6kpnd] {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.results__layout-badge-meta[b-hh4po6kpnd] {
    color: var(--mute);
    font-style: italic;
}

.results__layout-badge--sectioned[b-hh4po6kpnd] { border-color: var(--sage); background: var(--sage-soft); }
.results__layout-badge--sectioned .results__layout-badge-fmt[b-hh4po6kpnd] { color: var(--sage); }

.results__layout-badge--columnar[b-hh4po6kpnd] { border-color: var(--ochre); background: var(--ochre-soft); }
.results__layout-badge--columnar .results__layout-badge-fmt[b-hh4po6kpnd] { color: var(--ochre-deep); }

.results__layout-badge--signed[b-hh4po6kpnd],
.results__layout-badge--dr_cr_indicator[b-hh4po6kpnd],
.results__layout-badge--mixed[b-hh4po6kpnd] { border-color: var(--gold); background: var(--gold-soft); }

/* ---------- placeholder (while streaming) ---------- */

.results__placeholder[b-hh4po6kpnd] {
    padding: var(--s-5);
    background: var(--card);
    border: 1px dashed var(--rule-soft);
    color: var(--mute);
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
}

.results__placeholder p[b-hh4po6kpnd] { margin: 0; font-size: 0.9rem; }
/* /Components/Shared/SummaryCard.razor.rz.scp.css */
.summary[b-p9ee3ix4un] {
    background: var(--card);
    border: 1px solid var(--rule);
    padding: var(--s-6);
    display: flex;
    flex-direction: column;
    gap: var(--s-6);
}

.summary__masthead[b-p9ee3ix4un] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--s-5);
    border-bottom: 3px double var(--rule);
    padding-bottom: var(--s-5);
}

.summary__bank[b-p9ee3ix4un] { display: flex; flex-direction: column; gap: var(--s-2); }

.summary__name[b-p9ee3ix4un] {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    line-height: 1.05;
    font-weight: 600;
    margin: var(--s-1) 0 0;
    letter-spacing: -0.01em;
}

.summary__bank-name[b-p9ee3ix4un] {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    color: var(--mute);
    letter-spacing: 0.04em;
}

.summary__period[b-p9ee3ix4un] {
    display: flex;
    align-items: baseline;
    gap: var(--s-2);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.summary__period > .eyebrow[b-p9ee3ix4un] { width: 100%; text-align: right; margin-bottom: var(--s-2); }

.summary__period-value[b-p9ee3ix4un] {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--ink);
}

.summary__period-sep[b-p9ee3ix4un] { color: var(--ochre); font-size: 1.1rem; }

/* ---------- balances ---------- */

.summary__balances[b-p9ee3ix4un] {
    display: grid;
    grid-template-columns: 1fr 1fr 0.7fr;
    gap: var(--s-5);
    padding: var(--s-3) 0;
}

.summary__balance[b-p9ee3ix4un] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-4) var(--s-5);
    border-left: 1px solid var(--rule-soft);
}

.summary__balance:first-child[b-p9ee3ix4un] { border-left: 0; padding-left: 0; }

.summary__balance--ending[b-p9ee3ix4un] {
    background: var(--ochre-soft);
    border-left: 4px solid var(--ochre) !important;
    padding-left: var(--s-5);
}

.summary__balance-value[b-p9ee3ix4un] {
    font-family: var(--font-mono);
    font-size: 1.7rem;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.01em;
}

.summary__balance-value--small[b-p9ee3ix4un] { font-size: 1.2rem; }

/* ---------- debit/credit columns ---------- */

.summary__totals[b-p9ee3ix4un] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid var(--rule);
}

.summary__col[b-p9ee3ix4un] {
    padding: var(--s-5);
    background: var(--paper);
}

.summary__col + .summary__col[b-p9ee3ix4un] { border-left: 1px solid var(--rule); }

.summary__col-head[b-p9ee3ix4un] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--s-4);
    padding-bottom: var(--s-3);
    border-bottom: 1px solid var(--rule);
    margin-bottom: var(--s-3);
}

.summary__col-totals[b-p9ee3ix4un] { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.summary__col-amt[b-p9ee3ix4un] { font-size: 1.4rem; font-weight: 500; }
.summary__col-count[b-p9ee3ix4un] { font-size: 0.78rem; color: var(--mute); }

.summary__sub[b-p9ee3ix4un] { list-style: none; margin: 0; padding: 0; }

.summary__sub-row[b-p9ee3ix4un] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--s-4);
    padding: var(--s-2) 0;
    align-items: baseline;
    border-bottom: 1px dotted var(--rule-faint);
}

.summary__sub-row:last-child[b-p9ee3ix4un] { border-bottom: 0; }

.summary__sub-label[b-p9ee3ix4un] {
    font-family: var(--font-ui);
    font-size: 0.88rem;
    color: var(--ink);
}

.summary__sub-count[b-p9ee3ix4un] { font-size: 0.82rem; color: var(--mute); min-width: 32px; text-align: right; }
.summary__sub-amt[b-p9ee3ix4un]   { font-size: 0.92rem; color: var(--ink); min-width: 92px; text-align: right; }

/* ---------- meta ---------- */

.summary__meta[b-p9ee3ix4un] {
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
    padding-top: var(--s-3);
    border-top: 1px solid var(--rule-soft);
}

.summary__meta-item[b-p9ee3ix4un] {
    display: flex;
    align-items: baseline;
    gap: var(--s-3);
    font-size: 0.88rem;
}

.summary__meta-item--note[b-p9ee3ix4un] {
    color: var(--mute);
    font-style: italic;
}

@media (max-width: 800px) {
    .summary__masthead[b-p9ee3ix4un] { flex-direction: column; }
    .summary__balances[b-p9ee3ix4un] { grid-template-columns: 1fr; }
    .summary__totals[b-p9ee3ix4un] { grid-template-columns: 1fr; }
    .summary__col + .summary__col[b-p9ee3ix4un] { border-left: 0; border-top: 1px solid var(--rule); }
}
/* /Components/Shared/TransactionsTable.razor.rz.scp.css */
.txns[b-b9a2cqnbin] {
    background: var(--card);
    border: 1px solid var(--rule);
    display: flex;
    flex-direction: column;
}

.txns__filters[b-b9a2cqnbin] {
    display: flex;
    align-items: flex-end;
    gap: var(--s-5);
    padding: var(--s-4) var(--s-5);
    border-bottom: 1px solid var(--rule);
    background: var(--paper);
}

.txns__filter[b-b9a2cqnbin] { display: flex; flex-direction: column; gap: var(--s-1); }

.txns__select[b-b9a2cqnbin] {
    border: 1px solid var(--rule);
    background: var(--card);
    padding: 0.45rem var(--s-3);
    font-family: var(--font-ui);
    font-size: 0.85rem;
    color: var(--ink);
    border-radius: var(--radius-sm);
    min-width: 140px;
    cursor: pointer;
}

.txns__select:focus[b-b9a2cqnbin] { outline: 2px solid var(--ochre); outline-offset: 1px; }

.txns__count[b-b9a2cqnbin] {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.txns__count .num[b-b9a2cqnbin] { font-size: 1.2rem; font-weight: 500; }

/* ---------- table ---------- */

.txns__scroll[b-b9a2cqnbin] { overflow-x: auto; max-width: 100%; }

.txns__table[b-b9a2cqnbin] {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-ui);
    font-size: 0.86rem;
}

.txns__table thead th[b-b9a2cqnbin] {
    text-align: left;
    padding: var(--s-3) var(--s-4);
    font-family: var(--font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
    border-bottom: 2px solid var(--rule);
    background: var(--paper);
    white-space: nowrap;
}

.txns__th-sortable[b-b9a2cqnbin] { cursor: pointer; user-select: none; }
.txns__th-sortable:hover[b-b9a2cqnbin] { color: var(--ochre); }
.txns__th-amt[b-b9a2cqnbin] { text-align: right; }

.txns__table tbody td[b-b9a2cqnbin] {
    padding: var(--s-3) var(--s-4);
    border-bottom: 1px solid var(--rule-faint);
    vertical-align: middle;
}

.txns__table tbody tr:hover[b-b9a2cqnbin] { background: var(--paper); }

.txns__table tbody tr.is-pending[b-b9a2cqnbin] { background: var(--gold-soft); }
.txns__table tbody tr.is-pending:hover[b-b9a2cqnbin] { background: var(--gold-soft); filter: brightness(0.97); }

.txns__cell-num[b-b9a2cqnbin] { color: var(--mute); width: 32px; }
.txns__cell-date[b-b9a2cqnbin] { white-space: nowrap; width: 100px; }
.txns__cell-desc[b-b9a2cqnbin] { max-width: 380px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.txns__cell-amt[b-b9a2cqnbin] { text-align: right; font-size: 0.95rem; font-weight: 500; white-space: nowrap; }
.txns__cell-amt.is-debit[b-b9a2cqnbin] { color: var(--crimson); }
.txns__cell-amt.is-credit[b-b9a2cqnbin] { color: var(--sage); }
.txns__cell-page[b-b9a2cqnbin] { text-align: right; color: var(--mute); width: 50px; }
.txns__cell-conf[b-b9a2cqnbin] {
    display: flex;
    align-items: center;
    gap: var(--s-2);
    text-align: right;
    width: 100px;
    justify-content: flex-end;
}

.confbar[b-b9a2cqnbin] {
    display: inline-block;
    width: 36px;
    height: 6px;
    background: var(--rule-faint);
    position: relative;
    border-radius: 1px;
}

.confbar[b-b9a2cqnbin]::before {
    content: '';
    position: absolute;
    inset: 0;
    width: var(--w);
    background: currentColor;
    border-radius: 1px;
}

.confbar--high[b-b9a2cqnbin] { color: var(--sage); }
.confbar--mid[b-b9a2cqnbin]  { color: var(--gold); }
.confbar--low[b-b9a2cqnbin]  { color: var(--crimson); }

/* ---------- foot ---------- */

.txns__foot td[b-b9a2cqnbin] {
    padding: var(--s-3) var(--s-4);
    background: var(--paper);
    border-top: 2px solid var(--rule) !important;
    font-weight: 500;
}

.txns__foot-label[b-b9a2cqnbin] {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.74rem;
    color: var(--mute);
}
/* /Components/Shared/ValidationAlert.razor.rz.scp.css */
.validation[b-xsvjpf59x8] {
    background: var(--card);
    border: 1px solid var(--rule);
    border-left-width: 6px;
    padding: var(--s-5);
    display: flex;
    flex-direction: column;
    gap: var(--s-4);
}

.validation--pass[b-xsvjpf59x8] { border-left-color: var(--sage); background: linear-gradient(to right, var(--sage-soft) 0%, var(--card) 50%); }
.validation--warn[b-xsvjpf59x8] { border-left-color: var(--ochre); background: linear-gradient(to right, var(--ochre-soft) 0%, var(--card) 50%); }

.validation__head[b-xsvjpf59x8] {
    display: flex;
    align-items: flex-start;
    gap: var(--s-4);
}

.validation__mark[b-xsvjpf59x8] {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 700;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.validation--pass .validation__mark[b-xsvjpf59x8] {
    background: var(--sage);
    color: var(--paper);
}

.validation--warn .validation__mark[b-xsvjpf59x8] {
    background: var(--ochre);
    color: var(--paper);
}

.validation__title-block[b-xsvjpf59x8] { display: flex; flex-direction: column; gap: var(--s-1); }

.validation__title[b-xsvjpf59x8] {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0;
}

/* ---------- check grid ---------- */

.validation__grid[b-xsvjpf59x8] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--rule-soft);
}

.validation__row[b-xsvjpf59x8] {
    display: grid;
    grid-template-columns: 32px 1fr 140px 140px;
    gap: var(--s-3);
    padding: var(--s-3) 0;
    align-items: center;
    border-bottom: 1px dotted var(--rule-faint);
}

.validation__row:last-child[b-xsvjpf59x8] { border-bottom: 0; }

.validation__row-mark[b-xsvjpf59x8] {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.1rem;
    text-align: center;
}

.validation__row.is-match .validation__row-mark[b-xsvjpf59x8] { color: var(--sage); }
.validation__row.is-mismatch .validation__row-mark[b-xsvjpf59x8] { color: var(--crimson); }

.validation__row-label[b-xsvjpf59x8] {
    font-family: var(--font-ui);
    font-size: 0.9rem;
    font-weight: 500;
}

.validation__row.is-mismatch .validation__row-label[b-xsvjpf59x8] { color: var(--crimson); font-weight: 600; }

.validation__row-cell[b-xsvjpf59x8] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: right;
    align-items: flex-end;
}

.validation__row-cell .num[b-xsvjpf59x8] { font-size: 0.95rem; }

.validation__note[b-xsvjpf59x8],
.validation__discrepancy[b-xsvjpf59x8] {
    display: flex;
    flex-direction: column;
    gap: var(--s-2);
    padding: var(--s-3) var(--s-4);
    background: var(--paper);
    border-left: 3px solid var(--ochre);
    font-size: 0.9rem;
}

.validation__note[b-xsvjpf59x8] { border-left-color: var(--mute-soft); color: var(--mute); }

.validation__discrepancy p[b-xsvjpf59x8] { margin: 0; line-height: 1.55; }
/* /Components/Shared/ViewToggle.razor.rz.scp.css */
.toggle[b-vc5ighjs77] {
    display: inline-flex;
    border: 1px solid var(--rule);
    background: var(--card);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.toggle__btn[b-vc5ighjs77] {
    padding: 0.5rem 1.1rem;
    border: 0;
    background: transparent;
    font-family: var(--font-ui);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.toggle__btn:hover[b-vc5ighjs77] { color: var(--ink); }

.toggle__btn.is-active[b-vc5ighjs77] {
    background: var(--ink);
    color: var(--paper);
}

.toggle__btn + .toggle__btn[b-vc5ighjs77] { border-left: 1px solid var(--rule); }
