/* /Components/Charts/BarTrend.razor.rz.scp.css */
.trend[b-rcpv64hhuv] {
    width: 100%;
}

.trend svg[b-rcpv64hhuv] {
    width: 100%;
    height: auto;
    display: block;
}

.bar[b-rcpv64hhuv] {
    fill: var(--olive-600);
    transition: fill var(--duration-fast) var(--ease-out);
}

.bar:hover[b-rcpv64hhuv] {
    fill: var(--olive-700);
}

.bar--danger[b-rcpv64hhuv] {
    fill: var(--danger-600);
}

.bar--danger:hover[b-rcpv64hhuv] {
    fill: var(--danger-700);
}

.axis[b-rcpv64hhuv] {
    stroke: var(--border-subtle);
    stroke-width: 1;
}

.trend[b-rcpv64hhuv]  .label {
    font-family: var(--font-body);
    font-size: 11px;
    fill: var(--text-tertiary);
}

.trend[b-rcpv64hhuv]  .value {
    font-family: var(--font-mono);
    font-size: 11px;
    fill: var(--text-secondary);
}
/* /Components/Charts/Histogram.razor.rz.scp.css */
.hist[b-xpc01kky1l] {
    width: 100%;
}

.hist svg[b-xpc01kky1l] {
    width: 100%;
    height: auto;
    display: block;
}

.bar[b-xpc01kky1l] {
    fill: var(--olive-600);
    transition: fill var(--duration-fast) var(--ease-out);
}

.bar:hover[b-xpc01kky1l] {
    fill: var(--olive-700);
}

.bar--danger[b-xpc01kky1l] {
    fill: var(--danger-600);
}

.bar--danger:hover[b-xpc01kky1l] {
    fill: var(--danger-700);
}

.axis[b-xpc01kky1l] {
    stroke: var(--border-subtle);
    stroke-width: 1;
}

.hist[b-xpc01kky1l]  .label {
    font-family: var(--font-body);
    font-size: 11px;
    fill: var(--text-tertiary);
}
/* /Components/Layout/BlankLayout.razor.rz.scp.css */
.blank[b-88khmjilx6] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-6);
    background: var(--bg-page);
    font-family: var(--font-body);
}
/* /Components/Layout/PersonaSwitcher.razor.rz.scp.css */
.switcher[b-95cm129v5q] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.switcher__hint[b-95cm129v5q] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--weight-semibold);
}

.switcher__group[b-95cm129v5q] {
    display: flex;
    background: var(--bg-sunken);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: 3px;
    gap: 2px;
}

.switcher__option[b-95cm129v5q] {
    display: flex;
    flex-direction: column;
    padding: 5px 14px;
    border-radius: var(--radius-sm);
    line-height: var(--leading-snug);
    transition: background var(--duration-fast) var(--ease-out);
}

.switcher__option:hover[b-95cm129v5q] {
    background: var(--surface-card);
}

.switcher__option--active[b-95cm129v5q] {
    background: var(--surface-card);
    box-shadow: var(--shadow-xs);
    outline: 1px solid var(--border-default);
}

.switcher__role[b-95cm129v5q] {
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
}

.switcher__option:not(.switcher__option--active) .switcher__role[b-95cm129v5q] {
    color: var(--text-secondary);
}

.switcher__org[b-95cm129v5q] {
    font-size: 11px;
    color: var(--text-tertiary);
}
/* /Components/Layout/PortalLayout.razor.rz.scp.css */
/* Console shell per the design system's Shell.jsx: 232px olive-900 sidebar,
   Lora wordmark, quiet nav; warm cream content column. */

.portal[b-51nk36hwya] {
    display: flex;
    min-height: 100vh;
    background: var(--bg-page);
    font-family: var(--font-body);
}

/* The width is a local custom property rather than a token: it is a shell
   dimension, not a spacing step, and the collapsed rail is derived from it
   (16px icon + the nav item's 12px padding + the sidebar's 14px). Sitting
   above the topbar's z-index so the collapsed tooltips clear it. */
.portal__sidebar[b-51nk36hwya] {
    --sidebar-w: 232px;
    width: var(--sidebar-w);
    flex-shrink: 0;
    background: var(--surface-inverse);
    color: var(--text-on-inverse);
    padding: var(--space-5) 14px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    z-index: 60;
    height: 100vh;
    transition: width var(--duration-base) var(--ease-standard);
}

.portal__sidebar--collapsed[b-51nk36hwya] {
    --sidebar-w: 68px;
}

.portal__head[b-51nk36hwya] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-1) 4px var(--space-1) 10px;
    margin-bottom: var(--space-6);
}

.portal__sidebar--collapsed .portal__head[b-51nk36hwya] {
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-1) 0 0;
}

/* Type and colour now live in Ui/Logo; this is layout only. */
.portal__wordmark[b-51nk36hwya],
.portal__mark[b-51nk36hwya] {
    display: block;
    min-width: 0;
}

.portal__mark[b-51nk36hwya],
.portal__sidebar--collapsed .portal__wordmark[b-51nk36hwya] {
    display: none;
}

.portal__sidebar--collapsed .portal__mark[b-51nk36hwya] {
    display: block;
}

.portal__wordmark:hover[b-51nk36hwya]  .pr-logo__wordmark {
    color: var(--paper-0);
}

.portal__burger[b-51nk36hwya] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--olive-300);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: color var(--duration-fast) var(--ease-out),
                background var(--duration-fast) var(--ease-out);
}

.portal__burger:hover[b-51nk36hwya] {
    color: var(--cream-50);
    background: rgba(255, 255, 255, .05);
}

.portal__printhead[b-51nk36hwya] {
    display: none;
}

.portal__nav[b-51nk36hwya] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.portal__navgroup[b-51nk36hwya] {
    margin: var(--space-4) 12px var(--space-1);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--olive-400);
}

.portal__navitem[b-51nk36hwya] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: var(--weight-medium);
    color: var(--olive-300);
    transition: color var(--duration-fast) var(--ease-out),
                background var(--duration-fast) var(--ease-out);
}

.portal__navitem:hover[b-51nk36hwya] {
    color: var(--cream-50);
    background: rgba(255, 255, 255, .05);
}

.portal__navitem--active[b-51nk36hwya] {
    color: var(--paper-0);
    background: rgba(255, 255, 255, .08);
}

/* The label clips itself, so text never spills past the rail mid-transition
   however the nav's overflow happens to be set. */
.portal__label[b-51nk36hwya] {
    overflow: hidden;
    white-space: nowrap;
    max-width: 160px;
    transition: max-width var(--duration-base) var(--ease-standard),
                opacity var(--duration-fast) var(--ease-out);
}

