@import '_content/Microsoft.AspNetCore.Components.QuickGrid/Microsoft.AspNetCore.Components.QuickGrid.bundle.scp.css';

/* /Components/Layout/AppBar.razor.rz.scp.css */
.ab-attendance[b-r1q1y3oblt] {
    position: relative;
}

.ab-attendance-trigger[b-r1q1y3oblt] {
    border: 1px solid rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .1);
}

.ab-attendance-trigger:hover[b-r1q1y3oblt],
.ab-attendance-trigger.active[b-r1q1y3oblt] {
    border-color: rgba(255, 255, 255, .65);
    background: rgba(255, 255, 255, .2);
}

.ab-attendance-trigger i[b-r1q1y3oblt] {
    font-size: 1rem;
    font-weight: 700;
}

.ab-attendance-backdrop[b-r1q1y3oblt] {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: start center;
    padding: 2.1rem 1rem 1rem;
    background: rgba(0, 0, 0, .47);
}

.ab-attendance-modal[b-r1q1y3oblt] {
    width: min(500px, calc(100vw - 2rem));
    overflow: hidden;
    border: 1px solid #c9d3dd;
    border-radius: .38rem;
    background: #fff;
    color: #263e51;
    box-shadow: 0 .85rem 2.5rem rgba(10, 31, 50, .28);
}

.ab-attendance-modal header[b-r1q1y3oblt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 3.35rem;
    padding: .7rem .9rem;
    border-bottom: 1px solid #d6dee6;
    background: #fff;
}

.ab-attendance-modal h2[b-r1q1y3oblt] {
    margin: 0;
    color: var(--brand-navy, #285eaa);
    font-size: 1rem;
    font-weight: 700;
}

.ab-attendance-modal header button[b-r1q1y3oblt] {
    display: grid;
    place-items: center;
    width: 1.45rem;
    height: 1.45rem;
    border: 0;
    border-radius: .18rem;
    background: #f3444c;
    color: #fff;
    font-size: .72rem;
}

.ab-attendance-form[b-r1q1y3oblt] {
    display: grid;
    grid-template-columns: 157px 157px;
    column-gap: 5.5rem;
    row-gap: .2rem;
    padding: 1rem .9rem 1rem;
}

.ab-attendance-field[b-r1q1y3oblt] {
    min-width: 0;
}

.ab-attendance-field label[b-r1q1y3oblt] {
    display: block;
    margin-bottom: .12rem;
    color: #42566a;
    font-size: .73rem;
    line-height: 1.15;
}

.ab-attendance-field .form-control[b-r1q1y3oblt] {
    min-height: 1.6rem;
    height: 1.6rem;
    border: 1px solid #aeb8c2;
    border-radius: .2rem;
    padding: .18rem .45rem;
    background: #edf0f3;
    color: #5e6d7b;
    font-size: .75rem;
}

.ab-attendance-field.remarks[b-r1q1y3oblt] {
    grid-column: 1 / -1;
    width: 329px;
}

.ab-attendance-field.remarks .form-control[b-r1q1y3oblt] {
    min-height: 1.9rem;
    height: 1.9rem;
    resize: none;
    background: #fff;
}

.ab-attendance-save-row[b-r1q1y3oblt] {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    padding-top: .05rem;
}

.ab-attendance-save[b-r1q1y3oblt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 80px;
    min-height: 1.72rem;
    border: 1px solid var(--brand-navy, #285eaa);
    border-radius: .28rem;
    background: var(--brand-navy, #285eaa);
    color: #fff;
    font-size: .73rem;
    font-weight: 750;
}

.ab-attendance-save:disabled[b-r1q1y3oblt] {
    border-color: #aebdca;
    background: #aebdca;
    cursor: not-allowed;
}

.ab-attendance-state[b-r1q1y3oblt],
.ab-attendance-error[b-r1q1y3oblt] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    min-height: 8rem;
    padding: 1rem;
    color: #647a8e;
    font-size: .75rem;
    text-align: center;
}

.ab-attendance-error[b-r1q1y3oblt] {
    color: #b42318;
}

.ab-attendance-note[b-r1q1y3oblt] {
    grid-column: 1 / -1;
    display: block;
    color: #a05f00;
    font-size: .67rem;
    text-align: center;
}

@media (max-width: 560px) {
    .ab-attendance-backdrop[b-r1q1y3oblt] {
        padding-top: .75rem;
    }

    .ab-attendance-form[b-r1q1y3oblt] {
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .ab-attendance-field.remarks[b-r1q1y3oblt],
    .ab-attendance-save-row[b-r1q1y3oblt],
    .ab-attendance-note[b-r1q1y3oblt] {
        grid-column: 1;
        width: auto;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-d0jsncqpy4] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}
#blazor-error-ui .dismiss[b-d0jsncqpy4] { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-e0f83uhkzl],
.components-reconnect-repeated-attempt-visible[b-e0f83uhkzl],
.components-reconnect-failed-visible[b-e0f83uhkzl],
.components-pause-visible[b-e0f83uhkzl],
.components-resume-failed-visible[b-e0f83uhkzl],
.components-rejoining-animation[b-e0f83uhkzl] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-retrying[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-failed[b-e0f83uhkzl],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-e0f83uhkzl] {
    display: block;
}


#components-reconnect-modal[b-e0f83uhkzl] {
    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-e0f83uhkzl 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-e0f83uhkzl 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-e0f83uhkzl 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-e0f83uhkzl]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-e0f83uhkzl 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-e0f83uhkzl {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-e0f83uhkzl {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-e0f83uhkzl {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-e0f83uhkzl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-e0f83uhkzl] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-e0f83uhkzl] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-e0f83uhkzl] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-e0f83uhkzl] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-e0f83uhkzl] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-e0f83uhkzl] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-e0f83uhkzl 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-e0f83uhkzl] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-e0f83uhkzl {
    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/AcmeStockLedger/AcmeStockLedger.razor.rz.scp.css */
/* Acme Stock Ledger.
   Same shell as CategorySetup/UnitSetup/ProductSetup: blue-gray workspace, white cards, blue-tinted
   card head, HNBG palette values reused verbatim so the admin screens are indistinguishable in chrome.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-yleznehe6w]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-yleznehe6w],.admin-list-card[b-yleznehe6w]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-yleznehe6w]{padding:1rem;margin-bottom:1rem}

.admin-field label[b-yleznehe6w]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field .form-control[b-yleznehe6w]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-yleznehe6w]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}

/* ---- Toolbar: preset picker + load button ---- */
.ledger-toolbar[b-yleznehe6w]{display:flex;align-items:flex-end;gap:1rem}
.ledger-toolbar .admin-field[b-yleznehe6w]{min-width:220px}
.ledger-hint[b-yleznehe6w]{font-size:.7rem;color:#8a97a8;margin:.6rem 0 0}

.pw-error[b-yleznehe6w]{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem .75rem;margin-bottom:.8rem;border-radius:9px;background:#fff1f2;color:#9f1239;font-size:.75rem;line-height:1.35}
.pw-error i[b-yleznehe6w]{font-size:.95rem;flex-shrink:0;margin-top:.05rem}

/* ---- List head ---- */
.admin-list-head[b-yleznehe6w]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-yleznehe6w]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-yleznehe6w]{font-size:.68rem;color:var(--text-muted)}

/* ---- Table -- wide (13 columns), so the container scrolls horizontally rather than the page ---- */
.admin-list-card .table-responsive[b-yleznehe6w]{max-height:65vh;overflow:auto}
.table[b-yleznehe6w]{font-size:.72rem;margin:0;white-space:nowrap}
.table thead th[b-yleznehe6w]{position:sticky;top:0;z-index:1}
.table th[b-yleznehe6w]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-yleznehe6w]{vertical-align:middle;color:#334155}

/* ---- Empty state ---- */
.ss-empty[b-yleznehe6w]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center;white-space:normal}
.ss-empty i[b-yleznehe6w]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-yleznehe6w]{font-size:.78rem;color:#475569}
.ss-empty span[b-yleznehe6w]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:650px){
  .admin-page[b-yleznehe6w]{padding:.75rem}
  .ledger-toolbar[b-yleznehe6w]{flex-direction:column;align-items:stretch}
  .ledger-toolbar .admin-field[b-yleznehe6w]{min-width:0}
}
/* /Components/Pages/Administration/ApprovalFlowSetup.razor.rz.scp.css */
/* Scoped CSS is per-component, so the admin-* system is repeated here rather than inherited -- the
   same duplication DepartmentSetup.razor.css carries, and for the same reason. */
.admin-page[b-hjz1o22i42]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-list-card[b-hjz1o22i42]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
/* Three per row, every field one cell: an empty cell or a double-width one leaves a gap that reads
   as a missing field. */
.admin-form-grid[b-hjz1o22i42]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1.1rem;align-items:start}
.admin-field label[b-hjz1o22i42]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.25rem}
.admin-field b[b-hjz1o22i42]{color:#dc3545}
.admin-field-wide[b-hjz1o22i42]{grid-column:span 2}
.admin-field .form-control[b-hjz1o22i42],.admin-field .form-select[b-hjz1o22i42]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field textarea.form-control[b-hjz1o22i42]{min-height:52px}
.admin-field .form-control:focus[b-hjz1o22i42],.admin-field .form-select:focus[b-hjz1o22i42],.admin-search input:focus[b-hjz1o22i42]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-hjz1o22i42]{display:flex;align-items:center;gap:.55rem;min-height:36px;margin-top:1.3rem;font-size:.74rem;font-weight:700;color:#475569}
.admin-list-head[b-hjz1o22i42]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
/* 750 is the weight the flow titles on the cards below already use -- the heading above them should
   not read lighter than the things it names. */
.admin-list-head h2[b-hjz1o22i42]{font-size:.9rem;color:var(--brand-navy);margin:0;font-weight:750}
.admin-list-head span[b-hjz1o22i42]{font-size:.68rem;color:var(--text-muted);font-weight:700}
.admin-list-tools[b-hjz1o22i42]{display:flex;align-items:center;gap:.6rem}
.admin-search[b-hjz1o22i42]{position:relative}
.admin-search i[b-hjz1o22i42]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-hjz1o22i42]{border:1px solid #ccd8e6;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px;background-color:#fbfdff}
.ds-add[b-hjz1o22i42]{display:inline-flex;align-items:center;white-space:nowrap;font-weight:700}
.type-pill[b-hjz1o22i42]{display:inline-flex;align-items:center;gap:.25rem;background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-hjz1o22i42]{background:#f1f5f9;color:#64748b}
/* Loud, because a running approval freezing the route is the one thing that makes an edit fail. */
.type-pill.warn[b-hjz1o22i42]{background:#fdecc8;color:#8a5a0b}
.row-actions[b-hjz1o22i42]{display:flex;gap:.2rem}
.row-actions button[b-hjz1o22i42]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-hjz1o22i42]{color:#dc3545}

/* ---- Flow list ---- */
.flow-list[b-hjz1o22i42]{padding:.6rem}
.flow-card[b-hjz1o22i42]{border:1px solid #e2eaf3;border-radius:11px;margin-bottom:.65rem;overflow:hidden;background:#fff}
.flow-card:last-child[b-hjz1o22i42]{margin-bottom:0}
.flow-card.is-off[b-hjz1o22i42]{opacity:.72}
.flow-head[b-hjz1o22i42]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title actions" "sub actions";gap:.15rem .6rem;align-items:center;padding:.6rem .8rem;background:#f2f7fd;border-bottom:1px solid #e2eaf3}
.flow-title[b-hjz1o22i42]{grid-area:title;display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;min-width:0}
.flow-title strong[b-hjz1o22i42]{color:#1d3f72;font-size:.83rem;font-weight:750}
.flow-icon[b-hjz1o22i42]{color:#2f6fbd;font-size:.95rem;align-self:center}
/* The chosen icon shown beside the picker, because a name in a dropdown does not tell you what the
   card will look like. */
.icon-pick[b-hjz1o22i42]{display:flex;align-items:center;gap:.45rem}
.icon-pick .form-select[b-hjz1o22i42]{flex:1;min-width:0}
.icon-preview[b-hjz1o22i42]{display:inline-grid;place-items:center;width:36px;height:36px;flex:0 0 auto;
  border:1px solid #ccd8e6;border-radius:8px;background:#f2f7fd;color:#2f6fbd;font-size:1rem}

/* ---- Roles and staff: a SET, not a choice. Checkboxes in a wrapping grid keep the whole chosen
       set visible while the person picks the staff underneath it, which a multi-select list does
       not. ---- */
/* ---- Multi-select dropdown: a closed control that opens a tick list.
       A native <select multiple> is always open and scrolls its own selection out of sight, which is
       why this is built rather than borrowed. ---- */
.ms[b-hjz1o22i42]{position:relative}
.ms-toggle[b-hjz1o22i42]{display:flex;align-items:center;gap:.5rem;width:100%;min-height:36px;
  padding:.36rem .6rem;font-size:.78rem;text-align:left;color:#334155;
  background:#fbfdff;border:1px solid #ccd8e6;border-radius:8px;cursor:pointer}
.ms-toggle:hover:not(:disabled)[b-hjz1o22i42]{border-color:#89b4e0}
.ms-toggle:focus[b-hjz1o22i42]{outline:0;border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.ms-toggle:disabled[b-hjz1o22i42]{opacity:.6;cursor:not-allowed}
.ms-toggle > span[b-hjz1o22i42]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ms-toggle .bi[b-hjz1o22i42]{flex:0 0 auto;color:#7b8798;font-size:.7rem}
.ms-placeholder[b-hjz1o22i42]{color:#93a2b5}
/* Sits above the panel in stacking order but below it visually: the next click anywhere closes the
   dropdown, which is what a real one does. */
.ms-backdrop[b-hjz1o22i42]{position:fixed;inset:0;z-index:40}
.ms-panel[b-hjz1o22i42]{position:absolute;z-index:41;top:calc(100% + 4px);left:0;right:0;max-height:240px;
  overflow-y:auto;padding:.3rem;background:#fff;border:1px solid #cbd8e6;border-radius:8px;
  box-shadow:0 10px 26px rgba(29,62,104,.16)}
.ms-option[b-hjz1o22i42]{display:flex;align-items:center;gap:.45rem;padding:.34rem .45rem;border-radius:6px;
  font-size:.75rem;color:#334155;cursor:pointer}
.ms-option:hover[b-hjz1o22i42]{background:#eef4fb}
.ms-option input[b-hjz1o22i42]{flex:0 0 auto;margin:0}
.ms-option > span[b-hjz1o22i42]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ms-option small[b-hjz1o22i42]{flex:0 0 auto;color:#93a2b5;font-size:.64rem}
/* A role nobody holds would raise a task with no possible reader; the API refuses it, and this is
   where that is visible before the save. */
.ms-option.is-empty small[b-hjz1o22i42]{color:#8a5a0b;font-weight:700}

/* The deadline is one value split across two controls, so they sit on one line. */
.deadline-pick[b-hjz1o22i42]{display:flex;align-items:center;gap:.45rem}
.deadline-pick .form-control[b-hjz1o22i42]{flex:0 0 84px}
.deadline-pick .form-select[b-hjz1o22i42]{flex:1;min-width:0}
.flow-title code[b-hjz1o22i42]{color:#075985;font-size:.66rem}
.flow-sub[b-hjz1o22i42]{grid-area:sub;display:flex;gap:.9rem;font-size:.65rem;color:#7b8798}
.flow-head .row-actions[b-hjz1o22i42]{grid-area:actions}
.stage-empty[b-hjz1o22i42]{display:flex;align-items:center;gap:.5rem;padding:.75rem .85rem;font-size:.69rem;color:#7b8798}
.stage-empty .bi[b-hjz1o22i42]{color:#a9c0da;font-size:.95rem}

/* ---- The chain. Cards joined by arrows: the shape of the process, not a table. ----
   The rows SNAKE. The first runs left to right, the next runs right to left, and so on. Laying every
   row out left to right made the turn a lie: the arrow left the last card of a row and the stage it
   pointed at was at the far END of the line below. Reversing alternate rows puts the next stage
   directly UNDERNEATH the one before it, so the arrow that turns down points at the card it means.
   Six cards to a row, and that six is shared with ChainRowSize in the component: the markup decides
   which cards share a row, so this cannot be free to disagree with it. The floor on the columns is
   what makes a narrow page scroll instead of re-wrapping into rows the markup never agreed to. */
.chain[b-hjz1o22i42]{display:flex;flex-direction:column;gap:1.5rem;padding:.75rem;overflow-x:auto}
.chain-row[b-hjz1o22i42]{display:grid;grid-template-columns:repeat(6,minmax(118px,1fr));gap:.9rem}
/* The return rows are laid out right to left. Only the ORDER reverses -- the cards are set back to
   ltr so nothing inside them changes. */
.chain-row.is-rtl[b-hjz1o22i42]{direction:rtl}
.chain-row.is-rtl > .chain-card[b-hjz1o22i42]{direction:ltr}
.chain-preview[b-hjz1o22i42]{background:#fbfdff}
.chain-builder[b-hjz1o22i42]{background:#f7fafe;border:1px solid #e4ecf6;border-radius:11px}
.chain-card[b-hjz1o22i42]{position:relative;min-height:96px;display:flex;flex-direction:column;gap:.2rem;text-align:left;
  background:#fff;border:1px solid #dbe5f0;border-radius:10px;padding:.45rem .5rem;box-shadow:0 2px 6px rgba(29,62,104,.05)}

/* The connector into a card, drawn as a chevron in the gap beside it. It belongs to the card that
   FOLLOWS it, so dropping it from the first card of a row is all the row logic needed. */
.chain-card[b-hjz1o22i42]::before{content:'';position:absolute;left:-.66rem;top:50%;width:.42rem;height:.42rem;
  border-top:2px solid #a9bed6;border-right:2px solid #a9bed6;transform:translateY(-50%) rotate(45deg)}
/* On a return row the chain runs the other way, so the connector moves to the other side and points
   back the way the row reads. */
.chain-row.is-rtl > .chain-card[b-hjz1o22i42]::before{left:auto;right:-.66rem;
  border-top:0;border-right:0;border-bottom:2px solid #a9bed6;border-left:2px solid #a9bed6}
/* Nothing flows INTO the first card of a row: the arrow above it already did that. */
.chain-row > .chain-card:first-child[b-hjz1o22i42]::before{display:none}
/* The turn. The next stage sits directly below this card, which is the whole point of the snake, so
   the arrow drops straight down between the two. */
.chain-card.is-turn[b-hjz1o22i42]::after{content:'';position:absolute;left:50%;bottom:-1.05rem;width:.46rem;height:.46rem;
  border-right:2px solid #a9bed6;border-bottom:2px solid #a9bed6;transform:translateX(-50%) rotate(45deg)}
.chain-card.is-start[b-hjz1o22i42]{border-color:#4ec08a;box-shadow:0 0 0 2px rgba(78,192,138,.22)}
.chain-card.is-end[b-hjz1o22i42]{border-color:#9b8ede;box-shadow:0 0 0 2px rgba(155,142,222,.2)}
.chain-card.is-clickable[b-hjz1o22i42]{cursor:pointer;transition:border-color .12s,box-shadow .12s}
.chain-card.is-clickable:hover[b-hjz1o22i42]{border-color:#89b4e0}
.chain-card.is-selected[b-hjz1o22i42]{border-color:#2f6fbd;box-shadow:0 0 0 2px rgba(47,111,189,.24)}
.cc-top[b-hjz1o22i42]{display:flex;align-items:center;gap:.25rem}
/* The stage number. Once the chain wraps, position is no longer readable from the layout alone. */
.cc-no[b-hjz1o22i42]{flex:0 0 auto;display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 .2rem;
  border-radius:5px;background:#e6effa;color:#1d3f72;font-size:.55rem;font-weight:800}
.cc-lock[b-hjz1o22i42]{margin-left:auto}
.cc-badge[b-hjz1o22i42]{display:inline-flex;align-items:center;gap:.2rem;border-radius:999px;padding:.1rem .38rem;font-size:.55rem;font-weight:800}
.cc-badge.is-start[b-hjz1o22i42]{background:#e3f6ec;color:#1c7a4f}
.cc-badge.is-work[b-hjz1o22i42]{background:#eaf1fb;color:#2a5a96}
.cc-badge.is-auto[b-hjz1o22i42]{background:#fdf0d8;color:#8a5a0b}
.cc-badge.is-end[b-hjz1o22i42]{background:#eae6fb;color:#4b3a8f}
.cc-lock[b-hjz1o22i42]{color:#c98a12;font-size:.7rem}
.cc-name[b-hjz1o22i42]{color:#1d3f72;font-size:.73rem;font-weight:750;line-height:1.25}
.cc-desc[b-hjz1o22i42]{margin:0;color:#6d7d92;font-size:.62rem;line-height:1.35;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* The pipeline step this stage stands for. Quieter than the roles beneath it: it answers "what is
   this stage in the order pipeline", which is context, while the roles are the operative answer. */
.cc-step[b-hjz1o22i42]{display:inline-flex;align-items:center;gap:.22rem;align-self:flex-start;max-width:100%;
  border-radius:5px;padding:.08rem .3rem;background:#f1f5fa;color:#5a7292;
  font-size:.55rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-step .bi[b-hjz1o22i42]{font-size:.6rem}
.cc-foot[b-hjz1o22i42]{color:#93a2b5;font-size:.55rem;font-weight:800;letter-spacing:.03em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* The dashed card at the end of the chain: adding a stage is part of the chain, not a separate act. */
.chain-card.is-add[b-hjz1o22i42]{align-items:center;justify-content:center;gap:.25rem;border-style:dashed;border-color:#a9c0da;
  background:#f4f9ff;color:#2f6fbd;font-size:.68rem;font-weight:700;cursor:pointer}
.chain-card.is-add:hover:not(:disabled)[b-hjz1o22i42]{background:#e9f2fe;border-color:#2f6fbd}
.chain-card.is-add:disabled[b-hjz1o22i42]{opacity:.5;cursor:not-allowed}
.chain-card.is-add .bi[b-hjz1o22i42]{font-size:1.1rem}
/* The standing rule about send-back, stated where the chain is, because that is where it applies. */
.chain-note[b-hjz1o22i42]{margin:0 .85rem .85rem;padding:.5rem .7rem;background:#fef8e7;border:1px solid #f2e2b8;border-radius:8px;
  color:#7c5310;font-size:.67rem;line-height:1.5}
.chain-note b[b-hjz1o22i42]{color:#5f3f0a}

/* ---- Builder ---- */
.builder-head[b-hjz1o22i42]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.85rem}
.builder-head h2[b-hjz1o22i42]{flex:1;min-width:0;margin:0;font-size:1rem;color:var(--brand-navy);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.builder-actions[b-hjz1o22i42]{display:flex;gap:.5rem}
.builder-card[b-hjz1o22i42]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;padding:.8rem .95rem;margin-bottom:.7rem;
  box-shadow:0 6px 20px rgba(29,62,104,.06)}
.builder-card .chain[b-hjz1o22i42]{padding:.85rem 0}
.builder-card .chain-note[b-hjz1o22i42]{margin:0}
.builder-section[b-hjz1o22i42]{display:flex;align-items:center;gap:.5rem;margin:0 0 .55rem;font-size:.8rem;color:#1d3f72;font-weight:750}
.builder-section small[b-hjz1o22i42]{font-weight:500;color:#7b8798;font-size:.66rem}
.stage-tools[b-hjz1o22i42]{margin-left:auto;display:flex;gap:.3rem}
.stage-tools .btn[b-hjz1o22i42]{padding:.15rem .45rem;font-size:.72rem;border-color:#cbd8e6}
.stage-tools .btn.danger[b-hjz1o22i42]{color:#dc3545}
.builder-hint[b-hjz1o22i42]{display:flex;align-items:center;gap:.5rem;color:#7b8798;font-size:.7rem}
.builder-hint .bi[b-hjz1o22i42]{color:#a9c0da}

/* ---- Inline delete confirm and the live-approval notice ---- */
.mt-confirm[b-hjz1o22i42],.mt-blocked[b-hjz1o22i42]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45}
.mt-confirm[b-hjz1o22i42]{background:#fdf2f2;color:#8a2a2a;border-top:1px solid #e8edf3}
.mt-confirm .bi[b-hjz1o22i42]{color:#c0392b}
.mt-confirm b[b-hjz1o22i42]{color:#6d1f1f}
.mt-blocked[b-hjz1o22i42]{background:#fef8e7;color:#7c5310;border:1px solid #f2e2b8;border-radius:8px;margin-bottom:.85rem}
.mt-blocked .bi[b-hjz1o22i42]{color:#c98a12}
.mt-confirm span[b-hjz1o22i42],.mt-blocked span[b-hjz1o22i42]{flex:1;min-width:0}
.mc-yes[b-hjz1o22i42],.mc-no[b-hjz1o22i42]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-hjz1o22i42]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-hjz1o22i42]{background:#a83226}
.mc-yes:disabled[b-hjz1o22i42]{opacity:.6;cursor:default}
.mc-no[b-hjz1o22i42]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-hjz1o22i42]{background:#f1f5f9}


/* With nothing seeded, the empty state is the first thing everybody sees, so it teaches. */
.ds-empty[b-hjz1o22i42]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-hjz1o22i42]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-hjz1o22i42]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-hjz1o22i42]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

@media(max-width:900px){
  .admin-form-grid[b-hjz1o22i42]{grid-template-columns:1fr 1fr}
  .admin-field-wide[b-hjz1o22i42]{grid-column:span 2}
}
@media(max-width:650px){
  .admin-page[b-hjz1o22i42]{padding:.75rem}
  .admin-list-head[b-hjz1o22i42]{flex-direction:column;gap:.75rem}
  .admin-form-grid[b-hjz1o22i42]{grid-template-columns:1fr}
  .admin-field-wide[b-hjz1o22i42]{grid-column:span 1}
  .admin-search[b-hjz1o22i42],.admin-search input[b-hjz1o22i42]{width:100%}
  .admin-list-tools[b-hjz1o22i42]{flex-direction:column;align-items:stretch;width:100%}
  .ds-add[b-hjz1o22i42]{justify-content:center}
  .flow-head[b-hjz1o22i42]{grid-template-columns:1fr;grid-template-areas:"title" "sub" "actions"}
  .builder-actions[b-hjz1o22i42]{width:100%}
  .builder-actions .btn[b-hjz1o22i42]{flex:1}
}
/* /Components/Pages/Administration/ClientSetup.razor.rz.scp.css */
/* Client Setup.
   Same shell as SupplierSetup, RoleSetup, OfficeSetup and DesignationSetup: blue-gray workspace,
   white cards, blue-tinted card head, HNBG palette values reused verbatim so the admin screens are
   indistinguishable in chrome. The client-specific pieces are prefixed .cl-.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-37rlnfaf2x]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-37rlnfaf2x],.admin-list-card[b-37rlnfaf2x]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-form-card[b-37rlnfaf2x]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-37rlnfaf2x]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-37rlnfaf2x]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field label small[b-37rlnfaf2x]{font-weight:600;color:#94a3b8;text-transform:none;letter-spacing:0}
.admin-field b[b-37rlnfaf2x]{color:#dc3545}
.admin-field .form-control[b-37rlnfaf2x]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-37rlnfaf2x]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-field .form-control:disabled[b-37rlnfaf2x]{background-color:#eef2f7;color:#7b8798}
.admin-check[b-37rlnfaf2x]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-37rlnfaf2x]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* Address earns the full row -- it is prose, and a third-width box invites one-word entries. */
.cl-wide[b-37rlnfaf2x]{grid-column:1/-1}

/* ---- Contacts (many per client, 0076) ---- */
/* A section inside the form card rather than a card of its own: contacts belong to the client being
   edited, and a second card would imply they save separately. They do not -- the whole set is
   replaced on save. */
.cl-contacts[b-37rlnfaf2x]{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #e4ebf3}
.cl-contacts-head[b-37rlnfaf2x]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;flex-wrap:wrap}
.cl-contacts-head h3[b-37rlnfaf2x]{font-size:.8rem;color:var(--brand-navy);margin:0 0 .15rem}
.cl-contacts-head span[b-37rlnfaf2x]{display:block;font-size:.67rem;color:#7b8798;line-height:1.5;max-width:74ch}
.cl-contacts-empty[b-37rlnfaf2x]{margin:0;padding:1rem;text-align:center;color:#7b8798;font-size:.7rem;border:1px dashed #cbd8e6;border-radius:10px;background:#fbfdff}

.cl-contact-table[b-37rlnfaf2x]{font-size:.72rem;margin:0}
.cl-contact-table th[b-37rlnfaf2x]{background:#f2f6fb;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.6rem;white-space:nowrap;border-bottom-color:#dbe5f0;padding:.4rem .5rem}
.cl-contact-table th b[b-37rlnfaf2x]{color:#dc3545}
.cl-contact-table td[b-37rlnfaf2x]{vertical-align:middle;padding:.3rem .5rem;border-color:#eef2f7}
.cl-contact-table .form-control[b-37rlnfaf2x]{font-size:.74rem;min-height:32px;border-color:#ccd8e6;background-color:#fbfdff;padding:.25rem .5rem}
.cl-contact-table .form-control:focus[b-37rlnfaf2x]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
/* Narrow and centred: it is a one-of-many marker, not a field. */
.cl-primary-col[b-37rlnfaf2x]{width:64px;text-align:center}
.cl-primary-col input[b-37rlnfaf2x]{width:15px;height:15px;accent-color:#1d3f72}

/* ---- Our staff (0081) ----
   Reuses .cl-contacts / .cl-contacts-head / .cl-contacts-empty / .cl-contact-table wholesale, so the
   two people-lists on this page read as siblings. Only the two extra columns are new. */
.cl-contact-table td select.form-control[b-37rlnfaf2x]{font-size:.74rem;min-height:32px;border-color:#ccd8e6;background-color:#fbfdff;padding:.25rem .5rem}
.cl-contact-table th.cl-staff-role[b-37rlnfaf2x],.cl-contact-table td.cl-staff-role[b-37rlnfaf2x]{width:38%}
.cl-contact-table th.cl-row-actions[b-37rlnfaf2x],.cl-contact-table td.cl-row-actions[b-37rlnfaf2x]{width:44px}
/* Amber, never red. Someone who has left is still a valid assignment and still saves -- this reads as
   "worth replacing", not as an error. Same choice SupplierSetup made for its unseen-group badge. */
.cl-inactive-pill[b-37rlnfaf2x]{display:inline-block;margin-left:.4rem;font-size:.6rem;color:#8a6100;background:#fffdf6;
  border:1px solid #f0e2bd;border-radius:999px;padding:.05rem .4rem;cursor:help;white-space:nowrap}

/* ---- List head and search ---- */
.admin-list-head[b-37rlnfaf2x]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-37rlnfaf2x]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-37rlnfaf2x]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-37rlnfaf2x]{display:flex;flex-direction:column;gap:.2rem}
.admin-search[b-37rlnfaf2x]{position:relative}
.admin-search i[b-37rlnfaf2x]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-37rlnfaf2x]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-37rlnfaf2x]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
.cl-table[b-37rlnfaf2x]{font-size:.72rem;margin:0;table-layout:auto}
.cl-table th[b-37rlnfaf2x]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.65rem .85rem}
.cl-table td[b-37rlnfaf2x]{vertical-align:middle;color:#334155;padding:.7rem .85rem;border-color:#eef2f7}
.cl-table td strong[b-37rlnfaf2x]{color:#1d3f72;font-weight:750}
.cl-table td small[b-37rlnfaf2x]{display:block;font-size:.63rem;margin-top:.15rem}
/* The Devanagari form of the client's registered name. Not squeezed -- Devanagari needs the line
   height, and the app already loads Noto Devanagari. */
.cl-table td small.cl-nepali[b-37rlnfaf2x]{color:#5b8fc9;font-size:.68rem;line-height:1.5}
.cl-table td small.cl-reach[b-37rlnfaf2x]{color:#8a97a8}
/* The primary contact's job title, inline after their name. */
.cl-table td .cl-role[b-37rlnfaf2x]{color:#8a97a8;font-size:.66rem;margin-left:.35rem}
/* "+N more" -- the full names live in its title attribute, so the count is resolvable on hover
   without opening the record. */
.cl-table td small.cl-more[b-37rlnfaf2x]{color:#5b8fc9;font-weight:700;cursor:default}

/* Narrow, fixed-content columns keep only the width they need, so auto table layout doesn't hand
   their leftover space to whichever flexible column happens to come first. Name and Contact stay
   unconstrained and share what's left, which is where the space actually belongs. */
.cl-table th.cl-col-panvat[b-37rlnfaf2x],.cl-table td.cl-col-panvat[b-37rlnfaf2x]{width:120px}
/* Office names are short and repeat heavily down the column, so they do not need to compete with
   Name / Contact / Staff for the flexible width. */
.cl-table th.cl-col-office[b-37rlnfaf2x],.cl-table td.cl-col-office[b-37rlnfaf2x]{width:150px}
.cl-table th.cl-col-status[b-37rlnfaf2x],.cl-table td.cl-col-status[b-37rlnfaf2x]{width:88px}
.cl-table th.cl-col-action[b-37rlnfaf2x],.cl-table td.cl-col-action[b-37rlnfaf2x]{width:80px}

/* Tabular figures: a column of registration numbers that do not line up is hard to scan for the
   duplicates this module deliberately permits. */
.cl-table td.cl-col-panvat[b-37rlnfaf2x]{font-variant-numeric:tabular-nums;letter-spacing:.02em}

.status-pill[b-37rlnfaf2x]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-37rlnfaf2x]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-37rlnfaf2x]{background:#f1f5f9;color:#64748b}

.row-actions[b-37rlnfaf2x]{display:flex;gap:.2rem}
.row-actions button[b-37rlnfaf2x]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-37rlnfaf2x]{color:#dc3545}
.row-actions button:disabled[b-37rlnfaf2x]{color:#cbd5e1}

/* ---- Inline delete confirm / refusal, anchored to the row that raised it ---- */
/* .mt-blocked has no client-side trigger today -- nothing references a client, so no delete is
   pre-emptively refused. It stays because the SERVER can still refuse (a row deleted by someone else
   mid-session), and because it is the slot a real delete guard drops into when the first module
   starts referencing clients. See docs/client-setup/issue.md. */
.cl-prompt-row td[b-37rlnfaf2x]{padding:0;border-top:0}
.mt-confirm[b-37rlnfaf2x],.mt-blocked[b-37rlnfaf2x]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45}
.mt-confirm[b-37rlnfaf2x]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-37rlnfaf2x]{color:#c0392b}
.mt-blocked[b-37rlnfaf2x]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-37rlnfaf2x]{color:#c98a12}
.mt-confirm span[b-37rlnfaf2x],.mt-blocked span[b-37rlnfaf2x]{flex:1;min-width:0}
.mc-yes[b-37rlnfaf2x],.mc-no[b-37rlnfaf2x]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-37rlnfaf2x]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-37rlnfaf2x]{background:#a83226}
.mc-yes:disabled[b-37rlnfaf2x]{opacity:.6;cursor:default}
.mc-no[b-37rlnfaf2x]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-37rlnfaf2x]{background:#f1f5f9}

/* ---- Empty state ---- */
/* 0076 seeds no clients, so this is the first thing everyone sees on a fresh database. It teaches
   rather than sits blank -- same reasoning DesignationSetup and SupplierSetup record. */
.cl-empty[b-37rlnfaf2x]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.cl-empty i[b-37rlnfaf2x]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.cl-empty strong[b-37rlnfaf2x]{font-size:.78rem;color:#475569}
.cl-empty span[b-37rlnfaf2x]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-37rlnfaf2x]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-37rlnfaf2x]{padding:.75rem}
  .admin-list-head[b-37rlnfaf2x]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-37rlnfaf2x]{grid-template-columns:1fr}
  .admin-search[b-37rlnfaf2x],.admin-search input[b-37rlnfaf2x]{width:100%}
  .mt-confirm[b-37rlnfaf2x],.mt-blocked[b-37rlnfaf2x]{flex-wrap:wrap}
}
/* /Components/Pages/Administration/DepartmentSetup.razor.rz.scp.css */
.admin-page[b-uacielth20]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-list-card[b-uacielth20]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-grid[b-uacielth20]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-uacielth20]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-uacielth20]{color:#dc3545}.admin-field .form-control[b-uacielth20],.admin-field .form-select[b-uacielth20]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-check[b-uacielth20]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}.admin-list-head[b-uacielth20]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-uacielth20]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-uacielth20]{font-size:.68rem;color:var(--text-muted)}.admin-search[b-uacielth20]{position:relative}.admin-search i[b-uacielth20]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.admin-search input[b-uacielth20]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}.type-pill[b-uacielth20]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}.row-actions[b-uacielth20]{display:flex;gap:.2rem}.row-actions button[b-uacielth20]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}.row-actions button.danger[b-uacielth20]{color:#dc3545}@media(max-width:900px){.admin-form-grid[b-uacielth20]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-uacielth20]{padding:.75rem}.admin-list-head[b-uacielth20]{flex-direction:column;gap:.75rem}.admin-form-grid[b-uacielth20]{grid-template-columns:1fr}.admin-search[b-uacielth20],.admin-search input[b-uacielth20]{width:100%}.admin-list-tools[b-uacielth20]{flex-direction:column;align-items:stretch;width:100%}.ds-add[b-uacielth20]{justify-content:center}}
/* HNBG palette alignment */
.admin-page[b-uacielth20]{background:#dfe7f1;border-color:#cbd7e5}
.admin-list-card[b-uacielth20]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-uacielth20],.admin-field .form-select[b-uacielth20],.admin-search input[b-uacielth20]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-uacielth20],.admin-field .form-select:focus[b-uacielth20],.admin-search input:focus[b-uacielth20]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-uacielth20]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}

/* ---- The tree: one row per department, indented by its depth ---- */
.menu-tree[b-uacielth20]{padding:.5rem}
.mt-row[b-uacielth20]{display:grid;grid-template-columns:22px minmax(0,1.5fr) minmax(0,1.3fr) auto auto;gap:.6rem;align-items:center;padding:.5rem .7rem;font-size:.72rem;color:#334155}
/* --depth is set inline per row; the indent step is the only thing that knows how deep a row is. */
.dt-row[b-uacielth20]{padding-left:calc(.7rem + var(--depth,0)*1.5rem);border-top:1px solid #eef2f7}
.dt-row:first-child[b-uacielth20]{border-top:0}
.dt-row:hover[b-uacielth20]{background:#e6f0fb}
.dt-row.is-root[b-uacielth20]{background:#eef4fb}
.dt-row.is-root:hover[b-uacielth20]{background:#e1ecf9}
.dt-row.is-off .mt-name[b-uacielth20]{opacity:.6}
.dt-toggle[b-uacielth20]{width:22px;height:22px;border:0;background:transparent;color:#5b8fc9;padding:0;font-size:.7rem;line-height:1;border-radius:5px}
.dt-toggle:hover:not(:disabled)[b-uacielth20]{background:#d9e7f7;color:#1d3f72}
.dt-toggle.is-leaf[b-uacielth20]{visibility:hidden}
.mt-kind[b-uacielth20]{color:#5b8fc9;font-size:.82rem;line-height:1}
.dt-row:not(.is-root) .mt-kind[b-uacielth20]{color:#8aa0b8}
.mt-name[b-uacielth20]{display:flex;align-items:baseline;gap:.4rem;min-width:0}
.mt-name strong[b-uacielth20]{color:#1d3f72;font-weight:750}
.mt-name small[b-uacielth20]{color:#93a2b5;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-route[b-uacielth20]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-route code[b-uacielth20]{color:#075985;font-size:.68rem}
.mt-meta[b-uacielth20]{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.mt-order[b-uacielth20]{color:#9aa8ba;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-uacielth20]{background:#f1f5f9;color:#64748b}
/* A row whose parent chain never reaches the top: loud, because this is the only screen that can fix it. */
.type-pill.warn[b-uacielth20]{background:#fdecc8;color:#8a5a0b}

@media(max-width:900px){
  .mt-row[b-uacielth20]{grid-template-columns:20px minmax(0,1fr) auto;row-gap:.25rem}
  .mt-route[b-uacielth20]{grid-column:2/-1}
  .mt-meta[b-uacielth20]{grid-column:2/3}
}
@media(max-width:650px){
  .dt-row[b-uacielth20]{padding-left:calc(.5rem + var(--depth,0)*1rem)}
}

/* ---- Inline delete confirm / blocked notice, anchored to the row that raised it ---- */
.mt-confirm[b-uacielth20],.mt-blocked[b-uacielth20]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3}
.mt-confirm[b-uacielth20]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-uacielth20]{color:#c0392b}
.mt-confirm b[b-uacielth20]{color:#6d1f1f}
.mt-blocked[b-uacielth20]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-uacielth20]{color:#c98a12}
.mt-confirm span[b-uacielth20],.mt-blocked span[b-uacielth20]{flex:1;min-width:0}
.mc-yes[b-uacielth20],.mc-no[b-uacielth20]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-uacielth20]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-uacielth20]{background:#a83226}
.mc-yes:disabled[b-uacielth20]{opacity:.6;cursor:default}
.mc-no[b-uacielth20]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-uacielth20]{background:#f1f5f9}

.ds-explain[b-uacielth20]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}
.ds-explain b[b-uacielth20]{color:#1d3f72}

/* ---- Empty state: with no seed data this is the first thing most people see, so it teaches ---- */
.ds-empty[b-uacielth20]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-uacielth20]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-uacielth20]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-uacielth20]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

/* ---- List-header tools: search + the Add button that opens the modal ---- */
.admin-list-tools[b-uacielth20]{display:flex;align-items:center;gap:.6rem}
.ds-add[b-uacielth20]{display:inline-flex;align-items:center;white-space:nowrap;font-weight:700}

/* ---- Edit/Add modal, matching the uranus-modal pattern used by UserSetup ---- */
.uranus-modal-backdrop[b-uacielth20]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.52);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.uranus-modal[b-uacielth20]{width:min(620px,100%);background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}
.uranus-modal header[b-uacielth20]{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.1rem;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.uranus-modal header h3[b-uacielth20]{font-size:1rem;color:var(--brand-navy);margin:0}
.uranus-modal header p[b-uacielth20]{font-size:.72rem;color:var(--text-muted);margin:.25rem 0 0;max-width:60ch;line-height:1.5}
.uranus-modal header button[b-uacielth20]{flex:0 0 auto;border:0;background:transparent;color:#64748b;font-size:.95rem}
.uranus-modal header button:hover[b-uacielth20]{color:#1d3f72}
.uranus-modal .modal-content-body[b-uacielth20]{padding:1.1rem}
.uranus-modal footer[b-uacielth20]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.1rem;background:#f7f9fc;border-top:1px solid #e8edf3}
.modal-form-grid[b-uacielth20]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.dt-hint[b-uacielth20]{display:block;margin-top:.3rem;color:#7b8798;font-size:.64rem;line-height:1.4}
@media(max-width:650px){.modal-form-grid[b-uacielth20]{grid-template-columns:1fr}}

/* ---- Office nodes. The second structure on this page, and it must never be mistaken for a
   department: its own icon, a tinted band, and a heavier rule above it. ---- */
.dt-office[b-uacielth20]{background:linear-gradient(90deg,#eaf2fb,#f7faff);border-top:2px solid #cbd8e6}
.dt-office .mt-name strong[b-uacielth20]{color:#12325e;font-weight:800;letter-spacing:.01em}
.dt-office .mt-kind[b-uacielth20]{color:#2d66b3}
.dt-office.is-main .mt-kind[b-uacielth20]{color:#e5252a}
.dt-office:hover[b-uacielth20]{background:linear-gradient(90deg,#e1ecf9,#eef5ff)}
.dt-office.is-off .mt-name[b-uacielth20]{opacity:.6}
.ds-tag[b-uacielth20]{font-style:normal;font-size:.63rem;background:#e8f0fa;color:#31527d;border-radius:4px;padding:.1rem .38rem}
/* An office with no departments yet -- said once, quietly, rather than left as a blank gap. */
.dt-empty-office[b-uacielth20]{padding:.35rem .7rem;padding-left:calc(.7rem + var(--depth,0)*1.5rem + 22px);color:#93a2b5;font-size:.66rem;font-style:italic;border-top:1px solid #f1f5f9}
/* Moving a department takes its subtree; the count is announced in the modal before Save. */
.dt-move-note[b-uacielth20]{margin:.75rem 0 0;padding:.5rem .65rem;border:1px solid #cbd8e6;border-radius:8px;background:#f2f7fd;color:#31527d;font-size:.68rem;line-height:1.5}
@media(max-width:650px){
  .dt-empty-office[b-uacielth20]{padding-left:calc(.5rem + var(--depth,0)*1rem + 22px)}
}
/* /Components/Pages/Administration/DesignationSetup.razor.rz.scp.css */
.admin-breadcrumb[b-ghcd4madlx]{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.78rem;margin-bottom:1rem}.admin-breadcrumb strong[b-ghcd4madlx]{color:var(--brand-navy)}.admin-page[b-ghcd4madlx]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-head[b-ghcd4madlx]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-eyebrow[b-ghcd4madlx]{font-size:.66rem;letter-spacing:.15em;font-weight:800;color:var(--brand-gold)}.admin-head h1[b-ghcd4madlx]{font-size:1.55rem;color:var(--brand-navy);margin:.1rem 0}.admin-head p[b-ghcd4madlx]{margin:0;color:var(--text-muted);font-size:.85rem}.admin-form-card[b-ghcd4madlx],.admin-list-card[b-ghcd4madlx]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-card[b-ghcd4madlx]{padding:1rem;margin-bottom:1rem}.admin-form-grid[b-ghcd4madlx]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-ghcd4madlx],.permission-picker>label[b-ghcd4madlx]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-ghcd4madlx]{color:#dc3545}.admin-field .form-control[b-ghcd4madlx],.admin-field .form-select[b-ghcd4madlx]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-check[b-ghcd4madlx]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}.permission-picker[b-ghcd4madlx]{border-top:1px solid #edf0f4;margin-top:1rem;padding-top:1rem}.permission-options[b-ghcd4madlx]{display:flex;flex-wrap:wrap;gap:.45rem}.permission-option[b-ghcd4madlx]{display:flex;align-items:center;gap:.4rem;border:1px solid #dce3ec;border-radius:8px;padding:.45rem .6rem;font-size:.72rem;color:#475569;cursor:pointer}.permission-option.selected[b-ghcd4madlx]{background:#eef7ff;border-color:#80b9df;color:#075985}.permission-option small[b-ghcd4madlx]{background:#e2e8f0;border-radius:4px;padding:.08rem .3rem;font-size:.58rem}.admin-actions[b-ghcd4madlx]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.admin-list-head[b-ghcd4madlx]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-ghcd4madlx]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-ghcd4madlx]{font-size:.68rem;color:var(--text-muted)}.admin-search[b-ghcd4madlx]{position:relative}.admin-search i[b-ghcd4madlx]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.admin-search input[b-ghcd4madlx]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}.admin-table[b-ghcd4madlx]{font-size:.72rem;margin:0}.admin-table th[b-ghcd4madlx]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap}.admin-table td[b-ghcd4madlx]{vertical-align:middle;color:#334155}.admin-table td small[b-ghcd4madlx]{display:block;color:#94a3b8}.admin-table code[b-ghcd4madlx]{color:#075985}.type-pill[b-ghcd4madlx]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}.row-actions[b-ghcd4madlx]{display:flex;gap:.2rem}.row-actions button[b-ghcd4madlx]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}.row-actions button.danger[b-ghcd4madlx]{color:#dc3545}@media(max-width:900px){.admin-form-grid[b-ghcd4madlx]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-ghcd4madlx]{padding:.75rem}.admin-head[b-ghcd4madlx],.admin-list-head[b-ghcd4madlx]{flex-direction:column;gap:.75rem}.admin-form-grid[b-ghcd4madlx]{grid-template-columns:1fr}.admin-search[b-ghcd4madlx],.admin-search input[b-ghcd4madlx]{width:100%}}
/* HNBG palette alignment */
.admin-page[b-ghcd4madlx]{background:#dfe7f1;border-color:#cbd7e5}
.admin-form-card[b-ghcd4madlx],.admin-list-card[b-ghcd4madlx]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-ghcd4madlx],.admin-field .form-select[b-ghcd4madlx],.admin-search input[b-ghcd4madlx]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-ghcd4madlx],.admin-field .form-select:focus[b-ghcd4madlx],.admin-search input:focus[b-ghcd4madlx]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-ghcd4madlx]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-table th[b-ghcd4madlx]{background:#e9f0f8;color:#415872;border-bottom-color:#cedae8}
.permission-option[b-ghcd4madlx]{border-color:#cbd8e6;background:#fbfdff}.permission-option.selected[b-ghcd4madlx]{background:#e1effe;border-color:#6e9fd2;color:#174f86}

/* ---- Navigation structure: top-bar preview, legend, and the grouped tree ---- */
.nav-preview[b-ghcd4madlx]{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid #e3ebf4;background:#f4f8fd}
.np-label[b-ghcd4madlx]{flex:0 0 auto;font-size:.6rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8496ad}
.np-strip[b-ghcd4madlx]{display:flex;flex-wrap:wrap;gap:.3rem;padding:.3rem .45rem;border-radius:7px;background:linear-gradient(105deg,#2d66b3,#285eaa 52%,#1d4d8d);box-shadow:inset 0 -3px 0 #e5252a}
.np-item[b-ghcd4madlx]{display:inline-flex;align-items:center;gap:.32rem;padding:.3rem .5rem;border-radius:5px;color:#e7f0fc;font-size:.68rem;font-weight:650;white-space:nowrap}
.np-item .bi[b-ghcd4madlx]{color:#c4d9f3;font-size:.72rem}
.np-item.is-group[b-ghcd4madlx]{background:rgba(255,255,255,.14);color:#fff}
.np-caret[b-ghcd4madlx]{font-size:.55rem}
.np-empty[b-ghcd4madlx]{color:#c4d9f3;font-size:.68rem;padding:.3rem .5rem}

.nav-legend[b-ghcd4madlx]{display:flex;flex-wrap:wrap;gap:.45rem .95rem;padding:.6rem 1rem;border-bottom:1px solid #e8edf3;background:#fbfdff;font-size:.66rem;color:#5c6c81}
.nav-legend span[b-ghcd4madlx]{display:inline-flex;align-items:center;gap:.35rem}
.nav-legend b[b-ghcd4madlx]{color:#274a75;font-weight:800}
.nav-legend .bi[b-ghcd4madlx]{color:#3975bd}
.nav-legend .nl-note[b-ghcd4madlx]{color:#7b8798}
.nav-legend .nl-note .bi[b-ghcd4madlx]{color:#9aa8ba}

.menu-tree[b-ghcd4madlx]{padding:.5rem}
.mt-branch[b-ghcd4madlx]{border:1px solid #dbe5f0;border-radius:10px;margin-bottom:.45rem;overflow:hidden;background:#fff}
.mt-branch.is-group[b-ghcd4madlx]{border-color:#c6d8ec}
.mt-branch:last-child[b-ghcd4madlx]{margin-bottom:0}
.mt-row[b-ghcd4madlx]{display:grid;grid-template-columns:22px minmax(0,1.5fr) minmax(0,1.3fr) auto auto;gap:.6rem;align-items:center;padding:.5rem .7rem;font-size:.72rem;color:#334155}
.mt-parent[b-ghcd4madlx]{background:#eef4fb}
.mt-branch.is-leaf .mt-parent[b-ghcd4madlx]{background:#fff}
.mt-child[b-ghcd4madlx]{border-top:1px solid #eef2f7;padding-left:1.5rem}
.mt-child:hover[b-ghcd4madlx],.mt-parent:hover[b-ghcd4madlx]{background:#e6f0fb}
.mt-kind[b-ghcd4madlx]{color:#5b8fc9;font-size:.82rem;line-height:1}
.mt-branch.is-leaf .mt-kind[b-ghcd4madlx]{color:#8aa0b8}
.mt-name[b-ghcd4madlx]{display:flex;align-items:baseline;gap:.4rem;min-width:0}
.mt-name strong[b-ghcd4madlx]{color:#1d3f72;font-weight:750}
.mt-name small[b-ghcd4madlx]{color:#93a2b5;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-ico[b-ghcd4madlx]{color:#5b8fc9;font-size:.75rem}
.mt-route[b-ghcd4madlx]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-route code[b-ghcd4madlx]{color:#075985;font-size:.68rem}
.mt-container[b-ghcd4madlx]{color:#8f9dae;font-size:.65rem;font-style:normal;background:#f1f5f9;border-radius:4px;padding:.1rem .35rem}
.mt-warn[b-ghcd4madlx]{color:#b45309;font-size:.65rem;font-style:normal;background:#fef3c7;border-radius:4px;padding:.1rem .35rem}
.mt-meta[b-ghcd4madlx]{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.mt-order[b-ghcd4madlx]{color:#9aa8ba;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-ghcd4madlx]{background:#f1f5f9;color:#64748b}
.mt-none[b-ghcd4madlx]{padding:1.25rem;margin:0;text-align:center;color:#8a97a8;font-size:.74rem}

@media(max-width:900px){
  .mt-row[b-ghcd4madlx]{grid-template-columns:20px minmax(0,1fr) auto;row-gap:.25rem}
  .mt-route[b-ghcd4madlx]{grid-column:2/-1}
  .mt-meta[b-ghcd4madlx]{grid-column:2/3}
}
@media(max-width:650px){
  .nav-preview[b-ghcd4madlx]{flex-direction:column;align-items:flex-start;gap:.4rem}
  .np-strip[b-ghcd4madlx]{width:100%}
}

/* A page nested past two levels renders nowhere in the top bar — make that loud here, since this
   is the only screen that can move it back. */
.mt-alert[b-ghcd4madlx]{display:flex;align-items:flex-start;gap:.5rem;margin:.6rem 1rem 0;padding:.6rem .75rem;border:1px solid #f0d089;border-radius:9px;background:#fef8e7;color:#7c5310;font-size:.7rem;line-height:1.45}
.mt-alert .bi[b-ghcd4madlx]{color:#c98a12;margin-top:.05rem}
.mt-alert b[b-ghcd4madlx]{color:#5f3f0a}
.mt-buried[b-ghcd4madlx]{border-top:1px solid #f4e6c4;background:#fffaf0;padding-left:2.5rem}
.mt-buried:hover[b-ghcd4madlx]{background:#fef6e4}
.mt-buried .mt-kind[b-ghcd4madlx]{color:#c98a12}
.type-pill.danger[b-ghcd4madlx]{background:#fdecc8;color:#8a5a0b}

/* ---- Permission picker guidance ---- */
.pp-help[b-ghcd4madlx]{margin:-.05rem 0 .6rem;font-size:.68rem;line-height:1.55;color:#5c6c81;max-width:70ch}
.pp-help code[b-ghcd4madlx]{background:#eef4fb;border-radius:4px;padding:.06rem .3rem;color:#1d3f72;font-size:.66rem}
.pp-help b[b-ghcd4madlx]{color:#274a75}
.pp-help a[b-ghcd4madlx]{color:#1472b8}
.pp-warn[b-ghcd4madlx]{display:flex;align-items:flex-start;gap:.45rem;margin:0 0 .6rem;padding:.5rem .65rem;border:1px solid #f0d089;border-radius:8px;background:#fef8e7;color:#7c5310;font-size:.68rem;line-height:1.5;max-width:70ch}
.pp-warn .bi[b-ghcd4madlx]{flex:0 0 auto;color:#c98a12;margin-top:.1rem}
.pp-warn span[b-ghcd4madlx]{flex:1;min-width:0}
.pp-warn b[b-ghcd4madlx]{color:#5f3f0a}

/* ---- Inline delete confirm / blocked notice, anchored to the row that raised it ---- */
.mt-confirm[b-ghcd4madlx],.mt-blocked[b-ghcd4madlx]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3}
.mt-confirm[b-ghcd4madlx]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-ghcd4madlx]{color:#c0392b}
.mt-confirm b[b-ghcd4madlx]{color:#6d1f1f}
.mt-blocked[b-ghcd4madlx]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-ghcd4madlx]{color:#c98a12}
.mt-confirm span[b-ghcd4madlx],.mt-blocked span[b-ghcd4madlx]{flex:1;min-width:0}
.mc-yes[b-ghcd4madlx],.mc-no[b-ghcd4madlx]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-ghcd4madlx]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-ghcd4madlx]{background:#a83226}
.mc-yes:disabled[b-ghcd4madlx]{opacity:.6;cursor:default}
.mc-no[b-ghcd4madlx]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-ghcd4madlx]{background:#f1f5f9}

/* ---- Tier tabs: the ladder itself, read left to right ---- */
.ds-tabs[b-ghcd4madlx]{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.6rem}
.ds-tab[b-ghcd4madlx]{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border:1px solid #cbd8e6;border-radius:9px;background:#fbfdff;color:#4a5c73;font-size:.74rem;font-weight:700;cursor:pointer}
.ds-tab:hover[b-ghcd4madlx]{background:#eef4fb;border-color:#a9c4e2}
.ds-tab.on[b-ghcd4madlx]{background:#1d3f72;border-color:#1d3f72;color:#fff;box-shadow:0 4px 12px rgba(29,63,114,.22)}
.ds-tab .bi[b-ghcd4madlx]{font-size:.85rem;opacity:.9}
.ds-tab em[b-ghcd4madlx]{font-style:normal;min-width:1.35rem;padding:.05rem .35rem;border-radius:999px;background:rgba(29,63,114,.1);color:#1d3f72;font-size:.64rem;text-align:center}
.ds-tab.on em[b-ghcd4madlx]{background:rgba(255,255,255,.22);color:#fff}
.ds-arrow[b-ghcd4madlx]{color:#a9b6c8;font-size:.7rem}

.ds-explain[b-ghcd4madlx]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}
.ds-explain b[b-ghcd4madlx]{color:#1d3f72}

/* ---- Row accents ---- */
.ds-tag[b-ghcd4madlx]{font-style:normal;font-size:.63rem;background:#e8f0fa;color:#31527d;border-radius:4px;padding:.1rem .38rem}
.ds-desc[b-ghcd4madlx]{font-style:normal;color:#93a2b5;font-size:.65rem}
.ds-unassigned[b-ghcd4madlx]{color:#8a6d3b}

/* ---- Empty state: with no seed data this is the first thing most people see, so it teaches ---- */
.ds-empty[b-ghcd4madlx]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-ghcd4madlx]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-ghcd4madlx]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-ghcd4madlx]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

@media(max-width:650px){.ds-arrow[b-ghcd4madlx]{display:none}.ds-tab[b-ghcd4madlx]{flex:1 1 auto;justify-content:center}}
/* /Components/Pages/Administration/EmployeeFieldSetup.razor.rz.scp.css */
.field-page[b-mmkxbga10b]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:14px;padding:1rem 1.25rem 1.25rem;min-height:70vh}
.field-page-head[b-mmkxbga10b]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem}
.field-chips[b-mmkxbga10b]{display:flex;gap:.5rem;flex-wrap:wrap}
.field-chip[b-mmkxbga10b]{background:#fff;border:1px solid #ccd8e6;border-radius:999px;padding:.35rem .75rem;font-size:.72rem;font-weight:650;color:#475569}
.field-chip.on[b-mmkxbga10b]{background:#dcfce7;border-color:#bbf0cc;color:#166534}
.field-toolbar[b-mmkxbga10b]{display:flex;gap:.6rem;align-items:center}
.field-search[b-mmkxbga10b]{position:relative}
.field-search i[b-mmkxbga10b]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.field-search input[b-mmkxbga10b]{border:1px solid #ccd8e6;border-radius:8px;padding:.5rem .75rem .5rem 2rem;font-size:.75rem;background:#fbfdff;min-width:260px}
.field-status-select[b-mmkxbga10b]{font-size:.75rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff;width:auto}
.field-loading[b-mmkxbga10b]{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted)}
.field-card[b-mmkxbga10b]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;overflow:hidden;box-shadow:0 6px 20px rgba(29,62,104,.08);margin-bottom:1rem}
.field-card-head[b-mmkxbga10b]{padding:.65rem 1rem;font-size:.82rem;font-weight:750;color:var(--brand-navy);background:linear-gradient(90deg,#eaf2fb,#f7faff);border-bottom:1px solid #d6e1ed}
.field-table[b-mmkxbga10b]{font-size:.75rem;margin:0}
.field-table thead th[b-mmkxbga10b]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.64rem;border-bottom:1px solid #e3e8ef;white-space:nowrap}
.field-table td[b-mmkxbga10b]{vertical-align:middle;color:#334155}
.field-table td code[b-mmkxbga10b]{font-size:.68rem;color:#8b6b21}
.field-table input[type=checkbox][b-mmkxbga10b]{width:16px;height:16px;accent-color:#1472b8}
.field-table .icon-action[b-mmkxbga10b]{border:0;background:transparent;color:#1769aa;font-size:.95rem;margin-right:.25rem}
.field-empty[b-mmkxbga10b]{text-align:center;padding:3rem 1rem;color:#64748b;font-size:.85rem}
@media(max-width:750px){.field-page[b-mmkxbga10b]{padding:.75rem}.field-page-head[b-mmkxbga10b]{flex-direction:column;align-items:stretch}.field-search input[b-mmkxbga10b]{width:100%}}
/* /Components/Pages/Administration/GlobalSetup.razor.rz.scp.css */
/* ---- Shared admin-page shell, kept identical to Designation/Department Setup for consistency ---- */
.admin-page[b-96eam88uev]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-list-card[b-96eam88uev]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-list-head[b-96eam88uev]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem .85rem;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-96eam88uev]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-96eam88uev]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-96eam88uev]{flex:0 0 auto}
.admin-list-tools[b-96eam88uev]{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:flex-end}
.admin-search[b-96eam88uev]{position:relative}
.admin-search i[b-96eam88uev]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-96eam88uev]{border:1px solid #ccd8e6;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px;background:#fbfdff}
.admin-search input:focus[b-96eam88uev]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.ds-add[b-96eam88uev]{display:inline-flex;align-items:center;white-space:nowrap;font-weight:700}
.ds-explain[b-96eam88uev]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}
.type-pill[b-96eam88uev]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-96eam88uev]{background:#f1f5f9;color:#64748b}
.ds-empty[b-96eam88uev]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-96eam88uev]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-96eam88uev]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-96eam88uev]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

/* ---- Unsaved-changes cue next to the bulk Save button ---- */
.gs-dirty-note[b-96eam88uev]{font-size:.66rem;font-weight:700;color:#b45309;white-space:nowrap}

/* ---- Menu-tree: the same Group -> row grid used by Department/Designation Setup, so this page reads
   as part of the same system instead of a one-off layout. ---- */
.menu-tree[b-96eam88uev]{padding:.5rem}
.mt-branch[b-96eam88uev]{border:1px solid #dbe5f0;border-radius:10px;margin-bottom:.45rem;overflow:hidden;background:#fff}
.mt-branch:last-child[b-96eam88uev]{margin-bottom:0}
.mt-row[b-96eam88uev]{display:grid;grid-template-columns:22px minmax(0,1.3fr) minmax(0,1fr) auto auto;gap:.6rem;align-items:center;padding:.5rem .7rem;font-size:.72rem;color:#334155}
.mt-parent[b-96eam88uev]{background:#eef4fb}
.mt-child[b-96eam88uev]{border-top:1px solid #eef2f7;padding-left:1.5rem}
.mt-child:hover[b-96eam88uev],.mt-parent:hover[b-96eam88uev]{background:#e6f0fb}
.mt-kind[b-96eam88uev]{color:#5b8fc9;font-size:.82rem;line-height:1}
.mt-name[b-96eam88uev]{display:flex;align-items:baseline;gap:.4rem;min-width:0}
.mt-name strong[b-96eam88uev]{color:#1d3f72;font-weight:750}
.mt-name small[b-96eam88uev]{color:#93a2b5;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-route[b-96eam88uev]{min-width:0;display:flex;align-items:center;gap:.4rem;overflow:hidden}
.mt-route code[b-96eam88uev]{color:#075985;background:#eef4fb;border-radius:4px;padding:.08rem .35rem;font-size:.66rem;white-space:nowrap}
.mt-meta[b-96eam88uev]{display:flex;align-items:center;gap:.35rem;white-space:nowrap;justify-content:flex-end}
.row-actions[b-96eam88uev]{display:flex;gap:.2rem;flex:0 0 auto}
.row-actions button[b-96eam88uev]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-96eam88uev]{color:#dc3545}

/* Sub-group divider: a slim label between the group header and its rows, indented one notch further
   than a normal child row so "belongs to this group, one level deeper" reads at a glance. */
.gs-subgroup-label[b-96eam88uev]{display:flex;align-items:baseline;gap:.4rem;padding:.4rem .7rem .3rem 2.1rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#7c8ba3;border-top:1px solid #eef2f7;background:#fafbfd}
.gs-subgroup-label .bi[b-96eam88uev]{color:#a9b8cc;font-size:.72rem}
.gs-subgroup-label small[b-96eam88uev]{text-transform:none;font-weight:600;letter-spacing:normal;color:#a3aebe}

/* ---- The value column: every control gets the same footprint regardless of type, so rows line up
   into a clean right-hand edge instead of each control floating at its own width. ---- */
.gs-value-cell[b-96eam88uev]{width:190px;justify-content:flex-start}
.gs-value-input[b-96eam88uev]{font-size:.76rem;min-height:32px;border-color:#dce2ea;width:100%}
.gs-toggle[b-96eam88uev]{display:inline-flex;align-items:center;gap:.45rem;font-size:.74rem;font-weight:650;color:#475569;cursor:pointer}
.gs-toggle input[b-96eam88uev]{width:2.1rem;height:1.15rem}

.mt-confirm[b-96eam88uev]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem .55rem 2.1rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3;background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-96eam88uev]{color:#c0392b}
.mt-confirm span[b-96eam88uev]{flex:1;min-width:0}
.mc-yes[b-96eam88uev],.mc-no[b-96eam88uev]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-96eam88uev]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-96eam88uev]{background:#a83226}
.mc-yes:disabled[b-96eam88uev]{opacity:.6;cursor:default}
.mc-no[b-96eam88uev]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-96eam88uev]{background:#f1f5f9}

/* ---- Add/Edit modal: form grid + dropdown options editor ---- */
.uranus-modal-backdrop[b-96eam88uev]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.52);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.uranus-modal[b-96eam88uev]{width:min(640px,100%);max-height:90vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28)}
.uranus-modal header[b-96eam88uev]{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.1rem;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#eaf2fb,#f7faff);position:sticky;top:0}
.uranus-modal header h3[b-96eam88uev]{font-size:1rem;color:var(--brand-navy);margin:0}
.uranus-modal header button[b-96eam88uev]{flex:0 0 auto;border:0;background:transparent;color:#64748b;font-size:.95rem}
.uranus-modal header button:hover[b-96eam88uev]{color:#1d3f72}
.uranus-modal .modal-content-body[b-96eam88uev]{padding:1.1rem}
.uranus-modal footer[b-96eam88uev]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.1rem;background:#f7f9fc;border-top:1px solid #e8edf3;position:sticky;bottom:0}
.admin-form-grid[b-96eam88uev]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.modal-form-grid[b-96eam88uev]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.admin-field label[b-96eam88uev]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-96eam88uev]{color:#dc3545}
.admin-field .form-control[b-96eam88uev],.admin-field .form-select[b-96eam88uev]{font-size:.78rem;min-height:36px;border-color:#dce2ea}
.admin-check[b-96eam88uev]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}
.gs-field-help[b-96eam88uev]{margin:.3rem 0 0;font-size:.63rem;color:#8a97a8;line-height:1.4}

.gs-options-editor[b-96eam88uev]{border-top:1px solid #edf0f4;margin-top:1rem;padding-top:1rem}
.gs-options-editor>label[b-96eam88uev]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.5rem}
.gs-option-row[b-96eam88uev]{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.4rem;align-items:center;margin-bottom:.4rem}
.gs-option-remove[b-96eam88uev]{border:1px solid #dce2ea;background:#fbfdff;border-radius:6px;color:#dc3545;padding:.3rem .5rem}
.gs-option-remove:hover[b-96eam88uev]{background:#fdecec}

@media(max-width:900px){
  .admin-form-grid[b-96eam88uev],.modal-form-grid[b-96eam88uev]{grid-template-columns:1fr 1fr}
  /* Flex + order rather than named grid columns: a group-header row and a setting row don't emit the
     same children, so pinning fixed column indices misplaces whichever row has fewer of them. */
  .mt-row[b-96eam88uev]{display:flex;flex-wrap:wrap;align-items:center;row-gap:.35rem}
  .mt-kind[b-96eam88uev]{flex:0 0 auto}
  .mt-name[b-96eam88uev]{flex:1 1 160px;order:1}
  .mt-route[b-96eam88uev]{flex:1 1 100%;order:3}
  .mt-meta[b-96eam88uev]{flex:1 1 auto;order:4;justify-content:flex-start}
  .row-actions[b-96eam88uev]{order:5;margin-left:auto}
  .gs-value-cell[b-96eam88uev]{width:auto;flex:1 1 200px}
}
@media(max-width:650px){
  .admin-page[b-96eam88uev]{padding:.75rem}
  .admin-list-head[b-96eam88uev]{flex-direction:column;gap:.75rem}
  .admin-list-tools[b-96eam88uev]{flex-direction:column;align-items:stretch;width:100%}
  .admin-search[b-96eam88uev],.admin-search input[b-96eam88uev]{width:100%}
  .ds-add[b-96eam88uev]{justify-content:center}
  .admin-form-grid[b-96eam88uev],.modal-form-grid[b-96eam88uev]{grid-template-columns:1fr}
  .gs-option-row[b-96eam88uev]{grid-template-columns:1fr}
}
/* /Components/Pages/Administration/IntakeConversation.razor.rz.scp.css */
/* Conversation view.
   Bounded panel, never a viewport takeover: this lives inside the ERP shell under a nav bar and a
   breadcrumb. No html/body selectors either - Blazor's scoped CSS cannot contain those, so the
   reference's `html { font-size: 1px }` trick would rescale typography across the whole app. */

.cv[b-u9ulv0mpy9] {
    display: grid;
    grid-template-columns: minmax(240px, 27%) 1fr;
    height: min(68vh, 620px);
    border: 1px solid #dde3ea;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

/* MIN-HEIGHT: 0 IS LOAD-BEARING, on every element between .cv and the scrolling panes.
   Grid and flex items default to `min-height: auto`, which means "never shrink below your content".
   A child with `flex: 1; overflow-y: auto` therefore grows to fit all its messages instead of
   capping at the container height, the overflow never triggers, and the thread simply does not
   scroll - which is exactly what happened here. Removing any one of these brings the bug back. */
.cv > *[b-u9ulv0mpy9] { min-height: 0; }

/* ---------------- Group list ---------------- */
.cv-side[b-u9ulv0mpy9] { display: flex; flex-direction: column; border-right: 1px solid #e3e8ee; background: #fff; min-width: 0; min-height: 0; }

.cv-search[b-u9ulv0mpy9] { position: relative; padding: 8px 10px; border-bottom: 1px solid #eef2f7; }
.cv-search i[b-u9ulv0mpy9] { position: absolute; left: 20px; top: 15px; color: #9aa8b8; font-size: .78rem; }
.cv-search input[b-u9ulv0mpy9] {
    width: 100%;
    border: 1px solid #e0e6ee;
    background: #f6f8fb;
    border-radius: 18px;
    padding: .3rem .7rem .3rem 1.9rem;
    font-size: .76rem;
}
.cv-search input:focus[b-u9ulv0mpy9] { outline: none; border-color: #9db6d4; background: #fff; }

.cv-grouplist[b-u9ulv0mpy9] { flex: 1; min-height: 0; overflow-y: auto; }
.cv-side-empty[b-u9ulv0mpy9] { margin: 0; padding: 1.4rem 1rem; text-align: center; color: #7b8798; font-size: .72rem; }

.cv-group[b-u9ulv0mpy9] {
    display: flex;
    gap: 10px;
    width: 100%;
    align-items: flex-start;
    padding: .5rem .6rem;
    border: 0;
    border-bottom: 1px solid #f2f5f9;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.cv-group:hover[b-u9ulv0mpy9] { background: #f7fafc; }
.cv-group.on[b-u9ulv0mpy9] { background: #eaf1fb; }
.cv-group:active[b-u9ulv0mpy9] { transform: translateY(1px); }

/* Initials, never a photograph - the bridge captures none, and pushName is a label not an identity. */
.cv-ava[b-u9ulv0mpy9] {
    flex: 0 0 auto;
    width: 34px; height: 34px;
    border-radius: 50%;
    background: #dbe6f4;
    color: #37567d;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .02em;
    display: flex; align-items: center; justify-content: center;
}

.cv-group-main[b-u9ulv0mpy9] { min-width: 0; flex: 1; }
.cv-group-top[b-u9ulv0mpy9] { display: flex; justify-content: space-between; gap: 6px; align-items: baseline; }
.cv-group-name[b-u9ulv0mpy9] {
    font-weight: 600; font-size: .78rem; color: #26364a;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cv-group-time[b-u9ulv0mpy9] { font-size: .6rem; color: #93a1b1; white-space: nowrap; }

.cv-group-bottom[b-u9ulv0mpy9] { display: flex; justify-content: space-between; gap: 6px; align-items: center; margin-top: 1px; }
.cv-group-prev[b-u9ulv0mpy9] {
    font-size: .68rem; color: #6b7280;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* "Untriaged", not "unread". We have no idea what anybody has read. */
.cv-count[b-u9ulv0mpy9] {
    flex: 0 0 auto;
    background: #285eaa; color: #fff;
    border-radius: 999px;
    font-size: .58rem; font-weight: 700;
    min-width: 1.15rem; text-align: center;
    padding: 0 .3rem;
}

.cv-group-supplier[b-u9ulv0mpy9] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .66rem;
    font-weight: 600;
    color: #1e57b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    margin-top: 1px;
}
.cv-group-supplier i[b-u9ulv0mpy9] { font-size: .62rem; color: #0b3160; }

.cv-unlinked[b-u9ulv0mpy9] {
    display: inline-flex;
    align-items: center;
    margin-top: 2px;
    font-size: .58rem;
    font-weight: 500;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #d0dbe9;
    border-radius: 999px;
    padding: 0 .45rem;
    line-height: 1.4;
}

/* ---------------- Thread ---------------- */
.cv-main[b-u9ulv0mpy9] { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #efe7dd; }

.cv-head[b-u9ulv0mpy9] {
    display: flex; align-items: center; gap: 10px;
    padding: .5rem .8rem;
    background: #f0f2f5;
    border-bottom: 1px solid #dde3ea;
    flex-shrink: 0;
}
.cv-head-text[b-u9ulv0mpy9] { min-width: 0; }
.cv-head h3[b-u9ulv0mpy9] { margin: 0; font-size: .84rem; font-weight: 600; color: #111b21; }
.cv-head p[b-u9ulv0mpy9] { margin: 0; font-size: .66rem; color: #667781; }

.cv-back[b-u9ulv0mpy9] { display: none; border: 0; background: transparent; font-size: 1rem; color: #54656f; cursor: pointer; }

.cv-thread[b-u9ulv0mpy9] {
    flex: 1;
    min-height: 0;          /* see the note on .cv > * - without this the thread cannot scroll */
    overflow-y: auto;
    overscroll-behavior: contain;   /* reaching the top must not start scrolling the page behind it */
    padding: 12px 16px;

    /* WhatsApp's cream, kept as asked. The TEXTURE is an inline SVG rather than the reference's
       remote JPEG: that image is hotlinked from a GitHub user-content URL, which in an ERP means a
       third-party request on every page load, a blank background the day it 404s, and somebody
       else's artwork shipped inside our product. This is a few hundred bytes, has no network
       dependency, and survives being viewed offline. */
    background-color: #efe7dd;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84' viewBox='0 0 84 84'%3E%3Cg fill='none' stroke='%23c8bfb2' stroke-opacity='0.34' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M12 16h10M12 20h6'/%3E%3Ccircle cx='62' cy='15' r='4.5'/%3E%3Cpath d='M58 36c3-3 7-3 10 0M60 52l4 4 7-8'/%3E%3Cpath d='M14 44c0-3 2-5 5-5s5 2 5 5-2 5-5 5h-5z'/%3E%3Cpath d='M30 68h12M34 72h5'/%3E%3Cpath d='M68 66l3 3 3-3M71 61v8'/%3E%3Cpath d='M42 26l4-6 4 6z'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
}

.cv-day[b-u9ulv0mpy9] { text-align: center; margin: 10px 0; }
.cv-day span[b-u9ulv0mpy9] {
    background: #ffffffcc; color: #54656f;
    font-size: .6rem; font-weight: 600;
    padding: .15rem .6rem; border-radius: 999px;
    box-shadow: 0 1px 0.5px rgba(0,0,0,.08);
}

.cv-row[b-u9ulv0mpy9] { display: flex; margin: 3px 0; }
.cv-row.theirs[b-u9ulv0mpy9] { justify-content: flex-start; }
.cv-row.mine[b-u9ulv0mpy9] { justify-content: flex-end; }

.cv-bubble[b-u9ulv0mpy9] {
    max-width: min(78%, 34rem);
    padding: .35rem .55rem .3rem;
    font-size: .78rem;
    line-height: 1.35;
    color: #111b21;
    box-shadow: 0 1px 0.5px rgba(0,0,0,.13);
    cursor: pointer;
    position: relative;
    word-wrap: break-word;
}

/* Asymmetric radii, the one detail that makes a bubble read as WhatsApp rather than as a rounded box. */
.cv-row.theirs .cv-bubble[b-u9ulv0mpy9] { background: #fff; border-radius: 0 8px 8px 8px; }
.cv-row.mine   .cv-bubble[b-u9ulv0mpy9] { background: #d9fdd3; border-radius: 8px 0 8px 8px; }

/* A RING, not a colour change: colour already carries direction here, so tinting a selected bubble
   would make "ours" and "picked" compete for the same signal. */
.cv-bubble.picked[b-u9ulv0mpy9] { box-shadow: 0 0 0 2px #285eaa, 0 1px 0.5px rgba(0,0,0,.13); }
.cv-bubble.gone[b-u9ulv0mpy9] { opacity: .55; cursor: default; }

.cv-sender[b-u9ulv0mpy9] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .66rem;
    font-weight: 700;
    color: #1f7a8c;
    margin-bottom: 2px;
}
.cv-sender-primary .cv-sender-text[b-u9ulv0mpy9] { color: #0b3160; font-weight: 800; }

.cv-primary-badge[b-u9ulv0mpy9] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: .56rem;
    font-weight: 700;
    background: #e0edfd;
    color: #0d47a1;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    padding: 0 .4rem;
    line-height: 1.35;
    letter-spacing: .02em;
}
.cv-primary-badge i[b-u9ulv0mpy9] { font-size: .52rem; color: #1d4ed8; }

.cv-text[b-u9ulv0mpy9] { white-space: pre-wrap; }   /* offers arrive with real line breaks - price lists, quantities */

.cv-foot[b-u9ulv0mpy9] {
    display: flex; align-items: center; justify-content: flex-end; gap: 5px;
    margin-top: 2px; line-height: 1;
}
.cv-time[b-u9ulv0mpy9] { font-size: .58rem; color: #667781; }
.cv-seen[b-u9ulv0mpy9] { font-size: .68rem; color: #2c7a4b; }
.cv-gone-tag[b-u9ulv0mpy9] { font-size: .55rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; }

/* ---------------- AI Analysis Badges (Offer, Meeting, Visit, etc.) ---------------- */
.cv-ai-badge[b-u9ulv0mpy9] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.35;
    padding: .15rem .55rem;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: all .15s ease;
    cursor: help;
    user-select: none;
    letter-spacing: .01em;
}

.cv-ai-icon[b-u9ulv0mpy9] { font-size: .62rem; line-height: 1; }
.cv-ai-label[b-u9ulv0mpy9] { font-size: .64rem; font-weight: 600; text-transform: capitalize; }
.cv-ai-score[b-u9ulv0mpy9] {
    font-family: 'JetBrains Mono', monospace, ui-monospace, sans-serif;
    font-size: .68rem;
    font-weight: 800;
}

/* --- Offer: Gradient Green on Transparent ---
   The badge stays a small, quiet tint. The SCORE is carried by the bubble behind it - see
   .cv-bubble.cv-offer further down - so a loud badge would say the same thing twice. */
.cv-ai-offer[b-u9ulv0mpy9] {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.16) 0%, rgba(16, 185, 129, 0.08) 100%);
    border: 1px solid rgba(34, 197, 94, 0.38);
    color: #15803d;
    box-shadow: 0 1px 2px rgba(34, 197, 94, 0.10);
}

.cv-ai-offer.cv-ai-tier-high[b-u9ulv0mpy9] {
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.24) 0%, rgba(16, 185, 129, 0.14) 100%);
    border: 1px solid rgba(22, 163, 74, 0.50);
    color: #0f766e;
    box-shadow: 0 1px 4px rgba(22, 163, 74, 0.18);
}

.cv-ai-offer.cv-ai-tier-med[b-u9ulv0mpy9] {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.16) 0%, rgba(74, 222, 128, 0.08) 100%);
    border: 1px solid rgba(34, 197, 94, 0.35);
    color: #166534;
}

.cv-ai-offer.cv-ai-tier-low[b-u9ulv0mpy9] {
    background: linear-gradient(135deg, rgba(134, 239, 172, 0.18) 0%, rgba(220, 252, 231, 0.10) 100%);
    border: 1px solid rgba(74, 222, 128, 0.30);
    color: #15803d;
}

/* --- Meeting: Gradient Purple / Indigo on Transparent (Future-ready) --- */
.cv-ai-meeting[b-u9ulv0mpy9] {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.18) 0%, rgba(139, 92, 246, 0.10) 100%);
    border: 1px solid rgba(99, 102, 241, 0.40);
    color: #4338ca;
    box-shadow: 0 1px 3px rgba(99, 102, 241, 0.12);
}

/* --- Visit: Gradient Sky / Cyan on Transparent (Future-ready) --- */
.cv-ai-visit[b-u9ulv0mpy9] {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.18) 0%, rgba(6, 182, 212, 0.10) 100%);
    border: 1px solid rgba(14, 165, 233, 0.40);
    color: #0369a1;
    box-shadow: 0 1px 3px rgba(14, 165, 233, 0.12);
}

/* ---------------- Document bubbles ---------------- */
.cv-doc[b-u9ulv0mpy9] {
    display: flex; align-items: center; gap: 8px;
    margin: 4px 0 2px;
    padding: .4rem .5rem;
    background: #ffffff8c;
    border: 1px solid #0000000f;
    border-radius: 6px;
    cursor: pointer;
    min-width: 13rem;
}
.cv-doc:hover[b-u9ulv0mpy9] { background: #fff; }
.cv-doc-icon[b-u9ulv0mpy9] { font-size: 1.1rem; color: #5b7898; flex: 0 0 auto; }
.cv-doc-main[b-u9ulv0mpy9] { min-width: 0; flex: 1; }
.cv-doc-name[b-u9ulv0mpy9] { display: block; font-size: .72rem; font-weight: 600; color: #26364a; word-break: break-all; }
.cv-doc-meta[b-u9ulv0mpy9] { display: block; font-size: .6rem; color: #667781; }
.cv-doc-open[b-u9ulv0mpy9] { font-size: .7rem; color: #285eaa; flex: 0 0 auto; }

/* Not clickable, and looks it: the file was never stored, so there is nothing to open. */
.cv-doc-dead[b-u9ulv0mpy9] { background: #fdf6f4; border-color: #f0d9d1; cursor: help; }
.cv-doc-dead .cv-doc-meta[b-u9ulv0mpy9] { color: #7a2e17; }
.cv-warn[b-u9ulv0mpy9] { color: #64748b; margin-left: .3rem; }

/* ---------------- States ---------------- */
.cv-blank[b-u9ulv0mpy9] {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: .5rem;
    color: #7b8798; font-size: .78rem; text-align: center; padding: 1.5rem;
}
.cv-blank i[b-u9ulv0mpy9] { font-size: 1.6rem; opacity: .5; }
.cv-blank p[b-u9ulv0mpy9] { margin: 0; max-width: 34ch; }

.cv-earlier[b-u9ulv0mpy9] { text-align: center; padding: 4px 0 10px; }

/* Skeletons match the shape the content will take, so the thread does not jump when it arrives. */
.cv-skeleton[b-u9ulv0mpy9] { padding: 10px 4px; }
.cv-skel[b-u9ulv0mpy9] {
    height: 2.1rem; border-radius: 8px; margin: 8px 0;
    background: linear-gradient(90deg, #ffffff66 25%, #ffffffcc 37%, #ffffff66 63%);
    background-size: 400% 100%;
    animation: cv-shimmer-b-u9ulv0mpy9 1.3s ease-in-out infinite;
}
.cv-skel.l[b-u9ulv0mpy9] { width: 46%; margin-right: auto; }
.cv-skel.r[b-u9ulv0mpy9] { width: 38%; margin-left: auto; }

@keyframes cv-shimmer-b-u9ulv0mpy9 {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

/* Where WhatsApp's compose box would be. Stating it beats a disabled input, which reads as
   "not yet" and invites somebody to wire up sending the bridge must never do. */
.cv-readonly[b-u9ulv0mpy9] {
    display: flex; align-items: center; gap: 6px;
    flex-shrink: 0;
    padding: .45rem .8rem;
    background: #f0f2f5;
    border-top: 1px solid #dde3ea;
    font-size: .66rem;
    color: #667781;
}

/* ---------------- Mobile ---------------- */
@media (max-width: 820px) {
    .cv[b-u9ulv0mpy9] { grid-template-columns: 1fr; height: min(74vh, 640px); position: relative; }
    .cv-main[b-u9ulv0mpy9] {
        position: absolute; inset: 0;
        transform: translateX(100%);
        transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .cv.cv-open .cv-main[b-u9ulv0mpy9] { transform: translateX(0); }
    .cv-back[b-u9ulv0mpy9] { display: block; }
}

/* ---------------- Offer bubble tint ----------------

   THE WHOLE BUBBLE CARRIES THE SCORE, tinted continuously from --cv-offer-strength (0 to 1, mapped
   from the 60-100 the offer threshold allows). A thread can then be scanned for offers by colour
   alone, which is the thing a badge on its own cannot do - you have to stop and read each one.

   Continuous rather than three classes on purpose: bucketing makes 70 and 84 identical and 84 and 85
   a cliff, which misrepresents a score that is itself continuous. The strength arrives as an inline
   custom property because it is DATA; a class per percentage point would be forty rules that differ
   only by a number.

   Layered OVER the direction colour, never replacing it. .theirs is white and .mine is WhatsApp
   green, and that pairing is what tells you who sent the message - a tint that overwrote it would
   trade one signal for another rather than adding one. */
/* .cv-row IS IN THE SELECTOR FOR SPECIFICITY, not for nesting. ".cv-row.theirs .cv-bubble" above
   sets `background` as a SHORTHAND, which resets background-image to none; at two classes this rule
   would lose to it and the tint would silently never appear. Three classes ties, and later wins. */
.cv-row .cv-bubble.cv-offer[b-u9ulv0mpy9] {
    background-image:
        linear-gradient(135deg,
            rgba(16, 185, 129, calc(0.08 + 0.30 * var(--cv-offer-strength, 0))) 0%,
            rgba(16, 185, 129, calc(0.02 + 0.10 * var(--cv-offer-strength, 0))) 55%,
            rgba(16, 185, 129, 0) 100%);

    /* Scales with the score too, so a strong offer sits slightly proud of the thread. */
    box-shadow:
        0 1px 0.5px rgba(0, 0, 0, .13),
        0 0 0 1px rgba(16, 185, 129, calc(0.10 + 0.35 * var(--cv-offer-strength, 0)));
}

/* The selection ring must still win. Picking a message is an action the user just took, and it has
   to be unambiguous even on the most strongly tinted bubble in the thread. */
.cv-row .cv-bubble.cv-offer.picked[b-u9ulv0mpy9] {
    box-shadow: 0 0 0 2px #285eaa, 0 1px 0.5px rgba(0, 0, 0, .13);
}

/* ---------------- Draft chip beside a bubble ----------------

   Sits in the empty margin next to the message rather than inside it: inside, it would compete with
   what the supplier actually sent, and out here it reads as what it is - something WE made from that
   message.

   Indigo, not the offer green. The tint behind is a SCORE; this is a record that something exists,
   and a draft with zero items wears this chip too. */
.cv-draftchip[b-u9ulv0mpy9] {
    align-self: flex-end;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin: 0 0 .15rem .4rem;
    padding: .12rem .45rem;
    border-radius: 999px;
    border: 1px solid rgba(99, 102, 241, 0.38);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.16) 0%, rgba(139, 92, 246, 0.08) 100%);
    color: #4338ca;
    font-size: .64rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all .15s ease;
}

.cv-draftchip:hover[b-u9ulv0mpy9] {
    border-color: rgba(99, 102, 241, 0.6);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.26) 0%, rgba(139, 92, 246, 0.14) 100%);
}

.cv-draftchip:focus-visible[b-u9ulv0mpy9] { outline: 2px solid #6366f1; outline-offset: 1px; }

.cv-draftchip-bad[b-u9ulv0mpy9] {
    border-color: rgba(220, 38, 38, 0.38);
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.14) 0%, rgba(248, 113, 113, 0.07) 100%);
    color: #b91c1c;
}

.cv-draftchip-spin[b-u9ulv0mpy9] {
    width: .6rem;
    height: .6rem;
    border: 2px solid rgba(99, 102, 241, 0.25);
    border-top-color: #6366f1;
    border-radius: 50%;
    animation: cv-draftchip-spin-b-u9ulv0mpy9 .7s linear infinite;
}

@keyframes cv-draftchip-spin-b-u9ulv0mpy9 { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .cv-draftchip-spin[b-u9ulv0mpy9] { animation-duration: 2.4s; }
}

/* On a phone the margin the chip lives in is gone, so it wraps under the bubble instead of
   squeezing it. */
@media (max-width: 640px) {
    .cv-row[b-u9ulv0mpy9] { flex-wrap: wrap; }
    .cv-draftchip[b-u9ulv0mpy9] { margin-left: 0; margin-top: .2rem; }
}
/* /Components/Pages/Administration/IntakeRulesSection.razor.rz.scp.css */
/* The "Intake rules" section of /approvalFlowSetup. Same card / form language as the page above it;
   copied rather than inherited because Blazor CSS isolation scopes each component's rules to itself. */
.ir-card[b-6pguhc0n5f]{margin-top:1rem;background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-list-head[b-6pguhc0n5f]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-radius:13px 13px 0 0}
.admin-list-head h2[b-6pguhc0n5f]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-6pguhc0n5f]{font-size:.68rem;color:var(--text-muted)}
.ir-empty[b-6pguhc0n5f]{padding:1.4rem 1rem;color:#7b8798;font-size:.78rem;display:flex;gap:.5rem;align-items:center}

.ir-table[b-6pguhc0n5f]{font-size:.74rem;margin:0}
.ir-table th[b-6pguhc0n5f]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap}
.ir-table td[b-6pguhc0n5f]{vertical-align:middle;color:#334155}
.ir-table tbody tr[b-6pguhc0n5f]{cursor:pointer}
.ir-table tbody tr:hover[b-6pguhc0n5f]{background:#f5f9fd}
.ir-table tr.is-off td[b-6pguhc0n5f]{color:#94a3b8}
.ir-table code[b-6pguhc0n5f]{font-size:.66rem;color:#64748b;margin-left:.3rem}
.ir-table .num[b-6pguhc0n5f]{text-align:right;white-space:nowrap}
.ir-table .act[b-6pguhc0n5f]{width:2rem;text-align:right}
.ir-pill[b-6pguhc0n5f]{border-radius:999px;padding:.08rem .45rem;font-size:.6rem;font-weight:700;margin-left:.35rem}
.ir-pill.off[b-6pguhc0n5f]{background:#f1f5f9;color:#64748b}
.ir-muted[b-6pguhc0n5f]{color:#7b8798;font-size:.68rem}
.ir-warn[b-6pguhc0n5f]{color:#b45309;font-weight:700}

.ir-form[b-6pguhc0n5f]{padding:1rem}
.ir-form fieldset[b-6pguhc0n5f]{border:1px solid #e3eaf3;border-radius:10px;padding:.75rem .9rem .9rem;margin-bottom:.9rem}
.ir-form legend[b-6pguhc0n5f]{float:none;width:auto;font-size:.72rem;font-weight:800;color:#1d3f72;text-transform:uppercase;letter-spacing:.04em;padding:0 .35rem;margin:0}
.admin-form-grid[b-6pguhc0n5f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1.1rem;align-items:start}
.admin-field label[b-6pguhc0n5f]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.25rem}
.admin-field b[b-6pguhc0n5f]{color:#dc3545}
.admin-field-wide[b-6pguhc0n5f]{grid-column:span 2}
.admin-field .form-control[b-6pguhc0n5f],.admin-field .form-select[b-6pguhc0n5f]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:disabled[b-6pguhc0n5f]{background-color:#eef2f7;color:#7b8798}
.admin-check[b-6pguhc0n5f]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.dt-hint[b-6pguhc0n5f]{display:block;font-size:.66rem;color:#7b8798;margin-top:.25rem}
.admin-actions[b-6pguhc0n5f]{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}

.ir-deadline[b-6pguhc0n5f]{display:grid;grid-template-columns:5rem 1fr;gap:.4rem}
.ir-tokens[b-6pguhc0n5f]{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.35rem}
.ir-token[b-6pguhc0n5f]{border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:999px;padding:.05rem .5rem;font-size:.66rem;font-family:ui-monospace,monospace}
.ir-token:hover[b-6pguhc0n5f]{background:#dbeafe}

@media(max-width:900px){.admin-form-grid[b-6pguhc0n5f]{grid-template-columns:1fr 1fr}.admin-field-wide[b-6pguhc0n5f]{grid-column:span 2}}
@media(max-width:650px){.admin-form-grid[b-6pguhc0n5f]{grid-template-columns:1fr}.admin-field-wide[b-6pguhc0n5f]{grid-column:span 1}.admin-list-head[b-6pguhc0n5f]{flex-direction:column;align-items:stretch;gap:.6rem}}
/* /Components/Pages/Administration/MenuSetup.razor.rz.scp.css */
.admin-breadcrumb[b-p6mf7rwpsk]{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.78rem;margin-bottom:1rem}.admin-breadcrumb strong[b-p6mf7rwpsk]{color:var(--brand-navy)}.admin-page[b-p6mf7rwpsk]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-head[b-p6mf7rwpsk]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-eyebrow[b-p6mf7rwpsk]{font-size:.66rem;letter-spacing:.15em;font-weight:800;color:var(--brand-gold)}.admin-head h1[b-p6mf7rwpsk]{font-size:1.55rem;color:var(--brand-navy);margin:.1rem 0}.admin-head p[b-p6mf7rwpsk]{margin:0;color:var(--text-muted);font-size:.85rem}.admin-form-card[b-p6mf7rwpsk],.admin-list-card[b-p6mf7rwpsk]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-card[b-p6mf7rwpsk]{padding:1rem;margin-bottom:1rem}.admin-form-grid[b-p6mf7rwpsk]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-p6mf7rwpsk],.permission-picker>label[b-p6mf7rwpsk]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-p6mf7rwpsk]{color:#dc3545}.admin-field .form-control[b-p6mf7rwpsk],.admin-field .form-select[b-p6mf7rwpsk]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-check[b-p6mf7rwpsk]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}.permission-picker[b-p6mf7rwpsk]{border-top:1px solid #edf0f4;margin-top:1rem;padding-top:1rem}.permission-options[b-p6mf7rwpsk]{display:flex;flex-wrap:wrap;gap:.45rem}.permission-option[b-p6mf7rwpsk]{display:flex;align-items:center;gap:.4rem;border:1px solid #dce3ec;border-radius:8px;padding:.45rem .6rem;font-size:.72rem;color:#475569;cursor:pointer}.permission-option.selected[b-p6mf7rwpsk]{background:#eef7ff;border-color:#80b9df;color:#075985}.permission-option small[b-p6mf7rwpsk]{background:#e2e8f0;border-radius:4px;padding:.08rem .3rem;font-size:.58rem}.admin-actions[b-p6mf7rwpsk]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.admin-list-head[b-p6mf7rwpsk]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-p6mf7rwpsk]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-p6mf7rwpsk]{font-size:.68rem;color:var(--text-muted)}.admin-search[b-p6mf7rwpsk]{position:relative}.admin-search i[b-p6mf7rwpsk]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.admin-search input[b-p6mf7rwpsk]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}.admin-table[b-p6mf7rwpsk]{font-size:.72rem;margin:0}.admin-table th[b-p6mf7rwpsk]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap}.admin-table td[b-p6mf7rwpsk]{vertical-align:middle;color:#334155}.admin-table td small[b-p6mf7rwpsk]{display:block;color:#94a3b8}.admin-table code[b-p6mf7rwpsk]{color:#075985}.type-pill[b-p6mf7rwpsk]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}.row-actions[b-p6mf7rwpsk]{display:flex;gap:.2rem}.row-actions button[b-p6mf7rwpsk]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}.row-actions button.danger[b-p6mf7rwpsk]{color:#dc3545}@media(max-width:900px){.admin-form-grid[b-p6mf7rwpsk]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-p6mf7rwpsk]{padding:.75rem}.admin-head[b-p6mf7rwpsk],.admin-list-head[b-p6mf7rwpsk]{flex-direction:column;gap:.75rem}.admin-form-grid[b-p6mf7rwpsk]{grid-template-columns:1fr}.admin-search[b-p6mf7rwpsk],.admin-search input[b-p6mf7rwpsk]{width:100%}}
/* HNBG palette alignment */
.admin-page[b-p6mf7rwpsk]{background:#dfe7f1;border-color:#cbd7e5}
.admin-form-card[b-p6mf7rwpsk],.admin-list-card[b-p6mf7rwpsk]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-p6mf7rwpsk],.admin-field .form-select[b-p6mf7rwpsk],.admin-search input[b-p6mf7rwpsk]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-p6mf7rwpsk],.admin-field .form-select:focus[b-p6mf7rwpsk],.admin-search input:focus[b-p6mf7rwpsk]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-p6mf7rwpsk]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-table th[b-p6mf7rwpsk]{background:#e9f0f8;color:#415872;border-bottom-color:#cedae8}
.permission-option[b-p6mf7rwpsk]{border-color:#cbd8e6;background:#fbfdff}.permission-option.selected[b-p6mf7rwpsk]{background:#e1effe;border-color:#6e9fd2;color:#174f86}

/* ---- Navigation structure: top-bar preview, legend, and the grouped tree ---- */
.nav-preview[b-p6mf7rwpsk]{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid #e3ebf4;background:#f4f8fd}
.np-label[b-p6mf7rwpsk]{flex:0 0 auto;font-size:.6rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8496ad}
.np-strip[b-p6mf7rwpsk]{display:flex;flex-wrap:wrap;gap:.3rem;padding:.3rem .45rem;border-radius:7px;background:linear-gradient(105deg,#2d66b3,#285eaa 52%,#1d4d8d);box-shadow:inset 0 -3px 0 #e5252a}
.np-item[b-p6mf7rwpsk]{display:inline-flex;align-items:center;gap:.32rem;padding:.3rem .5rem;border-radius:5px;color:#e7f0fc;font-size:.68rem;font-weight:650;white-space:nowrap}
.np-item .bi[b-p6mf7rwpsk]{color:#c4d9f3;font-size:.72rem}
.np-item.is-group[b-p6mf7rwpsk]{background:rgba(255,255,255,.14);color:#fff}
.np-caret[b-p6mf7rwpsk]{font-size:.55rem}
.np-empty[b-p6mf7rwpsk]{color:#c4d9f3;font-size:.68rem;padding:.3rem .5rem}

.nav-legend[b-p6mf7rwpsk]{display:flex;flex-wrap:wrap;gap:.45rem .95rem;padding:.6rem 1rem;border-bottom:1px solid #e8edf3;background:#fbfdff;font-size:.66rem;color:#5c6c81}
.nav-legend span[b-p6mf7rwpsk]{display:inline-flex;align-items:center;gap:.35rem}
.nav-legend b[b-p6mf7rwpsk]{color:#274a75;font-weight:800}
.nav-legend .bi[b-p6mf7rwpsk]{color:#3975bd}
.nav-legend .nl-note[b-p6mf7rwpsk]{color:#7b8798}
.nav-legend .nl-note .bi[b-p6mf7rwpsk]{color:#9aa8ba}

.menu-tree[b-p6mf7rwpsk]{padding:.5rem}
.mt-branch[b-p6mf7rwpsk]{border:1px solid #dbe5f0;border-radius:10px;margin-bottom:.45rem;overflow:hidden;background:#fff}
.mt-branch.is-group[b-p6mf7rwpsk]{border-color:#c6d8ec}
.mt-branch:last-child[b-p6mf7rwpsk]{margin-bottom:0}
.mt-row[b-p6mf7rwpsk]{display:grid;grid-template-columns:22px minmax(0,1.5fr) minmax(0,1.3fr) auto auto;gap:.6rem;align-items:center;padding:.5rem .7rem;font-size:.72rem;color:#334155}
.mt-parent[b-p6mf7rwpsk]{background:#eef4fb}
.mt-branch.is-leaf .mt-parent[b-p6mf7rwpsk]{background:#fff}
.mt-child[b-p6mf7rwpsk]{border-top:1px solid #eef2f7;padding-left:1.5rem}
.mt-child:hover[b-p6mf7rwpsk],.mt-parent:hover[b-p6mf7rwpsk]{background:#e6f0fb}
.mt-kind[b-p6mf7rwpsk]{color:#5b8fc9;font-size:.82rem;line-height:1}
.mt-branch.is-leaf .mt-kind[b-p6mf7rwpsk]{color:#8aa0b8}
.mt-name[b-p6mf7rwpsk]{display:flex;align-items:baseline;gap:.4rem;min-width:0}
.mt-name strong[b-p6mf7rwpsk]{color:#1d3f72;font-weight:750}
.mt-name small[b-p6mf7rwpsk]{color:#93a2b5;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-ico[b-p6mf7rwpsk]{color:#5b8fc9;font-size:.75rem}
.mt-route[b-p6mf7rwpsk]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-route code[b-p6mf7rwpsk]{color:#075985;font-size:.68rem}
.mt-container[b-p6mf7rwpsk]{color:#8f9dae;font-size:.65rem;font-style:normal;background:#f1f5f9;border-radius:4px;padding:.1rem .35rem}
.mt-warn[b-p6mf7rwpsk]{color:#b45309;font-size:.65rem;font-style:normal;background:#fef3c7;border-radius:4px;padding:.1rem .35rem}
.mt-meta[b-p6mf7rwpsk]{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.mt-order[b-p6mf7rwpsk]{color:#9aa8ba;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-p6mf7rwpsk]{background:#f1f5f9;color:#64748b}
.type-pill.mobile[b-p6mf7rwpsk]{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}
.mt-none[b-p6mf7rwpsk]{padding:1.25rem;margin:0;text-align:center;color:#8a97a8;font-size:.74rem}

@media(max-width:900px){
  .mt-row[b-p6mf7rwpsk]{grid-template-columns:20px minmax(0,1fr) auto;row-gap:.25rem}
  .mt-route[b-p6mf7rwpsk]{grid-column:2/-1}
  .mt-meta[b-p6mf7rwpsk]{grid-column:2/3}
}
@media(max-width:650px){
  .nav-preview[b-p6mf7rwpsk]{flex-direction:column;align-items:flex-start;gap:.4rem}
  .np-strip[b-p6mf7rwpsk]{width:100%}
}

/* A page nested past two levels renders nowhere in the top bar — make that loud here, since this
   is the only screen that can move it back. */
.mt-alert[b-p6mf7rwpsk]{display:flex;align-items:flex-start;gap:.5rem;margin:.6rem 1rem 0;padding:.6rem .75rem;border:1px solid #f0d089;border-radius:9px;background:#fef8e7;color:#7c5310;font-size:.7rem;line-height:1.45}
.mt-alert .bi[b-p6mf7rwpsk]{color:#c98a12;margin-top:.05rem}
.mt-alert b[b-p6mf7rwpsk]{color:#5f3f0a}
.mt-buried[b-p6mf7rwpsk]{border-top:1px solid #f4e6c4;background:#fffaf0;padding-left:2.5rem}
.mt-buried:hover[b-p6mf7rwpsk]{background:#fef6e4}
.mt-buried .mt-kind[b-p6mf7rwpsk]{color:#c98a12}
.type-pill.danger[b-p6mf7rwpsk]{background:#fdecc8;color:#8a5a0b}

/* ---- Permission picker guidance ---- */
.pp-help[b-p6mf7rwpsk]{margin:-.05rem 0 .6rem;font-size:.68rem;line-height:1.55;color:#5c6c81;max-width:70ch}
.pp-help code[b-p6mf7rwpsk]{background:#eef4fb;border-radius:4px;padding:.06rem .3rem;color:#1d3f72;font-size:.66rem}
.pp-help b[b-p6mf7rwpsk]{color:#274a75}
.pp-help a[b-p6mf7rwpsk]{color:#1472b8}
.pp-warn[b-p6mf7rwpsk]{display:flex;align-items:flex-start;gap:.45rem;margin:0 0 .6rem;padding:.5rem .65rem;border:1px solid #f0d089;border-radius:8px;background:#fef8e7;color:#7c5310;font-size:.68rem;line-height:1.5;max-width:70ch}
.pp-warn .bi[b-p6mf7rwpsk]{flex:0 0 auto;color:#c98a12;margin-top:.1rem}
.pp-warn span[b-p6mf7rwpsk]{flex:1;min-width:0}
.pp-warn b[b-p6mf7rwpsk]{color:#5f3f0a}

/* ---- Inline delete confirm / blocked notice, anchored to the row that raised it ---- */
.mt-confirm[b-p6mf7rwpsk],.mt-blocked[b-p6mf7rwpsk]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3}
.mt-confirm[b-p6mf7rwpsk]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-p6mf7rwpsk]{color:#c0392b}
.mt-confirm b[b-p6mf7rwpsk]{color:#6d1f1f}
.mt-blocked[b-p6mf7rwpsk]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-p6mf7rwpsk]{color:#c98a12}
.mt-confirm span[b-p6mf7rwpsk],.mt-blocked span[b-p6mf7rwpsk]{flex:1;min-width:0}
.mc-yes[b-p6mf7rwpsk],.mc-no[b-p6mf7rwpsk]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-p6mf7rwpsk]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-p6mf7rwpsk]{background:#a83226}
.mc-yes:disabled[b-p6mf7rwpsk]{opacity:.6;cursor:default}
.mc-no[b-p6mf7rwpsk]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-p6mf7rwpsk]{background:#f1f5f9}
/* /Components/Pages/Administration/OfferDraftList.razor.rz.scp.css */
/* The drafts list panel.

   Blazor scoped CSS: these selectors reach only markup declared in OfferDraftList.razor. */

.odl-backdrop[b-3curd6pt9v] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    z-index: 1055;
}

.odl[b-3curd6pt9v] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(760px, calc(100vw - 2rem));
    max-height: calc(100vh - 3rem);
    background: #fff;
    border-radius: .6rem;
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, .25);
    z-index: 1056;

    /* min-height:0 on the flex child is load-bearing: without it the body refuses to shrink below
       its content and the panel grows past the viewport instead of scrolling inside itself. */
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.odl-head[b-3curd6pt9v] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem .75rem;
    border-bottom: 1px solid #e5e7eb;
    flex: 0 0 auto;
}

.odl-title[b-3curd6pt9v] { font-size: 1.05rem; font-weight: 600; margin: 0; color: #111827; }
.odl-sub[b-3curd6pt9v]   { margin: .15rem 0 0; font-size: .82rem; color: #6b7280; }
.odl-dot[b-3curd6pt9v]   { margin: 0 .3rem; color: #d1d5db; }

.odl-x[b-3curd6pt9v] {
    border: 0; background: transparent; color: #6b7280;
    font-size: 1rem; line-height: 1; padding: .35rem .5rem;
    border-radius: .35rem; cursor: pointer;
}
.odl-x:hover[b-3curd6pt9v] { background: #f3f4f6; color: #111827; }

.odl-body[b-3curd6pt9v] { overflow-y: auto; min-height: 0; flex: 1 1 auto; }

.odl-state[b-3curd6pt9v] { text-align: center; padding: 2.5rem 1rem; color: #4b5563; }
.odl-state i[b-3curd6pt9v] { font-size: 1.6rem; display: block; margin-bottom: .6rem; color: #9ca3af; }
.odl-state-title[b-3curd6pt9v] { font-weight: 600; color: #111827; margin: 0 0 .25rem; }
.odl-state-bad i[b-3curd6pt9v] { color: #b91c1c; }
.odl-muted[b-3curd6pt9v] { color: #6b7280; font-size: .85rem; margin: 0; }

.odl-spinner[b-3curd6pt9v] {
    width: 1.5rem; height: 1.5rem; margin: 0 auto .7rem;
    border: 2px solid #e5e7eb; border-top-color: #2563eb;
    border-radius: 50%; animation: odl-spin-b-3curd6pt9v .7s linear infinite;
}
.odl-spinner-sm[b-3curd6pt9v] { width: .9rem; height: .9rem; margin: 0; border-width: 2px; }

@keyframes odl-spin-b-3curd6pt9v { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .odl-spinner[b-3curd6pt9v] { animation-duration: 2.4s; }
}

/* ---- rows ---- */

.odl-list[b-3curd6pt9v] { list-style: none; margin: 0; padding: 0; }

.odl-row[b-3curd6pt9v] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .75rem;
    text-align: left;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #f3f4f6;
    padding: .7rem 1.25rem;
    cursor: pointer;
}

.odl-row:hover[b-3curd6pt9v] { background: #f9fafb; }

/* Keyboard users get the same affordance the mouse gets. The row is the control, so the ring goes
   on the row rather than being suppressed. */
.odl-row:focus-visible[b-3curd6pt9v] { outline: 2px solid #2563eb; outline-offset: -2px; background: #f9fafb; }

.odl-badge[b-3curd6pt9v] {
    flex: 0 0 auto;
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
    padding: .18rem .45rem;
    border-radius: .25rem;
    min-width: 5.2rem;
    text-align: center;
}

.odl-ok[b-3curd6pt9v]   { background: #dcfce7; color: #166534; }
.odl-bad[b-3curd6pt9v]  { background: #fee2e2; color: #991b1b; }
.odl-work[b-3curd6pt9v] { background: #dbeafe; color: #1e40af; }
.odl-done[b-3curd6pt9v] { background: #e0e7ff; color: #3730a3; }
.odl-off[b-3curd6pt9v]  { background: #f3f4f6; color: #6b7280; }

.odl-main[b-3curd6pt9v] { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .12rem; }

.odl-who[b-3curd6pt9v] {
    font-size: .86rem;
    color: #111827;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.odl-group[b-3curd6pt9v] { color: #4b5563; font-weight: 400; }

.odl-meta[b-3curd6pt9v] { font-size: .75rem; color: #9ca3af; }

/* The reason a draft has no lines. Muted, because on a Ready draft it is a finding rather than a
   problem -- the failure variant below is the one that gets colour. */
.odl-why[b-3curd6pt9v] {
    font-size: .76rem;
    color: #6b7280;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: .1rem;
}

.odl-why-bad[b-3curd6pt9v] { color: #b91c1c; }

.odl-count[b-3curd6pt9v] {
    flex: 0 0 auto;
    text-align: right;
    min-width: 3.4rem;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.odl-n[b-3curd6pt9v] { font-size: 1rem; font-weight: 600; color: #111827; line-height: 1.1; }
.odl-nlabel[b-3curd6pt9v] { font-size: .68rem; color: #9ca3af; }

.odl-chev[b-3curd6pt9v] { flex: 0 0 auto; color: #d1d5db; font-size: .8rem; }

.odl-foot[b-3curd6pt9v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    border-radius: 0 0 .6rem .6rem;
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .odl[b-3curd6pt9v] { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); }
    .odl-head[b-3curd6pt9v], .odl-foot[b-3curd6pt9v] { padding-left: .8rem; padding-right: .8rem; }
    .odl-row[b-3curd6pt9v] { padding-left: .8rem; padding-right: .8rem; }
    /* The badge's fixed width is the first thing to give on a phone. */
    .odl-badge[b-3curd6pt9v] { min-width: auto; }
    .odl-nlabel[b-3curd6pt9v] { display: none; }
}

/* A draft nobody asked for. Marked rather than blank: the reviewer needs to know a document was
   uploaded without a person deciding, and an empty space says nothing at all. */
.odl-auto[b-3curd6pt9v] {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    color: #7c3aed;
    font-weight: 600;
}

.odl-auto i[b-3curd6pt9v] { font-size: .66rem; }
/* /Components/Pages/Administration/OfferDraftPanel.razor.rz.scp.css */
/* Review panel for an extracted offer draft.

   Blazor scoped CSS: these selectors only reach markup declared in OfferDraftPanel.razor. Anything
   built through RenderTreeBuilder would come out unstyled -- the trap that made the connection
   page's health tiles render as run-together text. */

.odp-backdrop[b-bhl93rkzzo] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, .45);
    z-index: 1055;
}

.odp[b-bhl93rkzzo] {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(1100px, calc(100vw - 2rem));
    /* Capped rather than sized to content: a catalogue extraction can be forty lines, and a dialog
       taller than the viewport puts its own close button off-screen. */
    max-height: calc(100vh - 3rem);
    background: #fff;
    border-radius: .6rem;
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, .25);
    z-index: 1056;

    /* The scroll chain. display:flex plus min-height:0 on the scrolling child is load-bearing:
       without min-height:0 the body's default min-height:auto refuses to shrink below its content
       and the panel grows past the viewport instead of scrolling inside it. */
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.odp-head[b-bhl93rkzzo] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem .75rem;
    border-bottom: 1px solid #e5e7eb;
    flex: 0 0 auto;
}

.odp-title[b-bhl93rkzzo] {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
    color: #111827;
}

.odp-sub[b-bhl93rkzzo] {
    margin: .15rem 0 0;
    font-size: .82rem;
    color: #6b7280;
}

.odp-dot[b-bhl93rkzzo] { margin: 0 .35rem; color: #d1d5db; }

.odp-x[b-bhl93rkzzo] {
    border: 0;
    background: transparent;
    color: #6b7280;
    font-size: 1rem;
    line-height: 1;
    padding: .35rem .5rem;
    border-radius: .35rem;
    cursor: pointer;
}

.odp-x:hover[b-bhl93rkzzo] { background: #f3f4f6; color: #111827; }

.odp-body[b-bhl93rkzzo] {
    padding: 1rem 1.25rem;
    overflow-y: auto;
    /* See the scroll chain note above. */
    min-height: 0;
    flex: 1 1 auto;
}

/* ---- states ---- */

.odp-state[b-bhl93rkzzo] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #4b5563;
}

.odp-state i[b-bhl93rkzzo] { font-size: 1.6rem; display: block; margin-bottom: .6rem; }

.odp-state-title[b-bhl93rkzzo] {
    font-weight: 600;
    color: #111827;
    margin: 0 0 .25rem;
}

.odp-muted[b-bhl93rkzzo] { color: #6b7280; font-size: .85rem; margin: 0 0 .75rem; }

.odp-state-bad i[b-bhl93rkzzo] { color: #b91c1c; }

/* Deliberately NOT the error treatment. "This is a letter of credit, not an offer" is a correct
   answer to the question that was asked; painting it red would report a success as a breakage. */
.odp-state-none i[b-bhl93rkzzo] { color: #2563eb; }

.odp-spinner[b-bhl93rkzzo] {
    width: 1.6rem;
    height: 1.6rem;
    margin: 0 auto .7rem;
    border: 2px solid #e5e7eb;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: odp-spin-b-bhl93rkzzo .7s linear infinite;
}

@keyframes odp-spin-b-bhl93rkzzo { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .odp-spinner[b-bhl93rkzzo] { animation-duration: 2.4s; }
}

.odp-note[b-bhl93rkzzo] {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    border-radius: .4rem;
    padding: .5rem .7rem;
    font-size: .82rem;
    margin: 0 0 .8rem;
}

/* ---- the grid ---- */

/* Its own scroller. Nine columns do not fit a phone, and a table that widens the page body instead
   of scrolling inside itself breaks every other layout on the screen. */
.odp-tablewrap[b-bhl93rkzzo] {
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: .4rem;
}

.odp-table[b-bhl93rkzzo] {
    width: 100%;
    border-collapse: collapse;
    font-size: .84rem;

    /* NINE COLUMNS NEED ROOM, and without a floor they take it from the widest one. Left to size
       itself the table squeezed the product name to about 60px, so "Allergina Foaming Body Wash
       Bottle" wrapped to one word per line and a single row stood 180px tall - the Japanese name
       broke mid-run underneath it. The wrapper above scrolls horizontally, so a minimum here costs a
       sideways scroll on a narrow panel and buys a readable table everywhere. */
    min-width: 54rem;
}

/* The name column carries two scripts and needs the most room of the nine. Given explicitly rather
   than left to the browser's guess, which weights it by its longest unbreakable token - and a
   Japanese product name has no spaces to break on at all. */
.odp-product[b-bhl93rkzzo] { min-width: 15rem; }

.odp-table th[b-bhl93rkzzo] {
    text-align: left;
    font-weight: 600;
    color: #374151;
    background: #f9fafb;
    padding: .5rem .6rem;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.odp-table td[b-bhl93rkzzo] {
    padding: .5rem .6rem;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: top;
}

.odp-table tr:last-child td[b-bhl93rkzzo] { border-bottom: 0; }

.odp-col-num[b-bhl93rkzzo] { width: 2.2rem; color: #9ca3af; }

.odp-num[b-bhl93rkzzo] { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* The number the reviewer is actually deciding on -- what the supplier is asking of us. */
.odp-quoted[b-bhl93rkzzo] { font-weight: 600; color: #111827; }

.odp-name[b-bhl93rkzzo] { font-weight: 500; color: #111827; }

.odp-name-native[b-bhl93rkzzo] {
    color: #6b7280;
    font-size: .8rem;
    margin-top: .1rem;
}

.odp-linenote[b-bhl93rkzzo] {
    color: #92400e;
    font-size: .76rem;
    margin-top: .2rem;
}

.odp-code[b-bhl93rkzzo] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; color: #4b5563; }

/* NOT an empty cell and never a 0. An empty cell reads as "nobody filled this in"; a zero reads as a
   price the supplier quoted. The dash says the document did not state it. */
.odp-absent[b-bhl93rkzzo] { color: #d1d5db; }

/* A line the model returned with a name and nothing else. Marked rather than hidden -- the reviewer
   should see that it came back empty, not be shown fewer lines than were actually returned. */
.odp-bare[b-bhl93rkzzo] { background: #fffbeb; }

.odp-src[b-bhl93rkzzo] { white-space: nowrap; }

.odp-srcbtn[b-bhl93rkzzo] {
    border: 0;
    background: transparent;
    color: #2563eb;
    padding: 0;
    font-size: .78rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    max-width: 12rem;
}

.odp-srcbtn span[b-bhl93rkzzo] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.odp-srcbtn:hover[b-bhl93rkzzo] { text-decoration: underline; }

.odp-srctext[b-bhl93rkzzo] { color: #6b7280; font-size: .78rem; }

.odp-disclaimer[b-bhl93rkzzo] {
    margin: .8rem 0 0;
    font-size: .8rem;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: .4rem;
    padding: .5rem .7rem;
}

/* ---- footer ---- */

.odp-foot[b-bhl93rkzzo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1.25rem;
    border-top: 1px solid #e5e7eb;
    background: #f9fafb;
    border-radius: 0 0 .6rem .6rem;
    flex: 0 0 auto;
}

.odp-provenance[b-bhl93rkzzo] { font-size: .75rem; color: #9ca3af; }

.odp-actions[b-bhl93rkzzo] { display: flex; gap: .5rem; }

@media (max-width: 640px) {
    .odp[b-bhl93rkzzo] { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); }
    .odp-head[b-bhl93rkzzo], .odp-body[b-bhl93rkzzo], .odp-foot[b-bhl93rkzzo] { padding-left: .8rem; padding-right: .8rem; }
}

/* ---------------- Confirm into a task ----------------

   Sits UNDER the item table, not in a separate step. The person filling this in is deciding on the
   figures directly above it, and a form on its own screen would take those numbers away at exactly
   the moment they matter. */
.odp-confirm[b-bhl93rkzzo] {
    margin-top: 1rem;
    padding: .9rem 1rem;
    border: 1px solid #dbe5f0;
    border-radius: .5rem;
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.odp-confirm-title[b-bhl93rkzzo] {
    display: flex;
    align-items: center;
    gap: .4rem;
    margin: 0 0 .7rem;
    font-size: .88rem;
    font-weight: 600;
    color: #0b3160;
}

.odp-form[b-bhl93rkzzo] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: .6rem .8rem;
}

.odp-field[b-bhl93rkzzo] { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }

/* Title and the attach toggle read across the whole form rather than being boxed into one column. */
.odp-field-wide[b-bhl93rkzzo] { grid-column: 1 / -1; }

.odp-field > span[b-bhl93rkzzo] {
    font-size: .7rem;
    font-weight: 600;
    color: #415872;
}

.odp-check[b-bhl93rkzzo] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .78rem;
    color: #415872;
}

.odp-confirm-note[b-bhl93rkzzo] {
    margin: .7rem 0 0;
    font-size: .76rem;
    color: #1e40af;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: .35rem;
    padding: .45rem .6rem;
}

.odp-confirm-warn[b-bhl93rkzzo] {
    margin: .5rem 0 0;
    font-size: .76rem;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: .35rem;
    padding: .45rem .6rem;
}

/* A confirmed draft states its task instead of offering a button. Confirming twice would make a
   second task from one offer - a duplicate purchasing decision, not a duplicate row. */
.odp-done[b-bhl93rkzzo] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .8rem;
    font-weight: 600;
    color: #166534;
}

.odp-done i[b-bhl93rkzzo] { color: #16a34a; }

/* A refusal from the confirm call, shown in the footer beside the button that caused it rather than
   as a toast the user has to catch. */
.odp-formerror[b-bhl93rkzzo] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .76rem;
    color: #b91c1c;
    max-width: 26rem;
}

/* ---------------- Line editing ---------------- */

.odp-rowactions[b-bhl93rkzzo] { width: 5.5rem; white-space: nowrap; text-align: right; }

.odp-iconbtn[b-bhl93rkzzo] {
    border: 1px solid transparent;
    background: transparent;
    color: #6b7280;
    border-radius: .25rem;
    padding: .1rem .3rem;
    font-size: .76rem;
    line-height: 1.3;
    cursor: pointer;
}

.odp-iconbtn:hover[b-bhl93rkzzo] { background: #f3f4f6; color: #111827; border-color: #e5e7eb; }
.odp-iconbtn:disabled[b-bhl93rkzzo] { opacity: .5; cursor: default; }
.odp-iconbtn-ok[b-bhl93rkzzo] { color: #15803d; }
.odp-iconbtn-ok:hover[b-bhl93rkzzo] { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.odp-iconbtn-bad[b-bhl93rkzzo] { color: #b91c1c; }
.odp-iconbtn-bad:hover[b-bhl93rkzzo] { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

/* The row under edit is lifted out of the grid so it is obvious which one the inputs belong to. */
.odp-editing td[b-bhl93rkzzo] { background: #f8fbff; vertical-align: top; }

.odp-mt[b-bhl93rkzzo] { margin-top: .25rem; }

/* Numeric inputs keep the column's right alignment, so a price being edited still lines up with the
   prices above and below it -- which is how a reviewer sees that 449 should have been 499. */
.odp-numin[b-bhl93rkzzo] { text-align: right; min-width: 5.5rem; }
.odp-curin[b-bhl93rkzzo] { min-width: 4.5rem; }

.odp-lineerror[b-bhl93rkzzo] {
    color: #b91c1c;
    font-size: .78rem;
    padding: .35rem .6rem !important;
}

/* A figure a person changed. Marked so a reviewer can tell their own corrections from the model's
   output -- and so it is visible that a re-extraction will leave this line alone. */
.odp-edited[b-bhl93rkzzo] { color: #2563eb; font-size: .68rem; margin-right: .15rem; }

.odp-addrow[b-bhl93rkzzo] { margin-top: .6rem; }

/* The unit the document stated, under the pack size it shares a cell with. Quieter than the pack
   size on purpose: it is the smaller of the two facts and absent on most rows. */
.odp-unit[b-bhl93rkzzo] { margin-top: .15rem; font-size: .7rem; color: #64748b; }

/* 0174: declining a draft -- a reason, then the confirm. */
.odp-decline[b-bhl93rkzzo] { margin-top: .75rem; padding: .75rem; border: 1px solid #fecaca; background: #fff7f7; border-radius: 10px; }
.odp-decline label[b-bhl93rkzzo] { display: block; font-size: .72rem; font-weight: 700; color: #475569; margin-bottom: .3rem; }
.odp-decline label b[b-bhl93rkzzo] { color: #dc3545; }
.odp-decline-note[b-bhl93rkzzo] { font-size: .7rem; color: #7b8798; margin: .4rem 0 .6rem; }
/* /Components/Pages/Administration/OfficeSetup.razor.rz.scp.css */
/* Office Setup.
   Same shell as DesignationSetup: blue-gray workspace, white cards, blue-tinted card head, HNBG
   palette values reused verbatim so the two admin screens are indistinguishable in chrome. The
   office-specific pieces are prefixed .os-. */

/* ---- Workspace and cards ---- */
.admin-page[b-4lukfin3on]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-4lukfin3on],.admin-list-card[b-4lukfin3on]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-4lukfin3on]{padding:1rem;margin-bottom:1rem}

/* The one paragraph of guidance: the parent chain and the single main office are rules the form
   cannot show on its own. */

/* ---- Form ---- */
.admin-form-grid[b-4lukfin3on]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-4lukfin3on]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field label small[b-4lukfin3on]{font-weight:600;color:#8a97a8;font-size:.63rem}
.admin-field b[b-4lukfin3on]{color:#dc3545}
.admin-field .form-control[b-4lukfin3on],.admin-field .form-select[b-4lukfin3on]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-4lukfin3on],.admin-field .form-select:focus[b-4lukfin3on]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-4lukfin3on]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.os-checks[b-4lukfin3on]{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.4rem;min-height:36px}
.admin-actions[b-4lukfin3on]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* Consequence of the main-office toggle, stated before it is saved rather than after. */
.os-note[b-4lukfin3on]{display:flex;align-items:flex-start;gap:.45rem;margin:.85rem 0 0;padding:.5rem .65rem;border:1px solid #c6d8ec;border-radius:8px;background:#f2f7fd;color:#3d5470;font-size:.69rem;line-height:1.5;max-width:80ch}
.os-note .bi[b-4lukfin3on]{flex:0 0 auto;color:#3975bd;margin-top:.1rem}
.os-note.warn[b-4lukfin3on]{border-color:#f0d089;background:#fef8e7;color:#7c5310}
.os-note.warn .bi[b-4lukfin3on]{color:#c98a12}

/* ---- List head and search ---- */
.admin-list-head[b-4lukfin3on]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-4lukfin3on]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-4lukfin3on]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-4lukfin3on]{position:relative}
.admin-search i[b-4lukfin3on]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-4lukfin3on]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-4lukfin3on]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- The grouped list ---- */
.menu-tree[b-4lukfin3on]{padding:.5rem}
.mt-branch[b-4lukfin3on]{border:1px solid #dbe5f0;border-radius:10px;margin-bottom:.45rem;overflow:hidden;background:#fff}
.mt-branch.is-group[b-4lukfin3on]{border-color:#c6d8ec}
.mt-branch:last-child[b-4lukfin3on]{margin-bottom:0}
.mt-row[b-4lukfin3on]{display:grid;grid-template-columns:22px minmax(0,1.5fr) minmax(0,1.5fr) auto auto;gap:.6rem;align-items:center;padding:.5rem .7rem;font-size:.72rem;color:#334155}
.mt-parent[b-4lukfin3on]{background:#eef4fb}
.mt-child[b-4lukfin3on]{border-top:1px solid #eef2f7;padding-left:1.5rem}
.mt-child:hover[b-4lukfin3on],.mt-parent:hover[b-4lukfin3on]{background:#e6f0fb}
.mt-kind[b-4lukfin3on]{color:#5b8fc9;font-size:.82rem;line-height:1}
.mt-name[b-4lukfin3on]{display:flex;align-items:baseline;gap:.4rem;min-width:0}
.mt-name strong[b-4lukfin3on]{color:#1d3f72;font-weight:750}
.mt-name small[b-4lukfin3on]{color:#93a2b5;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-route[b-4lukfin3on]{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;min-width:0}
.mt-route code[b-4lukfin3on]{color:#075985;font-size:.68rem}
.mt-warn[b-4lukfin3on]{color:#b45309;font-size:.65rem;font-style:normal;background:#fef3c7;border-radius:4px;padding:.1rem .35rem}
.mt-meta[b-4lukfin3on]{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.mt-none[b-4lukfin3on]{padding:1.25rem;margin:0;text-align:center;color:#8a97a8;font-size:.74rem}

/* A deactivated office keeps its place and stays readable -- records still point at it, so hiding
   or greying it into illegibility would only make the reference look broken. */
.mt-child.is-off[b-4lukfin3on]{background:#fbfcfe}
.mt-child.is-off .mt-name strong[b-4lukfin3on]{color:#6b7d94}
.mt-child.is-off:hover[b-4lukfin3on]{background:#eef4fb}

.ds-tag[b-4lukfin3on]{font-style:normal;font-size:.63rem;background:#e8f0fa;color:#31527d;border-radius:4px;padding:.1rem .38rem}
.ds-unassigned[b-4lukfin3on]{color:#8a6d3b}
.os-place[b-4lukfin3on]{font-style:normal;color:#8a97a8;font-size:.65rem;display:inline-flex;align-items:center;gap:.22rem}

.type-pill[b-4lukfin3on]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-4lukfin3on]{background:#f1f5f9;color:#64748b}
/* Exactly one office carries this at a time, so it is the loudest thing in the row. */
.type-pill.main[b-4lukfin3on]{background:#1d3f72;color:#fff}

.row-actions[b-4lukfin3on]{display:flex;gap:.2rem;justify-content:flex-end}
.row-actions button[b-4lukfin3on]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-4lukfin3on]{color:#dc3545}

/* ---- Inline delete confirm / refusal, anchored to the row that raised it ---- */
.mt-confirm[b-4lukfin3on],.mt-blocked[b-4lukfin3on]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3}
.mt-confirm[b-4lukfin3on]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-4lukfin3on]{color:#c0392b}
.mt-blocked[b-4lukfin3on]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-4lukfin3on]{color:#c98a12}
.mt-confirm span[b-4lukfin3on],.mt-blocked span[b-4lukfin3on]{flex:1;min-width:0}
.os-inline-warn[b-4lukfin3on]{display:block;font-style:normal;color:#a4553d;font-size:.66rem;margin-top:.15rem}
.mc-yes[b-4lukfin3on],.mc-no[b-4lukfin3on]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-4lukfin3on]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-4lukfin3on]{background:#a83226}
.mc-yes:disabled[b-4lukfin3on]{opacity:.6;cursor:default}
.mc-no[b-4lukfin3on]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-4lukfin3on]{background:#f1f5f9}

/* ---- Empty state: with one seeded office this is close to the first thing anyone sees ---- */
.ds-empty[b-4lukfin3on]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-4lukfin3on]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-4lukfin3on]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-4lukfin3on]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

@media(max-width:900px){
  .admin-form-grid[b-4lukfin3on]{grid-template-columns:1fr 1fr}
  .mt-row[b-4lukfin3on]{grid-template-columns:20px minmax(0,1fr) auto;row-gap:.25rem}
  .mt-route[b-4lukfin3on]{grid-column:2/-1}
  .mt-meta[b-4lukfin3on]{grid-column:2/3}
}
@media(max-width:650px){
  .admin-page[b-4lukfin3on]{padding:.75rem}
  .admin-list-head[b-4lukfin3on]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-4lukfin3on]{grid-template-columns:1fr}
  .admin-search[b-4lukfin3on],.admin-search input[b-4lukfin3on]{width:100%}
  .mt-confirm[b-4lukfin3on],.mt-blocked[b-4lukfin3on]{flex-wrap:wrap}
}
/* /Components/Pages/Administration/OrgChart.razor.rz.scp.css */
.admin-breadcrumb[b-kz70wak2py]{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.78rem;margin-bottom:1rem}.admin-breadcrumb strong[b-kz70wak2py]{color:var(--brand-navy)}.admin-page[b-kz70wak2py]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-head[b-kz70wak2py]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-eyebrow[b-kz70wak2py]{font-size:.66rem;letter-spacing:.15em;font-weight:800;color:var(--brand-gold)}.admin-head h1[b-kz70wak2py]{font-size:1.55rem;color:var(--brand-navy);margin:.1rem 0}.admin-head p[b-kz70wak2py]{margin:0;color:var(--text-muted);font-size:.85rem}.admin-form-card[b-kz70wak2py],.admin-list-card[b-kz70wak2py]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-card[b-kz70wak2py]{padding:1rem;margin-bottom:1rem}.admin-form-grid[b-kz70wak2py]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-kz70wak2py],.permission-picker>label[b-kz70wak2py]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-kz70wak2py]{color:#dc3545}.admin-field .form-control[b-kz70wak2py],.admin-field .form-select[b-kz70wak2py]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-check[b-kz70wak2py]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}.permission-picker[b-kz70wak2py]{border-top:1px solid #edf0f4;margin-top:1rem;padding-top:1rem}.permission-options[b-kz70wak2py]{display:flex;flex-wrap:wrap;gap:.45rem}.permission-option[b-kz70wak2py]{display:flex;align-items:center;gap:.4rem;border:1px solid #dce3ec;border-radius:8px;padding:.45rem .6rem;font-size:.72rem;color:#475569;cursor:pointer}.permission-option.selected[b-kz70wak2py]{background:#eef7ff;border-color:#80b9df;color:#075985}.permission-option small[b-kz70wak2py]{background:#e2e8f0;border-radius:4px;padding:.08rem .3rem;font-size:.58rem}.admin-actions[b-kz70wak2py]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.admin-list-head[b-kz70wak2py]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-kz70wak2py]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-kz70wak2py]{font-size:.68rem;color:var(--text-muted)}.admin-search[b-kz70wak2py]{position:relative}.admin-search i[b-kz70wak2py]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.admin-search input[b-kz70wak2py]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}.admin-table[b-kz70wak2py]{font-size:.72rem;margin:0}.admin-table th[b-kz70wak2py]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap}.admin-table td[b-kz70wak2py]{vertical-align:middle;color:#334155}.admin-table td small[b-kz70wak2py]{display:block;color:#94a3b8}.admin-table code[b-kz70wak2py]{color:#075985}.type-pill[b-kz70wak2py]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}.row-actions[b-kz70wak2py]{display:flex;gap:.2rem}.row-actions button[b-kz70wak2py]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}.row-actions button.danger[b-kz70wak2py]{color:#dc3545}@media(max-width:900px){.admin-form-grid[b-kz70wak2py]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-kz70wak2py]{padding:.75rem}.admin-head[b-kz70wak2py],.admin-list-head[b-kz70wak2py]{flex-direction:column;gap:.75rem}.admin-form-grid[b-kz70wak2py]{grid-template-columns:1fr}.admin-search[b-kz70wak2py],.admin-search input[b-kz70wak2py]{width:100%}}
/* HNBG palette alignment */
.admin-page[b-kz70wak2py]{background:#dfe7f1;border-color:#cbd7e5}
.admin-form-card[b-kz70wak2py],.admin-list-card[b-kz70wak2py]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-kz70wak2py],.admin-field .form-select[b-kz70wak2py],.admin-search input[b-kz70wak2py]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-kz70wak2py],.admin-field .form-select:focus[b-kz70wak2py],.admin-search input:focus[b-kz70wak2py]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-kz70wak2py]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-table th[b-kz70wak2py]{background:#e9f0f8;color:#415872;border-bottom-color:#cedae8}
.permission-option[b-kz70wak2py]{border-color:#cbd8e6;background:#fbfdff}.permission-option.selected[b-kz70wak2py]{background:#e1effe;border-color:#6e9fd2;color:#174f86}

/* ---- Navigation structure: top-bar preview, legend, and the grouped tree ---- */
.nav-preview[b-kz70wak2py]{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid #e3ebf4;background:#f4f8fd}
.np-label[b-kz70wak2py]{flex:0 0 auto;font-size:.6rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#8496ad}
.np-strip[b-kz70wak2py]{display:flex;flex-wrap:wrap;gap:.3rem;padding:.3rem .45rem;border-radius:7px;background:linear-gradient(105deg,#2d66b3,#285eaa 52%,#1d4d8d);box-shadow:inset 0 -3px 0 #e5252a}
.np-item[b-kz70wak2py]{display:inline-flex;align-items:center;gap:.32rem;padding:.3rem .5rem;border-radius:5px;color:#e7f0fc;font-size:.68rem;font-weight:650;white-space:nowrap}
.np-item .bi[b-kz70wak2py]{color:#c4d9f3;font-size:.72rem}
.np-item.is-group[b-kz70wak2py]{background:rgba(255,255,255,.14);color:#fff}
.np-caret[b-kz70wak2py]{font-size:.55rem}
.np-empty[b-kz70wak2py]{color:#c4d9f3;font-size:.68rem;padding:.3rem .5rem}

.nav-legend[b-kz70wak2py]{display:flex;flex-wrap:wrap;gap:.45rem .95rem;padding:.6rem 1rem;border-bottom:1px solid #e8edf3;background:#fbfdff;font-size:.66rem;color:#5c6c81}
.nav-legend span[b-kz70wak2py]{display:inline-flex;align-items:center;gap:.35rem}
.nav-legend b[b-kz70wak2py]{color:#274a75;font-weight:800}
.nav-legend .bi[b-kz70wak2py]{color:#3975bd}
.nav-legend .nl-note[b-kz70wak2py]{color:#7b8798}
.nav-legend .nl-note .bi[b-kz70wak2py]{color:#9aa8ba}

.menu-tree[b-kz70wak2py]{padding:.5rem}
.mt-branch[b-kz70wak2py]{border:1px solid #dbe5f0;border-radius:10px;margin-bottom:.45rem;overflow:hidden;background:#fff}
.mt-branch.is-group[b-kz70wak2py]{border-color:#c6d8ec}
.mt-branch:last-child[b-kz70wak2py]{margin-bottom:0}
.mt-row[b-kz70wak2py]{display:grid;grid-template-columns:22px minmax(0,1.5fr) minmax(0,1.3fr) auto auto;gap:.6rem;align-items:center;padding:.5rem .7rem;font-size:.72rem;color:#334155}
.mt-parent[b-kz70wak2py]{background:#eef4fb}
.mt-branch.is-leaf .mt-parent[b-kz70wak2py]{background:#fff}
.mt-child[b-kz70wak2py]{border-top:1px solid #eef2f7;padding-left:1.5rem}
.mt-child:hover[b-kz70wak2py],.mt-parent:hover[b-kz70wak2py]{background:#e6f0fb}
.mt-kind[b-kz70wak2py]{color:#5b8fc9;font-size:.82rem;line-height:1}
.mt-branch.is-leaf .mt-kind[b-kz70wak2py]{color:#8aa0b8}
.mt-name[b-kz70wak2py]{display:flex;align-items:baseline;gap:.4rem;min-width:0}
.mt-name strong[b-kz70wak2py]{color:#1d3f72;font-weight:750}
.mt-name small[b-kz70wak2py]{color:#93a2b5;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-ico[b-kz70wak2py]{color:#5b8fc9;font-size:.75rem}
.mt-route[b-kz70wak2py]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-route code[b-kz70wak2py]{color:#075985;font-size:.68rem}
.mt-container[b-kz70wak2py]{color:#8f9dae;font-size:.65rem;font-style:normal;background:#f1f5f9;border-radius:4px;padding:.1rem .35rem}
.mt-warn[b-kz70wak2py]{color:#b45309;font-size:.65rem;font-style:normal;background:#fef3c7;border-radius:4px;padding:.1rem .35rem}
.mt-meta[b-kz70wak2py]{display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.mt-order[b-kz70wak2py]{color:#9aa8ba;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-kz70wak2py]{background:#f1f5f9;color:#64748b}
.mt-none[b-kz70wak2py]{padding:1.25rem;margin:0;text-align:center;color:#8a97a8;font-size:.74rem}

@media(max-width:900px){
  .mt-row[b-kz70wak2py]{grid-template-columns:20px minmax(0,1fr) auto;row-gap:.25rem}
  .mt-route[b-kz70wak2py]{grid-column:2/-1}
  .mt-meta[b-kz70wak2py]{grid-column:2/3}
}
@media(max-width:650px){
  .nav-preview[b-kz70wak2py]{flex-direction:column;align-items:flex-start;gap:.4rem}
  .np-strip[b-kz70wak2py]{width:100%}
}

/* A page nested past two levels renders nowhere in the top bar — make that loud here, since this
   is the only screen that can move it back. */
.mt-alert[b-kz70wak2py]{display:flex;align-items:flex-start;gap:.5rem;margin:.6rem 1rem 0;padding:.6rem .75rem;border:1px solid #f0d089;border-radius:9px;background:#fef8e7;color:#7c5310;font-size:.7rem;line-height:1.45}
.mt-alert .bi[b-kz70wak2py]{color:#c98a12;margin-top:.05rem}
.mt-alert b[b-kz70wak2py]{color:#5f3f0a}
.mt-buried[b-kz70wak2py]{border-top:1px solid #f4e6c4;background:#fffaf0;padding-left:2.5rem}
.mt-buried:hover[b-kz70wak2py]{background:#fef6e4}
.mt-buried .mt-kind[b-kz70wak2py]{color:#c98a12}
.type-pill.danger[b-kz70wak2py]{background:#fdecc8;color:#8a5a0b}

/* ---- Permission picker guidance ---- */
.pp-help[b-kz70wak2py]{margin:-.05rem 0 .6rem;font-size:.68rem;line-height:1.55;color:#5c6c81;max-width:70ch}
.pp-help code[b-kz70wak2py]{background:#eef4fb;border-radius:4px;padding:.06rem .3rem;color:#1d3f72;font-size:.66rem}
.pp-help b[b-kz70wak2py]{color:#274a75}
.pp-help a[b-kz70wak2py]{color:#1472b8}
.pp-warn[b-kz70wak2py]{display:flex;align-items:flex-start;gap:.45rem;margin:0 0 .6rem;padding:.5rem .65rem;border:1px solid #f0d089;border-radius:8px;background:#fef8e7;color:#7c5310;font-size:.68rem;line-height:1.5;max-width:70ch}
.pp-warn .bi[b-kz70wak2py]{flex:0 0 auto;color:#c98a12;margin-top:.1rem}
.pp-warn span[b-kz70wak2py]{flex:1;min-width:0}
.pp-warn b[b-kz70wak2py]{color:#5f3f0a}

/* ---- Inline delete confirm / blocked notice, anchored to the row that raised it ---- */
.mt-confirm[b-kz70wak2py],.mt-blocked[b-kz70wak2py]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3}
.mt-confirm[b-kz70wak2py]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-kz70wak2py]{color:#c0392b}
.mt-confirm b[b-kz70wak2py]{color:#6d1f1f}
.mt-blocked[b-kz70wak2py]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-kz70wak2py]{color:#c98a12}
.mt-confirm span[b-kz70wak2py],.mt-blocked span[b-kz70wak2py]{flex:1;min-width:0}
.mc-yes[b-kz70wak2py],.mc-no[b-kz70wak2py]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-kz70wak2py]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-kz70wak2py]{background:#a83226}
.mc-yes:disabled[b-kz70wak2py]{opacity:.6;cursor:default}
.mc-no[b-kz70wak2py]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-kz70wak2py]{background:#f1f5f9}

/* ---- Tier tabs: the ladder itself, read left to right ---- */
.ds-tabs[b-kz70wak2py]{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.6rem}
.ds-tab[b-kz70wak2py]{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border:1px solid #cbd8e6;border-radius:9px;background:#fbfdff;color:#4a5c73;font-size:.74rem;font-weight:700;cursor:pointer}
.ds-tab:hover[b-kz70wak2py]{background:#eef4fb;border-color:#a9c4e2}
.ds-tab.on[b-kz70wak2py]{background:#1d3f72;border-color:#1d3f72;color:#fff;box-shadow:0 4px 12px rgba(29,63,114,.22)}
.ds-tab .bi[b-kz70wak2py]{font-size:.85rem;opacity:.9}
.ds-tab em[b-kz70wak2py]{font-style:normal;min-width:1.35rem;padding:.05rem .35rem;border-radius:999px;background:rgba(29,63,114,.1);color:#1d3f72;font-size:.64rem;text-align:center}
.ds-tab.on em[b-kz70wak2py]{background:rgba(255,255,255,.22);color:#fff}
.ds-arrow[b-kz70wak2py]{color:#a9b6c8;font-size:.7rem}

.ds-explain[b-kz70wak2py]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}
.ds-explain b[b-kz70wak2py]{color:#1d3f72}

/* ---- Row accents ---- */
.ds-tag[b-kz70wak2py]{font-style:normal;font-size:.63rem;background:#e8f0fa;color:#31527d;border-radius:4px;padding:.1rem .38rem}
.ds-desc[b-kz70wak2py]{font-style:normal;color:#93a2b5;font-size:.65rem}
.ds-unassigned[b-kz70wak2py]{color:#8a6d3b}

/* ---- Empty state: with no seed data this is the first thing most people see, so it teaches ---- */
.ds-empty[b-kz70wak2py]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-kz70wak2py]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-kz70wak2py]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-kz70wak2py]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

@media(max-width:650px){.ds-arrow[b-kz70wak2py]{display:none}.ds-tab[b-kz70wak2py]{flex:1 1 auto;justify-content:center}}

/* ---- Org chart: top-down box-and-line tree ----
   Horizontal, because that is what an org chart is meant to look like. The width problem is real
   though: a flat tree is as wide as its LEAF COUNT, and this one has 17 leaves -- roughly 3000px at
   any sensible card size. Two things bound it instead of a scrollbar:
     1. clusters whose children are all leaves wrap into a block instead of stretching one row;
     2. those clusters start collapsed, so the default view is the shape of the org, not every name.
   No jsTree, no jQuery -- the source system pulls both from a CDN to draw an indented file-explorer
   list, which is not this picture, and this app vendors everything locally. */

/* The viewport measures; the canvas is what gets scaled to fit. overflow is VISIBLE, not hidden and
   not auto: scaling means nothing should ever exceed the width, and clipping a node would be worse
   than either a scrollbar or a smaller chart. */
.oc-viewport[b-kz70wak2py]{padding:1.25rem 1rem 1.5rem;overflow:visible}
/* width:max-content is load-bearing. Without it the canvas is as wide as the viewport and centres
   its children, so a too-wide row overflows BOTH sides equally -- and scrollWidth only counts the
   right-hand overflow, under-reporting the true width and producing a scale that never shrinks
   enough. Sizing to content makes the canvas box the natural width, which is measurable. */
.oc-canvas[b-kz70wak2py]{display:flex;flex-direction:column;align-items:center;gap:.9rem;width:max-content;min-width:100%}
.oc-scaled[b-kz70wak2py]{margin:0 1rem 1rem;color:#8496ad;font-size:.63rem;font-style:italic;text-align:center}
.oc-branch[b-kz70wak2py]{display:flex;flex-direction:column;align-items:center;position:relative}

/* children sit in a centred row beneath the parent; connectors are pseudo-elements so the markup
   stays a plain nested structure */
.oc-children[b-kz70wak2py]{display:flex;justify-content:center;gap:.9rem;position:relative;padding-top:1.3rem}
.oc-children[b-kz70wak2py]::before{content:'';position:absolute;top:0;left:50%;width:2px;height:.65rem;background:#c3d3e6}
.oc-children > .oc-branch[b-kz70wak2py]::before{content:'';position:absolute;top:-.65rem;left:50%;width:2px;height:.65rem;background:#c3d3e6}
/* horizontal rail joining siblings, trimmed so it stops at the first and last card */
.oc-children > .oc-branch[b-kz70wak2py]::after{content:'';position:absolute;top:-.65rem;left:0;right:0;height:2px;background:#c3d3e6}
.oc-children > .oc-branch:first-child[b-kz70wak2py]::after{left:50%}
.oc-children > .oc-branch:last-child[b-kz70wak2py]::after{right:50%}
.oc-children > .oc-branch:only-child[b-kz70wak2py]::after{display:none}

/* A cluster of pure leaves wraps rather than stretching. Four across keeps the widest generation
   near the width of the branch above it instead of blowing the whole tree out sideways. */
/* width:max-content lets the wrap actually happen: without it the container inherits the parent
   branch's shrink-to-fit width -- one card -- and every "wrapped" cluster stacks one per row. */
.oc-children.is-leaf-cluster[b-kz70wak2py]{flex-wrap:wrap;width:max-content;max-width:23rem;row-gap:.55rem}
.oc-children.is-leaf-cluster > .oc-branch[b-kz70wak2py]::after{display:none}
.oc-children.is-leaf-cluster > .oc-branch[b-kz70wak2py]::before{top:-.4rem;height:.4rem}

.oc-card[b-kz70wak2py]{position:relative;display:flex;flex-direction:column;gap:.1rem;width:10.5rem;
  padding:.55rem .65rem .6rem;border:1px solid #cbd8e6;border-radius:10px;background:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.06)}
.oc-card-head[b-kz70wak2py]{display:flex;align-items:flex-start;justify-content:space-between;gap:.3rem}
.oc-name[b-kz70wak2py]{color:#1d3f72;font-size:.73rem;font-weight:750;line-height:1.25;overflow-wrap:anywhere}
.oc-title[b-kz70wak2py]{color:#4a5c73;font-size:.65rem;font-weight:600;line-height:1.3}
.oc-dept[b-kz70wak2py]{color:#93a2b5;font-size:.6rem}
.oc-count[b-kz70wak2py]{margin-top:.2rem;align-self:flex-start;background:#eef2ff;color:#4338ca;border-radius:999px;padding:.08rem .42rem;font-size:.56rem;font-weight:700}
.oc-card.is-match[b-kz70wak2py]{border-color:#3975bd;box-shadow:0 0 0 .18rem rgba(40,94,170,.16)}

/* expand/collapse sits on the card's bottom edge, where the connector leaves it */
.oc-toggle[b-kz70wak2py]{position:absolute;left:50%;bottom:-.62rem;transform:translateX(-50%);z-index:1;
  display:inline-flex;align-items:center;gap:.2rem;padding:.05rem .38rem;
  border:1px solid #c3d3e6;border-radius:999px;background:#fff;color:#3975bd;
  font-size:.55rem;font-weight:800;line-height:1.5;cursor:pointer}
.oc-toggle:hover[b-kz70wak2py]{background:#eef4fb;border-color:#5b8fc9}
.oc-toggle .bi[b-kz70wak2py]{font-size:.6rem}

/* No box around a root: with a single root it framed the entire chart in a tinted panel for no
   reason. Roots are separated by the canvas gap instead. */
.oc-canvas > .oc-branch[b-kz70wak2py]{padding:0 0 .5rem}

/* people the tree could not reach — above the chart, not buried under it */
.oc-alert[b-kz70wak2py]{display:flex;align-items:flex-start;gap:.5rem;margin:.6rem 1rem 0;padding:.6rem .75rem;
  border:1px solid #f0d089;border-radius:9px;background:#fef8e7;color:#7c5310;font-size:.7rem;line-height:1.45}
.oc-alert .bi[b-kz70wak2py]{color:#c98a12;margin-top:.05rem}
.oc-alert b[b-kz70wak2py]{color:#5f3f0a}
.oc-unplaced[b-kz70wak2py]{display:flex;flex-wrap:wrap;gap:.6rem;padding:.75rem 1rem 0}
.oc-card.is-unplaced[b-kz70wak2py]{border-color:#f0d089;background:#fffaf0;width:13rem}
.oc-reason[b-kz70wak2py]{margin-top:.25rem;color:#8a5a0b;font-size:.58rem;font-style:italic}


.oc-empty[b-kz70wak2py]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.5rem 1.25rem;text-align:center}
.oc-empty .bi[b-kz70wak2py]{font-size:1.5rem;color:#a9c0da}
.oc-empty strong[b-kz70wak2py]{color:#1d3f72;font-size:.82rem}
.oc-empty span[b-kz70wak2py]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

@media(max-width:760px){
  /* below this a box-and-line tree cannot fit however it is packed, so fall back to indenting */
  .oc-children[b-kz70wak2py]{flex-direction:column;align-items:flex-start;gap:.45rem;padding-top:.45rem;
    margin-left:1rem;padding-left:1rem;border-left:2px solid #c3d3e6;max-width:none}
  .oc-children[b-kz70wak2py]::before,.oc-children > .oc-branch[b-kz70wak2py]::after,.oc-children > .oc-branch[b-kz70wak2py]::before{display:none}
  .oc-branch[b-kz70wak2py]{align-items:stretch}
  .oc-canvas[b-kz70wak2py]{align-items:stretch}
  .oc-card[b-kz70wak2py]{width:100%}
  .oc-toggle[b-kz70wak2py]{position:static;transform:none;align-self:flex-start;margin-top:.35rem}
}

/* ---- Mode switch. Same tab pattern the setup pages use, so the three lenses are all visible at
   once rather than hidden behind a dropdown. ---- */
.ds-tabs[b-kz70wak2py]{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.6rem}
.ds-tab[b-kz70wak2py]{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border:1px solid #cbd8e6;border-radius:9px;background:#fbfdff;color:#4a5c73;font-size:.74rem;font-weight:700;cursor:pointer}
.ds-tab:hover[b-kz70wak2py]{background:#eef4fb;border-color:#a9c4e2}
.ds-tab.on[b-kz70wak2py]{background:#1d3f72;border-color:#1d3f72;color:#fff;box-shadow:0 4px 12px rgba(29,63,114,.22)}
.ds-tab .bi[b-kz70wak2py]{font-size:.85rem;opacity:.9}
@media(max-width:650px){.ds-tab[b-kz70wak2py]{flex:1 1 auto;justify-content:center}}

/* ---- Structure cards. Three kinds plus a heading, told apart by accent and icon rather than by
   position, because they are interleaved in one tree. ---- */
.oc-kind[b-kz70wak2py]{margin-right:.35rem;font-size:.8rem;opacity:.85}

.oc-card.is-office[b-kz70wak2py]{border-color:#a9c4e2;background:linear-gradient(180deg,#f4f9ff,#fff)}
.oc-card.is-office .oc-name[b-kz70wak2py]{color:#12325e;font-weight:800}
.oc-card.is-office .oc-kind[b-kz70wak2py]{color:#2d66b3}

.oc-card.is-department .oc-kind[b-kz70wak2py]{color:#5b8fc9}
.oc-card.is-store[b-kz70wak2py]{border-color:#e2d3b4;background:linear-gradient(180deg,#fffaf0,#fff)}
.oc-card.is-store .oc-kind[b-kz70wak2py]{color:#b07d1a}

/* A heading, not a record: quieter than the things beneath it, and never highlighted by search. */
.oc-card.is-group[b-kz70wak2py]{border-style:dashed;background:#f7f9fc;box-shadow:none}
.oc-card.is-group .oc-name[b-kz70wak2py]{color:#64748b;font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.62rem}
.oc-card.is-group .oc-kind[b-kz70wak2py]{color:#94a3b8}

/* The main office, marked the way Office Setup marks it. */
.oc-main[b-kz70wak2py]{margin-left:.35rem;padding:.05rem .32rem;border-radius:999px;background:#e5252a;color:#fff;font-size:.55rem;font-weight:800;letter-spacing:.03em}
/* /Components/Pages/Administration/ProductApprovalList.razor.rz.scp.css */
/* Product Approval List - Styled after Approvals.razor */

.uranus-page[b-sxho2la406] {
    background: #dfe7f1;
    border: 1px solid #cbd7e5;
    border-radius: 14px;
    padding: 1rem 1.25rem 1.25rem;
    min-height: 70vh;
}

.uranus-page-toolbar[b-sxho2la406] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
}

.uranus-card[b-sxho2la406] {
    background: #fff;
    border: 1px solid #cbd8e6;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(29, 62, 104, .08);
}

.uranus-card > header[b-sxho2la406] {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid #d6e1ed;
    background: linear-gradient(90deg, #eaf2fb, #f7faff);
}

.uranus-card > header i[b-sxho2la406] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(201, 151, 41, .12);
    color: #a57712;
}

.uranus-card > header h2[b-sxho2la406] {
    font-size: .92rem;
    margin: 0;
    color: var(--brand-navy, #0b3160);
    font-weight: 750;
}

.uranus-card-body[b-sxho2la406] {
    padding: 1rem;
    background: #fff;
}

.uranus-filters[b-sxho2la406] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.uranus-search-wrap[b-sxho2la406] {
    position: relative;
    flex: 1 1 280px;
    min-width: 220px;
}

.uranus-search-wrap i[b-sxho2la406] {
    position: absolute;
    left: .75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #8da2ba;
    font-size: .85rem;
    pointer-events: none;
}

.uranus-search-wrap input[b-sxho2la406] {
    width: 100%;
    height: 36px;
    padding: .35rem .75rem .35rem 2.2rem;
    font-size: .78rem;
    line-height: 1.4;
    border: 1px solid #ccd8e6;
    border-radius: 8px;
    background: #fbfdff;
    color: #1e293b;
    transition: all .15s ease-in-out;
    box-sizing: border-box;
}

.uranus-search-wrap input:focus[b-sxho2la406] {
    border-color: #3975bd;
    background: #fff;
    box-shadow: 0 0 0 .16rem rgba(40, 94, 170, .14);
    outline: 0;
}

.uranus-filter-select[b-sxho2la406] {
    height: 36px;
    min-height: 36px;
    font-size: .78rem;
    line-height: 1.4;
    border: 1px solid #ccd8e6;
    border-radius: 8px;
    background-color: #fbfdff;
    padding: .25rem 2rem .25rem .75rem;
    color: #1e293b;
    transition: all .15s ease-in-out;
    box-sizing: border-box;
    vertical-align: middle;
}

.uranus-filter-status[b-sxho2la406] {
    flex: 0 0 160px;
    min-width: 140px;
}

.uranus-filter-office[b-sxho2la406] {
    flex: 0 1 220px;
    min-width: 180px;
}

.uranus-filter-select:focus[b-sxho2la406] {
    border-color: #3975bd;
    background-color: #fff;
    box-shadow: 0 0 0 .16rem rgba(40, 94, 170, .14);
    outline: 0;
}

.uranus-filter-select:disabled[b-sxho2la406] {
    background-color: #f1f5f9;
    color: #64748b;
    border-color: #cbd5e1;
    cursor: not-allowed;
    opacity: .95;
}

.uranus-table[b-sxho2la406] {
    font-size: .73rem;
    margin: 0;
}

.uranus-table thead th[b-sxho2la406] {
    background: #f5f7fa;
    color: #516074;
    text-transform: uppercase;
    letter-spacing: .035em;
    font-size: .64rem;
    border-bottom: 1px solid #e3e8ef;
    white-space: nowrap;
}

.uranus-table td[b-sxho2la406] {
    vertical-align: middle;
    color: #334155;
}

.status-pill[b-sxho2la406] {
    display: inline-flex;
    border-radius: 999px;
    padding: .2rem .55rem;
    font-size: .65rem;
    font-weight: 750;
    background: #e0e7ff;
    color: #3730a3;
}

.status-pill.active[b-sxho2la406] {
    background: #dcfce7;
    color: #166534;
}

.status-pill.inactive[b-sxho2la406] {
    background: #fee2e2;
    color: #991b1b;
}

.status-pill.pending[b-sxho2la406] {
    background: #fef3c7;
    color: #92400e;
}

.status-pill.dispatched[b-sxho2la406] {
    background: #e0f2fe;
    color: #0369a1;
}

.uranus-actions .btn[b-sxho2la406] {
    font-size: .7rem;
    font-weight: 650;
    border: 1px solid transparent;
    padding: .25rem .6rem;
    border-radius: 6px;
}

.uranus-actions .btn-review[b-sxho2la406] {
    background: var(--accent-blue-soft, #e9f0fb);
    border-color: #9dbbe4;
    color: var(--brand-navy, #0b3160);
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.uranus-actions .btn-review:hover[b-sxho2la406] {
    background: #d8e6f8;
    border-color: var(--accent-blue, #1e57b8);
    color: var(--brand-navy, #0b3160);
}

.uranus-actions .btn-approve[b-sxho2la406] {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.uranus-actions .btn-approve:hover[b-sxho2la406] {
    background: #bbf7d0;
    border-color: #4ade80;
    color: #14532d;
}

.uranus-actions .btn-reject[b-sxho2la406] {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

.uranus-actions .btn-reject:hover[b-sxho2la406] {
    background: #fecaca;
    border-color: #f87171;
    color: #7f1d1d;
}

.uranus-loading[b-sxho2la406] {
    display: flex;
    gap: .5rem;
    align-items: center;
    justify-content: center;
    padding: 4rem;
    color: var(--text-muted);
}

/* Modals */
.uranus-modal-backdrop[b-sxho2la406] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(2, 18, 35, .55);
    display: grid;
    place-items: center;
    padding: 1rem;
    backdrop-filter: blur(2px);
}

.uranus-modal-backdrop.modal-confirm-backdrop[b-sxho2la406] {
    z-index: 1300;
}

.uranus-modal[b-sxho2la406] {
    width: min(1180px, 95vw);
    max-height: 88vh;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.uranus-modal.modal-confirm[b-sxho2la406] {
    width: min(480px, 100%);
    max-height: 80vh;
}

.uranus-modal header[b-sxho2la406] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .85rem 1.25rem;
    border-bottom: 1px solid #d6e1ed;
    background: linear-gradient(90deg, #eaf2fb, #f7faff);
    flex-shrink: 0;
}

.uranus-modal header h3[b-sxho2la406] {
    font-size: .95rem;
    color: var(--brand-navy, #0b3160);
    margin: 0;
    font-weight: 750;
}

.uranus-modal header button[b-sxho2la406] {
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: .9rem;
}

.uranus-modal header button:hover[b-sxho2la406] {
    color: var(--brand-navy, #0b3160);
}

.uranus-modal-body[b-sxho2la406] {
    flex: 1 1 auto;
    padding: 1.25rem 1.5rem;
    max-height: calc(88vh - 125px);
    overflow-y: auto;
}

.uranus-modal .prod-select-backdrop[b-sxho2la406] {
    z-index: 1300 !important;
}

.uranus-modal .prod-select-dropdown[b-sxho2la406] {
    z-index: 1350 !important;
}

.edit-builder-card[b-sxho2la406] {
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);
}

.edit-inputs-row[b-sxho2la406] {
    width: 100%;
    gap: 0.75rem !important;
}

.edit-inputs-row .form-label[b-sxho2la406] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #415872;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.35rem;
    display: block;
    line-height: 1.2;
    white-space: nowrap;
}

.edit-stock-badge[b-sxho2la406] {
    font-size: 0.65rem;
    line-height: 1.2;
    padding: 0.12rem 0.38rem;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}

.edit-input-control[b-sxho2la406] {
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.8rem !important;
    border: 1px solid #ccd8e6 !important;
    border-radius: 8px !important;
    background-color: #fbfdff !important;
    color: #1e293b;
    padding: 0 0.65rem !important;
    box-sizing: border-box;
    transition: all 0.18s ease-in-out;
}

.edit-input-control:focus[b-sxho2la406] {
    border-color: #3975bd !important;
    box-shadow: 0 0 0 0.16rem rgba(40, 94, 170, 0.13) !important;
    background-color: #ffffff !important;
}

.edit-col-product[b-sxho2la406] {
    flex: 1 1 360px;
    min-width: 240px;
}

.edit-col-qty[b-sxho2la406] {
    flex: 0 0 150px;
    width: 150px;
    min-width: 150px;
}

.edit-col-notes[b-sxho2la406] {
    flex: 1 1 180px;
    min-width: 140px;
}

.edit-col-actions[b-sxho2la406] {
    display: flex;
    gap: 0.35rem;
    align-items: center;
    flex-shrink: 0;
}

.edit-btn-save[b-sxho2la406],
.edit-btn-cancel[b-sxho2la406] {
    height: 36px !important;
    min-height: 36px !important;
    font-size: 0.78rem !important;
    font-weight: 650 !important;
    border-radius: 8px !important;
    padding: 0 0.85rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
    box-sizing: border-box;
    transition: all 0.15s ease-in-out;
}

.edit-btn-save[b-sxho2la406] {
    background-color: #16a34a !important;
    border: 1px solid #16a34a !important;
    color: #ffffff !important;
}

.edit-btn-save:hover:not(:disabled)[b-sxho2la406] {
    background-color: #15803d !important;
    border-color: #15803d !important;
}

.edit-btn-cancel[b-sxho2la406] {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
}

.edit-btn-cancel:hover[b-sxho2la406] {
    background-color: #f1f5f9 !important;
    border-color: #94a3b8 !important;
    color: #1e293b !important;
}

@media(max-width: 900px) {
    .edit-col-product[b-sxho2la406] {
        flex: 1 1 100%;
        min-width: 100%;
    }
    .edit-col-qty[b-sxho2la406] {
        flex: 0 0 140px;
        width: 140px;
    }
    .edit-col-notes[b-sxho2la406] {
        flex: 1 1 140px;
    }
    .edit-col-actions[b-sxho2la406] {
        margin-left: auto;
    }
}

.uranus-modal footer[b-sxho2la406] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    padding: .75rem 1.15rem;
    background: #f7f9fc;
    border-top: 1px solid #e8edf3;
    flex-shrink: 0;
}

@media(max-width: 600px) {
    .uranus-page[b-sxho2la406] {
        padding: .75rem;
    }
    .uranus-filters .form-select[b-sxho2la406] {
        flex: 1 1 100%;
    }
}
/* /Components/Pages/Administration/ProductRequest.razor.rz.scp.css */
/* Product Request Page.
   Same shell as Product Setup / Supplier Setup / Store Setup: blue-gray workspace, white cards,
   blue-tinted card head, HNBG palette values reused verbatim so the admin screens look identical.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-rz803dakqu]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-rz803dakqu],.admin-list-card[b-rz803dakqu]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-rz803dakqu]{padding:1rem;margin-bottom:1rem;overflow:visible}
.admin-form-card.req-builder-card[b-rz803dakqu]{padding:0;overflow:visible}
.req-builder-body[b-rz803dakqu]{padding:1rem 1.25rem}

/* ---- Card headers (both Restock Form and Items List) ---- */
.admin-list-head[b-rz803dakqu]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-radius:12px 12px 0 0}
.admin-list-head>div:first-child[b-rz803dakqu]{display:flex;flex-direction:column;gap:.15rem}
.admin-list-head h2[b-rz803dakqu]{font-size:.9rem;font-weight:700;color:#0b3160;margin:0;display:flex;align-items:center}
.admin-list-head span[b-rz803dakqu]{font-size:.68rem;color:#64748b}

/* ---- Form builder labels ---- */
.req-builder-label[b-rz803dakqu]{font-size:.68rem;font-weight:700;color:#415872;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem}

/* ---- Form builder inputs ---- */
.req-input-qty[b-rz803dakqu]{font-size:.8rem;font-weight:700;color:#0b3160;border-color:#ccd8e6;background-color:#fbfdff;text-align:right;font-variant-numeric:tabular-nums;min-height:34px;border-radius:7px}
.req-input-qty:focus[b-rz803dakqu]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.req-input-notes[b-rz803dakqu]{font-size:.76rem;border-color:#ccd8e6;background-color:#fbfdff;min-height:34px;border-radius:7px}
.req-input-notes:focus[b-rz803dakqu]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.req-entry-unit[b-rz803dakqu]{background:#f1f5fa;border-color:#ccd8e6;color:#475569;font-weight:600;font-size:.74rem}

/* ---- Form builder Add/Save/Cancel buttons ---- */
.req-btn-add-item[b-rz803dakqu]{height:34px;font-weight:600;font-size:.78rem;display:flex;align-items:center;justify-content:center;background-color:#1d3f72;border-color:#1d3f72;border-radius:7px;transition:all .15s ease}
.req-btn-add-item:hover:not(:disabled)[b-rz803dakqu]{background-color:#16325c;border-color:#16325c;transform:translateY(-1px);box-shadow:0 2px 6px rgba(29,62,104,.25)}
.req-btn-cancel-item[b-rz803dakqu]{height:34px;width:34px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:7px;flex-shrink:0}

/* ---- Submit form (remarks) ---- */
.admin-form-grid[b-rz803dakqu]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-rz803dakqu]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-rz803dakqu]{color:#dc3545}
.admin-field .form-control[b-rz803dakqu],.admin-field .form-select[b-rz803dakqu]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-rz803dakqu],.admin-field .form-select:focus[b-rz803dakqu]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-actions[b-rz803dakqu]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;align-items:center}
.req-field-remarks[b-rz803dakqu]{grid-column:1 / -1}

/* ---- Summary chips in the list head ---- */
.req-chip[b-rz803dakqu]{font-size:.72rem;background:#fff;border:1px solid #cbd8e6;color:#334155;padding:.25rem .65rem;border-radius:20px}
.req-chip strong[b-rz803dakqu]{color:#0b3160}

/* ---- Table ---- */
.req-table-wrap[b-rz803dakqu]{border:1px solid #d6e1ed;border-radius:10px;overflow:hidden;background:#fff;max-height:50vh}
.table[b-rz803dakqu]{font-size:.76rem;margin:0;width:100%}
.table thead th[b-rz803dakqu]{position:sticky;top:0;z-index:1;padding:.72rem .85rem;background:#f1f5fa;color:#39506c;text-transform:uppercase;letter-spacing:.04em;font-size:.64rem;font-weight:700;white-space:nowrap;border-bottom:2px solid #d2dfea;border-top:none}
.table tbody td[b-rz803dakqu]{vertical-align:middle;color:#334155;padding:.68rem .85rem;border-bottom:1px solid #edf2f7}
.table tbody tr:hover td[b-rz803dakqu]{background-color:#f8fafd}
.table tbody tr.editing-row td[b-rz803dakqu]{background-color:#fffbeb !important;border-top:1px solid #fde68a;border-bottom:1px solid #fde68a}
.table tbody tr:last-child td[b-rz803dakqu]{border-bottom:none}

/* Column sizing & alignment */
.req-th-sn[b-rz803dakqu],.req-td-sn[b-rz803dakqu]{width:56px;text-align:center}
.req-sn-badge[b-rz803dakqu]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#edf2f7;color:#64748b;font-weight:700;font-size:.72rem}

.req-th-prod[b-rz803dakqu],.req-td-prod[b-rz803dakqu]{width:42%;min-width:240px}
.req-prod-cell[b-rz803dakqu]{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.req-prod-name[b-rz803dakqu]{font-weight:700;color:#1d3f72;font-size:.8rem}

.req-th-qty[b-rz803dakqu],.req-td-qty[b-rz803dakqu]{width:130px;text-align:center}
.req-qty-pill[b-rz803dakqu]{display:inline-flex;align-items:baseline;justify-content:center;gap:.3rem;background:#f0f5fc;border:1px solid #d4e2f4;border-radius:6px;padding:.2rem .65rem;min-width:68px}
.req-qty-num[b-rz803dakqu]{font-weight:750;color:#0b3160;font-size:.82rem;font-variant-numeric:tabular-nums}
.req-qty-unit[b-rz803dakqu]{font-size:.68rem;color:#5a6e85;font-weight:600}

.req-th-notes[b-rz803dakqu],.req-td-notes[b-rz803dakqu]{min-width:180px}
.req-line-remark[b-rz803dakqu]{color:#475569;font-size:.76rem;word-break:break-word}

.req-th-act[b-rz803dakqu],.req-td-act[b-rz803dakqu]{width:100px;text-align:center}
.row-actions[b-rz803dakqu]{display:flex;gap:.25rem;align-items:center}
.btn-req-act[b-rz803dakqu]{width:30px;height:30px;border-radius:6px;border:1px solid transparent;background:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:.88rem;cursor:pointer;transition:all .15s ease}
.btn-req-act.edit[b-rz803dakqu]{color:#1472b8}
.btn-req-act.edit:hover[b-rz803dakqu]{background:#eaf2fb;border-color:#c8dcf2;color:#0d5c94}
.btn-req-act.delete[b-rz803dakqu]{color:#dc3545}
.btn-req-act.delete:hover[b-rz803dakqu]{background:#fdf2f2;border-color:#f8caca;color:#b02a37}

/* Tag badge for category */
.req-tag[b-rz803dakqu]{font-size:.62rem;font-weight:600;background:#eef4fc;color:#285eaa;border-radius:4px;padding:.12rem .45rem;border:1px solid #d6e5f8;white-space:nowrap}

/* ---- Empty state ---- */
.ss-empty[b-rz803dakqu]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-rz803dakqu]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-rz803dakqu]{font-size:.78rem;color:#475569}
.ss-empty span[b-rz803dakqu]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

/* ---- Submit stats line ---- */
.req-submit-stats[b-rz803dakqu]{font-size:.72rem;color:#64748b}

/* ---- Context Strip (Requester / Office / Store) ---- */
.req-context-strip[b-rz803dakqu]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;padding:.85rem 1.25rem;box-shadow:0 4px 14px rgba(29,62,104,.06);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.req-context-col[b-rz803dakqu]{display:flex;align-items:center;gap:.85rem;min-width:0}
.req-avatar[b-rz803dakqu]{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#1d3f72 0%,#285eaa 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;box-shadow:0 2px 6px rgba(29,62,104,.25);flex-shrink:0}
.req-icon-box[b-rz803dakqu]{width:38px;height:38px;border-radius:10px;background:#f1f5fa;border:1px solid #e1e9f2;color:#475569;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.req-icon-store[b-rz803dakqu]{background:#eef4fc;border-color:#d1e2f7;color:#1d3f72}
.req-context-meta[b-rz803dakqu]{display:flex;flex-direction:column;gap:.15rem}
.req-label[b-rz803dakqu]{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}
.req-val[b-rz803dakqu]{font-size:.84rem;font-weight:600;color:#334155;white-space:nowrap}
.req-val-navy[b-rz803dakqu]{color:#0b3160;font-weight:700}
.req-pill-store[b-rz803dakqu]{background:linear-gradient(135deg,#1d3f72,#245296);color:#fff;font-size:.72rem;font-weight:600;padding:.35rem .75rem;border-radius:20px;box-shadow:0 2px 5px rgba(29,62,104,.2)}
.req-pill-internal[b-rz803dakqu]{background:#edf2f7;color:#475569;border:1px solid #cbd5e1;font-size:.7rem;font-weight:600;padding:.3rem .65rem;border-radius:20px}
.req-divider[b-rz803dakqu]{width:1px;height:32px;background:#e2e8f0}
.req-date-input[b-rz803dakqu]{font-size:.78rem;padding:.2rem .45rem;height:30px;border-color:#cbd8e6;background-color:#fbfdff;border-radius:6px;font-weight:600;color:#1d3f72}
.req-date-input:focus[b-rz803dakqu]{border-color:#3975bd;box-shadow:0 0 0 .14rem rgba(40,94,170,.13)}

/* ---- Responsive ---- */
@media(max-width:900px){
  .admin-form-grid[b-rz803dakqu]{grid-template-columns:1fr 1fr}
  .req-field-product[b-rz803dakqu]{grid-column:span 2}
  .req-field-remarks[b-rz803dakqu]{grid-column:span 2}
}
@media(max-width:650px){
  .admin-page[b-rz803dakqu]{padding:.75rem}
  .admin-list-head[b-rz803dakqu]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-rz803dakqu]{grid-template-columns:1fr}
  .req-field-product[b-rz803dakqu],.req-field-remarks[b-rz803dakqu],.req-field-notes[b-rz803dakqu]{grid-column:span 1}
  .req-context-strip[b-rz803dakqu]{flex-direction:column;align-items:flex-start;gap:.75rem}
  .req-divider[b-rz803dakqu]{display:none}
}
/* /Components/Pages/Administration/ProductRequestApproval.razor.rz.scp.css */
/* Product Request Approval Page */

.admin-page[b-1jqmew41ti]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-1jqmew41ti],.admin-list-card[b-1jqmew41ti]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-1jqmew41ti]{padding:1rem 1.25rem;margin-bottom:1rem}

/* Filter labels */
.req-filter-label[b-1jqmew41ti]{font-size:.68rem;font-weight:700;color:#415872;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}

/* Card headers */
.admin-list-head[b-1jqmew41ti]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-radius:12px 12px 0 0}
.admin-list-head>div:first-child[b-1jqmew41ti]{display:flex;flex-direction:column;gap:.15rem}
.admin-list-head h2[b-1jqmew41ti]{font-size:.9rem;font-weight:700;color:#0b3160;margin:0;display:flex;align-items:center}
.admin-list-head span[b-1jqmew41ti]{font-size:.68rem;color:#64748b}

.req-chip[b-1jqmew41ti]{font-size:.72rem;background:#fff;border:1px solid #cbd8e6;color:#334155;padding:.25rem .65rem;border-radius:20px}
.req-chip strong[b-1jqmew41ti]{color:#0b3160}
.req-chip-pending[b-1jqmew41ti]{background:#fef3c7;border-color:#fde68a;color:#92400e}
.req-chip-pending strong[b-1jqmew41ti]{color:#92400e}

/* Table */
.table[b-1jqmew41ti]{font-size:.76rem;margin:0;width:100%}
.table thead th[b-1jqmew41ti]{position:sticky;top:0;z-index:1;padding:.72rem .85rem;background:#f1f5fa;color:#39506c;text-transform:uppercase;letter-spacing:.04em;font-size:.64rem;font-weight:700;white-space:nowrap;border-bottom:2px solid #d2dfea;border-top:none}
.table tbody td[b-1jqmew41ti]{vertical-align:middle;color:#334155;padding:.68rem .85rem;border-bottom:1px solid #edf2f7}
.table tbody tr:hover td[b-1jqmew41ti]{background-color:#f8fafd}

.req-th-sn[b-1jqmew41ti],.req-td-sn[b-1jqmew41ti]{width:54px;text-align:center}
.req-sn-badge[b-1jqmew41ti]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#edf2f7;color:#64748b;font-weight:700;font-size:.72rem}

.req-date-cell[b-1jqmew41ti]{display:flex;flex-direction:column;gap:.08rem}
.req-date-primary[b-1jqmew41ti]{font-weight:600;color:#334155;font-size:.78rem}
.req-date-secondary[b-1jqmew41ti]{font-size:.66rem;color:#8a97a8}

.req-user-cell[b-1jqmew41ti]{display:inline-flex;align-items:center;gap:.4rem}

.req-badge-edited[b-1jqmew41ti]{background:#fffbeb;color:#b45309;border:1px solid #fde68a;font-size:.62rem;font-weight:700;padding:.15rem .4rem;border-radius:4px}
.req-badge-client[b-1jqmew41ti]{background:#f0f7ff;color:#0369a1;border:1px solid #bae6fd;font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:4px}

.req-qty-pill[b-1jqmew41ti]{display:inline-flex;align-items:baseline;justify-content:center;gap:.3rem;background:#f0f5fc;border:1px solid #d4e2f4;border-radius:6px;padding:.2rem .65rem;min-width:68px}
.req-qty-num[b-1jqmew41ti]{font-weight:750;color:#0b3160;font-size:.82rem;font-variant-numeric:tabular-nums}
.req-qty-unit[b-1jqmew41ti]{font-size:.66rem;color:#5a6e85;font-weight:600}

.req-text-truncate[b-1jqmew41ti]{display:inline-block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Status pills */
.req-status-pill[b-1jqmew41ti]{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:20px;font-size:.66rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.status-pending[b-1jqmew41ti]{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.status-approved[b-1jqmew41ti]{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
.status-rejected[b-1jqmew41ti]{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}
.status-dispatched[b-1jqmew41ti]{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}
.status-default[b-1jqmew41ti]{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}

/* Actions */
.req-th-action[b-1jqmew41ti]{width:110px}
.req-btn-action[b-1jqmew41ti]{font-size:.76rem;border-radius:6px;padding:.2rem .5rem}

/* Empty state */
.ss-empty[b-1jqmew41ti]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:3rem 1rem;text-align:center}
.ss-empty i[b-1jqmew41ti]{font-size:1.8rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-1jqmew41ti]{font-size:.82rem;color:#475569}
.ss-empty span[b-1jqmew41ti]{font-size:.72rem;color:#8a97a8}

/* Modals */
.uranus-modal-backdrop[b-1jqmew41ti]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.55);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.uranus-modal[b-1jqmew41ti]{width:min(900px,100%);background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}
.uranus-modal header[b-1jqmew41ti]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.uranus-modal header h3[b-1jqmew41ti]{font-size:1.05rem;color:#0b3160;margin:0;font-weight:700}
.uranus-modal header button[b-1jqmew41ti]{flex:0 0 auto;border:0;background:transparent;color:#64748b;font-size:.95rem}
.uranus-modal header button:hover[b-1jqmew41ti]{color:#1d3f72}
.uranus-modal .modal-content-body[b-1jqmew41ti]{padding:1.25rem;max-height:75vh;overflow-y:auto}
.uranus-modal footer[b-1jqmew41ti]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;background:#f7f9fc;border-top:1px solid #e8edf3}

/* Confirmation modal */
.req-confirm-modal[b-1jqmew41ti]{width:min(480px,100%)}
.header-approve[b-1jqmew41ti]{background:linear-gradient(90deg,#edfdf2,#f7fdf9) !important}
.header-reject[b-1jqmew41ti]{background:linear-gradient(90deg,#fef2f2,#fff8f8) !important}

/* Details Meta Strip */
.req-meta-strip[b-1jqmew41ti]{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1.1rem;flex-wrap:wrap}
.req-meta-title[b-1jqmew41ti]{display:block;font-size:.65rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem}
.req-meta-val[b-1jqmew41ti]{font-size:.82rem;font-weight:600;color:#334155}
.req-detail-section-title[b-1jqmew41ti]{font-size:.84rem;font-weight:700;color:#0b3160}

.req-prod-cell[b-1jqmew41ti]{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.req-tag[b-1jqmew41ti]{font-size:.62rem;font-weight:600;background:#eef4fc;color:#285eaa;border-radius:4px;padding:.12rem .45rem;border:1px solid #d6e5f8;white-space:nowrap}

/* Edit line box */
.req-edit-line-box[b-1jqmew41ti]{background:#fffef5;border-radius:10px}
.req-builder-label[b-1jqmew41ti]{font-size:.68rem;font-weight:700;color:#415872;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}

@media(max-width:768px){
  .admin-list-head[b-1jqmew41ti]{flex-direction:column;align-items:stretch;gap:.6rem}
  .req-meta-strip[b-1jqmew41ti]{flex-direction:column;align-items:flex-start}
}
/* /Components/Pages/Administration/ProductRequestList.razor.rz.scp.css */
/* Product Request List Page */

.admin-page[b-uvgpuzt0dj]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-uvgpuzt0dj],.admin-list-card[b-uvgpuzt0dj]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-uvgpuzt0dj]{padding:1rem 1.25rem;margin-bottom:1rem}

/* Filter labels */
.req-filter-label[b-uvgpuzt0dj]{font-size:.68rem;font-weight:700;color:#415872;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}

/* Card headers */
.admin-list-head[b-uvgpuzt0dj]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-radius:12px 12px 0 0}
.admin-list-head>div:first-child[b-uvgpuzt0dj]{display:flex;flex-direction:column;gap:.15rem}
.admin-list-head h2[b-uvgpuzt0dj]{font-size:.9rem;font-weight:700;color:#0b3160;margin:0;display:flex;align-items:center}
.admin-list-head span[b-uvgpuzt0dj]{font-size:.68rem;color:#64748b}

.req-chip[b-uvgpuzt0dj]{font-size:.72rem;background:#fff;border:1px solid #cbd8e6;color:#334155;padding:.25rem .65rem;border-radius:20px}
.req-chip strong[b-uvgpuzt0dj]{color:#0b3160}

/* Table */
.table[b-uvgpuzt0dj]{font-size:.76rem;margin:0;width:100%}
.table thead th[b-uvgpuzt0dj]{position:sticky;top:0;z-index:1;padding:.72rem .85rem;background:#f1f5fa;color:#39506c;text-transform:uppercase;letter-spacing:.04em;font-size:.64rem;font-weight:700;white-space:nowrap;border-bottom:2px solid #d2dfea;border-top:none}
.table tbody td[b-uvgpuzt0dj]{vertical-align:middle;color:#334155;padding:.68rem .85rem;border-bottom:1px solid #edf2f7}
.table tbody tr:hover td[b-uvgpuzt0dj]{background-color:#f8fafd}

.req-th-sn[b-uvgpuzt0dj],.req-td-sn[b-uvgpuzt0dj]{width:54px;text-align:center}
.req-sn-badge[b-uvgpuzt0dj]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#edf2f7;color:#64748b;font-weight:700;font-size:.72rem}

.req-date-cell[b-uvgpuzt0dj]{display:flex;flex-direction:column;gap:.08rem}
.req-date-primary[b-uvgpuzt0dj]{font-weight:600;color:#334155;font-size:.78rem}
.req-date-secondary[b-uvgpuzt0dj]{font-size:.66rem;color:#8a97a8}

.req-badge-edited[b-uvgpuzt0dj]{background:#fffbeb;color:#b45309;border:1px solid #fde68a;font-size:.62rem;font-weight:700;padding:.15rem .4rem;border-radius:4px}
.req-badge-client[b-uvgpuzt0dj]{background:#f0f7ff;color:#0369a1;border:1px solid #bae6fd;font-size:.68rem;font-weight:600;padding:.15rem .5rem;border-radius:4px}

.req-qty-pill[b-uvgpuzt0dj]{display:inline-flex;align-items:baseline;justify-content:center;gap:.3rem;background:#f0f5fc;border:1px solid #d4e2f4;border-radius:6px;padding:.2rem .65rem;min-width:68px}
.req-qty-num[b-uvgpuzt0dj]{font-weight:750;color:#0b3160;font-size:.82rem;font-variant-numeric:tabular-nums}
.req-qty-unit[b-uvgpuzt0dj]{font-size:.66rem;color:#5a6e85;font-weight:600}

.req-text-truncate[b-uvgpuzt0dj]{display:inline-block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Status pills */
.req-status-pill[b-uvgpuzt0dj]{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:20px;font-size:.66rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.status-pending[b-uvgpuzt0dj]{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.status-approved[b-uvgpuzt0dj]{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}
.status-rejected[b-uvgpuzt0dj]{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}
.status-dispatched[b-uvgpuzt0dj]{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}
.status-default[b-uvgpuzt0dj]{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}

/* Actions */
.req-btn-view[b-uvgpuzt0dj]{font-size:.74rem;font-weight:600;border-radius:6px;padding:.22rem .55rem}

/* Empty state */
.ss-empty[b-uvgpuzt0dj]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:3rem 1rem;text-align:center}
.ss-empty i[b-uvgpuzt0dj]{font-size:1.8rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-uvgpuzt0dj]{font-size:.82rem;color:#475569}
.ss-empty span[b-uvgpuzt0dj]{font-size:.72rem;color:#8a97a8}

/* Modal */
.uranus-modal-backdrop[b-uvgpuzt0dj]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.55);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.uranus-modal[b-uvgpuzt0dj]{width:min(900px,100%);background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}
.uranus-modal header[b-uvgpuzt0dj]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.uranus-modal header h3[b-uvgpuzt0dj]{font-size:1.05rem;color:#0b3160;margin:0;font-weight:700}
.uranus-modal header button[b-uvgpuzt0dj]{flex:0 0 auto;border:0;background:transparent;color:#64748b;font-size:.95rem}
.uranus-modal header button:hover[b-uvgpuzt0dj]{color:#1d3f72}
.uranus-modal .modal-content-body[b-uvgpuzt0dj]{padding:1.25rem;max-height:75vh;overflow-y:auto}
.uranus-modal footer[b-uvgpuzt0dj]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;background:#f7f9fc;border-top:1px solid #e8edf3}

/* Details Meta Strip */
.req-meta-strip[b-uvgpuzt0dj]{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1.1rem;flex-wrap:wrap}
.req-meta-title[b-uvgpuzt0dj]{display:block;font-size:.65rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem}
.req-meta-val[b-uvgpuzt0dj]{font-size:.82rem;font-weight:600;color:#334155}
.req-detail-section-title[b-uvgpuzt0dj]{font-size:.84rem;font-weight:700;color:#0b3160}

.req-prod-cell[b-uvgpuzt0dj]{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.req-tag[b-uvgpuzt0dj]{font-size:.62rem;font-weight:600;background:#eef4fc;color:#285eaa;border-radius:4px;padding:.12rem .45rem;border:1px solid #d6e5f8;white-space:nowrap}

/* Edit line box */
.req-edit-line-box[b-uvgpuzt0dj]{background:#fffef5;border-radius:10px}
.req-builder-label[b-uvgpuzt0dj]{font-size:.68rem;font-weight:700;color:#415872;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}

@media(max-width:768px){
  .admin-list-head[b-uvgpuzt0dj]{flex-direction:column;align-items:stretch;gap:.6rem}
  .req-meta-strip[b-uvgpuzt0dj]{flex-direction:column;align-items:flex-start}
}
/* /Components/Pages/Administration/RoleSetup.razor.rz.scp.css */
/* Role Setup.
   Same shell as OfficeSetup and DesignationSetup: blue-gray workspace, white cards, blue-tinted
   card head, HNBG palette values reused verbatim so the admin screens are indistinguishable in
   chrome. The role-specific pieces are prefixed .rs-.

   The old .role-* shell this file used to carry is gone with the core-banking form it styled. */

/* ---- Workspace and cards ---- */
.admin-page[b-u3avolazpv]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-u3avolazpv],.admin-list-card[b-u3avolazpv]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-u3avolazpv]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-u3avolazpv]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-u3avolazpv]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-u3avolazpv]{color:#dc3545}
.admin-field .form-control[b-u3avolazpv]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-u3avolazpv]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-field .form-control:disabled[b-u3avolazpv]{background-color:#eef2f7;color:#7b8798}
.admin-check[b-u3avolazpv]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-u3avolazpv]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* Description earns the full row -- it is prose, and a third-width box invites one-word entries. */
.rs-wide[b-u3avolazpv]{grid-column:1/-1}
.rs-checks[b-u3avolazpv]{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.4rem;min-height:36px}

/* ---- Designation mapping ---- */
.rs-designations[b-u3avolazpv]{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #e4ebf3}
.rs-designations-head[b-u3avolazpv]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;flex-wrap:wrap}
.rs-designations-head h3[b-u3avolazpv]{font-size:.8rem;color:var(--brand-navy);margin:0 0 .15rem}
.rs-designations-head span[b-u3avolazpv]{display:block;font-size:.67rem;color:#7b8798;line-height:1.5;max-width:70ch}

/* Capped and scrollable: a full ladder is long, and it must not push the save button off-screen. */
.rs-designation-groups[b-u3avolazpv]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.35rem 1.1rem;max-height:16rem;overflow-y:auto;padding:.6rem .7rem;border:1px solid #dbe5f0;border-radius:10px;background:#fbfdff}
.rs-designation-group[b-u3avolazpv]{break-inside:avoid;margin-bottom:.5rem}
.rs-designation-group h4[b-u3avolazpv]{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#5b8fc9;font-weight:800;margin:0 0 .25rem;padding-bottom:.2rem;border-bottom:1px solid #e8eff7}
.rs-designation-group .admin-check[b-u3avolazpv]{min-height:26px;font-weight:600;font-size:.72rem;color:#334155}
.rs-designation-group .admin-check input[b-u3avolazpv]{accent-color:#1d3f72}
.rs-selected-count[b-u3avolazpv]{margin:.45rem 0 0;font-size:.67rem;color:#7b8798}

.rs-empty[b-u3avolazpv]{margin:0;padding:1.1rem;text-align:center;color:#7b8798;font-size:.72rem;border:1px dashed #cbd8e6;border-radius:10px;background:#fbfdff}
.rs-empty a[b-u3avolazpv]{color:#1472b8;font-weight:700}

/* ---- List head and search ---- */
.admin-list-head[b-u3avolazpv]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-u3avolazpv]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-u3avolazpv]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-u3avolazpv]{position:relative}
.admin-search i[b-u3avolazpv]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-u3avolazpv]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-u3avolazpv]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
.role-table[b-u3avolazpv]{font-size:.72rem;margin:0}
.role-table th[b-u3avolazpv]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.role-table td[b-u3avolazpv]{vertical-align:middle;color:#334155}
.role-table td strong[b-u3avolazpv]{color:#1d3f72;font-weight:750}
.role-table td small[b-u3avolazpv]{display:block;color:#9a6b10;font-size:.63rem}
.role-table td small.rs-desc[b-u3avolazpv]{color:#8a97a8}

.rs-pill[b-u3avolazpv]{background:#e8f0fa;color:#31527d;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700;cursor:default}
.status-pill[b-u3avolazpv]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-u3avolazpv]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-u3avolazpv]{background:#f1f5f9;color:#64748b}

.row-actions[b-u3avolazpv]{display:flex;gap:.2rem}
.row-actions button[b-u3avolazpv]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-u3avolazpv]{color:#dc3545}
.row-actions button:disabled[b-u3avolazpv]{color:#cbd5e1}

/* ---- Inline delete confirm / refusal, anchored to the row that raised it ---- */
.rs-prompt-row td[b-u3avolazpv]{padding:0;border-top:0}
.mt-confirm[b-u3avolazpv],.mt-blocked[b-u3avolazpv]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45}
.mt-confirm[b-u3avolazpv]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-u3avolazpv]{color:#c0392b}
.mt-blocked[b-u3avolazpv]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-u3avolazpv]{color:#c98a12}
.mt-confirm span[b-u3avolazpv],.mt-blocked span[b-u3avolazpv]{flex:1;min-width:0}
.mc-yes[b-u3avolazpv],.mc-no[b-u3avolazpv]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-u3avolazpv]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-u3avolazpv]{background:#a83226}
.mc-yes:disabled[b-u3avolazpv]{opacity:.6;cursor:default}
.mc-no[b-u3avolazpv]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-u3avolazpv]{background:#f1f5f9}

@media(max-width:900px){
  .admin-form-grid[b-u3avolazpv]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-u3avolazpv]{padding:.75rem}
  .admin-list-head[b-u3avolazpv],.rs-designations-head[b-u3avolazpv]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-u3avolazpv]{grid-template-columns:1fr}
  .admin-search[b-u3avolazpv],.admin-search input[b-u3avolazpv]{width:100%}
  .rs-designation-groups[b-u3avolazpv]{grid-template-columns:1fr;max-height:13rem}
  .mt-confirm[b-u3avolazpv],.mt-blocked[b-u3avolazpv]{flex-wrap:wrap}
}

/* ---- Permission matrix, absorbed from /rolePermission ---- */
/* A disclosure inside the form card rather than a section of its own: it is part of the role, but
   it is far taller than everything else and must not push Save off-screen when closed. */
.rs-permissions[b-u3avolazpv]{border-top:1px solid #e3eaf3;margin-top:1rem;padding-top:.9rem}
.rs-permissions-head[b-u3avolazpv]{display:flex;align-items:center;gap:.7rem;width:100%;border:0;background:transparent;padding:0;text-align:left}
.rs-permissions-head>i[b-u3avolazpv]{font-size:.9rem;color:#1472b8;width:14px}
.rs-permissions-head h3[b-u3avolazpv]{font-size:.82rem;color:var(--brand-navy);margin:0}
.rs-permissions-head span[b-u3avolazpv]{font-size:.7rem;color:var(--text-muted)}
.rs-permissions-head .rs-pill[b-u3avolazpv]{margin-left:auto}
.rs-permission-search[b-u3avolazpv]{margin:.75rem 0 .5rem;max-width:280px}
/* Capped so a long menu tree scrolls inside the card instead of burying the actions below it. */
.rs-matrix-scroll[b-u3avolazpv]{max-height:340px;overflow:auto;border:1px solid #e3eaf3;border-radius:9px}
.rs-matrix[b-u3avolazpv]{font-size:.7rem;margin:0}
.rs-matrix th[b-u3avolazpv]{position:sticky;top:0;z-index:1;background:#e9f0f8;color:#415872;text-align:center;text-transform:uppercase;letter-spacing:.03em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.rs-matrix .menu-column[b-u3avolazpv]{text-align:left;min-width:210px}
.rs-matrix td[b-u3avolazpv]{vertical-align:middle;border-color:#edf0f4}
.rs-matrix .menu-cell[b-u3avolazpv]{display:flex;align-items:center;gap:.65rem;color:#1472b8}
.rs-matrix .menu-cell>i[b-u3avolazpv]{width:22px;text-align:center;font-size:1rem}
.rs-matrix .menu-cell strong[b-u3avolazpv]{display:block;color:#334155}
.rs-matrix .menu-cell small[b-u3avolazpv]{display:block;color:#94a3b8;font-size:.61rem}
.rs-matrix .check-cell[b-u3avolazpv]{text-align:center;min-width:52px}
.rs-matrix .check-cell input[b-u3avolazpv]{width:16px;height:16px;accent-color:#1472b8}
.rs-matrix .not-applicable[b-u3avolazpv]{color:#cbd5e1}
.rs-matrix .row-toggle[b-u3avolazpv]{border:0;background:transparent;color:#1472b8;font-size:1rem}
.rs-matrix .row-toggle:disabled[b-u3avolazpv],.rs-matrix .check-cell input:disabled[b-u3avolazpv]{opacity:.45}
/* /Components/Pages/Administration/Stock.razor.rz.scp.css */
.admin-page[b-6e4xjquk0l]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-form-card[b-6e4xjquk0l],.admin-list-card[b-6e4xjquk0l]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-card[b-6e4xjquk0l]{padding:1rem;margin-bottom:1rem}.admin-form-grid[b-6e4xjquk0l]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-6e4xjquk0l]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-6e4xjquk0l]{color:#dc3545}.admin-field .form-control[b-6e4xjquk0l],.admin-field .form-select[b-6e4xjquk0l]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-actions[b-6e4xjquk0l]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.admin-list-head[b-6e4xjquk0l]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-6e4xjquk0l]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-6e4xjquk0l]{font-size:.68rem;color:var(--text-muted)}.admin-table[b-6e4xjquk0l]{font-size:.72rem;margin:0}.admin-table th[b-6e4xjquk0l]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap}.admin-table td[b-6e4xjquk0l]{vertical-align:middle;color:#334155}@media(max-width:900px){.admin-form-grid[b-6e4xjquk0l]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-6e4xjquk0l]{padding:.75rem}.admin-list-head[b-6e4xjquk0l]{flex-direction:column;gap:.75rem}.admin-form-grid[b-6e4xjquk0l]{grid-template-columns:1fr}}

/* HNBG palette alignment -- matches StoreSetup/CategorySetup/etc. */
.admin-page[b-6e4xjquk0l]{background:#dfe7f1;border-color:#cbd7e5}
.admin-form-card[b-6e4xjquk0l],.admin-list-card[b-6e4xjquk0l]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-6e4xjquk0l],.admin-field .form-select[b-6e4xjquk0l]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-6e4xjquk0l],.admin-field .form-select:focus[b-6e4xjquk0l]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-6e4xjquk0l]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-table th[b-6e4xjquk0l]{background:#e9f0f8;color:#415872;border-bottom-color:#cedae8}

/* Six filter fields (product, category, brand, store, from, to) -- three per row, two rows. */
.stock-filter-grid[b-6e4xjquk0l]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.stock-filter-grid[b-6e4xjquk0l]{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.stock-filter-grid[b-6e4xjquk0l]{grid-template-columns:1fr}}

.ds-explain[b-6e4xjquk0l]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}

/* ---- Empty state ---- */
.ds-empty[b-6e4xjquk0l]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-6e4xjquk0l]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-6e4xjquk0l]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-6e4xjquk0l]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}
/* /Components/Pages/Administration/StockUpload.razor.rz.scp.css */
.admin-page[b-konh4crqd8]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-form-card[b-konh4crqd8],.admin-list-card[b-konh4crqd8]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-card[b-konh4crqd8]{padding:1rem;margin-bottom:1rem}.admin-form-grid[b-konh4crqd8]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-konh4crqd8]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-konh4crqd8]{color:#dc3545}.admin-field .form-control[b-konh4crqd8],.admin-field .form-select[b-konh4crqd8]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-actions[b-konh4crqd8]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.admin-list-head[b-konh4crqd8]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-konh4crqd8]{font-size:.9rem;color:var(--brand-navy);margin:0}@media(max-width:900px){.admin-form-grid[b-konh4crqd8]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-konh4crqd8]{padding:.75rem}.admin-form-grid[b-konh4crqd8]{grid-template-columns:1fr}}

/* HNBG palette alignment -- matches Stock.razor.css/StoreSetup.razor.css/etc. */
.admin-page[b-konh4crqd8]{background:#dfe7f1;border-color:#cbd7e5}
.admin-form-card[b-konh4crqd8],.admin-list-card[b-konh4crqd8]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-konh4crqd8],.admin-field .form-select[b-konh4crqd8]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-konh4crqd8],.admin-field .form-select:focus[b-konh4crqd8]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-konh4crqd8]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}

.admin-check[b-konh4crqd8]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}
.stock-upload-check[b-konh4crqd8]{margin-bottom:0}
.stock-upload-check-hint[b-konh4crqd8]{margin:0 0 .85rem}

.stock-upload-grid[b-konh4crqd8]{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.stock-upload-grid[b-konh4crqd8]{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.stock-upload-grid[b-konh4crqd8]{grid-template-columns:1fr}}

.ds-explain[b-konh4crqd8]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}
.st-hint[b-konh4crqd8]{display:block;margin-top:.3rem;color:#7b8798;font-size:.64rem;line-height:1.4}

.stock-upload-template[b-konh4crqd8]{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem}
.stock-upload-template .st-hint[b-konh4crqd8]{margin-top:0}

.stock-upload-result[b-konh4crqd8]{padding-bottom:1rem}
.stock-upload-summary[b-konh4crqd8]{padding:.85rem 1rem 0}
.stock-upload-summary p[b-konh4crqd8]{font-size:.78rem;margin:0 0 .4rem}
.stock-upload-codes[b-konh4crqd8]{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}

.type-pill[b-konh4crqd8]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.type-pill.secondary[b-konh4crqd8]{background:#f1f5f9;color:#64748b}

.stock-upload-pending-actions[b-konh4crqd8]{display:flex;align-items:center;gap:.5rem}
.stock-upload-status-filter[b-konh4crqd8]{font-size:.76rem;min-height:31px;padding:.25rem 1.75rem .25rem .55rem;border-color:#ccd8e6;background-color:#fbfdff;width:auto}

.stock-status-pill[b-konh4crqd8]{display:inline-block;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:700;text-transform:capitalize}
.stock-status-pill.pending[b-konh4crqd8]{background:#fef3c7;color:#92400e}
.stock-status-pill.verified[b-konh4crqd8]{background:#dcfce7;color:#166534}
.stock-status-pill.rejected[b-konh4crqd8]{background:#fee2e2;color:#991b1b}
/* /Components/Pages/Administration/StoreSetup.razor.rz.scp.css */
.admin-page[b-nfzbjxt2io]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-form-card[b-nfzbjxt2io],.admin-list-card[b-nfzbjxt2io]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-form-card[b-nfzbjxt2io]{padding:1rem;margin-bottom:1rem}.admin-form-grid[b-nfzbjxt2io]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}.admin-field label[b-nfzbjxt2io]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.admin-field b[b-nfzbjxt2io]{color:#dc3545}.admin-field .form-control[b-nfzbjxt2io],.admin-field .form-select[b-nfzbjxt2io]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.admin-check[b-nfzbjxt2io]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}.admin-actions[b-nfzbjxt2io]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.admin-list-head[b-nfzbjxt2io]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-nfzbjxt2io]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-nfzbjxt2io]{font-size:.68rem;color:var(--text-muted)}.admin-search[b-nfzbjxt2io]{position:relative}.admin-search i[b-nfzbjxt2io]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.admin-search input[b-nfzbjxt2io]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}.admin-table[b-nfzbjxt2io]{font-size:.72rem;margin:0}.admin-table th[b-nfzbjxt2io]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap}.admin-table td[b-nfzbjxt2io]{vertical-align:middle;color:#334155}.admin-table td small[b-nfzbjxt2io]{display:block;color:#94a3b8}.type-pill[b-nfzbjxt2io]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}.row-actions[b-nfzbjxt2io]{display:flex;gap:.2rem}.row-actions button[b-nfzbjxt2io]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}.row-actions button.danger[b-nfzbjxt2io]{color:#dc3545}@media(max-width:900px){.admin-form-grid[b-nfzbjxt2io]{grid-template-columns:1fr 1fr}}@media(max-width:650px){.admin-page[b-nfzbjxt2io]{padding:.75rem}.admin-list-head[b-nfzbjxt2io]{flex-direction:column;gap:.75rem}.admin-form-grid[b-nfzbjxt2io]{grid-template-columns:1fr}.admin-search[b-nfzbjxt2io],.admin-search input[b-nfzbjxt2io]{width:100%}}
/* HNBG palette alignment */
.admin-page[b-nfzbjxt2io]{background:#dfe7f1;border-color:#cbd7e5}
.admin-form-card[b-nfzbjxt2io],.admin-list-card[b-nfzbjxt2io]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-field .form-control[b-nfzbjxt2io],.admin-field .form-select[b-nfzbjxt2io],.admin-search input[b-nfzbjxt2io]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-nfzbjxt2io],.admin-field .form-select:focus[b-nfzbjxt2io],.admin-search input:focus[b-nfzbjxt2io]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-nfzbjxt2io]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-table th[b-nfzbjxt2io]{background:#e9f0f8;color:#415872;border-bottom-color:#cedae8}

.type-pill.secondary[b-nfzbjxt2io]{background:#f1f5f9;color:#64748b}
/* An office retired under a store that still points at it. Loud, because this is the only screen
   that can move the store somewhere live. */
.type-pill.warn[b-nfzbjxt2io]{background:#fdecc8;color:#8a5a0b}

.st-hint[b-nfzbjxt2io]{display:block;margin-top:.3rem;color:#7b8798;font-size:.64rem;line-height:1.4}

.ds-explain[b-nfzbjxt2io]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}

/* ---- Empty state: with no seed data this is the first thing most people see, so it teaches ---- */
.ds-empty[b-nfzbjxt2io]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-nfzbjxt2io]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-nfzbjxt2io]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-nfzbjxt2io]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

/* ---- Inline delete confirm, anchored to the row that raised it ---- */
.mt-confirm[b-nfzbjxt2io]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45;border-top:1px solid #e8edf3;background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-nfzbjxt2io]{color:#c0392b}
.mt-confirm span[b-nfzbjxt2io]{flex:1;min-width:0}
.mc-yes[b-nfzbjxt2io],.mc-no[b-nfzbjxt2io]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-nfzbjxt2io]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-nfzbjxt2io]{background:#a83226}
.mc-yes:disabled[b-nfzbjxt2io]{opacity:.6;cursor:default}
.mc-no[b-nfzbjxt2io]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-nfzbjxt2io]{background:#f1f5f9}
/* /Components/Pages/Administration/SupplierIntake.razor.rz.scp.css */
/* Holding Station - a table of captured messages, filtered by group.
   Colours come from the existing HNBG palette. */

.hs-muted[b-gswdktkwcp] { color: #6b7280; }

/* ---------------- Filters ---------------- */
.hs-filters[b-gswdktkwcp] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    margin-bottom: 14px;
}

/* Leads the bar: a thread is how the offers were actually discussed. */
.hs-group-filter[b-gswdktkwcp] {
    min-width: 15rem;
    max-width: 22rem;
    height: 32px;
    font-size: .78rem;
    border: 1px solid #ccd8e6;
    border-radius: 8px;
    background-color: #fff;
    color: #26364a;
    padding-top: .2rem;
    padding-bottom: .2rem;
}

.hs-group-filter:focus[b-gswdktkwcp],
.hs-supplier:focus[b-gswdktkwcp] {
    border-color: #1e57b8;
    box-shadow: 0 0 0 2px rgba(30, 87, 184, 0.15);
}

.hs-supplier[b-gswdktkwcp] {
    min-width: 11rem;
    height: 32px;
    font-size: .78rem;
    border: 1px solid #ccd8e6;
    border-radius: 8px;
    background-color: #fff;
    color: #26364a;
    padding-top: .2rem;
    padding-bottom: .2rem;
}

.hs-chips[b-gswdktkwcp] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.hs-chip[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    height: 32px;
    border: 1px solid #d7e0ec;
    background: #fff;
    color: #415872;
    border-radius: 999px;
    padding: 0 .75rem;
    font-size: .74rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    user-select: none;
    transition: all .15s ease;
}

.hs-chip:hover[b-gswdktkwcp] { border-color: #9db6d4; background: #f8fbfe; color: #1e3a60; }
.hs-chip.on[b-gswdktkwcp] { background: #0b3160; border-color: #0b3160; color: #fff; box-shadow: 0 1px 3px rgba(11, 49, 96, 0.2); }

.hs-chip-warn[b-gswdktkwcp] { border-color: #d7e0ec; color: #415872; background: #fff; }
.hs-chip-warn:hover[b-gswdktkwcp] { border-color: #9db6d4; background: #f8fbfe; color: #1e3a60; }
.hs-chip-warn.on[b-gswdktkwcp] { background: #0b3160; border-color: #0b3160; color: #fff; box-shadow: 0 1px 3px rgba(11, 49, 96, 0.2); }

.hs-filter-right[b-gswdktkwcp] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-left: auto;
    flex-shrink: 0;
}

/* ---------------- Selection bar ---------------- */
.hs-selbar[b-gswdktkwcp] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: center;
    background: #eaf1fb;
    border: 1px solid #cddef5;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 10px;
}

.hs-selcount[b-gswdktkwcp] { font-weight: 700; font-size: .8rem; color: #285eaa; }
.hs-selnote[b-gswdktkwcp] { font-size: .72rem; color: #4b5563; }
.hs-selbar .btn[b-gswdktkwcp] { margin-left: auto; }

/* ---------------- Empty ---------------- */
.hs-empty[b-gswdktkwcp] {
    padding: 2rem 1rem;
    text-align: center;
    color: #7b8798;
    font-size: .8rem;
    border: 1px dashed #cbd8e6;
    border-radius: 10px;
    background: #fbfdff;
}

.hs-empty p[b-gswdktkwcp] { margin: 0 0 .6rem; }
.hs-count[b-gswdktkwcp] { font-size: .72rem; color: #6b7280; margin: 6px 0 0; }

/* ---------------- Table ---------------- */
.hs-table[b-gswdktkwcp] { font-size: .76rem; margin: 0; }

.hs-table th[b-gswdktkwcp] {
    background: #f2f6fb;
    color: #415872;
    text-transform: uppercase;
    letter-spacing: .035em;
    font-size: .62rem;
    white-space: nowrap;
    border-bottom-color: #dbe5f0;
    padding: .42rem .5rem;
}

.hs-table td[b-gswdktkwcp] { vertical-align: top; padding: .45rem .5rem; border-color: #eef2f7; }

.hs-check[b-gswdktkwcp] { width: 2.2rem; }
.hs-when[b-gswdktkwcp] { width: 6.5rem; white-space: nowrap; color: #6b7280; }
.hs-attachcol[b-gswdktkwcp] { width: 4.5rem; min-width: 4.5rem; text-align: center; vertical-align: middle !important; }
.hs-attachcol .hs-files[b-gswdktkwcp] { display: inline-flex; justify-content: center; margin: 0; }
.hs-rowactions[b-gswdktkwcp] { width: 4.5rem; }
.hs-flagcol[b-gswdktkwcp] { width: 4rem; text-align: center; }

.hs-row-on[b-gswdktkwcp] { background: #f5f9ff; }

/* Discarded rows stay in the list and fade rather than vanish - a discarded offer with its reason is
   the record of a decision, and hiding it invites the same message being re-triaged later. */
.hs-row-gone[b-gswdktkwcp] { opacity: .6; }

.hs-group[b-gswdktkwcp] { font-weight: 600; color: #26364a; word-break: break-word; }
.hs-supplier-name[b-gswdktkwcp] { font-size: .68rem; color: #2c7a4b; font-weight: 600; }

.hs-unlinked[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    font-size: .62rem;
    font-weight: 500;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid #d0dbe9;
    border-radius: 999px;
    padding: 0 .45rem;
    text-decoration: none;
    transition: all .15s ease;
}

.hs-unlinked:hover[b-gswdktkwcp] { background: #e2eaf5; color: #0b3160; border-color: #9db6d4; }

.hs-sender[b-gswdktkwcp] { color: #4b5563; max-width: 10rem; word-break: break-word; }
.hs-sender-primary[b-gswdktkwcp] { font-weight: 700; color: #0b3160; }

.hs-primary-badge[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-left: 4px;
    font-size: .56rem;
    font-weight: 700;
    background: #e0edfd;
    color: #0d47a1;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    padding: 0 .35rem;
    line-height: 1.3;
    vertical-align: middle;
}
.hs-primary-badge i[b-gswdktkwcp] { font-size: .52rem; color: #1d4ed8; }

.hs-ours[b-gswdktkwcp] {
    margin-left: 4px;
    font-size: .58rem;
    background: #f0f2f5;
    color: #6b7280;
    border-radius: 999px;
    padding: 0 .4rem;
}

.hs-msg[b-gswdktkwcp] { min-width: 16rem; max-width: 34rem; color: #26364a; }

/* ---------------- TaskManagement-style Attachment Cards ---------------- */
.hs-files[b-gswdktkwcp] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 6px;
    align-items: center;
}

.hs-doc-card[b-gswdktkwcp] {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 42px;
    padding: 3px 2px;
    border-radius: 8px;
    cursor: pointer;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #475569;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    line-height: 1;
    user-select: none;
}

.hs-doc-card:hover[b-gswdktkwcp] {
    transform: scale(1.08) translateY(-1px);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.1);
    z-index: 2;
}

.hs-doc-card:active[b-gswdktkwcp] {
    transform: scale(0.96);
}

.hs-doc-icon[b-gswdktkwcp] {
    font-size: 0.95rem;
    line-height: 1;
    margin-bottom: 2px;
}

.hs-doc-ext[b-gswdktkwcp] {
    font-size: 0.46rem;
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace, ui-monospace, sans-serif;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1;
}

/* Paperclip badge at top-right corner */
.hs-clip-badge[b-gswdktkwcp] {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #0284c7; /* Sky blue */
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 7px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    pointer-events: none;
}

.hs-clip-badge i[b-gswdktkwcp] {
    font-size: 7px;
    line-height: 1;
}

/* Document type color mappings matching TaskManagement */
.hs-doc-ppt[b-gswdktkwcp] {
    background: #fffbeb;
    border-color: #fde68a;
    color: #d97706;
}
.hs-doc-ppt .hs-doc-icon[b-gswdktkwcp] { color: #d97706; }
.hs-doc-ppt .hs-doc-ext[b-gswdktkwcp] { color: #b45309; }

.hs-doc-pdf[b-gswdktkwcp] {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #e11d48;
}
.hs-doc-pdf .hs-doc-icon[b-gswdktkwcp] { color: #e11d48; }
.hs-doc-pdf .hs-doc-ext[b-gswdktkwcp] { color: #be123c; }

.hs-doc-xls[b-gswdktkwcp] {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #16a34a;
}
.hs-doc-xls .hs-doc-icon[b-gswdktkwcp] { color: #16a34a; }
.hs-doc-xls .hs-doc-ext[b-gswdktkwcp] { color: #15803d; }

.hs-doc-doc[b-gswdktkwcp] {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #2563eb;
}
.hs-doc-doc .hs-doc-icon[b-gswdktkwcp] { color: #2563eb; }
.hs-doc-doc .hs-doc-ext[b-gswdktkwcp] { color: #1d4ed8; }

.hs-doc-img[b-gswdktkwcp] {
    background: #faf5ff;
    border-color: #e9d5ff;
    color: #9333ea;
}
.hs-doc-img .hs-doc-icon[b-gswdktkwcp] { color: #9333ea; }
.hs-doc-img .hs-doc-ext[b-gswdktkwcp] { color: #7e22ce; }

.hs-doc-vid[b-gswdktkwcp] {
    background: #ecfeff;
    border-color: #a5f3fc;
    color: #0891b2;
}
.hs-doc-vid .hs-doc-icon[b-gswdktkwcp] { color: #0891b2; }
.hs-doc-vid .hs-doc-ext[b-gswdktkwcp] { color: #0e7490; }

.hs-doc-aud[b-gswdktkwcp] {
    background: #f0fdfa;
    border-color: #99f6e4;
    color: #0d9488;
}
.hs-doc-aud .hs-doc-icon[b-gswdktkwcp] { color: #0d9488; }
.hs-doc-aud .hs-doc-ext[b-gswdktkwcp] { color: #0f766e; }

.hs-doc-zip[b-gswdktkwcp] {
    background: #fefce8;
    border-color: #fef08a;
    color: #ca8a04;
}
.hs-doc-zip .hs-doc-icon[b-gswdktkwcp] { color: #ca8a04; }
.hs-doc-zip .hs-doc-ext[b-gswdktkwcp] { color: #a16207; }

.hs-doc-txt[b-gswdktkwcp] {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #475569;
}
.hs-doc-txt .hs-doc-icon[b-gswdktkwcp] { color: #475569; }
.hs-doc-txt .hs-doc-ext[b-gswdktkwcp] { color: #334155; }

.hs-doc-gen[b-gswdktkwcp] {
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #64748b;
}

/* Dead/Oversize and mismatch indicators */
.hs-doc-dead[b-gswdktkwcp] {
    opacity: 0.65;
    cursor: help;
    border-style: dashed;
}
.hs-doc-dead .hs-clip-badge[b-gswdktkwcp] {
    background: #94a3b8;
}
.hs-doc-dead-tag[b-gswdktkwcp] {
    position: absolute;
    bottom: -12px;
    font-size: 0.5rem;
    font-weight: 700;
    color: #ef4444;
    white-space: nowrap;
}

.hs-doc-mismatch[b-gswdktkwcp] {
    position: absolute;
    bottom: -3px;
    left: -3px;
    font-size: 8px;
    color: #f59e0b;
}

/* ---------------- AI Analysis Badges (Offer, Meeting, Visit, etc.) ---------------- */
.hs-ai-badge[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: .12rem .45rem;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.3;
    cursor: help;
    user-select: none;
    transition: all .15s ease;
}

.hs-ai-icon[b-gswdktkwcp] { font-size: .58rem; line-height: 1; }
.hs-ai-pct[b-gswdktkwcp] {
    font-family: 'JetBrains Mono', monospace, ui-monospace, sans-serif;
    font-weight: 700;
}

/* --- Offer Badges: Gradient Green on Transparent ---
   Kept identical to the conversation view's .cv-ai-offer tiers: the same message shows in both, and
   one reading louder than the other would make the score look unreliable. */
.hs-ai-offer.hs-ai-tier-high[b-gswdktkwcp] {
    background: linear-gradient(135deg, rgba(22, 163, 74, 0.22) 0%, rgba(16, 185, 129, 0.12) 100%);
    border: 1px solid rgba(22, 163, 74, 0.45);
    color: #0f766e;
    box-shadow: 0 1px 2px rgba(22, 163, 74, 0.12);
}

.hs-ai-offer.hs-ai-tier-med[b-gswdktkwcp] {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.16) 0%, rgba(74, 222, 128, 0.08) 100%);
    border: 1px solid rgba(34, 197, 94, 0.35);
    color: #166534;
}

.hs-ai-offer.hs-ai-tier-low[b-gswdktkwcp] {
    background: linear-gradient(135deg, rgba(134, 239, 172, 0.18) 0%, rgba(220, 252, 231, 0.10) 100%);
    border: 1px solid rgba(74, 222, 128, 0.30);
    color: #15803d;
}

.hs-ai-offer.hs-ai-tier-none[b-gswdktkwcp] {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #64748b;
}

/* --- Meeting Badges (Future-ready) --- */
.hs-ai-meeting[b-gswdktkwcp] {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.18) 0%, rgba(139, 92, 246, 0.10) 100%);
    border: 1px solid rgba(99, 102, 241, 0.38);
    color: #4338ca;
}

/* --- Visit Badges (Future-ready) --- */
.hs-ai-visit[b-gswdktkwcp] {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.18) 0%, rgba(6, 182, 212, 0.10) 100%);
    border: 1px solid rgba(14, 165, 233, 0.38);
    color: #0369a1;
}

/* ---------------- Flag ---------------- */
.hs-flag[b-gswdktkwcp] {
    display: inline-block;
    min-width: 2.4rem;
    border-radius: 999px;
    padding: .05rem .35rem;
    font-size: .66rem;
    font-weight: 700;
    cursor: help;
}

.hs-flag-yes[b-gswdktkwcp]  { background: #e9f4ee; color: #2c7a4b; }
.hs-flag-no[b-gswdktkwcp]   { background: #f0f2f5; color: #6b7280; }
.hs-flag-err[b-gswdktkwcp]  { background: #fdf6f4; color: #ad3e1f; }
.hs-flag-skip[b-gswdktkwcp] { background: transparent; color: #b9c2cd; }
.hs-flag-wait[b-gswdktkwcp] { background: transparent; color: #b9c2cd; }

/* ---------------- Status ---------------- */
.hs-pill[b-gswdktkwcp] {
    border-radius: 999px;
    padding: .05rem .5rem;
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    white-space: nowrap;
}

.hs-pill-new[b-gswdktkwcp]  { background: #eaf1fb; color: #285eaa; }
.hs-pill-seen[b-gswdktkwcp] { background: #e9f4ee; color: #2c7a4b; }
.hs-pill-done[b-gswdktkwcp] { background: #e9f4ee; color: #2c7a4b; }
.hs-pill-gone[b-gswdktkwcp] { background: #f0f2f5; color: #6b7280; }

.hs-reason[b-gswdktkwcp] { font-size: .62rem; color: #6b7280; margin-top: 2px; word-break: break-word; }

/* ---------------- Inline discard ---------------- */
.hs-ignorerow td[b-gswdktkwcp] { background: #fdf6f4; }
.hs-ignorebox[b-gswdktkwcp] { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.hs-ignorebox .form-control[b-gswdktkwcp] { flex: 1 1 18rem; font-size: .74rem; border-color: #ccd8e6; }

/* ---------------- View toggle ----------------
   A tactile segmented control with individual pill styling and crisp state transitions. */
.hs-viewtoggle[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    background: #eef3f9;
    border: 1px solid #ccd8e6;
    border-radius: 8px;
    padding: 2px;
    gap: 2px;
    flex-shrink: 0;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

.hs-viewtoggle button[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 26px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #4b5d73;
    font-size: .74rem;
    font-weight: 600;
    padding: 0 .65rem;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: pointer;
    line-height: 1;
    user-select: none;
    transition: all .18s cubic-bezier(0.4, 0, 0.2, 1);
}

.hs-viewtoggle button i[b-gswdktkwcp] {
    font-size: .82rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.hs-viewtoggle button span[b-gswdktkwcp] {
    display: inline-block;
    white-space: nowrap;
    line-height: 1;
}

.hs-viewtoggle button:hover[b-gswdktkwcp] {
    background: rgba(255, 255, 255, 0.7);
    color: #0b3160;
}

.hs-viewtoggle button.on[b-gswdktkwcp] {
    background: #0b3160;
    color: #ffffff;
    box-shadow: 0 1px 3px rgba(11, 49, 96, 0.25);
}

.hs-viewtoggle button:focus-visible[b-gswdktkwcp] {
    outline: 2px solid #1e57b8;
    outline-offset: 1px;
}

/* ---------------- Refresh Button ---------------- */
.hs-refresh-btn[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 32px;
    padding: 0 .75rem;
    border: 1px solid #ccd8e6;
    background: #fff;
    color: #36495f;
    border-radius: 8px;
    font-size: .74rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    cursor: pointer;
    line-height: 1;
    user-select: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: all .18s cubic-bezier(0.4, 0, 0.2, 1);
}

.hs-refresh-btn i[b-gswdktkwcp] {
    font-size: .85rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    transition: transform .35s ease;
}

.hs-refresh-btn span[b-gswdktkwcp] {
    display: inline-block;
    white-space: nowrap;
    line-height: 1;
}

.hs-refresh-btn:hover:not(:disabled)[b-gswdktkwcp] {
    background: #f4f8fd;
    border-color: #8faed3;
    color: #0b3160;
    box-shadow: 0 2px 5px rgba(11, 49, 96, 0.08);
}

.hs-refresh-btn:hover:not(:disabled) i[b-gswdktkwcp] {
    transform: rotate(45deg);
}

.hs-refresh-btn:active:not(:disabled)[b-gswdktkwcp] {
    transform: translateY(1px);
    background: #eaf1fb;
}

.hs-refresh-btn:focus-visible[b-gswdktkwcp] {
    outline: 2px solid #1e57b8;
    outline-offset: 1px;
}

.hs-refresh-btn:disabled[b-gswdktkwcp] {
    opacity: .65;
    cursor: not-allowed;
    background: #f8fafc;
    border-color: #e2e8f0;
    color: #94a3b8;
}

.hs-spin[b-gswdktkwcp] {
    animation: hs-spin-b-gswdktkwcp 0.85s linear infinite !important;
}

@keyframes hs-spin-b-gswdktkwcp {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ---------------- Responsive ---------------- */
@media (max-width: 992px) {
    .hs-filters[b-gswdktkwcp] { gap: 10px; }
    .hs-filter-right[b-gswdktkwcp] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 780px) {
    .hs-group-filter[b-gswdktkwcp], .hs-supplier[b-gswdktkwcp] {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
    }
    .hs-filter-right[b-gswdktkwcp] {
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    .hs-viewtoggle button span[b-gswdktkwcp] {
        display: none;
    }
    .hs-viewtoggle button[b-gswdktkwcp] {
        padding: 0 .5rem;
    }
    .hs-refresh-btn span[b-gswdktkwcp] {
        display: none;
    }
    .hs-refresh-btn[b-gswdktkwcp] {
        padding: 0 .6rem;
    }
}

/* ---------------- Draft chip ----------------

   Marks a queue row whose message has already been extracted, and opens that draft.

   Indigo, NOT the green of the offer badge. The badge is a score; this is a record that something
   exists. Sharing the green would read as "this draft is a strong offer", which it does not say -
   a draft with zero items wears this chip too, and that is the case it most needs to communicate. */
.hs-draftchip[b-gswdktkwcp] {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin-left: .35rem;
    padding: .1rem .4rem;
    border-radius: 999px;
    border: 1px solid rgba(99, 102, 241, 0.38);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.16) 0%, rgba(139, 92, 246, 0.08) 100%);
    color: #4338ca;
    font-size: .66rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
    white-space: nowrap;
    transition: all .15s ease;
}

.hs-draftchip:hover[b-gswdktkwcp] {
    border-color: rgba(99, 102, 241, 0.6);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.26) 0%, rgba(139, 92, 246, 0.14) 100%);
}

.hs-draftchip:focus-visible[b-gswdktkwcp] { outline: 2px solid #6366f1; outline-offset: 1px; }

/* A failed draft is worth seeing from the queue rather than only after opening it. */
.hs-draftchip-bad[b-gswdktkwcp] {
    border-color: rgba(220, 38, 38, 0.38);
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.14) 0%, rgba(248, 113, 113, 0.07) 100%);
    color: #b91c1c;
}

.hs-draftchip-bad:hover[b-gswdktkwcp] {
    border-color: rgba(220, 38, 38, 0.6);
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.22) 0%, rgba(248, 113, 113, 0.12) 100%);
}

.hs-draftchip-spin[b-gswdktkwcp] {
    width: .6rem;
    height: .6rem;
    border: 2px solid rgba(99, 102, 241, 0.25);
    border-top-color: #6366f1;
    border-radius: 50%;
    animation: hs-draftchip-spin-b-gswdktkwcp .7s linear infinite;
}

@keyframes hs-draftchip-spin-b-gswdktkwcp { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .hs-draftchip-spin[b-gswdktkwcp] { animation-duration: 2.4s; }
}
/* /Components/Pages/Administration/SupplierSetup.razor.rz.scp.css */
/* Supplier Setup.
   Same shell as RoleSetup, OfficeSetup and DesignationSetup: blue-gray workspace, white cards,
   blue-tinted card head, HNBG palette values reused verbatim so the admin screens are
   indistinguishable in chrome. The supplier-specific pieces are prefixed .ss-.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-as6waisdpc]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-as6waisdpc],.admin-list-card[b-as6waisdpc]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-form-card[b-as6waisdpc]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-as6waisdpc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-as6waisdpc]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field label small[b-as6waisdpc]{font-weight:600;color:#94a3b8;text-transform:none;letter-spacing:0}
.admin-field b[b-as6waisdpc]{color:#dc3545}
.admin-field .form-control[b-as6waisdpc]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-as6waisdpc]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-field .form-control:disabled[b-as6waisdpc]{background-color:#eef2f7;color:#7b8798}
.admin-check[b-as6waisdpc]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-as6waisdpc]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* Address and Notes earn the full row -- they are prose, and a third-width box invites one-word
   entries. Notes carries the second contact until a SupplierContact child table exists. */
.ss-wide[b-as6waisdpc]{grid-column:1/-1}
.ss-notes[b-as6waisdpc]{min-height:52px;resize:vertical}

/* ---- Contacts (many per supplier, 0059) ---- */
/* A section inside the form card rather than a card of its own: contacts belong to the supplier
   being edited, and a second card would imply they save separately. They do not -- the whole set is
   replaced on save. */
.ss-contacts[b-as6waisdpc]{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #e4ebf3}
.ss-contacts-head[b-as6waisdpc]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;flex-wrap:wrap}
.ss-contacts-head h3[b-as6waisdpc]{font-size:.8rem;color:var(--brand-navy);margin:0 0 .15rem}
.ss-contacts-head span[b-as6waisdpc]{display:block;font-size:.67rem;color:#7b8798;line-height:1.5;max-width:74ch}
.ss-contacts-empty[b-as6waisdpc]{margin:0;padding:1rem;text-align:center;color:#7b8798;font-size:.7rem;border:1px dashed #cbd8e6;border-radius:10px;background:#fbfdff}

.ss-contact-table[b-as6waisdpc]{font-size:.72rem;margin:0}
.ss-contact-table th[b-as6waisdpc]{background:#f2f6fb;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.6rem;white-space:nowrap;border-bottom-color:#dbe5f0;padding:.4rem .5rem}
.ss-contact-table th b[b-as6waisdpc]{color:#dc3545}
.ss-contact-table td[b-as6waisdpc]{vertical-align:middle;padding:.3rem .5rem;border-color:#eef2f7}
.ss-contact-table .form-control[b-as6waisdpc]{font-size:.74rem;min-height:32px;border-color:#ccd8e6;background-color:#fbfdff;padding:.25rem .5rem}
.ss-contact-table .form-control:focus[b-as6waisdpc]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
/* Narrow and centred: it is a one-of-many marker, not a field. */
.ss-primary-col[b-as6waisdpc]{width:64px;text-align:center}
.ss-primary-col input[b-as6waisdpc]{width:15px;height:15px;accent-color:#1d3f72}

/* Products (many per supplier, 0063) is a plain .admin-field grid cell now, right after Country --
   no dedicated class needed. The picker itself is CbsMultiSelect
   (src/UI/Components/Shared/CbsMultiSelect.razor), styled by theme.css's
   .cbs-select-* and .cbs-multiselect-* rules, not here.
*/

/* ---- List head and search ---- */
.admin-list-head[b-as6waisdpc]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-as6waisdpc]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-as6waisdpc]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-as6waisdpc]{display:flex;flex-direction:column;gap:.2rem}
.admin-search[b-as6waisdpc]{position:relative}
.admin-search i[b-as6waisdpc]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-as6waisdpc]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-as6waisdpc]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
.ss-table[b-as6waisdpc]{font-size:.72rem;margin:0;table-layout:auto}
.ss-table th[b-as6waisdpc]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.65rem .85rem}
.ss-table td[b-as6waisdpc]{vertical-align:middle;color:#334155;padding:.7rem .85rem;border-color:#eef2f7}
.ss-table td strong[b-as6waisdpc]{color:#1d3f72;font-weight:750}
.ss-table td small[b-as6waisdpc]{display:block;font-size:.63rem;margin-top:.15rem}
/* The supplier's own script, so it must not be squeezed -- Japanese and Devanagari both need the
   line height. The app already loads Noto Devanagari and the browser falls back per script. */
.ss-table td small.ss-native[b-as6waisdpc]{color:#5b8fc9;font-size:.68rem;line-height:1.5}
.ss-table td small.ss-reach[b-as6waisdpc]{color:#8a97a8}
/* The primary contact's job title, inline after their name. */
.ss-table td .ss-role[b-as6waisdpc]{color:#8a97a8;font-size:.66rem;margin-left:.35rem}
/* "+N more" -- the full names live in its title attribute, so the count is resolvable on hover
   without opening the record. Shared by the Contact and Products columns. */
.ss-table td small.ss-more[b-as6waisdpc]{color:#5b8fc9;font-weight:700;cursor:default}

/* Narrow, fixed-content columns keep only the width they need, so auto table layout doesn't hand
   their leftover space to whichever flexible column happens to come first (Supplier Name, previously,
   left a visibly uneven gap before Code). Name/Contact/Products stay unconstrained and share what's
   left, which is where the space actually belongs. */
.ss-table th.ss-col-code[b-as6waisdpc],.ss-table td.ss-col-code[b-as6waisdpc]{width:76px}
.ss-table th.ss-col-country[b-as6waisdpc],.ss-table td.ss-col-country[b-as6waisdpc]{width:92px}
.ss-table th.ss-col-tasks[b-as6waisdpc],.ss-table td.ss-col-tasks[b-as6waisdpc]{width:64px;text-align:center}
.ss-table th.ss-col-status[b-as6waisdpc],.ss-table td.ss-col-status[b-as6waisdpc]{width:88px}
.ss-table th.ss-col-action[b-as6waisdpc],.ss-table td.ss-col-action[b-as6waisdpc]{width:80px}

.ss-pill[b-as6waisdpc]{background:#e8f0fa;color:#31527d;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700;cursor:default}
.status-pill[b-as6waisdpc]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-as6waisdpc]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-as6waisdpc]{background:#f1f5f9;color:#64748b}

.row-actions[b-as6waisdpc]{display:flex;gap:.2rem}
.row-actions button[b-as6waisdpc]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-as6waisdpc]{color:#dc3545}
.row-actions button:disabled[b-as6waisdpc]{color:#cbd5e1}

/* ---- Inline delete confirm / refusal, anchored to the row that raised it ---- */
.ss-prompt-row td[b-as6waisdpc]{padding:0;border-top:0}
.mt-confirm[b-as6waisdpc],.mt-blocked[b-as6waisdpc]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;line-height:1.45}
.mt-confirm[b-as6waisdpc]{background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-as6waisdpc]{color:#c0392b}
.mt-blocked[b-as6waisdpc]{background:#fef8e7;color:#7c5310}
.mt-blocked .bi[b-as6waisdpc]{color:#c98a12}
.mt-confirm span[b-as6waisdpc],.mt-blocked span[b-as6waisdpc]{flex:1;min-width:0}
.mc-yes[b-as6waisdpc],.mc-no[b-as6waisdpc]{flex:0 0 auto;border-radius:6px;padding:.3rem .65rem;font-size:.67rem;font-weight:700;border:1px solid transparent;cursor:pointer}
.mc-yes[b-as6waisdpc]{background:#c0392b;color:#fff}
.mc-yes:hover:not(:disabled)[b-as6waisdpc]{background:#a83226}
.mc-yes:disabled[b-as6waisdpc]{opacity:.6;cursor:default}
.mc-no[b-as6waisdpc]{background:#fff;border-color:#cbd8e6;color:#475569}
.mc-no:hover[b-as6waisdpc]{background:#f1f5f9}

/* ---- Empty state ---- */
/* 0058 seeds no suppliers, so this is the first thing most people see. It teaches rather than sits
   blank -- same reasoning DesignationSetup records for its own empty ladder. */
.ss-empty[b-as6waisdpc]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-as6waisdpc]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-as6waisdpc]{font-size:.78rem;color:#475569}
.ss-empty span[b-as6waisdpc]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-as6waisdpc]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-as6waisdpc]{padding:.75rem}
  .admin-list-head[b-as6waisdpc]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-as6waisdpc]{grid-template-columns:1fr}
  .admin-search[b-as6waisdpc],.admin-search input[b-as6waisdpc]{width:100%}
  .mt-confirm[b-as6waisdpc],.mt-blocked[b-as6waisdpc]{flex-wrap:wrap}
}

/* ---------------- WhatsApp groups ----------------
   Reuses .ss-contacts-head / .ss-contacts-empty / .ss-contact-table so this reads as a peer of the
   contacts block rather than a bolted-on panel. */
.ss-groups[b-as6waisdpc]{margin-top:1.1rem;padding-top:1rem;border-top:1px solid #e8eef5}

.ss-num[b-as6waisdpc]{text-align:right;width:5rem}
.ss-row-actions[b-as6waisdpc]{width:3rem}

.ss-group-name[b-as6waisdpc]{font-weight:600;color:#26364a;word-break:break-word}

/* Amber, never red. A link the connected account cannot see is still a valid link - the number just
   has not been invited to that group yet - so this must read as a to-do, not as a fault. */
.ss-group-unseen[b-as6waisdpc]{display:inline-block;margin-top:.15rem;font-size:.62rem;color:#8a6100;background:#fffdf6;
    border:1px solid #f0e2bd;border-radius:999px;padding:.05rem .45rem;cursor:help}

/* ---------------- picker ---------------- */
.ss-picker[b-as6waisdpc]{margin-top:.8rem;border:1px solid #e3ebf4;border-radius:10px;padding:.7rem .8rem;background:#fbfdff}
.ss-picker-search[b-as6waisdpc]{margin-bottom:.55rem}
.ss-picker-empty[b-as6waisdpc]{margin:0;font-size:.68rem;color:#7b8798;padding:.35rem .1rem}

.ss-picker-list[b-as6waisdpc]{list-style:none;margin:0;padding:0;max-height:16rem;overflow-y:auto}
.ss-picker-list li[b-as6waisdpc]{display:flex;align-items:center;justify-content:space-between;gap:.6rem;
    padding:.35rem .1rem;border-bottom:1px solid #eef2f7}
.ss-picker-list li:last-child[b-as6waisdpc]{border-bottom:0}

.ss-picker-main[b-as6waisdpc]{min-width:0}
.ss-picker-name[b-as6waisdpc]{display:block;font-size:.74rem;font-weight:600;color:#26364a;word-break:break-word}
.ss-picker-meta[b-as6waisdpc]{display:block;font-size:.62rem;color:#7b8798}
.ss-picker-linked[b-as6waisdpc]{color:#2c7a4b;font-size:.9rem;padding-right:.4rem}
.ss-picker-more[b-as6waisdpc]{margin:.4rem 0 0;font-size:.63rem;color:#7b8798}

/* ---------------- manual id ----------------
   Understated because it is the fallback, not the happy path - but always present, so a down bridge
   never blocks linking. */
.ss-manual[b-as6waisdpc]{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem;align-items:center}
.ss-manual .form-control[b-as6waisdpc]{flex:1 1 18rem;font-size:.72rem;border-color:#ccd8e6}

.ss-manual-toggle[b-as6waisdpc]{margin-top:.55rem;background:none;border:0;padding:0;font-size:.66rem;
    color:#3975bd;text-decoration:underline;cursor:pointer}
.ss-manual-toggle:hover[b-as6waisdpc]{color:#285eaa}
/* /Components/Pages/Administration/WhatsAppConnection.razor.rz.scp.css */
/* WhatsApp Connection - a health console.
   Reuses the shared .admin-page shell; everything here is scoped to this page. Colours come from the
   existing HNBG palette rather than a new one. */

.wc-muted[b-njhs4nbzei] { color: #6b7280; }
.wc-small[b-njhs4nbzei] { font-size: .82rem; }

/* ---------------- Status banner ----------------
   The state is the headline, so it gets the only strong colour on the page. */
.wc-status[b-njhs4nbzei] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    border-left-width: 4px;
    background: #fff;
    margin-bottom: 16px;
}

.wc-status-main[b-njhs4nbzei] { display: flex; align-items: center; gap: 12px; }
.wc-status h3[b-njhs4nbzei] { margin: 0; font-size: 1.02rem; font-weight: 600; }
.wc-status p[b-njhs4nbzei] { margin: 2px 0 0; font-size: .88rem; color: #4b5563; max-width: 68ch; }
.wc-status-meta[b-njhs4nbzei] { font-size: .86rem; color: #4b5563; }

.wc-dot[b-njhs4nbzei] { width: 11px; height: 11px; border-radius: 50%; flex: 0 0 auto; }

.wc-ok[b-njhs4nbzei]   { border-left-color: #2c7a4b; }
.wc-ok   .wc-dot[b-njhs4nbzei] { background: #2c7a4b; }
.wc-warn[b-njhs4nbzei] { border-left-color: #b8860b; background: #fffdf6; }
.wc-warn .wc-dot[b-njhs4nbzei] { background: #b8860b; }
.wc-bad[b-njhs4nbzei]  { border-left-color: #ad3e1f; background: #fdf6f4; }
.wc-bad  .wc-dot[b-njhs4nbzei] { background: #ad3e1f; }
.wc-idle[b-njhs4nbzei] { border-left-color: #9ca3af; }
.wc-idle .wc-dot[b-njhs4nbzei] { background: #9ca3af; }

/* ---------------- Cards ---------------- */
.wc-card[b-njhs4nbzei] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 16px 18px;
    margin-bottom: 16px;
}

.wc-card-title[b-njhs4nbzei] {
    margin: 0 0 12px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6b7280;
}

/* ---------------- Pairing ---------------- */
.wc-pair-body[b-njhs4nbzei] { display: flex; flex-wrap: wrap; gap: 22px; align-items: flex-start; }

.wc-qr[b-njhs4nbzei] {
    padding: 10px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    line-height: 0;   /* the img is the whole box - no descender gap */
}

.wc-pair-steps h4[b-njhs4nbzei] { margin: 0 0 8px; font-size: 1rem; font-weight: 600; }
.wc-pair-steps ol[b-njhs4nbzei] { margin: 0 0 8px; padding-left: 1.2em; font-size: .9rem; }
.wc-pair-steps li[b-njhs4nbzei] { margin-bottom: 4px; }

/* The code rotates roughly every 20s. Saying so beats a countdown that would need its own timer and
   would still be wrong the moment the tab is backgrounded. */
.wc-rotating[b-njhs4nbzei] {
    margin: 8px 0 4px;
    font-size: .84rem;
    color: #b8860b;
    font-weight: 600;
}

/* ---------------- Fact grid ---------------- */
.wc-grid[b-njhs4nbzei] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 10px;
}

.wc-fact[b-njhs4nbzei] {
    border: 1px solid #eef0f3;
    border-radius: 8px;
    padding: 9px 11px;
    background: #fbfcfd;
    min-width: 0;
}

.wc-fact-label[b-njhs4nbzei] {
    display: block;
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 3px;
}

.wc-fact b[b-njhs4nbzei] {
    font-size: .96rem;
    font-weight: 600;
    word-break: break-word;   /* a JID or an account id must not blow out the grid */
}

/* Amber, not red: a non-zero outbox or a sub-100% decrypt rate is "look at this", not "it is broken". */
.wc-fact-alert[b-njhs4nbzei] { background: #fffdf6; border-color: #f0e2bd; }
.wc-fact-alert b[b-njhs4nbzei] { color: #8a6100; }

.wc-lasterror[b-njhs4nbzei] {
    margin: 12px 0 0;
    font-size: .86rem;
    color: #7a2e17;
    background: #fdf6f4;
    border-radius: 6px;
    padding: 8px 10px;
    word-break: break-word;
}

/* ---------------- Groups ---------------- */
.wc-hint[b-njhs4nbzei] {
    margin: 10px 0 0;
    font-size: .86rem;
    color: #8a6100;
    background: #fffdf6;
    border-radius: 6px;
    padding: 8px 10px;
}

.wc-table[b-njhs4nbzei] { margin: 12px 0 4px; font-size: .9rem; }
/* Explicit background so the now sitewide-sticky header (theme.css) doesn't show scrolled rows
   through its own text -- every other page's table th already sets one; this was the one gap. */
.wc-table th[b-njhs4nbzei] { font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; color: #6b7280; background: #fff; }
.wc-num[b-njhs4nbzei] { text-align: right; width: 6rem; }
.wc-unlinked[b-njhs4nbzei] { color: #8a6100; font-style: italic; }

/* ---------------- Actions ---------------- */
.wc-actions[b-njhs4nbzei] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* Queued, not done. Nothing can call into the bridge, so the page must not imply the action ran. */
.wc-queued[b-njhs4nbzei] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    align-items: baseline;
    background: #f5f7fb;
    border: 1px solid #e2e8f2;
    border-radius: 8px;
    padding: 8px 11px;
    margin-bottom: 12px;
    font-size: .88rem;
}

.wc-queued span[b-njhs4nbzei] { color: #4b5563; }

.wc-confirm[b-njhs4nbzei] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: .88rem;
    color: #7a2e17;
}

@media (max-width: 640px) {
    .wc-status[b-njhs4nbzei] { align-items: flex-start; }
    .wc-pair-body[b-njhs4nbzei] { gap: 14px; }
}
/* /Components/Pages/Approvals/Approvals.razor.rz.scp.css */
.uranus-page[b-u1rwqg5rbv]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:14px;padding:1rem 1.25rem 1.25rem;min-height:70vh}.uranus-page-toolbar[b-u1rwqg5rbv]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.uranus-card[b-u1rwqg5rbv]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;overflow:hidden;box-shadow:0 6px 20px rgba(29,62,104,.08)}.uranus-card>header[b-u1rwqg5rbv]{display:flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}.uranus-card>header i[b-u1rwqg5rbv]{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(201,151,41,.12);color:#a57712}.uranus-card>header h2[b-u1rwqg5rbv]{font-size:.92rem;margin:0;color:var(--brand-navy);font-weight:750}.uranus-card-body[b-u1rwqg5rbv]{padding:1rem;background:#fff}
.uranus-table[b-u1rwqg5rbv]{font-size:.73rem;margin:0}.uranus-table thead th[b-u1rwqg5rbv]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.64rem;border-bottom:1px solid #e3e8ef;white-space:nowrap}.uranus-table td[b-u1rwqg5rbv]{vertical-align:middle;color:#334155}
/* Neutral by default (a module name, or a status with no verdict yet); green once approved, red once
   rejected or returned -- the two outcomes a maker most needs to spot in a long list. */
.status-pill[b-u1rwqg5rbv]{display:inline-flex;border-radius:999px;padding:.2rem .5rem;font-size:.65rem;font-weight:750;background:#e0e7ff;color:#3730a3}
.status-pill.active[b-u1rwqg5rbv]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-u1rwqg5rbv]{background:#fee2e2;color:#991b1b}
/* Row actions in the app's own blue rather than Bootstrap's default primary, so this page sits with
   the rest of the UI. Fill weight separates the two: correcting your own returned work is the one
   thing on this page that must be done, reviewing is a choice among many rows. */
.uranus-actions .btn[b-u1rwqg5rbv]{font-size:.7rem;font-weight:650;border:1px solid transparent;padding:.25rem .6rem}
.uranus-actions .btn-fix[b-u1rwqg5rbv]{background:var(--accent-blue,#1e57b8);border-color:var(--accent-blue,#1e57b8);color:#fff}
.uranus-actions .btn-fix:hover[b-u1rwqg5rbv]{background:var(--brand-navy,#0b3160);border-color:var(--brand-navy,#0b3160);color:#fff}
.uranus-actions .btn-review[b-u1rwqg5rbv]{background:var(--accent-blue-soft,#e9f0fb);border-color:#9dbbe4;color:var(--brand-navy,#0b3160)}
.uranus-actions .btn-review:hover[b-u1rwqg5rbv]{background:#d8e6f8;border-color:var(--accent-blue,#1e57b8);color:var(--brand-navy,#0b3160)}
.uranus-loading[b-u1rwqg5rbv]{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted)}
@media(max-width:600px){.uranus-page[b-u1rwqg5rbv]{padding:.75rem}}
/* /Components/Pages/BoardSheets/BoardSheetList.razor.rz.scp.css */
/* The .admin-* block is duplicated per component, for the reason ClientSetup.razor.css records:
   Blazor CSS isolation scopes every rule to its own component and theme.css does not define these, so
   a page without its own copy renders unstyled. Included from the start here rather than discovered
   later in the browser, which is how both draft PI pages shipped without their card chrome. */
.admin-page[b-wqta4d2wvb]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-list-card[b-wqta4d2wvb]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-list-head[b-wqta4d2wvb]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-wqta4d2wvb]{font-size:.9rem;color:var(--brand-navy,#1d3f72);margin:0}
.admin-list-head span[b-wqta4d2wvb]{font-size:.68rem;color:var(--text-muted,#7b8798)}
.admin-list-head>div:first-child[b-wqta4d2wvb]{display:flex;flex-direction:column;gap:.2rem}

.ds-empty[b-wqta4d2wvb]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-wqta4d2wvb]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-wqta4d2wvb]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-wqta4d2wvb]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

.admin-list-tools[b-wqta4d2wvb]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.admin-search[b-wqta4d2wvb]{position:relative}
.admin-search i[b-wqta4d2wvb]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-wqta4d2wvb]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:210px}
.admin-search input:focus[b-wqta4d2wvb]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}
/* Wide enough for "All offer stages" and "Draft PI: not received", which clipped at the default. */
.bd-filters select[b-wqta4d2wvb]{width:auto;min-width:150px}

.bd-table[b-wqta4d2wvb]{font-size:.72rem;margin:0}
.bd-table th[b-wqta4d2wvb]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.65rem .85rem}
.bd-table td[b-wqta4d2wvb]{vertical-align:middle;color:#334155;padding:.7rem .85rem;border-color:#eef2f7}
.bd-table td strong[b-wqta4d2wvb]{color:#1d3f72;font-weight:750}
.bd-table td small[b-wqta4d2wvb]{display:block;color:#8a97a8;font-size:.63rem;margin-top:.15rem}
.bd-table .num[b-wqta4d2wvb]{text-align:right;white-space:nowrap}
.bd-col-open[b-wqta4d2wvb]{width:46px;text-align:center}
.offer-row[b-wqta4d2wvb]{cursor:pointer}
.offer-row:hover td[b-wqta4d2wvb]{background:#e6f0fb}

.po-state[b-wqta4d2wvb]{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:700;white-space:nowrap}
.po-1[b-wqta4d2wvb]{background:#f1f5f9;color:#64748b}
.po-2[b-wqta4d2wvb]{background:#dcfce7;color:#166534}
.po-have[b-wqta4d2wvb]{color:#166534;font-weight:700}
.po-none[b-wqta4d2wvb]{color:#8a97a8}

.stage-pill[b-wqta4d2wvb]{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:750;white-space:nowrap}
.stage-1[b-wqta4d2wvb]{background:#dbeafe;color:#1e40af}
.stage-2[b-wqta4d2wvb]{background:#f1f5f9;color:#64748b}
.stage-3[b-wqta4d2wvb]{background:#ffedd5;color:#9a3412}
.stage-4[b-wqta4d2wvb]{background:#fef3c7;color:#92400e}
.stage-5[b-wqta4d2wvb]{background:#ede9fe;color:#5b21b6}
.stage-6[b-wqta4d2wvb]{background:#dcfce7;color:#166534}

@media(max-width:650px){
  .admin-page[b-wqta4d2wvb]{padding:.75rem}
  .admin-list-head[b-wqta4d2wvb]{flex-direction:column;align-items:stretch}
  .admin-search[b-wqta4d2wvb],.admin-search input[b-wqta4d2wvb],.bd-filters select[b-wqta4d2wvb]{width:100%}
}

.bd-done[b-wqta4d2wvb]{color:#166534;font-weight:700}
.bd-part[b-wqta4d2wvb]{color:#92400e;font-weight:700}
.bd-none[b-wqta4d2wvb]{color:#8a97a8}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.dash-welcome[b-t87d969hqe] { color:var(--brand-navy); }
html[data-theme="dark"] .dash-welcome[b-t87d969hqe] { color:var(--text); }
.dash-branch[b-t87d969hqe] { color:var(--text-muted); font-size:.85rem; }
.module-grid[b-t87d969hqe] { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:.9rem; }
.module-tile[b-t87d969hqe] { display:flex; flex-direction:column; gap:.3rem; padding:1rem; text-decoration:none;
    background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow);
    color:var(--text); transition:transform .12s, box-shadow .12s; }
.module-tile:hover[b-t87d969hqe] { transform:translateY(-2px); box-shadow:var(--shadow-pop); }
.module-ico[b-t87d969hqe] { width:2.4rem; height:2.4rem; display:flex; align-items:center; justify-content:center;
    border-radius:10px; background:var(--accent-blue-soft); color:var(--brand-navy); font-size:1.2rem; }
html[data-theme="dark"] .module-ico[b-t87d969hqe] { color:var(--accent-gold); }
.module-name[b-t87d969hqe] { font-weight:700; }
.module-sub[b-t87d969hqe] { font-size:.74rem; color:var(--text-muted); }
/* /Components/Pages/Merchandise/MerchandiseDisplayApproval.razor.rz.scp.css */
/* Merchandise Display Approval. Shared admin shell duplicated (CSS isolation); page pieces are .ma-.
   Rules for markup rendered inside <MerchModal> use ::deep, since that content is rendered by the
   child component. */

.admin-page[b-gzo1vb9cyh]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-list-card[b-gzo1vb9cyh]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-list-head[b-gzo1vb9cyh]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.9rem 1.1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-gzo1vb9cyh]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-gzo1vb9cyh]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-gzo1vb9cyh]{display:flex;flex-direction:column;gap:.2rem}
.admin-search[b-gzo1vb9cyh]{position:relative}
.admin-search i[b-gzo1vb9cyh]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-gzo1vb9cyh]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.4rem .75rem .4rem 2rem;font-size:.75rem;width:220px;height:32px}
.admin-search input:focus[b-gzo1vb9cyh]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Status cards ---- */
.ma-stats[b-gzo1vb9cyh]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.ma-stat[b-gzo1vb9cyh]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;text-align:left;background:#fff;border:1px solid #cbd8e6;border-radius:13px;padding:.75rem .9rem;box-shadow:0 4px 14px rgba(29,62,104,.06);transition:border-color .12s,box-shadow .12s,transform .12s}
.ma-stat:hover[b-gzo1vb9cyh]{transform:translateY(-1px);box-shadow:0 8px 20px rgba(29,62,104,.12)}
.ma-stat i[b-gzo1vb9cyh]{grid-row:1/3;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;background:#edf4fd;color:#285eaa}
.ma-stat span[b-gzo1vb9cyh]{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6d7786}
.ma-stat strong[b-gzo1vb9cyh]{font-size:1.25rem;line-height:1.1;color:#1d3f72}
.ma-stat.s2 i[b-gzo1vb9cyh]{background:#fef3c7;color:#b45309}
.ma-stat.s3 i[b-gzo1vb9cyh]{background:#dcfce7;color:#15803d}
.ma-stat.s4 i[b-gzo1vb9cyh]{background:#fee2e2;color:#b91c1c}
.ma-stat.active[b-gzo1vb9cyh]{border-color:#285eaa;box-shadow:0 0 0 2px rgba(40,94,170,.18),0 8px 20px rgba(29,62,104,.1)}
.ma-stat:focus-visible[b-gzo1vb9cyh]{outline:2px solid #285eaa;outline-offset:2px}

.ma-filters[b-gzo1vb9cyh]{display:flex;gap:.5rem;flex-wrap:wrap}
.ma-filters select[b-gzo1vb9cyh]{font-size:.75rem;min-width:170px;height:32px;border-color:#ccd8e6;background-color:#fbfdff}

.ma-empty[b-gzo1vb9cyh]{margin:0;padding:2rem;text-align:center;color:#7b8798;font-size:.74rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.ma-empty .bi[b-gzo1vb9cyh]{font-size:1.6rem;color:#b9cbe0}

.ma-table[b-gzo1vb9cyh]{font-size:.73rem;margin:0}
.ma-table th[b-gzo1vb9cyh]{background:#f2f6fb;color:#415872;text-transform:uppercase;letter-spacing:.04em;font-size:.6rem;white-space:nowrap;border-bottom-color:#dbe5f0;padding:.6rem .85rem}
.ma-table td[b-gzo1vb9cyh]{vertical-align:middle;color:#334155;padding:.6rem .85rem;border-color:#eef2f7}
.ma-table td strong[b-gzo1vb9cyh]{color:#1d3f72;font-weight:750}
.ma-table td small[b-gzo1vb9cyh]{display:block;font-size:.64rem;color:#7b8798;margin-top:.1rem}
.ma-table tbody tr[b-gzo1vb9cyh]{cursor:pointer;transition:background .1s}
.ma-table tbody tr:hover td[b-gzo1vb9cyh]{background:#f5f9ff}
.ma-table tbody tr:focus-visible[b-gzo1vb9cyh]{outline:2px solid #3975bd;outline-offset:-2px}
.ma-open[b-gzo1vb9cyh]{color:#9fb3cc;width:28px}
.ma-table tbody tr:hover .ma-open[b-gzo1vb9cyh]{color:#285eaa}

.ma-thumb[b-gzo1vb9cyh]{display:inline-block;width:62px;height:46px;border:1px solid #d6e1ed;border-radius:8px;overflow:hidden;padding:0;background:#0f1e37;flex:none}
.ma-thumb img[b-gzo1vb9cyh]{width:100%;height:100%;object-fit:cover;display:block}

.ma-status[b-gzo1vb9cyh],.ma-ai[b-gzo1vb9cyh]{display:inline-block;font-size:.62rem;font-weight:700;border-radius:999px;padding:.18rem .6rem;white-space:nowrap}
.ma-status.s1[b-gzo1vb9cyh]{background:#f1f5f9;color:#475569}
.ma-status.s2[b-gzo1vb9cyh]{background:#fef3c7;color:#92400e}
.ma-status.s3[b-gzo1vb9cyh]{background:#dcfce7;color:#166534}
.ma-status.s4[b-gzo1vb9cyh]{background:#fee2e2;color:#991b1b}
.ma-ai.a1[b-gzo1vb9cyh]{background:#edf4fd;color:#1d3f72}
.ma-ai.a2[b-gzo1vb9cyh]{background:#dcfce7;color:#166534}
.ma-ai.a3[b-gzo1vb9cyh]{background:#fef3c7;color:#92400e}
.ma-ai.a4[b-gzo1vb9cyh],.ma-ai.a5[b-gzo1vb9cyh]{background:#f1f5f9;color:#64748b}

/* ---- Popup content ---- */
[b-gzo1vb9cyh] .ma-guide{font-size:.7rem;font-weight:700;border:1px solid #cbd8e6}
[b-gzo1vb9cyh] .ma-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1rem;align-items:start}
[b-gzo1vb9cyh] .ma-photo{position:relative;border:1px solid #d6e1ed;border-radius:13px;overflow:hidden;padding:0;background:#0f1e37;cursor:zoom-in;width:100%}
[b-gzo1vb9cyh] .ma-photo img{width:100%;height:440px;object-fit:contain;display:block}
[b-gzo1vb9cyh] .ma-photo span{position:absolute;right:.6rem;bottom:.6rem;font-size:.64rem;font-weight:700;color:#fff;background:rgba(15,30,55,.7);border-radius:999px;padding:.25rem .65rem}
[b-gzo1vb9cyh] .ma-photo:focus-visible{outline:2px solid #285eaa;outline-offset:2px}
[b-gzo1vb9cyh] .ma-side{display:flex;flex-direction:column;gap:.8rem;min-width:0}
[b-gzo1vb9cyh] .ma-facts{display:grid;grid-template-columns:84px minmax(0,1fr);gap:.4rem .75rem;margin:0;font-size:.75rem;background:#fff;border:1px solid #e4ebf3;border-radius:12px;padding:.8rem .9rem}
[b-gzo1vb9cyh] .ma-facts dt{color:#7b8798;font-weight:700}
[b-gzo1vb9cyh] .ma-facts dd{margin:0;color:#334155;word-break:break-word}
[b-gzo1vb9cyh] .admin-field label{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
[b-gzo1vb9cyh] .admin-field label small{font-weight:600;color:#94a3b8}
[b-gzo1vb9cyh] .admin-field .form-control{font-size:.78rem;border-color:#ccd8e6;background-color:#fff;min-height:80px}
[b-gzo1vb9cyh] .admin-field .form-control:focus{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
[b-gzo1vb9cyh] .ma-history{margin-top:1rem;background:#fff;border:1px solid #e4ebf3;border-radius:12px;padding:.8rem .9rem}
[b-gzo1vb9cyh] .ma-history h3{font-size:.74rem;font-weight:750;color:#1d3f72;margin:0 0 .5rem}
[b-gzo1vb9cyh] .ma-history-row{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem 0;border-top:1px solid #eef2f7;font-size:.72rem}
[b-gzo1vb9cyh] .ma-history-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
[b-gzo1vb9cyh] .ma-history-row strong{color:#1d3f72}
[b-gzo1vb9cyh] .ma-history-row small{color:#7b8798;font-size:.65rem}
[b-gzo1vb9cyh] .ma-thumb.lg{width:84px;height:62px;cursor:zoom-in}
[b-gzo1vb9cyh] .ma-hist-decision{font-size:.68rem;font-weight:600}
[b-gzo1vb9cyh] .ma-hist-decision.bad{color:#b91c1c}
[b-gzo1vb9cyh] .ma-hist-decision.ok{color:#15803d}
[b-gzo1vb9cyh] .ma-status{display:inline-block;font-size:.62rem;font-weight:700;border-radius:999px;padding:.18rem .6rem}
[b-gzo1vb9cyh] .ma-status.s1{background:#f1f5f9;color:#475569}
[b-gzo1vb9cyh] .ma-status.s2{background:#fef3c7;color:#92400e}
[b-gzo1vb9cyh] .ma-status.s3{background:#dcfce7;color:#166534}
[b-gzo1vb9cyh] .ma-status.s4{background:#fee2e2;color:#991b1b}
[b-gzo1vb9cyh] .ma-confirm{flex:1 1 100%;display:flex;align-items:center;gap:.55rem;background:#fdf2f2;border:1px solid #fecaca;color:#8a2a2a;border-radius:10px;padding:.55rem .75rem;font-size:.72rem}
[b-gzo1vb9cyh] .ma-confirm .bi{color:#dc2626;font-size:1rem}

@media (max-width:992px){
  .ma-stats[b-gzo1vb9cyh]{grid-template-columns:repeat(2,minmax(0,1fr))}
  [b-gzo1vb9cyh] .ma-detail{grid-template-columns:1fr}
  [b-gzo1vb9cyh] .ma-photo img{height:320px}
}
@media (max-width:768px){
  .admin-page[b-gzo1vb9cyh]{padding:.75rem}
  .admin-search input[b-gzo1vb9cyh]{width:100%}
}
/* /Components/Pages/Merchandise/MerchandiseDisplayRequest.razor.rz.scp.css */
/* Merchandise Display Request. Same shell as the other admin pages (blue-gray workspace, white cards,
   blue-tinted heads). The .admin-* block is duplicated on purpose: Blazor CSS isolation scopes every
   rule to its own component. Page-specific pieces are prefixed .md-. */

.admin-page[b-5o2rm6l416]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-5o2rm6l416],.admin-list-card[b-5o2rm6l416]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-form-card[b-5o2rm6l416]{padding:1rem;margin-bottom:1rem}
.admin-field label[b-5o2rm6l416]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field label small[b-5o2rm6l416]{font-weight:600;color:#94a3b8}
.admin-field b[b-5o2rm6l416]{color:#dc3545}
.admin-field .form-control[b-5o2rm6l416]{font-size:.78rem;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-5o2rm6l416]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-actions[b-5o2rm6l416]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.admin-list-head[b-5o2rm6l416]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-5o2rm6l416]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-5o2rm6l416]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-5o2rm6l416]{display:flex;flex-direction:column;gap:.2rem}

/* ---- Context strip ---- */
.md-context[b-5o2rm6l416]{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;background:#fff;border:1px solid #cbd8e6;border-radius:13px;padding:.75rem 1rem;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.md-context-col[b-5o2rm6l416]{display:flex;align-items:center;gap:.6rem;min-width:0}
.md-context-col strong[b-5o2rm6l416]{display:block;font-size:.8rem;color:#1d3f72}
.md-label[b-5o2rm6l416]{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7b8798}
.md-icon[b-5o2rm6l416]{width:34px;height:34px;border-radius:9px;background:#eaf2fb;color:#1d3f72;display:flex;align-items:center;justify-content:center;flex:none}
.md-icon-store[b-5o2rm6l416]{background:#fdecec;color:#c8102e}
.md-client-select[b-5o2rm6l416]{font-size:.76rem;min-width:180px;border-color:#ccd8e6;background-color:#fbfdff}
.md-guide-btn[b-5o2rm6l416]{margin-left:auto;display:flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:700;color:#1d3f72;background:#eaf2fb;border:1px solid #cbd8e6;border-radius:9px}
.md-guide-btn:hover[b-5o2rm6l416]{background:#dbe8f7;color:#1d3f72}
.md-guide-btn .bi[b-5o2rm6l416]{font-size:1rem}

/* ---- Cards ---- */
.md-card-title[b-5o2rm6l416]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.82rem;font-weight:700;color:#1d3f72;margin-bottom:.8rem}
.md-card-title .bi[b-5o2rm6l416]{color:#3975bd}
.md-status[b-5o2rm6l416]{font-size:.62rem;font-weight:700;border-radius:999px;padding:.15rem .55rem}
.md-status.s1[b-5o2rm6l416]{background:#f1f5f9;color:#475569}
.md-status.s2[b-5o2rm6l416]{background:#fef3c7;color:#92400e}
.md-status.s3[b-5o2rm6l416]{background:#dcfce7;color:#166534}
.md-status.s4[b-5o2rm6l416]{background:#fee2e2;color:#991b1b}
.md-attempt[b-5o2rm6l416]{font-size:.62rem;color:#7b8798;font-weight:600}

.md-upload-grid[b-5o2rm6l416]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1rem}
.md-drop[b-5o2rm6l416]{display:flex !important;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;min-height:104px;border:2px dashed #b9cbe0;border-radius:11px;background:#f7faff;color:#3975bd;cursor:pointer;text-align:center;padding:.75rem;margin:0}
.md-drop .bi[b-5o2rm6l416]{font-size:1.6rem}
.md-drop span[b-5o2rm6l416]{font-size:.75rem;font-weight:700;color:#1d3f72;word-break:break-all}
.md-drop small[b-5o2rm6l416]{font-size:.65rem;color:#64748b;font-weight:600}
.md-drop.has-file[b-5o2rm6l416]{border-style:solid;border-color:#3975bd;background:#eef5fd}
.md-drop:hover[b-5o2rm6l416]{background:#eef5fd}
.admin-field .md-remarks[b-5o2rm6l416]{min-height:104px;resize:vertical}

.md-details-grid[b-5o2rm6l416]{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:1rem;align-items:start}
.md-photo[b-5o2rm6l416]{border:1px solid #d6e1ed;border-radius:11px;overflow:hidden;padding:0;background:#0f1e37;cursor:zoom-in}
.md-photo img[b-5o2rm6l416]{width:100%;max-height:340px;object-fit:contain;display:block}
.md-facts[b-5o2rm6l416]{display:flex;flex-direction:column;gap:.7rem;min-width:0}
.md-facts dl[b-5o2rm6l416]{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.3rem .75rem;margin:0;font-size:.74rem}
.md-facts dt[b-5o2rm6l416]{color:#7b8798;font-weight:700}
.md-facts dd[b-5o2rm6l416]{margin:0;color:#334155;word-break:break-word}
.md-rejected[b-5o2rm6l416]{display:flex;gap:.6rem;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:.6rem .7rem;font-size:.72rem;color:#7f1d1d}
.md-rejected .bi[b-5o2rm6l416]{color:#dc2626;font-size:1rem}
.md-rejected p[b-5o2rm6l416]{margin:.15rem 0}
.md-rejected small[b-5o2rm6l416]{color:#991b1b}
.md-detail-actions[b-5o2rm6l416]{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap}
.md-detail-actions small[b-5o2rm6l416]{font-size:.68rem}

.md-history[b-5o2rm6l416]{margin-top:1rem;border-top:1px solid #e4ebf3;padding-top:.7rem;font-size:.72rem}
.md-history summary[b-5o2rm6l416]{cursor:pointer;font-weight:700;color:#1d3f72}
.md-history-row[b-5o2rm6l416]{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem 0;border-bottom:1px solid #eef2f7}
.md-history-row>div[b-5o2rm6l416]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}

/* ---- List ---- */
.md-empty[b-5o2rm6l416]{margin:0;padding:1.5rem;text-align:center;color:#7b8798;font-size:.72rem}
.md-table[b-5o2rm6l416]{font-size:.72rem;margin:0}
.md-table th[b-5o2rm6l416]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.6rem .8rem}
.md-table td[b-5o2rm6l416]{vertical-align:middle;color:#334155;padding:.55rem .8rem;border-color:#eef2f7}
.md-table td strong[b-5o2rm6l416]{color:#1d3f72}
.md-table td small[b-5o2rm6l416]{display:block;font-size:.63rem;color:#7b8798}
.md-table td small.md-note[b-5o2rm6l416]{color:#475569;font-style:italic}
.md-col-remarks[b-5o2rm6l416]{max-width:260px;white-space:normal}
.md-thumb[b-5o2rm6l416]{width:64px;height:48px;border:1px solid #d6e1ed;border-radius:7px;overflow:hidden;padding:0;background:#f1f5f9;cursor:zoom-in;flex:none}
.md-thumb img[b-5o2rm6l416]{width:100%;height:100%;object-fit:cover;display:block}
.md-photo:focus-visible[b-5o2rm6l416],.md-thumb:focus-visible[b-5o2rm6l416]{outline:2px solid #3975bd;outline-offset:2px}

@media (max-width:768px){
  .admin-page[b-5o2rm6l416]{padding:.75rem}
  .md-upload-grid[b-5o2rm6l416],.md-details-grid[b-5o2rm6l416]{grid-template-columns:1fr}
  .md-guide-btn[b-5o2rm6l416]{margin-left:0}
  .md-context[b-5o2rm6l416]{gap:.8rem}
}

/* Daily duty status: one stall photo per store per day. */
.md-today[b-5o2rm6l416]{display:inline-block;margin-top:.1rem;font-size:.68rem;font-weight:700;border-radius:999px;padding:.12rem .55rem}
.md-today.ok[b-5o2rm6l416]{background:#dcfce7;color:#166534}
.md-today.wait[b-5o2rm6l416]{background:#fef3c7;color:#92400e}
.md-today.bad[b-5o2rm6l416]{background:#fee2e2;color:#991b1b}
.md-today.todo[b-5o2rm6l416]{background:#eaf2fb;color:#1d3f72}

/* ---- Polish ---- */
.md-page .admin-form-card[b-5o2rm6l416]{border-radius:15px;padding:0;box-shadow:0 8px 24px rgba(29,62,104,.08)}
.md-card-title[b-5o2rm6l416]{margin:0;padding:.8rem 1.1rem;border-bottom:1px solid #e4ebf3;background:linear-gradient(90deg,#f3f7fc,#fff);border-radius:15px 15px 0 0}
.md-card-title .bi:first-child[b-5o2rm6l416]{width:30px;height:30px;border-radius:9px;background:#edf4fd;display:inline-flex;align-items:center;justify-content:center}
.md-upload-grid[b-5o2rm6l416],.md-details-grid[b-5o2rm6l416],.md-page .admin-actions[b-5o2rm6l416],.md-history[b-5o2rm6l416]{margin-left:1.1rem;margin-right:1.1rem}
.md-upload-grid[b-5o2rm6l416],.md-details-grid[b-5o2rm6l416]{margin-top:1rem}
.md-page .admin-actions[b-5o2rm6l416]{padding-bottom:1rem}
.md-details-grid[b-5o2rm6l416]{padding-bottom:1.1rem}
.md-history[b-5o2rm6l416]{padding-bottom:1rem}
.md-context[b-5o2rm6l416]{border-radius:15px;padding:.9rem 1.1rem;border-top:3px solid #285eaa}
.md-icon[b-5o2rm6l416]{width:40px;height:40px;border-radius:11px;font-size:1.05rem}
.md-photo img[b-5o2rm6l416]{max-height:380px}
.md-facts dl[b-5o2rm6l416]{background:#f7faff;border:1px solid #e4ebf3;border-radius:12px;padding:.8rem .9rem}
.md-dismiss[b-5o2rm6l416]{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid #f5c2c7;background:#fff;color:#b91c1c;display:inline-flex;align-items:center;justify-content:center}
.md-dismiss:hover[b-5o2rm6l416]{background:#fdecec}
.md-dismiss:focus-visible[b-5o2rm6l416]{outline:2px solid #b91c1c;outline-offset:2px}
.md-confirm[b-5o2rm6l416]{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.8rem 1.1rem 0;background:#fdf2f2;border:1px solid #fecaca;color:#8a2a2a;border-radius:10px;padding:.55rem .75rem;font-size:.72rem}
.md-confirm span[b-5o2rm6l416]{flex:1;min-width:200px}
.md-confirm .bi[b-5o2rm6l416]{color:#dc2626;font-size:1rem}
.md-page .admin-list-card[b-5o2rm6l416]{border-radius:15px}
.md-must-retake[b-5o2rm6l416]{flex:1 1 100%;font-size:.72rem;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;padding:.45rem .6rem}
/* /Components/Pages/Merchandise/MerchandiseGuidelineSetup.razor.rz.scp.css */
/* Merchandise Guideline Setup. Shared admin shell duplicated (CSS isolation); page pieces are .mg-. */

.admin-page[b-59lbzrv48j]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-59lbzrv48j],.admin-list-card[b-59lbzrv48j]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-form-card[b-59lbzrv48j]{padding:1rem;margin-bottom:1rem}
.admin-form-grid[b-59lbzrv48j]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 130px;gap:1rem;align-items:end}
.admin-field label[b-59lbzrv48j]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field label small[b-59lbzrv48j]{font-weight:600;color:#94a3b8}
.admin-field b[b-59lbzrv48j]{color:#dc3545}
.admin-field .form-control[b-59lbzrv48j]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-59lbzrv48j]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-59lbzrv48j]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-59lbzrv48j]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.admin-list-head[b-59lbzrv48j]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-59lbzrv48j]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-59lbzrv48j]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-59lbzrv48j]{display:flex;flex-direction:column;gap:.2rem}

.mg-wide[b-59lbzrv48j]{grid-column:1/-1}
.admin-field .mg-content[b-59lbzrv48j]{min-height:150px;resize:vertical;line-height:1.55}

.mg-samples[b-59lbzrv48j]{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #e4ebf3}
.mg-samples-head h3[b-59lbzrv48j]{font-size:.8rem;color:var(--brand-navy);margin:0 0 .15rem}
.mg-samples-head span[b-59lbzrv48j]{display:block;font-size:.67rem;color:#7b8798;margin-bottom:.7rem}
.mg-image-grid[b-59lbzrv48j]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin-bottom:.7rem}
.mg-image[b-59lbzrv48j]{margin:0;border:1px solid #d6e1ed;border-radius:9px;overflow:hidden;background:#fbfdff}
.mg-image-open[b-59lbzrv48j]{display:block;width:100%;border:0;padding:0;background:#f1f5f9;cursor:zoom-in}
.mg-image-open img[b-59lbzrv48j]{width:100%;height:100px;object-fit:cover;display:block}
.mg-image figcaption[b-59lbzrv48j]{display:flex;align-items:center;gap:.25rem;padding:.25rem .4rem;font-size:.62rem;color:#475569}
.mg-image figcaption span[b-59lbzrv48j]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-image-remove[b-59lbzrv48j]{border:0;background:transparent;color:#dc3545;padding:.1rem .2rem}
.mg-upload[b-59lbzrv48j]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;align-items:center}
.mg-upload .form-control[b-59lbzrv48j]{font-size:.74rem;border-color:#ccd8e6;background-color:#fbfdff}

.mg-empty[b-59lbzrv48j]{margin:0;padding:1.5rem;text-align:center;color:#7b8798;font-size:.72rem}
.mg-table[b-59lbzrv48j]{font-size:.72rem;margin:0}
.mg-table th[b-59lbzrv48j]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.6rem .8rem}
.mg-table td[b-59lbzrv48j]{vertical-align:middle;color:#334155;padding:.6rem .8rem;border-color:#eef2f7}
.mg-table td strong[b-59lbzrv48j]{color:#1d3f72}
.mg-table td small[b-59lbzrv48j]{display:block;font-size:.63rem;color:#8a97a8}
.mg-col-points[b-59lbzrv48j]{max-width:340px;white-space:normal}
.mg-col-action[b-59lbzrv48j]{width:80px}
.mg-thumbs[b-59lbzrv48j]{display:flex;align-items:center;gap:.25rem}
.mg-thumbs img[b-59lbzrv48j]{width:36px;height:28px;object-fit:cover;border-radius:5px;border:1px solid #d6e1ed}
.mg-thumbs span[b-59lbzrv48j]{font-size:.62rem;color:#5b8fc9;font-weight:700}

.status-pill[b-59lbzrv48j]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-59lbzrv48j]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-59lbzrv48j]{background:#f1f5f9;color:#64748b}
.row-actions[b-59lbzrv48j]{display:flex;gap:.2rem}
.row-actions button[b-59lbzrv48j]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-59lbzrv48j]{color:#dc3545}

.mg-prompt-row td[b-59lbzrv48j]{padding:0;border-top:0}
.mt-confirm[b-59lbzrv48j]{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.69rem;background:#fdf2f2;color:#8a2a2a}
.mt-confirm .bi[b-59lbzrv48j]{color:#c0392b}
.mt-confirm span[b-59lbzrv48j]{flex:1;min-width:0}

@media (max-width:768px){
  .admin-page[b-59lbzrv48j]{padding:.75rem}
  .admin-form-grid[b-59lbzrv48j],.mg-upload[b-59lbzrv48j]{grid-template-columns:1fr}
}
.mg-pending[b-59lbzrv48j]{display:block;margin-top:.45rem;font-size:.66rem;color:#3975bd;font-weight:600}
.mg-row[b-59lbzrv48j]{cursor:pointer;transition:background .1s}
.mg-row:hover td[b-59lbzrv48j]{background:#f5f9ff}
.mg-row:focus-visible[b-59lbzrv48j]{outline:2px solid #3975bd;outline-offset:-2px}
/* /Components/Pages/NoticeBoard/NoticeBoardSetup.razor.rz.scp.css */
.notice-page[b-5ceeuaz7pf]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.notice-list-card[b-5ceeuaz7pf]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.notice-form-grid[b-5ceeuaz7pf]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.notice-field-wide[b-5ceeuaz7pf]{grid-column:1/-1}
.notice-field label[b-5ceeuaz7pf]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.notice-field b[b-5ceeuaz7pf]{color:#dc3545}
.notice-hint[b-5ceeuaz7pf]{font-weight:400;color:#94a3b8;text-transform:none;letter-spacing:0}
.notice-field .form-control[b-5ceeuaz7pf],.notice-field .form-select[b-5ceeuaz7pf]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.notice-field .form-control:focus[b-5ceeuaz7pf],.notice-field .form-select:focus[b-5ceeuaz7pf]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.notice-check[b-5ceeuaz7pf]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;align-self:end}
.notice-checklist[b-5ceeuaz7pf]{display:flex;flex-wrap:wrap;gap:.4rem .9rem;max-height:140px;overflow-y:auto;border:1px solid #e5eaf1;border-radius:8px;padding:.6rem .75rem;background:#f9fbfd;font-size:.75rem}
.notice-checklist label[b-5ceeuaz7pf]{display:flex;align-items:center;gap:.4rem;white-space:nowrap}
.notice-attachment-size[b-5ceeuaz7pf]{color:#94a3b8;font-weight:400}
.notice-form-section[b-5ceeuaz7pf]{border:1px solid #e5eaf1;border-radius:12px;padding:1rem 1.1rem;margin-bottom:1rem;background:#fcfdff}
.notice-form-section h4[b-5ceeuaz7pf]{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#3975bd;font-weight:800;margin:0 0 .85rem}
.notice-form-section h4 .notice-hint[b-5ceeuaz7pf]{text-transform:none;letter-spacing:0;font-weight:400;margin-left:.4rem;font-size:.68rem}
.notice-actions[b-5ceeuaz7pf]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
.notice-list-head[b-5ceeuaz7pf]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);flex-wrap:wrap;gap:.6rem}
.notice-list-head h2[b-5ceeuaz7pf]{font-size:.9rem;color:var(--brand-navy);margin:0}
.notice-list-head span[b-5ceeuaz7pf]{font-size:.68rem;color:var(--text-muted)}
.notice-list-controls[b-5ceeuaz7pf]{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.notice-search[b-5ceeuaz7pf]{position:relative}
.notice-search i[b-5ceeuaz7pf]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.75rem}
.notice-search input[b-5ceeuaz7pf]{border:1px solid #dce2ea;border-radius:8px;padding:.4rem .75rem .4rem 2rem;font-size:.75rem;width:200px;background:#fbfdff}
.notice-table[b-5ceeuaz7pf]{font-size:.72rem;margin:0}
.notice-table th[b-5ceeuaz7pf]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.notice-table td[b-5ceeuaz7pf]{vertical-align:middle;color:#334155}
.status-pill[b-5ceeuaz7pf]{border-radius:999px;padding:.2rem .6rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-5ceeuaz7pf]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-5ceeuaz7pf]{background:#f1f5f9;color:#64748b}
.row-actions[b-5ceeuaz7pf]{display:flex;gap:.2rem}
.row-actions button[b-5ceeuaz7pf]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-5ceeuaz7pf]{color:#dc3545}
.notice-view-backdrop[b-5ceeuaz7pf]{position:fixed;inset:0;z-index:1070;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;padding:3vh 2vw}
.notice-view-panel[b-5ceeuaz7pf]{display:flex;flex-direction:column;width:min(820px,94vw);max-height:88vh;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 16px 44px rgba(0,0,0,.35)}
.notice-view-bar[b-5ceeuaz7pf]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-bottom:1px solid #d6e1ed;font-weight:700;color:var(--brand-navy)}
.notice-view-body[b-5ceeuaz7pf]{padding:1.1rem;overflow-y:auto;font-size:.82rem;color:#334155}
.notice-view-meta[b-5ceeuaz7pf]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;color:#64748b;font-size:.72rem;margin-bottom:.75rem}
.notice-view-message[b-5ceeuaz7pf]{white-space:pre-line;line-height:1.55;background:#f9fbfd;border:1px solid #e5eaf1;border-radius:8px;padding:.75rem .9rem;margin-bottom:1rem}
.notice-view-audience[b-5ceeuaz7pf]{margin-bottom:1rem}
.notice-view-audience>strong[b-5ceeuaz7pf],.notice-view-attachments>strong[b-5ceeuaz7pf]{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:.5rem}
.notice-view-audience-grid[b-5ceeuaz7pf]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.notice-view-audience-grid span[b-5ceeuaz7pf]{display:block;font-size:.62rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.03em}
.notice-view-audience-grid p[b-5ceeuaz7pf]{margin:.2rem 0 0;font-size:.76rem}
.notice-attachment-grid[b-5ceeuaz7pf]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}
.notice-attachment-card[b-5ceeuaz7pf]{position:relative;display:flex;flex-direction:column;border:1px solid #e5eaf1;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 6px rgba(15,23,42,.04);transition:transform .12s,box-shadow .12s,border-color .12s}
.notice-attachment-card:hover[b-5ceeuaz7pf]{border-color:#3975bd;box-shadow:0 8px 18px rgba(29,62,104,.12);transform:translateY(-2px)}
.notice-attachment-thumb-btn[b-5ceeuaz7pf]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:0 .6rem .65rem;border:0;background:transparent;width:100%;text-align:center}
.notice-attachment-thumb[b-5ceeuaz7pf]{width:100%;height:92px;object-fit:cover;border-radius:8px 8px 0 0;margin-bottom:.5rem;background:#eef2f7}
.notice-attachment-icon[b-5ceeuaz7pf]{width:100%;height:92px;display:flex;align-items:center;justify-content:center;font-size:2.1rem;color:#1472b8;background:linear-gradient(180deg,#eef4fd,#f9fbfd);border-radius:8px 8px 0 0;margin-bottom:.5rem}
.notice-attachment-card-name[b-5ceeuaz7pf]{font-size:.72rem;color:#334155;word-break:break-word;line-height:1.3}
.notice-attachment-card-size[b-5ceeuaz7pf]{font-size:.62rem;color:#94a3b8}
.notice-attachment-card-editable .notice-attachment-thumb-btn[b-5ceeuaz7pf]{padding-top:0}
.notice-attachment-remove-badge[b-5ceeuaz7pf]{position:absolute;top:.35rem;right:.35rem;z-index:1;width:22px;height:22px;border-radius:50%;border:0;background:rgba(15,23,42,.55);color:#fff;font-size:.65rem;display:flex;align-items:center;justify-content:center;line-height:1}
.notice-attachment-remove-badge:hover[b-5ceeuaz7pf]{background:#dc3545}
@media(max-width:900px){.notice-form-grid[b-5ceeuaz7pf]{grid-template-columns:1fr 1fr}.notice-view-audience-grid[b-5ceeuaz7pf]{grid-template-columns:1fr}}
@media(max-width:650px){.notice-page[b-5ceeuaz7pf]{padding:.75rem}.notice-form-grid[b-5ceeuaz7pf]{grid-template-columns:1fr}.notice-list-head[b-5ceeuaz7pf]{flex-direction:column;align-items:flex-start;gap:.5rem}}
/* /Components/Pages/Offers/OfferBoard.razor.rz.scp.css */
/* Shared shell classes, repeated because scoped CSS is per file (as the other offer pages do). */
.admin-page[b-3pr8le2gln] { background: #dfe7f1; border-radius: 16px; padding: 18px; min-height: 100%; }
.ds-empty[b-3pr8le2gln] { padding: 28px; text-align: center; color: #64748b; background: #fff; border-radius: 12px; }
.admin-list-card[b-3pr8le2gln] { background: #fff; border-radius: 12px; padding: 16px; margin-bottom: 14px; }
.admin-list-head[b-3pr8le2gln] { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.admin-list-head h2[b-3pr8le2gln] { font-size: 15px; font-weight: 700; margin: 0; }
.admin-list-tools[b-3pr8le2gln] { display: flex; align-items: center; gap: 8px; color: #64748b; font-size: 12px; }
.admin-form-grid[b-3pr8le2gln] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-field[b-3pr8le2gln] { display: flex; flex-direction: column; gap: 4px; }
.admin-field label[b-3pr8le2gln] { font-size: 12px; font-weight: 600; color: #334155; }
.span-3[b-3pr8le2gln] { grid-column: span 3; }
.admin-actions[b-3pr8le2gln] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.mono[b-3pr8le2gln] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.none[b-3pr8le2gln] { color: #94a3b8; font-size: 12px; margin: 6px 0 0; }
.dot[b-3pr8le2gln] { margin: 0 6px; color: #cbd5e1; }
.count[b-3pr8le2gln] { border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; }
.count.all[b-3pr8le2gln] { background: #dcfce7; color: #166534; }
.count.some[b-3pr8le2gln] { background: #fef3c7; color: #92400e; }

/* Header */
.board-head[b-3pr8le2gln] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.board-title[b-3pr8le2gln] { font-size: 18px; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 10px; }
.board-sub[b-3pr8le2gln] { color: #475569; font-size: 13px; margin: 4px 0 0; }
.board-actions[b-3pr8le2gln] { display: flex; gap: 8px; }
.stage-pill[b-3pr8le2gln] { border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; }
.stage-4[b-3pr8le2gln] { background: #fef3c7; color: #92400e; }
.stage-5[b-3pr8le2gln] { background: #ede9fe; color: #5b21b6; }
.stage-6[b-3pr8le2gln] { background: #dcfce7; color: #166534; }

/* The two boxes. Side by side because the wireframe puts them side by side, and because the board
   reads them together -- what the market says against what we already know. */
.board-boxes[b-3pr8le2gln] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 6px; }
.board-box[b-3pr8le2gln] { background: #fff; border-radius: 12px; padding: 16px; }
.board-box h2[b-3pr8le2gln] { font-size: 14px; font-weight: 700; margin: 0 0 10px; }
.board-box.survey[b-3pr8le2gln] { border-top: 3px solid #0284c7; }
.board-box.status[b-3pr8le2gln] { border-top: 3px solid #059669; }
.box-head[b-3pr8le2gln] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.box-head h2[b-3pr8le2gln] { margin: 0; }

.board-box dl[b-3pr8le2gln] { display: grid; grid-template-columns: minmax(120px, auto) 1fr; gap: 6px 14px; margin: 0; }
.board-box dt[b-3pr8le2gln] { font-size: 11.5px; font-weight: 600; color: #64748b; text-transform: uppercase;
                letter-spacing: .03em; align-self: start; padding-top: 2px; }
.board-box dd[b-3pr8le2gln] { margin: 0; font-size: 13px; color: #0f172a; }

/* Which of the five things the history box is saying. Never a bare blank: 0101 exists because
   "nobody looked" and "we looked and this is new" are opposite answers. */
.hist-state[b-3pr8le2gln] { display: inline-block; border-radius: 999px; padding: 2px 10px; margin-bottom: 10px;
              font-size: 11px; font-weight: 700; }
.s-1[b-3pr8le2gln] { background: #dcfce7; color: #166534; }   /* carried before */
.s-2[b-3pr8le2gln] { background: #dbeafe; color: #1e40af; }   /* new to us */
.s-3[b-3pr8le2gln] { background: #fee2e2; color: #991b1b; }   /* unreadable code */
.s-4[b-3pr8le2gln] { background: #f1f5f9; color: #64748b; }   /* nobody looked */
.s-5[b-3pr8le2gln] { background: #fef3c7; color: #92400e; }   /* matched, not computable */

.board-box .warn[b-3pr8le2gln] { font-size: 12px; color: #991b1b; background: #fef2f2; border-radius: 8px;
                   padding: 8px 10px; margin: 0 0 10px; }
.board-box .stamp[b-3pr8le2gln] { font-size: 10.5px; color: #94a3b8; margin: 8px 0 0; }

.board-hint[b-3pr8le2gln] { font-size: 12px; color: #64748b; margin: 8px 2px 10px; }

/* The grid */
.board-table[b-3pr8le2gln] { font-size: 12.5px; margin-bottom: 0; }
.board-table th[b-3pr8le2gln] { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.board-table .sn[b-3pr8le2gln] { width: 44px; }
.board-table .act[b-3pr8le2gln] { width: 180px; }
.board-table tbody tr[b-3pr8le2gln] { cursor: pointer; }
.board-table tbody tr:hover[b-3pr8le2gln] { background: #f8fafc; }
/* The selected row has to be unmistakable -- both boxes above it are about this row and nothing
   else, and a board misreading which product it is looking at is the worst failure this page has. */
.board-table tbody tr.picked[b-3pr8le2gln] { background: #eff6ff; box-shadow: inset 3px 0 0 #2563eb; }
.board-table .jp[b-3pr8le2gln] { font-size: 11px; color: #94a3b8; }
.board-table .remarks[b-3pr8le2gln] { color: #475569; max-width: 320px; }

.disp[b-3pr8le2gln] { display: inline-block; border-radius: 999px; padding: 1px 9px; font-size: 10.5px; font-weight: 700; }
.d-1[b-3pr8le2gln] { background: #f1f5f9; color: #64748b; }
.d-2[b-3pr8le2gln] { background: #dcfce7; color: #166534; }
.d-3[b-3pr8le2gln] { background: #fee2e2; color: #991b1b; }
.d-4[b-3pr8le2gln] { background: #fef3c7; color: #92400e; }
.d-5[b-3pr8le2gln] { background: #e0f2fe; color: #075985; }
.d-6[b-3pr8le2gln] { background: #ede9fe; color: #5b21b6; }
.board-table .reason[b-3pr8le2gln] { font-size: 10.5px; color: #94a3b8; margin-top: 2px; }

/* Recorded, never blocked. Stated in the same tone as the rest of the form rather than as an error,
   because a shortfall is something to negotiate, not a mistake to correct. */
.moq-note[b-3pr8le2gln] { font-size: 12px; color: #0c4a6e; background: #f0f9ff; border-radius: 8px;
            padding: 8px 10px; margin: 12px 0 0; }

.unit-warn[b-3pr8le2gln] { font-size: 12px; color: #92400e; background: #fffbeb; border: 1px solid #fde68a;
             border-radius: 8px; padding: 8px 10px; margin: 8px 0 0; }

.board-move[b-3pr8le2gln] { display: flex; align-items: center; justify-content: space-between; gap: 16px;
              background: #fff; border-radius: 12px; padding: 16px; }
.board-move b[b-3pr8le2gln] { font-size: 14px; }
.board-move p[b-3pr8le2gln] { margin: 2px 0 0; color: #64748b; font-size: 12px; }

@media (max-width: 900px) {
    .board-boxes[b-3pr8le2gln] { grid-template-columns: minmax(0, 1fr); }
    .admin-form-grid[b-3pr8le2gln] { grid-template-columns: minmax(0, 1fr); }
    .span-3[b-3pr8le2gln] { grid-column: auto; }
}

/* The typed half of the status box, behind a toggle. The box is read many times for every time it is
   written, so a permanently-open form would bury the figures under inputs. */
.box-tools[b-3pr8le2gln] { display: flex; align-items: center; gap: 4px; }
.hist-edit[b-3pr8le2gln] { border-top: 1px solid #e2e8f0; margin-top: 12px; padding-top: 12px; }
.hist-why[b-3pr8le2gln] { font-size: 11.5px; color: #64748b; background: #f8fafc; border-radius: 8px;
            padding: 8px 10px; margin: 0 0 10px; }
.hist-grid[b-3pr8le2gln] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.hist-edit .admin-actions[b-3pr8le2gln] { margin-top: 10px; }

/* The wireframe's two row buttons, in the row where it puts them. They open the form pre-set rather
   than saving on the spot: Add still needs a quantity, Cancel still needs a cause. */
.row-acts[b-3pr8le2gln] { display: flex; gap: 10px; margin-top: 4px; }
.lnk[b-3pr8le2gln] { border: 0; background: none; padding: 0; font-size: 11px; font-weight: 600; }
.lnk.add[b-3pr8le2gln] { color: #1d4ed8; }
.lnk.add:hover[b-3pr8le2gln] { text-decoration: underline; }
.lnk.cancel[b-3pr8le2gln] { color: #64748b; }
.lnk.cancel:hover[b-3pr8le2gln] { color: #dc2626; text-decoration: underline; }

.count.ordered[b-3pr8le2gln] { background: #dbeafe; color: #1e40af; }

/* Adding to the order asks how much, and almost nothing else. */
.order-grid[b-3pr8le2gln] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }

/* The supplier's stated minimum, next to the box the quantity goes in -- WITH its scope, because
   5,000 without "for the formula" is half a fact. Turns amber under, and stays recordable: a shortfall
   is negotiated, and the DFD stops it at the purchase order rather than here. */
.moq-strip[b-3pr8le2gln] { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin-top: 12px;
             background: #f8fafc; border-left: 3px solid #cbd5e1; border-radius: 6px; padding: 8px 12px; }
.moq-strip.short[b-3pr8le2gln] { background: #fffbeb; border-left-color: #f59e0b; }
.moq-label[b-3pr8le2gln] { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
             color: #64748b; }
.moq-value[b-3pr8le2gln] { font-size: 14px; font-weight: 700; color: #0f172a; }
.moq-pack[b-3pr8le2gln] { font-size: 11.5px; color: #94a3b8; }

@media (max-width: 900px) {
    .order-grid[b-3pr8le2gln] { grid-template-columns: minmax(0, 1fr); }
}
.moq-value.unstated[b-3pr8le2gln] { font-weight: 500; font-size: 12.5px; color: #94a3b8; font-style: italic; }

/* The one conversion the data supports: the line's own pack size. Informational, never imposed. */
.pack-note[b-3pr8le2gln] { font-size: 12px; color: #334155; background: #f1f5f9; border-radius: 8px;
             padding: 7px 10px; margin: 10px 0 0; }

/* Modal overlay and dialog for in-viewport decisions */
.board-modal-backdrop[b-3pr8le2gln] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(2px);
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: fadeIn-b-3pr8le2gln 0.15s ease-out;
}

.board-modal-dialog[b-3pr8le2gln] {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 620px;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    animation: slideDown-b-3pr8le2gln 0.18s ease-out;
    border: 1px solid #e2e8f0;
}

.board-modal-head[b-3pr8le2gln] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.board-modal-head h2[b-3pr8le2gln] {
    font-size: 14.5px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.board-modal-close[b-3pr8le2gln] {
    border: 0;
    background: none;
    font-size: 16px;
    line-height: 1;
    color: #64748b;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: color 0.15s, background 0.15s;
}

.board-modal-close:hover[b-3pr8le2gln] {
    color: #0f172a;
    background: #e2e8f0;
}

.board-modal-body[b-3pr8le2gln] {
    padding: 18px;
}

.board-modal-foot[b-3pr8le2gln] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

.cancel-grid[b-3pr8le2gln] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.basis-display[b-3pr8le2gln] {
    display: flex;
    align-items: center;
    min-height: 31px;
}

.basis-badge[b-3pr8le2gln] {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 6px;
}

.basis-badge.reorder[b-3pr8le2gln] {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

.basis-badge.new[b-3pr8le2gln] {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

@keyframes fadeIn-b-3pr8le2gln {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideDown-b-3pr8le2gln {
    from { transform: translateY(-10px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* A line the board added from the product master (0171), not one the supplier's document offered. */
.reorder-tag[b-3pr8le2gln] { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px; border-radius: 999px; padding: 1px 8px;
    background: #ede9fe; color: #5b21b6; font-size: 10.5px; font-weight: 700; vertical-align: middle; }

/* The Product Setup form opened over the order form: wider (the form is a three-column grid) and
   stacked above the modal it was opened from. */
.board-modal-backdrop.stacked[b-3pr8le2gln] { z-index: 1060; }
.board-modal-dialog.wide[b-3pr8le2gln] { max-width: 980px; }
.setup-note[b-3pr8le2gln] { font-size: 12px; color: #475569; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; padding: 8px 10px; margin: 0 0 14px; }
.setup-needed[b-3pr8le2gln] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.setup-needed .unit-warn[b-3pr8le2gln] { margin: 0; }

/* A short dialog with a dropdown in it: no inner scroll, so the dropdown panel hangs out over the page
   instead of being clipped inside the dialog (which only produced a scrollbar). */
.board-modal-dialog.fits[b-3pr8le2gln] { overflow: visible; max-height: none; }
.board-modal-dialog.fits .board-modal-body[b-3pr8le2gln] { overflow: visible; }

/* Purchase order preview: the PO's own columns, read-only, under the decision grid. */
.po-preview[b-3pr8le2gln] { margin-top: 16px; }
.po-preview .unit[b-3pr8le2gln] { color: #94a3b8; font-size: 10.5px; margin-left: 3px; }
.po-preview .muted[b-3pr8le2gln] { color: #94a3b8; }
.po-preview tfoot td[b-3pr8le2gln] { border-top: 2px solid #d6e1ed; background: #f8fafc; }
.po-preview tbody tr[b-3pr8le2gln] { cursor: default; }

/* D3: the explicit choice to rewrite Product Setup's pack, directly under the warning it answers. */
.pack-overwrite[b-3pr8le2gln] { display: flex; gap: 6px; align-items: flex-start; font-size: 12px; color: #78350f; margin: 6px 0 8px; cursor: pointer; }
.pack-overwrite input[b-3pr8le2gln] { margin-top: 2px; }
/* /Components/Pages/Offers/OfferEditor.razor.rz.scp.css */
.admin-page[b-k7pajt1s0o]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-k7pajt1s0o]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);padding:1.1rem 1.25rem}
.form-head[b-k7pajt1s0o]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:1px solid #e8edf3}
.form-head h2[b-k7pajt1s0o]{font-size:.95rem;color:#1d3f72;margin:0}
.src-badge[b-k7pajt1s0o]{display:inline-flex;align-items:center;gap:.35rem;background:#dcfce7;color:#166534;border-radius:999px;padding:.25rem .6rem;font-size:.66rem;font-weight:700}
.admin-form-grid[b-k7pajt1s0o]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.admin-field label[b-k7pajt1s0o]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-k7pajt1s0o]{color:#dc3545}
.admin-field .form-control[b-k7pajt1s0o],.admin-field .form-select[b-k7pajt1s0o]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-k7pajt1s0o],.admin-field .form-select:focus[b-k7pajt1s0o]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.span-2[b-k7pajt1s0o]{grid-column:span 2}.span-3[b-k7pajt1s0o]{grid-column:span 3}
.dt-hint[b-k7pajt1s0o]{display:block;margin-top:.3rem;color:#7b8798;font-size:.64rem;line-height:1.4}
.dt-hint.is-good[b-k7pajt1s0o]{color:#166534}
.note[b-k7pajt1s0o]{font-size:.7rem;margin:.6rem 0 0}

.lines-head[b-k7pajt1s0o]{display:flex;align-items:center;justify-content:space-between;margin:1.2rem 0 .5rem}
.lines-head h3[b-k7pajt1s0o]{font-size:.8rem;color:#1d3f72;margin:0;display:flex;align-items:center;gap:.4rem}
.lines-head .count[b-k7pajt1s0o]{background:#eef2ff;color:#4338ca;border-radius:999px;padding:.1rem .5rem;font-size:.62rem}
.lines-empty[b-k7pajt1s0o]{color:#7b8798;font-size:.72rem;padding:.6rem 0}

/* The normalized table, editable: one product per row, three stacked inputs for the name cell */
.lines-table[b-k7pajt1s0o]{margin:0;font-size:.72rem}
.lines-table thead th[b-k7pajt1s0o]{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:#5b6b82;background:#f4f8fc;border-bottom:1px solid #d6e1ed;white-space:nowrap;padding:.5rem .5rem}
.lines-table td[b-k7pajt1s0o]{padding:.4rem .4rem;vertical-align:top;border-top:1px solid #eef2f7}
.lines-table .sn[b-k7pajt1s0o]{width:2.2rem;text-align:center;color:#93a2b5;font-weight:700;padding-top:.75rem}
.lines-table .wide[b-k7pajt1s0o]{min-width:16rem}
.lines-table .num[b-k7pajt1s0o]{width:7rem}
.lines-table .act[b-k7pajt1s0o]{width:2rem;padding-top:.6rem}
.lines-table .form-control[b-k7pajt1s0o]{font-size:.72rem;border-color:#ccd8e6;background:#fbfdff}
.lines-table .form-control.jp[b-k7pajt1s0o],.lines-table .form-control.spec[b-k7pajt1s0o]{margin-top:.25rem;color:#475569}
.lines-table .form-control.mono[b-k7pajt1s0o]{font-family:'JetBrains Mono',ui-monospace,monospace;min-width:9rem}
.lines-table .form-control.num[b-k7pajt1s0o]{text-align:right}
.row-x[b-k7pajt1s0o]{border:0;background:transparent;color:#94a3b8;padding:.2rem;font-size:.8rem;border-radius:6px}
.row-x:hover[b-k7pajt1s0o]{color:#dc3545;background:#fdf2f2}

.doc-list[b-k7pajt1s0o]{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.35rem}
.doc-list li[b-k7pajt1s0o]{display:flex;align-items:center;gap:.5rem;border:1px solid #ccd8e6;border-radius:8px;padding:.45rem .65rem;font-size:.72rem;background:#fbfdff}
.doc-list li span[b-k7pajt1s0o]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#1d3f72}
.doc-list li small[b-k7pajt1s0o]{color:#5b21b6;font-size:.62rem;white-space:nowrap}
.doc-list li.from-draft[b-k7pajt1s0o]{border-style:dashed;border-color:#c4b5fd;background:#f5f3ff}
.file-drop[b-k7pajt1s0o]{display:flex;align-items:center;gap:.5rem;border:1px dashed #9db4d0;border-radius:8px;padding:.6rem .8rem;font-size:.72rem;color:#475569;cursor:pointer;position:relative;background:#fbfdff}
.file-drop:hover[b-k7pajt1s0o]{border-color:#3975bd;background:#eaf2fb}
.file-drop[b-k7pajt1s0o]  input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}

.admin-actions[b-k7pajt1s0o]{display:flex;gap:.5rem;margin-top:1.1rem;padding-top:.9rem;border-top:1px solid #e8edf3}
.ds-empty[b-k7pajt1s0o]{display:flex;align-items:center;gap:.5rem;padding:1.5rem;color:#7b8798;font-size:.72rem}

@media(max-width:900px){.admin-form-grid[b-k7pajt1s0o]{grid-template-columns:1fr 1fr}.span-3[b-k7pajt1s0o]{grid-column:span 2}}
@media(max-width:650px){.admin-page[b-k7pajt1s0o]{padding:.75rem}.admin-form-grid[b-k7pajt1s0o]{grid-template-columns:1fr}.span-2[b-k7pajt1s0o],.span-3[b-k7pajt1s0o]{grid-column:span 1}}

/* A case pack with no unit: the one line-level combination the save refuses. */
.lines-table .form-select.is-invalid[b-k7pajt1s0o]{border-color:#dc2626;background-color:#fff7f7}
.lines-table .unit-need[b-k7pajt1s0o]{display:block;margin-top:.25rem;color:#b91c1c;font-size:.62rem;line-height:1.3}

/* "PCs per [Case]": the base unit as words, the pack unit as the choice beside it (0172). */
.lines-table .pack-per[b-k7pajt1s0o]{display:flex;align-items:center;gap:.3rem;margin-top:.25rem;justify-content:flex-end}
.lines-table .pack-per small[b-k7pajt1s0o]{color:#5b6b82;font-size:.62rem;white-space:nowrap}
.lines-table .pack-per .form-select[b-k7pajt1s0o]{width:auto;min-width:5.5rem;font-size:.72rem;padding:.15rem 1.6rem .15rem .4rem}
/* /Components/Pages/Offers/OfferList.razor.rz.scp.css */
.admin-page[b-a0lg3kdbj3]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.admin-list-card[b-a0lg3kdbj3]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.admin-list-head[b-a0lg3kdbj3]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.admin-list-head h2[b-a0lg3kdbj3]{font-size:.9rem;color:var(--brand-navy);margin:0}.admin-list-head span[b-a0lg3kdbj3]{font-size:.68rem;color:var(--text-muted)}.admin-search[b-a0lg3kdbj3]{position:relative}.admin-search i[b-a0lg3kdbj3]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.admin-search input[b-a0lg3kdbj3]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:200px}
/* HNBG palette alignment, as every other admin page */
.admin-page[b-a0lg3kdbj3]{background:#dfe7f1;border-color:#cbd7e5}
.admin-list-card[b-a0lg3kdbj3]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-search input[b-a0lg3kdbj3]{border-color:#ccd8e6;background-color:#fbfdff}
.admin-search input:focus[b-a0lg3kdbj3]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-list-head[b-a0lg3kdbj3]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-tools[b-a0lg3kdbj3]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.ds-add[b-a0lg3kdbj3]{display:inline-flex;align-items:center;white-space:nowrap;font-weight:700}
.ds-explain[b-a0lg3kdbj3]{margin:0 0 .9rem;padding:.55rem .75rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.7rem;line-height:1.55;max-width:80ch}
.ds-empty[b-a0lg3kdbj3]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-a0lg3kdbj3]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-a0lg3kdbj3]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-a0lg3kdbj3]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

/* ---- Stage chips: the filter IS the stage vocabulary, so the counts teach it ---- */
.stage-chips[b-a0lg3kdbj3]{display:flex;gap:.3rem;flex-wrap:wrap}
.chip[b-a0lg3kdbj3]{border:1px solid #ccd8e6;background:#fff;color:#475569;border-radius:999px;padding:.3rem .65rem;font-size:.66rem;font-weight:700;cursor:pointer;display:inline-flex;gap:.35rem;align-items:center}
.chip b[b-a0lg3kdbj3]{font-weight:700;color:#7b8798}
.chip:hover[b-a0lg3kdbj3]{background:#eaf2fb}
.chip.is-on[b-a0lg3kdbj3]{background:#1d3f72;border-color:#1d3f72;color:#fff}
.chip.is-on b[b-a0lg3kdbj3]{color:#c7d7ec}

/* ---- The table ---- */
.offers-table[b-a0lg3kdbj3]{margin:0;font-size:.72rem;color:#334155}
.offers-table thead th[b-a0lg3kdbj3]{font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;color:#5b6b82;background:#f4f8fc;border-bottom:1px solid #d6e1ed;white-space:nowrap;padding:.55rem .75rem}
.offers-table td[b-a0lg3kdbj3]{padding:.6rem .75rem;vertical-align:middle;border-top:1px solid #eef2f7}
.offers-table .num[b-a0lg3kdbj3]{text-align:right;white-space:nowrap}
.offers-table .num small[b-a0lg3kdbj3]{margin-left:.4rem;color:#7b8798;font-size:.62rem}
.offer-row[b-a0lg3kdbj3]{cursor:pointer}
.offer-row:hover td[b-a0lg3kdbj3]{background:#e6f0fb}
.offer-row.is-discarded td[b-a0lg3kdbj3]{color:#8a94a3}
.offer-title strong[b-a0lg3kdbj3]{display:block;color:#1d3f72;font-weight:700}
.offer-title small[b-a0lg3kdbj3]{display:block;color:#93a2b5;font-size:.62rem}
.is-overdue[b-a0lg3kdbj3]{color:#b42318;font-weight:700}
.source[b-a0lg3kdbj3]{white-space:nowrap;color:#5b6b82}
.source .bi[b-a0lg3kdbj3]{margin-right:.25rem}

/* Stage pills, one colour per stage. Discarded is grey on purpose -- terminal, not alarming. */
.stage-pill[b-a0lg3kdbj3]{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:750;white-space:nowrap}
.stage-1[b-a0lg3kdbj3]{background:#dbeafe;color:#1e40af}
.stage-2[b-a0lg3kdbj3]{background:#f1f5f9;color:#64748b}
.stage-3[b-a0lg3kdbj3]{background:#ffedd5;color:#9a3412}
.stage-4[b-a0lg3kdbj3]{background:#fef3c7;color:#92400e}
.stage-5[b-a0lg3kdbj3]{background:#ede9fe;color:#5b21b6}
.stage-6[b-a0lg3kdbj3]{background:#dcfce7;color:#166534}

.prio[b-a0lg3kdbj3]{display:inline-flex;border-radius:999px;padding:.15rem .5rem;font-size:.6rem;font-weight:700;color:#fff}
.prio-3[b-a0lg3kdbj3]{background:#dc2626}.prio-2[b-a0lg3kdbj3]{background:#d97706}.prio-1[b-a0lg3kdbj3]{background:#16a34a}

.offers-pager[b-a0lg3kdbj3]{padding:.5rem .75rem;border-top:1px solid #eef2f7}

@media(max-width:900px){.admin-list-head[b-a0lg3kdbj3]{flex-direction:column;align-items:stretch;gap:.6rem}.admin-search[b-a0lg3kdbj3],.admin-search input[b-a0lg3kdbj3]{width:100%}}
/* /Components/Pages/Offers/OfferResearch.razor.rz.scp.css */
/* Shared shell classes, repeated because scoped CSS is per file (as OfferReview.razor.css does). */
.admin-page[b-b6gid5ytyd] { background: #dfe7f1; border-radius: 16px; padding: 18px; min-height: 100%; }
.ds-empty[b-b6gid5ytyd] { padding: 28px; text-align: center; color: #64748b; background: #fff; border-radius: 12px; }
.admin-list-card[b-b6gid5ytyd] { background: #fff; border-radius: 12px; padding: 16px; margin-bottom: 14px; }
.admin-list-head[b-b6gid5ytyd] { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.admin-list-head h2[b-b6gid5ytyd] { font-size: 15px; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 8px; }
.admin-list-tools[b-b6gid5ytyd] { display: flex; align-items: center; gap: 8px; color: #64748b; font-size: 12px; }
.admin-form-grid[b-b6gid5ytyd] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-field[b-b6gid5ytyd] { display: flex; flex-direction: column; gap: 4px; }
.admin-field label[b-b6gid5ytyd] { font-size: 12px; font-weight: 600; color: #334155; }
.span-2[b-b6gid5ytyd] { grid-column: span 2; }
.span-3[b-b6gid5ytyd] { grid-column: span 3; }
.admin-actions[b-b6gid5ytyd] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.row-x[b-b6gid5ytyd] { border: 0; background: none; color: #94a3b8; padding: 0 2px; line-height: 1; }
.row-x:hover[b-b6gid5ytyd] { color: #ef4444; }
.file-drop[b-b6gid5ytyd] { display: block; border: 1px dashed #94a3b8; border-radius: 10px; padding: 14px; text-align: center; cursor: pointer; color: #475569; }
.file-drop.small[b-b6gid5ytyd] { padding: 10px; font-size: 13px; }
.mono[b-b6gid5ytyd] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.none[b-b6gid5ytyd] { color: #94a3b8; font-size: 12px; margin: 6px 0 0; }
.dot[b-b6gid5ytyd] { margin: 0 6px; color: #cbd5e1; }

/* Header */
.research-head[b-b6gid5ytyd] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.research-title[b-b6gid5ytyd] { font-size: 18px; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 10px; }
.research-sub[b-b6gid5ytyd] { color: #475569; font-size: 13px; margin: 4px 0 0; }
.research-actions[b-b6gid5ytyd] { display: flex; gap: 8px; }

/* Stage pills, the same six colours as the holding page and the review page. */
.stage-pill[b-b6gid5ytyd] { border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; }
.stage-1[b-b6gid5ytyd] { background: #dbeafe; color: #1e40af; }
.stage-2[b-b6gid5ytyd] { background: #f1f5f9; color: #64748b; }
.stage-3[b-b6gid5ytyd] { background: #ffedd5; color: #9a3412; }
.stage-4[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.stage-5[b-b6gid5ytyd] { background: #ede9fe; color: #5b21b6; }
.stage-6[b-b6gid5ytyd] { background: #dcfce7; color: #166534; }

/* The question, and its two cards */
.decide[b-b6gid5ytyd] { background: #fff; border-radius: 12px; padding: 24px; margin-bottom: 14px; text-align: center; }
.decide h2[b-b6gid5ytyd] { font-size: 17px; font-weight: 700; margin: 0 0 4px; }
.decide-help[b-b6gid5ytyd] { color: #64748b; font-size: 13px; margin: 0 0 18px; }
.decide-cards[b-b6gid5ytyd] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.decide-card[b-b6gid5ytyd] { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px;
               border-radius: 12px; border: 1px solid #cbd5e1; background: #f8fafc; text-align: center; }
.decide-card i[b-b6gid5ytyd] { font-size: 26px; }
.decide-card b[b-b6gid5ytyd] { font-size: 14px; }
.decide-card span[b-b6gid5ytyd] { font-size: 12px; color: #64748b; }
.decide-card.ai[b-b6gid5ytyd] { border-color: #7dd3fc; }
.decide-card.ai i[b-b6gid5ytyd] { color: #0284c7; }
.decide-card.ai:hover[b-b6gid5ytyd] { background: #f0f9ff; }
.decide-card.survey[b-b6gid5ytyd] { border-color: #6ee7b7; }
.decide-card.survey i[b-b6gid5ytyd] { color: #059669; }
.decide-card.survey:hover[b-b6gid5ytyd] { background: #ecfdf5; }

/* Running */
.research-running[b-b6gid5ytyd] { display: flex; align-items: center; gap: 12px; }
.research-running p[b-b6gid5ytyd] { margin: 2px 0 0; color: #64748b; font-size: 12px; }

/* The basis table */
.basis-type[b-b6gid5ytyd] { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.basis-type label[b-b6gid5ytyd] { font-size: 12px; font-weight: 600; color: #334155; white-space: nowrap; }
.basis-type select[b-b6gid5ytyd] { max-width: 340px; }
.count[b-b6gid5ytyd] { border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; }
.count.all[b-b6gid5ytyd] { background: #dcfce7; color: #166534; }
.count.some[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.basis-table[b-b6gid5ytyd] { font-size: 12px; }
.basis-table th[b-b6gid5ytyd] { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.basis-table .tick[b-b6gid5ytyd] { width: 56px; text-align: center; }
.basis-table .code[b-b6gid5ytyd] { width: 48px; }
.basis-table tr.skipped[b-b6gid5ytyd] { opacity: .45; }
.basis-table tr.skipped b[b-b6gid5ytyd] { text-decoration: line-through; }

/* The catalogue is two catalogues since 0100: a universal core and a category add-on set. The break
   between them has to be visible, or the researcher cannot tell which half changing the picker
   affects. */
.basis-table .group-row td[b-b6gid5ytyd] { background: #f8fafc; border-top: 2px solid #cbd5e1; color: #475569;
                             font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }

/* Which execution path answers the question. Not a verdict, so it is stated plainly -- but a question
   nothing can answer yet must not look like one the model will go and research. */
.basis-table .o-state[b-b6gid5ytyd] { display: inline-block; border-radius: 999px; padding: 1px 8px;
                        font-size: 10.5px; font-weight: 700; font-style: normal; white-space: nowrap;
                        background: #e0f2fe; color: #075985; }
.basis-table .o-state.deferred[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.basis-table .o-state.material[b-b6gid5ytyd] { background: #fee2e2; color: #991b1b; margin-left: 6px; }

.basis-type[b-b6gid5ytyd] { flex-wrap: wrap; }
.basis-type .decide-help[b-b6gid5ytyd] { flex-basis: 100%; margin: 4px 0 0; }
/* The subject of the whole panel. It sat beside the category picker as muted micro-text at first
   and was invisible in practice -- which is the same failure as not having it. */
.researching[b-b6gid5ytyd] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.researching-label[b-b6gid5ytyd] { font-size: 11px; font-weight: 700; text-transform: uppercase;
                     letter-spacing: .06em; color: #64748b; }
.researching-item[b-b6gid5ytyd] { display: inline-block; background: #0f172a; color: #fff; border-radius: 999px;
                    padding: 3px 12px; font-size: 12.5px; font-weight: 600; }
.researching-more[b-b6gid5ytyd] { font-size: 11.5px; color: #94a3b8; font-style: italic; }

/* HNBG's judgement on each line (0099's OfferLineAssessment), set here because the offer review page
   now shows only what the supplier's document stated. */
.assess[b-b6gid5ytyd] { border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 14px; margin-bottom: 14px;
          background: #fcfdff; }
.assess h3[b-b6gid5ytyd] { font-size: 13px; font-weight: 700; color: #0f172a; margin: 0 0 2px; }
.assess .decide-help[b-b6gid5ytyd] { margin: 0 0 10px; }
.assess-table[b-b6gid5ytyd] { font-size: 12px; margin-bottom: 0; }
.assess-table th[b-b6gid5ytyd] { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.assess-table td[b-b6gid5ytyd] { vertical-align: middle; }
/* The product name is what the row is ABOUT, so it gets room rather than being squeezed to one word
   per line by five pickers competing for the same width. */
.assess-table th:first-child[b-b6gid5ytyd],
.assess-table td:first-child[b-b6gid5ytyd] { min-width: 220px; }
.assess-table select[b-b6gid5ytyd] { min-width: 128px; }
.assess-table .assessed-by[b-b6gid5ytyd] { font-size: 10.5px; color: #94a3b8; margin-top: 2px; }
.assess-actions[b-b6gid5ytyd] { display: flex; justify-content: flex-end; margin-top: 10px; }

/* Directives */
.directives[b-b6gid5ytyd] { margin-top: 16px; border-top: 1px solid #e2e8f0; padding-top: 14px; }
.directives h3[b-b6gid5ytyd] { font-size: 13px; font-weight: 700; margin: 0 0 2px; }
.directive-add[b-b6gid5ytyd] { display: flex; gap: 8px; margin: 8px 0; }
.chips[b-b6gid5ytyd] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; }
.chips-label[b-b6gid5ytyd] { font-size: 11px; color: #64748b; }
.chip[b-b6gid5ytyd] { border: 1px dashed #cbd5e1; background: #f8fafc; border-radius: 999px; padding: 2px 10px; font-size: 11px; color: #475569; }
.chip:hover[b-b6gid5ytyd] { background: #eff6ff; border-color: #93c5fd; }
.pills[b-b6gid5ytyd] { display: flex; flex-wrap: wrap; gap: 6px; }
.pill[b-b6gid5ytyd] { display: inline-flex; align-items: center; gap: 6px; background: #fef3c7; color: #92400e;
        border-radius: 999px; padding: 3px 10px; font-size: 12px; }

/* Reports */
.report.accepted[b-b6gid5ytyd] { border: 1px solid #86efac; }
.run-status[b-b6gid5ytyd] { border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 600; }
.status-1[b-b6gid5ytyd] { background: #e0f2fe; color: #075985; }
.status-2[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.status-3[b-b6gid5ytyd] { background: #dcfce7; color: #166534; }
.status-4[b-b6gid5ytyd] { background: #fee2e2; color: #991b1b; }
.accepted-pill[b-b6gid5ytyd] { background: #16a34a; color: #fff; }
.ungrounded[b-b6gid5ytyd] { font-size: 13px; }
.summary[b-b6gid5ytyd] { font-size: 14px; line-height: 1.55; color: #1e293b; }
.verdict[b-b6gid5ytyd] { border-radius: 10px; padding: 10px 12px; font-size: 13px; margin-bottom: 12px; }
.verdict-1[b-b6gid5ytyd] { background: #dcfce7; color: #166534; }
.verdict-2[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.verdict-3[b-b6gid5ytyd] { background: #fee2e2; color: #991b1b; }

.survey-facts[b-b6gid5ytyd], .line-facts[b-b6gid5ytyd] { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; font-size: 13px; margin: 0 0 8px; }
.survey-facts dt[b-b6gid5ytyd], .line-facts dt[b-b6gid5ytyd] { color: #64748b; font-size: 12px; }
.survey-facts dd[b-b6gid5ytyd], .line-facts dd[b-b6gid5ytyd] { margin: 0; }

.line-card[b-b6gid5ytyd] { border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.line-head[b-b6gid5ytyd] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.data-status[b-b6gid5ytyd] { border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 600; }
.ds-1[b-b6gid5ytyd] { background: #dcfce7; color: #166534; }
.ds-2[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.ds-3[b-b6gid5ytyd] { background: #f1f5f9; color: #64748b; }
.sentiment[b-b6gid5ytyd] { font-size: 13px; color: #334155; margin: 0 0 8px; }

.findings[b-b6gid5ytyd] { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.findings li[b-b6gid5ytyd] { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; }
.findings b[b-b6gid5ytyd] { white-space: nowrap; }
.outcome[b-b6gid5ytyd] { border-radius: 999px; padding: 1px 8px; font-size: 10.5px; font-weight: 700; white-space: nowrap; }
.o-1[b-b6gid5ytyd] { background: #dcfce7; color: #166534; }
.o-2[b-b6gid5ytyd] { background: #fef3c7; color: #92400e; }
.o-3[b-b6gid5ytyd] { background: #fee2e2; color: #991b1b; }
.o-4[b-b6gid5ytyd] { background: #f1f5f9; color: #64748b; }

/* Not a verdict: the question has no answer yet, so it must not wear an outcome colour. */
.o-state[b-b6gid5ytyd] { background: #e2e8f0; color: #475569; font-style: italic; }

/* Which half of the catalogue a finding came from. "U7" and "P2" are database keys and meant nothing
   on a report a board member reads; the full code lives on the tooltip for anyone tracing it back. */
.scope[b-b6gid5ytyd] { border-radius: 4px; padding: 0 6px; font-size: 9.5px; font-weight: 700; white-space: nowrap;
         text-transform: uppercase; letter-spacing: .04em; cursor: help; }
.s-core[b-b6gid5ytyd] { background: #eef2ff; color: #4338ca; }
.s-cat[b-b6gid5ytyd]  { background: #f0fdf4; color: #15803d; }

/* Provenance (0097). Muted on purpose -- it qualifies a finding, it does not compete with it. */
.evidence[b-b6gid5ytyd] { border-radius: 4px; padding: 1px 6px; font-size: 10px; font-weight: 600;
            white-space: nowrap; border: 1px solid transparent; }
.e-1[b-b6gid5ytyd] { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }  /* supplier claim */
.e-2[b-b6gid5ytyd] { background: #ecfdf5; color: #065f46; border-color: #a7f3d0; }  /* verified */
.e-3[b-b6gid5ytyd] { background: #eff6ff; color: #1e40af; border-color: #bfdbfe; }  /* HNBG data */
.e-4[b-b6gid5ytyd] { background: #faf5ff; color: #6b21a8; border-color: #e9d5ff; }  /* AI inference */
.e-5[b-b6gid5ytyd] { background: #fef2f2; color: #991b1b; border-color: #fecaca; }  /* conflicting */
.e-6[b-b6gid5ytyd] { background: #f8fafc; color: #64748b; border-color: #e2e8f0; }  /* no data */

.cite[b-b6gid5ytyd] { font-size: 10.5px; font-weight: 700; text-decoration: none; vertical-align: super; }

.sub[b-b6gid5ytyd] { font-size: 13px; font-weight: 700; margin: 14px 0 6px; }
.sources[b-b6gid5ytyd] { font-size: 12.5px; padding-left: 20px; }
.search-suggestions[b-b6gid5ytyd] { margin-top: 12px; }
.uploaded[b-b6gid5ytyd] { font-size: 13px; color: #166534; }

@media (max-width: 900px) {
    .admin-form-grid[b-b6gid5ytyd] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .span-3[b-b6gid5ytyd] { grid-column: span 2; }
}

@media (max-width: 650px) {
    .research-head[b-b6gid5ytyd] { flex-direction: column; }
    .decide-cards[b-b6gid5ytyd] { grid-template-columns: 1fr; }
    .admin-form-grid[b-b6gid5ytyd] { grid-template-columns: 1fr; }
    .span-2[b-b6gid5ytyd], .span-3[b-b6gid5ytyd] { grid-column: span 1; }
}

/* A failed run keeps the model's own report, which is the only thing that explains the failure. */
.raw[b-b6gid5ytyd] { margin: 6px 0 12px; }
.raw summary[b-b6gid5ytyd] { cursor: pointer; font-size: 12px; color: #475569; }
.raw pre[b-b6gid5ytyd] { margin: 8px 0 0; padding: 10px; background: #f8fafc; border: 1px solid #e2e8f0;
           border-radius: 8px; font-size: 11.5px; white-space: pre-wrap; max-height: 320px; overflow: auto; }

/* Research done, next stage not built: a statement, not a dead-looking screen. */
.next-step[b-b6gid5ytyd] { display: flex; flex-direction: column; gap: 2px; }
.next-step span[b-b6gid5ytyd] { font-size: 13px; }

/* The survey file as a file: icon, name, then what can be done with it. */
.survey-file[b-b6gid5ytyd] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.survey-file > .bi[b-b6gid5ytyd] { color: #2563eb; font-size: 15px; }
.survey-file .name[b-b6gid5ytyd] { font-weight: 600; color: #1d3f72; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 28rem; }
/* /Components/Pages/Offers/OfferReview.razor.rz.scp.css */
.admin-page[b-jc95qvb2pc]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh;display:flex;flex-direction:column;gap:.9rem}
.ds-empty[b-jc95qvb2pc]{display:flex;align-items:center;gap:.5rem;padding:1.5rem;color:#7b8798;font-size:.72rem}

/* ---- Header strip ---- */
.review-head[b-jc95qvb2pc]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);padding:1rem 1.25rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) auto;gap:1rem;align-items:start}
.review-title[b-jc95qvb2pc]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.review-title h1[b-jc95qvb2pc]{font-size:1.05rem;color:#1d3f72;margin:0;font-weight:800}
.review-sub[b-jc95qvb2pc]{margin:.35rem 0 0;color:#5b6b82;font-size:.72rem}
.review-sub .dot[b-jc95qvb2pc]{margin:0 .35rem;color:#b6c2d1}
.review-facts[b-jc95qvb2pc]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem;margin:0}
.review-facts dt[b-jc95qvb2pc]{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:#7b8798;font-weight:700}
.review-facts dd[b-jc95qvb2pc]{margin:0;font-size:.74rem;color:#1d3f72;font-weight:600}
.review-actions[b-jc95qvb2pc]{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}
.review-notes[b-jc95qvb2pc]{margin:0;padding:.6rem .85rem;border-left:3px solid #5b8fc9;border-radius:0 8px 8px 0;background:#f2f7fd;color:#4a5c73;font-size:.72rem;line-height:1.55;white-space:pre-wrap}
.is-overdue[b-jc95qvb2pc]{color:#b42318}

/* ---- Cards ---- */
.admin-list-card[b-jc95qvb2pc]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-list-head[b-jc95qvb2pc]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-radius:13px 13px 0 0}
.admin-list-head h2[b-jc95qvb2pc]{font-size:.85rem;color:#1d3f72;margin:0}
.admin-list-head span[b-jc95qvb2pc]{font-size:.66rem;color:#7b8798}
.admin-list-tools[b-jc95qvb2pc]{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.locked[b-jc95qvb2pc]{display:inline-flex;align-items:center;gap:.35rem;color:#7b8798;font-size:.66rem}
.admin-form-card[b-jc95qvb2pc]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);padding:1rem 1.1rem}
.admin-form-grid[b-jc95qvb2pc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;align-items:start}
.admin-field label[b-jc95qvb2pc]{display:block;font-size:.68rem;color:#475569;font-weight:700;margin-bottom:.3rem}
.admin-field b[b-jc95qvb2pc]{color:#dc3545}
.admin-field .form-control[b-jc95qvb2pc],.admin-field .form-select[b-jc95qvb2pc]{font-size:.76rem;min-height:34px;border-color:#ccd8e6;background:#fbfdff}
.span-2[b-jc95qvb2pc]{grid-column:span 2}.span-3[b-jc95qvb2pc]{grid-column:span 3}
.admin-actions[b-jc95qvb2pc]{display:flex;gap:.5rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid #e8edf3}

/* ---- Lines: the wireframe's normalized table ---- */
.lines-table[b-jc95qvb2pc]{margin:0;font-size:.72rem;color:#334155}
.lines-table thead th[b-jc95qvb2pc]{font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;color:#5b6b82;background:#f4f8fc;border-bottom:1px solid #d6e1ed;white-space:nowrap;padding:.5rem .6rem}
.lines-table td[b-jc95qvb2pc]{padding:.55rem .6rem;vertical-align:top;border-top:1px solid #eef2f7}
.lines-table .sn[b-jc95qvb2pc]{width:2.4rem;text-align:center;color:#93a2b5;font-weight:700}
.lines-table .wide[b-jc95qvb2pc]{min-width:16rem}
.lines-table .wide strong[b-jc95qvb2pc]{display:block;color:#1d3f72}
.lines-table .wide .jp[b-jc95qvb2pc],.lines-table .wide .spec[b-jc95qvb2pc]{display:block;color:#5b6b82;font-size:.66rem}
.lines-table .num[b-jc95qvb2pc]{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.lines-table .mono[b-jc95qvb2pc]{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.68rem}
.lines-table .remarks[b-jc95qvb2pc]{max-width:22rem;color:#475569;white-space:pre-wrap}
.lines-table .form-control[b-jc95qvb2pc]{font-size:.72rem;border-color:#ccd8e6;background:#fbfdff}
.lines-table .form-control.jp[b-jc95qvb2pc],.lines-table .form-control.spec[b-jc95qvb2pc]{margin-top:.25rem}
.lines-table .form-select.spec[b-jc95qvb2pc]{margin-top:.25rem;font-size:.72rem;padding:.15rem .4rem}

/* Classification (0098): under the product name, muted -- it qualifies the line, it is not the line. */
.lines-table .wide .classified[b-jc95qvb2pc]{display:block;color:#1e40af;font-size:.66rem;font-weight:600}

/* For / flags. The client is who the line is bought for; DG is a cargo class, so it reads as a warning. */
.lines-table .flags[b-jc95qvb2pc]{white-space:nowrap}
.lines-table .flags .client[b-jc95qvb2pc]{display:inline-block;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;
  border-radius:4px;padding:1px 6px;font-size:.66rem;font-weight:600}
.lines-table .flags .dg[b-jc95qvb2pc]{display:inline-block;margin-left:.25rem;background:#fef2f2;color:#991b1b;
  border:1px solid #fecaca;border-radius:4px;padding:1px 6px;font-size:.66rem;font-weight:700}
.lines-table .form-control.num[b-jc95qvb2pc]{text-align:right}
.lines-table .act[b-jc95qvb2pc]{width:2rem}
.lines-empty[b-jc95qvb2pc]{color:#7b8798;font-size:.72rem;text-align:center;padding:.9rem}
.lines-empty.pad[b-jc95qvb2pc]{padding:1rem}
.row-x[b-jc95qvb2pc]{border:0;background:transparent;color:#94a3b8;padding:.2rem;font-size:.8rem;border-radius:6px}
.row-x:hover[b-jc95qvb2pc]{color:#dc3545;background:#fdf2f2}

/* ---- Documents ---- */
.doc-list[b-jc95qvb2pc]{list-style:none;margin:0;padding:.6rem .9rem;display:flex;flex-direction:column;gap:.35rem}
.doc-list li[b-jc95qvb2pc]{display:flex;align-items:center;gap:.5rem;border:1px solid #e3eaf3;border-radius:8px;padding:.45rem .65rem;font-size:.72rem;background:#fbfdff}
.doc-list li a[b-jc95qvb2pc]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#1d3f72;text-decoration:none}
.doc-list li a:hover[b-jc95qvb2pc]{text-decoration:underline}
.doc-list li small[b-jc95qvb2pc]{color:#7b8798;font-size:.62rem;white-space:nowrap}
.file-drop[b-jc95qvb2pc]{display:inline-flex;align-items:center;gap:.4rem;border:1px dashed #9db4d0;border-radius:8px;padding:.4rem .7rem;font-size:.68rem;color:#475569;cursor:pointer;position:relative;background:#fbfdff;margin:0}
.file-drop:hover[b-jc95qvb2pc]{border-color:#3975bd;background:#eaf2fb}
.file-drop[b-jc95qvb2pc]  input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}

/* ---- The decision ---- */
.decision[b-jc95qvb2pc]{background:#fff;border:2px solid #f2c5c5;border-radius:13px;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.decision-text h2[b-jc95qvb2pc]{font-size:.85rem;color:#8a2a2a;margin:0 0 .2rem}
.decision-text p[b-jc95qvb2pc]{margin:0;font-size:.72rem;color:#5b6b82}
.decision-buttons[b-jc95qvb2pc]{display:flex;gap:.5rem;flex-wrap:wrap}
.discard-box[b-jc95qvb2pc]{flex:1 1 100%;background:#fdf2f2;border:1px solid #f2c5c5;border-radius:10px;padding:.8rem}
.discard-box label[b-jc95qvb2pc]{display:block;font-size:.7rem;font-weight:700;color:#8a2a2a;margin-bottom:.35rem}
.discard-box label b[b-jc95qvb2pc]{color:#c0392b}
.discard-box .form-control[b-jc95qvb2pc]{font-size:.76rem;margin-bottom:.6rem}
.decision.decided[b-jc95qvb2pc]{border-color:#d6e1ed}
.decision.decided .decision-text p[b-jc95qvb2pc]{color:#334155;font-size:.74rem;margin-top:.4rem}
.decision.decided .reason b[b-jc95qvb2pc]{color:#8a2a2a}
.decision.decided small[b-jc95qvb2pc]{display:block;margin-top:.35rem;color:#7b8798;font-size:.64rem}
.stage-bg-2[b-jc95qvb2pc]{background:#f8fafc}
.stage-bg-3[b-jc95qvb2pc]{background:#fff7ed;border-color:#fed7aa}
.danger-zone[b-jc95qvb2pc]{display:flex;justify-content:flex-end}

/* Stage pills, the same six colours as the holding page */
.stage-pill[b-jc95qvb2pc]{display:inline-flex;border-radius:999px;padding:.2rem .6rem;font-size:.64rem;font-weight:750;white-space:nowrap}
.stage-1[b-jc95qvb2pc]{background:#dbeafe;color:#1e40af}
.stage-2[b-jc95qvb2pc]{background:#f1f5f9;color:#64748b}
.stage-3[b-jc95qvb2pc]{background:#ffedd5;color:#9a3412}
.stage-4[b-jc95qvb2pc]{background:#fef3c7;color:#92400e}
.stage-5[b-jc95qvb2pc]{background:#ede9fe;color:#5b21b6}
.stage-6[b-jc95qvb2pc]{background:#dcfce7;color:#166534}
.stage-pill.overdue[b-jc95qvb2pc]{background:#fee2e2;color:#991b1b}
.prio[b-jc95qvb2pc]{display:inline-flex;border-radius:999px;padding:.15rem .5rem;font-size:.6rem;font-weight:700;color:#fff}
.prio-3[b-jc95qvb2pc]{background:#dc2626}.prio-2[b-jc95qvb2pc]{background:#d97706}.prio-1[b-jc95qvb2pc]{background:#16a34a}

@media(max-width:900px){.review-head[b-jc95qvb2pc]{grid-template-columns:1fr}.review-actions[b-jc95qvb2pc]{flex-direction:row}.admin-form-grid[b-jc95qvb2pc]{grid-template-columns:1fr 1fr}.span-3[b-jc95qvb2pc]{grid-column:span 2}}
@media(max-width:650px){.admin-page[b-jc95qvb2pc]{padding:.75rem}.admin-form-grid[b-jc95qvb2pc]{grid-template-columns:1fr}.span-2[b-jc95qvb2pc],.span-3[b-jc95qvb2pc]{grid-column:span 1}.review-facts[b-jc95qvb2pc]{grid-template-columns:1fr}}

/* A case pack with no unit: the one line-level combination the save refuses. */
.lines-table .form-select.is-invalid[b-jc95qvb2pc]{border-color:#dc2626;background-color:#fff7f7}
.lines-table .unit-need[b-jc95qvb2pc]{display:block;margin-top:.25rem;color:#b91c1c;font-size:.62rem;line-height:1.3}

/* What Proceed will refuse (no JAN code, no case pack, no unit), flagged where it has to be fixed. */
.lines-table .form-control.is-missing[b-jc95qvb2pc],.lines-table .form-select.is-missing[b-jc95qvb2pc]{border-color:#f59e0b;background-color:#fffbeb}
.lines-table .flag-missing[b-jc95qvb2pc]{display:inline-flex;align-items:center;gap:.2rem;border-radius:999px;padding:.08rem .45rem;
    background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-size:.6rem;font-weight:700;white-space:nowrap;font-family:inherit}
.lines-table .flag-soft[b-jc95qvb2pc]{display:inline-block;margin-left:.3rem;border-radius:999px;padding:.02rem .4rem;background:#fff7ed;
    color:#9a3412;border:1px solid #fed7aa;font-size:.58rem;font-weight:700;white-space:nowrap}
.lines-table .unit-tag[b-jc95qvb2pc]{color:#5b6b82;font-size:.62rem;font-weight:600}
/* "PCs per [Case]": the base unit as words, the pack unit as the choice beside it. */
.lines-table .pack-per[b-jc95qvb2pc]{display:flex;align-items:center;gap:.3rem;margin-top:.25rem;justify-content:flex-end}
.lines-table .pack-per small[b-jc95qvb2pc]{color:#5b6b82;font-size:.62rem;white-space:nowrap}
.lines-table .pack-per .form-select[b-jc95qvb2pc]{width:auto;min-width:5.5rem;font-size:.72rem;padding:.15rem 1.6rem .15rem .4rem}
.need-chip[b-jc95qvb2pc]{display:inline-flex;align-items:center;gap:.3rem;margin-left:.5rem;border-radius:999px;padding:.1rem .55rem;
    background:#fef3c7;color:#92400e;border:1px solid #fcd34d;font-size:.62rem;font-weight:700}
/* /Components/Pages/Offers/PurchaseOrderPreview.razor.rz.scp.css */
/* Shared shell classes, repeated because scoped CSS is per file (as the other offer pages do). */
.admin-page[b-my6tl7wtvy] { background: #dfe7f1; border-radius: 16px; padding: 18px; min-height: 100%; }
.ds-empty[b-my6tl7wtvy] { padding: 28px; text-align: center; color: #64748b; background: #fff; border-radius: 12px; }
.admin-actions[b-my6tl7wtvy] { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.mono[b-my6tl7wtvy] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.dot[b-my6tl7wtvy] { margin: 0 6px; color: #cbd5e1; }

.board-head[b-my6tl7wtvy] { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.board-title[b-my6tl7wtvy] { font-size: 18px; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 10px; }
.board-sub[b-my6tl7wtvy] { color: #475569; font-size: 13px; margin: 4px 0 0; }
.board-actions[b-my6tl7wtvy] { display: flex; gap: 8px; }
.board-move[b-my6tl7wtvy] { display: flex; align-items: center; justify-content: space-between; gap: 16px;
              background: #fff; border-radius: 12px; padding: 14px 16px; margin-top: 14px; }
.board-move b[b-my6tl7wtvy] { font-size: 14px; }
.board-move p[b-my6tl7wtvy] { margin: 2px 0 0; color: #64748b; font-size: 12px; }
.board-move .admin-actions[b-my6tl7wtvy] { margin-top: 0; }

/* Draft against issued. The pill is the only thing that says whether the page below can still be
   changed, so it carries the same green-means-settled reading the stage pills use. */
.po-pill[b-my6tl7wtvy] { border-radius: 999px; padding: 2px 10px; font-size: 11px; font-weight: 600; }
.po-1[b-my6tl7wtvy] { background: #fef3c7; color: #92400e; }
.po-2[b-my6tl7wtvy] { background: #dcfce7; color: #166534; }

.po-none[b-my6tl7wtvy] { background: #fff; border-radius: 12px; padding: 24px; }
.po-none .po-h1[b-my6tl7wtvy] { font-size: 18px; font-weight: 700; margin: 0 0 8px; }
.po-none p[b-my6tl7wtvy] { color: #64748b; font-size: 13px; margin: 0; }

/* THE SHEET IS THE FORM. White page, generous margin, the blocks in the order the real document has
   them -- somebody checking this is reading a purchase order, not a settings screen. */
.po-sheet[b-my6tl7wtvy] { background: #fff; border-radius: 12px; padding: 22px 24px; }
.po-title[b-my6tl7wtvy] { font-size: 20px; font-weight: 800; letter-spacing: .04em; margin: 0; }
.po-company[b-my6tl7wtvy] { font-weight: 700; color: #0f172a; margin: 2px 0 16px; }

.po-parties[b-my6tl7wtvy] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;
              border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; padding: 14px 0; }
.po-party h3[b-my6tl7wtvy] { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
               color: #334155; margin: 0 0 8px; }
.po-party dl[b-my6tl7wtvy] { display: grid; grid-template-columns: minmax(110px, auto) 1fr; gap: 5px 14px; margin: 0; }
.po-party dt[b-my6tl7wtvy] { font-size: 11.5px; font-weight: 600; color: #64748b; }
.po-party dd[b-my6tl7wtvy] { margin: 0; font-size: 13px; color: #0f172a; }

/* Where a value came from, said once per block rather than per field. A buyer block that looks
   editable and is not is worse than one that says where it is edited. */
.po-src[b-my6tl7wtvy] { font-size: 11px; color: #94a3b8; margin: 10px 0 0; }

.po-section[b-my6tl7wtvy] { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
              color: #334155; margin: 18px 0 10px; }

.po-details[b-my6tl7wtvy] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.po-details label[b-my6tl7wtvy] { display: flex; flex-direction: column; gap: 4px; }
.po-details span[b-my6tl7wtvy] { font-size: 11.5px; font-weight: 600; color: #334155; }
.po-details .req[b-my6tl7wtvy] { color: #b91c1c; font-style: normal; }

.po-table[b-my6tl7wtvy] { font-size: 12.5px; margin-bottom: 0; }
.po-table th[b-my6tl7wtvy] { font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: #64748b; }
.po-table .sn[b-my6tl7wtvy] { width: 44px; }
.po-table .num[b-my6tl7wtvy] { text-align: right; white-space: nowrap; }
.po-table .hs[b-my6tl7wtvy] { width: 130px; }
.po-table .unit[b-my6tl7wtvy] { font-size: 10.5px; color: #94a3b8; margin-left: 4px; }
.po-table .muted[b-my6tl7wtvy] { color: #cbd5e1; cursor: help; }
.po-table tfoot td[b-my6tl7wtvy] { border-top: 2px solid #cbd5e1; }

.po-warn[b-my6tl7wtvy] { font-size: 12px; color: #92400e; background: #fffbeb; border-radius: 8px;
           padding: 8px 10px; margin: 10px 0 0; }

.po-warn.stop[b-my6tl7wtvy] { color: #991b1b; background: #fef2f2; border: 1px solid #fecaca; }

.po-signs[b-my6tl7wtvy] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.po-signs b[b-my6tl7wtvy] { font-size: 12.5px; color: #334155; }
.po-sign-box[b-my6tl7wtvy] { display: flex; flex-direction: column; }
.po-signature-area[b-my6tl7wtvy] { height: 60px; display: flex; align-items: flex-end; margin-top: 4px; }
.po-signature-img[b-my6tl7wtvy] { max-height: 58px; max-width: 220px; object-fit: contain; }
.po-signs .rule[b-my6tl7wtvy] { display: block; border-bottom: 1px solid #94a3b8; margin-top: 2px; max-width: 280px; }

.po-workflow-card[b-my6tl7wtvy] { margin-top: 16px; padding: 16px; border: 1px solid #cbd5e1;
                    border-radius: 12px; background: var(--cbs-surface, #fff); }
.po-workflow-head[b-my6tl7wtvy], .po-dispatch-meta[b-my6tl7wtvy], .po-upload-row[b-my6tl7wtvy] { display: flex; align-items: center;
                                                        justify-content: space-between; gap: 12px; }
.po-workflow-head p[b-my6tl7wtvy] { margin: 3px 0 0; color: #64748b; }
.po-dispatch-fields[b-my6tl7wtvy] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.po-dispatch-fields label[b-my6tl7wtvy] { display: grid; gap: 4px; }
.po-message-preview[b-my6tl7wtvy] { margin-top: 14px; }
.po-message-preview pre[b-my6tl7wtvy] { margin: 10px 0 0; white-space: pre-wrap; font: inherit; color: inherit; }
.po-dispatch-row[b-my6tl7wtvy], .po-upload-row[b-my6tl7wtvy] { margin-top: 13px; padding-top: 13px; border-top: 1px solid #e2e8f0; }
.po-dispatch-row[b-my6tl7wtvy] { display: grid; gap: 8px; }
.po-dispatch-meta[b-my6tl7wtvy] { justify-content: flex-start; flex-wrap: wrap; }
.po-recipient-line[b-my6tl7wtvy] { overflow-wrap: anywhere; }
.po-dispatch-row small[b-my6tl7wtvy] { color: #64748b; }
.po-pi-upload[b-my6tl7wtvy] { display: grid; grid-template-columns: minmax(12rem, auto) 1fr auto;
                align-items: center; gap: 12px; margin-top: 14px; }
.po-upload-row > div[b-my6tl7wtvy] { display: grid; gap: 3px; }
.po-upload-row span[b-my6tl7wtvy], .po-upload-row small[b-my6tl7wtvy] { color: #64748b; }

@media (max-width: 900px) {
    .po-parties[b-my6tl7wtvy], .po-signs[b-my6tl7wtvy] { grid-template-columns: 1fr; }
    .po-details[b-my6tl7wtvy] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .po-dispatch-fields[b-my6tl7wtvy], .po-pi-upload[b-my6tl7wtvy] { grid-template-columns: 1fr; }
    .po-workflow-head[b-my6tl7wtvy], .po-upload-row[b-my6tl7wtvy] { align-items: flex-start; flex-direction: column; }
}

/* Editable draft lines: quantity and its unit side by side, units per case narrow. */
.po-table .qty-edit[b-my6tl7wtvy] { display: flex; gap: 4px; justify-content: flex-end; }
.po-table .qty-edit .form-control[b-my6tl7wtvy] { width: 96px; text-align: right; }
.po-table .qty-edit .form-select[b-my6tl7wtvy] { width: auto; min-width: 70px; padding-right: 1.6rem; }
.po-table .form-control.upc[b-my6tl7wtvy] { width: 72px; margin-left: auto; text-align: right; }

/* Issue while something is missing: looks disabled, but a click still says what is missing. */
.btn.is-blocked[b-my6tl7wtvy] { opacity: .55; cursor: not-allowed; }
/* /Components/Pages/PiUpload.razor.rz.scp.css */
.pi-public[b-3gourxcpha] { min-height: 100vh; display: grid; place-items: center; padding: 24px;
             background: #e8eef5; color: #172033; }
.pi-public-card[b-3gourxcpha] { width: min(620px, 100%); padding: 28px; border-top: 5px solid #c51f30;
                  border-radius: 12px; background: #fff; box-shadow: 0 18px 48px rgba(25, 47, 78, .16); }
.pi-public header[b-3gourxcpha] { display: flex; align-items: center; gap: 16px; padding-bottom: 18px;
                    border-bottom: 1px solid #dbe4ee; }
.pi-public header img[b-3gourxcpha] { width: 76px; max-height: 64px; object-fit: contain; }
.pi-public header span[b-3gourxcpha] { color: #315b86; font-weight: 700; }
.pi-public h1[b-3gourxcpha] { margin: 3px 0 0; color: #123f6c; font-size: 1.55rem; }
.pi-public dl[b-3gourxcpha] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.pi-public dl div[b-3gourxcpha] { padding: 10px 12px; border-radius: 8px; background: #edf4fb; }
.pi-public dt[b-3gourxcpha] { color: #64748b; font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; }
.pi-public dd[b-3gourxcpha] { margin: 3px 0 0; font-weight: 650; }
.pi-drop[b-3gourxcpha] { display: grid; gap: 7px; padding: 18px; margin: 18px 0 12px; border: 1px dashed #7c9bbb;
           border-radius: 9px; background: #f7fbff; }
.pi-public small[b-3gourxcpha] { color: #64748b; }
.pi-public ul[b-3gourxcpha] { margin: 10px 0; padding-left: 20px; }
.pi-state[b-3gourxcpha] { text-align: center; padding: 24px 8px; }
@media (max-width: 560px) { .pi-public dl[b-3gourxcpha] { grid-template-columns: 1fr; } .pi-public-card[b-3gourxcpha] { padding: 20px; } }
/* /Components/Pages/Portal/ClientPortal.razor.rz.scp.css */
/* Client portal -- the only page an EXTERNAL client sees (0084).
   Deliberately calmer than the internal admin screens: no dense table chrome, no .admin-* shell. An
   outside reader gets a short, legible card stack rather than an operations console. */
.portal-page[b-8qg9cxpntr]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.portal-loading[b-8qg9cxpntr]{color:#7b8798;font-size:.78rem;padding:1rem}

.portal-card[b-8qg9cxpntr]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);padding:1.1rem 1.25rem;margin-bottom:1rem}
.portal-card-head[b-8qg9cxpntr]{margin-bottom:.7rem}
.portal-card-head h3[b-8qg9cxpntr]{font-size:.82rem;color:var(--brand-navy);margin:0 0 .15rem}
.portal-card-head span[b-8qg9cxpntr]{display:block;font-size:.68rem;color:#7b8798;line-height:1.5}

.portal-identity h2[b-8qg9cxpntr]{font-size:1.05rem;color:#1d3f72;margin:0}
.portal-nepali[b-8qg9cxpntr]{display:block;font-size:.8rem;color:#5b8fc9;line-height:1.6;margin-top:.1rem}

/* A definition list, not a table: these are a handful of facts about one entity. */
.portal-facts[b-8qg9cxpntr]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin:1rem 0 0}
.portal-facts>div[b-8qg9cxpntr]{min-width:0}
.portal-facts dt[b-8qg9cxpntr]{font-size:.66rem;color:#8a97a8;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}
.portal-facts dd[b-8qg9cxpntr]{font-size:.8rem;color:#334155;margin:0;word-break:break-word}
.portal-panvat[b-8qg9cxpntr]{font-variant-numeric:tabular-nums;letter-spacing:.02em}

.portal-people[b-8qg9cxpntr]{list-style:none;margin:0;padding:0}
.portal-people li[b-8qg9cxpntr]{padding:.5rem 0;border-bottom:1px solid #eef2f7}
.portal-people li:last-child[b-8qg9cxpntr]{border-bottom:0}
.portal-person-name[b-8qg9cxpntr]{font-size:.8rem;color:#26364a;font-weight:600}
.portal-person-role[b-8qg9cxpntr]{font-size:.68rem;color:#8a97a8;margin-left:.4rem}
.portal-primary[b-8qg9cxpntr]{display:inline-block;margin-left:.4rem;font-size:.6rem;font-weight:700;color:#166534;background:#dcfce7;border-radius:999px;padding:.05rem .45rem}
.portal-reach[b-8qg9cxpntr]{display:block;font-size:.68rem;color:#8a97a8;margin-top:.1rem}
.portal-empty[b-8qg9cxpntr]{margin:0;padding:.9rem;text-align:center;color:#7b8798;font-size:.7rem;border:1px dashed #cbd8e6;border-radius:10px;background:#fbfdff}

@media(max-width:650px){
  .portal-page[b-8qg9cxpntr]{padding:.75rem}
  .portal-facts[b-8qg9cxpntr]{grid-template-columns:1fr}
}
/* /Components/Pages/Profile/Profile.razor.rz.scp.css */
/* Identity header. Originally copied from EmployeeDetails.razor.css (Blazor scoped CSS cannot reach
   another component's markup), now restyled as the page's hero card. Initials, not a photo -- this
   app stores no employee image anywhere. Colours come from theme.css tokens so dark mode follows. */
.uranus-profile-head[b-ygrq7h8xb2]{position:relative;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;
  padding:1.35rem 1.4rem;margin-bottom:1rem;border:1px solid var(--rule,#d9e2ec);border-radius:16px;overflow:hidden;
  background:
    radial-gradient(circle at 92% -20%,rgba(255,255,255,.16) 0 32%,transparent 33%),
    radial-gradient(circle at 78% 130%,rgba(255,255,255,.10) 0 26%,transparent 27%),
    linear-gradient(120deg,var(--brand-navy-dark,#1b4077) 0%,var(--brand-navy,#285eaa) 62%,#3a78c9 100%);
  box-shadow:0 14px 34px rgba(24,58,104,.18)}
/* Red accent rail -- the same brand accent the shell's nav bar carries. */
.uranus-profile-head[b-ygrq7h8xb2]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--brand-red,#e5252a),rgba(229,37,42,0))}
.uranus-profile-id[b-ygrq7h8xb2]{display:flex;align-items:center;gap:1.05rem;min-width:0;flex:1 1 260px}
.uranus-profile-avatar[b-ygrq7h8xb2]{display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;border-radius:50%;
  background:linear-gradient(145deg,#ffffff,#e3ecf8);color:var(--brand-navy,#285eaa);
  font-size:1.35rem;font-weight:800;letter-spacing:.03em;
  box-shadow:0 0 0 4px rgba(255,255,255,.22),0 8px 20px rgba(3,20,45,.3)}
.uranus-profile-id h1[b-ygrq7h8xb2]{margin:0;font-size:1.3rem;font-weight:800;color:#fff;line-height:1.2;letter-spacing:-.01em;
  overflow:hidden;text-overflow:ellipsis}
.uranus-profile-id p[b-ygrq7h8xb2]{display:inline-flex;align-items:center;margin:.4rem 0 0;padding:.22rem .65rem;border-radius:999px;
  font-size:.72rem;font-weight:650;color:#eaf2ff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}

/* Tabs sit on the workspace directly under the hero. */
.uranus-page-toolbar[b-ygrq7h8xb2]{margin-bottom:.85rem}

/* Content card that holds both tabs' fact grids. */
.uranus-content.single[b-ygrq7h8xb2]{padding:1.25rem;border:1px solid var(--rule,#d9e2ec);border-radius:14px;
  background:var(--surface,#fff);box-shadow:var(--shadow,0 12px 32px rgba(28,52,84,.08))}

/* Fact tiles. Fact() builds its markup in C#, which carries no scope attribute, so ::deep is needed. */
.uranus-content[b-ygrq7h8xb2]  .uranus-view-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.uranus-content[b-ygrq7h8xb2]  .uranus-view-field{position:relative;display:flex;flex-direction:column;gap:.35rem;min-width:0;
  padding:.8rem .95rem .85rem 1.1rem;border:1px solid var(--rule,#d9e2ec);border-radius:11px;
  background:var(--surface-2,#f5f8fc);transition:border-color .15s,box-shadow .15s,transform .15s}
.uranus-content[b-ygrq7h8xb2]  .uranus-view-field::before{content:"";position:absolute;left:0;top:.8rem;bottom:.8rem;width:3px;
  border-radius:0 3px 3px 0;background:var(--brand-navy,#285eaa);opacity:.55}
.uranus-content[b-ygrq7h8xb2]  .uranus-view-field:hover{border-color:#b9cbe2;box-shadow:0 6px 16px rgba(28,52,84,.08);transform:translateY(-1px)}
.uranus-content[b-ygrq7h8xb2]  .uranus-view-field label{margin:0;font-size:.64rem;font-weight:750;letter-spacing:.07em;
  text-transform:uppercase;color:var(--text-muted,#6d7786)}
.uranus-content[b-ygrq7h8xb2]  .uranus-view-field span{font-size:.9rem;font-weight:650;color:var(--text,#202a3a);
  overflow-wrap:anywhere;line-height:1.3}

.profile-empty[b-ygrq7h8xb2]{display:flex;align-items:center;gap:.5rem;margin:0;padding:1rem;border:1px dashed var(--input-border,#c4cdda);
  border-radius:11px;font-size:.82rem;color:var(--text-muted,#6d7786);background:var(--surface-2,#f5f8fc)}

/* ---- Acme ERP link status (0089) ---- */
.profile-acme-section[b-ygrq7h8xb2]{margin-top:1.1rem;padding:.95rem 1.05rem;border:1px solid var(--rule,#d9e2ec);border-radius:12px;
  background:linear-gradient(180deg,var(--accent-blue-soft,#edf4fd),var(--surface,#fff))}
.profile-acme-status[b-ygrq7h8xb2]{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;font-size:.8rem;font-weight:600;color:var(--text,#334155)}
.profile-acme-status .status-pill[b-ygrq7h8xb2]{padding:.28rem .7rem;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}
.profile-acme-sync[b-ygrq7h8xb2]{display:inline-flex;align-items:center;gap:.45rem;margin-top:.65rem;padding:.35rem .7rem;border-radius:8px;
  font-size:.72rem;font-weight:600}
.profile-acme-sync.ok[b-ygrq7h8xb2]{color:#166534;background:#e8f8ee}
.profile-acme-sync.error[b-ygrq7h8xb2]{color:#b91c1c;background:#fff1f2}

/* Actions: compact, right-aligned, with clear primary emphasis. */
.profile-security-action[b-ygrq7h8xb2]{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;
  padding-top:1rem;border-top:1px solid var(--rule,#e8edf3)}
.profile-security-action .btn[b-ygrq7h8xb2],.uranus-modal footer .btn[b-ygrq7h8xb2]{display:inline-flex;align-items:center;gap:.2rem;
  padding:.5rem 1rem;border-radius:9px;font-size:.8rem;font-weight:700;transition:transform .12s,box-shadow .15s,background-color .15s}
.profile-security-action .btn:hover[b-ygrq7h8xb2],.uranus-modal footer .btn:hover[b-ygrq7h8xb2]{transform:translateY(-1px)}
.profile-security-action .btn-outline-primary[b-ygrq7h8xb2]{border-color:transparent;color:#fff;
  background:linear-gradient(135deg,var(--brand-navy,#285eaa),var(--brand-navy-dark,#1b4077));box-shadow:0 6px 16px rgba(40,94,170,.28)}
.profile-security-action .btn-outline-primary:hover[b-ygrq7h8xb2]{color:#fff;box-shadow:0 10px 22px rgba(40,94,170,.36)}
.profile-security-action .btn-outline-secondary[b-ygrq7h8xb2]{color:var(--brand-navy,#285eaa);border-color:#b9cbe2;background:var(--surface,#fff)}
.profile-security-action .btn-outline-secondary:hover[b-ygrq7h8xb2]{color:var(--brand-navy,#285eaa);background:var(--accent-blue-soft,#edf4fd);border-color:var(--brand-navy,#285eaa)}

@media (max-width:900px){
  .uranus-content[b-ygrq7h8xb2]  .uranus-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .uranus-profile-head[b-ygrq7h8xb2]{padding:1.1rem}
  .uranus-profile-avatar[b-ygrq7h8xb2]{flex-basis:54px;width:54px;height:54px;font-size:1.1rem}
  .uranus-content.single[b-ygrq7h8xb2]{padding:.9rem}
  .uranus-content[b-ygrq7h8xb2]  .uranus-view-grid{grid-template-columns:1fr}
  .profile-security-action .btn[b-ygrq7h8xb2]{flex:1 1 auto;justify-content:center}
}

/* Modal shell -- the FIFTH copy of this block (UserSetup, DepartmentSetup, ProductSetup, GlobalSetup
   carry the other four). ConfirmDialog.razor is the only shared dialog component and its body is a
   plain string, so it cannot host these fields. Promoting the block to theme.css and collapsing all
   five is the real fix and is deliberately not done here: it would drag four unrelated setup screens
   into this branch. Recorded in docs/profile-page/plan.md. */
.uranus-modal-backdrop[b-ygrq7h8xb2]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.55);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(3px)}
.uranus-modal[b-ygrq7h8xb2]{width:min(520px,100%);background:var(--surface,#fff);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.3);overflow:hidden}
.uranus-modal.small[b-ygrq7h8xb2]{width:min(440px,100%)}
.uranus-modal header[b-ygrq7h8xb2]{display:flex;justify-content:space-between;align-items:flex-start;padding:1.05rem 1.2rem;
  background:linear-gradient(120deg,var(--brand-navy-dark,#1b4077),var(--brand-navy,#285eaa));border-bottom:3px solid var(--brand-red,#e5252a)}
.uranus-modal header h3[b-ygrq7h8xb2]{font-size:1.02rem;font-weight:750;color:#fff;margin:0}
.uranus-modal header p[b-ygrq7h8xb2]{font-size:.72rem;color:#d5e3f7;margin:.25rem 0 0}
.uranus-modal header button[b-ygrq7h8xb2]{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;transition:background-color .15s}
.uranus-modal header button:hover[b-ygrq7h8xb2]{background:rgba(255,255,255,.24)}
.modal-content-body[b-ygrq7h8xb2]{padding:1.2rem}
.modal-content-body label[b-ygrq7h8xb2]{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#6d7786)}
.modal-content-body .form-control[b-ygrq7h8xb2]{border-radius:9px;padding:.55rem .75rem}
.modal-content-body .form-control:focus[b-ygrq7h8xb2]{border-color:var(--brand-navy,#285eaa);box-shadow:0 0 0 3px rgba(40,94,170,.16)}
.uranus-modal footer[b-ygrq7h8xb2]{display:flex;justify-content:flex-end;gap:.5rem;padding:.9rem 1.2rem;background:var(--surface-2,#f7f9fc);border-top:1px solid var(--rule,#e8edf3)}

/* Failures report inside the modal and leave the fields populated, so a mistyped password is corrected
   rather than retyped -- the same reasoning as the reset-password block on User Setup. */
.pw-error[b-ygrq7h8xb2]{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem .75rem;margin-bottom:.8rem;border-radius:9px;border-left:3px solid #e11d48;background:#fff1f2;color:#9f1239;font-size:.75rem;line-height:1.35}
.pw-error i[b-ygrq7h8xb2]{font-size:.95rem;flex-shrink:0;margin-top:.05rem}
.pw-rule[b-ygrq7h8xb2]{font-size:.72rem;color:var(--text-muted);margin:0 0 .9rem;padding:.55rem .7rem;border-radius:8px;background:var(--accent-blue-soft,#edf4fd);line-height:1.4}
/* /Components/Pages/ProformaInvoices/ProformaInvoiceDetail.razor.rz.scp.css */
/* The .admin-* block is duplicated per component, for the reason ClientSetup.razor.css records:
   Blazor CSS isolation scopes every rule to its own component and theme.css does not define these. */
.admin-page[b-3rkq7vcirs]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-3rkq7vcirs],.admin-list-card[b-3rkq7vcirs]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-form-card[b-3rkq7vcirs]{padding:1rem}
.admin-actions[b-3rkq7vcirs]{display:flex;gap:.5rem}
.ds-empty[b-3rkq7vcirs]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}

/* ---- Collapsible panels ----
   The reference sections start closed — nobody arrives at this page to read twenty-eight header
   fields. The two that carry the work open themselves: the stickers, which the verification is a
   judgement about, and the findings, whenever something is blocking. The summary carries a count so
   a closed panel still answers "is there anything in here?". */
.pi-panel[b-3rkq7vcirs]{padding:0}
.pi-panel>summary[b-3rkq7vcirs]{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;cursor:pointer;list-style:none;
  padding:.85rem 1rem;border-bottom:1px solid transparent;background:linear-gradient(90deg,#eaf2fb,#f7faff);
  user-select:none}
.pi-panel[open]>summary[b-3rkq7vcirs]{border-bottom-color:#d6e1ed}
.pi-panel>summary[b-3rkq7vcirs]::-webkit-details-marker{display:none}
.pi-panel>summary[b-3rkq7vcirs]::before{content:"▸";color:#5b8fc9;font-size:.8rem;line-height:1;transition:transform .12s ease}
.pi-panel[open]>summary[b-3rkq7vcirs]::before{transform:rotate(90deg)}
.pi-panel>summary:hover[b-3rkq7vcirs]{background:#e6f0fb}
.pi-panel-title[b-3rkq7vcirs]{font-size:.9rem;font-weight:700;color:var(--brand-navy,#1d3f72)}
.pi-panel-note[b-3rkq7vcirs]{font-size:.68rem;color:var(--text-muted,#7b8798)}
.pi-panel>*:not(summary)[b-3rkq7vcirs]{margin-inline:1rem}
.pi-panel>*:not(summary):first-of-type[b-3rkq7vcirs]{margin-top:1rem}
.pi-panel>*:not(summary):last-child[b-3rkq7vcirs]{margin-bottom:1rem}
.pi-panel>.table-responsive[b-3rkq7vcirs]{margin-inline:0}
.pi-panel-tool[b-3rkq7vcirs]{display:flex;justify-content:flex-end;align-items:flex-end;gap:.5rem;flex-wrap:wrap}
/* The filter is not an action: it sits at the far left, away from the buttons that send things. */
.pi-panel-tool label[b-3rkq7vcirs]{display:grid;gap:.3rem;font-size:.7rem;color:#475569;font-weight:700;margin-right:auto}
.pi-panel-tool select[b-3rkq7vcirs]{min-width:13rem}

.pi-panel-tool .pi-tool-note[b-3rkq7vcirs]{margin:0 auto 0 0;align-self:center;font-size:.68rem;font-weight:400;color:var(--text-muted,#7b8798)}

/* ---- Status strip ----
   Outside the panels and never folded: it decides whether regulatory labels can be printed or sent.
   It carries the three states that used to be scattered across the page — verification, findings,
   sticker readiness — and then the one sentence saying what to do next. */
.pi-status[b-3rkq7vcirs]{display:grid;gap:.6rem;border:1px solid #cbd8e6;border-left-width:4px;border-radius:13px;
  padding:.8rem 1rem;background:#fff}
.pi-status-row[b-3rkq7vcirs]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.pi-status-facts[b-3rkq7vcirs]{display:flex;gap:1.9rem;flex-wrap:wrap}
.pi-status-facts>div[b-3rkq7vcirs]{display:grid;gap:.15rem}
.pi-status-facts span[b-3rkq7vcirs]{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  color:var(--text-muted,#7b8798)}
.pi-status-facts b[b-3rkq7vcirs]{font-size:.84rem;color:var(--brand-navy,#1d3f72)}
.pi-status-next[b-3rkq7vcirs]{margin:0;border-top:1px solid #e6edf5;padding-top:.6rem;font-size:.72rem;color:#475569;line-height:1.55}
.pi-status-next b[b-3rkq7vcirs]{color:var(--brand-navy,#1d3f72);margin-right:.35rem}
/* 1 Draft, 2 Reviewed, 3 Rejected. Only the verdict takes the colour; the other facts stay neutral
   so the strip reads as one state, not three competing ones. */
.pi-status-1[b-3rkq7vcirs]{border-left-color:#d97706}
.pi-status-1 .pi-verdict[b-3rkq7vcirs]{color:#92400e}
.pi-status-2[b-3rkq7vcirs]{border-left-color:#16a34a}
.pi-status-2 .pi-verdict[b-3rkq7vcirs]{color:#166534}
.pi-status-3[b-3rkq7vcirs]{border-left-color:#dc2626}
.pi-status-3 .pi-verdict[b-3rkq7vcirs]{color:#991b1b}

.pi-detail[b-3rkq7vcirs]{display:grid;gap:1rem}
.pi-toolbar[b-3rkq7vcirs],.pi-section-head[b-3rkq7vcirs]{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pi-toolbar>div:first-child[b-3rkq7vcirs],.pi-section-head>div[b-3rkq7vcirs]{display:grid}
.pi-toolbar span[b-3rkq7vcirs],.pi-section-head span[b-3rkq7vcirs]{color:var(--bs-secondary-color);font-size:.85rem}
/* Which file arrived and when: reference, not work, so it is quiet and on the title line. */
.pi-toolbar .pi-provenance[b-3rkq7vcirs]{font-size:.68rem;color:var(--text-muted,#7b8798)}
.pi-progress[b-3rkq7vcirs]{display:flex;gap:1rem;align-items:center}
.pi-progress p[b-3rkq7vcirs]{margin:0}
.pi-header-grid[b-3rkq7vcirs]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.pi-header-grid label[b-3rkq7vcirs],.pi-email-grid label[b-3rkq7vcirs]{display:grid;gap:.3rem}
.pi-header-grid .wide[b-3rkq7vcirs]{grid-column:span 2}
.status-select[b-3rkq7vcirs]{width:auto}
.pi-lines textarea[b-3rkq7vcirs]{min-width:240px;min-height:58px}
.pi-lines small[b-3rkq7vcirs]{display:block;color:var(--bs-secondary-color)}
/* Three columns now, so the sticker fields get room instead of a horizontal scrollbar. Fixed layout
   is what keeps it that way: the per-line drawer holds a <pre> of raw JSON with no spaces to break
   on, and under auto layout its max-content width stretched every sibling — opening one drawer took
   the table to 2594px and put 1252px of horizontal scroll back. With fixed widths nothing inside a
   cell can dictate the table, and the <pre> scrolls in its own box as it already did. */
.pi-lines[b-3rkq7vcirs]{table-layout:fixed;width:100%}
.pi-lines th:nth-child(1)[b-3rkq7vcirs]{width:13%}
.pi-lines th:nth-child(2)[b-3rkq7vcirs]{width:37%}
.pi-lines th:nth-child(3)[b-3rkq7vcirs]{width:50%}
.pi-lines td[b-3rkq7vcirs]{overflow-wrap:anywhere}
.pi-master-row td[b-3rkq7vcirs]{padding-top:0}
.pi-master-row pre[b-3rkq7vcirs]{overflow-wrap:anywhere}
/* The reconciliation figures, demoted into the per-line drawer but still correctable. */
.pi-commercial[b-3rkq7vcirs]{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.6rem;margin:.75rem 0}
.pi-commercial label[b-3rkq7vcirs],.pi-commercial>span[b-3rkq7vcirs]{display:grid;gap:.25rem;align-content:start;font-size:.7rem;
  color:#475569;font-weight:700}
.pi-commercial b[b-3rkq7vcirs]{font-size:.82rem;color:var(--brand-navy,#1d3f72)}
.pi-commercial small[b-3rkq7vcirs]{color:var(--text-muted,#7b8798);font-weight:400}
.master-grid[b-3rkq7vcirs]{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.75rem 0}
.master-grid span[b-3rkq7vcirs]{display:grid}
.pi-master-row pre[b-3rkq7vcirs]{white-space:pre-wrap;max-height:160px;overflow:auto;font-size:.72rem}
.pi-findings[b-3rkq7vcirs]{display:grid;gap:.45rem;padding-left:1.1rem}
.pi-findings .blocking[b-3rkq7vcirs]{color:#842029}
.pi-findings .advisory[b-3rkq7vcirs]{color:#664d03}
.brand-heading[b-3rkq7vcirs]{margin:1rem 0 .5rem;font-size:1rem;color:var(--hnbg-blue,#234f7d)}
.sticker-grid[b-3rkq7vcirs]{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1rem}
.sticker-card[b-3rkq7vcirs]{border:1px solid var(--bs-border-color);border-radius:.5rem;padding:.75rem;display:grid;gap:.5rem;align-content:start}
.sticker-card>div[b-3rkq7vcirs]{display:grid}
.sticker-card iframe[b-3rkq7vcirs]{display:block;width:min(100%,148mm);height:auto;aspect-ratio:148/210;margin-inline:auto;border:1px solid #ccd4df;background:#fff}
.pi-email-grid[b-3rkq7vcirs]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.dispatch-row[b-3rkq7vcirs]{display:grid;border-top:1px solid var(--bs-border-color);padding:.6rem 0;margin-top:.6rem}
/* On a phone, fixed layout alone squeezes the first column to 40px — too narrow to type a JAN code
   into. Give the table a 720px floor and let .table-responsive scroll it, which is what that wrapper
   is for: the scrolling stays inside the panel and the page body never moves sideways. */
@media(max-width:900px){.pi-header-grid[b-3rkq7vcirs],.pi-email-grid[b-3rkq7vcirs]{grid-template-columns:1fr}.pi-header-grid .wide[b-3rkq7vcirs]{grid-column:auto}.pi-toolbar[b-3rkq7vcirs],.pi-section-head[b-3rkq7vcirs]{align-items:flex-start;flex-direction:column}.master-grid[b-3rkq7vcirs]{grid-template-columns:1fr}.pi-status-facts[b-3rkq7vcirs]{gap:1.1rem}.pi-lines[b-3rkq7vcirs]{min-width:720px}.pi-lines textarea[b-3rkq7vcirs]{min-width:0}.pi-panel-tool label[b-3rkq7vcirs]{margin-right:0;width:100%}.pi-panel-tool select[b-3rkq7vcirs]{min-width:0;width:100%}}

/* Says why the e-mail form is greyed out, instead of leaving it silently disabled. */
.pi-readonly-note[b-3rkq7vcirs] { font-size: .78rem; color: #92400e; background: #fffbeb; border: 1px solid #fcd34d; border-radius: 8px; padding: .5rem .7rem; margin: .25rem 0 .75rem; }

/* 0179: verifying despite blocking findings is a deliberate, recorded step. */
.pi-override[b-3rkq7vcirs]{margin:10px 0;padding:10px 12px;border:1px solid #fecaca;background:#fef2f2;border-radius:8px;font-size:13px;color:#7f1d1d}
.pi-override p[b-3rkq7vcirs]{margin:0 0 6px}
.pi-override-tick[b-3rkq7vcirs]{display:flex;gap:6px;align-items:center;margin:0 0 6px;font-weight:600}
.pi-override textarea[b-3rkq7vcirs]{margin-bottom:8px}
.pi-override-note[b-3rkq7vcirs]{margin:8px 0 0;font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:6px 10px}
/* /Components/Pages/ProformaInvoices/ProformaInvoiceList.razor.rz.scp.css */
/* Draft proforma invoice list.

   The .admin-* block is duplicated rather than shared, for the reason ClientSetup.razor.css records:
   Blazor CSS isolation scopes every rule to its own component and theme.css does not define these, so
   a page without its own copy renders unstyled. This page had no copy -- the filter row collapsed into
   a vertical stack and the search icon sat on top of its own placeholder. Palette values are the HNBG
   admin values reused verbatim, so this screen matches ClientSetup, SupplierSetup and OfferList. */

/* ---- Workspace and cards ---- */
.admin-page[b-t72ww2z70x]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-t72ww2z70x],.admin-list-card[b-t72ww2z70x]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}

/* ---- List head and its tools ---- */
.admin-list-head[b-t72ww2z70x]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-t72ww2z70x]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-t72ww2z70x]{font-size:.68rem;color:var(--text-muted)}
.admin-list-head>div:first-child[b-t72ww2z70x]{display:flex;flex-direction:column;gap:.2rem}
.admin-list-tools[b-t72ww2z70x]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}

.admin-search[b-t72ww2z70x]{position:relative}
.admin-search i[b-t72ww2z70x]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-t72ww2z70x]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-t72ww2z70x]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Empty and loading states ---- */
.ds-empty[b-t72ww2z70x]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-t72ww2z70x]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-t72ww2z70x]{color:#1d3f72;font-size:.82rem}

/* ---- Upload card ---- */
.pi-upload-card[b-t72ww2z70x]{margin-bottom:1rem;padding:1rem}
.pi-upload-grid[b-t72ww2z70x]{display:grid;grid-template-columns:minmax(260px,2fr) minmax(220px,1fr) minmax(220px,1fr) auto;gap:.75rem;align-items:end}
.pi-upload-grid label[b-t72ww2z70x]{display:grid;gap:.35rem}
.pi-upload-grid label>span[b-t72ww2z70x]{font-size:.7rem;color:#475569;font-weight:700}
.pi-upload-grid .req[b-t72ww2z70x]{color:#dc3545;font-style:normal}
.pi-upload-grid .form-select[b-t72ww2z70x],.pi-upload-grid .form-control[b-t72ww2z70x]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.pi-upload-grid .form-select:focus[b-t72ww2z70x],.pi-upload-grid .form-control:focus[b-t72ww2z70x]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.pi-upload-grid button[b-t72ww2z70x]{min-height:36px;white-space:nowrap}

/* ---- Filters ---- */
/* Wide enough for "All extraction states", which is the longest label and was being clipped. */
.pi-filters select[b-t72ww2z70x]{width:auto;min-width:168px}

/* ---- Table ---- */
.pi-list-table[b-t72ww2z70x]{font-size:.72rem;margin:0}
.pi-list-table th[b-t72ww2z70x]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.65rem .85rem}
.pi-list-table td[b-t72ww2z70x]{vertical-align:middle;color:#334155;padding:.7rem .85rem;border-color:#eef2f7}
.pi-list-table td strong[b-t72ww2z70x]{color:#1d3f72;font-weight:750}
.pi-list-table td small[b-t72ww2z70x]{display:block;color:#8a97a8;font-size:.63rem;margin-top:.15rem}
.offer-row[b-t72ww2z70x]{cursor:pointer}
.offer-row:hover td[b-t72ww2z70x]{background:#e6f0fb}

.pi-state[b-t72ww2z70x]{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:700;white-space:nowrap}
.pi-1[b-t72ww2z70x],.pi-2[b-t72ww2z70x]{background:#fff3cd;color:#664d03}
.pi-3[b-t72ww2z70x]{background:#d1e7dd;color:#0f5132}
.pi-4[b-t72ww2z70x]{background:#f8d7da;color:#842029}

@media(max-width:1000px){
  .pi-upload-grid[b-t72ww2z70x]{grid-template-columns:1fr}
  .pi-upload-grid button[b-t72ww2z70x]{justify-self:start}
}
@media(max-width:650px){
  .admin-page[b-t72ww2z70x]{padding:.75rem}
  .admin-list-head[b-t72ww2z70x]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-search[b-t72ww2z70x],.admin-search input[b-t72ww2z70x]{width:100%}
  .pi-filters select[b-t72ww2z70x]{width:100%}
}
/* /Components/Pages/PurchaseOrders/PurchaseOrderList.razor.rz.scp.css */
/* The .admin-* block is duplicated per component, for the reason ClientSetup.razor.css records:
   Blazor CSS isolation scopes every rule to its own component and theme.css does not define these, so
   a page without its own copy renders unstyled. Included from the start here rather than discovered
   later in the browser, which is how both draft PI pages shipped without their card chrome. */
.admin-page[b-s2lhbky32w]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-list-card[b-s2lhbky32w]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08);overflow:hidden}
.admin-list-head[b-s2lhbky32w]{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-s2lhbky32w]{font-size:.9rem;color:var(--brand-navy,#1d3f72);margin:0}
.admin-list-head span[b-s2lhbky32w]{font-size:.68rem;color:var(--text-muted,#7b8798)}
.admin-list-head>div:first-child[b-s2lhbky32w]{display:flex;flex-direction:column;gap:.2rem}

.ds-empty[b-s2lhbky32w]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.1rem 1.25rem;text-align:center}
.ds-empty .bi[b-s2lhbky32w]{font-size:1.5rem;color:#a9c0da;margin-bottom:.15rem}
.ds-empty strong[b-s2lhbky32w]{color:#1d3f72;font-size:.82rem}
.ds-empty span[b-s2lhbky32w]{color:#7b8798;font-size:.7rem;line-height:1.55;max-width:52ch}

.admin-list-tools[b-s2lhbky32w]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.admin-search[b-s2lhbky32w]{position:relative}
.admin-search i[b-s2lhbky32w]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-s2lhbky32w]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:210px}
.admin-search input:focus[b-s2lhbky32w]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}
/* Wide enough for "All offer stages" and "Draft PI: not received", which clipped at the default. */
.po-filters select[b-s2lhbky32w]{width:auto;min-width:150px}

.po-table[b-s2lhbky32w]{font-size:.72rem;margin:0}
.po-table th[b-s2lhbky32w]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8;padding:.65rem .85rem}
.po-table td[b-s2lhbky32w]{vertical-align:middle;color:#334155;padding:.7rem .85rem;border-color:#eef2f7}
.po-table td strong[b-s2lhbky32w]{color:#1d3f72;font-weight:750}
.po-table td small[b-s2lhbky32w]{display:block;color:#8a97a8;font-size:.63rem;margin-top:.15rem}
.po-table .num[b-s2lhbky32w]{text-align:right;white-space:nowrap}
.po-col-open[b-s2lhbky32w]{width:46px;text-align:center}
.offer-row[b-s2lhbky32w]{cursor:pointer}
.offer-row:hover td[b-s2lhbky32w]{background:#e6f0fb}

.po-state[b-s2lhbky32w]{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:700;white-space:nowrap}
.po-1[b-s2lhbky32w]{background:#f1f5f9;color:#64748b}
.po-2[b-s2lhbky32w]{background:#dcfce7;color:#166534}
.po-have[b-s2lhbky32w]{color:#166534;font-weight:700}
.po-none[b-s2lhbky32w]{color:#8a97a8}

.stage-pill[b-s2lhbky32w]{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.62rem;font-weight:750;white-space:nowrap}
.stage-1[b-s2lhbky32w]{background:#dbeafe;color:#1e40af}
.stage-2[b-s2lhbky32w]{background:#f1f5f9;color:#64748b}
.stage-3[b-s2lhbky32w]{background:#ffedd5;color:#9a3412}
.stage-4[b-s2lhbky32w]{background:#fef3c7;color:#92400e}
.stage-5[b-s2lhbky32w]{background:#ede9fe;color:#5b21b6}
.stage-6[b-s2lhbky32w]{background:#dcfce7;color:#166534}

@media(max-width:650px){
  .admin-page[b-s2lhbky32w]{padding:.75rem}
  .admin-list-head[b-s2lhbky32w]{flex-direction:column;align-items:stretch}
  .admin-search[b-s2lhbky32w],.admin-search input[b-s2lhbky32w],.po-filters select[b-s2lhbky32w]{width:100%}
}
/* /Components/Pages/Staff/EmployeeDetails.razor.rz.scp.css */
/* Identity, the four facts worth knowing before opening a tab, and the two things you might do next
   -- in that reading order, wrapping to stacked when the row runs out of width. */
.uranus-profile-head[b-747f64lbbu]{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;
  padding:1rem 1.15rem;margin-bottom:.85rem;border:1px solid #cbd8e6;border-radius:13px;background:#fff;
  box-shadow:0 6px 20px rgba(29,62,104,.06)}
.uranus-profile-id[b-747f64lbbu]{display:flex;align-items:center;gap:.9rem;min-width:0;flex:1 1 260px}
/* Initials, not a photo: this app stores no employee image anywhere, and a grey silhouette in every
   row would say less than two letters that actually differ between people. */
.uranus-profile-avatar[b-747f64lbbu]{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-navy,#285eaa),#1b4077);color:#fff;font-size:1.05rem;font-weight:750;letter-spacing:.02em}
.uranus-profile-id h1[b-747f64lbbu]{margin:0;font-size:1.12rem;font-weight:750;color:var(--brand-navy,#285eaa);line-height:1.2}
.uranus-profile-id p[b-747f64lbbu]{margin:.2rem 0 .35rem;font-size:.78rem;color:#5b6b80}

/* A definition list because that is what this is -- four labelled facts, not a form and not a table. */
.uranus-profile-facts[b-747f64lbbu]{display:flex;gap:1.75rem;flex-wrap:wrap;margin:0;flex:1 1 auto}
.uranus-profile-facts>div[b-747f64lbbu]{min-width:0}
.uranus-profile-facts dt[b-747f64lbbu]{font-size:.63rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:#8593a6}
.uranus-profile-facts dd[b-747f64lbbu]{margin:.2rem 0 0;font-size:.82rem;font-weight:650;color:#26344a}
.uranus-profile-actions[b-747f64lbbu]{display:flex;gap:.5rem;flex:0 0 auto}

/* .uranus-view-grid / .uranus-view-field live in the global stylesheet, not here. Blazor stamps a
   component's scope attribute onto elements written as .razor markup at compile time -- elements
   emitted from C# via RenderTreeBuilder never receive it, so a scoped rule cannot reach them. This
   page's Field() helper builds each field in code (the same way StaffInfo's TextField/DateField do),
   which is why .uranus-field already sits in theme.css too. Scoping these here made every label
   render as unstyled inline text running straight into its value. */

@media(max-width:600px){
  .uranus-profile-actions[b-747f64lbbu]{flex:1 1 100%}
  .uranus-profile-actions .btn[b-747f64lbbu]{flex:1}
}
/* /Components/Pages/Staff/EmployeeList.razor.rz.scp.css */
/* Search wide, the two dropdowns narrow and fixed: a name is what people actually type, and letting
   it take the slack keeps the row stable as the office list grows. Wraps to stacked below 600px. */
.uranus-filters[b-5i96hbyybu]{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.85rem}
.uranus-filters .form-control[b-5i96hbyybu]{flex:1 1 260px;min-width:0;font-size:.78rem}
.uranus-filters .form-select[b-5i96hbyybu]{flex:0 0 190px;font-size:.78rem}
/* Eight columns do not fit a narrow window, so .table-responsive scrolls the table sideways -- which
   put the actions column past the right edge and left View reachable but Edit clipped. Pinning the
   last column keeps both actions on screen at every width instead of hiding the one that matters
   most. The backgrounds are repeated per row state because a sticky cell paints over the row
   scrolling beneath it: inheriting would leave it transparent and the text would collide. */
.uranus-row-actions[b-5i96hbyybu]{white-space:nowrap;position:sticky;right:0;z-index:1;background:var(--surface,#fff)}
tbody tr:nth-child(even) .uranus-row-actions[b-5i96hbyybu]{background:var(--row-alt,#f7f9fc)}
tbody tr:hover .uranus-row-actions[b-5i96hbyybu]{background:var(--accent-blue-soft,#edf4fd)}
/* Scoping this rule adds an attribute selector, which out-specifies theme.css's `.uranus-table
   thead th` -- so the header's own tint has to be restated here or this one cell renders white. */
thead th.uranus-row-actions[b-5i96hbyybu]{background:#f5f7fa}
/* A hairline so the pinned column reads as pinned once anything scrolls under it. */
.uranus-row-actions[b-5i96hbyybu]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule,#d9e2ec)}
.uranus-row-actions .icon-action[b-5i96hbyybu]{margin-right:.35rem}
.uranus-row-actions .icon-action:last-child[b-5i96hbyybu]{margin-right:0}
@media(max-width:600px){.uranus-filters .form-select[b-5i96hbyybu]{flex:1 1 100%}}
/* /Components/Pages/Staff/EmployeePersonalProfile.razor.rz.scp.css */
.employee-personal-profile[b-r1sf52u5bp]{display:grid;gap:.85rem}.employee-profile-card[b-r1sf52u5bp],.employee-profile-head[b-r1sf52u5bp],.employee-profile-section[b-r1sf52u5bp]{background:var(--surface,#fff);border:1px solid var(--rule,#d7e1eb);border-radius:.6rem;box-shadow:0 .14rem .45rem rgba(20,57,90,.06)}.employee-profile-loading[b-r1sf52u5bp]{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:9rem;color:var(--text-muted)}.employee-profile-head[b-r1sf52u5bp]{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;background:#edf7f8}.employee-profile-avatar[b-r1sf52u5bp]{display:grid;place-items:center;width:4.5rem;height:4.5rem;flex:none;border:2px solid var(--brand-navy);border-radius:50%;background:var(--surface);color:var(--brand-navy);font-size:1.15rem;font-weight:800}.employee-profile-head h1[b-r1sf52u5bp]{margin:0 0 .28rem;color:var(--brand-navy);font-size:1.2rem;font-weight:800}.employee-profile-head p[b-r1sf52u5bp]{margin:0;color:var(--text,#34495e);font-size:.8rem}.employee-profile-head p span[b-r1sf52u5bp]{margin:0 .45rem;color:#86a1b9}.employee-personal-tab[b-r1sf52u5bp]{width:max-content;padding:.5rem .9rem;border:1px solid #8bc7d2;border-bottom:2px solid var(--brand-navy);border-radius:.45rem .45rem 0 0;background:var(--surface);color:var(--brand-navy);font-size:.78rem;font-weight:800}.employee-profile-section[b-r1sf52u5bp]{overflow:hidden}.employee-profile-section h2[b-r1sf52u5bp]{margin:0;padding:.55rem .85rem;background:var(--brand-navy);color:#fff;font-size:.8rem;font-weight:800}.employee-profile-grid[b-r1sf52u5bp]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 2rem;padding:.75rem .9rem}.employee-profile-grid div[b-r1sf52u5bp]{display:grid;grid-template-columns:minmax(145px,.75fr) 1.25fr;gap:.5rem;padding:.38rem 0;border-bottom:1px solid #edf1f5}.employee-profile-grid span[b-r1sf52u5bp]{color:#64798d;font-size:.76rem}.employee-profile-grid strong[b-r1sf52u5bp]{color:var(--text,#263746);font-size:.77rem;font-weight:650}.employee-profile-address[b-r1sf52u5bp]{margin:0;padding:.8rem .9rem;color:var(--text,#263746);font-size:.78rem;line-height:1.65}@media(max-width:760px){.employee-profile-head[b-r1sf52u5bp]{align-items:flex-start}.employee-profile-head p span[b-r1sf52u5bp]{display:none}.employee-profile-grid[b-r1sf52u5bp]{grid-template-columns:1fr}.employee-profile-grid div[b-r1sf52u5bp]{grid-template-columns:minmax(130px,.75fr) 1.25fr}}@media(max-width:480px){.employee-profile-head[b-r1sf52u5bp]{padding:.85rem}.employee-profile-avatar[b-r1sf52u5bp]{width:3.25rem;height:3.25rem}.employee-profile-head h1[b-r1sf52u5bp]{font-size:1rem}.employee-profile-grid div[b-r1sf52u5bp]{grid-template-columns:1fr;gap:.12rem}.employee-profile-grid strong[b-r1sf52u5bp]{padding-bottom:.25rem}}
/* /Components/Pages/Staff/StaffInfo.razor.rz.scp.css */
/* Page-agnostic layout primitives (.uranus-page, tabs, grid, table, status-pill, file links, ...)
   moved to the global stylesheet (theme.css) -- StaffInfo is no longer the only page that renders
   them directly (EmployeeList/EmployeeDetails do too), and Blazor's per-component CSS scoping means
   a page's own .razor.css can't reach another page's root markup. .uranus-card/.uranus-card-body were
   dead here (FormSection.razor.css already owns that styling for every page using <FormSection>) --
   deleted rather than moved. What's left below is genuinely Setup/review-only. */
/* fieldset[disabled] is what makes the whole form read-only for a checker. Its own default border,
   padding and magic min-inline-size:min-content would all break the grid layout inside, so they go. */
.uranus-fieldset[b-dxna034w4a]{border:0;padding:0;margin:0;min-width:0}
/* Request-type header. A New and an Edit look identical once filled in but do very different things
   on approve, so they are colour-separated: Edit amber (overwrites a live record), New blue (only
   creates one). Not .alert — that class means "error" on this page. */
.uranus-reqtype[b-dxna034w4a]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.75rem;border-radius:8px;font-size:.8rem;border:1px solid transparent}
.uranus-reqtype i[b-dxna034w4a]{font-size:1.05rem}
.uranus-reqtype.new[b-dxna034w4a]{background:#e9f0fb;border-color:#1e57b8;color:#1f2937}
.uranus-reqtype.edit[b-dxna034w4a]{background:rgba(247,208,96,.18);border-color:#c99729;color:#1f2937}
.uranus-review-bar[b-dxna034w4a]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.6rem .75rem;margin-bottom:.75rem;border:1px solid #cbd8e6;border-radius:8px;background:#fff;font-size:.76rem}
.uranus-review-meta[b-dxna034w4a]{display:flex;flex-direction:column;gap:.15rem;min-width:0}
/* Every row in this table is a change by construction, so there is no changed-vs-unchanged row
   styling — the signal is muted "current" against bold "requested". */
.uranus-changes td[b-dxna034w4a]{vertical-align:top}.uranus-changes td:first-child[b-dxna034w4a]{min-width:190px}
/* A control whose value differs from the employee's live record. The inset left bar is the reliable
   cue: these inputs are also disabled, so a background tint alone would be easy to miss. */
.uranus-changed[b-dxna034w4a],[b-dxna034w4a] .uranus-changed{border-color:#c99729!important;background-color:rgba(247,208,96,.14)!important;box-shadow:inset 3px 0 0 0 #c99729}
/* CbsDatePicker (single-date fields) renders its own root, so Blazor's per-component CSS scoping
   puts this form's input styling out of reach — ::deep is what crosses that boundary. Sized to match
   .form-control so a date sits level with the text fields beside it in the same grid row. The merged
   start/end fields (CbsDateRangePicker, via RangeDateField) are deliberately NOT overridden here —
   those should look exactly like Task Management's range picker, box size included. */
[b-dxna034w4a] .cbs-dp-trigger{width:100%;font-size:.78rem;min-height:36px;height:auto;padding:.375rem .75rem;
  border:1px solid #ccd8e6;border-radius:.375rem;background-color:#fbfdff;color:#212529;cursor:pointer}
[b-dxna034w4a] .cbs-dp-trigger:focus{outline:0;border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
[b-dxna034w4a] .cbs-dp-trigger:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;opacity:1}
.uranus-decision-bar[b-dxna034w4a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1rem;padding:.75rem;border:1px solid #cbd8e6;border-radius:10px;background:#fff}
.uranus-decision-bar .form-control[b-dxna034w4a]{max-width:320px;font-size:.78rem}
/* All three decisions sit in the app's blue palette rather than borrowing Bootstrap's green/amber/red,
   which appear nowhere else in this UI. Weight carries the hierarchy instead of hue: Approve is the
   only filled button, Send Back is a tinted middle step, and Reject is the quietest — destructive and
   irreversible, so it should take a deliberate look to find rather than catch the eye first. */
.uranus-decision-bar .btn[b-dxna034w4a]{font-size:.78rem;font-weight:650;border-width:1px;border-style:solid}
.uranus-decision-bar .btn-approve[b-dxna034w4a]{background:var(--accent-blue,#1e57b8);border-color:var(--accent-blue,#1e57b8);color:#fff}
.uranus-decision-bar .btn-approve:hover:not(:disabled)[b-dxna034w4a]{background:var(--brand-navy,#0b3160);border-color:var(--brand-navy,#0b3160);color:#fff}
.uranus-decision-bar .btn-sendback[b-dxna034w4a]{background:var(--accent-blue-soft,#e9f0fb);border-color:#9dbbe4;color:var(--brand-navy,#0b3160)}
.uranus-decision-bar .btn-sendback:hover:not(:disabled)[b-dxna034w4a]{background:#d8e6f8;border-color:var(--accent-blue,#1e57b8);color:var(--brand-navy,#0b3160)}
.uranus-decision-bar .btn-reject[b-dxna034w4a]{background:#fff;border-color:#a9bad0;color:#4a5f7d}
.uranus-decision-bar .btn-reject:hover:not(:disabled)[b-dxna034w4a]{background:#eef2f7;border-color:#4a5f7d;color:#33455e}
/* /Components/Pages/TaskManagement/TaskTypeSetup.razor.rz.scp.css */
/* Task Type Setup. Same shell as Brand Setup (copied: Blazor CSS isolation scopes every rule to its
   own component, and theme.css does not define these). */

/* ---- Workspace and cards ---- */
.admin-page[b-ngkmn68no9]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-ngkmn68no9],.admin-list-card[b-ngkmn68no9]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-ngkmn68no9]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-ngkmn68no9]{display:grid;grid-template-columns:2fr 2fr 1fr auto;gap:1rem;align-items:end}
.admin-field label[b-ngkmn68no9]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-ngkmn68no9]{color:#dc3545}
.admin-field .form-control[b-ngkmn68no9]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-ngkmn68no9]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-ngkmn68no9]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-ngkmn68no9]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* ---- List head and search ---- */
.admin-list-head[b-ngkmn68no9]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-ngkmn68no9]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-ngkmn68no9]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-ngkmn68no9]{position:relative}
.admin-search i[b-ngkmn68no9]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-ngkmn68no9]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-ngkmn68no9]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
/* Fixed-height, scrolls internally -- the page itself must not grow to match a long list; only
   .table-responsive scrolls, so the search box and card chrome stay put above it. */
.admin-list-card .table-responsive[b-ngkmn68no9]{max-height:60vh;overflow-y:auto}
.table[b-ngkmn68no9]{font-size:.72rem;margin:0}
.table thead th[b-ngkmn68no9]{position:sticky;top:0;z-index:1}
.table th[b-ngkmn68no9]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-ngkmn68no9]{vertical-align:middle;color:#334155}
.table td strong[b-ngkmn68no9]{color:#1d3f72;font-weight:750}

.status-pill[b-ngkmn68no9]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-ngkmn68no9]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-ngkmn68no9]{background:#f1f5f9;color:#64748b}

.row-actions[b-ngkmn68no9]{display:flex;gap:.2rem}
.row-actions button[b-ngkmn68no9]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-ngkmn68no9]{color:#dc3545}
.row-actions button:disabled[b-ngkmn68no9]{color:#cbd5e1}

/* ---- Empty state ---- */
.ss-empty[b-ngkmn68no9]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-ngkmn68no9]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-ngkmn68no9]{font-size:.78rem;color:#475569}
.ss-empty span[b-ngkmn68no9]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-ngkmn68no9]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-ngkmn68no9]{padding:.75rem}
  .admin-list-head[b-ngkmn68no9]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-ngkmn68no9]{grid-template-columns:1fr}
  .admin-search[b-ngkmn68no9],.admin-search input[b-ngkmn68no9]{width:100%}
}

/* ---- Predefined to-do list ---- */
.tt-checklist[b-ngkmn68no9]{margin-top:1rem;padding-top:.9rem;border-top:1px dashed #d6e1ed}
.tt-checklist-head[b-ngkmn68no9]{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.tt-checklist-head label[b-ngkmn68no9]{font-size:.7rem;color:#475569;font-weight:700;margin:0}
.tt-checklist-head small[b-ngkmn68no9]{font-size:.66rem;color:#8a97a8}
.tt-checklist-count[b-ngkmn68no9]{font-size:.62rem;font-weight:700;color:#1472b8;background:#e8f1fb;border-radius:999px;padding:.12rem .5rem;margin-left:.4rem}
.tt-items[b-ngkmn68no9]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}
.tt-item[b-ngkmn68no9]{display:flex;align-items:center;gap:.4rem;background:#f7faff;border:1px solid #dbe5f0;border-radius:9px;padding:.25rem .35rem .25rem .6rem}
.tt-item-no[b-ngkmn68no9]{font-size:.66rem;font-weight:700;color:#8a97a8;width:1.3rem;flex-shrink:0}
.tt-item input[b-ngkmn68no9],.tt-add input[b-ngkmn68no9]{flex:1;min-width:0;font-size:.76rem;border:1px solid transparent;background:transparent;border-radius:6px;padding:.3rem .45rem;color:#334155}
.tt-item input:focus[b-ngkmn68no9]{border-color:#3975bd;background:#fff;outline:0}
.tt-icon[b-ngkmn68no9]{border:0;background:transparent;color:#64748b;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem}
.tt-icon:hover:not(:disabled)[b-ngkmn68no9]{background:#e8f1fb;color:#1472b8}
.tt-icon.danger:hover:not(:disabled)[b-ngkmn68no9]{background:#fdecee;color:#dc3545}
.tt-icon:disabled[b-ngkmn68no9]{color:#cbd5e1}
.tt-add[b-ngkmn68no9]{display:flex;align-items:center;gap:.5rem}
.tt-add input[b-ngkmn68no9]{border-color:#ccd8e6;background:#fbfdff;min-height:34px}
.tt-add input:focus[b-ngkmn68no9]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}
.tt-add button[b-ngkmn68no9]{display:flex;align-items:center;gap:.3rem;white-space:nowrap;font-size:.72rem;font-weight:700;color:#1472b8;background:#e8f1fb;border:1px solid #cfe0f3;border-radius:8px;padding:.4rem .8rem}
.tt-add button:disabled[b-ngkmn68no9]{opacity:.5}
.tt-empty[b-ngkmn68no9]{font-size:.7rem;color:#8a97a8;font-style:italic;margin-bottom:.5rem}
/* /Components/Pages/UserSetup/UserSetup.razor.rz.scp.css */
.uranus-breadcrumb[b-n8cu9lctj0]{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.78rem;margin-bottom:1rem}.uranus-breadcrumb strong[b-n8cu9lctj0]{color:var(--brand-navy)}.uranus-eyebrow[b-n8cu9lctj0]{font-size:.66rem;letter-spacing:.15em;font-weight:800;color:var(--brand-gold)}
.user-setup-page[b-n8cu9lctj0]{background:#f7f9fc;border:1px solid var(--border);border-radius:16px;padding:1.25rem;min-height:70vh}.user-page-head[b-n8cu9lctj0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.user-page-head h1[b-n8cu9lctj0]{font-size:1.55rem;color:var(--brand-navy);margin:.1rem 0}.user-page-head p[b-n8cu9lctj0]{margin:0;color:var(--text-muted);font-size:.85rem}
.user-form-card[b-n8cu9lctj0],.user-list-card[b-n8cu9lctj0]{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 5px 18px rgba(15,23,42,.045)}.user-form-card[b-n8cu9lctj0]{padding:1rem;margin-bottom:1rem}.user-form-grid[b-n8cu9lctj0]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 130px;gap:1rem;align-items:end}.uranus-field label[b-n8cu9lctj0]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}.uranus-field b[b-n8cu9lctj0]{color:#dc3545}.uranus-field .form-control[b-n8cu9lctj0],.uranus-field .form-select[b-n8cu9lctj0]{font-size:.78rem;min-height:36px;border-color:#dce2ea}.uranus-check[b-n8cu9lctj0]{display:flex;gap:.5rem;align-items:center;min-height:36px;font-size:.74rem;font-weight:700;color:#475569}.user-form-actions[b-n8cu9lctj0]{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1rem}
.user-list-head[b-n8cu9lctj0]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #e8edf3}.user-list-head h2[b-n8cu9lctj0]{font-size:.9rem;color:var(--brand-navy);margin:0}.user-list-head span[b-n8cu9lctj0]{font-size:.68rem;color:var(--text-muted)}.user-search[b-n8cu9lctj0]{position:relative}.user-search i[b-n8cu9lctj0]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}.user-search input[b-n8cu9lctj0]{border:1px solid #dce2ea;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.user-table[b-n8cu9lctj0]{font-size:.7rem;margin:0}.user-table thead th[b-n8cu9lctj0]{background:#f5f7fa;color:#516074;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;border-bottom:1px solid #e3e8ef;white-space:nowrap}.user-table td[b-n8cu9lctj0]{vertical-align:middle;color:#334155;white-space:nowrap}.status-pill[b-n8cu9lctj0]{display:inline-flex;border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:750}.status-pill.active[b-n8cu9lctj0]{background:#dcfce7;color:#166534}.status-pill.inactive[b-n8cu9lctj0]{background:#f1f5f9;color:#64748b}.row-actions[b-n8cu9lctj0]{display:flex;gap:.2rem}.row-actions button[b-n8cu9lctj0]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}.row-actions button.device[b-n8cu9lctj0]{color:#d88916}.row-actions button.danger[b-n8cu9lctj0]{color:#dc3545}
.uranus-modal-backdrop[b-n8cu9lctj0]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.52);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}.uranus-modal[b-n8cu9lctj0]{width:min(520px,100%);background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}.uranus-modal.small[b-n8cu9lctj0]{width:min(430px,100%)}.uranus-modal header[b-n8cu9lctj0]{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.1rem;border-bottom:1px solid #e8edf3}.uranus-modal header h3[b-n8cu9lctj0]{font-size:1rem;color:var(--brand-navy);margin:0}.uranus-modal header p[b-n8cu9lctj0]{font-size:.72rem;color:var(--text-muted);margin:.2rem 0 0}.uranus-modal header button[b-n8cu9lctj0]{border:0;background:transparent;color:#64748b}.modal-content-body[b-n8cu9lctj0]{padding:1.1rem}.uranus-modal footer[b-n8cu9lctj0]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.1rem;background:#f7f9fc;border-top:1px solid #e8edf3}.role-options[b-n8cu9lctj0]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.role-options label[b-n8cu9lctj0]{display:flex;align-items:center;gap:.55rem;border:1px solid #e1e7ef;border-radius:9px;padding:.7rem;font-size:.76rem;font-weight:650;color:#475569}.delete-warning[b-n8cu9lctj0]{display:flex;gap:.8rem;align-items:center;padding:.8rem;border-radius:9px;background:#fff1f2;color:#9f1239;font-size:.76rem}.delete-warning i[b-n8cu9lctj0]{font-size:1.4rem}
@media(max-width:1100px){.user-form-grid[b-n8cu9lctj0]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.user-setup-page[b-n8cu9lctj0]{padding:.75rem}.user-page-head[b-n8cu9lctj0]{flex-direction:column;gap:1rem}.user-form-grid[b-n8cu9lctj0]{grid-template-columns:1fr}.user-form-actions[b-n8cu9lctj0]{justify-content:flex-start;flex-wrap:wrap}.user-list-head[b-n8cu9lctj0]{align-items:flex-start;gap:.6rem;flex-direction:column}.user-search[b-n8cu9lctj0],.user-search input[b-n8cu9lctj0]{width:100%}}
/* The two password actions sit between Reset Device and Edit, so they need their own colour to stay
   distinguishable at icon size. Amber: consequential, but not destructive like Delete. */
.row-actions button.key[b-n8cu9lctj0]{color:#c2820b}

/* The Action column is the last of ten in a table whose cells are all white-space:nowrap, so it
   overflows the card and the row buttons end up scrolled off-screen -- unreachable without noticing
   the horizontal scrollbar. Pinning it to the right edge keeps every action in reach at any width.
   The background is not decoration: without it the scrolling cells show through the pinned column. */
/* Explicit z-index so the pinned cell always paints above the cells scrolling beneath it rather than
   relying on document order, and so the header stays above the body. Defensive: hit-testing was
   already correct without it on Chromium. */
.user-table th:last-child[b-n8cu9lctj0],.user-table td:last-child[b-n8cu9lctj0]{position:sticky;right:0;background:#fff;z-index:2}
.user-table thead th:last-child[b-n8cu9lctj0]{background:#e9f0f8;z-index:3}
.user-table tbody tr:hover td:last-child[b-n8cu9lctj0]{background:#f7fafd}
/* Only while there is actually something scrolled underneath, so the seam does not show other-wise. */
.table-responsive .user-table th:last-child[b-n8cu9lctj0]::before,.table-responsive .user-table td:last-child[b-n8cu9lctj0]::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
    transform:translateX(-100%);pointer-events:none;
    background:linear-gradient(90deg,rgba(15,42,74,0),rgba(15,42,74,.10))}
/* Amber because this warns about a consequence, it does not report an error. The red
   .delete-warning is reused below it when there is genuinely nowhere to send the password. */
.forgot-warning[b-n8cu9lctj0]{display:flex;gap:.8rem;align-items:center;padding:.8rem;border-radius:9px;background:#fdf6e7;color:#6b552a;font-size:.76rem;line-height:1.4}
.forgot-warning i[b-n8cu9lctj0]{font-size:1.4rem;flex-shrink:0}

/* Failures in the password section report here rather than in the page banner, so the reason lands
   beside the fields that caused it instead of at the top of a scrolled page. */
.pw-error[b-n8cu9lctj0]{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem .75rem;margin-bottom:.8rem;border-radius:9px;background:#fff1f2;color:#9f1239;font-size:.75rem;line-height:1.35}
.pw-error i[b-n8cu9lctj0]{font-size:.95rem;flex-shrink:0;margin-top:.05rem}
.pw-rule[b-n8cu9lctj0]{font-size:.7rem;color:var(--text-muted);margin:0 0 .8rem;line-height:1.35}

/* HNBG palette alignment */
.user-setup-page[b-n8cu9lctj0]{background:#dfe7f1;border-color:#cbd7e5}
.user-form-card[b-n8cu9lctj0],.user-list-card[b-n8cu9lctj0]{border-color:#cbd8e6;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.uranus-field .form-control[b-n8cu9lctj0],.uranus-field .form-select[b-n8cu9lctj0],.user-search input[b-n8cu9lctj0]{border-color:#ccd8e6;background-color:#fbfdff}
.uranus-field .form-control:focus[b-n8cu9lctj0],.uranus-field .form-select:focus[b-n8cu9lctj0],.user-search input:focus[b-n8cu9lctj0]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.user-list-head[b-n8cu9lctj0]{border-bottom-color:#d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.user-table thead th[b-n8cu9lctj0]{background:#e9f0f8;color:#415872;border-bottom-color:#cedae8}

/* ---- One-page user configuration: sections stacked in the form card ---- */
.us-section[b-n8cu9lctj0]{border-top:1px solid #e3eaf3;margin-top:1.1rem;padding-top:.9rem}
.us-section-head[b-n8cu9lctj0]{margin-bottom:.7rem}
.us-section-head h3[b-n8cu9lctj0]{font-size:.85rem;color:var(--brand-navy);margin:0}
.us-section-head span[b-n8cu9lctj0]{font-size:.7rem;color:var(--text-muted)}
.us-note[b-n8cu9lctj0]{font-size:.68rem;color:var(--text-muted);margin:.6rem 0 0}
.us-empty[b-n8cu9lctj0]{font-size:.72rem;color:var(--text-muted);margin:.4rem 0 0}

/* Amber, and deliberately loud: this is the only control on the page that changes something shared
   between users, so it must not read as ordinary section help text. */
.us-warning[b-n8cu9lctj0]{display:flex;gap:.65rem;align-items:flex-start;padding:.7rem .8rem;margin-bottom:.8rem;border-radius:9px;background:#fdf6e7;border:1px solid #ecdcbd;color:#6b552a;font-size:.74rem;line-height:1.4}
.us-warning i[b-n8cu9lctj0]{font-size:1rem;flex-shrink:0;margin-top:.05rem}

.us-permission-bar[b-n8cu9lctj0]{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-bottom:.7rem}
.us-permission-bar .uranus-field[b-n8cu9lctj0]{min-width:210px}
.us-permission-bar .admin-search[b-n8cu9lctj0]{position:relative;flex:1;min-width:180px}
.us-permission-bar .admin-search i[b-n8cu9lctj0]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.us-permission-bar .admin-search input[b-n8cu9lctj0]{border:1px solid #ccd8e6;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:100%;background:#fbfdff}

/* Capped so a long menu tree scrolls inside the section instead of burying the Save button. */
.us-matrix-scroll[b-n8cu9lctj0]{max-height:320px;overflow:auto;border:1px solid #e3eaf3;border-radius:9px}
.us-matrix[b-n8cu9lctj0]{font-size:.7rem;margin:0}
.us-matrix th[b-n8cu9lctj0]{position:sticky;top:0;z-index:1;background:#e9f0f8;color:#415872;text-align:center;text-transform:uppercase;letter-spacing:.03em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.us-matrix .menu-column[b-n8cu9lctj0]{text-align:left;min-width:200px}
.us-matrix td[b-n8cu9lctj0]{vertical-align:middle;border-color:#edf0f4}
.us-matrix .menu-cell[b-n8cu9lctj0]{display:flex;align-items:center;gap:.6rem;color:#1472b8}
.us-matrix .menu-cell>i[b-n8cu9lctj0]{width:20px;text-align:center;font-size:1rem}
.us-matrix .menu-cell strong[b-n8cu9lctj0]{display:block;color:#334155}
.us-matrix .menu-cell small[b-n8cu9lctj0]{display:block;color:#94a3b8;font-size:.61rem}
.us-matrix .check-cell[b-n8cu9lctj0]{text-align:center;min-width:50px}
.us-matrix .check-cell input[b-n8cu9lctj0]{width:16px;height:16px;accent-color:#1472b8}
.us-matrix .not-applicable[b-n8cu9lctj0]{color:#cbd5e1}
.us-matrix .row-toggle[b-n8cu9lctj0]{border:0;background:transparent;color:#1472b8;font-size:1rem}
.us-matrix .row-toggle:disabled[b-n8cu9lctj0],.us-matrix .check-cell input:disabled[b-n8cu9lctj0]{opacity:.45}

.us-password-grid[b-n8cu9lctj0]{display:grid;grid-template-columns:repeat(2,minmax(0,220px)) 1fr;gap:1rem;align-items:end}
.us-password-actions[b-n8cu9lctj0]{display:flex;gap:.5rem;flex-wrap:wrap}
@media(max-width:750px){.us-password-grid[b-n8cu9lctj0]{grid-template-columns:1fr}}

/* The fifth column used to be a fixed 130px sized for the removed "Is CBS User" checkbox; Designation
   now sits there and needs the same room as its neighbours. */
.user-form-grid[b-n8cu9lctj0]{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.user-form-grid[b-n8cu9lctj0]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.user-form-grid[b-n8cu9lctj0]{grid-template-columns:1fr}}
/* /Components/Shared/CbsDatePicker.razor.rz.scp.css */
.cbs-dp[b-fhfjy01tje] {
    display: inline-block;
    width: 100%;
}

/* Reset button defaults (center-aligned text, system font) so the trigger reads like a normal
   text input; .cbs-input (theme.css) supplies the box (border/background/height/focus ring). */
.cbs-dp-trigger[b-fhfjy01tje] {
    display: block;
    width: 100%;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
}

.cbs-dp-trigger:disabled[b-fhfjy01tje] {
    cursor: not-allowed;
}
/* /Components/Shared/CbsDateRangePicker.razor.rz.scp.css */
.cbs-range[b-jzpzllax4k] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.cbs-range-field[b-jzpzllax4k] {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: .45rem;
    padding: .35rem .65rem;
    border: 1px solid var(--rule, #cbd5e1);
    border-radius: .5rem;
    background: var(--surface, #fff);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s ease;
}

.cbs-range-field:hover[b-jzpzllax4k] {
    border-color: var(--accent-blue, #0284c7);
}

.cbs-range-field-label[b-jzpzllax4k] {
    font-size: .75rem;
    font-weight: 600;
    color: var(--text-muted, #475569);
}

.cbs-range-field-value[b-jzpzllax4k] {
    font-size: .75rem;
    font-weight: 600;
    color: var(--text, #0f172a);
    white-space: nowrap;
}

.cbs-range-sep[b-jzpzllax4k] {
    color: var(--text-muted, #94a3b8);
    font-size: .75rem;
    font-weight: 600;
}

.cbs-range-months[b-jzpzllax4k] {
    display: flex;
    gap: 1.25rem;
}

/* The popup shell, month grid, day cells, and footer/clear button are shared with CbsDatePicker's
   single-date grid — see theme.css (.cbs-range-backdrop, .cbs-range-popup, .cbs-range-month*,
   .cbs-day*, .cbs-range-footer, .cbs-range-clear) so the two pickers can never visually drift apart.
   Only the two-field trigger, the dual-month gap above, and the range-only Apply button stay here. */

.cbs-range-apply[b-jzpzllax4k] {
    font-size: .74rem;
    font-weight: 700;
    color: #fff;
    background: var(--accent-blue, #0284c7);
    border: none;
    border-radius: .45rem;
    padding: .4rem .9rem;
    cursor: pointer;
}
/* /Components/Shared/ConfirmDialog.razor.rz.scp.css */
.cd-backdrop[b-j61avdroy1]{position:fixed;inset:0;z-index:1900;background:rgba(15,23,42,.5);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.cd-modal[b-j61avdroy1]{width:min(420px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:hidden}

.cd-header[b-j61avdroy1]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.15rem .5rem}
.cd-header h3[b-j61avdroy1]{margin:0;font-size:1.02rem;font-weight:800;color:#b91c1c;line-height:1.35}
.cd-close[b-j61avdroy1]{flex:0 0 auto;border:0;background:transparent;color:#94a3b8;font-size:.95rem;padding:.2rem;cursor:pointer}
.cd-close:hover[b-j61avdroy1]{color:#475569}

.cd-body[b-j61avdroy1]{padding:.35rem 1.15rem 1.1rem;color:#475569;font-size:.82rem;line-height:1.55}
.cd-body p[b-j61avdroy1]{margin:0}

.cd-footer[b-j61avdroy1]{display:flex;justify-content:flex-end;gap:.6rem;padding:.85rem 1.15rem;background:#f8fafc;border-top:1px solid #eef1f5}
.cd-btn[b-j61avdroy1]{border:0;border-radius:999px;padding:.5rem 1.3rem;font-size:.78rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.cd-cancel[b-j61avdroy1]{background:#e5484d;color:#fff}
.cd-cancel:hover[b-j61avdroy1]{background:#d13438}
.cd-confirm[b-j61avdroy1]{background:#16a34a;color:#fff}
.cd-confirm:hover[b-j61avdroy1]{background:#128a3e}

@media(max-width:480px){
  .cd-footer[b-j61avdroy1]{flex-direction:column-reverse}
  .cd-btn[b-j61avdroy1]{width:100%;justify-content:center}
}
/* /Components/Shared/FileLightbox.razor.rz.scp.css */
.uranus-lightbox[b-onr3jr7j06]{position:fixed;inset:0;z-index:1080;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:2vh 2vw}
.uranus-lightbox-panel[b-onr3jr7j06]{display:flex;flex-direction:column;width:min(1100px,92vw);height:min(88vh,900px);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.45)}
.uranus-lightbox-bar[b-onr3jr7j06]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem;background:#fff;color:#334155;border-bottom:1px solid #e3e8ef;flex:0 0 auto}
.uranus-lightbox-body[b-onr3jr7j06]{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem;background:#f5f7fa}
.uranus-lightbox-body img[b-onr3jr7j06]{max-width:100%;max-height:100%;object-fit:contain}
.uranus-lightbox-pdf[b-onr3jr7j06]{width:100%;height:100%;border:0;background:#fff}
.uranus-lightbox-body.pdf[b-onr3jr7j06]{align-items:stretch;justify-content:stretch;padding:0;overflow:hidden}
.uranus-lightbox:focus[b-onr3jr7j06]{outline:none}
.uranus-lightbox-fallback[b-onr3jr7j06]{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#64748b}
.uranus-lightbox-fallback i[b-onr3jr7j06]{font-size:2.5rem}
/* /Components/Shared/FormSection.razor.rz.scp.css */
.uranus-card[b-wpkkxn8ts1]{background:#fff;border:1px solid #e6ebf2;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px rgba(15,23,42,.045)}
.uranus-card>header[b-wpkkxn8ts1]{display:flex;align-items:center;gap:.55rem;padding:.8rem 1rem;border-bottom:1px solid #edf0f5;background:linear-gradient(90deg,#fbfcfe,#fff)}
.uranus-card>header i[b-wpkkxn8ts1]{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(201,151,41,.12);color:#a57712}
.uranus-card>header h2[b-wpkkxn8ts1]{font-size:.92rem;margin:0;color:var(--brand-navy);font-weight:750}
.uranus-card-body[b-wpkkxn8ts1]{padding:1rem}
/* /Components/Shared/MerchAiReview.razor.rz.scp.css */
.mar[b-2yij3w2ows]{border:1px solid #d6e1ed;border-radius:10px;padding:.55rem .7rem;font-size:.72rem;background:#f7faff}
.mar-head[b-2yij3w2ows]{display:flex;align-items:center;gap:.4rem;color:#334155}
.mar-head strong[b-2yij3w2ows]{font-weight:750}
.mar-summary[b-2yij3w2ows]{margin:.35rem 0 0;color:#475569;line-height:1.5}
.mar-findings[b-2yij3w2ows]{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.mar-findings li[b-2yij3w2ows]{display:flex;gap:.4rem;align-items:flex-start;line-height:1.45;color:#475569}
.mar-findings li.met .bi[b-2yij3w2ows]{color:#16a34a}
.mar-findings li.unmet .bi[b-2yij3w2ows]{color:#dc2626}
.mar-findings b[b-2yij3w2ows]{color:#1d3f72;font-weight:700}
.mar.pass[b-2yij3w2ows]{background:#f0fdf4;border-color:#bbf7d0}
.mar.pass .mar-head .bi[b-2yij3w2ows]{color:#16a34a}
.mar.issues[b-2yij3w2ows]{background:#fffbeb;border-color:#fde68a}
.mar.issues .mar-head .bi[b-2yij3w2ows]{color:#d97706}
.mar.queued .mar-head .bi[b-2yij3w2ows]{color:#3975bd}
.mar.muted .mar-head .bi[b-2yij3w2ows]{color:#94a3b8}
/* /Components/Shared/MerchGuidelineCard.razor.rz.scp.css */
.mgc[b-2ono0gosfn]{background:#fff;border:1px solid #d6e1ed;border-radius:14px;padding:1rem 1.1rem;box-shadow:0 4px 14px rgba(29,62,104,.06)}
.mgc+.mgc[b-2ono0gosfn]{margin-top:.9rem}
.mgc-head[b-2ono0gosfn]{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.7rem}
.mgc-head h3[b-2ono0gosfn]{font-size:.9rem;font-weight:750;color:#1d3f72;margin:0;margin-right:auto}
.mgc-scope[b-2ono0gosfn]{font-size:.64rem;font-weight:700;color:#285eaa;background:#edf4fd;border:1px solid #d3e3f7;border-radius:999px;padding:.15rem .6rem}
.mgc-inactive[b-2ono0gosfn]{font-size:.64rem;font-weight:700;color:#64748b;background:#f1f5f9;border-radius:999px;padding:.15rem .6rem}
.mgc-points[b-2ono0gosfn]{list-style:none;counter-reset:pt;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.mgc-points li[b-2ono0gosfn]{counter-increment:pt;position:relative;padding:.45rem .6rem .45rem 2.3rem;font-size:.76rem;line-height:1.5;color:#334155;background:#f7faff;border:1px solid #e4ebf3;border-radius:9px}
.mgc-points li[b-2ono0gosfn]::before{content:counter(pt);position:absolute;left:.55rem;top:.42rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#285eaa;color:#fff;font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.mgc-samples-label[b-2ono0gosfn]{margin:1rem 0 .5rem;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6d7786}
.mgc-images[b-2ono0gosfn]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.mgc-thumb[b-2ono0gosfn]{border:1px solid #d6e1ed;border-radius:11px;padding:0;background:#0f1e37;overflow:hidden;text-align:left;cursor:zoom-in;transition:transform .12s,box-shadow .12s}
.mgc-thumb:hover[b-2ono0gosfn]{transform:translateY(-2px);box-shadow:0 8px 18px rgba(29,62,104,.18)}
.mgc-thumb:focus-visible[b-2ono0gosfn]{outline:2px solid #285eaa;outline-offset:2px}
.mgc-thumb img[b-2ono0gosfn]{width:100%;height:170px;object-fit:contain;display:block}
.mgc-thumb span[b-2ono0gosfn]{display:block;background:#fff;font-size:.64rem;font-weight:600;color:#475569;padding:.35rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* /Components/Shared/MerchGuidelinePanel.razor.rz.scp.css */
.mgp-empty[b-o1aeoiko9x]{margin:0;padding:1.5rem;text-align:center;color:#7b8798;font-size:.74rem;border:1px dashed #cbd8e6;border-radius:12px;background:#fff}
/* /Components/Shared/MerchImagePreview.razor.rz.scp.css */
.mip-backdrop[b-tv3hqv8b6d]{position:fixed;inset:0;background:rgba(15,30,55,.72);z-index:1090;display:flex;align-items:center;justify-content:center;padding:1rem}
.mip-panel[b-tv3hqv8b6d]{background:#fff;border-radius:12px;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.mip-bar[b-tv3hqv8b6d]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .8rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);font-size:.75rem;font-weight:700;color:var(--brand-navy)}
.mip-body[b-tv3hqv8b6d]{overflow:auto;background:#0f1e37;display:flex;align-items:center;justify-content:center}
.mip-body img[b-tv3hqv8b6d]{max-width:100%;max-height:calc(100vh - 7rem);object-fit:contain}
/* /Components/Shared/MerchModal.razor.rz.scp.css */
.mm-backdrop[b-jvjxbrds5o]{position:fixed;inset:0;z-index:1070;background:rgba(15,30,55,.55);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:mm-fade-b-jvjxbrds5o .15s ease-out}
.mm-dialog[b-jvjxbrds5o]{width:min(640px,100%);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(15,30,55,.35);animation:mm-rise-b-jvjxbrds5o .18s ease-out}
.mm-dialog.wide[b-jvjxbrds5o]{width:min(980px,100%)}
.mm-head[b-jvjxbrds5o]{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff);border-top:3px solid #e5252a}
.mm-title[b-jvjxbrds5o]{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;min-width:0}
.mm-title h2[b-jvjxbrds5o]{font-size:.95rem;font-weight:750;color:#1d3f72;margin:0}
.mm-title span[b-jvjxbrds5o]{font-size:.68rem;color:#6d7786}
.mm-icon[b-jvjxbrds5o]{width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid #cbd8e6;color:#285eaa;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:none}
.mm-close[b-jvjxbrds5o]{width:34px;height:34px;border-radius:9px;border:1px solid #cbd8e6;background:#fff;color:#475569;flex:none}
.mm-close:hover[b-jvjxbrds5o]{background:#fdecec;color:#c8102e;border-color:#f5c2c7}
.mm-body[b-jvjxbrds5o]{padding:1.1rem;overflow:auto;background:#f7f9fc}
.mm-foot[b-jvjxbrds5o]{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.8rem 1.1rem;border-top:1px solid #e4ebf3;background:#fff}
@keyframes mm-fade-b-jvjxbrds5o{from{opacity:0}to{opacity:1}}
@keyframes mm-rise-b-jvjxbrds5o{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:576px){.mm-backdrop[b-jvjxbrds5o]{padding:.5rem}.mm-body[b-jvjxbrds5o]{padding:.8rem}}
/* /Components/Shared/ProductSelect.razor.rz.scp.css */
/* Product Select Dropdown Component */
.prod-select-container[b-fgdw8gh4vr] {
    position: relative;
    width: 100%;
}

/* Base height matching standard 36px HNBG form controls */
.prod-select-trigger[b-fgdw8gh4vr],
.prod-select-field[b-fgdw8gh4vr] {
    display: flex;
    align-items: center;
    width: 100%;
    height: 36px;
    background: #fbfdff;
    border: 1px solid #ccd8e6;
    border-radius: 8px;
    transition: all 0.18s ease-in-out;
}

/* Trigger tile when item is selected */
.prod-select-trigger[b-fgdw8gh4vr] {
    padding: 0 0.65rem;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}

.prod-select-trigger:hover[b-fgdw8gh4vr],
.prod-select-container.open .prod-select-trigger[b-fgdw8gh4vr] {
    border-color: #3975bd;
    box-shadow: 0 0 0 .16rem rgba(40,94,170,.13);
    background: #fbfdff;
}

.prod-select-trigger.disabled[b-fgdw8gh4vr] {
    background: #f1f5f9;
    cursor: not-allowed;
    opacity: 0.65;
}

.prod-select-trigger-main[b-fgdw8gh4vr] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    flex: 1 1 auto;
}

.prod-select-box-icon[b-fgdw8gh4vr] {
    color: #1d3f72;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.prod-select-selected-name[b-fgdw8gh4vr] {
    font-size: 0.78rem;
    font-weight: 700;
    color: #0b3160;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 0 1 auto;
}

.prod-select-tag[b-fgdw8gh4vr] {
    font-size: 0.62rem;
    font-weight: 600;
    background: #eef4fc;
    color: #285eaa;
    border-radius: 4px;
    padding: 0.1rem 0.35rem;
    border: 1px solid #d6e5f8;
    white-space: nowrap;
    line-height: 1.2;
    flex-shrink: 0;
}

.prod-select-tag-code[b-fgdw8gh4vr] {
    background: #f8fafc;
    color: #475569;
    border-color: #cbd5e1;
}

.prod-select-tag-sub[b-fgdw8gh4vr] {
    background: #f1f5f9;
    color: #334155;
    border-color: #cbd5e1;
}

.prod-select-unit[b-fgdw8gh4vr] {
    font-size: 0.64rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5fa;
    border: 1px solid #cbd8e6;
    border-radius: 4px;
    padding: 0.08rem 0.35rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.prod-select-trigger-actions[b-fgdw8gh4vr] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.prod-select-clear-btn[b-fgdw8gh4vr] {
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s;
}

.prod-select-clear-btn:hover[b-fgdw8gh4vr] {
    background: #fee2e2;
    color: #ef4444;
}

.prod-select-caret[b-fgdw8gh4vr] {
    font-size: 0.68rem;
    color: #64748b;
    transition: transform 0.18s ease;
}

.prod-select-container.open .prod-select-caret[b-fgdw8gh4vr] {
    transform: rotate(180deg);
}

/* Active Search Input Mode */
.prod-select-field[b-fgdw8gh4vr] {
    padding: 0 0.5rem;
    background: #ffffff;
    gap: 0.4rem;
}

.prod-select-container.open .prod-select-field[b-fgdw8gh4vr],
.prod-select-field:focus-within[b-fgdw8gh4vr] {
    border-color: #3975bd;
    box-shadow: 0 0 0 .16rem rgba(40, 94, 170, 0.13);
}

.prod-select-search-icon[b-fgdw8gh4vr] {
    font-size: 0.78rem;
    color: #285eaa;
    flex-shrink: 0;
}

.prod-select-input[b-fgdw8gh4vr] {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: 100% !important;
    font-size: 0.78rem;
    font-weight: 500;
    color: #1e293b;
    background: transparent !important;
    flex: 1 1 auto;
    min-width: 0;
}

.prod-select-input[b-fgdw8gh4vr]::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

/* Floating Dropdown Panel - FITS LENGTH OF INPUT BOX */
.prod-select-backdrop[b-fgdw8gh4vr] {
    position: fixed;
    inset: 0;
    z-index: 1300;
    background: transparent;
}

.prod-select-dropdown[b-fgdw8gh4vr] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    width: 100%;
    min-width: 100%;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.2);
    z-index: 1310;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: prodSelectFade-b-fgdw8gh4vr 0.15s ease-out;
}

@keyframes prodSelectFade-b-fgdw8gh4vr {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Table Wrap Inside Dropdown */
.prod-select-table-wrap[b-fgdw8gh4vr] {
    max-height: 310px;
    overflow-y: auto;
    overflow-x: auto;
    outline: none;
}

.prod-select-table-wrap:focus[b-fgdw8gh4vr] {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(40, 94, 170, 0.4);
}

.prod-select-table[b-fgdw8gh4vr] {
    width: 100%;
    min-width: 100%;
    table-layout: auto;
    font-size: 0.76rem;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}

.prod-select-table thead th[b-fgdw8gh4vr] {
    position: sticky;
    top: 0;
    background: #edf3fa;
    color: #415872;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    font-size: 0.64rem;
    font-weight: 700;
    white-space: nowrap;
    border-bottom: 1px solid #cedae8;
    padding: 0.5rem 0.65rem;
    z-index: 2;
}

.prod-th-sn[b-fgdw8gh4vr], .prod-td-sn[b-fgdw8gh4vr] {
    width: 44px;
    min-width: 38px;
    text-align: center;
    padding: 0.45rem 0.35rem;
}

.prod-th-name[b-fgdw8gh4vr], .prod-td-name[b-fgdw8gh4vr] {
    min-width: 180px;
    width: auto;
}

.prod-th-cat[b-fgdw8gh4vr], .prod-td-cat[b-fgdw8gh4vr] {
    width: 18%;
    min-width: 90px;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prod-th-sub[b-fgdw8gh4vr], .prod-td-sub[b-fgdw8gh4vr] {
    width: 18%;
    min-width: 90px;
    max-width: 140px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prod-th-unit[b-fgdw8gh4vr], .prod-td-unit[b-fgdw8gh4vr] {
    width: 65px;
    min-width: 55px;
    text-align: center;
    padding: 0.45rem 0.35rem;
}

.prod-select-row[b-fgdw8gh4vr] {
    cursor: pointer;
    transition: background-color 0.12s ease;
}

.prod-select-row td[b-fgdw8gh4vr] {
    padding: 0.48rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    color: #334155;
    background-color: #ffffff;
}

/* Clearly visible active / highlighted row in Bootstrap 5 */
.prod-select-row:hover td[b-fgdw8gh4vr],
.prod-select-row.active td[b-fgdw8gh4vr] {
    background-color: #e2edfb !important;
    color: #0b3160 !important;
}

.prod-select-row:hover td:first-child[b-fgdw8gh4vr],
.prod-select-row.active td:first-child[b-fgdw8gh4vr] {
    box-shadow: inset 4px 0 0 #1d3f72;
}

.prod-select-row.selected td[b-fgdw8gh4vr] {
    background-color: #cde1f9 !important;
}

.prod-td-sn[b-fgdw8gh4vr] {
    font-weight: 700;
    color: #8a97a8;
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.prod-name-text[b-fgdw8gh4vr] {
    font-weight: 600;
    color: #1e293b;
}

.prod-select-row:hover .prod-name-text[b-fgdw8gh4vr],
.prod-select-row.active .prod-name-text[b-fgdw8gh4vr] {
    color: #0b3160;
    font-weight: 700;
}

.prod-select-jan[b-fgdw8gh4vr] {
    font-size: 0.65rem;
    font-family: monospace;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 0.05rem 0.35rem;
    border-radius: 4px;
    color: #475569;
    font-weight: normal;
}

.prod-select-cat-badge[b-fgdw8gh4vr] {
    font-size: 0.63rem;
    font-weight: 600;
    background: #eef4fc;
    color: #285eaa;
    border-radius: 4px;
    padding: 0.1rem 0.4rem;
    border: 1px solid #d6e5f8;
    white-space: nowrap;
}

.prod-td-sub[b-fgdw8gh4vr] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.prod-select-unit-badge[b-fgdw8gh4vr] {
    font-size: 0.66rem;
    font-weight: 600;
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #334155;
    border-radius: 5px;
    padding: 0.15rem 0.45rem;
}
/* /Components/Shared/ToastContainer.razor.rz.scp.css */
/* top clears .app-topbar-nav (68px + 3px top border in the branded theme) with room to spare --
   the topbar's own z-index is 1000, but a fixed offset (not z-index alone) is what keeps a toast from
   visually overlapping the nav bar's own controls (search, notifications, the user menu). */
.toast-stack[b-k9wacbmw39]{position:fixed;top:5.5rem;right:1rem;z-index:2100;display:flex;flex-direction:column;gap:.5rem;max-width:380px;pointer-events:none;max-height:calc(100vh - 6.5rem);overflow-y:auto}
.toast-item[b-k9wacbmw39]{pointer-events:auto;display:flex;align-items:center;gap:.55rem;padding:.65rem .8rem;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.18);font-size:.78rem;font-weight:600;color:#334155;border-left:4px solid #94a3b8;animation:toast-in-b-k9wacbmw39 .18s ease-out}
.toast-item span[b-k9wacbmw39]{flex:1;line-height:1.4}
.toast-item .bi:first-child[b-k9wacbmw39]{flex:0 0 auto;font-size:.95rem}
.toast-close[b-k9wacbmw39]{border:0;background:transparent;color:#94a3b8;padding:.1rem;font-size:.85rem;flex:0 0 auto;cursor:pointer}
.toast-close:hover[b-k9wacbmw39]{color:#475569}
.toast-success[b-k9wacbmw39]{border-left-color:#16a34a}
.toast-success .bi:first-child[b-k9wacbmw39]{color:#16a34a}
.toast-error[b-k9wacbmw39]{border-left-color:#dc2626}
.toast-error .bi:first-child[b-k9wacbmw39]{color:#dc2626}
.toast-warning[b-k9wacbmw39]{border-left-color:#d97706}
.toast-warning .bi:first-child[b-k9wacbmw39]{color:#d97706}
.toast-info[b-k9wacbmw39]{border-left-color:#2563eb}
.toast-info .bi:first-child[b-k9wacbmw39]{color:#2563eb}

@keyframes toast-in-b-k9wacbmw39{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:650px){.toast-stack[b-k9wacbmw39]{left:1rem;right:1rem;max-width:none}}

/* Sticky toasts carry something to act on (a PI finding): the close button is the only way out, so it
   is made obvious, and the text may run to a few lines. */
.toast-item.sticky[b-k9wacbmw39]{align-items:flex-start;font-weight:500}
.toast-item.sticky .toast-close[b-k9wacbmw39]{color:#64748b;font-size:1rem}
/* /Pages/Attendance/Pages/Attendance.razor.rz.scp.css */
.attendance-page[b-layif0np1n] {
    color: #213d53;
}

.manual-attendance-card[b-layif0np1n] {
    padding: .9rem 1rem;
    background: #fff;
    border: 1px solid #d7e2ec;
    border-radius: .62rem;
    box-shadow: 0 .18rem .65rem rgba(23, 58, 91, .07);
}

.attendance-primary[b-layif0np1n],
.attendance-danger[b-layif0np1n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 1.75rem;
    border-radius: .3rem;
    padding: .3rem .75rem;
    font-size: .75rem;
    font-weight: 750;
    line-height: 1;
}

.attendance-primary[b-layif0np1n] {
    border: 1px solid var(--brand-navy, #155b95);
    background: var(--brand-navy, #155b95);
    color: #fff;
}

.attendance-danger[b-layif0np1n] {
    border: 1px solid #ee3d47;
    background: #ee3d47;
    color: #fff;
}

.attendance-primary:disabled[b-layif0np1n],
.attendance-danger:disabled[b-layif0np1n] {
    opacity: .55;
}

.manual-entry-grid[b-layif0np1n] {
    display: grid;
    grid-template-columns: 215px 170px 115px minmax(12px, 1fr) 80px minmax(12px, 1fr);
    column-gap: 3.2rem;
    align-items: end;
    padding: .05rem 0 .65rem;
}

.date-field[b-layif0np1n] {
    grid-column: 1;
}

.punch-choice[b-layif0np1n] {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 2rem;
    min-height: 1.75rem;
    padding-bottom: .05rem;
}

.punch-choice[b-layif0np1n]  label {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    margin: 0;
    color: #263f54;
    font-size: .75rem;
    white-space: nowrap;
}

.punch-choice[b-layif0np1n]  input {
    accent-color: var(--brand-navy, #155b95);
}

.time-field[b-layif0np1n] {
    grid-column: 3;
}

.add-entry[b-layif0np1n] {
    grid-column: 5;
    width: 80px;
    min-width: 80px;
    margin-bottom: .02rem;
}

.field[b-layif0np1n] {
    min-width: 0;
}

.field label[b-layif0np1n] {
    display: block;
    margin-bottom: .2rem;
    color: #1d3448;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.15;
}

.field label b[b-layif0np1n] {
    color: #e5252a;
}

.field label small[b-layif0np1n] {
    color: #748798;
    font-weight: 400;
}

.field .form-control[b-layif0np1n],
.field .form-select[b-layif0np1n] {
    min-height: 1.65rem;
    height: 1.65rem;
    border: 1px solid #aebdca;
    border-radius: .22rem;
    background: #fff;
    padding-top: .2rem;
    padding-bottom: .2rem;
    font-size: .74rem;
}

.field textarea.form-control[b-layif0np1n] {
    min-height: 1.9rem;
    height: 1.9rem;
    resize: none;
}

.manual-lines-table[b-layif0np1n] {
    overflow: auto;
    border-bottom: 1px solid #d8e2ea;
}

.manual-lines-table table[b-layif0np1n] {
    width: 100%;
    min-width: 690px;
    border-collapse: collapse;
}

.manual-lines-table th[b-layif0np1n] {
    padding: .42rem .5rem;
    background: var(--brand-navy, #155b95);
    color: #fff;
    font-size: .72rem;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
}

.manual-lines-table td[b-layif0np1n] {
    padding: .42rem .5rem;
    border-top: 1px solid #e0e7ed;
    color: #334f64;
    font-size: .74rem;
}

.remove-line[b-layif0np1n] {
    display: grid;
    place-items: center;
    width: 1.6rem;
    height: 1.6rem;
    border: 1px solid #e8a4a8;
    border-radius: .25rem;
    background: #fff4f4;
    color: #c92c37;
}

.manual-request-grid[b-layif0np1n] {
    display: grid;
    grid-template-columns: 327px 212px 212px 327px minmax(12px, 1fr) auto;
    column-gap: 1rem;
    align-items: start;
    padding-top: .7rem;
}

.document-field[b-layif0np1n] {
    position: relative;
}

.document-field[b-layif0np1n]  input[type="file"] {
    padding: .12rem .3rem;
}

.selected-document[b-layif0np1n] {
    display: block;
    margin-top: .18rem;
    overflow: hidden;
    color: #42647c;
    font-size: .67rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.request-actions[b-layif0np1n] {
    grid-column: 6;
    display: flex;
    align-self: start;
    gap: .55rem;
    padding-top: 1rem;
    white-space: nowrap;
}

.attendance-warning[b-layif0np1n] {
    margin-top: .7rem;
    padding: .55rem .65rem;
    border-radius: .35rem;
    background: #fff4dd;
    color: #805b00;
    font-size: .73rem;
}

@media (max-width: 1380px) {
    .manual-entry-grid[b-layif0np1n] {
        grid-template-columns: 215px 170px 115px minmax(12px, 1fr) 80px;
        column-gap: 2rem;
    }

    .manual-request-grid[b-layif0np1n] {
        grid-template-columns: repeat(4, minmax(170px, 1fr)) auto;
    }

    .request-actions[b-layif0np1n] {
        grid-column: 5;
    }
}

@media (max-width: 1050px) {
    .manual-entry-grid[b-layif0np1n] {
        grid-template-columns: minmax(190px, 1fr) minmax(170px, .8fr) 120px 80px;
        column-gap: 1rem;
    }

    .add-entry[b-layif0np1n] {
        grid-column: 4;
    }

    .manual-request-grid[b-layif0np1n] {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
        gap: .75rem 1rem;
    }

    .request-actions[b-layif0np1n] {
        grid-column: auto;
        padding-top: 0;
    }
}

@media (max-width: 760px) {
    .manual-entry-grid[b-layif0np1n],
    .manual-request-grid[b-layif0np1n] {
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .date-field[b-layif0np1n],
    .punch-choice[b-layif0np1n],
    .time-field[b-layif0np1n],
    .add-entry[b-layif0np1n],
    .request-actions[b-layif0np1n] {
        grid-column: 1;
    }

    .punch-choice[b-layif0np1n] {
        justify-content: flex-start;
    }

    .add-entry[b-layif0np1n] {
        width: 100%;
    }

    .request-actions[b-layif0np1n] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .request-actions button[b-layif0np1n] {
        width: 100%;
    }
}
/* /Pages/Attendance/Pages/AttendanceApproval.razor.rz.scp.css */
.attendance-approval-page[b-7oeopba6fs] {
    color: #233d53;
}

.attendance-card[b-7oeopba6fs] {
    background: #fff;
    border: 1px solid #d7e2ec;
    border-radius: .65rem;
    box-shadow: 0 .18rem .65rem rgba(23, 58, 91, .07);
}

.approval-report-card[b-7oeopba6fs] {
    padding: .8rem .85rem 1rem;
    overflow: hidden;
}

.approval-filters[b-7oeopba6fs] {
    display: grid;
    grid-template-columns: 215px 215px 215px minmax(250px, 1fr);
    gap: 2.75rem;
    align-items: end;
}

.field[b-7oeopba6fs] {
    min-width: 0;
}

.field label[b-7oeopba6fs] {
    display: block;
    margin-bottom: .2rem;
    color: #273f53;
    font-size: .73rem;
    font-weight: 700;
    line-height: 1.15;
}

.field label small[b-7oeopba6fs] {
    color: #778a9b;
    font-weight: 400;
}

.field .form-control[b-7oeopba6fs],
.field .form-select[b-7oeopba6fs] {
    min-height: 1.7rem;
    height: 1.7rem;
    border: 1px solid #aebdca;
    border-radius: .2rem;
    padding-top: .18rem;
    padding-bottom: .18rem;
    background-color: #fff;
    font-size: .74rem;
}

.field textarea.form-control[b-7oeopba6fs] {
    min-height: 4.5rem;
    height: auto;
}

.attendance-primary[b-7oeopba6fs],
.attendance-secondary[b-7oeopba6fs],
.attendance-danger[b-7oeopba6fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 80px;
    min-height: 1.75rem;
    border-radius: .28rem;
    padding: .3rem .75rem;
    font-size: .74rem;
    font-weight: 750;
    line-height: 1;
}

.attendance-primary[b-7oeopba6fs] {
    border: 1px solid var(--brand-navy, #155b95);
    background: var(--brand-navy, #155b95);
    color: #fff;
}

.attendance-secondary[b-7oeopba6fs] {
    border: 1px solid #8eb2d4;
    background: #f4f9fd;
    color: #155b95;
}

.attendance-danger[b-7oeopba6fs] {
    border: 1px solid #b42318;
    background: #b42318;
    color: #fff;
}

.attendance-primary:disabled[b-7oeopba6fs],
.attendance-danger:disabled[b-7oeopba6fs] {
    opacity: .58;
}

.approval-actions[b-7oeopba6fs] {
    display: flex;
    justify-content: flex-end;
    gap: .45rem;
    margin: 1rem 0 .55rem;
}

.attendance-table-wrap[b-7oeopba6fs] {
    overflow: auto;
    border: 1px solid #d3dee8;
    border-radius: .18rem;
    box-shadow: 0 .1rem .35rem rgba(23, 58, 91, .12);
}

.attendance-table-wrap table[b-7oeopba6fs] {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
    table-layout: fixed;
}

.attendance-table-wrap th[b-7oeopba6fs] {
    height: 1.8rem;
    padding: .35rem .45rem;
    background: var(--brand-navy, #155b95);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
}

.attendance-table-wrap td[b-7oeopba6fs] {
    height: 1.9rem;
    padding: .32rem .45rem;
    border-top: 1px solid #bdc8d1;
    color: #344b5f;
    font-size: .73rem;
    line-height: 1.15;
    vertical-align: middle;
}

.attendance-table-wrap tbody tr:first-child td[b-7oeopba6fs] {
    border-top: 0;
}

.attendance-table-wrap tbody tr:hover td[b-7oeopba6fs] {
    background: #f4f8fb;
}

.attendance-table-wrap th:nth-child(1)[b-7oeopba6fs] { width: 42px; }
.attendance-table-wrap th:nth-child(2)[b-7oeopba6fs] { width: 170px; }
.attendance-table-wrap th:nth-child(3)[b-7oeopba6fs] { width: 155px; }
.attendance-table-wrap th:nth-child(4)[b-7oeopba6fs] { width: 105px; }
.attendance-table-wrap th:nth-child(5)[b-7oeopba6fs] { width: 125px; }
.attendance-table-wrap th:nth-child(6)[b-7oeopba6fs] { width: 135px; }
.attendance-table-wrap th:nth-child(7)[b-7oeopba6fs] { width: 125px; }
.attendance-table-wrap th:nth-child(8)[b-7oeopba6fs] { width: 175px; }
.attendance-table-wrap th:nth-child(9)[b-7oeopba6fs] { width: 90px; }

.empty[b-7oeopba6fs] {
    padding: 1.1rem !important;
    color: #76899a !important;
    text-align: center !important;
}

.queue-action[b-7oeopba6fs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    min-height: 1.45rem;
    border: 1px solid #c48a00;
    border-radius: .48rem;
    padding: .16rem .45rem;
    background: #fffdf4;
    color: #a76f00;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.queue-action.approved[b-7oeopba6fs] {
    border-color: #26834b;
    background: #effaf2;
    color: #187140;
}

.queue-action.rejected[b-7oeopba6fs] {
    border-color: #bd3941;
    background: #fff3f3;
    color: #ad242b;
}

.attendance-backdrop[b-7oeopba6fs] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(8, 28, 47, .45);
}

.attendance-modal[b-7oeopba6fs] {
    width: min(760px, 100%);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(4, 26, 46, .28);
}

.attendance-modal > header[b-7oeopba6fs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .8rem 1rem;
    border-bottom: 1px solid #d9e4ee;
    background: #edf5fb;
}

.attendance-modal h2[b-7oeopba6fs] {
    margin: 0;
    color: #163f62;
    font-size: 1rem;
}

.attendance-modal > header button[b-7oeopba6fs] {
    border: 0;
    background: transparent;
    color: #496277;
}

.attendance-modal-body[b-7oeopba6fs] {
    padding: 1rem;
}

.attendance-modal footer[b-7oeopba6fs] {
    display: flex;
    justify-content: flex-end;
    gap: .6rem;
    padding: .8rem 1rem;
    border-top: 1px solid #dbe5ed;
}

.approval-summary[b-7oeopba6fs] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.approval-summary > div[b-7oeopba6fs],
.reason-box[b-7oeopba6fs] {
    padding: .65rem .75rem;
    border: 1px solid #dbe6ef;
    border-radius: .4rem;
    background: #f8fbfd;
}

.approval-summary span[b-7oeopba6fs],
.reason-box > span[b-7oeopba6fs],
.action-history > span[b-7oeopba6fs] {
    display: block;
    margin-bottom: .2rem;
    color: #6d8194;
    font-size: .7rem;
    font-weight: 700;
}

.approval-summary strong[b-7oeopba6fs],
.approval-summary small[b-7oeopba6fs] {
    display: block;
}

.approval-summary strong[b-7oeopba6fs] {
    color: #29475f;
    font-size: .85rem;
}

.approval-summary small[b-7oeopba6fs] {
    color: #718497;
    font-size: .7rem;
}

.reason-box[b-7oeopba6fs] {
    margin-top: .7rem;
}

.reason-box p[b-7oeopba6fs] {
    margin: 0;
    color: #34495e;
    font-size: .8rem;
}

.action-history[b-7oeopba6fs] {
    margin: .8rem 0;
}

.action-history > div[b-7oeopba6fs] {
    display: flex;
    gap: .5rem;
    padding: .45rem 0;
    border-bottom: 1px solid #e2eaf1;
}

.action-history i[b-7oeopba6fs] {
    color: #168255;
}

.action-history p[b-7oeopba6fs],
.action-history strong[b-7oeopba6fs],
.action-history small[b-7oeopba6fs] {
    display: block;
    margin: 0;
}

.action-history strong[b-7oeopba6fs] {
    font-size: .77rem;
}

.action-history small[b-7oeopba6fs] {
    color: #718497;
    font-size: .69rem;
}

@media (max-width: 1050px) {
    .approval-filters[b-7oeopba6fs] {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
        gap: .7rem 1rem;
    }
}

@media (max-width: 620px) {
    .approval-summary[b-7oeopba6fs],
    .approval-filters[b-7oeopba6fs] {
        grid-template-columns: 1fr;
    }

    .approval-actions[b-7oeopba6fs] {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .attendance-backdrop[b-7oeopba6fs] {
        padding: .45rem;
    }

    .attendance-modal footer .attendance-primary[b-7oeopba6fs],
    .attendance-modal footer .attendance-secondary[b-7oeopba6fs],
    .attendance-modal footer .attendance-danger[b-7oeopba6fs] {
        flex: 1;
    }
}
/* /Pages/Holiday/Pages/HolidayCalendar.razor.rz.scp.css */
.calendar-page[b-qk6zhrw7dn]{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.9fr);gap:.9rem;color:var(--text,#0f172a)}
.calendar-card[b-qk6zhrw7dn]{background:#fff;border:1px solid var(--border,#d6e1ed);border-radius:.75rem;box-shadow:0 3px 14px rgba(15,49,96,.07);overflow:hidden}
.calendar-controls[b-qk6zhrw7dn]{padding:.8rem 1rem;border-bottom:1px solid #dce4ee;background:linear-gradient(90deg,#edf4fd,#fff);display:flex;align-items:end;justify-content:space-between;gap:1rem}
.month-caption[b-qk6zhrw7dn]{font-size:.95rem;font-weight:800;color:var(--brand-navy)}
.calendar-selectors[b-qk6zhrw7dn]{display:flex;gap:.55rem}.calendar-selectors .form-select[b-qk6zhrw7dn]{width:145px;height:2.1rem;font-size:.76rem;border-color:#aebaca}
.calendar-grid[b-qk6zhrw7dn]{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));overflow:auto}
.weekday-heading[b-qk6zhrw7dn]{min-width:88px;padding:.48rem .3rem;text-align:center;border-right:1px solid #d9e1ea;border-bottom:1px solid #cbd6e3;color:var(--brand-navy);background:#f8fafc;display:flex;flex-direction:column;font-size:.72rem}
.weekday-heading span[b-qk6zhrw7dn]{font-weight:650;color:#158176}.weekday-heading.holiday-heading strong[b-qk6zhrw7dn],.weekday-heading.holiday-heading span[b-qk6zhrw7dn]{color:var(--brand-red,#e5252a)}
.calendar-day[b-qk6zhrw7dn]{position:relative;min-width:88px;height:94px;padding:.4rem;border:0;border-right:1px solid #dce3eb;border-bottom:1px solid #dce3eb;background:#fff;color:#1f2937;text-align:center;display:flex;flex-direction:column;justify-content:space-between;transition:.15s ease}
button.calendar-day:hover[b-qk6zhrw7dn]{background:var(--accent-blue-soft,#edf4fd)}.calendar-day.blank[b-qk6zhrw7dn]{background:#f8fafc}
.calendar-day.holiday[b-qk6zhrw7dn]{background:#fff8f0;box-shadow:inset 0 3px 0 var(--brand-red,#e5252a);color:var(--brand-red,#e5252a)}.calendar-day.holiday .secondary-day[b-qk6zhrw7dn]{color:var(--brand-red,#e5252a)}.calendar-day.selected[b-qk6zhrw7dn]{outline:3px solid var(--accent-blue);outline-offset:-3px}.calendar-day.today[b-qk6zhrw7dn]{background:#edf7ff}
.event-name[b-qk6zhrw7dn]{height:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:750;color:#b42318}.primary-day[b-qk6zhrw7dn]{font-size:.92rem}.secondary-day[b-qk6zhrw7dn]{align-self:flex-end;font-size:.61rem;color:#58708c}
.more-events[b-qk6zhrw7dn]{position:absolute;left:.35rem;bottom:.3rem;font-size:.57rem;color:#8a5900}.calendar-state[b-qk6zhrw7dn]{grid-column:1/-1;min-height:310px;display:flex;align-items:center;justify-content:center;gap:.5rem;color:#64748b;font-size:.78rem}
.notes-card[b-qk6zhrw7dn]{padding:1rem;align-self:start;min-height:185px}.notes-title[b-qk6zhrw7dn]{font-size:.9rem;font-weight:800;color:var(--brand-navy);display:flex;align-items:center;gap:.45rem;margin-bottom:.8rem}.notes-help[b-qk6zhrw7dn]{font-size:.72rem;color:#d92d20;line-height:1.45}.notes-empty[b-qk6zhrw7dn]{font-size:.72rem;color:#64748b}.selected-date[b-qk6zhrw7dn]{padding:.5rem .65rem;border-radius:.45rem;background:#edf4fd;color:var(--brand-navy);font-size:.72rem;font-weight:750;margin-bottom:.7rem}
.note-item[b-qk6zhrw7dn]{display:flex;gap:.55rem;padding:.55rem 0;border-bottom:1px solid #edf0f4;font-size:.72rem}.note-item small[b-qk6zhrw7dn]{display:block;color:#64748b;margin-top:.18rem}.note-dot[b-qk6zhrw7dn]{width:.55rem;height:.55rem;border-radius:50%;background:var(--brand-red,#e5252a);margin-top:.22rem;flex:none}
@media(max-width:950px){.calendar-page[b-qk6zhrw7dn]{grid-template-columns:1fr}.notes-card[b-qk6zhrw7dn]{min-height:0}.calendar-grid[b-qk6zhrw7dn]{grid-template-columns:repeat(7,minmax(78px,1fr))}}
@media(max-width:620px){.calendar-controls[b-qk6zhrw7dn]{align-items:stretch;flex-direction:column}.calendar-selectors .form-select[b-qk6zhrw7dn]{width:50%}.calendar-day[b-qk6zhrw7dn]{height:78px}.event-name[b-qk6zhrw7dn]{font-size:.56rem}}
/* /Pages/Holiday/Pages/HolidayList.razor.rz.scp.css */
.holiday-list-card[b-y13nkazeeb]{background:#fff;border:1px solid var(--border,#d6e1ed);border-radius:.75rem;box-shadow:0 3px 14px rgba(15,49,96,.07);padding:.85rem;color:var(--text,#0f172a)}
.report-filters[b-y13nkazeeb]{display:grid;grid-template-columns:190px 190px minmax(220px,1fr) auto auto auto;gap:.75rem;align-items:end;margin-bottom:.8rem}
.report-field label[b-y13nkazeeb]{display:block;font-size:.7rem;font-weight:750;color:#1f2937;margin-bottom:.27rem}.report-field label b[b-y13nkazeeb]{color:var(--brand-red,#e5252a)}
.report-field .form-select[b-y13nkazeeb]{height:2.2rem;font-size:.76rem;border-color:#aebaca;border-radius:.3rem}
.report-btn[b-y13nkazeeb]{height:2.15rem;border:0;border-radius:.32rem;padding:0 .85rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:.74rem;font-weight:750;white-space:nowrap}.report-btn.primary[b-y13nkazeeb]{background:var(--brand-navy);color:#fff}.report-btn.primary:hover:not(:disabled)[b-y13nkazeeb]{background:var(--brand-navy-dark)}.report-btn:disabled[b-y13nkazeeb]{opacity:.58}
.holiday-report-table-wrap[b-y13nkazeeb]{overflow:auto;border:1px solid #d4dce8;border-radius:.25rem;max-height:65vh}.print-heading[b-y13nkazeeb]{display:none}
.holiday-report-table[b-y13nkazeeb]{width:100%;min-width:1200px;border-collapse:collapse;font-size:.7rem}.holiday-report-table thead[b-y13nkazeeb]{position:sticky;top:0;z-index:2}.holiday-report-table th[b-y13nkazeeb]{background:var(--brand-navy);color:#fff;padding:.48rem .45rem;text-align:left;white-space:nowrap}.holiday-report-table td[b-y13nkazeeb]{padding:.48rem .45rem;border-bottom:1px solid #d7dee8;vertical-align:middle;background:#fff}.holiday-report-table tbody tr:nth-child(even) td[b-y13nkazeeb]{background:#f4f8fd}.holiday-report-table tbody tr:hover td[b-y13nkazeeb]{background:#eaf2fb}
.holiday-name[b-y13nkazeeb]{font-weight:700;min-width:155px}.scope-column[b-y13nkazeeb]{min-width:240px;max-width:390px;white-space:normal;line-height:1.4}.state-cell[b-y13nkazeeb]{text-align:center!important;color:#64748b;padding:2rem!important}
@media(max-width:1100px){.report-filters[b-y13nkazeeb]{grid-template-columns:repeat(3,1fr)}.report-btn[b-y13nkazeeb]{width:100%}}
@media(max-width:650px){.holiday-list-card[b-y13nkazeeb]{padding:.55rem}.report-filters[b-y13nkazeeb]{grid-template-columns:1fr 1fr}.branch-filter[b-y13nkazeeb]{grid-column:1/-1}.print-action[b-y13nkazeeb]{grid-column:auto}.report-btn[b-y13nkazeeb]{padding:0 .55rem}}
/* /Pages/Holiday/Pages/HolidaySetup.razor.rz.scp.css */
.holiday-page[b-pnh5aujt79]{display:flex;flex-direction:column;gap:.85rem;color:var(--text,#0f172a)}
.holiday-card[b-pnh5aujt79]{background:#fff;border:1px solid var(--border,#d9e1ec);border-radius:.55rem;box-shadow:0 2px 9px rgba(15,49,96,.07);padding:.8rem}
.holiday-toolbar[b-pnh5aujt79]{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem;flex-wrap:wrap}
.annual-toolbar[b-pnh5aujt79]{display:grid;grid-template-columns:auto minmax(220px,360px) auto;justify-content:start}
.holiday-btn[b-pnh5aujt79]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:.3rem;padding:.48rem .85rem;font-size:.78rem;font-weight:700;line-height:1.1;transition:.15s ease}
.holiday-btn.primary[b-pnh5aujt79]{background:var(--brand-navy);color:#fff}.holiday-btn.primary:hover:not(:disabled)[b-pnh5aujt79]{background:var(--brand-navy-dark)}
.holiday-btn.secondary[b-pnh5aujt79]{background:#eef2f7;color:var(--brand-navy);border:1px solid #d7dfeb}
.holiday-btn:disabled[b-pnh5aujt79]{opacity:.6;cursor:not-allowed}
.holiday-search[b-pnh5aujt79]{height:2.08rem;border:1px solid #aebaca;border-radius:.3rem;background:#fff;display:flex;align-items:center;gap:.45rem;padding:0 .65rem;color:#58708c}
.holiday-search:focus-within[b-pnh5aujt79]{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-soft)}
.holiday-search input[b-pnh5aujt79]{border:0;outline:0;width:100%;font-size:.78rem;color:#1f2937;background:transparent}
.holiday-table-wrap[b-pnh5aujt79]{overflow:auto;border:1px solid #d4dce8;border-radius:.2rem}
.weekly-table[b-pnh5aujt79]{max-height:15rem}.annual-table[b-pnh5aujt79]{max-height:31rem}
.holiday-table[b-pnh5aujt79]{width:100%;border-collapse:collapse;font-size:.75rem;min-width:820px}
.holiday-table thead[b-pnh5aujt79]{position:sticky;top:0;z-index:2}
.holiday-table th[b-pnh5aujt79]{background:var(--brand-navy);color:#fff;font-weight:700;text-align:left;padding:.47rem .55rem;white-space:nowrap}
.holiday-table td[b-pnh5aujt79]{padding:.48rem .55rem;border-bottom:1px solid #d7dee8;vertical-align:middle;background:#fff}
.holiday-table tbody tr:nth-child(even) td[b-pnh5aujt79]{background:#f7faff}.holiday-table tbody tr:hover td[b-pnh5aujt79]{background:#edf4fd}
.holiday-table .action-column[b-pnh5aujt79]{width:76px;text-align:center}.holiday-table .scope-column[b-pnh5aujt79]{min-width:260px}
.scope-cell[b-pnh5aujt79]{min-width:260px;max-width:460px;white-space:normal;line-height:1.45;color:#334155}
.state-cell[b-pnh5aujt79]{text-align:center!important;color:#64748b;padding:1.5rem!important}
.row-actions[b-pnh5aujt79]{text-align:center;white-space:nowrap}.row-actions button[b-pnh5aujt79]{background:none;border:0;padding:.18rem .25rem;color:#1581c4;font-size:.92rem}.row-actions button.danger[b-pnh5aujt79]{color:var(--brand-red,#e5252a)}
.boolean-pill[b-pnh5aujt79]{display:inline-block;border-radius:999px;padding:.14rem .42rem;font-size:.66rem;font-weight:700;background:#eef2f7;color:#52647a}
.boolean-pill.yes[b-pnh5aujt79]{background:#e7f6ed;color:#19703b}.boolean-pill.employee[b-pnh5aujt79]{background:#fff2d8;color:#8a5900}
.holiday-modal-backdrop[b-pnh5aujt79]{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:1rem}
.holiday-modal[b-pnh5aujt79]{width:min(100%,800px);overflow:visible;background:#fff;border-radius:.45rem;box-shadow:0 22px 60px rgba(2,20,47,.3);display:flex;flex-direction:column}
.weekly-modal[b-pnh5aujt79]{width:min(95vw,800px)}.annual-modal[b-pnh5aujt79]{width:min(95vw,920px)}
.holiday-modal-header[b-pnh5aujt79]{display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem;border-bottom:1px solid #dce3ec;background:#f8fafc;border-radius:.45rem .45rem 0 0}
.holiday-modal-header h2[b-pnh5aujt79]{margin:0;color:var(--brand-navy);font-size:1rem;font-weight:750}
.modal-close[b-pnh5aujt79]{width:1.55rem;height:1.55rem;border:0;border-radius:.25rem;background:#ff4d4f;color:#fff;display:grid;place-items:center;font-size:.7rem}
.holiday-modal-body[b-pnh5aujt79]{padding:.9rem;overflow:visible}.annual-modal .holiday-modal-body[b-pnh5aujt79]{min-height:20rem}
.weekly-note[b-pnh5aujt79]{border-left:3px solid var(--brand-red,#e5252a);background:#f1f6fd;color:#31506f;padding:.55rem .7rem;margin-bottom:.85rem;font-size:.72rem;font-weight:600}
.holiday-form-grid[b-pnh5aujt79]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1rem;align-items:start}
.annual-form-grid[b-pnh5aujt79]{grid-template-columns:repeat(3,minmax(0,1fr))}
.holiday-field[b-pnh5aujt79]{min-width:0;position:relative}.holiday-field label[b-pnh5aujt79]{display:block;font-size:.72rem;font-weight:700;margin-bottom:.28rem;color:#1f2937}.holiday-field label b[b-pnh5aujt79]{color:var(--brand-red,#e5252a)}
.holiday-field .form-control[b-pnh5aujt79],.holiday-field .form-select[b-pnh5aujt79]{height:2.2rem;font-size:.76rem;border-color:#aebaca;border-radius:.28rem}
.holiday-field small[b-pnh5aujt79]{display:block;margin-top:.3rem;color:#64748b;font-size:.67rem}
.employee-selector[b-pnh5aujt79]{grid-column:1/-1}
.holiday-check[b-pnh5aujt79]{display:flex;align-items:center;gap:.45rem;min-height:2.2rem;margin-top:1.1rem;font-size:.76rem;font-weight:700;color:#1f2937;cursor:pointer}
.holiday-check input[b-pnh5aujt79]{width:1rem;height:1rem;accent-color:var(--brand-navy)}
.holiday-modal-footer[b-pnh5aujt79]{display:flex;justify-content:flex-end;gap:.5rem;padding:.7rem .9rem;border-top:1px solid #dce3ec;background:#f8fafc;border-radius:0 0 .45rem .45rem}
[b-pnh5aujt79] .cbs-input{min-height:2.2rem;font-size:.76rem;border-color:#aebaca;border-radius:.28rem}
[b-pnh5aujt79] .cbs-select-panel{z-index:1250}
[b-pnh5aujt79] .holiday-scope-select .cbs-select-panel{max-height:13rem!important}
[b-pnh5aujt79] .holiday-scope-select .cbs-select-options{min-height:0;max-height:9.5rem;overflow-y:auto}
@media(max-width:780px){.annual-toolbar[b-pnh5aujt79]{grid-template-columns:1fr 1fr}.holiday-search[b-pnh5aujt79]{grid-column:1/-1;grid-row:2}.holiday-form-grid[b-pnh5aujt79],.annual-form-grid[b-pnh5aujt79]{grid-template-columns:1fr 1fr}.employee-selector[b-pnh5aujt79]{grid-column:1/-1}}
@media(max-width:780px){.holiday-modal[b-pnh5aujt79]{max-height:calc(100vh - 1rem)}.holiday-modal-body[b-pnh5aujt79]{overflow-y:auto;overflow-x:visible}.annual-modal .holiday-modal-body[b-pnh5aujt79]{min-height:0}}
@media(max-width:520px){.holiday-card[b-pnh5aujt79]{padding:.55rem}.annual-toolbar[b-pnh5aujt79]{display:flex}.holiday-search[b-pnh5aujt79]{order:3;width:100%}.holiday-form-grid[b-pnh5aujt79],.annual-form-grid[b-pnh5aujt79]{grid-template-columns:1fr}.holiday-modal-backdrop[b-pnh5aujt79]{padding:.35rem;align-items:flex-start}.holiday-modal[b-pnh5aujt79]{margin-top:.35rem;max-height:calc(100vh - .7rem)}.holiday-check[b-pnh5aujt79]{margin-top:0}.employee-selector[b-pnh5aujt79]{grid-column:auto}}
/* /Pages/Leave/Pages/LeaveApproval.razor.rz.scp.css */
.leave-approval-page[b-2zlydcpr44]{min-height:70vh}.leave-approval-filters[b-2zlydcpr44]{display:grid;grid-template-columns:repeat(3,minmax(155px,220px)) minmax(220px,1fr) auto;gap:.7rem;align-items:end;margin-bottom:.8rem;padding:.8rem 1rem;background:var(--surface,#fff);border:1px solid var(--border-color,#d7e1eb);border-radius:.6rem;box-shadow:0 .15rem .5rem rgba(20,57,90,.06)}.leave-filter-field[b-2zlydcpr44]{min-width:0}.leave-filter-field label[b-2zlydcpr44]{display:block;margin:0 0 .25rem;color:#244b6a;font-size:.7rem;font-weight:750}.leave-filter-field .form-select[b-2zlydcpr44],.leave-filter-field .form-control[b-2zlydcpr44]{height:2rem;min-height:2rem;border-color:#b6c7d8;font-size:.76rem}.leave-filter-view[b-2zlydcpr44]{align-self:end;white-space:nowrap}.leave-approval-card[b-2zlydcpr44]{background:var(--surface,#fff);border:1px solid var(--border-color,#d7e1eb);border-radius:.6rem;box-shadow:0 .15rem .5rem rgba(20,57,90,.06);overflow:hidden}.leave-approval-table[b-2zlydcpr44]{overflow-x:auto}.leave-approval-table table[b-2zlydcpr44]{width:100%;min-width:1000px;border-collapse:collapse}.leave-approval-table th[b-2zlydcpr44]{padding:.72rem .85rem;background:#eaf3fa;color:#244b6a;font-size:.76rem;font-weight:700;text-align:left;white-space:nowrap}.leave-approval-table td[b-2zlydcpr44]{padding:.72rem .85rem;border-top:1px solid #e2eaf1;color:#34495e;font-size:.84rem;vertical-align:middle}.leave-approval-table td strong[b-2zlydcpr44],.leave-approval-table td small[b-2zlydcpr44]{display:block}.leave-approval-table td small[b-2zlydcpr44]{margin-top:.12rem;color:#718396;font-size:.72rem}.leave-approval-empty[b-2zlydcpr44]{text-align:center!important;color:#708294;padding:1.5rem!important}.leave-approval-type[b-2zlydcpr44]{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;white-space:nowrap}.leave-approval-type[b-2zlydcpr44]:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--leave-color,#155b95)}.leave-approval-reason[b-2zlydcpr44]{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leave-approval-status[b-2zlydcpr44]{display:inline-flex;padding:.16rem .45rem;border-radius:999px;background:#e9f2fb;color:#155b95;font-size:.68rem;font-weight:700}.leave-approval-status.approved[b-2zlydcpr44]{background:#dcf5e4;color:#187140}.leave-approval-status.rejected[b-2zlydcpr44],.leave-approval-status.cancelled[b-2zlydcpr44]{background:#fde8e8;color:#ad242b}.leave-approval-complete[b-2zlydcpr44]{color:#718396;font-size:.72rem}.leave-btn.outline[b-2zlydcpr44]{border:1px solid #8eb2d4;background:#f4f9fd;color:#155b95}.leave-btn.danger[b-2zlydcpr44]{background:#b42318;color:#fff}.leave-approval-backdrop[b-2zlydcpr44]{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:rgba(8,28,47,.42);padding:1rem}.leave-approval-modal[b-2zlydcpr44]{width:min(720px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:.7rem;box-shadow:0 1rem 3rem rgba(4,26,46,.28)}.leave-approval-modal>header[b-2zlydcpr44]{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid #d9e4ee;background:#edf5fb}.leave-approval-modal h2[b-2zlydcpr44]{margin:0;color:#163f62;font-size:1rem;font-weight:700}.leave-approval-close[b-2zlydcpr44]{border:0;background:transparent;color:#496277;font-size:1rem}.leave-approval-modal-body[b-2zlydcpr44]{padding:1rem}.leave-approval-summary[b-2zlydcpr44]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.leave-approval-summary>div[b-2zlydcpr44]{min-width:0;padding:.65rem .75rem;border:1px solid #dbe6ef;border-radius:.4rem;background:#f8fbfd}.leave-approval-summary span[b-2zlydcpr44],.leave-approval-reason-box>span[b-2zlydcpr44]{display:block;margin-bottom:.2rem;color:#6d8194;font-size:.72rem;font-weight:650}.leave-approval-summary strong[b-2zlydcpr44]{display:flex;align-items:center;gap:.35rem;color:#29475f;font-size:.86rem}.leave-approval-summary strong i[b-2zlydcpr44]{display:inline-block;width:.55rem;height:.55rem;border-radius:50%}.leave-approval-summary small[b-2zlydcpr44]{display:block;margin-top:.18rem;color:#657b8f;font-size:.75rem}.leave-approval-reason-box[b-2zlydcpr44]{margin-bottom:1rem;padding:.75rem;border-radius:.4rem;background:#f5f9fc}.leave-approval-reason-box p[b-2zlydcpr44]{margin:0;color:#34495e;font-size:.87rem;white-space:pre-wrap}.leave-approval-field label[b-2zlydcpr44]{display:block;margin-bottom:.35rem;color:#40596e;font-size:.82rem;font-weight:650}.leave-approval-field label small[b-2zlydcpr44]{font-weight:400;color:#7b8e9e}.leave-approval-modal footer[b-2zlydcpr44]{display:flex;justify-content:flex-end;gap:.65rem;padding:.8rem 1rem;border-top:1px solid #dbe5ed}@media(max-width:850px){.leave-approval-filters[b-2zlydcpr44]{grid-template-columns:repeat(2,minmax(150px,1fr))}.leave-filter-search[b-2zlydcpr44]{grid-column:span 2}}@media(max-width:600px){.leave-approval-filters[b-2zlydcpr44]{grid-template-columns:1fr}.leave-filter-search[b-2zlydcpr44]{grid-column:auto}.leave-filter-view[b-2zlydcpr44]{width:100%}.leave-approval-summary[b-2zlydcpr44]{grid-template-columns:1fr}.leave-approval-backdrop[b-2zlydcpr44]{padding:.5rem}.leave-approval-modal footer .leave-btn[b-2zlydcpr44]{flex:1}}
/* /Pages/Leave/Pages/LeaveApprovalMapping.razor.rz.scp.css */
.approval-route-page[b-qdncd0rt0y]{padding:14px;display:grid;gap:14px;color:var(--text-primary,#1b3657)}
.approval-route-page .leave-btn[b-qdncd0rt0y],.approval-route-modal .leave-btn[b-qdncd0rt0y]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:33px;padding:6px 12px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:700;white-space:nowrap}
.approval-route-page .leave-btn.primary[b-qdncd0rt0y],.approval-route-modal .leave-btn.primary[b-qdncd0rt0y]{background:var(--brand-navy);color:#fff}
.approval-route-page .leave-btn.primary:hover[b-qdncd0rt0y],.approval-route-modal .leave-btn.primary:hover[b-qdncd0rt0y]{background:var(--brand-navy-dark)}
.approval-route-modal .leave-btn.outline[b-qdncd0rt0y]{border-color:#a8bbcf;background:#fff;color:var(--brand-navy)}
.approval-route-page .leave-btn:disabled[b-qdncd0rt0y],.approval-route-modal .leave-btn:disabled[b-qdncd0rt0y]{opacity:.6}
.approval-route-card[b-qdncd0rt0y]{background:#fff;border:1px solid #d5e1ef;border-radius:10px;box-shadow:0 3px 12px #173f6b0d;overflow:hidden}
.approval-route-toolbar[b-qdncd0rt0y]{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px}
.approval-route-toolbar .form-control[b-qdncd0rt0y]{max-width:320px}
.approval-route-table-wrap[b-qdncd0rt0y]{overflow:auto}
.approval-route-table[b-qdncd0rt0y]{width:100%;border-collapse:collapse;font-size:13px}
.approval-route-table th[b-qdncd0rt0y]{background:#e8f1fc;color:#234e82;text-align:left;font-weight:700;white-space:nowrap}
.approval-route-table th[b-qdncd0rt0y],.approval-route-table td[b-qdncd0rt0y]{padding:10px 12px;border-bottom:1px solid #dce6f2;vertical-align:middle}
.approval-route-table tr:last-child td[b-qdncd0rt0y]{border-bottom:0}
.approval-route-table td .form-control[b-qdncd0rt0y]{min-width:75px;max-width:110px}
.approval-route-empty[b-qdncd0rt0y]{text-align:center;color:#61748b;padding:24px!important}
.approval-route-actions[b-qdncd0rt0y]{white-space:nowrap}
.approval-route-actions button[b-qdncd0rt0y],.approval-route-table td button[b-qdncd0rt0y]{border:0;background:transparent;color:#1d5d9f;padding:4px 8px}
.approval-route-status[b-qdncd0rt0y]{display:inline-block;border-radius:30px;padding:3px 10px;font-size:12px;font-weight:700}
.approval-route-status.active[b-qdncd0rt0y]{background:#e4f3e9;color:#257045}.approval-route-status.inactive[b-qdncd0rt0y]{background:#eef1f6;color:#69788a}
.approval-route-settings[b-qdncd0rt0y]{padding:15px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.approval-route-settings p[b-qdncd0rt0y]{margin:2px 0 0;color:#66798e;font-size:12px}.approval-route-settings label[b-qdncd0rt0y]{display:flex;align-items:center;gap:7px;font-size:13px}
.approval-route-settings input[b-qdncd0rt0y],.approval-route-modal input[type=checkbox][b-qdncd0rt0y]{accent-color:#185a9b}
.approval-route-backdrop[b-qdncd0rt0y]{position:fixed;inset:0;background:#10294699;z-index:1100;display:flex;justify-content:center;align-items:center;padding:24px}
.approval-route-modal[b-qdncd0rt0y]{width:min(1120px,100%);max-height:93vh;background:#f4f8fe;border:1px solid #c8d8ea;border-radius:11px;box-shadow:0 24px 80px #001d4080;display:flex;flex-direction:column;overflow:hidden}
.approval-route-modal header[b-qdncd0rt0y],.approval-route-modal footer[b-qdncd0rt0y]{background:white;display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #d9e5f2}
.approval-route-modal header h2[b-qdncd0rt0y]{font-size:17px;margin:0;color:#15518b}.approval-route-modal header button[b-qdncd0rt0y]{border:0;background:transparent;color:#57708e;font-size:18px}
.approval-route-modal footer[b-qdncd0rt0y]{justify-content:flex-end;gap:10px;border-top:1px solid #d9e5f2;border-bottom:0}
.approval-route-modal-body[b-qdncd0rt0y]{padding:17px;overflow:auto;display:grid;gap:16px}
.approval-route-fields[b-qdncd0rt0y]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.approval-route-modal .field[b-qdncd0rt0y]{min-width:0}.approval-route-modal .field label[b-qdncd0rt0y]{display:block;font-size:12px;font-weight:700;color:#315372;margin-bottom:5px}.approval-route-modal .field b[b-qdncd0rt0y]{color:#d6293f}
.approval-route-modal .check-field[b-qdncd0rt0y]{display:flex;align-items:end;padding-bottom:8px}.approval-route-modal .check-field label[b-qdncd0rt0y]{display:flex;align-items:center;gap:7px;margin:0}
.approval-route-modal .form-control[b-qdncd0rt0y],.approval-route-modal .form-select[b-qdncd0rt0y]{background:#fff;color:#183957;border-color:#bed0e5;font-size:13px;min-height:34px}
.approval-route-columns[b-qdncd0rt0y]{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.approval-route-selection[b-qdncd0rt0y],.approval-route-steps[b-qdncd0rt0y]{background:#fff;border:1px solid #d7e3ef;border-radius:8px;padding:12px;min-width:0}
.approval-route-section-title[b-qdncd0rt0y]{color:#1d5183;font-size:14px;font-weight:700;margin-bottom:9px;display:flex;justify-content:space-between}.approval-route-section-title span[b-qdncd0rt0y]{font-size:12px;color:#647f9a}
.approval-route-options[b-qdncd0rt0y]{max-height:170px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 9px}.approval-route-options label[b-qdncd0rt0y],.approval-route-all[b-qdncd0rt0y]{font-size:12px;display:flex;align-items:center;gap:5px;margin:0}.approval-route-options label small[b-qdncd0rt0y]{color:#72839a}.approval-route-options p[b-qdncd0rt0y]{font-size:12px;color:#73859a}
.approval-route-all[b-qdncd0rt0y]{margin-bottom:9px}.approval-route-copy[b-qdncd0rt0y]{display:flex;align-items:center;gap:10px;margin-bottom:11px}.approval-route-copy label[b-qdncd0rt0y]{font-size:12px;font-weight:700;white-space:nowrap}.approval-route-copy .form-select[b-qdncd0rt0y]{max-width:320px}
.approval-route-step-entry[b-qdncd0rt0y]{display:grid;grid-template-columns:1.1fr 1.2fr .55fr .45fr auto;gap:9px;align-items:end;margin-bottom:12px}.approval-route-step-entry button[b-qdncd0rt0y]{white-space:nowrap}
@media(max-width:800px){.approval-route-fields[b-qdncd0rt0y]{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-route-columns[b-qdncd0rt0y]{grid-template-columns:1fr}.approval-route-step-entry[b-qdncd0rt0y]{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-route-backdrop[b-qdncd0rt0y]{padding:8px}}
@media(max-width:520px){.approval-route-fields[b-qdncd0rt0y]{grid-template-columns:1fr}.approval-route-options[b-qdncd0rt0y]{grid-template-columns:1fr}.approval-route-settings[b-qdncd0rt0y]{display:grid}.approval-route-toolbar .form-control[b-qdncd0rt0y]{max-width:none}}
/* /Pages/Leave/Pages/LeaveBalance.razor.rz.scp.css */
.leave-balance-page[b-md5eyz3bwp]{color:#172b4d}.leave-balance-filter[b-md5eyz3bwp],.leave-balance-card[b-md5eyz3bwp]{background:#fff;border:1px solid #d7e0ec;border-radius:.5rem;box-shadow:0 2px 9px rgba(15,49,96,.07)}.leave-balance-filter[b-md5eyz3bwp]{padding:.85rem;display:flex;gap:.75rem;align-items:end;margin-bottom:.8rem}.leave-balance-filter>div[b-md5eyz3bwp]{width:10rem}.leave-balance-filter .employee-filter[b-md5eyz3bwp]{width:min(32rem,100%)}.leave-balance-filter label[b-md5eyz3bwp]{display:block;font-size:.72rem;font-weight:700;margin-bottom:.25rem}.leave-balance-filter .form-select[b-md5eyz3bwp],.leave-balance-table .form-control[b-md5eyz3bwp]{font-size:.76rem;border-color:#b8c6d8}.leave-balance-card[b-md5eyz3bwp]{padding:.8rem}.leave-balance-note[b-md5eyz3bwp]{font-size:.74rem;color:#52657d;margin:0 0 .7rem}.leave-balance-table-wrap[b-md5eyz3bwp]{overflow:auto;border:1px solid #d4ddea}.leave-balance-table[b-md5eyz3bwp]{width:100%;min-width:920px;border-collapse:collapse;font-size:.76rem}.leave-balance-table th[b-md5eyz3bwp]{background:var(--brand-navy,#155b95);color:#fff;padding:.55rem;text-align:left;white-space:nowrap}.leave-balance-table td[b-md5eyz3bwp]{padding:.43rem .5rem;border-top:1px solid #e1e7ef}.leave-balance-table tbody tr:nth-child(even)[b-md5eyz3bwp]{background:#f7faff}.leave-balance-table .form-control[b-md5eyz3bwp]{height:2rem;min-width:5.8rem}.leave-balance-table td:last-child .form-control[b-md5eyz3bwp]{min-width:13rem}.leave-balance-type[b-md5eyz3bwp]{display:block;font-weight:750}.leave-balance-type[b-md5eyz3bwp]:before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--leave-color);margin-right:.4rem}.leave-balance-table small[b-md5eyz3bwp]{display:block;color:#718096}.readonly[b-md5eyz3bwp]{background:#f1f5f9;color:#52657d}.current[b-md5eyz3bwp]{font-weight:800;color:#0d4f8b}.leave-balance-empty[b-md5eyz3bwp]{text-align:center;padding:1.6rem;color:#718096}.leave-balance-actions[b-md5eyz3bwp]{display:flex;justify-content:flex-end;padding-top:.75rem}@media(max-width:700px){.leave-balance-filter[b-md5eyz3bwp]{flex-wrap:wrap}.leave-balance-filter>div[b-md5eyz3bwp],.leave-balance-filter .employee-filter[b-md5eyz3bwp]{width:100%}}
/* /Pages/Leave/Pages/LeaveRequest.razor.rz.scp.css */
/* The page styles live in wwwroot/css/leave-request.css so the request dialog can style
   CbsDatePicker's trigger, which is rendered by a child component. */
.leave-route-preview[b-y3a0kexubi]{display:flex;flex-wrap:wrap;gap:8px 22px;background:#e9f2fc;color:#245486;border:1px solid #c8daef;border-radius:7px;padding:9px 12px;font-size:13px}
/* /Pages/Leave/Pages/LeaveSetup.razor.rz.scp.css */
.leave-page[b-s2mh1ia5tt]{color:var(--text,#0f172a)}.leave-card[b-s2mh1ia5tt]{background:#fff;border:1px solid var(--border,#d9e1ec);border-radius:.55rem;padding:.8rem;box-shadow:0 2px 9px rgba(15,49,96,.07)}
.leave-toolbar[b-s2mh1ia5tt]{display:flex;margin-bottom:.65rem}.leave-btn[b-s2mh1ia5tt]{display:inline-flex;align-items:center;gap:.42rem;border:0;border-radius:.3rem;padding:.5rem .95rem;font-size:.78rem;font-weight:750}.leave-btn.primary[b-s2mh1ia5tt]{background:var(--brand-navy);color:#fff}.leave-btn:disabled[b-s2mh1ia5tt]{opacity:.6}
.leave-grid-wrap[b-s2mh1ia5tt]{border:1px solid #d4dce8;border-radius:.2rem;overflow:auto;max-height:calc(100vh - 13rem)}[b-s2mh1ia5tt] .leave-grid{width:100%;min-width:1250px;font-size:.74rem}[b-s2mh1ia5tt] .leave-grid thead{position:sticky;top:0;z-index:2}[b-s2mh1ia5tt] .leave-grid th{background:var(--brand-navy);color:#fff;padding:.5rem .55rem;white-space:nowrap}[b-s2mh1ia5tt] .leave-grid td{padding:.5rem .55rem;border-bottom:1px solid #d7dee8;background:#fff;vertical-align:middle}[b-s2mh1ia5tt] .leave-grid tbody tr:nth-child(even) td{background:#f7faff}
.leave-empty[b-s2mh1ia5tt]{text-align:center;padding:1.5rem;color:#64748b;font-size:.8rem}.row-actions[b-s2mh1ia5tt]{display:flex;justify-content:center;gap:.2rem}.row-actions button[b-s2mh1ia5tt]{border:0;background:none;color:#1681c4}.row-actions .danger[b-s2mh1ia5tt]{color:var(--brand-red,#e5252a)}.status-pill[b-s2mh1ia5tt]{font-size:.66rem;font-weight:700;padding:.14rem .42rem;border-radius:999px}.status-pill.on[b-s2mh1ia5tt]{background:#e7f6ed;color:#19703b}.status-pill.off[b-s2mh1ia5tt]{background:#eef2f7;color:#64748b}
.leave-modal-backdrop[b-s2mh1ia5tt]{position:fixed;inset:0;z-index:1300;background:rgba(15,23,42,.58);display:flex;justify-content:center;align-items:center;padding:1rem}.leave-modal[b-s2mh1ia5tt]{width:min(1140px,96vw);max-height:94vh;background:#fff;border-radius:.45rem;box-shadow:0 25px 70px rgba(2,20,47,.32);display:flex;flex-direction:column;overflow:hidden}.leave-modal>header[b-s2mh1ia5tt]{display:flex;align-items:center;justify-content:space-between;padding:.78rem 1rem;border-bottom:1px solid #dce3ec;background:#f8fafc}.leave-modal h2[b-s2mh1ia5tt]{margin:0;font-size:1.03rem;color:var(--brand-navy)}.modal-close[b-s2mh1ia5tt]{border:0;background:#ff4d4f;color:#fff;border-radius:.25rem;width:1.65rem;height:1.65rem}.leave-modal-body[b-s2mh1ia5tt]{padding:.9rem 1rem;overflow:auto}.setup-section[b-s2mh1ia5tt]{margin-bottom:.8rem}.setup-section h3[b-s2mh1ia5tt]{font-size:.82rem;color:#008b87;margin:0 0 .38rem .4rem}.setup-section>.form-grid[b-s2mh1ia5tt]{border:1px solid #aeb8c6;border-radius:.45rem;padding:.78rem;background:#fff}.form-grid[b-s2mh1ia5tt]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem .85rem;align-items:end}.basic-grid[b-s2mh1ia5tt]{grid-template-columns:repeat(4,minmax(0,1fr))}.field[b-s2mh1ia5tt]{min-width:0}.field label[b-s2mh1ia5tt]{display:block;font-size:.7rem;font-weight:700;margin-bottom:.24rem;color:#1f2937}.field label b[b-s2mh1ia5tt]{color:var(--brand-red)}.field .form-control[b-s2mh1ia5tt],.field .form-select[b-s2mh1ia5tt]{height:2.1rem;font-size:.74rem;border-color:#aebaca}.applies[b-s2mh1ia5tt]{grid-column:span 2}.span-two[b-s2mh1ia5tt]{grid-column:span 2}.check[b-s2mh1ia5tt]{display:flex;align-items:center;gap:.42rem;min-height:2.1rem;font-size:.7rem;font-weight:700;color:#263548}.check input[b-s2mh1ia5tt]{accent-color:var(--brand-navy)}.color-field[b-s2mh1ia5tt]{display:grid;grid-template-columns:1fr 2.4rem;gap:.35rem}.color-field input[type=color][b-s2mh1ia5tt]{height:2.1rem;width:2.4rem;padding:.1rem;border:1px solid #aebaca;border-radius:.25rem}.leave-modal>footer[b-s2mh1ia5tt]{display:flex;justify-content:flex-end;padding:.7rem 1rem;border-top:1px solid #dce3ec;background:#f8fafc}[b-s2mh1ia5tt] .cbs-input{min-height:2.1rem;font-size:.74rem}[b-s2mh1ia5tt] .cbs-select-panel{z-index:1350}
.month-options[b-s2mh1ia5tt]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;padding:.4rem;border:1px solid #aebaca;border-radius:.25rem;max-height:6rem;overflow:auto}.month-options label[b-s2mh1ia5tt]{display:flex;align-items:center;gap:.3rem;margin:0;font-weight:500}.month-options input[b-s2mh1ia5tt]{accent-color:var(--brand-navy)}
@media(max-width:900px){.form-grid[b-s2mh1ia5tt],.basic-grid[b-s2mh1ia5tt]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.leave-modal-backdrop[b-s2mh1ia5tt]{padding:.3rem;align-items:flex-start}.leave-modal[b-s2mh1ia5tt]{max-height:calc(100vh - .6rem)}.form-grid[b-s2mh1ia5tt],.basic-grid[b-s2mh1ia5tt]{grid-template-columns:1fr}.applies[b-s2mh1ia5tt],.span-two[b-s2mh1ia5tt]{grid-column:auto}.month-options[b-s2mh1ia5tt]{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* /Pages/Setup/Components/ProductSetupForm.razor.rz.scp.css */
/* The Product Setup form, extracted from ProductSetup.razor so the board decision sheet can open it
   too. Blazor CSS isolation scopes a page's rules to the page's own elements, so these are copied
   here rather than inherited -- the same duplicate-on-purpose note ProductSetup.razor.css carries. */

/* ---- Form ---- */
.admin-form-grid[b-xt365bk0ro]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-xt365bk0ro]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-xt365bk0ro]{color:#dc3545}
.admin-field .form-control[b-xt365bk0ro],.admin-field .form-select[b-xt365bk0ro]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-xt365bk0ro],.admin-field .form-select:focus[b-xt365bk0ro]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-field .form-control:disabled[b-xt365bk0ro]{background-color:#eef2f7;color:#7b8798}
.admin-check[b-xt365bk0ro]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-xt365bk0ro]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

.size-field-group[b-xt365bk0ro]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}

.conv-open-btn[b-xt365bk0ro]{width:100%;min-height:36px;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.conv-count[b-xt365bk0ro]{background:#1472b8;color:#fff;border-radius:999px;min-width:1.2rem;height:1.2rem;padding:0 .35rem;font-size:.65rem;display:inline-flex;align-items:center;justify-content:center}

/* ---- Conversion Unit modal ---- */
/* Above the board's own modal (which this form can sit inside), not only above the page. */
.uranus-modal-backdrop[b-xt365bk0ro]{position:fixed;inset:0;z-index:2050;background:rgba(2,18,35,.52);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.uranus-modal[b-xt365bk0ro]{width:min(620px,100%);background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}
.uranus-modal header[b-xt365bk0ro]{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.1rem;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.uranus-modal header h3[b-xt365bk0ro]{font-size:1rem;color:var(--brand-navy);margin:0}
.uranus-modal header button[b-xt365bk0ro]{flex:0 0 auto;border:0;background:transparent;color:#64748b;font-size:.95rem}
.uranus-modal header button:hover[b-xt365bk0ro]{color:#1d3f72}
.uranus-modal .modal-content-body[b-xt365bk0ro]{padding:1.1rem;max-height:70vh;overflow-y:auto}
.uranus-modal footer[b-xt365bk0ro]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.1rem;background:#f7f9fc;border-top:1px solid #e8edf3}

.conv-modal[b-xt365bk0ro]{width:min(720px,100%)}
.conv-form-grid[b-xt365bk0ro]{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;margin-bottom:.75rem}
.conv-default-check[b-xt365bk0ro]{min-height:36px}
.conv-form-actions[b-xt365bk0ro]{display:flex;gap:.5rem;margin-bottom:1rem}
.conv-grid[b-xt365bk0ro]{margin-top:.25rem}
.conv-grid .table[b-xt365bk0ro]{border:1px solid #e8edf3;border-radius:8px;overflow:hidden;font-size:.72rem;margin:0}
.conv-grid .table th[b-xt365bk0ro]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.conv-grid .table td[b-xt365bk0ro]{vertical-align:middle;color:#334155}

.row-actions[b-xt365bk0ro]{display:flex;gap:.2rem}
.row-actions button[b-xt365bk0ro]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-xt365bk0ro]{color:#dc3545}

@media(max-width:900px){
  .admin-form-grid[b-xt365bk0ro]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-form-grid[b-xt365bk0ro]{grid-template-columns:1fr}
  .conv-form-grid[b-xt365bk0ro]{grid-template-columns:1fr}
}
/* /Pages/Setup/Pages/BrandSetup.razor.rz.scp.css */
/* Brand Setup.
   Same shell as CategorySetup, SupplierSetup, OfficeSetup and DesignationSetup: blue-gray workspace,
   white cards, blue-tinted card head, HNBG palette values reused verbatim so the admin screens are
   indistinguishable in chrome.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-yvx29mtj7j]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-yvx29mtj7j],.admin-list-card[b-yvx29mtj7j]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-yvx29mtj7j]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-yvx29mtj7j]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-yvx29mtj7j]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-yvx29mtj7j]{color:#dc3545}
.admin-field .form-control[b-yvx29mtj7j]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-yvx29mtj7j]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-yvx29mtj7j]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-yvx29mtj7j]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* ---- List head and search ---- */
.admin-list-head[b-yvx29mtj7j]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-yvx29mtj7j]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-yvx29mtj7j]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-yvx29mtj7j]{position:relative}
.admin-search i[b-yvx29mtj7j]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-yvx29mtj7j]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-yvx29mtj7j]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
/* Fixed-height, scrolls internally -- the page itself must not grow to match a long list; only
   .table-responsive scrolls, so the search box and card chrome stay put above it. */
.admin-list-card .table-responsive[b-yvx29mtj7j]{max-height:60vh;overflow-y:auto}
.table[b-yvx29mtj7j]{font-size:.72rem;margin:0}
.table thead th[b-yvx29mtj7j]{position:sticky;top:0;z-index:1}
.table th[b-yvx29mtj7j]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-yvx29mtj7j]{vertical-align:middle;color:#334155}
.table td strong[b-yvx29mtj7j]{color:#1d3f72;font-weight:750}

.status-pill[b-yvx29mtj7j]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-yvx29mtj7j]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-yvx29mtj7j]{background:#f1f5f9;color:#64748b}

.row-actions[b-yvx29mtj7j]{display:flex;gap:.2rem}
.row-actions button[b-yvx29mtj7j]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-yvx29mtj7j]{color:#dc3545}
.row-actions button:disabled[b-yvx29mtj7j]{color:#cbd5e1}

/* ---- Empty state ---- */
.ss-empty[b-yvx29mtj7j]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-yvx29mtj7j]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-yvx29mtj7j]{font-size:.78rem;color:#475569}
.ss-empty span[b-yvx29mtj7j]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-yvx29mtj7j]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-yvx29mtj7j]{padding:.75rem}
  .admin-list-head[b-yvx29mtj7j]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-yvx29mtj7j]{grid-template-columns:1fr}
  .admin-search[b-yvx29mtj7j],.admin-search input[b-yvx29mtj7j]{width:100%}
}
/* /Pages/Setup/Pages/CategorySetup.razor.rz.scp.css */
/* Category Setup.
   Same shell as SupplierSetup, OfficeSetup and DesignationSetup: blue-gray workspace, white cards,
   blue-tinted card head, HNBG palette values reused verbatim so the admin screens are
   indistinguishable in chrome.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-ivj9vavqfc]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-ivj9vavqfc],.admin-list-card[b-ivj9vavqfc]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-ivj9vavqfc]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-ivj9vavqfc]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-ivj9vavqfc]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-ivj9vavqfc]{color:#dc3545}
.admin-field .form-control[b-ivj9vavqfc]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-ivj9vavqfc]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-ivj9vavqfc]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-ivj9vavqfc]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* ---- List head and search ---- */
.admin-list-head[b-ivj9vavqfc]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-ivj9vavqfc]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-ivj9vavqfc]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-ivj9vavqfc]{position:relative}
.admin-search i[b-ivj9vavqfc]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-ivj9vavqfc]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-ivj9vavqfc]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
/* Fixed-height, scrolls internally -- the page itself must not grow to match a long list; only
   .table-responsive scrolls, so the search box and card chrome stay put above it. */
.admin-list-card .table-responsive[b-ivj9vavqfc]{max-height:60vh;overflow-y:auto}
.table[b-ivj9vavqfc]{font-size:.72rem;margin:0}
.table thead th[b-ivj9vavqfc]{position:sticky;top:0;z-index:1}
.table th[b-ivj9vavqfc]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-ivj9vavqfc]{vertical-align:middle;color:#334155}
.table td strong[b-ivj9vavqfc]{color:#1d3f72;font-weight:750}

.status-pill[b-ivj9vavqfc]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-ivj9vavqfc]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-ivj9vavqfc]{background:#f1f5f9;color:#64748b}

.row-actions[b-ivj9vavqfc]{display:flex;gap:.2rem}
.row-actions button[b-ivj9vavqfc]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-ivj9vavqfc]{color:#dc3545}
.row-actions button:disabled[b-ivj9vavqfc]{color:#cbd5e1}

/* ---- Empty state ---- */
.ss-empty[b-ivj9vavqfc]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-ivj9vavqfc]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-ivj9vavqfc]{font-size:.78rem;color:#475569}
.ss-empty span[b-ivj9vavqfc]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-ivj9vavqfc]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-ivj9vavqfc]{padding:.75rem}
  .admin-list-head[b-ivj9vavqfc]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-ivj9vavqfc]{grid-template-columns:1fr}
  .admin-search[b-ivj9vavqfc],.admin-search input[b-ivj9vavqfc]{width:100%}
}
/* /Pages/Setup/Pages/ProductSetup.razor.rz.scp.css */
/* Product Setup.
   Same shell as Category Setup / Unit Setup: blue-gray workspace, white cards, blue-tinted card head,
   HNBG palette values reused verbatim so the admin screens are indistinguishable in chrome.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-213g0dpm8d]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-213g0dpm8d],.admin-list-card[b-213g0dpm8d]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-213g0dpm8d]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-213g0dpm8d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-213g0dpm8d]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-213g0dpm8d]{color:#dc3545}
.admin-field .form-control[b-213g0dpm8d],.admin-field .form-select[b-213g0dpm8d]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-213g0dpm8d],.admin-field .form-select:focus[b-213g0dpm8d]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-field .form-control:disabled[b-213g0dpm8d]{background-color:#eef2f7;color:#7b8798}
.admin-check[b-213g0dpm8d]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-213g0dpm8d]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* ---- "Size" -- one field, two controls: a quantity and a unit picker side by side ---- */
.size-field-group[b-213g0dpm8d]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}

/* ---- "Add Conversion Unit" trigger button + staged-row count badge ---- */
.conv-open-btn[b-213g0dpm8d]{width:100%;min-height:36px;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.conv-count[b-213g0dpm8d]{background:#1472b8;color:#fff;border-radius:999px;min-width:1.2rem;height:1.2rem;padding:0 .35rem;font-size:.65rem;display:inline-flex;align-items:center;justify-content:center}

/* ---- List head and search ---- */
.admin-list-head[b-213g0dpm8d]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-213g0dpm8d]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-213g0dpm8d]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-213g0dpm8d]{position:relative}
.admin-search i[b-213g0dpm8d]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-213g0dpm8d]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-213g0dpm8d]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
/* Fixed-height, scrolls internally -- this list can run into the hundreds of rows, and the page
   itself must not grow to match; only .table-responsive scrolls, so the search box and card chrome
   stay put above it. */
.admin-list-card .table-responsive[b-213g0dpm8d]{max-height:60vh;overflow-y:auto}
.table[b-213g0dpm8d]{font-size:.72rem;margin:0}
.table thead th[b-213g0dpm8d]{position:sticky;top:0;z-index:1}
.table th[b-213g0dpm8d]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-213g0dpm8d]{vertical-align:middle;color:#334155}
.table td strong[b-213g0dpm8d]{color:#1d3f72;font-weight:750}

.status-pill[b-213g0dpm8d]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-213g0dpm8d]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-213g0dpm8d]{background:#f1f5f9;color:#64748b}

.row-actions[b-213g0dpm8d]{display:flex;gap:.2rem}
.row-actions button[b-213g0dpm8d]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-213g0dpm8d]{color:#dc3545}
.row-actions button:disabled[b-213g0dpm8d]{color:#cbd5e1}

/* ---- Empty state ---- */
.ss-empty[b-213g0dpm8d]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-213g0dpm8d]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-213g0dpm8d]{font-size:.78rem;color:#475569}
.ss-empty span[b-213g0dpm8d]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

/* ---- Conversion Unit modal, matching the uranus-modal pattern used by DepartmentSetup/UserSetup ---- */
.uranus-modal-backdrop[b-213g0dpm8d]{position:fixed;inset:0;z-index:1200;background:rgba(2,18,35,.52);display:grid;place-items:center;padding:1rem;backdrop-filter:blur(2px)}
.uranus-modal[b-213g0dpm8d]{width:min(620px,100%);background:#fff;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}
.uranus-modal header[b-213g0dpm8d]{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.1rem;border-bottom:1px solid #e8edf3;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.uranus-modal header h3[b-213g0dpm8d]{font-size:1rem;color:var(--brand-navy);margin:0}
.uranus-modal header button[b-213g0dpm8d]{flex:0 0 auto;border:0;background:transparent;color:#64748b;font-size:.95rem}
.uranus-modal header button:hover[b-213g0dpm8d]{color:#1d3f72}
.uranus-modal .modal-content-body[b-213g0dpm8d]{padding:1.1rem;max-height:70vh;overflow-y:auto}
.uranus-modal footer[b-213g0dpm8d]{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.1rem;background:#f7f9fc;border-top:1px solid #e8edf3}

.conv-modal[b-213g0dpm8d]{width:min(720px,100%)}
.conv-form-grid[b-213g0dpm8d]{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;margin-bottom:.75rem}
.conv-default-check[b-213g0dpm8d]{min-height:36px}
.conv-form-actions[b-213g0dpm8d]{display:flex;gap:.5rem;margin-bottom:1rem}
.conv-grid[b-213g0dpm8d]{margin-top:.25rem}
.conv-grid .table[b-213g0dpm8d]{border:1px solid #e8edf3;border-radius:8px;overflow:hidden}
.conv-readonly-hint[b-213g0dpm8d]{font-size:.72rem;color:#7b8798;margin:0 0 .75rem}

@media(max-width:900px){
  .admin-form-grid[b-213g0dpm8d]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-213g0dpm8d]{padding:.75rem}
  .admin-list-head[b-213g0dpm8d]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-213g0dpm8d]{grid-template-columns:1fr}
  .admin-search[b-213g0dpm8d],.admin-search input[b-213g0dpm8d]{width:100%}
  .conv-form-grid[b-213g0dpm8d]{grid-template-columns:1fr}
}
/* /Pages/Setup/Pages/SubCategorySetup.razor.rz.scp.css */
/* Subcategory Setup.
   Same shell as CategorySetup, SupplierSetup, OfficeSetup and DesignationSetup: blue-gray workspace,
   white cards, blue-tinted card head, HNBG palette values reused verbatim so the admin screens are
   indistinguishable in chrome.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-gi4avoknhw]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-gi4avoknhw],.admin-list-card[b-gi4avoknhw]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-gi4avoknhw]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-gi4avoknhw]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-gi4avoknhw]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-gi4avoknhw]{color:#dc3545}
.admin-field .form-control[b-gi4avoknhw],.admin-field .form-select[b-gi4avoknhw]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-gi4avoknhw],.admin-field .form-select:focus[b-gi4avoknhw]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-gi4avoknhw]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-gi4avoknhw]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* ---- List head and search ---- */
.admin-list-head[b-gi4avoknhw]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-gi4avoknhw]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-gi4avoknhw]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-gi4avoknhw]{position:relative}
.admin-search i[b-gi4avoknhw]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-gi4avoknhw]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-gi4avoknhw]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
/* Fixed-height, scrolls internally -- the page itself must not grow to match a long list; only
   .table-responsive scrolls, so the search box and card chrome stay put above it. */
.admin-list-card .table-responsive[b-gi4avoknhw]{max-height:60vh;overflow-y:auto}
.table[b-gi4avoknhw]{font-size:.72rem;margin:0}
.table thead th[b-gi4avoknhw]{position:sticky;top:0;z-index:1}
.table th[b-gi4avoknhw]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-gi4avoknhw]{vertical-align:middle;color:#334155}
.table td strong[b-gi4avoknhw]{color:#1d3f72;font-weight:750}

.status-pill[b-gi4avoknhw]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-gi4avoknhw]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-gi4avoknhw]{background:#f1f5f9;color:#64748b}

.row-actions[b-gi4avoknhw]{display:flex;gap:.2rem}
.row-actions button[b-gi4avoknhw]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-gi4avoknhw]{color:#dc3545}
.row-actions button:disabled[b-gi4avoknhw]{color:#cbd5e1}

/* ---- Empty state ---- */
.ss-empty[b-gi4avoknhw]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-gi4avoknhw]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-gi4avoknhw]{font-size:.78rem;color:#475569}
.ss-empty span[b-gi4avoknhw]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-gi4avoknhw]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-gi4avoknhw]{padding:.75rem}
  .admin-list-head[b-gi4avoknhw]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-gi4avoknhw]{grid-template-columns:1fr}
  .admin-search[b-gi4avoknhw],.admin-search input[b-gi4avoknhw]{width:100%}
}
/* /Pages/Setup/Pages/UnitSetup.razor.rz.scp.css */
/* Unit Setup.
   Same shell as SupplierSetup, OfficeSetup and DesignationSetup: blue-gray workspace, white cards,
   blue-tinted card head, HNBG palette values reused verbatim so the admin screens are
   indistinguishable in chrome.

   The .admin-* block below is duplicated rather than shared on purpose -- Blazor CSS isolation scopes
   every rule to its own component, and theme.css does not define these. A page without its own copy
   renders unstyled. */

/* ---- Workspace and cards ---- */
.admin-page[b-9nwhhc4eod]{background:#dfe7f1;border:1px solid #cbd7e5;border-radius:16px;padding:1.25rem;min-height:70vh}
.admin-form-card[b-9nwhhc4eod],.admin-list-card[b-9nwhhc4eod]{background:#fff;border:1px solid #cbd8e6;border-radius:13px;box-shadow:0 6px 20px rgba(29,62,104,.08)}
.admin-form-card[b-9nwhhc4eod]{padding:1rem;margin-bottom:1rem}

/* ---- Form ---- */
.admin-form-grid[b-9nwhhc4eod]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:end}
.admin-field label[b-9nwhhc4eod]{display:block;font-size:.7rem;color:#475569;font-weight:700;margin-bottom:.32rem}
.admin-field b[b-9nwhhc4eod]{color:#dc3545}
.admin-field .form-control[b-9nwhhc4eod]{font-size:.78rem;min-height:36px;border-color:#ccd8e6;background-color:#fbfdff}
.admin-field .form-control:focus[b-9nwhhc4eod]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13)}
.admin-check[b-9nwhhc4eod]{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.74rem;font-weight:700;color:#475569;margin:0}
.admin-actions[b-9nwhhc4eod]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}

/* ---- List head and search ---- */
.admin-list-head[b-9nwhhc4eod]{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #d6e1ed;background:linear-gradient(90deg,#eaf2fb,#f7faff)}
.admin-list-head h2[b-9nwhhc4eod]{font-size:.9rem;color:var(--brand-navy);margin:0}
.admin-list-head span[b-9nwhhc4eod]{font-size:.68rem;color:var(--text-muted)}
.admin-search[b-9nwhhc4eod]{position:relative}
.admin-search i[b-9nwhhc4eod]{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#94a3b8}
.admin-search input[b-9nwhhc4eod]{border:1px solid #ccd8e6;background:#fbfdff;border-radius:8px;padding:.45rem .75rem .45rem 2rem;font-size:.75rem;width:220px}
.admin-search input:focus[b-9nwhhc4eod]{border-color:#3975bd;box-shadow:0 0 0 .16rem rgba(40,94,170,.13);outline:0}

/* ---- Table ---- */
/* Fixed-height, scrolls internally -- the page itself must not grow to match a long list; only
   .table-responsive scrolls, so the search box and card chrome stay put above it. */
.admin-list-card .table-responsive[b-9nwhhc4eod]{max-height:60vh;overflow-y:auto}
.table[b-9nwhhc4eod]{font-size:.72rem;margin:0}
.table thead th[b-9nwhhc4eod]{position:sticky;top:0;z-index:1}
.table th[b-9nwhhc4eod]{background:#e9f0f8;color:#415872;text-transform:uppercase;letter-spacing:.035em;font-size:.61rem;white-space:nowrap;border-bottom-color:#cedae8}
.table td[b-9nwhhc4eod]{vertical-align:middle;color:#334155}
.table td strong[b-9nwhhc4eod]{color:#1d3f72;font-weight:750}

.status-pill[b-9nwhhc4eod]{border-radius:999px;padding:.2rem .5rem;font-size:.62rem;font-weight:700}
.status-pill.active[b-9nwhhc4eod]{background:#dcfce7;color:#166534}
.status-pill.inactive[b-9nwhhc4eod]{background:#f1f5f9;color:#64748b}

.row-actions[b-9nwhhc4eod]{display:flex;gap:.2rem}
.row-actions button[b-9nwhhc4eod]{border:0;background:transparent;color:#1472b8;padding:.25rem;font-size:.9rem}
.row-actions button.danger[b-9nwhhc4eod]{color:#dc3545}
.row-actions button:disabled[b-9nwhhc4eod]{color:#cbd5e1}

/* ---- Empty state ---- */
.ss-empty[b-9nwhhc4eod]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:2.2rem 1rem;text-align:center}
.ss-empty i[b-9nwhhc4eod]{font-size:1.6rem;color:#9db8d8;margin-bottom:.2rem}
.ss-empty strong[b-9nwhhc4eod]{font-size:.78rem;color:#475569}
.ss-empty span[b-9nwhhc4eod]{font-size:.7rem;color:#8a97a8;max-width:46ch;line-height:1.6}

@media(max-width:900px){
  .admin-form-grid[b-9nwhhc4eod]{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .admin-page[b-9nwhhc4eod]{padding:.75rem}
  .admin-list-head[b-9nwhhc4eod]{flex-direction:column;gap:.75rem;align-items:stretch}
  .admin-form-grid[b-9nwhhc4eod]{grid-template-columns:1fr}
  .admin-search[b-9nwhhc4eod],.admin-search input[b-9nwhhc4eod]{width:100%}
}
/* /Pages/Shift/Pages/ShiftSetup.razor.rz.scp.css */
.shift-page[b-fnv55zeex6]{display:flex;flex-direction:column;gap:.8rem;color:var(--text,#0f172a)}
.shift-tabs[b-fnv55zeex6]{display:flex;gap:.25rem;border-bottom:1px solid #cbd6e5}.shift-tabs button[b-fnv55zeex6]{border:0;background:#eaf0f8;color:var(--brand-navy);font-size:.78rem;font-weight:750;padding:.65rem 1rem;border-radius:.4rem .4rem 0 0}.shift-tabs button.active[b-fnv55zeex6]{background:var(--brand-navy);color:#fff}
.shift-card[b-fnv55zeex6]{background:#fff;border:1px solid var(--border,#d9e1ec);border-radius:.5rem;padding:.85rem;box-shadow:0 2px 9px rgba(15,49,96,.07)}
.shift-form-grid[b-fnv55zeex6]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;align-items:end}.mapping-form[b-fnv55zeex6]{grid-template-columns:repeat(3,minmax(0,1fr))}.field[b-fnv55zeex6]{min-width:0}.field.wide[b-fnv55zeex6]{grid-column:span 1}.field label[b-fnv55zeex6]{display:block;font-size:.71rem;font-weight:750;margin-bottom:.3rem}.field label b[b-fnv55zeex6]{color:var(--brand-red,#e5252a)}.field .form-control[b-fnv55zeex6]{height:2.2rem;border-color:#aebaca;font-size:.76rem}.check-field[b-fnv55zeex6]{display:flex;align-items:center;gap:.4rem;height:2.2rem;font-size:.75rem;font-weight:700}.check-field input[b-fnv55zeex6]{accent-color:var(--brand-navy)}
.grid-wrap[b-fnv55zeex6]{overflow:auto;margin-top:.8rem;border:1px solid #d6dfeb;border-radius:.3rem}.shift-card.grid-wrap[b-fnv55zeex6]{margin-top:0;padding:0}.timing-grid[b-fnv55zeex6]{max-height:26rem}
[b-fnv55zeex6] .shift-grid{width:100%;min-width:760px;font-size:.73rem}[b-fnv55zeex6] .shift-grid thead{position:sticky;top:0;z-index:2}[b-fnv55zeex6] .shift-grid th{background:var(--brand-navy);color:#fff;padding:.5rem .55rem;white-space:nowrap}[b-fnv55zeex6] .shift-grid td{padding:.45rem .55rem;border-bottom:1px solid #d8e0ea;background:#fff;vertical-align:middle}[b-fnv55zeex6] .shift-grid tbody tr:nth-child(even) td{background:#f6f9fd}[b-fnv55zeex6] .shift-grid tbody tr:hover td{background:#edf4fd}
.time-input[b-fnv55zeex6],.number-input[b-fnv55zeex6]{width:6.5rem;height:1.85rem;border:1px solid #aebaca;border-radius:.25rem;padding:.2rem .35rem;font-size:.71rem}.number-input[b-fnv55zeex6]{width:4.2rem}
.form-actions[b-fnv55zeex6]{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.8rem}.btn-primary[b-fnv55zeex6],.btn-secondary[b-fnv55zeex6]{border:0;border-radius:.3rem;padding:.5rem .85rem;font-size:.76rem;font-weight:750;display:inline-flex;align-items:center;gap:.35rem}.btn-primary[b-fnv55zeex6]{background:var(--brand-navy);color:#fff}.btn-secondary[b-fnv55zeex6]{background:#eef2f7;color:var(--brand-navy);border:1px solid #d6deea}.btn-primary:disabled[b-fnv55zeex6]{opacity:.6}
.row-actions[b-fnv55zeex6]{display:flex;justify-content:center;gap:.2rem}.row-actions button[b-fnv55zeex6]{border:0;background:transparent;color:#1680c2;padding:.18rem .28rem}.row-actions button.danger[b-fnv55zeex6]{color:var(--brand-red,#e5252a)}.status-pill[b-fnv55zeex6]{border-radius:999px;padding:.15rem .45rem;font-weight:700}.status-pill.on[b-fnv55zeex6]{background:#dcf7e7;color:#16703b}.status-pill.off[b-fnv55zeex6]{background:#edf0f4;color:#586779}.shift-state[b-fnv55zeex6]{background:#fff;border:1px solid #d8e1ec;border-radius:.5rem;padding:2rem;text-align:center;color:#64748b}
.day-status[b-fnv55zeex6]{display:inline-flex;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.day-status.working[b-fnv55zeex6]{background:#e8f2ff;color:#174f91}.day-status.holiday[b-fnv55zeex6]{background:#fee2e2;color:#b42318}.day-status.partial[b-fnv55zeex6]{background:#fff3cd;color:#805b00}
[b-fnv55zeex6] .cbs-input{min-height:2.2rem;font-size:.76rem;border-color:#aebaca}
@media(max-width:1000px){.shift-form-grid[b-fnv55zeex6],.mapping-form[b-fnv55zeex6]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.shift-tabs[b-fnv55zeex6]{overflow:auto}.shift-tabs button[b-fnv55zeex6]{white-space:nowrap}.shift-form-grid[b-fnv55zeex6],.mapping-form[b-fnv55zeex6]{grid-template-columns:1fr}}
