/* /Components/Account/Pages/ConfirmEmail.razor.rz.scp.css */
/* Sign up page: a centred two-panel card — a welcome panel in the brand colour and the form next to it. */

.signup-shell[b-fml8eye6ld] {
    display: flex;
    justify-content: center;
    padding: 32px 0 48px;
}

[b-fml8eye6ld] .signup-card {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    width: 100%;
    max-width: 980px;
    border-radius: 16px;
    overflow: hidden;
}

/* ---- Welcome panel ---- */

[b-fml8eye6ld] .signup-aside {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 40px 32px;
    color: var(--mud-palette-primary-text);
    background:
        radial-gradient(circle at 110% -10%, rgba(255, 255, 255, 0.16) 0, rgba(255, 255, 255, 0) 45%),
        linear-gradient(160deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-darken) 100%);
}

[b-fml8eye6ld] .aside-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background-color: rgba(255, 255, 255, 0.16);
}

[b-fml8eye6ld] .aside-icon .mud-icon-root {
    font-size: 28px;
}

[b-fml8eye6ld] .aside-title {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
}

[b-fml8eye6ld] .aside-text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.55;
    opacity: 0.9;
}

[b-fml8eye6ld] .aside-text strong {
    font-weight: 700;
    opacity: 1;
}

[b-fml8eye6ld] .aside-steps {
    display: flex;
    flex-direction: column;
    gap: 16px;
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

[b-fml8eye6ld] .aside-step {
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

[b-fml8eye6ld] .aside-step.active,
[b-fml8eye6ld] .aside-step.done {
    opacity: 1;
}

[b-fml8eye6ld] .aside-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.55);
    font-size: 0.85rem;
    font-weight: 700;
}

[b-fml8eye6ld] .aside-step.active .aside-step-badge {
    border-color: var(--mud-palette-primary-text);
    background-color: var(--mud-palette-primary-text);
    color: var(--mud-palette-primary);
}

[b-fml8eye6ld] .aside-step.done .aside-step-badge {
    border-color: transparent;
    background-color: rgba(255, 255, 255, 0.22);
}

[b-fml8eye6ld] .aside-step-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

[b-fml8eye6ld] .aside-step-title {
    font-weight: 600;
}

[b-fml8eye6ld] .aside-step-hint {
    font-size: 0.8rem;
    opacity: 0.8;
}

[b-fml8eye6ld] .aside-account {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 12px 14px;
    border-radius: 10px;
    background-color: rgba(0, 0, 0, 0.14);
}

[b-fml8eye6ld] .aside-account-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

[b-fml8eye6ld] .aside-account-label {
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 0.75;
}

[b-fml8eye6ld] .aside-account-email {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---- Form ---- */

[b-fml8eye6ld] .signup-main {
    position: relative;
    padding: 40px 44px 32px;
    background-color: var(--mud-palette-surface);
}

[b-fml8eye6ld] .signup-progress {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

[b-fml8eye6ld] .main-header {
    margin-bottom: 24px;
}

[b-fml8eye6ld] .main-step-counter {
    margin-bottom: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

[b-fml8eye6ld] .main-title {
    margin: 0 0 6px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--mud-palette-text-primary);
}

[b-fml8eye6ld] .main-subtitle {
    margin: 0;
    font-size: 0.95rem;
    color: var(--mud-palette-text-secondary);
}

[b-fml8eye6ld] .field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

[b-fml8eye6ld] .group-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 28px 0 16px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

[b-fml8eye6ld] .group-label::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background-color: var(--mud-palette-lines-default);
}

/* Password strength meter */

[b-fml8eye6ld] .strength {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
}

[b-fml8eye6ld] .strength-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    flex: 0 0 140px;
}

[b-fml8eye6ld] .strength-segment {
    height: 5px;
    border-radius: 3px;
    background-color: var(--mud-palette-lines-default);
    transition: background-color 0.2s ease;
}

[b-fml8eye6ld] .strength-segment.weak { background-color: var(--mud-palette-error); }
[b-fml8eye6ld] .strength-segment.fair { background-color: var(--mud-palette-warning); }
[b-fml8eye6ld] .strength-segment.good { background-color: var(--mud-palette-info); }
[b-fml8eye6ld] .strength-segment.strong { background-color: var(--mud-palette-success); }

[b-fml8eye6ld] .strength-label {
    font-size: 0.8rem;
    color: var(--mud-palette-text-secondary);
}

[b-fml8eye6ld] .strength-label.weak { color: var(--mud-palette-error); }
[b-fml8eye6ld] .strength-label.fair { color: var(--mud-palette-warning-darken); }
[b-fml8eye6ld] .strength-label.good { color: var(--mud-palette-info); }
[b-fml8eye6ld] .strength-label.strong { color: var(--mud-palette-success); }

[b-fml8eye6ld] .password-rules {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

[b-fml8eye6ld] .password-rules li {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px 4px 7px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

[b-fml8eye6ld] .password-rules li .mud-icon-root {
    font-size: 1rem;
}

[b-fml8eye6ld] .password-rules li.met {
    border-color: var(--mud-palette-success);
    color: var(--mud-palette-success);
    background-color: var(--mud-palette-success-hover);
}

[b-fml8eye6ld] .main-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
}

[b-fml8eye6ld] .main-submit {
    min-width: 180px;
    border-radius: 10px;
}

[b-fml8eye6ld] .main-login-hint {
    margin: 20px 0 0;
    text-align: right;
    font-size: 0.85rem;
    color: var(--mud-palette-text-secondary);
}

[b-fml8eye6ld] .main-login-hint a {
    font-weight: 600;
    color: var(--mud-palette-primary);
}

/* ---- Single-message states: loading, invalid link, success ---- */

[b-fml8eye6ld] .signup-card--message {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 520px;
    padding: 48px 40px;
    text-align: center;
}

[b-fml8eye6ld] .message-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
}

[b-fml8eye6ld] .message-icon .mud-icon-root {
    font-size: 36px;
}

[b-fml8eye6ld] .message-icon--error {
    color: var(--mud-palette-error);
    background-color: var(--mud-palette-error-hover);
}

[b-fml8eye6ld] .message-icon--info {
    color: var(--mud-palette-info);
    background-color: var(--mud-palette-info-hover);
}

[b-fml8eye6ld] .message-icon--success {
    color: var(--mud-palette-success);
    background-color: var(--mud-palette-success-hover);
}

[b-fml8eye6ld] .message-text {
    margin-top: 8px;
    color: var(--mud-palette-text-secondary);
}

[b-fml8eye6ld] .message-text--muted {
    font-size: 0.85rem;
}

[b-fml8eye6ld] .message-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

[b-fml8eye6ld] .signing-in-progress {
    width: 160px;
    border-radius: 4px;
}

/* ---- Small screens: the welcome panel becomes a compact header ---- */

@media (max-width: 860px) {
    .signup-shell[b-fml8eye6ld] {
        padding: 8px 0 24px;
    }

    [b-fml8eye6ld] .signup-card {
        grid-template-columns: 1fr;
        border-radius: 12px;
    }

    [b-fml8eye6ld] .signup-aside {
        gap: 12px;
        padding: 24px 20px;
    }

    [b-fml8eye6ld] .aside-icon,
    [b-fml8eye6ld] .aside-steps {
        display: none;
    }

    [b-fml8eye6ld] .aside-title {
        font-size: 1.35rem;
    }

    [b-fml8eye6ld] .aside-account {
        margin-top: 4px;
    }

    [b-fml8eye6ld] .signup-main {
        padding: 24px 20px;
    }

    [b-fml8eye6ld] .field-grid {
        grid-template-columns: 1fr;
    }

    [b-fml8eye6ld] .main-actions .main-submit {
        flex: 1 1 auto;
    }

    [b-fml8eye6ld] .main-login-hint {
        text-align: center;
    }
}
/* /Components/Account/Pages/Register.razor.rz.scp.css */
/* Section headers, field hints and sign-in method cards of the Create User form; inputs keep the app's standard look. */

[b-atr8qqsnvd] .section-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

[b-atr8qqsnvd] .section-description {
    margin: -4px 0 12px;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--mud-palette-text-secondary);
}