.portal__sidebar--collapsed .portal__label[b-51nk36hwya] {
    max-width: 0;
    opacity: 0;
}

.portal__sidebar--collapsed .portal__navitem[b-51nk36hwya],
.portal__sidebar--collapsed .portal__signout[b-51nk36hwya] {
    position: relative;
    justify-content: center;
    gap: 0;
}

/* Group headings become hairlines rather than floating uppercase words. */
.portal__sidebar--collapsed .portal__navgroup[b-51nk36hwya] {
    margin: var(--space-3) var(--space-2) var(--space-2);
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.portal__sidebar--collapsed .portal__navgroup span[b-51nk36hwya] {
    display: none;
}

/* The tooltip has to escape .portal__nav's scroll container, which clips it.
   Safe to drop the scroll while collapsed: the longest rail (Admin, nine
   items) is well under a viewport once the labels and headings are gone. */
.portal__sidebar--collapsed .portal__nav[b-51nk36hwya] {
    overflow: visible;
}

.portal__sidebar--collapsed .portal__navitem[b-51nk36hwya]::after,
.portal__sidebar--collapsed .portal__signout[b-51nk36hwya]::after {
    content: attr(data-label);
    position: absolute;
    left: calc(100% + var(--space-2));
    top: 50%;
    transform: translateY(-50%);
    background: var(--clay-900);
    color: var(--cream-50);
    padding: 6px 10px;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    line-height: var(--leading-tight);
    white-space: nowrap;
    box-shadow: var(--shadow-md);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration-fast) var(--ease-out) 200ms;
}

.portal__sidebar--collapsed .portal__navitem:hover[b-51nk36hwya]::after,
.portal__sidebar--collapsed .portal__navitem:focus-visible[b-51nk36hwya]::after,
.portal__sidebar--collapsed .portal__signout:hover[b-51nk36hwya]::after,
.portal__sidebar--collapsed .portal__signout:focus-visible[b-51nk36hwya]::after {
    opacity: 1;
}

.portal__footer[b-51nk36hwya] {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-top: var(--space-3);
    font-size: var(--text-xs);
}

.portal__footer-role[b-51nk36hwya] {
    color: var(--cream-50);
    font-weight: var(--weight-semibold);
}

.portal__footer-org[b-51nk36hwya] {
    color: var(--olive-400);
    margin-top: 2px;
}

.portal__signout[b-51nk36hwya] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: var(--space-3);
    color: var(--olive-300);
    font-weight: var(--weight-medium);
}

.portal__signout:hover[b-51nk36hwya] {
    color: var(--cream-50);
}

.portal__sidebar--collapsed .portal__footer-who[b-51nk36hwya] {
    display: none;
}

.portal__sidebar--collapsed .portal__signout[b-51nk36hwya] {
    display: flex;
    margin-top: var(--space-2);
    padding: 10px 0;
    border-radius: var(--radius-md);
}

/* Honour the OS setting: the state still changes, it just arrives at once. */
@media (prefers-reduced-motion: reduce) {

    .portal__sidebar[b-51nk36hwya],
    .portal__label[b-51nk36hwya],
    .portal__navitem[b-51nk36hwya]::after,
    .portal__signout[b-51nk36hwya]::after {
        transition: none;
    }
}

.portal__main[b-51nk36hwya] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.portal__topbar[b-51nk36hwya] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-7);
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-subtle);
    position: sticky;
    top: 0;
    z-index: 50;
}

.portal__content[b-51nk36hwya] {
    padding: 28px 36px var(--space-10);
    max-width: 1080px;
    width: 100%;
}

/* Print: the report screens (payroll file, reconciliation, audit trail) are the
   ones that get printed, so drop the navigation chrome and lead with the brand.
   These rules live here rather than in app.css so they carry the same scoping
   attribute as the rules they override. */
@media print {
    .portal[b-51nk36hwya] {
        display: block;
        min-height: 0;
    }

    .portal__sidebar[b-51nk36hwya],
    .portal__topbar[b-51nk36hwya] {
        display: none;
    }

    .portal__printhead[b-51nk36hwya] {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: var(--space-4);
        padding-bottom: var(--space-3);
        margin-bottom: var(--space-5);
        border-bottom: 1px solid var(--border-strong);
    }

    .portal__printhead-meta[b-51nk36hwya] {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        font-size: var(--text-xs);
        color: var(--text-secondary);
    }

    .portal__content[b-51nk36hwya] {
        padding: 0;
        max-width: none;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-rt7uov5iib],
.components-reconnect-repeated-attempt-visible[b-rt7uov5iib],
.components-reconnect-failed-visible[b-rt7uov5iib],
.components-pause-visible[b-rt7uov5iib],
.components-resume-failed-visible[b-rt7uov5iib],
.components-rejoining-animation[b-rt7uov5iib] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-retrying[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-failed[b-rt7uov5iib],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-rt7uov5iib] {
    display: block;
}


#components-reconnect-modal[b-rt7uov5iib] {
    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-rt7uov5iib 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-rt7uov5iib 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-rt7uov5iib 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-rt7uov5iib]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-rt7uov5iib 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-rt7uov5iib {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-rt7uov5iib {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-rt7uov5iib {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-rt7uov5iib] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-rt7uov5iib] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-rt7uov5iib] {
    border: 0;
    background-color: var(--brand-primary);
    color: var(--text-on-brand);
    padding: 4px 24px;
    border-radius: var(--radius-sm);
}

    #components-reconnect-modal button:hover[b-rt7uov5iib] {
        background-color: var(--brand-primary-hover);
    }

    #components-reconnect-modal button:active[b-rt7uov5iib] {
        background-color: var(--brand-primary-active);
    }

.components-rejoining-animation[b-rt7uov5iib] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-rt7uov5iib] {
        position: absolute;
        border: 3px solid var(--brand-primary);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-rt7uov5iib 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-rt7uov5iib] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-rt7uov5iib {
    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/Onboarding/EmployeeOnboardingWizard.razor.rz.scp.css */
.steps[b-oeqd7yr2h0] {
    margin-bottom: var(--space-5);
}

.stack[b-oeqd7yr2h0] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    max-width: 560px;
}

.hint[b-oeqd7yr2h0] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.nav[b-oeqd7yr2h0] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}
/* /Components/Pages/Admin/AuditTrail.razor.rz.scp.css */
.trail-wrap[b-2ew3ajutvc]  td {
    font-size: var(--text-xs);
}

.trail-wrap[b-2ew3ajutvc]  .nowrap {
    white-space: nowrap;
}

