@import 'Chairside.Web.Client.au6cfpr57j.bundle.scp.css';
@import '_content/Chairside.Components/Chairside.Components.dcox730izb.bundle.scp.css';
@import '_content/Chairside.UI/Chairside.UI.zfembgefl7.bundle.scp.css';

/* /Components/Clinical/ConsentDialog.razor.rz.scp.css */
.cd-wording[b-z3zpbj42yp] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-height: 220px; overflow-y: auto; border: 1px solid var(--line-2); border-radius: 8px; padding: 10px 12px; margin: 4px 0 12px; background: var(--surface-2, #f6f7f9); font-size: 13px; line-height: 1.5; }
.cd-lang p[b-z3zpbj42yp] { margin: 0 0 8px; }
.cd-lang[dir="rtl"][b-z3zpbj42yp] { font-size: 14px; }
.cd-items[b-z3zpbj42yp] { margin: 0 0 12px; }
.cd-items .s-form-label[b-z3zpbj42yp] { display: block; margin-bottom: 4px; }
.cd-hint[b-z3zpbj42yp] { margin: 4px 0 0; font-size: 12.5px; }
.cd-sig[b-z3zpbj42yp] { margin: 4px 0 12px; }
.cd-sig .s-form-label[b-z3zpbj42yp] { display: block; margin-bottom: 4px; }
.cd-pad[b-z3zpbj42yp] { display: block; width: 100%; max-width: 600px; height: 180px; border: 1px dashed var(--line-2); border-radius: 8px; background: var(--card, #fff); touch-action: none; cursor: crosshair; }
.cd-sig-actions[b-z3zpbj42yp] { display: flex; align-items: center; gap: 12px; margin-top: 6px; font-size: 12.5px; }
.mt[b-z3zpbj42yp] { margin-top: 12px; }
@media (max-width: 800px) { .cd-wording[b-z3zpbj42yp] { grid-template-columns: 1fr; } }
/* /Components/Clinical/IssuedDocumentsCard.razor.rz.scp.css */
.idc-actions[b-7uejosd4x0] { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.idc-empty[b-7uejosd4x0] { font-size: 12.5px; margin: 0; }
.idc-hint[b-7uejosd4x0] { font-size: 12.5px; margin: 4px 0 8px; }
.idc-list[b-7uejosd4x0] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.idc-list li[b-7uejosd4x0] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; padding: 6px 0; border-bottom: 1px solid var(--line-2); }
.idc-list li:last-child[b-7uejosd4x0] { border-bottom: 0; }
.mono[b-7uejosd4x0] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Clinical/PerioCard.razor.rz.scp.css */
.pcard-empty[b-go95i8qtv5] { margin: 0 0 10px; font-size: 13.5px; }
.pcard-row[b-go95i8qtv5] { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 8px; }
.pcard-idx[b-go95i8qtv5] { background: var(--surface-2, #f6f7f9); border-radius: 8px; padding: 6px 10px; }
.pcard-idx b[b-go95i8qtv5] { display: block; font-size: 17px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.pcard-idx span[b-go95i8qtv5] { display: block; font-size: 11px; color: var(--ink-3); }
.pcard-reason[b-go95i8qtv5] { margin: 8px 0 0; font-size: 12.5px; }
.pcard-actions[b-go95i8qtv5] { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.pcard-actions .c-btn[b-go95i8qtv5] { display: inline-block; font: inherit; font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 6px; border: 1px solid var(--accent, #0b5a63); color: var(--accent, #0b5a63); text-decoration: none; }
.pcard-actions .c-btn:hover[b-go95i8qtv5] { background: var(--surface-2, #f6f7f9); }
.pcard-actions .c-link[b-go95i8qtv5] { font-size: 13px; }
/* /Components/Clinical/PerioCompare.razor.rz.scp.css */
.cmp-indices[b-1jrudf8j4h] { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-bottom: 12px; }
.cmp-idx[b-1jrudf8j4h] { background: var(--surface-2, #f6f7f9); border-radius: 8px; padding: 6px 10px; border-left: 3px solid transparent; }
.cmp-idx b[b-1jrudf8j4h] { display: block; font-size: 17px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.cmp-idx span[b-1jrudf8j4h] { display: block; font-size: 11px; color: var(--ink-3); }
.cmp-idx small[b-1jrudf8j4h] { display: block; font-size: 11px; color: var(--ink-2); margin-top: 2px; }
.cmp-idx.worse[b-1jrudf8j4h] { border-left-color: #b42318; }
.cmp-idx.worse b[b-1jrudf8j4h] { color: #b42318; }
.cmp-idx.better[b-1jrudf8j4h] { border-left-color: #1b7f4b; }
.cmp-idx.better b[b-1jrudf8j4h] { color: #1b7f4b; }

.cmp-scroll[b-1jrudf8j4h] { overflow-x: auto; }
.cmp-grid[b-1jrudf8j4h] { border-collapse: collapse; min-width: 1040px; font-variant-numeric: tabular-nums; }
.cmp-grid th[b-1jrudf8j4h], .cmp-grid td[b-1jrudf8j4h] { border: 1px solid var(--line-2); text-align: center; padding: 2px 3px; font-size: 12.5px; }
.cmp-head[b-1jrudf8j4h] { text-align: left !important; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); background: var(--surface-2, #f6f7f9); padding: 6px 10px !important; }
.cmp-head .muted[b-1jrudf8j4h] { text-transform: none; letter-spacing: 0; }
.cmp-tooth[b-1jrudf8j4h] { font-weight: 600; background: var(--surface-2, #f6f7f9); min-width: 58px; }
.cmp-tooth.off[b-1jrudf8j4h] { color: var(--ink-3); text-decoration: line-through; }
.cmp-lbl[b-1jrudf8j4h] { text-align: left !important; white-space: nowrap; color: var(--ink-2); padding: 0 8px !important; position: sticky; left: 0; background: var(--card, #fff); }
.cmp-cell[b-1jrudf8j4h] { white-space: nowrap; }
.cmp-cell.miss[b-1jrudf8j4h] { background: repeating-linear-gradient(45deg, var(--surface-2, #f0f2f4), var(--surface-2, #f0f2f4) 3px, transparent 3px, transparent 7px); }
.cmp-x[b-1jrudf8j4h] { color: var(--ink-3); }
.cmp-site[b-1jrudf8j4h] { display: inline-block; min-width: 16px; padding: 1px 2px; border-radius: 3px; margin: 0 1px; }
.cmp-site i[b-1jrudf8j4h] { font-style: normal; font-size: 10px; color: var(--ink-3); }
.cmp-site.none[b-1jrudf8j4h] { color: var(--ink-3); }
.cmp-site.d1[b-1jrudf8j4h] { background: #e2f0ea; }
.cmp-site.d4[b-1jrudf8j4h] { background: #f6eeda; color: #9a6b1f; font-weight: 600; }
.cmp-site.d6[b-1jrudf8j4h] { background: #fbe9e7; color: #b42318; font-weight: 700; }
.cmp-site.worse[b-1jrudf8j4h] { box-shadow: inset 0 -2px 0 #b42318; }
.cmp-site.worse i[b-1jrudf8j4h] { color: #b42318; }
.cmp-site.better[b-1jrudf8j4h] { box-shadow: inset 0 -2px 0 #1b7f4b; }
.cmp-site.better i[b-1jrudf8j4h] { color: #1b7f4b; }
.cmp-b[b-1jrudf8j4h] { color: #b42318; font-size: 10px; vertical-align: top; }
.cmp-cell.rec .cmp-site[b-1jrudf8j4h] { color: var(--ink-2); font-size: 11.5px; }
.cmp-toothrow td[b-1jrudf8j4h] { background: var(--surface-2, #fafbfc); font-size: 11.5px; font-weight: 600; }

.cmp-h[b-1jrudf8j4h] { margin: 14px 0 4px; font-size: 13px; }
.cmp-changes[b-1jrudf8j4h] { margin: 0; padding-left: 18px; font-size: 13px; }
.cmp-changes li[b-1jrudf8j4h] { margin: 2px 0; }
.cmp-p[b-1jrudf8j4h] { margin: 8px 0 0; font-size: 12.5px; }

.cmp-legend[b-1jrudf8j4h] { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--ink-2); margin: 12px 0 0; }
.cmp-legend span[b-1jrudf8j4h]::before { content: ''; display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
.cmp-legend .l1[b-1jrudf8j4h]::before { background: #e2f0ea; } .cmp-legend .l4[b-1jrudf8j4h]::before { background: #f6eeda; } .cmp-legend .l6[b-1jrudf8j4h]::before { background: #fbe9e7; }
.cmp-legend .lb[b-1jrudf8j4h]::before, .cmp-legend .ls[b-1jrudf8j4h]::before { display: none; }
.cmp-legend .lb[b-1jrudf8j4h] { color: #b42318; }
.cmp-legend .lw[b-1jrudf8j4h]::before { background: none; border-bottom: 2px solid #b42318; border-radius: 0; height: 8px; }
.cmp-legend .lg[b-1jrudf8j4h]::before { background: none; border-bottom: 2px solid #1b7f4b; border-radius: 0; height: 8px; }

@media (max-width: 1100px) { .cmp-indices[b-1jrudf8j4h] { grid-template-columns: repeat(3, 1fr); } }
/* /Components/Clinical/RequestApprovalDialog.razor.rz.scp.css */
.req-payer[b-788y41eyzd] { margin: 0 0 12px; color: var(--ink-2); }

.req-h[b-788y41eyzd] {
    font-family: var(--mono, ui-monospace, monospace);
    font-size: var(--ui-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin: 16px 0 8px;
}

.req-total[b-788y41eyzd] { margin: 8px 0 0; text-align: right; font-size: var(--ui-sm); font-variant-numeric: tabular-nums; }

.req-info[b-788y41eyzd] { display: grid; grid-template-columns: 140px 1fr; gap: 4px 14px; margin: 0; font-size: var(--ui-sm); }
.req-info dt[b-788y41eyzd] { color: var(--ink-3); }
.req-info dd[b-788y41eyzd] { margin: 0; color: var(--ink); white-space: pre-wrap; }

.req-ok[b-788y41eyzd] { color: var(--ok, #2c7a58); margin: 0; }

.req-issues[b-788y41eyzd] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.req-issues li[b-788y41eyzd] { display: flex; gap: 10px; align-items: baseline; font-size: var(--ui-sm); }
.req-issues li[data-blocking="False"][b-788y41eyzd] { color: var(--ink-2); }
/* /Components/Clinical/TreatmentPlanCard.razor.rz.scp.css */
.plan-noconsent[b-61rmsf4y8x] { font-size: 11.5px; color: #9a6b1f; background: #f6eeda; border-radius: 999px; padding: 2px 8px; white-space: nowrap; cursor: help; }
.plan-consents[b-61rmsf4y8x] { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line, #e5e7eb); }
.plan-consents .h[b-61rmsf4y8x] { margin: 0 0 6px; font-weight: 600; font-size: 13px; }
.plan-consent-list[b-61rmsf4y8x] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.plan-consent[b-61rmsf4y8x] { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.plan-consent[data-status="Withdrawn"] .prop-name[b-61rmsf4y8x] { text-decoration: line-through; color: var(--ink-3); }
.plan-consent-what[b-61rmsf4y8x] { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.plan-withdrawn[b-61rmsf4y8x] { color: #b42318; }
.plan-consent-docs[b-61rmsf4y8x] { padding: 6px 0 4px 28px; }
.mt[b-61rmsf4y8x] { margin-top: 12px; }
/* /Components/Contracting/PatientEligibility.razor.rz.scp.css */
.pe-hint[b-2pv7ed6eux] { margin: 0 0 12px; font-size: var(--ui-sm); max-width: 72ch; }

.pe-h[b-2pv7ed6eux] {
    font-family: var(--mono, ui-monospace, monospace);
    font-size: var(--ui-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin: 16px 0 8px;
}
/* /Components/Documents/DocumentsPanel.razor.rz.scp.css */
.docs[b-k4kzo8j4w1] { display: flex; flex-direction: column; gap: 10px; }

.docs-list[b-k4kzo8j4w1] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }

.docs-row[b-k4kzo8j4w1] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "kind name actions" "kind meta actions";
    column-gap: 10px;
    row-gap: 2px;
    align-items: center;
    padding: 6px 8px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
}

.docs-row > :first-child[b-k4kzo8j4w1] { grid-area: kind; }
.docs-name[b-k4kzo8j4w1] { grid-area: name; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.docs-meta[b-k4kzo8j4w1] { grid-area: meta; font-size: var(--ui-sm); color: var(--ink-3); }
.docs-actions[b-k4kzo8j4w1] { grid-area: actions; display: flex; gap: 6px; align-items: center; }
.docs-download[b-k4kzo8j4w1] { font-size: var(--ui-sm); }

.docs-add[b-k4kzo8j4w1] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.docs-file[b-k4kzo8j4w1] { display: flex; flex-direction: column; gap: 4px; }
.docs-hint[b-k4kzo8j4w1] { margin: 0; font-size: var(--ui-sm); }

.docs-image[b-k4kzo8j4w1] { max-width: 100%; max-height: 70vh; display: block; margin: 0 auto; }
.docs-pdf[b-k4kzo8j4w1] { width: 100%; height: 70vh; border: 1px solid var(--line); }
.docs-hash[b-k4kzo8j4w1] { font-family: var(--mono, ui-monospace, monospace); }
/* /Components/Documents/PrintPreview.razor.rz.scp.css */
.pp-frame[b-celqur9gwm] { width: 100%; height: 72vh; border: 1px solid var(--line); background: #fff; }
.pp-meta[b-celqur9gwm] { font-size: 12px; margin: 8px 0 0; }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* The shell owns its own layout; this file exists so the isolation bundle keeps
   a stable slot for page-level overrides. */
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-9pjg5sjiwz],
.components-reconnect-repeated-attempt-visible[b-9pjg5sjiwz],
.components-reconnect-failed-visible[b-9pjg5sjiwz],
.components-pause-visible[b-9pjg5sjiwz],
.components-resume-failed-visible[b-9pjg5sjiwz],
.components-rejoining-animation[b-9pjg5sjiwz] {
    display: none;
}

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


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

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

}

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

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

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

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

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

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

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

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

@keyframes components-rejoining-animation-b-9pjg5sjiwz {
    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/AppointmentBoard.razor.rz.scp.css */
.board-controls[b-ma002wxb0m] {
    display: flex;
    gap: 16px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.board-picker[b-ma002wxb0m] {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
    padding-bottom: 4px;
}

.board-picker-label[b-ma002wxb0m] {
    font-size: 12px;
    color: var(--ink-3);
    margin-right: 2px;
}

.board-chip[b-ma002wxb0m] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    padding: 5px 10px;
    border: 1px solid var(--line);
    border-radius: 100px;
    background: var(--surface);
    cursor: pointer;
    user-select: none;
}

.board-chip[data-on="True"][b-ma002wxb0m] {
    border-color: var(--accent-line);
    background: var(--accent-soft);
    color: var(--ink);
}

.board-chip input[b-ma002wxb0m] { accent-color: var(--accent); }

/* The board itself is a set of columns that scroll together horizontally, with
   the time axis pinned so a wide clinic stays readable. */
.board[b-ma002wxb0m] {
    display: flex;
    gap: 0;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: var(--r-2, 12px);
    background: var(--surface);
}

.board-axis[b-ma002wxb0m] {
    position: sticky;
    left: 0;
    z-index: 3;
    flex: 0 0 62px;
    background: var(--surface);
    border-right: 1px solid var(--line);
}

.board-col[b-ma002wxb0m] {
    flex: 1 0 190px;
    min-width: 190px;
    border-right: 1px solid var(--line-2);
}

.board-col:last-child[b-ma002wxb0m] { border-right: 0; }

.board-head[b-ma002wxb0m] {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 2px;
    height: 54px;
    padding: 9px 12px;
    background: var(--surface-2);
    border-bottom: 1px solid var(--line);
    font-size: 13px;
    overflow: hidden;
}

.board-head strong[b-ma002wxb0m] { font-weight: 600; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.board-head .muted[b-ma002wxb0m] { font-size: 11.5px; }
.board-head-axis[b-ma002wxb0m] { background: var(--surface-2); }

.board-track[b-ma002wxb0m] { position: relative; }

.board-hour[b-ma002wxb0m] {
    position: absolute;
    left: 0;
    right: 0;
    height: 0;
    font-size: 11px;
    color: var(--ink-3);
    font-family: var(--font-mono);
}

.board-hour span[b-ma002wxb0m] { position: absolute; top: -7px; right: 8px; }

.board-rule[b-ma002wxb0m] {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--line-2);
}

/* A published session. Everything outside one is not merely empty, it is
   unavailable, and the two must not look the same. */
.board-session[b-ma002wxb0m] {
    position: absolute;
    left: 3px;
    right: 3px;
    border-radius: 6px;
    background: color-mix(in srgb, var(--accent) 7%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
}

/* Blocked time. Hatched rather than filled, so it reads as "not available"
   instead of "something is booked here" at a glance across a wide board. */
.board-block[b-ma002wxb0m] {
    position: absolute;
    left: 3px;
    right: 3px;
    z-index: 1;
    border-radius: 6px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .03em;
    color: var(--ink-2);
    overflow: hidden;
    background: repeating-linear-gradient(
        45deg,
        color-mix(in srgb, var(--ink-3) 14%, transparent) 0 6px,
        transparent 6px 12px);
    border: 1px solid color-mix(in srgb, var(--ink-3) 30%, transparent);
}

.board-block[data-reason="Leave"][b-ma002wxb0m] {
    color: var(--info);
    background: repeating-linear-gradient(45deg,
        color-mix(in srgb, var(--info) 16%, transparent) 0 6px, transparent 6px 12px);
    border-color: color-mix(in srgb, var(--info) 34%, transparent);
}

.board-block[data-reason="ClinicalCover"][b-ma002wxb0m] {
    color: var(--warn);
    background: repeating-linear-gradient(45deg,
        color-mix(in srgb, var(--warn) 18%, transparent) 0 6px, transparent 6px 12px);
    border-color: color-mix(in srgb, var(--warn) 36%, transparent);
}

.board-block[data-reason="Closure"][b-ma002wxb0m] {
    color: var(--neg);
    background: repeating-linear-gradient(45deg,
        color-mix(in srgb, var(--neg) 16%, transparent) 0 6px, transparent 6px 12px);
    border-color: color-mix(in srgb, var(--neg) 34%, transparent);
}

.board-slot[b-ma002wxb0m] {
    position: absolute;
    left: 3px;
    right: 3px;
    cursor: pointer;
    border-radius: 4px;
    transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.board-slot:hover[b-ma002wxb0m] {
    background: color-mix(in srgb, var(--accent) 16%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);
}

/* Where the clinic actually is in its day. The single most-read line on a board. */
.board-now[b-ma002wxb0m] {
    position: absolute;
    left: 0;
    right: 0;
    height: 0;
    z-index: 4;
    border-top: 2px solid var(--neg);
    pointer-events: none;
}

.board-now[b-ma002wxb0m]::before {
    content: "";
    position: absolute;
    left: -4px;
    top: -4px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--neg);
}

.board-appt[b-ma002wxb0m] {
    position: absolute;
    left: 5px;
    right: 5px;
    z-index: 2;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0;
    line-height: 1.3;
    padding: 3px 7px;
    border-radius: 6px;
    border: 1px solid var(--line);
    border-left: 3px solid var(--ink-3);
    background: var(--surface);
    box-shadow: var(--shadow-1);
    font-size: 12px;
    cursor: grab;
}

.board-appt:active[b-ma002wxb0m] { cursor: grabbing; }
.board-appt[data-on="True"][b-ma002wxb0m] { outline: 2px solid var(--accent); outline-offset: 1px; }

.board-appt-head[b-ma002wxb0m] { display: flex; align-items: baseline; gap: 6px; }
.board-appt-time[b-ma002wxb0m] { font-size: 11px; color: var(--ink-3); }
.board-appt-name[b-ma002wxb0m] { font-weight: 600; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.board-appt-svc[b-ma002wxb0m] { font-size: 11px; color: var(--ink-2); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.board-appt-status[b-ma002wxb0m] {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-3);
    margin-left: auto;
}

.board-appt[data-status="Booked"][b-ma002wxb0m]     { border-left-color: var(--info); }
.board-appt[data-status="Confirmed"][b-ma002wxb0m]  { border-left-color: var(--accent); }
.board-appt[data-status="Arrived"][b-ma002wxb0m]    { border-left-color: var(--warn); background: color-mix(in srgb, var(--warn) 8%, var(--surface)); }
.board-appt[data-status="Triaged"][b-ma002wxb0m]    { border-left-color: var(--warn); }
.board-appt[data-status="InClinic"][b-ma002wxb0m]   { border-left-color: var(--pos); background: color-mix(in srgb, var(--pos) 8%, var(--surface)); }
.board-appt[data-status="Discharged"][b-ma002wxb0m] { border-left-color: var(--ink-3); opacity: .72; }
.board-appt[data-status="Cancelled"][b-ma002wxb0m]  { border-left-color: var(--neg); opacity: .5; text-decoration: line-through; }
.board-appt[data-status="NoShow"][b-ma002wxb0m]     { border-left-color: var(--neg); opacity: .6; }

.board-legend[b-ma002wxb0m] { margin-top: 10px; font-size: 12.5px; }

/* Appointment card, anchored at the pointer.

   Fixed rather than positioned inside the column, because the board is a
   horizontal scroll container and anything inside it gets clipped at the edge.
   min() keeps the card on screen when the click lands near the right or the
   bottom, without measuring the viewport in C#. */
.appt-scrim[b-ma002wxb0m] { position: fixed; inset: 0; z-index: 55; }

.appt-menu[b-ma002wxb0m] {
    position: fixed;
    z-index: 56;
    left: min(var(--x), calc(100vw - 336px));
    top: min(var(--y), calc(100vh - 300px));
    width: 320px;
    padding: 14px 16px 16px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow-3);
}

.appt-menu-head[b-ma002wxb0m] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.appt-menu-head strong[b-ma002wxb0m] { font-size: 14.5px; font-weight: 600; }
.appt-menu-head p[b-ma002wxb0m] { margin: 3px 0 0; font-size: 12.5px; color: var(--ink-3); }

.appt-menu-acts[b-ma002wxb0m] { display: flex; gap: 8px; }

.appt-menu-cancel[b-ma002wxb0m] {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line-2);
}

.appt-menu-cancel > :first-child[b-ma002wxb0m] { flex: 1; }

.appt-menu-ro[b-ma002wxb0m] { font-size: 12.5px; margin: 0; }
.appt-menu-err[b-ma002wxb0m] { margin-top: 10px; }

/* Reservation dialog */
.res-h[b-ma002wxb0m] {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.res-find[b-ma002wxb0m] { display: flex; gap: 10px; align-items: flex-end; }
.res-find > :first-child[b-ma002wxb0m] { flex: 1; }

.res-list[b-ma002wxb0m] { list-style: none; margin: 10px 0 0; padding: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.res-list li + li[b-ma002wxb0m] { border-top: 1px solid var(--line-2); }

.res-list button[b-ma002wxb0m] {
    display: flex;
    gap: 14px;
    align-items: baseline;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: 13.5px;
    color: var(--ink);
}

.res-list button:hover[b-ma002wxb0m] { background: var(--surface-2); }
.res-name[b-ma002wxb0m] { font-weight: 600; flex: 1; }

.res-chosen[b-ma002wxb0m] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--accent-line);
    background: var(--accent-soft);
    border-radius: 8px;
}

.res-chosen .mono[b-ma002wxb0m] { margin-left: 10px; font-size: 12.5px; }

.res-services[b-ma002wxb0m] { display: flex; flex-wrap: wrap; gap: 8px; }

.res-service[b-ma002wxb0m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: flex-start;
    padding: 8px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    cursor: pointer;
    font-size: 13px;
    color: var(--ink);
}

.res-service[data-on="True"][b-ma002wxb0m] { border-color: var(--accent-line); background: var(--accent-soft); }
.res-service .muted[b-ma002wxb0m] { font-size: 11.5px; }

.res-when[b-ma002wxb0m] { margin: 0 0 10px; font-size: 13.5px; }

.res-starts[b-ma002wxb0m] { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }

.res-start[b-ma002wxb0m] {
    padding: 5px 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
    font-family: var(--font-mono);
    font-size: 12.5px;
    cursor: pointer;
    color: var(--ink);
}

.res-start:hover[b-ma002wxb0m] { border-color: var(--accent-line); background: var(--accent-soft); }

.res-foot[b-ma002wxb0m] { font-size: 12.5px; margin-left: auto; }
/* /Components/Pages/ApprovalRules.razor.rz.scp.css */
.apr-toggle[b-1553gus1nf] { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; }
.apr-toggle input[b-1553gus1nf] { accent-color: var(--accent); }
/* /Components/Pages/Approvals.razor.rz.scp.css */
.mono[b-ci9x5cmvo6] { font-family: var(--mono, ui-monospace, monospace); font-size: var(--ui-sm); }

.ap-head[b-ci9x5cmvo6] { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 8px; color: var(--ink-2); }
.ap-answer[b-ci9x5cmvo6] { margin: 0 0 8px; font-size: var(--ui-sm); color: var(--ink-2); }

.ap-h[b-ci9x5cmvo6] {
    font-family: var(--mono, ui-monospace, monospace);
    font-size: var(--ui-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin: 16px 0 8px;
}

.ap-total[b-ci9x5cmvo6] { margin: 8px 0 0; text-align: right; font-size: var(--ui-sm); font-variant-numeric: tabular-nums; }
.ap-hint[b-ci9x5cmvo6] { margin: 6px 0 0; font-size: var(--ui-sm); }

.ap-info[b-ci9x5cmvo6] { display: grid; grid-template-columns: 140px 1fr; gap: 4px 14px; margin: 0; font-size: var(--ui-sm); }
.ap-info dt[b-ci9x5cmvo6] { color: var(--ink-3); }
.ap-info dd[b-ci9x5cmvo6] { margin: 0; white-space: pre-wrap; }

.ap-issues[b-ci9x5cmvo6] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ap-issues li[b-ci9x5cmvo6] { display: flex; gap: 10px; align-items: baseline; font-size: var(--ui-sm); }
/* /Components/Pages/CashControl.razor.rz.scp.css */
.cc-h[b-ircc3b0hxw] {
    margin: 18px 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.cc-hint[b-ircc3b0hxw] { font-size: 12.5px; margin: 6px 0 0; }

/* Who, where and since when. */
.cc-facts[b-ircc3b0hxw] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    margin: 0 0 12px;
    font-size: 13px;
}

.cc-facts div[b-ircc3b0hxw] { display: flex; gap: 6px; align-items: baseline; }
.cc-facts dt[b-ircc3b0hxw] { color: var(--ink-3); }
.cc-facts dd[b-ircc3b0hxw] { margin: 0; }

/* The figures the count is measured against. Expected cash is the one that
   matters, so it is the one that is lifted. */
.cc-figures[b-ircc3b0hxw] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
}

.cc-figures > div[b-ircc3b0hxw] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
}

.cc-figures span[b-ircc3b0hxw] { font-size: 12px; color: var(--ink-3); }
.cc-figures strong[b-ircc3b0hxw] { font-size: 16px; font-variant-numeric: tabular-nums; }

.cc-figures .cc-key[b-ircc3b0hxw] {
    border-color: var(--accent-line);
    background: var(--accent-soft);
}

/* Her declaration beside the record. */
.cc-declared[b-ircc3b0hxw] {
    display: grid;
    gap: 6px;
    margin-top: 12px;
    padding: 12px 14px;
    border-left: 3px solid var(--accent);
    background: var(--surface-2);
    border-radius: 0 8px 8px 0;
    font-size: 13px;
}

.cc-declared > div[b-ircc3b0hxw] { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; }
.cc-declared span:first-child[b-ircc3b0hxw] { color: var(--ink-3); min-width: 90px; }
.cc-declared em[b-ircc3b0hxw] { font-style: normal; font-weight: 600; }
.cc-note[b-ircc3b0hxw] { color: var(--ink-2); }

.cc-variance[b-ircc3b0hxw] {
    display: flex;
    gap: 24px;
    margin: 8px 0;
    font-size: 13px;
    color: var(--ink-2);
}

[data-sign="short"][b-ircc3b0hxw] { color: var(--neg, #b42318); }
[data-sign="over"][b-ircc3b0hxw] { color: var(--warn, #b54708); }
[data-sign="zero"][b-ircc3b0hxw] { color: var(--pos, #067647); }

.cc-moves[b-ircc3b0hxw] {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    font-size: 13px;
}

.cc-moves li[b-ircc3b0hxw] { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; padding: 8px 12px; }
.cc-moves li + li[b-ircc3b0hxw] { border-top: 1px solid var(--line-2); }
.cc-moves .mono[b-ircc3b0hxw] { font-variant-numeric: tabular-nums; }
.cc-by[b-ircc3b0hxw] { margin-left: auto; font-size: 12px; }

.cc-toggle[b-ircc3b0hxw] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-size: 13px;
    cursor: pointer;
}

.cc-toggle input[b-ircc3b0hxw] { accent-color: var(--accent); }

.cc-day[b-ircc3b0hxw] {
    display: flex;
    align-items: end;
    gap: 14px;
    margin-bottom: 12px;
    font-size: 12.5px;
}

.mb[b-ircc3b0hxw] { margin-bottom: 14px; }
/* /Components/Pages/ChangeOwnPassword.razor.rz.scp.css */
/* Shares the sign-in card so the two screens are visibly the same place. */
.auth[b-61r54j85jc] { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; background: var(--bg); }

.auth-card[b-61r54j85jc] {
    width: 100%; max-width: 380px; background: var(--surface);
    border: 1px solid var(--line); border-radius: var(--r3);
    padding: 32px 30px 26px;
}

.auth-brand[b-61r54j85jc] { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }

.auth-mark[b-61r54j85jc] {
    width: 30px; height: 30px; border-radius: var(--r2);
    background: var(--accent); color: var(--on-accent);
    display: grid; place-items: center; font-weight: 700; font-size: 15px;
}

.auth-word[b-61r54j85jc] { font-weight: 600; font-size: 16px; letter-spacing: -.01em; }
.auth h1[b-61r54j85jc] { font-size: 21px; margin: 0 0 5px; }
.auth-sub[b-61r54j85jc] { margin: 0 0 22px; color: var(--ink-3); font-size: 13.5px; line-height: 1.5; }

.auth-error[b-61r54j85jc] {
    margin: 0 0 18px; padding: 10px 13px;
    border-left: 3px solid var(--neg);
    background: color-mix(in srgb, var(--neg) 10%, var(--surface));
    border-radius: 0 var(--r2) var(--r2) 0; font-size: 13px; color: var(--ink);
}

.auth-field[b-61r54j85jc] { display: block; margin-bottom: 15px; }
.auth-field span[b-61r54j85jc] { display: block; font-size: 12.5px; color: var(--ink-2); margin-bottom: 5px; }

.auth-field input[b-61r54j85jc] {
    width: 100%; padding: 10px 12px; font: inherit; font-size: 14px;
    color: var(--ink); background: var(--surface);
    border: 1px solid var(--line); border-radius: var(--r2);
}

.auth-field input:focus[b-61r54j85jc] { outline: none; border-color: var(--accent); box-shadow: var(--focus); }

.auth-submit[b-61r54j85jc] {
    width: 100%; margin-top: 8px; padding: 11px 16px;
    font: inherit; font-size: 14px; font-weight: 600;
    color: var(--on-accent); background: var(--accent);
    border: 0; border-radius: var(--r2); cursor: pointer;
}

.auth-submit:hover[b-61r54j85jc] { filter: brightness(1.06); }
/* /Components/Pages/ChangePassword.razor.rz.scp.css */
.narrow[b-5vyp7blag1] { max-width: 560px; }
.form[b-5vyp7blag1] { display: flex; flex-direction: column; gap: var(--gap); margin: 16px 0; }
.row[b-5vyp7blag1] { display: flex; gap: 8px; }
/* /Components/Pages/ClaimBatches.razor.rz.scp.css */
.mb[b-jjfshkd40x] { margin-bottom: 14px; }
.mt[b-jjfshkd40x] { margin-top: 14px; }
.cb-layout[b-jjfshkd40x] { display: grid; grid-template-columns: 1fr 1.4fr; gap: 14px; align-items: start; }
@media (max-width: 1100px) { .cb-layout[b-jjfshkd40x] { grid-template-columns: 1fr; } }
.cb-strong[b-jjfshkd40x] { font-weight: 600; }
.cb-toolbar[b-jjfshkd40x] { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; font-size: 12.5px; }
.cb-actions[b-jjfshkd40x] { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.cb-link[b-jjfshkd40x] { font-size: 12.5px; }
.cb-ready[b-jjfshkd40x] { margin-top: 14px; border-top: 1px solid var(--line-2); padding-top: 10px; }
.cb-ready-head[b-jjfshkd40x] { font-weight: 600; font-size: 12.5px; margin-bottom: 6px; }
.cb-ready-row[b-jjfshkd40x] { display: grid; grid-template-columns: 150px 1fr 100px auto; gap: 10px; align-items: center; padding: 4px 0; border-bottom: 1px solid var(--line-2); font-size: 13px; }
.mono[b-jjfshkd40x] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/ClaimDetail.razor.rz.scp.css */
.mb[b-5a6ux7ioa4] { margin-bottom: 14px; }
.mt[b-5a6ux7ioa4] { margin-top: 14px; }
.cd-grid[b-5a6ux7ioa4] { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
@media (max-width: 900px) { .cd-grid[b-5a6ux7ioa4] { grid-template-columns: 1fr; } }
.cd-facts[b-5a6ux7ioa4] { display: grid; grid-template-columns: 160px 1fr; gap: 6px 12px; margin: 0; }
.cd-facts dt[b-5a6ux7ioa4] { color: var(--ink-3); font-size: 12.5px; }
.cd-facts dd[b-5a6ux7ioa4] { margin: 0; }
.cd-strong[b-5a6ux7ioa4] { font-weight: 600; }
.cd-note[b-5a6ux7ioa4] { font-size: 12px; margin-top: 2px; }
.cd-issues[b-5a6ux7ioa4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.cd-issues li[b-5a6ux7ioa4] { display: grid; grid-template-columns: 80px 200px 1fr auto; gap: 10px; align-items: baseline; }
.cd-field[b-5a6ux7ioa4] { font-weight: 600; }
.mono[b-5a6ux7ioa4] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/ClaimRules.razor.rz.scp.css */
.mb[b-7sq4x22aig] { margin-bottom: 14px; }
.cr-strong[b-7sq4x22aig] { font-weight: 600; }
.cr-note[b-7sq4x22aig] { margin: 10px 0 0; font-size: 12.5px; }
.mono[b-7sq4x22aig] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/ClaimsOutstanding.razor.rz.scp.css */
.co-strong[b-zys9ezgr0j] { font-weight: 600; }
.co-total[b-zys9ezgr0j] { margin: 10px 0 0; font-size: 13px; }
/* /Components/Pages/ClaimsWorkbench.razor.rz.scp.css */
.mb[b-gkqc2odgv3] { margin-bottom: 14px; }
.cl-controls[b-gkqc2odgv3] { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 12px; flex-wrap: wrap; }
.cl-count[b-gkqc2odgv3] { font-size: 12.5px; padding-bottom: 8px; }
.cl-name[b-gkqc2odgv3] { font-weight: 600; }
.mono[b-gkqc2odgv3] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/CodingRules.razor.rz.scp.css */
.mb[b-2kgbkfpwyf] { margin-bottom: 14px; }
.cr-name[b-2kgbkfpwyf] { font-weight: 600; }
.cr-desc[b-2kgbkfpwyf] { font-size: 12px; margin-top: 2px; max-width: 60ch; }
.cr-chips[b-2kgbkfpwyf] { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.cr-chip[b-2kgbkfpwyf] { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border: 1px solid var(--line); border-radius: 100px; background: var(--surface-2); font-size: 12px; }
.cr-x[b-2kgbkfpwyf] { border: 0; background: none; cursor: pointer; color: var(--ink-3); font-size: 14px; line-height: 1; padding: 0 2px; }
.cr-x:hover[b-2kgbkfpwyf] { color: var(--neg, #b42318); }
.mono[b-2kgbkfpwyf] { font-family: var(--font-mono); }
/* /Components/Pages/Contracts.razor.rz.scp.css */
.mb[b-ppzcinjicj] { margin-bottom: 14px; }
.mt[b-ppzcinjicj] { margin-top: 12px; }
.ct-layout[b-ppzcinjicj] { display: grid; grid-template-columns: 1fr 1.5fr; gap: 14px; align-items: start; }
@media (max-width: 1100px) { .ct-layout[b-ppzcinjicj] { grid-template-columns: 1fr; } }
.ct-detail[b-ppzcinjicj] { display: flex; flex-direction: column; gap: 14px; }
.ct-filter[b-ppzcinjicj] { margin-bottom: 10px; max-width: 320px; }
.ct-strong[b-ppzcinjicj] { font-weight: 600; }
.ct-toolbar[b-ppzcinjicj] { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; font-size: 12.5px; }
.ct-facts[b-ppzcinjicj] { display: grid; grid-template-columns: 140px 1fr; gap: 6px 12px; margin: 0 0 10px; }
.ct-facts dt[b-ppzcinjicj] { color: var(--ink-3); font-size: 12.5px; }
.ct-facts dd[b-ppzcinjicj] { margin: 0; }
.ct-actions[b-ppzcinjicj] { display: flex; gap: 8px; flex-wrap: wrap; }
.ct-hint[b-ppzcinjicj] { font-size: 12.5px; margin: 0 0 10px; }
.ct-terms[b-ppzcinjicj] { display: flex; flex-direction: column; gap: 6px; }
.ct-term[b-ppzcinjicj] { display: grid; grid-template-columns: 1fr 150px 110px; gap: 10px; align-items: end; padding: 4px 0; border-bottom: 1px solid var(--line-2); }
.mono[b-ppzcinjicj] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/ControlKit.razor.rz.scp.css */
.kit-row[b-8cgdoijhog] { display: flex; flex-wrap: wrap; gap: var(--gap); align-items: center; margin-bottom: var(--gap); }
.kit-row:last-child[b-8cgdoijhog] { margin-bottom: 0; }
.kit-note[b-8cgdoijhog] { margin-bottom: var(--gap); max-width: 62ch; }
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.tiles[b-33ruv0haam] {
  display: grid; gap: 12px; margin-bottom: 20px;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}
.skel[b-33ruv0haam] {
  display: flex; flex-direction: column; gap: 8px; padding: 16px;
  border: 1px solid var(--line); border-left: 3px solid var(--line);
  border-radius: var(--r2); background: var(--surface);
}
.panels[b-33ruv0haam] { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.steps[b-33ruv0haam] { margin: 0; padding-left: 20px; font-size: var(--ui); color: var(--ink-2); }
.steps li[b-33ruv0haam] { margin-bottom: 7px; }
.steps li:last-child[b-33ruv0haam] { margin-bottom: 12px; }
.steps strong[b-33ruv0haam] { color: var(--ink); }

.perms[b-33ruv0haam] { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.steps[b-33ruv0haam] { margin: 0; padding-left: 20px; font-size: var(--ui); color: var(--ink-2); }
.steps li[b-33ruv0haam] { margin-bottom: 7px; }
.steps li:last-child[b-33ruv0haam] { margin-bottom: 12px; }
.steps strong[b-33ruv0haam] { color: var(--ink); }

.perms li[b-33ruv0haam] {
  font-family: var(--font-mono); font-size: var(--ui-sm);
  border: 1px solid var(--line); background: var(--surface-2);
  border-radius: 100px; padding: 2px 9px; color: var(--ink-2);
}
/* /Components/Pages/Employees.razor.rz.scp.css */
.emp[b-ybrfx9s1ex] { width: 100%; border-collapse: collapse; font-size: var(--ui); }
.emp th[b-ybrfx9s1ex] {
    text-align: left; font-size: 10.5px; font-weight: 600; letter-spacing: .09em;
    text-transform: uppercase; color: var(--ink-3); padding: 8px 12px;
    border-bottom: 1px solid var(--line); white-space: nowrap;
}
.emp td[b-ybrfx9s1ex] { padding: 10px 12px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.emp tbody tr:last-child td[b-ybrfx9s1ex] { border-bottom: 0; }
.emp tr[data-off="True"] td[b-ybrfx9s1ex] { opacity: .55; }
.emp-ar[b-ybrfx9s1ex] { display: block; font-size: 12px; color: var(--ink-3); }
.emp-act[b-ybrfx9s1ex] { text-align: right; white-space: nowrap; }

.emp-h[b-ybrfx9s1ex] {
    margin: 0 0 8px; font-size: 11px; font-weight: 600; letter-spacing: .09em;
    text-transform: uppercase; color: var(--ink-3);
}

.emp-roles[b-ybrfx9s1ex] { display: flex; flex-wrap: wrap; gap: 8px; }

.emp-chip[b-ybrfx9s1ex] {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 7px 13px; border: 1px solid var(--line); border-radius: 100px;
    background: var(--surface); font-size: 13px; cursor: pointer; user-select: none;
}

.emp-chip[data-on="True"][b-ybrfx9s1ex] { border-color: var(--accent); background: var(--accent-soft); }
.emp-chip input[b-ybrfx9s1ex] { accent-color: var(--accent); }

.emp-perms[b-ybrfx9s1ex] {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: 6px;
}

.emp-perms code[b-ybrfx9s1ex] {
    font-size: 11.5px; padding: 3px 8px;
    background: var(--surface-2); border: 1px solid var(--line-2); border-radius: 5px;
}

.emp-note[b-ybrfx9s1ex] { font-size: 12.5px; margin: 12px 0 0; max-width: 62ch; }
.tablewrap[b-ybrfx9s1ex] { overflow-x: auto; }
section + section[b-ybrfx9s1ex] { margin-top: 18px; }

/* The sign-in panel. Pills sit on the username line because the first thing
   anybody wants to know is whether this person can actually get in. */
.emp-account[b-ybrfx9s1ex] { display: flex; flex-direction: column; gap: 8px; }

.emp-account > div:first-child[b-ybrfx9s1ex] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.emp-account .mono[b-ybrfx9s1ex] { font-size: 14px; font-weight: 600; }
.emp-account .emp-note[b-ybrfx9s1ex] { margin: 0; }
/* /Components/Pages/EncounterDetail.razor.rz.scp.css */
/* The allergy banner.

   Full width, above everything, and coloured by how bad the answer is. The
   state that reads most alarming is deliberately "nobody asked" rather than
   "none recorded": an empty list looks reassuring and is not, and that
   confusion is the failure this whole screen exists to prevent. */
.alg-banner[b-jywgdi7o4b] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 18px;
    margin-bottom: 18px;
    border-radius: 10px;
    border-left: 4px solid var(--line);
    background: var(--surface-2);
}

.alg-banner[data-state="danger"][b-jywgdi7o4b] {
    border-left-color: var(--neg);
    background: color-mix(in srgb, var(--neg) 12%, var(--surface));
}

.alg-banner[data-state="warn"][b-jywgdi7o4b] {
    border-left-color: var(--warn);
    background: color-mix(in srgb, var(--warn) 12%, var(--surface));
}

.alg-banner[data-state="unknown"][b-jywgdi7o4b] {
    border-left-color: var(--warn);
    background: color-mix(in srgb, var(--warn) 8%, var(--surface));
    border-style: dashed none dashed dashed;
}

.alg-banner[data-state="clear"][b-jywgdi7o4b] { border-left-color: var(--pos); }

.alg-banner-main[b-jywgdi7o4b] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.alg-banner-title[b-jywgdi7o4b] { font-weight: 600; font-size: 14.5px; }
.alg-banner-list[b-jywgdi7o4b] { font-size: 13px; color: var(--ink-2); }

/* Two columns on a consulting-room screen, one on a tablet at the chairside. */
.ord-requests[b-jywgdi7o4b] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 10px; font-size: var(--ui-sm); }
.ord-request[b-jywgdi7o4b] { padding: 3px 8px; border-radius: 6px; background: var(--surface); border: 1px solid var(--line); }
.ord-request[data-status="Approved"][b-jywgdi7o4b] { border-color: var(--ok, #2c7a58); }
.ord-request[data-status="Refused"][b-jywgdi7o4b] { border-color: var(--neg); }
.ord-request .mono[b-jywgdi7o4b] { font-family: var(--mono, ui-monospace, monospace); }

.enc-door[b-jywgdi7o4b] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0.6rem 0.9rem;
    border-left: 3px solid var(--line);
    background: var(--surface);
    font-size: 0.95rem;
}

.enc-grid[b-jywgdi7o4b] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 18px;
    align-items: start;
}

.enc-col[b-jywgdi7o4b] { display: flex; flex-direction: column; gap: 18px; min-width: 0; }

/* The dental chart spans both columns: sixteen teeth need the whole row. */
.enc-wide[b-jywgdi7o4b] { grid-column: 1 / -1; min-width: 0; }

.enc-h[b-jywgdi7o4b] {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--ink-3);
    margin: 22px 0 10px;
}

.enc-note[b-jywgdi7o4b] { margin: 0 0 12px; font-size: 13px; line-height: 1.5; }

.enc-check[b-jywgdi7o4b] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-size: 13.5px;
}

/* ------------------------------------------------------------- observations */

.vit-panel[b-jywgdi7o4b] { padding: 12px 0; border-top: 1px solid var(--line-2); }
.vit-panel:first-of-type[b-jywgdi7o4b] { border-top: 0; padding-top: 0; }

.vit-when[b-jywgdi7o4b] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12.5px;
    color: var(--ink-2);
    margin-bottom: 8px;
}

.vit-readings[b-jywgdi7o4b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 8px;
}

.vit[b-jywgdi7o4b] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    border-left-width: 3px;
    border-left-color: var(--line);
}

/* Colour only where it means something. A screen where every reading is tinted
   is a screen where the abnormal one does not stand out. */
.vit[data-status="Low"][b-jywgdi7o4b] { border-left-color: var(--warn); }
.vit[data-status="High"][b-jywgdi7o4b] { border-left-color: var(--warn); }

.vit[data-status="Critical"][b-jywgdi7o4b] {
    border-left-color: var(--neg);
    background: color-mix(in srgb, var(--neg) 8%, var(--surface));
}

.vit-label[b-jywgdi7o4b] { font-size: 11.5px; color: var(--ink-3); }
.vit-value[b-jywgdi7o4b] { font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.vit-value small[b-jywgdi7o4b] { font-size: 11px; font-weight: 400; color: var(--ink-3); }

.vit-entry[b-jywgdi7o4b] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
}

.vit-field[b-jywgdi7o4b] { display: flex; flex-direction: column; gap: 3px; }
.vit-field span[b-jywgdi7o4b] { font-size: 12px; color: var(--ink-2); }
.vit-field small[b-jywgdi7o4b] { font-size: 11px; color: var(--ink-3); }

.vit-field input[b-jywgdi7o4b] {
    padding: 7px 9px;
    font: inherit;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 7px;
}

.vit-field input:focus[b-jywgdi7o4b] { outline: none; border-color: var(--accent); box-shadow: var(--focus); }

/* -------------------------------------------------- diagnoses and problems */

.dx-list[b-jywgdi7o4b] { list-style: none; margin: 0; padding: 0; }

.dx-list li[b-jywgdi7o4b] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 9px 0;
    font-size: 13.5px;
}

.dx-list li + li[b-jywgdi7o4b] { border-top: 1px solid var(--line-2); }
.dx-list li[data-rank="Principal"] .dx-name[b-jywgdi7o4b] { font-weight: 600; }
.dx-name[b-jywgdi7o4b] { flex: 1 1 auto; min-width: 0; }

/* --------------------------------------------------------------- order sets */

.set[b-jywgdi7o4b] { border-top: 1px solid var(--line-2); }
.set:first-of-type[b-jywgdi7o4b] { border-top: 0; }

.set-head[b-jywgdi7o4b] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    background: none;
    border: 0;
    font: inherit;
    font-size: 13.5px;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.set-head:hover .set-name[b-jywgdi7o4b] { color: var(--accent); }
.set-name[b-jywgdi7o4b] { font-weight: 600; }
.set-count[b-jywgdi7o4b] { margin-left: auto; font-size: 12.5px; }

.set-desc[b-jywgdi7o4b] {
    margin: 0 0 10px;
    padding: 9px 12px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--ink-2);
    background: var(--surface-2);
    border-radius: 8px;
}

.set-items[b-jywgdi7o4b] { list-style: none; margin: 0 0 4px; padding: 0; }

.set-items li[b-jywgdi7o4b] { padding: 5px 0; }

.set-items label[b-jywgdi7o4b] {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    cursor: pointer;
}

.set-item-name[b-jywgdi7o4b] { min-width: 0; }

/* A line the set could not place. Named rather than silently dropped: a clinician
   who thinks a full set landed will not go looking for the missing one. */
.set-refusal[b-jywgdi7o4b] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 8px;
    padding: 8px 11px;
    font-size: 12.5px;
    border-left: 3px solid var(--warn);
    border-radius: 0 7px 7px 0;
    background: color-mix(in srgb, var(--warn) 9%, var(--surface));
}

.set-refusal span[b-jywgdi7o4b] { color: var(--ink-2); }

/* ------------------------------------------------------------------ orders */

.ord-list[b-jywgdi7o4b] { list-style: none; margin: 0; padding: 0; }

.ord-list li[b-jywgdi7o4b] {
    padding: 11px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ord-list li + li[b-jywgdi7o4b] { border-top: 1px solid var(--line-2); }

.ord-head[b-jywgdi7o4b] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ord-name[b-jywgdi7o4b] { flex: 1 1 auto; min-width: 0; font-size: 13.5px; font-weight: 500; }
.ord-detail[b-jywgdi7o4b] { font-size: 12.5px; color: var(--ink-2); }
.ord-question[b-jywgdi7o4b] { font-size: 12.5px; color: var(--ink-2); font-style: italic; }

/* An overridden alert stays visible on the order for the rest of its life. It
   is the first thing anybody looks for when they come back asking why. */
.ord-override[b-jywgdi7o4b] {
    margin-top: 4px;
    padding: 7px 10px;
    font-size: 12.5px;
    border-radius: 0 7px 7px 0;
    border-left: 3px solid var(--neg);
    background: color-mix(in srgb, var(--neg) 9%, var(--surface));
    color: var(--ink);
}

/* ------------------------------------------------------------------ results */

.res[b-jywgdi7o4b] {
    margin: 0.5rem 0 0.25rem;
    padding: 0.55rem 0.7rem;
    border-left: 3px solid var(--line);
    background: var(--surface-2, rgba(0, 0, 0, 0.02));
    border-radius: 0 4px 4px 0;
}

.res-critical[b-jywgdi7o4b] {
    border-left-color: var(--neg);
}

.res-head[b-jywgdi7o4b] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}

.res-when[b-jywgdi7o4b] {
    color: var(--muted);
    font-size: 0.8rem;
}

.res-values[b-jywgdi7o4b] {
    width: 100%;
    border-collapse: collapse;
}

.res-values td[b-jywgdi7o4b] {
    padding: 0.12rem 0.5rem 0.12rem 0;
    font-size: 0.85rem;
}

.res-num[b-jywgdi7o4b] {
    text-align: right;
    font-weight: 600;
}

.res-unit[b-jywgdi7o4b],
.res-ref[b-jywgdi7o4b] {
    color: var(--muted);
}

.res-flag[b-jywgdi7o4b] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.val-abnormal .res-num[b-jywgdi7o4b],
.val-abnormal .res-flag[b-jywgdi7o4b] {
    color: var(--warn);
}

.val-critical .res-num[b-jywgdi7o4b],
.val-critical .res-flag[b-jywgdi7o4b] {
    color: var(--neg);
    font-weight: 700;
}

.res-findings[b-jywgdi7o4b] {
    font-size: 0.85rem;
    margin-bottom: 0.3rem;
}

/* The impression is what the referrer acts on, so it does not look like the
   findings that lead up to it. */
.res-impression[b-jywgdi7o4b] {
    font-size: 0.9rem;
    font-weight: 600;
}

.res-note[b-jywgdi7o4b],
.res-ack[b-jywgdi7o4b],
.res-unread[b-jywgdi7o4b] {
    color: var(--muted);
    font-size: 0.8rem;
    margin-top: 0.35rem;
}

.res-acting[b-jywgdi7o4b] {
    display: flex;
    align-items: flex-end;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.res-acting > :first-child[b-jywgdi7o4b] {
    flex: 1 1 24rem;
}
/* What was done about it, which on a critical result matters more than the fact
   that somebody opened it. Set in the body colour rather than the muted grey the
   "read by" line uses, because it is a clinical statement and not a timestamp. */
.res-plan[b-jywgdi7o4b] {
    font-size: 0.85rem;
    color: var(--ink);
    margin-top: 0.15rem;
}

/* The field wraps onto its own line rather than sharing one with the button.
   Sharing left it about twelve characters wide in the orders column, which is
   not enough room to write a plan in.

   ::deep because the field is a CTextField: scoped CSS stamps this page's
   attribute onto this page's elements, and the input inside another component
   carries that component's attribute instead. Without it the rule compiles to a
   selector that matches nothing, which is what the first attempt did. */
.res-acting[b-jywgdi7o4b] {
    flex-wrap: wrap;
}

.res-acting[b-jywgdi7o4b]  > :first-child {
    flex: 1 1 100%;
}

/* What the payer said about the visit, above the orders it said it about. */
.ord-terms[b-jywgdi7o4b] { font-size: 12.5px; margin: 0 0 10px; }

.hie-xml[b-jywgdi7o4b] { max-height: 60vh; overflow: auto; font-size: 11px; line-height: 1.35; background: var(--s-surface-2, #f6f7f9); border: 1px solid var(--s-border, #e3e6ea); border-radius: 6px; padding: 10px 12px; white-space: pre; }
.hie-warnings[b-jywgdi7o4b] { margin: 4px 0 0 18px; padding: 0; }

/* The banner: two rows of facts that stay whatever tab is open. */
.enc-banner[b-jywgdi7o4b] { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; }
.enc-banner-row[b-jywgdi7o4b] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font-size: 13.5px; }
.enc-fact[b-jywgdi7o4b] { color: var(--ink-2); }
.enc-fact b[b-jywgdi7o4b] { color: var(--ink); }
.enc-owed[b-jywgdi7o4b] { color: var(--neg, #b42318); }
.enc-door-fact[b-jywgdi7o4b] { flex-basis: 100%; }
.enc-vitals[b-jywgdi7o4b] { font-variant-numeric: tabular-nums; }
.enc-vital[b-jywgdi7o4b] { font-family: var(--font-mono); font-size: 12.5px; color: var(--ink-2); }
.enc-vital.off[b-jywgdi7o4b] { color: var(--warn, #9a6b1f); font-weight: 600; }
.enc-banner .alg-banner[b-jywgdi7o4b] { margin: 0; }

/* Tabs are addresses; the badge is what waits behind each. */
.enc-tabs[b-jywgdi7o4b] { margin: 4px 0 16px; }
.tab-badge[b-jywgdi7o4b] { display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 999px; background: var(--surface-2, #f0f2f4); color: var(--ink-3); vertical-align: 1px; }
.tab-badge.warn[b-jywgdi7o4b] { background: #f6eeda; color: #9a6b1f; }
.tab-badge.neg[b-jywgdi7o4b] { background: #fbe9e7; color: #b42318; }
/* /Components/Pages/Encounters.razor.rz.scp.css */
.enc-filter[b-b3iyskx9cl] { max-width: 240px; margin-bottom: 16px; }

.enc-skel[b-b3iyskx9cl] { display: flex; flex-direction: column; gap: 12px; padding: 8px 0; }
/* /Components/Pages/EstablishmentSettings.razor.rz.scp.css */
.mb[b-hfyn6ed25s] { margin-bottom: 14px; }
.est-hint[b-hfyn6ed25s] { font-size: 12.5px; margin: 0 0 12px; }
.est-label[b-hfyn6ed25s] { font-size: 12px; color: var(--ink-3); margin-right: 6px; }
.est-logo[b-hfyn6ed25s] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.est-logo-img[b-hfyn6ed25s] { max-height: 56px; max-width: 160px; border: 1px solid var(--line); border-radius: 6px; background: #fff; padding: 4px; }
/* /Components/Pages/ExchangeArchive.razor.rz.scp.css */
.xa-hint[b-fea9ulc6xn] { margin: 8px 0 0; font-size: var(--ui-sm); max-width: 72ch; }
.xa-actions[b-fea9ulc6xn] { display: flex; gap: 8px; margin-top: 12px; }
/* /Components/Pages/FrontDesk.razor.rz.scp.css */
/* The coverage cell: where the money stands, what to collect, and the two
   answers the desk can give while the payer thinks. Stacked, because a row is
   read top to bottom at a glance and the buttons are the last thing needed. */
.cov[b-lxfkjhtecx] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.cov-collect[b-lxfkjhtecx] {
    font-size: var(--ui-sm);
    color: var(--ink-3);
}

.cov-actions[b-lxfkjhtecx] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.cov-door[b-lxfkjhtecx] {
    font-size: var(--ui-sm);
    color: var(--ink-2);
}
/* /Components/Pages/Help.razor.rz.scp.css */
.hp[b-45ds2rz3sa] { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 22px; align-items: start; }
.hp-rail[b-45ds2rz3sa] { position: sticky; top: 12px; display: flex; flex-direction: column; gap: 2px; }
.hp-part[b-45ds2rz3sa] { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin: 12px 0 4px; }
.hp-link[b-45ds2rz3sa] { display: flex; gap: 8px; align-items: baseline; padding: 6px 10px; border-radius: 8px; text-decoration: none; color: inherit; font-size: 13.5px; border: 1px solid transparent; }
.hp-link:hover[b-45ds2rz3sa] { background: var(--surface-2, #f6f7f9); }
.hp-link.active[b-45ds2rz3sa] { background: var(--card, #fff); border-color: var(--line-2); font-weight: 600; }
.hp-n[b-45ds2rz3sa] { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); min-width: 18px; }

.hp-body[b-45ds2rz3sa] { background: var(--card, #fff); border: 1px solid var(--line-2); border-radius: 12px; padding: 28px 36px 40px; max-width: 980px; line-height: 1.6; font-size: 14.5px; }
.hp-body[b-45ds2rz3sa]  h1 { font-size: 26px; margin: 0 0 6px; letter-spacing: -.01em; }
.hp-body[b-45ds2rz3sa]  h1 + p { color: var(--ink-2); font-size: 15px; margin-top: 0; }
.hp-body[b-45ds2rz3sa]  h2 { font-size: 19px; margin: 34px 0 10px; padding-top: 18px; border-top: 1px solid var(--line-2); }
.hp-body[b-45ds2rz3sa]  h3 { font-size: 15.5px; margin: 22px 0 6px; }
.hp-body[b-45ds2rz3sa]  p { max-width: 74ch; margin: 8px 0; }
.hp-body[b-45ds2rz3sa]  ol, .hp-body[b-45ds2rz3sa]  ul { max-width: 74ch; padding-left: 22px; }
.hp-body[b-45ds2rz3sa]  li { margin: 4px 0; }
.hp-body[b-45ds2rz3sa]  img { display: block; max-width: 100%; max-height: 560px; width: auto; height: auto; border: 1px solid var(--line-2); border-radius: 8px; margin: 10px 0 4px; box-shadow: 0 1px 2px rgba(16,29,32,.06); }
.hp-body[b-45ds2rz3sa]  img + em, .hp-body[b-45ds2rz3sa]  p > em:only-child { display: block; font-size: 12.5px; color: var(--ink-3); margin: 0 0 14px; }
.hp-body[b-45ds2rz3sa]  code { font-family: var(--font-mono); font-size: 12.5px; background: var(--surface-2, #f6f7f9); padding: 1px 5px; border-radius: 4px; }
.hp-body[b-45ds2rz3sa]  table { border-collapse: collapse; width: 100%; font-size: 13.5px; margin: 10px 0 14px; }
.hp-body[b-45ds2rz3sa]  th, .hp-body[b-45ds2rz3sa]  td { border: 1px solid var(--line-2); padding: 7px 10px; text-align: left; vertical-align: top; }
.hp-body[b-45ds2rz3sa]  th { background: var(--surface-2, #f6f7f9); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); }
.hp-body[b-45ds2rz3sa]  blockquote { margin: 12px 0; padding: 10px 14px; border-left: 3px solid var(--accent, #0b5a63); background: var(--surface-2, #f6f7f9); border-radius: 0 8px 8px 0; }
.hp-body[b-45ds2rz3sa]  blockquote p { margin: 0; }
.hp-body[b-45ds2rz3sa]  hr { border: 0; border-top: 1px solid var(--line-2); margin: 24px 0; }
.hp-body[b-45ds2rz3sa]  kbd { display: inline-block; border: 1px solid var(--line-2); border-bottom-width: 2px; border-radius: 4px; padding: 0 5px; font-family: var(--font-mono); font-size: 11.5px; background: var(--card, #fff); }

@media (max-width: 900px) { .hp[b-45ds2rz3sa] { grid-template-columns: 1fr; } .hp-rail[b-45ds2rz3sa] { position: static; } }
@media print { .hp-rail[b-45ds2rz3sa] { display: none; } .hp-body[b-45ds2rz3sa] { border: 0; padding: 0; max-width: none; } }
/* /Components/Pages/ImagingProcedures.razor.rz.scp.css */
.mb[b-674yxbsm8u] { margin-bottom: 14px; }
/* /Components/Pages/Invoices.razor.rz.scp.css */
.inv[b-6iptvq6xjp] { width: 100%; border-collapse: collapse; font-size: var(--ui); }
.inv th[b-6iptvq6xjp] {
    text-align: left; font-size: 10.5px; font-weight: 600; letter-spacing: .09em;
    text-transform: uppercase; color: var(--ink-3); padding: 8px 12px;
    border-bottom: 1px solid var(--line); white-space: nowrap;
}
.inv td[b-6iptvq6xjp] { padding: 10px 12px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.inv tbody tr:last-child td[b-6iptvq6xjp] { border-bottom: 0; }
.inv .num[b-6iptvq6xjp] { text-align: right; }
.inv tr[data-open="True"] td[b-6iptvq6xjp] { background: var(--accent-soft); }
.inv-due[b-6iptvq6xjp] { color: var(--warn); font-weight: 600; }
.inv-act[b-6iptvq6xjp] { text-align: right; white-space: nowrap; }
.inv-code[b-6iptvq6xjp] { display: block; font-size: 11.5px; }
.inv-lines[b-6iptvq6xjp] { min-width: 720px; }

.inv-totals[b-6iptvq6xjp] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    margin: 18px 0 0;
    background: var(--line);
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
}

.inv-totals > div[b-6iptvq6xjp] { background: var(--surface); padding: 10px 12px; }
.inv-totals dt[b-6iptvq6xjp] {
    font-size: 10.5px; font-weight: 600; letter-spacing: .09em;
    text-transform: uppercase; color: var(--ink-3); margin: 0 0 3px;
}
.inv-totals dd[b-6iptvq6xjp] { margin: 0; font-size: 14.5px; }
.inv-totals .inv-strong[b-6iptvq6xjp] { background: var(--surface-2); }
.inv-totals .inv-strong dd[b-6iptvq6xjp] { font-weight: 600; }

.inv-h[b-6iptvq6xjp] {
    margin: 20px 0 8px; font-size: 11px; font-weight: 600; letter-spacing: .09em;
    text-transform: uppercase; color: var(--ink-3);
}

.inv-foot[b-6iptvq6xjp] { font-size: 12.5px; margin-left: auto; }
.tablewrap[b-6iptvq6xjp] { overflow-x: auto; }
/* /Components/Pages/LaboratoryWorklist.razor.rz.scp.css */
.mb[b-dx006pbdpd] { margin-bottom: 14px; }
.lw-controls[b-dx006pbdpd] { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 12px; }
.lw-count[b-dx006pbdpd] { font-size: 12.5px; padding-bottom: 8px; }
.lw-name[b-dx006pbdpd] { font-weight: 600; }
.lw-actions[b-dx006pbdpd] { display: flex; gap: 6px; flex-wrap: wrap; }
.lw-hint[b-dx006pbdpd] { font-size: 12.5px; margin: 4px 0 8px; }
.lw-label[b-dx006pbdpd] { font-size: 12px; color: var(--ink-3); margin-right: 8px; }
.lw-attach[b-dx006pbdpd] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.mono[b-dx006pbdpd] { font-family: var(--font-mono); font-size: 12px; }
.lw-panel[b-dx006pbdpd] { margin-top: 14px; border-top: 1px solid var(--line-2); padding-top: 10px; }
.lw-panel-head[b-dx006pbdpd] { display: flex; justify-content: space-between; align-items: center; font-weight: 600; margin-bottom: 4px; }
.lw-panel-row[b-dx006pbdpd] { display: grid; grid-template-columns: 1.6fr 1fr 1fr 24px; gap: 8px; align-items: end; padding: 4px 0; }
.lw-x[b-dx006pbdpd] { border: 0; background: none; cursor: pointer; color: var(--ink-3); font-size: 18px; line-height: 1; padding: 0 0 8px; }

/* The composed document, as sent: small type, scrolling, never wrapped so a
   line stays a line for anyone comparing it with a validator's complaint. */
.hie-xml[b-dx006pbdpd] { max-height: 60vh; overflow: auto; font-size: 11px; line-height: 1.35; background: var(--s-surface-2, #f6f7f9); border: 1px solid var(--s-border, #e3e6ea); border-radius: 6px; padding: 10px 12px; white-space: pre; }
.hie-warnings[b-dx006pbdpd] { margin: 4px 0 0 18px; padding: 0; }
/* /Components/Pages/LabTests.razor.rz.scp.css */
.mb[b-40d7x5m6eh] { margin-bottom: 14px; }
.lt-analytes[b-40d7x5m6eh] { margin-top: 14px; }
.lt-analytes-head[b-40d7x5m6eh] { display: flex; justify-content: space-between; align-items: center; font-weight: 600; margin-bottom: 8px; }
.lt-hint[b-40d7x5m6eh] { font-size: 12.5px; margin: 0 0 8px; }
.lt-members[b-40d7x5m6eh] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 16px; }
.mono[b-40d7x5m6eh] { font-family: var(--font-mono); font-size: 12px; }
.lt-studies[b-40d7x5m6eh] { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; margin-bottom: 14px; }
.lt-study[b-40d7x5m6eh] { display: flex; flex-direction: column; gap: 2px; text-align: left; background: var(--card, transparent); border: 1px solid var(--line-2); border-radius: 8px; padding: 8px 10px; cursor: pointer; color: inherit; font: inherit; font-size: 13px; }
.lt-study.on[b-40d7x5m6eh] { border-color: var(--accent, #0b5a63); }
.lt-study .muted[b-40d7x5m6eh] { font-size: 12px; }

/* One component per card, two lines each. The first line is the same for every
   kind; the second is the kind's own and wraps rather than pushing the dialog
   sideways. Labels are all present, so the boxes share a baseline. */
.lt-component[b-40d7x5m6eh] { border: 1px solid var(--line-2); border-radius: 8px; padding: 10px 12px 4px; margin-bottom: 8px; background: var(--card, transparent); }
.lt-identity[b-40d7x5m6eh] { display: grid; grid-template-columns: 110px minmax(200px, 1fr) 120px 220px 28px; gap: 10px; align-items: start; }
.lt-detail[b-40d7x5m6eh] { display: grid; gap: 10px; align-items: start; margin-top: 2px; }
.lt-numeric[b-40d7x5m6eh] { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.lt-choice[b-40d7x5m6eh] { grid-template-columns: minmax(280px, 2fr) minmax(220px, 1fr); }
.lt-kind-hint[b-40d7x5m6eh] { font-size: 12.5px; margin: 26px 0 12px; }
.lt-x[b-40d7x5m6eh] { border: 0; background: none; cursor: pointer; color: var(--ink-3); font-size: 20px; line-height: 1; padding: 0; margin-top: 30px; justify-self: end; }
.lt-x:hover[b-40d7x5m6eh] { color: var(--neg, #b42318); }
@media (max-width: 900px) {
    .lt-identity[b-40d7x5m6eh] { grid-template-columns: 1fr 1fr; }
    .lt-choice[b-40d7x5m6eh] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Patients.razor.rz.scp.css */
/* The finder's own actions row; the criteria grid comes from SFormSection. */
[b-0xe5xgbhli] .finder-actions { display: flex; gap: var(--gap); align-items: center; }
/* /Components/Pages/Payers.razor.rz.scp.css */
.pay-h[b-m9637zs7m2] {
    margin: 18px 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.pay-hint[b-m9637zs7m2] { font-size: 12.5px; margin: 0 0 8px; }
.mb[b-m9637zs7m2] { margin-bottom: 14px; }

.pay-flags[b-m9637zs7m2] { display: grid; gap: 8px; }

.pay-toggle[b-m9637zs7m2] { display: flex; align-items: baseline; gap: 8px; font-size: 13px; cursor: pointer; }
.pay-toggle input[b-m9637zs7m2] { accent-color: var(--accent); }
.pay-toggle em[b-m9637zs7m2] { font-style: normal; color: var(--ink-3); }

/* One line of the map: theirs, network, ours, remove. */
.pay-map-row[b-m9637zs7m2] {
    display: grid;
    grid-template-columns: 1.2fr .8fr 1.6fr auto;
    gap: 10px;
    align-items: end;
    padding: 8px 0;
    border-bottom: 1px solid var(--line-2);
}
/* /Components/Pages/PerioChart.razor.rz.scp.css */
/* The sheet reads left to right along the arch, one aspect per block. Cells are
   small on purpose: a full chart is a hundred and ninety-two numbers and the
   eye needs to see a quadrant at once. Colour carries the depth, so a red cell
   is a pocket before anybody reads the number. */
.mb[b-xqnd1d8of2] { margin-bottom: 14px; }
.back[b-xqnd1d8of2] { margin-left: 12px; font-size: 13px; }

.pc-indices[b-xqnd1d8of2] { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 14px; }
.pc-idx[b-xqnd1d8of2] { background: var(--card, #fff); border: 1px solid var(--line-2); border-radius: 8px; padding: 8px 12px; }
.pc-idx b[b-xqnd1d8of2] { display: block; font-size: 20px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.pc-idx span[b-xqnd1d8of2] { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.pc-idx .pc-of[b-xqnd1d8of2] { font-size: 12px; color: var(--ink-3); font-weight: 400; }
.pc-stage b[b-xqnd1d8of2] { color: var(--accent, #0b5a63); }
.pc-stage span[b-xqnd1d8of2] { text-transform: none; letter-spacing: 0; }

.pc-scroll[b-xqnd1d8of2] { overflow-x: auto; }
.pc-grid[b-xqnd1d8of2] { border-collapse: collapse; min-width: 1180px; font-variant-numeric: tabular-nums; }
.pc-grid th[b-xqnd1d8of2], .pc-grid td[b-xqnd1d8of2] { border: 1px solid var(--line-2); text-align: center; padding: 2px 3px; }
.pc-head[b-xqnd1d8of2] { text-align: left !important; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); background: var(--surface-2, #f6f7f9); padding: 8px 10px !important; }
.pc-tooth[b-xqnd1d8of2] { font-weight: 600; font-size: 13px; background: var(--surface-2, #f6f7f9); min-width: 96px; }
.pc-tooth.off[b-xqnd1d8of2] { color: var(--ink-3); text-decoration: line-through; }
.pc-lbl[b-xqnd1d8of2] { text-align: left !important; white-space: nowrap; font-size: 12.5px; color: var(--ink-2); padding: 0 10px !important; position: sticky; left: 0; background: var(--card, #fff); }
.pc-cell[b-xqnd1d8of2] { white-space: nowrap; }
.pc-cell.miss[b-xqnd1d8of2] { background: repeating-linear-gradient(45deg, var(--surface-2, #f0f2f4), var(--surface-2, #f0f2f4) 3px, transparent 3px, transparent 7px); }
.pc-x[b-xqnd1d8of2] { color: var(--ink-3); }

.pc-in[b-xqnd1d8of2] { width: 28px; height: 26px; text-align: center; border: 1px solid transparent; border-radius: 4px; background: transparent; font: inherit; font-size: 13px; padding: 0; margin: 0 1px; color: inherit; }
.pc-in:focus[b-xqnd1d8of2] { outline: 2px solid var(--accent, #0b5a63); outline-offset: -1px; background: var(--card, #fff); }
.pc-in.d1[b-xqnd1d8of2] { background: #e2f0ea; }
.pc-in.d4[b-xqnd1d8of2] { background: #f6eeda; color: #9a6b1f; font-weight: 600; }
.pc-in.d6[b-xqnd1d8of2] { background: #fbe9e7; color: #b42318; font-weight: 700; }
.pc-rec[b-xqnd1d8of2] { color: var(--ink-2); font-size: 12px; }

.pc-flags[b-xqnd1d8of2] { padding: 1px 3px !important; }
.pc-site-flags[b-xqnd1d8of2] { display: inline-flex; gap: 0; margin: 0 1px; width: 28px; justify-content: center; }
.pc-dot[b-xqnd1d8of2] { border: 0; background: none; padding: 0; width: 9px; font-size: 9px; line-height: 1; color: var(--line-2); cursor: pointer; }
.pc-dot.on-b[b-xqnd1d8of2] { color: #b42318; }
.pc-dot.on-s[b-xqnd1d8of2] { color: #7a1fa2; }
.pc-dot.on-p[b-xqnd1d8of2] { color: var(--ink-2); }

.pc-toothrow td[b-xqnd1d8of2] { background: var(--surface-2, #fafbfc); }
.pc-tooth-cell[b-xqnd1d8of2] { padding: 2px !important; }
.pc-sel[b-xqnd1d8of2] { font: inherit; font-size: 11px; border: 1px solid var(--line-2); border-radius: 4px; background: var(--card, #fff); color: inherit; padding: 1px 2px; margin: 0 1px; }
.pc-tag[b-xqnd1d8of2] { border: 1px solid var(--line-2); border-radius: 4px; background: var(--card, #fff); color: var(--ink-3); font: inherit; font-size: 11px; width: 20px; height: 20px; padding: 0; margin: 0 1px; cursor: pointer; }
.pc-tag.on[b-xqnd1d8of2] { border-color: var(--accent, #0b5a63); color: var(--accent, #0b5a63); font-weight: 700; }

.pc-legend[b-xqnd1d8of2] { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12.5px; color: var(--ink-2); margin-top: 12px; }
.pc-legend span[b-xqnd1d8of2]::before { content: ''; display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.pc-legend .l1[b-xqnd1d8of2]::before { background: #e2f0ea; } .pc-legend .l4[b-xqnd1d8of2]::before { background: #f6eeda; } .pc-legend .l6[b-xqnd1d8of2]::before { background: #fbe9e7; }
.pc-legend .lb[b-xqnd1d8of2]::before, .pc-legend .lp[b-xqnd1d8of2]::before, .pc-legend .lm[b-xqnd1d8of2]::before { display: none; }
.pc-legend .lb[b-xqnd1d8of2] { color: #b42318; } .pc-legend .lp[b-xqnd1d8of2] { color: var(--ink-2); } .pc-legend .lm[b-xqnd1d8of2] { color: var(--ink-3); }
.pc-keys[b-xqnd1d8of2] { font-size: 12px; color: var(--ink-2); background: var(--surface-2, #f6f7f9); border-radius: 8px; padding: 8px 12px; margin-top: 10px; }
.pc-keys kbd[b-xqnd1d8of2] { display: inline-block; border: 1px solid var(--line-2); border-bottom-width: 2px; border-radius: 4px; padding: 0 5px; background: var(--card, #fff); font-size: 11px; }
.pc-note[b-xqnd1d8of2] { margin-top: 12px; max-width: 640px; }

@media (max-width: 1100px) { .pc-indices[b-xqnd1d8of2] { grid-template-columns: repeat(3, 1fr); } }
/* /Components/Pages/Physicians.razor.rz.scp.css */
.phys[b-3hvf275603] { width: 100%; border-collapse: collapse; font-size: var(--ui); }
.phys th[b-3hvf275603] {
    text-align: left;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
    padding: 8px 12px;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}
.phys td[b-3hvf275603] { padding: 10px 12px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.phys tbody tr:last-child td[b-3hvf275603] { border-bottom: 0; }
.phys tr[data-off="True"] td[b-3hvf275603] { opacity: .55; }

.phys-ar[b-3hvf275603] { display: block; font-size: 12px; color: var(--ink-3); }
.phys-expired[b-3hvf275603] { color: var(--neg); font-weight: 600; }
.phys-act[b-3hvf275603] { text-align: right; white-space: nowrap; }

.phys-note td[b-3hvf275603] {
    padding-top: 0;
    font-size: 12.5px;
    color: var(--warn);
    border-bottom: 1px solid var(--line-2);
}

.phys-toggle[b-3hvf275603] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--ui);
    cursor: pointer;
    user-select: none;
}

.phys-toggle input[b-3hvf275603] { accent-color: var(--accent); }

.res-h[b-3hvf275603] {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.tablewrap[b-3hvf275603] { overflow-x: auto; }
section + section[b-3hvf275603] { margin-top: 18px; }
/* /Components/Pages/Policies.razor.rz.scp.css */
.pol-meta[b-lq1gdw2t54] { margin: 0 0 8px; color: var(--ink-2); font-size: var(--ui-sm); }
.pol-hint[b-lq1gdw2t54] { margin: 0 0 8px; font-size: var(--ui-sm); }

.pol-h[b-lq1gdw2t54] {
    font-family: var(--mono, ui-monospace, monospace);
    font-size: var(--ui-sm);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin: 16px 0 8px;
}
/* /Components/Pages/PriceListEditor.razor.rz.scp.css */
.mb[b-en2w5u9x5d] { margin-bottom: 14px; }
.mt[b-en2w5u9x5d] { margin-top: 12px; }
.pl-controls[b-en2w5u9x5d] { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 12px; flex-wrap: wrap; }
.pl-count[b-en2w5u9x5d] { font-size: 12.5px; padding-bottom: 8px; }
.pl-strong[b-en2w5u9x5d] { font-weight: 600; }
.pl-hint[b-en2w5u9x5d] { font-size: 12.5px; margin: 0 0 10px; }
.mono[b-en2w5u9x5d] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/Profile.razor.rz.scp.css */
.grid[b-ym3eg14tpy] { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); align-items: start; }
.kv[b-ym3eg14tpy] { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0 0 14px; font-size: var(--ui); }
.kv dt[b-ym3eg14tpy] { color: var(--ink-3); }
.kv dd[b-ym3eg14tpy] { margin: 0; }
.kv dd.mono[b-ym3eg14tpy] { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.row[b-ym3eg14tpy] { display: flex; gap: 8px; margin-top: 4px; }
.lnk[b-ym3eg14tpy] { font-weight: 600; font-size: var(--ui-sm); }
/* /Components/Pages/RadiologyWorklist.razor.rz.scp.css */
.mb[b-92cy9w8hue] { margin-bottom: 14px; }
.rw-controls[b-92cy9w8hue] { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 12px; }
.rw-count[b-92cy9w8hue] { font-size: 12.5px; padding-bottom: 8px; }
.rw-name[b-92cy9w8hue] { font-weight: 600; }
.rw-actions[b-92cy9w8hue] { display: flex; gap: 6px; flex-wrap: wrap; }
.rw-hint[b-92cy9w8hue] { font-size: 12.5px; margin: 4px 0 8px; }
.mono[b-92cy9w8hue] { font-family: var(--font-mono); font-size: 12px; }

/* The composed document, as sent: small type, scrolling, never wrapped so a
   line stays a line for anyone comparing it with a validator's complaint. */
.hie-xml[b-92cy9w8hue] { max-height: 60vh; overflow: auto; font-size: 11px; line-height: 1.35; background: var(--s-surface-2, #f6f7f9); border: 1px solid var(--s-border, #e3e6ea); border-radius: 6px; padding: 10px 12px; white-space: pre; }
.hie-warnings[b-92cy9w8hue] { margin: 4px 0 0 18px; padding: 0; }
/* /Components/Pages/ReferenceData.razor.rz.scp.css */
.rd-controls[b-ku6odzwn69] { display: flex; gap: 16px; align-items: flex-end; margin-bottom: 12px; flex-wrap: wrap; }
.rd-count[b-ku6odzwn69] { font-size: 12.5px; padding-bottom: 8px; }
.rd-strong[b-ku6odzwn69] { font-weight: 600; }
.rd-hint[b-ku6odzwn69] { font-size: 12.5px; margin: 0 0 10px; }
.mono[b-ku6odzwn69] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/Remittances.razor.rz.scp.css */
.mb[b-ajk4k8cm90] { margin-bottom: 14px; }
.mt[b-ajk4k8cm90] { margin-top: 14px; }
.rm-layout[b-ajk4k8cm90] { display: grid; grid-template-columns: 1fr 1.6fr; gap: 14px; align-items: start; }
@media (max-width: 1100px) { .rm-layout[b-ajk4k8cm90] { grid-template-columns: 1fr; } }
.rm-strong[b-ajk4k8cm90] { font-weight: 600; }
.rm-toolbar[b-ajk4k8cm90] { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; font-size: 12.5px; }
.rm-totals[b-ajk4k8cm90] { display: flex; gap: 22px; margin-bottom: 10px; }
.rm-totals div[b-ajk4k8cm90] { display: flex; flex-direction: column; font-size: 12.5px; }
.rm-totals strong[b-ajk4k8cm90] { font-size: 15px; }
.rm-bad[b-ajk4k8cm90] { color: var(--neg, #b42318); }
.rm-actions[b-ajk4k8cm90] { display: flex; gap: 8px; margin-bottom: 12px; }
.rm-lines[b-ajk4k8cm90] { display: flex; flex-direction: column; }
.rm-head[b-ajk4k8cm90], .rm-row[b-ajk4k8cm90] { display: grid; grid-template-columns: 140px 1.6fr 90px 110px 70px 110px 1fr; gap: 8px; align-items: center; padding: 5px 0; border-bottom: 1px solid var(--line-2); font-size: 13px; }
.rm-head[b-ajk4k8cm90] { font-weight: 600; font-size: 12px; color: var(--ink-3); }
.mono[b-ajk4k8cm90] { font-family: var(--font-mono); font-size: 12px; }
/* /Components/Pages/Reports.razor.rz.scp.css */
.rp[b-2z59ftxcdi] { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; align-items: start; }
.rp-rail[b-2z59ftxcdi] { display: flex; flex-direction: column; gap: 4px; position: sticky; top: 12px; }
.rp-link[b-2z59ftxcdi] { display: block; padding: 8px 12px; border-radius: 8px; text-decoration: none; color: inherit; border: 1px solid transparent; }
.rp-link:hover[b-2z59ftxcdi] { background: var(--surface-2, #f6f7f9); }
.rp-link.active[b-2z59ftxcdi] { background: var(--card, #fff); border-color: var(--line-2); }
.rp-link-title[b-2z59ftxcdi] { display: block; font-weight: 600; font-size: 13.5px; }
.rp-link-sub[b-2z59ftxcdi] { display: block; font-size: 12px; color: var(--ink-3); }
.rp-main[b-2z59ftxcdi] { min-width: 0; }
.rp-filters[b-2z59ftxcdi] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.rp-apply[b-2z59ftxcdi] { display: flex; align-items: center; gap: 8px; padding-bottom: 2px; }
.rp-note[b-2z59ftxcdi] { margin: 8px 0 0; font-size: 12.5px; }
.rp-tiles[b-2z59ftxcdi] { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.rp-by[b-2z59ftxcdi] { display: flex; gap: 6px; flex-wrap: wrap; }
.rp-two[b-2z59ftxcdi] { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mt[b-2z59ftxcdi] { margin-top: 14px; }
@media (max-width: 1200px) { .rp-tiles[b-2z59ftxcdi] { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rp-two[b-2z59ftxcdi] { grid-template-columns: 1fr; } }
@media (max-width: 800px) { .rp[b-2z59ftxcdi] { grid-template-columns: 1fr; } .rp-rail[b-2z59ftxcdi] { position: static; flex-direction: row; flex-wrap: wrap; } }
.rp-out[b-2z59ftxcdi] { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.rp-csv[b-2z59ftxcdi] { font-size: 13px; font-weight: 600; }
.rp-nocsv[b-2z59ftxcdi] { font-size: 12px; cursor: help; }
/* /Components/Pages/Results.razor.rz.scp.css */
.res-filter[b-v2441ssi4d] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.res-count[b-v2441ssi4d] {
    color: var(--muted);
    font-size: 0.85rem;
    padding-bottom: 0.35rem;
}

.res-skel[b-v2441ssi4d] {
    display: grid;
    gap: 0.6rem;
    padding: 0.5rem 0;
}

.res-name[b-v2441ssi4d] {
    font-weight: 600;
}

.res-note[b-v2441ssi4d] {
    color: var(--muted);
    font-size: 0.8rem;
}

.res-summary[b-v2441ssi4d] {
    max-width: 34rem;
    white-space: normal;
}

/* Enough room that "3 days" never wraps and never touches the summary beside it. */
.grid td.mono[b-v2441ssi4d] {
    white-space: nowrap;
    padding-right: 1.25rem;
}

/* An edge rather than a wash. A red row makes the summary on it harder to read,
   and the summary is the thing the reader came for. */
.res-critical td:first-child[b-v2441ssi4d] {
    box-shadow: inset 3px 0 0 var(--neg);
}
/* /Components/Pages/Roster.razor.rz.scp.css */
.ros-controls[b-fw3xpfobsc] { display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; }
.ros-status[b-fw3xpfobsc] { display: flex; align-items: center; gap: 8px; padding-bottom: 6px; font-size: 12.5px; flex-wrap: wrap; }

/* The brush: pick a shift and how it counts, then click cells. */
.ros-brush[b-fw3xpfobsc] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line-2);
}

.ros-brush-label[b-fw3xpfobsc] { font-size: 12px; color: var(--ink-3); }
.ros-brush-gap[b-fw3xpfobsc] { margin-left: 14px; }

.ros-chip[b-fw3xpfobsc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border: 1px solid var(--line);
    border-radius: 100px;
    background: var(--surface);
    color: var(--ink);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    user-select: none;
}

.ros-chip b[b-fw3xpfobsc] { font-family: var(--font-mono); }
.ros-chip[data-on="True"][b-fw3xpfobsc] { border-color: var(--ink); outline: 2px solid var(--accent); outline-offset: 1px; }
.ros-chip:disabled[b-fw3xpfobsc] { opacity: .45; cursor: not-allowed; }

/* The eight shift colours, mixed with the surface so they hold in both themes.
   The same palette the shift library shows, so what is picked is what is painted. */
[data-colour="1"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #0f766e 32%, var(--surface)); }
[data-colour="2"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #2563eb 30%, var(--surface)); }
[data-colour="3"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #7c3aed 30%, var(--surface)); }
[data-colour="4"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #d97706 36%, var(--surface)); }
[data-colour="5"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #db2777 30%, var(--surface)); }
[data-colour="6"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #16a34a 32%, var(--surface)); }
[data-colour="7"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #475569 34%, var(--surface)); }
[data-colour="8"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #ea580c 34%, var(--surface)); }
[data-colour="9"][b-fw3xpfobsc] { --shift: color-mix(in srgb, #06b6d4 34%, var(--surface)); }

.ros-shift[b-fw3xpfobsc] { background: var(--shift, var(--surface)); }

/* The grid. Badge, name and position stay put while the days scroll. */
.ros-scroll[b-fw3xpfobsc] { overflow: auto; max-height: 70vh; }

.ros[b-fw3xpfobsc] { border-collapse: separate; border-spacing: 0; font-size: 12.5px; table-layout: fixed; }

.ros-fix strong[b-fw3xpfobsc], .ros-role[b-fw3xpfobsc], .ros-badge[b-fw3xpfobsc] { overflow: hidden; text-overflow: ellipsis; }

.ros th[b-fw3xpfobsc], .ros td[b-fw3xpfobsc] { border-bottom: 1px solid var(--line-2); position: relative; }

/* Written as ".ros td.ros-fix" on purpose: the generic ".ros td { position:
   relative }" above outranks a bare class, and a relative cell with left: 78px
   is a cell shoved 78px into the day columns instead of a sticky one. */
.ros td.ros-fix[b-fw3xpfobsc], .ros th.ros-fix[b-fw3xpfobsc] {
    position: sticky;
    z-index: 2;
    background: var(--surface);
    text-align: left;
    padding: 6px 10px;
    white-space: nowrap;
    font-weight: 500;
}

.ros .ros-badge[b-fw3xpfobsc] { left: 0; font-size: 11.5px; color: var(--ink-2); }
.ros .ros-name[b-fw3xpfobsc]  { left: 78px; border-right: 0; }
.ros .ros-role[b-fw3xpfobsc]  { left: 268px; font-size: 11.5px; color: var(--ink-3); border-right: 1px solid var(--line); }

.ros-name strong[b-fw3xpfobsc] { font-weight: 600; }

.ros thead th[b-fw3xpfobsc] {
    position: sticky;
    top: 0;
    z-index: 3;
    background: var(--surface-2);
    border-bottom: 1px solid var(--line);
}

.ros thead .ros-fix[b-fw3xpfobsc] { z-index: 4; background: var(--surface-2); }

/* Day columns: DDD dd, as the head of department reads them. */
.ros-day[b-fw3xpfobsc] {
    width: 40px;
    min-width: 40px;
    padding: 5px 0;
    text-align: center;
    font-weight: 500;
}

.ros-dow[b-fw3xpfobsc] { display: block; font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.ros-dom[b-fw3xpfobsc] { display: block; font-family: var(--font-mono); font-size: 12px; }

.ros-day[data-rest="True"][b-fw3xpfobsc] { background: var(--surface-3); }
.ros-day[data-holiday="True"] .ros-dom[b-fw3xpfobsc] { color: var(--info); font-weight: 700; }

/* A cell carries one shift code, corner flags for leave and holidays, and a dot
   when overtime or time back sits on the same day. */
.ros-cell[b-fw3xpfobsc] {
    width: 40px;
    min-width: 40px;
    height: 32px;
    padding: 0;
    text-align: center;
    cursor: pointer;
    border-right: 1px solid var(--line-2);
    background: var(--shift, transparent);
}

.ros-cell[data-rest="True"]:not([data-colour])[b-fw3xpfobsc] { background: var(--surface-3); }
.ros-cell:hover[b-fw3xpfobsc] { outline: 2px solid var(--accent); outline-offset: -2px; z-index: 1; }

.ros-code[b-fw3xpfobsc] { font-family: var(--font-mono); font-size: 12px; font-weight: 700; }

/* Drawn states: what the system already knows about the day. Not employed is
   hatched and inert; leave reads V; an empty holiday reads H. None of these is
   a decision the clerk made, which is why none of them is stored. */
.ros-cell[data-state="gone"][b-fw3xpfobsc] {
    cursor: default;
    color: var(--ink-3);
    background: repeating-linear-gradient(135deg, var(--surface-3) 0 4px, var(--surface) 4px 8px);
}
.ros-cell[data-state="gone"]:hover[b-fw3xpfobsc] { outline: 0; }

.ros-cell[data-state="leave"][b-fw3xpfobsc] {
    cursor: default;
    background: color-mix(in srgb, var(--pos) 22%, var(--surface));
    color: color-mix(in srgb, var(--pos) 70%, var(--ink));
}
.ros-cell[data-state="leave"]:hover[b-fw3xpfobsc] { outline: 0; }

.ros-cell[data-state="holiday"]:not([data-colour])[b-fw3xpfobsc] { color: var(--info); }
.ros-cell[data-state="holiday"]:not([data-colour]) .ros-code[b-fw3xpfobsc] { font-weight: 600; }

/* A hole: an open day with nothing on it, once the month has anything at all. */
.ros-cell[data-state="open"][data-hole][b-fw3xpfobsc] { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--warn) 60%, transparent); }

/* Legacy cells painted before shifts existed carry hours by duty type. */
.ros-cell:not([data-colour])[data-duty="DUTY"][b-fw3xpfobsc] { background: color-mix(in srgb, var(--accent) 20%, var(--surface)); }
.ros-cell:not([data-colour])[data-duty="OT"][b-fw3xpfobsc] { background: color-mix(in srgb, var(--warn) 26%, var(--surface)); }
.ros-cell:not([data-colour])[data-duty="TB"][b-fw3xpfobsc] { background: color-mix(in srgb, var(--info) 24%, var(--surface)); }
.ros-cell:not([data-colour])[data-duty="CALL"][b-fw3xpfobsc] { background: color-mix(in srgb, var(--ink-3) 18%, var(--surface)); }

.ros-flag[b-fw3xpfobsc] { position: absolute; top: 0; width: 0; height: 0; }
.ros-holiday[b-fw3xpfobsc] { left: 0; border-top: 9px solid var(--info); border-right: 9px solid transparent; }
.ros-leave[b-fw3xpfobsc] { right: 0; border-top: 9px solid var(--pos); border-left: 9px solid transparent; }

.ros-extra[b-fw3xpfobsc] {
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--warn);
}
.ros-extra[data-duty="TB"][b-fw3xpfobsc] { background: var(--info); }
.ros-extra[data-duty="CALL"][b-fw3xpfobsc] { background: var(--ink-3); }

/* Row and column follow the mouse. Inset shadow rather than background, so a
   painted cell keeps its colour under the highlight. */
.ros tbody tr:hover > td[b-fw3xpfobsc], .ros tbody tr:hover > th[b-fw3xpfobsc] {
    box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent);
}

.ros:has([data-col="1"]:hover) [data-col="1"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="2"]:hover) [data-col="2"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="3"]:hover) [data-col="3"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="4"]:hover) [data-col="4"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="5"]:hover) [data-col="5"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="6"]:hover) [data-col="6"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="7"]:hover) [data-col="7"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="8"]:hover) [data-col="8"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="9"]:hover) [data-col="9"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="10"]:hover) [data-col="10"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="11"]:hover) [data-col="11"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="12"]:hover) [data-col="12"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="13"]:hover) [data-col="13"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="14"]:hover) [data-col="14"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="15"]:hover) [data-col="15"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="16"]:hover) [data-col="16"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="17"]:hover) [data-col="17"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="18"]:hover) [data-col="18"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="19"]:hover) [data-col="19"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="20"]:hover) [data-col="20"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="21"]:hover) [data-col="21"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="22"]:hover) [data-col="22"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="23"]:hover) [data-col="23"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="24"]:hover) [data-col="24"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="25"]:hover) [data-col="25"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="26"]:hover) [data-col="26"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="27"]:hover) [data-col="27"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="28"]:hover) [data-col="28"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="29"]:hover) [data-col="29"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="30"]:hover) [data-col="30"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }
.ros:has([data-col="31"]:hover) [data-col="31"][b-fw3xpfobsc] { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--ink) 7%, transparent); }

/* The right-hand totals. */
.ros-total[b-fw3xpfobsc] {
    padding: 5px 9px;
    text-align: right;
    background: var(--surface-2);
    border-left: 1px solid var(--line-2);
    white-space: nowrap;
}

.ros thead .ros-total[b-fw3xpfobsc] {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--ink-3);
}

.ros-act[b-fw3xpfobsc] { text-align: center; }
.ros-link[b-fw3xpfobsc] { background: none; border: 0; padding: 0; color: var(--accent); font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }

/* A person whose month does not add up. */
.ros-issue[b-fw3xpfobsc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 6px;
    border-radius: 50%;
    background: var(--warn);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    cursor: help;
}

.ros tbody tr[data-flagged="True"] .ros-name[b-fw3xpfobsc] { background: color-mix(in srgb, var(--warn) 10%, var(--surface)); }

/* The scheduled figure carries its own difference from the requirement. */
.ros-total[data-flagged="True"][b-fw3xpfobsc] { background: color-mix(in srgb, var(--warn) 12%, var(--surface-2)); }
.ros-diff[b-fw3xpfobsc] { display: block; font-size: 10.5px; line-height: 1.1; }
.ros-diff[data-sign="short"][b-fw3xpfobsc] { color: var(--neg, #b42318); }
.ros-diff[data-sign="over"][b-fw3xpfobsc] { color: var(--warn, #b54708); }

.ros-issues[b-fw3xpfobsc] { margin: 6px 0 0; padding-left: 18px; font-size: 13px; }

/* Bottom summary: what each day looks like. */
.ros-count[b-fw3xpfobsc] {
    text-align: center;
    font-family: var(--font-mono);
    font-size: 11.5px;
    background: var(--surface-2);
    color: var(--ink-2);
}

.ros-count[data-rest="True"][b-fw3xpfobsc] { background: var(--surface-3); }

.ros tfoot th[b-fw3xpfobsc], .ros tfoot td[b-fw3xpfobsc] {
    background: var(--surface-2);
    font-weight: 600;
}

.ros tfoot tr:first-child th[b-fw3xpfobsc], .ros tfoot tr:first-child td[b-fw3xpfobsc] { border-top: 2px solid var(--line); }
.ros tfoot .ros-fix[b-fw3xpfobsc] { font-size: 12px; color: var(--ink-2); }

.ros-legend[b-fw3xpfobsc] {
    display: flex;
    gap: 14px 18px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
    font-size: 12px;
    color: var(--ink-2);
}

.ros-legend span[b-fw3xpfobsc] { display: inline-flex; align-items: center; gap: 6px; }
.ros-legend b[b-fw3xpfobsc] { font-family: var(--font-mono); }

.ros-key[b-fw3xpfobsc] { display: inline-block; width: 12px; height: 12px; border-radius: 3px; background: var(--shift, var(--surface-3)); border: 1px solid var(--line); }
.ros-key-leave[b-fw3xpfobsc] { background: color-mix(in srgb, var(--pos) 22%, var(--surface)); }
.ros-key-holiday[b-fw3xpfobsc] { background: var(--surface); color: var(--info); }
.ros-key-gone[b-fw3xpfobsc] { background: repeating-linear-gradient(135deg, var(--surface-3) 0 3px, var(--surface) 3px 6px); }
.ros-key-rest[b-fw3xpfobsc] { background: var(--surface-3); }
.ros-key-text[b-fw3xpfobsc] { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; font-family: var(--font-mono); font-size: 10px; font-weight: 700; border-radius: 3px; border: 1px solid var(--line); }
.ros-key-extra[b-fw3xpfobsc] { background: var(--warn); border-radius: 50%; width: 8px; height: 8px; }

/* Quick fill: one select per weekday. */
.ros-fill[b-fw3xpfobsc] { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
/* /Components/Pages/RosterSettings.razor.rz.scp.css */
.rs-grid[b-714gd8u2wj] {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(440px, 1fr));
    align-items: start;
}

.rs-h[b-714gd8u2wj] {
    margin: 18px 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.rs-hint[b-714gd8u2wj] { font-size: 12.5px; margin: 6px 0 0; }
.rs-label[b-714gd8u2wj] { font-size: 12px; color: var(--ink-3); margin-right: 4px; }
.mb[b-714gd8u2wj] { margin-bottom: 14px; }

.rs-facts[b-714gd8u2wj] { display: grid; gap: 6px; margin: 0 0 8px; font-size: 13px; }
.rs-facts div[b-714gd8u2wj] { display: flex; gap: 10px; align-items: baseline; }
.rs-facts dt[b-714gd8u2wj] { color: var(--ink-3); min-width: 80px; }
.rs-facts dd[b-714gd8u2wj] { margin: 0; }

.rs-days[b-714gd8u2wj] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }

.rs-chip[b-714gd8u2wj] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border: 1px solid var(--line);
    border-radius: 100px;
    background: var(--surface);
    font-size: 13px;
    cursor: pointer;
    user-select: none;
}

.rs-chip[data-on="True"][b-714gd8u2wj] { border-color: var(--accent-line); background: var(--accent-soft); }
.rs-chip input[b-714gd8u2wj], .rs-toggle input[b-714gd8u2wj] { accent-color: var(--accent); }

.rs-toggle[b-714gd8u2wj] { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 13px; cursor: pointer; }

.rs-week[b-714gd8u2wj] { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-top: 8px; }
/* /Components/Pages/Schedules.razor.rz.scp.css */
.sched-grid[b-l2aw5w4yg3] {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    align-items: start;
}

.sched-h[b-l2aw5w4yg3] {
    margin: 18px 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.sched-days[b-l2aw5w4yg3] { display: flex; flex-wrap: wrap; gap: 6px; }

.sched-day[b-l2aw5w4yg3] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 11px;
    border: 1px solid var(--line);
    border-radius: 100px;
    background: var(--surface);
    font-size: 13px;
    cursor: pointer;
    user-select: none;
}

.sched-day[data-on="True"][b-l2aw5w4yg3] {
    border-color: var(--accent-line);
    background: var(--accent-soft);
}

.sched-day input[b-l2aw5w4yg3] { accent-color: var(--accent); }

.sched-hint[b-l2aw5w4yg3] { font-size: 12.5px; margin: 8px 0 0; }

.note[b-l2aw5w4yg3] {
    border-left: 3px solid var(--accent);
    background: var(--accent-soft);
    padding: 11px 14px;
    border-radius: 0 8px 8px 0;
    font-size: 13px;
    color: var(--ink-2);
}

.sched-affected[b-l2aw5w4yg3] {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    font-size: 13px;
}

.sched-affected li[b-l2aw5w4yg3] { padding: 8px 12px; display: flex; gap: 10px; align-items: baseline; }
.sched-affected li + li[b-l2aw5w4yg3] { border-top: 1px solid var(--line-2); }

/* The resolved plan, drawn before anything is published. Colour carries the
   reason a day is not a clinic day, because "nothing on Tuesday" and "on leave
   on Tuesday" are different conversations with the patient. */
.sched-preview[b-l2aw5w4yg3] {
    margin-top: 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
}

.sched-counts[b-l2aw5w4yg3] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 18px;
    padding: 10px 14px;
    background: var(--surface-2);
    border-bottom: 1px solid var(--line);
    font-size: 12.5px;
    color: var(--ink-2);
}

.sched-counts strong[b-l2aw5w4yg3] { color: var(--ink); font-variant-numeric: tabular-nums; }

.sched-days-list[b-l2aw5w4yg3] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 320px;
    overflow-y: auto;
    font-size: 13px;
}

.sched-days-list li[b-l2aw5w4yg3] {
    display: flex;
    gap: 12px;
    align-items: baseline;
    padding: 7px 14px;
    border-left: 3px solid transparent;
}

.sched-days-list li + li[b-l2aw5w4yg3] { border-top: 1px solid var(--line-2); }

.sched-days-list li[data-outcome="Duty"][b-l2aw5w4yg3] { border-left-color: var(--pos); }
.sched-days-list li[data-outcome="Override"][b-l2aw5w4yg3] { border-left-color: var(--accent); }
.sched-days-list li[data-outcome="Leave"][b-l2aw5w4yg3] { border-left-color: var(--warn); }
.sched-days-list li[data-outcome="Holiday"][b-l2aw5w4yg3] { border-left-color: var(--info, var(--accent)); }
.sched-days-list li[data-outcome="NoPattern"][b-l2aw5w4yg3] { border-left-color: var(--line); }

.sched-days-list .mono[b-l2aw5w4yg3] { font-variant-numeric: tabular-nums; }
/* What is already blocked on the chosen day, with the way to take it back off. */
.sched-blocks[b-l2aw5w4yg3] {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    font-size: 13px;
}

.sched-blocks li[b-l2aw5w4yg3] { padding: 8px 12px; }
.sched-blocks li + li[b-l2aw5w4yg3] { border-top: 1px solid var(--line-2); }

.sched-block-row[b-l2aw5w4yg3] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: center;
}

.sched-block-row .mono[b-l2aw5w4yg3] { font-variant-numeric: tabular-nums; }
.sched-block-by[b-l2aw5w4yg3] { margin-left: auto; font-size: 12px; }

.sched-lift[b-l2aw5w4yg3] {
    margin-top: 8px;
    padding: 10px 12px;
    border-left: 3px solid var(--warn);
    background: var(--surface-2);
    border-radius: 0 8px 8px 0;
    display: grid;
    gap: 8px;
}
/* /Components/Pages/ServiceCatalogue.razor.rz.scp.css */
.cat[b-33iivvfxto] { width: 100%; border-collapse: collapse; font-size: var(--ui); }
.cat th[b-33iivvfxto] {
    text-align: left; font-size: 10.5px; font-weight: 600; letter-spacing: .09em;
    text-transform: uppercase; color: var(--ink-3); padding: 8px 12px;
    border-bottom: 1px solid var(--line); white-space: nowrap;
}
.cat td[b-33iivvfxto] { padding: 10px 12px; border-bottom: 1px solid var(--line-2); vertical-align: middle; }
.cat tbody tr:last-child td[b-33iivvfxto] { border-bottom: 0; }
.cat .num[b-33iivvfxto] { text-align: right; }
.cat-ar[b-33iivvfxto] { display: block; font-size: 12px; color: var(--ink-3); }
.cat-act[b-33iivvfxto] { text-align: right; white-space: nowrap; }

.cat-toggle[b-33iivvfxto] {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: var(--ui); cursor: pointer; user-select: none;
}
.cat-toggle input[b-33iivvfxto] { accent-color: var(--accent); }
.tablewrap[b-33iivvfxto] { overflow-x: auto; }
/* /Components/Pages/Shifts.razor.rz.scp.css */
.shf-controls[b-ea9gs97m7s] { display: flex; gap: 18px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 12px; }
.shf-toggle[b-ea9gs97m7s] { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; padding-bottom: 8px; cursor: pointer; }
.shf-toggle input[b-ea9gs97m7s] { accent-color: var(--accent); }
.shf-hint[b-ea9gs97m7s] { font-size: 12.5px; margin: 6px 0 0; }
.shf-label[b-ea9gs97m7s] { font-size: 12px; color: var(--ink-3); margin-right: 6px; }
.mb[b-ea9gs97m7s] { margin-bottom: 14px; }

/* The same eight colours the roster paints with. Mixed with the surface so they
   read in both themes rather than shouting in one of them. */
.shf-swatch[b-ea9gs97m7s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 26px;
    padding: 0 6px;
    border-radius: 6px;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 700;
    color: var(--ink);
    border: 1px solid transparent;
}

.shf-swatch[data-colour="1"][b-ea9gs97m7s] { background: color-mix(in srgb, #0f766e 32%, var(--surface)); }
.shf-swatch[data-colour="2"][b-ea9gs97m7s] { background: color-mix(in srgb, #2563eb 30%, var(--surface)); }
.shf-swatch[data-colour="3"][b-ea9gs97m7s] { background: color-mix(in srgb, #7c3aed 30%, var(--surface)); }
.shf-swatch[data-colour="4"][b-ea9gs97m7s] { background: color-mix(in srgb, #d97706 36%, var(--surface)); }
.shf-swatch[data-colour="5"][b-ea9gs97m7s] { background: color-mix(in srgb, #db2777 30%, var(--surface)); }
.shf-swatch[data-colour="6"][b-ea9gs97m7s] { background: color-mix(in srgb, #16a34a 32%, var(--surface)); }
.shf-swatch[data-colour="7"][b-ea9gs97m7s] { background: color-mix(in srgb, #475569 34%, var(--surface)); }
.shf-swatch[data-colour="8"][b-ea9gs97m7s] { background: color-mix(in srgb, #ea580c 34%, var(--surface)); }
.shf-swatch[data-colour="9"][b-ea9gs97m7s] { background: color-mix(in srgb, #06b6d4 34%, var(--surface)); }

.shf-colours[b-ea9gs97m7s] { display: flex; align-items: center; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.shf-pick[b-ea9gs97m7s] { cursor: pointer; }
.shf-pick[data-on="True"][b-ea9gs97m7s] { border-color: var(--ink); outline: 2px solid var(--accent); outline-offset: 1px; }
/* /Components/Pages/SignIn.razor.rz.scp.css */
.auth[b-fkrr7s7e4o] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: var(--bg);
}

.auth-card[b-fkrr7s7e4o] {
    width: 100%;
    max-width: 380px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r3);
    padding: 32px 30px 26px;
}

.auth-brand[b-fkrr7s7e4o] { display: flex; align-items: center; gap: 10px; margin-bottom: 26px; }

.auth-mark[b-fkrr7s7e4o] {
    width: 30px; height: 30px; border-radius: var(--r2);
    background: var(--accent); color: var(--on-accent);
    display: grid; place-items: center;
    font-weight: 700; font-size: 15px;
}

.auth-word[b-fkrr7s7e4o] { font-weight: 600; font-size: 16px; letter-spacing: -.01em; }

.auth h1[b-fkrr7s7e4o] { font-size: 21px; margin: 0 0 5px; }
.auth-sub[b-fkrr7s7e4o] { margin: 0 0 22px; color: var(--ink-3); font-size: 13.5px; }

.auth-error[b-fkrr7s7e4o] {
    margin: 0 0 18px;
    padding: 10px 13px;
    border-left: 3px solid var(--neg);
    background: color-mix(in srgb, var(--neg) 10%, var(--surface));
    border-radius: 0 var(--r2) var(--r2) 0;
    font-size: 13px;
    color: var(--ink);
}

.auth-field[b-fkrr7s7e4o] { display: block; margin-bottom: 15px; }
.auth-field span[b-fkrr7s7e4o] { display: block; font-size: 12.5px; color: var(--ink-2); margin-bottom: 5px; }

.auth-field input[b-fkrr7s7e4o] {
    width: 100%;
    padding: 10px 12px;
    font: inherit;
    font-size: 14px;
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r2);
}

.auth-field input:focus[b-fkrr7s7e4o] {
    outline: none;
    border-color: var(--accent);
    box-shadow: var(--focus);
}

.auth-submit[b-fkrr7s7e4o] {
    width: 100%;
    margin-top: 8px;
    padding: 11px 16px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--on-accent);
    background: var(--accent);
    border: 0;
    border-radius: var(--r2);
    cursor: pointer;
}

.auth-submit:hover[b-fkrr7s7e4o] { filter: brightness(1.06); }

.auth-foot[b-fkrr7s7e4o] {
    margin: 22px 0 0;
    font-size: 12px;
    color: var(--ink-3);
    line-height: 1.5;
}
/* /Components/Pages/TheatreRentals.razor.rz.scp.css */
.tr-two[b-307p9zkbtc] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap, 16px); }
@media (max-width: 900px) { .tr-two[b-307p9zkbtc] { grid-template-columns: 1fr; } }
.tr-hint[b-307p9zkbtc] { margin: 8px 0 0; font-size: var(--ui-sm); }
/* /Components/Pages/TreatmentPlans.razor.rz.scp.css */
.tp-find[b-enp10eb45u] { display: flex; gap: 12px; align-items: flex-end; max-width: 460px; }

.tp[b-enp10eb45u] { padding: 16px 0; border-top: 1px solid var(--line); }
.tp:first-of-type[b-enp10eb45u] { border-top: 0; padding-top: 0; }

.tp-head[b-enp10eb45u] { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 12px; }
.tp-title[b-enp10eb45u] { font-weight: 600; font-size: 15px; }

/* Quoted and agreed side by side. They are different numbers and a practice that
   only sees the first one is a practice that thinks it is busier than it is. */
.tp-money[b-enp10eb45u] {
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.tp-phase[b-enp10eb45u] {
    margin: 12px 0 5px;
    font-size: 11.5px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--ink-3);
}

.tp-items[b-enp10eb45u] { list-style: none; margin: 0; padding: 0; }

.tp-items li[b-enp10eb45u] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    font-size: 13.5px;
    border-left: 3px solid transparent;
    padding-left: 9px;
}

.tp-items li + li[b-enp10eb45u] { border-top: 1px solid var(--line-2); }
.tp-items li[data-status="Completed"][b-enp10eb45u] { border-left-color: var(--pos); }
.tp-items li[data-status="Accepted"][b-enp10eb45u] { border-left-color: var(--accent); }
.tp-items li[data-status="Scheduled"][b-enp10eb45u] { border-left-color: var(--accent); }
.tp-items li[data-status="Declined"][b-enp10eb45u] { border-left-color: var(--line); opacity: .55; }

/* The tooth reads as a tooth: fixed width so a column of them lines up, with the
   surfaces underneath in the notation a dentist writes. */
.tp-tooth[b-enp10eb45u] {
    min-width: 46px;
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.tp-tooth small[b-enp10eb45u] { font-size: 10px; color: var(--ink-3); letter-spacing: .04em; }

.tp-desc[b-enp10eb45u] { flex: 1 1 auto; min-width: 0; }
.tp-fee[b-enp10eb45u] { font-variant-numeric: tabular-nums; }

.tp-h[b-enp10eb45u] {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--ink-3);
    margin: 22px 0 10px;
}

.tp-note[b-enp10eb45u] { margin: 10px 0 0; font-size: 13px; line-height: 1.5; }
/* /Components/Pages/ZatcaSettings.razor.rz.scp.css */
.za-hint[b-diwqmqknem] { font-size: 13px; margin: 2px 0 12px; max-width: 78ch; }
.za-h[b-diwqmqknem] { font-size: 14px; font-weight: 600; margin: 22px 0 6px; }
.za-strong[b-diwqmqknem] { font-weight: 600; }
.za-out[b-diwqmqknem] { font-family: var(--font-mono); font-size: 11.5px; white-space: pre-wrap; word-break: break-all; margin: 0; max-height: 180px; overflow: auto; }

.za-steps[b-diwqmqknem] { list-style: none; margin: 8px 0 4px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.za-steps li[b-diwqmqknem] { border: 1px solid var(--line-2); border-radius: 10px; padding: 12px 14px; background: var(--card, #fff); }
.za-steps li[data-done="yes"][b-diwqmqknem] { border-color: var(--pos, #2f7a4d); background: var(--pos-soft, #f2f8f4); }
.za-step-head[b-diwqmqknem] { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 4px; }
.za-step-head .row[b-diwqmqknem] { display: flex; align-items: flex-end; gap: 10px; }
.za-steps li span.muted[b-diwqmqknem] { font-size: 12.5px; display: block; max-width: 78ch; }

/* The compliance figures. The dashboard's own tiles are scoped to that page, so
   this one declares its own row rather than borrowing a class that is not here. */
.tiles[b-diwqmqknem] { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 4px 0 2px; }
/* /Components/Scheduling/ReservationDialog.razor.rz.scp.css */
.res-h[b-9h5qaf1ygi] {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.res-find[b-9h5qaf1ygi] { display: flex; gap: 10px; align-items: flex-end; }
.res-find > :first-child[b-9h5qaf1ygi] { flex: 1; }

.res-list[b-9h5qaf1ygi] {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.res-list li + li[b-9h5qaf1ygi] { border-top: 1px solid var(--line-2); }

.res-list button[b-9h5qaf1ygi] {
    display: flex;
    gap: 14px;
    align-items: baseline;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-size: 13.5px;
    color: var(--ink);
}

.res-list button:hover[b-9h5qaf1ygi] { background: var(--surface-2); }
.res-name[b-9h5qaf1ygi] { font-weight: 600; flex: 1; }

.res-chosen[b-9h5qaf1ygi] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--accent-line);
    background: var(--accent-soft);
    border-radius: 8px;
}

.res-chosen .mono[b-9h5qaf1ygi] { margin-left: 10px; font-size: 12.5px; }

.res-services[b-9h5qaf1ygi] { display: flex; flex-wrap: wrap; gap: 8px; }

.res-service[b-9h5qaf1ygi] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-start;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    cursor: pointer;
    font-size: 13.5px;
    color: var(--ink);
    transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}

.res-service:hover[b-9h5qaf1ygi] { border-color: var(--accent-line); }
.res-service[data-on="True"][b-9h5qaf1ygi] { border-color: var(--accent); background: var(--accent-soft); }
.res-service .muted[b-9h5qaf1ygi] { font-size: 11.5px; }

.res-when[b-9h5qaf1ygi] { margin: 0 0 10px; font-size: 13.5px; }

.res-starts[b-9h5qaf1ygi] { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }

.res-start[b-9h5qaf1ygi] {
    padding: 6px 11px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--surface);
    font-family: var(--font-mono);
    font-size: 12.5px;
    cursor: pointer;
    color: var(--ink);
}

.res-start:hover[b-9h5qaf1ygi] { border-color: var(--accent-line); background: var(--accent-soft); }

.res-foot[b-9h5qaf1ygi] { font-size: 12.5px; margin-left: auto; }

section + section[b-9h5qaf1ygi] { margin-top: 4px; }
/* /Components/Shared/PatientBanner.razor.rz.scp.css */
.pbanner[b-j4i6jh93gw] {
    display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
    padding: 14px 18px; margin-bottom: var(--gap);
    background: var(--surface); border: 1px solid var(--line); border-radius: var(--r2);
}

.pbanner-id[b-j4i6jh93gw] { display: flex; align-items: center; gap: 12px; min-width: 0; }

.pbanner-avatar[b-j4i6jh93gw] {
    width: 38px; height: 38px; flex: none; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--accent-soft); color: var(--accent); font-weight: 600;
}

.pbanner-name[b-j4i6jh93gw] { font-weight: 600; font-size: var(--t-h3); }
.pbanner-name-ar[b-j4i6jh93gw] { font-size: var(--ui-sm); color: var(--ink-2); }

.pbanner-facts[b-j4i6jh93gw] { display: flex; gap: 22px; margin: 0; flex-wrap: wrap; }
.pbanner-facts div[b-j4i6jh93gw] { display: flex; flex-direction: column; gap: 1px; }
.pbanner-facts dt[b-j4i6jh93gw] {
    font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);
}
.pbanner-facts dd[b-j4i6jh93gw] { margin: 0; font-weight: 600; }

.pbanner-flags[b-j4i6jh93gw] { display: flex; gap: 6px; margin-inline-start: auto; flex-wrap: wrap; }
