/* /Components/AppointmentGate.razor.rz.scp.css */
/* Self-contained: this component renders one .gate at the top level, so the
   variables live on it rather than on a wrapper it doesn't own. */

.gate[b-w1yxa6417x] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --rich-bg: #fbe9e2; --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;

    color: var(--ink);
    border: 1px solid var(--rule);
    border-left: 3px solid var(--rule);
    border-radius: 6px;
    padding: 12px 14px;
    margin-bottom: 8px;
    background: #fff;
}

.gate.cleared[b-w1yxa6417x] { border-left-color: var(--lean); }
.gate.waiting[b-w1yxa6417x] { border-left-color: var(--stoich); background: #fffdf8; }
.gate.blocked[b-w1yxa6417x] { border-left-color: var(--rich); background: #fffaf8; }

.g-head[b-w1yxa6417x] { display: flex; align-items: center; gap: 9px; font-size: 14px; }

.dot[b-w1yxa6417x] { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.gate.cleared .dot[b-w1yxa6417x] { background: var(--lean); }
.gate.waiting .dot[b-w1yxa6417x] { background: var(--stoich); }
.gate.blocked .dot[b-w1yxa6417x] { background: var(--rich); }

.g-name[b-w1yxa6417x] { font-weight: 500; min-width: 110px; }
.g-note[b-w1yxa6417x] { color: var(--ink-2); }
.gate.blocked .g-note[b-w1yxa6417x] { color: var(--rich); }

.g-action[b-w1yxa6417x] {
    display: flex; align-items: flex-end; gap: 8px;
    margin-top: 11px; flex-wrap: wrap;
}

.inline[b-w1yxa6417x] { display: flex; flex-direction: column; gap: 3px; }
.inline.narrow[b-w1yxa6417x] { max-width: 90px; }

.k[b-w1yxa6417x] { font-size: 12px; color: var(--ink-3); }

.g-action input[b-w1yxa6417x], .g-action select[b-w1yxa6417x] {
    font: inherit; font-size: 14px; padding: 6px 9px;
    border: 1px solid var(--rule); border-radius: 5px; background: #fff;
}

.g-action .grow[b-w1yxa6417x] { flex: 1; min-width: 180px; }

.g-action input:focus-visible[b-w1yxa6417x], .g-action select:focus-visible[b-w1yxa6417x] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.btn-sm[b-w1yxa6417x] {
    font: inherit; font-size: 14px; font-weight: 500;
    padding: 7px 14px; border-radius: 5px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn-sm:hover[b-w1yxa6417x] { background: #29313d; }
.btn-sm:disabled[b-w1yxa6417x] { opacity: .5; cursor: default; }

.btn-ghost-sm[b-w1yxa6417x] {
    font: inherit; font-size: 14px;
    padding: 7px 13px; border-radius: 5px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost-sm:hover[b-w1yxa6417x] { border-color: var(--ink-3); }
.btn-ghost-sm:disabled[b-w1yxa6417x] { opacity: .5; cursor: default; }
.btn-ghost-sm.danger[b-w1yxa6417x] { color: var(--rich); border-color: #f0c3b0; }
.btn-ghost-sm.danger:hover[b-w1yxa6417x] { background: var(--rich-bg); }

.fine[b-w1yxa6417x] { font-size: 12px; color: var(--ink-3); margin: 9px 0 0; line-height: 1.5; }
.warn-text[b-w1yxa6417x] { color: var(--rich); }
/* /Components/GatePanel.razor.rz.scp.css */
.gates-panel[b-ypndm97ilp] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --rich-bg: #fbe9e2; --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;
    margin-top: 30px;
}

.gates-panel h2[b-ypndm97ilp] {
    font-size: 15px; font-weight: 600; margin: 0 0 12px;
    padding-bottom: 7px; border-bottom: 1px solid var(--rule);
}

.gate[b-ypndm97ilp] {
    border: 1px solid var(--rule);
    border-left: 3px solid var(--rule);
    border-radius: 6px;
    padding: 12px 14px;
    margin-bottom: 8px;
    background: #fff;
}

.gate.cleared[b-ypndm97ilp] { border-left-color: var(--lean); }
.gate.waiting[b-ypndm97ilp] { border-left-color: var(--stoich); background: #fffdf8; }
.gate.blocked[b-ypndm97ilp] { border-left-color: var(--rich); background: #fffaf8; }

.g-head[b-ypndm97ilp] { display: flex; align-items: center; gap: 9px; font-size: 14px; }

.dot[b-ypndm97ilp] { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.gate.cleared .dot[b-ypndm97ilp] { background: var(--lean); }
.gate.waiting .dot[b-ypndm97ilp] { background: var(--stoich); }
.gate.blocked .dot[b-ypndm97ilp] { background: var(--rich); }

.g-name[b-ypndm97ilp] { font-weight: 500; min-width: 110px; }
.g-note[b-ypndm97ilp] { color: var(--ink-2); }
.gate.blocked .g-note[b-ypndm97ilp] { color: var(--rich); }

.g-action[b-ypndm97ilp] {
    display: flex; align-items: flex-end; gap: 8px;
    margin-top: 11px; flex-wrap: wrap;
}

.inline[b-ypndm97ilp] { display: flex; flex-direction: column; gap: 3px; }
.inline.narrow[b-ypndm97ilp] { max-width: 110px; }

.k[b-ypndm97ilp] { font-size: 12px; color: var(--ink-3); }

.g-action input[b-ypndm97ilp], .g-action select[b-ypndm97ilp] {
    font: inherit; font-size: 14px; padding: 6px 9px;
    border: 1px solid var(--rule); border-radius: 5px; background: #fff;
}

.g-action .grow[b-ypndm97ilp] { flex: 1; min-width: 180px; }

.g-action input:focus-visible[b-ypndm97ilp], .g-action select:focus-visible[b-ypndm97ilp] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.btn-sm[b-ypndm97ilp] {
    font: inherit; font-size: 14px; font-weight: 500;
    padding: 7px 14px; border-radius: 5px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn-sm:hover[b-ypndm97ilp] { background: #29313d; }
.btn-sm:disabled[b-ypndm97ilp] { opacity: .5; cursor: default; }

.btn-ghost-sm[b-ypndm97ilp] {
    font: inherit; font-size: 14px;
    padding: 7px 13px; border-radius: 5px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost-sm:hover[b-ypndm97ilp] { border-color: var(--ink-3); }
.btn-ghost-sm:disabled[b-ypndm97ilp] { opacity: .5; cursor: default; }
.btn-ghost-sm.danger[b-ypndm97ilp] { color: var(--rich); border-color: #f0c3b0; }
.btn-ghost-sm.danger:hover[b-ypndm97ilp] { background: var(--rich-bg); }

.fine[b-ypndm97ilp] { font-size: 12px; color: var(--ink-3); margin: 9px 0 0; line-height: 1.5; }
.warn-text[b-ypndm97ilp] { color: var(--rich); }

.ok[b-ypndm97ilp] {
    font-size: 13px; margin: 0 0 12px; padding: 8px 12px;
    background: var(--lean-bg); border: 1px solid #cfe0ba;
    border-radius: 6px; color: #43690e;
}

.warn[b-ypndm97ilp] {
    font-size: 13px; margin: 0 0 12px; padding: 8px 12px;
    background: var(--stoich-bg); border: 1px solid #edd6a4;
    border-radius: 6px; color: #96660a;
}

.link[b-ypndm97ilp] { text-decoration: none; display: inline-block; }
/* /Components/Layout/CustomerLayout.razor.rz.scp.css */
.shell[b-hyogksnq7w] {
    min-height: 100vh;
    background: #f2f2ef;
    padding: 32px 20px 60px;
    display: flex;
    justify-content: center;
}

[b-hyogksnq7w] .cq {
    width: 100%;
    max-width: 620px;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app[b-zf0btpovu6] {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 100vh;
    background: #f2f2ef;
}

.main[b-zf0btpovu6] {
    min-width: 0;          /* lets wide tables shrink instead of overflowing */
    overflow-x: auto;
}

.page[b-zf0btpovu6] {
    padding: 28px 32px 60px;
}

@media (max-width: 860px) {
    .app[b-zf0btpovu6] { grid-template-columns: 1fr; }
    .page[b-zf0btpovu6] { padding: 20px 18px 60px; }
}

#blazor-error-ui[b-zf0btpovu6] {
    color: #14161b;
    background: #fbf1dd;
    border-top: 1px solid #edd6a4;
    bottom: 0;
    box-shadow: 0 -1px 3px rgba(20, 22, 27, .1);
    display: none;
    left: 0;
    padding: 12px 16px 12px 20px;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-size: 14px;
}

#blazor-error-ui .dismiss[b-zf0btpovu6] {
    cursor: pointer;
    position: absolute;
    right: 16px;
    top: 12px;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* NavLink renders its own <a>, so the scope attribute never lands on it.
   Anything targeting a NavLink has to go through ::deep — without it the
   links fall back to browser defaults, which is exactly what happened. */

.rail[b-bm3bgy2j7e] {
    background: #14161b;
    border-right: 1px solid #23262d;
    padding: 18px 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

[b-bm3bgy2j7e] .brand {
    display: flex;
    align-items: baseline;
    gap: 7px;
    padding: 2px 10px 6px;
    text-decoration: none;
}

.mark[b-bm3bgy2j7e] {
    font-weight: 600;
    font-size: 15px;
    letter-spacing: -.01em;
    /* the AFR sweep off the logo — rich through lean */
    background: linear-gradient(95deg, #e2571f, #e8a317 55%, #8dbb2e);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.name[b-bm3bgy2j7e] { font-size: 15px; font-weight: 500; color: #f2f2ef; }

.group[b-bm3bgy2j7e] { display: flex; flex-direction: column; gap: 1px; }

.g-label[b-bm3bgy2j7e] {
    font-size: 11px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #5f646c;
    padding: 0 10px 7px;
}

.rail[b-bm3bgy2j7e]  .item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    color: #b9bdc3;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.3;
    transition: background .1s, color .1s;
}

.rail[b-bm3bgy2j7e]  .item:hover {
    background: #1d2027;
    color: #f2f2ef;
}

.rail[b-bm3bgy2j7e]  .item.active {
    background: #24272f;
    color: #fff;
    font-weight: 500;
    box-shadow: inset 2px 0 0 #8dbb2e;
}

.rail[b-bm3bgy2j7e]  .item:focus-visible {
    outline: 2px solid #8dbb2e;
    outline-offset: -2px;
}

.rail[b-bm3bgy2j7e]  .item.quiet {
    color: #7d828a;
    font-size: 13px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.rail[b-bm3bgy2j7e]  .item.quiet:hover { color: #d5d8dc; }
.rail[b-bm3bgy2j7e]  .item.quiet.active { box-shadow: none; background: #1d2027; }

.rail[b-bm3bgy2j7e]  .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex: none;
}

.rail[b-bm3bgy2j7e]  ::deep .dot.go { background: #8dbb2e; }
.rail[b-bm3bgy2j7e]  ::deep .dot.wait { background: #e8a317; }
[b-bm3bgy2j7e] .dot.quiet { background: #6b7078; }

.foot[b-bm3bgy2j7e] { margin-top: auto; }

@media (max-width: 860px) {
    .rail[b-bm3bgy2j7e] {
        flex-direction: row;
        align-items: center;
        gap: 8px;
        overflow-x: auto;
        padding: 10px 12px;
    }
    [b-bm3bgy2j7e] .brand { padding: 0 8px 0 0; }
    .g-label[b-bm3bgy2j7e], .foot[b-bm3bgy2j7e] { display: none; }
    .group[b-bm3bgy2j7e] { flex-direction: row; }
    .rail[b-bm3bgy2j7e]  .item { white-space: nowrap; }
}

/* ── signed-in user ── */

.who[b-bm3bgy2j7e] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px 14px;
    margin-bottom: 8px;
    border-bottom: 1px solid #23262d;
}

.w-name[b-bm3bgy2j7e] { font-size: 13px; color: #c3c6cb; }

.signout[b-bm3bgy2j7e] {
    font: inherit;
    font-size: 12px;
    margin-left: auto;
    padding: 3px 9px;
    border-radius: 5px;
    border: 1px solid #2c3038;
    background: none;
    color: #878c94;
    cursor: pointer;
}

.signout:hover[b-bm3bgy2j7e] { color: #f2f2ef; border-color: #3a3f48; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-z980lttwuy],
.components-reconnect-repeated-attempt-visible[b-z980lttwuy],
.components-reconnect-failed-visible[b-z980lttwuy],
.components-pause-visible[b-z980lttwuy],
.components-resume-failed-visible[b-z980lttwuy],
.components-rejoining-animation[b-z980lttwuy] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-retrying[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-failed[b-z980lttwuy],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-z980lttwuy] {
    display: block;
}


#components-reconnect-modal[b-z980lttwuy] {
    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-z980lttwuy 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-z980lttwuy 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-z980lttwuy 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-z980lttwuy]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-z980lttwuy 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-z980lttwuy {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-z980lttwuy {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-z980lttwuy {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-z980lttwuy] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-z980lttwuy] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-z980lttwuy] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-z980lttwuy] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-z980lttwuy] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-z980lttwuy] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-z980lttwuy] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-z980lttwuy 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-z980lttwuy] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-z980lttwuy {
    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/Board.razor.rz.scp.css */
/* Palette off the 14.7 logo — an AFR gauge sweeping rich to lean.
   Rich orange means blocked, amber means waiting, green means clear.
   Nothing else in here gets to be colourful. */

.board[b-ni0gfnz6gt] {
    --ink: #16181a;
    --ink-2: #55595e;
    --ink-3: #8b8f95;
    --paper: #edeeec;
    --rule: #d8d9d6;
    --rule-2: #e6e7e4;
    --rich: #cc4318;
    --stoich: #cf8b0c;
    --lean: #5b8f11;
    --steel: #2b3138;

    color: var(--ink);
    max-width: 1180px;
    padding-bottom: 80px;
}

.mono[b-ni0gfnz6gt] {
    font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace;
    font-variant-ligatures: none;
}

/* ── head: the count is the headline, not the word "board" ── */

.board-head[b-ni0gfnz6gt] {
    display: flex;
    align-items: flex-end;
    gap: 34px;
    flex-wrap: wrap;
    padding-bottom: 18px;
    border-bottom: 2px solid var(--ink);
}

.board-head h1[b-ni0gfnz6gt] {
    font-family: "Barlow Condensed", "Archivo", sans-serif;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: .95;
    margin: 0;
    text-transform: none;
}

.tally[b-ni0gfnz6gt] {
    display: flex;
    gap: 26px;
    margin: 0;
    padding-bottom: 3px;
}

.tally > div[b-ni0gfnz6gt] { display: flex; align-items: baseline; gap: 7px; }

.tally dd[b-ni0gfnz6gt] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    font-variant-numeric: tabular-nums;
}

.tally dt[b-ni0gfnz6gt] { font-size: 13px; color: var(--ink-2); }

.tally .hot dd[b-ni0gfnz6gt] { color: var(--rich); }

.btn[b-ni0gfnz6gt] {
    margin-left: auto;
    font: inherit;
    font-weight: 500;
    padding: 9px 16px;
    border-radius: 4px;
    border: 1px solid var(--steel);
    background: var(--steel);
    color: #fff;
    cursor: pointer;
}
.btn:hover[b-ni0gfnz6gt] { background: #1c2127; }
.btn:disabled[b-ni0gfnz6gt] { opacity: .5; cursor: default; }

/* ── lanes ── */

.group[b-ni0gfnz6gt] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--ink-2);
    margin: 30px 0 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.count[b-ni0gfnz6gt] {
    font-family: Barlow, sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: var(--ink-3);
    border: 1px solid var(--rule);
    border-radius: 999px;
    padding: 1px 8px;
}

/* ── rows, not cards ──
   A shop board is a list of cars. Rows fit more on screen and stop every
   item looking like a separate document. */

.rows[b-ni0gfnz6gt] { display: flex; flex-direction: column; }

.row[b-ni0gfnz6gt] {
    display: grid;
    grid-template-columns: minmax(200px, 1.1fr) minmax(190px, 1fr) minmax(180px, 1.1fr);
    gap: 26px;
    align-items: start;
    padding: 17px 16px 17px 13px;
    border-bottom: 1px solid var(--rule-2);
    border-left: 3px solid transparent;
    text-decoration: none;
    color: inherit;
    background: #fff;
}

.row:first-of-type[b-ni0gfnz6gt] { border-top: 1px solid var(--rule-2); }
.row:hover[b-ni0gfnz6gt] { background: #fbfbfa; }
.row:focus-visible[b-ni0gfnz6gt] { outline: 2px solid var(--steel); outline-offset: -2px; }

.row.lane-clear[b-ni0gfnz6gt]             { border-left-color: var(--lean); }
.row.lane-waitingoncustomer[b-ni0gfnz6gt] { border-left-color: var(--stoich); }
.row.lane-blocked[b-ni0gfnz6gt]           { border-left-color: var(--rich); }

/* identity — the car is the hero */

.car[b-ni0gfnz6gt] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -0.005em;
    margin: 0;
}

.owner[b-ni0gfnz6gt] { font-size: 14px; color: var(--ink-2); margin-top: 3px; }

.ref[b-ni0gfnz6gt] {
    font-size: 11px;
    color: var(--ink-3);
    margin-top: 5px;
}

/* middle — the gate bar */

.service[b-ni0gfnz6gt] { font-size: 13px; color: var(--ink-2); }

.bar[b-ni0gfnz6gt] {
    display: flex;
    gap: 3px;
    margin-top: 8px;
}

.seg[b-ni0gfnz6gt] {
    height: 6px;
    flex: 1;
    border-radius: 1px;
    background: var(--rule);
}

.seg.cleared[b-ni0gfnz6gt] { background: var(--lean); }
.seg.waiting[b-ni0gfnz6gt] { background: var(--stoich); }
.seg.blocked[b-ni0gfnz6gt] { background: var(--rich); }

.legend[b-ni0gfnz6gt] {
    display: flex;
    gap: 3px;
    margin-top: 5px;
}

.leg[b-ni0gfnz6gt] {
    flex: 1;
    font-size: 10.5px;
    color: var(--ink-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leg.blocked[b-ni0gfnz6gt] { color: var(--rich); }

/* right — status and what's holding it */

.right[b-ni0gfnz6gt] { text-align: right; }

.status[b-ni0gfnz6gt] {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    padding: 3px 9px;
    border-radius: 3px;
    border: 1px solid;
}

.status.go[b-ni0gfnz6gt]      { background: #eef4e4; border-color: #cbdcac; color: #3f6209; }
.status.wait[b-ni0gfnz6gt]    { background: #fbf1dc; border-color: #ecd49f; color: #8d6008; }
.status.neutral[b-ni0gfnz6gt] { background: #f1f1ef; border-color: var(--rule); color: var(--ink-2); }

.update[b-ni0gfnz6gt] {
    font-size: 13px;
    margin-top: 8px;
    color: var(--ink);
}

.blocker[b-ni0gfnz6gt] {
    font-size: 12px;
    color: var(--ink-3);
    margin-top: 4px;
}

.row.lane-blocked .blocker[b-ni0gfnz6gt],
.row.lane-waitingoncustomer .blocker[b-ni0gfnz6gt] { color: var(--ink-2); }

/* ── states ── */

.empty[b-ni0gfnz6gt] {
    color: var(--ink-2);
    margin-top: 30px;
    font-size: 15px;
}

.err[b-ni0gfnz6gt] {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid #edc0ac;
    background: #fbe8e1;
    border-radius: 4px;
    font-size: 14px;
}

.err-inner[b-ni0gfnz6gt] { margin-top: 6px; font-size: 13px; color: var(--ink-2); }

@media (max-width: 780px) {
    .row[b-ni0gfnz6gt] { grid-template-columns: 1fr; gap: 12px; }
    .right[b-ni0gfnz6gt] { text-align: left; }
    .board-head[b-ni0gfnz6gt] { gap: 18px; }
    .board-head h1[b-ni0gfnz6gt] { font-size: 32px; }
}
/* /Components/Pages/Checkin.razor.rz.scp.css */
.checkin[b-h1irhhdvfo] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --rich-bg: #fbe9e2; --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;
    color: var(--ink); max-width: 760px; padding-bottom: 60px;
}

.mono[b-h1irhhdvfo] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }

.back[b-h1irhhdvfo] { display: inline-block; font-size: 13px; color: var(--ink-2);
        text-decoration: none; margin-bottom: 14px; }
.back:hover[b-h1irhhdvfo] { color: var(--ink); text-decoration: underline; }

.head[b-h1irhhdvfo] { padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.head h1[b-h1irhhdvfo] { font-size: 24px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-h1irhhdvfo] { color: var(--ink-2); font-size: 14px; margin: 4px 0 0; }
.sep[b-h1irhhdvfo] { margin: 0 7px; color: var(--ink-3); }

.intro[b-h1irhhdvfo] { font-size: 14px; color: var(--ink-2); margin: 14px 0 0; max-width: 56ch; }

.steps[b-h1irhhdvfo] {
    display: flex; flex-wrap: wrap; gap: 4px; list-style: none;
    margin: 18px 0 0; padding: 0 0 14px; border-bottom: 1px solid var(--rule);
}

.steps button[b-h1irhhdvfo] {
    font: inherit; font-size: 13px; padding: 5px 11px; border-radius: 999px;
    border: 1px solid transparent; background: none; color: var(--ink-3); cursor: pointer;
}
.steps button:disabled[b-h1irhhdvfo] { cursor: default; }
.steps .past button[b-h1irhhdvfo] { color: var(--lean); }
.steps .now button[b-h1irhhdvfo] { color: var(--ink); background: #fff;
                     border-color: var(--rule); font-weight: 500; }

section[b-h1irhhdvfo] { margin-top: 22px; display: flex; flex-direction: column; gap: 14px; }

label[b-h1irhhdvfo] { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.row[b-h1irhhdvfo] { display: flex; gap: 12px; flex-wrap: wrap; }
.narrow[b-h1irhhdvfo] { max-width: 130px; }
.k[b-h1irhhdvfo] { font-size: 13px; color: var(--ink-2); }

input[b-h1irhhdvfo], textarea[b-h1irhhdvfo], select[b-h1irhhdvfo] {
    font: inherit; padding: 8px 10px; border: 1px solid var(--rule);
    border-radius: 6px; background: #fff; width: 100%;
}
textarea[b-h1irhhdvfo] { resize: vertical; }

input:focus-visible[b-h1irhhdvfo], textarea:focus-visible[b-h1irhhdvfo], select:focus-visible[b-h1irhhdvfo] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.fine[b-h1irhhdvfo] { font-size: 12px; color: var(--ink-3); margin: 0; line-height: 1.5; }

/* ── zones ── */

.zone[b-h1irhhdvfo] {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 8px 12px;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid var(--rule);
    border-left: 3px solid var(--lean);
    border-radius: 6px;
    background: #fff;
}

.zone.flagged[b-h1irhhdvfo] { border-left-color: var(--rich); background: #fffaf8; }

.z-name[b-h1irhhdvfo] { font-size: 14px; font-weight: 500; }

.z-buttons[b-h1irhhdvfo] { display: flex; gap: 5px; }

.z-buttons button[b-h1irhhdvfo] {
    font: inherit; font-size: 13px; padding: 5px 12px;
    border: 1px solid var(--rule); border-radius: 5px;
    background: #fff; color: var(--ink-2); cursor: pointer;
}
.z-buttons button:hover[b-h1irhhdvfo] { border-color: var(--ink-3); }

.z-buttons button.on.ok[b-h1irhhdvfo]    { background: var(--lean-bg);   border-color: #cfe0ba; color: #43690e; }
.z-buttons button.on.minor[b-h1irhhdvfo] { background: var(--stoich-bg); border-color: #edd6a4; color: #96660a; }
.z-buttons button.on.major[b-h1irhhdvfo] { background: var(--rich-bg);   border-color: #f0c3b0; color: #a63514; }
.z-buttons button.on.na[b-h1irhhdvfo]    { background: #f4f4f1;          border-color: var(--rule); }

.z-note[b-h1irhhdvfo] { grid-column: 1 / -1; font-size: 14px; }

/* ── tri ── */

.tri[b-h1irhhdvfo] { display: flex; gap: 6px; }

.tri button[b-h1irhhdvfo] {
    font: inherit; font-size: 14px; padding: 8px 18px;
    border: 1px solid var(--rule); border-radius: 6px;
    background: #fff; color: var(--ink-2); cursor: pointer;
}

.tri button:hover:not(.on)[b-h1irhhdvfo] { border-color: var(--ink-3); color: var(--ink); }

.tri button:focus-visible[b-h1irhhdvfo] { outline: 2px solid var(--steel); outline-offset: 2px; }

/* Same three signals as the intake form — fill, weight and a tick. One
   subtle cue isn't enough on a phone screen in daylight. */
.tri button.on[b-h1irhhdvfo] {
    background: var(--steel); border-color: var(--steel);
    color: #fff; font-weight: 500;
}

.tri button.on[b-h1irhhdvfo]::before { content: "✓"; margin-right: 6px; font-size: 12px; }

/* ── checks ── */

.checks[b-h1irhhdvfo] { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 6px 14px; }
.check[b-h1irhhdvfo] { flex-direction: row !important; align-items: center; gap: 8px !important;
         font-size: 14px; cursor: pointer; }
.check input[b-h1irhhdvfo] { width: auto; }

/* ── photos ── */

.photos[b-h1irhhdvfo] {
    display: flex; flex-direction: column; gap: 8px;
    border: 1px solid var(--rule); border-radius: 6px;
    padding: 12px; background: #fcfcfa;
}

.photos input[type=file][b-h1irhhdvfo] { font-size: 13px; border: 0; padding: 0; background: none; }

.thumbs[b-h1irhhdvfo] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }

.thumb[b-h1irhhdvfo] { position: relative; width: 92px; height: 70px; }

.thumb img[b-h1irhhdvfo] {
    width: 100%; height: 100%; object-fit: cover;
    border-radius: 5px; border: 1px solid var(--rule);
}

.thumb .x[b-h1irhhdvfo] {
    position: absolute; top: -6px; right: -6px;
    width: 20px; height: 20px; padding: 0; line-height: 1;
    font-size: 14px; border-radius: 50%;
    border: 1px solid var(--rule); background: #fff;
    color: var(--ink-2); cursor: pointer;
}
.thumb .x:hover[b-h1irhhdvfo] { background: var(--rich-bg); color: var(--rich); border-color: #f0c3b0; }

/* ── acknowledgement ── */

.ack[b-h1irhhdvfo] {
    border: 1px solid var(--rule); border-radius: 6px;
    padding: 12px; background: #fcfcfa;
    display: flex; flex-direction: column; gap: 8px;
}

/* ── actions ── */

.actions[b-h1irhhdvfo] { display: flex; gap: 8px; margin-top: 26px;
           padding-top: 18px; border-top: 1px solid var(--rule); }

.btn[b-h1irhhdvfo] { font: inherit; font-weight: 500; padding: 9px 18px; border-radius: 6px;
       border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer; }
.btn:hover[b-h1irhhdvfo] { background: #29313d; }
.btn:disabled[b-h1irhhdvfo] { opacity: .5; cursor: default; }

.btn-ghost[b-h1irhhdvfo] { font: inherit; padding: 9px 16px; border-radius: 6px;
             border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer; }
.btn-ghost:hover[b-h1irhhdvfo] { border-color: var(--ink-3); }

.warn[b-h1irhhdvfo] { margin-top: 16px; font-size: 13px; padding: 9px 12px;
        background: var(--stoich-bg); border: 1px solid #edd6a4;
        border-radius: 6px; color: #96660a; }

.empty[b-h1irhhdvfo] { color: var(--ink-2); font-style: italic; }
.err[b-h1irhhdvfo] { margin: 16px 0; padding: 12px 14px; border: 1px solid #f0c3b0;
       background: #fbe9e2; border-radius: 6px; font-size: 14px; }
.err-inner[b-h1irhhdvfo] { margin-top: 6px; font-size: 13px; color: var(--ink-2); }
/* /Components/Pages/Clock.razor.rz.scp.css */
.clock[b-2yn12gkzl2] {
    --ink: #16181a; --ink-2: #55595e; --ink-3: #8b8f95;
    --rule: #d8d9d6; --rule-2: #e6e7e4;
    --rich: #cc4318; --stoich: #cf8b0c; --lean: #5b8f11; --steel: #2b3138;
    --lean-bg: #eef4e4; --stoich-bg: #fbf1dc;

    color: var(--ink);
    max-width: 640px;
    padding-bottom: 80px;
}

.mono[b-2yn12gkzl2] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace;
        font-variant-numeric: tabular-nums; }

.head[b-2yn12gkzl2] {
    display: flex; align-items: baseline; gap: 16px;
    padding-bottom: 16px; border-bottom: 2px solid var(--ink);
}

.head h1[b-2yn12gkzl2] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 36px; font-weight: 600; line-height: .95; margin: 0;
}

.today[b-2yn12gkzl2] { margin-left: auto; font-size: 13px; color: var(--ink-2); }

/* ── the punch ── */

.punch[b-2yn12gkzl2] {
    margin-top: 24px;
    border: 1px solid var(--rule);
    border-radius: 6px;
    background: #fff;
    padding: 20px 22px;
}

.state[b-2yn12gkzl2] { display: flex; align-items: center; gap: 10px; }

.pip[b-2yn12gkzl2] { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.state.on .pip[b-2yn12gkzl2]    { background: var(--lean); }
.state.lunch .pip[b-2yn12gkzl2] { background: var(--stoich); }
.state.off .pip[b-2yn12gkzl2]   { background: var(--ink-3); }

.state-text[b-2yn12gkzl2] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 24px; font-weight: 600;
}

.worked[b-2yn12gkzl2] { margin-left: auto; font-size: 15px; color: var(--ink-2); }

.buttons[b-2yn12gkzl2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
    margin-top: 18px;
}

/* Big targets. This gets used with dirty hands on a phone propped on a
   toolbox, not with a mouse. */
.punch-btn[b-2yn12gkzl2] {
    font: inherit; font-size: 15px; font-weight: 500;
    padding: 16px 12px;
    border-radius: 6px;
    border: 1px solid var(--rule);
    background: #fff; color: var(--ink-2);
    cursor: pointer;
}

.punch-btn:hover:not(:disabled)[b-2yn12gkzl2] { border-color: var(--steel); color: var(--ink); }

.punch-btn.primary[b-2yn12gkzl2] {
    background: var(--steel); border-color: var(--steel); color: #fff;
}
.punch-btn.primary:hover:not(:disabled)[b-2yn12gkzl2] { background: #1c2127; color: #fff; }

.punch-btn:disabled[b-2yn12gkzl2] { opacity: .35; cursor: default; }

/* ── sections ── */

section[b-2yn12gkzl2] { margin-top: 30px; }

h2[b-2yn12gkzl2] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 18px; font-weight: 600; margin: 0 0 12px;
    padding-bottom: 7px; border-bottom: 1px solid var(--rule);
}

.punches[b-2yn12gkzl2] { display: flex; flex-direction: column; }

.p-row[b-2yn12gkzl2] {
    display: flex; align-items: center; gap: 14px;
    padding: 9px 0; border-bottom: 1px solid var(--rule-2);
    font-size: 14px;
}

.p-row time[b-2yn12gkzl2] { min-width: 76px; color: var(--ink-2); }

.p-type[b-2yn12gkzl2] { font-weight: 500; }
.p-type.on[b-2yn12gkzl2]    { color: var(--lean); }
.p-type.lunch[b-2yn12gkzl2] { color: var(--stoich); }
.p-type.off[b-2yn12gkzl2]   { color: var(--ink-2); }

.p-note[b-2yn12gkzl2] { margin-left: auto; font-size: 12px; color: var(--ink-3); }

/* ── week ── */

.week[b-2yn12gkzl2] { display: flex; flex-direction: column; }

.w-row[b-2yn12gkzl2] {
    display: flex; align-items: baseline; gap: 14px;
    padding: 9px 0; border-bottom: 1px solid var(--rule-2);
    font-size: 14px;
}

.w-day[b-2yn12gkzl2] { min-width: 120px; }
.w-hours[b-2yn12gkzl2] { margin-left: auto; }

.w-row.open .w-hours[b-2yn12gkzl2] { color: var(--lean); }
.w-flag[b-2yn12gkzl2] { font-size: 12px; color: var(--lean); }

.w-row.total[b-2yn12gkzl2] {
    border-bottom: 0; border-top: 1px solid var(--rule);
    margin-top: 4px; padding-top: 12px; font-weight: 600;
}

.fine[b-2yn12gkzl2] { font-size: 12px; color: var(--ink-3); margin: 12px 0 0; line-height: 1.5; }
.empty[b-2yn12gkzl2] { color: var(--ink-2); font-style: italic; margin: 0; }

.err[b-2yn12gkzl2] {
    margin-top: 16px; padding: 12px 14px;
    border: 1px solid #edc0ac; background: #fbe8e1;
    border-radius: 4px; font-size: 14px;
}
/* /Components/Pages/CustomerQuote.razor.rz.scp.css */
.cq[b-bsytol79td] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;
    color: var(--ink);
}

.mono[b-bsytol79td] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }

.head[b-bsytol79td] {
    background: #fff; border: 1px solid var(--rule);
    border-radius: 10px 10px 0 0; border-bottom: 0;
    padding: 22px 24px 18px;
}

.brand[b-bsytol79td] { font-size: 12px; letter-spacing: .04em; color: var(--ink-3); margin-bottom: 10px; }
.head h1[b-bsytol79td] { font-size: 22px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-bsytol79td] { color: var(--ink-2); font-size: 14px; margin: 5px 0 0; }
.sep[b-bsytol79td] { margin: 0 7px; color: var(--ink-3); }

.lines[b-bsytol79td] {
    background: #fff; border: 1px solid var(--rule);
    border-radius: 0 0 10px 10px; padding: 4px 24px 20px;
}

.cat[b-bsytol79td] {
    font-size: 12px; color: var(--ink-3);
    margin: 18px 0 6px; padding-bottom: 5px;
    border-bottom: 1px solid var(--rule-2);
}

.line[b-bsytol79td] { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; font-size: 15px; }
.detail[b-bsytol79td] { font-size: 12px; color: var(--ink-3); margin-top: 2px; }
.amt[b-bsytol79td] { white-space: nowrap; }

.total-line[b-bsytol79td] { color: var(--ink-2); font-size: 14px; padding: 5px 0; }
.total-line:first-of-type[b-bsytol79td] { border-top: 1px solid var(--rule); margin-top: 12px; padding-top: 12px; }

.grand[b-bsytol79td] { font-weight: 600; font-size: 18px; border-top: 1px solid var(--rule); margin-top: 6px; padding-top: 12px; }

.fine[b-bsytol79td] { font-size: 12px; color: var(--ink-3); margin: 12px 2px 0; line-height: 1.5; }

.decide[b-bsytol79td] { display: flex; gap: 10px; margin-top: 20px; }

.btn[b-bsytol79td] {
    font: inherit; font-size: 15px; font-weight: 500;
    padding: 12px 24px; border-radius: 8px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn:hover[b-bsytol79td] { background: #29313d; }
.btn:disabled[b-bsytol79td] { opacity: .5; cursor: default; }

.btn-ghost[b-bsytol79td] {
    font: inherit; font-size: 15px; padding: 12px 20px; border-radius: 8px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost:hover[b-bsytol79td] { border-color: var(--ink-3); }

.banner[b-bsytol79td] {
    margin-top: 20px; padding: 13px 16px; border-radius: 8px;
    border: 1px solid var(--rule); background: #fff; font-size: 14px;
}
.ok-banner[b-bsytol79td] { background: var(--lean-bg); border-color: #cfe0ba; color: #43690e; }

.ok[b-bsytol79td] {
    margin-top: 18px; padding: 11px 14px; border-radius: 8px;
    background: var(--lean-bg); border: 1px solid #cfe0ba;
    color: #43690e; font-size: 14px;
}

/* ── payment ── */

.pay[b-bsytol79td] {
    margin-top: 18px; background: #fff;
    border: 1px solid var(--rule); border-radius: 10px; padding: 22px 24px;
}

.pay h2[b-bsytol79td] { font-size: 16px; font-weight: 600; margin: 0 0 10px; }
.pay p[b-bsytol79td] { font-size: 14px; margin: 0 0 12px; }

.due[b-bsytol79td] { color: var(--ink-2); }
.big[b-bsytol79td] { font-size: 26px; font-weight: 600; color: var(--ink); }

.method[b-bsytol79td] {
    border: 1px solid var(--rule); border-radius: 8px;
    padding: 14px 16px; margin-top: 12px;
}

.method.muted[b-bsytol79td] { background: #fafaf8; color: var(--ink-3); }
.m-name[b-bsytol79td] { font-weight: 500; margin-bottom: 6px; }

.foot[b-bsytol79td] {
    margin-top: 26px; text-align: center;
    font-size: 13px; color: var(--ink-3);
}

.gone[b-bsytol79td] { background: #fff; border: 1px solid var(--rule);
        border-radius: 10px; padding: 30px 26px; }
.gone h1[b-bsytol79td] { font-size: 20px; font-weight: 600; margin: 0 0 10px; }
.gone p[b-bsytol79td] { color: var(--ink-2); font-size: 14px; margin: 0; }

.empty[b-bsytol79td] { color: var(--ink-2); font-style: italic; }

.foot a[b-bsytol79td] { color: var(--steel); }
.foot-note[b-bsytol79td] { margin-top: 8px; }

.card-method[b-bsytol79td] { border-color: #cfe0ba; background: var(--lean-bg); }
.card-method .btn[b-bsytol79td] { width: 100%; margin-top: 4px; }
.bad[b-bsytol79td] { color: var(--rich); }
/* /Components/Pages/CustomerStatus.razor.rz.scp.css */
.cq[b-fdrnwnqy0n] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --rich-bg: #fbe9e2; --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.mono[b-fdrnwnqy0n] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }
.muted[b-fdrnwnqy0n] { color: var(--ink-3); }

.card[b-fdrnwnqy0n] {
    background: #fff;
    border: 1px solid var(--rule);
    border-radius: 10px;
    padding: 22px 24px;
}

.brand[b-fdrnwnqy0n] { font-size: 12px; letter-spacing: .04em; color: var(--ink-3); margin-bottom: 10px; }

.head h1[b-fdrnwnqy0n] { font-size: 22px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-fdrnwnqy0n] { color: var(--ink-2); font-size: 14px; margin: 5px 0 0; }
.sep[b-fdrnwnqy0n] { margin: 0 7px; color: var(--ink-3); }

.status-line[b-fdrnwnqy0n] {
    display: flex; align-items: center; gap: 9px;
    margin-top: 16px; padding-top: 14px;
    border-top: 1px solid var(--rule-2);
    font-size: 15px;
}

.pip[b-fdrnwnqy0n] { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.pip.go[b-fdrnwnqy0n] { background: var(--lean); }
.pip.wait[b-fdrnwnqy0n] { background: var(--stoich); }
.pip.neutral[b-fdrnwnqy0n] { background: var(--ink-3); }

.status[b-fdrnwnqy0n] { font-weight: 500; }
.since[b-fdrnwnqy0n] { color: var(--ink-3); font-size: 13px; margin-left: auto; }

h2[b-fdrnwnqy0n] { font-size: 15px; font-weight: 600; margin: 0 0 12px; }

/* ── waiting on you ── */

.needs[b-fdrnwnqy0n] { background: var(--stoich-bg); border-color: #edd6a4; }
.needs h2[b-fdrnwnqy0n] { color: #96660a; }
.needs ul[b-fdrnwnqy0n] { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; }
.needs li[b-fdrnwnqy0n] { font-size: 14px; }

/* ── progress ── */

.timeline[b-fdrnwnqy0n] { border-left: 2px solid var(--rule-2); padding-left: 15px;
            display: flex; flex-direction: column; gap: 16px; }

.entry time[b-fdrnwnqy0n] { font-size: 12px; color: var(--ink-3); display: block; }
.what[b-fdrnwnqy0n] { margin-top: 3px; font-size: 15px; }
.next[b-fdrnwnqy0n] { margin-top: 4px; font-size: 14px; color: var(--ink-2); }
.lbl[b-fdrnwnqy0n] { font-size: 11px; color: var(--ink-3); margin-right: 5px; }

/* ── money ── */

table[b-fdrnwnqy0n] { width: 100%; border-collapse: collapse; font-size: 14px; }
td[b-fdrnwnqy0n] { padding: 9px 0; border-bottom: 1px solid var(--rule-2); }
tr:last-child td[b-fdrnwnqy0n] { border-bottom: 0; }
.amt[b-fdrnwnqy0n] { text-align: right; white-space: nowrap; }
tr.due td[b-fdrnwnqy0n] { font-weight: 600; }

.tag[b-fdrnwnqy0n] {
    display: inline-block; margin-left: 8px;
    font-size: 11px; padding: 2px 8px; border-radius: 999px;
    border: 1px solid var(--rule); background: #f4f4f1; color: var(--ink-2);
}
.tag.good[b-fdrnwnqy0n] { background: var(--lean-bg); border-color: #cfe0ba; color: #43690e; }

/* ── condition ── */

.facts[b-fdrnwnqy0n] { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 20px; }
.facts > div[b-fdrnwnqy0n] { display: flex; flex-direction: column; }
.k[b-fdrnwnqy0n] { font-size: 12px; color: var(--ink-3); }

.noted[b-fdrnwnqy0n] { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rule-2); }
.noted ul[b-fdrnwnqy0n] { margin: 6px 0 0; padding-left: 18px; font-size: 14px;
            display: flex; flex-direction: column; gap: 3px; }

.foot[b-fdrnwnqy0n] { text-align: center; font-size: 13px; color: var(--ink-3); margin-top: 10px; }

.gone h1[b-fdrnwnqy0n] { font-size: 20px; font-weight: 600; margin: 0 0 10px; }
.gone p[b-fdrnwnqy0n] { color: var(--ink-2); font-size: 14px; margin: 0; }

.empty[b-fdrnwnqy0n] { color: var(--ink-2); font-style: italic; margin: 0; }

.done[b-fdrnwnqy0n] { margin-top: 6px; font-size: 14px; color: var(--ink-2); }

.parts[b-fdrnwnqy0n] { margin-top: 7px; font-size: 14px; }
.parts ul[b-fdrnwnqy0n] { margin: 3px 0 0; padding-left: 18px; color: var(--ink-2);
            display: flex; flex-direction: column; gap: 1px; }

.pay[b-fdrnwnqy0n] {
    font: inherit; font-size: 15px; font-weight: 500;
    width: 100%; margin-top: 16px;
    padding: 12px 20px; border-radius: 8px;
    border: 1px solid var(--steel); background: var(--steel);
    color: #fff; cursor: pointer;
}
.pay:hover[b-fdrnwnqy0n] { background: #29313d; }
.pay:disabled[b-fdrnwnqy0n] { opacity: .5; cursor: default; }

.pay-error[b-fdrnwnqy0n] { font-size: 13px; color: var(--rich); margin: 8px 0 0; }

.needs .act[b-fdrnwnqy0n] { color: #96660a; font-weight: 500; }

.shots[b-fdrnwnqy0n] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.shot[b-fdrnwnqy0n] {
    display: block; width: 104px; height: 80px;
    border-radius: 6px; overflow: hidden;
    border: 1px solid var(--rule); background: #f1f1ef;
}

.shot img[b-fdrnwnqy0n] { width: 100%; height: 100%; object-fit: cover; display: block; }
.shot:hover[b-fdrnwnqy0n] { border-color: var(--ink-3); }

.fine[b-fdrnwnqy0n] { font-size: 12px; color: var(--ink-3); margin: 8px 0 0; }
/* /Components/Pages/CustomerWaiver.razor.rz.scp.css */
.cq[b-onqvm99les] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --lean: #5f9414; --steel: #333c4a;
    --lean-bg: #eaf2df;
    color: var(--ink);
    display: flex; flex-direction: column; gap: 14px;
}

.mono[b-onqvm99les] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }

.card[b-onqvm99les] { background: #fff; border: 1px solid var(--rule);
        border-radius: 10px; padding: 22px 24px; }

.brand[b-onqvm99les] { font-size: 12px; letter-spacing: .04em; color: var(--ink-3); margin-bottom: 10px; }
h1[b-onqvm99les] { font-size: 22px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.lead[b-onqvm99les] { color: var(--ink-2); font-size: 14px; margin: 6px 0 0; }
.sep[b-onqvm99les] { margin: 0 7px; color: var(--ink-3); }

h2[b-onqvm99les] { font-size: 15px; font-weight: 600; margin: 0 0 14px; }

/* ── the document ── */

.doc[b-onqvm99les] { max-height: 380px; overflow-y: auto; }
.doc p[b-onqvm99les] { font-size: 13px; line-height: 1.6; color: var(--ink-2); margin: 0 0 14px; }
.doc p:first-child[b-onqvm99les] { font-weight: 600; color: var(--ink); }
.doc p:last-child[b-onqvm99les] { margin-bottom: 0; }

/* ── signing ── */

.sign[b-onqvm99les] { display: flex; flex-direction: column; gap: 14px; }

label[b-onqvm99les] { display: flex; flex-direction: column; gap: 4px; }
.k[b-onqvm99les] { font-size: 13px; color: var(--ink-2); }

input[b-onqvm99les] {
    font: inherit; padding: 9px 11px;
    border: 1px solid var(--rule); border-radius: 6px;
    background: #fff; width: 100%;
}

input:focus-visible[b-onqvm99les] { outline: 2px solid var(--steel); outline-offset: -1px;
                      border-color: var(--steel); }

.pad-wrap[b-onqvm99les] { position: relative; }

canvas[b-onqvm99les] {
    width: 100%;
    height: 170px;
    border: 1px dashed var(--rule);
    border-radius: 8px;
    background: #fcfcfa;
    touch-action: none;   /* stop the page scrolling while drawing */
    cursor: crosshair;
    display: block;
}

.clear[b-onqvm99les] {
    position: absolute; top: 8px; right: 8px;
    font: inherit; font-size: 12px;
    padding: 4px 10px; border-radius: 5px;
    border: 1px solid var(--rule); background: #fff;
    color: var(--ink-2); cursor: pointer;
}
.clear:hover[b-onqvm99les] { border-color: var(--ink-3); }

.fine[b-onqvm99les] { font-size: 12px; color: var(--ink-3); margin: 0; line-height: 1.5; }

.bad[b-onqvm99les] {
    font-size: 13px; margin: 0; padding: 9px 12px;
    background: #fbe9e2; border: 1px solid #f0c3b0;
    border-radius: 6px; color: #a63514;
}

.btn[b-onqvm99les] {
    font: inherit; font-size: 15px; font-weight: 500;
    padding: 12px 20px; border-radius: 8px;
    border: 1px solid var(--steel); background: var(--steel);
    color: #fff; cursor: pointer;
}
.btn:hover[b-onqvm99les] { background: #29313d; }
.btn:disabled[b-onqvm99les] { opacity: .5; cursor: default; }

.link[b-onqvm99les] { color: var(--steel); font-size: 14px; }

.foot[b-onqvm99les] { text-align: center; font-size: 13px; color: var(--ink-3); margin-top: 6px; }

.gone h1[b-onqvm99les] { font-size: 20px; margin-bottom: 10px; }
.gone p[b-onqvm99les] { color: var(--ink-2); font-size: 14px; margin: 0; }

.empty[b-onqvm99les] { color: var(--ink-2); font-style: italic; }
/* /Components/Pages/EditWorkLog.razor.rz.scp.css */
.editlog[b-d4whqx000j] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414; --steel: #333c4a;
    --rich-bg: #fbe9e2; --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;
    color: var(--ink); max-width: 700px; padding-bottom: 60px;
}

.back[b-d4whqx000j] { display: inline-block; font-size: 13px; color: var(--ink-2);
        text-decoration: none; margin-bottom: 14px; }
.back:hover[b-d4whqx000j] { color: var(--ink); text-decoration: underline; }

.head[b-d4whqx000j] { display: flex; align-items: flex-start; gap: 16px;
        padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.head h1[b-d4whqx000j] { font-size: 22px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-d4whqx000j] { color: var(--ink-2); font-size: 13px; margin: 4px 0 0; }
.sep[b-d4whqx000j] { margin: 0 6px; color: var(--ink-3); }

.badge[b-d4whqx000j] { margin-left: auto; font-size: 12px; padding: 3px 10px; border-radius: 999px;
         border: 1px solid var(--rule); background: #f4f4f1; color: var(--ink-2);
         white-space: nowrap; }
.badge.pub[b-d4whqx000j] { background: var(--lean-bg); border-color: #cfe0ba; color: #43690e; }

section[b-d4whqx000j] { margin-top: 22px; display: flex; flex-direction: column; gap: 14px; }

label[b-d4whqx000j] { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.row[b-d4whqx000j] { display: flex; gap: 12px; flex-wrap: wrap; }
.narrow[b-d4whqx000j] { max-width: 130px; }

.k[b-d4whqx000j] { font-size: 13px; color: var(--ink-2); }
.hint[b-d4whqx000j] { font-size: 12px; color: var(--ink-3); }

input[b-d4whqx000j], textarea[b-d4whqx000j] {
    font: inherit; padding: 8px 10px;
    border: 1px solid var(--rule); border-radius: 6px;
    background: #fff; width: 100%;
}
textarea[b-d4whqx000j] { resize: vertical; }

input:focus-visible[b-d4whqx000j], textarea:focus-visible[b-d4whqx000j] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.publish-block[b-d4whqx000j] {
    border: 1px solid var(--rule); border-radius: 6px;
    padding: 12px; background: #fff;
    display: flex; flex-direction: column; gap: 10px;
}
.publish-block.on[b-d4whqx000j] { background: var(--lean-bg); border-color: #cfe0ba; }

.check[b-d4whqx000j] { flex-direction: row !important; align-items: center; gap: 8px !important; }
.check input[b-d4whqx000j] { width: auto; }

.warn[b-d4whqx000j] { margin: 16px 0 0; font-size: 13px; padding: 9px 12px;
        background: var(--stoich-bg); border: 1px solid #edd6a4;
        border-radius: 6px; color: #96660a; }

.actions[b-d4whqx000j] { display: flex; gap: 8px; margin-top: 24px;
           padding-top: 18px; border-top: 1px solid var(--rule); }

.btn[b-d4whqx000j] { font: inherit; font-weight: 500; padding: 9px 18px; border-radius: 6px;
       border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer; }
.btn:hover[b-d4whqx000j] { background: #29313d; }
.btn:disabled[b-d4whqx000j] { opacity: .5; cursor: default; }

.btn-ghost[b-d4whqx000j] { font: inherit; padding: 9px 16px; border-radius: 6px;
             border: 1px solid var(--rule); background: #fff; color: var(--ink-2);
             cursor: pointer; text-decoration: none; display: inline-block; }
.btn-ghost:hover[b-d4whqx000j] { border-color: var(--ink-3); }

.btn-ghost.danger[b-d4whqx000j] { margin-left: auto; color: var(--rich); border-color: #f0c3b0; }
.btn-ghost.danger:hover[b-d4whqx000j] { background: var(--rich-bg); }

.empty[b-d4whqx000j] { color: var(--ink-2); font-style: italic; }
.err[b-d4whqx000j] { margin: 16px 0; padding: 12px 14px; border: 1px solid #f0c3b0;
       background: var(--rich-bg); border-radius: 6px; font-size: 14px; }
/* /Components/Pages/Intake.razor.rz.scp.css */
.intake[b-mx4e1v5gdr] {
    --ink: #14161b;
    --ink-2: #5b6069;
    --ink-3: #8d929b;
    --rule: #dcdcd6;
    --rule-2: #ebebe6;
    --rich: #d8481a;
    --stoich: #d99413;
    --lean: #5f9414;
    --steel: #333c4a;
    --lean-bg: #eaf2df;

    color: var(--ink);
    max-width: 680px;
    padding-bottom: 60px;
}

.head h1[b-mx4e1v5gdr] {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.015em;
    margin: 0;
}

.sub[b-mx4e1v5gdr] { color: var(--ink-2); font-size: 14px; margin: 6px 0 0; max-width: 52ch; }

/* ── step rail ── */

.steps[b-mx4e1v5gdr] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    list-style: none;
    margin: 22px 0 0;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--rule);
}

.steps button[b-mx4e1v5gdr] {
    font: inherit;
    font-size: 13px;
    padding: 5px 11px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: none;
    color: var(--ink-3);
    cursor: pointer;
}

.steps button:disabled[b-mx4e1v5gdr] { cursor: default; }

.steps .past button[b-mx4e1v5gdr] { color: var(--lean); }
.steps .past button:hover[b-mx4e1v5gdr] { background: var(--lean-bg); }

.steps .now button[b-mx4e1v5gdr] {
    color: var(--ink);
    background: #fff;
    border-color: var(--rule);
    font-weight: 500;
}

/* ── fields ── */

section[b-mx4e1v5gdr] {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

label[b-mx4e1v5gdr] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.row[b-mx4e1v5gdr] { display: flex; gap: 12px; flex-wrap: wrap; }

.narrow[b-mx4e1v5gdr] { max-width: 120px; }

.k[b-mx4e1v5gdr] { font-size: 13px; color: var(--ink-2); }

input[b-mx4e1v5gdr], textarea[b-mx4e1v5gdr], select[b-mx4e1v5gdr] {
    font: inherit;
    padding: 9px 11px;
    border: 1px solid var(--rule);
    border-radius: 6px;
    background: #fff;
    width: 100%;
}

textarea[b-mx4e1v5gdr] { resize: vertical; }

input:focus-visible[b-mx4e1v5gdr], textarea:focus-visible[b-mx4e1v5gdr], select:focus-visible[b-mx4e1v5gdr] {
    outline: 2px solid var(--steel);
    outline-offset: -1px;
    border-color: var(--steel);
}

/* ── yes / no / not sure ── */

.tri[b-mx4e1v5gdr] { display: flex; gap: 6px; }

.tri button[b-mx4e1v5gdr] {
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 18px;
    border: 1px solid var(--rule);
    border-radius: 6px;
    background: #fff;
    color: var(--ink-2);
    cursor: pointer;
}

.tri button:hover:not(.on)[b-mx4e1v5gdr] { border-color: var(--ink-3); color: var(--ink); }

.tri button:focus-visible[b-mx4e1v5gdr] {
    outline: 2px solid var(--steel);
    outline-offset: 2px;
}

/* Chosen state carries three signals, not one: fill, weight and a tick.
   Colour alone fails for anyone who can't distinguish it, and a single
   subtle cue is exactly what made this invisible on a phone in daylight. */
.tri button.on[b-mx4e1v5gdr] {
    background: var(--steel);
    border-color: var(--steel);
    color: #fff;
    font-weight: 500;
}

.tri button.on[b-mx4e1v5gdr]::before {
    content: "✓";
    margin-right: 6px;
    font-size: 12px;
}

/* ── multi-select ── */

.checks[b-mx4e1v5gdr] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 6px 14px;
}

.check[b-mx4e1v5gdr] {
    flex-direction: row !important;
    align-items: center;
    gap: 8px !important;
    font-size: 14px;
    cursor: pointer;
}

.check input[b-mx4e1v5gdr] { width: auto; }

/* ── consent blocks ── */

.consent[b-mx4e1v5gdr] {
    border: 1px solid var(--rule);
    border-radius: 6px;
    padding: 12px;
    background: #fcfcfa;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.fine[b-mx4e1v5gdr] {
    font-size: 12px;
    color: var(--ink-3);
    margin: 0;
    line-height: 1.5;
}

/* ── actions ── */

.actions[b-mx4e1v5gdr] {
    display: flex;
    gap: 8px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--rule);
}

.btn[b-mx4e1v5gdr] {
    font: inherit;
    font-weight: 500;
    padding: 9px 18px;
    border-radius: 6px;
    border: 1px solid var(--steel);
    background: var(--steel);
    color: #fff;
    cursor: pointer;
}

.btn:hover[b-mx4e1v5gdr] { background: #29313d; }
.btn:disabled[b-mx4e1v5gdr] { opacity: .5; cursor: default; }

.btn-ghost[b-mx4e1v5gdr] {
    font: inherit;
    padding: 9px 16px;
    border-radius: 6px;
    border: 1px solid var(--rule);
    background: #fff;
    color: var(--ink-2);
    cursor: pointer;
}

.btn-ghost:hover[b-mx4e1v5gdr] { border-color: var(--ink-3); }

.validation-message[b-mx4e1v5gdr] { font-size: 13px; color: var(--rich); }

.err[b-mx4e1v5gdr] {
    margin: 16px 0;
    padding: 12px 14px;
    border: 1px solid #f0c3b0;
    background: #fbe9e2;
    border-radius: 6px;
    font-size: 14px;
}

/* ── confirmation ── */

.done[b-mx4e1v5gdr] { padding-top: 20px; }
.done h1[b-mx4e1v5gdr] { font-size: 24px; font-weight: 600; margin: 0 0 10px; }
.done p[b-mx4e1v5gdr] { margin: 0 0 12px; }
.done .btn-ghost[b-mx4e1v5gdr] { margin-top: 10px; }
/* /Components/Pages/InvoiceBuilder.razor.rz.scp.css */
.invoice[b-tb26v45mn8] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --stoich-bg: #fbf1dd;
    color: var(--ink); max-width: 940px; padding-bottom: 60px;
}

.mono[b-tb26v45mn8] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }
.muted[b-tb26v45mn8] { color: var(--ink-3); }

.back[b-tb26v45mn8] { display: inline-block; font-size: 13px; color: var(--ink-2);
        text-decoration: none; margin-bottom: 14px; }
.back:hover[b-tb26v45mn8] { color: var(--ink); text-decoration: underline; }

.head[b-tb26v45mn8] { display: flex; align-items: flex-start; gap: 16px;
        padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.head h1[b-tb26v45mn8] { font-size: 24px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-tb26v45mn8] { color: var(--ink-2); font-size: 14px; margin: 4px 0 0; }
.sep[b-tb26v45mn8] { margin: 0 7px; color: var(--ink-3); }

.badge[b-tb26v45mn8] { margin-left: auto; font-size: 12px; padding: 3px 10px; border-radius: 999px;
         border: 1px solid var(--rule); background: #f4f4f1; color: var(--ink-2); }

.locked[b-tb26v45mn8] { margin-top: 16px; padding: 11px 14px; border-radius: 6px;
          background: var(--stoich-bg); border: 1px solid #edd6a4;
          color: #96660a; font-size: 14px; }

/* ── line grid ── */

.lines[b-tb26v45mn8] { margin-top: 22px; }

.lines-head[b-tb26v45mn8], .line[b-tb26v45mn8] {
    display: grid;
    grid-template-columns: 2.2fr 110px 84px 74px 64px 84px 96px 28px;
    gap: 8px;
    align-items: center;
}

.lines-head[b-tb26v45mn8] {
    font-size: 12px; color: var(--ink-3);
    padding-bottom: 7px; border-bottom: 1px solid var(--rule);
}

.lines-head .num[b-tb26v45mn8], .line .num[b-tb26v45mn8] { text-align: right; }

.line[b-tb26v45mn8] { padding: 7px 0; border-bottom: 1px solid var(--rule-2); }

.line input[b-tb26v45mn8], .line select[b-tb26v45mn8] {
    font: inherit; font-size: 14px; padding: 6px 9px;
    border: 1px solid var(--rule); border-radius: 5px; background: #fff; width: 100%;
}

.line input.num[b-tb26v45mn8] { text-align: right; }

.line input:focus-visible[b-tb26v45mn8], .line select:focus-visible[b-tb26v45mn8] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.line .total[b-tb26v45mn8] { font-weight: 500; }

.x[b-tb26v45mn8] {
    font: inherit; font-size: 17px; line-height: 1;
    width: 26px; height: 26px; padding: 0;
    border: 1px solid transparent; border-radius: 5px;
    background: none; color: var(--ink-3); cursor: pointer;
}
.x:hover[b-tb26v45mn8] { background: #fbe9e2; color: var(--rich); border-color: #f0c3b0; }

.add[b-tb26v45mn8] { display: flex; gap: 8px; margin-top: 12px; }

.btn-ghost-sm[b-tb26v45mn8] {
    font: inherit; font-size: 13px; padding: 6px 12px; border-radius: 5px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost-sm:hover[b-tb26v45mn8] { border-color: var(--ink-3); }

/* ── totals ── */

.totals[b-tb26v45mn8] { margin: 26px 0 0; margin-left: auto; max-width: 330px; }

.t-row[b-tb26v45mn8] { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
.t-row.sub-row[b-tb26v45mn8] { color: var(--ink-2); font-size: 13px; }
.t-row.grand[b-tb26v45mn8] {
    border-top: 1px solid var(--rule); margin-top: 5px; padding-top: 10px;
    font-weight: 600; font-size: 16px;
}

.warn[b-tb26v45mn8] { margin-top: 16px; font-size: 13px; padding: 9px 12px;
        background: var(--stoich-bg); border: 1px solid #edd6a4;
        border-radius: 6px; color: #96660a; }

.actions[b-tb26v45mn8] { display: flex; gap: 8px; margin-top: 26px;
           padding-top: 18px; border-top: 1px solid var(--rule); }

.btn[b-tb26v45mn8] {
    font: inherit; font-weight: 500; padding: 9px 18px; border-radius: 6px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn:hover[b-tb26v45mn8] { background: #29313d; }
.btn:disabled[b-tb26v45mn8] { opacity: .5; cursor: default; }

.btn-ghost[b-tb26v45mn8] {
    font: inherit; padding: 9px 16px; border-radius: 6px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost:hover[b-tb26v45mn8] { border-color: var(--ink-3); }

.empty[b-tb26v45mn8] { color: var(--ink-2); font-style: italic; }
.err[b-tb26v45mn8] { margin: 16px 0; padding: 12px 14px; border: 1px solid #f0c3b0;
       background: #fbe9e2; border-radius: 6px; font-size: 14px; }

/* ── invoice-specific ── */

.head[b-tb26v45mn8] { display: flex; align-items: flex-start; gap: 16px; }
.head-right[b-tb26v45mn8] { margin-left: auto; text-align: right; }
.head-right .num[b-tb26v45mn8] { font-size: 12px; color: var(--ink-3); margin-top: 5px; }

.badge.paid[b-tb26v45mn8] { background: var(--lean-bg); border-color: #cfe0ba; color: #43690e; }

.offer[b-tb26v45mn8] {
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
    margin-top: 20px; padding: 14px 16px;
    background: var(--lean-bg); border: 1px solid #cfe0ba;
    border-radius: 8px; font-size: 14px;
}
.offer .btn[b-tb26v45mn8] { margin-left: auto; }

.t-row.credit[b-tb26v45mn8] { color: var(--lean); }

.fine[b-tb26v45mn8] { font-size: 12px; color: var(--ink-3); margin: 10px 0 0; text-align: right; }

/* ── payments ── */

.payments[b-tb26v45mn8] { margin-top: 34px; }
.payments h2[b-tb26v45mn8] { font-size: 15px; font-weight: 600; margin: 0 0 12px;
               padding-bottom: 7px; border-bottom: 1px solid var(--rule); }

.payments table[b-tb26v45mn8] { width: 100%; border-collapse: collapse; font-size: 14px; }
.payments td[b-tb26v45mn8] { padding: 8px 0; border-bottom: 1px solid var(--rule-2); }
.payments .amt[b-tb26v45mn8] { text-align: right; }

.take[b-tb26v45mn8] { display: flex; align-items: flex-end; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.take label[b-tb26v45mn8] { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.take .narrow[b-tb26v45mn8] { max-width: 130px; }
.take .k[b-tb26v45mn8] { font-size: 12px; color: var(--ink-3); }

.take input[b-tb26v45mn8], .take select[b-tb26v45mn8] {
    font: inherit; font-size: 14px; padding: 7px 10px;
    border: 1px solid var(--rule); border-radius: 5px; background: #fff; width: 100%;
}

.btn-sm[b-tb26v45mn8] {
    font: inherit; font-size: 14px; font-weight: 500;
    padding: 8px 16px; border-radius: 5px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn-sm:hover[b-tb26v45mn8] { background: #29313d; }
.btn-sm:disabled[b-tb26v45mn8] { opacity: .5; cursor: default; }

.settled[b-tb26v45mn8] {
    margin-top: 14px; padding: 10px 14px; border-radius: 6px;
    background: var(--lean-bg); border: 1px solid #cfe0ba;
    color: #43690e; font-size: 14px;
}

.empty[b-tb26v45mn8] { color: var(--ink-2); font-style: italic; }
.err-inner[b-tb26v45mn8] { margin-top: 6px; font-size: 13px; color: var(--ink-2); }

.logs-offer[b-tb26v45mn8] { background: #f4f4f1; border-color: var(--rule); }
/* /Components/Pages/JobDetail.razor.rz.scp.css */
.detail[b-20mwsbzuds] {
    --ink: #14161b;
    --ink-2: #5b6069;
    --ink-3: #8d929b;
    --rule: #dcdcd6;
    --rule-2: #ebebe6;
    --rich: #d8481a;
    --stoich: #d99413;
    --lean: #5f9414;
    --steel: #333c4a;
    --rich-bg: #fbe9e2;
    --stoich-bg: #fbf1dd;
    --lean-bg: #eaf2df;

    color: var(--ink);
    max-width: 780px;
    padding-bottom: 60px;
}

.mono[b-20mwsbzuds] {
    font-family: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-variant-ligatures: none;
}

.back[b-20mwsbzuds] {
    display: inline-block;
    font-size: 13px;
    color: var(--ink-2);
    text-decoration: none;
    margin-bottom: 14px;
}

.back:hover[b-20mwsbzuds] { color: var(--ink); text-decoration: underline; }

.head[b-20mwsbzuds] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rule);
}

.head h1[b-20mwsbzuds] {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.015em;
    margin: 0;
}

.sub[b-20mwsbzuds] { color: var(--ink-2); font-size: 14px; margin: 4px 0 0; }
.sep[b-20mwsbzuds] { margin: 0 7px; color: var(--ink-3); }

.status[b-20mwsbzuds] {
    margin-left: auto;
    font-size: 13px;
    font-weight: 500;
    padding: 4px 11px;
    border-radius: 999px;
    border: 1px solid var(--rule);
    background: #f4f4f1;
    color: var(--ink-2);
    white-space: nowrap;
}

section[b-20mwsbzuds] { margin-top: 30px; }

h2[b-20mwsbzuds] {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 12px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--rule);
}

.facts[b-20mwsbzuds] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px 22px;
}

.facts > div[b-20mwsbzuds] { display: flex; flex-direction: column; }

.k[b-20mwsbzuds] { font-size: 12px; color: var(--ink-3); }
.v[b-20mwsbzuds] { margin-top: 1px; }

.note[b-20mwsbzuds] {
    margin-top: 14px;
    font-size: 14px;
    color: var(--ink-2);
}

.flag[b-20mwsbzuds] {
    margin-top: 8px;
    font-size: 14px;
    color: var(--rich);
}

/* ── work log ── */

.log[b-20mwsbzuds] { border-left: 2px solid var(--rule); padding-left: 16px; }

.entry[b-20mwsbzuds] {
    padding: 14px 0;
    border-bottom: 1px solid var(--rule-2);
}

.entry:last-child[b-20mwsbzuds] { border-bottom: 0; }

.entry-top[b-20mwsbzuds] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--ink-2);
    flex-wrap: wrap;
}

.who[b-20mwsbzuds] { font-weight: 500; color: var(--ink); }
time[b-20mwsbzuds] { color: var(--ink-3); }

.hours[b-20mwsbzuds] {
    font-size: 12px;
    color: var(--ink-3);
    border: 1px solid var(--rule);
    border-radius: 4px;
    padding: 1px 6px;
}

.vis[b-20mwsbzuds] {
    margin-left: auto;
    font: inherit;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid var(--rule);
    background: #fff;
    color: var(--ink-2);
    cursor: pointer;
    white-space: nowrap;
}

.vis:hover[b-20mwsbzuds] { border-color: var(--ink-3); }
.vis:disabled[b-20mwsbzuds] { opacity: .5; cursor: default; }
.vis.pub[b-20mwsbzuds] { background: var(--lean-bg); border-color: #cfe0ba; color: #43690e; }

.body[b-20mwsbzuds] { margin: 6px 0 0; }

.published[b-20mwsbzuds] {
    margin-top: 10px;
    padding: 9px 12px;
    background: var(--lean-bg);
    border-radius: 6px;
    font-size: 14px;
}

.published-label[b-20mwsbzuds] {
    font-size: 11px;
    color: #43690e;
    margin-bottom: 4px;
}

.published strong[b-20mwsbzuds] { font-weight: 500; }

.internal[b-20mwsbzuds] {
    margin-top: 10px;
    padding: 9px 12px;
    background: #f4f4f1;
    border-left: 2px solid var(--ink-3);
    border-radius: 0 6px 6px 0;
    font-size: 14px;
    color: var(--ink-2);
}

.internal-label[b-20mwsbzuds] {
    font-size: 11px;
    color: var(--ink-3);
    margin-bottom: 2px;
}

.parts[b-20mwsbzuds] {
    margin-top: 8px;
    font-size: 14px;
}

.parts .k[b-20mwsbzuds] { margin-right: 8px; }

/* ── money ── */

table[b-20mwsbzuds] { width: 100%; border-collapse: collapse; font-size: 14px; }
td[b-20mwsbzuds] { padding: 9px 0; border-bottom: 1px solid var(--rule-2); vertical-align: top; }
td:last-child[b-20mwsbzuds] { text-align: right; white-space: nowrap; }

tr.line td[b-20mwsbzuds] { color: var(--ink-2); padding-left: 18px; font-size: 13px; }

.pill[b-20mwsbzuds] {
    display: inline-block;
    margin-left: 8px;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid var(--rule);
    background: #f4f4f1;
    color: var(--ink-2);
}

.via[b-20mwsbzuds] { margin-left: 8px; font-size: 12px; color: var(--ink-3); }

.empty[b-20mwsbzuds] { color: var(--ink-2); font-style: italic; }

.err[b-20mwsbzuds] {
    margin: 16px 0;
    padding: 12px 14px;
    border: 1px solid #f0c3b0;
    background: #fbe9e2;
    border-radius: 6px;
    font-size: 14px;
}

/* ── logging work ── */

.btn[b-20mwsbzuds] {
    font: inherit;
    font-weight: 500;
    padding: 8px 15px;
    border-radius: 6px;
    border: 1px solid var(--steel);
    background: var(--steel);
    color: #fff;
    cursor: pointer;
}

.btn:hover[b-20mwsbzuds] { background: #29313d; }
.btn:disabled[b-20mwsbzuds] { opacity: .5; cursor: default; }

.btn-ghost[b-20mwsbzuds] {
    font: inherit;
    padding: 8px 14px;
    border-radius: 6px;
    border: 1px solid var(--rule);
    background: #fff;
    color: var(--ink-2);
    cursor: pointer;
}

.btn-ghost:hover[b-20mwsbzuds] { border-color: var(--ink-3); }

.composer[b-20mwsbzuds] {
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: 16px;
    background: #fcfcfa;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
}

.composer label[b-20mwsbzuds] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.composer .row[b-20mwsbzuds] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.composer .narrow[b-20mwsbzuds] { max-width: 130px; }

.composer input[b-20mwsbzuds],
.composer textarea[b-20mwsbzuds] {
    font: inherit;
    padding: 8px 10px;
    border: 1px solid var(--rule);
    border-radius: 6px;
    background: #fff;
    width: 100%;
}

.composer textarea[b-20mwsbzuds] { resize: vertical; }

.composer input:focus-visible[b-20mwsbzuds],
.composer textarea:focus-visible[b-20mwsbzuds] {
    outline: 2px solid var(--steel);
    outline-offset: -1px;
    border-color: var(--steel);
}

.hint[b-20mwsbzuds] {
    font-size: 12px;
    color: var(--ink-3);
    font-weight: 400;
    margin: 0;
}

.publish-block[b-20mwsbzuds] {
    border: 1px solid var(--rule);
    border-radius: 6px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #fff;
}

.publish-block.on[b-20mwsbzuds] {
    background: var(--lean-bg);
    border-color: #cfe0ba;
}

.check[b-20mwsbzuds] {
    flex-direction: row !important;
    align-items: center;
    gap: 8px !important;
}

.check input[b-20mwsbzuds] { width: auto; }

.warn[b-20mwsbzuds] {
    margin: 0;
    font-size: 13px;
    color: #96660a;
    background: var(--stoich-bg);
    border: 1px solid #edd6a4;
    border-radius: 6px;
    padding: 8px 11px;
}

.actions[b-20mwsbzuds] { display: flex; gap: 8px; }

.validation-message[b-20mwsbzuds] {
    font-size: 13px;
    color: var(--rich);
}

.err-inner[b-20mwsbzuds] {
    margin-top: 8px;
    font-size: 13px;
    color: var(--ink-2);
    font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace;
}

.parts ul[b-20mwsbzuds] {
    margin: 3px 0 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.edit[b-20mwsbzuds] {
    margin-left: auto;
    font-size: 12px;
    color: var(--ink-3);
    text-decoration: none;
    padding: 3px 8px;
    border-radius: 5px;
}
.edit:hover[b-20mwsbzuds] { color: var(--ink); background: var(--rule-2); }

/* the visibility button no longer needs to push itself right */
.vis[b-20mwsbzuds] { margin-left: 0; }

/* ── condition at drop-off ── */

.zones[b-20mwsbzuds] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }

.zone[b-20mwsbzuds] {
    font-size: 13px;
    padding: 5px 10px;
    border-radius: 4px;
    border: 1px solid var(--rule);
    background: #fff;
}

.zone b[b-20mwsbzuds] { font-weight: 500; margin-right: 5px; }

.zone.minor[b-20mwsbzuds] { border-color: #ecd49f; background: #fbf1dc; color: #8d6008; }
.zone.major[b-20mwsbzuds] { border-color: #edc0ac; background: #fbe8e1; color: #a1350f; }

.z-note[b-20mwsbzuds] { color: var(--ink-2); margin-left: 6px; }
.zone.minor .z-note[b-20mwsbzuds], .zone.major .z-note[b-20mwsbzuds] { color: inherit; opacity: .8; }

.shot-group[b-20mwsbzuds] { margin-top: 18px; }

.g-label[b-20mwsbzuds] { font-size: 12px; color: var(--ink-3); margin-bottom: 7px; }

.shots[b-20mwsbzuds] { display: flex; flex-wrap: wrap; gap: 8px; }

.shot[b-20mwsbzuds] {
    display: block;
    width: 116px;
    height: 88px;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid var(--rule);
    background: #f1f1ef;
}

.shot img[b-20mwsbzuds] { width: 100%; height: 100%; object-fit: cover; display: block; }

.shot:hover[b-20mwsbzuds] { border-color: var(--ink-3); }
.shot:focus-visible[b-20mwsbzuds] { outline: 2px solid var(--steel); outline-offset: 2px; }
/* /Components/Pages/Login.razor.rz.scp.css */
.cq[b-8kdnv14h23] { max-width: 400px; margin: 60px auto 0; }

.card[b-8kdnv14h23] {
    background: #fff;
    border: 1px solid #dcdcd6;
    border-radius: 10px;
    padding: 28px 26px;
}

.brand[b-8kdnv14h23] { font-size: 12px; letter-spacing: .04em; color: #8d929b; margin-bottom: 14px; }

h1[b-8kdnv14h23] { font-size: 20px; font-weight: 600; margin: 0 0 6px; letter-spacing: -.01em; }

.lead[b-8kdnv14h23] { font-size: 14px; color: #5b6069; margin: 0 0 18px; }

form[b-8kdnv14h23] { display: flex; flex-direction: column; gap: 14px; margin-top: 16px; }

label[b-8kdnv14h23] { display: flex; flex-direction: column; gap: 4px; }

.k[b-8kdnv14h23] { font-size: 13px; color: #5b6069; }

input[b-8kdnv14h23] {
    font: inherit;
    padding: 9px 11px;
    border: 1px solid #dcdcd6;
    border-radius: 6px;
    background: #fff;
    width: 100%;
}

input:focus-visible[b-8kdnv14h23] {
    outline: 2px solid #333c4a;
    outline-offset: -1px;
    border-color: #333c4a;
}

.fine[b-8kdnv14h23] { font-size: 12px; color: #8d929b; }

.bad[b-8kdnv14h23] {
    font-size: 13px;
    margin: 0;
    padding: 9px 12px;
    background: #fbe9e2;
    border: 1px solid #f0c3b0;
    border-radius: 6px;
    color: #a63514;
}

.btn[b-8kdnv14h23] {
    font: inherit;
    font-weight: 500;
    padding: 11px 18px;
    border-radius: 6px;
    border: 1px solid #333c4a;
    background: #333c4a;
    color: #fff;
    cursor: pointer;
    margin-top: 4px;
}

.btn:hover[b-8kdnv14h23] { background: #29313d; }
/* /Components/Pages/RequestReview.razor.rz.scp.css */
.review[b-70ubdxcyau] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --stoich-bg: #fbf1dd; --lean-bg: #eaf2df;
    color: var(--ink); max-width: 760px; padding-bottom: 60px;
}

.mono[b-70ubdxcyau] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }

.back[b-70ubdxcyau] { display: inline-block; font-size: 13px; color: var(--ink-2); text-decoration: none; margin-bottom: 14px; }
.back:hover[b-70ubdxcyau] { color: var(--ink); text-decoration: underline; }

.head[b-70ubdxcyau] { display: flex; align-items: flex-start; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.head h1[b-70ubdxcyau] { font-size: 24px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-70ubdxcyau] { color: var(--ink-2); font-size: 14px; margin: 4px 0 0; }
.sep[b-70ubdxcyau] { margin: 0 7px; color: var(--ink-3); }

.badge[b-70ubdxcyau] { margin-left: auto; font-size: 12px; padding: 3px 10px; border-radius: 999px;
         border: 1px solid var(--rule); background: #f4f4f1; color: var(--ink-2); white-space: nowrap; }
.badge.new[b-70ubdxcyau] { background: var(--stoich-bg); border-color: #edd6a4; color: #96660a; }

.converted[b-70ubdxcyau] { margin-top: 16px; padding: 11px 14px; border-radius: 6px;
             background: var(--lean-bg); border: 1px solid #cfe0ba; font-size: 14px; }

section[b-70ubdxcyau] { margin-top: 28px; }
h2[b-70ubdxcyau] { font-size: 15px; font-weight: 600; margin: 0 0 12px; padding-bottom: 7px; border-bottom: 1px solid var(--rule); }

.facts[b-70ubdxcyau] { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 13px 20px; }
.facts > div[b-70ubdxcyau] { display: flex; flex-direction: column; }
.k[b-70ubdxcyau] { font-size: 12px; color: var(--ink-3); }
.v[b-70ubdxcyau] { margin-top: 1px; }

.note[b-70ubdxcyau] { margin: 12px 0 0; font-size: 14px; color: var(--ink-2); }
.note .k[b-70ubdxcyau] { margin-right: 5px; }

.tags[b-70ubdxcyau] { display: flex; flex-wrap: wrap; gap: 6px; }
.tag[b-70ubdxcyau] { font-size: 13px; padding: 3px 10px; border-radius: 999px;
       border: 1px solid var(--rule); background: #fff; }

/* ── conversion ── */

.convert[b-70ubdxcyau] { border: 1px solid var(--rule); border-radius: 8px; padding: 18px; background: #fcfcfa; }
.convert h2[b-70ubdxcyau] { border-bottom: 0; padding-bottom: 0; margin-bottom: 14px; }

.matched[b-70ubdxcyau] { font-size: 13px; color: #96660a; margin: 4px 0 10px; }

.options[b-70ubdxcyau] { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 18px; }

.opt[b-70ubdxcyau] {
    display: flex; align-items: flex-start; gap: 10px;
    border: 1px solid var(--rule); border-radius: 6px;
    padding: 11px 13px; background: #fff; cursor: pointer;
}

.opt:hover[b-70ubdxcyau] { border-color: var(--ink-3); }
.opt.on[b-70ubdxcyau] { border-color: var(--steel); box-shadow: inset 0 0 0 1px var(--steel); }

.opt input[b-70ubdxcyau] { margin-top: 3px; }
.opt > span[b-70ubdxcyau] { display: flex; flex-direction: column; gap: 2px; }
.opt-name[b-70ubdxcyau] { font-weight: 500; }
.opt-meta[b-70ubdxcyau] { font-size: 12px; color: var(--ink-3); }
.opt-why[b-70ubdxcyau] { font-size: 12px; color: var(--lean); }

.row[b-70ubdxcyau] { display: flex; gap: 12px; flex-wrap: wrap; }
.row label[b-70ubdxcyau] { display: flex; flex-direction: column; gap: 4px; flex: 1; }

input[b-70ubdxcyau], select[b-70ubdxcyau] {
    font: inherit; padding: 8px 10px; border: 1px solid var(--rule);
    border-radius: 6px; background: #fff; width: 100%;
}

input:focus-visible[b-70ubdxcyau], select:focus-visible[b-70ubdxcyau] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.gates-note[b-70ubdxcyau] { font-size: 13px; color: var(--ink-2); margin: 14px 0 0; }

.actions[b-70ubdxcyau] { margin-top: 16px; }

.btn[b-70ubdxcyau] {
    font: inherit; font-weight: 500; padding: 9px 18px; border-radius: 6px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn:hover[b-70ubdxcyau] { background: #29313d; }
.btn:disabled[b-70ubdxcyau] { opacity: .5; cursor: default; }

.empty[b-70ubdxcyau] { color: var(--ink-2); font-style: italic; }

.err[b-70ubdxcyau] { margin: 16px 0; padding: 12px 14px; border: 1px solid #f0c3b0;
       background: #fbe9e2; border-radius: 6px; font-size: 14px; }
.err-inner[b-70ubdxcyau] { margin-top: 6px; font-size: 13px; color: var(--ink-2); }
/* /Components/Pages/Requests.razor.rz.scp.css */
.queue[b-0x8sy1g90s] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --stoich: #d99413; --stoich-bg: #fbf1dd;
    --steel: #333c4a;
    color: var(--ink); max-width: 900px; padding-bottom: 60px;
}

.mono[b-0x8sy1g90s] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }

.head[b-0x8sy1g90s] { padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.head h1[b-0x8sy1g90s] { font-size: 24px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-0x8sy1g90s] { color: var(--ink-2); font-size: 14px; margin: 4px 0 0; }
.sep[b-0x8sy1g90s] { margin: 0 6px; color: var(--ink-3); }

.list[b-0x8sy1g90s] { display: flex; flex-direction: column; margin-top: 6px; }

.row[b-0x8sy1g90s] {
    display: grid;
    grid-template-columns: 1.2fr 1.4fr auto;
    gap: 16px;
    align-items: center;
    padding: 14px 12px;
    border-bottom: 1px solid var(--rule-2);
    border-left: 3px solid transparent;
    text-decoration: none;
    color: inherit;
}

.row:hover[b-0x8sy1g90s] { background: #fafaf8; }
.row.is-new[b-0x8sy1g90s] { border-left-color: var(--stoich); }

.name[b-0x8sy1g90s] { font-weight: 500; }
.contact[b-0x8sy1g90s] { font-size: 12px; color: var(--ink-3); margin-top: 2px; }
.want[b-0x8sy1g90s] { font-size: 13px; color: var(--ink-2); margin-top: 2px; }

.when[b-0x8sy1g90s] { text-align: right; }
.when time[b-0x8sy1g90s] { display: block; font-size: 12px; color: var(--ink-3); margin-top: 4px; }

.badge[b-0x8sy1g90s] {
    font-size: 12px; padding: 2px 9px; border-radius: 999px;
    border: 1px solid var(--rule); background: #f4f4f1; color: var(--ink-2);
}

.badge.new[b-0x8sy1g90s] { background: var(--stoich-bg); border-color: #edd6a4; color: #96660a; }

.empty[b-0x8sy1g90s] { color: var(--ink-2); font-style: italic; margin-top: 24px; }
/* /Components/Pages/Search.razor.rz.scp.css */
.search[b-ojbewb2n8y] {
    --ink: #16181a; --ink-2: #55595e; --ink-3: #8b8f95;
    --rule: #d8d9d6; --rule-2: #e6e7e4;
    --lean: #5b8f11; --steel: #2b3138;

    color: var(--ink);
    max-width: 860px;
    padding-bottom: 80px;
}

.mono[b-ojbewb2n8y] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }
.dim[b-ojbewb2n8y] { color: var(--ink-3); }

.head[b-ojbewb2n8y] { padding-bottom: 16px; border-bottom: 2px solid var(--ink); }

.head h1[b-ojbewb2n8y] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 36px; font-weight: 600; line-height: .95; margin: 0;
}

/* ── the field ── */

.field[b-ojbewb2n8y] { position: relative; margin-top: 20px; }

.field input[b-ojbewb2n8y] {
    font: inherit;
    font-size: 19px;
    width: 100%;
    padding: 14px 44px 14px 16px;
    border: 1px solid var(--rule);
    border-radius: 6px;
    background: #fff;
}

.field input:focus-visible[b-ojbewb2n8y] {
    outline: 2px solid var(--steel);
    outline-offset: -1px;
    border-color: var(--steel);
}

.clear[b-ojbewb2n8y] {
    position: absolute; right: 10px; top: 50%;
    transform: translateY(-50%);
    font: inherit; font-size: 22px; line-height: 1;
    width: 30px; height: 30px; padding: 0;
    border: 0; border-radius: 50%;
    background: none; color: var(--ink-3); cursor: pointer;
}
.clear:hover[b-ojbewb2n8y] { background: var(--rule-2); color: var(--ink); }

.fine[b-ojbewb2n8y] { font-size: 12px; color: var(--ink-3); margin: 8px 2px 0; }

/* ── results ── */

section[b-ojbewb2n8y] { margin-top: 30px; }

h2[b-ojbewb2n8y] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 18px; font-weight: 600;
    margin: 0 0 8px;
    display: flex; align-items: center; gap: 8px;
}

.count[b-ojbewb2n8y] {
    font-family: Barlow, sans-serif;
    font-size: 12px; font-weight: 400; color: var(--ink-3);
    border: 1px solid var(--rule); border-radius: 999px; padding: 1px 8px;
}

.rows[b-ojbewb2n8y] { display: flex; flex-direction: column; }

.row[b-ojbewb2n8y] {
    display: flex; align-items: center; gap: 18px;
    padding: 13px 12px;
    border-bottom: 1px solid var(--rule-2);
    border-left: 3px solid transparent;
    text-decoration: none; color: inherit;
    background: #fff;
}

.row:first-child[b-ojbewb2n8y] { border-top: 1px solid var(--rule-2); }
.row:hover[b-ojbewb2n8y] { background: #fbfbfa; border-left-color: var(--lean); }
.row:focus-visible[b-ojbewb2n8y] { outline: 2px solid var(--steel); outline-offset: -2px; }

.main[b-ojbewb2n8y] { min-width: 0; flex: 1; }

.title[b-ojbewb2n8y] { font-weight: 500; }
.sub[b-ojbewb2n8y] { font-size: 13px; color: var(--ink-2); margin-top: 2px; }

.meta[b-ojbewb2n8y] {
    display: flex; align-items: center; gap: 10px;
    font-size: 12px; text-align: right;
    white-space: nowrap;
}

.pill[b-ojbewb2n8y] {
    font-size: 11px; padding: 2px 8px;
    border-radius: 999px; border: 1px solid var(--rule);
    background: #f4f4f1; color: var(--ink-2);
}

.empty[b-ojbewb2n8y] { color: var(--ink-2); font-style: italic; margin-top: 26px; }
/* /Components/Pages/Staff.razor.rz.scp.css */
.staff[b-g8hx0sat0c] {
    --ink: #16181a; --ink-2: #55595e; --ink-3: #8b8f95;
    --rule: #d8d9d6; --rule-2: #e6e7e4;
    --rich: #cc4318; --stoich: #cf8b0c; --lean: #5b8f11; --steel: #2b3138;
    --lean-bg: #eef4e4; --stoich-bg: #fbf1dc; --rich-bg: #fbe8e1;

    color: var(--ink);
    max-width: 780px;
    padding-bottom: 80px;
}

.mono[b-g8hx0sat0c] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }

.head[b-g8hx0sat0c] {
    display: flex; align-items: baseline; gap: 16px;
    padding-bottom: 16px; border-bottom: 2px solid var(--ink);
}

.head h1[b-g8hx0sat0c] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 36px; font-weight: 600; line-height: .95; margin: 0;
}

.btn[b-g8hx0sat0c] {
    margin-left: auto; font: inherit; font-weight: 500;
    padding: 9px 16px; border-radius: 4px;
    border: 1px solid var(--steel); background: var(--steel);
    color: #fff; cursor: pointer;
}
.btn:hover[b-g8hx0sat0c] { background: #1c2127; }
.btn:disabled[b-g8hx0sat0c] { opacity: .5; cursor: default; }

.btn-ghost[b-g8hx0sat0c] {
    font: inherit; padding: 9px 16px; border-radius: 4px;
    border: 1px solid var(--rule); background: #fff;
    color: var(--ink-2); cursor: pointer;
}
.btn-ghost:hover[b-g8hx0sat0c] { border-color: var(--ink-3); }

.btn-sm[b-g8hx0sat0c] {
    font: inherit; font-size: 13px; font-weight: 500;
    padding: 7px 13px; border-radius: 4px;
    border: 1px solid var(--steel); background: var(--steel);
    color: #fff; cursor: pointer;
}
.btn-sm:hover[b-g8hx0sat0c] { background: #1c2127; }

.btn-ghost-sm[b-g8hx0sat0c] {
    font: inherit; font-size: 13px;
    padding: 6px 12px; border-radius: 4px;
    border: 1px solid var(--rule); background: #fff;
    color: var(--ink-2); cursor: pointer;
}
.btn-ghost-sm:hover[b-g8hx0sat0c] { border-color: var(--ink-3); }
.btn-ghost-sm:disabled[b-g8hx0sat0c] { opacity: .4; cursor: default; }
.btn-ghost-sm.danger[b-g8hx0sat0c] { color: var(--rich); border-color: #edc0ac; }
.btn-ghost-sm.danger:hover[b-g8hx0sat0c] { background: var(--rich-bg); }

/* ── add panel ── */

.panel[b-g8hx0sat0c] {
    margin-top: 20px; padding: 18px 20px;
    border: 1px solid var(--rule); border-radius: 6px;
    background: #fcfcfa;
    display: flex; flex-direction: column; gap: 14px;
}

.panel h2[b-g8hx0sat0c] {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 18px; font-weight: 600; margin: 0;
}

label[b-g8hx0sat0c] { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.row[b-g8hx0sat0c] { display: flex; gap: 12px; flex-wrap: wrap; }
.narrow[b-g8hx0sat0c] { max-width: 150px; }

.k[b-g8hx0sat0c] { font-size: 13px; color: var(--ink-2); }
.hint[b-g8hx0sat0c] { font-size: 12px; color: var(--ink-3); }

input[b-g8hx0sat0c], select[b-g8hx0sat0c] {
    font: inherit; padding: 8px 10px;
    border: 1px solid var(--rule); border-radius: 5px;
    background: #fff; width: 100%;
}

input:focus-visible[b-g8hx0sat0c], select:focus-visible[b-g8hx0sat0c] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.withbtn[b-g8hx0sat0c] { display: flex; gap: 8px; }

.actions[b-g8hx0sat0c] { display: flex; gap: 8px; }

/* ── list ── */

.list[b-g8hx0sat0c] { display: flex; flex-direction: column; margin-top: 22px; }

.row-item[b-g8hx0sat0c] {
    display: grid;
    grid-template-columns: 1fr 150px auto;
    gap: 14px;
    align-items: center;
    padding: 14px 4px;
    border-bottom: 1px solid var(--rule-2);
}

.row-item.inactive[b-g8hx0sat0c] { opacity: .55; }

.name[b-g8hx0sat0c] { font-weight: 500; }

.you[b-g8hx0sat0c] {
    font-size: 11px; font-weight: 400;
    margin-left: 7px; padding: 1px 7px;
    border-radius: 999px; border: 1px solid var(--rule);
    color: var(--ink-3);
}

.email[b-g8hx0sat0c] { font-size: 12px; color: var(--ink-3); margin-top: 2px; }

.role-fixed[b-g8hx0sat0c] { font-size: 14px; color: var(--ink-2); }

.acts[b-g8hx0sat0c] { display: flex; gap: 6px; }

.reset[b-g8hx0sat0c] {
    grid-column: 1 / -1;
    display: flex; gap: 8px; align-items: center;
    padding-top: 10px;
}

.reset input[b-g8hx0sat0c] { flex: 1; }

/* ── messages ── */

.ok[b-g8hx0sat0c] {
    margin-top: 16px; padding: 9px 12px; font-size: 13px;
    background: var(--lean-bg); border: 1px solid #cbdcac;
    border-radius: 5px; color: #3f6209;
}

.warn[b-g8hx0sat0c] {
    margin-top: 16px; padding: 9px 12px; font-size: 13px;
    background: var(--stoich-bg); border: 1px solid #ecd49f;
    border-radius: 5px; color: #8d6008;
}

.note[b-g8hx0sat0c] {
    margin-top: 16px; font-size: 14px; color: var(--ink-2);
}

.fine[b-g8hx0sat0c] { font-size: 12px; color: var(--ink-3); margin: 16px 0 0; line-height: 1.5; }
/* /Components/QuoteBuilder.razor.rz.scp.css */
.quote[b-bmqy3qhlc5] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414;
    --steel: #333c4a;
    --stoich-bg: #fbf1dd;
    color: var(--ink); max-width: 940px; padding-bottom: 60px;
}

.mono[b-bmqy3qhlc5] { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }
.muted[b-bmqy3qhlc5] { color: var(--ink-3); }

.back[b-bmqy3qhlc5] { display: inline-block; font-size: 13px; color: var(--ink-2);
        text-decoration: none; margin-bottom: 14px; }
.back:hover[b-bmqy3qhlc5] { color: var(--ink); text-decoration: underline; }

.head[b-bmqy3qhlc5] { display: flex; align-items: flex-start; gap: 16px;
        padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
.head h1[b-bmqy3qhlc5] { font-size: 24px; font-weight: 600; letter-spacing: -.015em; margin: 0; }
.sub[b-bmqy3qhlc5] { color: var(--ink-2); font-size: 14px; margin: 4px 0 0; }
.sep[b-bmqy3qhlc5] { margin: 0 7px; color: var(--ink-3); }

.badge[b-bmqy3qhlc5] { margin-left: auto; font-size: 12px; padding: 3px 10px; border-radius: 999px;
         border: 1px solid var(--rule); background: #f4f4f1; color: var(--ink-2); }

.locked[b-bmqy3qhlc5] { margin-top: 16px; padding: 11px 14px; border-radius: 6px;
          background: var(--stoich-bg); border: 1px solid #edd6a4;
          color: #96660a; font-size: 14px; }

/* ── line grid ── */

.lines[b-bmqy3qhlc5] { margin-top: 22px; }

.lines-head[b-bmqy3qhlc5], .line[b-bmqy3qhlc5] {
    display: grid;
    grid-template-columns: 2.2fr 110px 84px 74px 64px 84px 96px 28px;
    gap: 8px;
    align-items: center;
}

.lines-head[b-bmqy3qhlc5] {
    font-size: 12px; color: var(--ink-3);
    padding-bottom: 7px; border-bottom: 1px solid var(--rule);
}

.lines-head .num[b-bmqy3qhlc5], .line .num[b-bmqy3qhlc5] { text-align: right; }

.line[b-bmqy3qhlc5] { padding: 7px 0; border-bottom: 1px solid var(--rule-2); }

.line input[b-bmqy3qhlc5], .line select[b-bmqy3qhlc5] {
    font: inherit; font-size: 14px; padding: 6px 9px;
    border: 1px solid var(--rule); border-radius: 5px; background: #fff; width: 100%;
}

.line input.num[b-bmqy3qhlc5] { text-align: right; }

.line input:focus-visible[b-bmqy3qhlc5], .line select:focus-visible[b-bmqy3qhlc5] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}

.line .total[b-bmqy3qhlc5] { font-weight: 500; }

.x[b-bmqy3qhlc5] {
    font: inherit; font-size: 17px; line-height: 1;
    width: 26px; height: 26px; padding: 0;
    border: 1px solid transparent; border-radius: 5px;
    background: none; color: var(--ink-3); cursor: pointer;
}
.x:hover[b-bmqy3qhlc5] { background: #fbe9e2; color: var(--rich); border-color: #f0c3b0; }

.add[b-bmqy3qhlc5] { display: flex; gap: 8px; margin-top: 12px; }

.btn-ghost-sm[b-bmqy3qhlc5] {
    font: inherit; font-size: 13px; padding: 6px 12px; border-radius: 5px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost-sm:hover[b-bmqy3qhlc5] { border-color: var(--ink-3); }

/* ── totals ── */

.totals[b-bmqy3qhlc5] { margin: 26px 0 0; margin-left: auto; max-width: 330px; }

.t-row[b-bmqy3qhlc5] { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14px; }
.t-row.sub-row[b-bmqy3qhlc5] { color: var(--ink-2); font-size: 13px; }
.t-row.grand[b-bmqy3qhlc5] {
    border-top: 1px solid var(--rule); margin-top: 5px; padding-top: 10px;
    font-weight: 600; font-size: 16px;
}

.warn[b-bmqy3qhlc5] { margin-top: 16px; font-size: 13px; padding: 9px 12px;
        background: var(--stoich-bg); border: 1px solid #edd6a4;
        border-radius: 6px; color: #96660a; }

.actions[b-bmqy3qhlc5] { display: flex; gap: 8px; margin-top: 26px;
           padding-top: 18px; border-top: 1px solid var(--rule); }

.btn[b-bmqy3qhlc5] {
    font: inherit; font-weight: 500; padding: 9px 18px; border-radius: 6px;
    border: 1px solid var(--steel); background: var(--steel); color: #fff; cursor: pointer;
}
.btn:hover[b-bmqy3qhlc5] { background: #29313d; }
.btn:disabled[b-bmqy3qhlc5] { opacity: .5; cursor: default; }

.btn-ghost[b-bmqy3qhlc5] {
    font: inherit; padding: 9px 16px; border-radius: 6px;
    border: 1px solid var(--rule); background: #fff; color: var(--ink-2); cursor: pointer;
}
.btn-ghost:hover[b-bmqy3qhlc5] { border-color: var(--ink-3); }

.empty[b-bmqy3qhlc5] { color: var(--ink-2); font-style: italic; }
.err[b-bmqy3qhlc5] { margin: 16px 0; padding: 12px 14px; border: 1px solid #f0c3b0;
       background: #fbe9e2; border-radius: 6px; font-size: 14px; }
/* /Components/StatusPanel.razor.rz.scp.css */
.status-panel[b-b7d78gme1r] {
    --ink: #14161b; --ink-2: #5b6069; --ink-3: #8d929b;
    --rule: #dcdcd6; --rule-2: #ebebe6;
    --rich: #d8481a; --stoich: #d99413; --lean: #5f9414; --steel: #333c4a;
    --stoich-bg: #fbf1dd;
    color: var(--ink);
    margin-top: 30px;
}

.status-panel h2[b-b7d78gme1r] {
    font-size: 15px; font-weight: 600; margin: 0 0 12px;
    padding-bottom: 7px; border-bottom: 1px solid var(--rule);
}

.now[b-b7d78gme1r] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.pip[b-b7d78gme1r] { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.pip.go[b-b7d78gme1r] { background: var(--lean); }
.pip.wait[b-b7d78gme1r] { background: var(--stoich); }
.pip.done[b-b7d78gme1r] { background: var(--steel); }
.pip.off[b-b7d78gme1r] { background: var(--ink-3); }

.label[b-b7d78gme1r] { font-weight: 500; }

.moves[b-b7d78gme1r] { display: flex; gap: 6px; margin-left: auto; flex-wrap: wrap; }

.move[b-b7d78gme1r] {
    font: inherit; font-size: 13px;
    padding: 6px 12px; border-radius: 5px;
    border: 1px solid var(--rule); background: #fff;
    color: var(--ink-2); cursor: pointer;
}
.move:hover[b-b7d78gme1r] { border-color: var(--steel); color: var(--ink); }

.move.off[b-b7d78gme1r] {
    opacity: .45;
    cursor: not-allowed;
    border-style: dashed;
}

.terminal[b-b7d78gme1r] { color: var(--ink-3); font-size: 13px; margin-left: auto; }

.warn[b-b7d78gme1r] {
    margin: 12px 0 0; font-size: 13px; padding: 9px 12px;
    background: var(--stoich-bg); border: 1px solid #edd6a4;
    border-radius: 6px; color: #96660a;
}

.history[b-b7d78gme1r] {
    margin-top: 18px; padding-top: 14px;
    border-top: 1px solid var(--rule-2);
    display: flex; flex-direction: column; gap: 9px;
}

.h-row[b-b7d78gme1r] {
    display: grid;
    grid-template-columns: 130px 1fr auto;
    gap: 10px;
    font-size: 13px;
    align-items: baseline;
}

.h-row time[b-b7d78gme1r] { color: var(--ink-3); }
.h-move[b-b7d78gme1r] { color: var(--ink-2); }
.h-move strong[b-b7d78gme1r] { color: var(--ink); font-weight: 500; }
.h-who[b-b7d78gme1r] { color: var(--ink-3); }

.h-note[b-b7d78gme1r] {
    grid-column: 2 / -1;
    color: var(--ink-2);
    font-style: italic;
}

.note-field[b-b7d78gme1r] { display: flex; flex-direction: column; gap: 4px; margin-top: 14px; }
.note-field .k[b-b7d78gme1r] { font-size: 13px; color: var(--ink-2); }
.note-field .hint[b-b7d78gme1r] { font-size: 12px; color: var(--ink-3); }

.note-field input[b-b7d78gme1r] {
    font: inherit; padding: 8px 10px;
    border: 1px solid var(--rule); border-radius: 5px; background: #fff;
}
.note-field input:focus-visible[b-b7d78gme1r] {
    outline: 2px solid var(--steel); outline-offset: -1px; border-color: var(--steel);
}