/* Detail is the only flexible column — the other three are nowrap — so it
   carries the table's whole slack. The file-generated event embeds a bare
   SHA-256, a 64-character token with no break opportunity, which sets this
   column's min-content width at ~400px and pushes the table wider than its
   card. `anywhere` (not `break-word`) is the variant that also shrinks
   min-content, so the table fits again instead of scrolling sideways; it only
   breaks a word that cannot otherwise fit, so the prose is untouched.
   Same problem the payroll file card solves with word-break on the hash span,
   but here the hash sits mid-sentence, so the break has to be conditional. */
.trail-wrap[b-2ew3ajutvc]  .detail {
    color: var(--text-secondary);
    overflow-wrap: anywhere;
}

.more[b-2ew3ajutvc] {
    margin-top: var(--space-4);
    text-align: center;
}

.more a[b-2ew3ajutvc] {
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
}
/* /Components/Pages/Admin/Dashboard.razor.rz.scp.css */
.stack[b-gyzq1djtw3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.kpis[b-gyzq1djtw3] {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.card-title[b-gyzq1djtw3] {
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: 14px;
    color: var(--text-primary);
    margin-bottom: var(--space-3);
}

.card-title--inset[b-gyzq1djtw3] {
    padding: var(--space-4) var(--space-4) 0;
    margin-bottom: 0;
}
/* /Components/Pages/Admin/DebugSeedCounts.razor.rz.scp.css */
.stack[b-os47nwm9ki] {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}
/* /Components/Pages/Admin/InstructionDetail.razor.rz.scp.css */
.section-title[b-3q3hwcpsie] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    font-size: var(--text-lg);
    color: var(--text-primary);
    margin: var(--space-6) 0 var(--space-3);
}

.rule-block[b-3q3hwcpsie] {
    margin-top: var(--space-5);
}

.rule-block .rule-block__meta[b-3q3hwcpsie] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}

.nowrap[b-3q3hwcpsie] {
    white-space: nowrap;
}

.detail[b-3q3hwcpsie] {
    color: var(--text-secondary);
}
/* /Components/Pages/Admin/Instructions.razor.rz.scp.css */
.more[b-lfmxal1xkl] {
    margin-top: var(--space-4);
    text-align: center;
}

.more a[b-lfmxal1xkl] {
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
}
/* /Components/Pages/Admin/MandateDetail.razor.rz.scp.css */
.section-title[b-e5uauwuzrn] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    font-size: var(--text-lg);
    color: var(--text-primary);
    margin: var(--space-6) 0 var(--space-3);
}

.mono[b-e5uauwuzrn] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
}

.modal-note[b-e5uauwuzrn] {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}
/* /Components/Pages/Admin/Mandates.razor.rz.scp.css */
.more[b-lw2taa10tu] {
    margin-top: var(--space-4);
    text-align: center;
}

.more a[b-lw2taa10tu] {
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
}
/* /Components/Pages/Admin/OnboardEmployer.razor.rz.scp.css */
.steps[b-xjdoalxiez] {
    margin-bottom: var(--space-5);
}

.stack[b-xjdoalxiez] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    max-width: 560px;
}

.hint[b-xjdoalxiez] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.statutory[b-xjdoalxiez] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}

.bootstrap[b-xjdoalxiez] {
    padding: var(--space-4);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
}

.bootstrap__title[b-xjdoalxiez] {
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
}

.bootstrap__list[b-xjdoalxiez] {
    margin: var(--space-2) 0 0;
    padding-left: var(--space-5);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.bootstrap__list li + li[b-xjdoalxiez] {
    margin-top: 4px;
}

.nav[b-xjdoalxiez] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}
/* /Components/Pages/Admin/OnboardProvider.razor.rz.scp.css */
.steps[b-k0d3uqqixz] {
    margin-bottom: var(--space-5);
}

.stack[b-k0d3uqqixz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    max-width: 560px;
}

.hint[b-k0d3uqqixz] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.error[b-k0d3uqqixz] {
    font-size: var(--text-sm);
    color: var(--danger-600);
}

.product[b-k0d3uqqixz] {
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    padding: var(--space-4);
}

.product__head[b-k0d3uqqixz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-3);
}

.product__index[b-k0d3uqqixz] {
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--text-tertiary);
}

.product__grid[b-k0d3uqqixz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: var(--space-3);
}

.stack:has(.product)[b-k0d3uqqixz] {
    max-width: none;
}

.nav[b-k0d3uqqixz] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}
/* /Components/Pages/Admin/Registry/EmployeeDetail.razor.rz.scp.css */
.section-title[b-44bat2u6mw] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    font-size: var(--text-lg);
    color: var(--text-primary);
    margin: var(--space-6) 0 var(--space-3);
}
/* /Components/Pages/Admin/Registry/Employees.razor.rz.scp.css */
.more[b-ii7ien4ry7] {
    margin-top: var(--space-4);
    text-align: center;
}

.more a[b-ii7ien4ry7] {
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
}
/* /Components/Pages/Admin/Registry/EmployerDetail.razor.rz.scp.css */
.section-title[b-ipktme7aky] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    font-size: var(--text-lg);
    color: var(--text-primary);
    margin: var(--space-6) 0 var(--space-3);
}
/* /Components/Pages/Admin/Registry/ProviderDetail.razor.rz.scp.css */
.section-title[b-jvzx4horww] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    font-size: var(--text-lg);
    color: var(--text-primary);
    margin: var(--space-6) 0 var(--space-3);
}
/* /Components/Pages/Admin/RuleSetDetail.razor.rz.scp.css */
.layout[b-hn2kwmc2mz] {
    display: grid;
    grid-template-columns: minmax(380px, 1.4fr) minmax(300px, 1fr);
    gap: var(--space-6);
    align-items: start;
}

@media (max-width: 900px) {
    .layout[b-hn2kwmc2mz] {
        grid-template-columns: 1fr;
    }
}

.versions[b-hn2kwmc2mz] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.version[b-hn2kwmc2mz] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: 8px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-out),
                border-color var(--duration-fast) var(--ease-out);
}

.version:hover[b-hn2kwmc2mz] {
    background: var(--surface-card);
}

.version--selected[b-hn2kwmc2mz] {
    border-color: var(--border-strong);
    background: var(--surface-card);
}

.version__name[b-hn2kwmc2mz] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
}

.version__date[b-hn2kwmc2mz] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}

.rules[b-hn2kwmc2mz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.rule__head[b-hn2kwmc2mz] {
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
}

.rule__code[b-hn2kwmc2mz] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    color: var(--brand-primary);
}

