/* /Components/Layout/AppLayout.razor.rz.scp.css */
.easybook-shell[b-cloyh72x7z] {
    display: flex;
    min-height: 100vh;
    background: #f6f7f9;
}

.easybook-main[b-cloyh72x7z] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.easybook-topbar[b-cloyh72x7z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    height: 60px;
    padding: 0 1.25rem;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 30;
}

.topbar-left[b-cloyh72x7z] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    min-width: 0;
}

/* The bell and the user menu sit together on the right; without this they are flush. */
.topbar-right[b-cloyh72x7z] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.topbar-period[b-cloyh72x7z] {
    font-size: 0.8125rem;
    color: #6b7280;
}

.easybook-content[b-cloyh72x7z] {
    flex: 1;
    padding: 1.5rem;
    min-width: 0;
}

/* ---- Sidebar toggle, driven by a checkbox so it needs no script ---- */

.sidebar-toggle-state[b-cloyh72x7z] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sidebar-button[b-cloyh72x7z] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    cursor: pointer;
    margin: 0;
}

.sidebar-button:hover[b-cloyh72x7z] { background: #f3f4f6; }

.sidebar-button-bars[b-cloyh72x7z],
.sidebar-button-bars[b-cloyh72x7z]::before,
.sidebar-button-bars[b-cloyh72x7z]::after {
    display: block;
    width: 18px;
    height: 2px;
    background: #374151;
    border-radius: 2px;
    position: relative;
}

.sidebar-button-bars[b-cloyh72x7z]::before,
.sidebar-button-bars[b-cloyh72x7z]::after {
    content: "";
    position: absolute;
}

.sidebar-button-bars[b-cloyh72x7z]::before { top: -6px; }
.sidebar-button-bars[b-cloyh72x7z]::after { top: 6px; }

.sidebar-scrim[b-cloyh72x7z] { display: none; }

.visually-hidden[b-cloyh72x7z] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

@media (max-width: 960px) {
    .sidebar-button[b-cloyh72x7z] { display: flex; }

    .easybook-content[b-cloyh72x7z] { padding: 1rem; }

    /* The sidebar slides over the content rather than squeezing it. */
    .sidebar-toggle-state:checked ~ .sidebar-scrim[b-cloyh72x7z] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(17, 24, 39, 0.45);
        z-index: 40;
    }
}

/* ---- Collapsing the sidebar to an icon rail ---------------------------------------- */

.collapse-button[b-cloyh72x7z] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    background: none;
    border-radius: 8px;
    cursor: pointer;
    color: #6b7280;
}

.collapse-button:hover[b-cloyh72x7z] { background: #f3f4f6; color: #111827; }

/* Two chevrons pointing the way the menu is about to move: inward to make it a rail,
   outward to bring it back. The direction is the whole message, so nothing else is drawn. */
.collapse-button-mark[b-cloyh72x7z],
.collapse-button-mark[b-cloyh72x7z]::before,
.collapse-button-mark[b-cloyh72x7z]::after {
    box-sizing: border-box;
}

.collapse-button-mark[b-cloyh72x7z] {
    position: relative;
    width: 18px;
    height: 14px;
}

.collapse-button-mark[b-cloyh72x7z]::before,
.collapse-button-mark[b-cloyh72x7z]::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    border-left: 1.6px solid currentColor;
    border-bottom: 1.6px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.collapse-button-mark[b-cloyh72x7z]::before { left: 1px; }
.collapse-button-mark[b-cloyh72x7z]::after { left: 7px; }

/* Collapsed, they point out — the button now reopens the menu. */
.nav-collapsed .collapse-button-mark[b-cloyh72x7z]::before,
.nav-collapsed .collapse-button-mark[b-cloyh72x7z]::after {
    transform: translateY(-50%) rotate(-135deg);
}

.nav-collapsed .collapse-button-mark[b-cloyh72x7z]::before { left: 3px; }
.nav-collapsed .collapse-button-mark[b-cloyh72x7z]::after { left: 9px; }

@media (min-width: 961px) {
    .collapse-button[b-cloyh72x7z] { display: flex; }

    /* Wide enough for a 16px glyph with air around it, and nothing else. */
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar { width: 64px; }

    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .brand-name,
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .sidebar-company,
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-section-title,
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-group-title,
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-group-caret,
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-label {
        display: none;
    }

    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .sidebar-brand {
        justify-content: center;
        padding: 0.875rem 0;
    }

    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-link,
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-group-summary {
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
        gap: 0;
    }

    /* A hairline where a heading used to be, so the groups still read as groups. */
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-group { border-top: 1px solid #1e293b; }

    /* A group icon reopens the menu on that group. It is the only way back to its pages
       from the rail, so it stays a target rather than becoming decoration. */
    .nav-collapsed[b-cloyh72x7z]  .easybook-sidebar .nav-group-summary { cursor: pointer; }
}
/* /Components/Layout/BareLayout.razor.rz.scp.css */
.bare-shell[b-p7kirmt4wb] {
    min-height: 100vh;
    background: #fff;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.easybook-sidebar[b-v32jtjvreo] {
    width: 250px;
    flex-shrink: 0;
    /* Sampled from the reference: a vertical navy gradient, #163667 at the top down to
       #0f274d. The sidebar runs the same axis as the bar it was taken from, so the gradient
       carries over directly rather than being flattened to one colour. */
    background: linear-gradient(180deg, #163667 0%, #0f274d 100%);
    color: #cbd5e1;
    display: flex;
    flex-direction: column;
    height: 100vh;
    position: sticky;
    top: 0;
    z-index: 45;
}

.sidebar-brand[b-v32jtjvreo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.brand-link[b-v32jtjvreo] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
}

.brand-mark[b-v32jtjvreo] {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
}

.brand-name[b-v32jtjvreo] {
    font-size: 1rem;
    font-weight: 600;
    color: #f8fafc;
}

.sidebar-close[b-v32jtjvreo] {
    display: none;
    cursor: pointer;
    color: #94a3b8;
    font-size: 0.9rem;
    padding: 0.25rem 0.4rem;
    margin: 0;
}

.sidebar-company[b-v32jtjvreo] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.sidebar-company-label[b-v32jtjvreo] {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #93a7c4;
    font-weight: 600;
}

.sidebar-company-name[b-v32jtjvreo] {
    font-size: 0.8125rem;
    color: #e2e8f0;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nav-scroll[b-v32jtjvreo] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0 2rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}

.nav-scroll[b-v32jtjvreo]::-webkit-scrollbar { width: 6px; }
.nav-scroll[b-v32jtjvreo]::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.22); border-radius: 3px; }

[b-v32jtjvreo] .nav-section { margin-bottom: 0.25rem; }

[b-v32jtjvreo] .nav-section-title {
    padding: 0.625rem 1rem 0.3rem;
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #93a7c4;
}

[b-v32jtjvreo] .nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

[b-v32jtjvreo] .nav-group { border: none; }

[b-v32jtjvreo] .nav-group-summary {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.55rem 1rem;
    cursor: pointer;
    list-style: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #cbd5e1;
    user-select: none;
}

[b-v32jtjvreo] .nav-group-summary::-webkit-details-marker { display: none; }
[b-v32jtjvreo] .nav-group-summary::marker { content: ""; }
[b-v32jtjvreo] .nav-group-summary:hover { background: rgba(255, 255, 255, 0.08); color: #f8fafc; }

[b-v32jtjvreo] .nav-group-title { flex: 1; }

[b-v32jtjvreo] .nav-group-caret {
    font-size: 0.65rem;
    color: #93a7c4;
    transition: transform 0.15s;
}

[b-v32jtjvreo] .nav-group[open] .nav-group-caret { transform: rotate(180deg); }

[b-v32jtjvreo] .nav-link {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.45rem 1rem 0.45rem 2.4rem;
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.8125rem;
    border-left: 3px solid transparent;
    transition: background 0.1s, color 0.1s;
}

/* Top-level items sit at the same indent as a group header, not under one. */
[b-v32jtjvreo] .nav-section .nav-link { padding-left: 1rem; }

[b-v32jtjvreo] .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #f1f5f9;
}

[b-v32jtjvreo] .nav-link.active {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border-left-color: #60a5fa;
    font-weight: 500;
}

[b-v32jtjvreo] .nav-icon {
    width: 16px;
    text-align: center;
    opacity: 0.8;
    font-size: 0.8rem;
}


/* The glyph sits in a fixed box so icons line up down the rail whatever their shape. */
[b-v32jtjvreo] .nav-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

[b-v32jtjvreo] .nav-glyph { display: block; }

/* Sub-items keep their indent when the menu is open; the icon marks the hierarchy with the
   group's own icon sitting further left. */
[b-v32jtjvreo] .nav-link { padding-left: 2.1rem; }
[b-v32jtjvreo] .nav-section .nav-link { padding-left: 1rem; }

/* The company's standing, under its name in the sidebar. Small and quiet: it is context for
   everything else on the screen, not a call to action — the banner across the top already
   carries the urgency when a trial is running out. */
.sidebar-company-status[b-v32jtjvreo] {
    align-self: flex-start;
    margin-top: 0.25rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.14);
    color: #dbe6f7;
}

.sidebar-company-status.trial[b-v32jtjvreo] {
    background: rgba(96, 165, 250, 0.22);
    color: #bfdbfe;
}

.sidebar-company-status.alert[b-v32jtjvreo] {
    background: rgba(248, 113, 113, 0.22);
    color: #fecaca;
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-shell[b-xzqr0qhmbz] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f6f7f9;
}

.public-header[b-xzqr0qhmbz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
}

.public-brand[b-xzqr0qhmbz] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
    color: #111827;
}

.brand-mark[b-xzqr0qhmbz] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #2563eb;
    color: #fff;
    font-weight: 700;
}

.brand-name[b-xzqr0qhmbz] {
    font-size: 1.05rem;
    font-weight: 600;
}

.public-main[b-xzqr0qhmbz] {
    flex: 1;
}

.public-footer[b-xzqr0qhmbz] {
    padding: 1.25rem 2rem;
    border-top: 1px solid #e5e7eb;
    background: #fff;
    color: #6b7280;
    font-size: 0.8125rem;
}

@media (max-width: 640px) {
    .public-header[b-xzqr0qhmbz] { padding: 1rem; }
}

.public-nav[b-xzqr0qhmbz] { display: flex; align-items: center; gap: 0.5rem; }

.public-signout[b-xzqr0qhmbz] { margin: 0; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-sa11loiwek],
.components-reconnect-repeated-attempt-visible[b-sa11loiwek],
.components-reconnect-failed-visible[b-sa11loiwek],
.components-pause-visible[b-sa11loiwek],
.components-resume-failed-visible[b-sa11loiwek],
.components-rejoining-animation[b-sa11loiwek] {
    display: none;
}

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


#components-reconnect-modal[b-sa11loiwek] {
    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-sa11loiwek 0.5s both;
    &[open]

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

}

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

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

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

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

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

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

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

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