/* Matches MudBlazor's input helper text, for fields that have no HelperText of their own. */
[b-atr8qqsnvd] .field-hint {
    margin-top: 3px;
    font-size: 0.75rem;
    line-height: 1.66;
    letter-spacing: 0.03333em;
    color: var(--mud-palette-text-secondary);
}

[b-atr8qqsnvd] .sign-in-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    /* MudRadioGroup lays its content out as a flex row, which would shrink the grid to its content. */
    flex: 1 1 100%;
    width: 100%;
}

@media (max-width: 960px) {
    [b-atr8qqsnvd] .sign-in-options {
        grid-template-columns: 1fr;
    }
}

[b-atr8qqsnvd] .sign-in-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

[b-atr8qqsnvd] .sign-in-option:hover {
    border-color: var(--mud-palette-text-secondary);
}

[b-atr8qqsnvd] .sign-in-option.selected {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary);
    background-color: var(--mud-palette-background-gray);
}

[b-atr8qqsnvd] .sign-in-option.disabled {
    cursor: default;
    opacity: 0.6;
}

[b-atr8qqsnvd] .sign-in-option .mud-radio {
    margin: -6px -4px 0 -8px;
}

[b-atr8qqsnvd] .sign-in-option .option-icon {
    margin-top: 2px;
    color: var(--mud-palette-text-secondary);
}

[b-atr8qqsnvd] .sign-in-option.selected .option-icon {
    color: var(--mud-palette-primary);
}

[b-atr8qqsnvd] .sign-in-option .option-text {
    flex: 1 1 auto;
    min-width: 0;
}

[b-atr8qqsnvd] .sign-in-option .option-title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
}

[b-atr8qqsnvd] .sign-in-option .option-description {
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--mud-palette-text-secondary);
}

/* What the choice means in practice, as a short list under the description. */
[b-atr8qqsnvd] .sign-in-option .option-facts {
    margin: 8px 0 0;
    padding: 8px 0 0;
    list-style: none;
    border-top: 1px dashed var(--mud-palette-lines-default);
}

[b-atr8qqsnvd] .sign-in-option .option-facts li {
    position: relative;
    padding-left: 12px;
    font-size: 0.75rem;
    line-height: 1.6;
    color: var(--mud-palette-text-secondary);
}

[b-atr8qqsnvd] .sign-in-option .option-facts li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.55em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: currentColor;
}

[b-atr8qqsnvd] .sign-in-option.selected .option-facts li::before {
    background-color: var(--mud-palette-primary);
}
/* /Components/Account/Pages/RolesManagement/ManageCustomRoleComponent.razor.rz.scp.css */
.permissions-header[b-vi0bkduozr] {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 44px; /* reserve space so the row doesn't jump when Save/Cancel/Delete appear */
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.permissions-title[b-vi0bkduozr] {
    flex: 0 0 auto;
    min-width: 0;
}

.permissions-center[b-vi0bkduozr] {
    flex: 1 1 320px;
    min-width: 240px;
}

.permissions-actions[b-vi0bkduozr] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-left: auto;
    flex-shrink: 0;
}

.permissions-content[b-vi0bkduozr] {
    width: 100%;
}

@media (max-width: 959.98px) {
    .permissions-header[b-vi0bkduozr] {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .permissions-actions[b-vi0bkduozr] {
        width: 100%;
        justify-self: stretch;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}
/* /Components/Account/Pages/RolesManagement/PermissionsComponent.razor.rz.scp.css */
.perm-root[b-n929g22qpc] {
    width: 100%;
}

/* ---------- Toolbar ---------- */
.perm-toolbar[b-n929g22qpc] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.perm-search[b-n929g22qpc] {
    min-width: 240px;
    flex: 1 1 280px;
    margin: 0;
}

.perm-toolbar-filters[b-n929g22qpc] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.perm-toolbar-actions[b-n929g22qpc] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-wrap: wrap;
}

/* ---------- Matrix table ---------- */
.perm-table-card[b-n929g22qpc] {
    background-color: var(--mud-palette-surface);
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 12px;
}

.pm-scroll[b-n929g22qpc] {
    width: 100%;
    overflow-x: auto;
}

.pm-table[b-n929g22qpc] {
    width: 100%;
    table-layout: auto;
    border-collapse: collapse;
}

.pm-c-resource[b-n929g22qpc] {
    width: auto;
}

.pm-c-action[b-n929g22qpc] {
    width: 96px;
}

.pm-table[b-n929g22qpc]  .mud-checkbox {
    margin: 0;
}

.pm-table thead th[b-n929g22qpc] {
    border-bottom: 2px solid var(--mud-palette-lines-default);
    background-color: var(--mud-palette-surface);
}

.pm-table tbody td[b-n929g22qpc],
.pm-table tbody th[b-n929g22qpc] {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.pm-table tbody tr:last-child td[b-n929g22qpc],
.pm-table tbody tr:last-child th[b-n929g22qpc] {
    border-bottom: none;
}

.pm-table tbody tr:hover td[b-n929g22qpc],
.pm-table tbody tr:hover th[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.03);
}

/* Resource (row header) column */
.pm-corner[b-n929g22qpc] {
    text-align: left;
    padding: 12px 18px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.pm-rowhead[b-n929g22qpc] {
    text-align: left;
    font-weight: 400;
    white-space: nowrap;
}

.pm-rowhead-inner[b-n929g22qpc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 20px 6px 8px;
}

.pm-row-icon[b-n929g22qpc] {
    color: var(--mud-palette-primary);
    flex-shrink: 0;
}

.pm-row-name[b-n929g22qpc] {
    flex: 0 0 auto;
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.pm-row-count[b-n929g22qpc] {
    margin-left: 10px;
    font-size: 0.78rem;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

/* Column headers */
.pm-colhead-th[b-n929g22qpc] {
    text-align: center;
    vertical-align: bottom;
}

.pm-colhead[b-n929g22qpc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 10px;
}

.pm-col-label[b-n929g22qpc] {
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--mud-palette-text-primary);
}

.pm-col-count[b-n929g22qpc] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

/* Cells */
.pm-cell-td[b-n929g22qpc] {
    text-align: center;
    padding: 3px 6px;
    height: 40px;
}

.pm-cell[b-n929g22qpc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: background-color 120ms ease, border-color 120ms ease;
}

.pm-cell.is-on[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.1);
}

.pm-cell.is-on.risk-high[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-warning-rgb), 0.16);
    border-color: rgba(var(--mud-palette-warning-rgb), 0.55);
}

.pm-cell.is-on.risk-critical[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-error-rgb), 0.16);
    border-color: rgba(var(--mud-palette-error-rgb), 0.55);
}

/* Locked (Entra-managed) permissions: rendered read-only with a lock affordance. */
.pm-cell.is-locked[b-n929g22qpc],
.pm-other-item.is-locked[b-n929g22qpc] {
    opacity: 0.65;
}

.pm-cell.is-locked[b-n929g22qpc]  .pm-lock-icon,
.pm-other-item.is-locked[b-n929g22qpc]  .pm-lock-icon {
    width: 0.95rem;
    height: 0.95rem;
    margin-left: 2px;
    color: var(--mud-palette-text-secondary);
}

.pm-empty[b-n929g22qpc] {
    color: var(--mud-palette-text-secondary);
    opacity: 0.35;
    user-select: none;
}

/* "Other" (non-CRUD, named) cells */
.pm-other-td[b-n929g22qpc] {
    padding: 6px 14px;
    text-align: left;
}

.pm-other-item[b-n929g22qpc] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px 4px 4px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    transition: background-color 120ms ease, border-color 120ms ease;
}

.pm-other-item.is-on[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.1);
    border-color: var(--mud-palette-primary);
}

.pm-other-item.is-on.risk-high[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-warning-rgb), 0.16);
    border-color: rgba(var(--mud-palette-warning-rgb), 0.55);
}

.pm-other-item.is-on.risk-critical[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-error-rgb), 0.16);
    border-color: rgba(var(--mud-palette-error-rgb), 0.55);
}