.rule__name[b-hn2kwmc2mz] {
    font-size: 14px;
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
}

.rule__params[b-hn2kwmc2mz] {
    margin-top: 6px;
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.publish[b-hn2kwmc2mz] {
    position: sticky;
    top: var(--space-6);
}

.publish__title[b-hn2kwmc2mz] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    font-size: var(--text-lg);
    color: var(--text-primary);
}

.publish__intro[b-hn2kwmc2mz] {
    margin-top: var(--space-1);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.publish__stack[b-hn2kwmc2mz] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.publish__statutory[b-hn2kwmc2mz] {
    display: flex;
    gap: var(--space-2);
    padding: var(--space-3);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    font-size: var(--text-xs);
    color: var(--text-secondary);
}
/* /Components/Pages/Employee/Dashboard.razor.rz.scp.css */
.stack[b-jwd3z7o5oa] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.kpis[b-jwd3z7o5oa] {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.switch-row[b-jwd3z7o5oa] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-5);
}

.switch-row__label[b-jwd3z7o5oa] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--weight-semibold);
}

.switch-row__chip[b-jwd3z7o5oa] {
    border: 1px solid var(--border-default);
    background: var(--bg-sunken);
    color: var(--text-secondary);
    border-radius: var(--radius-pill);
    padding: 4px 12px;
    font-size: var(--text-xs);
    transition: background var(--duration-fast) var(--ease-out);
}

.switch-row__chip:hover[b-jwd3z7o5oa] {
    background: var(--surface-card);
    color: var(--text-primary);
}

.switch-row__chip--active[b-jwd3z7o5oa] {
    background: var(--surface-card);
    color: var(--text-primary);
    border-color: var(--olive-600);
    box-shadow: var(--shadow-xs);
}

.switch-row__chip .mono[b-jwd3z7o5oa] {
    font-family: var(--font-mono);
    color: var(--text-tertiary);
    margin-left: 4px;
}

/* The employee-side money shot: calm, protective, success-toned. */
.protection[b-jwd3z7o5oa] {
    background: var(--success-100);
    border: 1px solid var(--success-600);
    border-radius: var(--radius-md);
    padding: var(--space-4) var(--space-5);
    color: var(--success-700);
}

.protection__head[b-jwd3z7o5oa] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-display);
    font-size: var(--text-md);
    font-weight: var(--weight-display);
}

.protection__points[b-jwd3z7o5oa] {
    margin: var(--space-3) 0 0;
    padding-left: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.protection__foot[b-jwd3z7o5oa] {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}

.card-title[b-jwd3z7o5oa] {
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: 14px;
    color: var(--text-primary);
}

.card-title--inset[b-jwd3z7o5oa] {
    padding: var(--space-4) var(--space-4) 0;
}

.consent-note[b-jwd3z7o5oa] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    max-width: 640px;
    line-height: var(--leading-relaxed);
}
/* /Components/Pages/Employer/ApprovalInbox.razor.rz.scp.css */
.tabs-row[b-enjw9rp1oe] {
    margin-bottom: var(--space-4);
}

.actions[b-enjw9rp1oe] {
    text-align: right;
    white-space: nowrap;
}

.actions[b-enjw9rp1oe]  .pr-btn + .pr-btn {
    margin-left: var(--space-2);
}

.reject-reason[b-enjw9rp1oe] {
    margin-top: var(--space-3);
}

.reject-reason[b-enjw9rp1oe]  textarea {
    resize: vertical;
    min-height: 72px;
}
/* /Components/Pages/Employer/Dashboard.razor.rz.scp.css */
.stack[b-9jp8vcx8yw] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.kpis[b-9jp8vcx8yw] {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.card-title[b-9jp8vcx8yw] {
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: 14px;
    color: var(--text-primary);
    margin-bottom: var(--space-3);
}

.card-title--inset[b-9jp8vcx8yw] {
    padding: var(--space-4) var(--space-4) 0;
    margin-bottom: 0;
}

.chart-note[b-9jp8vcx8yw] {
    margin-top: var(--space-2);
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}

.two-col[b-9jp8vcx8yw] {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: var(--space-5);
    align-items: start;
}

@media (max-width: 900px) {
    .two-col[b-9jp8vcx8yw] {
        grid-template-columns: 1fr;
    }
}

.cycle-links[b-9jp8vcx8yw] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.cycle-links a[b-9jp8vcx8yw] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
}

.cycle-links a:hover[b-9jp8vcx8yw] {
    background: var(--bg-sunken);
}
/* /Components/Pages/Employer/Employees.razor.rz.scp.css */
.more[b-lktgo1oiew] {
    margin-top: var(--space-4);
    text-align: center;
}

.more a[b-lktgo1oiew] {
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
}
/* /Components/Pages/Employer/PayrollFilePage.razor.rz.scp.css */
.stack[b-n7rjjtdqze] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.period-row[b-n7rjjtdqze] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.period-row__name[b-n7rjjtdqze] {
    font-family: var(--font-display);
    font-size: var(--text-md);
    font-weight: var(--weight-display);
}

.period-row__facts[b-n7rjjtdqze] {
    display: flex;
    gap: var(--space-4);
    margin-top: var(--space-1);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.period-row__facts b[b-n7rjjtdqze],
.file-card__facts b[b-n7rjjtdqze] {
    font-family: var(--font-mono);
    font-weight: var(--weight-medium);
    color: var(--text-primary);
}

.note[b-n7rjjtdqze] {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    max-width: 560px;
}

.locked-banner[b-n7rjjtdqze] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: var(--info-100);
    color: var(--info-700);
    border: 1px solid var(--info-600);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
}

.file-card[b-n7rjjtdqze] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.file-card__head[b-n7rjjtdqze] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.file-card__name[b-n7rjjtdqze] {
    font-family: var(--font-mono);
    font-size: var(--text-base);
    font-weight: var(--weight-medium);
}

.file-card__facts[b-n7rjjtdqze] {
    display: flex;
    gap: var(--space-4);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    flex-wrap: wrap;
}

.file-card__hash[b-n7rjjtdqze] {
    background: var(--bg-sunken);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-sm);
    padding: var(--space-2) var(--space-3);
    display: flex;
    align-items: baseline;
    gap: var(--space-3);
    overflow-x: auto;
}

.file-card__hash-label[b-n7rjjtdqze] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--weight-semibold);
    flex-shrink: 0;
}

.file-card__hash .mono[b-n7rjjtdqze] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    word-break: break-all;
}