@keyframes components-rejoining-animation-b-sa11loiwek {
    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/Account/ConfirmEmail.razor.rz.scp.css */
.confirm-wrap[b-e50akfm2cn] {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 2rem 1.25rem;
    background: linear-gradient(150deg, #12314f 0%, #184a63 55%, #1d6b73 100%);
}

.confirm-card[b-e50akfm2cn] {
    width: 100%;
    max-width: 440px;
    padding: 2.25rem 2rem 1.75rem;
    text-align: center;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 30px 60px rgba(4, 20, 35, 0.3);
}

.brand[b-e50akfm2cn] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    margin-bottom: 1.75rem;
}

.brand-mark[b-e50akfm2cn] {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #12314f;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

.brand-name[b-e50akfm2cn] { font-size: 1.45rem; font-weight: 700; color: #12314f; }

.confirm-mark[b-e50akfm2cn] {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.confirm-mark.good[b-e50akfm2cn] { background: #16a085; }
.confirm-mark.bad[b-e50akfm2cn] { background: #b45309; }

.confirm-title[b-e50akfm2cn] {
    margin: 0 0 0.6rem;
    font-size: 1.5rem;
    font-weight: 600;
    color: #12314f;
}

.confirm-text[b-e50akfm2cn] {
    margin: 0 0 1.5rem;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #64748b;
}

.btn-trial[b-e50akfm2cn] {
    display: block;
    padding: 0.8rem 1rem;
    border: 1.5px solid #12876f;
    border-radius: 12px;
    background: #16a085;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.btn-trial:hover[b-e50akfm2cn] { background: #12876f; color: #fff; }

.confirm-foot[b-e50akfm2cn] { margin: 1rem 0 0; font-size: 0.85rem; }
.confirm-foot a[b-e50akfm2cn] { color: #12876f; font-weight: 600; text-decoration: none; }
/* /Components/Pages/Account/Login.razor.rz.scp.css */
.login-wrap[b-nculdasre5] {
    display: grid;
    place-items: center;
    padding: 4rem 1.5rem;
}

.login-card[b-nculdasre5] {
    width: 100%;
    max-width: 380px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 2rem;
}

.login-title[b-nculdasre5] {
    font-size: 1.375rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.35rem;
}

.login-sub[b-nculdasre5] {
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 1.5rem;
}
/* /Components/Pages/Account/Pricing.razor.rz.scp.css */
.pricing-head[b-ije5yxwmrv] { max-width: 46rem; margin: 3rem auto 2.25rem; padding: 0 1rem; text-align: center; }
.pricing-title[b-ije5yxwmrv] { font-size: 2rem; font-weight: 700; color: #111827; margin: 0 0 0.6rem; }
.pricing-lead[b-ije5yxwmrv] { font-size: 0.95rem; color: #4b5563; line-height: 1.6; margin: 0; }
.pricing-empty[b-ije5yxwmrv] { text-align: center; color: #6b7280; padding: 3rem 1rem; }

.pricing-grid[b-ije5yxwmrv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
    gap: 1.25rem;
    max-width: 62rem;
    margin: 0 auto;
    padding: 0 1rem 2rem;
    align-items: start;
}

.pricing-card[b-ije5yxwmrv] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 1.6rem 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.pricing-name[b-ije5yxwmrv] { font-size: 1.05rem; font-weight: 700; color: #111827; margin: 0; }

.pricing-amount[b-ije5yxwmrv] { margin: 0; display: flex; align-items: baseline; gap: 0.3rem; }
.pricing-currency[b-ije5yxwmrv] { font-size: 0.85rem; color: #6b7280; font-weight: 600; }
.pricing-figure[b-ije5yxwmrv] { font-size: 1.9rem; font-weight: 700; color: #111827; line-height: 1; }
.pricing-per[b-ije5yxwmrv] { font-size: 0.78rem; color: #6b7280; }

.pricing-annual[b-ije5yxwmrv] { margin: 0; font-size: 0.75rem; color: #067647; font-weight: 600; }
.pricing-desc[b-ije5yxwmrv] { margin: 0.3rem 0 0; font-size: 0.82rem; color: #4b5563; line-height: 1.55; }

.pricing-limits[b-ije5yxwmrv] {
    margin: 0.5rem 0 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
    padding: 0.75rem 0;
}

.pricing-limits dt[b-ije5yxwmrv] { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em; color: #9ca3af; }
.pricing-limits dd[b-ije5yxwmrv] { margin: 0.15rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }

.pricing-features[b-ije5yxwmrv] { list-style: none; margin: 0.4rem 0 1rem; padding: 0; display: grid; gap: 0.3rem; }
.pricing-features li[b-ije5yxwmrv] { font-size: 0.8rem; color: #374151; }

/* What a plan leaves out is shown rather than hidden: a missing line reads as an oversight,
   a greyed one reads as a reason to look at the plan above. */
.pricing-features li.no[b-ije5yxwmrv] { color: #9ca3af; }
.pricing-features li.yes span[b-ije5yxwmrv] { color: #067647; font-weight: 700; }

.pricing-card .btn[b-ije5yxwmrv] { margin-top: auto; }

.pricing-notes[b-ije5yxwmrv] {
    max-width: 62rem;
    margin: 0 auto;
    padding: 0 1rem 4rem;
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.6;
}
/* /Components/Pages/Account/SelectCompany.razor.rz.scp.css */
.chooser[b-6dga1zls1k] {
    max-width: 640px;
    margin: 0 auto;
    padding: 3rem 1.25rem 4rem;
}

.chooser-title[b-6dga1zls1k] {
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 0.5rem;
}

.chooser-lede[b-6dga1zls1k] {
    color: #6b7280;
    font-size: 0.9rem;
    max-width: 62ch;
    margin: 0 0 1.75rem;
}

.chooser-loading[b-6dga1zls1k] { color: #6b7280; font-size: 0.9rem; }

.chooser-list[b-6dga1zls1k] { display: flex; flex-direction: column; gap: 0.75rem; }

.chooser-form[b-6dga1zls1k] { margin: 0; }

.chooser-card[b-6dga1zls1k] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    width: 100%;
    text-align: left;
    padding: 1rem 1.125rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.12s, box-shadow 0.12s, transform 0.12s;
}

.chooser-card:hover[b-6dga1zls1k] {
    border-color: #2563eb;
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.12);
    transform: translateY(-1px);
}

.chooser-card.current[b-6dga1zls1k] { border-color: #2563eb; background: #eff6ff; }

.chooser-badge[b-6dga1zls1k] {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 9px;
    background: #2563eb;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.chooser-body[b-6dga1zls1k] { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; flex: 1 1 auto; }

.chooser-name[b-6dga1zls1k] { font-size: 0.95rem; font-weight: 600; color: #111827; }

.chooser-meta[b-6dga1zls1k] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: #6b7280;
}

.chooser-inactive[b-6dga1zls1k] { color: #b91c1c; font-weight: 500; }

.chooser-roles[b-6dga1zls1k] { display: flex; gap: 0.3rem; flex-wrap: wrap; margin-top: 0.25rem; }

[b-6dga1zls1k] .role-chip {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #f3f4f6;
    color: #4b5563;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-weight: 600;
}

.chooser-current[b-6dga1zls1k] {
    flex: 0 0 auto;
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #2563eb;
}

.chooser-note[b-6dga1zls1k] {
    margin-top: 1.5rem;
    font-size: 0.8125rem;
    color: #6b7280;
}

.chooser-add[b-6dga1zls1k] {
    display: inline-block;
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #2563eb;
    text-decoration: none;
}

.chooser-add:hover[b-6dga1zls1k] { text-decoration: underline; }
/* /Components/Pages/Accounting/Banking.razor.rz.scp.css */
[b-pteyuplps4] .selected td { background: #eff6ff; }
[b-pteyuplps4] .money-out { color: #b91c1c; }
[b-pteyuplps4] .money-in { color: #047857; }

.match-note[b-pteyuplps4] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 72ch;
}

/* Upload dialog: the account being loaded, then what the import did. */
.pay-summary[b-pteyuplps4] {
    display: flex;
    gap: 1.75rem;
    flex-wrap: wrap;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin: 0 0 1.25rem;
}

[b-pteyuplps4] .pay-summary dt {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-pteyuplps4] .pay-summary dd { margin: 0; font-size: 0.9rem; color: #111827; }

.import-result[b-pteyuplps4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem 1.25rem;
    margin: 0;
}

[b-pteyuplps4] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-pteyuplps4] .detail-field dd { margin: 0; font-size: 0.9rem; color: #111827; }

.warning-list[b-pteyuplps4] { margin: 0.4rem 0 0; padding-left: 1.1rem; font-size: 0.8rem; }

/* A statement line opens into what it might be, and what to do about it. */
[b-pteyuplps4] .txn-row { cursor: pointer; }
[b-pteyuplps4] .txn-row.open td { background: #eff6ff; font-weight: 500; }
[b-pteyuplps4] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

[b-pteyuplps4] .detail-row > td { background: #f9fafb; padding: 1rem; }

.txn-detail[b-pteyuplps4] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.875rem 1rem;
}

.txn-sub-title[b-pteyuplps4] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.45rem;
}

.txn-sub-title:not(:first-child)[b-pteyuplps4] { margin-top: 1.1rem; }

.candidates[b-pteyuplps4] { font-size: 0.82rem; }

[b-pteyuplps4] .reasoning { font-size: 0.78rem; max-width: 26rem; }

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

.categorise .form-select[b-pteyuplps4] { max-width: 22rem; }
.categorise .form-control[b-pteyuplps4] { max-width: 18rem; }

.txn-note[b-pteyuplps4] {
    margin: 0.6rem 0 0;
    font-size: 0.8rem;
    color: #6b7280;
    max-width: 80ch;
}

/* Acting on many lines at once, which is how a statement is actually worked through. */
.bulk-bar[b-pteyuplps4] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.7rem 1.125rem;
    background: #eff6ff;
    border-bottom: 1px solid #dbeafe;
}

.bulk-count[b-pteyuplps4] { font-size: 0.85rem; font-weight: 600; color: #1e40af; }

.bulk-bar .form-select[b-pteyuplps4] { max-width: 24rem; }

[b-pteyuplps4] .txn-row.picked td { background: #eff6ff; }

.rule-form-title[b-pteyuplps4] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 1.25rem 0 0.5rem;
}

[b-pteyuplps4] .inactive-rule td { opacity: 0.55; }

/* The VAT control sits beside the account, narrow enough not to crowd it. Stated after the
   .categorise rules above so it wins on order rather than needing !important. */
.categorise .vat-select[b-pteyuplps4],
.bulk-bar .vat-select[b-pteyuplps4] { max-width: 11rem; flex: 0 0 11rem; }

/* The account or document a line was settled against. Narrow and quiet: it is context for
   the description beside it, not the thing being read. */
[b-pteyuplps4] td.allocated {
    font-size: 0.8rem;
    color: #374151;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Pages/Accounting/BillEditor.razor.rz.scp.css */
.attach[b-jotfp7r3cy] {
    margin-top: 1.25rem;
    padding-top: 1.125rem;
    border-top: 1px solid #f3f4f6;
}

.attach-title[b-jotfp7r3cy] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.625rem;
}

.attach-controls[b-jotfp7r3cy] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* The file input itself is hidden, so the label is the control people press. */
.attach-button[b-jotfp7r3cy] { margin: 0; cursor: pointer; }

.attach-hint[b-jotfp7r3cy] {
    font-size: 0.78rem;
    color: #6b7280;
    max-width: 52ch;
    line-height: 1.5;
}

.attach-error[b-jotfp7r3cy] {
    margin: 0.625rem 0 0;
    padding: 0.55rem 0.75rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #991b1b;
}

.attach-list[b-jotfp7r3cy] {
    list-style: none;
    margin: 0.75rem 0 0;
    padding: 0;
    max-width: 38rem;
}

.attach-list li[b-jotfp7r3cy] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.4rem 0.7rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 0.82rem;
}

.attach-list li + li[b-jotfp7r3cy] { margin-top: 0.35rem; }

.attach-name[b-jotfp7r3cy] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #111827;
}

.attach-size[b-jotfp7r3cy] { color: #6b7280; font-variant-numeric: tabular-nums; white-space: nowrap; }
/* /Components/Pages/Accounting/CustomerDetail.razor.rz.scp.css */
.party-card[b-ntq9krs91x] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.party-head[b-ntq9krs91x] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1.125rem 1.25rem;
    border-bottom: 1px solid #f3f4f6;
    background: #f9fafb;
}

.party-code[b-ntq9krs91x] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
}

.party-name[b-ntq9krs91x] {
    margin: 0.1rem 0 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
}

.party-balances[b-ntq9krs91x] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.75rem;
}

[b-ntq9krs91x] .party-balances dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-ntq9krs91x] .party-balances dd {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.detail-grid[b-ntq9krs91x] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1.125rem 1.25rem;
    margin: 0;
}

[b-ntq9krs91x] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-ntq9krs91x] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-notes[b-ntq9krs91x] {
    padding: 0.85rem 1.25rem;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
    border-top: 1px solid #f3f4f6;
}

.detail-notes strong[b-ntq9krs91x] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

[b-ntq9krs91x] .overdue { color: #b91c1c; }

.panel-note[b-ntq9krs91x] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 76ch;
}
/* /Components/Pages/Accounting/Customers.razor.rz.scp.css */
.summary[b-ty6tkjthtt] { font-size: 0.8125rem; color: #6b7280; }

[b-ty6tkjthtt] .party-row { cursor: pointer; }
[b-ty6tkjthtt] .party-row.open td { background: #eff6ff; font-weight: 500; }
[b-ty6tkjthtt] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-ty6tkjthtt] .overdue { color: #b91c1c; font-weight: 500; }

[b-ty6tkjthtt] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-ty6tkjthtt] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-grid[b-ty6tkjthtt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1rem;
    margin: 0;
    border-bottom: 1px solid #f3f4f6;
}

[b-ty6tkjthtt] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-ty6tkjthtt] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-notes[b-ty6tkjthtt] {
    padding: 0.75rem 1rem;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
    border-bottom: 1px solid #f3f4f6;
}

.detail-notes strong[b-ty6tkjthtt] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-sub[b-ty6tkjthtt] { padding: 0.875rem 1rem 0; }

.detail-sub-title[b-ty6tkjthtt] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.detail-table[b-ty6tkjthtt] { font-size: 0.8rem; }

.detail-loading[b-ty6tkjthtt] {
    margin: 0 0 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-actions[b-ty6tkjthtt] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    margin-top: 0.75rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

.entity-form[b-ty6tkjthtt] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}

.form-actions[b-ty6tkjthtt] {
    display: flex;
    gap: 0.5rem;
    padding: 0 1.25rem 1.25rem;
}
/* /Components/Pages/Accounting/GeneralLedger.razor.rz.scp.css */
.account-header td[b-n45tw2cby3] {
    font-weight: 600;
    background: #f9fafb;
    color: #111827;
}

/* Only headings open and close, so only they get the pointer and the marker. */
[b-n45tw2cby3] .expandable { cursor: pointer; }
[b-n45tw2cby3] .expandable.open td { background: #eff6ff; }
[b-n45tw2cby3] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
/* A heading's rolled-up figure carries its column's colour like any other amount. Its own
   grey is gone: the bold weight and the shaded row already say it is a total, and pinning a
   colour here was quietly overriding the debit and credit columns underneath. */
[b-n45tw2cby3] .rollup { font-variant-numeric: tabular-nums; }

/* The totals that prove the ledger balances. */
[b-n45tw2cby3] .ledger-total td {
    border-top: 2px solid #374151;
    font-weight: 700;
    color: #111827;
    padding-top: 0.5rem;
}

[b-n45tw2cby3] .out-of-balance { color: #b42318; }

.ledger-warning[b-n45tw2cby3] {
    margin: 0.875rem 0 0;
    padding: 0.6rem 0.8rem;
    border-radius: 8px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    font-size: 0.82rem;
}

/* A postable account opens its own ledger, so it reads as clickable like a heading does. */
[b-n45tw2cby3] tr.postable { cursor: pointer; }
[b-n45tw2cby3] tr.postable:hover { background: #f9fafb; }
[b-n45tw2cby3] tr.postable.opened { background: #eff6ff; }

[b-n45tw2cby3] tr.postings-row > td { background: #f9fafb; padding: 0.75rem 1rem; }

[b-n45tw2cby3] .postings {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

[b-n45tw2cby3] .postings thead th {
    text-align: left;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    background: #f3f4f6;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid #e5e7eb;
}

[b-n45tw2cby3] .postings tbody td {
    padding: 0.35rem 0.6rem;
    border-bottom: 1px solid #f3f4f6;
    color: #374151;
}

[b-n45tw2cby3] .postings .text-end { text-align: right; }

[b-n45tw2cby3] .postings-note {
    margin: 0.5rem 0 0;
    font-size: 0.76rem;
    color: #6b7280;
}

/* Money is read by colour before it is read as a number: debits red, credits green, and both
   balance columns blue so a figure carried forward is never taken for a movement. Each is dark
   enough to clear AA against the white row. */
[b-n45tw2cby3] td.debit, [b-n45tw2cby3] .debit { color: #b42318; }
[b-n45tw2cby3] td.credit, [b-n45tw2cby3] .credit { color: #15803d; }
[b-n45tw2cby3] td.balance, [b-n45tw2cby3] .balance { color: #1d4ed8; }

/* Nothing posted. Neutral in every column, and declared on the amount itself so it beats the
   column colour it would otherwise inherit — a red dash in the debit column reads as a debit
   of some unstated amount rather than as nothing at all.

   A balance below zero is told apart by its minus sign rather than by a fourth colour, which
   would collide with the red that already means "debit" two columns away. */
[b-n45tw2cby3] .ledger-none { color: #9ca3af; }

/* The drill-down sets its own cell colour, and `.postings tbody td` is more specific than the
   column rules above — so a posting's debit and credit would quietly lose their red and green.
   Restated here at matching specificity rather than left to the cascade. The balance and the
   dash need no restating: both carry their class on the amount itself, which beats any colour
   the cell around them inherits. */
[b-n45tw2cby3] .postings td.debit { color: #b42318; }
[b-n45tw2cby3] .postings td.credit { color: #15803d; }
[b-n45tw2cby3] .postings td.debit, [b-n45tw2cby3] .postings td.credit { font-variant-numeric: tabular-nums; }
/* /Components/Pages/Accounting/IncomeTax.razor.rz.scp.css */
[b-6aine9tpt3] .return-row { cursor: pointer; }
[b-6aine9tpt3] .return-row.open td { background: #eff6ff; font-weight: 500; }
[b-6aine9tpt3] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-6aine9tpt3] .overdue { color: #b91c1c; font-weight: 500; }

[b-6aine9tpt3] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-6aine9tpt3] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-6aine9tpt3] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.85rem 1rem 0.4rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-6aine9tpt3] { border-top: none; }

.detail-grid[b-6aine9tpt3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-6aine9tpt3] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-6aine9tpt3] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-table[b-6aine9tpt3] { font-size: 0.8rem; }

.detail-loading[b-6aine9tpt3] {
    margin: 0 1rem 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-warning[b-6aine9tpt3] {
    margin: 0.5rem 1rem 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 82ch;
}

[b-6aine9tpt3] .source-codes td {
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
}

[b-6aine9tpt3] .source-code {
    display: inline-block;
    margin-right: 1.25rem;
    font-size: 0.75rem;
    color: #4b5563;
}

[b-6aine9tpt3] .source-code strong {
    color: #111827;
    margin-right: 0.3rem;
}

[b-6aine9tpt3] .source-code em {
    font-style: normal;
    font-weight: 600;
    margin-left: 0.3rem;
}

.detail-actions[b-6aine9tpt3] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

[b-6aine9tpt3] .computation-total td {
    border-top: 1px solid #d1d5db;
    font-weight: 600;
}

.panel-note[b-6aine9tpt3] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 80ch;
}
/* /Components/Pages/Accounting/InvoiceEditor.razor.rz.scp.css */
.lines-head[b-bpjp66em17] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 1.5rem 0 0.5rem;
}

.lines-title[b-bpjp66em17] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
}

.line-table td[b-bpjp66em17] { vertical-align: top; }
.line-table tfoot td[b-bpjp66em17] { border-top: 1px solid #e5e7eb; }

.notes-row[b-bpjp66em17] { margin-top: 1rem; }

/* Two choices shown side by side rather than hidden behind a dropdown. */
.doc-switch[b-bpjp66em17] {
    display: inline-flex;
    border: 1.5px solid #111827;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.doc-option[b-bpjp66em17] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.1rem;
    border: none;
    background: #fff;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

/* A divider between the two, drawn on the second so the outer corners stay clean. */
.doc-option + .doc-option[b-bpjp66em17] { border-left: 1.5px solid #111827; }

.doc-option:hover:not(.selected)[b-bpjp66em17] { background: #f1f5f9; }

.doc-option.selected[b-bpjp66em17] {
    background: #3d6b52;
    color: #fff;
}

/* Keyboard focus has to stay visible against both the white and the green. */
.doc-option:focus-visible[b-bpjp66em17] {
    outline: 2px solid #2563eb;
    outline-offset: -3px;
}

.doc-icon[b-bpjp66em17] { width: 18px; height: 18px; flex-shrink: 0; }

@media (max-width: 480px) {
    .doc-switch[b-bpjp66em17] { display: flex; width: 100%; }
    .doc-option[b-bpjp66em17] { flex: 1; justify-content: center; padding-inline: 0.5rem; }
}

/* Separated from the fields below, since it governs them. */
.doc-type-row[b-bpjp66em17] {
    padding-bottom: 0.875rem;
    border-bottom: 1px solid #f1f5f9;
}

/* Bootstrap's .form-label is inline-block, which put the label beside the switch instead of
   above it the way every other field in this form reads. */
.doc-type-row .form-label[b-bpjp66em17] { display: block; }
/* /Components/Pages/Accounting/Items.razor.rz.scp.css */
.summary[b-pe9i4wojag] { font-size: 0.8125rem; color: #6b7280; }

.entity-form[b-pe9i4wojag] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}

.checks[b-pe9i4wojag] {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    flex-wrap: wrap;
}

.check[b-pe9i4wojag] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
}

.form-actions[b-pe9i4wojag] {
    display: flex;
    gap: 0.5rem;
    padding: 0 1.25rem 1.25rem;
}

[b-pe9i4wojag] .item-row { cursor: pointer; }
[b-pe9i4wojag] .item-row.open td { background: #eff6ff; font-weight: 500; }
[b-pe9i4wojag] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

[b-pe9i4wojag] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-pe9i4wojag] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-grid[b-pe9i4wojag] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1rem;
    margin: 0;
    border-bottom: 1px solid #f3f4f6;
}

.detail-grid-flush[b-pe9i4wojag] {
    padding: 0 0 0.75rem;
    border-bottom: none;
}

[b-pe9i4wojag] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-pe9i4wojag] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-notes[b-pe9i4wojag] {
    padding: 0.75rem 1rem;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
    border-bottom: 1px solid #f3f4f6;
}

.detail-notes strong[b-pe9i4wojag] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-sub[b-pe9i4wojag] { padding: 0.875rem 1rem 0; }

.detail-sub-title[b-pe9i4wojag] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.detail-loading[b-pe9i4wojag] {
    margin: 0 0 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
    max-width: 76ch;
}

.detail-actions[b-pe9i4wojag] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    margin-top: 0.75rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

[b-pe9i4wojag] .form-locked {
    align-self: end;
    font-size: 0.8rem;
    color: #6b7280;
    max-width: 52ch;
}

[b-pe9i4wojag] .form-hint {
    font-size: 0.8rem;
    color: #6b7280;
    max-width: 76ch;
    margin-top: -0.25rem;
}
/* /Components/Pages/Accounting/Itr14.razor.rz.scp.css */
[b-s4k61mjqmz] .return-row { cursor: pointer; }
[b-s4k61mjqmz] .return-row.open td { background: #eff6ff; font-weight: 500; }
[b-s4k61mjqmz] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-s4k61mjqmz] .overdue { color: #b91c1c; font-weight: 500; }

[b-s4k61mjqmz] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-s4k61mjqmz] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-s4k61mjqmz] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.85rem 1rem 0.4rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-s4k61mjqmz] { border-top: none; }

.detail-grid[b-s4k61mjqmz] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-s4k61mjqmz] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-s4k61mjqmz] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-table[b-s4k61mjqmz] { font-size: 0.8rem; }

.detail-loading[b-s4k61mjqmz] {
    margin: 0 1rem 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-warning[b-s4k61mjqmz] {
    margin: 0.5rem 1rem 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 82ch;
}

[b-s4k61mjqmz] .source-codes td {
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
}

[b-s4k61mjqmz] .source-code {
    display: inline-block;
    margin-right: 1.25rem;
    font-size: 0.75rem;
    color: #4b5563;
}

[b-s4k61mjqmz] .source-code strong {
    color: #111827;
    margin-right: 0.3rem;
}

[b-s4k61mjqmz] .source-code em {
    font-style: normal;
    font-weight: 600;
    margin-left: 0.3rem;
}

.detail-actions[b-s4k61mjqmz] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

[b-s4k61mjqmz] .computation-total td {
    border-top: 1px solid #d1d5db;
    font-weight: 600;
}

.panel-note[b-s4k61mjqmz] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 80ch;
}

/* The return itself, which reads as a document rather than a table of rows. */
[b-s4k61mjqmz] .return-row { cursor: pointer; }
[b-s4k61mjqmz] .return-row.open td { background: #eff6ff; font-weight: 500; }

.itr14[b-s4k61mjqmz] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.875rem 1rem;
}

.itr14-title[b-s4k61mjqmz] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.45rem;
}

.itr14-title:not(:first-child)[b-s4k61mjqmz] { margin-top: 1.1rem; }

.itr14-lines[b-s4k61mjqmz] { font-size: 0.82rem; }

[b-s4k61mjqmz] .itr14-item td {
    padding-left: 1.5rem;
    font-size: 0.78rem;
    color: #6b7280;
    border-top: none;
}

[b-s4k61mjqmz] .item-note { font-style: italic; }

.itr14-actions[b-s4k61mjqmz] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding-top: 0.875rem;
    margin-top: 0.875rem;
    border-top: 1px solid #f3f4f6;
}

.itr14-warning[b-s4k61mjqmz] {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 78ch;
}
/* /Components/Pages/Accounting/ProvisionalTax.razor.rz.scp.css */
[b-jai1gtawzf] .return-row { cursor: pointer; }
[b-jai1gtawzf] .return-row.open td { background: #eff6ff; font-weight: 500; }
[b-jai1gtawzf] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-jai1gtawzf] .overdue { color: #b91c1c; font-weight: 500; }

[b-jai1gtawzf] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-jai1gtawzf] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-jai1gtawzf] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.85rem 1rem 0.4rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-jai1gtawzf] { border-top: none; }

.detail-grid[b-jai1gtawzf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-jai1gtawzf] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-jai1gtawzf] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-table[b-jai1gtawzf] { font-size: 0.8rem; }

.detail-loading[b-jai1gtawzf] {
    margin: 0 1rem 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-warning[b-jai1gtawzf] {
    margin: 0.5rem 1rem 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 82ch;
}

[b-jai1gtawzf] .source-codes td {
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
}

[b-jai1gtawzf] .source-code {
    display: inline-block;
    margin-right: 1.25rem;
    font-size: 0.75rem;
    color: #4b5563;
}

[b-jai1gtawzf] .source-code strong {
    color: #111827;
    margin-right: 0.3rem;
}

[b-jai1gtawzf] .source-code em {
    font-style: normal;
    font-weight: 600;
    margin-left: 0.3rem;
}

.detail-actions[b-jai1gtawzf] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

[b-jai1gtawzf] .computation-total td {
    border-top: 1px solid #d1d5db;
    font-weight: 600;
}

.panel-note[b-jai1gtawzf] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 80ch;
}
/* /Components/Pages/Accounting/Purchases.razor.rz.scp.css */
[b-kw7f3afzyq] .bill-row {
    cursor: pointer;
}

[b-kw7f3afzyq] .bill-row.open td {
    background: #eff6ff;
    font-weight: 500;
}

[b-kw7f3afzyq] .expander {
    color: #9ca3af;
    font-size: 0.7rem;
    text-align: center;
}

[b-kw7f3afzyq] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-kw7f3afzyq] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-meta[b-kw7f3afzyq] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.8rem;
    color: #4b5563;
}

.detail-meta strong[b-kw7f3afzyq] {
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-table[b-kw7f3afzyq] { font-size: 0.82rem; }
.detail-table tfoot td[b-kw7f3afzyq] { border-top: 1px solid #e5e7eb; }

.detail-notes[b-kw7f3afzyq] {
    padding: 0.75rem 1rem 0;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
}

.detail-notes strong[b-kw7f3afzyq] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-actions[b-kw7f3afzyq] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    margin-top: 0.75rem;
    background: #f9fafb;
}

.detail-hint[b-kw7f3afzyq] {
    padding: 0 1rem 1rem;
    margin: 0;
    font-size: 0.78rem;
    color: #6b7280;
    background: #f9fafb;
    max-width: 78ch;
}

.detail-loading[b-kw7f3afzyq] {
    padding: 0.75rem;
    margin: 0;
    color: #6b7280;
    font-size: 0.85rem;
}

.no-actions[b-kw7f3afzyq] {
    font-size: 0.78rem;
    color: #6b7280;
    max-width: 78ch;
}

/* The slip behind the claim. */
.proof[b-kw7f3afzyq] {
    margin-top: 1.125rem;
    padding-top: 1rem;
    border-top: 1px solid #f3f4f6;
}

.proof-title[b-kw7f3afzyq] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.proof-none[b-kw7f3afzyq] {
    margin: 0 0 0.625rem;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 62ch;
    line-height: 1.5;
}

.proof-list[b-kw7f3afzyq] { list-style: none; margin: 0 0 0.625rem; padding: 0; max-width: 42rem; }

.proof-list li[b-kw7f3afzyq] {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.4rem 0.7rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 0.82rem;
}

.proof-list li + li[b-kw7f3afzyq] { margin-top: 0.35rem; }
.proof-list a[b-kw7f3afzyq] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proof-size[b-kw7f3afzyq] { color: #6b7280; font-variant-numeric: tabular-nums; white-space: nowrap; }
.proof-added[b-kw7f3afzyq] { color: #9ca3af; white-space: nowrap; font-size: 0.75rem; }
.proof-add[b-kw7f3afzyq] { margin: 0; cursor: pointer; }
/* /Components/Pages/Accounting/Sales.razor.rz.scp.css */
[b-hzsj45cgfj] .invoice-row {
    cursor: pointer;
}

[b-hzsj45cgfj] .invoice-row.open td {
    background: #eff6ff;
    font-weight: 500;
}

[b-hzsj45cgfj] .expander {
    color: #9ca3af;
    font-size: 0.7rem;
    text-align: center;
}

[b-hzsj45cgfj] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-hzsj45cgfj] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-meta[b-hzsj45cgfj] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.8rem;
    color: #4b5563;
}

.detail-meta strong[b-hzsj45cgfj] {
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-table[b-hzsj45cgfj] { font-size: 0.82rem; }
.detail-table tfoot td[b-hzsj45cgfj] { border-top: 1px solid #e5e7eb; }

.detail-notes[b-hzsj45cgfj] {
    padding: 0.75rem 1rem 0;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
}

.detail-notes strong[b-hzsj45cgfj] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-actions[b-hzsj45cgfj] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    margin-top: 0.75rem;
    background: #f9fafb;
}

.detail-hint[b-hzsj45cgfj] {
    padding: 0 1rem 1rem;
    margin: 0;
    font-size: 0.78rem;
    color: #6b7280;
    background: #f9fafb;
    max-width: 78ch;
}

.detail-loading[b-hzsj45cgfj] {
    padding: 0.75rem;
    margin: 0;
    color: #6b7280;
    font-size: 0.85rem;
}

.pay-summary[b-hzsj45cgfj] {
    display: flex;
    gap: 1.75rem;
    flex-wrap: wrap;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin: 0 0 1.25rem;
}

[b-hzsj45cgfj] .pay-summary dt {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-hzsj45cgfj] .pay-summary dd {
    margin: 0;
    font-size: 0.9rem;
    color: #111827;
}

.credit-warning[b-hzsj45cgfj] {
    margin: 1rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fef3c7;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8125rem;
    color: #92400e;
}

.filters[b-hzsj45cgfj] {
    display: flex;
    gap: 0.5rem;
    /* Side by side: two related filters read as one control, and wrapping them looked like a
       layout accident. They stack only where the screen genuinely cannot hold both. */
    flex-wrap: nowrap;
}

.filters[b-hzsj45cgfj] { align-items: center; }
.filters .form-select[b-hzsj45cgfj] { width: 165px; }
.filters .form-control[type="date"][b-hzsj45cgfj] { width: 150px; }

/* Named, because two bare date boxes side by side do not say which end is which. */
.filter-label[b-hzsj45cgfj] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.filter-clear[b-hzsj45cgfj] {
    padding: 0 0.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .filters[b-hzsj45cgfj] { flex-wrap: wrap; }
    .filters .form-select[b-hzsj45cgfj],
    .filters .form-control[type="date"][b-hzsj45cgfj] { width: 100%; }
}

/* Picking the money off the statement rather than retyping it. */
.link-bank[b-hzsj45cgfj] {
    margin-bottom: 1.125rem;
    padding-bottom: 1.125rem;
    border-bottom: 1px solid #f3f4f6;
}

.link-title[b-hzsj45cgfj] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.link-note[b-hzsj45cgfj] {
    margin: 0;
    font-size: 0.82rem;
    color: #6b7280;
    max-width: 70ch;
}

/* Capped so a long statement cannot push the buttons off the screen. */
.link-list[b-hzsj45cgfj] {
    max-height: 13rem;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.link-line[b-hzsj45cgfj] {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    width: 100%;
    padding: 0.5rem 0.7rem;
    margin: 0;
    font-size: 0.82rem;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
}

.link-line:last-child[b-hzsj45cgfj] { border-bottom: 0; }
.link-line:hover[b-hzsj45cgfj] { background: #f9fafb; }
.link-line.chosen[b-hzsj45cgfj] { background: #eff6ff; }

.link-date[b-hzsj45cgfj] { color: #6b7280; white-space: nowrap; }

.link-desc[b-hzsj45cgfj] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.link-amount[b-hzsj45cgfj] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #047857;
    white-space: nowrap;
}

.link-flag[b-hzsj45cgfj] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
    color: #047857;
    background: #d1fae5;
    border-radius: 4px;
    padding: 0.1rem 0.35rem;
}

.link-none[b-hzsj45cgfj] {
    margin-top: 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #6b7280;
}

.link-chosen[b-hzsj45cgfj] {
    margin: 0;
    padding: 0.7rem 0.85rem;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    font-size: 0.82rem;
    color: #1e40af;
    max-width: 74ch;
}

/* What the ticked lines come to, against what the invoice still owes. */
.link-totals[b-hzsj45cgfj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    margin: 0.625rem 0 0;
    padding: 0.625rem 0.75rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.link-totals > div[b-hzsj45cgfj] { min-width: 0; }

.link-totals dt[b-hzsj45cgfj] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

.link-totals dd[b-hzsj45cgfj] {
    margin: 0.1rem 0 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #111827;
    font-variant-numeric: tabular-nums;
}

.link-totals .over dt[b-hzsj45cgfj],
.link-totals .over dd[b-hzsj45cgfj] { color: #b45309; }
/* /Components/Pages/Accounting/SupplierDetail.razor.rz.scp.css */
.party-card[b-h36r0m3icp] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.party-head[b-h36r0m3icp] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1.125rem 1.25rem;
    border-bottom: 1px solid #f3f4f6;
    background: #f9fafb;
}

.party-code[b-h36r0m3icp] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
}

.party-name[b-h36r0m3icp] {
    margin: 0.1rem 0 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
}

.party-balances[b-h36r0m3icp] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.75rem;
}

[b-h36r0m3icp] .party-balances dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-h36r0m3icp] .party-balances dd {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
}

.detail-grid[b-h36r0m3icp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1.125rem 1.25rem;
    margin: 0;
}

[b-h36r0m3icp] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-h36r0m3icp] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-notes[b-h36r0m3icp] {
    padding: 0.85rem 1.25rem;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
    border-top: 1px solid #f3f4f6;
}

.detail-notes strong[b-h36r0m3icp] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

[b-h36r0m3icp] .overdue { color: #b91c1c; }

.panel-note[b-h36r0m3icp] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 76ch;
}
/* /Components/Pages/Accounting/Suppliers.razor.rz.scp.css */
.summary[b-m0fchv0sg4] { font-size: 0.8125rem; color: #6b7280; }

[b-m0fchv0sg4] .party-row { cursor: pointer; }
[b-m0fchv0sg4] .party-row.open td { background: #eff6ff; font-weight: 500; }
[b-m0fchv0sg4] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-m0fchv0sg4] .overdue { color: #b91c1c; font-weight: 500; }

[b-m0fchv0sg4] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-m0fchv0sg4] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-grid[b-m0fchv0sg4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1rem;
    margin: 0;
    border-bottom: 1px solid #f3f4f6;
}

[b-m0fchv0sg4] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-m0fchv0sg4] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-notes[b-m0fchv0sg4] {
    padding: 0.75rem 1rem;
    margin: 0;
    font-size: 0.8rem;
    color: #4b5563;
    border-bottom: 1px solid #f3f4f6;
}

.detail-notes strong[b-m0fchv0sg4] {
    color: #6b7280;
    text-transform: uppercase;
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    margin-right: 0.3rem;
}

.detail-sub[b-m0fchv0sg4] { padding: 0.875rem 1rem 0; }

.detail-sub-title[b-m0fchv0sg4] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.detail-table[b-m0fchv0sg4] { font-size: 0.8rem; }

.detail-loading[b-m0fchv0sg4] {
    margin: 0 0 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-actions[b-m0fchv0sg4] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    margin-top: 0.75rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

.entity-form[b-m0fchv0sg4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}

.form-actions[b-m0fchv0sg4] {
    display: flex;
    gap: 0.5rem;
    padding: 0 1.25rem 1.25rem;
}
/* /Components/Pages/Accounting/Transactions.razor.rz.scp.css */
.detail-row > td[b-srk7yju3uz] {
    background: #f9fafb;
    padding: 0.75rem 1rem;
}

.detail-table[b-srk7yju3uz] {
    background: #fff;
    font-size: 0.82rem;
}

.detail-note[b-srk7yju3uz] {
    margin: 0.625rem 0 0;
    font-size: 0.8rem;
    color: #6b7280;
}

/* The whole row opens the entry, so the button that used to say Lines / Hide is gone. */
[b-srk7yju3uz] .entry-row { cursor: pointer; }
[b-srk7yju3uz] .entry-row.open td { background: #eff6ff; font-weight: 500; }
[b-srk7yju3uz] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
/* /Components/Pages/Accounting/Vat.razor.rz.scp.css */

/* The settlement entry shown in the finalise confirmation. */
.pay-summary[b-taxyqwuo9p] {
    display: flex;
    gap: 1.75rem;
    flex-wrap: wrap;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin: 0 0 1.25rem;
}

[b-taxyqwuo9p] .pay-summary dt {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-taxyqwuo9p] .pay-summary dd { margin: 0; font-size: 0.9rem; color: #111827; }

.settlement-title[b-taxyqwuo9p] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.4rem;
}

.settlement[b-taxyqwuo9p] { font-size: 0.82rem; }

[b-taxyqwuo9p] .line-note { color: #6b7280; font-size: 0.78rem; }

.settlement-loading[b-taxyqwuo9p],
.settlement-note[b-taxyqwuo9p] {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    color: #6b7280;
    max-width: 80ch;
}
/* /Components/Pages/Accounting/Vat201.razor.rz.scp.css */
.period-form[b-acnonujhp6] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.125rem;
}

.due-note[b-acnonujhp6] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
}

[b-acnonujhp6] .section td {
    background: #f9fafb;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b7280;
}

[b-acnonujhp6] .subtotal td { font-weight: 600; border-top: 1px solid #e5e7eb; }
[b-acnonujhp6] .total td { font-weight: 700; border-top: 2px solid #111827; }

.preview-actions[b-acnonujhp6] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0 1.125rem 1.125rem;
}
/* /Components/Pages/Admin/Companies.razor.rz.scp.css */
/* Scoped CSS does not travel between components, so the metric grid is restated here rather
   than shared with the dashboard. */
.metric-grid[b-289e03yxam] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

[b-289e03yxam] tr.inactive td { opacity: 0.6; }

.list-note[b-289e03yxam] {
    margin: 0.875rem 0 0;
    font-size: 0.8rem;
    color: #6b7280;
    max-width: 78ch;
    line-height: 1.55;
}
/* /Components/Pages/Admin/Overview.razor.rz.scp.css */
/* ---- the plan catalogue ---- */
.plan-grid[b-x1242cmmak] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
    gap: 1rem;
}

.plan-card[b-x1242cmmak] {
    display: flex;
    flex-direction: column;
    padding: 1.125rem 1.25rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

.plan-card.retired[b-x1242cmmak] { opacity: 0.62; }

.plan-head[b-x1242cmmak] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.plan-name[b-x1242cmmak] { font-size: 1.05rem; font-weight: 600; color: #111827; margin: 0; }
.plan-code[b-x1242cmmak] { font-size: 0.7rem; color: #9ca3af; }

.plan-price[b-x1242cmmak] { margin: 0.75rem 0 0; }
.plan-amount[b-x1242cmmak] { font-size: 1.5rem; font-weight: 600; color: #111827; }
.plan-period[b-x1242cmmak] { font-size: 0.85rem; color: #6b7280; }

.plan-annual[b-x1242cmmak] { margin: 0.15rem 0 0; font-size: 0.78rem; color: #6b7280; }

.plan-description[b-x1242cmmak] {
    margin: 0.75rem 0 0;
    font-size: 0.82rem;
    color: #4b5563;
    line-height: 1.55;
}

.plan-limits[b-x1242cmmak] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 1rem;
    margin: 1rem 0 0;
    padding: 0.75rem 0;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
}

.plan-limits dt[b-x1242cmmak] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #9ca3af;
}

.plan-limits dd[b-x1242cmmak] { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }

.plan-features[b-x1242cmmak] {
    list-style: none;
    margin: 0.875rem 0 0;
    padding: 0;
    font-size: 0.82rem;
}

.plan-features li[b-x1242cmmak] { display: flex; gap: 0.5rem; padding: 0.15rem 0; }
.plan-features .tick[b-x1242cmmak] { width: 0.9rem; text-align: center; }
.plan-features .yes[b-x1242cmmak] { color: #111827; }
.plan-features .yes .tick[b-x1242cmmak] { color: #059669; }
.plan-features .no[b-x1242cmmak] { color: #9ca3af; }

.plan-foot[b-x1242cmmak] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.875rem;
}

.plan-subscribers[b-x1242cmmak] { font-size: 0.78rem; color: #6b7280; }

/* ---- subscribers ---- */
[b-x1242cmmak] tr.unplanned td { background: #fffdf5; }
[b-x1242cmmak] td.over-limit { color: #b91c1c; font-weight: 600; }

.trial-left[b-x1242cmmak] { margin-left: 0.4rem; font-size: 0.72rem; color: #6b7280; }

.assign-check[b-x1242cmmak] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.75rem;
    margin: 1rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.assign-check dt[b-x1242cmmak] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

.assign-check dd[b-x1242cmmak] { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }
.assign-check .over dt[b-x1242cmmak], .assign-check .over dd[b-x1242cmmak] { color: #b91c1c; }

.assign-warning[b-x1242cmmak] {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    font-size: 0.82rem;
    color: #991b1b;
    line-height: 1.55;
}

.section-title[b-x1242cmmak] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 1.375rem 0 0.625rem;
}

.check-row[b-x1242cmmak] { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }

.check-row .form-check[b-x1242cmmak] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.85rem;
}

/* ---- the administration overview ---- */
.attention[b-x1242cmmak] {
    margin: 1.25rem 0;
    padding: 0.875rem 1.125rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
}

.attention-title[b-x1242cmmak] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #92400e;
    margin: 0 0 0.5rem;
}

.attention-list[b-x1242cmmak] { margin: 0; padding-left: 1.1rem; font-size: 0.85rem; color: #78350f; }
.attention-list li[b-x1242cmmak] { padding: 0.15rem 0; line-height: 1.5; }

.panel-note[b-x1242cmmak] {
    margin: 0.75rem 0 0;
    font-size: 0.78rem;
    color: #6b7280;
    line-height: 1.5;
}

.panel-actions[b-x1242cmmak] { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.875rem; }

/* The same panel vocabulary the dashboard uses. Scoped CSS does not travel between
   components, so the rules are stated here rather than reached for. */
.metric-grid[b-x1242cmmak] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.panel-grid[b-x1242cmmak] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1rem;
}

.panel[b-x1242cmmak] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1rem 1.125rem;
}

.panel-title[b-x1242cmmak] {
    font-size: 0.9375rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: #111827;
}

.panel-list[b-x1242cmmak] { list-style: none; margin: 0; padding: 0; }

.panel-list li[b-x1242cmmak] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.875rem;
}

.panel-list li:last-child[b-x1242cmmak] { border-bottom: none; }

.panel-item-label[b-x1242cmmak] { color: #6b7280; }
.panel-item-value[b-x1242cmmak] { font-weight: 500; color: #111827; }

.panel-table[b-x1242cmmak] { font-size: 0.875rem; margin-bottom: 0; }
/* /Components/Pages/Admin/Subscribers.razor.rz.scp.css */
/* ---- the plan catalogue ---- */
.plan-grid[b-9u3a0br4na] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
    gap: 1rem;
}

.plan-card[b-9u3a0br4na] {
    display: flex;
    flex-direction: column;
    padding: 1.125rem 1.25rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

.plan-card.retired[b-9u3a0br4na] { opacity: 0.62; }

.plan-head[b-9u3a0br4na] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.plan-name[b-9u3a0br4na] { font-size: 1.05rem; font-weight: 600; color: #111827; margin: 0; }
.plan-code[b-9u3a0br4na] { font-size: 0.7rem; color: #9ca3af; }

.plan-price[b-9u3a0br4na] { margin: 0.75rem 0 0; }
.plan-amount[b-9u3a0br4na] { font-size: 1.5rem; font-weight: 600; color: #111827; }
.plan-period[b-9u3a0br4na] { font-size: 0.85rem; color: #6b7280; }

.plan-annual[b-9u3a0br4na] { margin: 0.15rem 0 0; font-size: 0.78rem; color: #6b7280; }

.plan-description[b-9u3a0br4na] {
    margin: 0.75rem 0 0;
    font-size: 0.82rem;
    color: #4b5563;
    line-height: 1.55;
}

.plan-limits[b-9u3a0br4na] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 1rem;
    margin: 1rem 0 0;
    padding: 0.75rem 0;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
}

.plan-limits dt[b-9u3a0br4na] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #9ca3af;
}

.plan-limits dd[b-9u3a0br4na] { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }

.plan-features[b-9u3a0br4na] {
    list-style: none;
    margin: 0.875rem 0 0;
    padding: 0;
    font-size: 0.82rem;
}

.plan-features li[b-9u3a0br4na] { display: flex; gap: 0.5rem; padding: 0.15rem 0; }
.plan-features .tick[b-9u3a0br4na] { width: 0.9rem; text-align: center; }
.plan-features .yes[b-9u3a0br4na] { color: #111827; }
.plan-features .yes .tick[b-9u3a0br4na] { color: #059669; }
.plan-features .no[b-9u3a0br4na] { color: #9ca3af; }

.plan-foot[b-9u3a0br4na] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.875rem;
}

.plan-subscribers[b-9u3a0br4na] { font-size: 0.78rem; color: #6b7280; }

/* ---- subscribers ---- */
[b-9u3a0br4na] tr.unplanned td { background: #fffdf5; }
[b-9u3a0br4na] td.over-limit { color: #b91c1c; font-weight: 600; }

.trial-left[b-9u3a0br4na] { margin-left: 0.4rem; font-size: 0.72rem; color: #6b7280; }

.assign-check[b-9u3a0br4na] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.75rem;
    margin: 1rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.assign-check dt[b-9u3a0br4na] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

.assign-check dd[b-9u3a0br4na] { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }
.assign-check .over dt[b-9u3a0br4na], .assign-check .over dd[b-9u3a0br4na] { color: #b91c1c; }

.assign-warning[b-9u3a0br4na] {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    font-size: 0.82rem;
    color: #991b1b;
    line-height: 1.55;
}

.section-title[b-9u3a0br4na] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 1.375rem 0 0.625rem;
}

.check-row[b-9u3a0br4na] { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }

.check-row .form-check[b-9u3a0br4na] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.85rem;
}

/* ---- the administration overview ---- */
.attention[b-9u3a0br4na] {
    margin: 1.25rem 0;
    padding: 0.875rem 1.125rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
}

.attention-title[b-9u3a0br4na] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #92400e;
    margin: 0 0 0.5rem;
}

.attention-list[b-9u3a0br4na] { margin: 0; padding-left: 1.1rem; font-size: 0.85rem; color: #78350f; }
.attention-list li[b-9u3a0br4na] { padding: 0.15rem 0; line-height: 1.5; }

.panel-note[b-9u3a0br4na] {
    margin: 0.75rem 0 0;
    font-size: 0.78rem;
    color: #6b7280;
    line-height: 1.5;
}

.panel-actions[b-9u3a0br4na] { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.875rem; }
/* /Components/Pages/Admin/SubscriptionPlans.razor.rz.scp.css */
/* ---- the plan catalogue ---- */
.plan-grid[b-xv01g6zb4k] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
    gap: 1rem;
}

.plan-foot[b-xv01g6zb4k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: auto;
    padding-top: 0.875rem;
}

.plan-subscribers[b-xv01g6zb4k] { font-size: 0.78rem; color: #6b7280; }

/* ---- subscribers ---- */
[b-xv01g6zb4k] tr.unplanned td { background: #fffdf5; }
[b-xv01g6zb4k] td.over-limit { color: #b91c1c; font-weight: 600; }

.trial-left[b-xv01g6zb4k] { margin-left: 0.4rem; font-size: 0.72rem; color: #6b7280; }

.assign-check[b-xv01g6zb4k] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.75rem;
    margin: 1rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

.assign-check dt[b-xv01g6zb4k] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

.assign-check dd[b-xv01g6zb4k] { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }
.assign-check .over dt[b-xv01g6zb4k], .assign-check .over dd[b-xv01g6zb4k] { color: #b91c1c; }

.assign-warning[b-xv01g6zb4k] {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 6px;
    font-size: 0.82rem;
    color: #991b1b;
    line-height: 1.55;
}

.section-title[b-xv01g6zb4k] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 1.375rem 0 0.625rem;
}

.check-row[b-xv01g6zb4k] { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }

.check-row .form-check[b-xv01g6zb4k] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.85rem;
}

.section-note[b-xv01g6zb4k] {
    margin: -0.25rem 0 0.9rem;
    font-size: 0.78rem;
    color: #6b7280;
    line-height: 1.55;
    max-width: 70ch;
}
/* /Components/Pages/Admin/Users.razor.rz.scp.css */
.access-list[b-6srb69xqd3] { list-style: none; margin: 0; padding: 0; }

.access-list li[b-6srb69xqd3] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    padding: 0.1rem 0;
    font-size: 0.8rem;
}

.access-company[b-6srb69xqd3] { color: #374151; min-width: 14rem; }
.access-list li.revoked[b-6srb69xqd3] { opacity: 0.55; }

[b-6srb69xqd3] tr.inactive td { opacity: 0.6; }

.list-note[b-6srb69xqd3] {
    margin: 0.875rem 0 0;
    font-size: 0.8rem;
    color: #6b7280;
    max-width: 78ch;
    line-height: 1.55;
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.page-header[b-nwqfq031zo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.page-title[b-nwqfq031zo] {
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.quick-actions[b-nwqfq031zo] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.metric-grid[b-nwqfq031zo] {
    display: grid;
    /* Narrower than before, because the tiles are now solid blocks of colour: six of them at
       200px each left a row that reads as a chart rather than as six figures. */
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.chart-grid[b-nwqfq031zo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.panel-grid[b-nwqfq031zo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1rem;
}

.panel[b-nwqfq031zo] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1rem 1.125rem;
}

.panel-title[b-nwqfq031zo] {
    font-size: 0.9375rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: #111827;
}

.panel-list[b-nwqfq031zo] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.panel-list li[b-nwqfq031zo] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.875rem;
}

.panel-list li:last-child[b-nwqfq031zo] { border-bottom: none; }

.panel-item-label[b-nwqfq031zo] { color: #6b7280; }
.panel-item-value[b-nwqfq031zo] { font-weight: 500; color: #111827; }

.panel-table[b-nwqfq031zo] { font-size: 0.875rem; margin-bottom: 0; }

/* The landing for a role that has no business seeing the financial summary. */
.landing-lead[b-nwqfq031zo] {
    color: #4b5563;
    max-width: 68ch;
    margin: 0 0 1.25rem;
}

.landing-grid[b-nwqfq031zo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: 0.875rem;
}

.landing-card[b-nwqfq031zo] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1.125rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    text-decoration: none;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.landing-card:hover[b-nwqfq031zo] {
    border-color: #93c5fd;
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.07);
}

.landing-title[b-nwqfq031zo] { font-weight: 600; color: #111827; }
.landing-body[b-nwqfq031zo] { font-size: 0.82rem; color: #6b7280; line-height: 1.5; }

/* ---- Quick start -------------------------------------------------------------------- */

/* Above the figures, because it is for a company that does not have any yet. It removes
   itself once every step is done — see the guard in the markup. */
.quick-start[b-nwqfq031zo] {
    margin: 0 0 1.25rem;
    padding: 1rem 1.15rem 1.15rem;
    border: 1px solid #bae6fd;
    border-radius: 12px;
    background: linear-gradient(180deg, #f0f9ff 0%, #ffffff 100%);
}

.quick-start-head[b-nwqfq031zo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.9rem;
}

.quick-start-title[b-nwqfq031zo] { margin: 0; font-size: 1rem; font-weight: 700; color: #0c4a6e; }
.quick-start-sub[b-nwqfq031zo] { margin: 0.15rem 0 0; font-size: 0.82rem; color: #475569; }

.quick-start-progress[b-nwqfq031zo] { text-align: right; flex-shrink: 0; }
.quick-start-count[b-nwqfq031zo] { font-size: 0.78rem; font-weight: 600; color: #0369a1; }

.quick-start-bar[b-nwqfq031zo] {
    width: 120px;
    height: 6px;
    margin-top: 0.3rem;
    border-radius: 999px;
    background: #e0f2fe;
    overflow: hidden;
}

.quick-start-bar span[b-nwqfq031zo] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: #0284c7;
}

.quick-start-steps[b-nwqfq031zo] {
    display: grid;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.quick-start-steps li[b-nwqfq031zo] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}

/* A done step recedes rather than disappearing: seeing what is already handled is what makes
   the two left to do look manageable. */
.quick-start-steps li.done[b-nwqfq031zo] { background: #f8fafc; border-color: #e2e8f0; }
.quick-start-steps li.done .step-title[b-nwqfq031zo] { color: #64748b; text-decoration: line-through; }

.step-mark[b-nwqfq031zo] {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #cbd5e1;
    display: grid;
    place-items: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: #fff;
}

.quick-start-steps li.done .step-mark[b-nwqfq031zo] { background: #16a34a; border-color: #16a34a; }

.step-text[b-nwqfq031zo] { display: grid; gap: 0.1rem; min-width: 0; flex: 1; }
.step-title[b-nwqfq031zo] { font-size: 0.86rem; font-weight: 600; color: #111827; }
.step-detail[b-nwqfq031zo] { font-size: 0.76rem; color: #6b7280; }

/* ---- Recent activity ---------------------------------------------------------------- */

.activity-list[b-nwqfq031zo] { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.15rem; }

.activity-item[b-nwqfq031zo] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.5rem 0.35rem;
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
}

.activity-item:hover[b-nwqfq031zo] { background: #f8fafc; }

.activity-mark[b-nwqfq031zo] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    font-size: 0.75rem;
    font-weight: 700;
    background: #f1f5f9;
    color: #475569;
}

/* Money in and money out are the two a glance needs to tell apart; the rest share the
   neutral mark, because ten colours in one column is not ten pieces of information. */
.activity-mark.invoice[b-nwqfq031zo], .activity-mark.payment-in[b-nwqfq031zo] { background: #dcfce7; color: #15803d; }
.activity-mark.bill[b-nwqfq031zo], .activity-mark.payment-out[b-nwqfq031zo] { background: #fee2e2; color: #b42318; }
.activity-mark.payrun[b-nwqfq031zo] { background: #ede9fe; color: #6d28d9; }

.activity-text[b-nwqfq031zo] { display: grid; gap: 0.1rem; min-width: 0; flex: 1; }
.activity-title[b-nwqfq031zo] { font-size: 0.84rem; font-weight: 600; color: #111827; }

.activity-detail[b-nwqfq031zo] {
    font-size: 0.76rem;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.activity-when[b-nwqfq031zo] { flex-shrink: 0; font-size: 0.74rem; color: #9ca3af; }

@media (max-width: 720px) {
    .quick-start-head[b-nwqfq031zo] { flex-direction: column; }
    .quick-start-progress[b-nwqfq031zo] { text-align: left; }
    .quick-start-steps li[b-nwqfq031zo] { flex-wrap: wrap; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* The public landing page. Its own stylesheet; the sign-in and sign-up split screens are in
   wwwroot/auth.css, and the product preview they share is styled there too. */

/* ---- Hero -------------------------------------------------------------------------------- */

.hero[b-gfkxegf6or] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    align-items: center;
    gap: 3rem;
    padding: 4rem 2rem 4.5rem;
    background: linear-gradient(180deg, #f6fafc 0%, #fff 100%);
}

.hero-copy[b-gfkxegf6or] { max-width: 34rem; }

.hero-eyebrow[b-gfkxegf6or] {
    margin: 0 0 0.75rem;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #12876f;
}

.hero-title[b-gfkxegf6or] {
    margin: 0 0 1rem;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #12314f;
}

.hero-lead[b-gfkxegf6or] {
    margin: 0 0 1.75rem;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #51657a;
}

.hero-actions[b-gfkxegf6or] { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.hero-assurances[b-gfkxegf6or] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

.hero-assurances li[b-gfkxegf6or] {
    position: relative;
    padding-left: 1.2rem;
    font-size: 0.84rem;
    color: #51657a;
}

.hero-assurances li[b-gfkxegf6or]::before {
    content: "✓";
    position: absolute;
    left: 0;
    font-weight: 700;
    color: #12876f;
}

/* The drawn window sits on a tinted panel, so it reads as a product shot rather than as part
   of the page it is printed on. */
.hero-visual[b-gfkxegf6or] {
    padding: 2rem;
    border-radius: 20px;
    background: linear-gradient(150deg, #12314f 0%, #184a63 55%, #1d6b73 100%);
    box-shadow: 0 30px 60px rgba(4, 20, 35, 0.22);
}

/* ---- Sections ---------------------------------------------------------------------------- */

.section-head[b-gfkxegf6or] { max-width: 38rem; margin: 0 auto 2.25rem; text-align: center; }

.section-title[b-gfkxegf6or] {
    margin: 0 0 0.6rem;
    font-size: 1.9rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #12314f;
}

.section-lead[b-gfkxegf6or] { margin: 0; font-size: 1rem; line-height: 1.6; color: #64748b; }

.features[b-gfkxegf6or] { padding: 4rem 2rem; }

.features-grid[b-gfkxegf6or] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 1rem;
    max-width: 68rem;
    margin: 0 auto;
}

.feature[b-gfkxegf6or] {
    padding: 1.4rem 1.5rem;
    border: 1px solid #e8eef4;
    border-radius: 14px;
    background: #fff;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.feature:hover[b-gfkxegf6or] {
    border-color: #cfe3dd;
    box-shadow: 0 10px 28px rgba(18, 49, 79, 0.07);
}

.feature-title[b-gfkxegf6or] {
    margin: 0 0 0.45rem;
    font-size: 1.02rem;
    font-weight: 700;
    color: #12314f;
}

.feature-body[b-gfkxegf6or] { margin: 0; font-size: 0.9rem; line-height: 1.6; color: #64748b; }

.compliance[b-gfkxegf6or] { padding: 4rem 2rem; background: #f6fafc; }
.compliance-inner[b-gfkxegf6or] { max-width: 68rem; margin: 0 auto; }

.compliance-list[b-gfkxegf6or] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.compliance-list li[b-gfkxegf6or] {
    display: grid;
    gap: 0.3rem;
    padding: 1.3rem 1.4rem;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #e3edf3;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #64748b;
}

.compliance-list strong[b-gfkxegf6or] { font-size: 1rem; color: #12314f; }

/* ---- Closing call ------------------------------------------------------------------------- */

.cta[b-gfkxegf6or] {
    padding: 4.5rem 2rem;
    text-align: center;
    background: linear-gradient(150deg, #12314f 0%, #184a63 55%, #1d6b73 100%);
    color: #fff;
}

.cta-title[b-gfkxegf6or] {
    margin: 0 0 0.75rem;
    font-size: 2.1rem;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.cta-lead[b-gfkxegf6or] {
    max-width: 34rem;
    margin: 0 auto 1.75rem;
    font-size: 1rem;
    line-height: 1.6;
    color: #c5d9e2;
}

.cta .hero-actions[b-gfkxegf6or] { justify-content: center; }
.cta .btn-ghost[b-gfkxegf6or] { color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.cta .btn-ghost:hover[b-gfkxegf6or] { background: rgba(255, 255, 255, 0.12); color: #fff; }
/* /Components/Pages/Legal/LegalDocument.razor.rz.scp.css */
.legal[b-j9dnq33s1j] { min-height: 100vh; background: #fff; }

.legal-head[b-j9dnq33s1j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.1rem 2rem;
    border-bottom: 1px solid #e8eef4;
}

.legal-brand[b-j9dnq33s1j] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
}

.legal-nav[b-j9dnq33s1j] { display: flex; flex-wrap: wrap; gap: 1.25rem; }

.legal-nav a[b-j9dnq33s1j] {
    font-size: 0.86rem;
    font-weight: 600;
    color: #12876f;
    text-decoration: none;
}

.legal-nav a:hover[b-j9dnq33s1j] { text-decoration: underline; }

/* A reading measure, not the width of the window. Legal text is the last thing anyone wants
   to read in 180-character lines. */
.legal-body[b-j9dnq33s1j] {
    max-width: 46rem;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 3.5rem;
}

.legal-title[b-j9dnq33s1j] {
    margin: 0 0 0.4rem;
    font-size: 2rem;
    font-weight: 600;
    color: #12314f;
    letter-spacing: -0.02em;
}

.legal-meta[b-j9dnq33s1j] { margin: 0 0 1.5rem; font-size: 0.85rem; color: #64748b; }

.legal-notice[b-j9dnq33s1j] {
    margin: 0 0 2rem;
    padding: 0.85rem 1rem;
    border: 1px solid #fde3c0;
    border-left: 4px solid #d98324;
    border-radius: 10px;
    background: #fffaf3;
    font-size: 0.88rem;
    line-height: 1.5;
    color: #7a4b16;
}

.legal-body[b-j9dnq33s1j]  h2 {
    margin: 2.25rem 0 0.6rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: #12314f;
}

.legal-body[b-j9dnq33s1j]  p,
.legal-body[b-j9dnq33s1j]  li {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #334155;
}

.legal-body[b-j9dnq33s1j]  p { margin: 0 0 0.9rem; }
.legal-body[b-j9dnq33s1j]  ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.legal-body[b-j9dnq33s1j]  li { margin-bottom: 0.35rem; }
.legal-body[b-j9dnq33s1j]  strong { color: #12314f; }
.legal-body[b-j9dnq33s1j]  a { color: #12876f; font-weight: 600; }

.legal-foot[b-j9dnq33s1j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.25rem 2rem;
    background: #12314f;
    color: #9fb3c8;
    font-size: 0.85rem;
}

.legal-foot a[b-j9dnq33s1j] { color: #c5d9e2; font-weight: 600; text-decoration: none; }
.legal-foot a:hover[b-j9dnq33s1j] { color: #fff; text-decoration: underline; }
/* /Components/Pages/People/Emp201.razor.rz.scp.css */
[b-6zkdxxd7ue] .return-row { cursor: pointer; }
[b-6zkdxxd7ue] .return-row.open td { background: #eff6ff; font-weight: 500; }
[b-6zkdxxd7ue] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-6zkdxxd7ue] .overdue { color: #b91c1c; font-weight: 500; }

[b-6zkdxxd7ue] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-6zkdxxd7ue] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-6zkdxxd7ue] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.85rem 1rem 0.4rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-6zkdxxd7ue] { border-top: none; }

.detail-grid[b-6zkdxxd7ue] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-6zkdxxd7ue] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-6zkdxxd7ue] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-table[b-6zkdxxd7ue] { font-size: 0.8rem; }

.detail-loading[b-6zkdxxd7ue] {
    margin: 0 1rem 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-warning[b-6zkdxxd7ue] {
    margin: 0.5rem 1rem 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 82ch;
}

[b-6zkdxxd7ue] .source-codes td {
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
}

[b-6zkdxxd7ue] .source-code {
    display: inline-block;
    margin-right: 1.25rem;
    font-size: 0.75rem;
    color: #4b5563;
}

[b-6zkdxxd7ue] .source-code strong {
    color: #111827;
    margin-right: 0.3rem;
}

[b-6zkdxxd7ue] .source-code em {
    font-style: normal;
    font-weight: 600;
    margin-left: 0.3rem;
}

.detail-actions[b-6zkdxxd7ue] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

/* The employee schedule inside an open declaration. Laid out like the printed EMP201: the
   current period and the year to date are two groups under one heading each, divided by a
   rule so a column is never read against the wrong one. */
.schedule[b-6zkdxxd7ue] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
    margin-bottom: 1rem;
}

.schedule thead th[b-6zkdxxd7ue] {
    font-weight: 600;
    color: #374151;
    padding: 0.35rem 0.5rem;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
}

.schedule thead tr.group th[b-6zkdxxd7ue] {
    background: transparent;
    border-bottom: 1px solid #d1d5db;
    border-top: 2px solid #6b7280;
    font-size: 0.85rem;
}

.schedule thead tr.group th.period[b-6zkdxxd7ue] { text-align: center; }

/* The divider runs the height of the table, so the two groups stay visually separate. */
.schedule th.ytd[b-6zkdxxd7ue],
.schedule td.ytd[b-6zkdxxd7ue] { border-left: 2px solid #6b7280; }

.schedule tbody td[b-6zkdxxd7ue] {
    padding: 0.3rem 0.5rem;
    border-bottom: 1px solid #f3f4f6;
}

.schedule tfoot td[b-6zkdxxd7ue] {
    padding: 0.4rem 0.5rem;
    font-weight: 600;
    border-top: 1px solid #6b7280;
    border-bottom: 2px solid #6b7280;
}

.schedule .text-end[b-6zkdxxd7ue] { text-align: right; }

.detail-note[b-6zkdxxd7ue] {
    font-size: 0.8rem;
    color: #6b7280;
    margin: 0 0 0.75rem;
}
/* /Components/Pages/People/Emp501.razor.rz.scp.css */
[b-eshmec521t] .return-row { cursor: pointer; }
[b-eshmec521t] .return-row.open td { background: #eff6ff; font-weight: 500; }
[b-eshmec521t] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-eshmec521t] .overdue { color: #b91c1c; font-weight: 500; }

[b-eshmec521t] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-eshmec521t] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-eshmec521t] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.85rem 1rem 0.4rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-eshmec521t] { border-top: none; }

.detail-grid[b-eshmec521t] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-eshmec521t] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-eshmec521t] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-table[b-eshmec521t] { font-size: 0.8rem; }

.detail-loading[b-eshmec521t] {
    margin: 0 1rem 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-warning[b-eshmec521t] {
    margin: 0.5rem 1rem 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 82ch;
}

.detail-actions[b-eshmec521t] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

/* The month-by-month declarations inside an open reconciliation. Boxed and right-aligned, so
   a column of figures can be run down and totalled by eye. */
.monthly[b-eshmec521t] {
    border-collapse: collapse;
    font-size: 0.85rem;
    margin: 0 0 1.25rem;
    min-width: 32rem;
}

.monthly thead th[b-eshmec521t] {
    background: #b3b3b3;
    color: #fff;
    font-weight: 700;
    padding: 0.4rem 0.75rem;
    border: 1px solid #ffffff;
    white-space: nowrap;
}

.monthly thead th:first-child[b-eshmec521t] { text-align: left; }

.monthly tbody td[b-eshmec521t] {
    padding: 0.35rem 0.75rem;
    border: 1px solid #d9d9d9;
    white-space: nowrap;
}

.monthly .text-end[b-eshmec521t] { text-align: right; }
/* /Components/Pages/People/EmployeeProfile.razor.rz.scp.css */
.person-card[b-ls7s5uezao] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.person-head[b-ls7s5uezao] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1.125rem 1.25rem;
    background: #f9fafb;
}

.person-identity[b-ls7s5uezao] { display: flex; align-items: center; gap: 0.875rem; }

.person-badge[b-ls7s5uezao] {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.person-name[b-ls7s5uezao] { font-size: 1.05rem; font-weight: 600; color: #111827; }

.person-meta[b-ls7s5uezao] { font-size: 0.78rem; color: #6b7280; }

.person-status[b-ls7s5uezao] { display: flex; gap: 0.35rem; flex-wrap: wrap; }

.tabs[b-ls7s5uezao] {
    display: flex;
    gap: 0.25rem;
    padding: 0 1.25rem;
    border-top: 1px solid #f3f4f6;
    overflow-x: auto;
}

.tab[b-ls7s5uezao] {
    appearance: none;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.7rem 0.9rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    white-space: nowrap;
}

.tab:hover[b-ls7s5uezao] { color: #111827; }

.tab.active[b-ls7s5uezao] { color: #2563eb; border-bottom-color: #2563eb; }

.detail-sub-title[b-ls7s5uezao] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.875rem 1.25rem 0.25rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-ls7s5uezao] { border-top: none; }

.detail-grid[b-ls7s5uezao] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 0.5rem 1.25rem 1rem;
    margin: 0;
}

[b-ls7s5uezao] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-ls7s5uezao] .detail-field dd { margin: 0; font-size: 0.85rem; color: #111827; }

.detail-actions[b-ls7s5uezao] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem 1.25rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

.panel-note[b-ls7s5uezao] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}

/* Payslips tab: the row expands into the payslip itself rather than opening a screen. */
[b-ls7s5uezao] .payslip-row { cursor: pointer; }
[b-ls7s5uezao] .payslip-row.open td { background: #eff6ff; font-weight: 500; }
[b-ls7s5uezao] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

[b-ls7s5uezao] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.payslip[b-ls7s5uezao] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.875rem 1rem;
}

.payslip-lines[b-ls7s5uezao] { font-size: 0.82rem; }

[b-ls7s5uezao] .group-row td {
    background: #f9fafb;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

.payslip-note[b-ls7s5uezao] {
    margin: 0.75rem 0 0;
    font-size: 0.78rem;
    color: #6b7280;
}

.payslip-actions[b-ls7s5uezao] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 0.875rem;
    margin-top: 0.875rem;
    border-top: 1px solid #f3f4f6;
}

.sent-note[b-ls7s5uezao] { font-size: 0.78rem; color: #6b7280; }

.payslip-warning[b-ls7s5uezao] {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 78ch;
}

/* The modal body is authored here, so it carries this page's scope. */
.pay-summary[b-ls7s5uezao] {
    display: flex;
    gap: 1.75rem;
    flex-wrap: wrap;
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin: 0 0 1.25rem;
}

[b-ls7s5uezao] .pay-summary dt {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-ls7s5uezao] .pay-summary dd { margin: 0; font-size: 0.9rem; color: #111827; }

/* Pay items tab. */
.item-code[b-ls7s5uezao] { font-size: 0.72rem; color: #6b7280; }

[b-ls7s5uezao] .inactive-item td { opacity: 0.55; }
/* /Components/Pages/People/Hr.razor.rz.scp.css */
.summary[b-b189qyere5] { font-size: 0.8125rem; color: #6b7280; }

.form-section[b-b189qyere5] {
    padding: 1.25rem;
    border-bottom: 1px solid #f3f4f6;
}

.form-section-title[b-b189qyere5] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.875rem;
}

.entity-form[b-b189qyere5] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
}

.checks[b-b189qyere5] { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.check[b-b189qyere5] { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.875rem; }

.form-actions[b-b189qyere5] { display: flex; gap: 0.5rem; padding: 1.25rem; }

[b-b189qyere5] .employee-row { cursor: pointer; }
[b-b189qyere5] .employee-row.open td { background: #eff6ff; font-weight: 500; }
[b-b189qyere5] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

[b-b189qyere5] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-b189qyere5] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-b189qyere5] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.75rem 1rem 0.25rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-b189qyere5] { border-top: none; }

.detail-grid[b-b189qyere5] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 0.5rem 1rem 1rem;
    margin: 0;
}

[b-b189qyere5] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-b189qyere5] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-actions[b-b189qyere5] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}
/* /Components/Pages/People/Irp5.razor.rz.scp.css */
[b-efqnt6xik1] .return-row { cursor: pointer; }
[b-efqnt6xik1] .return-row.open td { background: #eff6ff; font-weight: 500; }
[b-efqnt6xik1] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }
[b-efqnt6xik1] .overdue { color: #b91c1c; font-weight: 500; }

[b-efqnt6xik1] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-efqnt6xik1] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    padding-bottom: 0.25rem;
}

.detail-sub-title[b-efqnt6xik1] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0;
    padding: 0.85rem 1rem 0.4rem;
    border-top: 1px solid #f3f4f6;
}

.detail-sub-title:first-child[b-efqnt6xik1] { border-top: none; }

.detail-grid[b-efqnt6xik1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.75rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-efqnt6xik1] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-efqnt6xik1] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-table[b-efqnt6xik1] { font-size: 0.8rem; }

.detail-loading[b-efqnt6xik1] {
    margin: 0 1rem 0.75rem;
    color: #6b7280;
    font-size: 0.82rem;
}

.detail-warning[b-efqnt6xik1] {
    margin: 0.5rem 1rem 0.75rem;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 82ch;
}

[b-efqnt6xik1] .source-codes td {
    background: #f9fafb;
    padding: 0.5rem 0.75rem;
}

[b-efqnt6xik1] .source-code {
    display: inline-block;
    margin-right: 1.25rem;
    font-size: 0.75rem;
    color: #4b5563;
}

[b-efqnt6xik1] .source-code strong {
    color: #111827;
    margin-right: 0.3rem;
}

[b-efqnt6xik1] .source-code em {
    font-style: normal;
    font-weight: 600;
    margin-left: 0.3rem;
}

.detail-actions[b-efqnt6xik1] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

[b-efqnt6xik1] .cert-row { cursor: pointer; }
[b-efqnt6xik1] .cert-row.open td { background: #eff6ff; font-weight: 500; }

.filters[b-efqnt6xik1] {
    display: flex;
    gap: 0.5rem;
    /* Side by side: the tax year and the search narrow the same list, so wrapping them onto
       separate lines read as a layout accident. They stack only where the screen cannot hold
       both. */
    flex-wrap: nowrap;
}

.filters .form-select[b-efqnt6xik1] { width: 180px; }
.filters .form-control[b-efqnt6xik1] { width: 260px; }

@media (max-width: 720px) {
    .filters[b-efqnt6xik1] { flex-wrap: wrap; }
    .filters .form-select[b-efqnt6xik1],
    .filters .form-control[b-efqnt6xik1] { width: 100%; }
}

.panel-note[b-efqnt6xik1] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}
/* /Components/Pages/People/Leave.razor.rz.scp.css */
[b-x3bib7u63d] .leave-row { cursor: pointer; }
[b-x3bib7u63d] .leave-row.open td { background: #eff6ff; font-weight: 500; }
[b-x3bib7u63d] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

[b-x3bib7u63d] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-x3bib7u63d] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-grid[b-x3bib7u63d] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1rem;
    margin: 0;
}

[b-x3bib7u63d] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-x3bib7u63d] .detail-field dd { margin: 0; font-size: 0.85rem; color: #111827; }

.detail-actions[b-x3bib7u63d] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 1rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
}

.filters[b-x3bib7u63d] { display: flex; gap: 0.5rem; flex-wrap: nowrap; }
.filters .form-select[b-x3bib7u63d] { width: 200px; }

[b-x3bib7u63d] .leave-count {
    padding: 0.7rem 0.85rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #1e3a8a;
}

[b-x3bib7u63d] .leave-count-balance { color: #1e40af; }

[b-x3bib7u63d] .leave-short { color: #b91c1c; font-weight: 500; }

.employee-number[b-x3bib7u63d] { font-size: 0.72rem; color: #6b7280; }

.panel-note[b-x3bib7u63d] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}

@media (max-width: 720px) {
    .filters[b-x3bib7u63d] { flex-wrap: wrap; }
    .filters .form-select[b-x3bib7u63d] { width: 100%; }
}
/* /Components/Pages/People/Payroll.razor.rz.scp.css */
.tax-note[b-p4q42doxx0] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 76ch;
}

.entity-form[b-p4q42doxx0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}

.span-2[b-p4q42doxx0] { grid-column: span 2; }

.form-actions[b-p4q42doxx0] { display: flex; gap: 0.5rem; padding: 0 1.25rem 1.25rem; }

@media (max-width: 720px) { .span-2[b-p4q42doxx0] { grid-column: span 1; } }

[b-p4q42doxx0] .year-row { cursor: pointer; }
[b-p4q42doxx0] .year-row.open td { background: #eff6ff; }
[b-p4q42doxx0] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

[b-p4q42doxx0] .detail-row > td {
    background: #f9fafb;
    padding: 1rem;
}

.detail[b-p4q42doxx0] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.detail-grid[b-p4q42doxx0] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.875rem 1.25rem;
    padding: 1rem;
    margin: 0;
    border-bottom: 1px solid #f3f4f6;
}

[b-p4q42doxx0] .detail-field dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-p4q42doxx0] .detail-field dd {
    margin: 0;
    font-size: 0.85rem;
    color: #111827;
}

.detail-warning[b-p4q42doxx0] {
    margin: 0;
    padding: 0.7rem 1rem;
    background: #fffbeb;
    border-bottom: 1px solid #fde68a;
    font-size: 0.8rem;
    color: #92400e;
}

.detail-sub[b-p4q42doxx0] { padding: 0.875rem 1rem 1rem; }

.detail-sub-title[b-p4q42doxx0] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.detail-table[b-p4q42doxx0] { font-size: 0.8rem; }

.detail-loading[b-p4q42doxx0] {
    margin: 0;
    color: #6b7280;
    font-size: 0.82rem;
}

[b-p4q42doxx0] .run-actions .btn + .btn { margin-left: 0.35rem; }
/* /Components/Pages/People/PayRunDetail.razor.rz.scp.css */
.run-card[b-p87aigflhs] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.run-head[b-p87aigflhs] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: #f9fafb;
}

.run-figures[b-p87aigflhs] { display: flex; gap: 2rem; flex-wrap: wrap; margin: 0; }

[b-p87aigflhs] .run-figures dt {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.15rem;
}

[b-p87aigflhs] .run-figures dd { margin: 0; font-size: 0.95rem; color: #111827; }

[b-p87aigflhs] .employee-row { cursor: pointer; }
[b-p87aigflhs] .employee-row.open td { background: #eff6ff; font-weight: 500; }
[b-p87aigflhs] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

.employee-meta[b-p87aigflhs] { font-size: 0.72rem; color: #6b7280; }

[b-p87aigflhs] .detail-row > td { background: #f9fafb; padding: 1rem; }

.employee-detail[b-p87aigflhs] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.875rem 1rem;
}

.detail-sub-title[b-p87aigflhs] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.45rem;
}

.detail-sub-title:not(:first-child)[b-p87aigflhs] { margin-top: 1.1rem; }

.detail-grid[b-p87aigflhs] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.7rem 1.25rem;
    margin: 0;
}

[b-p87aigflhs] .detail-field dt {
    font-size: 0.64rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.1rem;
}

[b-p87aigflhs] .detail-field dd { margin: 0; font-size: 0.85rem; color: #111827; }

.item-table[b-p87aigflhs] { font-size: 0.82rem; }

[b-p87aigflhs] .item-code { font-size: 0.72rem; color: #6b7280; margin-left: 0.35rem; }

.detail-actions[b-p87aigflhs] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 0.875rem;
    margin-top: 0.875rem;
    border-top: 1px solid #f3f4f6;
}

.finalised-note[b-p87aigflhs] { font-size: 0.8rem; color: #6b7280; }

.detail-loading[b-p87aigflhs] { margin: 0; font-size: 0.8rem; color: #6b7280; }

.panel-note[b-p87aigflhs] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}
/* /Components/Pages/People/Payslips.razor.rz.scp.css */
.employee-number[b-sq9bwhz36i] {
    font-size: 0.72rem;
    color: #6b7280;
}

.detail-row > td[b-sq9bwhz36i] {
    background: #f9fafb;
    padding: 1rem;
}

.payslip[b-sq9bwhz36i] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.payslip-head[b-sq9bwhz36i] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid #f3f4f6;
}

.payslip-name[b-sq9bwhz36i] { font-weight: 600; color: #111827; }
.payslip-meta[b-sq9bwhz36i] { font-size: 0.78rem; color: #6b7280; }
.payslip-period[b-sq9bwhz36i] { font-size: 0.8125rem; color: #6b7280; }

.payslip-lines[b-sq9bwhz36i] { font-size: 0.82rem; }

[b-sq9bwhz36i] .group-row td {
    background: #f9fafb;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

.payslip-note[b-sq9bwhz36i] {
    padding: 0.75rem 1rem;
    margin: 0;
    font-size: 0.78rem;
    color: #6b7280;
    border-top: 1px solid #f3f4f6;
}

.payslip-actions[b-sq9bwhz36i] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding-top: 0.875rem;
    margin-top: 0.875rem;
    border-top: 1px solid #f3f4f6;
}

.payslip-warning[b-sq9bwhz36i] {
    margin: 0.75rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.8rem;
    color: #92400e;
    max-width: 78ch;
}

[b-sq9bwhz36i] .payslip-row { cursor: pointer; }
[b-sq9bwhz36i] .payslip-row.open td { background: #eff6ff; font-weight: 500; }
[b-sq9bwhz36i] .expander { color: #9ca3af; font-size: 0.7rem; text-align: center; }

/* The payslip body has no side padding of its own, so the leave section takes the same
   gutter as the lines table above it. */
.payslip-leave-wrap[b-sq9bwhz36i] { padding: 0 1rem; }
/* /Components/Pages/Reporting/Budgets.razor.rz.scp.css */
[b-jqml0ihpgy] .selected td { background: #eff6ff; }

[b-jqml0ihpgy] .section-total td {
    border-top: 1px solid #111827;
    font-weight: 600;
}

.panel-note[b-jqml0ihpgy] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}
/* /Components/Pages/Reporting/Cashflow.razor.rz.scp.css */
.kpi-row[b-7r4xadui2i] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

[b-7r4xadui2i] .overdue { color: #b91c1c; }
/* /Components/Pages/Reporting/ManagementPack.razor.rz.scp.css */
.period-form[b-8wwv0snbht] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1rem 1.125rem;
}

.period-form .form-label[b-8wwv0snbht] { font-size: 0.72rem; }

.pack-meta[b-8wwv0snbht] {
    font-size: 0.8125rem;
    color: #6b7280;
    margin: -0.5rem 0 1.25rem;
}

.movement-percent[b-8wwv0snbht] { color: #6b7280; font-size: 0.75rem; margin-left: 0.35rem; }

[b-8wwv0snbht] .up { color: #047857; }
[b-8wwv0snbht] .down { color: #b91c1c; }
[b-8wwv0snbht] .overdue { color: #b91c1c; font-weight: 500; }

[b-8wwv0snbht] .section-total td {
    border-top: 1px solid #111827;
    font-weight: 600;
}

.observations[b-8wwv0snbht] {
    margin: 0;
    padding: 0.25rem 1.125rem 0.75rem 2.25rem;
    font-size: 0.875rem;
}

.observations li[b-8wwv0snbht] { margin-bottom: 0.25rem; }

.kpi-grid[b-8wwv0snbht] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    padding: 1rem 1.125rem;
}

.kpi[b-8wwv0snbht] {
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 0.7rem 0.85rem;
}

[b-8wwv0snbht] .kpi-label {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
}

[b-8wwv0snbht] .kpi-value { font-size: 1.15rem; font-weight: 600; color: #111827; margin-top: 0.15rem; }

.panel-note[b-8wwv0snbht] {
    padding: 0 1.125rem 1rem;
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}

[b-8wwv0snbht] .group-row td {
    background: #f9fafb;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
}

[b-8wwv0snbht] .group-total td {
    font-weight: 600;
    border-top: 1px solid #e5e7eb;
}

.period-actions[b-8wwv0snbht] { display: flex; gap: 0.5rem; flex-wrap: wrap; }
/* /Components/Pages/Reporting/TrialBalancePage.razor.rz.scp.css */
.page-header[b-dxhn9aigt2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.page-title[b-dxhn9aigt2] {
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.header-controls[b-dxhn9aigt2] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.table-card[b-dxhn9aigt2] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}
/* /Components/Pages/Reporting/Turnover.razor.rz.scp.css */
.period-form[b-agbmit3qog] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.125rem;
}

.kpi-row[b-agbmit3qog] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

[b-agbmit3qog] .section td {
    background: #f9fafb;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

[b-agbmit3qog] .line-label { padding-left: 1.75rem; }
[b-agbmit3qog] .section-total td { font-weight: 600; border-top: 1px solid #e5e7eb; }
[b-agbmit3qog] .subtotal td { font-weight: 600; background: #f9fafb; }
[b-agbmit3qog] .total td { font-weight: 700; border-top: 2px solid #111827; }
/* /Components/Pages/Settings/AccountMapping.razor.rz.scp.css */
[b-1k0hw3tlcj] .unmapped td { background: #fffbeb; }

.settings-note[b-1k0hw3tlcj] {
    padding: 0 1.125rem 1.125rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 76ch;
}
/* /Components/Pages/Settings/BankAccounts.razor.rz.scp.css */
.form-grid[b-ojulzaxi0k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: 1.25rem;
}

.span-2[b-ojulzaxi0k] { grid-column: span 2; }

.checks[b-ojulzaxi0k] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    align-items: center;
}

.check[b-ojulzaxi0k] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
}

.form-actions[b-ojulzaxi0k] {
    display: flex;
    gap: 0.5rem;
    padding: 0 1.25rem 1.25rem;
}

@media (max-width: 720px) {
    .span-2[b-ojulzaxi0k] { grid-column: span 1; }
}
/* /Components/Pages/Settings/ChartOfAccountsSettings.razor.rz.scp.css */
.summary[b-5gaqkq3i74] { font-size: 0.8125rem; color: #6b7280; }
.settings-note[b-5gaqkq3i74] {
    padding: 0 1.125rem 1.125rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
}
/* /Components/Pages/Settings/Companies.razor.rz.scp.css */
[b-xs3hecqf28] .current-company td { background: #eff6ff; }

.company-name[b-xs3hecqf28] { font-weight: 500; color: #111827; display: block; }

.company-trading[b-xs3hecqf28] {
    display: block;
    font-size: 0.75rem;
    color: #6b7280;
}

[b-xs3hecqf28] .role-chip {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #f3f4f6;
    color: #4b5563;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    font-weight: 600;
    margin-right: 0.25rem;
}

.switch-inline[b-xs3hecqf28] { margin: 0; display: inline; }

.panel-note[b-xs3hecqf28] {
    padding: 0 1.125rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 84ch;
}
/* /Components/Pages/Settings/Company.razor.rz.scp.css */
.form-section[b-kfpgr0vehl] {
    padding: 1.25rem;
    border-bottom: 1px solid #f3f4f6;
}

.form-section:last-of-type[b-kfpgr0vehl] { border-bottom: none; }

.form-section-title[b-kfpgr0vehl] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.875rem;
}

.form-grid[b-kfpgr0vehl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.span-2[b-kfpgr0vehl] { grid-column: span 2; }

/* Numbering is read in pairs — a prefix and the number that follows it — so this section is
   pinned to two columns rather than reflowing. Left to auto-fit it packed five fields across
   a wide screen and a prefix ended up nowhere near its own number. */
.form-grid.pairs[b-kfpgr0vehl] { grid-template-columns: 1fr 1fr; }

@media (max-width: 720px) {
    .form-grid.pairs[b-kfpgr0vehl] { grid-template-columns: 1fr; }
    .form-grid.pairs .span-2[b-kfpgr0vehl] { grid-column: span 1; }
}

.form-actions[b-kfpgr0vehl] {
    display: flex;
    gap: 0.5rem;
    padding: 1.25rem;
    border-top: 1px solid #f3f4f6;
}

.locked-note[b-kfpgr0vehl] {
    font-size: 0.8125rem;
    margin-bottom: 1rem;
    max-width: 78ch;
}

.settings-note[b-kfpgr0vehl] {
    padding: 0 1.25rem 1.25rem;
    margin: 0;
    font-size: 0.8125rem;
    color: #6b7280;
}

@media (max-width: 720px) {
    .span-2[b-kfpgr0vehl] { grid-column: span 1; }
}

.logo-panel[b-kfpgr0vehl] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1.25rem;
    align-items: flex-start;
}

.logo-preview[b-kfpgr0vehl] {
    width: 220px;
    min-height: 90px;
    border: 1px dashed #d1d5db;
    border-radius: 8px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
}

[b-kfpgr0vehl] .logo-preview img {
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
}

.logo-empty[b-kfpgr0vehl] {
    font-size: 0.8rem;
    color: #9ca3af;
}

.logo-actions[b-kfpgr0vehl] {
    flex: 1 1 320px;
    min-width: 260px;
}

.logo-help[b-kfpgr0vehl] {
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 62ch;
    margin-bottom: 0.75rem;
}

.form-check-inline[b-kfpgr0vehl] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
    color: #111827;
    cursor: pointer;
}

/* ---- Tabs -------------------------------------------------------------------------------- */

/* One form behind three tabs. The sections are hidden rather than removed, so a field edited
   on one tab is still in the form when Save is pressed from another. */
.settings-tabs[b-kfpgr0vehl] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-bottom: 1.1rem;
    border-bottom: 1px solid #e3edf3;
}

.settings-tabs button[b-kfpgr0vehl] {
    padding: 0.6rem 1rem;
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    font-size: 0.9rem;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: color 0.12s, border-color 0.12s;
}

.settings-tabs button:hover[b-kfpgr0vehl] { color: #12314f; }

.settings-tabs button.active[b-kfpgr0vehl] {
    color: #12314f;
    border-bottom-color: #12876f;
}

@media (max-width: 520px) {
    .settings-tabs button[b-kfpgr0vehl] { flex: 1; padding: 0.6rem 0.4rem; }
}

/* ---- Newsletter subscription --------------------------------------------------------- */

.subscribe[b-kfpgr0vehl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid #e3edf3;
    border-radius: 12px;
    background: #f8fafc;
}

.subscribe-state[b-kfpgr0vehl] { min-width: 0; }

.subscribe-status[b-kfpgr0vehl] {
    display: inline-block;
    margin-bottom: 0.4rem;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.subscribe-status.on[b-kfpgr0vehl] { background: #dcfce7; color: #15803d; }
.subscribe-status.off[b-kfpgr0vehl] { background: #e8eef4; color: #64748b; }

.subscribe-help[b-kfpgr0vehl] {
    margin: 0 0 0.4rem;
    font-size: 0.84rem;
    line-height: 1.5;
    color: #64748b;
}

.subscribe-help:last-child[b-kfpgr0vehl] { margin-bottom: 0; }
.subscribe button[b-kfpgr0vehl] { flex-shrink: 0; }

@media (max-width: 620px) {
    .subscribe[b-kfpgr0vehl] { flex-direction: column; }
}
/* /Components/Pages/Settings/Profile.razor.rz.scp.css */
.form-grid[b-6bjqj8sivv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    padding: 1.25rem 1.25rem 0;
}

.span-2[b-6bjqj8sivv] { grid-column: span 2; }

.form-actions[b-6bjqj8sivv] {
    display: flex;
    gap: 0.5rem;
    padding: 1.25rem;
}

.detail-grid[b-6bjqj8sivv] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem 1.5rem;
    padding: 1.25rem;
    margin: 0;
}

[b-6bjqj8sivv] .detail dt {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

[b-6bjqj8sivv] .detail dd { margin: 0; font-size: 0.9rem; color: #111827; }
[b-6bjqj8sivv] .role-badge { margin-right: 0.25rem; }

.settings-note[b-6bjqj8sivv] {
    padding: 0 1.25rem 1.25rem;
    margin: 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 76ch;
}

@media (max-width: 720px) {
    .span-2[b-6bjqj8sivv] { grid-column: span 1; }
}
/* /Components/Pages/Settings/Subscription.razor.rz.scp.css */
.no-plan[b-fkzhu3d4nx] { margin: 0; color: #4b5563; max-width: 70ch; line-height: 1.6; }

/* Baseline, not flex-start: with the description gone the left side is a single line beside
   a two-line price, and aligning to the top left a band of white space under the plan name. */
.mine-head[b-fkzhu3d4nx] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.mine-plan[b-fkzhu3d4nx] { font-size: 1.25rem; font-weight: 600; color: #111827; margin: 0; }

.mine-price[b-fkzhu3d4nx] { text-align: right; }
.mine-amount[b-fkzhu3d4nx] { display: block; font-size: 1.5rem; font-weight: 600; color: #111827; }
.mine-cycle[b-fkzhu3d4nx] { font-size: 0.8rem; color: #6b7280; }

.mine-grid[b-fkzhu3d4nx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 2.5rem;
    margin: 1rem 0 0;
    padding: 0.875rem 0;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
}

.mine-grid dt[b-fkzhu3d4nx] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #9ca3af;
}

.mine-grid dd[b-fkzhu3d4nx] { margin: 0.15rem 0 0; font-size: 0.875rem; color: #111827; }
.mine-trial[b-fkzhu3d4nx] { color: #6b7280; font-size: 0.8rem; }

.section-title[b-fkzhu3d4nx] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 1.375rem 0 0.75rem;
}

.usage-grid[b-fkzhu3d4nx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1rem 2rem;
    max-width: 44rem;
}

/* Changing plan: the choices on one row, the price they add up to directly beneath. */
.change-grid[b-fkzhu3d4nx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 0.9rem;
    margin-bottom: 1.1rem;
}

.quote[b-fkzhu3d4nx] {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 0.9rem 1rem;
    background: #f9fafb;
    margin-bottom: 1rem;
}

.quote-lines[b-fkzhu3d4nx] { display: grid; gap: 0.35rem; }

.quote-lines > div[b-fkzhu3d4nx] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.85rem;
    color: #374151;
}

.quote-total[b-fkzhu3d4nx] {
    border-top: 1px solid #e5e7eb;
    margin-top: 0.3rem;
    padding-top: 0.45rem;
    font-weight: 700;
    color: #111827 !important;
}

/* What would stop the change, said before the button rather than after it. */
.quote-blockers[b-fkzhu3d4nx] {
    margin: 0.75rem 0 0;
    padding-left: 1.1rem;
    display: grid;
    gap: 0.3rem;
    font-size: 0.8rem;
    color: #92400e;
}

.change-actions[b-fkzhu3d4nx] { display: flex; gap: 0.5rem; }

/* The grid the shared plan cards sit in. */
.plan-grid[b-fkzhu3d4nx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
    gap: 1rem;
    align-items: start;
}

/* The plan chosen above, echoed in the change form so the price below has a subject. */
.chosen-plan[b-fkzhu3d4nx] {
    margin: 0;
    padding: 0.33rem 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: #111827;
}

.mine-current[b-fkzhu3d4nx] {
    margin-left: 0.5rem;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: #e5e7eb;
    color: #374151;
    vertical-align: middle;
}

/* DataPanel puts its content flush against the card's edges; every panel on this page needs
   the same inset so the plan, usage bars and cards do not touch the border. */
.panel-body[b-fkzhu3d4nx] { padding: 1.125rem 1.25rem; }
/* /Components/Pages/Settings/TaxPayroll.razor.rz.scp.css */
.tabs[b-fgfq6ht8wi] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 1.25rem;
    overflow-x: auto;
}

.tab[b-fgfq6ht8wi] {
    padding: 0.6rem 0.95rem;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    font-size: 0.875rem;
    font-weight: 500;
    color: #6b7280;
    white-space: nowrap;
    cursor: pointer;
}

.tab:hover[b-fgfq6ht8wi] { color: #111827; }
.tab.active[b-fgfq6ht8wi] { color: #2563eb; border-bottom-color: #2563eb; }

.settings-subtitle[b-fgfq6ht8wi] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 1.375rem 0 0.625rem;
}

.settings-subtitle:first-child[b-fgfq6ht8wi] { margin-top: 0; }

.settings-note[b-fgfq6ht8wi] {
    margin: 0.75rem 0 0;
    font-size: 0.8rem;
    color: #6b7280;
    line-height: 1.55;
    max-width: 80ch;
}

.settings-warning[b-fgfq6ht8wi] {
    margin: 0.875rem 0 0;
    padding: 0.7rem 0.85rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    font-size: 0.82rem;
    color: #92400e;
    line-height: 1.55;
    max-width: 80ch;
}

.bracket-table input[b-fgfq6ht8wi] { min-width: 7rem; }

.check-row[b-fgfq6ht8wi] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.check-row .form-check[b-fgfq6ht8wi] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    font-size: 0.85rem;
}

[b-fgfq6ht8wi] tr.inactive td { opacity: 0.6; }
/* /Components/Pages/Settings/Users.razor.rz.scp.css */
.page-header[b-sqhjy8q1qn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.page-title[b-sqhjy8q1qn] {
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.page-sub[b-sqhjy8q1qn] {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: #6b7280;
}

.panel[b-sqhjy8q1qn] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1.25rem;
}

.form-panel[b-sqhjy8q1qn] { margin-bottom: 1.25rem; }

.panel-title[b-sqhjy8q1qn] {
    font-size: 0.9375rem;
    font-weight: 600;
    margin: 0 0 1rem;
    color: #111827;
}

.form-grid[b-sqhjy8q1qn] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.span-2[b-sqhjy8q1qn] { grid-column: span 2; }

.roles-field[b-sqhjy8q1qn] {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin-bottom: 1rem;
}

.roles-field legend[b-sqhjy8q1qn] {
    float: none;
    width: auto;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.role-option[b-sqhjy8q1qn] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.3rem 0;
    font-size: 0.875rem;
    cursor: pointer;
}

.role-option small[b-sqhjy8q1qn] {
    display: block;
    color: #6b7280;
    font-size: 0.78rem;
}

.form-actions[b-sqhjy8q1qn] {
    display: flex;
    gap: 0.5rem;
}

.table-card[b-sqhjy8q1qn] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}

.role-badge[b-sqhjy8q1qn] { margin-right: 0.25rem; }

.generated[b-sqhjy8q1qn] {
    display: inline-block;
    background: #111827;
    color: #f9fafb;
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    font-size: 0.95rem;
}

@media (max-width: 720px) {
    .span-2[b-sqhjy8q1qn] { grid-column: span 1; }
}

.role-list[b-sqhjy8q1qn] {
    display: grid;
    gap: 0.35rem;
}

/* The company access dialogue. One row per company, so the answer to "where can this person
   already go" is read down a single column rather than assembled from badges. */
.access-list[b-sqhjy8q1qn] {
    display: grid;
    gap: 0.5rem;
}

.access-row[b-sqhjy8q1qn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
}

/* A company they already reach is shaded, so the ones being added stand apart from the ones
   already granted without having to read either label. */
.access-row.granted[b-sqhjy8q1qn] {
    background: #f0f9ff;
    border-color: #bae6fd;
}

.access-company[b-sqhjy8q1qn] {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.access-name[b-sqhjy8q1qn] { font-weight: 600; }
.access-roles[b-sqhjy8q1qn] { font-size: 0.8rem; }

.access-controls[b-sqhjy8q1qn] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}

.access-controls .form-select[b-sqhjy8q1qn] { width: auto; }
.access-blocked[b-sqhjy8q1qn] { font-size: 0.8rem; }

@media (max-width: 720px) {
    .access-row[b-sqhjy8q1qn] { flex-direction: column; align-items: stretch; }
    .access-controls[b-sqhjy8q1qn] { justify-content: flex-end; }
}
/* /Components/Shared/ActionMenu.razor.rz.scp.css */
.action-menu[b-zvabydo9kq] {
    position: relative;
    display: inline-block;
    text-align: left;
}

.action-toggle[b-zvabydo9kq] { white-space: nowrap; }

.caret[b-zvabydo9kq] { font-size: 0.6rem; margin-left: 0.25rem; color: #6b7280; }

/* Covers the page so the next click anywhere closes the menu. Transparent, and below the menu
   itself, so the menu's own items stay clickable. */
.action-backdrop[b-zvabydo9kq] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

/* Fixed, not absolute: the tables this appears in nest overflow:hidden containers that would
   otherwise clip the menu on the last row. Coordinates come from the JS helper. */
.action-list[b-zvabydo9kq] {
    position: fixed;
    z-index: 1050;
    padding: 0.25rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.12);
}

/* The items are whatever the caller puts in, so they are styled by what they are rather than
   by a class the caller has to remember. */
[b-zvabydo9kq] .action-list > button,
[b-zvabydo9kq] .action-list > a {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.4rem 0.6rem;
    border: none;
    border-radius: 5px;
    background: none;
    color: #111827;
    font-size: 0.82rem;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

[b-zvabydo9kq] .action-list > button:hover,
[b-zvabydo9kq] .action-list > a:hover { background: #f3f4f6; }

[b-zvabydo9kq] .action-list > button.danger,
[b-zvabydo9kq] .action-list > a.danger { color: #b91c1c; }

[b-zvabydo9kq] .action-list > button.danger:hover,
[b-zvabydo9kq] .action-list > a.danger:hover { background: #fef2f2; }

[b-zvabydo9kq] .action-list > .action-separator {
    height: 1px;
    margin: 0.25rem 0.25rem;
    background: #f3f4f6;
}

[b-zvabydo9kq] .action-list > button:disabled {
    color: #9ca3af;
    cursor: default;
}

[b-zvabydo9kq] .action-list > button:disabled:hover { background: none; }
/* /Components/Shared/BarChart.razor.rz.scp.css */
.bar-chart[b-75qr8ooed6] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 1rem 1.125rem;
}

.chart-header[b-75qr8ooed6] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    gap: 1rem;
    flex-wrap: wrap;
}

.chart-title[b-75qr8ooed6] {
    font-size: 0.9375rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.chart-legend[b-75qr8ooed6] {
    display: flex;
    gap: 0.875rem;
    font-size: 0.75rem;
    color: #6b7280;
}

.legend-item[b-75qr8ooed6] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
}

.swatch[b-75qr8ooed6] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}

/* Two hues rather than two steps of one. The pale blue that used to carry the second
   series sat at 1.76:1 against the panel — below the 3:1 floor, so the bars were there
   and all but invisible. Blue/orange clears every check, including under colour-vision
   deficiency. */
.swatch-a[b-75qr8ooed6] { background: #2563eb; }
.swatch-b[b-75qr8ooed6] { background: #eb6834; }

.chart-svg[b-75qr8ooed6] {
    width: 100%;
    height: auto;
}

.chart-empty[b-75qr8ooed6] {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 1rem 0;
}

[b-75qr8ooed6] .bar-a { fill: #2563eb; }
[b-75qr8ooed6] .bar-b { fill: #eb6834; }

/* Hovering a bar names its exact figure; dimming the others is what points at it. */
[b-75qr8ooed6] .chart-svg:hover .bar { opacity: 0.45; }
[b-75qr8ooed6] .chart-svg .bar:hover { opacity: 1; }

/* The baseline carries slightly more weight than the gridlines above it: one is the
   zero the bars stand on, the others are only there to be read against. */
[b-75qr8ooed6] .axis-line { stroke: #d1d5db; stroke-width: 1; }
[b-75qr8ooed6] .grid-line { stroke: #f3f4f6; stroke-width: 1; }

[b-75qr8ooed6] .axis-label { font-size: 10px; fill: #6b7280; }

/* Tick figures align in a column, so they take tabular digits; the caps do not. */
[b-75qr8ooed6] .tick-label {
    font-size: 9.5px;
    fill: #9ca3af;
    font-variant-numeric: tabular-nums;
}

[b-75qr8ooed6] .cap-label {
    font-size: 10px;
    font-weight: 600;
    fill: #374151;
}
/* /Components/Shared/DataPanel.razor.rz.scp.css */
.data-panel[b-6cotvu5rmy] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.data-panel-header[b-6cotvu5rmy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.875rem 1.125rem;
    border-bottom: 1px solid #f3f4f6;
}

.data-panel-title[b-6cotvu5rmy] {
    font-size: 0.9375rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.data-panel-toolbar[b-6cotvu5rmy] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    /* Sized by its controls rather than squashed by the heading beside it, which was making
       two filter dropdowns wrap onto separate lines. */
    flex-shrink: 0;
}

.data-panel-state[b-6cotvu5rmy] {
    padding: 1.25rem;
    margin: 0;
    color: #6b7280;
    font-size: 0.875rem;
}

/* Tables sit flush inside the card, and scroll rather than widening the page. */
[b-6cotvu5rmy] .table { margin-bottom: 0; font-size: 0.875rem; }
[b-6cotvu5rmy] .table-scroll { overflow-x: auto; }
/* /Components/Shared/IconButton.razor.rz.scp.css */
.icon-button[b-359wprelv3] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    background: #fff;
    color: #475569;
    cursor: pointer;
}

.icon-button + .icon-button[b-359wprelv3] { margin-left: 0.3rem; }

.icon-button:hover:not(:disabled)[b-359wprelv3] {
    background: #f1f5f9;
    color: #111827;
    border-color: #9ca3af;
}

.icon-button.danger[b-359wprelv3] { color: #b91c1c; border-color: #fca5a5; }

.icon-button.danger:hover:not(:disabled)[b-359wprelv3] {
    background: #fef2f2;
    color: #991b1b;
    border-color: #ef4444;
}

.icon-button:disabled[b-359wprelv3] { opacity: 0.45; cursor: default; }

.icon-button:focus-visible[b-359wprelv3] { outline: 2px solid #2563eb; outline-offset: 1px; }

.icon-button-glyph[b-359wprelv3] { width: 15px; height: 15px; }
/* /Components/Shared/MetricCard.razor.rz.scp.css */
/* A solid block of colour per metric. The label and footnote are the same white at reduced
   opacity rather than a second colour, so the value is the only thing competing for attention
   on the tile. */
.metric-card[b-5phg3w6s3l] {
    padding: 0.85rem 1rem 0.9rem;
    border-radius: 9px;
    background: #475569;
    color: #fff;
}

.metric-label[b-5phg3w6s3l] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.88;
    margin-bottom: 0.3rem;
}

.metric-value[b-5phg3w6s3l] {
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.15;
    /* So a column of figures lines up digit for digit as the numbers change. */
    font-variant-numeric: tabular-nums;
}

.metric-caption[b-5phg3w6s3l] {
    margin-top: 0.3rem;
    font-size: 0.72rem;
    opacity: 0.82;
}

/* Each is dark enough to carry white text at this weight. */
.metric-red[b-5phg3w6s3l] { background: #b42318; }
.metric-blue[b-5phg3w6s3l] { background: #1d4ed8; }
.metric-green[b-5phg3w6s3l] { background: #15803d; }
.metric-amber[b-5phg3w6s3l] { background: #b45309; }
.metric-slate[b-5phg3w6s3l] { background: #475569; }
.metric-indigo[b-5phg3w6s3l] { background: #4338ca; }
/* /Components/Shared/Modal.razor.rz.scp.css */
.modal-backdrop-layer[b-yzgebpoo4u] {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.5);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 2.5rem 1rem;
    z-index: 1050;
    overflow-y: auto;
}

.modal-panel[b-yzgebpoo4u] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(17, 24, 39, 0.25);
    width: 100%;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 5rem);
    outline: none;
}

.modal-sm[b-yzgebpoo4u] { max-width: 420px; }
.modal-md[b-yzgebpoo4u] { max-width: 640px; }
.modal-lg[b-yzgebpoo4u] { max-width: 860px; }
.modal-xl[b-yzgebpoo4u] { max-width: 1180px; }

.modal-head[b-yzgebpoo4u] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.125rem 1.25rem;
    border-bottom: 1px solid #f3f4f6;
    flex-shrink: 0;
}

.modal-title[b-yzgebpoo4u] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
}

.modal-subtitle[b-yzgebpoo4u] {
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
    max-width: 62ch;
}

.modal-close[b-yzgebpoo4u] {
    background: none;
    border: none;
    font-size: 0.95rem;
    color: #9ca3af;
    cursor: pointer;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
    line-height: 1;
}

.modal-close:hover[b-yzgebpoo4u] { background: #f3f4f6; color: #374151; }

.modal-alert[b-yzgebpoo4u] {
    margin: 1rem 1.25rem 0;
    font-size: 0.875rem;
}

/* The body scrolls; the header and footer stay put, so Save is always reachable. */
.modal-body[b-yzgebpoo4u] {
    padding: 1.25rem;
    overflow-y: auto;
    flex: 1;
}

.modal-foot[b-yzgebpoo4u] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 1rem 1.25rem;
    border-top: 1px solid #f3f4f6;
    background: #f9fafb;
    border-radius: 0 0 12px 12px;
    flex-shrink: 0;
    flex-wrap: wrap;
}

/* Forms inside a modal share one grid, so every screen's fields line up alike. */
[b-yzgebpoo4u] .modal-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
}

[b-yzgebpoo4u] .modal-form .span-2 { grid-column: span 2; }
[b-yzgebpoo4u] .modal-form .span-all { grid-column: 1 / -1; }

/* Fields that must sit on one row whatever the outer auto-fit column count works out to. */
[b-yzgebpoo4u] .modal-form .field-row-2,
[b-yzgebpoo4u] .modal-form .field-row-3,
[b-yzgebpoo4u] .modal-form .field-row-4 {
    grid-column: 1 / -1;
    display: grid;
    gap: 1rem;
}

[b-yzgebpoo4u] .modal-form .field-row-2 { grid-template-columns: 1fr 1fr; }
[b-yzgebpoo4u] .modal-form .field-row-3 { grid-template-columns: 2fr 1fr 1fr; }
[b-yzgebpoo4u] .modal-form .field-row-4 { grid-template-columns: 1fr 2fr 2fr 2fr; }

[b-yzgebpoo4u] .modal-section {
    grid-column: 1 / -1;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    padding-top: 0.5rem;
    border-top: 1px solid #f3f4f6;
    margin-top: 0.25rem;
}

[b-yzgebpoo4u] .modal-form .modal-section:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

[b-yzgebpoo4u] .modal-checks {
    grid-column: 1 / -1;
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    align-items: center;
}

[b-yzgebpoo4u] .modal-check {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
}

@media (max-width: 720px) {
    .modal-backdrop-layer[b-yzgebpoo4u] { padding: 1rem 0.5rem; }
    [b-yzgebpoo4u] .modal-form .span-2 { grid-column: 1 / -1; }
    [b-yzgebpoo4u] .modal-form .field-row-2,
    [b-yzgebpoo4u] .modal-form .field-row-3,
    [b-yzgebpoo4u] .modal-form .field-row-4 { grid-template-columns: 1fr; }
}

/* Wider rows for forms that group many short fields together. Named by shape rather than by
   the form that first needed them, so they can be reused. */
[b-yzgebpoo4u] .modal-form .field-row-5,
[b-yzgebpoo4u] .modal-form .field-row-4-pairs,
[b-yzgebpoo4u] .modal-form .field-row-4-even {
    grid-column: 1 / -1;
    display: grid;
    gap: 1rem;
}

[b-yzgebpoo4u] .modal-form .field-row-5 { grid-template-columns: 1fr 1fr 1fr 1.2fr 1.5fr; }

/* A number beside the thing it numbers, twice: unit and complex, street number and street. */
[b-yzgebpoo4u] .modal-form .field-row-4-pairs { grid-template-columns: 1fr 2fr 1fr 2fr; }

[b-yzgebpoo4u] .modal-form .field-row-4-even { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 720px) {
    [b-yzgebpoo4u] .modal-form .field-row-5,
    [b-yzgebpoo4u] .modal-form .field-row-4-pairs,
    [b-yzgebpoo4u] .modal-form .field-row-4-even { grid-template-columns: 1fr; }
}
/* /Components/Shared/NotBuiltYet.razor.rz.scp.css */
.not-built[b-1p98r7r8q9] {
    background: #fff;
    border: 1px dashed #d1d5db;
    border-radius: 10px;
    padding: 2rem;
    max-width: 640px;
}

.not-built-title[b-1p98r7r8q9] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 0.5rem;
}

.not-built-body[b-1p98r7r8q9] {
    color: #4b5563;
    font-size: 0.9rem;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

.not-built-backing[b-1p98r7r8q9] {
    background: #f9fafb;
    border-radius: 8px;
    padding: 0.875rem 1rem;
    margin-bottom: 1.25rem;
}

.not-built-label[b-1p98r7r8q9] {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    margin-bottom: 0.4rem;
}

.not-built-backing ul[b-1p98r7r8q9] {
    margin: 0;
    padding-left: 1.1rem;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.7;
}
/* /Components/Shared/NotificationBell.razor.rz.scp.css */
.bell[b-53sia9i0gp] { position: relative; }

.bell-trigger[b-53sia9i0gp] {
    position: relative;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    list-style: none;
    color: #4b5563;
    border: 1px solid transparent;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

/* The default disclosure triangle would sit beside the bell. */
.bell-trigger[b-53sia9i0gp]::-webkit-details-marker { display: none; }
.bell-trigger[b-53sia9i0gp]::marker { content: ""; }

.bell-trigger:hover[b-53sia9i0gp] { background: #f3f4f6; border-color: #e5e7eb; color: #111827; }

.bell-mark[b-53sia9i0gp] { display: grid; place-items: center; }

/* The count rides on the bell rather than beside it, so the control stays one target.
   It sits on the corner and must not cover the icon: with content-box sizing, a 2px border and
   4px of padding, a one-digit badge came out 28x20 and hid the bell entirely — the control
   read as a blue pill with a number in it. The ring is a shadow rather than a border so it
   costs no width, and border-box keeps the padding inside the declared size. */
.bell-count[b-53sia9i0gp] {
    position: absolute;
    top: -1px;
    right: -1px;
    box-sizing: border-box;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 15px;
    text-align: center;
    box-shadow: 0 0 0 2px #fff;
}

.bell-count.urgent[b-53sia9i0gp] { background: #dc2626; }

.bell-panel[b-53sia9i0gp] {
    position: absolute;
    right: 0;
    top: calc(100% + 0.5rem);
    width: 320px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(17, 24, 39, 0.12);
    z-index: 50;
    overflow: hidden;
}

.bell-head[b-53sia9i0gp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid #f3f4f6;
}

.bell-title[b-53sia9i0gp] { font-size: 0.78rem; font-weight: 700; color: #111827; }

.bell-total[b-53sia9i0gp] {
    font-size: 0.68rem;
    font-weight: 700;
    color: #6b7280;
    background: #f3f4f6;
    border-radius: 999px;
    padding: 0.05rem 0.45rem;
}

.bell-empty[b-53sia9i0gp] { margin: 0; padding: 1.1rem 0.9rem; font-size: 0.8rem; color: #6b7280; }

.bell-list[b-53sia9i0gp] { list-style: none; margin: 0; padding: 0; max-height: 22rem; overflow-y: auto; }

.bell-item[b-53sia9i0gp] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.65rem 0.9rem 0.65rem 1.1rem;
    border-bottom: 1px solid #f9fafb;
    border-left: 3px solid transparent;
    text-decoration: none;
    transition: background 0.1s;
}

.bell-item:hover[b-53sia9i0gp] { background: #f9fafb; }
.bell-item.urgent[b-53sia9i0gp] { border-left-color: #dc2626; }
.bell-item.warning[b-53sia9i0gp] { border-left-color: #d97706; }
.bell-item.info[b-53sia9i0gp] { border-left-color: #2563eb; }

.bell-item-title[b-53sia9i0gp] { font-size: 0.8rem; font-weight: 600; color: #111827; }
.bell-item-detail[b-53sia9i0gp] { font-size: 0.74rem; color: #6b7280; line-height: 1.45; }
/* /Components/Shared/PageHeading.razor.rz.scp.css */
.page-heading[b-mbsehdbiob] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.page-heading-title[b-mbsehdbiob] {
    font-size: 1.375rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.page-heading-sub[b-mbsehdbiob] {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: #6b7280;
    max-width: 68ch;
}

.page-heading-actions[b-mbsehdbiob] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
/* /Components/Shared/PayslipLeave.razor.rz.scp.css */
.payslip-leave[b-7blmpbmm1w] {
    margin-top: 0.875rem;
    padding-top: 0.875rem;
    border-top: 1px solid #f3f4f6;
}

.leave-title[b-7blmpbmm1w] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: #6b7280;
    margin: 0 0 0.4rem;
}

.leave-title:not(:first-child)[b-7blmpbmm1w] { margin-top: 1rem; }

/* Dated rather than bolded: the point is that the figure is current, not emphatic. */
.leave-as-at[b-7blmpbmm1w] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    color: #9ca3af;
    margin-left: 0.35rem;
}

.leave-table[b-7blmpbmm1w] { font-size: 0.82rem; }

.leave-empty[b-7blmpbmm1w] {
    margin: 0;
    font-size: 0.8rem;
    color: #6b7280;
}
/* /Components/Shared/PlanCard.razor.rz.scp.css */
/* One plan, as a card. Shared by the administration portal's catalogue and the owner's own
   subscription page, so the two cannot drift into describing the same plan differently. */
.plan-card[b-mddh3nlhuf] {
    display: flex;
    flex-direction: column;
    padding: 1.125rem 1.25rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
}
.plan-card.retired[b-mddh3nlhuf] { opacity: 0.62; }
.plan-head[b-mddh3nlhuf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.plan-name[b-mddh3nlhuf] { font-size: 1.05rem; font-weight: 600; color: #111827; margin: 0; }
.plan-code[b-mddh3nlhuf] { font-size: 0.7rem; color: #9ca3af; }
.plan-price[b-mddh3nlhuf] { margin: 0.75rem 0 0; }
.plan-amount[b-mddh3nlhuf] { font-size: 1.5rem; font-weight: 600; color: #111827; }
.plan-period[b-mddh3nlhuf] { font-size: 0.85rem; color: #6b7280; }
.plan-annual[b-mddh3nlhuf] { margin: 0.15rem 0 0; font-size: 0.78rem; color: #6b7280; }
.plan-description[b-mddh3nlhuf] {
    margin: 0.75rem 0 0;
    font-size: 0.82rem;
    color: #4b5563;
    line-height: 1.55;
}
.plan-limits[b-mddh3nlhuf] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem 1rem;
    margin: 1rem 0 0;
    padding: 0.75rem 0;
    border-top: 1px solid #f3f4f6;
    border-bottom: 1px solid #f3f4f6;
}
.plan-limits dt[b-mddh3nlhuf] {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #9ca3af;
}
.plan-limits dd[b-mddh3nlhuf] { margin: 0.1rem 0 0; font-size: 0.85rem; font-weight: 600; color: #111827; }
.plan-features[b-mddh3nlhuf] {
    list-style: none;
    margin: 0.875rem 0 0;
    padding: 0;
    font-size: 0.82rem;
}
.plan-features li[b-mddh3nlhuf] { display: flex; gap: 0.5rem; padding: 0.15rem 0; }
.plan-features .tick[b-mddh3nlhuf] { width: 0.9rem; text-align: center; }
.plan-features .yes[b-mddh3nlhuf] { color: #111827; }
.plan-features .yes .tick[b-mddh3nlhuf] { color: #059669; }
.plan-features .no[b-mddh3nlhuf] { color: #9ca3af; }
.plan-footnotes[b-mddh3nlhuf] {
    margin: 0.875rem 0 0;
    font-size: 0.7rem;
    color: #9ca3af;
    line-height: 1.5;
}

/* Chosen or current, on the owner's own subscription page. */
.plan-card[role="button"][b-mddh3nlhuf] { cursor: pointer; }
.plan-card[role="button"]:hover[b-mddh3nlhuf] { border-color: #c7d2fe; }
.plan-card.current[b-mddh3nlhuf] { border-color: #9ca3af; background: #f9fafb; }
.plan-card.chosen[b-mddh3nlhuf] { border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15); }

[b-mddh3nlhuf] .plan-badge {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
}

[b-mddh3nlhuf] .plan-badge.current { background: #e5e7eb; color: #374151; }
[b-mddh3nlhuf] .plan-badge.chosen { background: #dbeafe; color: #1d4ed8; }

/* What the add-ons cost, when the plan sells any. */
.plan-addons[b-mddh3nlhuf] { margin: 0.4rem 0 0; font-size: 0.72rem; color: #067647; }
/* /Components/Shared/SiteFooter.razor.rz.scp.css */
/* The public footer, scoped to the component now that two pages render it. */

/* ---- Foot ---------------------------------------------------------------------------------- */

.site-foot[b-hiphy2fpr5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 2rem;
    background: #0e2740;
    color: #9fb3c8;
    font-size: 0.85rem;
}

.site-foot-brand[b-hiphy2fpr5] { font-weight: 700; color: #fff; }
.site-foot nav[b-hiphy2fpr5] { display: flex; flex-wrap: wrap; gap: 1.25rem; }

.site-foot nav a[b-hiphy2fpr5] { color: #c5d9e2; text-decoration: none; font-weight: 600; }
.site-foot nav a:hover[b-hiphy2fpr5] { color: #fff; text-decoration: underline; }

@media (max-width: 960px) {
    .hero[b-hiphy2fpr5] { grid-template-columns: 1fr; gap: 2.5rem; padding: 3rem 1.5rem; }
    .hero-title[b-hiphy2fpr5] { font-size: 2.3rem; }
    .site-nav[b-hiphy2fpr5] { display: none; }
}

@media (max-width: 620px) {
    .site-head[b-hiphy2fpr5] { padding: 0.8rem 1.1rem; gap: 0.75rem; }
    .site-brand[b-hiphy2fpr5] { margin-right: auto; }
    .features[b-hiphy2fpr5], .compliance[b-hiphy2fpr5], .cta[b-hiphy2fpr5] { padding: 3rem 1.25rem; }
    .section-title[b-hiphy2fpr5], .cta-title[b-hiphy2fpr5] { font-size: 1.6rem; }
    .site-foot[b-hiphy2fpr5] { justify-content: center; text-align: center; }
}
/* /Components/Shared/SiteHeader.razor.rz.scp.css */
/* The public header, scoped to the component now that two pages render it. */

/* ---- Header ------------------------------------------------------------------------------ */

.site-head[b-tje1c853rp] {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 0.9rem 2rem;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e8eef4;
}

.site-brand[b-tje1c853rp] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    flex-shrink: 0;
}

.site-nav[b-tje1c853rp] {
    display: flex;
    gap: 1.5rem;
    margin-right: auto;
}

.site-nav a[b-tje1c853rp] {
    font-size: 0.88rem;
    font-weight: 600;
    color: #475569;
    text-decoration: none;
}

.site-nav a:hover[b-tje1c853rp] { color: #12314f; }

.site-actions[b-tje1c853rp] { display: flex; align-items: center; gap: 0.6rem; }

.btn-solid[b-tje1c853rp],
.btn-outline[b-tje1c853rp],
.btn-ghost[b-tje1c853rp] {
    display: inline-block;
    padding: 0.55rem 1.05rem;
    border-radius: 11px;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.12s, border-color 0.12s, color 0.12s;
}

.btn-solid[b-tje1c853rp] { background: #16a085; border: 1.5px solid #12876f; color: #fff; }
.btn-solid:hover[b-tje1c853rp] { background: #12876f; color: #fff; }

.btn-outline[b-tje1c853rp] { background: #fff; border: 1.5px solid #dbe3ec; color: #12314f; }
.btn-outline:hover[b-tje1c853rp] { background: #f1f5f9; border-color: #cbd5e1; color: #12314f; }

.btn-ghost[b-tje1c853rp] { background: transparent; border: 1.5px solid transparent; color: #12314f; }
.btn-ghost:hover[b-tje1c853rp] { background: #f1f5f9; color: #12314f; }

.btn-lg[b-tje1c853rp] { padding: 0.8rem 1.4rem; font-size: 0.98rem; border-radius: 12px; }
/* /Components/Shared/ToastHost.razor.rz.scp.css */
.toast-stack[b-kpbjakkomg] {
    position: fixed;
    /* Clear of the 60px top bar, so a message never sits over the user menu and blocks it. */
    top: calc(60px + 0.75rem);
    right: 1rem;
    z-index: 1080;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(28rem, calc(100vw - 2rem));
    /* The strip itself must not swallow clicks meant for the page behind it. */
    pointer-events: none;
}

[b-kpbjakkomg] .toast-item {
    pointer-events: auto;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin: 0;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.14);
    animation: toast-in-b-kpbjakkomg 180ms ease-out;
}

[b-kpbjakkomg] .toast-text { flex: 1; }

[b-kpbjakkomg] .toast-close {
    flex-shrink: 0;
    border: none;
    background: none;
    padding: 0 0.15rem;
    color: inherit;
    opacity: 0.55;
    font-size: 0.8rem;
    line-height: 1.4;
    cursor: pointer;
}

[b-kpbjakkomg] .toast-close:hover { opacity: 1; }

/* Fades over its last moment so a message that leaves while being read is seen to leave. The
   element is removed by the component when its timer fires. */
[b-kpbjakkomg] .toast-item.auto {
    animation: toast-in-b-kpbjakkomg 180ms ease-out, toast-fade-b-kpbjakkomg 600ms ease-in 5.4s forwards;
}

@keyframes toast-in-b-kpbjakkomg {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: none; }
}

@keyframes toast-fade-b-kpbjakkomg {
    to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    [b-kpbjakkomg] .toast-item,
    [b-kpbjakkomg] .toast-item.auto { animation: none; }
}
/* /Components/Shared/TrialBanner.razor.rz.scp.css */
/* Full width across the top of the shell, above the top bar, so it reads as a notice about
   the account rather than about the page being looked at. */
.trial-banner[b-460y3lz1bm] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.55rem 1.25rem;
    font-size: 0.82rem;
    border-bottom: 1px solid transparent;
}

.trial-banner.info[b-460y3lz1bm] {
    background: #eff6ff;
    color: #1e3a8a;
    border-bottom-color: #bfdbfe;
}

.trial-banner.warning[b-460y3lz1bm] {
    background: #fffbeb;
    color: #92400e;
    border-bottom-color: #fde68a;
}

.trial-banner.danger[b-460y3lz1bm] {
    background: #fef2f2;
    color: #991b1b;
    border-bottom-color: #fecaca;
}

.trial-mark[b-460y3lz1bm] {
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.65);
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
}

.trial-text[b-460y3lz1bm] { display: flex; gap: 0.4rem; flex-wrap: wrap; align-items: baseline; }
.trial-detail[b-460y3lz1bm] { opacity: 0.85; }

.trial-action[b-460y3lz1bm] {
    margin-left: auto;
    flex-shrink: 0;
    font-weight: 600;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.trial-action:hover[b-460y3lz1bm] { opacity: 0.8; color: inherit; }

@media (max-width: 640px) {
    .trial-banner[b-460y3lz1bm] { align-items: flex-start; padding: 0.6rem 1rem; }
    .trial-action[b-460y3lz1bm] { margin-left: 0; width: 100%; }
}
/* /Components/Shared/UsageBar.razor.rz.scp.css */
.usage[b-hg987xs2so] { min-width: 0; }

.usage-head[b-hg987xs2so] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.3rem;
}

.usage-label[b-hg987xs2so] { font-size: 0.8rem; font-weight: 600; color: #374151; }
.usage-count[b-hg987xs2so] { font-size: 0.8rem; color: #6b7280; font-variant-numeric: tabular-nums; }

.usage-track[b-hg987xs2so] {
    height: 0.5rem;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
}

.usage-fill[b-hg987xs2so] {
    height: 100%;
    background: #2563eb;
    border-radius: 999px;
    transition: width 0.2s;
}

.usage-fill.close[b-hg987xs2so] { background: #d97706; }
.usage-fill.full[b-hg987xs2so] { background: #dc2626; }

.usage-none[b-hg987xs2so] { margin: 0; font-size: 0.78rem; color: #9ca3af; }
/* /Components/Shared/UserMenu.razor.rz.scp.css */
.user-menu[b-56ozoap0ci] {
    position: relative;
}

/* ---- The trigger ---------------------------------------------------------------------- */

.user-menu-trigger[b-56ozoap0ci] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.3rem 0.8rem 0.3rem 0.35rem;
    border-radius: 999px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: #fff;
    border: 2px solid #e2e8f0;
    transition: border-color 0.12s, background 0.12s;
}

/* The default disclosure triangle would sit alongside our own caret. */
.user-menu-trigger[b-56ozoap0ci]::-webkit-details-marker { display: none; }
.user-menu-trigger[b-56ozoap0ci]::marker { content: ""; }

.user-menu-trigger:hover[b-56ozoap0ci] { border-color: #cbd5e1; }

/* Ringed while the panel is down, so the thing the panel belongs to is obvious when it
   overlaps the page beneath it. */
.user-menu[open] .user-menu-trigger[b-56ozoap0ci] {
    border-color: #0f8d82;
    background: #fff;
}

.user-avatar[b-56ozoap0ci] {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #d7f0ec;
    color: #0f6f66;
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
}

.user-menu-trigger .user-name[b-56ozoap0ci] {
    font-size: 0.9rem;
    font-weight: 700;
    color: #12314f;
    white-space: nowrap;
}

.user-caret[b-56ozoap0ci] {
    font-size: 0.7rem;
    color: #64748b;
    transition: transform 0.12s;
}

.user-menu[open] .user-caret[b-56ozoap0ci] { transform: rotate(180deg); }

/* ---- The panel ------------------------------------------------------------------------ */

.user-menu-panel[b-56ozoap0ci] {
    position: absolute;
    right: 0;
    top: calc(100% + 0.6rem);
    width: 330px;
    z-index: 1200;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(15, 45, 74, 0.14);
    overflow: hidden;
}

.user-menu-header[b-56ozoap0ci] {
    padding: 1.05rem 1.15rem 1.15rem;
    background: #eaf2f8;
}

.user-menu-eyebrow[b-56ozoap0ci] {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #64748b;
}

.user-menu-identity[b-56ozoap0ci] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 0.7rem;
}

/* A rounded square rather than a circle, so it does not read as a second copy of the small
   round avatar on the trigger directly above it. */
.user-menu-avatar[b-56ozoap0ci] {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 13px;
    background: #12314f;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
}

.user-menu-who[b-56ozoap0ci] {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.user-menu-name[b-56ozoap0ci] {
    font-size: 1.05rem;
    font-weight: 700;
    color: #12314f;
    line-height: 1.2;
}

.user-menu-email[b-56ozoap0ci] {
    font-size: 0.8rem;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ---- Where you are, and what you are -------------------------------------------------- */

.user-menu-facts[b-56ozoap0ci] {
    margin: 0;
    padding: 0 1.15rem;
    background: #fff;
}

.user-menu-facts > div[b-56ozoap0ci] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid #eef2f6;
}

.user-menu-facts > div:last-child[b-56ozoap0ci] { border-bottom: none; }

.user-menu-facts dt[b-56ozoap0ci] {
    font-size: 0.85rem;
    font-weight: 400;
    color: #64748b;
}

.user-menu-facts dd[b-56ozoap0ci] {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: #12314f;
    text-align: right;
}

/* ---- Switching ------------------------------------------------------------------------ */

.user-menu-switch[b-56ozoap0ci] {
    padding: 0.95rem 1.15rem 0.2rem;
    background: #f8fafc;
    border-top: 1px solid #eef2f6;
}

.user-menu-label[b-56ozoap0ci] {
    font-size: 0.95rem;
    font-weight: 700;
    color: #12314f;
    margin-bottom: 0.55rem;
}

.switch-form[b-56ozoap0ci] { margin: 0; }

.switch-select[b-56ozoap0ci] {
    width: 100%;
    padding: 0.62rem 2rem 0.62rem 0.8rem;
    font-size: 0.88rem;
    color: #12314f;
    background-color: #fff;
    border: 1.5px solid #dbe3ec;
    border-radius: 11px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2312314f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
}

.switch-select:focus[b-56ozoap0ci] {
    outline: none;
    border-color: #0f8d82;
    box-shadow: 0 0 0 3px rgba(15, 141, 130, 0.14);
}

.switch-go[b-56ozoap0ci] {
    margin-top: 0.5rem;
    width: 100%;
    padding: 0.5rem;
    border-radius: 11px;
    border: 1.5px solid #dbe3ec;
    background: #fff;
    font-weight: 700;
    color: #12314f;
}

/* ---- Actions -------------------------------------------------------------------------- */

.user-menu-actions[b-56ozoap0ci] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
    padding: 0.95rem 1.15rem 1.15rem;
    background: #f8fafc;
}

/* Full width under the pair above it: signing out is not one of two equal choices. */
.user-menu-signout[b-56ozoap0ci] {
    grid-column: 1 / -1;
    margin: 0;
}

.user-menu-button[b-56ozoap0ci] {
    display: block;
    width: 100%;
    padding: 0.62rem 0.5rem;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 700;
    color: #12314f;
    background: #fff;
    border: 1.5px solid #dbe3ec;
    border-radius: 11px;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
}

.user-menu-button:hover[b-56ozoap0ci] {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #12314f;
}

.user-menu-button.danger[b-56ozoap0ci] { color: #c0392b; }

.user-menu-button.danger:hover[b-56ozoap0ci] {
    background: #fef3f2;
    border-color: #f3c6c0;
}

@media (max-width: 480px) {
    .user-menu-panel[b-56ozoap0ci] { width: calc(100vw - 2rem); }
    .user-menu-trigger .user-name[b-56ozoap0ci] { display: none; }
}