.pm-other-label[b-n929g22qpc] {
    font-size: 0.8rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.perm-editable .pm-other-label[b-n929g22qpc] {
    cursor: pointer;
}

/* ---------- Risk badges ---------- */
.risk-badge[b-n929g22qpc] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    font-size: 0.6rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.05em;
    padding: 4px 8px;
    border-radius: 999px;
    text-transform: uppercase;
}

.risk-badge.risk-high[b-n929g22qpc] {
    color: var(--mud-palette-warning);
    background-color: rgba(var(--mud-palette-warning-rgb), 0.16);
}

.risk-badge.risk-critical[b-n929g22qpc] {
    color: var(--mud-palette-error);
    background-color: rgba(var(--mud-palette-error-rgb), 0.16);
}

/* ---------- Empty state ---------- */
.perm-empty[b-n929g22qpc] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 48px 24px;
    text-align: center;
    background-color: var(--mud-palette-surface);
    border: 1px dashed var(--mud-palette-lines-default);
    border-radius: 12px;
}

.perm-empty-icon[b-n929g22qpc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin-bottom: 6px;
    border-radius: 50%;
    background-color: rgba(var(--mud-palette-primary-rgb), 0.08);
}

.perm-empty-icon[b-n929g22qpc]  .mud-icon-root {
    font-size: 1.8rem;
    color: var(--mud-palette-text-secondary);
}

.perm-empty-title[b-n929g22qpc] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.perm-empty-text[b-n929g22qpc] {
    font-size: 0.82rem;
    color: var(--mud-palette-text-secondary);
    max-width: 320px;
}

/* ---------- Summary rail ---------- */
.perm-summary-wrap[b-n929g22qpc] {
    position: sticky;
    top: 8px;
}

.perm-summary[b-n929g22qpc] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    background-color: var(--mud-palette-surface);
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 12px;
}

.perm-summary-head[b-n929g22qpc] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mud-palette-text-secondary);
}

/* metric card */
.perm-summary-metric[b-n929g22qpc] {
    padding: 18px;
    border-radius: 12px;
    background-color: rgba(var(--mud-palette-primary-rgb), 0.07);
    border: 1px solid rgba(var(--mud-palette-primary-rgb), 0.22);
}

.perm-summary-metric-top[b-n929g22qpc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-bottom: 8px;
}

.perm-summary-metric-label[b-n929g22qpc] {
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.perm-summary-meter[b-n929g22qpc] {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.perm-summary-num[b-n929g22qpc] {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1;
    color: var(--mud-palette-primary);
    font-variant-numeric: tabular-nums;
}

.perm-summary-den[b-n929g22qpc] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    font-variant-numeric: tabular-nums;
}

.perm-summary-progress[b-n929g22qpc] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.perm-summary-track[b-n929g22qpc] {
    flex: 1 1 auto;
    height: 8px;
    border-radius: 999px;
    background-color: rgba(var(--mud-palette-primary-rgb), 0.18);
    overflow: hidden;
}

.perm-summary-track > i[b-n929g22qpc] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background-color: var(--mud-palette-primary);
    transition: width 220ms ease;
}

.perm-summary-pct[b-n929g22qpc] {
    flex-shrink: 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--mud-palette-primary);
    font-variant-numeric: tabular-nums;
}

.perm-summary-status[b-n929g22qpc] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
}

.perm-summary-status.status-saved[b-n929g22qpc] {
    color: var(--mud-palette-success);
    background-color: rgba(var(--mud-palette-success-rgb), 0.14);
}

.perm-summary-status.status-changed[b-n929g22qpc] {
    color: var(--mud-palette-warning);
    background-color: rgba(var(--mud-palette-warning-rgb), 0.16);
}

.perm-summary-status .diff-add[b-n929g22qpc] {
    color: var(--mud-palette-success);
}

.perm-summary-status .diff-rem[b-n929g22qpc] {
    color: var(--mud-palette-error);
    margin-left: 4px;
}

/* grouped sections, each separated by a divider so nothing looks glued */
.perm-summary-group[b-n929g22qpc] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

.perm-summary-section[b-n929g22qpc] {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mud-palette-text-secondary);
}

/* compact single-line category rows */
.perm-summary-cats[b-n929g22qpc] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.perm-summary-cat[b-n929g22qpc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px 42px;
    align-items: center;
    gap: 10px;
    padding: 6px 8px;
    border-radius: 7px;
    transition: background-color 120ms ease;
}

.perm-summary-cat:hover[b-n929g22qpc] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.05);
}

.perm-summary-cat-name[b-n929g22qpc] {
    font-size: 0.81rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.perm-summary-cat-bar[b-n929g22qpc] {
    height: 5px;
    border-radius: 999px;
    background-color: rgba(var(--mud-palette-primary-rgb), 0.14);
    overflow: hidden;
}

.perm-summary-cat-bar > i[b-n929g22qpc] {
    display: block;
    height: 100%;
    border-radius: 999px;
    transition: width 220ms ease;
}

.perm-summary-cat-bar > i.full[b-n929g22qpc] {
    background-color: var(--mud-palette-success);
}

.perm-summary-cat-bar > i.partial[b-n929g22qpc] {
    background-color: var(--mud-palette-primary);
}

.perm-summary-cat-bar > i.none[b-n929g22qpc] {
    background-color: transparent;
}

.perm-summary-cat-count[b-n929g22qpc] {
    text-align: right;
    font-size: 0.74rem;
    font-variant-numeric: tabular-nums;
}

.perm-summary-cat-count.full[b-n929g22qpc] {
    color: var(--mud-palette-success);
    font-weight: 700;
}

.perm-summary-cat-count.partial[b-n929g22qpc] {
    color: var(--mud-palette-primary);
    font-weight: 700;
}

.perm-summary-cat-count.none[b-n929g22qpc] {
    color: var(--mud-palette-text-secondary);
    opacity: 0.6;
}

/* risk legend */
.perm-summary-legend-row[b-n929g22qpc] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.perm-summary-legend[b-n929g22qpc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.legend-text[b-n929g22qpc] {
    font-size: 0.76rem;
    color: var(--mud-palette-text-secondary);
}

@media (max-width: 1279.98px) {
    .perm-summary-wrap[b-n929g22qpc] {
        position: static;
    }
}
/* /Components/Account/Pages/RolesManagement/RolesComponent.razor.rz.scp.css */
/* ---------- Workspace ---------- */
.roles-workspace[b-uqv5w3beqn] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.roles-body[b-uqv5w3beqn] {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

/* ---------- Left: roles list (sticky while scrolling) ---------- */
.roles-list-pane[b-uqv5w3beqn] {
    flex: 0 0 300px;
    position: sticky;
    top: 8px;
}

.roles-list-card[b-uqv5w3beqn] {
    width: 100%;
}

.roles-list-header[b-uqv5w3beqn] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}

.roles-add-action[b-uqv5w3beqn] {
    width: 100%;
}

.roles-list-divider[b-uqv5w3beqn] {
    margin: 2px 0;
}

.roles-list-title[b-uqv5w3beqn] {
    text-transform: uppercase;
    letter-spacing: 0.07em;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--mud-palette-text-secondary);
}

.roles-list-scroll[b-uqv5w3beqn] {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    padding-right: 4px;
}

.role-list-card[b-uqv5w3beqn] {
    transition: border-color 120ms ease, background-color 120ms ease;
}

.role-list-card:hover[b-uqv5w3beqn] {
    border-color: var(--mud-palette-primary);
}

.role-list-card-selected[b-uqv5w3beqn] {
    border-color: var(--mud-palette-primary);
    background-color: rgba(var(--mud-palette-primary-rgb), 0.08);
}

/* ---------- Role card content ---------- */
.role-card-info[b-uqv5w3beqn] {
    min-width: 0;
}

/* ::deep because the subtitle sits on a MudText component, which CSS isolation won't scope directly. */
.role-card-info[b-uqv5w3beqn]  .role-card-subtitle {
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--mud-palette-text-secondary);
}