.download[b-n7rjjtdqze] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: var(--weight-semibold);
    font-size: var(--text-sm);
}
/* /Components/Pages/Employer/Reconciliation.razor.rz.scp.css */
.stack[b-kbthngn7gm] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.summary[b-kbthngn7gm] {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login[b-natbsb9pq9] {
    width: 100%;
    max-width: 440px;
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.login__brand[b-natbsb9pq9] {
    text-align: center;
}

/* The logo sits on its own dark plate, mirroring the sidebar surface so the
   sign-in page reads as the same product before any portal is chosen. */
.login__plate[b-natbsb9pq9] {
    display: inline-flex;
    padding: var(--space-5) var(--space-6);
    background: var(--surface-inverse);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.login__tagline[b-natbsb9pq9] {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

/* Credentials and the one-click persona picks sit in their own panels, stacked,
   with the divider label carrying the "or" between them. */
.login__panels[b-natbsb9pq9] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.login__form[b-natbsb9pq9] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.login__submit[b-natbsb9pq9] {
    display: flex;
    flex-direction: column;
    margin-top: var(--space-1);
}

.login__submit[b-natbsb9pq9]  .pr-btn {
    justify-content: center;
    width: 100%;
}

.login__divider[b-natbsb9pq9] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--text-tertiary);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--weight-semibold);
}

.login__divider[b-natbsb9pq9]::before,
.login__divider[b-natbsb9pq9]::after {
    content: "";
    flex: 1;
    border-top: 1px solid var(--border-subtle);
}

.login__quick[b-natbsb9pq9] {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.login__persona[b-natbsb9pq9] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: 10px 12px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    color: var(--text-secondary);
    transition: background var(--duration-fast) var(--ease-out),
                border-color var(--duration-fast) var(--ease-out);
}

.login__persona:hover[b-natbsb9pq9] {
    background: var(--surface-card);
    border-color: var(--border-strong);
    color: var(--text-primary);
}

.login__persona-icon[b-natbsb9pq9] {
    display: inline-flex;
    color: var(--brand-primary);
}

.login__persona-text[b-natbsb9pq9] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.login__persona-role[b-natbsb9pq9] {
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
}

.login__persona-org[b-natbsb9pq9] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}

.login__footnote[b-natbsb9pq9] {
    text-align: center;
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}
/* /Components/Pages/Provider/Dashboard.razor.rz.scp.css */
.stack[b-54sm5fykec] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.kpis[b-54sm5fykec] {
    display: flex;
    gap: var(--space-4);
    flex-wrap: wrap;
}

.card-title[b-54sm5fykec] {
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: 14px;
    color: var(--text-primary);
    margin-bottom: var(--space-3);
}

.card-title--inset[b-54sm5fykec] {
    padding: var(--space-4) var(--space-4) 0;
    margin-bottom: 0;
}
/* /Components/Pages/Provider/Products.razor.rz.scp.css */
.hint[b-23ofetn8kz] {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}
/* /Components/Pages/Provider/SubmitDeduction.razor.rz.scp.css */
.layout[b-hm0g4rrarf] {
    display: grid;
    grid-template-columns: minmax(380px, 1fr) minmax(300px, 1fr);
    gap: var(--space-6);
    align-items: start;
}

@media (max-width: 900px) {
    .layout[b-hm0g4rrarf] {
        grid-template-columns: 1fr;
    }
}

.form-stack[b-hm0g4rrarf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.lookup-row[b-hm0g4rrarf] {
    display: flex;
    gap: var(--space-2);
}

.lookup-row input[b-hm0g4rrarf] {
    flex: 1;
}

.quickpick[b-hm0g4rrarf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.quickpick__label[b-hm0g4rrarf] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: var(--weight-semibold);
}

.quickpick__chip[b-hm0g4rrarf] {
    border: 1px solid var(--border-default);
    background: var(--bg-sunken);
    color: var(--text-secondary);
    border-radius: var(--radius-pill);
    padding: 4px 12px;
    font-size: var(--text-xs);
    font-family: var(--font-body);
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-out);
}

.quickpick__chip:hover[b-hm0g4rrarf] {
    background: var(--surface-card);
    color: var(--text-primary);
}

.quickpick__chip .mono[b-hm0g4rrarf] {
    font-family: var(--font-mono);
    color: var(--text-tertiary);
    margin-left: 4px;
}

.employee-card[b-hm0g4rrarf] {
    background: var(--bg-sunken);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    padding: var(--space-3) var(--space-4);
}

.employee-card__name[b-hm0g4rrarf] {
    font-weight: var(--weight-semibold);
    font-size: 14px;
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
}

.employee-card__name .mono[b-hm0g4rrarf] {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}

.employee-card__facts[b-hm0g4rrarf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    margin-top: var(--space-2);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.employee-card__facts b[b-hm0g4rrarf] {
    font-family: var(--font-mono);
    font-weight: var(--weight-medium);
    color: var(--text-primary);
}

.result[b-hm0g4rrarf] {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    position: sticky;
    top: var(--space-6);
}

.result__status[b-hm0g4rrarf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
}

.result__status .mono[b-hm0g4rrarf] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
}

.result__next[b-hm0g4rrarf] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}
/* /Components/Products/ProductForm.razor.rz.scp.css */
.stack[b-6byoo7tdty] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.grid[b-6byoo7tdty] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}

.preview[b-6byoo7tdty] {
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.retired[b-6byoo7tdty] {
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    background: var(--bg-sunken);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.mono[b-6byoo7tdty] {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
}

.modal-note[b-6byoo7tdty] {
    margin-top: var(--space-3);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.nav[b-6byoo7tdty] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: 1px solid var(--border-subtle);
}

/* Retire sits opposite Save: destructive actions should not sit under the thumb
   that is heading for the primary button. */
.nav__lifecycle[b-6byoo7tdty] {
    margin-right: auto;
}
/* /Components/Ui/Badge.razor.rz.scp.css */
.pr-badge[b-yfgk53p1ng] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
}

.pr-badge--neutral[b-yfgk53p1ng] { background: var(--cream-100); color: var(--clay-700); }
.pr-badge--brand[b-yfgk53p1ng]   { background: var(--olive-100); color: var(--olive-700); }
.pr-badge--ai[b-yfgk53p1ng]      { background: var(--gold-100);  color: var(--gold-800); }
.pr-badge--success[b-yfgk53p1ng] { background: var(--success-100); color: var(--success-700); }
.pr-badge--danger[b-yfgk53p1ng]  { background: var(--danger-100);  color: var(--danger-700); }
.pr-badge--warning[b-yfgk53p1ng] { background: var(--warning-100); color: var(--warning-700); }
.pr-badge--info[b-yfgk53p1ng]    { background: var(--info-100);    color: var(--info-700); }
/* /Components/Ui/Button.razor.rz.scp.css */
.pr-btn[b-fqtr9erid3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-out),
                border-color var(--duration-fast) var(--ease-out),
                color var(--duration-fast) var(--ease-out);
}

.pr-btn--sm[b-fqtr9erid3] { padding: 6px 12px; font-size: var(--text-sm); gap: 6px; }
.pr-btn--md[b-fqtr9erid3] { padding: 9px 16px; font-size: 14px; }
.pr-btn--lg[b-fqtr9erid3] { padding: 12px 20px; font-size: var(--text-base); }

.pr-btn--primary[b-fqtr9erid3] {
    background: var(--brand-primary);
    color: var(--text-on-brand);
    border: 1px solid var(--brand-primary);
}

.pr-btn--primary:hover:not(:disabled)[b-fqtr9erid3] {
    background: var(--brand-primary-hover);
    border-color: var(--brand-primary-hover);
}

.pr-btn--primary:active:not(:disabled)[b-fqtr9erid3] {
    background: var(--brand-primary-active);
    border-color: var(--brand-primary-active);
}

.pr-btn--secondary[b-fqtr9erid3] {
    background: transparent;
    color: var(--terracotta-700);
    border: 1px solid var(--terracotta-600);
}

.pr-btn--secondary:hover:not(:disabled)[b-fqtr9erid3] {
    color: var(--terracotta-800);
    border-color: var(--terracotta-700);
    background: var(--terracotta-050);
}

.pr-btn--ghost[b-fqtr9erid3] {
    background: transparent;
    color: var(--olive-700);
    border: 1px solid transparent;
}

.pr-btn--ghost:hover:not(:disabled)[b-fqtr9erid3] {
    color: var(--olive-800);
    background: var(--olive-050);
}

.pr-btn--danger[b-fqtr9erid3] {
    background: var(--danger-600);
    color: var(--text-on-brand);
    border: 1px solid var(--danger-600);
}

.pr-btn--danger:hover:not(:disabled)[b-fqtr9erid3] {
    background: var(--danger-700);
    border-color: var(--danger-700);
}

.pr-btn:disabled[b-fqtr9erid3] {
    background: var(--clay-200);
    color: var(--clay-500);
    border: 1px solid var(--clay-200);
    cursor: not-allowed;
}
/* /Components/Ui/Card.razor.rz.scp.css */
.pr-card[b-945sdepuac] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    padding: var(--space-4);
    transition: background var(--duration-fast) var(--ease-out);
}

.pr-card--flush[b-945sdepuac] {
    padding: 0;
    overflow: hidden;
}

.pr-card--hoverable[b-945sdepuac] {
    cursor: pointer;
}

.pr-card--hoverable:hover[b-945sdepuac] {
    background: var(--surface-card-hover);
}
/* /Components/Ui/DescriptionItem.razor.rz.scp.css */
.pr-dl__item[b-tbideipy42] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.pr-dl__label[b-tbideipy42] {
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    color: var(--text-tertiary);
}

.pr-dl__value[b-tbideipy42] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.pr-dl__value--mono[b-tbideipy42] {
    font-family: var(--font-mono);
}
/* /Components/Ui/DescriptionList.razor.rz.scp.css */
.pr-dl[b-s40xbfeq1b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--space-4) var(--space-6);
    margin: 0;
    font-family: var(--font-body);
}
/* /Components/Ui/EmptyState.razor.rz.scp.css */
.pr-empty[b-xgmuqdm05p] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-8) var(--space-6);
    text-align: center;
}

.pr-empty__icon[b-xgmuqdm05p] {
    color: var(--text-tertiary);
}

.pr-empty__text[b-xgmuqdm05p] {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    max-width: 380px;
}
/* /Components/Ui/FilterBar.razor.rz.scp.css */
.pr-filterbar[b-p3i4nr7ip3] {
    margin-bottom: var(--space-5);
}

.pr-filterbar__form[b-p3i4nr7ip3] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.pr-filterbar__form[b-p3i4nr7ip3]  .f-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pr-filterbar__form[b-p3i4nr7ip3]  .f-field--grow {
    flex: 1;
    min-width: 220px;
}

.pr-filterbar__form[b-p3i4nr7ip3]  .f-field label {
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    color: var(--text-secondary);
}

.pr-filterbar__form[b-p3i4nr7ip3]  .f-field input,
.pr-filterbar__form[b-p3i4nr7ip3]  .f-field select {
    padding: 8px 12px;
    font-size: var(--text-sm);
    font-family: var(--font-body);
    color: var(--text-primary);
    background: var(--paper-0);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    outline: none;
}

.pr-filterbar__form[b-p3i4nr7ip3]  .f-field input:focus,
.pr-filterbar__form[b-p3i4nr7ip3]  .f-field select:focus {
    border-color: var(--border-focus);
    box-shadow: var(--focus-ring);
}

.pr-filterbar__submit[b-p3i4nr7ip3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: 8px 16px;
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    font-family: var(--font-body);
    color: var(--text-on-brand);
    background: var(--brand-primary);
    border: 1px solid var(--brand-primary);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background var(--duration-fast) var(--ease-out);
}

.pr-filterbar__submit:hover[b-p3i4nr7ip3] {
    background: var(--brand-primary-hover);
}

.pr-filterbar__clear[b-p3i4nr7ip3] {
    font-size: var(--text-sm);
    padding-bottom: 9px;
}
/* /Components/Ui/FormField.razor.rz.scp.css */
.pr-field[b-asds0kpgez] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-family: var(--font-body);
}

.pr-field__label[b-asds0kpgez] {
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
}

.pr-field__helper[b-asds0kpgez] {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
}

.pr-field__error[b-asds0kpgez] {
    font-size: var(--text-xs);
    color: var(--danger-600);
}

.pr-field[b-asds0kpgez]  input[type="text"],
.pr-field[b-asds0kpgez]  input[type="number"],
.pr-field[b-asds0kpgez]  input[type="date"],
.pr-field[b-asds0kpgez]  input[type="password"],
.pr-field[b-asds0kpgez]  select,
.pr-field[b-asds0kpgez]  textarea {
    padding: 9px 12px;
    font-size: 14px;
    font-family: var(--font-body);
    color: var(--text-primary);
    background: var(--paper-0);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    outline: none;
    width: 100%;
    transition: border-color var(--duration-fast) var(--ease-out);
}

.pr-field[b-asds0kpgez]  input:focus,
.pr-field[b-asds0kpgez]  select:focus,
.pr-field[b-asds0kpgez]  textarea:focus {
    border-color: var(--border-focus);
    box-shadow: var(--focus-ring);
}