.role-card-meta[b-uqv5w3beqn] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* Assigned-permission count badge, e.g. "12 / 31" — neutral, informational only. */
.role-perm-count[b-uqv5w3beqn] {
    display: inline-flex;
    align-items: baseline;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.role-perm-count-sep[b-uqv5w3beqn] {
    margin: 0 2px;
    font-weight: 600;
    opacity: 0.5;
}

.role-perm-count-total[b-uqv5w3beqn] {
    font-weight: 600;
    opacity: 0.75;
}

/* ---------- Right: single merged detail card ---------- */
.roles-detail-pane[b-uqv5w3beqn] {
    flex: 1 1 auto;
    min-width: 0;
}

.role-detail-empty[b-uqv5w3beqn] {
    width: 100%;
}

.role-detail-card[b-uqv5w3beqn] {
    width: 100%;
    background-color: var(--mud-palette-surface);
}

.role-perm-section[b-uqv5w3beqn] {
    width: 100%;
}

/* ---------- Entra mapping (inline in the permissions header) ---------- */
.entra-inline[b-uqv5w3beqn] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.entra-inline-icon[b-uqv5w3beqn] {
    flex-shrink: 0;
}

.entra-inline-field[b-uqv5w3beqn] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

@media (max-width: 959.98px) {
    .roles-body[b-uqv5w3beqn] {
        flex-direction: column;
    }

    .roles-list-pane[b-uqv5w3beqn] {
        flex: 0 0 auto;
        position: static;
        width: 100%;
    }

    .roles-list-scroll[b-uqv5w3beqn] {
        max-height: 240px;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-u89fhxmcnd] {
    background: red;
    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-u89fhxmcnd] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Pages/Shield/Scheduling/ScheduleBoard.razor.rz.scp.css */
/* The board is a plain HTML table on purpose: CSS isolation does not reach MudBlazor components,
   and a table gives us sticky headers and a first column that stays put while the week scrolls.

   The colours are the Shield brand tokens declared in wwwroot/css/shield.css. They are restated with
   fallbacks here because CSS isolation rewrites the selectors, not the custom properties: if the page
   ever renders outside a .shield-page ancestor the fallbacks keep the board legible. */

.schedule-board[b-vj7nakh36r] {
    overflow: auto;
    max-height: 68vh;
    border: 1px solid var(--shield-line, #E4E4E4);
    border-radius: var(--shield-radius-card, 15px);
    background: var(--shield-surface, #FFFFFF);
}

.schedule-grid[b-vj7nakh36r] {
    width: 100%;
    min-width: 1100px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 12.5px;
}

.schedule-grid th[b-vj7nakh36r],
.schedule-grid td[b-vj7nakh36r] {
    border-bottom: 1px solid var(--shield-line, #E4E4E4);
    border-right: 1px solid var(--shield-line, #E4E4E4);
    vertical-align: top;
    padding: 6px 8px;
}

.schedule-grid th[b-vj7nakh36r] {
    position: sticky;
    top: 0;
    z-index: 3;
    background: var(--shield-surface-alt, #F8F8F8);
    text-align: left;
    font-weight: 600;
}

.schedule-grid .row-header[b-vj7nakh36r] {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 210px;
    max-width: 260px;
    background: var(--shield-surface, #FFFFFF);
    border-right: 2px solid var(--shield-line-strong, #D9D9D9);
}

.schedule-grid th.row-header[b-vj7nakh36r] {
    z-index: 4;
    background: var(--shield-surface-alt, #F8F8F8);
}

.day-header .day-name[b-vj7nakh36r] {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--shield-ink-muted, #787878);
}

.day-header .day-date[b-vj7nakh36r] {
    font-size: 13px;
    font-weight: 600;
}

.day-header.today .day-name[b-vj7nakh36r],
.day-header.today .day-date[b-vj7nakh36r] {
    color: var(--shield-indigo, #2D2BAB);
}

/* A holiday is a property of the day, so it is called out in the header rather than on every cell. */
.day-header.holiday[b-vj7nakh36r] {
    background: var(--shield-draft-soft, #F3EBFC);
}

.day-header .day-holiday[b-vj7nakh36r] {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--shield-draft, #7A3FD6);
}

.day.today[b-vj7nakh36r] {
    background: var(--shield-indigo-soft, #EEEEFA);
}

.day.holiday[b-vj7nakh36r] {
    background: var(--shield-draft-soft, #F3EBFC);
}

/* The row header carries the branch, the purchase order and the week's five figures, so it is the
   widest thing on the board and the only part of it that is not a day. */
.row-header .row-title[b-vj7nakh36r] {
    font-weight: 700;
    color: var(--shield-indigo, #2D2BAB);
}

.group-open[b-vj7nakh36r] {
    color: var(--shield-danger, #C62828);
    font-weight: 600;
}

.row-title[b-vj7nakh36r] {
    font-weight: 600;
}

.row-sub[b-vj7nakh36r] {
    color: var(--shield-ink-muted, #787878);
    font-size: 11px;
}

/* The branch and the week menu share the top line: the name takes what it needs
   and the menu stays pinned to the right-hand corner of the cell, which is where
   a reader looks for what can be done to a row. */
.row-head[b-vj7nakh36r] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.row-head .row-title[b-vj7nakh36r] {
    flex: 1 1 auto;
    min-width: 0;
}

.row-week-menu[b-vj7nakh36r] {
    flex: 0 0 auto;
    margin: -4px -4px 0 0;
    opacity: .45;
    transition: opacity .12s ease-in-out;
}

tr:hover .row-week-menu[b-vj7nakh36r],
.row-week-menu:focus-within[b-vj7nakh36r] {
    opacity: 1;
}

/* Both names are links out to the records behind the row. Underlined only on hover,
   because a board of forty rows underlined twice over reads as a page of links
   rather than a week of work. */
.row-header a[b-vj7nakh36r] {
    color: inherit;
    text-decoration: none;
}

.row-header a:hover[b-vj7nakh36r],
.row-header a:focus-visible[b-vj7nakh36r] {
    text-decoration: underline;
}

/* One shift in a cell. Colour carries the state; the flags carry the detail. The element is a button so
   the board can be worked from the keyboard - a dispatcher filling a week does not reach for the mouse. */
.shift[b-vj7nakh36r] {
    display: block;
    width: 100%;
    text-align: left;
    font: inherit;
    color: inherit;
    border: 1px solid transparent;
    border-left-width: 3px;
    border-radius: var(--shield-radius-control, 5px);
    padding: 4px 6px;
    margin-bottom: 4px;
    cursor: pointer;
    transition: filter .12s ease-in-out;
}

.shift:hover[b-vj7nakh36r] {
    filter: brightness(.97);
}

.shift:focus-visible[b-vj7nakh36r] {
    outline: 2px solid var(--shield-indigo, #2D2BAB);
    outline-offset: 1px;
}

.shift:last-child[b-vj7nakh36r] {
    margin-bottom: 0;
}

.shift-time[b-vj7nakh36r] {
    font-weight: 600;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* --- How much of a shift is covered --------------------------------------
   The board exists to find the gaps, so the figure sits on the card next to
   the hours rather than being counted off the names underneath. Three states
   and no gradient: nobody, some of it, all of it. */

.shift-fill[b-vj7nakh36r] {
    margin-left: auto;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .02em;
    padding: 0 5px;
    border-radius: 999px;
    border: 1px solid transparent;
}

.shift-fill-none[b-vj7nakh36r] {
    color: var(--shield-danger, #C62828);
    background: var(--shield-danger-soft, #FCEAEA);
    border-color: var(--shield-danger, #C62828);
}

.shift-fill-part[b-vj7nakh36r] {
    color: var(--shield-warn, #B26A00);
    background: var(--shield-warn-soft, #FFF4E0);
    border-color: var(--shield-warn, #B26A00);
}

.shift-fill-full[b-vj7nakh36r] {
    color: var(--shield-good, #1B7F4B);
    background: var(--shield-good-soft, #E8F6EE);
    border-color: #BFE3CE;
}

.shift-officer[b-vj7nakh36r] {
    font-size: 11.5px;
    overflow-wrap: anywhere;
}

/* --- A card says its cover in colour ------------------------------------
   Scanning a week is looking for what is not green. The covered card is the
   quiet one of the three: a soft green ground with the left edge in the full
   colour, so a full week reads as calm rather than as decoration. */

.shift.filled[b-vj7nakh36r] {
    background: var(--shield-good-soft, #E8F6EE);
    border-color: #BFE3CE;
    border-left-color: var(--shield-good, #1B7F4B);
}

/* Part-covered sits between the two, in the same amber the badge uses. */
.shift.partial[b-vj7nakh36r] {
    background: var(--shield-warn-soft, #FFF4E0);
    border-color: var(--shield-warn, #B26A00);
}

.shift.partial .shift-officer-short[b-vj7nakh36r] {
    font-weight: 700;
    color: var(--shield-warn, #B26A00);
}

.shift.open[b-vj7nakh36r] {
    background: var(--shield-danger-soft, #FCEAEA);
    border-color: var(--shield-danger, #C62828);
}

.shift.open .shift-officer[b-vj7nakh36r] {
    font-weight: 700;
    color: var(--shield-danger, #C62828);
}

.shift.attention[b-vj7nakh36r] {
    background: var(--shield-warn-soft, #FFF4E0);
    border-color: var(--shield-warn, #B26A00);
}

.shift.canceled[b-vj7nakh36r] {
    background: transparent;
    border-color: var(--shield-line, #E4E4E4);
    opacity: .6;
}

.shift.canceled .shift-time[b-vj7nakh36r],
.shift.canceled .shift-officer[b-vj7nakh36r] {
    text-decoration: line-through;
}

.shift-flags[b-vj7nakh36r] {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 3px;
}

.flag[b-vj7nakh36r] {
    font-size: 9.5px;
    line-height: 1.5;
    padding: 0 4px;
    border-radius: var(--shield-radius-pill, 999px);
    border: 1px solid currentColor;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}

.flag.duty[b-vj7nakh36r] { color: var(--shield-good, #1B7F4B); }
.flag.warn[b-vj7nakh36r] { color: var(--shield-warn, #B26A00); }
.flag.danger[b-vj7nakh36r] { color: var(--shield-danger, #C62828); }
.flag.info[b-vj7nakh36r] { color: var(--shield-indigo, #2D2BAB); }
.flag.draft[b-vj7nakh36r] { color: var(--shield-draft, #7A3FD6); }
.flag.muted[b-vj7nakh36r] { color: var(--shield-ink-muted, #787878); }

.legend[b-vj7nakh36r] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: var(--shield-ink-muted, #787878);
}

.swatch[b-vj7nakh36r] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    border: 1px solid;
    display: inline-block;
}

.swatch.filled[b-vj7nakh36r] {
    background: var(--shield-good-soft, #E8F6EE);
    border-color: var(--shield-good, #1B7F4B);
}

.swatch.partial[b-vj7nakh36r] {
    background: var(--shield-warn-soft, #FFF4E0);
    border-color: var(--shield-warn, #B26A00);
}

.swatch.open[b-vj7nakh36r] {
    background: var(--shield-danger-soft, #FCEAEA);
    border-color: var(--shield-danger, #C62828);
}

.swatch.attention[b-vj7nakh36r] {
    background: var(--shield-warn-soft, #FFF4E0);
    border-color: var(--shield-warn, #B26A00);
}

.swatch.canceled[b-vj7nakh36r] {
    background: transparent;
    border-color: var(--shield-line, #E4E4E4);
}

.swatch.todaybox[b-vj7nakh36r] {
    background: var(--shield-indigo-soft, #EEEEFA);
    border-color: var(--shield-indigo, #2D2BAB);
}

/* --- Under a purchase order with nothing booked --------------------------
   The row keeps its seven days, because a shift can be added to any of them,
   and the two ways to fill a week sit in the menu on the branch itself - a
   row of its own spanned the days and used none of them. */

.unscheduled-row .row-title[b-vj7nakh36r] {
    color: var(--shield-ink-muted);
}

/* --- Who works when, on the card -----------------------------------------
   One line per officer. The window is quieter than the name because the name
   is what somebody scans for; the times are what they check once they have
   found it. */

.shift-officer-window[b-vj7nakh36r] {
    display: block;
    font-variant-numeric: tabular-nums;
    opacity: .8;
    font-size: .92em;
}

.shift-officer-more[b-vj7nakh36r] {
    opacity: .75;
    font-style: italic;
}

.shift-officer-short[b-vj7nakh36r] {
    color: var(--shield-warn);
    font-weight: 600;
}

/* --- Add a shift where you are -------------------------------------------
   Quiet until the cell is hovered or the button is focused, so a full week
   does not read as a grid of plus signs. Focus counts as well as hover, or a
   keyboard user could never reach it. */

.cell-add[b-vj7nakh36r] {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: 3px 0;
    border: 1px dashed var(--shield-line-strong);
    border-radius: 4px;
    background: transparent;

    /* Not --shield-ink-faint: at this size that measured 2.41 against a white cell, which is not
       readable, and this button was asked to be more visible rather than less. #6C6C6C measures 5.25 on
       white and 4.94 on the striped row's ground, so it clears 4.5 either way. */
    color: #6C6C6C;
    font: inherit;
    font-size: .72rem;
    line-height: 1.2;
    letter-spacing: .02em;
    cursor: pointer;
    transition: color .12s ease-in-out, border-color .12s ease-in-out, background .12s ease-in-out;
}

/* Present but quiet by default, so a week of empty cells does not read as a grid of buttons; solid and
   branded once the cell is hovered or the button is focused, because a keyboard user has no hover. */
td.day:hover > .cell-add[b-vj7nakh36r],
.cell-add:focus-visible[b-vj7nakh36r] {
    border-style: solid;
    border-color: var(--shield-indigo-border);
    color: var(--shield-indigo);
    background: var(--shield-indigo-soft);
}

.cell-add:hover[b-vj7nakh36r] {
    border-color: var(--shield-indigo);
    color: var(--shield-indigo);
}

/* --- Filling the screen --------------------------------------------------
   Fixed over the page rather than a browser full-screen request: that needs a
   user gesture the framework cannot reliably hand it, and it hides the tab and
   address bars, which a dispatcher checking another tab does not want. */

.board-fullscreen[b-vj7nakh36r] {
    position: fixed;
    inset: 0;

    /* Above the navigation drawer, which MudBlazor puts at 1100, so the week really does fill the
       screen. The shift panel is then lifted above this - see shield.css - and dialogs sit at 1400,
       so both still open over the top. */
    z-index: 1200;
    margin: 0;
    padding: 12px 16px;
    overflow-y: auto;
    background: var(--shield-surface-alt);
}

/* --- Full screen gives the room to the grid ------------------------------
   Everything above the table is context read once at the start of the week;
   the table is what is worked in all day. So in full screen the page title
   becomes a single line naming the week, the forecast strip is gone (in the
   markup, not just hidden - eight tiles of context nobody reads twice), and
   what is left is squeezed. */

.board-fullscreen .shield-page-title-compact[b-vj7nakh36r] {
    font-size: 1.05rem;
    margin: 0;
    line-height: 1.2;
}

.board-fullscreen .shield-page-head[b-vj7nakh36r] {
    margin-bottom: 6px;
    padding-bottom: 0;
}

/* The toolbar stays - it is the filter set, which is used all day - but loses
   its card padding and its gap below. */
.board-fullscreen .shield-card[b-vj7nakh36r] {
    padding: 6px 8px;
    margin-bottom: 6px !important;
}

.board-fullscreen[b-vj7nakh36r]  .mud-tabs-toolbar {
    min-height: 36px;
}

.board-fullscreen[b-vj7nakh36r]  .mud-tab {
    min-height: 36px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.board-fullscreen[b-vj7nakh36r]  .mud-tabs-panels {
    padding-top: 8px !important;
}

/* The breadcrumb is pure navigation chrome and the way out is the toggle. */
.board-fullscreen[b-vj7nakh36r]  .shield-breadcrumbs,
.board-fullscreen[b-vj7nakh36r]  .mud-breadcrumbs {
    display: none;
}

/* --- The contract on its row ---------------------------------------------
   Term and rate under the agency name. Tabular figures so the rates line up
   down the column, which is how somebody compares them. */

.row-contract[b-vj7nakh36r] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
    font-size: .68rem;
    font-variant-numeric: tabular-nums;
    color: #6C6C6C;
}

/* A contract expiring inside the week being looked at is worth noticing. */
.row-contract-ending[b-vj7nakh36r] {
    color: var(--shield-warn);
    font-weight: 600;
}

.row-contract-rate[b-vj7nakh36r] {
    font-weight: 600;
}

/*
    The week's arithmetic under the site's name. It sits in the sticky first column, so it stays
    beside the days as the board is scrolled - which is the point of putting it there.
*/
.week-cost[b-vj7nakh36r] {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed var(--shield-line, #E6E6E6);
    font-size: 11px;
    line-height: 1.45;
}

.week-cost-contract[b-vj7nakh36r] {
    font-weight: 700;
    color: var(--shield-ink-muted, #787878);
}

.week-cost-line[b-vj7nakh36r] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: var(--shield-ink-muted, #787878);
}

.week-cost-figure[b-vj7nakh36r] {
    font-variant-numeric: tabular-nums;
    color: var(--shield-ink, #1A1A1A);
    white-space: nowrap;
}

.week-cost-margin[b-vj7nakh36r] {
    margin-top: 2px;
    padding-top: 2px;
    border-top: 1px solid var(--shield-line, #E6E6E6);
    font-weight: 600;
}

.week-cost-short[b-vj7nakh36r] {
    color: var(--shield-danger, #C62828);
    font-weight: 600;
}

.week-cost-changed[b-vj7nakh36r] {
    color: var(--shield-indigo, #2D2BAB);
    font-weight: 700;
}

.week-cost-actions[b-vj7nakh36r] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 2px;
}

.week-cost-forecast[b-vj7nakh36r] {
    color: var(--shield-ink-muted, #787878);
    font-style: italic;
}
/* /Components/Pages/Shield/Scheduling/ShiftDetailDrawer.razor.rz.scp.css */

/* --- One block per officer ------------------------------------------------
   Each officer the shift needs gets a card: who, which hours, what they are
   paid and what is billed for them. Boxed rather than ruled, because the
   questions inside one block belong together and the ones in the next do not. */

.shift-slot[b-ud8ihd6unb] {
    padding: 10px 12px;
}
/* /Components/Pages/SmMudAutocompleteProductionDemo.razor.rz.scp.css */
.sm-mud-autocomplete-demo-flag-row[b-aeaicsf7x4] {
    align-items: center;
    display: flex;
    gap: 8px;
}

.sm-mud-autocomplete-demo-flag-row img[b-aeaicsf7x4] {
    flex: 0 0 auto;
}
/* /Components/Shared/SmMudAutocomplete/SmMudAutocomplete.razor.rz.scp.css */
.sm-mud-autocomplete[b-1ugqv9z4at] {
    --sm-autocomplete-radius: 8px;
    --sm-autocomplete-row-height: 40px;
    --sm-autocomplete-focus-ring: rgba(var(--mud-palette-primary-rgb), 0.22);
    --sm-autocomplete-hover-bg: rgba(var(--mud-palette-primary-rgb), 0.10);
    --sm-autocomplete-highlight-bg: rgba(var(--mud-palette-primary-rgb), 0.16);
    --sm-autocomplete-selected-bg: rgba(var(--mud-palette-primary-rgb), 0.12);
    position: relative;
    width: 100%;
}

.sm-mud-autocomplete-disabled[b-1ugqv9z4at] {
    cursor: not-allowed;
}

.sm-mud-autocomplete-popover[b-1ugqv9z4at],
.sm-mud-autocomplete-panel[b-1ugqv9z4at] {
    --sm-autocomplete-radius: 8px;
    --sm-autocomplete-row-height: 40px;
    --sm-autocomplete-hover-bg: rgba(var(--mud-palette-primary-rgb), 0.10);
    --sm-autocomplete-highlight-bg: rgba(var(--mud-palette-primary-rgb), 0.16);
    --sm-autocomplete-selected-bg: rgba(var(--mud-palette-primary-rgb), 0.12);
}

.sm-mud-autocomplete-backdrop[b-1ugqv9z4at] {
    background: transparent;
    cursor: default;
    inset: 0;
    position: fixed;
    z-index: var(--mud-zindex-popover);
}

.sm-mud-autocomplete[b-1ugqv9z4at]  .sm-mud-autocomplete-input {
    width: 100%;
}

.sm-mud-autocomplete[b-1ugqv9z4at]  .sm-mud-autocomplete-input .mud-input-control-input-container {
    min-width: 0;
}

.sm-mud-autocomplete[b-1ugqv9z4at]  .sm-mud-autocomplete-input .mud-input-root {
    caret-color: transparent;
    cursor: pointer;
    min-width: 0;
}

.sm-mud-autocomplete[b-1ugqv9z4at]  .sm-mud-autocomplete-input input[readonly] {
    cursor: pointer;
}

.sm-mud-autocomplete[b-1ugqv9z4at]  .sm-mud-autocomplete-input input[readonly] {
    padding-right: 38px;
    user-select: none;
}

.sm-mud-autocomplete-has-value[b-1ugqv9z4at]  .sm-mud-autocomplete-input input[readonly] {
    padding-right: 68px;
}

.sm-mud-autocomplete-actions[b-1ugqv9z4at] {
    align-items: center;
    display: flex;
    gap: 2px;
    pointer-events: none;
    position: absolute;
    z-index: 2;
}

.sm-mud-autocomplete-variant-outlined .sm-mud-autocomplete-actions[b-1ugqv9z4at],
.sm-mud-autocomplete-variant-filled .sm-mud-autocomplete-actions[b-1ugqv9z4at] {
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
}

.sm-mud-autocomplete-variant-text .sm-mud-autocomplete-actions[b-1ugqv9z4at] {
    bottom: 1px;
    right: 0;
}

.sm-mud-autocomplete-action[b-1ugqv9z4at] {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    padding: 0;
    pointer-events: auto;
    transition: background-color 120ms ease, color 120ms ease;
    width: 28px;
}

.sm-mud-autocomplete-action:hover[b-1ugqv9z4at] {
    background: var(--mud-palette-action-default-hover);
    color: var(--mud-palette-text-primary);
}

.sm-mud-autocomplete-action:focus-visible[b-1ugqv9z4at] {
    box-shadow: 0 0 0 2px var(--sm-autocomplete-focus-ring);
    outline: none;
}

.sm-mud-autocomplete-action:disabled[b-1ugqv9z4at] {
    color: var(--mud-palette-text-disabled);
    cursor: not-allowed;
}

.sm-mud-autocomplete-action-clear[b-1ugqv9z4at]  .mud-icon-root {
    font-size: 17px;
}

.sm-mud-autocomplete-action-toggle[b-1ugqv9z4at]  .mud-icon-root {
    font-size: 22px;
}

.sm-mud-autocomplete-open .sm-mud-autocomplete-action-toggle[b-1ugqv9z4at] {
    color: var(--mud-palette-primary);
}

.sm-mud-autocomplete-disabled[b-1ugqv9z4at]  .sm-mud-autocomplete-input {
    opacity: 0.72;
}

/* Size variants: applied to both the root control and the (portaled) popover/panel */
.sm-mud-autocomplete-size-small[b-1ugqv9z4at] {
    --sm-autocomplete-row-height: 34px;
    font-size: 0.85rem;
}

.sm-mud-autocomplete-size-large[b-1ugqv9z4at] {
    --sm-autocomplete-row-height: 48px;
    font-size: 1.05rem;
}

.sm-mud-autocomplete-popover[b-1ugqv9z4at] {
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--sm-autocomplete-radius);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14), 0 4px 14px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    z-index: calc(var(--mud-zindex-popover) + 1);
}

.sm-mud-autocomplete-dropdown-down[b-1ugqv9z4at] {
    margin-top: 4px;
}

.sm-mud-autocomplete-dropdown-up[b-1ugqv9z4at] {
    margin-bottom: 4px;
}

.sm-mud-autocomplete-panel[b-1ugqv9z4at] {
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
}

.sm-mud-autocomplete-search[b-1ugqv9z4at] {
    background: var(--mud-palette-surface);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    padding: 8px;
}

.sm-mud-autocomplete-search-control[b-1ugqv9z4at] {
    align-items: center;
    background: var(--mud-palette-background-gray);
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: 7px;
    display: flex;
    gap: 8px;
    min-height: 38px;
    padding: 0 9px;
    transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.sm-mud-autocomplete-search-control:hover[b-1ugqv9z4at] {
    border-color: var(--mud-palette-text-secondary);
}

.sm-mud-autocomplete-search-control:focus-within[b-1ugqv9z4at] {
    background: var(--mud-palette-surface);
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 2px rgba(var(--mud-palette-primary-rgb), 0.14);
}

.sm-mud-autocomplete-search-control[b-1ugqv9z4at]  .sm-mud-autocomplete-search-icon {
    color: var(--mud-palette-text-secondary);
    flex: 0 0 auto;
}

.sm-mud-autocomplete-search-control:focus-within[b-1ugqv9z4at]  .sm-mud-autocomplete-search-icon {
    color: var(--mud-palette-primary);
}

.sm-mud-autocomplete-search-input[b-1ugqv9z4at] {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--mud-palette-text-primary);
    flex: 1 1 auto;
    font: inherit;
    height: 36px;
    min-width: 0;
    outline: none;
    padding: 0;
    width: 100%;
}

.sm-mud-autocomplete-search-input[b-1ugqv9z4at]::placeholder {
    color: var(--mud-palette-text-secondary);
    opacity: 0.8;
}

.sm-mud-autocomplete-search-input[b-1ugqv9z4at]::-webkit-search-cancel-button {
    display: none;
}

.sm-mud-autocomplete-search-clear[b-1ugqv9z4at] {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    display: flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    padding: 0;
    width: 28px;
}

.sm-mud-autocomplete-search-clear:hover[b-1ugqv9z4at] {
    background: var(--sm-autocomplete-hover-bg);
    color: var(--mud-palette-text-primary);
}

.sm-mud-autocomplete-options[b-1ugqv9z4at] {
    max-width: 100%;
    min-height: 0;
    overflow: hidden;
}

.sm-mud-autocomplete-selected[b-1ugqv9z4at] {
    background: linear-gradient(180deg, rgba(var(--mud-palette-primary-rgb), 0.06), transparent);
    border-bottom: 1px solid var(--mud-palette-lines-default);
    padding: 4px 8px 8px;
}

.sm-mud-autocomplete-section-heading[b-1ugqv9z4at] {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-height: 24px;
    padding: 8px 14px 4px;
}

.sm-mud-autocomplete-selected .sm-mud-autocomplete-section-heading[b-1ugqv9z4at] {
    padding-inline: 6px;
}

.sm-mud-autocomplete-results-heading[b-1ugqv9z4at] {
    flex: 0 0 auto;
    padding-top: 8px;
}

.sm-mud-autocomplete-section-heading[b-1ugqv9z4at]  .sm-mud-autocomplete-section-label {
    color: var(--mud-palette-text-secondary);
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.sm-mud-autocomplete-results-status[b-1ugqv9z4at] {
    align-items: center;
    display: inline-flex;
    flex: 0 0 22px;
    height: 22px;
    justify-content: center;
    min-width: 22px;
}

.sm-mud-autocomplete-results-status[b-1ugqv9z4at]  .sm-mud-autocomplete-results-spinner {
    height: 14px !important;
    width: 14px !important;
}

.sm-mud-autocomplete-results-count[b-1ugqv9z4at] {
    background: var(--mud-palette-background-gray);
    border-radius: 999px;
    color: var(--mud-palette-text-secondary);
    flex: 0 0 auto;
    font-size: 0.6875rem;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    line-height: 18px;
    min-width: 22px;
    padding: 0 6px;
    text-align: center;
}

.sm-mud-autocomplete-list[b-1ugqv9z4at] {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px 0 0;
    position: relative;
    scroll-padding-bottom: 16px;
    scrollbar-color: var(--mud-palette-lines-default) transparent;
    scrollbar-width: thin;
}

.sm-mud-autocomplete-list-compact[b-1ugqv9z4at] {
    overflow-y: hidden;
    padding-top: 0;
}

.sm-mud-autocomplete-list-compact .sm-mud-autocomplete-list-end-spacer[b-1ugqv9z4at] {
    display: none;
}

/*
 * Single, CSS-only skeleton.
 *
 * The skeleton is painted entirely as the background of the scrolling content: a repeating row of an
 * avatar dot + two alternating text-bar widths, with a soft highlight that sweeps across (shimmer).
 * Loaded rows paint an opaque surface on top, so the skeleton is only visible where rows are not yet
 * rendered - both inside the virtualized window and in the gaps that appear while the server streams
 * the next window over SignalR. Because it is pure CSS it never depends on a network round-trip, so
 * fast scrolling shows a continuous skeleton instead of blank space, and there is no second
 * (component) skeleton to flicker against. The element must grow to the full content height so the
 * background spans the entire scroll length; row metrics are tied to the Virtualize ItemSize so the
 * skeleton lines up exactly with the item slots.
 */
.sm-mud-autocomplete-virtualized-results[b-1ugqv9z4at] {
    min-height: 100%;
    --sm-skel: var(--mud-palette-action-disabled-background, rgba(145, 158, 171, 0.22));
    --sm-skel-sheen: color-mix(in srgb, var(--mud-palette-surface) 70%, transparent);
    --sm-skel-row: var(--sm-autocomplete-item-size, 40px);
    background-image:
        /* moving highlight (shimmer) */
        linear-gradient(100deg, transparent 32%, var(--sm-skel-sheen) 50%, transparent 68%),
        /* avatar dot */
        radial-gradient(circle 10px at 27px calc(var(--sm-skel-row) / 2),
            var(--sm-skel) 0 98%, transparent 100%),
        /* text bar - wider, even rows */
        linear-gradient(to bottom,
            transparent calc(25% - 5px),
            var(--sm-skel) calc(25% - 5px) calc(25% + 5px),
            transparent calc(25% + 5px)),
        /* text bar - narrower, odd rows */
        linear-gradient(to bottom,
            transparent calc(75% - 5px),
            var(--sm-skel) calc(75% - 5px) calc(75% + 5px),
            transparent calc(75% + 5px));
    background-repeat: no-repeat, repeat-y, repeat-y, repeat-y;
    background-size:
        60% 100%,
        100% var(--sm-skel-row),
        58% calc(var(--sm-skel-row) * 2),
        42% calc(var(--sm-skel-row) * 2);
    background-position: -60% 0, 0 0, 54px 0, 54px 0;
    animation: sm-autocomplete-skel-shimmer-b-1ugqv9z4at 1.5s linear infinite;
}

@keyframes sm-autocomplete-skel-shimmer-b-1ugqv9z4at {
    to {
        background-position: 160% 0, 0 0, 54px 0, 54px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sm-mud-autocomplete-virtualized-results[b-1ugqv9z4at] {
        animation: none;
        background-image:
            radial-gradient(circle 10px at 27px calc(var(--sm-skel-row) / 2),
                var(--sm-skel) 0 98%, transparent 100%),
            linear-gradient(to bottom,
                transparent calc(25% - 5px),
                var(--sm-skel) calc(25% - 5px) calc(25% + 5px),
                transparent calc(25% + 5px)),
            linear-gradient(to bottom,
                transparent calc(75% - 5px),
                var(--sm-skel) calc(75% - 5px) calc(75% + 5px),
                transparent calc(75% + 5px));
        background-repeat: repeat-y, repeat-y, repeat-y;
        background-size: 100% var(--sm-skel-row), 58% calc(var(--sm-skel-row) * 2), 42% calc(var(--sm-skel-row) * 2);
        background-position: 0 0, 54px 0, 54px 0;
    }
}

/* Transparent slot for windowed-but-unloaded rows: reveals the skeleton background behind it. */
.sm-mud-autocomplete-skeleton-slot[b-1ugqv9z4at] {
    width: 100%;
}

.sm-mud-autocomplete-list-end-spacer[b-1ugqv9z4at] {
    background-color: var(--mud-palette-surface);
    height: 16px;
    min-height: 16px;
    width: 100%;
}

.sm-mud-autocomplete-list-end-spacer[b-1ugqv9z4at] {
    background-color: var(--mud-palette-surface);
    height: 16px;
    min-height: 16px;
    width: 100%;
}

.sm-mud-autocomplete-list[b-1ugqv9z4at]::-webkit-scrollbar {
    width: 10px;
}

.sm-mud-autocomplete-list[b-1ugqv9z4at]::-webkit-scrollbar-thumb {
    background: var(--mud-palette-lines-default);
    border: 3px solid var(--mud-palette-surface);
    border-radius: 999px;
}

.sm-mud-autocomplete-list[b-1ugqv9z4at]::-webkit-scrollbar-track {
    margin-block: 6px;
}

.sm-mud-autocomplete-option[b-1ugqv9z4at] {
    align-items: center;
    /* Opaque so loaded rows hide the skeleton background painted behind the list. State tints are
       layered as background-image gradients over this base instead of replacing it. */
    background-color: var(--mud-palette-surface);
    border: 0;
    border-radius: 6px;
    box-sizing: border-box;
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: 10px;
    min-height: var(--sm-autocomplete-row-height);
    outline: none;
    padding: 0 14px;
    text-align: left;
    transition: background-color 120ms ease, color 120ms ease;
    width: 100%;
}

.sm-mud-autocomplete-option:hover[b-1ugqv9z4at] {
    background-image: linear-gradient(var(--sm-autocomplete-hover-bg), var(--sm-autocomplete-hover-bg));
}

.sm-mud-autocomplete-option-highlighted[b-1ugqv9z4at] {
    background-image: linear-gradient(var(--sm-autocomplete-highlight-bg), var(--sm-autocomplete-highlight-bg));
    box-shadow: inset 3px 0 0 0 var(--mud-palette-primary);
}

.sm-mud-autocomplete-option:focus-visible[b-1ugqv9z4at] {
    box-shadow: inset 0 0 0 2px var(--mud-palette-primary);
}

.sm-mud-autocomplete-option-selected[b-1ugqv9z4at] {
    background-image: linear-gradient(var(--sm-autocomplete-selected-bg), var(--sm-autocomplete-selected-bg));
    color: var(--mud-palette-primary);
    font-weight: 700;
}

.sm-mud-autocomplete-option-selected:hover[b-1ugqv9z4at],
.sm-mud-autocomplete-option-selected.sm-mud-autocomplete-option-highlighted[b-1ugqv9z4at] {
    background-image: linear-gradient(rgba(var(--mud-palette-primary-rgb), 0.22), rgba(var(--mud-palette-primary-rgb), 0.22));
}

.sm-mud-autocomplete-option-pinned[b-1ugqv9z4at] {
    background: var(--sm-autocomplete-selected-bg);
    color: var(--mud-palette-text-primary);
    min-height: max(42px, var(--sm-autocomplete-row-height));
}

.sm-mud-autocomplete-option-pinned.sm-mud-autocomplete-option-highlighted[b-1ugqv9z4at] {
    color: var(--mud-palette-primary);
}

.sm-mud-autocomplete-option[b-1ugqv9z4at]  .sm-mud-autocomplete-option-icon,
.sm-mud-autocomplete-option-icon-placeholder[b-1ugqv9z4at] {
    flex: 0 0 22px;
    width: 22px;
}

.sm-mud-autocomplete-option-icon-placeholder[b-1ugqv9z4at] {
    height: 22px;
}

.sm-mud-autocomplete-option-content[b-1ugqv9z4at] {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.sm-mud-autocomplete-item-text[b-1ugqv9z4at] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sm-mud-autocomplete-state[b-1ugqv9z4at] {
    align-items: center;
    background-color: var(--mud-palette-surface);
    box-sizing: border-box;
    color: var(--mud-palette-text-secondary);
    display: flex;
    gap: 12px;
    margin: 0;
    min-height: 72px;
    padding: 16px 18px 20px;
}

.sm-mud-autocomplete-state-text[b-1ugqv9z4at] {
    flex: 1 1 auto;
    min-width: 0;
}

.sm-mud-autocomplete-state-empty[b-1ugqv9z4at],
.sm-mud-autocomplete-state-min-search[b-1ugqv9z4at] {
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-height: 112px;
    text-align: center;
}

.sm-mud-autocomplete-virtualized-results .sm-mud-autocomplete-state-empty[b-1ugqv9z4at] {
    min-height: 112px;
}

.sm-mud-autocomplete-state-empty[b-1ugqv9z4at]  .mud-icon-root,
.sm-mud-autocomplete-state-min-search[b-1ugqv9z4at]  .mud-icon-root {
    opacity: 0.78;
}

.sm-mud-autocomplete-empty-icon[b-1ugqv9z4at] {
    align-items: center;
    background: var(--mud-palette-background-gray);
    border-radius: 50%;
    color: var(--mud-palette-text-secondary);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.sm-mud-autocomplete-state-error[b-1ugqv9z4at] {
    background: rgba(var(--mud-palette-error-rgb), 0.08);
    border: 1px solid rgba(var(--mud-palette-error-rgb), 0.24);
    border-radius: 6px;
    color: var(--mud-palette-error);
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    margin: 6px 8px 10px;
    min-height: 88px;
    padding: 12px;
}

.sm-mud-autocomplete-state-error .sm-mud-autocomplete-state-text[b-1ugqv9z4at] {
    color: var(--mud-palette-text-primary);
}

.sm-mud-autocomplete-error-icon[b-1ugqv9z4at] {
    align-items: center;
    background: rgba(var(--mud-palette-error-rgb), 0.12);
    border-radius: 50%;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.sm-mud-autocomplete-state-error[b-1ugqv9z4at]  .sm-mud-autocomplete-error-title {
    font-weight: 600;
    line-height: 1.25;
}

.sm-mud-autocomplete-state-error[b-1ugqv9z4at]  .sm-mud-autocomplete-error-detail {
    color: var(--mud-palette-text-secondary);
    display: block;
    line-height: 1.35;
    margin-top: 3px;
}

.sm-mud-autocomplete-state[b-1ugqv9z4at]  .sm-mud-autocomplete-retry {
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .sm-mud-autocomplete-popover[b-1ugqv9z4at] {
        max-width: calc(100vw - 16px);
    }

    .sm-mud-autocomplete-option[b-1ugqv9z4at] {
        padding-inline: 12px;
    }

}
/* /Components/Tenant/DataDrivenInc/TopMenuComponent.razor.rz.scp.css */
.top-row[b-scp3q99hnz] {
    background-color: rgb(255, 255, 255);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
    padding: 16px;
    font-size: 18px;
    font-family: 'Open Sans';
}

.top-row[b-scp3q99hnz]  a, .top-row[b-scp3q99hnz]  .btn-link {
    background-color: rgba(0, 0, 0, 0);
    box-sizing: border-box;
    color: #999;
    cursor: pointer;
    display: block;
    font-family: 'Open Sans';
    font-size: 18px;
    font-weight: 600;
    height: 36px;
    letter-spacing: 0.25px;
    line-height: 24px;
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    margin-bottom: -6px;
    margin-left: -6px;
    margin-right: 22px;
    margin-top: -6px;
    overflow-wrap: break-word;
    padding-bottom: 6px;
    padding-left: 6px;
    padding-right: 6px;
    padding-top: 6px;
    text-align: left;
    text-decoration-color: rgb(27, 27, 27);
    text-decoration-line: none;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
    text-transform: capitalize;
    text-wrap: none;
    visibility: visible;
    white-space-collapse: collapse;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.top-row[b-scp3q99hnz]  a:hover, .top-row[b-scp3q99hnz]  .btn-link:hover {
    /*text-decoration: underline;*/
    border-bottom-color: var(--mud-palette-primary);
    border-bottom-width: 1px;
    color: var(--mud-palette-primary);
}

.top-row[b-scp3q99hnz]  a {
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 640.98px) {

    .top-row[b-scp3q99hnz] {
        /*justify-content: space-between;*/
        display: none;
    }

    /*.top-row ::deep a, .top-row ::deep .btn-link {*/
    /*    margin-left: 0;*/
    /*}*/
}

@media (min-width: 641px) {

    .top-row[b-scp3q99hnz] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-scp3q99hnz]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-scp3q99hnz], article[b-scp3q99hnz] {
        /*padding-left: 2rem !important;*/
        /*padding-right: 1.5rem !important;*/
    }
}