.pr-field[b-asds0kpgez]  input:disabled,
.pr-field[b-asds0kpgez]  select:disabled {
    background: var(--cream-100);
    color: var(--text-tertiary);
}

.pr-field--invalid[b-asds0kpgez]  input,
.pr-field--invalid[b-asds0kpgez]  select {
    border-color: var(--danger-600);
}
/* /Components/Ui/Icon.razor.rz.scp.css */
.pr-icon[b-ns5xrf6iza] {
    flex-shrink: 0;
    vertical-align: -0.15em;
}
/* /Components/Ui/LinkButton.razor.rz.scp.css */
/* Mirrors Button.razor.css (md size) so link-actions and button-actions are
   visually identical. */
.pr-linkbtn[b-gwjoejiquh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: 9px 16px;
    font-size: 14px;
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    border-radius: var(--radius-md);
    transition: background var(--duration-fast) var(--ease-out),
                border-color var(--duration-fast) var(--ease-out),
                color var(--duration-fast) var(--ease-out);
}

.pr-linkbtn--primary[b-gwjoejiquh] {
    background: var(--brand-primary);
    color: var(--text-on-brand);
    border: 1px solid var(--brand-primary);
}

.pr-linkbtn--primary:hover[b-gwjoejiquh] {
    background: var(--brand-primary-hover);
    border-color: var(--brand-primary-hover);
    color: var(--text-on-brand);
}

.pr-linkbtn--secondary[b-gwjoejiquh] {
    background: transparent;
    color: var(--terracotta-700);
    border: 1px solid var(--terracotta-600);
}

.pr-linkbtn--secondary:hover[b-gwjoejiquh] {
    color: var(--terracotta-800);
    border-color: var(--terracotta-700);
    background: var(--terracotta-050);
}
/* /Components/Ui/Logo.razor.rz.scp.css */
/* Tones set the four colours as local custom properties; everything below
   reads them, so the lockup works on both the olive-900 sidebar and the cream
   content column without duplicating rules. */

.pr-logo[b-ix4da6v3ei] {
    display: inline-flex;
    align-items: center;
    gap: 0.42em;
    line-height: var(--leading-tight);
    white-space: nowrap;
}

.pr-logo--light[b-ix4da6v3ei] {
    --logo-ink: var(--cream-50);
    --logo-bar-1: var(--gold-400);
    --logo-bar-2: var(--gold-600);
    --logo-bar-3: var(--olive-500);
}

/* On cream the gold and olive step down: gold-400 sits at ~1.6:1 on paper-0
   and reads as a wash, so the dark tone uses the next two steps. */
.pr-logo--dark[b-ix4da6v3ei] {
    --logo-ink: var(--text-primary);
    --logo-bar-1: var(--gold-600);
    --logo-bar-2: var(--gold-700);
    --logo-bar-3: var(--olive-600);
}

.pr-logo__wordmark[b-ix4da6v3ei] {
    font-family: var(--font-display);
    font-weight: var(--weight-display);
    letter-spacing: var(--tracking-tight);
    color: var(--logo-ink);
}

.pr-logo__mark[b-ix4da6v3ei] {
    height: 0.72em;
    width: auto;
    flex-shrink: 0;
    display: block;
}

.pr-logo__bar--1[b-ix4da6v3ei] { fill: var(--logo-bar-1); }
.pr-logo__bar--2[b-ix4da6v3ei] { fill: var(--logo-bar-2); }
.pr-logo__bar--3[b-ix4da6v3ei] { fill: var(--logo-bar-3); }

/* Sizes reuse the type scale — the same steps the sidebar and login already used. */
.pr-logo--sm[b-ix4da6v3ei] { font-size: var(--text-base); }
.pr-logo--md[b-ix4da6v3ei] { font-size: var(--text-lg); }
.pr-logo--lg[b-ix4da6v3ei] { font-size: var(--text-3xl); }

/* Keep the bar coloured when printed; browsers strip fills by default. */
@media print {
    .pr-logo__mark[b-ix4da6v3ei] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
/* /Components/Ui/Modal.razor.rz.scp.css */
.pr-modal__scrim[b-xz3n2l5j01] {
    position: fixed;
    inset: 0;
    background: rgba(43, 33, 24, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}

.pr-modal[b-xz3n2l5j01] {
    background: var(--paper-0);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    width: 420px;
    max-width: calc(100vw - var(--space-8));
    padding: var(--space-6);
    font-family: var(--font-body);
}

.pr-modal__title[b-xz3n2l5j01] {
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: var(--weight-display);
    color: var(--text-primary);
    margin-bottom: var(--space-3);
}

.pr-modal__body[b-xz3n2l5j01] {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: var(--leading-normal);
}

.pr-modal__actions[b-xz3n2l5j01] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2);
    margin-top: var(--space-5);
}
/* /Components/Ui/PageHeader.razor.rz.scp.css */
.pr-pagehead[b-oez7ttr2ci] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.pr-pagehead__title[b-oez7ttr2ci] {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: var(--weight-display);
    color: var(--text-primary);
    line-height: var(--leading-tight);
}

.pr-pagehead__subtitle[b-oez7ttr2ci] {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--text-secondary);
    margin-top: var(--space-1);
}

.pr-pagehead__actions[b-oez7ttr2ci] {
    display: flex;
    gap: var(--space-2);
    flex-shrink: 0;
}
/* /Components/Ui/RuleExplanation.razor.rz.scp.css */
.pr-rule[b-e71la5zj9y] {
    border-radius: var(--radius-md);
    padding: var(--space-4);
    border: 1px solid;
}

.pr-rule--pass[b-e71la5zj9y] {
    background: var(--success-100);
    border-color: var(--success-600);
    color: var(--success-700);
}

.pr-rule--fail[b-e71la5zj9y] {
    background: var(--danger-100);
    border-color: var(--danger-600);
    color: var(--danger-700);
}

.pr-rule__head[b-e71la5zj9y] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: var(--weight-semibold);
    font-size: 14px;
}

.pr-rule__text[b-e71la5zj9y] {
    margin-top: var(--space-2);
    font-size: 14px;
    line-height: var(--leading-relaxed);
}

.pr-rule__extra[b-e71la5zj9y] {
    margin-top: var(--space-3);
}
/* /Components/Ui/StatCard.razor.rz.scp.css */
.pr-stat[b-4khrpk9jyy] {
    background: var(--surface-card);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    flex: 1;
}

.pr-stat--md[b-4khrpk9jyy] {
    padding: var(--space-4);
    min-width: 160px;
}

.pr-stat--sm[b-4khrpk9jyy] {
    padding: var(--space-3);
    min-width: 140px;
}

.pr-stat__label[b-4khrpk9jyy] {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
}

.pr-stat__value[b-4khrpk9jyy] {
    font-family: var(--font-mono);
    font-weight: var(--weight-semibold);
    color: var(--text-primary);
    margin-top: var(--space-1);
}

.pr-stat--md .pr-stat__value[b-4khrpk9jyy] { font-size: 28px; }
.pr-stat--sm .pr-stat__value[b-4khrpk9jyy] { font-size: var(--text-lg); }

.pr-stat__delta[b-4khrpk9jyy] {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    margin-top: var(--space-1);
    color: var(--text-tertiary);
}

.pr-stat__delta--success[b-4khrpk9jyy] { color: var(--success-700); }
.pr-stat__delta--danger[b-4khrpk9jyy] { color: var(--danger-700); }
/* /Components/Ui/StatusPill.razor.rz.scp.css */
.pr-pill[b-x22c7626ku] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px 3px 8px;
    border-radius: var(--radius-pill);
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    white-space: nowrap;
}

.pr-pill__dot[b-x22c7626ku] {
    width: 6px;
    height: 6px;
    border-radius: var(--radius-circle);
}

.pr-pill--pending[b-x22c7626ku] { background: var(--warning-100); color: var(--warning-700); }
.pr-pill--pending .pr-pill__dot[b-x22c7626ku] { background: var(--warning-600); }

.pr-pill--approved[b-x22c7626ku] { background: var(--success-100); color: var(--success-700); }
.pr-pill--approved .pr-pill__dot[b-x22c7626ku] { background: var(--success-600); }

.pr-pill--rejected[b-x22c7626ku] { background: var(--danger-100); color: var(--danger-700); }
.pr-pill--rejected .pr-pill__dot[b-x22c7626ku] { background: var(--danger-600); }

.pr-pill--flagged[b-x22c7626ku] { background: var(--gold-100); color: var(--gold-800); }
.pr-pill--flagged .pr-pill__dot[b-x22c7626ku] { background: var(--gold-600); }
/* /Components/Ui/Table.razor.rz.scp.css */
.pr-table-wrap[b-5ritmhqt4o] {
    overflow-x: auto;
}

.pr-table[b-5ritmhqt4o] {
    width: 100%;
    border-collapse: collapse;
}

.pr-table[b-5ritmhqt4o]  th {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    text-align: left;
    padding: 14px 16px 8px;
    white-space: nowrap;
}

.pr-table[b-5ritmhqt4o]  td {
    padding: 10px 16px;
    border-top: 1px solid var(--border-subtle);
    font-size: var(--text-sm);
    color: var(--text-primary);
    vertical-align: middle;
}

.pr-table[b-5ritmhqt4o]  .mono {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
}

.pr-table[b-5ritmhqt4o]  .num {
    font-family: var(--font-mono);
    font-size: var(--text-xs);
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.pr-table[b-5ritmhqt4o]  th.num {
    font-family: var(--font-body);
    font-size: var(--text-xs);
}

.pr-table[b-5ritmhqt4o]  tr.pr-row--clickable {
    cursor: pointer;
}

.pr-table[b-5ritmhqt4o]  tr.pr-row--clickable:hover td {
    background: var(--surface-card-hover);
}

.pr-table[b-5ritmhqt4o]  td.pr-cell--detail {
    background: var(--bg-sunken);
    color: var(--text-secondary);
    font-size: var(--text-sm);
}
/* /Components/Ui/Tabs.razor.rz.scp.css */
.pr-tabs[b-wry5le9b8v] {
    display: flex;
    gap: var(--space-1);
    border-bottom: 1px solid var(--border-subtle);
    font-family: var(--font-body);
}

.pr-tabs__tab[b-wry5le9b8v] {
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: var(--weight-semibold);
    color: var(--text-secondary);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color var(--duration-fast) var(--ease-out);
}

.pr-tabs__tab:hover[b-wry5le9b8v] {
    color: var(--text-primary);
}

.pr-tabs__tab--active[b-wry5le9b8v] {
    color: var(--olive-700);
    border-bottom-color: var(--olive-600);
}
/* /Components/Ui/ToastHost.razor.rz.scp.css */
.pr-toasts[b-tgf25qwuan] {
    position: fixed;
    bottom: var(--space-6);
    right: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    z-index: 150;
}

.pr-toast[b-tgf25qwuan] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: 10px 14px;
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: var(--text-sm);
    box-shadow: var(--shadow-md);
    max-width: 380px;
}

.pr-toast--success[b-tgf25qwuan] {
    background: var(--success-100);
    color: var(--success-700);
    border-left: 3px solid var(--success-600);
}

.pr-toast--danger[b-tgf25qwuan] {
    background: var(--danger-100);
    color: var(--danger-700);
    border-left: 3px solid var(--danger-600);
}

.pr-toast--info[b-tgf25qwuan] {
    background: var(--info-100);
    color: var(--info-700);
    border-left: 3px solid var(--info-600);
}

.pr-toast__text[b-tgf25qwuan] {
    flex: 1;
}

.pr-toast__close[b-tgf25qwuan] {
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    padding: 0;
    line-height: 1;
}
/* /Components/Ui/WizardSteps.razor.rz.scp.css */
.pr-steps[b-i4zlkk8vll] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
}

.pr-steps__item[b-i4zlkk8vll] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.pr-steps__item + .pr-steps__item[b-i4zlkk8vll]::before {
    content: "";
    width: 24px;
    border-top: 1px solid var(--border-default);
    margin-right: var(--space-4);
}

.pr-steps__marker[b-i4zlkk8vll] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-circle);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    border: 1px solid var(--border-default);
    color: var(--text-tertiary);
    background: var(--bg-sunken);
}

.pr-steps__label[b-i4zlkk8vll] {
    font-size: var(--text-sm);
    color: var(--text-tertiary);
}

.pr-steps__item--active .pr-steps__marker[b-i4zlkk8vll] {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: var(--text-on-brand);
}

.pr-steps__item--active .pr-steps__label[b-i4zlkk8vll] {
    color: var(--text-primary);
    font-weight: var(--weight-semibold);
}

.pr-steps__item--done .pr-steps__marker[b-i4zlkk8vll] {
    background: var(--success-100);
    border-color: var(--success-600);
    color: var(--success-700);
}

.pr-steps__item--done .pr-steps__label[b-i4zlkk8vll] {
    color: var(--text-secondary);
}
